[hidden] { display:none !important; }
.checkout-main { max-width:1280px; margin:0 auto; padding:150px 36px 90px; }
.checkout-heading { max-width:820px; margin-bottom:40px; }
.checkout-heading h1 { font:500 clamp(38px,4.5vw,64px)/1.05 var(--serif); letter-spacing:-.04em; color:var(--burgundy); margin:16px 0 22px; }
.checkout-heading p:not(.section-label) { font-size:17px; line-height:1.7; color:var(--muted); }
.checkout-layout,.owner-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr); gap:28px; align-items:start; }
.checkout-summary,.checkout-payment,.checkout-lookup { padding:32px; border:1px solid var(--line); background:#fffaf3; min-width:0; }
.checkout-summary h2,.checkout-payment h2,.recent-checkouts h2 { font:500 32px/1.18 var(--serif); color:var(--burgundy); margin:16px 0 24px; }
.checkout-summary h3 { font:500 22px/1.3 var(--serif); color:var(--burgundy); margin-top:32px; }
.checkout-summary p,.checkout-payment p { font-size:16px; line-height:1.75; }
.checkout-payment { background:#efe6d6; }
.quote-topline { display:flex; justify-content:space-between; gap:12px; color:var(--burgundy); font-size:13px; letter-spacing:.05em; }
.quote-status { text-transform:capitalize; }
.trip-facts { display:flex; flex-wrap:wrap; gap:28px; padding:22px 0; border-block:1px solid var(--line); }
.trip-facts dt { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:8px; }
.trip-facts dd { margin:0; font-size:16px; }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.quote-terms { margin-top:32px; border-top:1px solid var(--line); padding-top:24px; }
.quote-terms summary { cursor:pointer; font-size:16px; font-weight:600; color:var(--burgundy); }
.payment-breakdown { margin:25px 0; }
.payment-breakdown div { display:flex; justify-content:space-between; gap:16px; padding:14px 0; font-size:15px; }
.payment-breakdown dd { margin:0; font-weight:600; white-space:nowrap; }
.payment-breakdown .due-now { font-size:22px; color:var(--burgundy); border-block:1px solid rgba(91,8,39,.25); }
.quote-acceptance { display:flex; gap:12px; align-items:flex-start; font-size:14px; line-height:1.65; margin:28px 0; }
.quote-acceptance input { width:18px; height:18px; min-width:18px; margin-top:4px; accent-color:var(--burgundy); }
#pay-button { width:100%; justify-content:center; }
button:disabled { opacity:.5; cursor:not-allowed; }
.checkout-help { display:block; margin-top:28px; font-size:14px; text-decoration:underline; color:var(--burgundy); }
.checkout-message:not(:empty) { padding:18px 22px; border-left:3px solid var(--gold); background:#eae0cf; color:var(--burgundy); font-size:15px; line-height:1.65; margin:0 0 28px; }
.checkout-error { color:#9c1c2b; font-size:14px; }
.checkout-lookup { max-width:720px; }.checkout-lookup form { display:grid; gap:20px; }.checkout-lookup p { line-height:1.7; font-size:15px; }.checkout-lookup a { text-decoration:underline; }
.owner-main { max-width:1360px; }.owner-layout .service-field { font-size:14px; }.owner-layout textarea { min-height:130px; }.owner-layout .checkout-payment .service-field { margin-bottom:20px; }.owner-layout hr { margin:32px 0; border:0; border-top:1px solid var(--line); }
.created-checkout { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.recent-checkouts { margin-top:60px; }.quote-list-row { display:grid; grid-template-columns:1fr auto; gap:16px; padding:20px 0; border-bottom:1px solid var(--line); }.quote-list-row strong { display:block; color:var(--burgundy); }.quote-list-row small { display:block; margin-top:8px; font-size:13px; }.quote-list-row a { color:var(--burgundy); text-decoration:underline; }
@media(max-width:900px) { .checkout-layout,.owner-layout { grid-template-columns:1fr; }.checkout-main { padding:122px 22px 64px; } }
@media(max-width:600px) { .checkout-summary,.checkout-payment,.checkout-lookup { padding:24px; }.checkout-main { padding-inline:16px; }.quote-list-row { grid-template-columns:1fr; }.payment-breakdown .due-now { font-size:20px; } }
