/* ===================================================================
   10 Günlük Hava Durumu - Profesyonel Tema Stilleri v4.0
   Veri kaynağı: MET Norway (api.met.no) - yr.no
   İkonlar: https://github.com/metno/weathericons
   =================================================================== */

/* ─── ROOT VARIABLES ─────────────────────────────────────────── */
:root{
    /* Renk paleti - profesyonel hava durumu teması */
    --primary:#0c4a6e;           /* Koyu deniz mavisi */
    --primary-light:#075985;
    --primary-dark:#082f49;
    --accent:#f59e0b;             /* Güneş sarısı */
    --accent2:#0ea5e9;            /* Gökyüzü mavisi */
    --accent3:#06b6d4;            /* Camgöbeği */
    --bg:#f1f5f9;                 /* Açık arka plan */
    --bg-alt:#f8fafc;
    --card:#ffffff;
    --text:#0f172a;
    --text-soft:#334155;
    --muted:#64748b;
    --border:#e2e8f0;
    --border-soft:#f1f5f9;
    --radius:14px;
    --radius-sm:8px;
    --radius-lg:24px;
    --shadow-sm:0 1px 2px rgba(15,23,42,.05);
    --shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.05);
    --shadow-md:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.05);
    --shadow-lg:0 20px 25px -5px rgba(15,23,42,.1),0 8px 10px -6px rgba(15,23,42,.05);
    --transition:.25s cubic-bezier(.4,0,.2,1);
    --gradient-sky:linear-gradient(135deg,#0c4a6e 0%,#0369a1 50%,#0ea5e9 100%);
    --gradient-card:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);
    --gradient-current:linear-gradient(135deg,#0c4a6e 0%,#1e3a5f 50%,#0f172a 100%);
    --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    --font-temp:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}

/* ─── RESET & BASE ───────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    font-family:var(--font-body);
    background:var(--bg);
    color:var(--text);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    min-height:100vh;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent2);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--primary)}
button{cursor:pointer;font-family:inherit;border:none;background:none}

.container{max-width:1240px;margin:0 auto;padding:0 20px}

/* Hava durumu ikonları */
.wi-icon{display:block;vertical-align:middle}
.wi-icon svg{width:100%;height:100%}

