/* The API form occupies the entire registration panel, not one legacy grid cell. */
.quoteLeadGate .registrationForm.websiteRegistration{grid-template-columns:minmax(0,1fr);align-content:start}
.websiteRegistration>form{width:100%}
.websiteRegistration form,.websiteTourForm{display:grid;gap:1rem;min-width:0}
.websiteRegistration label,.websiteTourForm label{display:grid;gap:.45rem;font-size:1rem;line-height:1.5;min-width:0}
.websiteRegistration input:not([type=checkbox]),.websiteTourForm select,.websiteTourForm input,.websiteTourForm textarea{box-sizing:border-box;width:100%;min-width:0;padding:.8rem;border:1px solid #63868a;border-radius:0;background:#fff;color:#103f48;font:inherit}
.websiteRegistration .websiteConsent{display:flex;align-items:flex-start;gap:.7rem;font-size:.9rem}
.websiteConsent input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin-top:.15rem;accent-color:#103f48}
.websiteRegistration button,.websiteTourForm button{padding:1rem;background:#103f48;color:#fff;border:0;font:inherit;cursor:pointer;white-space:normal}
.websiteRegistration :focus-visible,.websiteTourForm :focus-visible{outline:3px solid #a16c21;outline-offset:3px}
.websiteRegistration [role=status],.websiteSavedEstimate [role=status]{line-height:1.5;overflow-wrap:anywhere}
.websiteSavedEstimate{padding:clamp(1rem,4vw,3rem);margin-top:2rem;background:#f2f0e9;color:#103f48;min-width:0;overflow-wrap:anywhere}
.websiteSavedEstimate h2{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.4rem)}
.websiteSavedEstimate [disabled],.websiteRegistration [disabled]{opacity:.65;cursor:wait}
.websiteSavedEstimate[hidden]{display:none}

/* A distinct, calm summary above the contact fields. */
.quoteLeadGate .eventDetailsCard{box-sizing:border-box;min-width:0;padding:clamp(18px,2.5vw,26px);border:1px solid #c9b78f;border-left:4px solid #ad8848;border-radius:14px;background:#f0eadc;color:#103f48;box-shadow:0 3px 12px rgb(16 63 72 / 5%);transition:background-color .2s ease,box-shadow .2s ease;overflow-wrap:anywhere}
.quoteLeadGate .eventDetailsCard .eyebrow{margin:0 0 12px;color:#675536;font-size:11px;line-height:1.5;letter-spacing:.16em}
.quoteLeadGate .eventDetailsCard [data-confirmed-event]{margin:0;font-family:Georgia,serif;font-size:clamp(20px,2vw,25px);line-height:1.4;color:#103f48}
.quoteLeadGate .eventDetailsCard [data-confirmed-date]{margin:8px 0 0;color:#445c5e;font-size:14px;line-height:1.6}
.quoteLeadGate .eventDetailsCard .reviseEventDetails{display:inline-block;margin-top:12px;padding:6px 0;text-underline-offset:3px}
.quoteLeadGate .eventDetailsCard:focus-within{background:#e9e2d2;box-shadow:0 6px 18px rgb(16 63 72 / 10%)}
@media(hover:hover){.quoteLeadGate .eventDetailsCard:hover{background:#e9e2d2;box-shadow:0 6px 18px rgb(16 63 72 / 10%)}}
@media(prefers-reduced-motion:reduce){.quoteLeadGate .eventDetailsCard{transition:none}}


/* Quote confirmation precedes comparison; the tour is the next primary action. */
.websiteSavedEstimate{padding:0;background:transparent;margin-top:2rem}
.quoteSaveFeedback,.tourPreferencesPanel{padding:clamp(1rem,4vw,3rem);background:#f2f0e9;color:#103f48}
.quoteSaveFeedback h2{margin-top:0}
.tourPreferencesPanel{margin-top:2rem}
.websiteSavedEstimate [hidden]{display:none!important}
.postMarketQuoteAction{text-align:center;margin:2rem 0}
.postMarketQuoteAction button,.tourPreferencesPanel form button{display:block;width:min(100%,38rem);margin:0 auto;padding:1.15rem 1.5rem;background:#c4a264;color:#103f48;border:2px solid #c4a264;font:inherit;font-weight:700;letter-spacing:.035em;text-transform:uppercase;white-space:normal;cursor:pointer;min-height:48px}
.postMarketQuoteAction[hidden]{display:none}
.postMarketQuoteAction button:focus-visible,.tourPreferencesPanel form button:focus-visible{outline:3px solid #103f48;outline-offset:4px}
.postMarketQuoteAction button:disabled{opacity:.6;cursor:wait}

.plannerResume{box-sizing:border-box;min-width:0;margin:0 0 28px;padding:clamp(18px,3vw,28px);border-left:4px solid #ad8848;background:#f0eadc;color:#103f48;overflow-wrap:anywhere}
.plannerResume h2{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(22px,3vw,30px);line-height:1.3}
.plannerResume p{font-size:15px;line-height:1.6;margin:10px 0}
.plannerResume button{min-height:44px;padding:10px 16px;border:1px solid #103f48;background:white;color:#103f48;cursor:pointer}
.plannerResume button:focus-visible{outline:3px solid #ad8848;outline-offset:3px}

.plannerResume form {display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.plannerResume label {display:grid;gap:6px;flex:1 1 230px;min-width:0}
.plannerResume input {box-sizing:border-box;width:100%;padding:12px;border:1px solid #9caeaa;border-radius:4px;background:white;color:#173e48;font:inherit}
.plannerResume form button {white-space:normal;max-width:100%}

/* Resume spans the grid instead of displacing the contact panel into a new row. */
.estimatorStandalone .quoteLeadGate{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
.quoteLeadGate>.registrationResume{grid-column:1/-1;margin:0;padding:20px 28px;border-left:0;border-bottom:1px solid #c9b78f;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:center}
.quoteLeadGate>.registrationResume h2{font-size:clamp(22px,2vw,28px);margin:0 0 6px}
.quoteLeadGate>.registrationResume>p:not([role=status]){grid-column:1;margin:0;font-size:14px}
.quoteLeadGate>.registrationResume form{grid-column:2;grid-row:1/3;gap:10px}
.quoteLeadGate>.registrationResume [role=status]{grid-column:1/-1;margin-bottom:0}
.quoteLeadGate>.registrationResume [role=status]:empty{display:none}
.quoteLeadGate .gateVisual{min-height:0;height:auto;align-self:stretch;position:relative}
.quoteLeadGate .gateVisual:after{background:linear-gradient(#072a307d,#072a30dc)}
.quoteLeadGate .gateVisual>div{position:relative;inset:auto;padding:clamp(24px,3vw,42px)}
.quoteLeadGate .gateVisual h3{font-size:clamp(30px,3.4vw,48px);line-height:1.1;margin:16px 0}
.quoteLeadGate .gateVisual p:not(.eyebrow){font-size:15px;line-height:1.6}
.quoteLeadGate .registrationForm.websiteRegistration{padding:24px;gap:16px}
.quoteLeadGate .websiteRegistration>p{margin:0}
.quoteLeadGate #websiteEstimateRegistration{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quoteLeadGate #websiteEstimateRegistration .websiteConsent,.quoteLeadGate #websiteEstimateRegistration>button,.quoteLeadGate #websiteEstimateRegistration>[role=status]{grid-column:1/-1}
.quoteLeadGate .eventDetailsCard{padding:18px;border-radius:8px;box-shadow:none}
.quoteLeadGate .eventDetailsCard .eyebrow{margin-bottom:6px}
.quoteLeadGate .eventDetailsCard .reviseEventDetails{min-height:44px;margin:4px 0 0;padding:8px 0;background:transparent;color:#103f48;text-decoration:underline;text-align:left}
.quoteLeadGate .registrationEventEditor{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quoteLeadGate .registrationEventEditor label:last-of-type{grid-column:1/-1}
@media(max-width:900px){
 .estimatorStandalone .quoteLeadGate{grid-template-columns:1fr}
 .quoteLeadGate>.registrationResume{grid-template-columns:1fr;padding:20px}
 .quoteLeadGate>.registrationResume form{grid-column:1;grid-row:auto;margin-top:14px}
 .quoteLeadGate .gateVisual{align-self:auto}
 .quoteLeadGate .gateVisual>div{padding:24px}
}
@media(max-width:480px){
 .quoteLeadGate .registrationForm.websiteRegistration{padding:16px}
 .quoteLeadGate #websiteEstimateRegistration,.quoteLeadGate .registrationEventEditor{grid-template-columns:1fr}
 .quoteLeadGate>.registrationResume form button{width:100%}
}
