/* =========================================================================
   Modèle « Croix » — pharmacies d'officine
   Très lisible (Atkinson Hyperlegible Next + Mono), ivoire, vert officine, nuit d'enseigne.
   Signature : la croix lumineuse en matrice de LED (9 × 9) qui s'allume en vague,
   l'afficheur d'ouverture, le tableau d'horaires « allumé » sur le jour actuel,
   les étiquettes de rayon numérotées et le soulignement en points LED.
   ========================================================================= */

:root{--wrap:1280px;--hdr:76px;--top:40px;--r-card:16px;--r-big:22px;
  --soft:color-mix(in srgb,var(--accent) 10%,var(--surface));--soft-2:color-mix(in srgb,var(--accent) 18%,var(--surface));
  --shadow:0 1px 2px rgba(15,31,24,.06),0 14px 34px -16px rgba(15,31,24,.22);--shadow-lg:0 40px 80px -36px rgba(11,23,18,.5);
  --dots:radial-gradient(circle at 50% 50%,currentColor 0 1.6px,transparent 2.2px);--mobilebar-bg:rgba(11,23,18,.97)}
html{background:var(--bg);scroll-padding-top:calc(var(--hdr) + 24px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.62 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.has-demobar{scroll-padding-top:calc(var(--hdr) + 72px)}
img{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.18em}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:800;letter-spacing:-.022em;line-height:1.06;color:inherit}
p{margin:0}
.skip-link{background:var(--ink);color:#fff}
.wrap{max-width:var(--wrap);padding-inline:clamp(18px,4vw,40px)}
.sec{padding-block:clamp(64px,9vw,128px)}

/* ---- Mot mis en valeur : couleur accent + soulignement en points LED ---- */
h1 em,h2 em{font-style:normal;color:var(--accent-text);background:radial-gradient(circle,var(--accent) 0 2px,transparent 2.6px) 0 100%/9px 9px repeat-x;padding-bottom:.14em}
.xgd em,.xcta em,.xf em{color:var(--accent-on-dark);background:radial-gradient(circle,var(--accent-on-dark) 0 2px,transparent 2.6px) 0 100%/9px 9px repeat-x}
.xcta em{color:inherit;background-image:radial-gradient(circle,currentColor 0 2px,transparent 2.6px)}

/* ---- Petits éléments communs ---- */
.xeyebrow{display:inline-flex;align-items:center;gap:10px;font:700 .8125rem/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-bottom:18px}
.xeyebrow--dark{color:var(--accent-on-dark)}
.xeyebrow__plus{width:14px;height:14px;flex:none;background:linear-gradient(currentColor,currentColor) center/100% 5px no-repeat,linear-gradient(currentColor,currentColor) center/5px 100% no-repeat}
.xh2{font-size:clamp(2rem,4.2vw,3.4rem);max-width:20ch}
.xsh{margin-bottom:clamp(32px,5vw,56px)}
.xsh__text{margin-top:18px;max-width:60ch;color:var(--muted);font-size:1.125rem}
.xnote{margin-top:24px;font-size:.9375rem;color:var(--muted);display:flex;gap:10px;align-items:flex-start}
.xnote::before{content:"Démo";flex:none;font:700 .6875rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 7px;border-radius:5px;background:var(--bg-2);color:var(--ink-2);margin-top:2px}
.xlink{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.xlink:hover{text-decoration:underline}
.xlink--accent{color:var(--accent-text)}
.cg{width:1.5em;height:1.5em;flex:none}
.xwarn{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--amber) 20%,var(--surface));color:var(--ink);font-size:.9375rem;font-weight:600;margin-bottom:22px}
.xwarn .cg{width:1.4em;height:1.4em;margin-top:1px}

/* ---- Boutons ---- */
.btn{border-radius:var(--radius);font:700 1rem/1.2 var(--font-body);min-height:50px;padding:14px 22px;gap:10px;transition:transform .2s,background-color .2s,box-shadow .2s,color .2s;text-decoration:none}
.btn--lg{min-height:56px;padding:16px 26px;font-size:1.0625rem}
.btn--primary{background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent)}
.btn--primary:hover{background:color-mix(in srgb,var(--accent) 86%,#000);border-color:color-mix(in srgb,var(--accent) 86%,#000);transform:translateY(-1px)}
.btn--line{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--surface)}
.btn--light{background:var(--surface);color:var(--ink);border:2px solid var(--surface)}
.btn--light:hover{background:var(--bg)}
.btn--line-light,.btn--line-dark{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn--line-light:hover,.btn--line-dark:hover{background:#fff;color:var(--ink)}
.btn__arrow{transition:transform .2s}
.btn:hover .btn__arrow{transform:translateX(3px)}

/* =========================================================================
   Croix LED (9 × 9)
   ========================================================================= */
.led{--px:8px;--gap:3px;display:grid;grid-template-columns:repeat(9,var(--px));gap:var(--gap);flex:none}
.led__px{width:var(--px);height:var(--px);border-radius:50%;background:rgba(255,255,255,.07)}
.led__px.is-on{background:var(--accent-on-dark);box-shadow:0 0 calc(var(--px) * .9) color-mix(in srgb,var(--accent-on-dark) 70%,transparent);animation:led 3.2s ease-in-out infinite}
@keyframes led{0%,100%{opacity:1}45%{opacity:.35}60%{opacity:1}}
.led__px.d0{animation-delay:0s}.led__px.d1{animation-delay:.1s}.led__px.d2{animation-delay:.2s}.led__px.d3{animation-delay:.3s}.led__px.d4{animation-delay:.4s}.led__px.d5{animation-delay:.5s}.led__px.d6{animation-delay:.6s}.led__px.d7{animation-delay:.7s}.led__px.d8{animation-delay:.8s}.led__px.d9{animation-delay:.9s}.led__px.d10{animation-delay:1s}.led__px.d11{animation-delay:1.1s}.led__px.d12{animation-delay:1.2s}.led__px.d13{animation-delay:1.3s}.led__px.d14{animation-delay:1.4s}.led__px.d15{animation-delay:1.5s}.led__px.d16{animation-delay:1.6s}
.led--logo{--px:3px;--gap:1px}
.led--logo .led__px.is-on{animation:none;box-shadow:none}
.led--logo .led__px:not(.is-on){background:rgba(255,255,255,.08)}
.led--hero{--px:clamp(9px,1.25vw,15px);--gap:clamp(3px,.4vw,5px)}
.led--night{--px:clamp(8px,1.5vw,16px);--gap:clamp(3px,.5vw,6px)}
.led--page{--px:9px;--gap:4px}
.led--page .led__px{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.led--page .led__px.is-on{background:var(--accent);box-shadow:none}
.led--foot{--px:5px;--gap:2px}
.led--pin{--px:3px;--gap:1px}
.led--pin .led__px.is-on{animation:none}

/* =========================================================================
   En-tête
   ========================================================================= */
.xt{background:var(--dark);color:var(--on-dark-muted);font:500 .875rem/1.3 var(--font-mono)}
.xt__in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:var(--top)}
.xt__state strong{color:var(--on-dark);font-weight:700}
.xt__state,.xt__garde{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.xt__dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--amber);flex:none}
.is-open>.xt__dot{background:var(--accent-on-dark);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-on-dark) 22%,transparent);animation:pulse 2.4s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 7px transparent}}
.xt__garde a{color:var(--on-dark);font-weight:700;padding:8px 2px}
.xt__ico{width:1.2em;height:1.2em;color:var(--amber)}
.xh{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.has-demobar .xh{top:48px}
.xh.is-scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px -24px rgba(15,31,24,.4)}
.nav-open .xh{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
.xh__in{display:flex;align-items:center;gap:24px;min-height:var(--hdr)}
.xh__logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.xh__mark{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--dark)}
.xh__word{display:flex;flex-direction:column;font-weight:800;font-size:1.1875rem;line-height:1.05;letter-spacing:-.015em}
.xh__kind{font:700 .6875rem/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.xh__nav{margin-left:auto}
.xh__nav ul{display:flex;gap:4px}
.xh__nav a{display:block;padding:12px 12px;white-space:nowrap;border-radius:10px;text-decoration:none;font-weight:600;position:relative}
.xh__nav a:hover{background:var(--bg-2)}
.xh__nav a[aria-current=page]{color:var(--accent-text)}
.xh__nav a[aria-current=page]::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:4px;background:radial-gradient(circle,var(--accent) 0 1.8px,transparent 2.3px) 0 0/7px 4px repeat-x}
.xh__actions{display:flex;align-items:center;gap:14px}
.xh__cta{white-space:nowrap}
.xh__phone{font:700 1.0625rem/1 var(--font-mono);text-decoration:none;padding:12px 4px;white-space:nowrap}
.xh__phone:hover{color:var(--accent-text)}
.xh__burger{display:none;align-items:center;gap:10px;min-height:48px;padding:0 16px;border-radius:var(--radius);border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 1rem/1 var(--font-body);cursor:pointer}
.xh__burger-ico{display:grid;gap:5px;width:18px}
.xh__burger-ico span{height:2.5px;background:currentColor;border-radius:2px;transition:transform .25s}
.xh__burger[aria-expanded=true] .xh__burger-ico span:first-child{transform:translateY(3.75px) rotate(45deg)}
.xh__burger[aria-expanded=true] .xh__burger-ico span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.xm{display:none}
@media (max-width:1199px){
  .xh__nav,.xh__phone{display:none}
  .xh__actions{margin-left:auto}
  .xh__burger{display:inline-flex}
  .nav-open .xh{position:fixed;left:0;right:0;top:0}
  .has-demobar.nav-open .xh{top:48px}
  .xm{display:block;position:fixed;inset:calc(var(--hdr) + 0px) 0 0;background:var(--bg);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;z-index:49}
  .has-demobar .xm{top:calc(var(--hdr) + 48px)}
  .xm.is-open{visibility:visible;opacity:1;transform:none}
  .xm__in{padding-block:24px 120px}
  .xm__list li{border-bottom:1px solid var(--line)}
  .xm__list a{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:clamp(1.6rem,7vw,2.2rem);font-weight:800;letter-spacing:-.02em;text-decoration:none}
  .xm__list a::after{content:"→";font-weight:400;color:var(--muted)}
  .xm__list a[aria-current=page]{color:var(--accent-text)}
  .xm__foot{display:grid;gap:12px;margin-top:28px}
  .xm__state{display:flex;align-items:center;gap:10px;font:500 .9375rem/1.3 var(--font-mono);padding:14px 16px;border-radius:12px;background:var(--dark);color:var(--on-dark-muted)}
  .xm__state strong{color:var(--on-dark)}
  .xm__garde{font-size:.9375rem;color:var(--muted)}
  .xm__garde a{font-weight:700;color:var(--ink)}
}
@media (max-width:640px){
  :root{--hdr:68px}
  .xh__cta{display:none}
  .xh__mark{width:42px;height:42px}
  .xh__word{font-size:1.0625rem}
  .xt__in{font-size:.8125rem;justify-content:flex-start;padding-block:8px}
  .xt__garde span{display:none}
  .xt__garde{margin-left:auto}
}

