/* Layout adapters for public journeys. Controls are owned by public-components. */
body.club-public-design :is(.club-return-card, .club-auth-card) { width: min(560px, calc(100% - 40px)); margin: 48px auto; padding: 32px; }
body.club-public-design .club-return-card { text-align: center; overflow-wrap: anywhere; }
body.club-public-design .club-return-card h1 { margin: 0 0 16px; font: 700 clamp(28px,4vw,36px)/1.15 var(--cmb-font); letter-spacing: var(--cmb-heading-tracking); }
body.club-public-design .club-return-card p { color: var(--cmb-text-muted); line-height: 1.55; }
body.club-public-design .club-return-card form { margin-top: 24px; }
body.club-public-design .club-return-card label { display: grid; gap: 8px; text-align: left; }
body.club-public-design .club-return-card :is(.club-activation-primary, .club-btn) { width: 100%; }
body.club-public-design .club-activation-icon { border-radius: var(--cmb-radius-card); color: var(--cmb-orange); background: var(--cmb-orange-soft); }
body.club-public-design .club-activation-icon--success { color: var(--cmb-success-ink); background: var(--cmb-success-soft); }
body.club-public-design .club-activation-summary, body.club-public-design .club-return-plan { border-radius: var(--cmb-radius-card); border-color: var(--cmb-border); background: var(--cmb-warm-background); }
body.club-public-design .club-activation-card { box-shadow: none; }
body.club-public-design .club-activation-card h1 { font-family: var(--cmb-font); }
body.club-public-design .club-login-heading .club-section-label { border-radius: var(--cmb-radius-small); }

body.club-public-design.advertiser-payment-page { padding: 40px 20px; }
body.club-public-design .advertiser-payment-shell { max-width: 1040px; border-color: var(--cmb-border); border-radius: var(--cmb-radius-card); box-shadow: none; }
body.club-public-design .advertiser-payment-top { height: auto; min-height: var(--cmb-header-height); }
body.club-public-design .advertiser-payment-grid { gap: 32px; padding: 32px; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); }
body.club-public-design :is(.advertiser-payment-summary, .advertiser-payment-form) { min-height: 0; padding: 24px; border-color: var(--cmb-border); border-radius: var(--cmb-radius-card); box-shadow: none; }
body.club-public-design .advertiser-payment-summary { background: var(--cmb-warm-background); }
body.club-public-design .advertiser-payment-summary h1 { font-size: 24px; }
body.club-public-design .advertiser-payment-title { font: 700 32px/1.15 var(--cmb-font); letter-spacing: var(--cmb-heading-tracking); }
body.club-public-design .advertiser-payment-fields { grid-template-columns: minmax(0,1fr); gap: 16px; }
body.club-public-design .advertiser-payment-field label { display: grid; gap: 8px; margin: 0; }
body.club-public-design .advertiser-payment-price { color: var(--cmb-orange); font: 700 38px/1.2 var(--cmb-font); flex-wrap: wrap; }
body.club-public-design .advertiser-payment-icon { border-radius: var(--cmb-radius-control); color: var(--cmb-orange); background: var(--cmb-orange-soft); border-color: var(--cmb-border); }

