/* Product selection: distinct image, identity, unit price and quantity. */
#quoteSeasons{grid-template-columns:1fr minmax(180px,240px);align-items:center;gap:14px;background:var(--bg);padding:14px 16px;border-radius:14px}
#quoteSeasons label{font-size:.85rem;font-weight:600}
#quoteSeasons select{font-size:.86rem;min-height:42px;padding:9px 12px;background:var(--surface);border-radius:10px}
#quoteProducts{gap:10px}
.quote-category{margin:16px 0 2px;font-size:.68rem;letter-spacing:.055em}
#quoteProducts .quote-product{display:grid;grid-template-columns:58px minmax(0,1fr) 126px;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
#quoteProducts .quote-product.is-selected{background:color-mix(in srgb,var(--cool-soft) 45%,var(--surface));border-color:var(--cool-ink)}
.quote-product-art{display:grid;place-items:center;width:58px;height:72px;background:var(--bg);border-radius:12px}
.quote-product-art svg{width:44px;height:62px;display:block}
.quote-product-copy{min-width:0}
#quoteProducts .quote-product h3{font:700 .94rem var(--text);line-height:1.4;margin:0}
#quoteProducts .quote-surface{font-size:.79rem;line-height:1.45;margin:5px 0 0;display:block}
.quote-product-controls{display:grid;gap:10px;justify-items:end;min-width:0}
#quoteProducts .quote-unit-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin:0;line-height:1.4}
.quote-unit-price strong{font:700 1.05rem var(--text);color:var(--fg)}
.quote-unit-price span{font-size:.65rem;color:var(--muted);white-space:nowrap}
#quoteProducts .stepper{padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface);gap:0}
#quoteProducts .stepper button{width:32px;height:34px;border-radius:8px;font-size:1.05rem;background:var(--bg)}
#quoteProducts .stepper input{width:38px;font-size:.9rem;min-height:34px}
#quoteProducts .stepper button[data-d="1"]{background:var(--cool-soft);color:var(--cool-ink)}
#quoteProducts .stepper button:hover{background:var(--cool-soft)}
.quote-power-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.68rem;margin-top:10px}
#quoteProducts .quote-power{font:500 .7rem var(--mono);min-height:34px;padding:6px 22px 6px 8px;width:auto;max-width:100%;background:var(--surface);border-radius:8px;margin:0}
@media(min-width:761px) and (max-width:1050px){#quoteProducts .quote-product{grid-template-columns:48px minmax(0,1fr) 110px;gap:10px;padding:12px}.quote-product-art{width:48px;height:64px}.quote-product-art svg{width:38px;height:54px}.quote-power-label{flex-direction:column;align-items:flex-start;gap:4px}}
@media(max-width:650px){
#quoteSeasons{grid-template-columns:1fr;padding:12px;gap:8px}#quoteSeasons select{width:100%}
#quoteProducts .quote-product{grid-template-columns:44px minmax(0,1fr);gap:10px 12px;padding:14px}
.quote-product-art{width:44px;height:60px}.quote-product-art svg{width:36px;height:52px}
#quoteProducts .quote-product h3{font-size:.9rem}
.quote-product-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:10px;width:100%}
#quoteProducts .quote-unit-price{align-items:flex-start}
.quote-power-label{flex-wrap:wrap;margin-top:8px}
}
@media(max-width:360px){.quote-product-controls{gap:8px}#quoteProducts .quote-unit-price{max-width:72px}.quote-unit-price span{white-space:normal}}
/* Budget builder: grouped rows and directly comparable commitment lengths. */
#quoteSeasons{display:block;background:var(--bg);padding:16px;border-radius:16px}
.budget-duration-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.budget-duration-heading>span{font-size:.84rem;font-weight:700}
.budget-duration-heading small{font-size:.7rem;color:var(--muted)}
.season-native-label,.season-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.budget-durations{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.budget-durations button{display:grid;gap:5px;padding:10px 5px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--fg);font-family:var(--text);cursor:pointer;min-height:60px}
.budget-durations button b{font-size:.94rem}
.budget-durations button b span{font-weight:500;font-size:.7rem}
.budget-durations button small{font-size:.67rem;color:var(--muted)}
.budget-durations button[aria-pressed=true]{background:var(--fg);color:var(--surface);border-color:var(--fg)}
.budget-durations button[aria-pressed=true] small{color:#a9ddd7}
.budget-durations button:hover{border-color:var(--cool-ink)}
.duration-hint{font-size:.73rem;line-height:1.5;color:var(--muted);margin:10px 0 0}
#quoteProducts{gap:0}
.quote-category{font-family:var(--text);font-size:.8rem;font-weight:700;text-transform:none;letter-spacing:0;padding:18px 0 10px;margin:0;border-bottom:1px solid var(--line)}
#quoteProducts .quote-product{grid-template-columns:46px minmax(0,1fr) 122px;gap:12px;padding:13px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
#quoteProducts .quote-product.is-selected{background:var(--cool-soft);border-left:3px solid var(--cool);padding-left:5px}
.quote-product-art{width:46px;height:56px;background:transparent;border-radius:0}
.quote-product-art svg{width:38px;height:54px}
#quoteProducts .quote-product h3{font-size:.89rem}
#quoteProducts .quote-surface{font-size:.74rem;margin-top:3px}
.quote-product-controls{gap:7px}
#quoteProducts .quote-unit-price strong{font-size:.96rem}
#quoteProducts .stepper button{height:32px}
#quoteProducts .stepper input{min-height:32px}
.quote-power-label{margin-top:5px}
#quoteProducts .quote-power{min-height:30px;padding-block:4px}
@media(max-width:650px){
#quoteSeasons{padding:12px}.budget-duration-heading{margin-bottom:10px}
.budget-durations{gap:4px}.budget-durations button{padding:9px 3px;min-height:58px}.budget-durations button b{font-size:.84rem}.budget-durations button b span{display:block;font-size:.63rem}.budget-durations button small{font-size:.6rem}
#quoteProducts .quote-product{grid-template-columns:38px minmax(0,1fr);padding:13px 4px;gap:7px 10px}
#quoteProducts .quote-product.is-selected{padding-left:4px;border-left:0}
.quote-product-art{width:38px;height:50px}.quote-product-art svg{width:34px;height:48px}
.quote-product-controls{grid-column:2;display:flex;justify-content:space-between;border:0;padding-top:5px}
#quoteProducts .quote-unit-price{align-items:flex-start}
.quote-unit-price span{font-size:.6rem;white-space:normal;max-width:86px}
#quoteProducts .stepper button{width:30px;height:36px}#quoteProducts .stepper input{width:30px;min-height:36px}
}
@media(max-width:360px){.quote-product-controls{grid-column:1/-1;padding-top:6px}.budget-duration-heading small{font-size:.65rem}}
