        /* ================= VARIABLES ================= */
        :root {
            --primary: #ED008E;
            --primary-hover: #c70078;
            --secondary: #31318F;
            --accent: #FEED01;
            --bg-light: #F5F5FA;
            --bg-white: #FFFFFF;
            --text-main: #1A1A2E;
            --text-muted: #6B7280;
            --border-color: #E5E7EB;
            --success: #10B981;

            --grad-hero: linear-gradient(135deg, #31318F 0%, #1a1a5e 50%, #31318F 100%);
            --grad-btn: linear-gradient(135deg, #ED008E, #c70078);
            --grad-accent: linear-gradient(135deg, #FEED01, #e6d600);

            --shadow-card: 0 4px 20px rgba(49, 49, 143, 0.08);
            --shadow-card-hover: 0 8px 32px rgba(237, 0, 142, 0.15);
            --shadow-header: 0 2px 10px rgba(0,0,0,0.06);

            --radius-card: 16px;
            --radius-btn: 12px;

            --transition: 0.3s ease;
        }

        /* ================= RESET & BASE ================= */
        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: 'Inter', sans-serif;
            color: var(--text-main);
            background-color: var(--bg-light);
            line-height: 1.6;
            overflow-x: hidden;
        }
        a { text-decoration: none; color: inherit; transition: var(--transition); }
        ul { list-style: none; }
        button, input, select { font-family: inherit; outline: none; border: none; }
        button { cursor: pointer; transition: var(--transition); }

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

        section { padding: 80px 0; }
        .bg-white { background-color: var(--bg-white); }
        .bg-light { background-color: var(--bg-light); }

        .section-title {
            text-align: center;
            font-size: 36px;
            color: var(--secondary);
            margin-bottom: 16px;
            font-weight: 700;
        }
        .section-divider {
            width: 60px;
            height: 3px;
            background-color: var(--primary);
            margin: 0 auto 48px;
            border-radius: 2px;
        }

        /* Animations */
        .animate-on-scroll {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .animate-on-scroll.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* ================= СЕКЦИЯ 1: TOPBAR & HEADER ================= */
        .topbar {
            background-color: var(--secondary);
            color: #fff;
            font-size: 14px;
            padding: 8px 0;
            transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.3s ease;
            max-height: 50px;
            overflow: hidden;
        }
        .topbar.hidden {
            max-height: 0;
            padding: 0;
            opacity: 0;
        }
        .topbar .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .topbar-left i, .topbar-center i { color: var(--accent); margin-right: 8px; }
        .topbar-center a:hover { color: var(--accent); }
        .topbar-right { display: flex; align-items: center; gap: 16px; }
        .social-icons a { color: #fff; font-size: 16px; }
        .social-icons a:hover { color: var(--accent); }

        .header {
            background: var(--bg-white);
            box-shadow: var(--shadow-header);
            position: sticky;
            top: 0;
            z-index: 1000;
            transition: box-shadow 0.3s;
        }
        .header.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,0.1); }
        .header .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 80px;
        }
        .logo { display: flex; align-items: center; }
        .logo-img { height: 36px; width: auto; display: block; }

        .nav-menu { display: flex; gap: 20px; }
        .nav-menu a {
            font-weight: 600;
            position: relative;
            padding-bottom: 4px;
        }
        .nav-menu a:hover, .nav-menu a.active { color: var(--primary); }
        .nav-menu a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 3px;
            background-color: var(--primary);
            transition: width 0.3s;
        }
        .nav-menu a:hover::after, .nav-menu a.active::after { width: 100%; }

        .header-actions { display: flex; gap: 8px; align-items: center; }
        .header-actions .btn-icon {
            width: 40px;
            height: 40px;
            padding: 0;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            color: #fff;
            border: none;
        }
        .btn-outline {
            border: 2px solid var(--secondary);
            color: var(--secondary);
            background: transparent;
            padding: 10px 20px;
            border-radius: var(--radius-btn);
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .btn-outline:hover { background: var(--secondary); color: #fff; }
        .btn-primary {
            background: var(--primary);
            color: #fff;
            padding: 10px 20px;
            border-radius: var(--radius-btn);
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .btn-primary:hover {
            background: var(--grad-btn);
            transform: scale(1.02);
            color: #fff;
        }

        .burger-btn { display: none; font-size: 24px; color: var(--text-main); background: none; }

        /* ================= СЕКЦИЯ 2: HERO ================= */
        .hero {
            background: var(--grad-hero);
            position: relative;
            padding: 60px 0;
            overflow: hidden;
            display: flex;
            align-items: center;
        }
        /* Decorative circles */
        .hero::before, .hero::after {
            content: '';
            position: absolute;
            border-radius: 50%;
            background: var(--primary);
            opacity: 0.05;
        }
        .hero::before { width: 600px; height: 600px; top: -200px; left: -100px; }
        .hero::after { width: 400px; height: 400px; bottom: -100px; right: -50px; }

        .hero-content { position: relative; z-index: 2; text-align: center; }
        .hero h1 { color: #fff; font-size: 48px; font-weight: 700; margin-bottom: 16px; }
        .hero p { color: rgba(255,255,255,0.85); font-size: 20px; margin-bottom: 20px; }

        .hero-badges {
            display: flex;
            justify-content: center;
            gap: 16px;
            margin-bottom: 32px;
            flex-wrap: wrap;
        }
        .hero-badge {
            background: rgba(255,255,255,0.15);
            color: #fff;
            padding: 8px 20px;
            border-radius: 20px;
            font-size: 14px;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .hero-badge i { color: var(--success); }

        .booking-form {
            background: var(--bg-white);
            border-radius: 20px;
            padding: 32px;
            box-shadow: 0 12px 40px rgba(0,0,0,0.2);
            display: flex;
            gap: 16px;
            align-items: flex-end;
            max-width: 1000px;
            margin: 0 auto;
        }
        .form-group { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; text-align: left; }
        .form-group label { font-size: 14px; color: var(--text-muted); margin-bottom: 8px; font-weight: 600; }
        .form-control {
            border: 2px solid var(--border-color);
            border-radius: 10px;
            padding: 12px 16px;
            font-size: 16px;
            color: var(--text-main);
            transition: var(--transition);
            width: 100%;
            height: 48px;
            box-sizing: border-box;
        }
        .form-control:focus { border-color: var(--primary); }
        .booking-form .btn-primary {
            height: 48px;
            padding: 0 32px;
            justify-content: center;
            font-size: 16px;
            white-space: nowrap;
        }

        /* ================= SWITCHERS (Lang/Currency) ================= */
        .switcher-group { display: flex; gap: 4px; }
        .switcher-btn {
            background: rgba(255,255,255,0.15);
            color: #fff;
            border: 1px solid rgba(255,255,255,0.25);
            padding: 3px 10px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition);
        }
        .switcher-btn:hover { background: rgba(255,255,255,0.3); }
        .switcher-btn.active { background: var(--primary); border-color: var(--primary); color: #fff; }

        /* ================= CALCULATOR SECTION ================= */
        .calc-section { background: var(--bg-white); }
        .calc-wrapper {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            align-items: start;
        }
        .calc-form {
            background: var(--bg-light);
            border-radius: var(--radius-card);
            padding: 32px;
        }
        .calc-form h3 {
            font-size: 22px;
            color: var(--secondary);
            margin-bottom: 24px;
        }
        .calc-field { margin-bottom: 16px; }
        .calc-field label {
            display: block;
            font-size: 14px;
            font-weight: 600;
            color: var(--text-muted);
            margin-bottom: 6px;
        }
        .calc-field select,
        .calc-field input {
            width: 100%;
            border: 2px solid var(--border-color);
            border-radius: 10px;
            padding: 10px 14px;
            font-size: 15px;
            color: var(--text-main);
            background: var(--bg-white);
            transition: var(--transition);
        }
        .calc-field select:focus,
        .calc-field input:focus { border-color: var(--primary); }
        .calc-result {
            background: var(--bg-white);
            border-radius: var(--radius-card);
            padding: 32px;
            box-shadow: var(--shadow-card);
        }
        .calc-result h3 {
            font-size: 22px;
            color: var(--secondary);
            margin-bottom: 24px;
        }
        .calc-row {
            display: flex;
            justify-content: space-between;
            padding: 12px 0;
            border-bottom: 1px solid var(--border-color);
            font-size: 15px;
        }
        .calc-row:last-of-type { border-bottom: none; }
        .calc-row span:first-child { color: var(--text-muted); }
        .calc-row span:last-child { font-weight: 600; color: var(--text-main); }
        .calc-total {
            margin-top: 16px;
            padding: 16px;
            background: linear-gradient(135deg, #31318F, #1a1a5e);
            border-radius: 12px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            color: #fff;
        }
        .calc-total-label { font-size: 16px; font-weight: 600; }
        .calc-total-price { font-size: 28px; font-weight: 700; color: var(--accent); }
        .calc-early-badge {
            display: inline-block;
            background: var(--success);
            color: #fff;
            padding: 2px 10px;
            border-radius: 12px;
            font-size: 12px;
            font-weight: 600;
            margin-left: 8px;
        }

        /* Discount Scale */
        .discount-scale {
            margin-top: 24px;
        }
        .discount-scale h4 {
            font-size: 16px;
            color: var(--secondary);
            margin-bottom: 16px;
        }
        .scale-steps {
            display: flex;
            gap: 0;
            border-radius: 12px;
            overflow: hidden;
        }
        .scale-step {
            flex: 1;
            padding: 14px 8px;
            text-align: center;
            background: var(--bg-light);
            border-right: 2px solid var(--bg-white);
            transition: var(--transition);
        }
        .scale-step:last-child { border-right: none; }
        .scale-step.active {
            background: var(--primary);
            color: #fff;
        }
        .scale-step .step-days {
            font-size: 13px;
            font-weight: 700;
            margin-bottom: 4px;
        }
        .scale-step .step-discount {
            font-size: 12px;
            opacity: 0.8;
        }
        .scale-step.active .step-discount { opacity: 1; }

        /* ================= CORPORATE SECTION ================= */
        .corporate { background: var(--secondary); color: #fff; }
        .corporate .section-title { color: #fff; }
        .corp-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;
            margin-bottom: 40px;
        }
        .corp-card {
            background: rgba(255,255,255,0.08);
            border-radius: var(--radius-card);
            padding: 28px 20px;
            text-align: center;
            border: 1px solid rgba(255,255,255,0.12);
            transition: var(--transition);
        }
        .corp-card:hover {
            background: rgba(255,255,255,0.15);
            transform: translateY(-4px);
        }
        .corp-icon {
            width: 56px; height: 56px;
            background: rgba(237, 0, 142, 0.25);
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            margin: 0 auto 16px;
            font-size: 24px; color: #fff;
        }
        .corp-title { font-size: 17px; font-weight: 700; margin-bottom: 8px; }
        .corp-desc { font-size: 14px; opacity: 0.75; line-height: 1.5; }
        .corp-cta {
            display: flex;
            justify-content: center;
            gap: 16px;
            flex-wrap: wrap;
        }
        .btn-accent {
            background: var(--accent);
            color: var(--text-main);
            padding: 14px 28px;
            border-radius: var(--radius-btn);
            font-weight: 700;
            font-size: 16px;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: var(--transition);
        }
        .btn-accent:hover { transform: scale(1.03); box-shadow: 0 4px 20px rgba(254,237,1,0.3); }
        .btn-white-outline {
            background: transparent;
            color: #fff;
            border: 2px solid rgba(255,255,255,0.5);
            padding: 12px 28px;
            border-radius: var(--radius-btn);
            font-weight: 600;
            font-size: 16px;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: var(--transition);
        }
        .btn-white-outline:hover { border-color: #fff; background: rgba(255,255,255,0.1); color: #fff; }

        /* ================= BLOG SECTION ================= */
        .blog-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
            margin-bottom: 40px;
        }
        .blog-card {
            background: var(--bg-white);
            border-radius: var(--radius-card);
            overflow: hidden;
            box-shadow: var(--shadow-card);
            transition: var(--transition);
        }
        .blog-card:hover {
            box-shadow: var(--shadow-card-hover);
            transform: translateY(-4px);
        }
        .blog-img {
            height: 180px;
            background: linear-gradient(135deg, #e0e0eb, #f5f5fa);
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
        }
        .blog-img i { font-size: 48px; color: var(--secondary); opacity: 0.15; }
        .blog-tag {
            position: absolute;
            top: 12px;
            left: 12px;
            background: var(--primary);
            color: #fff;
            padding: 4px 12px;
            border-radius: 8px;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
        }
        .blog-body { padding: 20px; }
        .blog-date { font-size: 13px; color: var(--text-muted); margin-bottom: 8px; }
        .blog-title {
            font-size: 17px;
            font-weight: 700;
            color: var(--text-main);
            margin-bottom: 8px;
            line-height: 1.4;
        }
        .blog-excerpt {
            font-size: 14px;
            color: var(--text-muted);
            line-height: 1.5;
            margin-bottom: 12px;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .blog-link {
            font-size: 14px;
            font-weight: 600;
            color: var(--primary);
        }
        .blog-link:hover { text-decoration: underline; }

        /* ================= СЕКЦИЯ 4: КАТАЛОГ ================= */
        .catalog-tabs {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-bottom: 40px;
            flex-wrap: wrap;
        }
        .catalog-tab {
            background: var(--bg-white);
            border: 2px solid var(--border-color);
            padding: 10px 24px;
            border-radius: 30px;
            font-size: 15px;
            color: var(--text-main);
            cursor: pointer;
            transition: var(--transition);
            font-weight: 600;
        }
        .catalog-tab:hover {
            border-color: var(--primary);
            color: var(--primary);
        }
        .catalog-tab.active {
            background: var(--primary);
            border-color: var(--primary);
            color: #fff;
        }

        .catalog-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
            margin-bottom: 48px;
        }
        .car-card.hidden-by-filter {
            display: none;
        }
        .car-card {
            background: var(--bg-white);
            border-radius: var(--radius-card);
            overflow: hidden;
            box-shadow: var(--shadow-card);
            transition: var(--transition);
            position: relative;
        }
        .car-card:hover {
            box-shadow: var(--shadow-card-hover);
            transform: translateY(-4px);
        }
        .car-img-placeholder {
            height: 180px;
            background: linear-gradient(135deg, #e0e0eb, #f5f5fa);
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            overflow: hidden;
        }
        .car-img-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            padding: 8px;
        }
        .car-img-placeholder i { font-size: 56px; color: var(--secondary); opacity: 0.2; }

        .badge-hit {
            position: absolute;
            top: 16px;
            left: 16px;
            background: var(--accent);
            color: var(--text-main);
            padding: 4px 12px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 700;
        }
        .badge-cat {
            position: absolute;
            top: 16px;
            right: 16px;
            background: var(--secondary);
            color: #fff;
            padding: 4px 12px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 700;
        }

        .car-info { padding: 16px; }
        .car-title { font-size: 17px; font-weight: 700; color: var(--text-main); }
        .car-year { font-size: 13px; color: var(--text-muted); margin-bottom: 12px; }

        .car-features {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 6px;
            margin-bottom: 14px;
            padding-bottom: 14px;
            border-bottom: 1px solid var(--border-color);
        }
        .feature { font-size: 12px; color: var(--text-muted); display: flex; align-items: center; gap: 5px; }
        .feature i { color: var(--secondary); width: 14px; text-align: center; font-size: 11px; }

        .car-price-row {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            margin-bottom: 14px;
        }
        .car-price { font-size: 20px; font-weight: 700; color: var(--primary); }
        .car-price span { font-size: 12px; color: var(--text-muted); font-weight: 400; }
        .car-deposit { font-size: 12px; color: var(--text-muted); }

        .car-actions { display: flex; gap: 12px; align-items: center; }
        .btn-book { flex: 1; text-align: center; justify-content: center; }
        .car-social { color: var(--secondary); font-size: 20px; padding: 10px; border-radius: 8px; background: var(--bg-light); }
        .car-social:hover { color: var(--primary); background: #ffe6f3; }

        .btn-load-more { display: block; width: max-content; margin: 0 auto; }

        /* ================= СЕКЦИЯ 5: ПРЕИМУЩЕСТВА ================= */
        .advantages { background-color: var(--secondary); color: #fff; }
        .advantages .section-title { color: #fff; }
        .adv-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 40px 20px;
        }
        .adv-item { text-align: center; }
        .adv-icon {
            width: 64px; height: 64px;
            background: rgba(237, 0, 142, 0.2);
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            margin: 0 auto 16px;
            color: #fff; font-size: 32px;
        }
        .adv-title { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
        .adv-desc { font-size: 15px; opacity: 0.8; }

        /* ================= СЕКЦИЯ 6: УСЛОВИЯ ================= */
        .metrics-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
            margin-bottom: 40px;
        }
        .metric-card {
            background: var(--bg-light);
            border-radius: var(--radius-card);
            padding: 24px;
            text-align: center;
        }
        .metric-value { font-size: 36px; font-weight: 700; color: var(--primary); margin-bottom: 8px; }
        .metric-label { font-size: 14px; color: var(--text-muted); }

        .docs-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            margin-bottom: 40px;
        }
        .doc-column h3 { font-size: 20px; color: var(--secondary); margin-bottom: 16px; }
        .doc-column ul li {
            position: relative;
            padding-left: 28px;
            margin-bottom: 12px;
            color: var(--text-main);
        }
        .doc-column ul li::before {
            content: '\f00c';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            position: absolute;
            left: 0;
            color: var(--success);
        }

        /* ================= СЕКЦИЯ 7: ОТЗЫВЫ ================= */
        .reviews-header {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 20px;
            margin-bottom: 48px;
            flex-wrap: wrap;
        }
        .reviews-header .section-title { margin-bottom: 0; }
        .rating-badge {
            background: var(--accent);
            color: var(--text-main);
            font-weight: 700;
            padding: 8px 16px;
            border-radius: 20px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .carousel-container { position: relative; overflow: hidden; padding: 20px 0; }
        .carousel-track {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 24px;
        }
        .review-card {
            min-width: calc(33.333% - 16px);
            background: var(--bg-white);
            border-radius: var(--radius-card);
            padding: 24px;
            box-shadow: var(--shadow-card);
        }
        .stars { color: var(--accent); margin-bottom: 16px; font-size: 14px; }
        .review-text { font-style: italic; font-size: 16px; margin-bottom: 20px; color: var(--text-main); }
        .reviewer { display: flex; align-items: center; gap: 12px; }
        .reviewer-avatar {
            width: 48px; height: 48px;
            background: var(--secondary);
            color: #fff;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-weight: 700; font-size: 18px;
        }
        .reviewer-info h4 { font-size: 16px; color: var(--text-main); }
        .reviewer-info p { font-size: 14px; color: var(--text-muted); }

        .carousel-nav {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 20px;
            margin-top: 32px;
        }
        .carousel-btn {
            width: 40px; height: 40px;
            border-radius: 50%;
            background: var(--bg-white);
            color: var(--secondary);
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            display: flex; align-items: center; justify-content: center;
        }
        .carousel-btn:hover { background: var(--primary); color: #fff; }
        .carousel-dots { display: flex; gap: 8px; }
        .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--border-color); cursor: pointer; transition: 0.3s; }
        .dot.active { background: var(--primary); width: 20px; border-radius: 10px; }

        /* ================= СЕКЦИЯ 8: FAQ ================= */
        .faq-container { max-width: 800px; margin: 0 auto; }
        .faq-item {
            margin-bottom: 12px;
            background: var(--bg-light);
            border-radius: 12px;
            overflow: hidden;
        }
        .faq-question {
            padding: 20px 24px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-weight: 700;
            font-size: 17px;
            color: var(--text-main);
            transition: var(--transition);
        }
        .faq-question i { color: var(--primary); transition: transform 0.3s; }
        .faq-item.active .faq-question i { transform: rotate(45deg); }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
            background: var(--bg-white);
        }
        .faq-answer-inner { padding: 0 24px 20px 24px; color: var(--text-muted); }

        .faq-container + .btn-outline { margin: 32px auto 0; width: max-content; }

        /* ================= СЕКЦИЯ 9: ФИЛИАЛЫ И КОНТАКТЫ ================= */
        .branches-grid {
            display: grid;
            grid-template-columns: 40% 1fr;
            gap: 30px;
        }
        .branches-list { display: flex; flex-direction: column; gap: 16px; }
        .branch-card {
            background: var(--bg-white);
            border-radius: 12px;
            padding: 20px;
            position: relative;
            box-shadow: var(--shadow-card);
            cursor: pointer;
            transition: box-shadow 0.2s, border-color 0.2s;
            border: 2px solid transparent;
        }
        .branch-card:hover { box-shadow: var(--shadow-card), 0 0 0 1px rgba(37,99,235,.15); }
        .branch-card.active { border-color: var(--primary); }
        .branch-card::before {
            content: '';
            position: absolute;
            left: 0; top: 20px; bottom: 20px;
            width: 4px;
            background: var(--primary);
            border-radius: 0 4px 4px 0;
            opacity: 0.3;
            transition: opacity 0.2s;
        }
        .branch-card.active::before { opacity: 1; }
        .branch-card h3 { font-size: 18px; margin-bottom: 8px; }
        .branch-info { display: flex; flex-direction: column; gap: 6px; font-size: 15px; color: var(--text-muted); }
        .branch-info i { width: 20px; color: var(--secondary); }
        .branch-info a { color: var(--primary); font-weight: 600; }

        .map-container {
            border-radius: var(--radius-card);
            overflow: hidden;
            min-height: 400px;
            background: #e5e3df; /* Map placeholder color */
        }
        .map-container iframe { width: 100%; height: 100%; border: none; }

        /* ================= СЕКЦИЯ 10: ФУТЕР ================= */
        .footer { background: var(--secondary); color: #fff; padding: 60px 0 20px; }
        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1.5fr;
            gap: 40px;
            margin-bottom: 40px;
        }
        .footer-logo { font-size: 24px; font-weight: 700; margin-bottom: 12px; display: block; }
        .footer-logo .rent { color: var(--primary); }
        .footer-desc { opacity: 0.7; font-size: 14px; margin-bottom: 20px; max-width: 250px; }
        .footer-social { display: flex; gap: 12px; }
        .footer-social a {
            width: 36px; height: 36px;
            border-radius: 50%;
            background: rgba(255,255,255,0.1);
            display: flex; align-items: center; justify-content: center;
        }
        .footer-social a:hover { background: var(--primary); }

        .footer h4 { color: var(--accent); font-size: 16px; margin-bottom: 20px; font-weight: 700; }
        .footer-links { display: flex; flex-direction: column; gap: 12px; }
        .footer-links a { font-size: 15px; opacity: 0.8; }
        .footer-links a:hover { opacity: 1; color: var(--primary); }

        .footer-contact li { display: flex; gap: 12px; margin-bottom: 16px; font-size: 15px; opacity: 0.9; }
        .footer-contact i { color: var(--primary); margin-top: 4px; }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.15);
            padding-top: 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 14px;
            opacity: 0.6;
        }
        .footer-bottom-links a { margin-left: 20px; }
        .footer-bottom-links a:hover { color: #fff; opacity: 1; }

        /* ================= ПЛАВАЮЩИЕ ЭЛЕМЕНТЫ ================= */
        .floating-buttons {
            position: fixed;
            bottom: 30px;
            right: 30px;
            display: flex;
            flex-direction: column;
            gap: 16px;
            z-index: 999;
        }
        .float-btn {
            width: 56px; height: 56px;
            border-radius: 50%;
            color: #fff;
            display: flex; align-items: center; justify-content: center;
            font-size: 28px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .float-btn:hover { transform: scale(1.1); box-shadow: 0 6px 20px rgba(0,0,0,0.3); color: #fff; }
        .float-wa { background: #25D366; }
        .float-tg { background: #0088CC; }

        .scroll-top {
            position: fixed;
            bottom: 30px;
            left: 30px;
            width: 48px; height: 48px;
            border-radius: 50%;
            background: var(--secondary);
            color: #fff;
            display: flex; align-items: center; justify-content: center;
            font-size: 20px;
            cursor: pointer;
            z-index: 999;
            opacity: 0;
            visibility: hidden;
            transition: 0.3s;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }
        .scroll-top.visible { opacity: 1; visibility: visible; }
        .scroll-top:hover { background: var(--primary); }

        /* ================= МОБИЛЬНОЕ МЕНЮ (Slide-in) ================= */
        .mobile-menu-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0,0,0,0.5); z-index: 1001;
            opacity: 0; visibility: hidden; transition: 0.3s;
        }
        .mobile-menu-overlay.active { opacity: 1; visibility: visible; }

        .mobile-sidebar {
            position: fixed; top: 0; right: -300px; width: 300px; height: 100%;
            background: var(--secondary); color: #fff; z-index: 1002;
            padding: 24px; transition: 0.4s ease; box-shadow: -5px 0 15px rgba(0,0,0,0.1);
            display: flex; flex-direction: column;
        }
        .mobile-sidebar.active { right: 0; }
        .close-menu { align-self: flex-end; font-size: 24px; color: #fff; background: none; margin-bottom: 32px; }
        .mobile-nav { display: flex; flex-direction: column; gap: 20px; margin-bottom: 40px; }
        .mobile-nav a { font-size: 18px; font-weight: 600; }
        .mobile-nav a:hover, .mobile-nav a.active { color: var(--primary); }
        .mobile-actions { display: flex; flex-direction: column; gap: 16px; }
        .mobile-actions .btn-outline { border-color: #fff; color: #fff; justify-content: center; }

        /* ================= АДАПТИВНОСТЬ ================= */
        @media (max-width: 1199px) {
            .catalog-grid { grid-template-columns: repeat(3, 1fr); }
            .booking-form { flex-wrap: wrap; }
            .form-group { flex: 1 1 30%; }
            .corp-grid { grid-template-columns: repeat(2, 1fr); }
            .calc-wrapper { grid-template-columns: 1fr; }
        }

        @media (max-width: 991px) {
            .catalog-grid { grid-template-columns: repeat(2, 1fr); }
        }

        @media (max-width: 768px) {
            section { padding: 50px 0; }
            h1 { font-size: 32px !important; }
            h2.section-title { font-size: 28px; }

            /* Header */
            .topbar { display: none; }
            .nav-menu, .header-actions { display: none; }
            .burger-btn { display: block; }
            .logo-img { height: 24px; }

            /* Hero */
            .hero { padding: 60px 0; }
            .booking-form { flex-direction: column; padding: 24px; }
            .form-group { width: 100%; }
            .booking-form .btn-primary { width: 100%; }

            /* Grids */
            .catalog-grid { grid-template-columns: 1fr; }
            .adv-grid { grid-template-columns: repeat(2, 1fr); }
            .metrics-grid { grid-template-columns: repeat(2, 1fr); }
            .docs-grid { grid-template-columns: 1fr; gap: 24px; }
            .branches-grid { grid-template-columns: 1fr; }
            .footer-grid { grid-template-columns: 1fr; gap: 30px; }
            .corp-grid { grid-template-columns: 1fr; }
            .blog-grid { grid-template-columns: 1fr; }
            .calc-wrapper { grid-template-columns: 1fr; }
            .scale-steps { flex-wrap: wrap; }
            .scale-step { flex: 1 1 45%; }
            .car-features { grid-template-columns: 1fr 1fr; }

            /* Reviews */
            .review-card { min-width: 100%; }

            /* Floating */
            .floating-buttons { bottom: 20px; right: 20px; }
            .float-btn { width: 48px; height: 48px; font-size: 24px; }
            .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
            .footer-bottom-links a { margin: 0 10px; }
        }

        @media (max-width: 480px) {
            .adv-grid { grid-template-columns: 1fr; }
        }

        /* ================= BOOKING MODAL (Task 1) ================= */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.6);
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s, visibility 0.3s;
            padding: 20px;
        }
        .modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }
        .modal-content {
            background: var(--bg-white);
            border-radius: var(--radius-card);
            padding: 36px;
            max-width: 520px;
            width: 100%;
            position: relative;
            max-height: 90vh;
            overflow-y: auto;
            transform: translateY(20px) scale(0.97);
            transition: transform 0.3s ease;
        }
        .modal-overlay.active .modal-content {
            transform: translateY(0) scale(1);
        }
        .modal-content-sm {
            max-width: 400px;
        }
        .modal-close {
            position: absolute;
            top: 16px;
            right: 16px;
            background: none;
            border: none;
            font-size: 28px;
            color: var(--text-muted);
            cursor: pointer;
            line-height: 1;
            padding: 4px;
            z-index: 1;
        }
        .modal-close:hover { color: var(--text-main); }
        .modal-title {
            font-size: 22px;
            font-weight: 700;
            color: var(--text-main);
            margin-bottom: 24px;
        }
        .modal-title span {
            color: var(--primary);
        }
        .modal-field {
            margin-bottom: 16px;
        }
        .modal-field label {
            display: block;
            font-size: 14px;
            font-weight: 600;
            color: var(--text-muted);
            margin-bottom: 6px;
        }
        .modal-field .required {
            color: var(--primary);
        }
        .modal-field input,
        .modal-field textarea,
        .modal-field select {
            width: 100%;
            border: 2px solid var(--border-color);
            border-radius: 10px;
            padding: 12px 16px;
            font-size: 15px;
            color: var(--text-main);
            transition: var(--transition);
            font-family: inherit;
            background: var(--bg-white);
            appearance: auto;
        }
        .modal-field input:focus,
        .modal-field textarea:focus,
        .modal-field select:focus {
            border-color: var(--primary);
            outline: none;
        }
        .modal-field input.invalid,
        .modal-field textarea.invalid,
        .modal-field select.invalid {
            border-color: #ef4444;
        }
        .modal-dates {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }
        .modal-error {
            background: #fef2f2;
            color: #ef4444;
            padding: 10px 14px;
            border-radius: 8px;
            font-size: 13px;
            margin-bottom: 16px;
        }
        .modal-submit {
            width: 100%;
            justify-content: center;
            padding: 14px 24px;
            font-size: 16px;
        }
        .modal-submit:disabled {
            opacity: 0.7;
            cursor: not-allowed;
        }
        .modal-hint {
            text-align: center;
            font-size: 13px;
            color: var(--text-muted);
            margin-top: 12px;
        }
        .modal-success {
            text-align: center;
            padding: 20px 0;
        }
        .modal-success-icon {
            width: 72px;
            height: 72px;
            background: linear-gradient(135deg, #10b981, #059669);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px;
            font-size: 32px;
            color: #fff;
        }
        .modal-success h2 {
            font-size: 24px;
            color: var(--text-main);
            margin-bottom: 8px;
        }
        .modal-success p {
            font-size: 16px;
            color: var(--text-muted);
        }

        @media (max-width: 768px) {
            .modal-content { padding: 24px; margin: 10px; }
            .modal-dates { grid-template-columns: 1fr; }
            .modal-title { font-size: 20px; }
        }

        /* ================= CALCULATOR CTA (Task 2) ================= */
        .calc-cta-wrapper {
            display: none;
            margin-top: 20px;
        }
        .calc-cta-wrapper.visible {
            display: block;
            animation: slideDown 0.4s ease-out;
        }
        .calc-cta-divider {
            border: none;
            border-top: 1px dashed var(--border-color);
            margin: 0 0 16px 0;
        }
        .calc-cta-btn {
            width: 100%;
            justify-content: center;
            padding: 14px 24px;
            font-size: 16px;
        }

        @keyframes slideDown {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* ================= HERO PHONE CTA (Task 3) ================= */
        .hero-phone-cta {
            margin-top: 24px;
            text-align: center;
        }
        .hero-phone-cta a {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: rgba(255, 255, 255, 0.9);
            font-size: 16px;
            font-weight: 600;
            padding: 10px 24px;
            border-radius: 30px;
            background: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.2);
            transition: var(--transition);
        }
        .hero-phone-cta a:hover {
            background: rgba(255, 255, 255, 0.2);
            color: #fff;
        }
        .hero-phone-cta a i {
            font-size: 18px;
        }

        @media (max-width: 768px) {
            .hero-phone-cta a {
                width: 100%;
                justify-content: center;
                font-size: 15px;
            }
        }

        /* ================= STICKY MOBILE BAR (Task 4) ================= */
        .sticky-mobile-bar {
            display: none;
        }
        @media (max-width: 768px) {
            .sticky-mobile-bar {
                display: flex;
                position: fixed;
                bottom: 0;
                left: 0;
                right: 0;
                height: 56px;
                z-index: 9999;
                box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
            }
            .sticky-btn {
                flex: 1;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                color: #fff;
                font-size: 15px;
                font-weight: 600;
                text-decoration: none;
            }
            .sticky-btn-call {
                background: var(--secondary);
            }
            .sticky-btn-wa {
                background: #25D366;
            }
            body {
                padding-bottom: 56px;
            }
            .floating-buttons {
                bottom: 70px !important;
            }
            .scroll-top {
                bottom: 70px !important;
            }
        }

        /* ================= RENTAL REMINDER BAR (Task 5) ================= */
        .rental-reminder {
            display: none;
            background: linear-gradient(135deg, #31318F, #1a1a5e);
            color: #fff;
            padding: 14px 20px;
            border-radius: 12px;
            margin-bottom: 24px;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            font-size: 15px;
            font-weight: 500;
        }
        .rental-reminder.visible {
            display: flex;
        }
        .rental-reminder-info {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .rental-reminder-change {
            background: rgba(255,255,255,0.15);
            color: #fff;
            border: 1px solid rgba(255,255,255,0.3);
            padding: 6px 16px;
            border-radius: 8px;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            white-space: nowrap;
        }
        .rental-reminder-change:hover {
            background: rgba(255,255,255,0.25);
        }
        .car-total-period {
            display: none;
            font-size: 13px;
            color: var(--success);
            font-weight: 600;
            margin-top: 4px;
        }
        .car-total-period.visible {
            display: block;
        }

        /* ================= CAR GALLERY (Task 6) ================= */
        .car-gallery {
            position: relative;
        }
        .car-gallery-main {
            width: 100%;
            border-radius: 12px;
            overflow: hidden;
            position: relative;
            background: var(--bg-light);
        }
        .car-gallery-main img {
            width: 100%;
            max-height: 350px;
            object-fit: contain;
            display: block;
            transition: opacity 0.3s;
        }
        .gallery-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: rgba(255,255,255,0.9);
            color: var(--text-main);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 2px 8px rgba(0,0,0,0.15);
            border: none;
            font-size: 16px;
            z-index: 2;
            transition: var(--transition);
        }
        .gallery-nav:hover {
            background: #fff;
            box-shadow: 0 4px 12px rgba(0,0,0,0.2);
        }
        .gallery-prev { left: 10px; }
        .gallery-next { right: 10px; }
        .car-gallery-thumbs {
            display: flex;
            gap: 8px;
            margin-top: 10px;
            overflow-x: auto;
            padding-bottom: 4px;
        }
        .gallery-thumb {
            width: 72px;
            height: 52px;
            border-radius: 8px;
            object-fit: cover;
            cursor: pointer;
            border: 2px solid transparent;
            transition: var(--transition);
            flex-shrink: 0;
            opacity: 0.6;
        }
        .gallery-thumb.active,
        .gallery-thumb:hover {
            border-color: var(--primary);
            opacity: 1;
        }

        @media (max-width: 768px) {
            .gallery-nav { width: 34px; height: 34px; font-size: 14px; }
            .gallery-thumb { width: 56px; height: 40px; }
        }

        /* ================= AVAILABILITY BADGE (Task 7) ================= */
        .badge-available {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 4px 12px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 700;
            margin-bottom: 8px;
        }
        .badge-available.free {
            background: #ecfdf5;
            color: #059669;
        }
        .badge-available.busy {
            background: #fef2f2;
            color: #dc2626;
        }
        .btn-notify {
            background: var(--secondary);
            color: #fff;
            padding: 10px 20px;
            border-radius: var(--radius-btn);
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 14px;
            cursor: pointer;
            border: none;
            width: 100%;
            justify-content: center;
            transition: var(--transition);
        }
        .btn-notify:hover {
            background: #1a1a5e;
        }

        /* ================= REVIEWS UPDATE (Task 8) ================= */
        .review-text {
            font-style: italic;
            font-size: 15px;
            margin-bottom: 20px;
            color: var(--text-main);
            line-height: 1.6;
            display: -webkit-box;
            -webkit-line-clamp: 5;
            line-clamp: 5;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .review-card .review-text.expanded {
            -webkit-line-clamp: unset;
            line-clamp: unset;
        }
        .review-more {
            color: var(--primary);
            font-size: 13px;
            cursor: pointer;
            font-weight: 600;
            margin-bottom: 16px;
            display: none;
        }
        .reviewer-badge {
            font-size: 11px;
            color: var(--text-muted);
            font-weight: 400;
        }

        /* ================= CONDITIONS PAGE ================= */
        .cpage-hero {
            background: var(--grad-hero);
            color: #fff;
            padding: 50px 0 40px;
        }
        .cpage-hero h1 {
            font-size: 36px;
            font-weight: 700;
            margin-bottom: 8px;
        }
        .cpage-hero p {
            font-size: 17px;
            opacity: 0.8;
        }
        .cpage-breadcrumbs {
            margin-bottom: 20px;
            font-size: 14px;
            opacity: 0.7;
        }
        .cpage-breadcrumbs a {
            color: #fff;
            text-decoration: underline;
            text-underline-offset: 3px;
        }
        .cpage-breadcrumbs span { margin: 0 6px; }

        .cpage-content {
            padding: 50px 0 60px;
            background: var(--bg-light);
        }

        .cpage-intro {
            background: var(--bg-white);
            border-radius: var(--radius-card);
            padding: 30px 32px;
            font-size: 16px;
            line-height: 1.7;
            color: var(--text-main);
            box-shadow: var(--shadow-card);
            margin-bottom: 32px;
            border-left: 4px solid var(--primary);
        }

        .cpage-block {
            background: var(--bg-white);
            border-radius: var(--radius-card);
            padding: 32px;
            box-shadow: var(--shadow-card);
            margin-bottom: 28px;
            position: relative;
        }
        .cpage-block-icon {
            width: 48px;
            height: 48px;
            background: var(--grad-btn);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 20px;
            margin-bottom: 16px;
        }
        .cpage-block h2 {
            font-size: 24px;
            font-weight: 700;
            color: var(--secondary);
            margin-bottom: 24px;
        }
        .cpage-block h3 {
            font-size: 17px;
            font-weight: 600;
            color: var(--text-main);
            margin: 24px 0 14px;
        }
        .cpage-block h3 i {
            color: var(--primary);
            margin-right: 8px;
            font-size: 16px;
        }

        .cpage-list {
            list-style: none;
            padding: 0;
            margin: 0 0 8px;
        }
        .cpage-list li {
            position: relative;
            padding: 10px 0 10px 28px;
            font-size: 15px;
            line-height: 1.6;
            border-bottom: 1px solid var(--border-color);
        }
        .cpage-list li:last-child { border-bottom: none; }
        .cpage-list li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 14px;
            width: 10px;
            height: 10px;
            background: var(--primary);
            border-radius: 50%;
        }
        ol.cpage-list { counter-reset: cpage-counter; }
        ol.cpage-list li::before {
            counter-increment: cpage-counter;
            content: counter(cpage-counter);
            background: var(--secondary);
            color: #fff;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: 700;
            top: 10px;
        }
        ol.cpage-list li { padding-left: 36px; }

        .cpage-note {
            display: flex;
            gap: 14px;
            padding: 18px 20px;
            border-radius: 12px;
            background: #f0f4ff;
            border: 1px solid #d0d9f0;
            margin: 18px 0;
            font-size: 14px;
            line-height: 1.6;
        }
        .cpage-note > i {
            font-size: 20px;
            color: var(--secondary);
            flex-shrink: 0;
            margin-top: 2px;
        }
        .cpage-note p { margin-bottom: 6px; }
        .cpage-note p:last-child { margin-bottom: 0; }
        .cpage-note ul, .cpage-note ol {
            margin: 6px 0 0 18px;
            font-size: 14px;
        }
        .cpage-note ul li, .cpage-note ol li {
            padding: 3px 0;
            border-bottom: none;
        }
        .cpage-note ul li::before, .cpage-note ol li::before { display: none; }
        .cpage-note ul { list-style: disc; }
        .cpage-note ol { list-style: decimal; }

        .cpage-note-warning {
            background: #fff8ed;
            border-color: #f5d8a0;
        }
        .cpage-note-warning > i { color: #d97706; }

        .cpage-note-danger {
            background: #fef2f2;
            border-color: #fca5a5;
        }
        .cpage-note-danger > i { color: #dc2626; }
        .cpage-note-danger a {
            color: var(--primary);
            font-weight: 600;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .cpage-cards-row {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
            margin: 12px 0 8px;
        }
        .cpage-info-card {
            background: var(--bg-light);
            border-radius: 12px;
            padding: 20px;
            text-align: center;
        }
        .cpage-info-icon {
            font-size: 28px;
            color: var(--primary);
            margin-bottom: 8px;
        }
        .cpage-info-value {
            font-size: 22px;
            font-weight: 700;
            color: var(--secondary);
        }
        .cpage-info-label {
            font-size: 13px;
            color: var(--text-muted);
            margin-top: 4px;
        }

        .cpage-table-wrap {
            overflow-x: auto;
            margin: 12px 0 16px;
        }
        .cpage-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 15px;
        }
        .cpage-table th {
            background: var(--secondary);
            color: #fff;
            padding: 12px 16px;
            text-align: left;
            font-weight: 600;
            font-size: 14px;
        }
        .cpage-table th:first-child { border-radius: 10px 0 0 0; }
        .cpage-table th:last-child { border-radius: 0 10px 0 0; }
        .cpage-table td {
            padding: 12px 16px;
            border-bottom: 1px solid var(--border-color);
        }
        .cpage-table tbody tr:hover { background: #f9f9ff; }

        .cpage-highlight {
            display: flex;
            align-items: center;
            gap: 14px;
            background: linear-gradient(135deg, #eef2ff, #f5f0ff);
            border: 2px solid var(--secondary);
            border-radius: 12px;
            padding: 18px 22px;
            font-size: 16px;
            margin-bottom: 20px;
        }
        .cpage-highlight i {
            font-size: 28px;
            color: var(--secondary);
            flex-shrink: 0;
        }

        .cpage-payment-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 16px;
        }
        .cpage-payment-card {
            background: var(--bg-light);
            border-radius: 12px;
            padding: 24px 18px;
            text-align: center;
            font-size: 14px;
            line-height: 1.5;
        }
        .cpage-payment-card i {
            font-size: 32px;
            color: var(--primary);
            display: block;
            margin-bottom: 10px;
        }

        .cpage-cta {
            background: var(--grad-hero);
            color: #fff;
            border-radius: var(--radius-card);
            padding: 48px 40px;
            text-align: center;
            margin-top: 36px;
        }
        .cpage-cta h2 {
            font-size: 28px;
            margin-bottom: 10px;
        }
        .cpage-cta p {
            font-size: 16px;
            opacity: 0.85;
            margin-bottom: 24px;
        }
        .cpage-cta-buttons {
            display: flex;
            gap: 14px;
            justify-content: center;
            flex-wrap: wrap;
        }
        .cpage-cta-buttons .btn-primary {
            background: var(--grad-btn);
        }
        .cpage-cta-buttons .btn-outline {
            border-color: rgba(255,255,255,0.4);
            color: #fff;
        }
        .cpage-cta-buttons .btn-outline:hover {
            background: rgba(255,255,255,0.15);
            border-color: #fff;
        }

        /* Conditions page responsive */
        @media (max-width: 768px) {
            .cpage-hero { padding: 35px 0 30px; }
            .cpage-hero h1 { font-size: 26px; }
            .cpage-block { padding: 22px 18px; }
            .cpage-block h2 { font-size: 20px; }
            .cpage-cards-row { grid-template-columns: 1fr; }
            .cpage-payment-grid { grid-template-columns: 1fr; }
            .cpage-cta { padding: 32px 20px; }
            .cpage-cta h2 { font-size: 22px; }
            .cpage-intro { padding: 22px 18px; }
            .partner-income-grid { grid-template-columns: 1fr; }
            .partner-steps { grid-template-columns: 1fr; }
        }

        /* ================= PARTNERSHIP PAGE ================= */
        .partner-income-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            margin-bottom: 24px;
        }
        .partner-income-card {
            border-radius: 16px;
            padding: 28px 24px;
            text-align: center;
        }
        .partner-income-you {
            background: linear-gradient(135deg, #eef7ee, #d4edda);
            border: 2px solid #28a745;
        }
        .partner-income-company {
            background: linear-gradient(135deg, #eef2ff, #dde4f9);
            border: 2px solid var(--secondary);
        }
        .partner-income-percent {
            font-size: 48px;
            font-weight: 700;
            line-height: 1;
            margin-bottom: 8px;
        }
        .partner-income-you .partner-income-percent { color: #28a745; }
        .partner-income-company .partner-income-percent { color: var(--secondary); }
        .partner-income-label {
            font-size: 16px;
            font-weight: 600;
            color: var(--text-main);
            margin-bottom: 4px;
        }
        .partner-income-note {
            font-size: 13px;
            color: var(--text-muted);
        }

        .partner-steps {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
        }
        .partner-step {
            text-align: center;
            padding: 20px 12px;
        }
        .partner-step-num {
            width: 48px;
            height: 48px;
            background: var(--grad-btn);
            color: #fff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            font-weight: 700;
            margin: 0 auto 14px;
        }
        .partner-step-text strong {
            display: block;
            font-size: 15px;
            margin-bottom: 6px;
            color: var(--text-main);
        }
        .partner-step-text p {
            font-size: 13px;
            color: var(--text-muted);
            line-height: 1.5;
        }

        @media (max-width: 768px) {
            .partner-steps { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 480px) {
            .partner-steps { grid-template-columns: 1fr; }
        }

        /* ================= QUICK FORM WIDGET ================= */
        .float-form {
            background: var(--grad-btn) !important;
            border: none;
            position: relative;
            animation: floatBounce 2s ease-in-out infinite;
        }
        .float-form::after {
            content: '';
            position: absolute;
            top: -2px;
            right: -2px;
            width: 12px;
            height: 12px;
            background: #10b981;
            border-radius: 50%;
            border: 2px solid #fff;
            animation: pulseDot 1.5s ease-in-out infinite;
        }
        @keyframes floatBounce {
            0%, 100% { transform: translateY(0); }
            15% { transform: translateY(-10px); }
            30% { transform: translateY(0); }
            45% { transform: translateY(-6px); }
            60% { transform: translateY(0); }
        }
        @keyframes pulseDot {
            0%, 100% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.5); opacity: 0.7; }
        }
        .floating-buttons .float-form.no-bounce,
        .floating-buttons .float-form:hover {
            animation: none;
        }

        .quick-form-widget {
            position: fixed;
            bottom: 200px;
            right: 30px;
            width: 320px;
            background: var(--bg-white);
            border-radius: var(--radius-card);
            box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
            z-index: 998;
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px) scale(0.95);
            transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
            overflow: hidden;
        }
        .quick-form-widget.active {
            opacity: 1;
            visibility: visible;
            transform: translateY(0) scale(1);
        }

        .quick-form-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 18px;
            background: var(--grad-hero);
            color: #fff;
        }
        .quick-form-header span {
            font-size: 15px;
            font-weight: 700;
        }
        .quick-form-header span i {
            margin-right: 6px;
        }
        .quick-form-close {
            background: none;
            border: none;
            color: #fff;
            font-size: 22px;
            cursor: pointer;
            opacity: 0.7;
            line-height: 1;
            padding: 0;
        }
        .quick-form-close:hover { opacity: 1; }

        #quickForm {
            padding: 16px 18px 0;
        }
        .quick-form-field {
            margin-bottom: 10px;
        }
        .quick-form-field input,
        .quick-form-field select {
            width: 100%;
            border: 2px solid var(--border-color);
            border-radius: 10px;
            padding: 10px 14px;
            font-size: 14px;
            color: var(--text-main);
            font-family: inherit;
            background: var(--bg-white);
            transition: var(--transition);
            appearance: auto;
        }
        .quick-form-field input:focus,
        .quick-form-field select:focus {
            border-color: var(--primary);
            outline: none;
        }
        .quick-form-field input.invalid,
        .quick-form-field select.invalid {
            border-color: #ef4444;
        }

        .quick-form-error {
            background: #fef2f2;
            color: #ef4444;
            padding: 8px 12px;
            border-radius: 8px;
            font-size: 12px;
            margin-bottom: 10px;
        }

        .quick-form-submit {
            width: 100%;
            justify-content: center;
            padding: 12px 20px;
            font-size: 15px;
            border-radius: 10px;
        }
        .quick-form-submit:disabled {
            opacity: 0.7;
            cursor: not-allowed;
        }

        .quick-form-hint {
            text-align: center;
            font-size: 12px;
            color: var(--text-muted);
            padding: 10px 18px 14px;
            margin: 0;
        }

        .quick-form-success {
            text-align: center;
            padding: 28px 18px;
        }
        .quick-form-success i {
            font-size: 40px;
            color: #10b981;
            display: block;
            margin-bottom: 10px;
        }
        .quick-form-success p {
            font-size: 15px;
            font-weight: 600;
            color: var(--text-main);
        }

        @media (max-width: 768px) {
            .quick-form-widget {
                right: 16px;
                left: 16px;
                width: auto;
                bottom: 130px;
            }
        }

/* ================= SEO LANDING PAGES ================= */

.seo-hero {
    background: var(--grad-hero);
    color: #fff;
    padding: 50px 0 40px;
}
.seo-hero .cpage-breadcrumbs { opacity: 1; color: rgba(255,255,255,.9); margin-bottom: 18px; font-size: 14px; }
.seo-hero .cpage-breadcrumbs a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.seo-hero .cpage-breadcrumbs a:hover { opacity: .8; }
.seo-hero .cpage-breadcrumbs span { color: rgba(255,255,255,.5); }
.seo-hero h1 { font-size: 36px; font-weight: 700; margin-bottom: 12px; }
.seo-hero p { font-size: 18px; opacity: .85; max-width: 700px; }

.seo-usps { padding: 40px 0; }
.seo-usps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.seo-usp-card {
    background: var(--bg-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 24px 20px;
    text-align: center;
    transition: var(--transition);
}
.seo-usp-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
.seo-usp-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    border-radius: 14px;
    font-size: 22px;
    margin-bottom: 14px;
}
.seo-usp-card h3 { font-size: 15px; font-weight: 600; margin-bottom: 6px; color: var(--text-main); }
.seo-usp-card p { font-size: 13px; color: var(--text-muted); margin: 0; }

.seo-catalog { padding: 50px 0; background: var(--bg-light); }
.seo-catalog h2 { font-size: 26px; font-weight: 700; margin-bottom: 25px; text-align: center; color: var(--text-main); }
.seo-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.seo-car-card {
    background: var(--bg-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}
.seo-car-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-card-hover); }
.seo-car-card-img {
    width: 100%;
    height: 170px;
    object-fit: contain;
    padding: 15px;
    background: var(--bg-light);
}
.seo-car-card-body { padding: 16px; }
.seo-car-card-body h3 { font-size: 16px; font-weight: 600; margin-bottom: 6px; color: var(--text-main); }
.seo-car-card-body .price { font-size: 15px; color: var(--primary); font-weight: 700; margin-bottom: 4px; }
.seo-car-card-body .price small { font-weight: 400; color: var(--text-muted); font-size: 13px; }
.seo-car-card-specs {
    display: flex;
    gap: 12px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--bg-light);
    font-size: 12px;
    color: var(--text-muted);
}
.seo-car-card-specs i { color: var(--secondary); margin-right: 3px; }

.seo-content-section { padding: 50px 0; }
.seo-content-block {
    max-width: 860px;
    margin: 0 auto;
}
.seo-content-block h2 { font-size: 24px; font-weight: 700; margin-bottom: 14px; color: var(--text-main); }
.seo-content-block p { font-size: 16px; line-height: 1.7; color: #374151; margin-bottom: 20px; }

.seo-cta {
    background: var(--grad-hero);
    padding: 45px 0;
    text-align: center;
    color: #fff;
}
.seo-cta h2 { font-size: 26px; font-weight: 700; margin-bottom: 10px; }
.seo-cta p { font-size: 16px; opacity: .8; margin-bottom: 25px; }
.seo-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}
.seo-cta-buttons a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: var(--radius-btn);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
}
.seo-cta-book { background: var(--grad-btn); color: #fff; }
.seo-cta-book:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(237,0,142,.3); }
.seo-cta-wa { background: #25D366; color: #fff; }
.seo-cta-wa:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(37,211,102,.3); }
.seo-cta-tg { background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.3); }
.seo-cta-tg:hover { background: rgba(255,255,255,.25); }

@media (max-width: 900px) {
    .seo-usps-grid { grid-template-columns: repeat(2, 1fr); }
    .seo-catalog-grid { grid-template-columns: repeat(2, 1fr); }
    .seo-hero h1 { font-size: 28px; }
}
@media (max-width: 600px) {
    .seo-usps-grid { grid-template-columns: 1fr; }
    .seo-catalog-grid { grid-template-columns: 1fr; }
    .seo-hero h1 { font-size: 24px; }
    .seo-hero { padding: 35px 0 25px; }
    .seo-cta { padding: 30px 0; }
}

/* ================= PLACES PAGE ================= */
.places-hero { padding-bottom: 50px; }
.places-hero h1 { font-size: 40px; }

.places-controls {
    background: var(--bg-white);
    padding: 16px 0;
    border-bottom: 1px solid var(--border-color);
    position: sticky;
    top: 80px;
    z-index: 100;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.places-controls .container {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.filter-group, .sort-group { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.filter-label, .sort-label { font-size: 13px; font-weight: 600; color: var(--text-muted); white-space: nowrap; }
.filter-btn, .sort-btn {
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    border: 1.5px solid var(--border-color);
    background: var(--bg-white);
    color: var(--text-main);
    cursor: pointer;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.filter-btn:hover { border-color: var(--secondary); color: var(--secondary); }
.filter-btn.active { background: var(--secondary); color: #fff; border-color: var(--secondary); }
.filter-btn.nature.active  { background: #2ecc71; border-color: #2ecc71; }
.filter-btn.history.active { background: #e67e22; border-color: #e67e22; }
.filter-btn.culture.active { background: #9b59b6; border-color: #9b59b6; }
.sort-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); }
.controls-spacer { flex: 1; }
.places-count { font-size: 13px; color: var(--text-muted); white-space: nowrap; }

/* Grid */
.places-section { padding: 50px 0 20px; }
.places-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 60px;
}

/* Card */
.place-card {
    background: var(--bg-white);
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: var(--transition);
    cursor: pointer;
    display: flex;
    flex-direction: column;
}
.place-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.place-card.hidden { display: none; }

/* Card Slider */
.place-slider { position: relative; height: 220px; overflow: hidden; }
.place-slider img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.4s ease;
}
.place-slider img.active { opacity: 1; }
.slider-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(255,255,255,0.88);
    border: none; border-radius: 50%;
    width: 30px; height: 30px;
    font-size: 12px; cursor: pointer; z-index: 2;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.2s;
    color: var(--secondary);
}
.place-slider:hover .slider-arrow { opacity: 1; }
.slider-prev { left: 8px; }
.slider-next { right: 8px; }
.slider-dots {
    position: absolute; bottom: 8px; left: 0; right: 0;
    display: flex; justify-content: center; gap: 5px; z-index: 2;
}
.slider-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: rgba(255,255,255,0.5); transition: background 0.2s;
}
.slider-dot.active { background: #fff; }

/* Badges */
.place-badges {
    position: absolute; top: 10px; left: 10px;
    display: flex; flex-direction: column; gap: 5px; z-index: 2;
}
.place-cat-badge {
    display: inline-block; padding: 3px 10px;
    border-radius: 12px; font-size: 11px; font-weight: 600; color: #fff;
}
.place-cat-badge.nature  { background: #2ecc71; }
.place-cat-badge.history { background: #e67e22; }
.place-cat-badge.culture { background: #9b59b6; }
.place-warning-badge {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 10px; border-radius: 12px;
    font-size: 11px; font-weight: 600; color: #fff; background: #e74c3c;
}

/* Card body */
.place-body { padding: 18px; flex: 1; display: flex; flex-direction: column; }
.place-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.place-region { font-size: 12px; color: var(--text-muted); }
.place-region i { margin-right: 3px; }
.place-rating { display: flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: #f59e0b; }
.place-name { font-size: 16px; font-weight: 700; color: var(--text-main); margin-bottom: 8px; line-height: 1.3; }
.place-desc {
    font-size: 13px; color: #6B7280; line-height: 1.6; margin-bottom: 14px; flex: 1;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.place-footer {
    display: flex; align-items: center; justify-content: space-between;
    padding-top: 14px; border-top: 1px solid var(--border-color);
}
.place-distance { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--text-muted); }
.place-distance i { color: var(--primary); }
.place-btn {
    padding: 7px 16px; background: var(--secondary); color: #fff;
    border-radius: 8px; font-size: 13px; font-weight: 600;
    border: none; cursor: pointer; transition: var(--transition);
}
.place-btn:hover { background: var(--primary); }

/* Map */
.places-map-wrap { padding: 0 0 40px; }
.places-map-wrap .section-title { margin-bottom: 8px; }
.places-map-wrap .section-divider { margin-bottom: 24px; }
#places-map {
    width: 100%; height: 480px;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    z-index: 1;
}

/* Modal overlay */
.places-modal-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.72);
    z-index: 5000;
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease;
}
.places-modal-overlay.open { opacity: 1; pointer-events: all; }
.places-modal {
    background: var(--bg-white);
    border-radius: var(--radius-card);
    max-width: 860px; width: 100%;
    max-height: 90vh; overflow-y: auto;
    transform: scale(0.95);
    transition: transform 0.3s ease;
}
.places-modal-overlay.open .places-modal { transform: scale(1); }

/* Modal slider */
.modal-slider-wrap { position: relative; height: 320px; overflow: hidden; border-radius: var(--radius-card) var(--radius-card) 0 0; }
.modal-slider-wrap img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover;
    opacity: 0; transition: opacity 0.4s;
}
.modal-slider-wrap img.active { opacity: 1; }
.modal-slider-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(0,0,0,0.45); color: #fff;
    border: none; border-radius: 50%;
    width: 40px; height: 40px; font-size: 15px;
    cursor: pointer; z-index: 2;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.2s;
}
.modal-slider-arrow:hover { background: rgba(0,0,0,0.65); }
.modal-slider-prev { left: 14px; }
.modal-slider-next { right: 14px; }
.modal-slider-dots {
    position: absolute; bottom: 12px; left: 0; right: 0;
    display: flex; justify-content: center; gap: 6px; z-index: 2;
}
.modal-slider-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: rgba(255,255,255,0.5); cursor: pointer; transition: background 0.2s;
}
.modal-slider-dot.active { background: #fff; }
.modal-close {
    position: absolute; top: 12px; right: 12px;
    background: rgba(0,0,0,0.5); color: #fff;
    border: none; border-radius: 50%;
    width: 36px; height: 36px; font-size: 15px;
    cursor: pointer; z-index: 10;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.2s;
}
.modal-close:hover { background: rgba(0,0,0,0.75); }

/* Modal body */
.modal-body { padding: 28px; }
.modal-header-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.modal-title { font-size: 22px; font-weight: 700; color: var(--text-main); line-height: 1.3; }
.modal-rating-region { text-align: right; flex-shrink: 0; }
.modal-rating { font-size: 16px; font-weight: 700; color: #f59e0b; display: flex; align-items: center; gap: 4px; justify-content: flex-end; margin-bottom: 3px; }
.modal-region { font-size: 12px; color: var(--text-muted); }
.modal-stats { display: flex; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.modal-stat { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-muted); }
.modal-stat i { color: var(--secondary); }
.modal-stat strong { color: var(--text-main); }
.modal-desc { font-size: 15px; line-height: 1.7; color: #374151; margin-bottom: 16px; }
.modal-info-block {
    background: var(--bg-light); border-radius: 10px;
    padding: 12px 16px; margin-bottom: 10px;
    display: flex; gap: 10px; align-items: flex-start;
}
.modal-info-block i { color: var(--secondary); margin-top: 2px; min-width: 16px; }
.modal-info-block p { font-size: 14px; color: #374151; line-height: 1.6; }
.modal-info-block.tip { background: #fef9e7; }
.modal-info-block.tip i { color: #f39c12; }
.modal-info-block.warning { background: #fdf0ed; }
.modal-info-block.warning i { color: #e74c3c; }
.modal-actions { display: flex; gap: 12px; margin-top: 22px; flex-wrap: wrap; }
.modal-btn-maps {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 22px; background: var(--secondary); color: #fff;
    border-radius: var(--radius-btn); font-size: 14px; font-weight: 600;
    text-decoration: none; transition: var(--transition);
}
.modal-btn-maps:hover { background: var(--primary); color: #fff; transform: translateY(-2px); }
.modal-btn-book {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 22px; background: var(--grad-btn); color: #fff;
    border-radius: var(--radius-btn); font-size: 14px; font-weight: 600;
    text-decoration: none; transition: var(--transition);
}
.modal-btn-book:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(237,0,142,0.3); color: #fff; }

/* Responsive */
@media (max-width: 1024px) {
    .places-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .places-controls { top: 0; }
    .places-controls .container { flex-direction: column; align-items: flex-start; gap: 10px; }
    .controls-spacer { display: none; }
    .modal-header-row { flex-direction: column; }
    .modal-rating-region { text-align: left; }
    .modal-rating { justify-content: flex-start; }
    .modal-slider-wrap { height: 220px; }
    #places-map { height: 340px; }
}
@media (max-width: 600px) {
    .places-grid { grid-template-columns: 1fr; }
    .places-hero h1 { font-size: 26px; }
    .modal-body { padding: 18px; }
    .modal-title { font-size: 19px; }
}