/*
CreaLabs Agency Coding
ASEL Turizm V43.7.2
Universal Dark / Light Theme & Typography System
*/

:root {
    --asel-radius-sm: 10px;
    --asel-radius-md: 16px;
    --asel-radius-lg: 24px;
    --asel-transition: .24s ease;
}

html {
    font-size:
        calc(
            16px *
            var(--asel-font-scale, 1)
        );
    color-scheme: light;
}

html[data-theme="dark"] {
    color-scheme: dark;
}

/* Legacy variables and unified design tokens */
html[data-theme="light"] {
    --page: #f7faff;
    --soft: #edf4fb;
    --card: #ffffff;
    --ink: #071a39;
    --muted: #667b92;
    --line: #d9e6f3;
    --shadow:
        0 24px 70px rgba(7, 34, 75, .11);

    --asel-page: #f7faff;
    --asel-page-soft: #edf4fb;
    --asel-surface: #ffffff;
    --asel-surface-2: #f2f7fc;
    --asel-text: #071a39;
    --asel-text-soft: #647990;
    --asel-border: rgba(8, 70, 136, .13);
    --asel-shadow:
        0 22px 65px rgba(7, 34, 75, .10);
}

html[data-theme="dark"] {
    --page: #031329;
    --soft: #071d37;
    --card: #0a2746;
    --ink: #edf6ff;
    --muted: #9db3c8;
    --line: rgba(127, 188, 230, .17);
    --shadow:
        0 28px 78px rgba(0, 0, 0, .32);

    --asel-page: #031329;
    --asel-page-soft: #071d37;
    --asel-surface: #0a2746;
    --asel-surface-2: #0d3157;
    --asel-text: #edf6ff;
    --asel-text-soft: #9db3c8;
    --asel-border: rgba(127, 188, 230, .17);
    --asel-shadow:
        0 28px 78px rgba(0, 0, 0, .28);
}

html[data-accent="asel-blue"] {
    --blue: var(--asel-accent);
    --blue2: var(--asel-accent-2);
    --cyan: var(--asel-cyan);
}

html[data-accent="ocean-cyan"],
html[data-accent="indigo"],
html[data-accent="teal"] {
    --blue: var(--asel-accent);
    --blue2: var(--asel-accent-2);
    --cyan: var(--asel-cyan);
}

body,
button,
input,
textarea,
select {
    font-family:
        var(
            --asel-font-body,
            Inter,
            ui-sans-serif,
            system-ui,
            sans-serif
        ) !important;
}

body {
    background:
        var(--asel-page) !important;
    color:
        var(--asel-text) !important;
    transition:
        background var(--asel-transition),
        color var(--asel-transition);
}

h1,
h2,
h3,
h4,
h5,
h6,
.as-banner-content h1,
.as-page-hero h1,
.as-home-hero-copy h1,
.as-section-heading h2,
.as-v4371-hero-copy h1,
.as-v4371-section-heading h2,
.as-vehicle-hero-copy h1,
.as-policy-hero h1,
.as-policy-detail-hero h1 {
    font-family:
        var(
            --asel-font-heading,
            Manrope,
            ui-sans-serif,
            system-ui,
            sans-serif
        ) !important;
}

/* Theme switcher can be disabled from dashboard. */
html[data-theme-switcher="0"]
.as-theme-toggle,
html[data-theme-switcher="0"]
.as-mobile-theme {
    display: none !important;
}

/* Motion setting and user accessibility preference */
html[data-motion="0"] *,
html[data-motion="0"] *::before,
html[data-motion="0"] *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
}

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

/* Main page surfaces */
html[data-theme="light"] :where(
    .as-standard-page,
    .as-services-page,
    .as-fleet-page,
    .as-contact-page,
    .as-quote-page,
    .as-about-detail,
    .as-policy-index,
    .as-policy-detail,
    .as-policy-detail-content,
    .as-vehicle-content,
    .as-related-fleet,
    .as-related-fleet-premium,
    .as-v4371-overview,
    .as-v4371-fleet,
    .as-v4371-related,
    .as-v4371-final-cta,
    .as-soft-section,
    .as-map-section
) {
    color: var(--asel-text) !important;
    background:
        var(--asel-page-soft) !important;
}

html[data-theme="dark"] :where(
    .as-standard-page,
    .as-services-page,
    .as-fleet-page,
    .as-contact-page,
    .as-quote-page,
    .as-about-detail,
    .as-policy-index,
    .as-policy-detail,
    .as-policy-detail-content,
    .as-vehicle-content,
    .as-related-fleet,
    .as-related-fleet-premium,
    .as-v4371-overview,
    .as-v4371-fleet,
    .as-v4371-related,
    .as-v4371-final-cta,
    .as-soft-section,
    .as-map-section
) {
    color: var(--asel-text) !important;
    background:
        var(--asel-page) !important;
}

html[data-theme="light"] :where(
    .as-section,
    .asel-section,
    .as-dynamic-section,
    .as-about-home,
    .as-contact-home
) {
    color: var(--asel-text);
}

