.quick-task-page { background:#f7f6f0; }
.quick-task-header { background:#f7f6f0; }
.quick-task-page [hidden] { display:none !important; }
.quick-task-page a:focus-visible,.quick-task-page button:focus-visible { outline:3px solid #7eaa8a; outline-offset:4px; }
.quick-task-page .nav-action { border-radius:8px; }
.qt-start { max-width:1120px; margin:48px auto 0; padding:0 24px; }
.qt-start h1,.qt-quote-shell h1 { margin:12px 0; font:500 clamp(2.15rem,4vw,3.6rem)/1.1 var(--serif); letter-spacing:-.035em; }
.qt-lead { margin:12px 0; font:400 1.12rem/1.5 var(--sans); color:#4d5c50; }
.qt-reassurance { margin:10px 0 28px; color:#526454; font-size:.87rem; line-height:1.5; }
.qt-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:28px 0 36px; }
.qt-service { overflow:hidden; border:1px solid #dde2d7; border-radius:18px; background:#fff; text-decoration:none; transition:box-shadow .18s,border-color .18s; }
.qt-service:hover { border-color:#789681; box-shadow:0 8px 24px #24402b12; }
.qt-art { height:136px; display:grid; place-items:center; background:#e6eddf; color:#355b44; }
.qt-art svg { width:170px; height:110px; }
.qt-art-junk-removal { background:#f2e7d7; color:#8b6138; }
.qt-art-dog-walking { background:#e6ebf1; color:#516b7b; }
.qt-service-body { padding:24px; }
.qt-service h2 { margin:0 0 12px; font:600 1.5rem/1.2 var(--sans); letter-spacing:-.04em; }
.qt-service p { margin:0; min-height:68px; font-size:.95rem; line-height:1.55; color:#536056; }
.qt-card-action { display:flex; align-items:center; justify-content:space-between; margin-top:22px; font-size:.92rem; font-weight:700; color:#315f45; }
.qt-card-action span { font-size:1.4rem; }
.qt-process { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; padding:28px 0; border-top:1px solid #dce1d7; }
.qt-process>div { display:flex; gap:12px; }
.qt-process>div>span { flex:none; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#e6eddf; font-size:.8rem; }
.qt-process p { margin:0; font-size:.82rem; line-height:1.6; color:#526454; }
.qt-process strong { display:block; color:#213e2b; font-size:.9rem; }
.qt-footnote { color:#657064; font-size:.82rem; }
.qt-quote-shell { max-width:800px; margin:32px auto 0; padding:0 24px; }
.qt-back { display:inline-block; margin-bottom:24px; font-size:.87rem; color:#49624f; text-decoration:none; }
.qt-quote-shell .eyebrow { margin:0; }
.qt-quote-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; padding:28px; border:1px solid #dce1d7; border-radius:16px; background:#fff; }
.qt-wide,.qt-form-heading,.qt-quote-form>.errorlist { grid-column:1/-1; }
.qt-form-heading { margin:12px 0 0; padding-top:24px; border-top:1px solid #e4e8df; font:600 1.12rem/1.4 var(--sans); letter-spacing:-.02em; }
.qt-form-heading:first-of-type { margin:0; padding:0; border:0; }
.quick-task-page .field-group label,.qt-choice-group legend { font:600 .9rem/1.5 var(--sans); letter-spacing:0; text-transform:none; }
.quick-task-page .field-group input:not([type=checkbox]):not([type=radio]),.quick-task-page .field-group select { min-height:52px; border:1px solid #b9c5b9; background:#fff; border-radius:8px; font:400 16px/1.4 var(--sans); padding:12px; }
.quick-task-page .field-group select { padding-right:30px; }
.quick-task-page .field-help { color:#667366; font-size:.8rem; margin-top:6px; }
.qt-choice-group { margin:0; padding:0; border:0; min-width:0; }
.qt-choice-group legend { margin-bottom:10px; }
.qt-choice-options { display:grid; gap:10px; }
.qt-choice-options label { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid #cbd5c9; border-radius:8px; cursor:pointer; font-size:.9rem; line-height:1.5; }
.qt-choice-options label:has(input:checked) { background:#edf4e9; border-color:#315f45; }
.qt-choice-options input { accent-color:#315f45; width:18px; height:18px; flex:none; }
.quick-task-page .quick-task-checkbox-control { width:100%; border:1px solid #cbd5c9; border-radius:8px; background:#f6f8f3; padding:16px; }
.quick-task-page .quick-task-checkbox-control input[type=checkbox] { appearance:auto; accent-color:#315f45; border-radius:4px; box-shadow:none; }
.quick-task-page .form-action,.quick-task-page .primary-action { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:52px; padding:14px 24px; border:0; border-radius:9px; background:#315f45; color:white; font:600 .95rem/1.4 var(--sans); text-decoration:none; box-shadow:none; transform:none; cursor:pointer; }
.quick-task-page .form-action:hover,.quick-task-page .primary-action:hover { background:#214432; box-shadow:none; transform:none; }
.qt-form-footer { padding-top:20px; border-top:1px solid #e4e8df; }
.qt-form-footer p { margin:12px 0 0; font-size:.8rem; color:#63715f; line-height:1.5; }
.qt-search-area { position:relative; }
.quick-task-page .quick-task-location-results { top:calc(100% + 6px); border:1px solid #c5d0c1; border-radius:10px; box-shadow:0 10px 28px #17321e20; max-height:320px; overflow-y:auto; }
.quick-task-page .quick-task-location-option { padding:14px; }
.quick-task-page .quick-task-location-option[aria-selected=true] { background:#e6eddf; }
.quick-task-page .quick-task-location-option span { font:400 .84rem/1.4 var(--sans); }
.qt-search-status { font-size:.8rem; color:#536454; margin:0; }
.qt-search-status:empty { display:none; }
.qt-item-picker > label { display:block; margin-bottom:7px; font:600 .9rem/1.5 var(--sans); }
.qt-item-search-wrap { position:relative; }
.qt-item-search-wrap input { width:100%; min-height:52px; padding:12px; border:1px solid #b9c5b9; border-radius:8px; background:#fff; font:400 16px/1.4 var(--sans); }
.qt-item-search-wrap input:focus { border-color:var(--moss); outline:3px solid rgba(49,95,69,.15); }
.qt-item-results { position:absolute; z-index:65; top:calc(100% + 6px); right:0; left:0; overflow:auto; max-height:300px; border:1px solid #c5d0c1; border-radius:10px; background:#fff; box-shadow:0 10px 28px #17321e20; }
.qt-item-option { display:block; width:100%; padding:13px 14px; border:0; border-bottom:1px solid #edf0e9; background:#fff; color:var(--ink); font:500 .92rem/1.4 var(--sans); text-align:left; cursor:pointer; }
.qt-item-option:hover,.qt-item-option:focus-visible { background:#edf4e9; outline:0; }
.qt-selected-items { display:grid; gap:8px; margin-top:12px; }
.qt-item-chip { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; border:1px solid #b6c9ae; border-radius:8px; background:#eef4e9; }
.qt-item-chip strong { font:600 .9rem/1.4 var(--sans); }
.qt-item-quantity { display:flex; align-items:center; gap:6px; }
.qt-item-quantity button { width:28px; height:28px; border:1px solid #9aaf9b; border-radius:50%; background:#fff; color:#315f45; font:600 1.15rem/1 var(--sans); cursor:pointer; }
.qt-item-quantity span { min-width:16px; font-size:.9rem; font-weight:700; text-align:center; }
.qt-selected-location { display:flex; align-items:start; gap:14px; justify-content:space-between; padding:16px; background:#eef4e9; border:1px solid #b6c9ae; border-radius:9px; }
.qt-selected-location strong,.qt-selected-location span { display:block; font-size:.94rem; line-height:1.55; overflow-wrap:anywhere; }
.qt-selected-location span { color:#52634f; }
.qt-selected-location button { flex:none; padding:4px 0; border:0; background:none; color:#315f45; font:600 .85rem var(--sans); text-decoration:underline; cursor:pointer; }
.qt-price-panel { background:#e6eddf; border-radius:16px; padding:28px; margin:24px 0; }
.qt-price-panel p { margin:0; font-size:.94rem; line-height:1.5; color:#3e5844; }
.qt-total { display:block; margin:8px 0 12px; font:600 clamp(3rem,7vw,4.4rem)/1.1 var(--sans); letter-spacing:-.06em; }
.qt-summary { padding:28px; border:1px solid #dce1d7; border-radius:16px; background:#fff; }
.qt-summary h2,.qt-continue h2 { margin:0 0 22px; font:600 1.2rem/1.4 var(--sans); }
.qt-route>div { display:flex; align-items:start; gap:14px; }
.qt-route p { margin:0 0 20px; font-size:.95rem; line-height:1.6; }
.qt-route strong,.qt-route p span { display:block; }
.qt-route-dot { flex:none; width:10px; height:10px; border:2px solid #315f45; border-radius:50%; margin-top:7px; }
.qt-details { margin:8px 0 20px; border-top:1px solid #e4e8df; }
.qt-details>div { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:12px 0; border-bottom:1px solid #edf0e9; font-size:.88rem; line-height:1.5; }
.qt-details dt { color:#5e6b5f; }
.qt-details dd { margin:0; text-align:right; }
.qt-edit { color:#315f45; font-size:.9rem; font-weight:600; }
.qt-continue { margin-top:28px; }
.qt-continue h2 { margin-bottom:8px; }
.qt-continue p { line-height:1.6; font-size:.94rem; }
@media(max-width:700px) {
 .qt-start { margin-top:28px; padding:0 20px; }
 .qt-services { grid-template-columns:1fr; gap:14px; margin-top:24px; }
 .qt-service { display:grid; grid-template-columns:90px 1fr; border-radius:12px; }
 .qt-art { height:100%; min-height:155px; }
 .qt-art svg { width:82px; }
 .qt-service-body { padding:18px; }
 .qt-service h2 { font-size:1.13rem; margin-bottom:7px; }
 .qt-service p { min-height:0; font-size:.86rem; line-height:1.45; }
 .qt-card-action { margin-top:12px; font-size:.86rem; }
 .qt-process { grid-template-columns:1fr; gap:18px; }
 .qt-quote-shell { margin:22px auto 0; padding:0 16px; }
 .qt-quote-form { padding:20px 16px; gap:20px; grid-template-columns:1fr; }
 .qt-form-heading { padding-top:20px; }
 .qt-back { margin-bottom:20px; }
 .qt-form-footer .form-action,.qt-continue .primary-action,.qt-continue .form-action { width:100%; }
 .qt-price-panel,.qt-summary { padding:22px 20px; }
 .qt-details>div { gap:14px; }
}
@media(prefers-reduced-motion:reduce) { .qt-service { transition:none; } }
.qt-provider-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px; max-height:320px; overflow:auto; margin-top:16px; padding:4px; }
.qt-provider-items label { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid #d9e1dc; border-radius:12px; background:#fff; }
.qt-provider-items input[type="checkbox"] { appearance:auto; width:20px; height:20px; min-height:20px; flex:0 0 20px; }
.qt-provider-items [hidden], .qt-schedule-dependent[hidden] { display:none; }

.qt-price-breakdown { width:100%; max-width:500px; margin:22px auto 8px; text-align:left; }
.qt-price-breakdown > div { display:flex; justify-content:space-between; gap:24px; padding:9px 0; border-bottom:1px solid rgba(38,69,54,.14); }
.qt-price-breakdown dt, .qt-price-breakdown dd { margin:0; }
.qt-price-breakdown dd { font-weight:700; white-space:nowrap; }
.qt-price-breakdown-total { font-size:1.08rem; font-weight:800; border-bottom:0 !important; }
