
/* __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-uruguay.lat — CANDOMBE (lot .lat, 25/09). Parche (cuir tendu) #f8efe2 + orange de braise #d9731e (favicon) + encre bois #2b1a10.
   Registre : les tambores du candombe de Montevideo — une touche : la RANGÉE DE CLOUS du fût (points d'accent réguliers)
   en filet sous le logo, sur la carte CTA et en tête du footer, et la LUEUR DE BRAISE (on accorde les parches au feu)
   sur le héros et les boutons. Formes signature : (1) ARCHE — photos des cartes encastrées en arche, cerclées comme un
   aro de tambor ; (2) PILULES PLEINES à ombre colorée (nav, filtres, boutons, âge) ; (3) MÉDAILLON-parche du logo.
   Composition : sidebar-carte, logo CENTRÉ en médaillon au-dessus du nom, catégories en 2ᵉ rangée de pilules en ligne ·
   barre mobile marque centrée · cartes HAUTES photo en arche, âge en pilule centrée sous l'arche · footer en CARTE CENTRÉE. */

/* 0. Palette et variables du gabarit */
html:not(#_){--br:#d9731e;--br-f:#a8520f;--br-n:#7a3a0a;--br-p:#fbe3cc;--br-pp:#fff4ea;--pa:#f8efe2;--pa-c:#fffaf2;--pa-k:#f1e2cd;--pa-s:#ead8bf;--pa-o:#d9bf9c;--bois:#2b1a10;--sourd:#6b5444;--nuit:#24160d;
  --tf:Georgia,'Palatino Linotype','Book Antiqua',serif;--tb:'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
  --clous:radial-gradient(circle,var(--br) 0 2.2px,rgba(217,115,30,0) 2.8px);
  --clous-cl:radial-gradient(circle,rgba(251,227,204,.8) 0 2px,rgba(251,227,204,0) 2.6px);
  --doux:0 18px 34px -22px rgba(122,58,10,.45),0 2px 6px rgba(107,84,68,.06);
  --lueur:0 14px 26px -12px rgba(217,115,30,.7);
  --primary:#a8520f;--secondary:#7a3a0a;--bg:#f8efe2;--bg-alt:#f1e2cd;--bg-card:#fffaf2;--text:#2b1a10;--text-muted:#6b5444;--border:#ead8bf;
  --radius:22px;--radius-sm:14px;--card-radius:24px;--shadow:0 1px 2px rgba(107,84,68,.06);--shadow-lg:var(--doux);}