html[data-theme="dark"] :where(
    .as-section,
    .asel-section,
    .as-dynamic-section,
    .as-about-home,
    .as-contact-home
) {
    color: var(--asel-text);
}

/* Reusable cards and surfaces */
html[data-theme="light"] :where(
    .as-service-card,
    .as-service-designer-card,
    .as-custom-item-card,
    .as-testimonial-card,
    .as-policy-grid article,
    .as-policy-document,
    .as-policy-sidebar,
    .as-related-fleet-grid article,
    .as-related-fleet-premium-grid article,
    .as-vehicle-feature-grid article,
    .as-vehicle-summary-card,
    .as-v4365-stat-card,
    .as-v4367-testimonial-card,
    .as-v4367-logo-track a,
    .as-v4371-feature-grid article,
    .as-v4371-sidebar-note,
    .as-v4371-fleet-card,
    .as-v4371-related-card,
    .as-form,
    .as-contact-form-shell,
    .asel-contact-form
) {
    color: var(--asel-text) !important;
    border-color: var(--asel-border) !important;
    background:
        var(--asel-surface) !important;
    box-shadow:
        var(--asel-shadow) !important;
}

html[data-theme="dark"] :where(
    .as-service-card,
    .as-service-designer-card,
    .as-custom-item-card,
    .as-testimonial-card,
    .as-policy-grid article,
    .as-policy-document,
    .as-policy-sidebar,
    .as-related-fleet-grid article,
    .as-related-fleet-premium-grid article,
    .as-vehicle-feature-grid article,
    .as-vehicle-summary-card,
    .as-v4365-stat-card,
    .as-v4367-testimonial-card,
    .as-v4367-logo-track a,
    .as-v4371-feature-grid article,
    .as-v4371-sidebar-note,
    .as-v4371-fleet-card,
    .as-v4371-related-card,
    .as-form,
    .as-contact-form-shell,
    .asel-contact-form
) {
    color: var(--asel-text) !important;
    border-color: var(--asel-border) !important;
    background:
        linear-gradient(
            145deg,
            var(--asel-surface-2),
            var(--asel-surface)
        ) !important;
    box-shadow:
        var(--asel-shadow) !important;
}

/* Headings and body text inside adaptable surfaces */
html[data-theme] :where(
    .as-policy-grid h2,
    .as-policy-grid h3,
    .as-policy-document h2,
    .as-policy-document h3,
    .as-policy-sidebar h3,
    .as-related-fleet-grid h3,
    .as-related-fleet-premium h3,
    .as-vehicle-feature-grid h3,
    .as-vehicle-summary-card h2,
    .as-vehicle-summary-card h3,
    .as-service-card h3,
    .as-service-designer-card h3,
    .as-custom-item-card h3,
    .as-testimonial-card h3,
    .as-v4365-stat-copy b,
    .as-v4365-stat-copy strong,
    .as-v4371-feature-grid h3,
    .as-v4371-sidebar-note b,
    .as-v4371-fleet-card h3,
    .as-v4371-related-card h3
) {
    color:
        var(--asel-text) !important;
}

html[data-theme] :where(
    .as-policy-grid p,
    .as-policy-document p,
    .as-policy-rich-text,
    .as-related-fleet-grid p,
    .as-related-fleet-premium p,
    .as-vehicle-feature-grid p,
    .as-vehicle-summary-card p,
    .as-service-card p,
    .as-service-designer-card p,
    .as-custom-item-card p,
    .as-testimonial-card p,
    .as-v4365-stat-copy small,
    .as-v4371-rich-content,
    .as-v4371-sidebar-note p,
    .as-v4371-fleet-card p,
    .as-v4371-related-card p
) {
    color:
        var(--asel-text-soft) !important;
}

/* Forms */
html[data-theme] :where(
    input:not([type="checkbox"]):not([type="radio"]),
    textarea,
    select
) {
    border-color:
        var(--asel-border) !important;
    color:
        var(--asel-text) !important;
    background:
        var(--asel-surface) !important;
}

html[data-theme] :where(
    input,
    textarea
)::placeholder {
    color:
        color-mix(
            in srgb,
            var(--asel-text-soft) 78%,
            transparent
        ) !important;
}

/* Accent synchronization */
html[data-theme] :where(
    .as-btn-primary,
    .asel-btn-primary,
    .as-v4371-button-primary,
    .as-v4370-footer-callout > a
) {
    background:
        linear-gradient(
            135deg,
            var(--asel-accent),
            var(--asel-accent-2)
        ) !important;
}

html[data-theme] :where(
    .as-section-label,
    .as-section-heading > span,
    .as-text-link,
    .as-v4371-eyebrow,
    .as-v4371-section-heading > span,
    .as-v4371-section-heading > div > span
) {
    color:
        var(--asel-accent-2) !important;
}

