:root {
            --bg:#f5f7fb;
            --card:#ffffff;
            --text:#111827;
            --muted:#64748b;
            --line:#e2e8f0;
            --soft:#eef6ff;
            --accent:#2563eb;
            --accent-dark:#1d4ed8;
            --accent-soft:#dbeafe;
            --success:#16a34a;
            --warning:#f59e0b;
            --shadow:0 18px 45px rgba(15,23,42,.10);
            --radius:22px;
        }

.theme-blue {
            --bg:#f5f7fb;
            --card:#ffffff;
            --text:#111827;
            --muted:#64748b;
            --line:#e2e8f0;
            --soft:#eef6ff;
            --accent:#2563eb;
            --accent-dark:#1d4ed8;
            --accent-soft:#dbeafe;
            --topbar:#0f172a;
            --topnav:#cbd5e1;
            --hero-grad-1:var(--hero-grad-1);
            --hero-grad-2:#f8fbff;
        }

        .theme-dark {
            --bg:#101827;
            --card:#172033;
            --text:#f8fafc;
            --muted:#cbd5e1;
            --line:#26364f;
            --soft:#1e293b;
            --accent:#38bdf8;
            --accent-dark:#7dd3fc;
            --accent-soft:#123247;
            --topbar:#050816;
            --topnav:#dbeafe;
            --hero-grad-1:rgba(56,189,248,.18);
            --hero-grad-2:#172033;
            --shadow:0 18px 45px rgba(0,0,0,.28);
        }

        .theme-green {
            --bg:#f2fbf6;
            --card:#ffffff;
            --text:#102017;
            --muted:#52645a;
            --line:#d8eadf;
            --soft:#e8f8ee;
            --accent:#16a34a;
            --accent-dark:#15803d;
            --accent-soft:#dcfce7;
            --topbar:#052e16;
            --topnav:#bbf7d0;
            --hero-grad-1:rgba(22,163,74,.14);
            --hero-grad-2:#f7fff9;
        }

        .theme-warm {
            --bg:#fff8ed;
            --card:#ffffff;
            --text:#23180d;
            --muted:#7c6a55;
            --line:#f1dfc4;
            --soft:#fff2d8;
            --accent:#d97706;
            --accent-dark:#b45309;
            --accent-soft:#fef3c7;
            --topbar:#3b2206;
            --topnav:#fde68a;
            --hero-grad-1:rgba(217,119,6,.16);
            --hero-grad-2:#fffaf0;
        }

        .theme-purple {
            --bg:#f8f5ff;
            --card:#ffffff;
            --text:#1f1633;
            --muted:#6d5f83;
            --line:#e7def8;
            --soft:#f1eaff;
            --accent:#7c3aed;
            --accent-dark:#6d28d9;
            --accent-soft:#ede9fe;
            --topbar:#24103f;
            --topnav:#ddd6fe;
            --hero-grad-1:rgba(124,58,237,.15);
            --hero-grad-2:#fbf8ff;
        }

        * {
            box-sizing:border-box;
        }

        body {
            margin:0;
            font-family:Arial, Helvetica, sans-serif;
            background:var(--bg);
            color:var(--text);
            line-height:1.55;
        }

        a {
            color:inherit;
            text-decoration:none;
        }

        .wrap {
            width:min(1120px, calc(100% - 28px));
            margin:0 auto;
        }

        .topbar {
            background:var(--topbar);
            color:#fff;
            padding:12px 0;
        }

        .topbar-inner {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:16px;
        }

        .brand {
            font-weight:800;
            letter-spacing:-.02em;
            font-size:18px;
        }

        .topnav {
            display:flex;
            gap:16px;
            font-size:14px;
            color:var(--topnav);
        }

        .hero {
            padding:34px 0 24px;
        }

        .hero-grid {
            display:grid;
            grid-template-columns:minmax(0, 1.25fr) minmax(300px, .75fr);
            gap:22px;
            align-items:stretch;
        }

        .hero-card,
        .side-card,
        .section-card,
        .rank-card {
            background:var(--card);
            border:1px solid var(--line);
            border-radius:var(--radius);
            box-shadow:var(--shadow);
        }

        .hero-card {
            padding:28px;
            background:
                radial-gradient(circle at 15% 15%, var(--hero-grad-1), transparent 32%),
                linear-gradient(135deg, var(--card) 0%, var(--hero-grad-2) 100%);
        }

        .kicker {
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:6px 11px;
            border-radius:999px;
            background:var(--accent-soft);
            color:var(--accent-dark);
            font-size:13px;
            font-weight:700;
            margin-bottom:14px;
        }

        h1 {
            margin:0;
            font-size:clamp(32px, 5vw, 56px);
            line-height:1.02;
            letter-spacing:-.045em;
        }

        .hero-subtitle {
            margin:18px 0 0;
            font-size:18px;
            color:var(--muted);
            max-width:760px;
        }

        .hero-actions {
            display:flex;
            gap:12px;
            flex-wrap:wrap;
            margin-top:24px;
        }

        .btn {
            display:inline-flex;
            justify-content:center;
            align-items:center;
            min-height:46px;
            padding:12px 18px;
            border-radius:999px;
            font-weight:800;
            border:1px solid transparent;
            cursor:pointer;
        }

        .btn-primary {
            background:var(--accent);
            color:#fff;
            box-shadow:0 12px 28px rgba(37,99,235,.24);
        }

        .btn-primary:hover {
            background:var(--accent-dark);
        }

        .btn-secondary {
            background:var(--card);
            border-color:var(--line);
            color:var(--text);
        }

        .trust-row {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:10px;
            margin-top:24px;
        }

        .trust-item {
            border:1px solid var(--line);
            background:var(--card);
            border-radius:16px;
            padding:12px;
            font-size:13px;
            color:var(--muted);
        }

        .trust-item strong {
            display:block;
            color:var(--text);
            font-size:14px;
            margin-bottom:3px;
        }

        .side-card {
            padding:22px;
        }

        .side-title {
            margin:0 0 12px;
            font-size:20px;
            letter-spacing:-.02em;
        }

        .quick-list {
            display:grid;
            gap:10px;
            margin-top:14px;
        }

        .quick-item {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
            padding:12px;
            border:1px solid var(--line);
            border-radius:16px;
            background:var(--soft);
            font-size:14px;
            color:var(--muted);
        }

        .quick-rank {
            width:30px;
            height:30px;
            border-radius:50%;
            background:var(--topbar);
            color:#fff;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            font-weight:800;
            flex:0 0 auto;
        }

        .ad-slot {
            min-height:90px;
            border:1px dashed var(--line);
            border-radius:18px;
            background:var(--soft);
            margin:18px auto;
            display:flex;
            align-items:center;
            justify-content:center;
            color:var(--muted);
            font-size:13px;
            text-align:center;
        }

        .ad-slot:empty {
            display:none;
        }

        .section {
            padding:22px 0;
        }

        .section-head {
            display:flex;
            align-items:flex-end;
            justify-content:space-between;
            gap:18px;
            margin-bottom:16px;
        }

        .section-head h2 {
            margin:0;
            font-size:clamp(26px, 3vw, 38px);
            letter-spacing:-.035em;
        }

        .section-head p {
            margin:8px 0 0;
            color:var(--muted);
            max-width:720px;
        }

        .rank-list {
            display:grid;
            gap:14px;
        }

        .rank-card {
            padding:16px;
            display:grid;
            grid-template-columns:58px minmax(0, 1fr) auto;
            gap:16px;
            align-items:center;
            position:relative;
            overflow:hidden;
        }

        .rank-card:first-child {
            border-color:#bfdbfe;
            background:linear-gradient(135deg, var(--card) 0%, var(--soft) 100%);
        }

        .rank-card:first-child::before {
            content:"TOP IZBOR";
            position:absolute;
            top:0;
            right:0;
            background:#16a34a;
            color:#fff;
            padding:6px 12px;
            border-bottom-left-radius:14px;
            font-size:12px;
            font-weight:900;
            letter-spacing:.04em;
        }

        .rank-card.is-sponsored {
            border-color:#fbbf24;
            background:linear-gradient(135deg, var(--card) 0%, var(--soft) 100%);
        }

        .rank-card.is-sponsored .rank-num {
            background:#92400e;
        }

        .rating-line {
            margin-top:7px;
            color:#f59e0b;
            font-size:14px;
            font-weight:900;
            letter-spacing:1px;
        }

        .review-link {
            display:inline-flex;
            margin-top:8px;
            font-size:14px;
            font-weight:800;
            color:var(--accent-dark);
        }

        .review-link:hover {
            text-decoration:underline;
        }

        .rank-num {
            width:46px;
            height:46px;
            border-radius:16px;
            background:var(--topbar);
            color:#fff;
            display:flex;
            align-items:center;
            justify-content:center;
            font-weight:900;
            font-size:18px;
        }

        .rank-main {
            min-width:0;
        }

        .rank-title {
            display:flex;
            align-items:center;
            gap:10px;
            flex-wrap:wrap;
            margin:0 0 5px;
            font-size:20px;
            letter-spacing:-.02em;
        }

        .rank-title img {
            width:28px;
            height:28px;
            border-radius:7px;
            object-fit:cover;
            border:1px solid var(--line);
            background:var(--card);
        }

        .rank-desc {
            margin:0;
            color:var(--muted);
            font-size:15px;
        }

        .badges {
            display:flex;
            gap:6px;
            flex-wrap:wrap;
            margin-top:9px;
        }

        .badge {
            display:inline-flex;
            align-items:center;
            border-radius:999px;
            padding:4px 8px;
            background:var(--soft);
            color:var(--muted);
            font-size:12px;
            font-weight:700;
        }

        .badge:first-child {
            background:var(--accent-soft);
            color:var(--accent-dark);
        }

        .rank-action {
            display:flex;
            flex-direction:column;
            gap:8px;
            align-items:flex-end;
        }

        .small-note {
            color:var(--muted);
            font-size:12px;
        }

        .empty-state {
            padding:24px;
            background:var(--card);
            border:1px dashed var(--line);
            border-radius:var(--radius);
            color:var(--muted);
        }

        .cards-grid {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:14px;
        }

        .section-card {
            padding:20px;
        }

        .section-card h3 {
            margin:0 0 8px;
            font-size:20px;
            letter-spacing:-.02em;
        }

        .section-card p {
            margin:0;
            color:var(--muted);
        }

        .seo-box {
            background:var(--card);
            border:1px solid var(--line);
            border-radius:var(--radius);
            padding:26px;
            box-shadow:var(--shadow);
        }

        .seo-box h2 {
            margin:0 0 12px;
            font-size:30px;
            letter-spacing:-.03em;
        }

        .seo-box p {
            color:var(--muted);
            margin:0 0 13px;
        }

        .mobile-sticky {
            display:none;
            position:fixed;
            left:0;
            right:0;
            bottom:0;
            z-index:50;
            background:rgba(255,255,255,.96);
            border-top:1px solid var(--line);
            padding:10px 14px;
            box-shadow:0 -10px 30px rgba(15,23,42,.12);
        }

        .mobile-sticky .btn {
            width:100%;
        }

        footer {
            margin-top:30px;
            padding:26px 0 84px;
            color:var(--muted);
            font-size:14px;
            text-align:center;
        }

        @media (max-width: 820px) {
            .topnav {
                display:none;
            }

            .hero {
                padding-top:22px;
            }

            .hero-grid {
                grid-template-columns:1fr;
            }

            .hero-card {
                padding:22px;
            }

            .trust-row,
            .cards-grid {
                grid-template-columns:1fr;
            }

            .rank-card {
                grid-template-columns:44px minmax(0, 1fr);
            }

            .rank-num {
                width:40px;
                height:40px;
                border-radius:14px;
            }

            .rank-action {
                grid-column:1 / -1;
                align-items:stretch;
            }

            .rank-action .btn {
                width:100%;
            }

            .section-head {
                display:block;
            }

            .mobile-sticky {
                display:block;
            }
        }

