/* Read-only, shared weather banner: stays inside the viewport at every width. */
.grower-weather-slot{min-width:0;max-width:100%}
.grower-weather{min-width:0;max-width:100%;margin:0 0 24px;padding:18px;border:1px solid #cfdfc5;border-radius:12px;background:#fff;color:#17221a}
.grower-weather :is(h2,h3,p,ol,dl,dd){margin:0}
.grower-weather .weather-heading{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;margin-bottom:14px}
.grower-weather h2{display:flex;align-items:center;gap:9px;font-size:18px;line-height:1.4;font-weight:600;color:#28531a}
.grower-weather .weather-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;flex:none}
.grower-weather .weather-heading>p,.grower-weather.weather-empty>p{font-size:13px;line-height:1.6;color:#50604c}
.grower-weather.weather-empty>p{margin-top:8px}
.grower-weather .weather-scroll-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:8px}
.grower-weather .weather-scroll-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #a9c29e;border-radius:11px;background:#fff;color:#28531a;cursor:pointer;box-shadow:none}
.grower-weather .weather-scroll-button>svg{display:block;width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.grower-weather .weather-scroll-button:hover:not(:disabled){background:#edf5e6;border-color:#28531a}
.grower-weather .weather-scroll-button:disabled{opacity:.45;cursor:default;background:#f3f6ef}
.grower-weather .weather-scroll-button:focus-visible{outline:3px solid #397126;outline-offset:2px}
.grower-weather .weather-scroll-status{min-width:0;text-align:center;font-size:calc(12px * var(--cgs-text-scale,1));line-height:1.4;overflow-wrap:anywhere;color:#50604c}
.grower-weather .weather-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding:4px;scrollbar-width:thin;padding:3px 3px 10px}
.grower-weather .weather-scroll:focus-visible{outline:3px solid #397126;outline-offset:2px;border-radius:7px}
.grower-weather .weather-days{display:flex;gap:10px;list-style:none;padding:0;min-width:0;width:100%}
.grower-weather .weather-day{--weather-day-width:166px;width:min(calc(var(--weather-day-width) * var(--cgs-text-scale,1)),100%);flex:0 0 min(calc(var(--weather-day-width) * var(--cgs-text-scale,1)),100%);padding:13px;border:1px solid #e1e9db;border-radius:9px;background:#f6f9f3}
.grower-weather .weather-day h3{font-size:13px;line-height:1.5;font-weight:600;color:#28531a}
.grower-weather .weather-temperatures{display:flex;align-items:baseline;gap:10px;margin-top:7px;font-size:14px;color:#50604c}
.grower-weather .weather-temperatures strong{font-size:22px;color:#17221a}
.grower-weather .weather-condition{font-size:12px;line-height:1.5;color:#50604c;margin-top:4px;min-height:36px;overflow-wrap:anywhere}
.grower-weather dl{display:grid;gap:6px;margin-top:10px;font-size:12px;line-height:1.45}
.grower-weather dl>div{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.grower-weather dt{color:#50604c}.grower-weather dd{font-weight:600;white-space:nowrap}
.grower-weather .weather-footnote{display:grid;gap:8px;margin-top:9px;font-size:11px;line-height:1.6;color:#50604c}
.grower-weather .weather-footnote>p:last-child{display:flex;gap:8px 14px;align-items:baseline;flex-wrap:wrap}
.grower-weather .weather-google{font:400 14px/1.5 Arial,sans-serif;letter-spacing:0;color:#5f6368;white-space:nowrap}
.weather-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.grower-weather{padding:14px;margin-bottom:20px}.grower-weather .weather-day{--weather-day-width:155px}.grower-weather .weather-heading{gap:7px}.grower-weather h2{font-size:17px}}

/* Per-day condition icons shared by live forecasts and both demo layouts. */
.weather-condition-row{display:flex;align-items:center;gap:8px;min-width:0;min-height:36px}
.weather-condition-row>span{min-width:0;overflow-wrap:anywhere}
.grower-weather .weather-condition-row>span{overflow-wrap:break-word;word-break:normal}
.weather-condition-icon{display:block;width:30px;height:30px;min-width:30px;flex:0 0 30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#28531a}
.grower-demo-weather .demo-weather-condition{min-height:40px}
@media(prefers-contrast:more){.weather-condition-icon{stroke-width:2.2;color:currentColor}}