/* =========================================================================
   Hero
   ========================================================================= */
.xhero{padding-block:clamp(36px,6vw,80px) clamp(64px,8vw,110px);position:relative;overflow:hidden}
.xhero::before{content:"";position:absolute;right:-6%;top:-10%;width:52%;height:120%;background:var(--bg-2);border-radius:0 0 0 48px;z-index:-1}
.xhero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.xhero__title{font-size:clamp(2.6rem,6.2vw,5.4rem);line-height:1;letter-spacing:-.035em;max-width:13ch}
.xhero__lead{margin-top:32px;font-size:clamp(1.125rem,1.6vw,1.3125rem);color:var(--ink-2);max-width:42ch}
.xhero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.xhero__facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.xhero__facts li{display:flex;align-items:center;gap:10px;font-weight:600}
.xhero__facts .cg{color:var(--accent-text)}
.xhero__visual{position:relative;padding-bottom:40px}
.xhero__photo{margin:0;border-radius:var(--r-big);overflow:hidden;aspect-ratio:4/5;max-height:640px;width:86%;margin-left:auto;box-shadow:var(--shadow-lg);position:relative}
.xhero__img{width:100%;height:100%;object-fit:cover}
.xhero__cap{position:absolute;right:14px;top:14px;font:600 .8125rem/1 var(--font-mono);background:rgba(255,255,255,.92);padding:9px 12px;border-radius:8px}
.xsign{position:absolute;left:0;bottom:0;display:flex;gap:clamp(16px,2vw,26px);align-items:center;padding:clamp(18px,2vw,26px);background:var(--dark);color:var(--on-dark);border-radius:var(--r-big);box-shadow:var(--shadow-lg);width:min(500px,96%);border:1px solid #23362c}
.xsign__board{min-width:0;flex:1;display:grid;gap:4px}
.xsign__state{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;font:700 1.125rem/1.2 var(--font-mono);color:var(--on-dark)}
.xsign__state.is-open{color:var(--accent-on-dark)}
.xsign__detail{font:500 .9375rem/1.3 var(--font-mono);color:var(--on-dark-muted)}
.xsign__today{font:500 .875rem/1.3 var(--font-mono);color:var(--on-dark);margin-top:6px}
.xsign__today span{color:var(--amber);display:block}
.xsign__ticker{position:relative;overflow:hidden;margin-top:10px;padding-top:10px;border-top:1px dashed #2c4337;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.xsign__run{display:flex;width:max-content;gap:28px;font:600 .8125rem/1.2 var(--font-mono);color:var(--accent-on-dark);white-space:nowrap;animation:ticker 26s linear infinite}
.xsign__run span::before{content:"+ ";opacity:.6}
@keyframes ticker{to{transform:translateX(-50%)}}
@media (max-width:959px){
  .xhero::before{width:100%;height:46%;top:auto;bottom:0;right:0;border-radius:40px 40px 0 0}
  .xhero__in{grid-template-columns:1fr}
  .xhero__photo{width:100%;aspect-ratio:5/4}
  .xhero__visual{padding-bottom:0}
  .xsign{position:relative;margin:-56px 14px 0;max-width:none}
}
@media (max-width:520px){
  .xhero__photo{aspect-ratio:1/1}
  .xsign{margin:-40px 0 0;flex-direction:row;padding:16px}
  .xhero__btns .btn{width:100%}
  .xhero__facts{flex-direction:column}
}

/* =========================================================================
   Tableau d'horaires
   ========================================================================= */
.xhb{padding-block:clamp(56px,7vw,96px)}
.xhb__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.xhb__state{display:flex;align-items:center;gap:10px;font:500 1rem/1.3 var(--font-mono);padding:12px 16px;border-radius:12px;background:var(--dark);color:var(--on-dark-muted)}
.xhb__state strong{color:var(--on-dark)}
.xhb__state.is-open strong{color:var(--accent-on-dark)}
.xhb__days{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:var(--r-big);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.xhb__day{display:grid;gap:14px;align-content:start;padding:22px 18px 26px;border-right:1px solid var(--line);min-height:150px}
.xhb__day:last-child{border-right:0}
.xhb__name{font-weight:700;font-size:1rem}
.xhb__name em{font-style:normal;display:block;font:600 .75rem/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.06em}
.xhb__slots{display:grid;gap:10px;font:700 clamp(1.05rem,1.5vw,1.375rem)/1.25 var(--font-mono);letter-spacing:-.02em}
.xhb__to{display:block}
.xhb__to::before{content:"→ ";color:var(--muted);font-weight:500}
.is-today .xhb__to::before{color:var(--on-dark-muted)}
.xhb__day.is-closed .xhb__slots{color:var(--muted);font-weight:500}
.xhb__day.is-today{background:var(--dark);color:var(--on-dark)}
.xhb__day.is-today .xhb__name em{color:var(--amber)}
.xhb__day.is-today .xhb__slots{color:var(--accent-on-dark);text-shadow:0 0 18px color-mix(in srgb,var(--accent-on-dark) 50%,transparent)}
.xhb__day.is-today.is-closed .xhb__slots{color:var(--on-dark-muted);text-shadow:none}
.xhb__foot{display:flex;flex-wrap:wrap;gap:16px 40px;margin-top:22px;color:var(--muted)}
.xhb__foot p{display:flex;gap:10px;align-items:flex-start}
.xhb__foot .cg{width:1.3em;height:1.3em;color:var(--accent-text);margin-top:2px}
.xhb__garde a{font:700 1.0625rem/1 var(--font-mono);color:var(--ink);padding:4px 2px}
@media (max-width:900px){
  .xhb__days{grid-template-columns:1fr}
  .xhb__day{grid-template-columns:1fr auto;align-items:center;min-height:0;padding:14px 18px;border-right:0;border-bottom:1px solid var(--line)}
  .xhb__day:last-child{border-bottom:0}
  .xhb__slots{text-align:right;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
  .xhb__name em{display:inline;margin-left:6px}
  .xhb__to{display:inline;margin-left:6px}
}

/* =========================================================================
   Services — étiquettes de rayon
   ========================================================================= */
.xsv{background:var(--surface);border-block:1px solid var(--line)}
.xsv__grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}
.xlab{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.xlab:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.xlab__body{padding:22px 22px 14px;display:flex;flex-direction:column;flex:1}
.xlab__ref{display:flex;justify-content:space-between;align-items:center;font:700 1.375rem/1 var(--font-mono);padding-bottom:16px;margin-bottom:18px;border-bottom:2px dotted var(--line)}
.xlab__ref small{font-size:.75rem;color:var(--muted);font-weight:500;margin-left:2px}
.xlab__ico{width:44px;height:44px;padding:9px;border-radius:12px;background:var(--soft);color:var(--accent-text)}
.xlab__title{font-size:1.5rem}
.xlab__short{margin-top:10px;color:var(--muted)}
.xlab__badge{align-self:flex-start;margin-top:14px;font:700 .75rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:7px 9px;border-radius:6px;background:var(--soft-2);color:var(--ink)}
.xlab__links{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.xlab--big{grid-row:span 2;background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
.xlab--big .xlab__media{aspect-ratio:16/10;overflow:hidden}
.xlab--big .xlab__img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.xlab--big:hover .xlab__img{transform:scale(1.04)}
.xlab--big .xlab__body{padding:28px}
.xlab--big .xlab__ref{border-bottom-color:#2b4136}
.xlab--big .xlab__ref small,.xlab--big .xlab__short{color:var(--on-dark-muted)}
.xlab--big .xlab__ico{background:#1d3328;color:var(--accent-on-dark)}
.xlab--big .xlab__title{font-size:clamp(1.75rem,2.6vw,2.25rem)}
.xlab--big .xlab__badge{background:var(--accent-on-dark);color:var(--dark)}
.xlab--big .xlink--accent{color:var(--accent-on-dark)}
.xlab--wide{grid-column:1/-1}
.xlab--wide .xlab__body{display:grid;grid-template-columns:auto 1fr auto;column-gap:32px;align-items:center;padding:22px 26px}
.xlab--wide .xlab__ref{border:0;margin:0;padding:0;gap:16px;grid-row:span 2}
.xlab--wide .xlab__title{align-self:end}
.xlab--wide .xlab__short{margin-top:4px;grid-column:2}
.xlab--wide .xlab__links{grid-column:3;grid-row:1/span 2;padding:0;margin:0}
@media (max-width:1023px){.xsv__grid{grid-template-columns:1fr 1fr}.xlab--big{grid-column:1/-1;grid-row:auto}}
@media (max-width:760px){.xlab--wide .xlab__body{display:flex;padding:22px 22px 14px}.xlab--wide .xlab__ref{padding-bottom:16px;margin-bottom:18px;border-bottom:2px dotted var(--line);gap:0}.xlab--wide .xlab__links{padding-top:14px}}
@media (max-width:640px){.xsv__grid{grid-template-columns:1fr}}

/* =========================================================================
   Ordonnance en 3 temps
   ========================================================================= */
.xor__in{display:grid;grid-template-columns:1fr;gap:0}
.xor__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);position:relative}
.xor__steps::before{content:"";position:absolute;left:0;right:0;top:34px;height:4px;background:radial-gradient(circle,var(--line) 0 2px,transparent 2.5px) 0 0/10px 4px repeat-x}
.xor__step{position:relative;padding-top:0}
.xor__n{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:18px;background:var(--accent);color:var(--accent-ink);font:700 1.75rem/1 var(--font-mono);position:relative;z-index:1;box-shadow:0 0 0 8px var(--bg)}
.xor__t{font-size:1.5rem;margin-top:22px}
.xor__p{margin-top:10px;color:var(--muted);max-width:34ch}
.xor__bring{margin-top:clamp(36px,5vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding:20px 24px;border-radius:var(--r-card);background:var(--surface);border:2px dashed var(--line)}
.xor__bring-t{display:flex;align-items:center;gap:10px;font-weight:800}
.xor__bring-t .cg{color:var(--accent-text)}
.xor__bring ul{display:flex;flex-wrap:wrap;gap:8px 22px}
.xor__bring li{display:flex;align-items:center;gap:8px;font-weight:600}
.xor__bring li::before{content:"";width:10px;height:10px;background:linear-gradient(var(--accent),var(--accent)) center/100% 3.4px no-repeat,linear-gradient(var(--accent),var(--accent)) center/3.4px 100% no-repeat}
@media (max-width:820px){
  .xor__steps{grid-template-columns:1fr;gap:28px}
  .xor__steps::before{left:34px;right:auto;top:0;bottom:0;width:4px;height:auto;background:radial-gradient(circle,var(--line) 0 2px,transparent 2.5px) 0 0/4px 10px repeat-y}
  .xor__step{display:grid;grid-template-columns:72px 1fr;column-gap:20px}
  .xor__n{grid-row:span 2}
  .xor__t{margin-top:6px;font-size:1.3rem}
}

/* =========================================================================
   Vitrine & produits
   ========================================================================= */
.xvt{background:var(--bg-2)}
.xvt__head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:clamp(28px,4vw,48px)}
.xvt__head .xsh{margin-bottom:0}
.xvt__cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:520px}
.xvt__cats a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:999px;background:var(--surface);text-decoration:none;font-weight:600;font-size:.9375rem;border:1px solid var(--line)}
.xvt__cats a:hover{border-color:var(--ink)}
.xvt__cats .cg{width:1.25em;height:1.25em;color:var(--accent-text)}
.xvt__shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-bottom:26px;border-bottom:14px solid var(--surface);box-shadow:0 18px 22px -18px rgba(15,31,24,.35);position:relative}
.xprod{position:relative;display:flex;flex-direction:column}
.xprod__media{aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:var(--surface)}
.xprod__img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.xprod:hover .xprod__img{transform:scale(1.05)}
.xprod__cat{margin-top:14px;font:700 .75rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text)}
.xprod__title{font-size:1.1875rem;margin-top:6px;line-height:1.2}
.xprod__size{color:var(--muted);font-size:.9375rem;margin-top:4px}
.xprod__tag{position:absolute;top:12px;left:12px;display:inline-flex;align-items:baseline;gap:5px;padding:7px 12px 7px 20px;background:var(--surface);color:var(--ink);font:700 1rem/1 var(--font-mono);clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);box-shadow:0 2px 6px rgba(0,0,0,.12)}
.xprod__tag::before{content:"";position:absolute;left:8px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--bg-2)}
.xprod__tag span{font-size:.75rem;font-weight:500;color:var(--muted)}
.xvt__foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-top:28px}
.xvt__foot .xnote{margin-top:0}
@media (max-width:1023px){.xvt__head{grid-template-columns:1fr}.xvt__cats{justify-content:flex-start}.xvt__shelf{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.xvt__shelf{gap:14px}.xprod__title{font-size:1.0625rem}.xprod__tag{font-size:.875rem;top:8px;left:8px}}

/* Page parapharmacie */
.xry__cats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:clamp(40px,6vw,72px)}
.xry__cat{padding:20px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line)}
.xry__ico{width:46px;height:46px;padding:10px;border-radius:12px;background:var(--soft);color:var(--accent-text)}
.xry__cat-t{font-size:1.25rem;margin-top:14px}
.xry__cat p{margin-top:6px;color:var(--muted);font-size:.9375rem}
.xry__cat .xry__count{font:600 .8125rem/1.2 var(--font-mono);color:var(--ink-2);margin-top:12px}
.xry__bar-t{font:700 .8125rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}
.xry__filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;position:relative}
.xfil{min-height:46px;padding:10px 18px;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font:700 .9375rem/1 var(--font-body);cursor:pointer;transition:background-color .2s,border-color .2s}
.xfil:hover{border-color:var(--ink)}
.xfil[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.xry__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px}
.xry__notes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(40px,6vw,64px)}
.xry__notes li{display:flex;gap:14px;padding:20px;border-radius:var(--r-card);background:var(--bg-2)}
.xry__notes .cg{color:var(--accent-text);margin-top:2px}
@media (max-width:1100px){.xry__cats{grid-template-columns:repeat(3,1fr)}.xry__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.xry__cats{grid-template-columns:1fr 1fr}.xry__grid{grid-template-columns:1fr 1fr;gap:22px 14px}.xry__notes{grid-template-columns:1fr}}
@media (max-width:420px){.xry__cat{padding:16px}.xry__cat-t{font-size:1.0625rem}}

