body
{
    font-family:'Poppins', sans-serif;
}

:root{
    --flip-dark:#0d2f22;
    --flip-green:#1d6b3f;
    --flip-green-2:#2f8f4e;
    --flip-lime:#a9ee3b;
    --flip-light:#f5f8f4;
    --flip-text:#102018;
    --flip-muted:#6d776f;
    --flip-border:#dfe5df;
}

*{box-sizing:border-box}

html,body{
    min-height:100%;
}

body{
    margin:0;
    color:var(--flip-text);
    background:var(--flip-light);
}

a{
    color:var(--flip-green);
}

.flip-link {
	color:var(--flip-green-2);
	text-decoration:none;
	font-size:14px;
}

.flip-link:hover {
	text-decoration:underline;
}


.page-shell{
    min-height:100vh;
}

.hero{
    min-height:100vh;
    padding:56px 64px;
    color:#fff;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(90deg,rgba(7,33,23,.92),rgba(7,33,23,.76)),
        url('/images/golf-bg.png') center center / cover no-repeat;
}

.hero::after{
    content:"";
    position:absolute;
    inset:auto -120px -180px auto;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(169,238,59,.10);
}

.hero-inner{
    max-width:720px;
    position:relative;
    z-index:2;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:54px;
    font-weight:900;
    font-size:34px;
    letter-spacing:-1.4px;
}

.brand-mark{
    width:52px;
    height:52px;
    border-radius:16px 16px 16px 5px;
    background:linear-gradient(135deg,var(--flip-lime),#4da928);
    color:#0d2f22;
    display:grid;
    place-items:center;
    font-size:29px;
    font-weight:900;
    transform:skew(-8deg);
    box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.brand span:last-child{
    color:var(--flip-lime);
}

.hero h1{
    font-size:clamp(42px,5vw,72px);
    line-height:1.00;
    margin:0 0 24px;
    font-weight:900;
    letter-spacing:-2.5px;
}

.hero h1 .accent{
    color:var(--flip-lime);
}

.hero-lead{
    max-width:640px;
    color:rgba(255,255,255,.84);
    font-size:18px;
    line-height:1.65;
}

.hero-points{
    margin-top:42px;
    display:grid;
    gap:18px;
}

.hero-point{
    display:flex;
    gap:16px;
    align-items:flex-start;
}

.hero-icon{
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:rgba(169,238,59,.12);
    color:var(--flip-lime);
    font-weight:900;
    font-size:19px;
    border:1px solid rgba(169,238,59,.14);
}

.hero-point strong{
    display:block;
    font-size:16px;
    margin-bottom:3px;
}

.hero-point small{
    color:rgba(255,255,255,.65);
    font-size:14px;
    line-height:1.45;
}

.panel{
    min-height:100vh;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px 28px;
}

.auth-card{
    width:100%;
    max-width:440px;
}

.mobile-brand{
    display:none;
}

.auth-card h2{
    margin:0 0 8px;
    font-size:34px;
    letter-spacing:-1px;
    font-weight:900;
}

.auth-subtitle{
    color:var(--flip-muted);
    margin-bottom:28px;
    line-height:1.5;
}

.btn-social{
    width:100%;
    min-height:50px;
    border-radius:12px;
    border:1px solid var(--flip-border);
    background:#fff;
    color:#111;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-decoration:none;
    transition:.18s ease;
}

.btn-social:hover{
    transform:translateY(-1px);
    background:#f8faf8;
}

.btn-social.apple{
    background:#000;
    border-color:#000;
    color:#fff;
}

.social-logo{
    width:22px;
    height:22px;
    display:inline-grid;
    place-items:center;
    font-weight:900;
    border-radius:50%;
}

.social-logo.google{
    color:#4285F4;
    font-size:20px;
}

.social-logo.apple{
    color:#fff;
    font-size:24px;
}

.separator{
    display:flex;
    align-items:center;
    gap:14px;
    margin:24px 0;
    color:#9aa39c;
    font-size:13px;
}

.separator::before,.separator::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--flip-border);
}

.form-label{
    font-weight:700;
    margin-bottom:7px;
}

.form-control{
    min-height:50px;
    border-radius:12px;
    border:1px solid var(--flip-border);
    padding:12px 14px;
}

.form-control:focus{
    border-color:var(--flip-green-2);
    box-shadow:0 0 0 .2rem rgba(47,143,78,.12);
}

.btn-flip{
    width:100%;
    min-height:50px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,var(--flip-green),var(--flip-green-2));
    color:#fff;
    font-weight:700;
    transition:.18s ease;
}

.btn-flip:hover{
    color:#fff;
    transform:translateY(-1px);
    filter:brightness(1.03);
}

.form-check-input:checked{
    background-color:var(--flip-green);
    border-color:var(--flip-green);
}

.auth-footer{
    text-align:center;
    margin-top:22px;
    color:var(--flip-muted);
    font-size:14px;
}

.auth-footer a{
    font-weight:700;
    text-decoration:none;
}

.legal{
    color:#9aa39c;
    font-size:12px;
    text-align:center;
    margin-top:26px;
    line-height:1.55;
}

.back-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    font-weight:700;
    margin-bottom:28px;
}

.info-box{
    background:#f2f8f2;
    border:1px solid #dcebdc;
    border-radius:14px;
    padding:16px;
    color:#496051;
    font-size:14px;
    line-height:1.5;
    margin-bottom:22px;
}

@media(max-width:991.98px){
    .hero{
        min-height:auto;
        padding:34px 26px 42px;
        display:none;
    }
    .panel{
        min-height:100vh;
        padding:28px 20px;
    }
    .mobile-brand{
        display:flex;
        align-items:center;
        gap:10px;
        font-size:25px;
        font-weight:900;
        margin-bottom:34px;
    }
    .mobile-brand .brand-mark{
        width:42px;
        height:42px;
        font-size:23px;
        border-radius:13px 13px 13px 4px;
    }
    .mobile-brand span:last-child{
        color:var(--flip-green-2);
    }
}



:root{
    --lime:#a8f437;
    --dark:#06251d;
    --dark2:#0a3428;
}

body{
    margin:0;
}

.flip-hero{
    min-height:100vh;

    background:
        linear-gradient(
            90deg,
            rgba(4,30,23,.95) 0%,
            rgba(4,30,23,.88) 35%,
            rgba(4,30,23,.62) 68%,
            rgba(4,30,23,.28) 100%
        ),
        url('/images/golf-bg.png');

    background-size:cover;
    background-position:center;

    color:white;

    display:flex;
    align-items:center;

    padding:42px 55px;

    position:relative;
}

.flip-content{
    width:100%;
    max-width:720px;
}

/* LOGO */

.flip-logo {
    margin-bottom: 40px;
}

.flip-logo img {
    width: 330px;
    max-width: 100%;
    height: auto;
    display: block;
}

.flip-logo-icon{
    width:88px;
    height:88px;
    position:relative;
}

.flip-logo-icon .top{
    position:absolute;
    top:0;
    left:0;
    width:84px;
    height:30px;

    background:var(--lime);

    border-radius:40px 12px 45px 12px;

    transform:skew(-15deg);
}

.flip-logo-icon .bottom{
    position:absolute;
    top:30px;
    left:20px;

    width:55px;
    height:44px;

    border-left:15px solid white;
    border-top:15px solid white;

    border-radius:25px 0 0 0;

    transform:skew(-12deg);
}

.flip-logo-text{
    font-size:48px;
    font-weight:900;
    font-style:italic;
    letter-spacing:-2px;
}

.flip-logo-text span{
    color:var(--lime);
}


/* TITRE */

.flip-title{
    font-size:43px;
    line-height:1.08;
    font-weight:900;
    margin-bottom:20px;
}

.flip-title span{
    color:var(--lime);
}

.flip-line{
    width:45px;
    height:3px;
    background:var(--lime);
    margin:18px 0;
}

