/**
 * Unified funnel content column — landing, checkout, all templates.
 * Matches footer inner width (--funnel-layout-max / --funnel-layout-pad-x).
 */

body.pay-landing-body,
body.pay-funnel-body {
  --funnel-content-max: var(--funnel-layout-max, 1080px);
  --funnel-content-pad-x: var(--funnel-layout-pad-x, 20px);
}

body.pay-landing-body:has(.sw-wrap),
body.pay-funnel-body:has(.sw-wrap),
body.pay-funnel-checkout-aligned.funnel-page-shell--swipe {
  --funnel-content-pad-x: 18px;
}

/* Shell — one column for every funnel landing template */
.pay-landing-shell.funnel-page-shell {
  width: 100%;
  max-width: var(--funnel-content-max);
  margin-left: auto;
  margin-right: auto;
  padding: 24px var(--funnel-content-pad-x) 0;
  box-sizing: border-box;
}

.pay-landing-shell.funnel-page-shell:has(.plf-wrap) {
  padding: var(--funnel-split-pad-top, 32px) var(--funnel-content-pad-x)
    var(--funnel-split-pad-bottom, 24px);
}

.pay-landing-shell.funnel-page-shell--classic,
.pay-landing-shell.funnel-page-shell:has(.cl-wrap) {
  max-width: var(--funnel-content-max);
  padding: 0 var(--funnel-content-pad-x);
}

.pay-landing-shell.funnel-page-shell--swipe,
.pay-landing-shell.funnel-page-shell:has(.sw-wrap) {
  padding: 24px var(--funnel-content-pad-x) 0;
}

/* Shared inner column */
.cl-container,
.sw-container,
.pay-premium-landing,
.pay-premium-hero-inner,
.pay-premium-section,
.pay-premium-host-card,
.funnel-legal-footer__inner {
  max-width: var(--funnel-content-max);
  box-sizing: border-box;
}

.cl-container,
.sw-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* Premium digital — match shell width (was 880px) */
.pay-premium-landing {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.pay-premium-hero-inner,
.pay-premium-section {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

.pay-premium-topbar,
.pay-premium-hero,
.pay-premium-trust-strip {
  padding-left: var(--funnel-content-pad-x);
  padding-right: var(--funnel-content-pad-x);
}

/* Classic — header + sections share the same column as hero */
.cl-wrap {
  width: 100%;
}

.cl-header {
  padding-left: 0;
  padding-right: 0;
}

.cl-header .cl-container {
  padding-top: 36px;
  padding-bottom: 28px;
}

/* Page blocks inside classic: stay in column (no full-bleed breakout) */
.cl-wrap .sw-section {
  padding-top: 0;
  padding-bottom: 0;
  background: transparent;
  border-top: 1px solid #e2e8f0;
}

.cl-wrap .sw-section .sw-container {
  padding-top: 34px;
  padding-bottom: 34px;
}

.cl-wrap .sw-section.sw-section--blue,
.cl-wrap .sw-section.sw-section--white {
  background: transparent;
  color: inherit;
}

.cl-wrap .sw-section--blue .sw-kicker,
.cl-wrap .sw-section--blue .sw-p {
  color: rgba(15, 23, 42, 0.78);
}

.cl-wrap .sw-section--blue .sw-h2 {
  color: #0f172a;
}

.cl-wrap .sw-section--blue .sw-box {
  background: #f1f5f9;
  border-color: #e2e8f0;
}

.cl-wrap .sw-section--blue .sw-cta {
  background: var(--sw-accent, #7c3aed);
  color: #fff;
}

/* Swipe template inside shell */
.sw-wrap {
  width: 100%;
}

@media (max-width: 900px) {
  .cl-header .cl-container {
    padding-top: 28px;
    padding-bottom: 22px;
  }
}

@media (max-width: 760px) {
  .pay-landing-shell.funnel-page-shell,
  .pay-landing-shell.funnel-page-shell--swipe,
  .pay-landing-shell.funnel-page-shell:has(.sw-wrap) {
    padding-top: 20px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .pay-landing-shell.funnel-page-shell--classic,
  .pay-landing-shell.funnel-page-shell:has(.cl-wrap) {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 480px) {
  .pay-landing-shell.funnel-page-shell,
  .pay-landing-shell.funnel-page-shell--swipe,
  .pay-landing-shell.funnel-page-shell:has(.sw-wrap),
  .pay-landing-shell.funnel-page-shell--classic,
  .pay-landing-shell.funnel-page-shell:has(.cl-wrap) {
    padding-left: 12px;
    padding-right: 12px;
  }
}
