/* Visual polish: shared ZasNet palette, no behavioural rules. */
:root {
    --zas-brand: #138b45;
    --zas-brand-bright: #76c93d;
    --zas-brand-soft: #e9f7ec;
    --zas-ink: #102039;
}

body {
    background:
        radial-gradient(circle at 86% 10%, rgba(118, 201, 61, .10), transparent 28%),
        radial-gradient(circle at 8% 42%, rgba(19, 139, 69, .07), transparent 26%),
        linear-gradient(180deg, #f5faf7 0%, #eef6f1 52%, #f7fbf8 100%);
}

.btn.primary,
.btn.green,
.home-promo-link {
    background: linear-gradient(118deg, var(--zas-brand), var(--zas-brand-bright));
    box-shadow: 0 12px 24px rgba(19, 139, 69, .18);
}

.btn.primary:hover,
.btn.green:hover,
.home-promo-link:hover {
    box-shadow: 0 16px 30px rgba(19, 139, 69, .24);
}

.home-promotions,
.home-speedtest-block {
    border-color: rgba(19, 139, 69, .15);
    box-shadow: 0 20px 54px rgba(16, 48, 37, .10);
}

.home-promotions-controls button:hover {
    background: linear-gradient(135deg, var(--zas-brand), var(--zas-brand-bright));
    box-shadow: 0 14px 30px rgba(19, 139, 69, .20);
}

.home-promo-card:hover {
    border-color: rgba(19, 139, 69, .20);
    box-shadow: 0 22px 46px rgba(16, 48, 37, .12);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(118, 201, 61, .52);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

html[data-theme="dark"] .home-promotions,
html[data-theme="dark"] .home-speedtest-block {
    border-color: rgba(118, 201, 61, .20);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .34);
}

/* Unified surfaces for every public page. */
html[data-theme="dark"] body {
    color: #edf7f1 !important;
    background:
        radial-gradient(circle at 82% -8%, rgba(64, 184, 101, .16), transparent 32%),
        radial-gradient(circle at 6% 34%, rgba(30, 151, 103, .11), transparent 30%),
        linear-gradient(145deg, #10231f 0%, #0a1816 58%, #081310 100%) !important;
}

html[data-theme="dark"] .topbar {
    background: rgba(13, 35, 30, .92) !important;
    border-color: rgba(181, 231, 197, .14) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28) !important;
}

html[data-theme="dark"] :is(.tariffs-clean-panel, .content-page, .about-hero, .contacts-hero, .coverage-hero-v3, .equipment-hero, .video-hero, .news-hero, .cabinet-login-hero) {
    background: linear-gradient(150deg, rgba(20, 52, 44, .98), rgba(10, 29, 25, .98)) !important;
    border-color: rgba(181, 231, 197, .14) !important;
}

html[data-theme="dark"] :is(.tariff-clean-card, .tariff-clean-request, .tariffs-connection-note, .coverage-result-card, .coverage-villages-card, .contacts-card, .contacts-form-card, .news-card-v2, .news-card-grid article, .equipment-product-grid article, .equipment-benefit-grid article, .video-package-card, .video-live-grid article, .about-mission, .about-why, .why-v2-grid article, .feature-row article) {
    background: #15352d !important;
    border-color: rgba(181, 231, 197, .14) !important;
    color: #edf7f1 !important;
}

html[data-theme="dark"] :is(.tariffs-clean-head h1, .tariffs-clean-panel h2, .tariff-clean-card h2, .content-page h1, .content-page h2, .content-page h3, .contacts-hero h1, .about-hero h1, .news-hero h1, .coverage-hero-v3 h1, .equipment-hero h1, .video-hero h1) {
    color: #f4fff7 !important;
}

html[data-theme="dark"] :is(.tariffs-clean-panel p, .tariff-clean-card p, .content-page p, .content-page li, .contacts-card p, .news-card-v2 p, .equipment-product-grid p, .video-package-card p) {
    color: rgba(237, 247, 241, .78) !important;
}

html[data-theme="dark"] :is(.tariffs-clean-controls, .tariffs-city-pills button, .tariff-clean-connect, .tariff-clean-connection-price, .tariff-clean-request form, .coverage-check-v2, .contact-map-section, .map-frame) {
    background-color: #102a24 !important;
    border-color: rgba(181, 231, 197, .16) !important;
    color: #edf7f1 !important;
}

html[data-theme="dark"] :is(input, select, textarea) {
    background: #0b211c !important;
    border-color: rgba(181, 231, 197, .22) !important;
    color: #f4fff7 !important;
}

html[data-theme="dark"] :is(input, select, textarea)::placeholder { color: rgba(237, 247, 241, .52) !important; }

html[data-theme="dark"] .tariff-clean-connection-price strong,
html[data-theme="dark"] .tariffs-connection-note strong { color: #9cf2a7 !important; }

html[data-theme="light"] body,
html:not([data-theme="dark"]) body {
    color: #132c24;
}

html:not([data-theme="dark"]) :is(input, select, textarea) {
    border-color: rgba(19, 139, 69, .22);
    box-shadow: 0 6px 18px rgba(16, 48, 37, .05);
}
