:root {
    color-scheme: light;
    --site-theme-bg: #f6f2ea;
    --site-theme-bg-soft: #fffaf2;
    --site-theme-surface: #ffffff;
    --site-theme-surface-raised: #ffffff;
    --site-theme-text: #1f1a12;
    --site-theme-muted: #70685d;
    --site-theme-border: rgba(31, 26, 18, 0.14);
    --site-theme-accent: #d0a25f;
    --site-theme-accent-strong: #1f1a12;
    --site-theme-shadow: 0 18px 42px rgba(31, 26, 18, 0.12);
}

:root[data-site-theme="dark"] {
    color-scheme: dark;
    --site-theme-bg: #080b0a;
    --site-theme-bg-soft: #111713;
    --site-theme-surface: #151b17;
    --site-theme-surface-raised: #1d261f;
    --site-theme-text: #f7f3ea;
    --site-theme-muted: #b8afa1;
    --site-theme-border: rgba(247, 243, 234, 0.16);
    --site-theme-accent: #f2bd73;
    --site-theme-accent-strong: #f7f3ea;
    --site-theme-shadow: 0 22px 54px rgba(0, 0, 0, 0.36);
}

body[data-site-theme] {
    background: var(--site-theme-bg);
    color: var(--site-theme-text);
    transition: background-color 180ms ease, color 180ms ease;
}

body[data-site-theme="dark"] .site-header,
body[data-site-theme="dark"] .blog-header {
    background: rgba(8, 11, 10, 0.94) !important;
    border-color: var(--site-theme-border) !important;
    color: var(--site-theme-text);
}

body[data-site-theme="dark"] .main-nav.navbar-mobile {
    background: var(--site-theme-surface) !important;
}

body[data-site-theme="dark"] .site-footer,
body[data-site-theme="dark"] .blog-footer {
    background: #050706 !important;
    color: var(--site-theme-text) !important;
}

body[data-site-theme="dark"] .card,
body[data-site-theme="dark"] .modal-content,
body[data-site-theme="dark"] .dropdown-menu,
body[data-site-theme="dark"] .list-group-item,
body[data-site-theme="dark"] .cms-block,
body[data-site-theme="dark"] .cms-header,
body[data-site-theme="dark"] .cms-footer,
body[data-site-theme="dark"] .newsletter-shell-main,
body[data-site-theme="dark"] .newsletter-shell-sidebar {
    background-color: var(--site-theme-surface) !important;
    border-color: var(--site-theme-border) !important;
    color: var(--site-theme-text) !important;
}

body[data-site-theme="dark"] .bg-light,
body[data-site-theme="dark"] .table,
body[data-site-theme="dark"] .form-control,
body[data-site-theme="dark"] .form-select,
body[data-site-theme="dark"] input,
body[data-site-theme="dark"] textarea,
body[data-site-theme="dark"] select {
    background-color: var(--site-theme-surface-raised) !important;
    border-color: var(--site-theme-border) !important;
    color: var(--site-theme-text) !important;
}

body[data-site-theme="dark"] .text-dark,
body[data-site-theme="dark"] .link-dark,
body[data-site-theme="dark"] h1,
body[data-site-theme="dark"] h2,
body[data-site-theme="dark"] h3,
body[data-site-theme="dark"] h4,
body[data-site-theme="dark"] h5,
body[data-site-theme="dark"] h6,
body[data-site-theme="dark"] p,
body[data-site-theme="dark"] label,
body[data-site-theme="dark"] .nav-link,
body[data-site-theme="dark"] .dropdown-item {
    color: var(--site-theme-text) !important;
}

body[data-site-theme="dark"] .text-muted,
body[data-site-theme="dark"] small,
body[data-site-theme="dark"] .form-text {
    color: var(--site-theme-muted) !important;
}

body[data-site-theme="dark"] a:not(.btn):not(.get-started-btn) {
    color: var(--site-theme-accent);
}

.site-theme-toggle {
    align-items: center;
    background: color-mix(in srgb, var(--site-theme-surface) 88%, transparent);
    border: 1px solid var(--site-theme-border);
    border-radius: 999px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
    color: var(--site-theme-text);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 7px;
    justify-content: center;
    min-height: 38px;
    padding: 6px 9px;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.site-theme-toggle:hover {
    border-color: color-mix(in srgb, var(--site-theme-accent) 70%, var(--site-theme-border));
}

.site-theme-toggle__icon {
    display: inline-flex;
    font-size: 0.88rem;
    line-height: 1;
}

.site-theme-toggle__track {
    background: color-mix(in srgb, var(--site-theme-border) 72%, var(--site-theme-surface));
    border-radius: 999px;
    display: inline-flex;
    height: 22px;
    padding: 3px;
    width: 42px;
}

.site-theme-toggle__thumb {
    background: var(--site-theme-surface);
    border-radius: 50%;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.28);
    display: block;
    height: 16px;
    transform: translateX(0);
    transition: transform 180ms ease, background 180ms ease;
    width: 16px;
}

:root[data-site-theme="dark"] .site-theme-toggle__track {
    background: var(--site-theme-accent);
}

:root[data-site-theme="dark"] .site-theme-toggle__thumb {
    background: #161b17;
    transform: translateX(20px);
}

.nav-actions .site-theme-toggle,
.blog-header .site-theme-toggle {
    margin-right: 2px;
}

.cms-theme-action {
    margin-left: 12px;
}

.newsletter-shell-theme {
    margin-top: 18px;
    width: 100%;
}

@media (max-width: 991px) {
    .site-theme-toggle {
        min-height: 36px;
        padding: 5px 8px;
    }

    .site-theme-toggle__icon {
        font-size: 0.8rem;
    }
}

@media (max-width: 560px) {
    .site-theme-toggle__icon {
        display: none;
    }
}
