:root {
    --theme-accent: #d78d4e;
    --theme-accent-strong: #b9682d;
    --theme-soft: #eef5fb;
    --theme-soft-strong: #d8e8f6;
    --theme-ink: #17324a;
    --theme-muted: #53687a;
    --theme-panel: rgba(255, 255, 255, 0.94);
    --theme-border: rgba(216, 227, 237, 0.95);
    --theme-shadow: 0 24px 56px rgba(10, 28, 46, 0.1);
}

body.site-theme {
    background:
        radial-gradient(circle at top left, rgba(59, 118, 184, 0.11), transparent 28%),
        radial-gradient(circle at 92% 14%, rgba(212, 137, 73, 0.1), transparent 22%),
        linear-gradient(180deg, #edf3f9 0%, #f6f8fb 56%, #ffffff 100%);
    color: var(--theme-ink);
}

body.theme-home {
    --theme-accent: #d78d4e;
    --theme-accent-strong: #b9682d;
    --theme-soft: #eef5fb;
    --theme-soft-strong: #d8e8f6;
}

body.theme-about {
    --theme-accent: #4c8fd4;
    --theme-accent-strong: #245f9a;
    --theme-soft: #edf5ff;
    --theme-soft-strong: #dbe9fa;
}

body.theme-news {
    --theme-accent: #bb755d;
    --theme-accent-strong: #8f4f3b;
    --theme-soft: #fff1ec;
    --theme-soft-strong: #f6dfd8;
}

body.theme-custom {
    --theme-accent: #0f8f99;
    --theme-accent-strong: #0d666d;
    --theme-soft: #ecfbfb;
    --theme-soft-strong: #d7f1f2;
}

body.theme-support {
    --theme-accent: #809d3c;
    --theme-accent-strong: #5c7624;
    --theme-soft: #f3f9e8;
    --theme-soft-strong: #e0ebc9;
}

body.theme-contact {
    --theme-accent: #c67620;
    --theme-accent-strong: #9a560d;
    --theme-soft: #fff4e6;
    --theme-soft-strong: #f6e2c4;
}

body.theme-products {
    --theme-accent: #0d8b92;
    --theme-accent-strong: #0d5f68;
    --theme-soft: #ebfcfb;
    --theme-soft-strong: #d9f2f1;
}

body.site-theme .page-nav-wrap,
body.site-theme .navbar-inverse {
    background: linear-gradient(135deg, rgba(8, 28, 49, 0.97) 0%, rgba(18, 53, 89, 0.93) 100%) !important;
    border-color: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 14px 34px rgba(7, 21, 35, 0.18);
    backdrop-filter: blur(12px);
}

body.site-theme .page-nav .nav > li > a,
body.site-theme .navbar-inverse .navbar-nav > li > a {
    border-radius: 16px;
    font-weight: 700;
    letter-spacing: 0.4px;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

body.site-theme .page-nav .nav > li > a:hover,
body.site-theme .page-nav .nav > li > a:focus,
body.site-theme .navbar-inverse .navbar-nav > li > a:hover,
body.site-theme .navbar-inverse .navbar-nav > li > a:focus {
    transform: translateY(-1px);
}

body.site-theme .hero {
    position: relative;
    overflow: hidden;
}

body.site-theme .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.34), transparent 18%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.04));
    pointer-events: none;
}

body.site-theme .hero-inner,
body.site-theme #home-hero-panel {
    position: relative;
    z-index: 1;
}

body.site-theme .hero-copy {
    padding: 26px 30px;
    border-radius: 28px;
    border: 1px solid rgba(228, 236, 244, 0.88);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(248, 251, 255, 0.72) 100%);
    box-shadow: 0 26px 58px rgba(12, 32, 51, 0.12);
    backdrop-filter: blur(12px);
}

body.site-theme .hero-copy p.eyebrow,
body.site-theme .hero-kicker {
    color: var(--theme-accent-strong) !important;
    letter-spacing: 3px !important;
}

body.site-theme .hero-copy h1,
body.site-theme #home-hero-panel h1 {
    color: var(--theme-ink);
    font-weight: 800;
    letter-spacing: 0.4px;
}

body.site-theme .hero-copy p.desc,
body.site-theme #home-hero-panel .hero-lead {
    color: var(--theme-muted);
}

