
/* __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) */
@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; } }

/* sexkontakte-niedersachsen.de — registre « Apotheke » (Astro,cta-faq,select-genre).
   Vert pharmacie #00695c (favicon),blanc,noir ;étiquettes à filets (cadres simples/doubles),angles 2-3 px,petites croix en filigrane,typographie condensée. Sidebar « armoire » à casiers (nav 2×2,top villes 2 col.),barre mobile blanche à liseré vert double,footer étiquette à cadre double et colonnes à filets,CTA étiquette,FAQ à bord gauche épais et « + » qui tourne,badge d'âge bas-gauche. Animations transform seulement,coupées
   sous prefers-reduced-motion. L'outil préfixe chaque sélecteur par html:not(#_). */

html:not(#_){--apo-vert:#00695c;--apo-vert-fonce:#004d40;--apo-vert-nuit:#00332c;--apo-vert-filet:#b2dfdb;--apo-vert-pale:#e0f2f1;--apo-menthe:#eef5f3;--apo-noir:#111111;--apo-gris:#3d4a46;--apo-blanc:#ffffff;--apo-cond:"Arial Narrow","Roboto Condensed","Helvetica Neue Condensed","Liberation Sans Narrow","DejaVu Sans Condensed","Nimbus Sans Narrow",Arial,Helvetica,sans-serif;--apo-croix:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cpath d='M29 26h6v3h3v6h-3v3h-6v-3h-3v-6h3z' fill='%2300695c' fill-opacity='.075'/%3E%3C/svg%3E");/* variables du gabarit redéfinies :fond blanc,texte noir,filets verts,angles vifs */ --bg:#ffffff;--bg-alt:#eef5f3;--bg-card:#ffffff;--text:#111111;--text-muted:#3d4a46;--border:#b2dfdb;--radius:3px;--radius-sm:2px;--shadow:0 1px 0 #b2dfdb;--shadow-lg:4px 4px 0 #b2dfdb;--card-radius:3px;--card-border-w:1px;--card-border-c:#9fcfc8;}
/* Fond de page :blanc,petites croix vertes en filigrane */
html:not(#_) body{background:#ffffff var(--apo-croix) repeat;color:#111;}
html:not(#_) a{color:#00695c;}
html:not(#_) .breadcrumb{color:#3d4a46;font-family:var(--apo-cond);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;}
html:not(#_) .breadcrumb a{color:#00695c;}
@keyframes apo-tiroir{from{transform:translateX(-14px);}
to{transform:none;}
}
@keyframes apo-plaque{from{transform:translateY(-6px);}
to{transform:none;}
}
/* 1) SIDEBAR DESKTOP — « armoire d'apothicaire » :cabinet vert sombre,enseigne blanche à croix,nav en 2×2 tiroirs blancs à poignée,villes sur étagère,top villes en petits casiers. */
html:not(#_) .sidebar{scrollbar-color:#00695c #004d40;}
/* le gabarit est en content-box :sans ça ses width:100% + padding débordent (mesuré 168 px pour une piste de 153) */
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-section-title, html:not(#_) .sb-top-item, html:not(#_) .sb-silo-ville, html:not(#_) .sb-silo-more{box-sizing:border-box;}
@media (min-width:769px){html:not(#_) .ds-menu-close{display:none;}
}
html:not(#_) .sidebar-inner{background:#004d40;border:1px solid #00332c;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 2px 0 #00332c;padding:10px;scrollbar-width:thin;scrollbar-color:#00695c #004d40;animation:apo-tiroir .45s ease-out both;}
/* Enseigne :plaque blanche à cadre double,croix verte,nom en capitales condensées */
html:not(#_) .sb-logo{flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;margin:2px 2px 12px;background:#fff;border:1px solid #00695c;border-radius:2px;box-shadow:0 0 0 3px #fff,0 0 0 4px #00695c;animation:apo-plaque .5s ease-out both;}
html:not(#_) .sb-logo-dot{width:34px;height:34px;border-radius:2px;background:linear-gradient(#fff,#fff) center / 20px 6px no-repeat,linear-gradient(#fff,#fff) center / 6px 20px no-repeat,#00695c;transition:transform .2s ease;}
html:not(#_) .sb-logo-dot svg{display:none;}
html:not(#_) .sb-logo:hover .sb-logo-dot{transform:rotate(90deg);}
html:not(#_) .sb-logo-text{font-family:var(--apo-cond);font-weight:700;font-size:1.02rem;letter-spacing:.12em;text-transform:uppercase;color:#111;max-width:100%;}
/* Nav :quatre tiroirs en grille 2×2,poignée verte en bas */
html:not(#_) .sb-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;}
html:not(#_) .sb-link{position:relative;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:62px;padding:9px 6px 15px;background:#fff;border:1px solid #00695c;border-radius:2px;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #b2dfdb,0 2px 0 #00332c;color:#111;font-family:var(--apo-cond);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:normal;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease;}
html:not(#_) .sb-link::after{content:"";position:absolute;left:50%;bottom:5px;width:16px;height:4px;margin-left:-8px;border-radius:2px;background:#00695c;}
html:not(#_) .sb-link .sb-ico{color:#00695c;}
html:not(#_) .sb-link:hover{background:#e0f2f1;color:#111;transform:translateY(-2px);box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #00695c,0 4px 0 #00332c;}
html:not(#_) .sb-link.active{background:#fff;color:#00695c;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #00695c,0 2px 0 #00332c;}
/* Le tiroir « Registrieren » est vert plein :c'est le clic qui convertit */
html:not(#_) .sb-link[href="/register"]{background:#00695c;color:#fff;box-shadow:inset 0 0 0 2px #00695c,inset 0 0 0 3px #fff,0 2px 0 #00332c;}
html:not(#_) .sb-link[href="/register"] .sb-ico{color:#fff;}
html:not(#_) .sb-link[href="/register"]::after{background:#fff;}
html:not(#_) .sb-link[href="/register"]:hover{background:#004d40;color:#fff;box-shadow:inset 0 0 0 2px #004d40,inset 0 0 0 3px #fff,0 4px 0 #00332c;}
/* Sections :étiquette blanche à bord gauche épais */
html:not(#_) .sb-section{border-top:0;margin:12px 0 0;padding-top:0;}
html:not(#_) .sb-section-title{background:#fff;color:#00695c;border-left:4px solid #00695c;border-radius:0 2px 2px 0;padding:6px 8px;margin-bottom:6px;font-family:var(--apo-cond);font-size:.72rem;letter-spacing:.12em;}
html:not(#_) .sb-section-title .sb-ico{color:#00695c;}
html:not(#_) .sb-map-quick-link{display:flex;justify-content:center;width:100%;min-height:36px;margin-bottom:8px;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.45);border-radius:2px;color:#fff;font-family:var(--apo-cond);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;}
html:not(#_) .sb-map-quick-link:hover{background:#fff;color:#00695c;border-style:solid;border-color:#fff;}
/* Le Land :tiroir blanc ;ses villes :étagère à filet clair */
html:not(#_) .sb-silo-region{background:#fff;border:1px solid #00695c;border-radius:2px;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #b2dfdb,0 2px 0 #00332c;padding:8px 10px;color:#111;font-family:var(--apo-cond);font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:transform .18s ease,background-color .18s ease;}
html:not(#_) .sb-silo-region:hover{background:#e0f2f1;color:#111;transform:translateX(3px);}
html:not(#_) .sb-chevron{color:#00695c;}
html:not(#_) .sb-silo-villes{padding-left:6px;margin-top:6px;border-left:1px solid rgba(255,255,255,.28);}
html:not(#_) .sb-silo-ville{color:#d9efeb;font-size:.8rem;padding:4px 8px;border-radius:2px;}
html:not(#_) .sb-silo-ville:hover{background:rgba(255,255,255,.1);color:#fff;}
html:not(#_) .sb-silo-more{color:#fff;font-family:var(--apo-cond);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;padding:6px 8px;}
html:not(#_) .sb-silo-more:hover{text-decoration:underline;text-underline-offset:3px;}
/* Top villes :petits casiers en deux colonnes */
html:not(#_) .sb-top-list{display:grid;grid-template-columns:1fr 1fr;gap:4px;}
html:not(#_) .sb-top-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.22);border-radius:2px;padding:6px 7px;color:#e6f2f0;font-family:var(--apo-cond);font-size:.76rem;letter-spacing:.03em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html:not(#_) .sb-top-item .sb-ico{color:#b2dfdb;}
html:not(#_) .sb-top-item:hover{background:#fff;color:#00695c;border-color:#fff;}
html:not(#_) .sb-top-item:hover .sb-ico{color:#00695c;}
/* 2) BARRE MOBILE — bandeau blanc,liseré vert double,noir + vert */
html:not(#_) .mobile-guest-top{background:#fff;color:#111;border-bottom:3px solid #00695c;box-shadow:0 3px 0 #fff,0 4px 0 #00695c;}
html:not(#_) .mobile-guest-head{border-bottom:1px solid #b2dfdb;}
html:not(#_) .mobile-guest-brand{display:inline-flex;align-items:center;gap:8px;color:#111 !important;font-family:var(--apo-cond);font-size:1.02rem;letter-spacing:.1em;text-transform:uppercase;}
html:not(#_) .mobile-guest-brand::before{content:"";flex:none;width:16px;height:16px;border-radius:2px;background:linear-gradient(#fff,#fff) center / 10px 3px no-repeat,linear-gradient(#fff,#fff) center / 3px 10px no-repeat,#00695c;}
html:not(#_) .mobile-guest-login{color:#00695c !important;border:1px solid #00695c;border-radius:2px;padding:5px 10px;font-family:var(--apo-cond);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;}
html:not(#_) .mobile-guest-cta-offer{color:#00695c;letter-spacing:.1em;font-family:var(--apo-cond);font-size:.72rem;}
html:not(#_) .mobile-guest-cta-kw{color:#111;font-family:var(--apo-cond);letter-spacing:.06em;text-transform:uppercase;font-size:1rem;}
html:not(#_) .mobile-guest-timer-label{color:#3d4a46;font-family:var(--apo-cond);letter-spacing:.1em;}
html:not(#_) .mobile-guest-timer{color:#00695c;font-family:var(--apo-cond);font-size:1.15rem;}
html:not(#_) .mobile-guest-cta-btn{display:flex;align-items:center;justify-content:center;min-height:44px;background:#00695c;color:#fff !important;border-radius:2px;border:1px solid #004d40;box-shadow:3px 3px 0 #004d40;font-family:var(--apo-cond);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;}
html:not(#_) .mobile-guest-cta-btn:active{box-shadow:1px 1px 0 #004d40;}
/* Barre basse :blanche,filet vert en haut,onglet actif sur étiquette menthe */
html:not(#_) .bottom-bar{background:#fff;border-top:2px solid #00695c;box-shadow:0 -1px 0 #fff,0 -4px 0 rgba(0,105,92,.15);}
html:not(#_) .btab{color:#3d4a46;border-radius:2px;padding:5px 12px;}
html:not(#_) .btab:hover{color:#00695c;}
html:not(#_) .btab.active{color:#00695c;background:#e0f2f1;box-shadow:inset 0 2px 0 #00695c;}
html:not(#_) .btab-lbl{font-family:var(--apo-cond);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;}
/* 3) FOOTER — grande étiquette blanche à cadre double,colonnes séparées par des filets,ligne de copyright en fin d'ordonnance */
html:not(#_) .footer-v1{background:#fff var(--apo-croix) repeat;color:#111;border-top:3px solid #00695c;padding:32px 16px 28px;margin-top:3rem;}
html:not(#_) .footer-inner{background:#fff;border:1px solid #00695c;box-shadow:0 0 0 4px #fff,0 0 0 5px #00695c;border-radius:2px;padding:28px 24px 18px;}
html:not(#_) .footer-grid{gap:24px;margin-bottom:20px;}
html:not(#_) .footer-col:last-child:not(:has(*)){display:none;}
html:not(#_) .footer-col h4{color:#00695c;font-family:var(--apo-cond);font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;padding-bottom:6px;margin-bottom:12px;border-bottom:1px solid #00695c;}
html:not(#_) .footer-col p{color:#3d4a46;line-height:1.6;}
html:not(#_) .footer-col ul{padding-left:0;margin:0;}
html:not(#_) .footer-col li{margin-bottom:.45rem;}
html:not(#_) .footer-col a{color:#111;text-decoration:none;background:linear-gradient(#00695c,#00695c) left bottom / 0 1px no-repeat;transition:background-size .2s ease,color .2s ease;}
html:not(#_) .footer-col a:hover{color:#00695c;background-size:100% 1px;}
html:not(#_) .footer-bottom{border-top:3px double #00695c;padding-top:14px;color:#3d4a46;font-family:var(--apo-cond);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;}
@media (min-width:768px){html:not(#_) .footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:0;}
html:not(#_) .footer-col{padding:0 22px;}
html:not(#_) .footer-col:first-child{padding-left:0;}
html:not(#_) .footer-col + .footer-col{border-left:1px solid #b2dfdb;}
}
/* 4) MISE EN PAGE — Astro · cta-faq (copiée telle quelle depuis app/design_recettes_v3.css) */
@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;}
html:not(#_) body.design-v-cta-faq div.container > section.section > .info-duo{grid-template-columns:minmax(0,1fr);}
}
/* 5) THÈME PROFOND — titres,en-têtes de page,pilules,cartes,filtres,pagination,CTA,FAQ,carte,liens,pop-ups,age gate */
/* Titres de section :étiquette condensée,bloc vert + filet qui court */
html:not(#_) .section h2, html:not(#_) .section-header h2, html:not(#_) .rcs-title{display:flex;align-items:center;gap:12px;font-family:var(--apo-cond);font-weight:700;font-size:1.4rem;letter-spacing:.05em;text-transform:uppercase;color:#111;margin-bottom:18px;}
html:not(#_) .section h2::before, html:not(#_) .section-header h2::before, html:not(#_) .rcs-title::before{content:"";flex:none;width:7px;height:1em;background:#00695c;}
html:not(#_) .section h2::after, html:not(#_) .section-header h2::after, html:not(#_) .rcs-title::after{content:"";flex:1 1 24px;min-width:24px;height:1px;background:#b2dfdb;}
html:not(#_) .section h2.info-duo-title::before, html:not(#_) .section h2.info-duo-title::after{display:none;}
html:not(#_) .seo-content p{color:#3d4a46;}
html:not(#_) .seo-text{color:#3d4a46;}
/* En-tête « magazine » de l'accueil et en-tête de page ville */
html:not(#_) .magazine-header{border-bottom:4px double #00695c;padding-bottom:1.5rem;}
html:not(#_) .magazine-header h1{font-family:var(--apo-cond);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#111;}
html:not(#_) .magazine-intro{color:#3d4a46;}
html:not(#_) .region-tag{background:#fff;color:#00695c;border:1px solid #00695c;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #b2dfdb;border-radius:2px;padding:.3rem .8rem;font-family:var(--apo-cond);letter-spacing:.14em;}
html:not(#_) .profile-count{color:#3d4a46;font-family:var(--apo-cond);letter-spacing:.08em;text-transform:uppercase;}
html:not(#_) .page-header{border-bottom:4px double #00695c;padding-bottom:18px;margin-bottom:22px;}
html:not(#_) .page-header h1{font-family:var(--apo-cond);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#111;}
html:not(#_) .page-header p{color:#00695c;font-family:var(--apo-cond);font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;}
/* Pilules de villes,tags de liens,bandeau de villes :étiquettes rectangulaires */
html:not(#_) .ville-pills{gap:6px;}
html:not(#_) .ville-pills .pill, html:not(#_) .links-grid .link-tag, html:not(#_) .rcs-chip{background:#fff;color:#111;border:1px solid #b2dfdb;border-radius:2px;font-family:var(--apo-cond);font-weight:700;letter-spacing:.05em;text-transform:uppercase;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;}
html:not(#_) .ville-pills .pill{padding:.5rem .85rem;font-size:.76rem;min-height:36px;display:inline-flex;align-items:center;}
html:not(#_) .links-grid .link-tag{font-size:.8rem;padding:10px 12px;}
html:not(#_) .rcs-chip{font-size:.78rem;}
html:not(#_) .ville-pills .pill:hover, html:not(#_) .links-grid .link-tag:hover, html:not(#_) .rcs-chip:hover{background:#00695c;color:#fff;border-color:#00695c;box-shadow:2px 2px 0 #004d40;transform:none;}
html:not(#_) .regional-cities-strip{background:#eef5f3;border-top:1px solid #b2dfdb;border-bottom:1px solid #b2dfdb;}
html:not(#_) .rcs-fade-left{background:linear-gradient(to right,#eef5f3,rgba(238,245,243,0));}
html:not(#_) .rcs-fade-right{background:linear-gradient(to left,#eef5f3,rgba(238,245,243,0));}
html:not(#_) .regional-map-section{border:1px solid #00695c;border-radius:3px;box-shadow:0 0 0 3px #fff,0 0 0 4px #b2dfdb;}
html:not(#_) .regional-map-head p{color:#3d4a46;}
html:not(#_) .regional-map-canvas, html:not(#_) .regional-map-stage{border-radius:2px;}
html:not(#_) .regional-map-cta .btn{border-radius:2px;}
/* Cartes profil :étiquette blanche à filet,badge d'âge en bas à gauche,ombre nette au survol */
html:not(#_) .profile-card{border-radius:3px;border:1px solid #9fcfc8;box-shadow:0 1px 0 #b2dfdb;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
html:not(#_) .profile-card:hover{transform:translateY(-3px);border-color:#00695c;box-shadow:5px 5px 0 #b2dfdb;}
html:not(#_) .profile-photo{border-bottom:1px solid #b2dfdb;}
html:not(#_) .profile-age{top:auto;right:auto;bottom:8px;left:8px;background:#fff;color:#00695c;border:1px solid #00695c;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #b2dfdb;border-radius:2px;padding:.28rem .55rem;font-family:var(--apo-cond);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
html:not(#_) .profile-lock{background:#00695c;border-radius:2px;}
html:not(#_) .profile-title{color:#00695c;font-family:var(--apo-cond);font-size:1rem;letter-spacing:.02em;}
html:not(#_) .profile-name{color:#111;font-family:var(--apo-cond);font-size:1.08rem;letter-spacing:.04em;text-transform:uppercase;}
html:not(#_) .profile-ville{color:#3d4a46;font-size:.8rem;}
html:not(#_) .profile-bio{color:#3d4a46;}
html:not(#_) .profile-footer{border-top:1px dashed #b2dfdb;padding:.55rem .75rem .7rem;}
html:not(#_) .profile-cta{background:#fff;color:#00695c;border:1px solid #00695c;border-radius:2px;font-family:var(--apo-cond);font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;min-height:38px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease;}
html:not(#_) .profile-card:hover .profile-cta{background:#00695c;color:#fff;}
/* Filtres :étiquettes rectangulaires condensées ;le select de genre suit le même style */
html:not(#_) .filters{gap:6px;margin-bottom:22px;}
html:not(#_) .filter-btn{min-height:40px;padding:7px 14px;background:#fff;color:#00695c;border:1px solid #00695c;border-radius:2px;font-family:var(--apo-cond);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;}
html:not(#_) .filter-btn:hover, html:not(#_) .filter-btn.active{background:#00695c;color:#fff;border-color:#00695c;box-shadow:2px 2px 0 #004d40;}
html:not(#_) .filters select.ds-fsel{padding-right:2.2em;color:#00695c;background-color:#fff;}
html:not(#_) .filters select.ds-fsel:hover{color:#fff;background-color:#00695c;}
html:not(#_) .filters select.ds-fsel option{color:#111;background:#fff;}
/* Pagination :cases carrées à filet,la courante en vert */
html:not(#_) .pagination-link, html:not(#_) .pagination-current, html:not(#_) .pagination-ellipsis{border-radius:2px;font-family:var(--apo-cond);font-size:1.05rem;}
html:not(#_) .pagination-link{background:#fff;border:1px solid #b2dfdb;color:#111 !important;}
html:not(#_) .pagination-link:hover{background:#e0f2f1;border-color:#00695c;color:#00695c !important;}
html:not(#_) .pagination-current{background:#00695c;border:1px solid #00695c;box-shadow:2px 2px 0 #004d40;}
html:not(#_) .pagination-ellipsis{color:#3d4a46;}
/* Boutons :rectangulaires,condensés,ombre nette qui se décale au survol */
html:not(#_) .btn{border-radius:2px;font-family:var(--apo-cond);letter-spacing:.08em;text-transform:uppercase;font-weight:700;}
html:not(#_) .btn-primary{background:#00695c;color:#fff;box-shadow:3px 3px 0 #004d40;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;}
html:not(#_) .btn-primary:hover{filter:none;background:#004d40;transform:translate(-1px,-1px);box-shadow:5px 5px 0 #00332c;}
html:not(#_) .btn-outline{border:2px solid #00695c;color:#00695c;}
html:not(#_) .btn-outline:hover{background:#00695c;color:#fff;}
html:not(#_) .btn-lg{min-height:50px;font-size:1.05rem;}
/* CTA de milieu de page :étiquette blanche à cadre double,croix en filigrane,texte noir */
html:not(#_) .cta-section{background:#fff var(--apo-croix) repeat;color:#111;border:1px solid #00695c;box-shadow:0 0 0 4px #fff,0 0 0 5px #00695c;border-radius:2px;padding:40px 28px;margin:8px 0 32px;align-items:center;}
html:not(#_) .cta-section h2{color:#111;font-family:var(--apo-cond);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:1.9rem;}
html:not(#_) .cta-section p{color:#3d4a46;}
/* FAQ :colonne à cadre,titre sur bandeau vert,questions à bord gauche épais,« + » qui tourne */
html:not(#_) .info-duo-col{border:1px solid #00695c;border-radius:3px;box-shadow:0 0 0 3px #fff,0 0 0 4px #b2dfdb;background:#fff;}
html:not(#_) .info-duo-title{background:#00695c;color:#fff;border-bottom:0;font-family:var(--apo-cond);font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;padding:14px 18px;}
html:not(#_) .accordion-item{border-bottom:1px solid #b2dfdb;}
html:not(#_) .accordion-header{border-left:5px solid transparent;padding:14px 16px 14px 14px;color:#111;font-family:var(--apo-cond);font-size:1rem;letter-spacing:.02em;transition:background-color .15s ease,border-color .15s ease;}
html:not(#_) .accordion-header:hover{background:#eef5f3;border-left-color:#b2dfdb;}
html:not(#_) .accordion-item[open] > .accordion-header{background:#e0f2f1;border-left-color:#00695c;}
html:not(#_) .accordion-header::after{width:12px;height:12px;border:0;background:linear-gradient(#00695c,#00695c) center / 100% 2px no-repeat,linear-gradient(#00695c,#00695c) center / 2px 100% no-repeat;transform:none;margin-top:.3em;transition:transform .25s ease;}
html:not(#_) .accordion-item[open] > .accordion-header::after{transform:rotate(45deg);}
html:not(#_) .accordion-body{color:#3d4a46;border-left:5px solid #00695c;padding:6px 18px 16px 14px;}
html:not(#_) .ville-map-card{border:1px solid #00695c;border-radius:3px;box-shadow:0 0 0 3px #fff,0 0 0 4px #b2dfdb;}
html:not(#_) .ville-map-header{background:#eef5f3;border-bottom:1px solid #b2dfdb;}
html:not(#_) .ville-map-header h3{font-family:var(--apo-cond);letter-spacing:.06em;text-transform:uppercase;color:#111;}
html:not(#_) .ville-map-badge{background:#00695c;border-radius:2px;font-family:var(--apo-cond);letter-spacing:.06em;}
html:not(#_) .ville-map-container{border-radius:0;}
/* Retour en haut :carré vert cerclé de blanc (couleurs/bords seulement,jamais transform) */
html:not(#_) .back-to-top{border-radius:2px;background:#00695c;border:2px solid #fff;box-shadow:0 0 0 1px #00695c,3px 3px 0 #004d40;font-family:var(--apo-cond);font-weight:700;}
/* Pop-up profil :cadre vert,boutons et méta dans le registre (aucun display/position/transform/overflow) */
html:not(#_) .modal-content{border-radius:3px;border:1px solid #00695c;box-shadow:0 0 0 4px #fff,0 0 0 5px #00695c;}
html:not(#_) .modal-carousel{border-radius:2px 2px 0 0;}
html:not(#_) .modal-close{background:#00695c;border-radius:2px;}
html:not(#_) .modal-nav{border-radius:2px;background:rgba(0,77,64,.75);}
html:not(#_) .modal-nav:hover{background:#00695c;}
html:not(#_) .modal-dot.active{background:#fff;border-radius:2px;}
html:not(#_) .modal-body h3{font-family:var(--apo-cond);letter-spacing:.04em;text-transform:uppercase;color:#111;}
html:not(#_) .modal-body .modal-meta{color:#00695c;font-family:var(--apo-cond);letter-spacing:.06em;text-transform:uppercase;}
html:not(#_) .modal-body .modal-tag{background:#e0f2f1;color:#004d40;border:1px solid #b2dfdb;border-radius:2px;font-family:var(--apo-cond);letter-spacing:.04em;}
html:not(#_) .modal-favori:hover{color:#00695c;}
html:not(#_) .btn-cta-overlay{background:#00695c;border:2px solid #fff;border-radius:2px;font-family:var(--apo-cond);letter-spacing:.08em;text-transform:uppercase;}
html:not(#_) .modal-actions.modal-actions-sticky{border-top:1px dashed #b2dfdb;}
@media (min-width:768px){html:not(#_) .modal-carousel{border-radius:2px 0 0 2px;}
}
/* Pop-ups d'inscription / connexion et age gate :étiquettes à cadre double (couleurs,bordures,rayons seulement) */
html:not(#_) .popup-card{border-radius:3px;border:1px solid #00695c;box-shadow:0 0 0 4px #fff,0 0 0 5px #00695c,0 24px 60px rgba(0,51,44,.35);}
html:not(#_) .popup-close{background:#e0f2f1;color:#00695c;border-radius:2px;border:1px solid #b2dfdb;}
html:not(#_) .popup-close:hover{background:#00695c;color:#fff;}
html:not(#_) .popup-icon{background:#e0f2f1;border:1px solid #b2dfdb;border-radius:3px;}
html:not(#_) .popup-icon svg{color:#00695c;}
html:not(#_) .popup-icon-login{background:#e0f2f1;}
html:not(#_) .popup-icon-login svg{color:#00695c;}
html:not(#_) .popup-title{font-family:var(--apo-cond);letter-spacing:.06em;text-transform:uppercase;color:#111;}
html:not(#_) .popup-desc{color:#3d4a46;}
html:not(#_) .popup-btn{background:#00695c;border-radius:2px;font-family:var(--apo-cond);letter-spacing:.08em;text-transform:uppercase;box-shadow:3px 3px 0 #004d40;}
html:not(#_) .popup-field input{border:1px solid #b2dfdb;border-radius:2px;}
html:not(#_) .popup-field input:focus{border-color:#00695c;}
html:not(#_) .popup-footer{border-top:3px double #b2dfdb;color:#3d4a46;}
html:not(#_) .popup-footer a{color:#00695c;}
html:not(#_) .popup-alert{border-radius:2px;}
html:not(#_) .age-gate-modal{border-radius:3px;border:1px solid #00695c;box-shadow:0 0 0 5px #fff,0 0 0 6px #00695c;}
html:not(#_) .age-gate-modal h2{font-family:var(--apo-cond);letter-spacing:.06em;text-transform:uppercase;color:#111;}
html:not(#_) .age-gate-link{color:#00695c;}
/* 6) MENU MOBILE — burger et croix dans le registre,tiroir = le cabinet vert (mécanisme du socle intouché :couleurs,tailles,espacements ≥ 40 px seulement) */
html:not(#_) .ds-burger{color:#00695c;border:1px solid #00695c;border-radius:2px;background:#fff;}
html:not(#_) body:has(#ds-menu:checked) .ds-burger{background:#00695c;color:#fff;}
html:not(#_) .ds-menu-overlay{background:rgba(0,51,44,.6);}
html:not(#_) body:has(#ds-menu:checked) aside.sidebar{background:#004d40;border-right:3px solid #00695c;min-height:100vh;min-height:100dvh;}
html:not(#_) body:has(#ds-menu:checked) aside.sidebar .sidebar-inner{animation:none;border-color:rgba(255,255,255,.12);}
html:not(#_) .ds-menu-close{background:#fff;color:#00695c;border:1px solid #00695c;border-radius:2px;box-shadow:2px 2px 0 #00332c;font-family:var(--apo-cond);}
html:not(#_) .ds-menu-close:hover{background:#00695c;color:#fff;}
@media (max-width:768px){html:not(#_) body:has(#ds-menu:checked) .sb-logo{margin-right:44px;}
html:not(#_) .sb-logo-text{font-size:1.05rem;}
html:not(#_) .sb-link{min-height:66px;font-size:.84rem;}
html:not(#_) .sb-section-title{font-size:.78rem;padding:8px 10px;}
html:not(#_) .sb-map-quick-link{min-height:44px;font-size:.86rem;}
html:not(#_) .sb-silo-region{min-height:44px;font-size:.9rem;}
html:not(#_) .sb-silo-ville{min-height:40px;display:flex;align-items:center;font-size:.9rem;padding:4px 10px;}
html:not(#_) .sb-silo-more{min-height:40px;display:flex;align-items:center;font-size:.82rem;}
html:not(#_) .sb-top-item{min-height:40px;display:flex;align-items:center;font-size:.84rem;}
}
/* 7) Animations coupées */
@media (prefers-reduced-motion:reduce){html:not(#_) .sidebar-inner, html:not(#_) .sb-logo{animation:none !important;}
html:not(#_) .sb-link, html:not(#_) .sb-silo-region, html:not(#_) .sb-logo-dot, html:not(#_) .profile-card, html:not(#_) .btn-primary, html:not(#_) .accordion-header::after, html:not(#_) .footer-col a, html:not(#_) .filter-btn, html:not(#_) .profile-cta, html:not(#_) .ville-pills .pill, html:not(#_) .links-grid .link-tag, html:not(#_) .rcs-chip, html:not(#_) .mobile-guest-cta-btn{transition:none !important;}
html:not(#_) .sb-link:hover, html:not(#_) .sb-silo-region:hover, html:not(#_) .sb-logo:hover .sb-logo-dot, html:not(#_) .profile-card:hover, html:not(#_) .btn-primary:hover{transform:none !important;}
}

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