/* Keyword pages (inc/seo-pages.php), keyword sections on the app pages, menu facts and the link directory.
   Uses the theme tokens (--ink, --muted, --line, --white, --teal, --lime), so the brand dark theme follows. */

/* Page head */
.sd-seo-head{padding-top:28px;padding-bottom:42px}
.sd-seo-breadcrumb ol{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;list-style:none;font-size:12px;line-height:1.8;color:var(--muted)}
.sd-seo-breadcrumb li{display:flex;align-items:center;gap:10px;min-width:0}
.sd-seo-breadcrumb li+li:before{content:"/";color:var(--line)}
.sd-seo-breadcrumb a{color:inherit;text-underline-offset:4px}
.sd-seo-breadcrumb [aria-current]{color:var(--ink);overflow-wrap:anywhere}
.sd-seo-head-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center;padding-top:34px}
.sd-seo-kicker{margin:0 0 16px;font-size:12px;letter-spacing:.04em;color:var(--muted)}
.sd-seo-title{margin:0;font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1.22;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere}
.sd-seo-lead{max-width:600px;margin:22px 0 0;font-size:16px;line-height:1.9;color:var(--muted)}
.sd-seo-meta{margin:16px 0 0;font-size:13px;color:var(--muted)}
.sd-seo-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none}
.sd-seo-chips li{padding:8px 15px;border:1px solid var(--line);border-radius:999px;font-size:13px;line-height:1.5;background:var(--white)}
.sd-seo-chips strong{font-weight:500}
.sd-seo-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.sd-seo-media{margin:0;min-width:0}
.sd-seo-media-frame{position:relative;aspect-ratio:7/5;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:var(--mint)}
.sd-seo-media-frame img,.sd-seo-media-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sd-seo-media figcaption{margin-top:10px;font-size:11px;line-height:1.6;color:var(--muted)}

/* Article and booking card */
.sd-seo-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start;padding-top:8px}
.sd-seo-article{min-width:0;max-width:760px}
.sd-seo-section{padding:26px 0 30px;border-top:1px solid var(--line);scroll-margin-top:110px}
.sd-seo-article>.sd-seo-section:first-child{border-top:0;padding-top:0}
.sd-seo-section h2{margin:0 0 14px;font-size:clamp(23px,2.2vw,28px);font-weight:400;line-height:1.5;letter-spacing:-.01em}
.sd-seo-section h3{font-weight:500}
.sd-seo-section p{margin:0 0 14px;font-size:15px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}
.sd-seo-section a:not(.button){color:var(--ink);text-underline-offset:4px}
.sd-seo-list{display:grid;gap:9px;margin:4px 0 16px;padding-inline-start:22px;font-size:15px;line-height:1.8;color:var(--muted)}
.sd-seo-list li::marker{color:var(--teal)}
.sd-seo-aside{position:sticky;top:110px;min-width:0}
.sd-seo-aside-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--white)}
.sd-seo-aside-title{margin:0 0 12px;font-size:18px;line-height:1.5}
.sd-seo-aside-from{margin:0 0 12px;font-size:15px;color:var(--muted)}
.sd-seo-aside-prices{margin:0 0 6px;padding:0;list-style:none}
.sd-seo-aside-prices li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.sd-seo-aside-prices strong{font-weight:500}
.sd-seo-aside-facts{display:grid;gap:6px;margin:14px 0 0;padding:0;list-style:none;font-size:13px;line-height:1.6;color:var(--muted)}
.sd-seo-aside-facts li{position:relative;padding-inline-start:18px}
.sd-seo-aside-facts li:before{content:"";position:absolute;inset-inline-start:2px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1px var(--teal)}
.sd-seo-aside-note{margin:12px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}
.sd-seo-aside-links{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}
.sd-seo-aside-links a{color:var(--ink);text-underline-offset:4px}