/* ─── HEADER ───────────────────────────────────────────────── */
.site-header{
    background:linear-gradient(180deg,#082f49 0%,#0c4a6e 100%);
    padding:14px 0;
    position:sticky;top:0;z-index:100;
    box-shadow:0 4px 12px rgba(12,74,110,.18);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:1.15rem;text-decoration:none;white-space:nowrap}
.logo:hover{color:#fff}
.logo-icon{
    width:38px;height:38px;
    background:linear-gradient(135deg,#fbbf24,#f59e0b);
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    padding:4px;
    box-shadow:0 4px 12px rgba(245,158,11,.4);
}
.logo-text{letter-spacing:-.02em}

.main-nav{display:flex;gap:4px;flex-wrap:wrap;flex:1;justify-content:center}
.main-nav a{
    color:rgba(255,255,255,.85);
    padding:8px 14px;
    border-radius:8px;
    font-size:.875rem;
    font-weight:500;
    transition:all var(--transition);
}
.main-nav a:hover{color:#fff;background:rgba(255,255,255,.12);transform:translateY(-1px)}

.search-toggle,.mobile-menu-toggle{
    color:#fff;padding:8px;
    border-radius:8px;
    transition:background var(--transition);
    display:flex;align-items:center;justify-content:center;
    width:38px;height:38px;
}
.search-toggle:hover,.mobile-menu-toggle:hover{background:rgba(255,255,255,.12)}
.mobile-menu-toggle{display:none}

/* ─── SEARCH OVERLAY ────────────────────────────────────────── */
.search-overlay{
    display:none;position:fixed;inset:0;
    background:rgba(8,47,73,.92);
    backdrop-filter:blur(8px);
    z-index:200;align-items:flex-start;justify-content:center;padding-top:120px;
}
.search-overlay.active{display:flex;animation:fadeIn .2s ease}
.search-overlay .container{position:relative;max-width:640px;width:100%}
.search-form{position:relative}
.search-input{
    width:100%;padding:18px 24px;
    font-size:1.1rem;
    border:none;border-radius:14px;
    outline:none;
    box-shadow:0 20px 40px rgba(0,0,0,.25);
    background:#fff;color:var(--text);
}
.search-results{
    position:absolute;top:100%;left:0;right:0;
    background:#fff;border-radius:0 0 14px 14px;
    max-height:400px;overflow-y:auto;
    box-shadow:0 20px 40px rgba(0,0,0,.2);
    margin-top:2px;
}
.search-results a{
    display:block;padding:14px 24px;
    color:var(--text);
    border-bottom:1px solid var(--border-soft);
    font-size:.95rem;
    transition:background var(--transition);
}
.search-results a:hover,.search-results a.active{background:var(--bg-alt);color:var(--primary)}
.search-close{
    position:absolute;top:-55px;right:0;
    color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;
    width:44px;height:44px;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:rgba(255,255,255,.1);
    transition:background var(--transition);
}
.search-close:hover{background:rgba(255,255,255,.2)}

@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ─── HERO ───────────────────────────────────────────────────── */
.hero{
    position:relative;
    background:linear-gradient(135deg,#082f49 0%,#0c4a6e 40%,#0369a1 80%,#0ea5e9 100%);
    color:#fff;
    padding:80px 0 70px;
    text-align:center;
    overflow:hidden;
}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-sun{
    position:absolute;
    top:-100px;right:-100px;
    width:400px;height:400px;
    background:radial-gradient(circle,rgba(251,191,36,.4) 0%,rgba(245,158,11,.15) 40%,transparent 70%);
    border-radius:50%;
    animation:sunPulse 8s ease-in-out infinite;
}
.hero-clouds{
    position:absolute;
    bottom:0;left:0;right:0;
    height:120px;
    background:
        radial-gradient(ellipse at 20% 100%,rgba(255,255,255,.1) 0%,transparent 50%),
        radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.08) 0%,transparent 50%),
        radial-gradient(ellipse at 80% 100%,rgba(255,255,255,.1) 0%,transparent 50%);
    animation:cloudDrift 30s linear infinite;
}
@keyframes sunPulse{
    0%,100%{transform:scale(1);opacity:.6}
    50%{transform:scale(1.1);opacity:.8}
}
@keyframes cloudDrift{
    from{background-position:0 0}
    to{background-position:-200px 0}
}
.hero-content{position:relative;z-index:2;max-width:760px;margin:0 auto}
.hero-badge{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.2);
    padding:6px 14px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:500;
    color:rgba(255,255,255,.95);
    margin-bottom:20px;
    backdrop-filter:blur(4px);
}
.hero-badge .badge-icon{display:inline-flex;width:18px;height:18px}
.hero h1{
    font-size:2.5rem;font-weight:800;
    margin-bottom:16px;
    line-height:1.15;letter-spacing:-.02em;
    text-shadow:0 2px 12px rgba(0,0,0,.2);
}
.hero p{
    font-size:1.05rem;
    color:rgba(255,255,255,.85);
    margin-bottom:28px;max-width:620px;
    margin-left:auto;margin-right:auto;
    line-height:1.65;
}
.hero-search{position:relative;max-width:540px;margin:0 auto}
.hero-search-icon{
    position:absolute;left:18px;top:50%;transform:translateY(-50%);
    color:var(--muted);pointer-events:none;
}
.hero-search-input{
    width:100%;padding:16px 20px 16px 50px;
    font-size:1rem;
    border:none;border-radius:14px;
    outline:none;
    background:#fff;color:var(--text);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
    transition:box-shadow var(--transition);
}
.hero-search-input:focus{box-shadow:0 25px 50px rgba(0,0,0,.25)}
.hero-search-results{
    position:absolute;top:100%;left:0;right:0;
    background:#fff;border-radius:0 0 14px 14px;
    max-height:380px;overflow-y:auto;
    box-shadow:0 20px 40px rgba(0,0,0,.15);
    z-index:10;text-align:left;
    margin-top:2px;
}
.hero-search-results a{
    display:block;padding:12px 20px;
    color:var(--text);
    border-bottom:1px solid var(--border-soft);
    font-size:.95rem;
    transition:background var(--transition);
}
.hero-search-results a:hover{background:var(--bg-alt);color:var(--primary)}
.hero-search-results .result-district{color:var(--muted);font-size:.8rem;margin-left:4px}

/* ─── BREADCRUMB ─────────────────────────────────────────────── */
.breadcrumb{padding:16px 0;font-size:.85rem;color:var(--muted)}
.breadcrumb a{color:var(--accent2);font-weight:500}
.breadcrumb a:hover{text-decoration:underline;color:var(--primary)}
.breadcrumb .sep{margin:0 6px;color:var(--border)}
.breadcrumb .current{color:var(--text-soft);font-weight:500}

/* ─── REGION SECTION ────────────────────────────────────────── */
.region-section{padding:36px 0}
.region-header{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:20px;padding-bottom:12px;
    border-bottom:2px solid var(--border);
}
.region-title{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;color:var(--primary)}
.region-count{
    background:var(--bg-alt);
    color:var(--muted);
    padding:4px 12px;
    border-radius:999px;
    font-size:.8rem;font-weight:600;
}

/* ─── CITY GRID ─────────────────────────────────────────────── */
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.city-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:18px;
    text-decoration:none;color:var(--text);
    transition:all var(--transition);
    cursor:pointer;
    position:relative;
    overflow:hidden;
}
.city-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--gradient-sky);
    transform:scaleX(0);transform-origin:left;
    transition:transform var(--transition);
}
.city-card:hover{
    box-shadow:var(--shadow-md);
    transform:translateY(-3px);
    border-color:var(--accent2);
}
.city-card:hover::before{transform:scaleX(1)}
.city-card-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.city-card-plate{
    background:var(--gradient-sky);
    color:#fff;padding:3px 9px;border-radius:6px;
    font-size:.75rem;font-weight:700;letter-spacing:.02em;
}
.city-card-name{font-weight:600;font-size:1rem;color:var(--text)}
.city-card-weather{display:flex;align-items:center;justify-content:space-between;gap:12px}
.city-card-icon{
    display:flex;align-items:center;justify-content:center;
    width:64px;height:64px;
    background:var(--bg-alt);
    border-radius:var(--radius-sm);
    padding:6px;
}
.city-card-temps{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.city-card-high{font-size:1.8rem;font-weight:800;line-height:1;letter-spacing:-.02em}
.city-card-low{font-size:.78rem;color:var(--muted);font-weight:500}
.city-card-desc{
    font-size:.82rem;color:var(--muted);
    margin-top:12px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* ─── WEATHER PAGE (İL & İLÇE) ──────────────────────────────── */
.weather-page{padding:30px 0 50px}
.weather-page-header{
    display:flex;align-items:flex-start;justify-content:space-between;
    gap:30px;margin-bottom:32px;flex-wrap:wrap;
}
.weather-page-title{flex:1;min-width:280px}
.weather-page-title h1{
    font-size:2.1rem;font-weight:800;
    line-height:1.2;margin-bottom:8px;
    letter-spacing:-.02em;color:var(--primary);
}
.plate-badge{
    display:inline-block;
    background:var(--gradient-sky);
    color:#fff;padding:5px 12px;
    border-radius:8px;font-size:.85rem;
    font-weight:700;margin-right:10px;
    vertical-align:middle;
}
.location-info{color:var(--muted);font-size:.92rem}
.location-info a{color:var(--accent2);font-weight:500}
.location-info .sep{margin:0 6px;color:var(--border)}

/* ─── CURRENT WEATHER CARD ─────────────────────────────────── */
.current-weather-card{
    background:var(--gradient-current);
    color:#fff;
    padding:28px 32px;
    border-radius:var(--radius-lg);
    min-width:380px;
    max-width:480px;
    box-shadow:0 20px 40px rgba(12,74,110,.3);
    position:relative;overflow:hidden;
}
.current-weather-card::before{
    content:'';position:absolute;
    top:-50px;right:-50px;
    width:200px;height:200px;
    background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);
    border-radius:50%;
}
.current-main{
    display:flex;align-items:center;gap:20px;
    margin-bottom:24px;
    position:relative;z-index:1;
}
.current-icon-large{
    width:120px;height:120px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    backdrop-filter:blur(4px);
    padding:14px;
}
.current-temp-wrap{flex:1}
.current-temp{
    font-size:4rem;font-weight:800;line-height:1;
    letter-spacing:-.04em;
}
.current-temp .degree{
    font-size:1.6rem;font-weight:600;
    opacity:.7;margin-left:4px;
    vertical-align:top;
}
.current-desc{font-size:1.1rem;font-weight:500;opacity:.9;margin-top:4px}

.current-meta-grid{
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:10px;margin-bottom:18px;
    position:relative;z-index:1;
}
.meta-tile{
    background:rgba(255,255,255,.08);
    border-radius:var(--radius-sm);
    padding:10px 12px;
    display:flex;flex-direction:column;
    gap:2px;
    backdrop-filter:blur(4px);
}
.meta-label{
    font-size:.7rem;opacity:.7;
    text-transform:uppercase;letter-spacing:.05em;
}
.meta-value{font-size:1.05rem;font-weight:700;color:#fff}
.meta-sub{font-size:.72rem;opacity:.7}

.current-update{
    display:flex;align-items:center;gap:8px;
    font-size:.8rem;opacity:.75;
    flex-wrap:wrap;
    position:relative;z-index:1;
}
.update-dot{
    width:8px;height:8px;border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.2);
    animation:dotPulse 2s ease-in-out infinite;
}
@keyframes dotPulse{
    0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}
    50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}
}
.source-badge{
    margin-left:auto;
    background:rgba(255,255,255,.12);
    padding:3px 10px;
    border-radius:999px;
    font-size:.7rem;font-weight:600;
    letter-spacing:.02em;
}

