/* Ascend Transaction Flow Audit v1 — contact, applications, intake, booking and payment flows. */
:root{--flow-ink:#17364d;--flow-muted:#5d7283;--flow-line:rgba(42,88,119,.15);--flow-soft:#f4f8fb;--flow-blue:#177fa9;--flow-teal:#1596a4}

:is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page,.confirmation-page,.payment-result-page,.success-page){background:linear-gradient(180deg,#eef5f9,#f8fafc 52%,#f2f6f9)!important;color:var(--flow-ink)!important}

/* Compact, calm introductions. */
:is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page) :is(.page-hero,.flow-hero,.intake-hero){
  padding:50px 0 44px!important;
  background:linear-gradient(120deg,#edf6fa,#e6f0f6 58%,#efedf7)!important;
  border-bottom:1px solid var(--flow-line)!important;
  color:var(--flow-ink)!important;
}
:is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page) :is(.page-hero,.flow-hero,.intake-hero) h1{
  color:#15394f!important;font-size:clamp(2rem,4vw,3.35rem)!important;line-height:1.04!important;max-width:850px!important;margin:8px 0 12px!important
}
:is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page) :is(.page-hero,.flow-hero,.intake-hero) p{
  color:#587082!important;font-size:1rem!important;line-height:1.58!important;max-width:780px!important
}

/* Two-column application/intake shells. */
:is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) :is(.flow,.intake-wrap){padding:38px 0 68px!important}
:is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) :is(.flow-grid,.intake-grid){gap:20px!important}
:is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) :is(.panel,.summary-card,.intake-card){
  border-radius:20px!important;border-color:var(--flow-line)!important;box-shadow:0 9px 28px rgba(19,59,85,.055)!important;background:#fff!important
}
:is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) :is(.panel,.summary-card,.intake-card){padding:23px!important}
:is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) .summary-panel,
.purchase-flow .summary-card{top:94px!important}
:is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) :is(.plan-note,.scope,.credit,.coverage-shell,.coverage-box,.assessment-block,.checkout-note,.agreement-box){
  border-radius:14px!important;background:#f5f9fb!important;border-color:#d8e4eb!important;box-shadow:none!important
}

/* Forms: predictable spacing and readable consent. */
:is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page) form{gap:13px!important}
:is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page) label{font-size:.88rem!important;color:#24475d!important}
:is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page) :is(input,select,textarea){
  margin-top:5px!important;padding:12px 13px!important;border-radius:10px!important;border-color:#c6d5df!important;background:#fff!important;color:#17364d!important
}
:is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page) textarea{min-height:118px!important}
:is(.agreement-card,.agreement-row,.check-card,.assessment-grid label,.outside-review label){line-height:1.45!important}
:is(.agreement-card,.check-card){padding:13px 14px!important;border-radius:13px!important;background:#f8fbfc!important}

/* Managed application footer should not become a black slab. */
.managed-flow .application-footer{
  padding:16px!important;border-radius:15px!important;background:linear-gradient(120deg,#e7f3f8,#edf1fa)!important;color:#294b62!important;border:1px solid #d3e2e9!important
}
.managed-flow .application-footer p{color:#526c7e!important}
.managed-flow .application-footer .btn{background:linear-gradient(135deg,#177fa9,#2f6ea2)!important;color:#fff!important}

/* Coverage/status feedback stays obvious without oversized alert blocks. */
:is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) .coverage-result{padding:10px 12px!important;border-radius:11px!important;font-size:.86rem!important;line-height:1.42!important}
:is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) .outside-review{padding:11px 12px!important;border-radius:11px!important}
.form-status,.status{font-size:.9rem!important;line-height:1.45!important}

/* Contact page: lighter info panel, still visually distinct. */
.contact-page .page-section{padding:58px 0!important}
.contact-page .contact-grid{gap:24px!important}
.contact-page .contact-info,.contact-page form{padding:24px!important;border-radius:20px!important;box-shadow:0 9px 28px rgba(16,55,83,.055)!important}
.contact-page .contact-info{
  background:linear-gradient(145deg,#2b596f,#38758a 68%,#536a8b)!important;
  color:#fff!important
}
.contact-page .contact-item{padding:12px 0!important}
.contact-page form small{font-size:.8rem!important}

/* Payment selector: compact cards and policy. */
.payments-page .page-section{padding:58px 0!important}
.payments-page .payment-grid{gap:14px!important}
.payments-page .payment-card{padding:21px!important;border-radius:18px!important;box-shadow:0 7px 24px rgba(14,51,76,.045)!important}
.payments-page .payment-card h2{font-size:1.22rem!important}
.payments-page .payment-card p{font-size:.9rem!important;line-height:1.5!important}
.payments-page .payment-policy{padding:21px!important;border-radius:18px!important}

/* Payment authorization step remains prominent but not visually heavy. */
.booking-flow .payment-step{padding:18px!important;border-radius:16px!important;background:#f2f7fa!important}
.booking-flow .authorization-note{padding:11px 13px!important;border-radius:11px!important}

/* Confirmation / success states. */
:is(.confirmation-page,.payment-result-page,.success-page) :is(.confirm,.payment-result,.thanks){padding:58px 0!important;min-height:64vh!important;background:linear-gradient(180deg,#eef5f9,#fff)!important}
:is(.confirmation-page,.payment-result-page,.success-page) :is(.confirm-card,.result-card,.thanks-card){
  max-width:740px!important;padding:30px!important;border-radius:22px!important;box-shadow:0 14px 42px rgba(12,50,78,.07)!important
}
:is(.confirmation-page,.payment-result-page,.success-page) :is(.confirm-card,.result-card,.thanks-card) h1{font-size:clamp(1.9rem,4.5vw,2.9rem)!important}
:is(.confirmation-page,.payment-result-page,.success-page) :is(.next,.result-note,.thanks-note){padding:14px!important;border-radius:13px!important;margin:18px 0!important}

@media(max-width:900px){
  :is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) :is(.flow-grid,.intake-grid){grid-template-columns:1fr!important}
  :is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) .summary-panel,
  .purchase-flow .summary-card{position:static!important}
}
@media(max-width:620px){
  :is(.contact-page,.advantage-flow,.managed-flow,.purchase-flow,.booking-flow,.payments-page) :is(.page-hero,.flow-hero,.intake-hero){padding:44px 0 38px!important}
  :is(.advantage-flow,.managed-flow,.purchase-flow,.booking-flow) :is(.panel,.summary-card,.intake-card){padding:18px!important}
  .contact-page .contact-info,.contact-page form{padding:19px!important}
  .payments-page .payment-card{padding:18px!important}
}