/* Price tables, menu note, packages, "also on the menu" */
.sd-seo-table-wrap{margin:18px 0 6px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.sd-seo-table{width:100%;min-width:300px;border-collapse:collapse;font-size:14px;text-align:left}
.sd-seo-table caption{text-align:left;margin-bottom:8px;font-size:12px;color:var(--muted)}
.sd-seo-table th,.sd-seo-table td{padding:11px 10px;border-bottom:1px solid var(--line);font-weight:400;vertical-align:middle}
.sd-seo-table thead th{font-size:12px;color:var(--muted)}
.sd-seo-table th:first-child{padding-inline-start:0}
.sd-seo-table td:last-child{text-align:right;padding-inline-end:0}
/* Treatment price summary (spadrop_seo_services_table): one card per shared price set, figures shown once */
.sd-seo-kept .sd-seo-block.sd-seo-block--services-prices,.sd-seo-kept .sd-seo-block--services-prices .sd-seo-section,.sd-seo-block--services-prices{max-width:none}
.sd-seo-block--services-prices .sd-seo-section>p{max-width:70ch}
.sd-price-groups{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0 4px}
.sd-price-group{flex:1 1 300px;min-width:0;padding:22px;border-radius:22px;background:var(--white);box-shadow:0 0 0 1px rgba(14,75,79,.08),0 10px 28px -18px rgba(14,75,79,.25)}
.sd-price-group:has(.sd-price-tile:nth-child(3)){flex:2.3 1 520px}
.sd-price-tiles{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin:0}
.sd-price-tile{padding:14px 16px 16px;border-radius:16px;background:var(--mint)}
.sd-price-tile dt{font-size:13px;line-height:1.4;color:var(--muted)}
.sd-price-tile dd{margin:4px 0 0;font-size:clamp(19px,2.6vw,28px);line-height:1.2;font-weight:600;color:var(--teal);font-variant-numeric:tabular-nums;white-space:nowrap}
.sd-price-applies{margin:16px 0 8px;font-size:13px;color:var(--muted)}
.sd-price-names{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.sd-price-name{font-size:14px;line-height:1.4}
.sd-price-name a,.sd-price-name:not(:has(a)){display:inline-flex;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none}
.sd-price-name a:hover{border-color:var(--teal);color:var(--teal)}
.sd-price-name a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
html[data-theme=dark] .sd-price-group{box-shadow:0 0 0 1px rgba(247,247,242,.12)}
html[data-theme=dark] .sd-price-tile{background:rgba(212,243,107,.08)}
html[data-theme=dark] .sd-price-tile dd{color:var(--sd-accent)}
html[data-theme=dark] .sd-price-name a:hover{border-color:var(--sd-accent);color:var(--sd-accent)}
@media(max-width:420px){.sd-price-group{padding:16px}.sd-price-tiles{gap:6px}.sd-price-tile{padding:12px 10px}}
.sd-seo-table a:not(.button){color:var(--ink);text-underline-offset:4px}
.sd-seo-menu-note{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px!important;padding:0}
.sd-seo-menu-note span{padding:6px 13px;border-radius:999px;background:var(--mint);color:var(--ink);font-size:12px;line-height:1.6}
.sd-seo-menu-note span:first-child{background:var(--lime);color:#0b2e2d}
.sd-seo-packages{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:18px 0 8px;padding:0;list-style:none}
.sd-seo-package{display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--white);min-width:0;scroll-margin-top:110px}
.sd-seo-package-name{margin:0;font-size:20px;font-weight:500;line-height:1.4}
.sd-seo-package-includes{margin:0!important;font-size:14px!important;line-height:1.75!important;color:var(--muted)}
.sd-seo-package-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:auto 0 4px!important;padding-top:10px;border-top:1px solid var(--line);font-size:14px!important;color:var(--muted)}
.sd-seo-package-meta strong{font-size:18px;font-weight:500;color:var(--ink)}
.sd-seo-package .button{align-self:flex-start}
.sd-seo-also{display:grid;gap:0;margin:6px 0 0;padding:0;list-style:none}
.sd-seo-also li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--line)}
.sd-seo-also-name{font-size:16px}
.sd-seo-also-text,.sd-seo-also-prices{grid-column:1;font-size:13px;line-height:1.7;color:var(--muted)}
.sd-seo-also .text-link{grid-column:2;grid-row:1/span 3;align-self:center;font-size:13px;white-space:nowrap}
.sd-seo-hours{color:var(--ink)!important}

