/* ==========================================================
   PHOTO CHALLENGE
   ========================================================== */

:root {

    --primary: #2563EB;
    --primary-hover: #1D4ED8;

    --dark: #0F172A;

    --success: #22C55E;
    --warning: #FBBF24;
    --danger: #F87171;

    --background: #F2F4F7;
    --surface: #FFFFFF;

    --text: #1E293B;
    --text-light: #64748B;

    --radius: 20px;

    --shadow:
        0 4px 18px rgba(15,23,42,.06);

    --transition: .2s ease;
}

*{
    box-sizing:border-box;
}

body{

    margin:0;

    background:var(--background);

    color:var(--text);

    font-family:"Manrope",sans-serif;

    font-size:16px;

    line-height:1.6;

}

/* ==========================================================
   NAVBAR
   ========================================================== */

.pc-navbar{

    background:white;

    position:sticky;

    top:0;

    z-index:1000;

    border-bottom:1px solid #E5E7EB;

}

.pc-navbar .container{

    height:72px;

    display:flex;

    align-items:center;

}

.pc-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.pc-brand-logo {
    display: block;
    width: auto;
    height: 46px;
    object-fit: contain;
}

@media (max-width: 575.98px) {
    .pc-brand-logo {
        height: 38px;
    }
}

.auth-logo {

    display: block;

    width: 100%;

    height: auto;

    margin: 0 auto;

}

/* ==========================================================
   CARDS
   ========================================================== */

.pc-card{

    background:white;

    border-radius:var(--radius);

    padding:24px;

    box-shadow:var(--shadow);

    border:none;

}

/* ==========================================================
   BUTTONS
   ========================================================== */

.btn-primary{

    background:var(--primary);

    border:none;

    border-radius:16px;

    padding:12px 22px;

    font-weight:700;

    transition:var(--transition);

}

.btn-primary:hover{

    background:var(--primary-hover);

    transform:translateY(-1px);

}

.btn-outline-primary{

    border-radius:16px;

    font-weight:700;

}

/* ==========================================================
   FORMULAIRES
   ========================================================== */

.form-control,
.form-select{

    border-radius:14px;

    border:1px solid #D6DCE5;

    padding:12px 16px;

    box-shadow:none;

}

.form-control:focus,
.form-select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .2rem rgba(37,99,235,.15);

}

/* ==========================================================
   TITRES
   ========================================================== */

h1{

    font-weight:800;

    margin-bottom:24px;

}

h2{

    font-weight:700;

}

h3{

    font-weight:700;

}


/* Comptes et authentification */
.btn-google{display:flex;align-items:center;justify-content:center;gap:.65rem;background:#fff;border:1px solid #d9dee8;color:#263142}.btn-google:hover{background:#f7f9fc;border-color:#bcc5d3}.auth-separator{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:#8a94a6}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:#e5e9f0;flex:1}.auth-links,.auth-switch{text-align:center;margin-top:1rem}.auth-links a,.auth-switch a,.pc-user-nav a{color:var(--pc-primary,#5965df);font-weight:700;text-decoration:none}.pc-navbar .container{display:flex;align-items:center;justify-content:space-between}.pc-user-nav{display:flex;gap:1.2rem;align-items:center}.pc-alert-success{background:#e9f8ef;color:#17653a;border:1px solid #bce5cb}@media(max-width:700px){.pc-user-nav{gap:.65rem;font-size:.85rem}.pc-user-nav a:first-child{display:none}}
.account-card .auth-form > .btn {

    margin-top: 0.65rem;

}
.logout-form{margin:0}.logout-form button{border:0;background:none;padding:0;color:var(--pc-primary,#5965df);font-weight:700}


/* Mode Démo participant */
.pg-demo-banner{position:sticky;top:0;z-index:1200;display:flex;align-items:center;justify-content:center;gap:.65rem;flex-wrap:wrap;padding:.65rem 1rem;background:#fff3cd;color:#664d03;border-bottom:2px solid #ffda6a;text-align:center;font-size:.82rem;font-weight:700}
.pg-demo-banner strong{font-size:.9rem;letter-spacing:.08em}
:root{--pg-skip-link-bg:#fff;--pg-skip-link-color:#10162f}
.pg-skip-link{position:fixed;z-index:10000;top:.75rem;left:.75rem;padding:.7rem 1rem;border-radius:.75rem;background:var(--pg-skip-link-bg);color:var(--pg-skip-link-color);font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25);transform:translateY(calc(-100% - 1.5rem));transition:transform .15s ease}
.pg-skip-link:focus{transform:translateY(0);outline:3px solid #8b5cf6;outline-offset:3px}