/* =========================================================================
   Garde & urgences (nuit)
   ========================================================================= */
.xgd{background:var(--dark);color:var(--on-dark);padding-block:clamp(64px,8vw,110px);position:relative;overflow:hidden}
.xgd::before{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.05) 0 1.4px,transparent 1.8px) 0 0/18px 18px;mask-image:linear-gradient(90deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%)}
.xgd__in{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,4vw,56px) clamp(32px,5vw,72px);align-items:center}
.xgd__cross{grid-row:span 2;padding:clamp(18px,2.4vw,32px);border-radius:28px;background:#0f1e17;border:1px solid #20352a}
.xgd__title{font-size:clamp(2rem,4vw,3.25rem);max-width:18ch}
.xgd__p{margin-top:16px;color:var(--on-dark-muted);max-width:56ch;font-size:1.125rem}
.xgd__cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.xgd__card{display:grid;gap:6px;padding:24px;border-radius:var(--r-big);text-decoration:none;color:inherit;transition:transform .2s}
.xgd__card--garde{background:#13241c;border:2px solid var(--amber)}
.xgd__card--garde:hover{transform:translateY(-2px)}
.xgd__card--sos{background:var(--alert);color:#fff}
.xgd__k{font:700 .8125rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.xgd__card--garde .xgd__k{color:var(--amber)}
.xgd__num{font:800 clamp(2.6rem,5vw,4rem)/1 var(--font-mono);letter-spacing:-.04em}
.xgd__num a{text-decoration:none;color:inherit}
.xgd__num a:hover{text-decoration:underline}
.xgd__or{font-size:1rem;font-weight:500;letter-spacing:0;margin-inline:6px}
.xgd__small{font-size:.9375rem;opacity:.9}
@media (max-width:860px){
  .xgd__in{grid-template-columns:1fr}
  .xgd__cross{grid-row:auto;justify-self:start}
  .xgd__cards{grid-template-columns:1fr}
}

/* =========================================================================
   La pharmacie (accueil + page)
   ========================================================================= */
.xab__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}
.xab__photo,.xeq__photo{margin:0;position:relative}
.xab__photo::before,.xeq__photo::before{content:"";position:absolute;left:-18px;bottom:-18px;width:60%;height:60%;color:var(--accent);background:var(--dots) 0 0/14px 14px;opacity:.35;z-index:-1}
.xab__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-big)}
.xab__photo figcaption,.xeq__photo figcaption{margin-top:10px;font:500 .875rem/1.3 var(--font-mono);color:var(--muted)}
.xab__p{margin-top:18px;color:var(--ink-2);max-width:56ch}
.xab__points{display:grid;gap:14px;margin:28px 0 32px}
.xab__points li{display:flex;gap:14px;align-items:flex-start}
.xab__points .cg{width:42px;height:42px;padding:9px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--accent-text)}
.xab__points strong{display:block}
.xab__points span{color:var(--muted)}
.xab__points strong{color:var(--ink)}
@media (max-width:900px){.xab__in{grid-template-columns:1fr}}