/* FAQ, related cards and closing call to action */
.sd-seo-questions{margin-top:6px}
.sd-seo-questions summary{font-size:17px;padding:20px 0}
.sd-seo-related{padding-top:46px}
.sd-seo-related h2{margin:0 0 18px;font-size:24px;font-weight:400}
.sd-seo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.sd-seo-cards li{min-width:0}
.sd-seo-card{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);text-decoration:none;transition:border-color .15s}
.sd-seo-card:hover,.sd-seo-card:focus-visible{border-color:var(--teal)}
.sd-seo-card-title{margin:0;font-size:18px;font-weight:500;line-height:1.45}
.sd-seo-card-text{font-size:14px;line-height:1.75;color:var(--muted)}
.sd-seo-card-meta{font-size:12px;color:var(--muted)}
.sd-seo-card-more{margin-top:auto;padding-top:6px;font-size:13px;color:var(--teal)}
.sd-seo-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:48px;padding:34px 38px;border-radius:22px;background:var(--teal);color:#fff}
.sd-seo-cta p{margin:0;font-size:14px;line-height:1.8;color:#d8e5df}
.sd-seo-cta .sd-seo-cta-title{margin-bottom:6px;font-size:24px;line-height:1.4;color:#fff}
.sd-seo-cta .button-primary{flex:none;background:var(--lime);border-color:var(--lime);color:#0b2e2d}

/* Keyword sections on the app pages (server first paint and kept after hydration) */
.sd-seo-block{margin-top:12px}
.sd-seo-block .sd-seo-section:first-child{border-top:1px solid var(--line)}
.sd-seo-kept{padding-top:18px;padding-bottom:18px}
.sd-seo-kept .sd-seo-block,.sd-seo-kept .sd-seo-section{max-width:980px}
.sd-seo-explore{padding:20px 0 32px}
.sd-seo-explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sd-seo-explore-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--white)}
.sd-seo-explore-card h2{margin:0 0 10px;font-size:20px;font-weight:500;line-height:1.5}
.sd-seo-explore-card p{margin:0 0 14px;font-size:14px;line-height:1.85;color:var(--muted)}
.sd-seo-explore-card .text-link{margin-top:auto;color:var(--teal)}
.initial-service-details{margin-inline-start:14px;font-size:13px;color:var(--ink)}

/* Link directory between the page and the footer: hubs, guides, hours */
.sd-directory{border-top:1px solid var(--line);background:var(--white);padding:38px 0 34px}
.sd-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.sd-directory-title{margin:0 0 10px;font-size:12px;letter-spacing:.04em;color:var(--muted)}
.sd-directory ul{display:grid;gap:7px;margin:0;padding:0;list-style:none;font-size:14px;line-height:1.6}
.sd-directory a{color:var(--ink);text-decoration:none}
.sd-directory a:hover,.sd-directory a:focus-visible,.sd-directory a[aria-current]{text-decoration:underline;text-underline-offset:4px}
.sd-directory-facts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 22px;margin:4px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.sd-directory-facts a{color:var(--ink)}

html[data-theme=dark] .sd-seo-menu-note span{background:var(--sd-raised);color:var(--sd-text)}
html[data-theme=dark] .sd-seo-menu-note span:first-child{background:var(--sd-accent);color:#0b2e2d}
html[data-theme=dark] .sd-seo-cta{background:var(--sd-raised)}
html[data-theme=dark] .sd-seo-card-more,html[data-theme=dark] .sd-seo-explore-card .text-link{color:var(--sd-accent)}

@media(max-width:1050px){.sd-seo-layout{grid-template-columns:minmax(0,1fr) 260px;gap:40px}.sd-seo-head-grid{gap:40px}}
@media(max-width:900px){
  .sd-seo-head-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:26px}
  .sd-seo-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .sd-seo-aside{position:static}
  .sd-seo-explore-grid{grid-template-columns:minmax(0,1fr)}
  .sd-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .sd-seo-head{padding-top:20px;padding-bottom:26px}
  .sd-seo-lead{font-size:15px}
  .sd-seo-actions .button{flex:1 1 auto;justify-content:center}
  .sd-seo-section{padding:22px 0 24px}
  .sd-seo-section p,.sd-seo-list{font-size:14px}
  .sd-seo-cta{flex-direction:column;align-items:flex-start;padding:26px 22px}
  .sd-seo-cta .button{width:100%;justify-content:center}
  .sd-seo-also li{grid-template-columns:minmax(0,1fr)}
  .sd-seo-also .text-link{grid-column:1;grid-row:auto;justify-self:start}
  .sd-directory-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.sd-seo-media-frame video{display:none}}

/* Drop Card page (7 Nov 2026): the interactive card section follows the heading instead of a photo beside it. */
.sd-seo-head-grid--solo{grid-template-columns:minmax(0,820px)}
.sd-seo-head-grid--solo+.sd-dropcard,.sd-seo-head+.sd-dropcard{padding-top:8px}
