:root {
            --primary-color: #ff8d2f;
            --secondary-color: #333333;
            --primary-rgb: 255, 141, 47;
            --secondary-rgb: 51, 51, 51;
            --theme-color: @primaryColor;
            --mobile-menu-shell-surface: var(--theme-primary-fill-9, linear-gradient(160deg, rgba(var(--primary-rgb), 0.09) 0%, rgba(255, 255, 255, 0.24) 42%, rgba(var(--secondary-rgb), 0.09) 100%));
            --mobile-menu-body-surface: var(--theme-primary-fill-6, linear-gradient(180deg, rgba(var(--primary-rgb), 0.06) 0%, rgba(255, 255, 255, 0.2) 34%, rgba(var(--secondary-rgb), 0.08) 100%));
            --mobile-menu-card-surface: var(--theme-primary-fill-9, linear-gradient(135deg, rgba(var(--primary-rgb), 0.09) 0%, rgba(255, 255, 255, 0.98) 54%, rgba(var(--secondary-rgb), 0.09) 100%));
            --mobile-menu-card-surface-strong: var(--theme-primary-fill-14, linear-gradient(135deg, rgba(var(--primary-rgb), 0.14) 0%, rgba(255, 255, 255, 0.99) 54%, rgba(var(--secondary-rgb), 0.13) 100%));
            --mobile-menu-subcard-surface: var(--theme-primary-fill-7, linear-gradient(135deg, rgba(var(--primary-rgb), 0.07) 0%, rgba(255, 255, 255, 0.985) 58%, rgba(var(--secondary-rgb), 0.08) 100%));
            --mobile-menu-subcard-surface-strong: var(--theme-primary-fill-11, linear-gradient(135deg, rgba(var(--primary-rgb), 0.11) 0%, rgba(255, 255, 255, 0.99) 58%, rgba(var(--secondary-rgb), 0.11) 100%));
            --mobile-menu-card-border: rgba(var(--primary-rgb), 0.09);
            --mobile-menu-subcard-border: rgba(var(--secondary-rgb), 0.09);
        }

        /* Override Bootstrap or Theme Defaults */
        .btn-theme {
            background-color: var(--theme-primary-button-bg, var(--primary-color)) !important;
            border-color: var(--theme-primary-button-bg, var(--primary-color)) !important;
            color: var(--theme-primary-button-text, #fff) !important;
        }

        .btn-theme:hover {
            background-color: var(--theme-primary-button-hover-bg, var(--secondary-color)) !important;
            border-color: var(--theme-primary-button-hover-bg, var(--secondary-color)) !important;
            color: var(--theme-primary-button-hover-text, #fff) !important;
        }

        .btn-theme-secondary {
            background-color: var(--theme-secondary-button-bg, var(--secondary-color)) !important;
            border-color: var(--theme-secondary-button-border, var(--primary-color)) !important;
            color: var(--theme-secondary-button-text, #fff) !important;
        }

        .btn-theme-secondary:hover {
            background-color: var(--theme-secondary-button-hover-bg, var(--primary-color)) !important;
            border-color: var(--theme-secondary-button-hover-border, var(--primary-color)) !important;
            color: var(--theme-secondary-button-hover-text, #fff) !important;
        }

        html,
        body,
        .site-page-content {
            background-color: var(--theme-page-background, #fff);
        }

        .site-page-content {
            display: flow-root;
            min-height: 1px;
        }

        .theme-page-surface {
            background-color: var(--theme-page-background, #fff);
            color: var(--theme-paragraph-text, #4b5563);
            display: flow-root;
        }

        .theme-page-surface :where(h1, h2, h3, h4, h5, h6) {
            color: var(--theme-heading-text, #1f2937);
        }

        .theme-page-surface :where(p) {
            color: var(--theme-paragraph-text, #4b5563);
        }

        /* Bootstrap's fixed light/dark helpers must follow the semantic page palette
           inside themed content, otherwise dark page backgrounds leave white seams
           and unreadable card text behind. */
        .theme-page-surface .bg-white {
            background-color: var(--theme-surface-background, #fff) !important;
        }

        .theme-page-surface .bg-light {
            background-color: var(--theme-surface-background-strong, #f8f9fa) !important;
        }

        .theme-page-surface .text-dark {
            color: var(--theme-heading-text, #1f2937) !important;
        }

        .theme-page-surface .text-muted {
            color: var(--theme-paragraph-text, #4b5563) !important;
            opacity: .78;
        }

        .theme-page-surface .border-light {
            border-color: var(--theme-surface-border, rgba(15, 23, 42, .08)) !important;
        }

        body {
            background-color: var(--theme-page-background, #fff);
            color: var(--theme-paragraph-text, #4b5563);
        }

        .theme-content-title {
            color: var(--theme-heading-text, #1f2937) !important;
        }

        .theme-content-subtitle {
            color: var(--theme-subtitle-text, var(--primary-color)) !important;
        }

        .theme-content-text {
            color: var(--theme-paragraph-text, #4b5563) !important;
        }

        .theme-banner-surface,
        .theme-banner-surface :is(h1, h2, h3, p) {
            color: var(--theme-banner-text, #fff);
        }

        .theme-banner-muted,
        .theme-banner-surface .breadcrumb-item,
        .theme-banner-surface .breadcrumb-item::before,
        .theme-banner-surface .breadcrumb-item a {
            color: var(--theme-banner-muted-text, rgba(255, 255, 255, .82));
        }

        .text-primary {
            color: var(--primary-color) !important;
        }
        
        .bg-primary {
            background-color: var(--primary-color) !important;
        }

        a:hover {
            color: var(--primary-color);
        }
        
        .header-style-1 .navbar-nav .nav-item .nav-link.active {
             color: var(--theme-navbar-text, var(--primary-color));
        }

        .header-style-1 .navbar-nav .nav-item .nav-link:hover,
        .header-style-1 .navbar-nav .nav-item .nav-link:focus {
             color: var(--theme-navbar-hover-text, var(--secondary-color));
        }


        /* Add more specific overrides here as needed during development */

        /* --- Critical Mobile Menu Styles (Forced) --- */
        .custom-mobile-toggler {
            background: transparent !important;
            border: none !important;
            border-radius: 0 !important;
            padding: 0 !important;
            width: 40px !important;
            height: 40px !important;
            display: none !important; /* HIDDEN BY DEFAULT */
            align-items: center !important;
            justify-content: center !important;
            box-shadow: none !important;
            z-index: 1060 !important;
            position: relative !important;
            margin-right: 15px !important;
        }

        .custom-mobile-toggler .navbar-toggler-icon {
            width: 30px !important;
            height: 30px !important;
            border: 1px solid var(--primary-color) !important;
            border-radius: 7px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            background-image: none !important;
        }

        .custom-mobile-toggler i {
            font-size: 26px !important;
            line-height: 1 !important;
            background: none !important;
            -webkit-background-clip: initial !important;
            -webkit-text-fill-color: currentColor !important;
            background-clip: initial !important;
            color: var(--theme-navbar-text, var(--primary-color)) !important;
        }

        .custom-mobile-toggler:is(:hover, :focus) {
            color: var(--theme-navbar-hover-text, var(--secondary-color)) !important;
            background: transparent !important;
            box-shadow: none !important;
        }

        .custom-mobile-toggler:is(:hover, :focus) .navbar-toggler-icon {
            border-color: var(--theme-navbar-hover-text, var(--secondary-color)) !important;
        }

        .custom-mobile-toggler:is(:hover, :focus) i {
            color: var(--theme-navbar-hover-text, var(--secondary-color)) !important;
        }
        
        @media (max-width: 1199.98px) {
            /* FORCE SHOW ON MOBILE */
            .custom-mobile-toggler {
                display: flex !important;
            }

            #offcanvasNavbar {
                width: 85% !important;
                max-width: 350px !important;
                border: none !important;
                border-top-left-radius: 20px !important;
                border-bottom-left-radius: 20px !important;
                box-shadow: -5px 0 30px rgba(0, 0, 0, 0.15) !important;
                background: var(--mobile-menu-shell-surface), linear-gradient(180deg, #ffffff 0%, #ffffff 100%) !important;
            }

            .offcanvas-body {
                padding: 20px !important;
                background: var(--mobile-menu-body-surface), linear-gradient(180deg, #ffffff 0%, #ffffff 100%) !important;
            }

            .offcanvas-body .navbar-nav {
                padding-bottom: 28px !important;
            }

            .offcanvas-body .nav-link {
                padding: 15px 20px !important;
                margin-bottom: 10px !important;
                background-image: var(--theme-primary-fill, linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)), var(--mobile-menu-card-surface), linear-gradient(135deg, #ffffff 0%, #ffffff 100%) !important;
                border-radius: 12px !important;
                box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
                border: 1px solid var(--mobile-menu-card-border) !important;
                color: var(--primary-color) !important;
                background-origin: border-box !important;
                -webkit-background-clip: text, padding-box, border-box !important;
                background-clip: text, padding-box, border-box !important;
                -webkit-text-fill-color: transparent !important;
            }
            
            .offcanvas-body .nav-link.active {
                background-image: var(--theme-primary-fill, linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)), var(--mobile-menu-card-surface-strong), linear-gradient(135deg, #ffffff 0%, #ffffff 100%) !important;
                color: var(--primary-color) !important;
                box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1) !important;
                transform: translateY(-2px);
            }

            .offcanvas-body .nav-link:hover,
            .offcanvas-body .nav-link:focus {
                background-image: var(--theme-primary-fill, linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)), var(--mobile-menu-card-surface-strong), linear-gradient(135deg, #ffffff 0%, #ffffff 100%) !important;
                color: var(--secondary-color) !important;
                box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1) !important;
                transform: translateY(-2px);
            }

            .offcanvas-body .dropdown-toggle::after {
                background: var(--theme-primary-fill, linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%));
                -webkit-background-clip: text;
                background-clip: text;
                color: transparent;
                -webkit-text-fill-color: transparent;
            }

            .offcanvas-body .dropdown-menu {
                border: none !important;
                box-shadow: none !important;
                padding: 4px 10px 6px !important;
                background: transparent !important;
            }
            
            .offcanvas-body .dropdown-item {
                padding: 8px 15px !important;
                margin-bottom: 6px !important;
                background-image: var(--theme-primary-fill, linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)), var(--mobile-menu-subcard-surface), linear-gradient(135deg, #ffffff 0%, #ffffff 100%) !important;
                border-radius: 8px !important;
                color: var(--primary-color) !important;
                font-size: 13px !important;
                font-weight: normal !important;
                border: 1px solid var(--mobile-menu-subcard-border) !important;
                box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
                background-origin: border-box !important;
                -webkit-background-clip: text, padding-box, border-box !important;
                background-clip: text, padding-box, border-box !important;
                -webkit-text-fill-color: transparent !important;
            }

            .offcanvas-body .dropdown-item::after {
                content: none !important;
                display: none !important;
            }

            .offcanvas-body .dropdown-item:hover,
            .offcanvas-body .dropdown-item:focus {
                background-image: var(--theme-primary-fill, linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)), var(--mobile-menu-subcard-surface-strong), linear-gradient(135deg, #ffffff 0%, #ffffff 100%) !important;
                color: var(--secondary-color) !important;
                background-color: transparent !important;
            }
        }

        @media (max-width: 767px) {
            .offcanvas-body {
                padding-bottom: calc(128px + env(safe-area-inset-bottom)) !important;
            }

            .offcanvas-body .navbar-nav {
                padding-bottom: 8px !important;
            }
        }

.scroll-to-top {
    background-color: var(--primary-color);
}

/* Public işletme sayfalarında ortak klavye ve hareket tercihleri. */
.site-skip-link {
    position: fixed;
    z-index: 10050;
    top: 10px;
    left: 12px;
    padding: 11px 16px;
    border: 2px solid var(--theme-accent, var(--primary-color));
    border-radius: 12px;
    background: #fff;
    color: #111513;
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .22);
    transform: translateY(-160%);
    transition: transform .18s ease;
}

.site-skip-link:focus {
    color: #111513;
    transform: translateY(0);
}

#site-main-content:focus {
    outline: none;
}

body :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--primary-color);
    outline: 3px solid color-mix(in srgb, var(--primary-color) 60%, #fff);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    body *,
    body *::before,
    body *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