.xeq__story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}
.xeq__h{font-size:clamp(1.75rem,3vw,2.5rem);margin:clamp(56px,8vw,96px) 0 28px}
.xeq__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.xmem{padding:24px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:64px 1fr;column-gap:18px;align-content:start}
.xmem__ini{grid-row:span 4;display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--dark);color:var(--accent-on-dark);font:700 1.375rem/1 var(--font-mono);text-shadow:0 0 12px color-mix(in srgb,var(--accent-on-dark) 60%,transparent)}
.xmem__name{font-size:1.25rem}
.xmem__role{font-weight:700;color:var(--accent-text);margin-top:2px}
.xmem__p{color:var(--muted);margin-top:8px;font-size:.9375rem}
.xmem__langs{font:500 .8125rem/1.3 var(--font-mono);color:var(--ink-2);margin-top:10px}
@media (max-width:1000px){.xeq__grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.xeq__story{grid-template-columns:1fr}}
@media (max-width:640px){.xeq__grid{grid-template-columns:1fr}}

.xva{background:var(--surface);border-top:1px solid var(--line)}
.xva__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}
.xva__item{padding:28px 28px 32px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-content:start}
.xva__item:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--line)}
.xva__n{font:700 .875rem/1 var(--font-mono);color:var(--muted);grid-column:1/-1;margin-bottom:16px}
.xva__ico{grid-row:span 2;color:var(--accent-text);width:2rem;height:2rem}
.xva__t{font-size:1.3125rem}
.xva__item p{color:var(--muted);margin-top:6px}
@media (max-width:900px){.xva__grid{grid-template-columns:1fr}.xva__item,.xva__item:not(:nth-child(3n+1)){padding:22px 0;border-left:0}}

