/* Hot tub / generator / subpanel / dedicated circuit calculators. Same look as the EV + panel calculators (copied from panel-upgrade-quote.html so the shared site.css is unchanged). */
@media(min-width:560px){.mq-3{grid-template-columns:1fr 1fr 1fr}}
.mq-note{margin:0 0 14px;padding:12px 14px;background:#fff1e2;border-left:4px solid var(--amber);border-radius:8px;font-size:.95rem;color:var(--ink)}
.mq-nav #sq-next,.mq-nav #sq-submit{margin-left:auto}
.mq-breakdown{list-style:none;margin:8px auto 0;padding:0;max-width:420px;text-align:left;font-size:.92rem;color:#dde2f2}
.mq-breakdown li{display:flex;justify-content:space-between;gap:12px;padding:2px 0;border-top:1px solid rgba(255,255,255,.12)}
.mq-breakdown li:first-child{border-top:0}
.lead-form select{width:100%}
.ev-feet{padding:4px 0}
.ev-feet-readout{text-align:center;margin:0 0 6px;font-size:2.4rem;font-weight:800;color:var(--navy);line-height:1.1}
.ev-feet input[type=range]{width:100%;height:44px;accent-color:var(--amber);cursor:pointer;margin:0}
.ev-feet-scale{display:flex;justify-content:space-between;font-size:.82rem;color:var(--muted);margin-top:-4px}
.ev-feet-exact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px}
.ev-feet-exact label{font-weight:600;margin:0}
.ev-feet-exact input[type=number]{width:96px;padding:10px;font:inherit;font-size:1.1rem;font-weight:700;text-align:center;border:2px solid #c4ccd6;border-radius:8px}
.ev-feet-exact input[type=number]:focus{outline:3px solid rgba(244,137,18,.45);border-color:var(--amber)}
.ev-feet-over{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.ev-feet-over input{width:22px;height:22px;accent-color:var(--amber)}
.ev-price-lines{list-style:none;margin:6px auto 0;padding:0;max-width:360px;text-align:left;font-size:1rem;color:#fff}
.ev-price-lines li{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-top:1px solid rgba(255,255,255,.14)}
.ev-price-lines li:first-child{border-top:0}
.ev-price-lines li.ev-total{border-top:2px solid var(--amber);margin-top:4px;padding-top:10px;font-weight:800;font-size:1.05rem;align-items:baseline}
.ev-price-lines li.ev-total span:last-child{font-size:2rem;line-height:1}
.ev-photos{margin:18px 0 6px;padding:14px;border:2px solid #dde2ea;border-radius:12px;background:#f8f9fb}
.ev-photos-head{margin:0 0 2px;font-weight:800;font-size:1.1rem;color:var(--navy)}
.ev-photos-help{margin:0 0 10px;font-size:.92rem;color:var(--muted)}
.ev-photo{padding:12px 0;border-top:1px solid #dde2ea}
.ev-photo-title{margin:0;font-weight:700}
.ev-photo-sub{margin:2px 0 8px;font-size:.88rem;color:var(--muted)}
.ev-photo.is-missing{background:#fff1e2;margin:0 -14px;padding:12px 14px;border-left:4px solid #c0392b}
.ev-photo.is-missing .ev-photo-title{color:#a5281b}
.ev-photo-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;cursor:pointer;margin:0}
.ev-photo-btn::before{content:"";width:20px;height:20px;margin-right:8px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3 7.2 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.2L15 3H9zm3 5a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3 7.2 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.2L15 3H9zm3 5a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") center/contain no-repeat}
.ev-photo.is-full .ev-photo-btn{display:none}
.ev-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.ev-photo{position:relative}
.ev-file:focus-visible + .ev-photo-btn{outline:3px solid rgba(244,137,18,.45)}
.ev-thumbs{display:flex;flex-wrap:wrap;gap:10px}
.ev-thumbs:not(:empty){margin-bottom:10px}
.ev-thumb{position:relative;width:96px}
.ev-thumb img{width:96px;height:96px;object-fit:cover;border-radius:8px;display:block;border:1px solid #c4ccd6;background:#e9edf2}
.ev-thumb .ev-thumb-busy{width:96px;height:96px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--muted);background:#e9edf2}
.ev-thumb button{display:block;width:100%;margin-top:4px;min-height:36px;font:inherit;font-size:.85rem;border:1px solid #c4ccd6;border-radius:6px;background:#fff;color:#a5281b;cursor:pointer}
.ev-step7-note{margin-top:-6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.pu-ic{display:block;width:56px;height:56px;margin:0 auto 6px;color:var(--navy)}
.pu-opt-ic span{text-align:center}
.pu-notes{margin:10px 0 0;padding:0;list-style:none}
.pu-notes li{margin:0 0 8px;padding:10px 12px;background:#fff1e2;border-left:4px solid var(--amber);border-radius:8px;font-size:.95rem;color:var(--ink)}
.mq-estimate .pu-sub{margin:8px auto 0;max-width:360px;text-align:left;font-size:.92rem;color:#dde2f2}
.pu-included{font-size:.95rem}
.ev-price-lines li.pu-has-note{flex-wrap:wrap}
.ev-price-lines .pu-line-note{flex-basis:100%;font-size:.85rem;font-weight:400;opacity:.85;margin-top:2px;line-height:1.35;text-align:left}
.mq-estimate .pu-includes{margin:12px auto 0;max-width:360px;text-align:left;font-weight:700;font-size:.98rem}
.mq-estimate .pu-estonly{margin:4px auto 0;max-width:360px;text-align:left;font-size:.92rem;color:#dde2f2}
.sq-select{width:100%;min-height:52px;padding:12px;font:inherit;font-size:1.05rem;border:2px solid #c4ccd6;border-radius:10px;background:#fff;color:var(--ink)}
.sq-select:focus{outline:3px solid rgba(244,137,18,.45);border-color:var(--amber)}
.mq-step[data-kind=select] .mq-hint{margin-top:12px}
.pu-notes a{font-weight:700}
