.pv-quote-form { display: grid; gap: 1.25rem; }
.pv-quote-form__section { padding: clamp(1.4rem,4vw,2.5rem); background: #fff; border: 1px solid rgba(7,59,45,.1); border-radius: 20px; box-shadow: 0 14px 38px rgba(7,59,45,.07); }
.pv-quote-form__section h2 { margin: .25rem 0 1.4rem; color: #073b2d; font-size: clamp(1.4rem,3vw,2rem); }
.pv-quote-form__step { margin: 0; color: #b99170; font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pv-quote-form__choices { display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; margin: 0 0 1.5rem; padding: 0; border: 0; }
.pv-quote-form__choices label { cursor: pointer; }
.pv-quote-form__choices input { position: absolute; opacity: 0; }
.pv-quote-form__choices span { display: block; padding: 1rem; color: #073b2d; background: #f6f3ee; border: 1px solid rgba(7,59,45,.15); border-radius: 12px; font-weight: 750; text-align: center; }
.pv-quote-form__choices input:checked + span { color: #fff; background: #073b2d; border-color: #073b2d; }
.pv-quote-form__choices input:focus-visible + span { outline: 3px solid #b99170; outline-offset: 2px; }
.pv-quote-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.pv-quote-form__grid label { display: grid; gap: .42rem; color: #073b2d; font-size: .86rem; font-weight: 750; }
.pv-quote-form__grid input:not([type="checkbox"]), .pv-quote-form__grid select, .pv-quote-form__grid textarea { box-sizing: border-box; width: 100%; padding: .85rem .9rem; color: #222a26; background: #fdfcf9; border: 1px solid rgba(7,59,45,.2); border-radius: 10px; font: inherit; }
.pv-quote-form__grid input:focus, .pv-quote-form__grid select:focus, .pv-quote-form__grid textarea:focus { border-color: #b99170; outline: 3px solid rgba(185,145,112,.2); }
.pv-quote-form__wide { grid-column: 1 / -1; }
.pv-quote-form__consent { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; }
.pv-quote-form__consent input { margin-top: .2rem; }
.pv-quote-form__honeypot { position: absolute !important; left: -10000px; }
.pv-quote-form__footer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.3rem 1.5rem; color: #fff; background: #073b2d; border-radius: 18px; }
.pv-quote-form__footer div { display: grid; }
.pv-quote-form__footer span { color: rgba(255,255,255,.75); font-size: .84rem; }
.pv-quote-form__footer button { padding: .88rem 1.25rem; color: #073b2d; background: #d9b99c; border: 0; border-radius: 999px; font: inherit; font-weight: 800; cursor: pointer; }
.pv-quote-form__footer button:disabled { opacity: .55; cursor: wait; }
.pv-quote-form__feedback.is-success, .pv-quote-form__feedback.is-error { padding: 1rem; border-radius: 12px; font-weight: 700; }
.pv-quote-form__feedback.is-success { color: #073b2d; background: #dce9df; }
.pv-quote-form__feedback.is-error { color: #7a2020; background: #f5dddd; }
@media (max-width: 640px) {
	.pv-quote-form__choices, .pv-quote-form__grid { grid-template-columns: 1fr; }
	.pv-quote-form__wide { grid-column: auto; }
	.pv-quote-form__footer { align-items: stretch; flex-direction: column; }
	.pv-quote-form__footer button { width: 100%; }
}