html:not(#_) main{--primary:#a8520f !important;--secondary:#7a3a0a !important;}
html:not(#_) body{background:var(--pa);color:var(--bois);font-family:var(--tb);}
html:not(#_) h1, html:not(#_) h2, html:not(#_) h3, html:not(#_) h4{font-family:var(--tf);color:var(--bois);font-weight:700;letter-spacing:0;overflow-wrap:anywhere;}
html:not(#_) a{color:var(--br-f);}
html:not(#_) .sb-link, html:not(#_) .sb-map-quick-link, html:not(#_) .sb-silo-region, html:not(#_) .sb-silo-ville, html:not(#_) .sb-top-item, html:not(#_) .filter-btn, html:not(#_) .link-tag, html:not(#_) .profile-cta, html:not(#_) .btn, html:not(#_) .mobile-guest-cta-btn, html:not(#_) .mobile-guest-login, html:not(#_) .footer-inner, html:not(#_) .search-input, html:not(#_) .map-list-link, html:not(#_) .sidebar-inner{box-sizing:border-box;}

/* 1. Sidebar-carte : médaillon-parche centré, nom dessous, catégories en 2ᵉ rangée de pilules */
html:not(#_) .sidebar{background:transparent;}
html:not(#_) .sidebar-inner{background:var(--pa-c);border:1px solid var(--pa-s);border-radius:26px;box-shadow:var(--doux);padding:22px 14px 18px;scrollbar-width:thin;scrollbar-color:rgba(217,115,30,.35) transparent;}
html:not(#_) .sb-logo{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:2px 4px 24px;margin:0 0 12px;position:relative;}
html:not(#_) .sb-logo::after{content:'';position:absolute;left:22%;right:22%;bottom:5px;height:8px;background:var(--clous) repeat-x center/12px 8px;}
html:not(#_) .sb-logo-dot{width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f1a55e,var(--br) 52%,var(--br-f));box-shadow:0 0 0 4px var(--pa-c),0 0 0 7px var(--bois),0 14px 24px -10px rgba(217,115,30,.8);}
html:not(#_) .sb-logo-dot svg{color:#fff;width:22px;height:22px;}
html:not(#_) .sb-logo-text{color:var(--bois);font-family:var(--tf);font-weight:700;font-size:1.45rem;letter-spacing:.01em;}
html:not(#_) .sb-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:0 0 14px;}
html:not(#_) .sb-link{flex:0 0 auto;justify-content:center;gap:6px;padding:8px 13px;min-height:40px;border-radius:999px;background:var(--pa-k);color:var(--bois);font-size:.82rem;font-weight:700;border:0;box-shadow:0 6px 12px -9px rgba(122,58,10,.55);transition:background .15s,color .15s,transform .15s;}
html:not(#_) .sb-link .sb-ico{color:var(--br-f);}
html:not(#_) .sb-link:hover{background:var(--br-p);color:var(--br-n);transform:translateY(-1px);}
html:not(#_) .sb-link.active{background:var(--br-f);color:#fff;box-shadow:var(--lueur);}
html:not(#_) .sb-link.active .sb-ico{color:#fff;}
html:not(#_) .sb-section{margin:0 0 8px;padding-top:12px;border-top:1px solid var(--pa-s);}
html:not(#_) .sb-section-title{color:var(--sourd);font-size:.74rem;font-weight:700;letter-spacing:.1em;padding:8px 12px;justify-content:center;text-align:center;}
html:not(#_) .sb-section-title .sb-ico, html:not(#_) .sb-map-quick-link .sb-ico, html:not(#_) .sb-top-item .sb-ico{color:var(--br-f);}
html:not(#_) .sb-map-quick-link{display:flex;justify-content:center;width:100%;margin:0 0 8px;padding:9px 12px;border-radius:999px;background:var(--bois);color:#fff4ea;font-size:.86rem;font-weight:700;box-shadow:0 10px 18px -12px rgba(43,26,16,.8);}
html:not(#_) .sb-map-quick-link .sb-ico{color:#f1a55e;}
html:not(#_) .sb-map-quick-link:hover{background:var(--br-f);color:#fff;}
html:not(#_) .sb-map-quick-link:hover .sb-ico{color:#fff;}
html:not(#_) .sb-silo-region{color:var(--bois);font-size:.92rem;font-weight:700;border-radius:999px;padding:7px 12px;}
html:not(#_) .sb-silo-region:hover{background:var(--br-pp);color:var(--br-n);}
html:not(#_) .sb-chevron{color:var(--br-f);}
html:not(#_) .sb-silo-ville{color:var(--sourd);font-size:.84rem;padding:5px 12px;border-radius:999px;}
html:not(#_) .sb-silo-ville:hover{background:var(--br-pp);color:var(--br-n);}
html:not(#_) .sb-silo-more{color:var(--br-n);font-size:.8rem;font-weight:700;padding:8px 12px;text-decoration:underline;text-underline-offset:3px;}
html:not(#_) .sb-top-item{color:var(--bois);font-size:.86rem;padding:6px 12px;border-radius:999px;}
html:not(#_) .sb-top-item:hover{background:var(--br-pp);color:var(--br-n);}

/* 2. Barre mobile : parche clair, marque centrée, connexion en pilule ; CTA pilule de braise ; barre basse crème */
html:not(#_) .mobile-guest-top{background:var(--pa-c) !important;color:var(--bois) !important;border-bottom:0;box-shadow:0 10px 22px -14px rgba(122,58,10,.5);}
html:not(#_) .mobile-guest-head{height:50px;padding:0 10px;}
html:not(#_) .mobile-guest-brand{flex:1 1 auto;text-align:center;color:var(--bois) !important;font-family:var(--tf);font-weight:700;font-size:1.22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html:not(#_) .mobile-guest-login{color:var(--br-n) !important;background:var(--br-pp);border:1.5px solid var(--br);border-radius:999px;padding:5px 12px;min-height:34px;display:inline-flex;align-items:center;font-size:.76rem;font-weight:700;}
html:not(#_) .mobile-guest-cta{position:relative;padding:12px 10px 11px;background:var(--pa-k);}
html:not(#_) .mobile-guest-cta::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:var(--clous) repeat-x center/12px 6px;opacity:.85;}
html:not(#_) .mobile-guest-cta-row{margin-bottom:7px;}
html:not(#_) .mobile-guest-cta-offer{color:var(--sourd) !important;font-size:.66rem;letter-spacing:.08em;}
html:not(#_) .mobile-guest-cta-kw{color:var(--bois) !important;font-family:var(--tf);font-size:1.05rem;font-weight:700;}
html:not(#_) .mobile-guest-timer-label{color:var(--sourd) !important;letter-spacing:.06em;}
html:not(#_) .mobile-guest-timer{color:#fff !important;background:var(--bois);padding:3px 11px;border-radius:999px;font-size:.88rem;}
html:not(#_) .mobile-guest-cta-btn{min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--br-f) !important;color:#fff !important;border:0;border-radius:999px;font-weight:700;font-size:.95rem;padding:.55rem .9rem;box-shadow:var(--lueur);}
html:not(#_) .mobile-guest-cta-btn:active{background:var(--br-n) !important;}
@media (max-width:768px){html:not(#_) body.has-mobile-guest-top{padding-top:calc(160px + env(safe-area-inset-top,0px));}}
html:not(#_) .ds-burger{color:var(--br-n);background:var(--br-pp);border:1px solid var(--pa-s);border-radius:999px;width:44px;height:36px;}
html:not(#_) .ds-menu-close{background:var(--bois);color:#fff;border-radius:50%;box-shadow:0 0 0 3px var(--pa-c),0 0 0 5px var(--br);}
html:not(#_) .bottom-bar{background:var(--pa-c);border-top:1px solid var(--pa-s);box-shadow:0 -8px 20px -14px rgba(122,58,10,.45);}
html:not(#_) .btab{color:var(--sourd);min-height:44px;justify-content:center;}
html:not(#_) .btab:hover, html:not(#_) .btab.active{color:var(--br-n);}
html:not(#_) .btab.active .btab-ico{background:var(--br-p);border-radius:999px;}
html:not(#_) .btab-lbl{font-size:.62rem;font-weight:700;letter-spacing:.03em;}

/* 3. Footer en CARTE CENTRÉE sur le parche, rangée de clous en tête, tout centré */
html:not(#_) .footer-v1{background:transparent;color:var(--bois);padding:0 16px 2rem;margin-top:3.5rem;}
html:not(#_) .footer-v1 .footer-inner{position:relative;max-width:880px;margin:0 auto;padding:40px 30px 20px;background:var(--pa-c);border:1px solid var(--pa-s);border-radius:30px;box-shadow:var(--doux);text-align:center;}
html:not(#_) .footer-v1 .footer-inner::before{content:'';position:absolute;left:50%;top:16px;width:150px;margin-left:-75px;height:8px;background:var(--clous) repeat-x center/12px 8px;}
html:not(#_) .footer-v1 .footer-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.6rem;margin-bottom:1.4rem;}
html:not(#_) .footer-col:empty{display:none;}
html:not(#_) .footer-col h4{color:var(--br-n);font-family:var(--tf);font-size:1.02rem;margin-bottom:.7rem;}
html:not(#_) .footer-col:first-child h4{font-size:1.35rem;color:var(--bois);}
html:not(#_) .footer-col p{color:var(--sourd);font-size:.88rem;}
html:not(#_) .footer-col ul{list-style:none;padding:0;}
html:not(#_) .footer-col li{margin-bottom:.35rem;}
html:not(#_) .footer-col a{color:var(--bois);font-size:.87rem;display:inline-block;padding:3px 10px;border-radius:999px;}
html:not(#_) .footer-col a:hover{background:var(--br-p);color:var(--br-n);text-decoration:none;}
html:not(#_) .footer-v1 .footer-bottom{border-top:1px solid var(--pa-s);color:var(--sourd);padding-top:1rem;}
html:not(#_) .footer-v1 .footer-bottom p{color:var(--sourd);}
@media (max-width:768px){html:not(#_) .footer-v1{padding:0 12px calc(84px + env(safe-area-inset-bottom,0px));}html:not(#_) .footer-v1 .footer-inner{padding:34px 16px 16px;border-radius:24px;}html:not(#_) .footer-v1 .footer-grid{gap:1.2rem;}}

/* 4. Recette « astro · villes-bas » (telle quelle) */
html:not(#_) body.design-v-villes-bas .container > section.section.ds-villes:first-child{ order: 6; }
html:not(#_) body.design-v-villes-bas div.container.ds-c{ display: flex; flex-direction: column; }
html:not(#_) body.design-v-villes-bas div.container.ds-c > *{ order: 6; }
html:not(#_) body.design-v-villes-bas div.container > .page-header{ order: 0; }
html:not(#_) body.design-v-villes-bas div.container > section.section.ds-profils{ order: 1; }
html:not(#_) body.design-v-villes-bas div.container > .ds-bloc{ order: 2; }
html:not(#_) body.design-v-villes-bas div.container > section.cta-section{ order: 3; }
html:not(#_) body.design-v-villes-bas div.container > section.section.ds-faq{ order: 4; }
html:not(#_) body.design-v-villes-bas div.region-layout{ display: flex; flex-direction: column; }
html:not(#_) body.design-v-villes-bas div.region-layout > aside.region-sidebar{ order: 2; position: static; width: auto; max-width: none; }
html:not(#_) body.design-v-villes-bas div.region-layout > aside.region-sidebar ul.ville-list{ display: flex; flex-wrap: wrap; gap: 8px; }

/* 5. Thème des zones */
/* héros : braise sur bois sombre */
html:not(#_) .hero-fullscreen{background:radial-gradient(ellipse at 50% 85%,rgba(241,165,94,.55),rgba(217,115,30,0) 55%),linear-gradient(170deg,#4a2a14 0%,#2b1a10 60%,#1d110a 100%) !important;}
html:not(#_) .hero-overlay{background:linear-gradient(180deg,rgba(43,26,16,.1),rgba(43,26,16,.35)) !important;}
html:not(#_) .hero-content h1{color:#fff;font-family:var(--tf);font-weight:700;text-shadow:0 2px 18px rgba(0,0,0,.45);}
html:not(#_) .hero-tagline{color:#fbe3cc;}
html:not(#_) .btn-hero-primary{background:var(--br);color:#fff !important;border:0;border-radius:999px;font-weight:700;box-shadow:0 16px 30px -12px rgba(241,165,94,.75);}
html:not(#_) .btn-hero-primary:hover{background:var(--br-f);color:#fff !important;}
html:not(#_) .hero-cta .btn-ghost{border:1.5px solid rgba(255,244,234,.85);color:#fff !important;border-radius:999px;background:rgba(43,26,16,.3);}
html:not(#_) .trust-badges .badge{background:var(--pa-c);border:1px solid var(--pa-s);border-radius:999px;box-shadow:var(--doux);}
html:not(#_) .badge-label{color:var(--bois);}
html:not(#_) .badge-icon{color:var(--br-f);}
html:not(#_) .breadcrumb, html:not(#_) .breadcrumb a, html:not(#_) .breadcrumb span{color:var(--sourd) !important;}
html:not(#_) .breadcrumb strong{color:var(--bois) !important;}
html:not(#_) .breadcrumb a:hover{color:var(--br-n) !important;}
html:not(#_) .page-header h1, html:not(#_) .container > h1{font-size:clamp(1.6rem,3.4vw,2.4rem);}
html:not(#_) .page-header p, html:not(#_) .text-muted, html:not(#_) .map-hint, html:not(#_) .seo-text{color:var(--sourd) !important;}
html:not(#_) .section{background:var(--pa-c);border:1px solid var(--pa-s);border-radius:26px;box-shadow:var(--doux);}
html:not(#_) .section h2, html:not(#_) .map-section-head h2, html:not(#_) .map-list-title, html:not(#_) .ville-map-header h3, html:not(#_) .section-header h2{color:var(--bois);font-family:var(--tf);font-weight:700;}
html:not(#_) .section > h2, html:not(#_) .section-header h2{position:relative;padding-bottom:16px;margin-bottom:18px;text-align:center;}
html:not(#_) .section > h2::after, html:not(#_) .section-header h2::after{content:'';position:absolute;left:50%;bottom:0;width:96px;margin-left:-48px;height:8px;background:var(--clous) repeat-x center/12px 8px;}
html:not(#_) .search-input{border:1.5px solid var(--pa-o);border-radius:999px;background:var(--pa-c);color:var(--bois);}
html:not(#_) .search-input:focus{border-color:var(--br);box-shadow:0 0 0 3px rgba(217,115,30,.18);}
html:not(#_) .search-input::placeholder{color:var(--sourd);}
html:not(#_) .search-submit{background:var(--br-f);color:#fff;border-radius:999px;}
html:not(#_) .links-grid{justify-content:center;}
html:not(#_) .link-tag, html:not(#_) .map-list-link{background:var(--pa-k);border:0;border-radius:999px;color:var(--bois);font-size:.88rem;box-shadow:0 6px 12px -10px rgba(122,58,10,.6);transition:background .15s,color .15s,transform .15s;}
html:not(#_) .link-tag:hover, html:not(#_) .map-list-link:hover{background:var(--br-f);color:#fff;transform:translateY(-1px);box-shadow:var(--lueur);}
html:not(#_) .map-list-more, html:not(#_) .btn-voir-plus{color:var(--br-n);}
html:not(#_) .map-card, html:not(#_) .ville-map-card, html:not(#_) .map-container{border-radius:24px;}
html:not(#_) .map-card, html:not(#_) .ville-map-card{background:var(--pa-c);border:1px solid var(--pa-s);}
html:not(#_) .ville-map-header{background:var(--pa-k);border-bottom:1px solid var(--pa-s);}
html:not(#_) .ville-map-badge{background:var(--br-f);color:#fff;border-radius:999px;}
/* filtres (tri) : pilules pleines */
html:not(#_) .filters{gap:8px;margin-bottom:22px;justify-content:center;}
html:not(#_) .filters .filter-btn, html:not(#_) .ds-fchip{padding:8px 16px;min-height:40px;border-radius:999px;border:0;background:var(--pa-k);color:var(--bois);font-size:.86rem;font-weight:700;box-shadow:0 6px 12px -10px rgba(122,58,10,.6);transition:background .15s,color .15s;}
html:not(#_) .filters .filter-btn:hover, html:not(#_) .ds-fchip:hover{background:var(--br-p);color:var(--br-n);}
html:not(#_) .filters .filter-btn.active, html:not(#_) .ds-fchip.active{background:var(--br-f);color:#fff;box-shadow:var(--lueur);}
html:not(#_) .filters select.ds-fsel, html:not(#_) select.ds-fsel, html:not(#_) .filters select.filter-btn{color:var(--bois);background-color:var(--pa-c);border:1.5px solid var(--pa-o);border-radius:999px;min-height:40px;}
/* cartes profil HAUTES : photo encastrée en ARCHE cerclée d'un aro, âge en pilule sous l'arche */
html:not(#_) .profile-card{background:var(--pa-c);border:1px solid var(--pa-s);border-radius:26px;box-shadow:var(--doux);overflow:hidden;transition:transform .2s,box-shadow .2s;}
html:not(#_) .profile-card:hover{transform:translateY(-4px);box-shadow:0 26px 42px -22px rgba(122,58,10,.6),0 4px 10px rgba(107,84,68,.08);}
html:not(#_) .profile-photo{margin:10px 10px 0;aspect-ratio:3 / 4.3;border-radius:999px 999px 18px 18px;background:var(--pa-k);box-shadow:0 0 0 3px var(--pa-c),0 0 0 5px var(--br-p);overflow:hidden;}
html:not(#_) .profile-photo img{transition:transform .45s ease;}
html:not(#_) .profile-card:hover .profile-photo img{transform:scale(1.05);}
html:not(#_) .profile-photo.blurred img{transform:scale(1.06);}
html:not(#_) .profile-card:hover .profile-photo.blurred img{transform:scale(1.11);}
html:not(#_) .profile-age{top:auto;bottom:12px;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;padding:5px 14px;border-radius:999px;background:var(--br-f);color:#fff;font-weight:700;font-size:.8rem;box-shadow:0 8px 16px -8px rgba(0,0,0,.6);}
html:not(#_) .profile-lock{top:14px;left:50%;right:auto;transform:translateX(-50%);background:var(--bois);color:#fff;border-radius:999px;box-shadow:0 0 0 2px rgba(255,250,242,.7);}
html:not(#_) .profile-info{padding:.9rem .95rem .5rem;text-align:center;}
html:not(#_) .profile-title{color:var(--sourd);font-weight:700;font-size:.84rem;}
html:not(#_) .profile-name{color:var(--bois);font-family:var(--tf);font-weight:700;font-size:1.1rem;}
html:not(#_) .profile-ville{color:var(--sourd);font-size:.84rem;}
html:not(#_) .profile-bio{color:var(--bois);opacity:.88;font-size:.86rem;}
html:not(#_) .profile-footer{background:transparent;border-top:0;padding:.35rem .95rem 1rem;}
html:not(#_) .profile-cta{background:var(--br-f);color:#fff;border:0;border-radius:999px;font-weight:700;font-size:.9rem;padding:.55rem .8rem;min-height:44px;display:flex;align-items:center;justify-content:center;box-shadow:var(--lueur);transition:background .15s;}
html:not(#_) .profile-cta:hover{background:var(--br-n);color:#fff;}
/* pagination */
html:not(#_) .pagination-link, html:not(#_) .pagination > a:not(.pagination-link){background:var(--pa-k);border:0;border-radius:999px;color:var(--bois) !important;}
html:not(#_) .pagination-link:hover{background:var(--br-p);color:var(--br-n) !important;}
html:not(#_) .pagination-current, html:not(#_) .pagination > span.active{background:var(--br-f);border-radius:999px;color:#fff !important;box-shadow:var(--lueur);}
html:not(#_) .pagination-ellipsis{color:var(--sourd);}
/* CTA = carte de rencontre centrée, rangée de clous et lueur de braise */
html:not(#_) .cta-section{position:relative;box-sizing:border-box;max-width:660px;margin:2.5rem auto;background:var(--pa-c);background-image:radial-gradient(ellipse at 50% 110%,rgba(217,115,30,.2),rgba(217,115,30,0) 62%);border:1px solid var(--pa-s);border-radius:32px;box-shadow:var(--doux);padding:48px 28px 34px;text-align:center;color:var(--bois);}
html:not(#_) .cta-section::before{content:'';position:absolute;left:50%;top:20px;width:132px;margin-left:-66px;height:8px;background:var(--clous) repeat-x center/12px 8px;}
html:not(#_) .cta-section h2{color:var(--bois);font-weight:700;font-size:1.6rem;line-height:1.2;margin:0 0 .5rem;}
html:not(#_) .cta-section p{color:var(--sourd);font-size:1.02rem;max-width:460px;margin:0 auto 1.4rem;}
html:not(#_) .cta-section .btn.btn-primary{background:var(--br-f);color:#fff;border-radius:999px;font-weight:700;font-size:1.02rem;min-height:52px;padding:.9rem 2.3rem;box-shadow:var(--lueur);transition:transform .15s,background .15s;}
html:not(#_) .cta-section .btn.btn-primary:hover{filter:none;background:var(--br-n);color:#fff;transform:translateY(-2px);}
/* FAQ */
html:not(#_) .info-duo-col{background:var(--pa-c);border:1px solid var(--pa-s);border-radius:24px;}
html:not(#_) .info-duo-title{background:var(--pa-k);color:var(--bois);border-bottom:1px solid var(--pa-s);font-family:var(--tf);}
html:not(#_) .accordion-item{border-bottom:1px solid var(--pa-s);}
html:not(#_) .accordion-header, html:not(#_) .accordion-q{color:var(--bois);font-size:.98rem;}
html:not(#_) .accordion-header:hover{background:var(--br-pp);}
html:not(#_) .accordion-item[open] > .accordion-header{background:var(--br-pp);color:var(--br-n);}
html:not(#_) .accordion-header::after{border-color:var(--br);}
html:not(#_) .accordion-body{color:var(--bois);opacity:.9;}
/* boutons génériques */
html:not(#_) .btn{border-radius:999px;}
html:not(#_) .btn-primary{background:var(--br-f);color:#fff;}
html:not(#_) .btn-primary:hover{filter:none;background:var(--br-n);color:#fff;}
html:not(#_) .btn-outline{border-color:var(--br);color:var(--br-n);}
html:not(#_) .btn-outline:hover{background:var(--br-f);color:#fff;}
html:not(#_) .back-to-top{background:var(--br-f);color:#fff;border:0;box-shadow:0 0 0 3px var(--pa-c),0 0 0 5px var(--br-p),var(--lueur);}
/* pop-up profil (couleurs, bordures, rayons) */
html:not(#_) .modal-content{background:var(--pa-c);border-radius:26px;border:1px solid var(--pa-s);box-shadow:0 30px 60px rgba(43,26,16,.45);--text:#2b1a10;--text-muted:#6b5444;--bg-card:#fffaf2;--bg-alt:#f1e2cd;--border:#ead8bf;--bg:#fffaf2;}
html:not(#_) .modal-carousel{border-radius:26px 26px 0 0;}
html:not(#_) .modal-close, html:not(#_) .modal-nav{background:var(--bois);color:#fff;}
html:not(#_) .modal-close:hover, html:not(#_) .modal-nav:hover{background:var(--br-f);}
html:not(#_) .modal-dot{background:rgba(255,250,242,.75);box-shadow:0 0 0 1px rgba(43,26,16,.35);}
html:not(#_) .modal-dot.active{background:var(--br);}
html:not(#_) .modal-name{color:var(--bois);font-family:var(--tf);}
html:not(#_) .modal-meta{color:var(--sourd);}
html:not(#_) .modal-bio{color:var(--bois);}
html:not(#_) .modal-tags span{background:var(--pa-k);color:var(--bois);border:0;border-radius:999px;}
html:not(#_) .modal-favori{color:var(--br-f);}
html:not(#_) .modal-actions .btn-primary, html:not(#_) .btn-cta-overlay{background:var(--br-f);color:#fff !important;border-radius:999px;font-weight:700;box-shadow:var(--lueur);}
html:not(#_) .modal-actions .btn-primary:hover, html:not(#_) .btn-cta-overlay:hover{background:var(--br-n);}
/* inscription, connexion, age gate */
html:not(#_) .popup-card, html:not(#_) .age-gate-modal{background:var(--pa-c);border-radius:26px;border:1px solid var(--pa-s);box-shadow:0 30px 60px rgba(43,26,16,.45);}
html:not(#_) .popup-close{background:var(--bois);color:#fff;}
html:not(#_) .popup-close:hover{background:var(--br-f);color:#fff;}
html:not(#_) .popup-icon{background:var(--br);border-radius:50%;box-shadow:0 0 0 3px var(--pa-c),0 0 0 6px var(--bois);}
html:not(#_) .popup-icon svg{color:#fff;}
html:not(#_) .popup-title, html:not(#_) .age-gate-modal h2{color:var(--bois);font-family:var(--tf);}
html:not(#_) .popup-desc, html:not(#_) .age-gate-body, html:not(#_) .age-gate-footnote{color:var(--sourd);}
html:not(#_) .popup-footer{border-top-color:var(--pa-s);color:var(--sourd);}
html:not(#_) .popup-footer a, html:not(#_) .age-gate-link{color:var(--br-n);}
html:not(#_) .age-gate-lead{color:var(--bois);}
html:not(#_) .age-gate-modal .btn-primary{background:var(--br-f);color:#fff;min-height:48px;border-radius:999px;box-shadow:var(--lueur);}
html:not(#_) .age-gate-modal .btn-outline{border-color:var(--br);color:var(--br-n);border-radius:999px;}

/* 6. Menu mobile : le tiroir reprend la sidebar-carte, lisible à 340 px */
@media (max-width:768px){
html:not(#_) body:has(#ds-menu:checked) aside.sidebar{background:var(--pa);}
html:not(#_) body:has(#ds-menu:checked) .sidebar-inner{padding:58px 16px 24px;border-radius:0;border:0;box-shadow:none;}
html:not(#_) body:has(#ds-menu:checked) .sb-link{min-height:44px;font-size:.9rem;padding:9px 15px;}
html:not(#_) body:has(#ds-menu:checked) .sb-map-quick-link{min-height:44px;font-size:.92rem;}
html:not(#_) body:has(#ds-menu:checked) .sb-silo-region{min-height:44px;font-size:1rem;}
html:not(#_) body:has(#ds-menu:checked) .sb-silo-ville, html:not(#_) body:has(#ds-menu:checked) .sb-top-item{font-size:.94rem;padding:9px 12px;min-height:40px;}
html:not(#_) body:has(#ds-menu:checked) .sb-silo-more{font-size:.9rem;padding:10px 12px;}
html:not(#_) .ds-menu-overlay{background:rgba(43,26,16,.55);}
html:not(#_) .cta-section{margin:2rem auto;padding:44px 18px 28px;border-radius:26px;}
html:not(#_) .cta-section h2{font-size:1.4rem;}
html:not(#_) .profile-photo{margin:8px 8px 0;}
html:not(#_) .profile-age{bottom:9px;font-size:.72rem;padding:4px 10px;}
html:not(#_) .profile-cta{font-size:.82rem;padding:.5rem .4rem;white-space:nowrap;}
html:not(#_) .profile-info{padding:.65rem .6rem .4rem;}
html:not(#_) .profile-footer{padding:.3rem .6rem .75rem;}
}

/* 7. reduced-motion */
@media (prefers-reduced-motion: reduce){
html:not(#_) *, html:not(#_) *::before, html:not(#_) *::after{transition:none !important;animation:none !important;}
html:not(#_) .profile-card:hover, html:not(#_) .link-tag:hover, html:not(#_) .map-list-link:hover, html:not(#_) .sb-link:hover, html:not(#_) .cta-section .btn.btn-primary:hover{transform:none;}
html:not(#_) .profile-card:hover .profile-photo img{transform:none;}
html:not(#_) .profile-card:hover .profile-photo.blurred img{transform:scale(1.06);}
}

/* 8. Corrections après planche : sur desktop les catégories forment une vraie 2ᵉ rangée de pilules en ligne */
@media (min-width:769px){html:not(#_) .sb-nav{flex-direction:row;}html:not(#_) .sb-nav .sb-link{width:auto;flex:0 1 auto;}}
/* fiche profil mobile : bandeau d'actions sur le parche (il restait blanc au-dessus du bouton) */
html:not(#_) .modal-actions{background:var(--pa-c);border-top-color:var(--pa-s);box-shadow:0 -10px 16px -12px rgba(122,58,10,.35);}

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