/* 查天气 - 天气站样式（基于工具站框架） */

/* ===== 定位天气卡片 ===== */
.wx-card { color: #333; text-align: left; padding: 18px 16px; }
.wx-card-empty { text-align: center; padding: 40px 16px; color: #666; }
.wx-card-empty .tip { color: #999; font-size: 13px; margin-top: 8px; }
.wx-btn { display: inline-block; padding: 8px 18px; background: #5773b9; color: #fff !important; border-radius: 4px; font-size: 14px; }
.wx-btn:hover { background: #4668a8; }

.wx-card-head { margin-bottom: 14px; }
.wx-card-loc { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.wx-card-loc strong { font-size: 18px; font-weight: bold; }
.wx-loc-tag { display: inline-block; padding: 2px 8px; background: #eef3fc; color: #5773b9; border-radius: 3px; font-size: 12px; }
.wx-loc-ip { color: #999; font-size: 12px; }
.wx-alarm { margin-top: 8px; padding: 8px 12px; background: #fff5f5; border: 1px solid #ffd6d6; color: #c0392b; border-radius: 6px; font-size: 13px; line-height: 1.5; }

.wx-now { display: flex; flex-direction: column; gap: 16px; }
.wx-now-main { display: flex; align-items: center; gap: 14px; padding: 6px 2px; }
.wx-now-icon { width: 64px; height: 64px; flex-shrink: 0; }
.wx-now-temp { font-size: 52px; font-weight: bold; line-height: 1; color: #2c3e50; font-family: Arial, sans-serif; }
.wx-now-temp em { font-size: 20px; font-style: normal; color: #7f8c8d; margin-left: 2px; }
.wx-now-desc .w1 { font-size: 17px; font-weight: bold; margin-bottom: 4px; }
.wx-now-desc .w2 { color: #888; font-size: 13px; }

.wx-now-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #edf0f5; border-radius: 8px; overflow: hidden; }
.wx-now-grid .cell { padding: 10px 12px; text-align: center; border-right: 1px solid #edf0f5; border-bottom: 1px solid #edf0f5; }
.wx-now-grid .cell:nth-child(3n) { border-right: none; }
.wx-now-grid .cell:nth-last-child(-n+3) { border-bottom: none; }
.wx-now-grid .lbl { display: block; color: #999; font-size: 12px; margin-bottom: 3px; }
.wx-now-grid .val { display: block; font-size: 15px; font-weight: bold; }

.wx-hours { display: flex; overflow-x: auto; gap: 4px; padding: 4px 0; -webkit-overflow-scrolling: touch; }
.wx-hour-item { flex: 0 0 auto; width: 72px; text-align: center; padding: 10px 4px; background: #f8fafd; border-radius: 8px; }
.wx-hour-item .t { display: block; color: #888; font-size: 12px; margin-bottom: 6px; }
.wx-hour-item img { width: 32px; height: 32px; display: block; margin: 0 auto 4px; }
.wx-hour-item .w { display: block; font-size: 12px; color: #555; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wx-hour-item .tp { display: block; font-size: 14px; font-weight: bold; color: #e74c3c; }
.wx-hour-item .hum { display: block; font-size: 11px; color: #99a; margin-top: 2px; }

.wx-card-foot { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 16px; padding-top: 12px; border-top: 1px dashed #e8ecf2; color: #888; font-size: 13px; }

/* ===== 首页省市分类 ===== */
.wx-regions { padding: 4px 0; }
.wx-region { margin-bottom: 18px; }
.wx-region:last-child { margin-bottom: 0; }
.wx-region-name { font-size: 14px; font-weight: bold; color: #5773b9; padding: 4px 0 8px; border-bottom: 1px solid #eef0f4; margin-bottom: 10px; }
.wx-provinces { display: flex; flex-wrap: wrap; gap: 8px; }
.wx-prov { display: inline-flex; align-items: baseline; gap: 4px; padding: 7px 12px; background: #f5f7fb; border: 1px solid #e4e9f2; border-radius: 6px; font-size: 14px; color: #333; }
.wx-prov:hover { background: #5773b9; border-color: #5773b9; color: #fff; }
.wx-prov em { font-style: normal; font-size: 11px; color: #9aa4b2; }
.wx-prov:hover em { color: rgba(255,255,255,.75); }

.wx-recent { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 0; }
.wx-recent li { padding: 6px 12px; background: #f5f7fb; border-radius: 4px; font-size: 13px; }
.wx-recent li a { color: #5773b9; }

.wx-intro .bd p { line-height: 1.8; color: #666; font-size: 13px; margin-bottom: 8px; }

/* ===== 省份页 ===== */
.wx-prov-head { padding: 16px 16px 12px; border-bottom: 1px solid #eef0f4; }
.wx-prov-head h1 { font-size: 20px; font-weight: bold; color: #2c3e50; }
.wx-prov-head .sub { color: #999; font-size: 13px; margin-top: 6px; }
.wx-city-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; padding: 14px; }
.wx-city-item { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 6px; background: #f8fafd; border: 1px solid #edf0f5; border-radius: 8px; text-align: center; }
.wx-city-item:hover { border-color: #5773b9; background: #eef3fc; }
.wx-city-item .name { font-size: 15px; font-weight: bold; color: #333; }
.wx-city-item img { width: 36px; height: 36px; }
.wx-city-item .wt { font-size: 12px; color: #666; }
.wx-city-item .wt-na { color: #bbb; }
.wx-city-item .tp { font-size: 13px; font-weight: bold; color: #e74c3c; }
.wx-city-item .tp-na { color: #ccc; font-weight: normal; }

.wx-prov-switch { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 0; }
.wx-prov-switch a { padding: 5px 11px; background: #f5f7fb; border-radius: 4px; font-size: 13px; color: #5773b9; }
.wx-prov-switch a:hover { background: #5773b9; color: #fff; }

/* ===== 详情页 ===== */
.wx-crumb { font-size: 13px; color: #999; margin-bottom: 12px; }
.wx-crumb a { color: #5773b9; }
.wx-crumb span { color: #333; }

.wx-alarm-banner { margin-bottom: 12px; padding: 10px 14px; background: #fff5f5; border: 1px solid #ffd6d6; border-left: 4px solid #e74c3c; color: #c0392b; border-radius: 6px; font-size: 14px; line-height: 1.6; }

.wx-days { display: flex; flex-direction: column; }
.wx-day-item { display: grid; grid-template-columns: 92px 44px 1fr 130px 1fr; align-items: center; gap: 8px; padding: 12px 8px; border-bottom: 1px solid #f0f2f6; }
.wx-day-item:last-child { border-bottom: none; }
.wx-day-item .d { font-size: 14px; font-weight: bold; color: #333; }
.wx-day-item .d em { display: block; font-style: normal; font-weight: normal; font-size: 11px; color: #999; margin-top: 2px; }
.wx-day-item img { width: 36px; height: 36px; }
.wx-day-item .w { font-size: 14px; color: #555; }
.wx-day-item .tp { font-size: 14px; color: #888; }
.wx-day-item .tp b { color: #e74c3c; font-weight: bold; }
.wx-day-item .wd { font-size: 12px; color: #999; }

.wx-suntimes { display: flex; flex-direction: column; }
.wx-sun-item { display: grid; grid-template-columns: 92px 1fr 1fr 1fr; align-items: center; padding: 10px 8px; border-bottom: 1px solid #f0f2f6; font-size: 13px; }
.wx-sun-item:last-child { border-bottom: none; }
.wx-sun-item .d { font-weight: bold; color: #333; }
.wx-sun-item .d em { display: block; font-style: normal; font-weight: normal; font-size: 11px; color: #999; }
.wx-sun-item .dl { color: #999; }

.wx-sib { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 0; }
.wx-sib a { padding: 5px 11px; background: #f5f7fb; border-radius: 4px; font-size: 13px; color: #5773b9; }
.wx-sib a:hover { background: #5773b9; color: #fff; }

/* ===== 搜索建议 ===== */
.wx-sug { position: relative; }
.wx-sug-list { position: absolute; top: 100%; left: 0; right: 0; z-index: 99; background: #fff; border-radius: 0 0 8px 8px; box-shadow: 0 6px 18px rgba(0,0,0,.12); max-height: 260px; overflow-y: auto; display: none; }
.wx-sug-list.show { display: block; }
.wx-sug-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; cursor: pointer; font-size: 14px; }
.wx-sug-item:hover, .wx-sug-item.active { background: #f0f4fb; }
.wx-sug-item .prov { color: #999; font-size: 12px; }

/* ===== 响应式 ===== */
@media screen and (max-width: 800px) {
    .wx-now-temp { font-size: 42px; }
    .wx-now-icon { width: 52px; height: 52px; }
    .wx-now-grid { grid-template-columns: repeat(3, 1fr); }
    .wx-day-item { grid-template-columns: 76px 40px 1fr 96px; }
    .wx-day-item .wd { display: none; }
    .wx-sun-item { grid-template-columns: 80px 1fr 1fr; }
    .wx-sun-item .dl { display: none; }
    .wx-city-grid { grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); }
    .wx-hours-detail { padding: 2px 2px; }
    .wx-hour-item { width: 66px; }
}