/* =========================================================================
   FAQ
   ========================================================================= */
.xfq__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,88px);align-items:start}
.xfq__in .xsh{position:sticky;top:calc(var(--hdr) + 32px)}
.has-demobar .xfq__in .xsh{top:calc(var(--hdr) + 80px)}
.xfq__call{margin-top:22px;color:var(--muted)}
.xfq__call a{font:700 1.0625rem/1 var(--font-mono);color:var(--ink);padding:6px 0;display:inline-block}
.xfq__list{border-top:2px solid var(--ink)}
.xfq__item{border-bottom:1px solid var(--line)}
.xfq__item summary{list-style:none;display:grid;grid-template-columns:44px 1fr 28px;gap:14px;align-items:center;padding:22px 0;cursor:pointer;font-weight:700;font-size:1.1875rem;line-height:1.3}
.xfq__item summary::-webkit-details-marker{display:none}
.xfq__n{font:700 .9375rem/1 var(--font-mono);color:var(--accent-text)}
.xfq__plus{width:22px;height:22px;position:relative;justify-self:end}
.xfq__plus::before,.xfq__plus::after{content:"";position:absolute;inset:0;margin:auto;background:currentColor;border-radius:2px}
.xfq__plus::before{width:22px;height:4px}
.xfq__plus::after{width:4px;height:22px;transition:transform .25s}
.xfq__item[open] .xfq__plus::after{transform:scaleY(0)}
.xfq__item summary:hover .xfq__q{color:var(--accent-text)}
.xfq__a{padding:0 42px 24px 58px;color:var(--ink-2)}
.xfq__a p+p{margin-top:10px}
@media (max-width:900px){.xfq__in{grid-template-columns:1fr}.xfq__in .xsh{position:static}.xfq__a{padding:0 0 22px 58px}}
@media (max-width:480px){.xfq__item summary{grid-template-columns:34px 1fr 22px;font-size:1.0625rem}.xfq__a{padding-left:48px}}

