/*
Theme Name: Radar Noktaları
Theme URI: https://radarnoktalari.com.tr
Author: Radar Noktaları
Author URI: https://radarnoktalari.com.tr
Description: 81 il için radar noktaları ve hız koridoru listesi teması. Seçmeli güzergah sorgusu: kullanıcı il/ilçe seçer, sonuç anında listelenir ve önbelleğe alınır. Arkada tarama yok, cron yok, hata yok. Aktivasyonda Ana Sayfa + 81 il sayfası + Hakkında/İletişim hazır kurulur. Arama niyetine göre otomatik SEO şablonu: meta başlık/açıklama, SSS, diğer aramalar, JSON-LD.
Version: 2.3.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: radar-noktalari
Tags: news, custom-menu, custom-colors, translation-ready
*/

:root {
        --rn-bg: #f6f7f9;
        --rn-card: #ffffff;
        --rn-ink: #16181d;
        --rn-mut: #5c6470;
        --rn-line: #e3e6eb;
        --rn-brand: #b3261e;
        --rn-brand-dark: #8c1d17;
        --rn-amber: #b45309;
        --rn-amber-bg: #fef3c7;
        --rn-green: #15803d;
        --rn-green-bg: #dcfce7;
        --rn-blue: #1d4ed8;
        --rn-blue-bg: #dbeafe;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
        margin: 0;
        background: var(--rn-bg);
        color: var(--rn-ink);
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        font-size: 16px;
        line-height: 1.55;
}

a { color: var(--rn-brand); text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; height: auto; }

/* ---- header ---- */
.rn-header {
        background: #14161b;
        color: #fff;
        padding: 0 20px;
}
.rn-header-in {
        max-width: 1080px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        min-height: 62px;
        flex-wrap: wrap;
        padding: 8px 0;
}
.rn-logo {
        color: #fff;
        font-weight: 800;
        font-size: 20px;
        letter-spacing: -0.02em;
        display: inline-flex;
        align-items: center;
        gap: 9px;
}
.rn-logo:hover { text-decoration: none; }
.rn-logo .cam {
        width: 26px; height: 26px; border-radius: 7px;
        background: var(--rn-brand);
        display: inline-flex; align-items: center; justify-content: center;
        font-size: 14px; flex: 0 0 auto;
}
.rn-nav { display: flex; gap: 4px; flex-wrap: wrap; }
.rn-nav a {
        color: #cfd4dc;
        padding: 7px 11px;
        border-radius: 8px;
        font-size: 14.5px;
        font-weight: 600;
}
.rn-nav a:hover { color: #fff; background: #24262e; text-decoration: none; }
.rn-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; flex-wrap: wrap; }

/* ---- layout ---- */
.rn-wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.rn-main { padding: 26px 0 40px; }

