/* Website theme controls share the language button's compact dimensions. */
html {
    color-scheme: light;
}

.site-theme-toggle {
    display: inline-grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 48px;
    padding: 8px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #2b2c2e;
    cursor: pointer;
}

.site-theme-toggle:hover {
    background: #f0f9ff;
    border-color: #7dd3fc;
}

.site-theme-toggle:focus-visible {
    outline: 2px solid #0284c7;
    outline-offset: 3px;
}

.site-theme-sun,
html[data-site-theme="dark"] .site-theme-moon {
    display: none;
}

html[data-site-theme="dark"] .site-theme-sun {
    display: block;
}

html[data-site-theme="dark"] {
    color-scheme: dark;
    --site-background: #101820;
    --site-surface: #192531;
    --site-elevated: #233342;
    --site-border: #415365;
    --site-text: #cbd5e1;
    --site-heading: #f1f5f9;
    --site-muted: #aebdcd;
    --site-accent: #e5ad53;
    --bs-secondary: #aebdcd;
}

html[data-site-theme="dark"] body {
    background: var(--site-background);
    color: var(--site-text);
}

html[data-site-theme="dark"] :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    color: var(--site-heading);
}

html[data-site-theme="dark"] a {
    color: var(--site-accent);
}

html[data-site-theme="dark"] a:hover {
    color: #f5c77d;
}

html[data-site-theme="dark"] :is(.bg-white, .bg-body) {
    background-color: var(--site-surface) !important;
}

html[data-site-theme="dark"] .bg-light {
    background-color: var(--site-elevated) !important;
}

html[data-site-theme="dark"] .bg-dark,
html[data-site-theme="dark"] .copyright {
    background-color: #0b1219 !important;
}

html[data-site-theme="dark"] .text-dark {
    color: var(--site-heading) !important;
}

html[data-site-theme="dark"] :is(.text-secondary, .text-muted) {
    color: var(--site-muted) !important;
}

html[data-site-theme="dark"] .text-primary {
    color: var(--site-accent) !important;
}

html[data-site-theme="dark"] .border {
    border-color: var(--site-border) !important;
}

html[data-site-theme="dark"] .border-primary {
    border-color: var(--site-accent) !important;
}

html[data-site-theme="dark"] .site-address-bar {
    background-color: #374151;
}

html[data-site-theme="dark"] .navbar .navbar-nav .nav-link,
html[data-site-theme="dark"] .dropdown-item {
    color: var(--site-heading);
}

html[data-site-theme="dark"] .navbar .navbar-nav .nav-link:hover,
html[data-site-theme="dark"] .navbar .navbar-nav .nav-link.active {
    color: var(--site-accent);
}

html[data-site-theme="dark"] .dropdown-item:hover,
html[data-site-theme="dark"] .dropdown-item:focus {
    background-color: var(--site-surface);
    color: var(--site-accent);
}

html[data-site-theme="dark"] .navbar-light .navbar-toggler {
    border-color: var(--site-border);
}

html[data-site-theme="dark"] .navbar-light .navbar-toggler-icon {
    filter: invert(1);
}

html[data-site-theme="dark"] .navbar .navbar-nav {
    border-color: var(--site-border);
}

html[data-site-theme="dark"] :is(.site-language-toggle, .site-language-panel, .site-theme-toggle, .site-local-search) {
    background: var(--site-surface);
    border-color: var(--site-border);
    color: var(--site-heading);
}

html[data-site-theme="dark"] .site-theme-toggle {
    color: var(--site-accent);
}

html[data-site-theme="dark"] :is(.site-language-toggle, .site-theme-toggle):hover {
    background: var(--site-elevated);
    border-color: var(--site-accent);
}

html[data-site-theme="dark"] :is(.site-language-count, .site-language-option small, .site-language-abbreviation, .site-language-status) {
    color: var(--site-muted);
}

html[data-site-theme="dark"] .site-language-option:not(:disabled):hover,
html[data-site-theme="dark"] .site-language-option[aria-pressed="true"] {
    background: var(--site-elevated);
    color: var(--site-accent);
}

html[data-site-theme="dark"] :is(.form-control, .form-select, .site-language-search, .site-local-search input) {
    color: var(--site-heading);
    background-color: var(--site-elevated);
    border-color: var(--site-border);
}

html[data-site-theme="dark"] :is(.form-control, .site-language-search, .site-local-search input)::placeholder {
    color: var(--site-muted);
    opacity: 1;
}

html[data-site-theme="dark"] .form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' fill='none'%3E%3Cpath stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 2 6 6 6-6'/%3E%3C/svg%3E");
}

html[data-site-theme="dark"] :is(.form-control, .form-select):focus {
    border-color: var(--site-accent);
    box-shadow: 0 0 0 .2rem rgb(229 173 83 / 25%);
}

html[data-site-theme="dark"] :is(.site-theme-toggle, .site-language-toggle, .site-language-option, .site-language-search):focus-visible {
    outline-color: var(--site-accent);
}

html[data-site-theme="dark"] .btn-light {
    color: var(--site-heading);
    background-color: var(--site-elevated);
    border-color: var(--site-border);
}

html[data-site-theme="dark"] .btn-light:hover {
    background-color: #344b60;
}

html[data-site-theme="dark"] .btn-outline-primary {
    color: var(--site-accent);
    border-color: var(--site-accent);
}

html[data-site-theme="dark"] :is(.btn-primary, .btn-outline-primary:hover, .btn-outline-primary:focus) {
    color: #101820;
}

html[data-site-theme="dark"] .site-navbar .site-nav-action .site-staff-login {
    color: var(--site-heading);
    background-color: transparent;
    border-color: var(--site-accent);
}

html[data-site-theme="dark"] .site-navbar .site-nav-action .site-staff-login:hover,
html[data-site-theme="dark"] .site-navbar .site-nav-action .site-staff-login:active {
    color: #101820;
    background-color: var(--site-accent);
}

html[data-site-theme="dark"] .site-navbar .site-nav-action .site-staff-login:focus-visible {
    outline-color: var(--site-accent);
}

html[data-site-theme="dark"] :is(.service .service-inner, .team .team-item) {
    background: var(--site-surface);
    box-shadow: 0 0 35px rgb(0 0 0 / 20%);
}

html[data-site-theme="dark"] .service .service-item:hover :is(h5, p) {
    color: #101820;
}

html[data-site-theme="dark"] .testimonial-img div::after {
    box-shadow: 0 0 10px 10px var(--site-background) inset;
}

html[data-site-theme="dark"] .feature-item,
html[data-site-theme="dark"] .site-search-result {
    border-color: var(--site-border) !important;
}

html[data-site-theme="dark"] .site-search-query {
    color: var(--site-heading);
}

html[data-site-theme="dark"] .site-search-empty {
    background: var(--site-surface);
}