/* =========================================================================
   Appel final
   ========================================================================= */
.xcta{background:var(--accent);color:var(--accent-ink);position:relative;overflow:hidden}
.xcta::before{content:"";position:absolute;right:-60px;top:50%;width:520px;height:520px;transform:translateY(-50%);color:var(--accent-ink);opacity:.18;
  background:radial-gradient(circle,currentColor 0 4px,transparent 4.6px) 0 0/26px 26px;
  clip-path:polygon(33.3% 0,66.6% 0,66.6% 33.3%,100% 33.3%,100% 66.6%,66.6% 66.6%,66.6% 100%,33.3% 100%,33.3% 66.6%,0 66.6%,0 33.3%,33.3% 33.3%)}
.xcta__in{position:relative;display:grid;grid-template-columns:1.3fr auto;gap:32px 56px;align-items:center;padding-block:clamp(64px,8vw,104px)}
.xcta__title{font-size:clamp(2rem,4.4vw,3.6rem);max-width:20ch}
.xcta__p{margin-top:16px;font-size:1.125rem;max-width:52ch;opacity:.92}
.xcta__btns{display:grid;gap:12px;position:relative}
@media (max-width:900px){.xcta__in{grid-template-columns:1fr}.xcta::before{width:340px;height:340px;right:-120px;top:auto;bottom:-120px;transform:none}}

/* =========================================================================
   Pages intérieures
   ========================================================================= */
.xph{background:var(--bg-2);border-bottom:1px solid var(--line)}
.xph__in{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding-block:clamp(40px,6vw,88px)}
.xph__title{font-size:clamp(2.5rem,5.6vw,4.75rem);letter-spacing:-.035em;line-height:1;margin-top:18px}
.xph__lead{margin-top:28px;font-size:clamp(1.0625rem,1.5vw,1.25rem);color:var(--ink-2);max-width:56ch}
.xph__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.xph__links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:600}
.xph__links a:hover{border-color:var(--ink)}
.xph__deco{padding:28px;border-radius:28px;background:var(--surface);border:1px solid var(--line)}
.xcrumb ol{display:flex;flex-wrap:wrap;gap:6px;font:500 .875rem/1.4 var(--font-mono);color:var(--muted)}
.xcrumb li+li::before{content:"+";margin-right:6px;color:var(--accent-text);font-weight:700}
.xcrumb a{color:var(--ink);padding:6px 0}
@media (max-width:760px){.xph__deco{display:none}.xph__in{grid-template-columns:1fr}}