.flip-intro{
    font-size:17px;
    line-height:1.6;
    max-width:560px;
    color:rgba(255,255,255,.9);
    margin-bottom:28px;
}


/* POINTS */

.flip-features{
    margin-top:18px;
}

.flip-feature{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-bottom:24px;
}

.flip-feature-icon{

    width:66px;
    height:66px;

    flex:0 0 66px;

    border-radius:18px;

    background:rgba(73,150,64,.20);

    border:1px solid rgba(169,244,55,.08);

    display:flex;
    align-items:center;
    justify-content:center;

    color:var(--lime);

    font-size:29px;
}

.flip-feature-title{
    font-size:20px;
    font-weight:700;
    margin-bottom:4px;
}

.flip-feature-text{
    font-size:15px;
    line-height:1.55;
    color:rgba(255,255,255,.85);
}


/* BLOC BAS */

.flip-bottom-box{

    margin-top:24px;

    background:rgba(9,57,42,.70);

    border-radius:17px;

    padding:17px 22px;

    max-width:570px;

    display:flex;
    align-items:center;

    backdrop-filter:blur(3px);
}

.flip-bottom-item{
    flex:1;

    display:flex;
    align-items:center;

    gap:14px;
}

.flip-bottom-icon{
    font-size:27px;
    color:var(--lime);
}

.flip-bottom-text{
    font-size:14px;
    line-height:1.35;
}

.flip-bottom-text strong{
    display:block;
}

.flip-bottom-separator{
    width:1px;
    height:42px;

    background:rgba(169,244,55,.55);

    margin:0 28px;
}


/* RESPONSIVE */

@media(max-width:768px){

    .flip-hero{
        padding:30px 22px;
        background-position:65% center;
    }

    .flip-logo{
        margin-bottom:28px;
    }

    .flip-logo-icon{
        width:65px;
        height:65px;
    }

    .flip-logo-icon .top{
        width:62px;
        height:23px;
    }

    .flip-logo-icon .bottom{
        top:23px;
        left:15px;
        width:42px;
        height:34px;
        border-left-width:11px;
        border-top-width:11px;
    }

    .flip-logo-text{
        font-size:34px;
    }

    .flip-title{
        font-size:34px;
    }

    .flip-intro{
        font-size:15px;
    }

    .flip-feature-icon{
        width:55px;
        height:55px;
        flex:0 0 55px;
        font-size:24px;
    }

    .flip-feature-title{
        font-size:17px;
    }

    .flip-feature-text{
        font-size:14px;
    }

    .flip-bottom-box{
        display:block;
    }

    .flip-bottom-item{
        margin:7px 0;
    }

    .flip-bottom-separator{
        display:none;
    }
}

.login-panel{
    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#ffffff;

    padding:40px;
}


.login-card{

    width:100%;
    max-width:430px;

}


.login-card h2{

    font-size:36px;
    font-weight:900;

    margin-bottom:8px;

    color:#0d251c;

}


.login-subtitle{

    color:#667269;

    font-size:15px;

    margin-bottom:30px;

}


/* BOUTONS SOCIAUX */

.login-social-btn{

    width:100%;
    min-height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:14px;

    border-radius:12px;

    text-decoration:none;

    font-size:15px;
    font-weight:700;

    margin-bottom:14px;

    transition:.2s;

}


.google-btn{

    border:1px solid #dce1dd;

    background:#ffffff;

    color:#1a1a1a;

    box-shadow:0 2px 9px rgba(0,0,0,.04);

}


.google-btn:hover{

    background:#f8faf8;

    color:#1a1a1a;

}


.apple-btn{

    background:#000;

    color:#fff;

    border:1px solid #000;

}


.apple-btn:hover{

    background:#1a1a1a;

    color:#fff;

}


.social-icon{

    width:24px;
    height:24px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:21px;
    font-weight:900;

}


.google-icon{

    color:#4285f4;

}


.apple-icon{

    font-size:25px;

}


/* SEPARATEUR */

.login-separator{

    display:flex;
    align-items:center;

    gap:14px;

    margin:26px 0;

    color:#969e98;

    font-size:13px;

}


.login-separator::before,
.login-separator::after{

    content:"";

    height:1px;

    background:#e1e5e2;

    flex:1;

}


/* INPUTS */

.form-label{

    font-size:14px;

    font-weight:700;

    color:#17251d;

}


.login-input{

    min-height:52px;

    border-radius:12px;

    border:1px solid #d9dfdb;

    padding:12px 15px;

    font-size:15px;

}


.login-input:focus{

    border-color:#3f942f;

    box-shadow:
        0 0 0 .2rem rgba(86,163,54,.10);

}


/* PASSWORD */

.forgot-link{

    color:#43882d;

    text-decoration:none;

    font-size:13px;

}


.forgot-link:hover{

    text-decoration:underline;

}


/* CHECKBOX */

.form-check-input:checked{
    background-color:#2f8f4e;
    border-color:#2f8f4e;
}


/* BOUTON */

.login-submit{

    width:100%;

    min-height:52px;

    border:none;

    border-radius:12px;

    background:
        linear-gradient(
            90deg,
            #2d7c1f,
            #398d23
        );

    color:#fff;

    font-size:16px;

    font-weight:700;

    box-shadow:
        0 6px 18px rgba(45,124,31,.18);

    transition:.2s;

}


.login-submit:hover{

    transform:translateY(-1px);

    background:
        linear-gradient(
            90deg,
            #286f1b,
            #32801f
        );

}


/* CREATION COMPTE */

.register-link{

    text-align:center;

    margin-top:22px;

    font-size:14px;

    color:#242d27;

}

/* LEGALES */

.login-legal{

    margin-top:26px;

    text-align:center;

    font-size:12px;

    line-height:1.6;

    color:#8c958f;

}


.login-legal a{

    color:#4b8b36;

    text-decoration:none;

}


/* MOBILE */

@media(max-width:991px){

    .login-panel{

        min-height:auto;

        padding:35px 22px;

    }

}


/* =========================================================
   HOME FLIPGOLF
   ========================================================= */

html{
    scroll-behavior:smooth;
}

.home-header{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:20;
    padding:22px 0;
}

.home-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.home-brand img{
    width:240px;
    max-width:45vw;
    height:auto;
    display:block;
}

.home-menu{
    align-items:center;
    gap:30px;
    margin-left:auto;
}

.home-menu a,
.home-login-link{
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    opacity:.88;
    transition:.2s;
}

.home-menu a:hover,
.home-login-link:hover{
    color:var(--flip-lime);
    opacity:1;
}

.home-actions{
    display:flex;
    align-items:center;
    gap:18px;
}

.home-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:46px;
    padding:11px 20px;
    border-radius:12px;
    border:1px solid transparent;
    text-decoration:none;
    font-weight:600;
    font-size:14px;
    transition:.2s ease;
}

.home-btn:hover{
    transform:translateY(-1px);
}

.home-btn-primary{
    color:#fff;
    background:linear-gradient(135deg,var(--flip-green),var(--flip-green-2));
    box-shadow:0 8px 24px rgba(20,90,50,.25);
}

.home-btn-primary:hover{
    color:#fff;
    filter:brightness(1.07);
}

.home-btn-light{
    color:#fff;
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.22);
    backdrop-filter:blur(6px);
}

.home-btn-light:hover{
    color:#fff;
    background:rgba(255,255,255,.16);
}

.home-btn-lime{
    color:#12321f;
    background:var(--flip-lime);
    box-shadow:0 10px 28px rgba(169,238,59,.18);
}

.home-btn-lime:hover{
    color:#12321f;
    filter:brightness(1.05);
}

.home-btn-lg{
    min-height:54px;
    padding:14px 22px;
    font-size:15px;
}

/* HERO */

.home-hero{
    min-height:100vh;
    position:relative;
    color:#fff;
    background:url('/images/golf-bg.png') center center / cover no-repeat;
    overflow:hidden;
}

