.venue-weather{margin:20px 0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);min-width:0}
.venue-weather summary{display:flex;align-items:center;gap:14px;padding:18px;min-height:64px;cursor:pointer;list-style:none}
.venue-weather summary::-webkit-details-marker{display:none}
.venue-weather summary::after{content:'+';font-size:1.5rem;margin-left:auto}
.venue-weather[open] summary::after{content:'−'}
.venue-weather summary img{flex:none;background:#fff;border-radius:4px;padding:3px;box-sizing:content-box}
.venue-weather summary strong,.venue-weather summary small{display:block}
.venue-weather summary strong{font-size:1.1rem}
.venue-weather summary small{font-size:.9rem;margin-top:4px;color:var(--muted)}
.venue-weather summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.venue-weather-body{padding:0 18px 20px;min-width:0}
.weather-context{margin-top:0}
.weather-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.weather-period{padding:14px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--soft);min-width:0}
.weather-period time{font-size:.9rem;display:block}
.weather-period .weather-temperature{display:block;font-size:1.65rem;font-weight:600;margin:8px 0}
.weather-period p{font-size:.9rem;margin:6px 0;overflow-wrap:anywhere}
.weather-official{display:inline-flex;align-items:center;min-height:44px}
.venue-weather [data-weather-refresh]{min-height:44px;white-space:normal}
.venue-weather [data-weather-refresh][hidden]{display:none}
.venue-weather [data-weather-refresh][aria-disabled="true"]{opacity:.7;cursor:wait}
@media(max-width:600px){.weather-periods{grid-template-columns:repeat(2,minmax(0,1fr))}}
