/* T-058 /quote - the detailed quote form. Sizes in px: the theme's root font is 10px.
   The container cannot use the theme's own form class (its script would take the form over), so the look of the Order
   form is repeated here from its computed styles: cream panel, 20px Futura, borderless white fields with an inset shadow. */
.uq { box-sizing: border-box; max-width: 760px; padding: 30px; background: #f9f9ef; color: #000; font-size: 20px; line-height: 28px; }
.uq *, .uq *::before, .uq *::after { box-sizing: border-box; }
.uq-nojs { margin: 0; }
.uq-step { display: flex; align-items: center; gap: 12px; font-size: 24px; line-height: 1.25; font-weight: 700; margin: 40px 0 16px; }
.uq-step:first-of-type { margin-top: 0; }
.uq-step span { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #c93300; color: #fff; font-size: 19px; }
.uq fieldset { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
.uq legend, .uq .form__label { display: block; padding: 0; margin: 0 0 8px; font-size: 20px; line-height: 1.35; font-weight: 400; }
.uq .form__line { display: block; margin: 0 0 20px; }
.uq .form__input { display: block; }
.uq input[type="text"], .uq input[type="tel"], .uq input[type="email"], .uq textarea { display: block; width: 100%; margin: 0; padding: 12px 14px; border: 0; border-radius: 0; background: #fff; color: #000; font: inherit; font-size: 20px; line-height: 1.3; box-shadow: inset 0 2px 5px rgba(90, 111, 153, .2), inset 0 3px 8px rgba(204, 204, 204, .067); -webkit-appearance: none; appearance: none; }
.uq textarea { min-height: 120px; resize: vertical; }
.uq input:focus-visible, .uq textarea:focus-visible { outline: 3px solid #1f2023; outline-offset: 2px; }
.uq-opts { display: flex; flex-wrap: wrap; gap: 10px; }
.uq-opt { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 18px 8px 14px; border: 1px solid #b9b9b9; border-radius: 100px; background: #fff; color: #000; font-size: 18px; line-height: 1.25; cursor: pointer; }
.uq-opt input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: #c93300; }
.uq-opt:has(input:checked) { border-color: #c93300; background: #fff3ee; box-shadow: inset 0 0 0 1px #c93300; }
.uq-opt:focus-within { outline: 3px solid #1f2023; outline-offset: 2px; }
.uq-hint { font-size: 16px; line-height: 1.45; color: #4a4a4a; margin: -8px 0 20px; }
.uq-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; align-items: end; }
.uq-photos { font-size: 18px; line-height: 1.5; background: #fff; border-left: 4px solid #c93300; padding: 14px 16px; margin: 30px 0 18px; }
.uq-err { font-size: 18px; line-height: 1.5; background: #fdecea; border-left: 4px solid #b3261e; padding: 12px 16px; margin: 0 0 18px; }
.uq [aria-invalid="true"] { outline: 2px solid #b3261e; outline-offset: 1px; }
.uq .form__agreement-warning { display: block; font-size: 14px; line-height: 1.45; margin: 0 0 16px; }
.uq .form__button { font-family: "SONGER_ SemiExpanded", Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1; padding: 16px 32px; cursor: pointer; }
.uq .form__button[disabled] { opacity: .6; cursor: default; }
.uq-done-h { font-size: 30px; line-height: 1.2; font-weight: 700; margin: 0 0 10px; outline: 0; }
.uq-done p { margin: 0 0 12px; }
.uq-reflab { margin-top: 20px !important; margin-bottom: 0 !important; font-size: 16px; color: #4a4a4a; }
.uq-ref { font-size: 40px; line-height: 1.2; font-weight: 700; letter-spacing: 3px; margin-bottom: 20px !important; }
.uq-btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0 20px !important; }
.uq-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 100px; background: #c93300; color: #fff; border: 2px solid #c93300; font-size: 19px; line-height: 1.2; text-decoration: none; text-align: center; }
.uq-btn:hover, .uq-btn:focus-visible { background: #a82a00; border-color: #a82a00; color: #fff; }
.uq-btn_alt { background: #fff; color: #a82a00; }
.uq-btn_alt:hover, .uq-btn_alt:focus-visible { background: #fff3ee; color: #a82a00; }
.uq-btn:focus-visible { outline: 3px solid #1f2023; outline-offset: 3px; }
.uq-link { margin-top: 14px; }
@media (max-width: 640px) {
    .uq { padding: 20px 16px; font-size: 18px; line-height: 26px; }
    .uq-two { grid-template-columns: 1fr; }
    .uq-step { font-size: 22px; margin-top: 34px; }
    .uq legend, .uq .form__label { font-size: 18px; }
    .uq input[type="text"], .uq input[type="tel"], .uq input[type="email"], .uq textarea { font-size: 18px; }
    .uq-opt { font-size: 17px; }
    .uq-btn { width: 100%; }
    .uq-ref { font-size: 34px; }
}