.home-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(4,30,23,.96) 0%,
        rgba(4,30,23,.88) 38%,
        rgba(4,30,23,.56) 68%,
        rgba(4,30,23,.15) 100%
    );
}

.home-hero-content{
    position:relative;
    z-index:3;
    padding-top:90px;
    max-width:770px;
}

.home-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:8px 13px;
    margin-bottom:22px;
    border-radius:999px;
    background:rgba(169,238,59,.12);
    border:1px solid rgba(169,238,59,.20);
    color:var(--flip-lime);
    font-size:13px;
    font-weight:600;
}

.home-hero h1{
    margin:0;
    max-width:850px;
    font-size:clamp(48px,6vw,82px);
    font-weight:900;
    line-height:.98;
    letter-spacing:-3.5px;
}

.home-hero h1 span{
    color:var(--flip-lime);
}

.home-hero-lead{
    max-width:690px;
    margin:28px 0 0;
    color:rgba(255,255,255,.84);
    font-size:19px;
    line-height:1.65;
}

.home-hero-lead strong{
    color:#fff;
}

.home-hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    margin-top:34px;
}

.home-hero-mini{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    margin-top:28px;
    color:rgba(255,255,255,.68);
    font-size:13px;
}

.home-hero-mini div{
    display:flex;
    align-items:center;
    gap:7px;
}

.home-hero-mini i{
    color:var(--flip-lime);
}

/* SECTIONS */

.home-section{
    padding:100px 0;
    background:#fff;
}

.home-section-light{
    background:#f5f8f4;
}

.home-section-heading{
    max-width:760px;
    margin:0 auto 55px;
    text-align:center;
}

.home-eyebrow{
    display:inline-block;
    margin-bottom:12px;
    color:var(--flip-green-2);
    text-transform:uppercase;
    letter-spacing:1.7px;
    font-size:12px;
    font-weight:900;
}

.home-eyebrow-light{
    color:var(--flip-lime);
}

.home-section-heading h2,
.home-section-title{
    margin:0;
    color:#11231a;
    font-size:clamp(35px,4vw,52px);
    font-weight:900;
    line-height:1.08;
    letter-spacing:-1.8px;
}

.home-section-heading p{
    max-width:660px;
    margin:18px auto 0;
    color:var(--flip-muted);
    font-size:17px;
    line-height:1.65;
}

.home-section-side-text{
    margin:0;
    color:var(--flip-muted);
    line-height:1.65;
}

/* STEPS */

.home-step-card{
    height:100%;
    position:relative;
    padding:34px;
    border:1px solid #e2e8e3;
    border-radius:22px;
    background:#fff;
    box-shadow:0 16px 45px rgba(20,50,30,.05);
}

.home-step-number{
    position:absolute;
    top:20px;
    right:24px;
    color:#e7ece8;
    font-size:55px;
    line-height:1;
    font-weight:900;
}

.home-step-icon{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:#edf8e4;
    color:var(--flip-green-2);
    font-size:25px;
    margin-bottom:24px;
}

.home-step-card h3{
    margin-bottom:10px;
    font-size:21px;
    font-weight:900;
}

.home-step-card p{
    margin:0;
    color:var(--flip-muted);
    line-height:1.65;
}

/* GAMES */

.home-game-card{
    height:100%;
    padding:30px;
    border-radius:22px;
    border:1px solid #e3e9e4;
    background:#fff;
    box-shadow:0 14px 40px rgba(20,50,30,.05);
    transition:.2s ease;
}

.home-game-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 48px rgba(20,50,30,.09);
}

.home-game-card-more{
    background:#f5f9f3;
    border-style:dashed;
}

.home-game-icon{
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    border-radius:16px;
    margin-bottom:22px;
    color:var(--flip-green-2);
    background:#eff8e8;
    font-size:22px;
}

.home-game-card h3{
    font-size:21px;
    font-weight:900;
}

.home-game-card p{
    min-height:98px;
    margin:10px 0 20px;
    color:var(--flip-muted);
    line-height:1.6;
    font-size:14px;
}

.home-game-tag{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    background:#edf4ed;
    color:var(--flip-green);
    font-size:11px;
    font-weight:700;
}

/* SWITCH / LIVE */

.home-switch-section{
    padding:100px 0;
    color:#fff;
    background:
        radial-gradient(circle at 80% 20%,rgba(169,238,59,.10),transparent 34%),
        linear-gradient(135deg,#06251d,#0c3b2b);
}

.home-switch-text{
    max-width:600px;
}

.home-switch-text h2{
    margin:0 0 22px;
    font-size:clamp(38px,4vw,55px);
    line-height:1.05;
    font-weight:900;
    letter-spacing:-2px;
}

.home-switch-text p{
    color:rgba(255,255,255,.76);
    font-size:17px;
    line-height:1.7;
}

.home-switch-text strong{
    color:#fff;
}

.home-switch-lead{
    color:var(--flip-lime)!important;
    font-size:25px!important;
    font-weight:900;
}

.home-live-card{
    max-width:520px;
    margin-left:auto;
    padding:26px;
    border-radius:24px;
    background:#fff;
    color:#17241d;
    box-shadow:0 25px 65px rgba(0,0,0,.25);
}

.home-live-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:18px;
    margin-bottom:8px;
    border-bottom:1px solid #edf0ee;
}

.home-live-header span{
    display:block;
    color:#8a958e;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.4px;
}

.home-live-header strong{
    display:block;
    margin-top:3px;
    font-size:22px;
}

.home-live-dot{
    padding:7px 10px;
    border-radius:999px;
    color:#236f3f;
    background:#eaf7e4;
    font-size:10px;
    font-weight:900;
}

.home-score-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:11px 4px;
    border-bottom:1px solid #f0f2f0;
}

.home-score-row span{
    font-weight:700;
}

.home-score-row strong{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#f4f7f4;
}

.home-live-results{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:18px;
}

.home-live-results div{
    padding:12px;
    border-radius:13px;
    background:#f3f8f1;
}

.home-live-results span{
    display:block;
    color:#748078;
    font-size:10px;
    margin-bottom:3px;
}

.home-live-results strong{
    display:block;
    color:#204d31;
    font-size:12px;
}

/* AUDIENCES */

.home-audience-card{
    height:100%;
    display:flex;
    gap:24px;
    padding:34px;
    border-radius:24px;
    background:#fff;
    border:1px solid #e2e8e3;
}

.home-audience-icon{
    width:64px;
    height:64px;
    flex:0 0 64px;
    display:grid;
    place-items:center;
    border-radius:18px;
    color:var(--flip-green-2);
    background:#edf8e4;
    font-size:25px;
}

.home-audience-card h3{
    font-weight:900;
    font-size:24px;
}

.home-audience-card p{
    color:var(--flip-muted);
    line-height:1.65;
}

.home-audience-card ul{
    margin:18px 0 0;
    padding-left:18px;
    color:#405047;
}

.home-audience-card li{
    margin-bottom:8px;
}

/* CTA */

.home-final-cta{
    padding:75px 0;
    color:#fff;
    background:#0a2e22;
}

.home-final-cta-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
}

.home-final-cta h2{
    margin:0 0 10px;
    font-size:clamp(34px,4vw,50px);
    font-weight:900;
    letter-spacing:-1.8px;
}

.home-final-cta p{
    margin:0;
    color:rgba(255,255,255,.66);
    font-size:17px;
}

.home-final-actions{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
}

.home-final-login{
    color:rgba(255,255,255,.75);
    text-decoration:none;
    font-size:13px;
}

.home-final-login:hover{
    color:#fff;
}

/* FOOTER */

.home-footer{
    padding:35px 0;
    background:#061d16;
    color:rgba(255,255,255,.55);
}

.home-footer-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.home-footer img{
    width:165px;
    height:auto;
}

.home-footer-links{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
}

.home-footer a{
    color:rgba(255,255,255,.6);
    text-decoration:none;
    font-size:12px;
}

.home-footer a:hover{
    color:#fff;
}

