/* Service pages (single-service.php). Figma language: white r30 cards on the grey page. Scoped under #bt-root. */
#bt-root .sv-h2 { font-size:var(--fs-h2-s); font-weight:500; line-height:1.25; color:var(--c-black); margin:0 0 var(--space-6); }
#bt-root .sv-h2--sm { font-size:1.5rem; margin-bottom:var(--space-4); color:var(--c-primary); }
#bt-root .sv-h2--light { color:#fff; }
#bt-root section + section { margin-top:var(--space-7); }
#bt-root .sv-prose { font-size:var(--fs-body-lg); line-height:1.7; color:var(--c-text-80); max-width:900px; }
#bt-root .sv-prose p { margin:0 0 var(--space-4); }
#bt-root .sv-prose ul, #bt-root .sv-prose ol { list-style:disc; padding-left:1.4em; margin:0 0 var(--space-4); }
#bt-root .sv-prose li { margin-bottom:6px; }
#bt-root .sv-prose a { color:var(--c-primary); text-decoration:underline; text-underline-offset:2px; }
#bt-root .sv-prose strong { font-weight:600; color:var(--c-black); }

/* Hero: image card r50, H1 110 over gradient */
#bt-root .sv-hero { padding-top:var(--space-5); }
#bt-root .sv-hero__card { position:relative; border-radius:var(--r-pill); overflow:hidden; min-height:clamp(420px,55vw,820px); background:var(--c-surface-alt); }
#bt-root .sv-hero__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#bt-root .sv-hero__shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.55) 100%); }
#bt-root .sv-hero__copy { position:absolute; left:clamp(24px,6vw,100px); right:clamp(24px,6vw,100px); bottom:clamp(32px,6vw,90px); color:#fff; max-width:1000px; }
#bt-root .sv-hero__title { font-size:clamp(2.5rem,1.5rem + 5vw,6.875rem); font-weight:500; line-height:1.05; color:#fff; margin:0 0 var(--space-5); text-shadow:0 2px 24px rgba(0,0,0,.3); }
#bt-root .sv-hero__usp { font-size:1.5625rem; line-height:1.5; margin:0; max-width:820px; }

/* Cards */
#bt-root .sv-block__card, #bt-root .sv-summary__card { background:var(--c-surface); border-radius:var(--r-xl); padding:clamp(28px,4vw,60px) clamp(24px,5vw,80px); }
#bt-root .sv-summary__card { border-left:8px solid var(--c-primary); background:var(--c-surface); }
#bt-root .sv-summary__body { font-size:1.375rem; line-height:1.6; color:var(--c-black); }
#bt-root .sv-summary__body p { margin:0; }
#bt-root .sv-block__card--primary { background:var(--c-primary); color:#fff; }
#bt-root .sv-block__card--primary .sv-h2, #bt-root .sv-block__card--primary .sv-prose, #bt-root .sv-block__card--primary .sv-prose strong { color:#fff; }
#bt-root .sv-block__card--primary .sv-prose a { color:#fff; }

/* Cost table */
#bt-root .sv-table-wrap { overflow-x:auto; margin-bottom:var(--space-4); }
#bt-root .sv-table { width:100%; border-collapse:separate; border-spacing:0; font-size:var(--fs-body-lg); }
#bt-root .sv-table th, #bt-root .sv-table td { padding:16px 20px; text-align:left; border-bottom:1px solid var(--c-border); vertical-align:top; }
#bt-root .sv-table thead th { background:var(--c-surface-alt); font-weight:600; color:var(--c-dark); border-bottom:2px solid var(--c-primary); }
#bt-root .sv-table thead th:first-child { border-radius:var(--r-s) 0 0 0; }
#bt-root .sv-table thead th:last-child { border-radius:0 var(--r-s) 0 0; }
#bt-root .sv-table tbody th { font-weight:500; color:var(--c-black); }
#bt-root .sv-table tbody td:nth-child(2), #bt-root .sv-table tbody td:nth-child(3) { font-weight:600; color:var(--c-primary); white-space:nowrap; }
#bt-root .sv-table__date { font-size:var(--fs-small); color:var(--c-text-50); margin:0 0 var(--space-5); }
#bt-root .sv-datapoint { background:var(--c-surface-alt); border-radius:var(--r-s); padding:16px 22px; font-weight:500; color:var(--c-black); margin:var(--space-4) 0; }
#bt-root .sv-inline-cta { margin:var(--space-5) 0 0; }

/* Fears */
#bt-root .sv-fears__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
#bt-root .sv-fear { background:var(--c-surface-alt); border-radius:var(--r-l); padding:30px; }
#bt-root .sv-fear__q { font-size:1.375rem; font-weight:600; line-height:1.3; color:var(--c-black); margin:0 0 var(--space-3); }
#bt-root .sv-fear__q::before { content:'\201C'; color:var(--c-primary); margin-right:4px; }
#bt-root .sv-fear__q::after { content:'\201D'; color:var(--c-primary); margin-left:4px; }
#bt-root .sv-fear__a { font-size:var(--fs-body-lg); line-height:1.6; color:var(--c-text-80); margin:0; }

