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

/* meet-trans.us — PALM SPRINGS (lot US, 12/10). Prune #8e44ad (favicon) + sable rosé #f5e6dc + encre prune-brun #2b1c2c.
   Registre : la maison mid-century du désert — écrans de béton ajourés (breeze blocks), ombres nettes de palmes sur un mur
   rosé, portes en arche. Trois formes signature : (1) ARCHE BASSE — cartes profil, panneau de la sidebar, carte CTA,
   chiffres du héros, porte d'âge ; (2) ÉCRAN AJOURÉ — colonne de blocs le long de la sidebar, filet du footer, petit bloc
   devant les titres, liseré de la barre mobile ; (3) OMBRE DE PALME — sur le héros, la carte CTA, le bandeau mobile.
   Composition : sidebar ÉTROITE à gauche (logo centré sous l'arche, liens en pilules) · barre mobile sable + bandeau prune ·
   footer en UNE LIGNE (pilule) sous un filet ajouré, ruban discret des États/villes dessous. Site trans : ton féminin,
   chaleureux, respectueux. */

/* 0. Palette, motifs et variables du gabarit */
html:not(#_){
  --fr-ombre:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cpath fill-opacity='.075' fill='%232b1c2c' d='M8 237 L18 223 L28 209 L38 196 L50 183 L61 170 L74 157 L87 145 L101 134 L115 122 L130 112 L146 101 L162 91 L179 81 L197 72 L215 63 L234 54 L234 54 L215 62 L196 71 L179 80 L162 89 L145 99 L129 110 L114 120 L99 131 L85 143 L72 155 L59 167 L46 180 L35 193 L24 206 L14 220 L4 235Z M22 215Q50 213 84 202Q49 206 21 211Z M24 213Q22 184 14 150Q16 185 20 214Z M35 199Q67 197 105 188Q66 191 34 195Z M36 197Q36 165 29 126Q29 165 32 197Z M48 183Q82 183 124 176Q82 176 48 179Z M50 181Q51 147 46 105Q45 147 46 181Z M63 168Q98 169 141 164Q98 163 63 164Z M65 166Q68 131 64 88Q61 131 60 166Z M78 153Q113 156 156 153Q113 150 78 149Z M80 151Q85 116 84 73Q78 116 76 151Z M94 139Q128 144 170 143Q128 137 95 135Z M96 137Q103 104 103 62Q96 103 92 137Z M111 126Q143 131 182 132Q143 125 112 121Z M114 124Q121 93 123 54Q114 92 110 123Z M129 113Q158 119 193 121Q159 113 130 108Z M132 111Q140 83 143 48Q133 82 128 110Z M148 100Q173 107 204 109Q174 101 149 96Z M151 99Q159 75 163 44Q153 73 147 98Z M168 88Q188 95 214 98Q190 89 169 84Z M171 87Q179 67 182 41Q172 65 167 86Z M189 77Q204 84 225 85Q206 77 190 73Z M192 76Q199 60 202 40Q193 58 188 74Z M211 66Q222 72 237 73Q224 66 212 62Z M213 65Q220 54 221 39Q213 52 209 63Z'/%3E%3C/svg%3E");
  --fr-prune:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cpath fill-opacity='.34' fill='%233a0f4f' d='M8 237 L18 223 L28 209 L38 196 L50 183 L61 170 L74 157 L87 145 L101 134 L115 122 L130 112 L146 101 L162 91 L179 81 L197 72 L215 63 L234 54 L234 54 L215 62 L196 71 L179 80 L162 89 L145 99 L129 110 L114 120 L99 131 L85 143 L72 155 L59 167 L46 180 L35 193 L24 206 L14 220 L4 235Z M22 215Q50 213 84 202Q49 206 21 211Z M24 213Q22 184 14 150Q16 185 20 214Z M35 199Q67 197 105 188Q66 191 34 195Z M36 197Q36 165 29 126Q29 165 32 197Z M48 183Q82 183 124 176Q82 176 48 179Z M50 181Q51 147 46 105Q45 147 46 181Z M63 168Q98 169 141 164Q98 163 63 164Z M65 166Q68 131 64 88Q61 131 60 166Z M78 153Q113 156 156 153Q113 150 78 149Z M80 151Q85 116 84 73Q78 116 76 151Z M94 139Q128 144 170 143Q128 137 95 135Z M96 137Q103 104 103 62Q96 103 92 137Z M111 126Q143 131 182 132Q143 125 112 121Z M114 124Q121 93 123 54Q114 92 110 123Z M129 113Q158 119 193 121Q159 113 130 108Z M132 111Q140 83 143 48Q133 82 128 110Z M148 100Q173 107 204 109Q174 101 149 96Z M151 99Q159 75 163 44Q153 73 147 98Z M168 88Q188 95 214 98Q190 89 169 84Z M171 87Q179 67 182 41Q172 65 167 86Z M189 77Q204 84 225 85Q206 77 190 73Z M192 76Q199 60 202 40Q193 58 188 74Z M211 66Q222 72 237 73Q224 66 212 62Z M213 65Q220 54 221 39Q213 52 209 63Z'/%3E%3C/svg%3E");
  --bz:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Crect x='1.5' y='1.5' width='25' height='25' rx='4' fill='none' stroke='%238e44ad' stroke-width='1.7'/%3E%3Ccircle cx='14.0' cy='14.0' r='6.72' fill='none' stroke='%238e44ad' stroke-width='1.7'/%3E%3Cpath d='M14.0 1.5V7.28 M14.0 20.72V26.5 M1.5 14.0H7.28 M20.72 14.0H26.5' stroke='%238e44ad' stroke-width='1.36'/%3E%3C/svg%3E");
  --bz-voile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Crect x='1.5' y='1.5' width='25' height='25' rx='4' fill='none' stroke='%23a265bd' stroke-width='1.7'/%3E%3Ccircle cx='14.0' cy='14.0' r='6.72' fill='none' stroke='%23a265bd' stroke-width='1.7'/%3E%3Cpath d='M14.0 1.5V7.28 M14.0 20.72V26.5 M1.5 14.0H7.28 M20.72 14.0H26.5' stroke='%23a265bd' stroke-width='1.36'/%3E%3C/svg%3E");
  --bz-sable:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Crect x='1.5' y='1.5' width='25' height='25' rx='4' fill='none' stroke='%23d9b9a7' stroke-width='1.7'/%3E%3Ccircle cx='14.0' cy='14.0' r='6.72' fill='none' stroke='%23d9b9a7' stroke-width='1.7'/%3E%3Cpath d='M14.0 1.5V7.28 M14.0 20.72V26.5 M1.5 14.0H7.28 M20.72 14.0H26.5' stroke='%23d9b9a7' stroke-width='1.36'/%3E%3C/svg%3E");
  --pr:#8e44ad;--pr-f:#6f3189;--pr-n:#4a1d5e;--sa:#f5e6dc;--sa-c:#fbf4ee;--sa-b:#fffaf6;--sa-s:#ead3c5;--sa-d:#e2c6b6;--sa-f:#efdccf;
  --encre:#2b1c2c;--sourd:#64505b;
  --tt:'Futura','Century Gothic','Avenir Next','Josefin Sans','Trebuchet MS',sans-serif;
  --arche:50% 50% 16px 16px / 60px 60px 16px 16px;
  --doux:0 18px 34px -22px rgba(74,29,94,.42),0 2px 6px rgba(74,29,94,.06);
  --lueur:0 12px 24px -10px rgba(142,68,173,.6);
  --primary:#8e44ad;--secondary:#6f3189;--bg:#f5e6dc;--bg-alt:#fbf4ee;--bg-card:#fffaf6;--text:#2b1c2c;--text-muted:#64505b;--border:#ead3c5;
  --radius:22px;--radius-sm:14px;--card-radius:16px;--card-border-w:1px;--card-border-c:#ead3c5;
  --shadow:0 1px 2px rgba(74,29,94,.06);--shadow-lg:var(--doux);--sidebar-w:196px;
}
html:not(#_) body{--primary:#8e44ad !important;--secondary:#6f3189 !important;background:var(--sa);color:var(--encre);}
html:not(#_) h1, html:not(#_) h2, html:not(#_) h3, html:not(#_) h4{font-family:var(--tt);color:var(--encre);letter-spacing:.01em;overflow-wrap:anywhere;}
html:not(#_) a{color:var(--pr-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(#_) .sidebar-inner{box-sizing:border-box;}

/* 1. Sidebar étroite à gauche : panneau sable clair coiffé d'une arche, colonne de blocs ajourés le long du bord */
html:not(#_) .sidebar{width:196px;padding:14px 26px 14px 12px;background:var(--sa) var(--bz-sable) repeat-y right 4px top 14px/16px 16px;}
html:not(#_) .sidebar-inner{background:var(--sa-c);border:1px solid var(--sa-s);border-radius:98px 98px 22px 22px / 64px 64px 22px 22px;box-shadow:var(--doux);padding:22px 10px 16px;scrollbar-width:thin;scrollbar-color:rgba(142,68,173,.35) transparent;}
html:not(#_) .sb-logo{flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:4px 4px 14px;margin:0 0 10px;border-bottom:1px dashed var(--sa-d);text-align:center;}
html:not(#_) .sb-logo-dot{width:44px;height:52px;flex:0 0 auto;border-radius:22px 22px 6px 6px;background:var(--pr);box-shadow:0 0 0 3px var(--sa-c),0 0 0 4px var(--sa-d),var(--lueur);}
html:not(#_) .sb-logo-dot svg{color:var(--sa-c);}
html:not(#_) .sb-logo-text{color:var(--encre);font-family:var(--tt);font-weight:600;font-size:1.08rem;letter-spacing:.02em;white-space:normal;}
html:not(#_) .sb-nav{gap:3px;margin-bottom:10px;}
html:not(#_) .sb-link{padding:8px 12px;min-height:40px;border-radius:999px;color:var(--encre);font-size:.86rem;font-weight:600;transition:background .15s,color .15s,transform .15s;}
html:not(#_) .sb-link .sb-ico{color:var(--pr);}
html:not(#_) .sb-link:hover{background:var(--sa-f);color:var(--pr-n);transform:translateX(2px);}
html:not(#_) .sb-link.active{background:var(--pr);color:var(--sa-c);box-shadow:var(--lueur);}
html:not(#_) .sb-link.active .sb-ico{color:var(--sa-c);}
html:not(#_) .sb-section{border-top:1px dashed var(--sa-d);padding-top:10px;}
html:not(#_) .sb-section-title{color:var(--sourd);font-family:var(--tt);font-size:.74rem;font-weight:600;letter-spacing:.14em;padding:6px 12px;}
html:not(#_) .sb-section-title .sb-ico, html:not(#_) .sb-top-item .sb-ico{color:var(--pr);}
html:not(#_) .sb-map-quick-link{display:flex;width:100%;margin:2px 0 8px;padding:8px 12px;min-height:38px;border-radius:999px;background:var(--sa-f);color:var(--pr-n);font-size:.82rem;font-weight:700;}
html:not(#_) .sb-map-quick-link .sb-ico{color:var(--pr);}
html:not(#_) .sb-map-quick-link:hover{background:var(--pr);color:var(--sa-c);}
html:not(#_) .sb-map-quick-link:hover .sb-ico{color:var(--sa-c);}
html:not(#_) .sb-silo-region{color:var(--encre);font-size:.86rem;font-weight:600;border-radius:999px;padding:7px 12px;}
html:not(#_) .sb-silo-region:hover{background:var(--sa-f);color:var(--pr-n);}
html:not(#_) .sb-chevron{color:var(--pr);}
html:not(#_) .sb-silo-villes{border-left:2px solid var(--sa-d);margin-left:14px;padding-left:6px;}
html:not(#_) .sb-silo-ville{color:var(--sourd);font-size:.8rem;border-radius:10px;}
html:not(#_) .sb-silo-ville:hover{background:var(--sa-f);color:var(--pr-n);}
html:not(#_) .sb-silo-more{color:var(--pr-f);font-weight:700;}
html:not(#_) .sb-top-item{color:var(--encre);font-size:.82rem;border-radius:999px;}
html:not(#_) .sb-top-item:hover{background:var(--sa-f);color:var(--pr-n);}
html:not(#_) .sb-footer{border-top:1px dashed var(--sa-d);}
html:not(#_) .sb-foot-link{color:var(--sourd);}
html:not(#_) .sb-foot-link:hover{color:var(--pr-n);background:var(--sa-f);}

/* 2. Barre mobile : rangée sable (marque à gauche, connexion pilule à droite), liseré ajouré, bandeau prune à palme */
html:not(#_) .mobile-guest-top{background:var(--sa-c);color:var(--encre) !important;box-shadow:0 12px 24px -16px rgba(74,29,94,.6);}
html:not(#_) .mobile-guest-head{height:48px;padding:0 10px;border-bottom:0;background:var(--sa-c);}
html:not(#_) .mobile-guest-brand{color:var(--encre) !important;font-family:var(--tt);font-weight:600;font-size:1.1rem;letter-spacing:.02em;max-width:52%;}
html:not(#_) .mobile-guest-login{color:var(--pr-n) !important;border:1.5px solid var(--pr);border-radius:999px;padding:5px 14px;min-height:34px;display:inline-flex;align-items:center;font-size:.8rem;font-weight:700;background:var(--sa-b);}
html:not(#_) .mobile-guest-cta{position:relative;padding:14px 12px 11px;background:var(--pr) var(--fr-prune) no-repeat right -30px top -40px/170px 170px;}
html:not(#_) .mobile-guest-cta::before{content:'';position:absolute;left:0;right:0;top:0;height:8px;background:var(--sa-c) var(--bz) repeat-x left top/8px 8px;opacity:.9;}
html:not(#_) .mobile-guest-cta-row{margin-bottom:8px;}
html:not(#_) .mobile-guest-cta-offer{color:var(--sa-c) !important;letter-spacing:.1em;font-weight:700;}
html:not(#_) .mobile-guest-cta-kw{color:var(--sa-c) !important;font-family:var(--tt);font-weight:600;font-size:1.02rem;}
html:not(#_) .mobile-guest-timer-label{color:var(--sa-c) !important;}
html:not(#_) .mobile-guest-timer{color:var(--pr-n) !important;background:var(--sa-c);padding:3px 11px;border-radius:999px;font-weight:700;}
html:not(#_) .mobile-guest-cta-btn{min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--sa-c);color:var(--pr-n) !important;border-radius:999px;font-weight:700;font-size:.95rem;box-shadow:0 10px 20px -10px rgba(26,6,36,.7);}
@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(--pr-n);background:var(--sa-f);border:1px solid var(--sa-d);border-radius:999px;width:42px;height:34px;}
html:not(#_) .ds-menu-close{background:var(--pr);color:var(--sa-c);box-shadow:var(--lueur);}
html:not(#_) .ds-menu-overlay{background:rgba(43,28,44,.55);}
html:not(#_) .bottom-bar{background:var(--sa-b);border-top:1px solid var(--sa-s);box-shadow:0 -10px 22px -16px rgba(74,29,94,.5);}
html:not(#_) .btab{color:var(--sourd);min-height:44px;justify-content:center;}
html:not(#_) .btab:hover, html:not(#_) .btab.active{color:var(--pr);}
html:not(#_) .btab.active .btab-ico{background:var(--sa-f);border-radius:12px 12px 4px 4px;}
html:not(#_) .btab-lbl{font-size:.62rem;font-weight:700;letter-spacing:.03em;}

/* 3. Menu mobile : le tiroir reprend la sidebar ; l'arche s'aplatit pour laisser la croix respirer */
@media (max-width:768px){
  html:not(#_) .sidebar{background-color:var(--sa);}
  html:not(#_) .sidebar-inner{border-radius:0 0 22px 0;padding:56px 14px 20px;border:0;box-shadow:none;}
  html:not(#_) .sb-logo{flex-direction:row;justify-content:flex-start;text-align:left;}
  html:not(#_) .sb-logo-dot{width:38px;height:46px;}
  html:not(#_) .sb-link, html:not(#_) .sb-silo-region, html:not(#_) .sb-top-item{min-height:42px;font-size:.92rem;}
  html:not(#_) .sb-silo-ville{padding:8px 12px;font-size:.88rem;}
}

/* 4. Héros d'accueil : mur rosé à ombre de palme, écran ajouré prune à droite, chiffres en arches */
html:not(#_) .hv3-hero{background:var(--sa) var(--fr-ombre) no-repeat left -60px top -50px/420px 420px;border-bottom:1px solid var(--sa-s);}
html:not(#_) .hv3-hero__badge{background:var(--sa-c);color:var(--pr-n);border:1.5px solid var(--pr);box-shadow:none;letter-spacing:.12em;font-weight:700;}
html:not(#_) .hv3-hero__title{font-family:var(--tt);font-weight:600;color:var(--encre);letter-spacing:.005em;}
html:not(#_) .hv3-hero__desc{color:var(--sourd);}
html:not(#_) .hv3-hero__cta{border-radius:999px;box-shadow:var(--lueur);}
html:not(#_) .hv3-hero__search-zone{border-top:1px dashed var(--sa-d);}
html:not(#_) .hv3-hero__aside{background:var(--pr) var(--bz-voile) repeat 0 0/40px 40px;border-radius:120px 0 0 0;}
html:not(#_) .hv3-stats__card{background:var(--sa-c);color:var(--encre);border:0;border-radius:var(--arche);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 14px 26px -16px rgba(26,6,36,.75);padding-top:1.7rem;}
html:not(#_) .hv3-stats__num{color:var(--pr-f);font-family:var(--tt);font-weight:700;}
html:not(#_) .hv3-stats__lbl{color:var(--sourd);font-weight:700;}
html:not(#_) .hv3-trust-wrap .trust-badges{background:transparent;border:0;box-shadow:none;}
html:not(#_) .hv3-trust-wrap .trust-badges .badge{background:var(--sa-c);border:1px solid var(--sa-s);border-radius:999px;color:var(--encre);box-shadow:var(--doux);}
html:not(#_) .search-input{border-color:var(--sa-d);border-radius:999px;background:var(--sa-b);color:var(--encre);}
html:not(#_) .search-input::placeholder{color:var(--sourd);opacity:1;}
html:not(#_) .search-submit{border-radius:999px;}
@media (max-width:640px){html:not(#_) .hv3-trust-wrap .trust-badges .badge{border-radius:18px;}}

/* 5. Sections, titres (petit bloc ajouré devant), pilules de villes */
html:not(#_) .section{background:var(--sa-b);border:1px solid var(--sa-s);border-radius:var(--radius);box-shadow:var(--doux);}
html:not(#_) .section h2, html:not(#_) .section-header h2, html:not(#_) .page-header h1{font-family:var(--tt);font-weight:600;color:var(--encre);}
html:not(#_) .section > h2::before, html:not(#_) .section-header h2::before{content:'';display:inline-block;width:18px;height:18px;margin:0 10px -2px 0;background:var(--bz) no-repeat center/18px 18px;}
html:not(#_) .page-header h1{letter-spacing:.005em;}
html:not(#_) .page-header::after{content:'';display:block;width:140px;height:14px;margin:16px auto 0;background:var(--bz) repeat-x left center/14px 14px;opacity:.75;}
html:not(#_) .page-header p, html:not(#_) .breadcrumb, html:not(#_) .breadcrumb a{color:var(--sourd);}
html:not(#_) .seo-text, html:not(#_) .seo-text p, html:not(#_) .seo-content p{color:#3f2e3c;}
html:not(#_) .link-tag{background:var(--sa-c);border:1px solid var(--sa-s);border-radius:999px;color:var(--encre);padding:10px 16px;}
html:not(#_) .link-tag:hover{border-color:var(--pr);color:var(--pr-n);background:var(--sa-b);box-shadow:0 8px 16px -12px rgba(142,68,173,.7);}

/* 6. Cartes profil : arche basse, photo encadrée sous sa propre arche, âge en pilule en bas, cadenas en médaillon */
html:not(#_) .profile-card{background:var(--sa-b);border:1px solid var(--sa-s);border-radius:var(--arche);box-shadow:var(--doux);}
html:not(#_) .profile-card:hover{box-shadow:0 22px 36px -20px rgba(74,29,94,.55);}
html:not(#_) .profile-photo{margin:8px 8px 0;border-radius:50% 50% 12px 12px / 54px 54px 12px 12px;background:var(--sa-s);}
html:not(#_) .profile-photo img{transition:transform .5s ease;}
html:not(#_) .profile-card:hover .profile-photo.blurred img{transform:scale(1.12);}
html:not(#_) .profile-age{top:auto;right:auto;bottom:10px;left:10px;background:var(--sa-c);color:var(--pr-n);border-radius:999px;padding:.24rem .7rem;font-weight:700;box-shadow:0 6px 14px -8px rgba(26,6,36,.7);}
html:not(#_) .profile-lock{top:auto;bottom:10px;right:10px;width:26px;height:26px;background:var(--pr);color:#fff;box-shadow:0 0 0 2px var(--sa-c);}
html:not(#_) .profile-info{padding:.8rem .85rem .5rem;}
html:not(#_) .profile-title{color:var(--pr-f);font-family:var(--tt);font-weight:600;}
html:not(#_) .profile-name{color:var(--encre);font-family:var(--tt);font-weight:600;}
html:not(#_) .profile-ville{color:var(--sourd);}
html:not(#_) .profile-bio{color:#4a3846;}
html:not(#_) .profile-footer{border-top:1px dashed var(--sa-d);padding:.6rem .8rem .8rem;}
html:not(#_) .profile-cta{background:var(--sa-c);border:1.5px solid var(--pr);color:var(--pr-n);border-radius:999px;font-weight:700;transition:background .15s,color .15s;}
html:not(#_) .profile-card:hover .profile-cta{background:var(--pr);color:var(--sa-c);}

/* 7. Filtres en pilules, pagination en médaillons, boutons */
html:not(#_) .filters{gap:8px;}
html:not(#_) .filter-btn{background:var(--sa-c);border:1.5px solid var(--sa-d);color:var(--encre);border-radius:999px;min-height:40px;padding:6px 18px;font-weight:600;}
html:not(#_) .filter-btn:hover{border-color:var(--pr);background:var(--sa-b);color:var(--pr-n);}
html:not(#_) .filter-btn.active{background:var(--pr);border-color:var(--pr);color:var(--sa-c);box-shadow:var(--lueur);}
html:not(#_) .pagination-link, html:not(#_) .pagination-current{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;}
html:not(#_) .pagination-link{background:var(--sa-c);border:1px solid var(--sa-s);color:var(--encre);}
html:not(#_) .pagination-link:hover{border-color:var(--pr);color:var(--pr-n);}
html:not(#_) .pagination-current{background:var(--pr);color:var(--sa-c);box-shadow:var(--lueur);}
html:not(#_) .pagination-ellipsis{color:var(--sourd);}
html:not(#_) .btn{border-radius:999px;}
html:not(#_) .btn-primary{background:var(--pr);color:#fff;box-shadow:var(--lueur);}
html:not(#_) .btn-outline{border-color:var(--encre);color:var(--encre);}
html:not(#_) .btn-outline:hover{background:var(--encre);color:var(--sa-c);}

/* 8. CTA de milieu de page : carte de rencontre en arche basse, centrée, ombre de palme */
html:not(#_) .cta-section{max-width:720px;margin:2.5rem auto;padding:56px 32px 40px;background:var(--pr) var(--fr-prune) no-repeat right -40px bottom -70px/300px 300px;border-radius:50% 50% 24px 24px / 90px 90px 24px 24px;box-shadow:0 26px 44px -26px rgba(74,29,94,.75);}
html:not(#_) .cta-section h2{color:var(--sa-c);font-family:var(--tt);font-weight:600;}
html:not(#_) .cta-section p{color:var(--sa-c);}
html:not(#_) .cta-section .btn-primary{background:var(--sa-c);color:var(--pr-n);min-height:48px;box-shadow:0 12px 22px -12px rgba(26,6,36,.8);}
html:not(#_) .cta-section .btn-primary:hover{transform:translateY(-2px);}

/* 9. FAQ : questions en cartouches arrondis, carte de la ville */
html:not(#_) .info-duo-title{color:var(--encre);font-family:var(--tt);font-weight:600;}
html:not(#_) .info-duo-title svg{color:var(--pr);}
html:not(#_) .accordion{display:flex;flex-direction:column;gap:10px;}
html:not(#_) .accordion-item{background:var(--sa-c);border:1px solid var(--sa-s);border-radius:18px;overflow:hidden;}
html:not(#_) .accordion-item:last-child{border-bottom:1px solid var(--sa-s);}
html:not(#_) .accordion-item[open]{border-color:var(--pr);box-shadow:var(--doux);}
html:not(#_) .accordion-header{color:var(--encre);font-weight:600;}
html:not(#_) .accordion-header:hover{background:var(--sa-f);}
html:not(#_) .accordion-header::after{border-color:var(--pr);}
html:not(#_) .accordion-body{color:#4a3846;}
html:not(#_) .ville-map-card, html:not(#_) .map-card{border-radius:22px;border:1px solid var(--sa-s);background:var(--sa-b);}
html:not(#_) .ville-map-header h3, html:not(#_) .map-list-title{color:var(--encre);font-family:var(--tt);}
html:not(#_) .map-list-link{color:var(--pr-f);}

/* 10. Footer en UNE LIGNE (pilule) sous un filet ajouré ; ruban discret des États et des villes dessous */
html:not(#_) footer.footer-v3{position:relative;background:var(--sa-f);color:var(--encre);margin-top:3.5rem;padding:44px 20px 22px;}
html:not(#_) footer.footer-v3::before{content:'';position:absolute;left:0;right:0;top:0;height:28px;background:var(--sa) var(--bz) repeat-x left center/28px 28px;opacity:.95;}
html:not(#_) .footer-v3 .footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:auto auto auto auto;justify-content:space-between;grid-template-areas:"brand nav legal cta" "states states cities cities" "contact copy copy copy";align-items:center;gap:14px 16px;}
html:not(#_) .footer-v3 .footer-inner::before{content:'';grid-area:1/1/2/-1;align-self:stretch;margin:-12px -18px;background:var(--sa-b);border:1px solid var(--sa-s);border-radius:999px;box-shadow:var(--doux);}
html:not(#_) .footer-v3 .footer-top, html:not(#_) .footer-v3 .footer-grid{display:contents;}
html:not(#_) .footer-v3 .footer-brand{grid-area:brand;z-index:1;display:flex;flex-direction:column;gap:0;padding-left:6px;}
html:not(#_) .footer-v3 .footer-brand h3{color:var(--encre);font-family:var(--tt);font-weight:600;font-size:1.2rem;margin:0;white-space:nowrap;}
html:not(#_) .footer-v3 .footer-brand p{color:var(--sourd);font-size:.8rem;margin:0;white-space:nowrap;}
html:not(#_) .footer-v3 .footer-newsletter{grid-area:cta;z-index:1;display:flex;align-items:center;gap:10px;}
html:not(#_) .footer-v3 .footer-newsletter p{display:none;}
html:not(#_) .footer-v3 .footer-newsletter .btn{background:var(--pr);color:#fff !important;min-height:44px;padding:.55rem 1.3rem;box-shadow:var(--lueur);}
html:not(#_) .footer-v3 .footer-col{z-index:1;min-width:0;}
html:not(#_) .footer-v3 .footer-col:nth-child(1){grid-area:nav;}
html:not(#_) .footer-v3 .footer-col:nth-child(2){grid-area:legal;}
html:not(#_) .footer-v3 .footer-col:nth-child(3){grid-area:states;}
html:not(#_) .footer-v3 .footer-col:nth-child(4){grid-area:cities;}
html:not(#_) .footer-v3 .footer-col:nth-child(5){grid-area:contact;}
html:not(#_) .footer-v3 .footer-col:nth-child(-n+2) h4{display:none;}
html:not(#_) .footer-v3 .footer-col ul{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;margin:0;padding:0;}
html:not(#_) .footer-v3 .footer-col li{margin:0;display:flex;align-items:center;gap:14px;}
html:not(#_) .footer-v3 .footer-col:nth-child(-n+2) ul{flex-wrap:nowrap;}
html:not(#_) .footer-v3 .footer-col:nth-child(-n+2) li{white-space:nowrap;}
html:not(#_) .footer-v3 .footer-col:nth-child(-n+2){min-width:max-content;}
html:not(#_) .footer-v3 .footer-col:nth-child(-n+2) ul{gap:4px 12px;}
html:not(#_) .footer-v3 .footer-col:nth-child(-n+2) a{font-size:.82rem;font-weight:600;}
html:not(#_) .footer-v3 .footer-brand h3, html:not(#_) .footer-v3 .footer-newsletter .btn{white-space:nowrap;}
html:not(#_) .footer-v3 .footer-col:nth-child(5){border-top:1px dashed var(--sa-d);padding-top:12px;align-self:stretch;}
html:not(#_) .footer-v3 .footer-col:nth-child(5) h4{display:none;}
html:not(#_) .footer-v3 .contact-email{margin:0;font-size:.82rem;}
html:not(#_) .footer-v3 .footer-col:nth-child(2){border-left:2px dotted var(--sa-d);padding-left:16px;}
html:not(#_) .footer-v3 .footer-col a{color:var(--encre);font-size:.86rem;text-decoration:none;}
html:not(#_) .footer-v3 .footer-col a:hover{color:var(--pr-f);text-decoration:underline;text-underline-offset:3px;}
html:not(#_) .footer-v3 .footer-col:nth-child(n+3){padding-top:6px;align-self:start;}
html:not(#_) .footer-v3 .footer-col:nth-child(n+3) ul{gap:4px 16px;}
html:not(#_) .footer-v3 .footer-col:nth-child(n+3) h4{display:inline-block;color:var(--pr-n);background:var(--sa-c);border:1px solid var(--sa-d);border-radius:999px;font-family:var(--tt);font-size:.72rem;font-weight:700;letter-spacing:.12em;padding:3px 12px;margin:0 0 8px;}
html:not(#_) .footer-v3 .footer-col:nth-child(n+3) a{color:#4a3846;font-size:.82rem;}
html:not(#_) .footer-v3 .footer-col p, html:not(#_) .footer-v3 .contact-email a{color:#4a3846;}
html:not(#_) footer.footer-v3 .footer-bottom{grid-area:copy;border-top:1px dashed var(--sa-d);padding:12px 0 0;margin:0;}
html:not(#_) footer.footer-v3 .footer-bottom p{color:var(--sourd);font-size:.8rem;}
@media (max-width:1279px){
  html:not(#_) .footer-v3 .footer-col:nth-child(-n+2) ul{flex-wrap:wrap;}
  html:not(#_) .footer-v3 .footer-col:nth-child(-n+2){min-width:0;}
  html:not(#_) .footer-v3 .footer-col:nth-child(2){border-left:0;padding-left:0;}
  html:not(#_) .footer-v3 .footer-inner{justify-content:stretch;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand cta" "nav nav" "legal legal" "states states" "cities cities" "contact contact" "copy copy";}
  html:not(#_) .footer-v3 .footer-col:nth-child(5){border-top:0;padding-top:0;}
}
@media (max-width:640px){
  html:not(#_) footer.footer-v3{padding:40px 14px 92px;}
  html:not(#_) .footer-v3 .footer-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "cta" "nav" "legal" "states" "cities" "contact" "copy";gap:12px;}
  html:not(#_) .footer-v3 .footer-inner::before{grid-area:1/1/3/-1;margin:-12px -6px;border-radius:28px;}
  html:not(#_) .footer-v3 .footer-brand{flex-direction:column;align-items:center;gap:2px;padding:0;text-align:center;}
  html:not(#_) .footer-v3 .footer-newsletter{justify-content:center;}
  html:not(#_) .footer-v3 .footer-col ul{justify-content:flex-start;}
}

/* 11. Fenêtres : fiche profil, porte d'âge, inscription, retour en haut */
html:not(#_) #profileModal .modal-content{--text:#2b1c2c;--text-muted:#64505b;--bg-card:#fffaf6;--bg-alt:#fbf4ee;--border:#ead3c5;background:var(--sa-b);color:var(--encre);border-radius:28px;border:1px solid var(--sa-s);}
html:not(#_) #profileModal .modal-content .modal-body h3.modal-name{color:var(--encre);font-family:var(--tt);font-weight:600;}
html:not(#_) #profileModal .modal-body .modal-meta{color:var(--pr-f);}
html:not(#_) #profileModal .modal-body .modal-tag{background:var(--sa-c);border:1px solid var(--sa-s);color:var(--encre);}
html:not(#_) #profileModal .modal-actions-sticky{background:var(--sa-b);border-top:1px solid var(--sa-s);}
html:not(#_) #profileModal .modal-action-primary{background:var(--pr);color:#fff;border-radius:999px;box-shadow:var(--lueur);}
html:not(#_) #profileModal .modal-close{color:#fff;background:rgba(43,28,44,.62);}
html:not(#_) .age-gate-modal{background:var(--sa-c) var(--fr-ombre) no-repeat right -70px bottom -80px/260px 260px;border:1px solid var(--sa-s);border-radius:50% 50% 24px 24px / 80px 80px 24px 24px;padding-top:3.2rem;}
html:not(#_) .age-gate-modal h2{color:var(--encre);font-family:var(--tt);font-weight:600;}
html:not(#_) .age-gate-lead{color:var(--encre);}
html:not(#_) .age-gate-body, html:not(#_) .age-gate-actions{color:#4a3846;}
html:not(#_) .age-gate-footnote{color:var(--sourd);}
html:not(#_) .popup-card{background:var(--sa-b);border:1px solid var(--sa-s);border-radius:28px;}
html:not(#_) .popup-title{color:var(--encre);font-family:var(--tt);font-weight:600;}
html:not(#_) .popup-btn{border-radius:999px;box-shadow:var(--lueur);}
html:not(#_) .back-to-top{background:var(--pr);color:var(--sa-c);border-radius:22px 22px 10px 10px;box-shadow:var(--lueur);}

/* 12. Mise en page villes-bas (recette « Astro · villes-bas » copiée 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; }

/* 13. Mouvement réduit */
@media (prefers-reduced-motion: reduce){
  html:not(#_) .sb-link, html:not(#_) .profile-photo img, html:not(#_) .profile-cta, html:not(#_) .btn, html:not(#_) .link-tag{transition:none !important;}
  html:not(#_) .sb-link:hover, html:not(#_) .cta-section .btn-primary:hover{transform:none;}
  html:not(#_) .profile-card:hover .profile-photo.blurred img{transform:scale(1.06);}
}
/* __END_DESIGN_SITE__ */