.home-footer-copy{
    font-size:12px;
}

/* RESPONSIVE */

@media(max-width:991.98px){

    .home-header{
        padding:16px 0;
    }

    .home-brand img{
        width:190px;
    }

    .home-hero{
        min-height:760px;
        background-position:62% center;
    }

    .home-hero-overlay{
        background:linear-gradient(
            90deg,
            rgba(4,30,23,.96) 0%,
            rgba(4,30,23,.88) 62%,
            rgba(4,30,23,.62) 100%
        );
    }

    .home-hero-content{
        padding-top:110px;
    }

    .home-section,
    .home-switch-section{
        padding:75px 0;
    }

    .home-live-card{
        margin:20px 0 0;
    }

    .home-final-cta-inner{
        display:block;
        text-align:center;
    }

    .home-final-actions{
        margin-top:28px;
    }

    .home-footer-inner{
        flex-direction:column;
        text-align:center;
    }

    .home-footer-links{
        justify-content:center;
    }
}


@media(max-width:575.98px){

    .home-nav
    {
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }

    .home-brand
    {
        display:block;
    }

    .home-brand img
    {
        width:230px;
        max-width:80vw;
    }

    .home-actions
    {
        width:100%;
        display:flex;
        justify-content:flex-end;
        align-items:center;
        gap:18px;
    }

    .home-login-link
    {
        flex:0 0 auto;
        padding:0;
        border:0;
        background:none;
        color:#fff;
        font-size:14px;
        font-weight:600;
        text-decoration:none;
        white-space:nowrap;
    }

    .home-actions .home-btn
    {
        flex:0 0 auto;
        min-height:40px;
        padding:8px 15px;
        border-radius:10px;
        font-size:12px;
        white-space:nowrap;
    }
		

    .home-hero{
        min-height:760px;
        background-position:66% center;
    }

    .home-hero-content{
        padding-top:90px;
    }

    .home-hero h1{
        font-size:43px;
        letter-spacing:-2px;
    }

    .home-hero-lead{
        font-size:16px;
    }

    .home-hero-buttons{
        display:grid;
    }

    .home-btn-lg{
        width:100%;
    }

    .home-hero-mini{
        display:grid;
        gap:9px;
    }

    .home-section{
        padding:60px 0;
    }

    .home-section-heading{
        margin-bottom:38px;
    }

    .home-step-card,
    .home-game-card,
    .home-audience-card{
        padding:25px;
    }

    .home-audience-card{
        display:block;
    }

    .home-audience-icon{
        margin-bottom:20px;
    }

    .home-live-results{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   APP FLIPGOLF
========================================================= */

.app-page{
    min-height:100vh;
    background:#f4f7f3;
    padding-bottom:40px;
}


/* HEADER */

.app-header{
    background:#082d22;
    padding:15px 0;
}

.app-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.app-logo img{
    width:210px;
    height:auto;
}

.app-user{
    display:flex;
    align-items:center;
    gap:12px;
    color:white;
}

.app-user-profile
{
    display:flex;
    align-items:center;

    gap:12px;

    color:#fff;

    text-decoration:none;
}


.app-user-profile:hover
{
    color:#fff;

    opacity:.88;
}

.app-user-avatar{
    width:42px;
    height:42px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#a8f437;
    color:#12331f;

    font-weight:900;
}

.app-logout{
    color:rgba(255,255,255,.7);
    font-size:18px;
}

.app-logout:hover{
    color:#fff;
}


/* MAIN */

.app-main{
    padding:45px 0;
}

.app-eyebrow{
    font-size:11px;
    font-weight:900;
    letter-spacing:1.5px;
    color:#2f8f4e;
    margin-bottom:5px;
}

.app-welcome{
    margin-bottom:32px;
}

.app-welcome h1{
    font-weight:900;
    margin:0;
    font-size:36px;
}

.app-welcome p{
    margin:8px 0 0;
    color:#6d776f;
}


/* PARTIE EN COURS */

.app-current-game{

    background:
        linear-gradient(
            135deg,
            #082f23,
            #13543a
        );

    border-radius:24px;

    padding:30px;

    color:white;

    margin-bottom:30px;

    box-shadow:
        0 18px 50px rgba(7,48,34,.15);
}

.app-current-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:28px;
}

.app-current-label{
    font-size:11px;
    font-weight:900;
    letter-spacing:1.3px;
    color:#a8f437;
}

.app-live-dot{
    display:inline-block;

    width:8px;
    height:8px;

    border-radius:50%;

    background:#a8f437;

    margin-right:7px;
}

.app-game-date{
    color:rgba(255,255,255,.55);
    font-size:12px;
}

.app-current-content{
    display:flex;
    gap:18px;
    align-items:center;
}

.app-course-icon{

    width:65px;
    height:65px;

    flex:0 0 65px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(168,244,55,.12);

    color:#a8f437;

    font-size:27px;
}

.app-current-content h2{
    font-size:26px;
    font-weight:900;
    margin:0 0 3px;
}

.app-course-name{
    color:rgba(255,255,255,.7);
}

.app-hole-progress{
    margin-top:10px;
}

.app-hole-progress strong{
    color:#a8f437;
    font-size:18px;
}

.app-hole-progress span{
    color:rgba(255,255,255,.6);
}


/* JOUEURS */

.app-players{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin-top:25px;
}

.app-player{
    display:flex;
    align-items:center;
    gap:7px;

    font-size:13px;

    color:rgba(255,255,255,.8);
}

.app-player span{

    width:30px;
    height:30px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    color:#fff;

    font-size:11px;
    font-weight:900;
}


/* FORMULES */

.app-game-formulas{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}

.app-game-formulas span{

    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:7px 10px;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    color:rgba(255,255,255,.72);

    font-size:11px;
}


/* BOUTONS */

.app-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    border:none;

    border-radius:13px;

    text-decoration:none;

    font-weight:700;

    cursor:pointer;
}

.app-btn-resume{

    width:100%;
    min-height:55px;

    background:#a8f437;
    color:#12311f;

    font-size:15px;
}

.app-btn-resume:hover{
    background:#b5fa49;
    color:#12311f;
}

.app-btn-small{
    min-height:48px;
    padding:0 18px;

    background:#1d6b3f;
    color:white;
}


/* ACTIONS */

.app-actions-section{
    margin-bottom:45px;
}

.app-action-card{

    height:100%;

    display:flex;

    gap:20px;

    padding:28px;

    border-radius:20px;

    background:#fff;

    border:1px solid #e1e7e2;

    color:#16241c;

    text-decoration:none;

    transition:.2s;
}

.app-action-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 45px rgba(30,70,40,.08);
}

.app-action-icon{

    width:58px;
    height:58px;

    flex:0 0 58px;

    border-radius:17px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#eaf7de;

    color:#2f8f4e;

    font-size:22px;
}

.app-action-icon-code{
    background:#eef2ef;
}

.app-action-card h3{
    font-weight:900;
    font-size:20px;
}

.app-action-card p{
    color:#778078;
    font-size:14px;
    line-height:1.55;
}

.app-action-link{
    color:#2f8f4e;
    font-weight:700;
    font-size:13px;
}

.app-join-form{
    display:flex;
    gap:9px;
}

.app-join-form .form-control{
    min-height:48px;
}


/* MES PARTIES */

.app-games-section{
    margin-top:15px;
}

.app-section-title{
    display:flex;
    align-items:end;
    justify-content:space-between;

    margin-bottom:20px;
}

.app-section-title h2{
    margin:0;
    font-weight:900;
}

.app-section-title > a{
    color:#2f8f4e;
    text-decoration:none;
    font-weight:700;
    font-size:13px;
}


/* LIGNE PARTIE */

.app-game-row{

    display:flex;
    align-items:center;

    gap:20px;

    background:#fff;

    border:1px solid #e2e8e3;

    border-radius:18px;

    padding:18px;

    margin-bottom:12px;

    transition:.2s;
}