.breadcrumb-wrap {
    border-bottom:1px solid rgba(15,23,42,.08);
    background:rgba(255,255,255,.72);
}

.breadcrumb {
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 0;
    font-size:13px;
    color:#64748b;
}

.breadcrumb a {
    color:inherit;
    text-decoration:none;
    font-weight:700;
}

.breadcrumb a:hover {
    color:var(--accent);
}

.breadcrumb span {
    display:inline-flex;
    align-items:center;
}


/* Polished breadcrumb */
.breadcrumb-wrap {
    border-bottom:0;
    background:transparent;
}

.breadcrumb {
    padding:22px 0 0;
    font-family:inherit;
    font-size:15px;
    line-height:1.4;
    font-weight:600;
    color:var(--text);
}

.breadcrumb a {
    color:var(--text);
    text-decoration:none;
    font-weight:800;
}

.breadcrumb a:hover {
    color:var(--accent);
}

.breadcrumb span {
    color:#64748b;
}

.breadcrumb span:last-child {
    color:var(--text);
    font-weight:800;
}


/* Strong breadcrumb override */
body .breadcrumb-wrap {
    border-bottom:0 !important;
    background:transparent !important;
}

body .breadcrumb-wrap .breadcrumb {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:18px 0 18px !important;
    font-family:inherit !important;
    font-size:15px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    color:var(--muted) !important;
}

body .breadcrumb-wrap .breadcrumb a {
    color:var(--text) !important;
    text-decoration:none !important;
    font-weight:900 !important;
}

body .breadcrumb-wrap .breadcrumb a:hover {
    color:var(--accent) !important;
}

body .breadcrumb-wrap .breadcrumb span {
    display:inline-flex !important;
    align-items:center !important;
    color:var(--muted) !important;
}

body .breadcrumb-wrap .breadcrumb span:last-child {
    color:var(--text) !important;
    font-weight:900 !important;
}


.section-actions {
    display:flex;
    justify-content:center;
    margin-top:22px;
}

.section-actions .btn {
    min-width:220px;
}


.review-city-pills {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin:22px auto 0;
}

.review-city-pills a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 14px;
    border-radius:999px;
    border:1px solid var(--border);
    background:#fff;
    color:var(--text);
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
}

.review-city-pills a:hover,
.review-city-pills a.is-active {
    border-color:var(--accent);
    background:var(--accent);
    color:#fff;
}