/* ─── HOURLY STRIP ──────────────────────────────────────────── */
.hourly-section{
    background:var(--card);
    border-radius:var(--radius);
    padding:24px;
    margin-bottom:32px;
    box-shadow:var(--shadow-sm);
    border:1px solid var(--border);
}
.hourly-title{
    font-size:1.1rem;font-weight:700;
    margin-bottom:16px;color:var(--primary);
    display:flex;align-items:center;gap:8px;
}
.hourly-title::before{
    content:'';width:4px;height:18px;
    background:var(--accent);
    border-radius:2px;
}
.hourly-strip{
    display:flex;gap:8px;
    overflow-x:auto;padding-bottom:8px;
    scrollbar-width:thin;
    scroll-behavior:smooth;
}
.hourly-item{
    flex:0 0 auto;
    min-width:80px;
    background:var(--bg-alt);
    border-radius:var(--radius-sm);
    padding:12px 8px;
    text-align:center;
    transition:all var(--transition);
    border:1px solid transparent;
}
.hourly-item:hover{
    background:#fff;
    border-color:var(--accent2);
    transform:translateY(-2px);
    box-shadow:var(--shadow-sm);
}
.hourly-time{
    font-size:.78rem;color:var(--muted);
    font-weight:600;margin-bottom:6px;
}
.hourly-icon{
    width:48px;height:48px;
    margin:0 auto 6px;
    display:flex;align-items:center;justify-content:center;
}
.hourly-temp{font-size:1.1rem;font-weight:700}
.hourly-precip{
    font-size:.7rem;color:var(--accent2);
    margin-top:2px;font-weight:600;
}