body.site-theme .panel-card,
body.site-theme #home-hero-panel,
body.site-theme .home-shortcut-card {
    position: relative;
    overflow: hidden;
    border-radius: 28px !important;
    border: 1px solid var(--theme-border) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(249, 251, 254, 0.94) 100%) !important;
    box-shadow: var(--theme-shadow) !important;
}

body.site-theme .panel-card::before,
body.site-theme .home-shortcut-card::before,
body.site-theme #home-hero-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 26%;
    height: 5px;
    background: linear-gradient(90deg, var(--theme-accent) 0%, rgba(255, 255, 255, 0) 100%);
}

body.site-theme .section-tag,
body.site-theme .news-date,
body.site-theme .product-highlight,
body.site-theme #home-hero-points li {
    background: var(--theme-soft) !important;
    color: var(--theme-accent-strong) !important;
    border-color: var(--theme-soft-strong) !important;
}

body.site-theme .intro-card h2,
body.site-theme .section-card h2,
body.site-theme .cta-card h2,
body.site-theme .lead-card h2,
body.site-theme .panel-card h2,
body.site-theme .news-item-body h2,
body.site-theme .doc-body h3,
body.site-theme .info-card h3,
body.site-theme .step-card h3 {
    color: var(--theme-ink) !important;
    font-weight: 800;
}

body.site-theme .intro-card p,
body.site-theme .section-card p,
body.site-theme .cta-card p,
body.site-theme .lead-card p,
body.site-theme .panel-card p,
body.site-theme .news-item-body p,
body.site-theme .doc-body p,
body.site-theme .info-card p,
body.site-theme .step-card p,
body.site-theme .contact-list li,
body.site-theme .doc-list li,
body.site-theme .highlights li {
    color: var(--theme-muted) !important;
}

body.site-theme .highlights li::before {
    background: var(--theme-accent) !important;
}

body.site-theme .info-card,
body.site-theme .step-card,
body.site-theme .doc-media,
body.site-theme .news-item-media,
body.site-theme .contact-map,
body.site-theme .figure-box {
    border-radius: 22px !important;
    border-color: var(--theme-soft-strong) !important;
    background: linear-gradient(180deg, var(--theme-soft) 0%, #ffffff 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

body.site-theme .doc-list a,
body.site-theme .panel-card a,
body.site-theme .home-shortcut-card h3 {
    color: var(--theme-ink);
}

body.site-theme .home-shortcut-card p,
body.site-theme .home-shortcut-index {
    color: var(--theme-muted);
}

body.site-theme .home-shortcut-card:hover,
body.site-theme .home-shortcut-card:focus {
    transform: translateY(-6px);
    border-color: rgba(185, 104, 45, 0.34) !important;
    box-shadow: 0 30px 54px rgba(10, 28, 46, 0.14) !important;
}

body.site-theme .btn-primary-soft,
body.site-theme .contact-submit,
body.site-theme .home-button-primary {
    background: linear-gradient(135deg, var(--theme-accent-strong) 0%, var(--theme-accent) 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 18px 32px rgba(27, 54, 84, 0.14);
}

body.site-theme .btn-secondary-soft,
body.site-theme .home-button-secondary {
    background: #fff !important;
    color: var(--theme-ink) !important;
    border-color: rgba(150, 173, 194, 0.9) !important;
}

body.site-theme .btn-secondary-soft:hover,
body.site-theme .btn-secondary-soft:focus,
body.site-theme .home-button-secondary:hover,
body.site-theme .home-button-secondary:focus {
    border-color: var(--theme-accent) !important;
    color: var(--theme-accent-strong) !important;
}

body.site-theme .panel-card .form-control {
    border-radius: 14px;
    border-color: var(--theme-soft-strong);
    background: rgba(250, 252, 254, 0.96);
}

body.site-theme .panel-card .form-control:focus {
    border-color: var(--theme-accent);
    box-shadow: 0 0 0 3px rgba(215, 141, 78, 0.12);
}

body.site-theme .page-footer {
    color: #6f7e8a !important;
}

body.site-theme .page-footer a {
    color: #465d70 !important;
    font-weight: 600;
}

@media (max-width: 767px) {
    body.site-theme .hero-copy {
        padding: 22px 18px;
        border-radius: 22px;
    }

    body.site-theme .panel-card,
    body.site-theme #home-hero-panel,
    body.site-theme .home-shortcut-card {
        border-radius: 22px !important;
    }
}