/* ---- hero ---- */
.rn-hero {
        background: linear-gradient(135deg, #14161b 0%, #2a1210 100%);
        color: #fff;
        border-radius: 16px;
        padding: 34px 28px;
        margin-bottom: 24px;
}
.rn-hero h1 { margin: 0 0 8px; font-size: 30px; line-height: 1.2; letter-spacing: -0.02em; }
.rn-hero p { margin: 0 0 18px; color: #c9cdd6; max-width: 720px; }
.rn-hero .stats { display: flex; gap: 12px; flex-wrap: wrap; }
.rn-hero .stat {
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(255,255,255,.14);
        border-radius: 12px;
        padding: 10px 16px;
        min-width: 110px;
}
.rn-hero .stat b { display: block; font-size: 22px; }
.rn-hero .stat span { font-size: 12.5px; color: #aeb4bf; }

/* ---- cards & sections ---- */
.rn-card {
        background: var(--rn-card);
        border: 1px solid var(--rn-line);
        border-radius: 14px;
        padding: 20px;
        margin-bottom: 18px;
}
.rn-card h2 { margin: 0 0 12px; font-size: 20px; }
.rn-card h3 { margin: 18px 0 10px; font-size: 16.5px; }

/* ---- province grid (home) ---- */
.rn-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 10px;
}
.rn-prov {
        background: var(--rn-card);
        border: 1px solid var(--rn-line);
        border-radius: 12px;
        padding: 11px 13px;
        display: block;
        color: var(--rn-ink);
        font-weight: 700;
        font-size: 14.5px;
}
.rn-prov:hover { border-color: var(--rn-brand); text-decoration: none; }
.rn-prov small { display: block; font-weight: 500; color: var(--rn-mut); font-size: 12px; margin-top: 2px; }

/* ---- breadcrumb ---- */
.rn-crumbs { font-size: 13.5px; color: var(--rn-mut); margin-bottom: 14px; }
.rn-crumbs a { color: var(--rn-mut); text-decoration: underline; }

/* ---- chips (district links) ---- */
.rn-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rn-chip {
        background: #fff;
        border: 1px solid var(--rn-line);
        border-radius: 999px;
        padding: 5px 13px;
        font-size: 13.5px;
        font-weight: 600;
        color: var(--rn-ink);
}
.rn-chip:hover { border-color: var(--rn-brand); text-decoration: none; }
.rn-chip .n { color: var(--rn-mut); font-weight: 500; }
.rn-chip.is-empty { opacity: .55; }

/* ---- corridor list ---- */
.rn-list { list-style: none; margin: 0; padding: 0; }
.rn-list li {
        display: flex;
        gap: 13px;
        padding: 13px 4px;
        border-top: 1px solid var(--rn-line);
        align-items: flex-start;
}
.rn-list li:first-child { border-top: 0; }
.rn-idx {
        flex: 0 0 30px; height: 30px;
        border-radius: 8px;
        background: var(--rn-amber-bg);
        color: var(--rn-amber);
        font-weight: 800;
        font-size: 13.5px;
        display: flex; align-items: center; justify-content: center;
        margin-top: 2px;
}
.rn-cor-name { font-weight: 700; font-size: 15px; line-height: 1.4; }
.rn-cor-meta { color: var(--rn-mut); font-size: 13.5px; margin-top: 3px; display: flex; gap: 14px; flex-wrap: wrap; }
.rn-cor-meta b { color: var(--rn-ink); font-weight: 700; }
.rn-lim {
        color: var(--rn-brand);
        font-weight: 800;
}
.rn-badges { display: inline-flex; gap: 6px; margin-left: 8px; vertical-align: 1px; }
.rn-badge {
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .03em;
        padding: 2px 8px;
        border-radius: 999px;
        text-transform: uppercase;
}
.rn-badge.is-new { background: var(--rn-green-bg); color: var(--rn-green); }
.rn-badge.is-away { background: #fee2e2; color: #b91c1c; }

/* ---- district section on province page ---- */
.rn-dist-block { margin-top: 8px; }
.rn-dist-block h3 {
        display: flex; align-items: baseline; gap: 10px;
        border-bottom: 2px solid var(--rn-line);
        padding-bottom: 7px;
}
.rn-dist-block h3 small { font-weight: 500; color: var(--rn-mut); font-size: 12.5px; }

/* ---- source box ---- */
.rn-source {
        display: flex;
        gap: 12px;
        align-items: flex-start;
        background: var(--rn-blue-bg);
        border: 1px solid #bfdbfe;
        border-radius: 12px;
        padding: 13px 15px;
        font-size: 13.5px;
        color: #1e3a8a;
        margin-top: 16px;
}
.rn-source .dot { font-size: 18px; line-height: 1; }
.rn-source a { color: #1d4ed8; font-weight: 700; }
.rn-upd { color: var(--rn-mut); font-size: 12.5px; margin-top: 10px; }

/* ---- notice (veri toplanıyor) ---- */
.rn-notice {
        background: var(--rn-amber-bg);
        border: 1px solid #fde68a;
        color: #7c2d12;
        border-radius: 12px;
        padding: 13px 15px;
        font-size: 14px;
        margin-bottom: 16px;
}

/* ---- tables (count summary) ---- */
.rn-counts { display: flex; gap: 12px; flex-wrap: wrap; margin: 4px 0 6px; }
.rn-counts .c {
        background: #fff;
        border: 1px solid var(--rn-line);
        border-radius: 12px;
        padding: 10px 16px;
        min-width: 130px;
}
.rn-counts .c b { display: block; font-size: 21px; }
.rn-counts .c span { font-size: 12.5px; color: var(--rn-mut); }

/* ---- prose ---- */
.rn-prose { font-size: 15.5px; }
.rn-prose p { margin: 0 0 12px; }
.rn-prose h2 { font-size: 20px; margin: 20px 0 10px; }
.rn-prose ul { margin: 0 0 12px; padding-left: 20px; }
.rn-prose li { margin-bottom: 7px; }

.rn-flash {
        padding: 12px 16px;
        border-radius: 10px;
        font-size: 14.5px;
        font-weight: 600;
        margin-bottom: 16px;
}
.rn-flash.is-ok { background: var(--rn-green-bg); color: var(--rn-green); }
.rn-flash.is-err { background: #fee2e2; color: #b91c1c; }

.rn-form p { margin: 0 0 14px; }
.rn-form label {
        display: block;
        font-size: 13.5px;
        font-weight: 700;
        margin-bottom: 5px;
        color: var(--rn-mut);
}
.rn-form input[type="text"],
.rn-form input[type="email"],
.rn-form textarea {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid var(--rn-line);
        border-radius: 8px;
        font: inherit;
        font-size: 14.5px;
        background: #fff;
        color: var(--rn-ink);
}
.rn-form input:focus,
.rn-form textarea:focus {
        outline: 2px solid var(--rn-brand);
        outline-offset: 1px;
}
.rn-form textarea { resize: vertical; }
.rn-form .rn-hp {
        position: absolute;
        left: -9999px;
        height: 1px;
        width: 1px;
        overflow: hidden;
}
.rn-btn {
        display: inline-block;
        background: var(--rn-brand);
        color: #fff;
        border: 0;
        border-radius: 9px;
        padding: 11px 22px;
        font: inherit;
        font-weight: 700;
        font-size: 14.5px;
        cursor: pointer;
}
.rn-btn:hover { background: var(--rn-brand-dark); }

/* ---- footer ---- */
.rn-footer {
        background: #14161b;
        color: #aab1bc;
        margin-top: 30px;
        padding: 26px 20px;
        font-size: 13.5px;
}
.rn-footer-in { max-width: 1080px; margin: 0 auto; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.rn-footer a { color: #d7dbe2; }
.rn-footer ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px; flex-wrap: wrap; }

/* ---- admin status table ---- */
.rn-admin-status { max-width: 760px; }
.rn-admin-status table { border-collapse: collapse; width: 100%; }
.rn-admin-status td { padding: 6px 10px 6px 0; border-bottom: 1px solid #e2e2e2; }
.rn-admin-status td:first-child { color: #555; width: 200px; }

@media (max-width: 640px) {
        .rn-hero { padding: 24px 18px; }
        .rn-hero h1 { font-size: 24px; }
        .rn-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
        .rn-list li { gap: 10px; }
}

/* ---- güzergah sorgula picker (v2.0.0 seçmeli model) ---- */
.rn-q {
        background: var(--rn-card);
        border: 1px solid var(--rn-line);
        border-radius: 12px;
        padding: 18px 20px;
        margin: 0 0 20px;
        box-shadow: 0 1px 2px rgba(22, 24, 29, .04);
}
.rn-q h3 { margin: 0 0 4px; font-size: 19px; }
.rn-q-sub { margin: 0 0 14px; color: var(--rn-mut); font-size: 14px; }
.rn-q-form {
        display: flex;
        gap: 14px;
        align-items: flex-end;
        flex-wrap: wrap;
}
.rn-q-side { display: flex; flex-direction: column; gap: 6px; min-width: 200px; flex: 1 1 210px; }
.rn-q-side label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--rn-mut); }
.rn-q-side select {
        width: 100%;
        padding: 9px 10px;
        font-size: 15px;
        border: 1px solid var(--rn-line);
        border-radius: 8px;
        background: #fff;
        color: var(--rn-ink);
}
.rn-q-side select:focus { outline: 2px solid #b9d2ec; border-color: #2a6db5; }
.rn-q-btn { flex: 0 0 auto; padding: 10px 22px !important; font-size: 15px; }
.rn-q-note { margin-top: 10px; color: var(--rn-mut); font-size: 13px; }
.rn-q-result { margin-top: 14px; }
.rn-q-result .rn-spin { margin: 0 6px 0 0; display: inline-block; vertical-align: -2px; }
.rn-q-head {
        display: flex;
        align-items: baseline;
        gap: 10px;
        flex-wrap: wrap;
        background: #eef4fb;
        border: 1px solid #cfe0f2;
        border-radius: 10px;
        padding: 10px 14px;
        margin: 0 0 12px;
        font-size: 15px;
}
.rn-q-head b { color: #14304f; }
.rn-q-meta { color: #4a6b8f; font-size: 13px; }
.rn-q-group h4 { margin: 14px 0 6px; font-size: 15px; }
.rn-q-group h4 small { color: var(--rn-mut); font-weight: 400; }
.rn-q-group .rn-list { margin-top: 0; }

.rn-spin {
        width: 15px; height: 15px; flex: 0 0 15px;
        border: 2px solid #b9d2ec; border-top-color: #2a6db5;
        border-radius: 50%;
        animation: rn-spin 0.9s linear infinite;
}
@keyframes rn-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rn-spin { animation: none; border-top-color: #2a6db5; } }

/* ---- SEO content blocks (v2.2.0) ---- */
.rn-prose h2 { font-size: 18px; margin: 20px 0 8px; }
.rn-prose h2:first-child { margin-top: 0; }
.rn-prose p { margin: 0 0 10px; }
.rn-sec { font-size: 21px; margin: 4px 0 12px; }
.rn-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rn-chips li {
        background: #f4f6f9;
        border: 1px solid var(--rn-line);
        border-radius: 999px;
        padding: 6px 14px;
        font-size: 13.5px;
        color: #3c4350;
}
.rn-chips a { color: #14304f; }
.rn-chips a:hover { text-decoration: underline; }
.rn-faq details { border-bottom: 1px solid var(--rn-line); padding: 10px 0; }
.rn-faq details:last-child { border-bottom: 0; }
.rn-faq summary { cursor: pointer; font-weight: 700; font-size: 15px; }
.rn-faq details p { margin: 8px 0 0; font-size: 14.5px; color: var(--rn-ink); }
.rn-rel .rn-chips { margin-top: 2px; }