/* ─── FORECAST GRID (10 GÜNLÜK KARTLAR) ────────────────────── */
.forecast-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
    gap:14px;
    margin:24px 0;
}
.forecast-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:16px 12px;
    text-align:center;
    transition:all var(--transition);
    position:relative;
}
.forecast-card:hover{
    box-shadow:var(--shadow-md);
    transform:translateY(-2px);
    border-color:var(--accent2);
}
.forecast-card.today{
    background:linear-gradient(135deg,#fff 0%,#f0f9ff 100%);
    border-color:var(--accent2);
    box-shadow:0 4px 12px rgba(14,165,233,.15);
}
.forecast-card.today::after{
    content:'BUGÜN';
    position:absolute;top:-8px;left:50%;
    transform:translateX(-50%);
    background:var(--accent2);color:#fff;
    font-size:.65rem;font-weight:700;letter-spacing:.05em;
    padding:2px 10px;border-radius:999px;
    box-shadow:0 2px 4px rgba(14,165,233,.3);
}
.forecast-day{
    font-size:.85rem;font-weight:700;color:var(--primary);
    margin-bottom:2px;
}
.forecast-date{
    font-size:.72rem;color:var(--muted);
    margin-bottom:10px;
}
.forecast-icon{
    width:72px;height:72px;
    margin:0 auto 8px;
    display:flex;align-items:center;justify-content:center;
}
.forecast-desc{
    font-size:.78rem;color:var(--text-soft);
    margin-bottom:10px;
    min-height:1.4em;line-height:1.3;
}
.forecast-temps{
    display:flex;justify-content:center;align-items:baseline;
    gap:8px;
    margin-bottom:10px;
}
.temp-high{font-size:1.4rem;font-weight:800;letter-spacing:-.02em}
.temp-low{font-size:.95rem;color:var(--muted);font-weight:600}
.forecast-meta{
    display:flex;justify-content:space-around;
    padding-top:10px;
    border-top:1px solid var(--border-soft);
    font-size:.7rem;color:var(--muted);
}
.meta-item{display:flex;flex-direction:column;align-items:center;gap:2px}
.meta-rain::before{content:'💧';font-size:.85rem;opacity:.7}
.meta-humid::before{content:'💧';font-size:.85rem;opacity:.5}
.meta-wind::before{content:'💨';font-size:.85rem;opacity:.7}

/* ─── FORECAST DETAILS (DETAILED TABLE) ─────────────────────── */
.forecast-details{
    margin:24px 0;
    background:var(--card);
    border-radius:var(--radius);
    border:1px solid var(--border);
    overflow:hidden;
}
.forecast-details summary{
    padding:16px 20px;
    cursor:pointer;font-weight:600;
    color:var(--primary);
    transition:background var(--transition);
    list-style:none;
    display:flex;align-items:center;justify-content:space-between;
}
.forecast-details summary::-webkit-details-marker{display:none}
.forecast-details summary::after{
    content:'▾';margin-left:auto;
    transition:transform var(--transition);
}
.forecast-details[open] summary::after{transform:rotate(180deg)}
.forecast-details summary:hover{background:var(--bg-alt)}

.forecast-table-wrapper{overflow-x:auto;margin-top:-1px}
.forecast-table{width:100%;border-collapse:collapse;font-size:.88rem}
.forecast-table thead{background:var(--primary);color:#fff}
.forecast-table th{
    padding:12px 14px;text-align:left;
    font-weight:600;white-space:nowrap;
    font-size:.82rem;
    text-transform:uppercase;letter-spacing:.03em;
}
.forecast-table td{padding:12px 14px;border-bottom:1px solid var(--border-soft)}
.forecast-table tbody tr:hover{background:var(--bg-alt)}
.forecast-table tr.today{background:rgba(14,165,233,.05)}
.forecast-table .day-name{font-weight:700;color:var(--primary);white-space:nowrap}
.forecast-table .condition{display:flex;align-items:center;gap:8px;min-width:180px}
.forecast-table .weather-icon{display:flex;flex-shrink:0;width:36px;height:36px}
.forecast-table .temp{font-weight:700;font-size:1rem}
.forecast-table .humidity,.forecast-table .wind,.forecast-table .precip{color:var(--muted)}
.forecast-table .date{white-space:nowrap;color:var(--muted);font-size:.82rem}

/* ─── DISTRICT NAV ─────────────────────────────────────────── */
.districts-section{margin:40px 0}
.districts-section h2{margin-bottom:16px;font-size:1.4rem;color:var(--primary)}
.district-nav-links{
    display:flex;flex-wrap:wrap;gap:8px;
    overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;
}
.district-link{
    background:var(--card);border:1px solid var(--border);
    padding:8px 16px;border-radius:999px;
    text-decoration:none;color:var(--text);
    font-size:.85rem;font-weight:500;
    transition:all var(--transition);
    white-space:nowrap;
    flex-shrink:0;
}
.district-link:hover{
    background:var(--accent2);color:#fff;
    border-color:var(--accent2);
    transform:translateY(-1px);
}

/* ─── CITY NAV ──────────────────────────────────────────────── */
.city-nav{margin:30px 0}
.city-nav-group{margin-bottom:24px}
.city-nav-group h3{font-size:1.05rem;margin-bottom:10px;color:var(--primary)}
.city-nav-links{display:flex;flex-wrap:wrap;gap:6px}
.city-link{
    padding:6px 14px;
    background:var(--card);border:1px solid var(--border);
    border-radius:6px;text-decoration:none;
    color:var(--text);font-size:.82rem;
    transition:all var(--transition);
}
.city-link:hover,.city-link.active{
    background:var(--accent2);color:#fff;
    border-color:var(--accent2);
}

/* ─── SEO CONTENT ───────────────────────────────────────────── */
.seo-content,.seo-intro,.seo-faq{
    margin:32px 0;padding:28px;
    background:var(--card);border-radius:var(--radius);
    border:1px solid var(--border);
    box-shadow:var(--shadow-sm);
}
.seo-content h2,.seo-intro h2,.seo-faq h2{font-size:1.4rem;color:var(--primary);margin-bottom:14px}
.seo-content p,.seo-intro p{color:var(--text-soft);line-height:1.8;margin-bottom:12px}
.intro-text p:last-child{margin-bottom:0}
.faq-item{padding:14px 0;border-bottom:1px solid var(--border-soft)}
.faq-item:last-child{border-bottom:none}
.faq-question{
    font-size:1.02rem;font-weight:600;
    margin-bottom:6px;color:var(--primary);
    display:flex;align-items:center;gap:8px;
}
.faq-question::before{
    content:'?';color:var(--accent);
    background:rgba(245,158,11,.15);
    width:24px;height:24px;
    border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    font-size:.85rem;font-weight:700;
    flex-shrink:0;
}
.faq-answer{color:var(--text-soft);line-height:1.7;padding-left:32px}

/* ─── RELATED CITIES ────────────────────────────────────────── */
.related-cities{margin:40px 0}
.related-cities h2{font-size:1.4rem;margin-bottom:16px;color:var(--primary)}
.related-cities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.related-city-card{
    display:flex;align-items:center;justify-content:space-between;
    background:var(--card);border:1px solid var(--border);
    padding:12px 16px;border-radius:var(--radius-sm);
    text-decoration:none;color:var(--text);
    transition:all var(--transition);
}
.related-city-card:hover{
    border-color:var(--accent2);
    box-shadow:var(--shadow);
    transform:translateY(-1px);
}
.city-name{font-weight:600;font-size:.9rem}
.city-plate{
    font-size:.72rem;color:var(--muted);
    background:var(--bg-alt);
    padding:2px 8px;border-radius:4px;font-weight:600;
}

/* ─── SEO TEXT SECTION (HOMEPAGE) ──────────────────────────── */
.seo-text-section{
    padding:50px 0;
    background:linear-gradient(180deg,var(--card) 0%,var(--bg-alt) 100%);
    border-top:1px solid var(--border);
}
.seo-text-section h2{font-size:1.7rem;margin-bottom:16px;color:var(--primary);letter-spacing:-.01em}
.seo-text-section h3{font-size:1.2rem;margin:24px 0 10px;color:var(--primary)}
.seo-text-section p{color:var(--text-soft);line-height:1.85;margin-bottom:12px}
.seo-text-section ul{margin:12px 0 12px 24px;color:var(--text-soft)}
.seo-text-section li{margin-bottom:6px;line-height:1.7}
.seo-text-section a{color:var(--accent2);font-weight:500;text-decoration:underline}

/* ─── FOOTER ────────────────────────────────────────────────── */
.site-footer{
    background:linear-gradient(180deg,#082f49 0%,#0c4a6e 100%);
    color:rgba(255,255,255,.75);
    padding:50px 0 20px;
    margin-top:auto;
    position:relative;
}
.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:40px;margin-bottom:32px;
}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:14px;font-weight:600}
.footer-col a{
    display:block;
    color:rgba(255,255,255,.7);
    text-decoration:none;
    font-size:.85rem;padding:4px 0;
    transition:color var(--transition);
}
.footer-col a:hover{color:var(--accent)}
.footer-brand p{font-size:.88rem;line-height:1.7;color:rgba(255,255,255,.65)}
.footer-logo{
    display:flex;align-items:center;gap:8px;
    color:#fff;font-weight:700;font-size:1.05rem;
    margin-bottom:12px;
}
.footer-logo-icon{
    width:34px;height:34px;
    background:rgba(255,255,255,.1);
    border-radius:8px;
    padding:5px;
    display:flex;align-items:center;justify-content:center;
}
.footer-attr{
    font-size:.78rem;
    color:rgba(255,255,255,.5);
    margin-top:10px;line-height:1.5;
}
.footer-attr a{display:inline;color:rgba(255,255,255,.7);text-decoration:underline}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);
    padding-top:20px;text-align:center;
    font-size:.8rem;color:rgba(255,255,255,.5);
    display:flex;justify-content:space-between;
    flex-wrap:wrap;gap:8px;
}
.footer-credits{color:rgba(255,255,255,.4);font-size:.75rem}

