.weather-panel{min-width:0;background:#fff;border:1px solid #ccd8e6;border-radius:14px;box-shadow:0 6px 18px #172b4409;overflow:hidden;color:#172b44}
.weather-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:19px 20px 13px}
.weather-panel .weather-heading h2{margin:0;font-size:15px;line-height:1.35;letter-spacing:-.02em;font-weight:750;display:block}
.weather-heading p{margin:5px 0 0;font-size:11px;color:#728399;line-height:1.5}
.weather-sample{flex:none;display:block;padding:4px 7px;background:#f0f4f8;border:1px solid #e4eaf2;border-radius:5px;font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:750;color:#738296}
.weather-endpoints{padding:0 20px}
.weather-endpoint{padding:15px 0;min-width:0}.weather-endpoint+.weather-endpoint{border-top:1px solid #e4eaf2}
.weather-place{display:flex;align-items:center;gap:8px;min-width:0}.weather-place>div{min-width:0;flex:1}
.weather-point{width:7px;height:7px;border:2px solid #004aad;border-radius:50%;align-self:flex-start;margin-top:4px;flex:none}.weather-point.delivery{border-color:#1a876e;background:#1a876e}
.weather-label{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:750;color:#8190a2;line-height:1}
.weather-panel .weather-place h3{margin:5px 0 0;font-size:13px;font-weight:700;line-height:1.3;overflow-wrap:anywhere;color:#172b44}
.weather-date{font-size:10px;color:#75889f;flex:none;white-space:nowrap}
.weather-reading{display:flex;gap:11px;align-items:center;margin:13px 0 0 14px}
.weather-icon{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;color:#7895b5}.weather-icon-sun{color:#d49d18}.weather-icon-rain{color:#467fae}
.weather-temperature{min-width:0}.weather-temperature strong{font-size:24px;line-height:1.1;letter-spacing:-.06em;font-weight:700}.weather-temperature>span{font-size:12px;color:#7a8a9b;margin-left:4px}.weather-temperature small{display:block;font-size:11px;color:#667b91;margin-top:4px}
.weather-measures{display:grid;gap:5px;font-size:10px;color:#7a8b9f;margin-left:auto;min-width:74px}.weather-measures>span{display:flex;justify-content:space-between;gap:8px}.weather-measures b{font-weight:600;color:#425c77;white-space:nowrap}
.weather-empty{font-size:12px;color:#7b8ca0;line-height:1.6;margin:12px 0 0 14px;padding:7px 0}
.weather-date-caption{font-size:10px;line-height:1.4;color:#8190a2;margin:12px 0 0 14px}
.weather-details{border-top:1px solid #e4eaf2;margin:0 20px}
.weather-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:10px 0;color:#004aad;cursor:pointer;font-size:12px;font-weight:700;list-style:none}.weather-details>summary::-webkit-details-marker{display:none}
.weather-details>summary svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none;transition:transform .15s}.weather-details[open]>summary svg{transform:rotate(180deg)}
.weather-tabs{display:flex;border:1px solid #dce5ef;border-radius:8px;background:#f3f6fa;padding:3px;gap:3px;margin-bottom:15px}.weather-tabs button{flex:1;min-width:0;border:0;border-radius:5px;padding:9px 4px;font:600 11px 'DM Sans',sans-serif;background:transparent;color:#73839a;cursor:pointer}.weather-tabs button[aria-selected=true]{color:#004aad;background:#fff;box-shadow:0 1px 5px #172b4414}
.weather-forecast-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 14px;font-size:11px}.weather-forecast-title span{font-size:10px;color:#7e8fa0;white-space:nowrap}.weather-forecast-title strong{min-width:0;overflow-wrap:anywhere}
.weather-table-head,.weather-day{display:grid;grid-template-columns:1.3fr .7fr 1fr .55fr;gap:8px;align-items:center}.weather-table-head{font-size:9px;font-weight:700;color:#8291a3;letter-spacing:.025em;padding:0 0 9px;border-bottom:1px solid #e8edf3}.weather-day{font-size:11px;padding:10px 0;border-bottom:1px solid #e8edf3}.weather-day>div>strong{font-size:11px;font-weight:700}.weather-day small{display:block;font-size:9px;color:#7d8da1;margin-top:3px}.weather-day b{font-weight:650}.weather-table-head>span:last-child,.weather-rain{text-align:right}.weather-low{color:#8a98aa}.weather-day-icon .weather-icon{width:23px;height:23px;display:block}.weather-day.is-selected{background:#eef5ff;border-radius:6px;box-shadow:-8px 0 #eef5ff,8px 0 #eef5ff}.weather-day.is-selected small{color:#004aad}.weather-explainer{font-size:10px;color:#8090a4;line-height:1.6;margin:12px 0 15px}
.weather-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fafbfd;padding:9px 20px;border-top:1px solid #edf1f6}.weather-footer>span{color:#8a97a6;font-size:9px;line-height:1.4}.weather-footer button{font:600 10px 'DM Sans',sans-serif;color:#627e9c;white-space:nowrap;background:transparent;border:0;padding:5px 0;cursor:pointer}
.weather-advisory{display:flex;gap:10px;padding:13px 16px;background:#fff8e9;border:1px solid #f1e1b7;border-radius:9px;margin:0 20px 16px;font-size:11px;color:#805f23}.weather-advisory .weather-icon{width:23px;height:23px;color:#aa8434}.weather-advisory strong{display:block;font-size:11px;font-weight:700}.weather-advisory p{margin:4px 0 0;line-height:1.5;font-size:11px}
.weather-return{font-size:11px;color:#687f97;border-top:1px solid #e4eaf2;margin:0 20px;padding:12px 0;line-height:1.6}
.weather-schedule .weather-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:22px}.weather-schedule .weather-endpoint+.weather-endpoint{border-top:0;border-left:1px solid #e4eaf2;padding-left:22px}.weather-schedule .weather-heading h2{font-size:17px}.weather-schedule .weather-heading p{font-size:12px}.weather-schedule .weather-temperature strong{font-size:28px}.weather-schedule .weather-forecast{max-width:620px;margin:0 auto}.weather-schedule .weather-reading{margin-top:18px;margin-bottom:5px}.weather-schedule .weather-place h3{font-size:14px}
.weather-panel button:focus-visible,.weather-panel summary:focus-visible{outline:3px solid #91b6e6;outline-offset:2px}
@media(max-width:760px){.weather-schedule .weather-endpoints{grid-template-columns:1fr;gap:0}.weather-schedule .weather-endpoint+.weather-endpoint{border-left:0;border-top:1px solid #e4eaf2;padding-left:0}.weather-heading{padding:17px 17px 10px}.weather-endpoints{padding:0 17px}.weather-details{margin:0 17px}.weather-footer{padding:10px 17px}.weather-footer button,.weather-tabs button{min-height:44px}.weather-schedule .weather-heading h2{font-size:15px}.weather-reading{margin-left:0}.weather-measures{font-size:11px}.weather-footer>span{font-size:10px}.weather-advisory{margin-left:17px;margin-right:17px}}
/* The quote stays the primary action; endpoint weather fits into two short rows. */
.weather-quote .weather-endpoint{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 0}
.weather-quote .weather-reading{margin:0;gap:8px}.weather-quote .weather-icon{width:25px;height:25px}.weather-quote .weather-temperature strong{font-size:21px}.weather-quote .weather-temperature>span{font-size:11px;margin-left:2px}.weather-quote .weather-temperature small{font-size:10px}.weather-quote .weather-measures,.weather-quote .weather-date{display:none}.weather-quote .weather-empty{grid-column:1/-1;margin:0 0 0 14px;padding:0;font-size:11px}

/* Long-range dates are planning placeholders, never simulated forecasts. */
.weather-later-heading{font-size:13px;margin:20px 0 6px;color:#253b56}.weather-planning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0}.weather-planning-day{display:flex;flex-direction:column;gap:3px;padding:9px 6px;background:#f5f7fa;border:1px solid #e3e9f0;border-radius:8px;text-align:center;font-size:11px;color:#66778c}.weather-planning-day strong{font-size:12px;color:#253b56}.weather-planning-day small{font-size:10px}.weather-planning-day.is-selected{background:#eaf3ff;border-color:#3275c7;color:#004aad}.weather-quote .weather-date{display:inline;font-size:11px}.weather-forecast-title{flex-wrap:wrap;gap:6px}@media(max-width:400px){.weather-planning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.weather-endpoint .weather-place{flex-wrap:wrap}.weather-endpoint .weather-date{display:block;flex:0 0 100%;margin:8px 0 0;padding-top:8px;border-top:1px solid #e3eaf2;text-align:left;font-size:12px;color:#345879;font-weight:600}.weather-quote .weather-date{display:block;font-size:12px}.weather-selected-date{font-size:12px;line-height:1.6;color:#345879;background:#f1f6fd;border-radius:7px;padding:10px 12px;margin:10px 0 12px}

.weather-quote-calendar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.weather-calendar-day{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 3px;border:1px solid #e3eaf2;border-radius:7px;background:#f8fafd;min-width:0;font-size:10px;color:#687d94}.weather-calendar-day strong{font-size:11px;color:#294a6c}.weather-calendar-day small{font-size:9px;white-space:nowrap}.weather-calendar-day .weather-icon{display:block;width:22px;height:22px}.weather-unavailable{height:22px;color:#93a1b1}.weather-quote .weather-endpoints:empty{display:none}@media(max-width:400px){.weather-quote-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}