.app-game-row:hover{
    box-shadow:0 12px 35px rgba(30,60,40,.06);
}


/* DATE */

.app-game-date-box{

    width:62px;
    height:62px;

    flex:0 0 62px;

    border-radius:15px;

    background:#eef6e9;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    color:#245936;
}

.app-game-date-box strong{
    font-size:22px;
    line-height:1;
}

.app-game-date-box span{
    font-size:9px;
    font-weight:900;
    margin-top:4px;
}


/* INFOS */

.app-game-info{
    flex:1;
}

.app-game-info h3{
    font-size:17px;
    font-weight:700;
    margin:0 0 3px;
}

.app-game-subtitle{
    color:#808980;
    font-size:12px;
}

.app-game-tags{
    display:flex;
    flex-wrap:wrap;
    gap:5px;

    margin-top:9px;
}

.app-game-tags span{

    background:#f0f4f0;

    color:#59705f;

    border-radius:999px;

    padding:4px 8px;

    font-size:9px;

    font-weight:700;
}


/* RESULTAT */

.app-game-result{

    min-width:170px;

    text-align:right;

    color:#647067;

    font-size:12px;

    line-height:1.7;
}

.app-game-result i{
    color:#d8a900;
}

.app-game-arrow{

    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    background:#f4f7f4;

    color:#326f48;

    text-decoration:none;
}


/* MOBILE NAV */

.app-mobile-nav{
    display:none;
}


/* RESPONSIVE */

@media(max-width:768px){

    .app-page{
        padding-bottom:90px;
    }

    .app-header{
        padding:12px 0;
    }

    .app-logo img{
        width:165px;
    }

    .app-main{
        padding:28px 0;
    }

    .app-welcome h1{
        font-size:28px;
    }

    .app-current-game{
        padding:22px;
        border-radius:20px;
    }

    .app-current-content h2{
        font-size:20px;
    }

    .app-course-icon{
        width:52px;
        height:52px;
        flex:0 0 52px;
    }

    .app-action-card{
        padding:22px;
    }

    .app-join-form{
        display:block;
    }

    .app-join-form button{
        width:100%;
        margin-top:9px;
    }

    .app-game-row{
        align-items:flex-start;
        gap:12px;
    }

    .app-game-result{
        display:none;
    }

    .app-game-date-box{
        width:53px;
        height:53px;
        flex:0 0 53px;
    }

    .app-game-arrow{
        margin-left:auto;
    }


    /* NAV FIXE */

    .app-mobile-nav{

        position:fixed;

        left:0;
        right:0;
        bottom:0;

        z-index:1000;

        height:72px;

        display:flex;

        align-items:center;
        justify-content:space-around;

        background:#fff;

        border-top:1px solid #e2e7e3;

        box-shadow:0 -7px 25px rgba(0,0,0,.05);
    }

    .app-mobile-nav > a{

        flex:1;

        height:100%;

        display:flex;
        flex-direction:column;

        align-items:center;
        justify-content:center;

        gap:5px;

        color:#7b857e;

        text-decoration:none;

        font-size:10px;

        font-weight:700;
    }

    .app-mobile-nav > a i{
        font-size:18px;
    }

    .app-mobile-nav > a.active{
        color:#2f8f4e;
    }

    .app-mobile-main{
        position:relative;
        top:-13px;
    }

    .app-mobile-plus{

        width:52px;
        height:52px;

        display:flex;
        align-items:center;
        justify-content:center;

        border-radius:50%;

        background:#a8f437;

        color:#15341f;

        box-shadow:0 8px 22px rgba(70,130,50,.25);

        font-size:22px;
    }

}

/* =========================================================
   CREATE GAME
========================================================= */

.create-game-container{
    max-width:900px;
    margin:auto;
}

.create-close{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:#fff;
    text-decoration:none;
    font-size:18px;
}

.create-header{
    text-align:center;
    margin-bottom:35px;
}

.create-header h1{
    margin:0;
    font-size:38px;
    font-weight:900;
}

.create-header p{
    color:#778078;
    margin:10px auto 0;
    max-width:550px;
}


/* STEPS */

.create-steps{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    margin-bottom:35px;
}

.create-step{
    width:100px;
    text-align:center;
    color:#9aa29c;
}

.create-step-circle{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    border-radius:50%;
    background:#e5e9e6;
    font-weight:900;
}

.create-step span{
    display:block;
    margin-top:7px;
    font-size:11px;
    font-weight:700;
}

.create-step.active{
    color:#257144;
}

.create-step.active .create-step-circle{
    background:#a8f437;
    color:#173820;
}

.create-step.completed .create-step-circle{
    background:#277448;
    color:#fff;
}

.create-step-line{
    width:70px;
    height:2px;
    background:#e0e5e1;
    margin-top:19px;
}


/* PANEL */

.create-panel{
    background:#fff;
    border:1px solid #e1e7e2;
    border-radius:24px;
    padding:35px;
    box-shadow:0 15px 45px rgba(30,60,40,.05);
}

.create-panel-header{
    display:flex;
    align-items:center;
    gap:17px;
    margin-bottom:30px;
}

.create-panel-icon{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    background:#edf8e5;
    color:#2c824b;
    font-size:23px;
}

.create-panel-header h2{
    margin:0;
    font-size:24px;
    font-weight:900;
}

.create-panel-header p{
    margin:4px 0 0;
    color:#7b857e;
    font-size:13px;
}

.create-label{
    font-size:12px;
    font-weight:700;
}

.create-input{
    min-height:52px;
    border-radius:12px;
}


/* COURSE */

.create-course-preview{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:30px;
    padding:18px;
    background:#f3f7f2;
    border-radius:16px;
}

.create-course-preview div{
    text-align:center;
}

.create-course-preview span{
    display:block;
    font-size:9px;
    color:#879088;
    font-weight:900;
    letter-spacing:1px;
}

.create-course-preview strong{
    display:block;
    margin-top:4px;
}


/* PLAYERS */

.create-player-row{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    margin-bottom:10px;
    border:1px solid #20923d;
    border-radius:15px;
    background: #edf5e7;
}

.create-player-avatar{
    width:43px;
    height:43px;
    flex:0 0 43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#286d43;
    color:#FFF;
    font-weight:900;
}

.create-player-info{
    flex:1;
}

.create-player-info strong,
.create-player-info span{
    display:block;
}

.create-player-info span{
    color:#8b948d;
    font-size:11px;
}

.create-player-clt{
    width:90px;
}

.create-player-clt label{
    display:block;
    color:#8b948d;
    font-size:9px;
}

.create-player-clt input{
    height:38px;
}

.create-remove-player{
    border:0;
    background:none;
    color:#a2aaa4;
}

.create-add-player{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px;
    margin-top:12px;
    border:3px dashed #20923d;
    border-radius:15px;
    background:#fafcfa;
    color:#32744b;
    font-weight:700;
}

.create-add-player div{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eaf7df;
    border: solid 1px #20923d;
}

.create-help{
    margin-top:20px;
    padding:14px;
    border-radius:12px;
    background:#f4f7f4;
    color:#6f7c72;
    font-size:12px;
}


/* SETTINGS */

.create-setting{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding-bottom:25px;
    border-bottom:1px solid #e7ebe8;
}

.create-setting p,
.create-games-title p{
    margin:4px 0 0;
    color:#7e8880;
    font-size:12px;
}

.create-setting select{
    max-width:220px;
}

.create-games-title{
    margin:28px 0 15px;
}

.create-game-option{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
    padding:15px;
    margin-bottom:9px;
    border:1px solid #e0e6e1;
    border-radius:15px;
    cursor:pointer;
}

.create-game-option input{
    position:absolute;
    opacity:0;
}

.create-game-option-icon{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#eef7e9;
    color:#31764a;
}

.create-game-option div:nth-child(3){
    flex:1;
}

.create-game-option strong,
.create-game-option span{
    display:block;
}

.create-game-option span{
    color:#879087;
    font-size:11px;
}