/* Fiches services */
.xfi__in{display:grid;grid-template-columns:260px 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.xfi__toc{position:sticky;top:calc(var(--hdr) + 28px);padding:20px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line)}
.has-demobar .xfi__toc{top:calc(var(--hdr) + 76px)}
.xfi__toc-t{font:700 .8125rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.xfi__toc a{display:flex;gap:10px;align-items:center;padding:9px 8px;border-radius:8px;text-decoration:none;font-weight:600;min-height:44px}
.xfi__toc a:hover{background:var(--bg-2)}
.xfi__toc a span{font:700 .8125rem/1 var(--font-mono);color:var(--accent-text)}
.xfi__list{display:grid;gap:28px}
.xfiche{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-big);overflow:hidden;scroll-margin-top:calc(var(--hdr) + 24px)}
.has-demobar .xfiche{scroll-margin-top:calc(var(--hdr) + 72px)}
.xfiche__head{padding:clamp(22px,3vw,36px) clamp(22px,3vw,36px) 0}
.xfiche__title{font-size:clamp(1.75rem,3vw,2.5rem)}
.xfiche__short{margin-top:12px;font-size:1.125rem;color:var(--ink-2);max-width:60ch}
.xfiche__media{margin:24px clamp(22px,3vw,36px) 0;border-radius:var(--r-card);overflow:hidden;aspect-ratio:16/7}
.xfiche__img{width:100%;height:100%;object-fit:cover}
.xfiche__body{padding:24px clamp(22px,3vw,36px) clamp(24px,3vw,36px)}
.xfiche__p{color:var(--ink-2);max-width:68ch}
.xfiche__p+.xfiche__p{margin-top:12px}
.xfiche__cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px;padding-top:24px;border-top:2px dotted var(--line)}
.xfiche__h{font-size:1.125rem;margin-bottom:12px}
.xticks{display:grid;gap:8px}
.xticks li{display:flex;gap:10px;align-items:flex-start}
.xticks li::before{content:"";flex:none;width:12px;height:12px;margin-top:7px;background:linear-gradient(var(--accent),var(--accent)) center/100% 4px no-repeat,linear-gradient(var(--accent),var(--accent)) center/4px 100% no-repeat}
.xhow{display:grid;gap:10px;counter-reset:none}
.xhow li{display:flex;gap:12px;align-items:flex-start}
.xhow li span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--dark);color:var(--accent-on-dark);font:700 .875rem/1 var(--font-mono)}
.xfiche__good{margin-top:24px;padding:16px 18px;border-radius:12px;background:var(--soft);color:var(--ink)}
.xfiche__act{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media (max-width:900px){.xfi__in{grid-template-columns:1fr}.xfi__toc{position:static}.xfi__toc ol{display:flex;flex-wrap:wrap;gap:4px}}
@media (max-width:640px){.xfiche__cols{grid-template-columns:1fr}.xfiche__media{aspect-ratio:16/10}.xfiche__act .btn{width:100%}}

/* Accès */
.xac{background:var(--surface);border-top:1px solid var(--line)}
.xac__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center}
.xac__map{position:relative;border-radius:var(--r-big);overflow:hidden;background:var(--bg);border:1px solid var(--line);aspect-ratio:4/3}
.xac__svg{width:100%;height:100%;display:block}
.xac__block{fill:var(--bg-2)}
.xac__street{stroke:var(--surface);stroke-width:16}
.xac__park{fill:color-mix(in srgb,var(--accent) 22%,var(--bg-2))}
.xac__pin{position:absolute;left:42.5%;top:43.3%;transform:translate(-50%,-100%);display:grid;place-items:center;width:52px;height:52px;border-radius:14px 14px 14px 2px;background:var(--dark);box-shadow:var(--shadow-lg)}
.xac__pin::after{content:"";position:absolute;inset:-10px;border-radius:20px;border:2px solid var(--accent);opacity:.5;animation:ring 2.6s infinite}
@keyframes ring{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.4);opacity:0}}
.xac__lab{position:absolute;font:700 .8125rem/1 var(--font-mono);padding:6px 9px;border-radius:6px;background:var(--surface);border:1px solid var(--line)}
.xac__lab--1{left:52%;top:53%}
.xac__lab--2{left:6%;top:47%}
.xac__addr{font:700 1.25rem/1.4 var(--font-mono);margin:18px 0 22px}
.xac__list{display:grid;gap:16px;margin-bottom:28px}
.xac__list li{display:flex;gap:14px;align-items:flex-start}
.xac__list .cg{width:42px;height:42px;padding:9px;border-radius:12px;background:var(--soft);color:var(--accent-text)}
.xac__list strong{display:block}
.xac__list span{color:var(--muted)}
.xac__list strong{color:var(--ink)}
@media (max-width:900px){.xac__in{grid-template-columns:1fr}}

