/* Pages soins (28/10/2026) : 10 spécialités + 35 prestations servies par soin.php
   (templates/services/layout.php). Même langage que l'accueil : noir / blanc / gris,
   titres Outfit, texte Poppins, grands titres, beaucoup d'air, photos réelles. */

.sv-page{--sv-ink:#111;--sv-text:#555;--sv-line:#e6e6e6;--sv-soft:#f5f5f5;--sv-space:clamp(64px,8vw,120px)}

/* ---------- Hero : on garde l'image pleine largeur qui s'efface vers le texte ---------- */
body:not(#_).sv-body .sv-hero h1{font-size:clamp(34px,3.7vw,56px);line-height:1.04;letter-spacing:-.045em;color:var(--sv-ink);margin:12px 0 18px;max-width:13em}
body:not(#_).sv-body .sv-hero .sv-promise{font-size:16px;line-height:1.7;color:var(--sv-text);max-width:46ch;margin:0}
body:not(#_).sv-body .sv-hero .actions{margin-top:28px}
body:not(#_).sv-body .sv-hero .pill{background:#111;color:#fff;border:1px solid #111}
body:not(#_).sv-body .sv-hero .pill:hover{background:#333}
body:not(#_).sv-body .sv-hero .pill.outline{background:#fff;color:#111;border-color:#d9d9d9}
body:not(#_).sv-body .sv-hero .pill.outline:hover{border-color:#111}
@media(min-width:851px){body:not(#_).sv-body .sv-hero .category-hero-content{min-height:520px;display:flex;flex-direction:column}
  body:not(#_).sv-body .sv-hero .category-hero-copy{max-width:min(560px,46%);margin-block:auto}}

/* ---------- Sections ---------- */
.sv-section{padding-block:var(--sv-space) 0}
.sv-head{max-width:760px;margin-bottom:clamp(28px,4vw,52px)}
.sv-head h2,.sv-media-copy h2,.sv-faq-intro h2{font-size:clamp(30px,3.4vw,48px);line-height:1.08;letter-spacing:-.04em;color:var(--sv-ink);margin:0 0 16px}
.sv-head p,.sv-media-copy p,.sv-faq-intro p{color:var(--sv-text);font-size:15px;max-width:58ch;margin:0}
.sv-head .eyebrow,.sv-media-copy .eyebrow,.sv-faq-intro .eyebrow{color:#777;margin-bottom:16px}
.sv-head-row{max-width:none;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 60px;align-items:end}
.sv-head-row h2{margin:0}

/* En bref : trois repères lisibles d'un coup d'œil */
.sv-brief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(16px,2vw,24px)}
.sv-brief-grid article{background:var(--sv-soft);border-radius:18px;padding:clamp(24px,2.6vw,36px)}
.sv-brief-grid h3{font:500 clamp(19px,1.6vw,22px)/1.25 'Outfit',Arial,sans-serif;letter-spacing:-.02em;color:var(--sv-ink);margin:0 0 14px}
.sv-brief-grid p{color:var(--sv-text);font-size:14.5px;margin:0}
.sv-brief-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sv-brief-grid li{position:relative;padding-left:26px;color:#333;font-size:14.5px;line-height:1.55}
.sv-brief-grid li::before{content:"";position:absolute;left:0;top:.42em;width:12px;height:7px;border-left:1.6px solid #111;border-bottom:1.6px solid #111;transform:rotate(-45deg)}

/* Comprendre (pages éditoriales) */
.sv-define{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--sv-line)}
.sv-define>div{padding:28px 28px 28px 0}
.sv-define>div+div{padding-left:28px;border-left:1px solid var(--sv-line)}
.sv-define dt{font:500 22px/1.2 'Outfit',Arial,sans-serif;letter-spacing:-.02em;color:var(--sv-ink);margin-bottom:10px}
.sv-define dd{margin:0;color:var(--sv-text);font-size:14.5px;line-height:1.65}
.sv-note{margin:clamp(24px,3vw,36px) 0 0;padding:22px 26px;background:var(--sv-soft);border-radius:14px;color:#444;font-size:14.5px;max-width:880px}
.sv-note strong{color:#111;font-weight:500}
.sv-note a{color:#111;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.sv-table{font-size:14px}
.sv-intents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.sv-intents article{border:1px solid var(--sv-line);border-radius:18px;padding:clamp(24px,2.4vw,32px);display:flex;flex-direction:column;gap:12px}
.sv-intents h3{font:500 20px/1.3 'Outfit',Arial,sans-serif;letter-spacing:-.02em;margin:0;color:#111}
.sv-intents p{margin:0;color:var(--sv-text);font-size:14.5px}
.sv-intents a{margin-top:auto;color:#111;font-weight:500;font-size:14px;border-bottom:1.5px solid #111;align-self:flex-start;padding-bottom:3px}

/* Le déroulé : une ligne, des points, pas de numéros décoratifs */
.sv-steps-band{background:linear-gradient(180deg,#fff 0,var(--sv-soft) 0);margin-top:var(--sv-space);padding-bottom:var(--sv-space)}
.sv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--sv-steps,4),minmax(0,1fr));gap:0 clamp(18px,2.4vw,36px);counter-reset:none}
.sv-steps li{position:relative;padding-top:34px;border-top:1px solid #cfcfcf}
.sv-steps li::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:#111;box-shadow:0 0 0 5px var(--sv-soft)}
.sv-steps h3{font:500 clamp(19px,1.5vw,21px)/1.25 'Outfit',Arial,sans-serif;letter-spacing:-.02em;color:#111;margin:0 0 10px}
.sv-steps p{margin:0;color:var(--sv-text);font-size:14.5px;line-height:1.65}

/* Au cabinet : médias réels */
.sv-media{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(30px,5vw,80px);align-items:center}
.sv-media-copy .pill{margin-top:26px}
body:not(#_).sv-body .sv-media-copy .pill.outline{background:#fff;color:#111;border:1px solid #d9d9d9}
.sv-media-grid{display:grid;grid-template-columns:repeat(var(--sv-media,3),minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.sv-media-item{margin:0;min-width:0}
.sv-media-item :is(img,video){display:block;width:100%;aspect-ratio:3/4.3;height:auto;object-fit:cover;border-radius:16px;background:#111}
.sv-media-grid[style*="--sv-media:1"]{max-width:420px;justify-self:end;width:100%}
.sv-media-item figcaption{font-size:12.5px;color:#777;margin-top:10px}

/* Les possibilités : cartes image (styles de base dans site.css, .se-service-card) */
#solutions .se-service-cards{margin-top:0}
.sv-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(14px,1.8vw,22px)}
.sv-item{display:flex;gap:18px;align-items:flex-start;border:1px solid var(--sv-line);border-radius:18px;padding:22px;scroll-margin-top:110px}
.sv-item img{width:88px;height:88px;flex:none;object-fit:contain;border-radius:12px;background:var(--sv-soft)}
.sv-item h3{font:500 19px/1.25 'Outfit',Arial,sans-serif;letter-spacing:-.02em;color:#111;margin:0 0 8px}
.sv-item p{margin:0;color:var(--sv-text);font-size:14px;line-height:1.6}
.sv-more{margin:26px 0 0;color:#666;font-size:14px}
.sv-more a{color:#111;text-decoration:underline;text-underline-offset:4px}
.sv-more :is(.textlink,.pi-link){text-decoration:none}

/* Questions */
.sv-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(30px,6vw,100px);padding-bottom:var(--sv-space)}
.sv-faq-intro .pill{margin-top:24px}
body:not(#_).sv-body .sv-faq-intro .pill.outline{background:#fff;color:#111;border:1px solid #d9d9d9}
.sv-faq-list details{border-bottom:1px solid #e0e0e0}
.sv-faq-list details:first-child{border-top:1px solid #e0e0e0}
.sv-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font:500 clamp(17px,1.3vw,19px)/1.4 'Outfit',Arial,sans-serif;color:#111}
.sv-faq-list summary::-webkit-details-marker{display:none}
.sv-faq-list summary::after{content:"+";font:300 24px/1 'Poppins',Arial,sans-serif;color:#555;flex:none}
.sv-faq-list details[open] summary::after{content:"\2212"}
.sv-faq-list details p{margin:-6px 0 22px;color:var(--sv-text);font-size:14.5px;max-width:62ch}
.sv-page .se-reading{padding-bottom:var(--sv-space)}

/* Les blocs partagés (cas réel, idées reçues, rendez-vous) gardent leurs propres styles ;
   on leur redonne seulement le même rythme vertical. */
.sv-page>.real-case,.sv-page>.clinical-case,.sv-page>.dv-myths,.sv-page>.quickbook{margin-top:var(--sv-space)}
.sv-page>.dv-myths+.quickbook{margin-top:0}

@media(max-width:1000px){
  .sv-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}
  .sv-media{grid-template-columns:1fr}
  .sv-media-grid[style*="--sv-media:1"]{justify-self:start}
}
@media(max-width:850px){
  body:not(#_).sv-body .sv-hero h1{font-size:clamp(32px,8.6vw,44px);max-width:none}
  body:not(#_).sv-body .sv-hero .sv-promise{font-size:15px}
  .sv-head-row{grid-template-columns:1fr;gap:14px}
  .sv-define{grid-template-columns:1fr}
  .sv-define>div,.sv-define>div+div{padding:22px 0;border-left:0}
  .sv-define>div+div{border-top:1px solid var(--sv-line)}
  .sv-intents{grid-template-columns:1fr}
  .sv-faq{grid-template-columns:1fr;gap:28px}
}
@media(max-width:700px){
  .sv-page .wrap{width:calc(100% - 32px)}
  .sv-steps{grid-template-columns:1fr;gap:0}
  .sv-steps li{border-top:0;border-left:1px solid #cfcfcf;padding:0 0 28px 26px}
  .sv-steps li:last-child{padding-bottom:0}
  .sv-steps li::before{top:4px;left:-6px}
  .sv-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sv-media-grid[style*="--sv-media:1"]{grid-template-columns:1fr;max-width:none}
  .sv-media-grid[style*="--sv-media:3"] .sv-media-item:first-child{grid-column:1/-1}
  .sv-media-grid[style*="--sv-media:3"] .sv-media-item:first-child :is(img,video){aspect-ratio:4/5}
  .sv-item{padding:18px;gap:14px}
  .sv-item img{width:68px;height:68px}
}

/* Soins sans page propre (radiologie, autres traitements) : carte verticale */
.sv-items{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.sv-item{flex-direction:column;gap:16px}
.sv-item img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain}

/* 29/10 : « En bref » en colonnes à filets faisait « IA » ; trois cartes. */
body:not(#_) .sv-define{gap:16px;border-top:0}
body:not(#_) .sv-define>div,body:not(#_) .sv-define>div+div{padding:24px 24px 26px;border:1px solid #ebebeb;border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}

/* ---------- 29/10 : séries de cartes en rail (.pi-rail, boutons ← → gérés par site.js) ---------- */
.sv-head-side{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.sv-page .sv-rail{display:flex}
#solutions .se-service-cards.sv-rail{margin-top:-12px}
.sv-page .sv-rail>*,.sv-page .sv-myths-rail>.dv-card{flex:0 0 calc((100% - 3 * 16px) / 3.5);min-width:0;scroll-snap-align:start}
/* Trois cartes ou moins : une grille propre, pas de carte étirée sur toute la largeur. */
#solutions .se-service-cards:is(.sv-grid-1,.sv-grid-2,.sv-grid-3){grid-template-columns:repeat(3,minmax(0,1fr))}

/* Cartes blanches (surface-card) : intentions, soins sans page propre */
.sv-intents article.surface-card,.sv-item.surface-card{background:#fff;border:1px solid #ebebeb}
.sv-intents .pi-link{margin-top:auto;align-self:flex-start;padding-bottom:6px;border-bottom:1px solid #d6d6d6}
.sv-intents .pi-link:is(:hover,:focus-visible){border-color:#111}
.sv-items.sv-rail{align-items:stretch}

/* Idées reçues en rail sur les pages soins */
.sv-page .sv-myths-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px}
.sv-page .sv-myths-head h2{margin-bottom:0}
.sv-page .dv-deck.sv-myths-rail{display:flex;grid-template-columns:none;align-items:stretch}
.sv-page .sv-myths-rail>.dv-card{margin-top:0!important;display:flex;flex-direction:column}
.sv-page .sv-myths-rail .dv-card-inner{flex:1;min-height:270px}
.sv-page .sv-myths-rail .dv-card-face{box-shadow:var(--card-shadow)}
.sv-page .sv-myths-rail .dv-card-front{border-color:#ebebeb}
.sv-page .dv-card-link.pi-link{align-self:flex-start;margin-top:14px;font-size:13px;color:#111}
.sv-page .dv-card-link.pi-link:hover{text-decoration:none;color:#fff}

/* Liens-boutons : zone de toucher d'au moins 44 px */
.sv-page .pi-link:has(> span){min-height:44px;padding-block:7px}

/* Popup « Parlons de votre cas » : la colonne du formulaire défile dans l'écran */
.sv-page .myths-book-main{max-height:calc(100dvh - 24px)}

@media(max-width:1000px){
  .sv-page .sv-rail>*,.sv-page .sv-myths-rail>.dv-card{flex-basis:calc((100% - 16px) / 2.3)}
}
@media(max-width:760px){
  .sv-page .sv-rail>*,.sv-page .sv-myths-rail>.dv-card{flex-basis:82%}
  .sv-page .sv-rail .se-service-card p{display:block}
  .sv-page .sv-myths-head{margin-bottom:28px;flex-direction:column;align-items:flex-start;gap:20px}
  .sv-page .sv-myths-rail .dv-card-inner{min-height:290px}
}
@media(max-width:720px){
  .sv-page .myths-book-main{max-height:calc(100dvh - 16px - 120px)}
}
@media(max-width:700px){
  #solutions .se-service-cards:is(.sv-grid-2,.sv-grid-3){grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  #solutions .se-service-cards:is(.sv-grid-2,.sv-grid-3){grid-template-columns:1fr}
}

/* Related links use compact cards instead of repeating page photographs. */
.sv-page .sv-link-card{aspect-ratio:auto;min-height:245px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:22px;background:#fff;color:#151515}.sv-page .sv-link-card .sv-link-icon{width:30px;height:30px;flex:none}.sv-page .sv-link-card .se-card-body{position:static;padding:0;background:none;color:inherit}.sv-page .sv-link-card .se-card-body p{opacity:1;max-height:none;transform:none;color:#666}.sv-page .sv-link-card .se-row-arrow{top:24px;right:24px;bottom:auto}.sv-testimonial video{width:100%;height:100%;object-fit:cover}.sv-testimonial figcaption{position:absolute;bottom:14px;left:14px;right:14px;background:#fff;color:#111;padding:10px 12px;border-radius:8px;font-size:14px}

.ortho-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-block: 20px 32px; align-items: start; }
.ortho-case-grid figure { min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.ortho-case-grid img { display: block; width: 100%; height: auto; }
.ortho-case-grid figcaption { margin-top: 10px; font-weight: 600; }
.ortho-case-pair { max-width: 680px; }
.ortho-case-pair img { aspect-ratio: 3 / 2; object-fit: contain; background: #f5f5f5; }
@media (max-width: 600px) {
  .ortho-case-grid:not(.ortho-case-pair) { grid-template-columns: 1fr; }
  .ortho-case-pair { gap: 8px; }
  .ortho-case-pair figure { padding: 6px; }
}

/* 05/11 : vidéo d'un cas sur la page Esthétique dentaire */
.sv-case-video{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(32px,6vw,96px);align-items:center}
.sv-case-player{margin:0;justify-self:center;width:100%;max-width:380px}
.sv-case-player video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:18px;background:#111}
.sv-case-player figcaption{margin-top:10px;font-size:13px;color:#555}
@media(max-width:900px){.sv-case-video{grid-template-columns:1fr}.sv-case-player{max-width:320px;justify-self:start}}

/* ===== 05/11 : sections ajoutées aux pages spécialités (partials/specialty-sections.php) ===== */
/* NOUVEAU (contrat) : image, légende, flèche ronde */
.sv-fig{min-width:0}
.sv-fig :is(img,video){width:100%;height:auto;object-fit:cover;border-radius:16px;background:#ececec}
.sv-fig.r32 :is(img,video){aspect-ratio:3/2}.sv-fig.r45 :is(img,video){aspect-ratio:4/5}.sv-fig.r43 :is(img,video){aspect-ratio:4/3}.sv-fig.r169 :is(img,video){aspect-ratio:16/9}.sv-fig.r11 :is(img,video){aspect-ratio:1/1}
.sv-fig figcaption{margin-top:10px;display:flex;flex-wrap:wrap;gap:0 10px;align-items:baseline;font-size:13px;color:#333;line-height:1.5}
.sv-fig figcaption small{font-size:12px;color:#6b6b6b}
.sv-go{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid #d6d6d6;background:#fff;color:#111;display:inline-grid;place-items:center;transition:background .2s,color .2s,border-color .2s}
a:hover>.sv-go,a:focus-visible>.sv-go,a:hover .sv-go{background:#111;color:#fff;border-color:#111}

/* ===== V1 Index éditorial ===== */
.sv-panorama h3,.sv-chain-band h3,.sv-approach h3{font:500 clamp(19px,1.6vw,23px)/1.25 'Outfit',Arial,sans-serif;letter-spacing:-.02em;color:#111}

/* A : photo collante + index de lignes (pas de cartes) */
.sv-panorama--index{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,84px);align-items:start}
.sv-pan-side{position:sticky;top:96px}
.sv-pan-side .sv-head{margin-bottom:clamp(24px,3vw,36px)}
.sv-index{border-top:1px solid #d4d4d4}
.sv-index-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(18px,1.8vw,26px) 0;border-bottom:1px solid #e2e2e2;transition:padding .25s}
.sv-index-row:hover,.sv-index-row:focus-visible{padding-left:10px}
.sv-index-row p{margin-top:8px;color:var(--sv-text);font-size:14.5px;line-height:1.6;max-width:54ch}
.sv-index.is-dense .sv-index-row p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* B : bande grise, photo portrait collante + chaîne verticale */
.sv-chain-band{background:#f5f5f5;margin-top:var(--sv-space);padding-bottom:var(--sv-space)}
.sv-chain-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(32px,6vw,100px);align-items:start}
.sv-chain-grid>.sv-fig{position:sticky;top:96px}
.sv-chain{position:relative}
.sv-node{position:relative;padding:0 0 clamp(26px,3vw,38px) 48px}
.sv-node::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;border:1.6px solid #111;background:#f5f5f5}
.sv-node::after{content:"";position:absolute;left:8.5px;top:28px;bottom:6px;width:1px;background:#b9b9b9}
.sv-node.is-last::before{background:#111}
.sv-node.is-last::after{display:none}
.sv-node.is-last{padding-bottom:0}
.sv-node p{margin-top:8px;color:var(--sv-text);font-size:14.5px;max-width:56ch}
.sv-node-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sv-node-link{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid #d6d6d6;border-radius:999px;background:#fff;font-size:13px;font-weight:500;color:#111;transition:background .2s,color .2s,border-color .2s}
.sv-node-link:hover,.sv-node-link:focus-visible{background:#111;color:#fff;border-color:#111}

/* C : image + trois engagements */
.sv-approach{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.sv-approach.is-reverse .sv-fig{order:2}
.sv-approach .sv-head{margin-bottom:clamp(18px,2.4vw,30px)}
.sv-commit{border-top:1px solid #e2e2e2;margin-bottom:clamp(24px,3vw,34px)}
.sv-commit li{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid #e2e2e2}
.sv-ic{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid #d6d6d6;display:grid;place-items:center;color:#111}
.sv-ic svg{width:24px;height:24px}
.sv-commit p{margin-top:6px;color:var(--sv-text);font-size:14.5px}

/* D : intro puis trois images de même hauteur */
.sv-mosaic-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(12px,1.6vw,20px);align-items:start}
.sv-mosaic--row .sv-fig :is(img,video){aspect-ratio:auto;height:clamp(200px,23vw,350px)}

@media(max-width:900px){
 .sv-panorama--index,.sv-chain-grid,.sv-approach{grid-template-columns:1fr}
 .sv-pan-side,.sv-chain-grid>.sv-fig{position:static}
 .sv-approach.is-reverse .sv-fig{order:0}
 .sv-chain-grid>.sv-fig :is(img,video){aspect-ratio:1/1;object-position:50% 40%}
}
@media(max-width:700px){
  .sv-mosaic-grid{grid-template-columns:1fr 1fr}
 .sv-mosaic-grid .sv-fig:first-child{grid-column:1/-1}
 .sv-mosaic--row .sv-fig :is(img,video){height:auto;aspect-ratio:1/1}
 .sv-mosaic--row .sv-fig.r169 :is(img,video){aspect-ratio:16/9}
 .sv-index-row{gap:14px}
 .sv-go{width:36px;height:36px}
 .sv-node{padding-left:40px}
}

/* ajouts d'intégration : sans photo, sections mono-colonne ; ancres ; focus */
#tous-les-soins,#enchainement,#notre-approche,#le-materiel,#cas-sourire{scroll-margin-top:96px}
.sv-panorama:not(.sv-panorama--index) .sv-pan-side{max-width:760px}
.sv-chain-grid.is-plain{grid-template-columns:1fr}
.sv-approach.is-plain{grid-template-columns:1fr}
.sv-index-row:focus-visible,.sv-node-link:focus-visible{outline:2px solid #111;outline-offset:3px}
.sv-index-text h3{margin:0}
.sv-index-text{min-width:0}
.sv-index,.sv-chain,.sv-commit{list-style:none;margin:0;padding:0}
.sv-index>li,.sv-chain>li,.sv-commit>li{list-style:none}
.sv-index>li::marker,.sv-chain>li::marker,.sv-commit>li::marker{content:""}
.sv-fig{margin:0}
.sv-commit{margin-bottom:clamp(24px,3vw,34px)}
.sv-index-row{color:inherit;text-decoration:none}

/* Native playback controls and visible labels for clinic footage. */
.sv-clinic-player video{object-fit:contain;background:#111}
.sv-clinic-player figcaption{display:block!important;position:static!important;width:auto!important;height:auto!important;clip-path:none!important;overflow:visible!important;white-space:normal!important}

.sv-hero:has(video.category-hero-image) .category-hero-content{pointer-events:none}
.sv-hero:has(video.category-hero-image) .category-hero-content :is(a,button){pointer-events:auto}

/* Equal-height appointment cards retain a common baseline for their actions. */
.sv-brief-grid article:has(.pill){display:flex;flex-direction:column;align-items:flex-start}
.sv-brief-grid article:has(.pill)>p:last-child:has(.pill){margin-top:auto;padding-top:22px}
/* Match portrait footage to its player instead of adding black side bars. */
.sv-media-item.sv-clinic-player video{aspect-ratio:9/16;object-fit:cover;background:transparent}

/* Boxed testimonial sections share equal text/media columns. */
.sv-section.sv-case-video{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:var(--sv-space);padding:clamp(24px,3vw,44px);border:1px solid #e5e9ec;border-radius:24px;background:#fafbfc}
.sv-case-video .sv-media-copy{min-width:0}.sv-case-video h2{font-size:clamp(28px,3vw,44px);max-width:15ch}
.sv-case-video .sv-case-player{max-width:none;display:flex;justify-content:center;flex-direction:column;align-items:center}
.sv-case-video .sv-case-player video{width:auto;max-width:100%;height:min(560px,70vh);aspect-ratio:9/16;object-fit:cover}
@media(max-width:760px){.sv-section.sv-case-video{grid-template-columns:1fr;padding:22px 18px;gap:24px}.sv-case-video .sv-case-player video{width:min(100%,320px);height:auto}.sv-case-video h2{max-width:none}}

.sv-hero:has(video.category-hero-image)::after{pointer-events:none}

/* 05/11 : bandeau sans image de fond (facettes en composite) */
.sv-hero--plain::after{display:none}
@media(min-width:851px){body:not(#_).sv-body .sv-hero--plain .category-hero-content{min-height:400px}
  body:not(#_).sv-body .sv-hero--plain .category-hero-copy{max-width:760px}}

/* 05/11 : sourires du cabinet sur la page facettes dentaires */
.sv-smiles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.sv-smile{margin:0;border-radius:16px;overflow:hidden;background:#ececec;cursor:zoom-in}
.sv-smile img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
@media(max-width:900px){.sv-smiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 05/11 : vidéo verticale dans une section (esthétique dentaire, « La spécialité en détail ») : format 9:16 sans recadrage */
.sv-fig.r916{max-width:min(100%,360px)}
.sv-fig.r916 :is(img,video){aspect-ratio:9/16;object-fit:cover;background:#111}

/* 05/11 (Aymane) : sur téléphone et tablette, l’image ou la vidéo du hero s’affiche en entier, à ses proportions
   d’origine (plus de bande 2:1 recadrée, site.css l.1320). */
@media(max-width:850px){
  body:not(#_) .sv-hero.clinical-photo-hero .category-hero-image.is-real-photo{aspect-ratio:auto;height:auto;max-height:none;object-fit:contain}
}
/* 05/11 : phrase ajoutée sous le texte de « La spécialité en détail » (data/specialty-extras.php, panorama_note) */
.sv-head .sv-pan-note{margin-top:10px;color:#111;font-weight:500}
/* 05/11 : photos et vidéos toujours entièrement visibles (jamais recadrées) */
.category-hero-image.is-contain{object-fit:contain;object-position:right center}
.sv-media-item :is(img,video){aspect-ratio:auto;height:auto;object-fit:contain;background:#f1f1f1}
.sv-media-item.sv-clinic-player video{aspect-ratio:auto;object-fit:contain;background:#111}
.sv-testimonial video{height:auto;object-fit:contain}
.sv-media-grid[style*="--sv-media:3"] .sv-media-item:first-child :is(img,video){aspect-ratio:auto}
.sv-fig.rnat img{aspect-ratio:auto;height:auto;object-fit:contain}
.sv-mosaic--row .sv-fig.rnat img{height:auto}
.sv-mosaic-grid:has(.rnat){grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.sv-smile img{aspect-ratio:auto;height:auto}
.sv-chain-grid>.sv-fig.rnat img{aspect-ratio:auto}
@media(max-width:900px){.sv-chain-grid>.sv-fig.rnat img{aspect-ratio:auto}}
@media(max-width:700px){.sv-mosaic-grid:has(.rnat){grid-template-columns:1fr 1fr}.sv-mosaic-grid:has(.rnat) .sv-fig:first-child{grid-column:auto}.sv-mosaic--row .sv-fig.rnat img{aspect-ratio:auto}}

/* 05/11 (2) : toutes les images et vidéos du bandeau et des figures restent entières, jamais recadrées */
body:not(#_).sv-body .sv-hero.clinical-photo-hero .category-hero-image.is-real-photo{object-fit:contain;object-position:right center}
.sv-fig img,.sv-mosaic--row .sv-fig img{aspect-ratio:auto!important;height:auto!important;object-fit:contain}

/* 06/11 : illustration dans la carte de chaque soin (autres traitements) */
.sv-item-img{display:block;width:100%;height:auto;border-radius:12px;margin:0 0 18px;background:#000}

/* Service badges are self-contained: home-reviews.css is not loaded on service pages. */
.sv-review-proof .reviews-score{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:12px 16px;border:1px solid #e6e6e6;border-radius:14px;background:#fff;color:#111;text-decoration:none;font-size:13px;line-height:1.5}
.sv-review-proof .reviews-g{display:block;width:24px;height:24px;min-width:24px;max-width:24px;flex:0 0 24px}
.sv-review-proof .reviews-score:focus-visible{outline:2px solid #111;outline-offset:4px}
/* Keep the whole owner image visible while softening its left edge into the copy. */
@media(min-width:851px){
 body:not(#_).sv-body .sv-hero:not(.sv-hero--plain)::after{display:block;content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,#fff 43%,rgba(255,255,255,.96) 49%,rgba(255,255,255,.65) 59%,rgba(255,255,255,0) 78%)}
 body:not(#_).sv-body .sv-hero .category-hero-content{z-index:1}
}
