/* weather.css */
.wx-city-list{display:flex;flex-direction:column;gap:20px;margin-top:16px;}
.wx-city-card{background:var(--clr-bg2);border:1px solid var(--clr-border);border-radius:var(--rxl);overflow:hidden;box-shadow:var(--sh);}
.wx-card-hdr{display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--clr-bg3);border-bottom:1px solid var(--clr-border);}
.wx-card-hdr .city-name{font-size:15px;font-weight:700;color:var(--clr-text);}
.wx-card-hdr .country-name{font-size:12px;color:var(--clr-text2);}
.wx-rm{margin-left:auto;background:none;border:none;color:var(--clr-text3);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .15s;}
.wx-rm:hover{color:#c62828;}

/* Current */
.wx-current-block{padding:16px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--clr-border);}
.wx-main-icon{font-size:52px;line-height:1;}
.wx-main-temp{font-size:44px;font-weight:300;color:var(--clr-brand);line-height:1;font-family:var(--mono);}
.wx-main-info{flex:1;min-width:120px;}
.wx-main-desc{font-size:15px;font-weight:600;color:var(--clr-text);margin-bottom:3px;}
.wx-main-meta{font-size:12px;color:var(--clr-text2);line-height:1.8;}
.wx-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px;padding:2px 0;}
.wx-stat{background:var(--clr-bg3);border-radius:var(--r);padding:8px 10px;text-align:center;}
.wx-stat-val{font-size:14px;font-weight:600;color:var(--clr-text);font-family:var(--mono);}
.wx-stat-lbl{font-size:10px;color:var(--clr-text2);margin-top:2px;}

/* Hourly */
.wx-hourly{padding:14px 18px;border-bottom:1px solid var(--clr-border);}
.wx-hourly h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--clr-text2);margin-bottom:10px;}
.hourly-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;}
.hourly-item{flex-shrink:0;text-align:center;background:var(--clr-bg3);border-radius:var(--rlg);padding:8px 10px;min-width:52px;}
.hourly-time{font-size:10px;color:var(--clr-text3);margin-bottom:4px;font-family:var(--mono);}
.hourly-icon{font-size:18px;margin-bottom:2px;}
.hourly-temp{font-size:13px;font-weight:600;color:var(--clr-text);}

/* 7-day */
.wx-daily{padding:14px 18px;}
.wx-daily h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--clr-text2);margin-bottom:10px;}
.daily-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--clr-border);font-size:13px;}
.daily-row:last-child{border-bottom:none;}
.daily-day{font-weight:600;color:var(--clr-text);min-width:36px;}
.daily-icon{font-size:18px;}
.daily-desc{flex:1;color:var(--clr-text2);font-size:12px;}
.daily-bar{width:60px;height:6px;border-radius:3px;background:var(--clr-bg3);position:relative;overflow:hidden;}
.daily-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#60a5fa,#f59e0b);}
.daily-temps{font-family:var(--mono);font-size:12px;color:var(--clr-text);min-width:70px;text-align:right;}
.daily-low{color:var(--clr-text3);}

/* Loading */
.wx-loading-block{padding:40px;text-align:center;color:var(--clr-text3);}
.wx-error{padding:20px;text-align:center;color:#c62828;font-size:13px;}

/* Unit toggle */
.unit-toggle{display:flex;background:var(--clr-bg3);border-radius:20px;padding:2px;}
.unit-btn{padding:5px 12px;border-radius:18px;border:none;background:none;color:var(--clr-text2);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;}
.unit-btn.active{background:var(--clr-brand);color:#fff;}

@media(max-width:600px){
  .wx-stats{grid-template-columns:repeat(3,1fr);}
  .wx-main-temp{font-size:36px;}
  .wx-main-icon{font-size:40px;}
}