/* Rendez-vous & contact */
.xbk__in,.xct__in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:start}
.xbk__side .xph__title,.xct__info .xph__title{font-size:clamp(2.3rem,4.6vw,3.9rem)}
.xbk__side .xph__title em{white-space:nowrap}
.xbk__next-t{font-weight:800;margin:32px 0 14px}
.xbk__call{margin-top:32px;padding:20px;border-radius:var(--r-card);background:var(--dark);color:var(--on-dark);display:grid;gap:12px}
.xbk__call .xsign__state{font-size:1rem}
.xbk__call .xsign__state span:last-child{color:var(--on-dark-muted);font-weight:500}
.xbk__phone{text-decoration:none;font:700 1.75rem/1.1 var(--font-mono);display:grid;gap:4px}
.xbk__phone small{font:500 .875rem/1.2 var(--font-body);color:var(--on-dark-muted)}
.xbk__form,.xct__form{background:var(--surface);border-radius:var(--r-big);padding:clamp(22px,3vw,40px);box-shadow:var(--shadow);border:1px solid var(--line)}
.xbk__urgent{display:flex;gap:10px;align-items:flex-start;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-weight:600;color:var(--alert)}
.xbk__urgent .cg{width:1.3em;height:1.3em;margin-top:2px}
.xct__list{display:grid;margin-top:32px;border-top:2px solid var(--ink)}
.xct__list li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.xct__k{font:700 .8125rem/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.xct__big{font:700 1.625rem/1.1 var(--font-mono);text-decoration:none}
.xct__list .xsign__state{display:inline-flex;font-size:.9375rem;color:var(--ink)}
.xct__list .xsign__state.is-open{color:var(--accent-text)}
.xct__list .xsign__state span:last-child{font-weight:500;color:var(--muted)}
.xct__form-t{font-size:1.5rem;font-weight:800}
.xct__form-p{color:var(--muted);margin:6px 0 18px}
@media (max-width:900px){.xbk__in,.xct__in{grid-template-columns:1fr}}
@media (max-width:480px){.xct__list li{grid-template-columns:1fr;gap:4px}}

/* Formulaires */
.sform__field label,.sform__label{font-weight:700;color:var(--ink);font-size:.9688rem}
.sform__field input,.sform__field textarea,.sform__field select{border:2px solid var(--line);border-radius:10px;background:#fff;min-height:52px;font:500 1.0625rem/1.4 var(--font-body);color:var(--ink)}
.sform__field input:focus,.sform__field textarea:focus,.sform__field select:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:0}
.sform__err{color:var(--alert);font-weight:600}
.chip span{border:2px solid var(--line);border-radius:999px;min-height:46px;padding:10px 16px;font-weight:700;background:#fff;color:var(--ink)}
.chip:hover span{border-color:var(--ink)}
.chip input:checked+span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.sform__progress li.is-current,.sform__progress li.is-done{color:var(--ink)}
.sform__progress-n{font-family:var(--font-mono)}
.sform__progress li.is-current .sform__progress-n,.sform__progress li.is-done .sform__progress-n{background:var(--accent);color:var(--accent-ink)}
.sform__legend span{font-family:var(--font-mono);color:var(--accent-text)}
.sform__legend{font-weight:800;font-size:1.25rem}
.sform__legal{color:var(--muted)}
.sform__status{font-weight:700}

/* =========================================================================
   Pied de page
   ========================================================================= */
.xf{background:var(--dark);color:var(--on-dark-muted);padding-block:clamp(56px,7vw,96px) 0}
.xf a{color:var(--on-dark)}
.xf__top{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid #22362b}
.xf__big{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:800;color:var(--on-dark);letter-spacing:-.025em;line-height:1.1;max-width:22ch}
.xf__act{display:flex;flex-wrap:wrap;gap:12px}
.xf__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding-block:clamp(40px,5vw,64px)}
.xf__word{font-size:1.375rem;font-weight:800;color:var(--on-dark)}
.xf__desc{margin-top:12px;max-width:40ch}
.xf__addr{margin-top:18px;font-family:var(--font-mono);font-size:.9375rem;line-height:1.6}
.xf__addr a{display:inline-block;padding:6px 0}
.xf__title{font:700 .8125rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-on-dark);margin-bottom:16px}
.xf__hours li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font:500 .9063rem/1.3 var(--font-mono);border-bottom:1px dashed #22362b}
.xf__hours li.is-today{color:var(--accent-on-dark);font-weight:700}
.xf__hours li.is-closed span:last-child{opacity:.75}
.xf__list li a{display:inline-block;padding:7px 0;text-decoration:none}
.xf__list li a:hover{text-decoration:underline}
.xf__sos{margin-top:18px;display:grid;gap:10px;font-size:.9375rem}
.xf__sos p{display:flex;gap:10px;align-items:center}
.xf__sos .cg{width:1.25em;height:1.25em;color:var(--amber)}
.xf__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding-block:24px;border-top:1px solid #22362b;font-size:.875rem}
.xf__nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.xf__nav a{text-decoration:none;padding:6px 0}
.xf__nav a:hover{text-decoration:underline}
@media (max-width:1000px){.xf__grid{grid-template-columns:1fr 1fr}.xf__top{grid-template-columns:auto 1fr}.xf__act{grid-column:1/-1}}
@media (max-width:600px){.xf__grid{grid-template-columns:1fr}.xf__top{grid-template-columns:1fr}.xf__bottom{padding-bottom:96px}}

/* Barre mobile */
.mobile-bar{background:var(--mobilebar-bg);border-top:1px solid #22362b}
.mobile-bar__item{color:var(--on-dark);font-weight:700;font-family:var(--font-body)}
.mobile-bar__item--primary{background:var(--accent);color:var(--accent-ink)}

/* Mentions, 404 */
.legal{padding-block:clamp(48px,7vw,96px)}
.legal__in{max-width:780px}
.legal .page-hero__title{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.03em;margin-bottom:24px}
.legal h2{font-size:1.5rem;margin:36px 0 10px}
.legal p{color:var(--ink-2)}
.legal__demo{padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--amber) 20%,var(--surface));font-weight:600;color:var(--ink)!important}
.notfound{padding-block:clamp(72px,12vw,160px)}
.notfound__in{display:grid;justify-items:start;gap:18px;max-width:760px}
.notfound .eyebrow{font:700 .875rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-text)}
.notfound__title{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.035em}
.notfound__text{font-size:1.1875rem;color:var(--muted)}

/* Apparition */
.js [data-reveal]{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}

@media (prefers-reduced-motion:reduce){
  .led__px.is-on,.xsign__run,.is-open>.xt__dot,.xac__pin::after{animation:none!important}
  .xsign__run{flex-wrap:wrap;width:auto}
  .xsign__run span:nth-child(n+5){display:none}
  .xlab,.xlab--big .xlab__img,.xprod__img,.btn{transition:none}
}