.create-check{
    color:#35a05a;
    opacity:0;
}

.create-game-option:has(input:checked){
    border-color:#70ad79;
    background:#f7fbf5;
}

.create-game-option:has(input:checked) .create-check{
    opacity:1;
}


/* SUMMARY */

.create-summary{
    border:1px solid #e2e7e3;
    border-radius:17px;
    overflow:hidden;
}

.create-summary-row{
    display:flex;
    align-items:center;
    gap:14px;
    padding:15px;
    border-bottom:1px solid #edf0ed;
}

.create-summary-row:last-child{
    border-bottom:0;
}

.create-summary-icon{
    width:38px;
    color:#347a4c;
    text-align:center;
}

.create-summary-row span,
.create-summary-row strong{
    display:block;
}

.create-summary-row span{
    color:#8b948d;
    font-size:10px;
}

.create-ready{
    display:flex;
    gap:15px;
    margin-top:20px;
    padding:18px;
    border-radius:15px;
    background:#edf8e5;
    color:#2a633e;
}

.create-ready > i{
    font-size:23px;
}

.create-ready p{
    margin:3px 0 0;
    font-size:12px;
}


/* NAVIGATION */

.create-navigation{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:12px;
    margin-top:22px;
}

.create-back{
    border:0;
    background:none;
    color:#68746b;
    font-weight:700;
}

.create-next,
.create-submit{
    min-height:52px;
    padding:0 25px;
    background:#237047;
    color:#fff;
}

.create-submit{
    background:#a8f437;
    color:#16351f;
}


/* MODAL */

.create-modal{
    border:0;
    border-radius:20px;
}

.create-search-result{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    margin-bottom:7px;
    border:1px solid #e4e9e5;
    border-radius:13px;
    background:#fff;
    text-align:left;
}

.create-search-result > span:nth-child(2){
    flex:1;
}

.create-search-result strong,
.create-search-result small{
    display:block;
}

.create-search-result small{
    color:#89928b;
}


/* MOBILE */

@media(max-width:767px){

    .create-header h1{
        font-size:30px;
    }

    .create-step{
        width:auto;
        flex:0 0 48px;
    }

    .create-step span{
        display:none;
    }

    .create-step-line{
        flex:1;
        width:auto;
    }

    .create-panel{
        padding:22px;
        border-radius:19px;
    }

    .create-panel-header{
        align-items:flex-start;
    }

    .create-course-preview{
        padding:13px 5px;
    }

    .create-setting{
        display:block;
    }

    .create-setting select{
        max-width:none;
        margin-top:13px;
    }

    .create-player-row{
        flex-wrap:wrap;
    }

    .create-player-info{
        min-width:120px;
    }

    .create-player-clt{
        width:75px;
    }

    .create-navigation{
        justify-content:space-between;
    }

    .create-next,
    .create-submit{
        margin-left:auto;
    }

}

.create-player-repere{
    width:190px;
}

.create-player-repere label{
    display:block;
    color:#8b948d;
    font-size:9px;
}

.create-player-repere select{
    height:38px;
    font-size:18px;
}


@media(max-width:767px){

    .create-player-repere{
        width:100%;
    }

}

.player-search-box{
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 14px;
    height:52px;
    border:1px solid #dfe5e0;
    border-radius:14px;
    background:#f9fbf9;
}

.player-search-box i{
    color:#89948c;
}

.player-search-box input{
    flex:1;
    border:0;
    outline:0;
    background:transparent;
}

.player-modal-title{
    margin:22px 0 9px;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
    color:#8b958d;
}

.saved-player-row{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px;
    margin-bottom:7px;
    border:1px solid #e3e8e4;
    border-radius:14px;
    background:#fff;
    text-align:left;
}

.saved-player-row:hover{
    background:#f7faf6;
    border-color:#bdd5c0;
}

.saved-player-select:disabled{
    opacity:.55;
}

.saved-player-info{
    flex:1;
}

.saved-player-info strong,
.saved-player-info small{
    display:block;
}

.saved-player-info small{
    color:#89928b;
    font-size:11px;
}

.saved-player-select{
    flex:1;
    min-width:0;

    display:flex;
    align-items:center;
    gap:12px;

    padding:0;

    border:0;
    background:transparent;

    text-align:left;
}

.saved-player-select:disabled{
    opacity:.55;
}

.saved-player-edit{
    width:42px;
    height:42px;

    flex:0 0 42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:0;
    border-radius:50%;

    background:#f1f4f1;
    color:#286d43;

    transition:.2s;
}

.saved-player-edit:hover{
    background:#e5eee5;
    color:#1d6b3f;
}



.player-added{
    font-size:10px;
    font-weight:700;
    color:#388057;
}

.player-new-separator{
    display:flex;
    align-items:center;
    margin:18px 0;
    color:#a1aaa3;
    font-size:11px;
}

.player-new-separator:before,
.player-new-separator:after{
    content:"";
    flex:1;
    height:1px;
    background:#e5e9e6;
}

.player-new-separator span{
    padding:0 12px;
}

.player-new-button{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px;
    border:1px dashed #b9cdbd;
    border-radius:14px;
    background:#f8fbf7;
    text-align:left;
}

.player-new-button > span{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e8f6dd;
    color:#30794a;
}

.player-new-button div{
    flex:1;
}

.player-new-button strong,
.player-new-button small{
    display:block;
}

.player-new-button small{
    color:#879188;
    font-size:11px;
}

.player-empty{
    padding:25px;
    text-align:center;
    color:#8a948c;
}

.player-empty i,
.player-empty strong,
.player-empty span{
    display:block;
}

.player-empty i{
    margin-bottom:10px;
    font-size:25px;
}

.player-empty span{
    font-size:11px;
}

.formula-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.formula-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:155px;
    padding:20px;
    border:2px solid #e4e9e5;
    border-radius:18px;
    background:#f4f7f3;
    cursor:pointer;
    transition:.2s;
}

.formula-card:hover{
    border-color:#b7cdb9;
    transform:translateY(-2px);
}