/* Projects */
#bt-root .sv-projects__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:21px; }
#bt-root .sv-pcard { display:block; background:var(--c-surface); border-radius:var(--r-xl); overflow:hidden; text-decoration:none; color:var(--c-black); }
#bt-root .sv-pcard img { width:100%; aspect-ratio:436/418; object-fit:cover; }
#bt-root .sv-pcard__body { display:block; padding:30px 40px 34px; }
#bt-root .sv-pcard__title { display:block; font-size:1.875rem; font-weight:500; margin-bottom:4px; }
#bt-root .sv-pcard__type { display:block; font-size:1.25rem; color:var(--c-text-70); margin-bottom:var(--space-5); }
#bt-root .sv-pcard__btn { display:inline-flex; }

/* FAQ */
#bt-root .sv-faq__list { display:flex; flex-direction:column; gap:16px; }
#bt-root .sv-faq__q { display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); width:100%; min-height:72px; padding:0 30px 0 40px; border-radius:var(--r-pill); border:1px solid var(--c-black); background:rgba(242,242,242,.5); font:inherit; font-size:1.25rem; text-align:left; color:var(--c-black); cursor:pointer; }
#bt-root .sv-faq__q[aria-expanded="true"] { background:var(--c-primary); color:#fff; border-color:var(--c-primary); }
#bt-root .sv-faq__icon { font-size:1.75rem; font-weight:300; line-height:1; transition:transform .2s ease; }
#bt-root .sv-faq__q[aria-expanded="true"] .sv-faq__icon { transform:rotate(45deg); }
#bt-root .sv-faq__a { padding:20px 40px 8px; font-size:var(--fs-body-lg); line-height:1.7; color:var(--c-text-80); }
#bt-root .sv-faq__a p { margin:0; }

/* CTA */
#bt-root .sv-cta__card { background:var(--c-primary); border-radius:var(--r-pill); padding:clamp(40px,6vw,80px) clamp(24px,8vw,120px); text-align:center; color:#fff; }
#bt-root .sv-cta__card p { font-size:1.375rem; margin:0 0 var(--space-7); }
#bt-root .sv-cta__card a:not(.bt-btn) { color:#fff; font-weight:600; }

