body.sante{--health-primary:#285e60;--health-on-primary:#fff;--health-ink:#23484a;--health-text:#354d51;--health-pale:#edf3f2;background:#fcfaf6;color:var(--health-text);font-family:'Segoe UI',Arial,sans-serif;line-height:1.7;overflow-wrap:anywhere}
.sante .container{width:min(1140px,calc(100% - 64px))}.sante h1,.sante h2,.sante h3,.sante h4,.sante a{color:var(--health-ink)}.sante h1{font-size:clamp(36px,4.6vw,64px);line-height:1.12;letter-spacing:-.035em;font-weight:650;max-width:840px}.sante h2{font-size:clamp(26px,3vw,36px);line-height:1.25;letter-spacing:-.02em;font-weight:600;margin-bottom:24px}.sante h3{font-size:21px;margin:24px 0 12px}.sante h4{font-size:19px}.sante p{margin:12px 0;white-space:pre-line}.sante .eyebrow{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--health-ink)}
.sante .header{background:#fcfaf6;border-bottom:1px solid #dae2df}.sante .header-shell{min-height:88px;gap:20px}.sante .brand{max-width:32%;min-width:0}.sante .brand-name{font-size:21px;font-weight:650;letter-spacing:-.03em}.sante .brand img{max-width:160px;max-height:64px;width:auto;height:auto;object-fit:contain}.sante .nav{gap:18px}.sante .nav a{font-size:14px}.sante .header-actions{display:none}.sante .button,.sante .mobile-actions .button{background:var(--health-primary);color:var(--health-on-primary);border:1px solid var(--health-ink);border-radius:8px;min-height:48px;padding:12px 20px}.sante .button:hover{filter:brightness(.94);color:var(--health-on-primary)}.sante .button.secondary{background:transparent;color:var(--health-ink);border-color:var(--health-ink)}.sante a:focus-visible,.sante summary:focus-visible{outline:3px solid var(--health-ink);outline-offset:5px}
.health-notice{background:#eeeae1;text-align:center;padding:8px 20px;font-size:12px;color:#475854}.health-hero{padding-block:84px 76px;position:relative}.health-hero:before{content:'';display:block;width:56px;height:6px;background:var(--health-primary);border-radius:8px;margin-bottom:28px}.health-hero--photo{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center}.health-hero--photo:before{position:absolute;top:46px}.health-lead{font-size:20px;max-width:640px}.health-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.health-contact-link{display:inline-block;font-size:15px;text-underline-offset:5px}.health-hero-photo{margin:0}.health-hero-photo img{width:100%;height:auto;display:block;border-radius:18px}
.health-section{padding-block:56px;scroll-margin-top:110px}.health-section:nth-of-type(even){background:var(--health-pale)}.health-section p[data-content-field]{max-width:850px;font-size:17px}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.health-service,.health-member{background:#fff;border:1px solid #d7e1df;border-radius:12px;padding:26px;min-width:0}.health-service h3{margin:0 0 14px}.health-service p,.health-member p{font-size:16px}.health-price,.health-role{font-weight:600}.health-member img{width:88px;height:88px;object-fit:cover;border-radius:50%;margin-bottom:18px}.health-tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:20px 0}.health-tags li{padding:10px 16px;background:#fff;border:1px solid #c9d6d2;border-radius:8px}.health-care{margin-top:32px;max-width:850px}.health-care details{border-bottom:1px solid #b4c9c3;padding:16px 0}.health-care summary{cursor:pointer;color:var(--health-ink);font-weight:600;min-height:30px}.health-hours{max-width:650px}.business-hours>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;border-bottom:1px solid #b4c9c3;padding:10px 0}.business-hours dd{margin:0}.health-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.health-gallery figure{margin:0}.health-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.health-gallery figcaption{font-size:14px;margin-top:10px}.health-contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:24px}.health-contact>div:first-child{padding-left:24px}.health-contact address{font-style:normal}.sante .business-location{padding-block:32px 56px}.sante .business-location iframe{width:100%;height:350px;border:0;border-radius:12px;margin-top:24px}.sante .contact-strip{display:none}.sante .footer{background:var(--health-primary);color:var(--health-on-primary);padding:40px 0 20px}.sante .footer a,.sante .footer p,.sante .footer strong{color:var(--health-on-primary)}.sante .footer-grid{display:block}.sante .footer nav{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:22px}.sante .footer-bottom{border-color:currentColor}.sante .mobile-actions{background:#fcfaf6;border-top:1px solid #c9d6d2}
@media(max-width:1000px){.sante .brand{max-width:28%}.sante .nav{gap:12px}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-hero--photo{gap:30px}}
@media(max-width:750px){.sante:has(.mobile-actions){padding-bottom:84px}.sante .container{width:calc(100% - 36px)}.sante .header-shell{min-height:76px;gap:12px;padding-block:12px}.sante .brand{max-width:calc(100% - 90px);flex:1}.sante .brand-name{font-size:18px}.sante .menu-toggle{display:block}.sante .nav{display:none}.sante .nav.is-open{display:flex;flex-direction:column;align-items:stretch;padding:16px 0;gap:6px}.health-hero{padding-block:38px 42px}.health-hero--photo{grid-template-columns:1fr;gap:28px}.health-hero--photo:before{display:none}.health-lead{font-size:18px}.health-section{padding-block:36px}.health-grid,.health-contact{grid-template-columns:1fr;gap:18px}.health-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.health-service,.health-member{padding:22px}.health-contact{gap:30px}.health-contact>div:first-child{padding-left:0}.health-notice{font-size:11px}.sante .footer-bottom{flex-direction:column;gap:8px}.sante .mobile-actions{padding:10px 18px calc(10px + env(safe-area-inset-bottom))}.sante .mobile-actions .button{font-size:13px;padding:10px 12px}.business-hours>div{font-size:14px}.health-tags li{max-width:100%}}
@media(max-width:360px){.health-gallery{grid-template-columns:1fr}.health-actions{flex-direction:column;align-items:stretch}.sante h1{font-size:34px}}
/* Santé: readable specialties and qualifications, responsive without changing other templates. */
.health-specialties{display:grid;gap:0;max-width:850px;margin:20px 0 30px}.health-specialty{border-bottom:1px solid #b4c9c3;padding:14px 0}.health-specialty summary{cursor:pointer;color:var(--health-ink);font-weight:650;font-size:17px;line-height:1.5}.health-specialty summary::marker{color:var(--health-primary)}.health-specialty p{margin:12px 0 2px;line-height:1.7}.health-specialty--plain h4{margin:0;font-size:17px}.health-tags{display:grid;gap:10px;max-width:850px;list-style:disc;padding-left:24px;margin:20px 0}.health-tags li{display:list-item;max-width:none;padding:4px 0;background:transparent;border:0;border-radius:0}.health-tags li span{display:inline}.health-tags li.health-qualification--photo{list-style:none}

/* Compact, clearly separated Santé specialties on desktop and mobile. */
.sante .health-specialties{gap:0;margin:12px 0 24px;max-width:850px}
.sante .health-specialties .health-specialty{margin:0;padding:0;border:0;border-bottom:1px solid #c7d6d2;border-radius:0;background:transparent;box-shadow:none}
.sante .health-specialties .health-specialty summary{display:list-item;margin:0;padding:13px 6px 13px 2px;font-size:16px;line-height:1.45;list-style-position:inside}
.sante .health-specialties .health-specialty[open] summary{padding-bottom:7px}
.sante .health-specialties .health-specialty p{margin:0;padding:0 12px 15px 22px;font-size:16px;line-height:1.65}
.sante .health-specialties .health-specialty--plain h4{margin:0;padding:13px 2px;font-size:16px}
.sante ul.health-tags{display:block;list-style:disc outside;margin:12px 0 20px;padding-left:24px;max-width:850px}
.sante ul.health-tags>li{display:list-item;margin:0;padding:7px 0;max-width:none;list-style:inherit}
@media(max-width:750px){.sante .health-specialties .health-specialty summary{padding-block:12px;font-size:15px}.sante .health-specialties .health-specialty p{font-size:15px;padding-left:14px}.sante ul.health-tags>li{padding-block:6px}}

/* Mobile Santé: reduce scrolling without affecting desktop or other templates. */
@media(max-width:750px){
  .sante .health-section{padding-block:28px}
  .sante h2{margin-bottom:18px}
  .sante .health-specialties{margin:8px 0 16px}
  /* Keep each closed specialty at its natural content height, not stretched by a generic details layout. */
  .sante .health-specialties{display:block}
  .sante .health-specialties > .health-specialty{display:block;min-height:0;height:auto;margin:0;padding:0}
  .sante .health-specialties > .health-specialty > summary{display:list-item;min-height:0;height:auto;margin:0;padding:9px 2px;font-size:15px;line-height:1.4}
  .sante .health-specialties .health-specialty[open] summary{padding-bottom:6px}
  .sante .health-specialties .health-specialty p{padding:0 8px 11px 14px;line-height:1.55}
  .sante .health-care{margin-top:22px}
  .sante .health-care details{padding:12px 0}
  .sante .health-service,.sante .health-member{padding:18px}
  .sante .health-grid{gap:12px}
  .sante .health-contact{gap:22px}
  .sante .mobile-actions{z-index:10}
}

/* AzeSite 040 — finition visuelle générique Santé & Bien-être.
   Couleurs toujours pilotées par le mini-admin. Aucun contenu client codé en dur. */
.sante .header{box-shadow:0 3px 24px rgba(17,43,38,.035)}
.sante .nav a{font-weight:550;text-underline-offset:7px;transition:color .18s ease}
.sante .nav a:hover{color:var(--health-primary)}
.sante .health-hero{isolation:isolate;margin-block:30px 12px;padding:clamp(34px,5.2vw,70px);border:1px solid color-mix(in srgb,var(--health-primary) 13%,transparent);border-radius:26px;background:radial-gradient(ellipse at 94% 4%,color-mix(in srgb,var(--health-primary) 9%,transparent),transparent 58%),linear-gradient(155deg,#fff 0%,#fcfaf6 100%);box-shadow:0 20px 60px rgba(25,47,43,.055)}
.sante .health-hero:before{width:46px;height:4px;margin-bottom:22px;opacity:.85}
.sante .health-hero--photo{gap:clamp(22px,3.7vw,52px);grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.sante .health-hero--photo:before{top:34px;left:clamp(34px,5.2vw,70px)}
.sante .health-hero .eyebrow{font-weight:700;letter-spacing:.11em}
.sante .health-hero h1{font-size:clamp(35px,4.3vw,58px);letter-spacing:-.035em;text-wrap:balance}
.sante .health-lead{max-width:48ch;line-height:1.65;color:var(--health-text)}
.sante .health-hero-photo{position:relative;min-width:0}
.sante .health-hero-photo img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 18px 35px rgba(20,45,41,.12)}
.sante .health-actions{gap:10px;margin:25px 0 18px}
.sante .health-actions .button{font-weight:650;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.sante .health-actions .button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,45,41,.1)}
.sante .health-section{padding-block:clamp(42px,5vw,70px)}
.sante .health-section h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.027em}
.sante .health-grid{gap:18px}
.sante .health-service,.sante .health-member{border-color:color-mix(in srgb,var(--health-primary) 17%,#e1e6e2);border-radius:16px;box-shadow:0 10px 30px rgba(24,48,43,.045)}
.sante .health-service{position:relative;overflow:hidden}
.sante .health-service:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:var(--health-primary);opacity:.66}
.sante .health-service .health-care{margin-top:0}
.sante .health-service .health-care details{border-bottom:0;padding:0}
.sante .health-service .health-care summary{font-size:17px;line-height:1.5}
.sante .health-service .health-fold-body{padding-top:7px}
.sante .health-gallery-media{border-radius:16px}
.sante .health-gallery-media img{transition:transform .35s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.sante .health-gallery figure:hover .health-gallery-media img{transform:scale(1.035)}}
.sante .health-contact{gap:clamp(20px,4vw,54px)}
.sante .health-contact>div{min-width:0}
.sante .footer{padding-top:46px}
@media(max-width:750px){
 .sante .health-hero{margin-block:14px 0;padding:28px 20px 32px;border-radius:19px}
 .sante .health-hero--photo{grid-template-columns:1fr;gap:24px}
 .sante .health-hero:before{display:block;margin-bottom:18px}
 .sante .health-hero--photo:before{display:none}
 .sante .health-hero h1{font-size:clamp(32px,8vw,43px)}
 .sante .health-hero-photo img{box-shadow:0 12px 24px rgba(20,45,41,.1)}
 .sante .health-section{padding-block:32px}
 .sante .health-grid{gap:12px}
 .sante .health-service,.sante .health-member{border-radius:13px}
 .sante .health-service .health-care summary{font-size:15px}
 .sante .health-actions .button:hover{transform:none;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){.sante .nav a,.sante .health-actions .button,.sante .health-gallery-media img{transition:none}}
/* AzeSite 043 — logos Santé lisibles : règle générique, sans dimensions imposées aux images.
   Conserve les proportions et protège la navigation sur tablette et mobile. */
@media (min-width:1101px){.sante .brand img{max-width:min(100%,220px);max-height:78px}}
@media (min-width:751px) and (max-width:1100px){.sante .brand img{max-width:min(100%,185px);max-height:70px}}
@media (max-width:750px){.sante .brand img{max-width:min(100%,190px);max-height:66px}}
