/* Dermo Laser : thème du site de marque */
:root{
  --ink:#13100D;--text:#4F4943;--muted:#6E665E;--line:#E2D6CA;--line-soft:#ECE3DA;--rule:#D9CBBD;
  --accent:#C0814F;--btn:#A5683C;--btn-hover:#8C5630;--cream:#F7F1EB;--sand:#F4EBE2;--navy:#0A1520;--photo:#EDE2D7;
  --font-display:"Montserrat",system-ui,sans-serif;--font-body:"Source Sans 3",system-ui,sans-serif;
  --wrap:1240px;--gutter:40px;--radius:3px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font:400 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}a:hover{color:var(--btn)}
:where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote){margin:0}
:where(ul,ol){padding:0}
:focus-visible{outline:2px solid var(--btn);outline-offset:3px}
.dl-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.dl-skip{position:absolute;left:-9999px;top:0}
.dl-skip:focus{left:16px;top:16px;z-index:100;background:#fff;padding:10px 14px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* En-tête */
.dl-header{background:#fff;border-bottom:1px solid var(--line-soft)}
.dl-header__in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.dl-header__logo{display:flex;color:#0A1520}
.dl-logo{display:block;width:141px;height:27px;color:inherit}
.dl-nav{display:flex;gap:36px;font-size:15px}
.dl-nav a{padding:6px 0;border-bottom:1px solid transparent;color:var(--text);text-decoration:none}
.dl-nav a:hover{color:var(--ink)}
.dl-nav a[aria-current]{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}

/* Boutons et liens */
.dl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:var(--radius);font:600 13px/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background-color .15s,color .15s}
.dl-btn--primary{background:var(--btn);color:#fff}
.dl-btn--primary:hover{background:var(--btn-hover);color:#fff}
.dl-btn--ghost{border-color:var(--ink);background:#fff;color:var(--ink)}
.dl-btn--ghost:hover{background:var(--ink);color:#fff}
.dl-link{font-size:16px;color:var(--ink);text-underline-offset:4px}
.dl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}

/* Fil d'Ariane */
.dl-crumbs{padding-top:20px;font-size:14px;color:var(--muted)}
.dl-crumbs a{color:var(--muted)}
.dl-crumbs .breadcrumb_last{color:var(--ink)}

/* Typographie */
.dl-eyebrow{margin-bottom:20px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.dl-h1{font:300 clamp(40px,5.2vw,72px)/1.05 var(--font-display);letter-spacing:-.015em;color:var(--ink)}
.dl-h2{font:300 clamp(28px,3vw,40px)/1.2 var(--font-display);color:var(--ink)}
.dl-h3{font:500 18px/1.35 var(--font-display);color:var(--ink)}
.dl-h1 em,.dl-h2 em,.dl-accent{font-style:italic;font-weight:300;color:var(--accent)}
.dl-lead{max-width:580px;margin-top:26px;font-size:18px;line-height:1.65}
.dl-text p+p{margin-top:16px}

/* Sections */
.dl-hero{padding-block:52px 80px}
.dl-section{padding-block:96px}
.dl-section--tight{padding-top:0}
.dl-section--cream{background:var(--cream)}
.dl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.dl-split--hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch}
.dl-split--hero>div{display:flex;flex-direction:column;justify-content:center}
.dl-head-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:40px}
.dl-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.dl-three--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}
.dl-point{padding-top:22px;border-top:1px solid var(--rule)}
.dl-point p{margin-top:10px}

/* Informations pratiques */
.dl-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}
.dl-facts dt{margin-bottom:4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dl-facts dd{margin:0;color:var(--ink)}
.dl-facts dd a{text-decoration:none}
.dl-nap{margin:36px 0;padding-top:26px;border-top:1px solid var(--line)}

/* Store locator */
.dl-locator{padding-bottom:104px}
.dl-map{position:sticky;top:24px;padding:44px 48px 28px;border-radius:var(--radius);background:var(--sand)}
.dl-map__canvas{position:relative;width:100%;aspect-ratio:570/545}
.dl-map__canvas svg{position:absolute;inset:0;width:100%;height:100%}
.dl-map__ref{position:absolute;display:flex;align-items:center;gap:6px;transform:translate(-3px,-50%);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6E665E}
.dl-map__ref::before{content:"";width:5px;height:5px;border-radius:50%;background:#A89D92}
.dl-pin{position:absolute;display:flex;align-items:center;gap:10px;min-height:44px;transform:translate(-6px,-50%);color:var(--ink);text-decoration:none}
.dl-pin--left{flex-direction:row-reverse;transform:translate(calc(-100% + 6px),-50%)}
.dl-pin__dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px rgba(255,255,255,.92);transition:width .15s,height .15s,background-color .15s}
.dl-pin__label{padding:5px 9px;border-radius:2px;background:rgba(251,247,242,.88);font:400 15px/1 var(--font-display);white-space:nowrap}
.dl-pin.is-active{transform:translate(-9px,-50%)}
.dl-pin--left.is-active{transform:translate(calc(-100% + 9px),-50%)}
.dl-pin.is-active .dl-pin__dot{width:18px;height:18px;background:var(--accent);box-shadow:0 0 0 6px rgba(255,255,255,.92)}
.dl-pin.is-active .dl-pin__label{background:#fff;font-weight:500}
.dl-pin:hover{color:var(--ink)}
.dl-map__hint{margin-top:20px;font-size:14px;color:var(--muted)}
.dl-card{padding:32px 0 36px;border-top:1px solid var(--line);scroll-margin-top:24px}
.dl-card.is-active{border-top:2px solid var(--accent)}
.dl-card__head{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:24px;align-items:start;margin-bottom:24px}
.dl-card__title{font:400 30px/1.2 var(--font-display);color:var(--ink)}
.dl-card__title a{color:inherit;text-decoration:none}
.dl-card__area{margin-top:6px;font-size:15px;color:var(--muted)}
.dl-card__photo img{width:132px;height:99px;border-radius:var(--radius);object-fit:cover}
.dl-card .dl-facts{margin-bottom:26px}
.dl-card__more{margin-left:auto;font-weight:600;text-decoration:none;white-space:nowrap}

/* Accueil */
.dl-centres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.dl-tile{display:block;color:var(--text);text-decoration:none}
.dl-tile img{width:100%;aspect-ratio:4/3;margin-bottom:18px;border-radius:var(--radius);object-fit:cover;background:var(--photo)}
.dl-tile__name{font:400 24px/1.25 var(--font-display);color:var(--ink)}
.dl-tile__meta{margin-top:6px;font-size:15px;color:var(--muted)}
.dl-tile__go{display:inline-block;margin-top:14px;font-weight:600;color:var(--ink)}
.dl-tile:hover .dl-tile__go{color:var(--btn)}

/* Page centre */
.dl-hero__photo{display:flex;flex-direction:column;gap:10px;margin:0}
.dl-hero__photo img{flex:1;width:100%;height:100%;min-height:520px;border-radius:var(--radius);object-fit:cover;background:var(--photo)}
.dl-hero__photo figcaption,.dl-figure figcaption{font-size:14px;color:var(--muted)}
.dl-figure{margin-top:36px}
.dl-figure img{width:100%;aspect-ratio:3/2;margin-bottom:10px;border-radius:var(--radius);object-fit:cover}
.dl-rows{margin-bottom:28px;border-top:1px solid var(--rule);list-style:none}
.dl-rows li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--rule)}
.dl-rows li>span:first-child{color:var(--ink)}
.dl-rows li>span:last-child{text-align:right}
.dl-rows+.dl-h3,.dl-btn+.dl-h3{margin-top:40px}
.dl-h3+.dl-rows{margin-top:18px}
.dl-doctors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.dl-doctor{display:block;color:var(--ink);text-decoration:none}
.dl-doctor img{width:100%;aspect-ratio:4/5;margin-bottom:14px;border-radius:var(--radius);object-fit:cover;object-position:50% 20%;background:var(--photo)}
.dl-doctor strong{display:block;font:500 16px/1.3 var(--font-display)}
.dl-doctor span{font-size:14px;color:var(--muted)}
.dl-soins{border-top:1px solid var(--line);list-style:none}
.dl-soins a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;border-bottom:1px solid var(--line);font:400 18px/1.3 var(--font-display);color:var(--ink);text-decoration:none}
.dl-soins a:hover{color:var(--btn)}
.dl-soins a span[aria-hidden]{color:var(--muted)}

/* FAQ */
.dl-faq{border-top:1px solid var(--line)}
.dl-faq details{padding:22px 0;border-bottom:1px solid var(--line)}
.dl-faq summary{display:flex;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font:400 18px/1.4 var(--font-display);color:var(--ink)}
.dl-faq summary::-webkit-details-marker{display:none}
.dl-faq summary::after{content:"+";flex:none;font-size:24px;line-height:1;color:var(--muted);transition:transform .2s}
.dl-faq details[open] summary::after{transform:rotate(45deg)}
.dl-faq details p{margin-top:14px}

/* Autres centres */
.dl-others{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.dl-other{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;border-radius:var(--radius);background:#fff;color:var(--ink);text-decoration:none}
.dl-other strong{display:block;font:400 21px/1.3 var(--font-display)}
.dl-other small{display:block;margin-top:4px;font-size:15px;color:var(--muted)}
.dl-other span[aria-hidden]{font-size:20px;color:var(--muted)}
.dl-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:56px;padding-top:32px;border-top:1px solid var(--rule)}
.dl-band p{font:400 20px/1.4 var(--font-display);color:var(--ink)}

/* Pages de texte */
.dl-prose{max-width:760px}
.dl-prose h2{margin:40px 0 12px;font:400 26px/1.3 var(--font-display);color:var(--ink)}
.dl-prose p,.dl-prose ul{margin-bottom:14px}
.dl-prose ul{padding-left:20px}
.dl-team+.dl-team{margin-top:72px}
.dl-team .dl-h2{margin-bottom:32px}

/* Pied de page */
.dl-footer{background:var(--navy);color:#B9B2AA;font-size:15px}
.dl-footer>.dl-wrap{padding-block:72px 40px}
.dl-footer__grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px}
.dl-footer .dl-logo{color:#fff}
.dl-footer p{margin-top:16px;line-height:1.6}
.dl-footer a{color:#E8E2DB}
.dl-footer__title{margin-bottom:12px;font:500 15px/1.3 var(--font-display);color:#fff}
.dl-footer__title+p{margin-top:0}
.dl-footer__legal{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:56px;padding-top:24px;border-top:1px solid #22303D;font-size:14px;color:#9C958D}
.dl-footer__legal a{color:#9C958D}

/* Barre d'actions mobile (pages centre) */
.dl-mbar{display:none}

@media (max-width:1000px){.dl-doctors{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  :root{--gutter:20px}
  .dl-split,.dl-split--hero,.dl-three,.dl-three--two,.dl-centres,.dl-others,.dl-footer__grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .dl-section{padding-block:64px}
  .dl-hero{padding-block:36px 56px}
  .dl-map{position:static;padding:24px}
  .dl-hero__photo img{min-height:300px}
  .dl-doctors{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .dl-header__in{flex-wrap:wrap;gap:6px 16px;padding-block:12px}
  .dl-nav{order:3;width:100%;gap:24px}
  .dl-header__cta{min-height:42px;padding:0 14px}
  .dl-facts{grid-template-columns:minmax(0,1fr)}
  .dl-card__head{grid-template-columns:minmax(0,1fr) 96px}
  .dl-card__photo img{width:96px;height:72px}
  .dl-card__title{font-size:26px}
  .dl-card__more{margin-left:0}
  .dl-other{padding:22px}
  .dl-mbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
  .dl-mbar a{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--ink);border-radius:var(--radius);color:var(--ink);font-size:15px;text-decoration:none}
  .dl-mbar a.is-primary{border-color:var(--btn);background:var(--btn);color:#fff;font-weight:600}
  .single-centre .dl-footer{padding-bottom:76px}
}
@media (max-width:520px){.dl-map__ref{font-size:0;gap:0}.dl-pin__label{font-size:14px;padding:4px 7px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