/* References and testimonials */
html[data-theme="light"]
.as-v4367-social-proof {
    color: var(--asel-text) !important;
    background:
        radial-gradient(
            circle at 92% 12%,
            color-mix(
                in srgb,
                var(--asel-cyan) 12%,
                transparent
            ),
            transparent 28%
        ),
        var(--asel-page-soft) !important;
}

html[data-theme="light"]
.as-v4367-social-head h2,
html[data-theme="light"]
.as-v4367-testimonial-head h2,
html[data-theme="light"]
.as-v4367-testimonial-card footer b {
    color: var(--asel-text) !important;
}

html[data-theme="light"]
.as-v4367-social-head p,
html[data-theme="light"]
.as-v4367-testimonial-card > p,
html[data-theme="light"]
.as-v4367-testimonial-card footer span {
    color: var(--asel-text-soft) !important;
}

html[data-theme="dark"]
.as-v4367-social-proof {
    color: var(--asel-text) !important;
    background:
        radial-gradient(
            circle at 92% 12%,
            rgba(67, 211, 255, .12),
            transparent 28%
        ),
        var(--asel-page) !important;
}

/* Stats */
html[data-theme="light"]
.as-v4365-stats-shell {
    border-color: var(--asel-border) !important;
    background:
        linear-gradient(
            135deg,
            #eaf4ff,
            #dfeeff
        ) !important;
}

html[data-theme="dark"]
.as-v4365-stats-shell {
    border-color: var(--asel-border) !important;
    background:
        linear-gradient(
            135deg,
            #061c38,
            #0a345f
        ) !important;
}

/* Footer adapts to both modes. Developer credit always remains visible. */
html[data-theme="light"]
.as-v4370-footer {
    color: var(--asel-text) !important;
    background:
        radial-gradient(
            circle at 86% 5%,
            rgba(11, 140, 255, .10),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #eef7ff,
            #dfeeff
        ) !important;
}

html[data-theme="light"]
.as-v4370-footer-top {
    border-color: var(--asel-border) !important;
    background:
        linear-gradient(
            90deg,
            rgba(11, 140, 255, .08),
            rgba(67, 211, 255, .03)
        ) !important;
}

html[data-theme="light"]
.as-v4370-footer-callout h2,
html[data-theme="light"]
.as-v4370-footer-brand > strong,
html[data-theme="light"]
.as-v4370-footer-column h3,
html[data-theme="light"]
.as-v4370-footer-contact h3 {
    color: var(--asel-text) !important;
}

html[data-theme="light"] :where(
    .as-v4370-footer-brand > p,
    .as-v4370-footer-column nav a,
    .as-v4370-contact-item a,
    .as-v4370-contact-item p,
    .as-v4370-footer-bottom > span,
    .as-v4370-footer-bottom nav a
) {
    color: var(--asel-text-soft) !important;
}

html[data-theme="light"]
.as-v4370-socials a,
html[data-theme="light"]
.as-v4370-contact-item > span {
    color: var(--asel-accent-2) !important;
    border-color: var(--asel-border) !important;
    background: var(--asel-surface) !important;
}

html[data-theme="light"]
.as-v4370-developer-card {
    color: var(--asel-text) !important;
    border-color: var(--asel-border) !important;
    background:
        radial-gradient(
            circle at 96% 0%,
            rgba(11, 140, 255, .12),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #ffffff,
            #e9f5ff
        ) !important;
}

html[data-theme="light"]
.as-v4370-developer-copy strong {
    color: var(--asel-text) !important;
}

html[data-theme="light"]
.as-v4370-developer-copy p {
    color: var(--asel-text-soft) !important;
}

html[data-theme="dark"]
.as-v4370-footer {
    color: #ffffff !important;
    background:
        radial-gradient(
            circle at 86% 5%,
            rgba(67, 211, 255, .12),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #021126,
            #052b52
        ) !important;
}

/* Fixed dark presentation zones stay readable in both modes. */
:where(
    .as-header,
    .as-v4367-header,
    .as-banner-slider,
    .as-home-hero,
    .as-page-hero,
    .as-vehicle-hero,
    .as-policy-hero,
    .as-policy-detail-hero,
    .as-v4371-hero,
    .as-v4371-process,
    .as-v4371-final-card,
    .as-cta-band
) {
    --asel-text: #ffffff;
    --asel-text-soft: #b4c9dc;
}

/* Dashboard-selected fonts on every generated component. */
:where(
    .as-v4367-mega,
    .as-v4367-mobile-nav,
    .as-v4370-footer,
    .as-v4371-service-page,
    .as-policy-detail,
    .as-premium-vehicle-page
) {
    font-family:
        var(--asel-font-body) !important;
}

/* Avoid theme flash and preserve focus visibility */
:focus-visible {
    outline:
        3px solid
        color-mix(
            in srgb,
            var(--asel-accent) 58%,
            transparent
        );
    outline-offset: 3px;
}

::selection {
    color: #ffffff;
    background: var(--asel-accent);
}