.formula-checkbox{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.formula-icon{
    font-size:28px;
    margin-bottom:10px;
}

.formula-card strong{
    font-size:15px;
    margin-bottom:5px;
}

.formula-card span{
    font-size:12px;
    line-height:1.5;
    color:#7d8780;
}

.formula-check{
    position:absolute;
    top:13px;
    right:13px;

    width:24px;
    height:24px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid #d7ddd8;
    border-radius:50%;

    color:white;
    font-size:11px;
}

.formula-card:has(.formula-checkbox:checked){
    border-color:#3b8154;
    background:#f6fbf5;
}

.formula-card:has(.formula-checkbox:checked)
.formula-check{
    background:#3b8154;
    border-color:#3b8154;
}

@media(max-width:767px){

    .formula-grid{
        grid-template-columns:1fr;
    }

    .formula-card{
        min-height:130px;
    }

}

/* ==========================================
   SCORES - REPRESENTATION CARTE DE GOLF
========================================== */

.mini-score{
    width:30px;
    height:30px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    font-weight:700;
    color:#17231b;

    position:relative;
}


.mini-score.albatros
{
    border:2px solid #8a63d2;
    border-radius:50%;

    box-shadow:
        0 0 0 3px #fff,
        0 0 0 5px #8a63d2;
}

/* EAGLE = DOUBLE CERCLE */

.mini-score.eagle{
    border:2px solid #e2a51c;
    border-radius:50%;

    box-shadow:
        0 0 0 3px #fff,
        0 0 0 5px #e2a51c;
}


/* BIRDIE = CERCLE */

.mini-score.birdie{
    border:2px solid #df3545;
    border-radius:50%;
}


/* PAR = RIEN */

.mini-score.par{
    border:0;
    background:none;
}


/* BOGEY = CARRE */

.mini-score.bogey{
    border:2px solid #478fe2;
    border-radius:2px;
}


/* DOUBLE BOGEY = DOUBLE CARRE */

.mini-score.dbl_bogey{
    border:2px solid #174f80;
    border-radius:2px;

    box-shadow:
        0 0 0 3px #fff,
        0 0 0 5px #174f80;
}


.mini-score.triple_bogey{
    border:2px solid #000;
    border-radius:2px;

    box-shadow:
        0 0 0 3px #fff,
        0 0 0 5px #000;
}

.hole-completion
{
    display:flex;
    align-items:center;
    justify-content:center;

    padding:10px;

    border-radius:12px;

    background:#eef1ef;

    color:#7a857d;

    font-size:13px;
    font-weight:600;
}


.hole-completion.complete
{
    background:#e8f5ec;
    color:#347047;
}


@media (max-width: 575px)
{
    .home-actions
    {
        gap:8px;
    }

    .home-login-link
    {
        font-size:13px;
        white-space:nowrap;
    }

    .home-actions .home-btn
    {
        padding:9px 12px;
        font-size:13px;
        white-space:nowrap;
    }
}

.home-login-mobile
{
    display:none;
}

@media(max-width:575.98px)
{
    .home-actions
    {
        display:none;
    }

    .home-login-mobile
    {
        display:inline-flex;
    }

    .home-brand img
    {
        width:240px;
        max-width:80vw;
    }
}

.flip-scroll-top
{
    position:fixed;

    right:20px;
    bottom:25px;

    width:44px;
    height:44px;

    display:none;
    align-items:center;
    justify-content:center;

    z-index:1000;

    border:0;
    border-radius:50%;

    background:#153f2e;
    color:#fff;

    box-shadow:
        0 4px 14px
        rgba(0,0,0,.18);

    cursor:pointer;

    font-size:15px;
}


.flip-scroll-top:hover
{
    background:#0e3022;
}


@media(max-width:767px)
{
    .flip-scroll-top
    {
        right:15px;

        /*
         * Au-dessus de la navigation mobile
         */
        bottom:85px;

        width:40px;
        height:40px;
    }
}

.summary-player-detail
{
    display:flex;
    flex-direction:column;
    margin-top:10px;
}

.summary-player-detail strong
{
    font-size:15px;
    line-height:1.2;
}

.summary-player-detail span
{
    margin-top:2px;
    font-size:13px;
    color:#6c757d;
}
.summary-formula-detail
{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:7px;
    font-size:14px;
}

.summary-formula-detail i
{
    font-size:11px;
    color:#2f7d4a;
}

.saved-player-edit,
.saved-player-delete
{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:0;
    border-radius:50%;

    background:#f4f7f5;

    font-size:16px;

    transition:.15s;
}


.saved-player-edit
{
    color:#287247;
}


.saved-player-delete
{
    color:#c0392b;
}


.saved-player-edit:hover,
.saved-player-delete:hover
{
    background:#e9efeb;
    transform:scale(1.05);
}

.app-status-draft
{
    background:#fff3cd;
    color:#7a5b00;
    border:1px solid #f1dfa3;
}


.app-status-marker
{
    background:#e7f4ea;
    color:#176b36;
    border:1px solid #c8e5d0;
}


.app-status-organizer
{
    background:#f1ecff;
    color:#6341a5;
    border:1px solid #ddd0f6;
}


/* ============================================================
   LISTES PARTIES / COMPETITIONS
============================================================ */

.games-page-header
{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:20px;

    margin-bottom:24px;
}


.games-page-header h1
{
    margin-bottom:5px;
}


.games-page-header p
{
    margin:0;

    color:#68736d;
}


/* ============================================================
   FILTRES
============================================================ */

.games-filters
{
    display:flex;
    align-items:center;

    gap:7px;

    margin-bottom:22px;

    overflow-x:auto;

    padding-bottom:2px;
}


.games-filters::-webkit-scrollbar
{
    display:none;
}


.games-filters a
{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:8px 14px;

    border-radius:20px;

    background:#edf1ef;

    color:#526059;

    text-decoration:none;

    font-size:12px;
    font-weight:700;

    white-space:nowrap;

    transition:.2s;
}


.games-filters a:hover
{
    background:#e2e8e4;

    color:#153f2e;
}


.games-filters a.active
{
    background:#153f2e;

    color:#fff;
}


.games-filters a span
{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:21px;
    height:21px;

    margin-left:6px;
    padding:0 6px;

    border-radius:12px;

    background:rgba(21,63,46,.08);

    font-size:10px;
    font-weight:700;
}


.games-filters a.active span
{
    background:rgba(255,255,255,.18);

    color:#fff;
}


/* ============================================================
   LISTE
============================================================ */

.games-list
{
    display:flex;
    flex-direction:column;

    gap:10px;
}


/* ============================================================
   DATE
============================================================ */

.app-game-date-box small
{
    display:block;

    margin-top:3px;

    font-size:9px;
    font-weight:600;

    line-height:1;

    opacity:.55;
}


/* ============================================================
   STATUT
============================================================ */

.app-game-status
{
    display:flex;
    align-items:center;

    gap:10px;

    margin-top:9px;

    flex-wrap:wrap;
}


.app-status
{
    display:inline-flex;
    align-items:center;

    gap:6px;

    padding:5px 10px;

    border-radius:20px;

    font-size:10px;
    font-weight:700;

    letter-spacing:.4px;

    white-space:nowrap;
}


.app-status-current
{
    background:#dcf7e7;
    color:#087a3c;
    border:1px solid #b7e9ca;
}


.app-status-finished
{
    background:#e7eaec;
    color:#3e474c;
    border:1px solid #d1d6d9;
}


.app-status-not-started
{
    background:#e7f1ff;
    color:#1769aa;
    border:1px solid #c5ddf5;
}


.app-status-archived
{
    background:#f2f0ec;
    color:#756c5e;
    border:1px solid #ded9d0;
}


.app-game-progress
{
    font-size:11px;
    font-weight:700;

    color:#657069;
}


/* ============================================================
   ACTIONS
============================================================ */

.app-game-actions
{
    margin-left:auto;

    display:flex;
    align-items:center;
    justify-content:flex-end;

    gap:8px;
}


.app-game-btn
{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    padding:9px 13px;

    border-radius:9px;

    text-decoration:none;

    font-size:13px;
    font-weight:700;

    white-space:nowrap;

    transition:.2s;
}


.app-game-btn-primary,
.app-game-btn-results
{
    background:#153f2e;

    color:#fff;
}


.app-game-btn-primary:hover,
.app-game-btn-results:hover
{
    color:#fff;

    transform:translateY(-1px);
}


.app-game-btn-card
{
    background:#f0f2f1;

    color:#34453e;
}


.app-game-btn-card:hover
{
    background:#e4e8e6;

    color:#153f2e;
}


/* ============================================================
   ARCHIVER / RESTAURER / SUPPRIMER
============================================================ */

.app-game-delete,
.app-game-restore,
.app-game-delete-final
{
    width:32px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    text-decoration:none;

    transition:.2s;
}


.app-game-delete
{
    color:#a7afab;
}


.app-game-delete:hover
{
    background:#f3f4f3;

    color:#6b746f;
}


.app-game-restore
{
    color:#52705f;

    background:#edf3ef;
}


.app-game-restore:hover
{
    background:#dfeae3;

    color:#153f2e;
}


.app-game-delete-final
{
    color:#b16a6a;
}


.app-game-delete-final:hover
{
    background:#f8eaea;

    color:#9b3f3f;
}


/* ============================================================
   LISTE VIDE
============================================================ */

.app-games-empty
{
    padding:50px 20px;

    text-align:center;

    border:1px dashed #d8dedb;

    border-radius:14px;

    color:#6c746f;
}


.app-games-empty i
{
    display:block;

    margin-bottom:12px;

    font-size:30px;
}


.app-games-empty strong
{
    display:block;

    margin-bottom:5px;

    color:#26352f;
}


.app-games-empty p
{
    margin:0;

    font-size:13px;
}


/* ============================================================
   RETOUR
============================================================ */

.games-back
{
    display:inline-flex;
    align-items:center;

    gap:7px;

    margin-bottom:14px;

    color:#66736c;

    text-decoration:none;

    font-size:13px;
    font-weight:700;
}


.games-back:hover
{
    color:#153f2e;
}


/* ============================================================
   MOBILE LISTES
============================================================ */

@media(max-width:767px)
{

    .games-page-header
    {
        margin-bottom:18px;
    }


    .games-page-header p
    {
        font-size:13px;
    }


    .games-filters
    {
        margin-left:-4px;
        margin-right:-4px;
        margin-bottom:17px;
    }


    .games-filters a
    {
        padding:7px 12px;

        font-size:11px;
    }


    .games-list
    {
        gap:9px;
    }


    .app-game-row
    {
        align-items:flex-start;

        gap:11px;

        padding:12px;

        border-radius:12px;

        flex-wrap:wrap;
    }


    .app-game-info
    {
        width:calc(100% - 65px);

        min-width:0;
    }


    .app-game-info h3
    {
        font-size:14px;
    }


    .app-game-subtitle
    {
        font-size:11px;
    }


    .app-game-status
    {
        margin-top:7px;

        gap:7px;
    }


    .app-status
    {
        padding:4px 8px;

        font-size:9px;
    }


    .app-game-actions
    {
        width:100%;

        margin-left:65px;
        margin-top:0;

        justify-content:flex-start;

        gap:6px;
    }


    .app-game-btn
    {
        width:auto;

        min-width:0;

        flex:none;

        padding:6px 9px;

        font-size:11px;

        line-height:1.2;

        border-radius:7px;
    }


    .app-game-delete,
    .app-game-restore,
    .app-game-delete-final
    {
        width:28px;
        height:28px;

        font-size:12px;
    }

}

/* ============================================================
   CARTE DE SCORE TOURNAMENT
============================================================ */

.tournament-full-scorecard
{
    margin-top:24px;

    background:#fff;

    border:1px solid #e1e7e2;
    border-radius:17px;

    overflow:hidden;
}


.tournament-full-scorecard-title
{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:15px 17px;

    border-bottom:1px solid #e8ece9;
}


.tournament-full-scorecard-title strong
{
    display:block;

    font-size:15px;
}


.tournament-full-scorecard-title span
{
    display:block;

    margin-top:2px;

    color:#7b857e;

    font-size:11px;
}


.tournament-full-scorecard-title i
{
    color:#347047;
}


.tournament-scorecard-scroll
{
    overflow-x:auto;

    -webkit-overflow-scrolling:touch;
}

.tournament-scorecard-table
{
    width:100%;
    border-collapse:collapse;
    font-size:12px;
    background:#fff;
}

.tournament-scorecard-table th,
.tournament-scorecard-table td
{
    min-width:52px;
    height:44px;

    padding:6px;

    text-align:center;

    border-right:1px solid #edf0ee;
    border-bottom:1px solid #edf0ee;
}

.tournament-scorecard-table thead th
{
    background:#f3f6f3;

    color:#536159;

    font-size:10px;
    font-weight:800;
}

.tournament-scorecard-table tbody td:first-child
{
    font-weight:800;
}

.tournament-scorecard-table tbody td:nth-child(2)
{
    background:#eaf1eb;
    color:#347047;
    font-weight:700;
}

.tournament-scorecard-total-row th
{
    background:#f7f9f7;
    color:#173d27;
    font-weight:800;
}

@media(max-width:767px)
{
    .tournament-scorecard-table
    {
        min-width:0;
        font-size:11px;
    }

    .tournament-scorecard-table th,
    .tournament-scorecard-table td
    {
        min-width:46px;
        height:42px;
        padding:4px;
    }
}


.tournament-scorecard-player strong
{
    display:block;

    color:#17231b;

    font-size:12px;
}


.tournament-scorecard-player small
{
    display:block;

    margin-top:2px;

    color:#8a938d;

    font-size:9px;
}


.tournament-scorecard-par th
{
    background:#eaf1eb !important;

    color:#347047 !important;
}


.tournament-scorecard-cell
{
    color:#747e77;
}


.tournament-scorecard-total
{
    font-weight:800;

    color:#173d27;

    background:#f7f9f7;
}


/* ============================================================
   BOUTONS SCORE - STYLE SIMPLE
============================================================ */

.score-btn
{
    flex:1 1 0;

    width:auto;
    min-width:0;

    height:44px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:1px;

    border:2px solid #dfe5df;
    border-radius:12px;

    background:#fff;
    color:#26332b;

    cursor:pointer;
    transition:.15s;
}

.score-btn:hover
{
    transform:translateY(-1px);
}


/* ETAT NORMAL PAR TYPE : pas de formes spéciales */

.score-btn.eagle,
.score-btn.birdie,
.score-btn.par,
.score-btn.bogey,
.score-btn.dbl_bogey,
.score-btn.triple_bogey
{
    border-radius:12px;
    box-shadow:none;
    background:#fff;
}


/* Bordures discrètes par type */

.score-btn.albatros
{
    border-color:#d8d8d8;
}

.score-btn.albatros.selected
{
    background:#8a63d2;
    border-color:#8a63d2;
    color:#fff;
}

.score-btn.eagle
{
    border-color:#d8d8d8;
}

.score-btn.birdie
{
    border-color:#d8d8d8;
}

.score-btn.par
{
    border-color:#173d27;
}

.score-btn.bogey
{
    border-color:#d8d8d8;
}

.score-btn.dbl_bogey
{
    border-color:#d8d8d8;
}

.score-btn.triple_bogey
{
    border-color:#d8d8d8;
}


/* ETATS SELECTIONNES */

.score-btn.eagle.selected
{
    background:#f0a61f;
    border-color:#f0a61f;
    color:#fff;
}

.score-btn.birdie.selected
{
    background:#ff4a57;
    border-color:#ff4a57;
    color:#fff;
}

.score-btn.par.selected
{
    background:#173d27;
    border-color:#173d27;
    color:#fff;
}

.score-btn.bogey.selected
{
    background:#4d8fe0;
    border-color:#4d8fe0;
    color:#fff;
}

.score-btn.dbl_bogey.selected
{
    background:#013968;
    border-color:#013968;
    color:#fff;
}

.score-btn.triple_bogey.selected
{
    background:#000;
    border-color:#000;
    color:#fff;
}


/* libellés */

.score-btn small
{
    font-size:11px;
    line-height:1;
    opacity:.75;
}

.score-btn.selected small
{
    opacity:1;
}

.mini-score-sm
{
    width:22px;
    height:22px;

    margin-left:3px;

    font-size:10px;

    vertical-align:middle;
}


.score-buttons
{
    overflow:visible;
}

.flip-account-status
{
    border-bottom:1px solid #e4e9e5;
    font-size:12px;
}

.flip-account-status.connected
{
    background:#f1f7f3;
}

.flip-account-status.guest
{
    background:#fff8e8;
}

.flip-account-status-inner
{
    max-width:1100px;
    margin:auto;

    min-height:38px;
    padding:7px 15px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.flip-account-status-text
{
    display:flex;
    align-items:center;
    gap:7px;

    color:#667069;
}

.flip-account-status.connected .flip-account-status-text
{
    color:#31583e;
}

.flip-account-status-dot
{
    width:8px;
    height:8px;

    flex:0 0 8px;

    border-radius:50%;
    background:#347047;
}

.flip-account-status-action a
{
    display:flex;
    align-items:center;
    gap:5px;

    color:#173d27;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}

.flip-account-status-action a:hover
{
    text-decoration:underline;
}

@media(max-width:575px)
{
    .flip-account-status-inner
    {
        min-height:34px;
        padding-top:6px;
        padding-bottom:6px;
    }

    .flip-account-status-text
    {
        font-size:11px;
    }

    .flip-account-status.guest .flip-account-status-text span
    {
        max-width:210px;
    }
}