/* Public primitives. Existing class aliases preserve forms, links and JS hooks. */
body.club-page.club-public-design {
  --club-font-family: var(--cmb-font);
  --club-ink: var(--cmb-text);
  --club-muted: var(--cmb-text-muted);
  --club-orange: var(--cmb-orange);
  --club-orange-dark: var(--cmb-orange-hover);
  --club-border: var(--cmb-border);
  --club-navy: var(--cmb-graphite);
  min-width: 0;
  margin: 0;
  color: var(--cmb-text);
  background: var(--cmb-warm-background);
  font: 400 var(--cmb-font-body)/var(--cmb-leading) var(--cmb-font);
  -webkit-font-smoothing: antialiased;
}
body.club-public-design *, body.club-public-design *::before, body.club-public-design *::after { box-sizing: border-box; }
body.club-public-design :is(input, button, textarea, select) { font-family: var(--cmb-font); }
body.club-public-design :is(h1, h2, h3) { color: var(--cmb-text); font-family: var(--cmb-font); letter-spacing: var(--cmb-heading-tracking); }
body.club-public-design :is(a, button, input, select, textarea, summary):focus-visible { outline: var(--cmb-focus-ring); outline-offset: 3px; }
body.club-public-design [hidden] { display: none !important; }
body.club-public-design .club-toast { border-radius: var(--cmb-radius-card); color: var(--cmb-text); background: var(--cmb-surface); box-shadow: var(--cmb-shadow-overlay); font: 400 14px/1.5 var(--cmb-font); }
body.club-public-design .club-toast__close { min-width: 32px; min-height: 32px; border-radius: var(--cmb-radius-control); }
body.club-public-design :is(.club-btn, .btn, .club-advertiser-action, .club-button, .club-activation-primary, .club-activation-secondary, .club-google-button, .advertiser-payment-submit, .club-checkout-submit, .club-login-submit, .club-login-google, .club-login-back, .club-member-app__button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--cmb-space-2);
  min-height: var(--cmb-button-height);
  max-width: 100%;
  padding: 12px 24px;
  border: 1px solid var(--cmb-border);
  border-radius: var(--cmb-radius-control);
  box-shadow: none;
  font: var(--cmb-button-weight) 16px/1.4 var(--cmb-font);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transform: none;
}
body.club-public-design :is(.club-btn--primary, .btn-primary, .club-advertiser-action, .club-button, .club-activation-primary, .advertiser-payment-submit, .club-checkout-submit, .club-login-submit, .club-member-app__button--dark) { color: #fff; background: var(--cmb-orange); border-color: var(--cmb-orange); }
body.club-public-design :is(.club-btn--primary, .btn-primary, .club-advertiser-action, .club-button, .club-activation-primary, .advertiser-payment-submit, .club-checkout-submit, .club-login-submit, .club-member-app__button--dark):hover { color: #fff; background: var(--cmb-orange-hover); border-color: var(--cmb-orange-hover); transform: none; }
body.club-public-design :is(.club-btn--secondary, .btn-secondary, .club-button-secondary, .club-activation-secondary, .club-google-button, .club-login-google, .club-login-back) { color: var(--cmb-text); background: #fff; border-color: var(--cmb-border); }
body.club-public-design :is(.club-btn--ghost, .btn-ghost) { color: var(--cmb-text-muted); background: transparent; border-color: transparent; }
body.club-public-design .club-btn--danger { color: #fff; background: #ae352d; border-color: #ae352d; }
body.club-public-design :is(.club-btn--icon, .club-icon-button) { width: 44px; min-height: 44px; padding: 8px; }
body.club-public-design :is(button, .club-btn, .club-button):disabled { cursor: not-allowed; opacity: .55; transform: none; }

/* One input recipe; excludes honeypots, native checks, radios and hidden fields. */
body.club-page.club-public-design:where(:not(.club-stock-compact):not(.club-storefront-page)) :where(.club-input, .club-select, .club-textarea, form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=file]):not(.club-vehicle-detail-honeypot), form select, form textarea) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 11px 12px;
  border: 1px solid var(--cmb-border);
  border-radius: var(--cmb-radius-control);
  color: var(--cmb-text);
  background: #fff;
  box-shadow: none;
  font: 400 16px/1.4 var(--cmb-font);
}
body.club-page.club-public-design form textarea { min-height: 112px; resize: vertical; }
body.club-page.club-public-design :is(input, select, textarea):focus { border-color: var(--cmb-orange); }
body.club-public-design :is(input, textarea)::placeholder { color: var(--cmb-text-muted); opacity: 1; }
body.club-public-design :is(.club-form-field, .club-form-group) { display: grid; gap: var(--cmb-space-2); min-width: 0; }
body.club-public-design form label { color: var(--cmb-text); font: 600 14px/1.45 var(--cmb-font); }
body.club-public-design :is(.club-form-help, .club-field-help) { color: var(--cmb-text-muted); font-size: 13px; line-height: 1.45; }
body.club-public-design :is(.club-form-error, .club-field-error) { color: #a3311f; font-size: 13px; }
body.club-public-design :is(.club-checkbox, .club-vehicle-detail-consent) { display: flex; align-items: flex-start; gap: 10px; }
body.club-public-design input:is([type=checkbox], [type=radio]) { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; accent-color: var(--cmb-orange); }
body.club-public-design :is(.club-password-input, .club-password-field) input { padding-right: 48px !important; }

body.club-page.club-public-design :is(.club-card, .club-auth-card, .club-detail-card, .club-return-card, .club-activation-card, .club-benefit-card, .club-empty-state) {
  border: 1px solid var(--cmb-border);
  border-radius: var(--cmb-radius-card);
  color: var(--cmb-text);
  background: #fff;
  box-shadow: none;
}
body.club-page.club-public-design :is(.club-badge, .club-status-pill, .club-section-label, .club-area-hub__badge, .club-member-app__status) { border-radius: var(--cmb-radius-small); font: 600 12px/1.35 var(--cmb-font); }
body.club-public-design :is(.club-alert, .club-flash, .flash-message, .advertiser-payment-alert, .club-vehicle-detail-notice) {
  padding: var(--cmb-space-4);
  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);
  box-shadow: none;
  font-size: 14px;
  line-height: 1.55;
}
body.club-public-design :is(.club-alert--success, .club-flash-success, .flash-success) { border-color: var(--cmb-success-border); border-left-color: var(--cmb-success); color: var(--cmb-success-ink); background: var(--cmb-success-soft); }
body.club-public-design :is(.club-alert--error, .club-flash-error, .flash-error) { border-color: #e8bdb5; border-left-color: #ae352d; color: #92382a; background: #fff4f1; }
body.club-public-design .club-accordion { border: 1px solid var(--cmb-border); border-radius: var(--cmb-radius-card); background: #fff; }
body.club-public-design .club-accordion > summary { padding: 16px; color: var(--cmb-text); font-weight: 650; cursor: pointer; }
body.club-public-design .club-modal { max-width: calc(100vw - 32px); border: 1px solid var(--cmb-border); border-radius: var(--cmb-radius-card); background: #fff; box-shadow: var(--cmb-shadow-overlay); }
body.club-page.club-public-design .club-status-message { display: block; text-align: center; }
body.club-public-design .club-status-message h2 { margin: 0 0 12px; font-size: 26px; line-height: 1.2; }
body.club-public-design .club-status-message p { margin: 0 0 24px; font-weight: 400; }
body.club-public-design .club-status-message .club-btn { width: 100%; }
body.club-public-design .club-status-icon { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 24px; border-radius: var(--cmb-radius-card); color: var(--cmb-orange); background: var(--cmb-orange-soft); }
body.club-public-design .club-status-icon.is-success { color: var(--cmb-success-ink); background: var(--cmb-success-soft); }
body.club-public-design .club-status-icon.is-error { color: #ae352d; background: #fff4f1; }
body.club-public-design .club-status-icon svg { width: 28px; height: 28px; }

/* Header variants share geometry, keeping their existing actions and menus. */
body.club-public-design .club-public-header {
  position: sticky;
  top: 0;
  z-index: 40;
  min-height: var(--cmb-header-height);
  border-color: var(--cmb-border);
  background: var(--cmb-surface);
  box-shadow: none;
}
body.club-public-design .club-public-header__inner { min-height: var(--cmb-header-height); }
body.club-public-design .club-public-header__brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  gap: 10px;
  color: var(--cmb-text);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.025em;
}
body.club-public-design .club-public-header__logo { border-radius: var(--cmb-radius-control); }
body.club-public-design .club-public-header__actions { display: flex; align-items: center; gap: var(--cmb-space-3); }
body.club-public-design .club-public-header:not(:has(.club-public-header__actions > a)) .club-public-header__brand-name { max-width: none; white-space: nowrap; }
body.club-public-design .club-public-header__account {
  width: var(--cmb-control-height);
  min-height: var(--cmb-control-height);
  border-color: var(--cmb-border);
  border-radius: var(--cmb-radius-control);
  color: var(--cmb-text);
  background: #fff;
}


@media (max-width: 699px) {
  body.club-public-design .club-public-header__brand { gap: var(--cmb-space-2); font-size: 14px; }
  body.club-public-design .club-public-header__logo { width: 32px; height: 32px; }
  body.club-public-design .club-public-header__inner { gap: var(--cmb-space-2); }
  body.club-public-design .club-public-header__brand-name { display: block; max-width: 90px; overflow: visible; white-space: normal; line-height: 1.15; }
  body.club-public-design .club-public-header__actions { gap: var(--cmb-space-2); }
}
/* Reserve a reachable end-of-page area below the floating launcher. */
body.club-public-design:has(.public-ai-chat) { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
body.club-public-design .club-public-footer,
body.club-public-design .club-public-footer__bottom { background: var(--cmb-graphite); }
body.club-public-design .club-public-footer { margin-top: 0; }
body.club-public-design .club-public-footer .container { width: min(var(--cmb-container-catalog), calc(100% - var(--cmb-gutter) * 2)); max-width: none; margin-inline: auto; padding-inline: 0; }
body.club-public-design .club-public-footer__socials a { width: var(--cmb-control-height); height: var(--cmb-control-height); border-radius: var(--cmb-radius-control); }
body.club-public-design .club-public-footer__notice { border-color: rgba(255, 255, 255, .2); border-radius: var(--cmb-radius-card); }


@media (max-width: 899px) {
  body.club-public-design .club-public-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cmb-space-6) var(--cmb-space-5); }
  body.club-public-design .club-public-footer__brand { grid-column: 1 / -1; }
}
body.club-public-design :is(.club-public-header, .club-member-topbar, .club-member-app__topbar, .club-topbar, .club-advertiser-header, .advertiser-payment-top, .club-checkout-header) { min-height: var(--cmb-header-height); color: var(--cmb-text); background: var(--cmb-surface); border-bottom: 1px solid var(--cmb-border); box-shadow: none; }
body.club-public-design :is(.club-public-header__inner, .club-member-topbar__inner, .club-member-app__topbar-inner, .club-topbar .club-nav) { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: min(var(--cmb-container-catalog), calc(100% - var(--cmb-gutter) * 2)); max-width: none; min-height: var(--cmb-header-height); margin-inline: auto; padding-inline: 0; }
body.club-public-design :is(.club-public-header__brand, .club-brand, .club-member-app__brand, .advertiser-payment-brand, .club-checkout-brand) { color: var(--cmb-text); font: 600 15px/1.2 var(--cmb-font); text-decoration: none; }
body.club-public-design :is(.club-public-header__logo, .store-header-logo, .club-member-app__brand img, .club-checkout-brand-logo) { width: 36px; height: 36px; object-fit: contain; border-radius: var(--cmb-radius-control); box-shadow: none; }
body.club-public-design :is(.club-brand .brand-title, .club-checkout-brand span, .club-member-app__brand span) { color: var(--cmb-text); }
body.club-public-design .club-global-user-menu__trigger { min-height: var(--cmb-control-height); border-radius: var(--cmb-radius-control); color: var(--cmb-text); background: #fff; border-color: var(--cmb-border); font-family: var(--cmb-font); }
body.club-public-design .club-global-user-menu__avatar { color: var(--cmb-text-muted); }
body.club-public-design .club-global-user-menu__panel { border-color: var(--cmb-border); border-radius: var(--cmb-radius-card); box-shadow: var(--cmb-shadow-overlay); }
body.club-public-design .club-topbar .pill { min-height: var(--cmb-control-height); border-radius: var(--cmb-radius-control); font: 600 14px/1.4 var(--cmb-font); box-shadow: none; }
body.club-public-design .club-public-header__stock { min-height: 44px; padding: 12px 16px; border: 1px solid var(--cmb-border); border-radius: var(--cmb-radius-control); color: var(--cmb-text); background: #fff; font: 650 14px/1.3 var(--cmb-font); }
@media (max-width: 640px) {
  body.club-public-design .club-public-header:has(.club-public-header__stock) .club-public-header__brand-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body.club-public-design .club-public-header__stock { padding-inline: 10px; font-size: 12px; }
}
@media (max-width: 359px) {
  body.club-public-design .club-public-header__brand-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