@media (max-width:900px) {
  #bt-root section + section { margin-top:var(--space-6); }
  #bt-root .sv-hero__card { border-radius:var(--r-xl); min-height:60vh; }
  #bt-root .sv-hero__copy { left:24px; right:24px; bottom:28px; }
  #bt-root .sv-hero__usp { font-size:var(--fs-body-lg); }
  #bt-root .sv-block__card, #bt-root .sv-summary__card { border-radius:var(--r-m); padding:24px 20px; }
  #bt-root .sv-summary__body { font-size:var(--fs-body-lg); }
  #bt-root .sv-prose { font-size:var(--fs-body); }
  #bt-root .sv-table { font-size:var(--fs-small); }
  #bt-root .sv-table th, #bt-root .sv-table td { padding:10px 12px; }
  #bt-root .sv-projects__grid { grid-template-columns:1fr; gap:14px; }
  #bt-root .sv-pcard__body { padding:20px; }
  #bt-root .sv-pcard__title { font-size:1.375rem; }
  #bt-root .sv-faq__q { min-height:56px; padding:12px 18px 12px 22px; font-size:var(--fs-body); border-radius:28px; }
  #bt-root .sv-faq__a { padding:14px 22px 6px; font-size:var(--fs-small); }
  #bt-root .sv-cta__card { border-radius:var(--r-xl); }
  #bt-root .sv-cta__card p { font-size:var(--fs-body-lg); }
  #bt-root .sv-cta__card .bt-btn--lg { width:100%; min-height:64px; font-size:1.125rem; }
}
/* Floor plan section (Oliver #13) */
#bt-root .sv-plan__grid { display:grid; grid-template-columns:minmax(0,0.85fr) minmax(0,1fr); gap:44px; align-items:center; }
#bt-root .sv-plan__img { background:#fff; border-radius:var(--r-m); padding:20px; }
#bt-root .sv-plan__img img { width:100%; height:auto; display:block; }
@media (max-width:900px) { #bt-root .sv-plan__grid { grid-template-columns:1fr; gap:20px; } #bt-root .sv-plan__img { padding:12px; } }

/* v0.27: /services/ hub */
#bt-root .svh-hero { padding-top:var(--space-6); max-width:1100px; }
#bt-root .svh-title { font-size:clamp(2.5rem,1.5rem + 4vw,5rem); font-weight:500; line-height:1.08; color:var(--c-primary); margin:0 0 var(--space-5); }
#bt-root .svh-answer { font-size:var(--fs-body-lg); line-height:1.7; color:var(--c-text-80); max-width:900px; margin:0 0 var(--space-6); }
#bt-root .svh-actions { display:flex; flex-wrap:wrap; gap:16px; margin:0; }
#bt-root .svh-actions .bt-btn--lg { min-height:64px; font-size:1.125rem; }
#bt-root .svh-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:21px; list-style:none; margin:0; padding:0; }
#bt-root .svh-grid--2 { grid-template-columns:repeat(2,1fr); }
#bt-root .svh-card a { display:flex; flex-direction:column; height:100%; background:var(--c-surface); border-radius:var(--r-xl); overflow:hidden; text-decoration:none; color:var(--c-black); transition:transform .2s ease, box-shadow .2s ease; }
#bt-root .svh-card a:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,.08); }
#bt-root .svh-card__img { width:100%; aspect-ratio:3/2; object-fit:cover; }
#bt-root .svh-card__body { display:flex; flex-direction:column; gap:10px; padding:26px 30px 30px; flex:1; }
#bt-root .svh-card__title { font-size:1.5rem; font-weight:500; line-height:1.25; margin:0; color:var(--c-black); }
#bt-root .svh-card__price { font-weight:600; color:var(--c-primary); }
#bt-root .svh-card__usp { color:var(--c-text-80); line-height:1.6; }
#bt-root .svh-card__more { margin-top:auto; font-weight:600; color:var(--c-primary); }
#bt-root .svh-table-wrap { overflow-x:auto; }
#bt-root .svh-table { width:100%; border-collapse:collapse; font-size:1.0625rem; margin-bottom:var(--space-4); }
#bt-root .svh-table th, #bt-root .svh-table td { text-align:left; padding:14px 16px; border-bottom:1px solid rgba(0,0,0,.08); vertical-align:top; }
#bt-root .svh-table thead th { font-weight:600; color:var(--c-text-80); background:var(--c-surface-alt); }
#bt-root .svh-table tbody th a { color:var(--c-primary); font-weight:600; }
#bt-root .svh-routes { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
#bt-root .svh-route { display:flex; flex-direction:column; gap:6px; padding:22px 24px; border-radius:var(--r-l, 20px); background:var(--c-surface-alt); text-decoration:none; color:var(--c-black); }
#bt-root .svh-route strong { color:var(--c-primary); font-weight:600; }
@media (max-width:1000px) { #bt-root .svh-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { #bt-root .svh-grid, #bt-root .svh-grid--2, #bt-root .svh-routes { grid-template-columns:1fr; } #bt-root .svh-actions .bt-btn { width:100%; } }

/* v0.27: related links on service pages */
#bt-root .sv-related__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-6); }
#bt-root .sv-related h3 { font-size:1.25rem; font-weight:600; margin:0 0 var(--space-3); color:var(--c-black); }
#bt-root .sv-related ul { list-style:none; margin:0; padding:0; }
#bt-root .sv-related li { padding:10px 0; border-bottom:1px solid rgba(0,0,0,.08); }
#bt-root .sv-related li a { color:var(--c-primary); text-decoration:none; font-weight:500; }
#bt-root .sv-related li a:hover { text-decoration:underline; }
#bt-root .sv-related li span { color:var(--c-text-60); font-size:.9375rem; margin-left:6px; }
@media (max-width:760px) { #bt-root .sv-related__grid { grid-template-columns:1fr; } }

/* Price tables (Quotes > Price tables), 14 Oct 2026: keep figures on one line; one card per row on phones */
#bt-root .sv-table--cards td[data-label="Per m²"] { white-space:nowrap; }
@media (max-width:720px) {
  #bt-root .sv-table--cards, #bt-root .sv-table--cards tbody, #bt-root .sv-table--cards tr, #bt-root .sv-table--cards th, #bt-root .sv-table--cards td { display:block; width:100%; }
  #bt-root .sv-table--cards thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  #bt-root .sv-table-wrap:has(.sv-table--cards) { overflow:visible; }
  #bt-root .sv-table--cards tr { border:1px solid var(--c-border); border-radius:var(--r-s); padding:14px 16px 8px; margin-bottom:12px; background:#fff; }
  #bt-root .sv-table--cards tbody th { padding:0 0 10px; border:0; font-size:var(--fs-body); font-weight:600; line-height:1.35; }
  #bt-root .sv-table--cards td { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:8px 0; border:0; border-top:1px solid var(--c-border); white-space:normal; text-align:right; }
  #bt-root .sv-table--cards td::before { content:attr(data-label); font-weight:500; color:var(--c-text-50); text-align:left; flex:0 0 auto; }
  #bt-root .sv-table--cards td[data-label="Includes"] { display:block; text-align:left; font-weight:400; color:inherit; }
  #bt-root .sv-table--cards td[data-label="Includes"]::before { display:block; margin-bottom:2px; }
  #bt-root .sv-table--cards td.is-empty { display:none; }
}
@media (max-width:720px) { #bt-root .sv-inline-cta .bt-btn { width:100%; white-space:normal; text-align:center; line-height:1.25; padding:12px 20px; } }
