.contact-weather { padding: 18px 20px; border: 1px solid #d8dfe1; border-radius: 5px; background: #f1f4f4; color: #45545b; }
.contact-weather[hidden], .contact-weather [hidden] { display: none; }
.weather-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.weather-dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: currentColor; }
.contact-weather strong { display: block; font-size: 17px; font-weight: 500; line-height: 1.4; }
.contact-weather p { margin: 7px 0 0; font-size: 14px; line-height: 1.55; }
.contact-weather .weather-details { font-size: 12px; }
.contact-weather .weather-note { font-size: 12px; opacity: .85; }
.contact-weather[data-state="favorable"] { background: #edf6ef; border-color: #c4dec9; color: #28613a; }
.contact-weather[data-state="risk"] { background: #fbefed; border-color: #e9c9c3; color: #963d31; }
.contact-weather[data-state="caution"] { background: #faf5e9; border-color: #e6d9b6; color: #796024; }
.weather-retry { margin-top: 12px; padding: 6px 0; color: inherit; font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
