:root{--primary:#2864ed;--primary-dark:#123ea8;--ink:#081126;--muted:#63708a;--line:#dce4ef;--soft:#edf4ff;--card:#fff;--radius:16px;--shadow:0 10px 30px rgba(27,62,120,.10);font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}.site-header{height:72px;display:flex;align-items:center;gap:28px;padding:0 3%;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:50}.brand img{width:150px;height:44px;object-fit:contain}.main-nav{display:flex;gap:26px;align-items:center;flex:1;justify-content:center;font-weight:700}.header-actions{display:flex;gap:12px;align-items:center}.header-actions select{padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.btn,.button{display:inline-flex;justify-content:center;align-items:center;padding:11px 20px;border:0;border-radius:999px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 6px 14px rgba(40,100,237,.2)}.btn.secondary{background:#fff;color:var(--ink);border:1px solid #bfcbe0;box-shadow:none}.announcement{padding:10px 9%;background:#eef6ff;border-bottom:1px solid #cbdcf8;color:#174294;font-size:14px}.announcement button{float:right;border:0;background:#fff;border-radius:50%}.page-hero{min-height:240px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;background:var(--hero-bg);color:var(--hero-color)}.hero-media{position:absolute;inset:0;background-size:cover;background-position:center}.hero-media:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--hero-overlay))}.hero-content{position:relative;z-index:2;max-width:850px;padding:50px 20px}.hero-content h1{font-size:clamp(36px,5vw,56px);line-height:1.05;margin:0 0 14px}.hero-content p{font-size:18px;color:var(--muted)}.container{max-width:1200px;margin:auto;padding:36px 24px}.section-title{text-align:center;font-size:32px;margin:10px 0 32px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.card h3{margin:0}.card p{color:var(--muted);line-height:1.55}.card .button{margin-top:auto}.badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#d8f8e8;color:#078249;font-weight:800;font-size:12px}.stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:-28px;position:relative;z-index:5}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 20px;box-shadow:var(--shadow);font-weight:800;color:var(--primary)}.pricing{grid-template-columns:repeat(4,1fr)}.price{font-size:36px;color:var(--primary);font-weight:900}.site-footer{background:#02091a;color:#fff;padding:48px 7%;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}.site-footer img{width:120px;filter:brightness(0) invert(1)}.site-footer a{display:block;color:#cbd4e7;margin:9px 0}.site-footer small{grid-column:1/-1;border-top:1px solid #384159;padding-top:20px;text-align:center}.form-card{max-width:760px;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow)}.field{display:grid;gap:8px;margin-bottom:18px}.field input,.field select,.field textarea{width:100%;padding:14px;border:1px solid #bdc7d8;border-radius:12px;font:inherit}.filters{display:grid;grid-template-columns:1fr 180px 180px;gap:14px;margin-bottom:30px}.nav-toggle{display:none}.ad-slot{border:1px dashed #aebbd0;border-radius:14px;padding:18px;text-align:center;background:#f8faff}.maintenance{min-height:100vh;display:grid;place-items:center;background:var(--soft)}@media(max-width:900px){.main-nav{display:none}.nav-toggle{display:block;margin-left:auto}.header-actions form{display:none}.grid,.pricing{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){.site-header{height:64px;padding:0 14px}.brand img{width:120px}.grid,.pricing,.filters{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.hero-content h1{font-size:36px}}
.search-input{position:relative}.search-input input{width:100%;height:52px;padding:0 50px 0 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.search-input:after{content:'⌕';position:absolute;right:17px;top:11px;font-size:25px;color:#64748b}.filters select{height:52px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;font:inherit}.empty-state{max-width:680px;margin:70px auto;padding:50px;text-align:center;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.empty-icon{font-size:50px}.empty-state .text-link{display:block;margin-top:20px;color:var(--primary);font-weight:800}.announcement{display:flex;align-items:center;gap:12px}.announcement>div{flex:1}.announcement-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#d8eaff;font-weight:900}.hero-content p{color:inherit;opacity:.75}

/* Formulaires et filtres communs */
input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="number"],input[type="datetime-local"],select,textarea{font-family:inherit}
.filters{align-items:center}.filters .search-input,.filters select{min-width:0}.search-input input,.filters select{transition:border-color .18s,box-shadow .18s;background:#fff}.search-input input:focus,.filters select:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(40,100,237,.10)}
.search-input:after{content:'⌕';pointer-events:none}.filters select{appearance:auto;color:#111827}

/* Socle transversal sécurité / consentement */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cookie-banner{position:fixed;z-index:9999;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1100px;margin:auto;padding:1rem 1.2rem;background:#fff;border:1px solid #d7e2f3;border-radius:16px;box-shadow:0 20px 60px rgba(15,40,80,.22)}
.cookie-banner p{margin:.25rem 0 0;color:#52627a}.cookie-actions form{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.text-button{border:0;background:transparent;color:#245ee8;font-weight:700;cursor:pointer}
.form-alert{padding:.8rem 1rem;border-radius:12px;margin:0 0 1rem;border:1px solid transparent}.form-alert-error{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.form-alert-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.form-alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.page-section{padding:2.5rem 1rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.settings-card{background:#fff;border:1px solid #dfe7f2;border-radius:16px;padding:1.25rem}.settings-card form{display:flex;gap:.75rem;flex-wrap:wrap}
.severity{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-weight:700;font-size:.78rem}.severity-debug,.severity-info{background:#e0f2fe;color:#075985}.severity-notice{background:#ede9fe;color:#5b21b6}.severity-warning{background:#fef3c7;color:#92400e}.severity-error{background:#fee2e2;color:#991b1b}.severity-critical,.severity-alert,.severity-emergency{background:#111827;color:#fff}
.status-badge{padding:.2rem .55rem;background:#eef2ff;border-radius:999px;font-size:.78rem}.record-card{border:1px solid #dfe7f2;border-radius:14px;padding:1rem;margin:.75rem 0}.record-card dl{display:grid;grid-template-columns:150px 1fr;gap:.35rem}.record-card dt{font-weight:700}
@media(max-width:760px){.cookie-banner{flex-direction:column;align-items:flex-start}.cookie-actions form{width:100%}.cookie-actions button{flex:1}.record-card dl{grid-template-columns:1fr}}


/* ==========================================================================\n   En-tête,pied de page et responsive transversal v7\n   ========================================================================== */
html{scroll-behavior:smooth}body{min-width:0;overflow-x:hidden}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid #e2e8f0;height:auto;min-height:76px;padding:0;position:sticky;top:0;z-index:1000;backdrop-filter:blur(12px)}
.site-header-inner{align-items:center;display:flex;gap:24px;margin:0 auto;max-width:1500px;min-height:76px;padding:0 28px;width:100%}.brand{align-items:center;display:flex;flex:0 0 auto}.brand img{height:48px;max-width:172px;object-fit:contain;width:auto}.site-navigation{align-items:center;display:flex;flex:1;gap:22px;min-width:0}.main-nav{align-items:center;display:flex;flex:1;gap:clamp(13px,1.45vw,25px);justify-content:center}.main-nav a{color:#18243a;font-size:.91rem;font-weight:750;line-height:1.2;position:relative;white-space:nowrap}.main-nav a:after{background:#2864ed;border-radius:99px;bottom:-8px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transition:transform .18s ease;width:100%}.main-nav a:hover:after,.main-nav a:focus-visible:after{transform:translateX(-50%) scaleX(1)}.header-actions{align-items:center;display:flex;flex:0 0 auto;gap:10px}.header-login{min-height:42px;padding:9px 17px}.header-admin{align-items:center;border:1px solid #bfd0eb;border-radius:999px;display:inline-flex;font-weight:750;min-height:42px;padding:8px 15px}.header-logout{color:#526079;font-size:.84rem;font-weight:700}.nav-toggle{align-items:center;background:#fff;border:1px solid #d6e0ed;border-radius:12px;cursor:pointer;display:none;height:44px;justify-content:center;margin-left:auto;padding:0;width:44px}.nav-toggle-lines{display:grid;gap:4px}.nav-toggle-lines i{background:#17233a;border-radius:99px;display:block;height:2px;transition:.2s ease;width:21px}.nav-toggle[aria-expanded=true] .nav-toggle-lines i:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-lines i:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.announcement{align-items:center;background:#eef6ff;border-bottom:1px solid #cbdcf8;color:#174294;display:flex;font-size:.9rem;gap:12px;padding:11px max(18px,calc((100vw - 1300px)/2))}.announcement>div{flex:1}.announcement button{align-items:center;background:#fff;border:0;border-radius:50%;cursor:pointer;display:flex;font-size:1.15rem;height:30px;justify-content:center;width:30px}
.site-footer{background:#030b1b;color:#fff;display:block;padding:0}.site-footer-inner{display:grid;gap:42px;grid-template-columns:2fr 1fr 1fr 1.25fr;margin:0 auto;max-width:1280px;padding:56px 28px 42px}.footer-brand img{filter:brightness(0) invert(1);height:auto;max-width:170px;width:100%}.footer-brand p{color:#b9c5da;font-size:1rem;margin:15px 0 0}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column h2{color:#fff;font-size:1rem;margin:0 0 8px}.footer-column a{color:#c3cee0;font-size:.91rem;margin:0}.footer-column a:hover{color:#fff;text-decoration:underline}.site-footer-bottom{border-top:1px solid #263147;color:#9eabc0;font-size:.86rem;margin:0 auto;max-width:1280px;padding:20px 28px;text-align:center}
img,video,iframe{max-width:100%}table{max-width:100%}
@media(max-width:1180px){.site-header-inner{padding:0 18px}.main-nav{gap:13px}.main-nav a{font-size:.83rem}.brand img{max-width:145px}.header-logout{display:none}}
@media(max-width:1040px){body.menu-open{overflow:hidden}.site-header-inner{min-height:68px}.site-header{min-height:68px}.brand img{height:42px;max-width:148px}.nav-toggle{display:flex}.site-navigation{align-items:stretch;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 18px 35px rgba(15,23,42,.13);display:none;flex-direction:column;gap:18px;left:0;max-height:calc(100vh - 68px);overflow-y:auto;padding:18px;position:absolute;right:0;top:100%}.site-navigation.is-open{display:flex}.main-nav{align-items:stretch;display:flex;flex-direction:column;gap:4px;justify-content:flex-start}.main-nav a{border-radius:11px;font-size:1rem;padding:12px 13px;white-space:normal}.main-nav a:hover{background:#edf4ff}.main-nav a:after{display:none}.header-actions{align-items:stretch;border-top:1px solid #e2e8f0;display:grid;grid-template-columns:1fr 1fr;padding-top:16px}.header-actions .btn,.header-actions .header-admin{width:100%}.header-logout{display:block;grid-column:1/-1;padding:10px;text-align:center}.site-footer-inner{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:700px){.container{padding-left:18px;padding-right:18px}.page-hero{min-height:210px}.hero-content{padding:42px 18px}.hero-content h1{font-size:clamp(2rem,10vw,2.8rem)}.hero-content p{font-size:1rem;line-height:1.55}.site-footer-inner{gap:30px;grid-template-columns:1fr 1fr;padding:42px 22px 32px}.footer-brand{grid-column:1/-1}.site-footer-bottom{padding:18px 22px}.cookie-banner{bottom:10px;left:10px;right:10px}}
@media(max-width:480px){.site-header-inner{padding:0 13px}.brand img{max-width:126px}.site-footer-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto}.header-actions{grid-template-columns:1fr}.header-logout{grid-column:auto}.announcement{font-size:.82rem;padding:10px 13px}}


/* Annonce persistante sous l'en-tête jusqu'à fermeture */
.announcement{
    position:sticky;
    top:72px;
    z-index:49;
    box-shadow:0 6px 16px rgba(15,23,42,.08);
}
@media(max-width:900px){.announcement{top:68px}}
@media(max-width:600px){.announcement{top:64px}}


/* Header profil et langues */
.header-actions{gap:12px}
.profile-menu{position:relative}
.profile-menu summary{align-items:center;background:#fff;border:1px solid #dbe5f2;border-radius:999px;cursor:pointer;display:flex;gap:.65rem;list-style:none;min-height:46px;padding:4px 10px 4px 5px}
.profile-menu summary::-webkit-details-marker{display:none}
.profile-avatar{align-items:center;background:linear-gradient(135deg,#2864ed,#6f83ff);border:2px solid #e4ecff;border-radius:50%;color:#fff;display:inline-flex;flex:0 0 36px;font-size:.78rem;font-weight:900;height:36px;justify-content:center;letter-spacing:.02em;width:36px}
.profile-summary-text{display:flex;flex-direction:column;line-height:1.15;max-width:125px;min-width:0;text-align:left}
.profile-summary-text strong{color:#17233a;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-summary-text small{color:#6b778e;font-size:.68rem;margin-top:.18rem}
.profile-chevron{color:#64748b;transition:transform .18s ease}
.profile-menu[open] .profile-chevron{transform:rotate(180deg)}
.profile-popover{background:#fff;border:1px solid #dce4ef;border-radius:16px;box-shadow:0 20px 48px rgba(15,23,42,.17);min-width:250px;padding:8px;position:absolute;right:0;top:calc(100% + 9px);z-index:1200}
.profile-popover-head{align-items:center;border-bottom:1px solid #edf1f6;display:flex;gap:.75rem;margin-bottom:6px;padding:8px 9px 12px}
.profile-avatar-large{flex-basis:44px;height:44px;width:44px}
.profile-popover-head div{display:flex;flex-direction:column;min-width:0}
.profile-popover-head strong{color:#17233a;font-size:.9rem}
.profile-popover-head small{color:#718096;font-size:.73rem;margin-top:.25rem;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-popover>a{border-radius:10px;color:#26344c;display:block;font-size:.88rem;font-weight:700;padding:10px 11px}
.profile-popover>a:hover{background:#edf4ff;color:#174ebc}
.profile-popover .profile-logout-link{border-top:1px solid #edf1f6;color:#b42318;margin-top:5px;padding-top:11px}
@media(max-width:1040px){.header-actions{align-items:stretch;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;padding-top:16px}.profile-menu{width:100%}.profile-menu summary{justify-content:center;width:100%}.profile-popover{left:0;position:relative;right:auto;top:7px;width:100%}.profile-summary-text{max-width:none}.profile-popover-head{justify-content:flex-start}}
@media(max-width:480px){.profile-menu summary{border-radius:14px}}


/* Drapeaux du sélecteur de langue : SVG intégrés{align-items:center;display:inline-flex;height:22px;justify-content:center;width:33px}
@media(max-width:480px){}


/* =========================================================
   Navigation principale et retour rapide en haut
========================================================= */

.main-nav a{
    font-weight: 900;
}

.site-scroll-top{
    align-items: center;
    background:
        linear-gradient(145deg, #3b82f6 0%, #245fdf 55%, #1747b7 100%);
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 18px;
    bottom: 24px;
    box-shadow:
        0 18px 42px rgba(37, 99, 235, .30),
        inset 0 1px 0 rgba(255, 255, 255, .28);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    height: 52px;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 24px;
    transform: translateY(16px) scale(.92);
    transition:
        opacity .2s ease,
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
    visibility: hidden;
    width: 52px;
    z-index: 1200;
}

.site-scroll-top::before{
    background: rgba(255, 255, 255, .14);
    border-radius: 13px;
    content: "";
    inset: 4px;
    position: absolute;
}

.site-scroll-top svg{
    fill: none;
    height: 24px;
    position: relative;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.4;
    width: 24px;
    z-index: 1;
}

.site-scroll-top.is-visible{
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    visibility: visible;
}

.site-scroll-top:hover{
    background:
        linear-gradient(145deg, #4b91ff 0%, #2864ed 55%, #163fa5 100%);
    box-shadow:
        0 22px 48px rgba(37, 99, 235, .38),
        inset 0 1px 0 rgba(255, 255, 255, .35);
    transform: translateY(-3px) scale(1.03);
}

.site-scroll-top:focus-visible{
    outline: 4px solid rgba(37, 99, 235, .22);
    outline-offset: 4px;
}

@media (max-width: 700px) {
    .site-scroll-top{
        border-radius: 16px;
        bottom: 16px;
        height: 48px;
        right: 16px;
        width: 48px;
    }

    .site-scroll-top svg{
        height: 22px;
        width: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-scroll-top{
        transition: none;
    }

    .site-scroll-top:hover{
        transform: none;
    }
}


/* =========================================================
   Réseaux sociaux
========================================================= */
.site-social-rail{
    background: rgba(255, 255, 255, .96);
    border: 1px solid #dbe4f0;
    border-radius: 17px;
    bottom: 92px;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .14);
    display: grid;
    gap: 3px;
    padding: 5px;
    position: fixed;
    right: 24px;
    z-index: 1100;
}

.site-social-link{
    align-items: center;
    border-radius: 12px;
    color: #334155;
    display: flex;
    height: 42px;
    justify-content: center;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    transition:
        background .16s ease,
        color .16s ease,
        transform .16s ease,
        width .18s ease;
    width: 42px;
}

.site-social-link svg,.footer-socials svg{
    fill: none;
    height: 21px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 21px;
}

.site-social-link span{
    background: #0f172a;
    border-radius: 8px;
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
    opacity: 0;
    padding: .42rem .55rem;
    pointer-events: none;
    position: absolute;
    right: calc(100% + 10px);
    transform: translateX(5px);
    transition: opacity .16s ease, transform .16s ease;
    white-space: nowrap;
}

.site-social-link:hover{
    background: #eff6ff;
    color: #1d4ed8;
    transform: translateX(-2px);
}

.site-social-link:hover span{
    opacity: 1;
    transform: translateX(0);
}

.site-social-instagram:hover{ color: #c026d3; background: #fdf4ff; }
.site-social-tiktok:hover{ color: #0f172a; background: #f1f5f9; }
.site-social-youtube:hover{ color: #dc2626; background: #fef2f2; }
.site-social-x:hover{ color: #020617; background: #f1f5f9; }
.site-social-facebook:hover{ color: #2563eb; background: #eff6ff; }

.footer-socials{
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .9rem;
}

.footer-socials a{
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 11px;
    color: inherit;
    display: flex;
    height: 38px;
    justify-content: center;
    text-decoration: none;
    transition: background .16s ease, transform .16s ease;
    width: 38px;
}

.footer-socials a:hover{
    background: rgba(255, 255, 255, .17);
    transform: translateY(-2px);
}

@media (max-width: 700px) {
    .site-social-rail{
        bottom: 78px;
        right: 16px;
    }

    .site-social-link{
        height: 38px;
        width: 38px;
    }

    .site-social-link svg{
        height: 19px;
        width: 19px;
    }

    .site-social-link span{
        display: none;
    }
}


/* Position finale de la barre sociale : à gauche et alignée sur la flèche */
.site-social-rail{
    bottom: 24px !important;
    left: 24px !important;
    right: auto !important;
}

.site-social-link svg,.footer-socials svg{
    display: block;
    fill: currentColor !important;
    flex: 0 0 auto;
    height: 21px;
    max-height: 21px;
    max-width: 21px;
    preserveAspectRatio: xMidYMid meet;
    stroke: none !important;
    width: 21px;
}

.site-social-link span{
    left: calc(100% + 10px) !important;
    right: auto !important;
    transform: translateX(-5px) !important;
}

.site-social-link:hover{
    transform: translateX(2px) !important;
}

.site-social-link:hover span{
    transform: translateX(0) !important;
}

.site-social-instagram{
    color: #c13584;
}

.site-social-tiktok{
    color: #111827;
}

.site-social-youtube{
    color: #ff0000;
}

.site-social-x{
    color: #000;
}

.site-social-facebook{
    color: #1877f2;
}

.footer-socials a:nth-child(1){ color: #e1306c; }
.footer-socials a:nth-child(2){ color: #ffffff; }
.footer-socials a:nth-child(3){ color: #ff3b3b; }
.footer-socials a:nth-child(4){ color: #ffffff; }
.footer-socials a:nth-child(5){ color: #4d8dff; }

@media (max-width: 700px) {
    .site-social-rail{
        bottom: 16px !important;
        left: 16px !important;
        right: auto !important;
    }
}

body.age-parental-locked{overflow:hidden!important}.age-parental-overlay{align-items:center;background:rgba(15,23,42,.68);backdrop-filter:blur(7px);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:22px;position:fixed;z-index:2147483647}.age-parental-dialog{background:radial-gradient(380px 180px at 0 0,rgba(56,189,248,.15),transparent 72%),#fff;border:1px solid #bfdbfe;border-radius:26px;box-shadow:0 36px 100px rgba(15,23,42,.35);max-width:650px;padding:30px;width:100%}.age-parental-icon{align-items:center;background:linear-gradient(145deg,#2563eb,#1d4ed8);border-radius:18px;color:#fff;display:flex;font-weight:950;height:58px;justify-content:center;margin-bottom:18px;width:58px}.age-parental-kicker{color:#2563eb;font-size:.76rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.age-parental-dialog h2{font-size:clamp(1.65rem,4vw,2.35rem);margin:8px 0 10px}.age-parental-dialog>p{color:#475569;line-height:1.7;margin:0 0 20px}.age-parental-form{display:grid;gap:12px}.age-parental-choice{align-items:flex-start;background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;cursor:pointer;display:flex;gap:12px;padding:15px}.age-parental-choice:has(input:checked){background:#eff6ff;border-color:#2563eb}.age-parental-choice input{accent-color:#2563eb;height:19px;margin-top:3px;width:19px}.age-parental-choice strong,.age-parental-choice small{display:block}.age-parental-choice small{color:#64748b;margin-top:3px}.age-parental-legal{align-items:flex-start;color:#475569;display:flex;font-size:.86rem;gap:9px;line-height:1.55}.age-parental-legal a{color:#1d4ed8;font-weight:800}.age-parental-actions{display:flex;flex-wrap:wrap;gap:10px}.age-parental-primary,.age-parental-secondary{align-items:center;border-radius:13px;display:inline-flex;font:inherit;font-weight:900;justify-content:center;min-height:47px;padding:11px 16px;text-decoration:none}.age-parental-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #1d4ed8;color:#fff;cursor:pointer}.age-parental-secondary{background:#fff;border:1px solid #cbd5e1;color:#334155}.age-parental-error{color:#b91c1c!important;min-height:1.3em}@media(max-width:620px){.age-parental-overlay{align-items:flex-start;padding:12px}.age-parental-dialog{padding:20px}.age-parental-actions{flex-direction:column}.age-parental-primary,.age-parental-secondary{width:100%}}

body.cookie-modal-open{overflow:hidden!important}
.cookie-consent-overlay{align-items:center;display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:2147483646}
.cookie-consent-overlay.is-open{display:flex}
.cookie-consent-backdrop{background:rgba(15,23,42,.65);backdrop-filter:blur(7px);border:0;cursor:pointer;inset:0;position:absolute;width:100%}
.cookie-consent-backdrop:disabled{cursor:default}
.cookie-consent-dialog{background:radial-gradient(430px 190px at 0% 0%,rgba(56,189,248,.16),transparent 72%),#fff;border:1px solid #bfdbfe;border-radius:26px;box-shadow:0 38px 110px rgba(15,23,42,.38);max-width:690px;padding:27px;position:relative;width:100%;z-index:1}
.cookie-consent-header{align-items:center;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr) auto}
.cookie-consent-icon,.cookie-management-status-icon{align-items:center;background:linear-gradient(145deg,#2563eb,#1d4ed8);border-radius:17px;box-shadow:0 13px 28px rgba(37,99,235,.23);color:#fff;display:flex;height:54px;justify-content:center;width:54px}
.cookie-consent-icon svg,.cookie-management-status-icon svg{fill:none;height:29px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:29px}
.cookie-consent-kicker{color:#2563eb;display:block;font-size:.73rem;font-weight:950;letter-spacing:.09em;margin-bottom:3px;text-transform:uppercase}
.cookie-consent-header h2{color:#020617;font-size:clamp(1.5rem,4vw,2rem);letter-spacing:-.035em;margin:0}
.cookie-consent-close{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:11px;color:#334155;cursor:pointer;display:flex;font-size:1.45rem;height:39px;justify-content:center;width:39px}
.cookie-consent-intro{color:#475569;line-height:1.68;margin:18px 0}
.cookie-consent-categories{display:grid;gap:10px}
.cookie-consent-category{background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;padding:15px}
.cookie-consent-category-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}
.cookie-consent-category-head strong,.cookie-consent-category-head span{display:block}
.cookie-consent-category-head strong{color:#0f172a;font-size:.96rem}
.cookie-consent-category-head>div>span{color:#64748b;font-size:.76rem;margin-top:2px}
.cookie-consent-required,.cookie-consent-optional{border-radius:999px;flex:0 0 auto;font-size:.69rem;font-weight:900;padding:.36rem .55rem}
.cookie-consent-required{background:#dcfce7;color:#166534}
.cookie-consent-optional{background:#dbeafe;color:#1d4ed8}
.cookie-consent-category p{color:#64748b;font-size:.85rem;line-height:1.55;margin:9px 0 0}
.cookie-consent-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:18px}
.cookie-choice-essential,.cookie-choice-all{align-items:center;border-radius:13px;cursor:pointer;display:flex;font:inherit;font-weight:900;justify-content:center;min-height:48px;padding:11px 15px}
.cookie-choice-essential{background:#fff;border:1px solid #bfdbfe;color:#1d4ed8}
.cookie-choice-all{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #1d4ed8;box-shadow:0 13px 27px rgba(37,99,235,.22);color:#fff}
.cookie-consent-footer{align-items:center;border-top:1px solid #e2e8f0;color:#64748b;display:flex;flex-wrap:wrap;font-size:.77rem;gap:9px 18px;justify-content:space-between;margin-top:18px;padding-top:14px}
.cookie-consent-footer a{color:#1d4ed8;font-weight:800}
.footer-cookie-settings{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left}
.footer-cookie-settings:hover{text-decoration:underline}

.cookie-management-page{background:#f8fafc;color:#0f172a;min-height:70vh;padding-bottom:80px}
.cookie-management-hero{background:radial-gradient(620px 260px at 10% 0%,rgba(56,189,248,.18),transparent 72%),linear-gradient(135deg,#eff6ff,#fff);border-bottom:1px solid #dbe4f0;padding:48px 0}
.cookie-management-hero-inner{text-align:center}
.cookie-management-hero h1{color:#020617;font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.045em;margin:16px 0 12px}
.cookie-management-hero p{color:#475569;line-height:1.7;margin:0 auto;max-width:760px}
.cookie-management-content{padding:44px 0}
.cookie-management-card{align-items:center;background:#fff;border:1px solid #bfdbfe;border-radius:24px;box-shadow:0 18px 48px rgba(15,23,42,.08);display:flex;gap:20px;justify-content:space-between;margin:0 auto 20px;max-width:920px;padding:24px}
.cookie-management-status{align-items:center;display:flex;gap:15px}
.cookie-management-status span,.cookie-management-status strong{display:block}
.cookie-management-status span{color:#64748b;font-size:.8rem;font-weight:750}
.cookie-management-status strong{color:#0f172a;font-size:1.1rem;margin-top:3px}
.cookie-management-open{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #1d4ed8;border-radius:13px;box-shadow:0 12px 26px rgba(37,99,235,.22);color:#fff;cursor:pointer;flex:0 0 auto;font:inherit;font-weight:900;min-height:47px;padding:11px 17px}
.cookie-management-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:920px}
.cookie-management-grid article{background:#fff;border:1px solid #dbe4f0;border-radius:20px;box-shadow:0 12px 30px rgba(15,23,42,.055);padding:22px}
.cookie-management-grid h2{font-size:1.2rem;margin:12px 0 8px}
.cookie-management-grid p{color:#64748b;line-height:1.65;margin:0}
.cookie-management-badge{border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:900;padding:.38rem .58rem}
.cookie-management-badge.required{background:#dcfce7;color:#166534}
.cookie-management-badge.optional{background:#dbeafe;color:#1d4ed8}
.cookie-management-links{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;margin-top:24px}
.cookie-management-links a{color:#1d4ed8;font-size:.86rem;font-weight:800}

@media(max-width:700px){
  .cookie-consent-overlay{align-items:flex-start;padding:10px}
  .cookie-consent-dialog{border-radius:21px;padding:20px}
  .cookie-consent-actions{grid-template-columns:1fr}
  .cookie-management-card{align-items:stretch;flex-direction:column}
  .cookie-management-open{width:100%}
  .cookie-management-grid{grid-template-columns:1fr}
}


.cookie-consent-internal{
    background: #ede9fe;
    border-radius: 999px;
    color: #6d28d9;
    flex: 0 0 auto;
    font-size: .69rem;
    font-weight: 900;
    padding: .36rem .55rem;
}

.cookie-audience-optout{
    align-items: flex-start;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 15px;
    cursor: pointer;
    display: flex;
    gap: 11px;
    margin-top: 16px;
    padding: 14px;
}

.cookie-audience-optout input{
    accent-color: #ea580c;
    flex: 0 0 auto;
    height: 19px;
    margin-top: 3px;
    width: 19px;
}

.cookie-audience-optout strong,.cookie-audience-optout small{
    display: block;
}

.cookie-audience-optout strong{
    color: #9a3412;
}

.cookie-audience-optout small{
    color: #7c2d12;
    line-height: 1.5;
    margin-top: 3px;
}

.cookie-consent-buttons{
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    margin-top: 12px;
}

.cookie-management-badge.internal{
    background: #ede9fe;
    color: #6d28d9;
}

.cookie-internal-commitment{
    background:
        radial-gradient(360px 160px at 0% 0%, rgba(139, 92, 246, .12), transparent 75%),
        #fff;
    border: 1px solid #c4b5fd;
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(76, 29, 149, .055);
    margin: 20px auto 0;
    max-width: 920px;
    padding: 22px;
}

.cookie-internal-commitment h2{
    color: #3b0764;
    font-size: 1.25rem;
    margin: 0 0 10px;
}

.cookie-internal-commitment p{
    color: #5b5568;
    line-height: 1.7;
    margin: 0 0 9px;
}

.cookie-internal-commitment p:last-child{
    margin-bottom: 0;
}

@media (max-width: 700px) {
    .cookie-consent-buttons{
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Présentation compacte du gestionnaire de cookies
   Barre basse sur ordinateur,tablette et mobile
========================================================= */

body.cookie-modal-open{
    overflow: auto !important;
}

.cookie-consent-overlay,.cookie-consent-overlay.is-open{
    align-items: flex-end !important;
    background: transparent !important;
    display: none;
    inset: 0 !important;
    justify-content: center !important;
    overflow: visible !important;
    padding: 0 14px 14px !important;
    pointer-events: none;
    position: fixed !important;
    z-index: 2147483646;
}

.cookie-consent-overlay.is-open{
    display: flex !important;
}

.cookie-consent-backdrop{
    background: transparent !important;
    backdrop-filter: none !important;
    border: 0 !important;
    cursor: default !important;
    display: none !important;
    inset: auto !important;
    position: static !important;
    width: auto !important;
}

.cookie-consent-dialog{
    background:
        radial-gradient(260px 120px at 0% 0%, rgba(56, 189, 248, .11), transparent 72%),
        rgba(255, 255, 255, .98) !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 55px rgba(15, 23, 42, .22) !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr) !important;
    margin: 0 auto !important;
    max-height: min(68vh, 520px) !important;
    max-width: 1050px !important;
    overflow-y: auto !important;
    padding: 16px !important;
    pointer-events: auto;
    position: relative !important;
    width: min(100%, 1050px) !important;
}

.cookie-consent-header{
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-column: 1 / -1 !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
}

.cookie-consent-icon{
    border-radius: 13px !important;
    height: 42px !important;
    width: 42px !important;
}

.cookie-consent-icon svg{
    height: 23px !important;
    width: 23px !important;
}

.cookie-consent-kicker{
    font-size: .66rem !important;
    margin-bottom: 1px !important;
}

.cookie-consent-header h2{
    font-size: 1.15rem !important;
    letter-spacing: -.02em !important;
    line-height: 1.2 !important;
}

.cookie-consent-close{
    border-radius: 9px !important;
    font-size: 1.2rem !important;
    height: 34px !important;
    width: 34px !important;
}

.cookie-consent-intro{
    align-self: start;
    color: #475569 !important;
    font-size: .82rem !important;
    grid-column: 1 / 2 !important;
    line-height: 1.52 !important;
    margin: 0 !important;
}

.cookie-consent-categories{
    display: grid !important;
    gap: 7px !important;
    grid-column: 1 / 2 !important;
}

.cookie-consent-category{
    border-radius: 12px !important;
    padding: 10px 11px !important;
}

.cookie-consent-category-head{
    gap: 8px !important;
}

.cookie-consent-category-head strong{
    font-size: .83rem !important;
}

.cookie-consent-category-head > div > span{
    font-size: .67rem !important;
}

.cookie-consent-required,.cookie-consent-optional,.cookie-consent-internal{
    font-size: .61rem !important;
    padding: .27rem .42rem !important;
}

.cookie-consent-category p{
    font-size: .73rem !important;
    line-height: 1.45 !important;
    margin-top: 6px !important;
}

.cookie-consent-actions{
    align-self: stretch;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    grid-column: 2 / 3 !important;
    grid-row: 2 / span 2 !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 12px !important;
}

.cookie-audience-optout{
    border-radius: 11px !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 10px !important;
}

.cookie-audience-optout input{
    height: 17px !important;
    margin-top: 2px !important;
    width: 17px !important;
}

.cookie-audience-optout strong{
    font-size: .76rem !important;
}

.cookie-audience-optout small{
    font-size: .68rem !important;
    line-height: 1.42 !important;
}

.cookie-consent-buttons{
    display: grid !important;
    gap: 7px !important;
    grid-template-columns: 1fr !important;
    margin-top: 0 !important;
}

.cookie-choice-essential,.cookie-choice-all{
    border-radius: 10px !important;
    font-size: .78rem !important;
    min-height: 40px !important;
    padding: 8px 10px !important;
}

.cookie-consent-footer{
    align-items: center !important;
    border-top: 1px solid #e2e8f0 !important;
    display: flex !important;
    font-size: .66rem !important;
    gap: 6px 12px !important;
    grid-column: 1 / -1 !important;
    justify-content: space-between !important;
    margin-top: 0 !important;
    padding-top: 9px !important;
}

@media (max-width: 760px) {
    .cookie-consent-overlay,.cookie-consent-overlay.is-open{
        align-items: flex-end !important;
        padding: 0 8px 8px !important;
    }

    .cookie-consent-dialog{
        border-radius: 16px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 9px !important;
        max-height: 72vh !important;
        max-width: none !important;
        padding: 13px !important;
        width: 100% !important;
    }

    .cookie-consent-header{
        flex: 0 0 auto;
    }

    .cookie-consent-icon{
        height: 38px !important;
        width: 38px !important;
    }

    .cookie-consent-header h2{
        font-size: 1rem !important;
    }

    .cookie-consent-intro{
        font-size: .75rem !important;
    }

    .cookie-consent-categories{
        gap: 6px !important;
    }

    .cookie-consent-category{
        padding: 9px !important;
    }

    .cookie-consent-category:nth-child(3){
        display: none !important;
    }

    .cookie-consent-actions{
        background: transparent !important;
        border: 0 !important;
        padding: 0 !important;
    }

    .cookie-audience-optout{
        padding: 9px !important;
    }

    .cookie-consent-footer{
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

@media (max-height: 620px) {
    .cookie-consent-dialog{
        max-height: 82vh !important;
    }

    .cookie-consent-category p{
        display: none !important;
    }
}


/* =========================================================
   Bannière cookies finale : fine,horizontale et discrète
========================================================= */
body.cookie-modal-open{
    overflow: auto !important;
}

.cookie-consent-overlay,.cookie-consent-overlay.is-open{
    align-items: flex-end !important;
    background: transparent !important;
    display: none;
    inset: 0 !important;
    justify-content: center !important;
    overflow: visible !important;
    padding: 0 10px 10px !important;
    pointer-events: none !important;
    position: fixed !important;
    z-index: 2147483646 !important;
}

.cookie-consent-overlay.is-open{
    display: flex !important;
}

.cookie-consent-dialog{
    align-items: center !important;
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid #d7e2ee !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .16) !important;
    display: flex !important;
    gap: 14px !important;
    margin: 0 auto !important;
    max-height: none !important;
    max-width: 1180px !important;
    overflow: visible !important;
    padding: 10px 12px !important;
    pointer-events: auto !important;
    width: min(100%, 1180px) !important;
}

.cookie-consent-copy{
    align-items: baseline;
    display: flex;
    flex: 1 1 auto;
    gap: 8px;
    min-width: 0;
}

.cookie-consent-copy strong{
    color: #0f172a;
    flex: 0 0 auto;
    font-size: .78rem;
    font-weight: 950;
    white-space: nowrap;
}

.cookie-consent-copy span{
    color: #64748b;
    font-size: .72rem;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cookie-consent-copy a{
    color: #2563eb;
    flex: 0 0 auto;
    font-size: .7rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
}

.cookie-consent-actions{
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cookie-consent-buttons{
    display: flex !important;
    gap: 6px !important;
    grid-template-columns: none !important;
    margin: 0 !important;
}

.cookie-choice-essential,.cookie-choice-all{
    border-radius: 9px !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    white-space: nowrap !important;
}

.cookie-choice-essential{
    background: #fff !important;
    border: 1px solid #bfd0e7 !important;
    color: #1d4ed8 !important;
    box-shadow: none !important;
}

.cookie-choice-all{
    background: #2563eb !important;
    border: 1px solid #2563eb !important;
    box-shadow: none !important;
    color: #fff !important;
}

.cookie-audience-optout{
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    color: #64748b !important;
    cursor: pointer !important;
    display: inline-flex !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

.cookie-audience-optout input{
    accent-color: #64748b !important;
    height: 13px !important;
    margin: 0 !important;
    width: 13px !important;
}

.cookie-audience-optout span{
    color: #64748b !important;
    font-size: .64rem !important;
    font-weight: 650 !important;
}

.cookie-consent-close{
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font-size: 1rem !important;
    height: 28px !important;
    justify-content: center !important;
    padding: 0 !important;
    width: 28px !important;
}

.cookie-consent-close:hover{
    background: #f1f5f9 !important;
    color: #475569 !important;
}

@media (max-width: 860px) {
    .cookie-consent-dialog{
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 8px !important;
        padding: 9px 10px !important;
    }

    .cookie-consent-copy{
        display: grid !important;
        gap: 2px !important;
        grid-template-columns: auto 1fr auto !important;
    }

    .cookie-consent-copy strong{
        font-size: .72rem !important;
    }

    .cookie-consent-copy span{
        font-size: .67rem !important;
    }

    .cookie-consent-copy a{
        font-size: .66rem !important;
    }

    .cookie-consent-actions{
        justify-content: space-between !important;
        width: 100% !important;
    }

    .cookie-audience-optout span{
        font-size: .61rem !important;
    }
}

@media (max-width: 560px) {
    .cookie-consent-overlay,.cookie-consent-overlay.is-open{
        padding: 0 6px 6px !important;
    }

    .cookie-consent-dialog{
        border-radius: 12px !important;
        gap: 7px !important;
        padding: 8px !important;
    }

    .cookie-consent-copy{
        align-items: center !important;
        display: grid !important;
        gap: 1px 6px !important;
        grid-template-columns: 1fr auto !important;
    }

    .cookie-consent-copy strong{
        font-size: .7rem !important;
        grid-column: 1 / 2 !important;
    }

    .cookie-consent-copy a{
        font-size: .63rem !important;
        grid-column: 2 / 3 !important;
        grid-row: 1 !important;
    }

    .cookie-consent-copy span{
        display: none !important;
    }

    .cookie-consent-actions{
        align-items: center !important;
        display: grid !important;
        gap: 6px !important;
        grid-template-columns: 1fr auto !important;
    }

    .cookie-audience-optout{
        grid-column: 1 / 2 !important;
        justify-self: start !important;
    }

    .cookie-consent-buttons{
        grid-column: 1 / 3 !important;
        justify-content: stretch !important;
        width: 100% !important;
    }

    .cookie-choice-essential,.cookie-choice-all{
        flex: 1 1 0 !important;
        font-size: .68rem !important;
        min-height: 32px !important;
        padding: 6px 8px !important;
    }

    .cookie-consent-close{
        grid-column: 2 / 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }
}


/* =========================================================
   Cookies : bannière initiale compacte / panneau complet à la réouverture
========================================================= */
.cookie-consent-overlay{
    display: none;
    inset: 0;
    position: fixed;
    z-index: 2147483646;
}

.cookie-consent-overlay.is-open{
    display: flex;
}

.cookie-consent-overlay.is-compact{
    align-items: flex-end;
    justify-content: center;
    padding: 0 10px 10px;
    pointer-events: none;
}

.cookie-consent-overlay.is-compact .cookie-consent-backdrop{
    display: none;
}

.cookie-consent-overlay.is-compact .cookie-consent-dialog{
    align-items: center;
    background:
        radial-gradient(180px 80px at 0 0, rgba(59,130,246,.10), transparent 72%),
        rgba(255,255,255,.98);
    border: 1px solid #cbd9ea;
    border-radius: 15px;
    box-shadow: 0 14px 38px rgba(15,23,42,.17);
    display: grid;
    gap: 9px 12px;
    grid-template-columns: auto minmax(0,1fr) auto;
    max-width: 1180px;
    padding: 10px 12px;
    pointer-events: auto;
    width: min(100%,1180px);
}

.cookie-consent-overlay.is-compact .cookie-consent-header{
    display: contents;
}

.cookie-consent-overlay.is-compact .cookie-consent-icon{
    align-items: center;
    background: linear-gradient(145deg,#2563eb,#1d4ed8);
    border-radius: 11px;
    color: #fff;
    display: flex;
    grid-column: 1;
    grid-row: 1 / span 2;
    height: 39px;
    justify-content: center;
    width: 39px;
}

.cookie-consent-overlay.is-compact .cookie-consent-icon svg{
    fill: none;
    height: 22px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 22px;
}

.cookie-consent-overlay.is-compact .cookie-consent-heading{
    align-items: baseline;
    display: flex;
    gap: 7px;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}

.cookie-consent-overlay.is-compact .cookie-consent-kicker{
    display: none;
}

.cookie-consent-overlay.is-compact h2{
    color: #0f172a;
    flex: 0 0 auto;
    font-size: .78rem;
    margin: 0;
    white-space: nowrap;
}

.cookie-consent-overlay.is-compact .cookie-consent-intro{
    color: #64748b;
    font-size: .70rem;
    grid-column: 2;
    grid-row: 2;
    line-height: 1.35;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cookie-consent-overlay.is-compact .cookie-consent-more{
    color: #2563eb;
    font-size: .68rem;
    font-weight: 850;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    text-decoration: none;
    white-space: nowrap;
}

.cookie-consent-overlay.is-compact .cookie-settings-detail,.cookie-consent-overlay.is-compact .cookie-consent-close{
    display: none !important;
}

.cookie-consent-overlay.is-compact .cookie-consent-actions{
    align-items: center;
    display: flex;
    gap: 6px;
    grid-column: 3;
    grid-row: 1 / span 2;
}

.cookie-consent-overlay.is-compact .cookie-choice-essential,.cookie-consent-overlay.is-compact .cookie-choice-all{
    border-radius: 9px;
    cursor: pointer;
    font: inherit;
    font-size: .70rem;
    font-weight: 900;
    min-height: 34px;
    padding: 7px 10px;
    white-space: nowrap;
}

.cookie-consent-overlay.is-compact .cookie-choice-essential{
    background: #fff;
    border: 1px solid #bfd0e7;
    color: #1d4ed8;
}

.cookie-consent-overlay.is-compact .cookie-choice-all{
    background: #2563eb;
    border: 1px solid #2563eb;
    color: #fff;
}

/* Grand panneau uniquement après clic sur "Gérer mes cookies" */
.cookie-consent-overlay.is-settings.is-open{
    align-items: center;
    background: rgba(15,23,42,.62);
    backdrop-filter: blur(6px);
    justify-content: center;
    overflow-y: auto;
    padding: 18px;
}

.cookie-consent-overlay.is-settings .cookie-consent-backdrop{
    background: transparent;
    border: 0;
    inset: 0;
    position: absolute;
    width: 100%;
}

.cookie-consent-overlay.is-settings .cookie-consent-dialog{
    background:
        radial-gradient(420px 190px at 0 0,rgba(56,189,248,.15),transparent 72%),
        #fff;
    border: 1px solid #bfdbfe;
    border-radius: 24px;
    box-shadow: 0 34px 100px rgba(15,23,42,.35);
    max-width: 720px;
    padding: 25px;
    position: relative;
    width: 100%;
    z-index: 1;
}

.cookie-consent-overlay.is-settings .cookie-consent-header{
    align-items: center;
    display: grid;
    gap: 13px;
    grid-template-columns: auto minmax(0,1fr) auto;
}

.cookie-consent-overlay.is-settings .cookie-consent-icon{
    align-items: center;
    background: linear-gradient(145deg,#2563eb,#1d4ed8);
    border-radius: 16px;
    color: #fff;
    display: flex;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.cookie-consent-overlay.is-settings .cookie-consent-icon svg{
    fill: none;
    height: 28px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 28px;
}

.cookie-consent-overlay.is-settings .cookie-consent-kicker{
    color: #2563eb;
    display: block;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cookie-consent-overlay.is-settings h2{
    color: #020617;
    font-size: 1.65rem;
    margin: 2px 0 0;
}

.cookie-consent-overlay.is-settings .cookie-consent-close{
    align-items: center;
    background: #f1f5f9;
    border: 0;
    border-radius: 10px;
    color: #475569;
    cursor: pointer;
    display: flex;
    font-size: 1.3rem;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.cookie-consent-overlay.is-settings .cookie-consent-intro{
    color: #475569;
    line-height: 1.6;
    margin: 17px 0 8px;
}

.cookie-consent-overlay.is-settings .cookie-consent-more{
    color: #1d4ed8;
    font-size: .8rem;
    font-weight: 850;
}

.cookie-consent-overlay.is-settings .cookie-settings-detail{
    display: block;
    margin-top: 16px;
}

.cookie-consent-overlay.is-settings .cookie-consent-categories{
    display: grid;
    gap: 9px;
}

.cookie-consent-overlay.is-settings .cookie-consent-category{
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    padding: 13px;
}

.cookie-consent-overlay.is-settings .cookie-consent-category-head{
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
}

.cookie-consent-overlay.is-settings .cookie-consent-category-head strong,.cookie-consent-overlay.is-settings .cookie-consent-category-head span{
    display: block;
}

.cookie-consent-overlay.is-settings .cookie-consent-category p{
    color: #64748b;
    font-size: .82rem;
    line-height: 1.5;
    margin: 7px 0 0;
}

.cookie-consent-overlay.is-settings .cookie-audience-optout{
    align-items: flex-start;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 13px;
    display: flex;
    gap: 10px;
    margin-top: 12px;
    padding: 12px;
}

.cookie-consent-overlay.is-settings .cookie-audience-optout input{
    accent-color: #ea580c;
    margin-top: 3px;
}

.cookie-consent-overlay.is-settings .cookie-audience-optout strong,.cookie-consent-overlay.is-settings .cookie-audience-optout small{
    display: block;
}

.cookie-consent-overlay.is-settings .cookie-audience-optout small{
    color: #7c2d12;
    line-height: 1.45;
    margin-top: 3px;
}

.cookie-consent-overlay.is-settings .cookie-consent-actions{
    display: grid;
    gap: 9px;
    grid-template-columns: 1fr 1fr;
    margin-top: 16px;
}

.cookie-consent-overlay.is-settings .cookie-choice-essential,.cookie-consent-overlay.is-settings .cookie-choice-all{
    border-radius: 12px;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    min-height: 46px;
}

.cookie-consent-overlay.is-settings .cookie-choice-essential{
    background: #fff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
}

.cookie-consent-overlay.is-settings .cookie-choice-all{
    background: linear-gradient(135deg,#2563eb,#1d4ed8);
    border: 1px solid #1d4ed8;
    color: #fff;
}

@media (max-width: 700px) {
    .cookie-consent-overlay.is-compact{
        padding: 0 6px 6px;
    }

    .cookie-consent-overlay.is-compact .cookie-consent-dialog{
        gap: 6px 8px;
        grid-template-columns: auto minmax(0,1fr);
        padding: 8px;
    }

    .cookie-consent-overlay.is-compact .cookie-consent-icon{
        grid-column: 1;
        grid-row: 1;
        height: 35px;
        width: 35px;
    }

    .cookie-consent-overlay.is-compact .cookie-consent-heading{
        grid-column: 2;
        grid-row: 1;
    }

    .cookie-consent-overlay.is-compact .cookie-consent-intro{
        display: none;
    }

    .cookie-consent-overlay.is-compact .cookie-consent-more{
        font-size: .62rem;
    }

    .cookie-consent-overlay.is-compact .cookie-consent-actions{
        display: grid;
        gap: 5px;
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .cookie-consent-overlay.is-compact .cookie-choice-essential,.cookie-consent-overlay.is-compact .cookie-choice-all{
        min-height: 31px;
        padding: 6px 7px;
        width: 100%;
    }

    .cookie-consent-overlay.is-settings.is-open{
        align-items: flex-end;
        padding: 8px;
    }

    .cookie-consent-overlay.is-settings .cookie-consent-dialog{
        border-radius: 19px;
        max-height: 86vh;
        overflow-y: auto;
        padding: 19px;
    }

    .cookie-consent-overlay.is-settings .cookie-consent-actions{
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Gestion des cookies : deux affichages distincts
========================================================= */
.cookie-ui{
    display: none;
    inset: 0;
    position: fixed;
    z-index: 2147483646;
}

.cookie-ui.is-open{
    display: flex;
}

.cookie-ui-backdrop{
    border: 0;
}

/* Première visite : bannière fine et simple */
.cookie-ui.is-first-choice{
    align-items: flex-end;
    justify-content: center;
    padding: 0 10px 10px;
    pointer-events: none;
}

.cookie-ui.is-first-choice .cookie-ui-backdrop{
    display: none;
}

.cookie-ui.is-first-choice .cookie-ui-panel{
    align-items: center;
    background:
        radial-gradient(220px 90px at 0 0, rgba(59, 130, 246, .12), transparent 74%),
        rgba(255, 255, 255, .985);
    border: 1px solid #c7d8eb;
    border-radius: 15px;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .18);
    display: grid;
    gap: 4px 12px;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    max-width: 1180px;
    padding: 10px 12px;
    pointer-events: auto;
    width: min(100%, 1180px);
}

.cookie-ui.is-first-choice .cookie-ui-header{
    display: contents;
}

.cookie-ui.is-first-choice .cookie-ui-icon{
    align-items: center;
    background: linear-gradient(145deg, #2563eb, #1d4ed8);
    border-radius: 11px;
    color: #fff;
    display: flex;
    grid-column: 1;
    grid-row: 1 / span 2;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.cookie-ui-icon svg{
    fill: none;
    height: 23px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 23px;
}

.cookie-ui.is-first-choice .cookie-ui-heading{
    align-items: baseline;
    display: flex;
    gap: 7px;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}

.cookie-ui.is-first-choice .cookie-ui-heading > span{
    display: none;
}

.cookie-ui.is-first-choice .cookie-ui-heading h2{
    color: #0f172a;
    font-size: .8rem;
    margin: 0;
    white-space: nowrap;
}

.cookie-ui.is-first-choice .cookie-ui-summary{
    color: #64748b;
    font-size: .7rem;
    grid-column: 2;
    grid-row: 2;
    line-height: 1.35;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cookie-ui.is-first-choice .cookie-ui-more{
    color: #2563eb;
    font-size: .69rem;
    font-weight: 850;
    grid-column: 3;
    grid-row: 1 / span 2;
    text-decoration: none;
    white-space: nowrap;
}

.cookie-ui.is-first-choice .cookie-ui-details,.cookie-ui.is-first-choice .cookie-ui-close{
    display: none !important;
}

.cookie-ui.is-first-choice .cookie-ui-actions{
    align-items: center;
    display: flex;
    gap: 6px;
    grid-column: 4;
    grid-row: 1 / span 2;
}

.cookie-ui-essential,.cookie-ui-all{
    border-radius: 9px;
    cursor: pointer;
    font: inherit;
    font-size: .7rem;
    font-weight: 900;
    min-height: 34px;
    padding: 7px 10px;
    white-space: nowrap;
}

.cookie-ui-essential{
    background: #fff;
    border: 1px solid #bfd0e7;
    color: #1d4ed8;
}

.cookie-ui-all{
    background: #2563eb;
    border: 1px solid #2563eb;
    color: #fff;
}

/* Réouverture : grand gestionnaire complet */
body.cookie-settings-open{
    overflow: hidden !important;
}

.cookie-ui.is-settings-open{
    align-items: center;
    background: rgba(15, 23, 42, .64);
    backdrop-filter: blur(7px);
    justify-content: center;
    overflow-y: auto;
    padding: 18px;
}

.cookie-ui.is-settings-open .cookie-ui-backdrop{
    background: transparent;
    cursor: pointer;
    inset: 0;
    position: absolute;
    width: 100%;
}

.cookie-ui.is-settings-open .cookie-ui-panel{
    background:
        radial-gradient(430px 190px at 0 0, rgba(56, 189, 248, .16), transparent 72%),
        #fff;
    border: 1px solid #bfdbfe;
    border-radius: 25px;
    box-shadow: 0 36px 110px rgba(15, 23, 42, .38);
    max-width: 760px;
    padding: 26px;
    position: relative;
    width: 100%;
    z-index: 1;
}

.cookie-ui.is-settings-open .cookie-ui-header{
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.cookie-ui.is-settings-open .cookie-ui-icon{
    align-items: center;
    background: linear-gradient(145deg, #2563eb, #1d4ed8);
    border-radius: 16px;
    color: #fff;
    display: flex;
    height: 54px;
    justify-content: center;
    width: 54px;
}

.cookie-ui.is-settings-open .cookie-ui-heading > span{
    color: #2563eb;
    display: block;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cookie-ui.is-settings-open .cookie-ui-heading h2{
    color: #020617;
    font-size: 1.7rem;
    letter-spacing: -.03em;
    margin: 3px 0 0;
}

.cookie-ui-close{
    align-items: center;
    background: #f1f5f9;
    border: 0;
    border-radius: 10px;
    color: #475569;
    cursor: pointer;
    display: flex;
    font-size: 1.35rem;
    height: 39px;
    justify-content: center;
    width: 39px;
}

.cookie-ui.is-settings-open .cookie-ui-summary{
    color: #475569;
    line-height: 1.65;
    margin: 17px 0 7px;
}

.cookie-ui.is-settings-open .cookie-ui-more{
    color: #1d4ed8;
    font-size: .82rem;
    font-weight: 850;
}

.cookie-ui.is-settings-open .cookie-ui-details{
    display: grid;
    gap: 9px;
    margin-top: 17px;
}

.cookie-ui.is-settings-open .cookie-ui-details article{
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    border-radius: 15px;
    display: grid;
    gap: 4px 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 13px;
}

.cookie-ui.is-settings-open .cookie-ui-details article strong,.cookie-ui.is-settings-open .cookie-ui-details article small{
    display: block;
}

.cookie-ui.is-settings-open .cookie-ui-details article strong{
    color: #0f172a;
}

.cookie-ui.is-settings-open .cookie-ui-details article small{
    color: #64748b;
    font-size: .73rem;
    margin-top: 2px;
}

.cookie-ui.is-settings-open .cookie-ui-details article > span{
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 900;
    padding: .34rem .52rem;
}

.cookie-ui.is-settings-open .cookie-ui-details article > span.is-required{
    background: #dcfce7;
    color: #166534;
}

.cookie-ui.is-settings-open .cookie-ui-details article > span.is-internal{
    background: #ede9fe;
    color: #6d28d9;
}

.cookie-ui.is-settings-open .cookie-ui-details article > span.is-optional{
    background: #dbeafe;
    color: #1d4ed8;
}

.cookie-ui.is-settings-open .cookie-ui-details article p{
    color: #64748b;
    font-size: .82rem;
    grid-column: 1 / -1;
    line-height: 1.5;
    margin: 4px 0 0;
}

.cookie-ui-optout{
    align-items: flex-start;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 14px;
    display: flex;
    gap: 10px;
    margin-top: 3px;
    padding: 12px;
}

.cookie-ui-optout input{
    accent-color: #ea580c;
    margin-top: 3px;
}

.cookie-ui-optout strong,.cookie-ui-optout small{
    display: block;
}

.cookie-ui-optout strong{
    color: #9a3412;
}

.cookie-ui-optout small{
    color: #7c2d12;
    line-height: 1.45;
    margin-top: 3px;
}

.cookie-ui.is-settings-open .cookie-ui-actions{
    display: grid;
    gap: 9px;
    grid-template-columns: 1fr 1fr;
    margin-top: 17px;
}

.cookie-ui.is-settings-open .cookie-ui-essential,.cookie-ui.is-settings-open .cookie-ui-all{
    border-radius: 12px;
    font-size: .88rem;
    min-height: 47px;
}

/* Masqué tant que le bouton "Gérer mes cookies" n'est pas utilisé */
.cookie-ui.is-settings-ready{
    display: none !important;
}

@media (max-width: 760px) {
    .cookie-ui.is-first-choice{
        padding: 0 6px 6px;
    }

    .cookie-ui.is-first-choice .cookie-ui-panel{
        gap: 5px 8px;
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding: 8px;
    }

    .cookie-ui.is-first-choice .cookie-ui-icon{
        height: 36px;
        width: 36px;
    }

    .cookie-ui.is-first-choice .cookie-ui-heading{
        grid-column: 2;
        grid-row: 1;
    }

    .cookie-ui.is-first-choice .cookie-ui-summary{
        display: none;
    }

    .cookie-ui.is-first-choice .cookie-ui-more{
        font-size: .63rem;
        grid-column: 3;
        grid-row: 1;
    }

    .cookie-ui.is-first-choice .cookie-ui-actions{
        display: grid;
        gap: 5px;
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .cookie-ui.is-first-choice .cookie-ui-essential,.cookie-ui.is-first-choice .cookie-ui-all{
        min-height: 31px;
        padding: 6px 7px;
        width: 100%;
    }

    .cookie-ui.is-settings-open{
        align-items: flex-end;
        padding: 8px;
    }

    .cookie-ui.is-settings-open .cookie-ui-panel{
        border-radius: 20px;
        max-height: 88vh;
        overflow-y: auto;
        padding: 19px;
    }

    .cookie-ui.is-settings-open .cookie-ui-actions{
        grid-template-columns: 1fr;
    }
}

.site-header + .announcement-stack{
    margin-bottom: 0 !important;
}

.announcement-stack + main,.announcement-stack + .page-shell{
    margin-top: 0 !important;
}

.page-hero{
    margin-top: 0 !important;
}


/* Le bandeau IA reste dans le flux{
    clear: both !important;
    inset: auto !important;
    margin: 0 !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
}

html[lang="ar"] body{
    text-align: right;
}

.home-section-youth-articles{background:linear-gradient(180deg,#ecfdf5,#f8fafc);border-bottom:1px solid #bbf7d0;border-top:1px solid #bbf7d0}
.home-section-eyebrow{color:#15803d;font-size:.74rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.home-youth-article-card{border-color:#bbf7d0}
.home-tag-youth{background:#dcfce7!important;color:#166534!important}
.home-youth-article-card .button{background:#16a34a;border-color:#16a34a}
.home-youth-article-card small{color:#64748b;display:block;margin:-4px 0 13px}

.account-avatar img{height:100%;object-fit:cover;width:100%;border-radius:inherit}


/* Barre sociale : disparaît entièrement hors écran quand le footer approche,
   puis revient à sa position normale dès que l'utilisateur remonte. */
.svsanst-social-sidebar-observed{
    opacity:1;
    transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .22s ease,box-shadow .25s ease!important;
    will-change:transform,opacity;
}
.svsanst-social-sidebar-observed.is-hidden-for-footer{
    opacity:0!important;
    pointer-events:none!important;
    transform:translateX(calc(-100% - 48px))!important;
    box-shadow:none!important;
}
@media(max-width:700px){
    .svsanst-social-sidebar-observed.is-hidden-for-footer{
        transform:translateX(calc(-100% - 40px))!important;
    }
}
@media(prefers-reduced-motion:reduce){
    .svsanst-social-sidebar-observed{transition:none!important}
}


/* v77 — photo de profil et drapeaux sans marges internes */
.profile-avatar{overflow:hidden;padding:0}
.profile-avatar img{display:block;height:100%;object-fit:cover;width:100%}
.profile-avatar-emoji{align-items:center;display:flex;font-size:1.15rem;height:100%;justify-content:center;line-height:1;width:100%}
.profile-avatar-large .profile-avatar-emoji{font-size:1.45rem}


/* Variantes enrichies des bandeaux d'annonce v80 */
.announcement{border-bottom-width:1px;border-bottom-style:solid}
.announcement-blue{background:#eef6ff;border-bottom-color:#cbdcf8;color:#174294}
.announcement-yellow{background:#fff9d9;border-bottom-color:#f1d86c;color:#6b5200}
.announcement-orange{background:#fff0df;border-bottom-color:#f5b76a;color:#873c00}
.announcement-red{background:#fff0f1;border-bottom-color:#f0a2aa;color:#9c1827}
.announcement-blue .announcement-icon{background:#d8eaff;color:#174294}
.announcement-yellow .announcement-icon{background:#ffe98c;color:#6b5200}
.announcement-orange .announcement-icon{background:#ffd3a0;color:#873c00}
.announcement-red .announcement-icon{background:#ffc9cf;color:#9c1827}
.announcement .announcement-icon{border-radius:50%;display:grid;flex:0 0 30px;font-size:1rem;font-weight:950;height:30px;line-height:1;place-items:center;width:30px}
.announcement-yellow button,.announcement-orange button,.announcement-red button,.announcement-blue button{background:rgba(255,255,255,.82);color:inherit}
.profile-popover .profile-message-link{align-items:center;display:flex;gap:.55rem}
.profile-unread-badge{align-items:center;background:#d92d20;border:2px solid #fff;border-radius:999px;color:#fff;display:inline-flex;font-size:.65rem;font-weight:900;justify-content:center;margin-left:auto;min-height:22px;min-width:22px;padding:0 6px}

/* v84 — pile verticale des bannières et annonces modales du site */
.announcement-stack{
    position:sticky;
    top:72px;
    z-index:49;
    display:flex;
    flex-direction:column;
    width:100%;
    box-shadow:0 6px 16px rgba(15,23,42,.08);
}
.announcement-stack .announcement{
    position:static !important;
    top:auto !important;
    z-index:auto;
    width:100%;
    box-shadow:none;
}
.announcement-stack .announcement + .announcement{border-top:1px solid rgba(15,23,42,.08)}
@media(max-width:900px){.announcement-stack{top:68px}}
@media(max-width:600px){.announcement-stack{top:64px}}

.site-announcement-modal[hidden]{display:none!important}
.site-announcement-modal{
    position:fixed;
    inset:0;
    z-index:10000;
    display:grid;
    place-items:center;
    padding:20px;
}
.site-announcement-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(2,9,26,.72);
    backdrop-filter:blur(4px);
}
.site-announcement-modal-card{
    position:relative;
    z-index:1;
    width:min(560px,100%);
    padding:34px;
    border-radius:24px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 30px 80px rgba(2,9,26,.32);
    text-align:center;
}
.site-announcement-modal-card h2{margin:14px 0 10px;font-size:clamp(1.55rem,4vw,2.2rem)}
.site-announcement-modal-card p{margin:0 0 24px;color:var(--muted);line-height:1.65}
.site-announcement-modal-icon{
    width:66px;height:66px;margin:auto;border-radius:50%;display:grid;place-items:center;
    font-size:2rem;font-weight:900;background:#d8eaff;color:#174294;
}
.site-announcement-modal-close{
    position:absolute;right:14px;top:14px;width:34px;height:34px;border:0;border-radius:50%;
    background:#f3f6fb;color:#24324a;font-size:1.35rem;cursor:pointer;
}
.site-announcement-modal-yellow .site-announcement-modal-icon{background:#ffe98c;color:#6b5200}
.site-announcement-modal-orange .site-announcement-modal-icon{background:#ffd3a0;color:#873c00}
.site-announcement-modal-red .site-announcement-modal-icon{background:#ffc9cf;color:#9c1827}
body.site-announcement-modal-open{overflow:hidden}


/* Pagination publique centralisée */
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;margin:2rem auto 1rem;padding:.5rem}.pagination-link{display:inline-flex;min-width:2.65rem;min-height:2.65rem;align-items:center;justify-content:center;padding:.55rem .85rem;border:1px solid #d9e1ee;border-radius:.8rem;background:#fff;color:#17375f;text-decoration:none;font-weight:700}.pagination-link:hover,.pagination-link:focus-visible{border-color:#2864ed;box-shadow:0 0 0 3px rgba(40,100,237,.14)}.pagination-link.is-current{background:#2864ed;color:#fff;border-color:#2864ed}.pagination-prev,.pagination-next{min-width:auto}@media(max-width:560px){.pagination-prev,.pagination-next{width:100%}}
/* Parent impersonation: bandeau global sous le header,impossible à masquer autrement qu'en quittant la session. */
.parent-impersonation-banner{background:linear-gradient(90deg,#eaf2ff 0%,#eef8ff 58%,#e9f8f2 100%);border-bottom:1px solid #c8daf5;box-shadow:0 7px 20px rgba(40,100,237,.08);position:sticky;top:76px;z-index:995}.parent-impersonation-banner-inner{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto;max-width:1500px;min-height:60px;padding:9px 28px}.parent-impersonation-copy{align-items:center;display:flex;flex-wrap:wrap;gap:7px 12px;color:#344054}.parent-impersonation-copy strong{color:#123ea8;font-size:.94rem}.parent-impersonation-copy>span:last-child{color:#5c6b82;font-size:.79rem}.parent-impersonation-badge{background:#2864ed;border-radius:999px;color:#fff!important;font-size:.68rem!important;font-weight:950;letter-spacing:.06em;padding:5px 8px;text-transform:uppercase}.parent-impersonation-banner form{margin:0}.parent-impersonation-banner button{background:#fff;border:1px solid #9ebcf0;border-radius:11px;color:#174ebc;cursor:pointer;font:inherit;font-size:.82rem;font-weight:900;padding:9px 13px;white-space:nowrap}.parent-impersonation-banner button:hover{background:#f7faff}.parent-impersonation-banner+.announcement-stack{top:136px}@media(max-width:1040px){.parent-impersonation-banner{top:68px}.parent-impersonation-banner-inner{padding-inline:18px}}@media(max-width:650px){.parent-impersonation-banner-inner{align-items:flex-start;flex-direction:column;gap:8px;padding:10px 14px}.parent-impersonation-banner form,.parent-impersonation-banner button{width:100%}}

/* v98.6 — retour visuel pour les images de contenu indisponibles. */
.svs-image-unavailable{display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;width:100%;min-height:120px;padding:18px;border:1px dashed #c7d3e6;border-radius:12px;background:#f6f8fc;color:#53647e;font-size:.9rem;line-height:1.45}
.svs-image-unavailable strong{display:block;color:#31445f;margin-bottom:3px}.svs-image-unavailable.is-compact{min-height:72px;padding:10px;font-size:.78rem}

/* Header guest actions: account creation is intentionally mobile-only. */
.header-signup-mobile{display:none}
@media(max-width:1040px){
  .header-signup-mobile{display:inline-flex;width:100%}
}

.profile-menu summary{position:relative}.profile-unread-badge{position:absolute;top:-6px;right:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e53935;color:#fff;border:2px solid #fff;font-size:11px;font-weight:800;line-height:16px;text-align:center;box-shadow:0 2px 7px rgba(0,0,0,.18);z-index:2}

/* === V4.30 — barre réseaux mobile horizontale en bas d'écran === */
@media (max-width: 700px){
    .site-social-rail{
        align-items:center!important;
        background:rgba(255,255,255,.97)!important;
        border:1px solid #dbe4f0!important;
        border-radius:16px!important;
        bottom:max(10px, env(safe-area-inset-bottom))!important;
        box-shadow:0 10px 30px rgba(15,23,42,.16)!important;
        display:flex!important;
        gap:3px!important;
        justify-content:center!important;
        left:50%!important;
        padding:5px!important;
        right:auto!important;
        top:auto!important;
        transform:translateX(-50%)!important;
        width:auto!important;
        max-width:calc(100vw - 24px)!important;
    }
    .site-social-link{
        flex:0 0 38px!important;
        height:38px!important;
        width:38px!important;
    }
    .site-social-link:hover{
        transform:none!important;
    }
    .site-social-link span{display:none!important}
    .svsanst-social-sidebar-observed.is-hidden-for-footer{
        opacity:0!important;
        pointer-events:none!important;
        transform:translate(-50%, calc(100% + 30px))!important;
    }
}


/* === V4.31 — mobile : suppression de la barre réseaux flottante === */
@media (max-width: 780px){
  .site-social-rail,
  .svsanst-social-sidebar-observed{display:none!important;}
}