/* ─── NO Data ───────────────────────────────────────────────── */
.no-data{
    text-align:center;padding:60px 20px;
    background:var(--card);border-radius:var(--radius);
    color:var(--muted);border:1px solid var(--border);
}
.no-data-icon{
    width:80px;height:80px;
    margin:0 auto 16px;
    opacity:.5;
}
.no-data p{margin-bottom:6px}
.no-data-hint{font-size:.85rem;color:var(--muted)}

/* ─── RESPONSIVE ───────────────────────────────────────────── */
@media(max-width:1024px){
    .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
    .current-meta-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .header-inner{justify-content:space-between;gap:12px}
    .main-nav{
        display:none;flex-direction:column;
        position:absolute;top:60px;left:0;right:0;
        background:var(--primary-dark);
        padding:16px;
        border-radius:0 0 12px 12px;
        box-shadow:var(--shadow-lg);
    }
    .main-nav.open{display:flex}
    .main-nav a{padding:10px 14px;border-radius:8px}
    .mobile-menu-toggle{display:flex}
    .hero{padding:50px 0 40px}
    .hero h1{font-size:1.7rem}
    .hero p{font-size:.95rem}
    .weather-page-header{flex-direction:column;align-items:stretch}
    .current-weather-card{min-width:0;width:100%}
    .forecast-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
    .forecast-card{padding:12px 8px}
    .forecast-icon{width:60px;height:60px}
    .city-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
    .footer-grid{grid-template-columns:1fr;gap:24px}
    .footer-bottom{flex-direction:column;text-align:center}
    .seo-content,.seo-intro,.seo-faq{padding:20px 16px}
    .forecast-table{font-size:.8rem}
    .forecast-table th,.forecast-table td{padding:8px 10px}
    .forecast-table .condition{min-width:140px}
}
@media(max-width:480px){
    .city-grid{grid-template-columns:1fr 1fr}
    .hero h1{font-size:1.4rem}
    .weather-page-title h1{font-size:1.4rem}
    .current-temp{font-size:3rem}
    .current-icon-large{width:90px;height:90px;padding:10px}
    .forecast-grid{grid-template-columns:1fr 1fr}
    .current-meta-grid{grid-template-columns:1fr 1fr}
    .hero-search-input{padding:14px 16px 14px 44px;font-size:.95rem}
    .hero-search-icon{left:14px;width:18px;height:18px}
}

/* ─── SCROLLBAR ─────────────────────────────────────────────── */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg-alt)}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px;border:2px solid var(--bg-alt)}
::-webkit-scrollbar-thumb:hover{background:#94a3b8}

.hourly-strip::-webkit-scrollbar{height:6px}
.district-nav-links::-webkit-scrollbar{height:6px}
.search-results::-webkit-scrollbar,.hero-search-results::-webkit-scrollbar{width:6px}

/* ─── ANIMATIONS ───────────────────────────────────────────── */
@keyframes spin-slow{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

.wi-icon[src*="sun"]{animation:spin-slow 60s linear infinite}
.city-card-icon .wi-icon{animation:float 3s ease-in-out infinite}

/* Selection */
::selection{background:var(--accent2);color:#fff}

/* Focus */
*:focus-visible{outline:2px solid var(--accent2);outline-offset:2px;border-radius:4px}