body.club-page.club-public-design :is(.club-checkout-card, .club-checkout-form-card, .club-checkout-plan, .club-checkout-status-card) { border-color: var(--cmb-border); border-radius: var(--cmb-radius-card); box-shadow: none; background: #fff; }
body.club-page.club-public-design .club-checkout-shell { width: min(1140px, calc(100% - 40px)); max-width: none; margin: 40px auto; padding: 0; }
body.club-page.club-public-design .club-checkout-card { padding: 32px; }
body.club-page.club-public-design .club-checkout-header { padding: 0 0 24px; margin-bottom: 24px; }
body.club-page.club-public-design .club-checkout-grid { gap: 40px; }
body.club-page.club-public-design .club-checkout-hero h1 { color: var(--cmb-text); font: 700 clamp(32px,4vw,48px)/1.12 var(--cmb-font); letter-spacing: var(--cmb-heading-tracking); }
body.club-page.club-public-design :is(.club-checkout-badge, .club-checkout-step, .club-checkout-plan-icon, .club-checkout-status-icon) { border-radius: var(--cmb-radius-small); }
body.club-page.club-public-design .club-checkout-plan-price { color: var(--cmb-orange); }
body.club-page.club-public-design .club-checkout-form { display: grid; gap: 16px; }
body.club-page.club-public-design .club-checkout-field { display: grid; gap: 8px; }
body.club-public-design .club-checkout-alert { padding: 16px; border: 1px solid var(--cmb-border); border-left: 3px solid var(--cmb-orange); border-radius: var(--cmb-radius-card); color: var(--cmb-text); background: var(--cmb-orange-soft); }
body.club-public-design :is(.club-checkout-status-plan, .club-checkout-status-action-card, .club-checkout-status-trust) { border-color: var(--cmb-border); border-radius: var(--cmb-radius-card); box-shadow: none; background: #fff; }
body.club-public-design :is(.club-checkout-status-primary, .club-checkout-status-secondary, .club-checkout-secondary) { min-height: var(--cmb-button-height); padding: 12px 24px; border-radius: var(--cmb-radius-control); box-shadow: none; font: 650 16px/1.4 var(--cmb-font); }
body.club-public-design .club-checkout-status-primary { color: #fff; background: var(--cmb-orange); }

body.club-public-design .club-verify-shell { width: min(600px, calc(100% - 40px)); margin: 40px auto; padding: 0; }
body.club-public-design .club-verify-card { width: 100%; margin: 0; padding: 32px; }
body.club-public-design .club-verify-hero h1 { font: 700 clamp(28px,4vw,36px)/1.15 var(--cmb-font); letter-spacing: var(--cmb-heading-tracking); }
body.club-public-design .club-otp-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; max-width: 100%; }
body.club-page.club-public-design form .club-otp-input { width: 100%; height: 56px; min-width: 0; padding: 4px; text-align: center; font-size: 24px; font-weight: 650; }
body.club-public-design :is(.club-verify-phone-chip, .club-verify-debug, .club-verify-empty, .club-verify-success) { border-radius: var(--cmb-radius-card); border-color: var(--cmb-border); background: var(--cmb-warm-background); color: var(--cmb-text); }
body.club-public-design .club-verify-submit { width: 100%; margin-top: 24px; }

body.club-public-design :is(.club-area-hub__navigation-panel, .club-area-hub__access-card, .club-area-hub__invoices, .club-area-hub__nav-item, .club-member-profile-card, .club-member-profile-switcher, .club-member-profile-otp-panel, .club-member-app__sidebar, .club-member-app__plan-card, .club-member-app__feature-card, .club-member-app__empty, .club-member-app__plan-detail, .club-member-app__payments, .club-member-app__benefits-grid > a) { border: 1px solid var(--cmb-border); border-radius: var(--cmb-radius-card); color: var(--cmb-text); background: #fff; box-shadow: none; }
body.club-public-design :is(.club-area-hub__container, .club-member-profile-page__container) { width: min(var(--cmb-container), calc(100% - var(--cmb-gutter) * 2)); max-width: none; margin: 0 auto; padding-inline: 0; }
body.club-public-design .club-area-hub { padding-block: 40px; }
body.club-public-design .club-area-hub__welcome h1 { font: 700 clamp(32px,4vw,44px)/1.12 var(--cmb-font); letter-spacing: var(--cmb-heading-tracking); }
body.club-public-design .club-area-hub__nav-item { padding: 24px; }
body.club-public-design .club-area-hub__nav-item small { color: var(--cmb-text-muted); }
body.club-public-design :is(.club-area-hub__nav-copy em, .club-area-hub__nav-chevron, .club-area-hub__navigation-head .club-section-label) { color: var(--cmb-orange-hover); }
body.club-public-design .club-area-hub__nav-item:hover { background: var(--cmb-orange-soft); border-color: var(--cmb-border); }
body.club-page.club-public-design.club-area-hub-page .club-member-topbar { background: var(--cmb-surface); box-shadow: none; }
body.club-page.club-public-design.club-area-hub-page .club-member-topbar :is(.club-brand, .brand-title) { color: var(--cmb-text); }
/* The area selector is an intentional dark decision surface, not a neutral content card. */
body.club-page.club-public-design.club-area-hub-page .club-member-topbar { background: var(--cmb-graphite); box-shadow: 0 7px 18px rgba(53,45,38,.10); }
body.club-page.club-public-design.club-area-hub-page .club-member-topbar :is(.club-brand, .brand-title) { color: #fff; }
body.club-page.club-public-design.club-area-hub-page .club-area-hub__navigation-panel { gap: 10px; padding: 16px; border-color: rgba(255,255,255,.12); border-radius: 14px; color: #fff; background: var(--cmb-graphite); box-shadow: none; }
body.club-page.club-public-design.club-area-hub-page .club-area-hub__navigation-head .club-section-label { color: #ffb27d; }
body.club-page.club-public-design.club-area-hub-page .club-area-hub__navigation-head h2 { color: #fff; font-size: 21px; }
body.club-page.club-public-design.club-area-hub-page .club-area-hub__nav { gap: 7px; }
body.club-page.club-public-design.club-area-hub-page .club-area-hub__nav-item { min-height: 62px; padding: 10px 12px; border-color: rgba(255,255,255,.13); border-radius: 11px; color: #fff; background: rgba(255,255,255,.055); }
body.club-page.club-public-design.club-area-hub-page .club-area-hub__nav-item:hover { border-color: #d9a37a; background: #46392f; }
body.club-page.club-public-design.club-area-hub-page .club-area-hub__nav-item small { color: #dfd5ca; }
body.club-page.club-public-design.club-area-hub-page :is(.club-area-hub__nav-copy em, .club-area-hub__nav-chevron) { color: #ffb27d; }
body.club-page.club-public-design.club-area-hub-page .club-area-hub__nav-icon { color: var(--cmb-orange); background: #f7e8da; }
body.club-public-design .club-member-app__feature-card p { color: var(--cmb-text-muted); }
body.club-public-design .club-member-app__sidebar .club-member-app__eyebrow { color: var(--cmb-orange-hover); }
body.club-public-design .club-member-app__nav-item:hover { background: var(--cmb-orange-soft); color: var(--cmb-orange-hover); }
body.club-public-design :is(.club-area-hub__nav-icon, .club-area-hub__access-icon, .club-member-app__plan-icon, .club-member-app__benefits-grid > a > .material-symbols-outlined) { border-radius: var(--cmb-radius-control); color: var(--cmb-orange); background: var(--cmb-orange-soft); }
body.club-public-design .club-member-app__hero { color: var(--cmb-text); background: transparent; border: 0; box-shadow: none; padding-inline: 0; }
body.club-public-design .club-member-app__hero h1 { font-size: clamp(30px,3.6vw,44px); line-height: 1.12; }
body.club-public-design :is(.club-member-app__hero p, .club-member-app__hero .club-member-app__eyebrow) { color: var(--cmb-text-muted); }
body.club-public-design .club-member-app__nav-item { border-radius: var(--cmb-radius-control); color: var(--cmb-text-muted); }
body.club-public-design .club-member-app__nav-item.is-active { color: var(--cmb-orange-hover); background: var(--cmb-orange-soft); }
body.club-public-design .club-member-app__mobile-menu { border-radius: var(--cmb-radius-control); }
body.club-public-design .club-member-profile-switcher__summary { padding: 16px; color: var(--cmb-text); }

body.club-public-design.club-landing-page .club-benefit-grid { gap: 24px; }
body.club-public-design.club-landing-page :is(.club-hero, .club-cta, .club-benefit-card, .club-more-card, .club-step-card, .club-service-card) { border-radius: var(--cmb-radius-card); box-shadow: none; }
body.club-public-design.club-landing-page :is(.club-kicker, .club-benefit-card > .material-symbols-outlined, .club-service-icon) { border-radius: var(--cmb-radius-small); }
body.club-public-design.club-landing-page .club-hero h1 { font: 700 clamp(36px,5vw,64px)/1.12 var(--cmb-font); letter-spacing: var(--cmb-heading-tracking); }
body.club-public-design.club-storefront-page :is(.club-storefront-hero, .club-storefront-info-card, .club-storefront-about, .club-storefront-trust-card) { border-color: var(--cmb-border); border-radius: var(--cmb-radius-card); box-shadow: none; }
body.club-public-design.club-storefront-page .club-storefront-hero h1 { font: 700 clamp(30px,4vw,44px)/1.12 var(--cmb-font); }
body.club-public-design.club-storefront-page :is(.club-storefront-chip, .club-storefront-detail-pill) { border-radius: var(--cmb-radius-small); }
body.club-public-design.club-storefront-page .club-stock-intro-row { flex-wrap: wrap; gap: 16px; }
body.club-public-design.club-storefront-page .club-stock-sort-form { max-width: 100%; flex-wrap: wrap; }

body.club-public-design.club-vehicle-preview-page .wrap { width: min(920px,calc(100% - 40px)); margin: 40px auto; }
body.club-public-design.club-vehicle-preview-page .card { padding: 32px; border: 1px solid var(--cmb-border); border-radius: var(--cmb-radius-card); background: #fff; }
body.club-public-design.club-vehicle-preview-page .gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 12px; }
body.club-public-design.club-vehicle-preview-page .gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--cmb-radius-card); }
body.club-public-design.club-vehicle-preview-page .grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 24px; }
body.club-public-design.club-vehicle-preview-page .field b { display: block; color: var(--cmb-text-muted); font-size: 12px; }
body.club-public-design.club-vehicle-preview-page .notice { padding: 16px; margin: 24px 0; border: 1px solid var(--cmb-border); border-radius: var(--cmb-radius-card); background: var(--cmb-orange-soft); }
body.club-public-design.club-vehicle-preview-page .notice.success { background: var(--cmb-success-soft); color: var(--cmb-success-ink); }
body.club-public-design.club-vehicle-preview-page .muted { color: var(--cmb-text-muted); }
@media (max-width: 760px) {
  body.club-public-design.advertiser-payment-page { padding: 0; }
  body.club-public-design .advertiser-payment-shell { border: 0; border-radius: 0; }
  body.club-public-design .advertiser-payment-grid { display: flex; padding: 24px 20px; gap: 24px; }
  body.club-public-design .advertiser-payment-price { font-size: 28px; }
  body.club-public-design .advertiser-payment-form { padding: 0; border: 0; }
  body.club-public-design .advertiser-payment-title { font-size: 30px; }
  body.club-page.club-public-design .club-checkout-shell { margin-block: 24px; }
  body.club-page.club-public-design .club-checkout-card { padding: 20px 16px; }
  body.club-page.club-public-design .club-checkout-grid { display: flex; flex-direction: column; gap: 24px; }
  body.club-page.club-public-design .club-checkout-form-card { width: 100%; padding: 20px 16px; }
  body.club-public-design .club-verify-card { padding: 24px 16px; }
  body.club-public-design .club-return-card { margin-block: 24px; padding: 24px; }
  body.club-public-design .club-area-hub__layout { grid-template-columns: minmax(0,1fr); }
  body.club-public-design .club-area-hub__nav-item { padding: 16px; }
  body.club-public-design .club-member-app__topbar-inner { gap: 8px; }
  body.club-public-design .club-member-app__brand > span { max-width: 90px; font-size: 13px; }
}
