/* Powersport Appraisals — Gravity Forms light redesign
 * Add this file through your child theme, a custom CSS plugin, or Appearance > Additional CSS.
 */
.ppa-quote-form.gform_wrapper, .gform_wrapper.ppa-quote-form_wrapper { max-width: 1120px; margin: 0 auto; color: #252a30; font-family: inherit; }
.ppa-quote-form .gform_heading { margin-bottom: 2rem; }
.ppa-quote-form .gform_title { color: #252a30; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; letter-spacing: -.04em; }
.ppa-quote-form .gform_description { color: #65707a; font-size: 1.05rem; line-height: 1.6; }
.ppa-quote-form .gform_page { background: #fff; border: 1px solid #d9dee3; border-radius: 10px; box-shadow: 0 12px 35px rgba(37,42,48,.08); padding: clamp(1.25rem, 4vw, 2.5rem); }
.ppa-quote-form .gform_page_fields { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.2rem 1rem; }
.ppa-quote-form .gfield { grid-column: span 12; margin: 0; padding: 0; }
.ppa-quote-form .gfield.ppa-half { grid-column: span 6; }
.ppa-quote-form .gfield.ppa-third { grid-column: span 4; }
.ppa-quote-form .gfield.ppa-quarter { grid-column: span 3; }
.ppa-quote-form .gfield_label { color: #252a30; font-size: .8rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.ppa-quote-form .gfield_required { color: #c7252d; }
.ppa-quote-form input:not([type=radio]):not([type=checkbox]):not([type=file]), .ppa-quote-form select, .ppa-quote-form textarea { width: 100%; border: 1px solid #cbd2d8; border-radius: 6px; background: #f7f8f9; color: #252a30; padding: .8rem .9rem; font-size: 1rem; transition: border-color .2s, box-shadow .2s, background .2s; }
.ppa-quote-form input:focus, .ppa-quote-form select:focus, .ppa-quote-form textarea:focus { border-color: #c7252d; background: #fff; box-shadow: 0 0 0 3px rgba(199,37,45,.15); outline: 0; }
.ppa-quote-form textarea { min-height: 7rem; resize: vertical; }
.ppa-quote-form .gchoice { display: inline-flex; align-items: center; gap: .5rem; margin: .25rem .8rem .25rem 0; }
.ppa-quote-form .gchoice label { color: #3e464e; }
.ppa-quote-form .ppa-choice-cards .gfield_radio { display: flex; flex-wrap: wrap; gap: .7rem; }
.ppa-quote-form .ppa-choice-cards .gchoice { margin: 0; }
.ppa-quote-form .ppa-choice-cards .gchoice label { display: block; border: 1px solid #cbd2d8; border-radius: 6px; background: #f7f8f9; padding: .75rem 1rem; cursor: pointer; font-weight: 650; }
.ppa-quote-form .ppa-choice-cards .gchoice input { position: absolute; opacity: 0; }
.ppa-quote-form .ppa-choice-cards .gchoice input:checked + label { border-color: #c7252d; background: #fff1f2; color: #a51e25; box-shadow: inset 0 0 0 1px #c7252d; }
.ppa-quote-form .gform_page_footer { display: flex; justify-content: space-between; gap: .75rem; border-top: 1px solid #e5e8eb; margin-top: 2rem; padding-top: 1.5rem; }
.ppa-quote-form .gform_page_footer input[type=button], .ppa-quote-form .gform_page_footer input[type=submit] { border: 0; border-radius: 6px; background: #c7252d; color: #fff; cursor: pointer; font-weight: 750; padding: .85rem 1.35rem; transition: background .2s, transform .2s; }
.ppa-quote-form .gform_page_footer input[type=button]:hover, .ppa-quote-form .gform_page_footer input[type=submit]:hover { background: #a51e25; transform: translateY(-1px); }
.ppa-quote-form .gform_page_footer .gform_previous_button { background: #eef0f2; color: #3e464e; }
.ppa-quote-form .gform_page_footer .gform_previous_button:hover { background: #dfe3e7; }
.ppa-quote-form .gform_page_fields:before { content: attr(data-step-title); grid-column: 1 / -1; color: #c7252d; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ppa-quote-form .validation_message { color: #b51f27; font-size: .85rem; font-weight: 650; }
.ppa-quote-form .gform_validation_errors { border-color: #c7252d; background: #fff1f2; color: #7f1d1d; }
.ppa-quote-form .ppa-upload-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .75rem; margin-top: .75rem; }
.ppa-quote-form .ppa-upload-preview img { aspect-ratio: 4 / 3; width: 100%; border: 1px solid #d9dee3; border-radius: 6px; object-fit: cover; }
.ppa-quote-form .ppa-vin-field input { border-color: #c7252d; background: #fff8f8; }
@media (max-width: 700px) { .ppa-quote-form .gfield.ppa-half, .ppa-quote-form .gfield.ppa-third, .ppa-quote-form .gfield.ppa-quarter { grid-column: span 12; } .ppa-quote-form .gform_page_footer { flex-direction: column-reverse; } .ppa-quote-form .gform_page_footer input { width: 100%; } }
