/* Public resource details: one page gutter, readable sections, live owner actions. */
body.superb-public-shell .sdp-module-page:has(.sba-course-detail,.ssm-plan-detail,.scf-programme-page,.superb-store-product,.superb-booking-widget[data-calendar]) {
  --sd-detail-gutter: max(24px,calc((100% - 1200px)/2));
  --sd-detail-copy: #544360;
}
body.superb-public-shell .sdp-module-page:has(.sba-course-detail,.ssm-plan-detail,.scf-programme-page,.superb-store-product,.superb-booking-widget[data-calendar]) .sdp-module-frame--public {
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
body.superb-public-shell .sdp-module-page:has(.sba-course-detail,.ssm-plan-detail,.scf-programme-page,.superb-store-product,.superb-booking-widget[data-calendar]) .sdp-module-frame--public > .sdp-module-content {
  padding:0 0 64px;overflow:visible;
}
body.superb-public-shell :is(.sba-course-detail,.ssm-plan-detail,.scf-programme-page) {
  width:100%;max-width:none;margin:0;padding:0 0 56px;border:0;border-radius:0;box-shadow:none;
}
body.superb-public-shell .scf-shell:has(.scf-programme-page) {width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
body.superb-public-shell :is(.sba-course-hero,.ssm-plan-hero,.scf-programme-hero) {margin-bottom:0;padding:72px var(--sd-detail-gutter);gap:40px}
body.superb-public-shell .scf-programme-hero-content {width:100%;max-width:1100px;margin:0;padding:0}
body.superb-public-shell :is(.sba-course-hero,.ssm-plan-hero,.scf-programme-hero) h1 {font-size:clamp(36px,4.4vw,62px);line-height:1.12;letter-spacing:-.035em}
body.superb-public-shell :is(.sba-lead,.ssm-lead,.scf-programme-hero p) {max-width:760px;font-size:17px;line-height:1.75}
/* Academy's purchase text originally targets a pale owner hero. The public
   theme hero is dark; keep these overrides inside it, away from checkout and
   the light price cards used by the other resource families. */
body.superb-public-shell .sba-course-hero .sba-course-purchase > strong {color:#fff}
body.superb-public-shell .sba-course-hero .sba-course-purchase > small {color:#e9d0f4}
body.superb-public-shell :is(.sba-detail-grid,.scf-programme-layout) {margin:0 var(--sd-detail-gutter);padding-top:40px;gap:36px;grid-template-columns:minmax(0,1fr) minmax(300px,350px)}
body.superb-public-shell :is(.sba-detail-grid,.scf-programme-layout) > * {min-width:0}
body.superb-public-shell :is(.sba-detail-grid > div > section,.scf-programme-section) {margin:0;padding:30px 0;border:0;border-bottom:1px solid #dfd3e6;border-radius:0;background:transparent;box-shadow:none}
body.superb-public-shell .ssm-plan-detail > .ssm-content-section {margin:0 var(--sd-detail-gutter);padding:36px 0;border:0;border-bottom:1px solid #dfd3e6;border-radius:0;background:transparent;box-shadow:none}
body.superb-public-shell :is(.sba-richtext,.ssm-richtext,.scf-rich,.sb-event-description,.sdr-resource-copy) {max-width:76ch;color:var(--sd-detail-copy);font-size:17px;line-height:1.8;overflow-wrap:break-word}
body.superb-public-shell :is(.sba-richtext,.ssm-richtext,.scf-rich,.sb-event-description,.sdr-resource-copy) :is(p,ul,ol) {margin:0 0 20px;font-size:inherit;line-height:inherit}
body.superb-public-shell :is(.sba-richtext,.ssm-richtext,.scf-rich,.sb-event-description,.sdr-resource-copy) :is(ul,ol) {padding-left:22px}
body.superb-public-shell :is(.sba-richtext,.ssm-richtext,.scf-rich,.sb-event-description,.sdr-resource-copy) li {margin:8px 0}
body.superb-public-shell :is(.sba-detail-grid,.ssm-content-section,.scf-programme-section) h2 {max-width:30ch;font-size:clamp(26px,2.7vw,35px);line-height:1.22;margin:0 0 18px;color:#2f193d}
body.superb-public-shell :is(.sba-detail-grid,.ssm-content-section,.scf-programme-section) h3 {font-size:22px;line-height:1.35;color:#382245}
body.superb-public-shell .scf-who-grid {grid-template-columns:1fr;gap:24px}
body.superb-public-shell .scf-who-grid > article {margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.superb-public-shell .scf-who-grid > article + article {padding-top:24px;border-top:1px solid #dfd3e6}
body.superb-public-shell .scf-who-grid :is(ul,.scf-line-list) {display:block;margin:0;padding:0;list-style:none}
body.superb-public-shell .scf-who-grid li {position:relative;display:block;margin:0;padding:10px 0 10px 26px;border:0;border-bottom:1px solid #e5dce9;border-radius:0;background:transparent;box-shadow:none;color:#55425f;font-size:16px;line-height:1.7}
body.superb-public-shell .scf-who-grid li::before {position:absolute;left:0;top:10px;content:'✓';color:#38765b;font-weight:800}
body.superb-public-shell .scf-who-grid li::after {content:none}
body.superb-public-shell .scf-who-grid .scf-check-list li > span:first-child {display:none}
body.superb-public-shell .scf-who-grid article.is-negative li::before {content:'−';color:#92505e}
body.superb-public-shell .scf-who-grid article.is-negative li:only-child {padding:0;border:0}
body.superb-public-shell .scf-who-grid article.is-negative li:only-child::before {content:none}
body.superb-public-shell .scf-inclusion-grid {grid-template-columns:1fr;gap:0}
body.superb-public-shell .scf-inclusion-grid > article {display:flex;gap:12px;align-items:flex-start;padding:14px 0;border:0;border-bottom:1px solid #e5dce9;border-radius:0;background:transparent;box-shadow:none}
body.superb-public-shell .scf-inclusion-grid p {margin:0;font-size:16px;line-height:1.7}
body.superb-public-shell :is(.scf-enrolment-sidebar,.sba-detail-grid > aside) {position:sticky;top:calc(var(--sdh-height,88px) + 84px);align-self:start}
body.superb-public-shell :is(.scf-enrolment-card,.sba-side-card,.ssm-tier-card) {padding:26px;border:1px solid #d9c2e5;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(56,25,77,.07)}
body.superb-public-shell :is(.scf-enrolment-card,.sba-side-card,.ssm-tier-card) :is(p,li,label) {font-size:15px;line-height:1.7}
body.superb-public-shell :is(.scf-programme-page,.ssm-plan-detail,.sba-course-detail) :is(input:not([type=radio]):not([type=checkbox]),select,textarea) {min-height:48px;font-size:16px}
body.superb-public-shell :is(.scf-consent,.scf-package-selector label) {gap:12px}
body.superb-public-shell .scf-package-selector input[type=radio] {flex:0 0 auto;width:20px;height:20px}
body.superb-public-shell .scf-package-selector small {font-size:13px;line-height:1.6}
body.superb-public-shell .superb-store-product {width:auto;max-width:none;margin:0 var(--sd-detail-gutter);padding:36px 0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.superb-public-shell .superb-store-product > form {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:22px 0;border-top:1px solid #dfd3e6}
body.superb-public-shell .superb-store-product > form input[type=number] {width:88px;min-height:48px;font-size:16px}
body.superb-public-shell .superb-store-price {font-size:28px;font-weight:800;color:#5d13af}
body.superb-public-shell .sdp-module-page--booking .superb-booking-widget[data-calendar] {width:auto;max-width:none;margin:0 var(--sd-detail-gutter);border-radius:20px;box-shadow:0 12px 32px rgba(56,25,77,.07)}
body.superb-public-shell .sdp-module-page--booking .sb-booking-app {grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr)}
body.superb-public-shell .sdp-module-page--booking :is(.sb-booking-sidebar,.sb-booking-main) {min-width:0;padding:28px}
body.superb-public-shell .sdp-module-page--booking .sb-event-title {font-size:28px;line-height:1.2}
body.superb-public-shell .sdp-module-page--booking .sb-event-description {font-size:16px;line-height:1.75}
/* Appointment detail tabs sit directly beneath their hero. */
body.superb-public-shell .sdp-module-page--booking:has(.superb-booking-widget[data-calendar]) .sdp-page-heading--public {margin-bottom:0}

.sdr-detail-nav {position:sticky;top:var(--sdh-height,88px);z-index:90;display:flex;align-items:center;gap:8px;max-width:100%;margin:0;padding:10px var(--sd-detail-gutter,24px);border-bottom:1px solid #dfd2e7;background:rgba(255,255,255,.97);box-shadow:0 5px 16px rgba(41,19,58,.04);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-padding-inline:18px}
.sdr-detail-nav a {display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:10px 15px;border:1px solid transparent;border-radius:12px;color:#6c547a;font-size:14px;font-weight:750;line-height:1.3;text-decoration:none;white-space:nowrap}
.sdr-detail-nav a[aria-current=location] {border-color:#dfc7ed;background:#f4eafa;color:#5d13af}
.sdr-detail-nav a:focus-visible {outline:3px solid #b753b8;outline-offset:2px}
.sd-resource-detail [data-sdr-section] {scroll-margin-top:calc(var(--sdh-height,88px) + 84px)}
.sd-resource-detail .scf-programme-nav {display:none}
.sd-resource-detail .scf-journey article::before {content:none!important;display:none!important}
.sd-resource-detail .scf-journey article>span {display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#6d23b5,#d035a9);color:#fff;font-size:16px;font-weight:800}
.sd-resource-detail .scf-journey article>div {min-width:0}
.sd-resource-detail:has([data-sd-resource-sticky]) .scf-mobile-enrol-bar {display:none!important}
.sdr-resource-sticky {position:fixed;inset:auto 0 0;z-index:99970;display:flex;justify-content:center;padding:10px max(18px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom));border-top:1px solid #dccae6;background:rgba(255,255,255,.98);box-shadow:0 -8px 30px rgba(41,17,57,.09);color:#311e3c;font-family:"Montserrat",system-ui,sans-serif}
.sdr-resource-sticky[hidden] {display:none!important}
.sdr-resource-sticky__inner {display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(100%,1200px);min-width:0}
.sdr-resource-sticky__copy {display:grid;gap:4px;min-width:0}
.sdr-resource-sticky__copy small {max-width:55ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#785e87;font-size:12px;line-height:1.4}
.sdr-resource-sticky__copy strong {font-size:20px;line-height:1.35;color:#4d2368}
.sdr-resource-sticky__action {flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:55%;padding:12px 24px;border:0;border-radius:13px;background:linear-gradient(115deg,#5d13af,#a42ca9);color:#fff;font:750 15px/1.35 "Montserrat",system-ui,sans-serif;cursor:pointer;text-align:center}
.sdr-resource-sticky__action:disabled {opacity:.6;cursor:wait}
.sdr-resource-sticky__action:focus-visible {outline:3px solid #e988d4;outline-offset:3px}
.sdr-resource-sticky__action {gap:8px}
.sdr-resource-sticky__icon {flex:0 0 22px;width:22px;height:22px;object-fit:contain}
html.sd-resource-sticky-visible body {padding-bottom:var(--sd-resource-sticky-clearance,0px)}
html:is(.sdh-menu-open,.sdp-nav-open,.sd-promo-open,.ss-cart-drawer-open) .sdr-resource-sticky {visibility:hidden;pointer-events:none}

/* Content-sized controls: hidden buttons no longer leave empty tracks. */
html body .sd-site-dock {--sd-dock-gap:8px;display:flex;flex-direction:column;align-items:center;width:52px;height:auto;gap:8px;right:calc(18px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));pointer-events:none}
html body .sd-site-dock > :is(.sd-site-cart-button,.sd-site-chat-button,.sd-site-top-button) {position:relative;inset:auto;flex:0 0 auto;margin:0;pointer-events:auto}
html body .sd-site-dock > .sd-site-cart-button {order:1;width:48px;height:48px;border-radius:15px}
html body .sd-site-dock > .sd-site-chat-button {order:2;width:52px;height:52px}
html body .sd-site-dock > .sd-site-top-button {order:3;width:44px;height:44px;border-radius:14px}
html.sd-resource-sticky-visible body .sd-site-dock {bottom:calc(var(--sd-resource-sticky-clearance,0px) + 8px)}
html body .sd-site-chat-menu {bottom:calc(100% + 10px);max-height:calc(100dvh - var(--sd-resource-sticky-clearance,0px) - var(--sd-dock-current-height,152px) - 32px)}

/* Body-level promotion remains above the fixed public/member navigation. */
html body > .sd-promo {z-index:2147483620;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
html.sd-promo-open,html.sd-promo-open body {overflow:hidden}
html body .sd-promo-dialog {max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
html body .sd-promo-close {position:absolute;right:14px;top:14px;min-width:44px;min-height:44px}

@media(max-width:980px) {
  body.superb-public-shell :is(.sba-detail-grid,.scf-programme-layout) {grid-template-columns:1fr;gap:24px;padding-top:20px}
  body.superb-public-shell :is(.scf-enrolment-sidebar,.sba-detail-grid > aside) {position:static}
  body.superb-public-shell .sdp-module-page--booking .sb-booking-app {grid-template-columns:1fr}
}
@media(max-width:620px) {
  body.superb-public-shell .sdp-module-page:has(.sba-course-detail,.ssm-plan-detail,.scf-programme-page,.superb-store-product,.superb-booking-widget[data-calendar]) {--sd-detail-gutter:20px}
  body.superb-public-shell :is(.sba-course-hero,.ssm-plan-hero,.scf-programme-hero) {padding:66px 20px 36px;gap:26px;grid-template-columns:1fr}
  body.superb-public-shell :is(.sba-course-visual,.ssm-plan-visual) {max-height:260px}
  body.superb-public-shell .scf-programme-hero-content {padding:0}
  body.superb-public-shell :is(.scf-programme-section,.sba-detail-grid > div > section) {padding:26px 0}
  body.superb-public-shell .ssm-plan-detail > .ssm-content-section {padding:28px 0}
  body.superb-public-shell :is(.sba-richtext,.ssm-richtext,.scf-rich,.sdr-resource-copy) {font-size:16px;line-height:1.8}
  body.superb-public-shell :is(.scf-enrolment-card,.sba-side-card) {padding:22px 18px}
  body.superb-public-shell :is(.scf-package-grid,.ssm-tier-grid,.ssm-benefit-grid) {grid-template-columns:1fr;gap:18px}
  body.superb-public-shell .superb-store-product {padding:26px 0}
  body.superb-public-shell .sdp-module-page--booking :is(.sb-booking-sidebar,.sb-booking-main) {padding:22px 16px}
  body.superb-public-shell .sdp-module-page--booking .superb-booking-widget[data-calendar] {margin-inline:0;border-inline:0;border-radius:0;box-shadow:none}
  body.superb-public-shell .sdp-module-page--booking .sb-event-meta {gap:10px;font-size:13px}
  .sdr-detail-nav {padding:8px 16px;gap:5px}
  .sdr-detail-nav a {min-height:44px;padding:10px 12px;font-size:13px}
  .sdr-resource-sticky__inner {gap:12px}
  .sdr-resource-sticky__copy small {max-width:26ch;font-size:11px}
  .sdr-resource-sticky__copy strong {font-size:16px}
  .sdr-resource-sticky__action {min-height:48px;max-width:52%;padding:11px 16px;font-size:13px}
  html body .sd-site-dock {right:calc(12px + env(safe-area-inset-right));width:48px}
  html body .sd-site-dock > .sd-site-chat-button {width:48px;height:48px}
}
@media(prefers-reduced-motion:reduce) {.sdr-detail-nav,.sdr-resource-sticky {scroll-behavior:auto;transition:none}}
