/* LAB additions only; weather cards and icons use the theme's shared styles. */
.hi-meteo-lab { min-width: 0; }
.hi-meteo-lab .hi-lab-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.hi-meteo-lab button { min-height: 44px; padding: 10px 18px; border: 1px solid #10235a; border-radius: 14px; background: #fffdf8; color: #10235a; font: inherit; cursor: pointer; }
.hi-meteo-lab button:disabled { opacity: .6; cursor: wait; }
.hi-meteo-lab button:focus-visible, .hi-meteo-lab a:focus-visible { outline: 3px solid #f0b649; outline-offset: 3px; }
.hi-meteo-lab [data-lab-status], .hi-meteo-lab .hi-lab-source, .hi-meteo-lab .hi-lab-observed, .hi-meteo-lab [data-lab-updated] { font-size: 13px; color: #56627d; overflow-wrap: anywhere; }
.hi-meteo-lab [data-lab-status][data-error] { color: #943623; }
.hi-meteo-lab .rdh-weather-now-temperature { min-width: 0; }
.hi-meteo-lab .rdh-weather-temperature { font-size: clamp(24px, 8vw, 58px); overflow-wrap: anywhere; }
.hi-meteo-lab .rdh-weather-stat strong { overflow-wrap: anywhere; }
.hi-meteo-lab .rdh-weather-day { grid-template-columns: 87px 42px minmax(0, 1fr) minmax(72px, auto); gap: 4px; }
.hi-meteo-lab .rdh-weather-day-temp { white-space: normal; }
.hi-meteo-lab .rdh-weather-hour { flex-shrink: 0; }
@media (max-width: 420px) {
  .hi-meteo-lab .rdh-weather-day { grid-template-columns: 75px 37px minmax(0, 1fr); }
  .hi-meteo-lab .rdh-weather-day-temp { grid-column: 3; }
  .hi-meteo-lab .rdh-weather-now-top { gap: 10px; }
  .hi-meteo-lab .rdh-weather-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
