
/* __DESIGN_SITE__ */
/* socle filtres (ajouté par design_site.py) */
html:not(#_) .ds-hide{ display: none !important; }
html:not(#_) body[data-ds-filtres="aucun"] .filters{ display: none !important; }
html:not(#_) body[data-ds-filtres="sans-genre"] .filters .filter-btn[data-filter="type"]{ display: none !important; }
html:not(#_) body[data-ds-filtres="sans-age"] .filters .filter-btn[data-filter="age"]{ display: none !important; }
html:not(#_) body[data-ds-filtres="ligne"] .filters{ display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; gap: 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
html:not(#_) body[data-ds-filtres="ligne"] .filters::-webkit-scrollbar{ display: none; }
html:not(#_) body[data-ds-filtres="ligne"] .filters .filter-btn{ flex: 0 0 auto; white-space: nowrap; }
html:not(#_) .filters select.ds-fsel{ appearance: none; -webkit-appearance: none; font: inherit; cursor: pointer; padding-right: 2.1em; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='currentColor' stroke-width='2'/></svg>"); background-repeat: no-repeat; background-position: right .7em center; background-size: 12px 8px; }
html:not(#_) .filters .ds-fgroup{ display: contents; }
/* Next : barre React (div.shadow-sm > div.scrollbar-hide > .form-group > select ×2 + bouton Recherche) */
html:not(#_) body[data-ds-filtres="aucun"] div.rounded-lg.shadow-sm:has(> div.scrollbar-hide > div.form-group > select){ display: none !important; }
html:not(#_) body[data-ds-filtres="sans-genre"] div.scrollbar-hide > div.form-group:first-child:has(> select){ display: none !important; }
html:not(#_) body[data-ds-filtres="sans-tri"] div.scrollbar-hide > div.form-group:nth-child(2):has(> select){ display: none !important; }
html:not(#_) body[data-ds-filtres="sans-recherche"] div.scrollbar-hide > div.relative.flex-shrink-0:has(> button){ display: none !important; }
/* Next `chips` : pastilles d'âge construites par design_filtres.js (le select natif est caché) */
html:not(#_) .ds-fnext{ display: flex; gap: 8px; flex-wrap: nowrap; }
html:not(#_) .ds-fnext .ds-fchip{ flex: 0 0 auto; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--secondary-color, #999); background: transparent; color: inherit; font: inherit; font-size: .85rem; cursor: pointer; white-space: nowrap; }
html:not(#_) .ds-fnext .ds-fchip.active{ background: var(--secondary-color, #18181b); color: #fff; border-color: transparent; }

/* socle menu mobile Astro (ajouté par design_site.py) */
/* 19/09 : la croix du tiroir (label x injecte dans .sidebar-inner) n'etait cachee QUE sous 768 px -> visible en haut
   de la sidebar desktop (3 agents du lot 22 l'ont masquee a la main). Cachee hors tiroir, toutes largeurs. */
html:not(#_) .ds-menu-close{ display: none; }
@media (max-width: 768px) {
  html:not(#_) .ds-burger{ display: flex; flex-direction: column; justify-content: center; gap: 4px; width: 40px; height: 34px; padding: 0 9px; margin-right: 8px; cursor: pointer; border-radius: 8px; color: inherit; flex-shrink: 0; }
  html:not(#_) .ds-burger span{ display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
  html:not(#_) body:has(#ds-menu:checked) .ds-burger span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
  html:not(#_) body:has(#ds-menu:checked) .ds-burger span:nth-child(2){ opacity: 0; }
  html:not(#_) body:has(#ds-menu:checked) .ds-burger span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }
  html:not(#_) .ds-menu-overlay{ display: none; position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 1290; }
  html:not(#_) body:has(#ds-menu:checked) .ds-menu-overlay{ display: block; }
  html:not(#_) .ds-menu-close{ display: none; }
  html:not(#_) body:has(#ds-menu:checked) aside.sidebar{ display: block !important; position: fixed !important; top: 0 !important; left: 0; bottom: 0; height: auto !important; width: min(86vw, 340px) !important; max-width: none; margin: 0 !important; padding: 12px; padding-top: calc(12px + env(safe-area-inset-top, 0px)); z-index: 1300; overflow-y: auto !important; max-height: 100vh; max-height: 100dvh; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; border-radius: 0; box-shadow: 8px 0 30px rgba(0,0,0,.35); }
  html:not(#_) body:has(#ds-menu:checked) .ds-menu-close{ display: flex; align-items: center; justify-content: center; position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border-radius: 50%; font-size: 26px; line-height: 1; cursor: pointer; z-index: 2; }
  html:not(#_) body:has(#ds-menu:checked) aside.sidebar .sidebar-inner{ height: auto; min-height: 100%; }
  html:not(#_) body:has(#ds-menu:checked){ overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) { html:not(#_) .ds-burger span{ transition: none; } }

/* trans-hookups.us — registre « DRIVE-IN AU CRÉPUSCULE » (lot US, 12/10) — Astro, national United States, cta-faq, filtres sans-genre.
   Accent = framboise du favicon #c2185b (texte sur crème #a8154f) ; neutre chaud = crème « popcorn » #fbf4ea / sable #f3e6d4 ;
   encre de crépuscule #261a2e (secondaire #67566c). Le ciel (encre → prune → framboise) n'est fait QUE de l'encre et de l'accent.
   Formes signature : ÉCRAN (panneau clair cadré : logo, CTA, chiffres de l'accueil, marque du pied de page),
   AMPOULES DE MARQUISE (rangées de points lumineux : sous le logo, haut du CTA, titres, barre mobile, pied de page),
   BILLET À ENCOCHES (badge d'âge, badge du hero, badges de confiance). Pilules pour tout ce qui se clique.
   Composition : sidebar crème, logo centré dans un ciel avec écran + lune, actions en 2×2 SOUS le logo ; titres centrés ;
   hero de l'accueil en une colonne centrée + bande de ciel aux trois écrans ; footer en deux blocs asymétriques. */

html:not(#_){--primary:#c2185b;--secondary:#5c1f55;
--bg:#fbf4ea;--bg-alt:#f3e6d4;--bg-card:#fffdf9;--text:#261a2e;--text-muted:#67566c;--border:#e7d6c4;
--radius:22px;--radius-sm:14px;--shadow:0 6px 18px rgba(92,31,85,.07);--shadow-lg:0 12px 30px rgba(92,31,85,.08);
--dk-ciel:radial-gradient(90% 70% at 50% 118%,rgba(255,227,166,.30),rgba(255,227,166,0) 62%),linear-gradient(180deg,#2b1a3a 0%,#4d1d4c 45%,#8a1c58 82%,#b3195b 100%);
--dk-acc:linear-gradient(180deg,#cc2264 0%,#c2185b 55%,#ad1652 100%);
--dk-bulbes:radial-gradient(circle,#ffe3a6 0 2.4px,rgba(255,227,166,.32) 3.2px,rgba(255,227,166,0) 4.4px);
--dk-points:radial-gradient(circle,#c2185b 0 2px,rgba(194,24,91,0) 2.6px);
--dk-titre:"Avenir Next","Century Gothic",Futura,"Trebuchet MS",system-ui,sans-serif;
--dk-ombre:0 12px 30px rgba(92,31,85,.10);--dk-ombre-f:0 22px 48px rgba(92,31,85,.18);}
html:not(#_) [style*="--secondary"]{--secondary:#5c1f55 !important;}
html:not(#_) body{background:#fbf4ea;color:#261a2e;}
html:not(#_) a{color:#a8154f;}
html:not(#_) .text-muted{color:#67566c;}
@keyframes dk-lueur{0%,100%{opacity:.75;}50%{opacity:1;}}
@keyframes dk-monte{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---------- 1) Sidebar desktop : panneau crème, ciel du drive-in en tête (lune + écran + ampoules), actions 2×2 dessous ---------- */
html:not(#_) .sidebar{scrollbar-color:#dcc6b3 transparent;}
html:not(#_) .sidebar-inner, html:not(#_) .sb-logo, html:not(#_) .sb-link, html:not(#_) .sb-map-quick-link, html:not(#_) .sb-silo-region, html:not(#_) .sb-top-item, html:not(#_) .sb-silo-ville{box-sizing:border-box;}
html:not(#_) .sidebar-inner{background:#fbf4ea;border:1px solid #e7d6c4;border-radius:26px;box-shadow:var(--dk-ombre);padding:10px 10px 18px;scrollbar-width:thin;}
html:not(#_) .sb-logo{position:relative;flex-direction:column;align-items:center;gap:0;padding:44px 14px 34px;margin:0 0 14px;border-radius:20px 20px 30px 30px;background:var(--dk-ciel);box-shadow:inset 0 -10px 24px rgba(255,227,166,.10),0 10px 22px rgba(43,26,58,.22);}
html:not(#_) .sb-logo::after{content:"";position:absolute;left:16px;right:16px;bottom:10px;height:10px;background:var(--dk-bulbes) 0 50%/15px 10px repeat-x;animation:dk-lueur 3.2s ease-in-out infinite;}
html:not(#_) .sb-logo-dot{position:absolute;top:12px;right:16px;width:26px;height:26px;border-radius:50%;background:#fff3df;box-shadow:0 0 0 5px rgba(255,227,166,.14),0 0 20px rgba(255,227,166,.6);}
html:not(#_) .sb-logo-dot svg{color:#c2185b;width:14px;height:14px;}
html:not(#_) .sb-logo-text{position:relative;display:block;width:100%;white-space:normal;overflow:visible;text-overflow:clip;text-align:center;background:#fffaf2;color:#261a2e;font-family:var(--dk-titre);font-weight:700;font-size:1.08rem;letter-spacing:.02em;line-height:1.2;padding:15px 10px;border-radius:6px;box-shadow:0 0 0 3px rgba(43,26,58,.55),0 0 26px rgba(255,227,166,.55);transition:box-shadow .25s;}
html:not(#_) .sb-logo-text::after{content:"";position:absolute;left:24%;right:24%;top:100%;height:12px;background:linear-gradient(#e9cfb6,#e9cfb6) 0 0/3px 100% no-repeat,linear-gradient(#e9cfb6,#e9cfb6) 100% 0/3px 100% no-repeat;opacity:.75;}
html:not(#_) .sb-logo:hover .sb-logo-text{box-shadow:0 0 0 3px rgba(43,26,58,.55),0 0 36px rgba(255,227,166,.85);}
html:not(#_) .sb-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 2px 14px;}
html:not(#_) .sb-link{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:62px;padding:9px 6px;border-radius:16px;background:#fffdf9;border:1px solid #e7d6c4;color:#261a2e;font-size:.8rem;font-weight:600;text-align:center;white-space:normal;box-shadow:0 4px 10px rgba(92,31,85,.05);transition:background-color .15s,color .15s,transform .15s,box-shadow .15s;}
html:not(#_) .sb-link .sb-ico{color:#a8154f;}
html:not(#_) .sb-link:hover{background:#fff0f4;color:#a8154f;transform:translateY(-1px);}
html:not(#_) .sb-link.active{background:#fffdf9;color:#a8154f;box-shadow:inset 0 0 0 2px #c2185b,0 4px 10px rgba(194,24,91,.10);font-weight:700;}
html:not(#_) .sb-link[href="/register"]{background:var(--dk-acc);border-color:transparent;color:#fff;font-weight:700;box-shadow:0 8px 18px rgba(194,24,91,.32);}
html:not(#_) .sb-link[href="/register"] .sb-ico{color:#fff;}
html:not(#_) .sb-link[href="/register"]:hover{color:#fff;box-shadow:0 12px 24px rgba(194,24,91,.40);}
html:not(#_) .sb-section{border-top:0;margin:4px 0 0;padding-top:16px;background:var(--dk-points) 6px 0/13px 6px repeat-x;}
html:not(#_) .sb-section-title{justify-content:center;color:#67566c;font-size:.68rem;letter-spacing:.14em;padding:8px 10px 6px;}
html:not(#_) .sb-section-title .sb-ico{color:#c2185b;}
html:not(#_) .sb-map-quick-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;padding:8px 12px;margin:0 0 6px;background:#fffdf9;border:1px solid #e7d6c4;border-radius:999px;color:#a8154f;font-weight:700;font-size:.84rem;text-decoration:none;}
html:not(#_) .sb-map-quick-link:hover{background:#fff0f4;}
html:not(#_) .sb-silo-region{padding:8px 14px;border-radius:999px;color:#261a2e;font-weight:700;font-size:.86rem;}
html:not(#_) .sb-silo-region:hover{background:#fffdf9;color:#a8154f;}
html:not(#_) .sb-silo-villes{margin:4px 6px 4px 14px;padding-left:8px;border-left:2px dotted #e2b9c9;}
html:not(#_) .sb-silo-ville{color:#67566c;font-size:.8rem;padding:4px 10px;border-radius:999px;}
html:not(#_) .sb-silo-ville:hover{background:#fffdf9;color:#a8154f;}
html:not(#_) .sb-silo-more{color:#a8154f;font-weight:700;}
html:not(#_) .sb-top-item{color:#261a2e;border-radius:999px;padding:6px 14px;font-size:.82rem;}
html:not(#_) .sb-top-item .sb-ico{color:#c2185b;}
html:not(#_) .sb-top-item:hover{background:#fffdf9;color:#a8154f;}

/* ---------- 2) Barre mobile : bande de ciel, marque au centre, rangée d'ampoules, bouton en écran clair ---------- */
@media (max-width:768px){
  html:not(#_) body.has-mobile-guest-top{padding-top:calc(158px + env(safe-area-inset-top,0px));}
  html:not(#_) .mobile-guest-top{background:var(--dk-ciel);color:#fff;border-radius:0 0 24px 24px;box-shadow:0 10px 26px rgba(38,26,46,.32);}
  html:not(#_) .mobile-guest-head{height:50px;padding:0 .75rem;border-bottom:0;gap:8px;}
  html:not(#_) .mobile-guest-brand{flex:1 1 auto;min-width:0;max-width:none;text-align:center;color:#fff !important;font-family:var(--dk-titre);font-weight:700;font-size:1.1rem;letter-spacing:.03em;}
  html:not(#_) .mobile-guest-login{flex:0 0 auto;min-width:48px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;color:#fff !important;border:1.5px solid rgba(255,255,255,.62);border-radius:999px;font-size:.8rem;background:rgba(255,250,242,.08);}
  html:not(#_) .mobile-guest-cta{padding:16px .85rem .8rem;background:var(--dk-bulbes) 8px 2px/15px 10px repeat-x;}
  html:not(#_) .mobile-guest-cta-row{margin-bottom:.55rem;}
  html:not(#_) .mobile-guest-cta-offer{color:#f6dce8;}
  html:not(#_) .mobile-guest-cta-kw{color:#fff;font-family:var(--dk-titre);}
  html:not(#_) .mobile-guest-timer-label{color:#f6dce8;}
  html:not(#_) .mobile-guest-timer{color:#ffe3a6;}
  html:not(#_) .mobile-guest-cta-btn{display:flex;align-items:center;justify-content:center;min-height:46px;background:#fffaf2;color:#a3154f !important;border:0;border-radius:999px;font-family:var(--dk-titre);font-size:.95rem;font-weight:700;box-shadow:0 0 0 3px rgba(255,227,166,.28),0 8px 18px rgba(0,0,0,.25);}
}
html:not(#_) .bottom-bar{background:#fbf4ea;border-top:1px solid #e7d6c4;box-shadow:0 -8px 22px rgba(92,31,85,.10);}
html:not(#_) .btab{color:#67566c;border-radius:999px;padding:5px 12px;}
html:not(#_) .btab:hover{color:#a8154f;}
html:not(#_) .btab.active{color:#fff;background:var(--dk-acc);box-shadow:0 0 12px rgba(194,24,91,.45);}
html:not(#_) .btab-lbl{font-size:.62rem;font-weight:700;color:inherit;}

/* ---------- 3) Footer : deux blocs asymétriques — l'écran sous le ciel (marque) + carte crème des liens ---------- */
html:not(#_) .footer-v1{position:relative;background:#f3e6d4;color:#261a2e;padding:3.4rem 0 1.6rem;margin-top:3.5rem;}
html:not(#_) .footer-v1::before{content:"";position:absolute;left:0;right:0;top:12px;height:8px;background:var(--dk-points) 0 50%/18px 8px repeat-x;opacity:.5;}
html:not(#_) .footer-grid{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:0;margin-bottom:1.4rem;align-items:stretch;}
html:not(#_) .footer-col{box-sizing:border-box;padding:26px 20px;background:#fffaf2;border-top:1px solid #e7d6c4;border-bottom:1px solid #e7d6c4;}
html:not(#_) .footer-col:nth-child(2){border-left:1px solid #e7d6c4;border-radius:22px 0 0 22px;}
html:not(#_) .footer-col:nth-child(4){border-right:1px solid #e7d6c4;border-radius:0 22px 22px 0;}
html:not(#_) .footer-col:last-child:nth-child(5){display:none;}
html:not(#_) .footer-col h4{color:#261a2e;font-family:var(--dk-titre);font-size:.95rem;letter-spacing:.03em;margin-bottom:.8rem;}
html:not(#_) .footer-col ul{margin:0;padding:0;}
html:not(#_) .footer-col li{margin-bottom:.15rem;}
html:not(#_) .footer-col a{display:inline-block;padding:4px 0;color:#5b4a5f;font-size:.88rem;text-decoration:none;transition:color .15s;}
html:not(#_) .footer-col a:hover{color:#a8154f;}
html:not(#_) .footer-col:first-child{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin-right:22px;padding:34px 22px 44px;background:var(--dk-ciel);border:0;border-radius:28px;box-shadow:var(--dk-ombre-f);}
html:not(#_) .footer-col:first-child::after{content:"";position:absolute;left:20px;right:20px;bottom:14px;height:10px;background:var(--dk-bulbes) 0 50%/15px 10px repeat-x;animation:dk-lueur 3.2s ease-in-out infinite;}
html:not(#_) .footer-col:first-child h4{display:block;width:100%;max-width:240px;margin:0 0 1rem;padding:14px 12px;background:#fffaf2;color:#261a2e;border-radius:6px;font-size:1.1rem;box-shadow:0 0 0 3px rgba(43,26,58,.5),0 0 28px rgba(255,227,166,.5);}
html:not(#_) .footer-col:first-child p{color:#f6e3ec;font-size:.9rem;line-height:1.55;margin:0;}
html:not(#_) .footer-bottom{border-top:0;padding-top:.6rem;color:#67566c;}
html:not(#_) .footer-bottom p{color:#67566c;}
@media (max-width:900px){
  html:not(#_) .footer-grid{grid-template-columns:minmax(0,1fr);}
  html:not(#_) .footer-col:first-child{margin:0 0 16px;}
  html:not(#_) .footer-col:nth-child(2){border-right:1px solid #e7d6c4;border-bottom:0;border-radius:22px 22px 0 0;}
  html:not(#_) .footer-col:nth-child(3){border-left:1px solid #e7d6c4;border-right:1px solid #e7d6c4;border-top:1px dashed #e7d6c4;border-bottom:0;}
  html:not(#_) .footer-col:nth-child(4){border-left:1px solid #e7d6c4;border-top:1px dashed #e7d6c4;border-radius:0 0 22px 22px;}
}

/* ---------- 4) Recette « Astro · cta-faq » (+ page ville en ONGLETS), copiée telle quelle ---------- */
@media (min-width: 992px) {
  html:not(#_) body.design-v-cta-faq div.container.ds-cf{ display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; align-items: start; }
  html:not(#_) body.design-v-cta-faq div.container.ds-cf > *{ grid-column: 1 / -1; }
  html:not(#_) body.design-v-cta-faq div.container > section.cta-section, html:not(#_) body.design-v-cta-faq div.container > section.section.ds-faq{ grid-column: auto; align-self: stretch; }
  html:not(#_) body.design-v-cta-faq div.container > section.cta-section{ display: flex; flex-direction: column; justify-content: center; align-self: center; margin-top: 2.5rem; margin-bottom: 2.5rem; }
  html:not(#_) body.design-v-cta-faq div.container > section.section > .info-duo{ grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 992px) {
  html:not(#_) body.design-v-cta-faq div.container.ds-ct{ display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; align-items: start; }
  html:not(#_) body.design-v-cta-faq div.container.ds-ct > *{ grid-column: 1 / -1; }
  html:not(#_) body.design-v-cta-faq div.container > .tabs .tab[data-tab="faq"]{ display: none; }
  html:not(#_) body.design-v-cta-faq div.container > #tab-faq{ display: block; grid-column: auto; align-self: stretch; }
  html:not(#_) body.design-v-cta-faq div.container > section.cta-section{ grid-column: auto; align-self: center; margin-top: 2.5rem; margin-bottom: 2.5rem; display: flex; flex-direction: column; justify-content: center; }
}

/* ---------- 5) Thème des zones ---------- */
/* titres : centrés, calmes, soulignés d'une petite rangée d'ampoules */
html:not(#_) .page-header{text-align:center;}
html:not(#_) .page-header h1, html:not(#_) .magazine-header h1{font-family:var(--dk-titre);font-weight:700;color:#261a2e;letter-spacing:-.005em;}
html:not(#_) .section{background:#fffaf4;border:1px solid #eedfcf;border-radius:24px;box-shadow:var(--dk-ombre);}
html:not(#_) .section h2, html:not(#_) .region-sidebar h3, html:not(#_) .rcs-title{font-family:var(--dk-titre);font-weight:700;color:#261a2e;}
html:not(#_) .section h2{text-align:center;}
html:not(#_) .section h2::after{content:"";display:block;width:86px;height:8px;margin:10px auto 0;background:var(--dk-points) 0 50%/12px 8px repeat-x;}
html:not(#_) .section > p[style]{max-width:760px;margin-left:auto;margin-right:auto;}
html:not(#_) .section > p:first-child:last-child{text-align:center;}
/* hero ville / État : le ciel du drive-in, texte centré, ampoules au bord */
html:not(#_) .ville-hero, html:not(#_) .region-hero{position:relative;background:var(--dk-ciel);color:#fff;text-align:center;padding:3.2rem 0 3.4rem;border-radius:0 0 34px 34px;box-shadow:0 14px 30px rgba(43,26,58,.18);}
html:not(#_) .ville-hero::after, html:not(#_) .region-hero::after{content:"";position:absolute;left:8%;right:8%;bottom:14px;height:10px;background:var(--dk-bulbes) 0 50%/16px 10px repeat-x;animation:dk-lueur 3.2s ease-in-out infinite;}
html:not(#_) .ville-hero h1, html:not(#_) .region-hero h1{font-family:var(--dk-titre);font-weight:700;color:#fff;letter-spacing:.005em;text-shadow:0 2px 16px rgba(43,26,58,.45);}
html:not(#_) .ville-meta, html:not(#_) .region-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;}
html:not(#_) .meta-item, html:not(#_) .region-stats span{display:inline-flex;align-items:center;min-height:32px;padding:.25rem .9rem;border-radius:999px;background:rgba(255,250,242,.14);border:1px solid rgba(255,227,166,.45);color:#fff;font-size:.88rem;font-weight:600;}
html:not(#_) .region-stats span[style]{display:none;}
html:not(#_) .region-layout{padding-top:2rem;}
html:not(#_) .region-main > p[style]{text-align:center;}
html:not(#_) .region-sidebar{background:#fffaf4;border:1px solid #eedfcf;border-radius:24px;box-shadow:var(--dk-ombre);padding:1.4rem 1.1rem;}
html:not(#_) .region-sidebar h3{text-align:center;font-size:1.05rem;}
html:not(#_) .ville-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;}
html:not(#_) .ville-list li{margin:0;}
html:not(#_) .ville-list a{display:inline-flex;align-items:center;min-height:34px;padding:.25rem .8rem;border-radius:999px;background:#fbf4ea;border:1px solid #e7d6c4;color:#261a2e;font-size:.84rem;font-weight:600;}
html:not(#_) .ville-list a:hover{background:#fff0f4;color:#a8154f;}
/* accueil : copie centrée sur une colonne, puis bande de ciel aux trois écrans */
html:not(#_) .hv3-hero{background:#fbf4ea;padding-bottom:1.6rem;}
html:not(#_) .hv3-hero__grid{grid-template-columns:minmax(0,1fr);min-height:0;}
html:not(#_) .hv3-hero__copy{align-items:center;text-align:center;padding:3rem 1.25rem 2.2rem;}
html:not(#_) .hv3-hero__inner{margin:0 auto;max-width:min(40rem,100%);align-items:center;}
html:not(#_) .hv3-hero__badge{background:#c2185b;color:#fff;border-radius:4px;padding:.4rem 1.1rem;box-shadow:none;-webkit-mask:radial-gradient(circle 5px at 0 50%,#0000 96%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 96%,#000) 100% 0/51% 100% no-repeat;mask:radial-gradient(circle 5px at 0 50%,#0000 96%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 96%,#000) 100% 0/51% 100% no-repeat;}
html:not(#_) .hv3-hero__title{font-family:var(--dk-titre);font-weight:700;color:#261a2e;letter-spacing:-.01em;}
html:not(#_) .hv3-hero__desc{color:#67566c;}
html:not(#_) .hv3-hero__actions{align-items:center;}
html:not(#_) .hv3-hero__cta{max-width:360px;min-height:54px;display:flex;align-items:center;justify-content:center;border-radius:999px;}
html:not(#_) .hv3-hero__search-zone{border-top:0;background:var(--dk-points) 50% 0/13px 6px repeat-x;padding-top:1.6rem;}
html:not(#_) .hv3-hero__actions .search-form{margin:0 auto;}
html:not(#_) .hv3-hero__aside{position:relative;width:auto;max-width:none;margin:0 1.25rem;padding:2.2rem 1.4rem 2.9rem;border-radius:30px;background:var(--dk-ciel);box-shadow:var(--dk-ombre-f);}
html:not(#_) .hv3-hero__aside::after{content:"";position:absolute;left:28px;right:28px;bottom:14px;height:10px;background:var(--dk-bulbes) 0 50%/16px 10px repeat-x;animation:dk-lueur 3.2s ease-in-out infinite;}
html:not(#_) .hv3-stats{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;gap:1rem;}
html:not(#_) .hv3-stats__card{background:#fffaf2;color:#261a2e;border:0;border-radius:6px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 0 0 3px rgba(43,26,58,.5),0 0 26px rgba(255,227,166,.45);}
html:not(#_) .hv3-stats__num{color:#a8154f;font-family:var(--dk-titre);}
html:not(#_) .hv3-stats__lbl{color:#67566c;opacity:1;}
html:not(#_) .hv3-trust-wrap .trust-badges{background:transparent;border:0;box-shadow:none;max-width:44rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:.6rem 0;}
html:not(#_) .hv3-trust-wrap .trust-badges .badge{justify-content:center;text-align:center;flex-direction:column;gap:.35rem;background:#fffdf9;border:1px solid #eedfcf;border-radius:6px;color:#261a2e;font-weight:600;padding:.85rem .7rem;-webkit-mask:radial-gradient(circle 7px at 0 50%,#0000 96%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,#0000 96%,#000) 100% 0/51% 100% no-repeat;mask:radial-gradient(circle 7px at 0 50%,#0000 96%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,#0000 96%,#000) 100% 0/51% 100% no-repeat;}
/* liens, recherche, filtres */
html:not(#_) .links-grid .link-tag, html:not(#_) .ville-pills .pill, html:not(#_) .rcs-chip{background:#fbf4ea;border:1px solid #e7d6c4;color:#261a2e;border-radius:999px;font-weight:600;}
html:not(#_) .links-grid .link-tag:hover, html:not(#_) .ville-pills .pill:hover, html:not(#_) .rcs-chip:hover{background:#fff0f4;border-color:#e2b9c9;color:#a8154f;transform:none;}
html:not(#_) .links-grid-collapsed::after{background:linear-gradient(to bottom,rgba(255,250,244,0),#fffaf4);}
html:not(#_) .btn-voir-plus{border:1px solid #e7d6c4;border-radius:999px;color:#a8154f;background:#fbf4ea;min-height:40px;}
html:not(#_) .search-input{border:1px solid #e7d6c4;border-radius:999px;background:#fffdf9;color:#261a2e;}
html:not(#_) .search-input:focus{border-color:#c2185b;box-shadow:0 0 0 4px rgba(194,24,91,.10);}
html:not(#_) .search-input::placeholder{color:#857386;}
html:not(#_) .filters{justify-content:center;gap:8px;margin-bottom:22px;}
html:not(#_) .filter-btn{min-height:40px;padding:7px 16px;background:#fffdf9;color:#261a2e;border:1px solid #e7d6c4;border-radius:999px;font-weight:600;font-size:.86rem;}
html:not(#_) .filter-btn:hover{background:#fff0f4;color:#a8154f;}
html:not(#_) .filter-btn.active{background:var(--dk-acc);border-color:transparent;color:#fff;box-shadow:0 6px 14px rgba(194,24,91,.28);}
/* cartes profil : photo dans un cadre d'écran, âge en billet, bouton en pilule */
html:not(#_) .profile-grid{gap:20px;}
html:not(#_) .profile-card{background:#fffdf9;border:1px solid #eedfcf;border-radius:20px;box-shadow:0 10px 24px rgba(92,31,85,.08);transition:transform .2s,box-shadow .2s;}
html:not(#_) .profile-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px rgba(194,24,91,.16);}
html:not(#_) .profile-photo{margin:8px 8px 0;border-radius:14px;background:#f3e6d4;box-shadow:0 0 0 3px #fffaf2,0 0 0 4px #e7d6c4;}
html:not(#_) .profile-photo img{transition:transform .5s;}
html:not(#_) .profile-card:hover .profile-photo:not(.blurred) img{transform:scale(1.04);}
html:not(#_) .profile-age{z-index:1;top:auto;right:auto;bottom:10px;left:10px;background:#fffaf2;color:#a3154f;border:0;border-radius:4px;padding:.3rem .85rem;font-size:.75rem;font-weight:700;-webkit-mask:radial-gradient(circle 5px at 0 50%,#0000 96%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 96%,#000) 100% 0/51% 100% no-repeat;mask:radial-gradient(circle 5px at 0 50%,#0000 96%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 96%,#000) 100% 0/51% 100% no-repeat;}
html:not(#_) .profile-lock{z-index:1;background:#fffaf2;color:#a8154f;border-radius:50%;box-shadow:0 0 12px rgba(255,227,166,.75);}
html:not(#_) .profile-info{padding:.85rem .9rem .5rem;}
html:not(#_) .profile-title{color:#a8154f;font-family:var(--dk-titre);font-weight:700;}
html:not(#_) .profile-name{color:#261a2e;font-family:var(--dk-titre);}
html:not(#_) .profile-ville, html:not(#_) .profile-bio{color:#67566c;}
html:not(#_) .profile-footer{border-top:1px dashed #e7d6c4;padding:.6rem .9rem .85rem;}
html:not(#_) .profile-cta{display:flex;align-items:center;justify-content:center;min-height:40px;padding:.4rem .4rem;white-space:nowrap;background:#fbf4ea;border:1px solid #e7d6c4;color:#a8154f;border-radius:999px;font-weight:700;font-size:.84rem;transition:background-color .15s,color .15s,box-shadow .15s;}
html:not(#_) .profile-card:hover .profile-cta{background:var(--dk-acc);border-color:transparent;color:#fff;box-shadow:0 6px 14px rgba(194,24,91,.28);}
/* pagination : des ampoules, la page courante allumée */
html:not(#_) .pagination{gap:8px;}
html:not(#_) .pagination-link, html:not(#_) .pagination-current{box-sizing:border-box;min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:999px;font-family:var(--dk-titre);font-weight:700;}
html:not(#_) .pagination-link{background:#fffdf9;border:1px solid #e7d6c4;color:#261a2e !important;}
html:not(#_) .pagination-link:hover{background:#fff0f4;color:#a8154f !important;}
html:not(#_) .pagination-current{background:var(--dk-acc);border:0;color:#fff !important;box-shadow:0 0 0 3px #fffaf2,0 0 16px rgba(194,24,91,.55);}
html:not(#_) .pagination-ellipsis{color:#67566c;}
/* boutons */
html:not(#_) .btn{border-radius:999px;font-weight:700;}
html:not(#_) .btn-primary{background:var(--dk-acc);color:#fff;border:0;box-shadow:0 10px 24px rgba(194,24,91,.32);transition:transform .15s,box-shadow .15s;}
html:not(#_) .btn-primary:hover{filter:none;transform:translateY(-2px);box-shadow:0 14px 30px rgba(194,24,91,.42);}
html:not(#_) .btn-outline{border:1px solid #e7d6c4;color:#a8154f;background:#fffdf9;}
html:not(#_) .btn-lg{min-height:52px;padding-left:2rem;padding-right:2rem;}
/* CTA : le grand écran clair sous sa marquise d'ampoules, en carte centrée */
html:not(#_) .cta-section{position:relative;isolation:isolate;overflow:hidden;text-align:center;background:#fffaf2;color:#261a2e;border-radius:18px;padding:68px 28px 34px;max-width:620px;margin-left:auto;margin-right:auto;box-shadow:0 0 0 6px #fffaf2,0 0 0 8px rgba(194,24,91,.30),var(--dk-ombre-f);}
html:not(#_) .cta-section::before{content:"";position:absolute;top:0;left:0;right:0;height:40px;z-index:-1;background:var(--dk-bulbes) 7px 50%/16px 12px repeat-x,linear-gradient(90deg,#2b1a3a 0%,#7a1d57 50%,#2b1a3a 100%);}
html:not(#_) .cta-section h2{color:#261a2e;font-family:var(--dk-titre);font-weight:700;}
html:not(#_) .cta-section p{color:#67566c;max-width:30rem;margin-left:auto;margin-right:auto;}
html:not(#_) .cta-section .btn{align-self:center;display:inline-flex;align-items:center;justify-content:center;}
/* FAQ + carte */
html:not(#_) .accordion{background:#fffdf9;border:1px solid #eedfcf;border-radius:20px;overflow:hidden;}
html:not(#_) .accordion-item{border-bottom:1px dashed #e7d6c4;}
html:not(#_) .accordion-header{color:#261a2e;padding:15px 18px;font-family:var(--dk-titre);font-weight:600;}
html:not(#_) .accordion-header:hover{background:#fbf4ea;}
html:not(#_) .accordion-item[open] > .accordion-header{background:#fbf4ea;color:#a8154f;}
html:not(#_) .accordion-header::after{border-color:#a8154f;}
html:not(#_) .accordion-body{color:#5b4a5f;margin:4px 18px 16px;padding:2px 0 2px 14px;border-left:3px solid #f2c9d8;line-height:1.6;}
html:not(#_) .ville-map-card{background:#fffdf9;border:1px solid #eedfcf;border-radius:20px;box-shadow:var(--dk-ombre);overflow:hidden;}
html:not(#_) .ville-map-header{background:#fbf4ea;border-bottom:1px dashed #e7d6c4;}
html:not(#_) .ville-map-header h3{color:#261a2e;font-family:var(--dk-titre);}
html:not(#_) .ville-map-badge{background:#c2185b;color:#fff;border-radius:999px;}
html:not(#_) .map-list-link{color:#a8154f;}
html:not(#_) .map-list-title{color:#261a2e;}
/* retour en haut : une ampoule allumée */
html:not(#_) .back-to-top{border-radius:50%;background:var(--dk-acc);color:#fff;box-shadow:0 0 0 3px #fffaf2,0 0 18px rgba(194,24,91,.55);}
/* pop-ups : couleurs, bordures, rayons seulement */
html:not(#_) .modal-content{border-radius:20px;}
html:not(#_) .modal-tag{background:#fbf4ea;color:#a8154f;border:1px solid #e7d6c4;border-radius:999px;}
html:not(#_) .popup-card{border-radius:22px;border:1px solid #eedfcf;background:#fffdf9;}
html:not(#_) .popup-title{color:#261a2e;font-family:var(--dk-titre);}
html:not(#_) .popup-desc{color:#67566c;}
html:not(#_) .popup-btn{background:var(--dk-acc);border-radius:999px;}
html:not(#_) .popup-field input{border:1px solid #e7d6c4;border-radius:999px;background:#fbf4ea;color:#261a2e;}
html:not(#_) .popup-field input:focus{border-color:#c2185b;background:#fff;}
html:not(#_) .popup-icon, html:not(#_) .popup-icon-login{background:var(--dk-acc);border-radius:50%;}
html:not(#_) .popup-icon svg{color:#fff;}
html:not(#_) .popup-close{background:#fbf4ea;color:#a8154f;border-radius:50%;}
html:not(#_) .popup-footer{color:#67566c;}
html:not(#_) .popup-footer a{color:#a8154f;}
html:not(#_) .age-gate-modal{border-radius:20px;border-top:6px solid #c2185b;background:#fffdf9;}
html:not(#_) .age-gate-modal h2{color:#261a2e;font-family:var(--dk-titre);}
html:not(#_) .age-gate-lead{color:#261a2e;}
html:not(#_) .age-gate-body, html:not(#_) .age-gate-footnote{color:#5b4a5f;}
html:not(#_) .age-gate-link{color:#a8154f;}

/* ---------- 6) Menu mobile : le tiroir reprend la sidebar crème (ciel + écran en tête) ---------- */
html:not(#_) .ds-burger{color:#fff;border:1.5px solid rgba(255,255,255,.62);border-radius:12px;background:rgba(255,250,242,.08);}
html:not(#_) body:has(#ds-menu:checked) .ds-burger{background:#fffaf2;color:#a3154f;border-color:#fffaf2;}
html:not(#_) .ds-menu-overlay{background:rgba(38,26,46,.58);}
html:not(#_) body:has(#ds-menu:checked) aside.sidebar{background:#fbf4ea;border-radius:0 24px 24px 0;}
html:not(#_) body:has(#ds-menu:checked) aside.sidebar .sidebar-inner{border:0;border-radius:0;box-shadow:none;background:transparent;padding:4px 0 28px;}
html:not(#_) .ds-menu-close{background:#fffaf2;color:#a3154f;border:0;border-radius:50%;box-shadow:0 0 0 2px rgba(43,26,58,.4),0 0 14px rgba(255,227,166,.6);}
@media (max-width:768px){
  html:not(#_) body:has(#ds-menu:checked) .sb-logo{margin-right:0;}
  html:not(#_) body:has(#ds-menu:checked) .sb-logo-dot{right:auto;left:16px;}
  html:not(#_) .sb-link{min-height:56px;font-size:.88rem;}
  html:not(#_) .sb-section-title{font-size:.72rem;}
  html:not(#_) .sb-map-quick-link{min-height:44px;font-size:.9rem;}
  html:not(#_) .sb-silo-region{min-height:44px;display:flex;align-items:center;font-size:.92rem;}
  html:not(#_) .sb-silo-ville{min-height:40px;display:flex;align-items:center;font-size:.9rem;}
  html:not(#_) .sb-silo-more{min-height:40px;display:flex;align-items:center;}
  html:not(#_) .sb-top-item{min-height:42px;font-size:.88rem;}
  html:not(#_) .ville-hero, html:not(#_) .region-hero{padding:2.2rem 0 2.6rem;border-radius:0 0 26px 26px;}
  html:not(#_) .section{border-radius:20px;}
  html:not(#_) .hv3-hero__copy{padding:2rem 1rem 1.6rem;}
  html:not(#_) .hv3-hero__aside{margin:0 .75rem;padding:1.6rem .8rem 2.4rem;border-radius:24px;}
  html:not(#_) .hv3-stats{gap:.6rem;}
  html:not(#_) .hv3-trust-wrap .trust-badges{grid-template-columns:repeat(2,minmax(0,1fr));}
  html:not(#_) .cta-section{padding:62px 18px 28px;}
}
@media (max-width:640px){
  html:not(#_) .profile-grid{gap:12px;}
  html:not(#_) .profile-photo{margin:6px 6px 0;border-radius:12px;}
  html:not(#_) .profile-cta{font-size:.8rem;min-height:38px;}
  html:not(#_) .profile-age{padding:.22rem .7rem;font-size:.7rem;bottom:8px;left:8px;}
}

/* ---------- 7) Mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  html:not(#_) .sb-logo::after, html:not(#_) .footer-col:first-child::after, html:not(#_) .ville-hero::after, html:not(#_) .region-hero::after, html:not(#_) .hv3-hero__aside::after{animation:none !important;}
  html:not(#_) *, html:not(#_) ::before, html:not(#_) ::after{transition:none !important;}
  html:not(#_) .sb-link:hover, html:not(#_) .profile-card:hover, html:not(#_) .btn-primary:hover, html:not(#_) .profile-card:hover .profile-photo img{transform:none !important;}
}

/* ---------- 8) Tour 2 (planche) : titre FAQ centré en marquise douce, accordéon sans second cadre ---------- */
html:not(#_) .info-duo-col{border-radius:20px;border-color:#eedfcf;background:#fffdf9;}
html:not(#_) .info-duo-title{flex-direction:column;justify-content:center;gap:2px;text-align:center;background:#fbf4ea;border-bottom:1px dashed #e7d6c4;padding:16px 20px 12px;}
html:not(#_) .info-duo-title::after{margin-top:6px;}
html:not(#_) .info-duo .accordion{border:0;border-radius:0;margin-top:0;box-shadow:none;}

@media (prefers-reduced-motion: reduce){html:not(#_) .sidebar-inner{animation:none !important;transition:none !important;}}
/* __END_DESIGN_SITE__ */
