/* Homepage quote-form widget */
.qw-widget{background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.35);max-width:640px;margin:0 auto;padding:26px 26px 24px;text-align:left}
.qw-step{margin-bottom:22px}
.qw-step-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:10px;color:#23191b}
.qw-step-num{width:20px;height:20px;flex:none;border-radius:50%;background:#d82a3a;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.qw-step-hint{color:#93858a;font-weight:400;margin-left:auto;font-size:12px}
.qw-row{display:flex;gap:10px;flex-wrap:wrap}
.qw-field{flex:1;min-width:120px}
.qw-widget input[type=text],.qw-widget input[type=tel],.qw-widget input[type=email],.qw-widget select{width:100%;font:inherit;font-size:14.5px;color:#23191b;background:#fff;border:1.5px solid #e9dfe1;border-radius:10px;padding:11px 12px;appearance:none;height:auto}
.qw-widget select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2393858a' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.qw-widget input:focus,.qw-widget select:focus,.qw-zone:focus-visible,.qw-cta:focus-visible{outline:2px solid #d82a3a;outline-offset:2px;border-color:#d82a3a}
.qw-widget input.qw-good{border-color:#2f9169}
.qw-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.qw-zone{border:1.5px solid #e9dfe1;border-radius:12px;background:#fff;padding:12px 8px 10px;text-align:center;cursor:pointer;font:inherit;color:#23191b;transition:border-color .15s ease,transform .15s ease}
.qw-zone:hover{transform:translateY(-2px)}
.qw-zone.qw-selected{border-color:#d82a3a;box-shadow:0 0 0 1px #d82a3a}
.qw-zone svg{display:block;margin:0 auto 8px}
.qw-zone-name{font-size:13px;font-weight:600}
.qw-zone-sub{font-size:11px;color:#93858a}
.qw-car-body{fill:none;stroke:#93858a;stroke-width:2.5}
.qw-car-glass{fill:#cfe4ef;stroke:#9dc4d8;stroke-width:1}
.qw-zone.qw-selected .qw-hit{fill:#d82a3a;stroke:#b81f2e}
.qw-summary{display:none;align-items:center;gap:8px;background:#fdf0f1;border:1px solid #f3c8cc;color:#5d4f52;border-radius:10px;padding:9px 12px;font-size:13px;margin-bottom:16px}
.qw-summary.qw-show{display:flex}
.qw-summary strong{color:#23191b}
.qw-cta{width:100%;font:inherit;font-size:15.5px;font-weight:700;color:#fff;background:#d82a3a;border:none;border-radius:10px;padding:14px;cursor:pointer;transition:background .15s ease}
.qw-cta:hover:not(:disabled){background:#b81f2e}
.qw-cta:disabled{opacity:.45;cursor:not-allowed}
.qw-fine{text-align:center;color:#93858a;font-size:11.5px;margin:10px 0 0}
.qw-alt{text-align:center;margin-top:14px}
.qw-alt a{color:#fff;text-decoration:underline;font-size:13.5px}
@media (prefers-reduced-motion:reduce){.qw-zone,.qw-zone:hover,.qw-cta{transition:none;transform:none}}

/* Tinted-glass variant on the damage diagrams */
.qw-car-tinted{fill:#454b54;stroke:#31363d}
.qw-zone.qw-selected .qw-car-tinted{fill:#d82a3a;stroke:#b81f2e}

/* Embedded variant: the widget as an in-page form (get-quotes) rather than a hero card */
.qw-embedded{max-width:none;box-shadow:0 1px 2px rgba(10,10,10,.06),0 8px 24px rgba(10,10,10,.06)}
.qw-embedded textarea{width:100%;font:inherit;font-size:14.5px;color:#23191b;border:1.5px solid #e9dfe1;border-radius:10px;padding:11px 12px}
.qw-embedded textarea:focus{outline:2px solid #d82a3a;outline-offset:2px;border-color:#d82a3a}

/* The hero was padded for a short headline-and-buttons block; the widget
   fills the space itself, so pull the padding way in. */
.container.landing{padding-top:4rem;padding-bottom:4rem}

/* Damage-photo upload (get-quotes page) */
.qw-photo-drop{border:1.5px dashed #e9dfe1;border-radius:12px;padding:14px;text-align:center}
.qw-photo-add{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:#5d4f52}
.qw-photo-add:hover{color:#23191b}
.qw-photo-add svg{color:#93858a}
.qw-photo-add span:not(.qw-photo-sub){font-size:13.5px;font-weight:600}
.qw-photo-sub{font-size:11px;color:#93858a}
.qw-photo-previews{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.qw-photo-previews:not(:empty){margin-top:12px}
.qw-photo-item{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid #e9dfe1;flex:none}
.qw-photo-item img{width:100%;height:100%;object-fit:cover;display:block}
.qw-photo-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:rgba(20,15,16,.65);color:#fff;border:none;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.qw-photo-remove:hover{background:#d82a3a}

/* Field-level errors, self-contained (works without Bulma's .help/.is-danger,
   e.g. inside the Filament account panel which doesn't load app.css) */
.qw-widget .help.is-danger,.qw-widget p.help{color:#d82a3a;font-size:12px;margin-top:6px;margin-bottom:0}

/* Flash message + zero-match suggestions, used where the widget is embedded
   outside the public Bulma layout (Filament account panel) */
.qw-flash{max-width:640px;margin:0 auto 16px;border-radius:10px;padding:12px 16px;font-size:14px}
.qw-flash-success{background:#eafaf1;color:#1b6e42;border:1px solid #b7e4c7}
.qw-flash-error{background:#fdf0f1;color:#8a2530;border:1px solid #f3c8cc}
.qw-suggestions{max-width:640px;margin:0 auto 20px;background:#fff;border:1px solid #e9dfe1;border-radius:12px;padding:16px 18px}
.qw-suggestions h2{font-size:15px;font-weight:700;margin:0 0 10px;color:#23191b}
.qw-suggestion{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #f1eaec}
.qw-suggestion:first-of-type{border-top:none;padding-top:0}
.qw-suggestion-name{font-weight:600;font-size:13.5px;color:#23191b}
.qw-suggestion-loc{font-size:12px;color:#93858a}
.qw-suggestion-call{background:#d82a3a;color:#fff;font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:8px;text-decoration:none;white-space:nowrap;flex:none}
