/* Always reserve scrollbar space to prevent layout shift between pages */
html {
    scrollbar-gutter: stable;
}

/* Dark theme scrollbar */
*::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
*::-webkit-scrollbar-track {
    background: var(--kendo-color-app-surface, #000000);
}
*::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.25);
    border-radius: 4px;
}
*::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.4);
}
/* Firefox */
* {
    scrollbar-color: rgba(255, 255, 255, 0.25) var(--kendo-color-app-surface, #000000);
    scrollbar-width: thin;
}

/* Override browser autofill styling to match dark theme */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px #000 inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* Apply Kendo theme background and text color to the whole page */
body {
    background-color: var(--kendo-color-app-surface, #000000);
    color: var(--kendo-color-on-app-surface, #ffffff);
}

/* Add this CSS to override the anchor's text color */
.card.bg-dark.text-white,
.card.bg-dark.text-white * {
    color: white !important;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
}

.cookie-banner {
    position: relative;
    z-index: 1001; /* Above the overlay */
}

.icon-large {
    font-size: 1.5em;
    color: inherit;
}

/* AppBar overrides */
.k-appbar .k-menu {
    background: transparent;
}

.k-appbar a,
.k-appbar .btn-link {
    color: inherit;
}

.k-appbar {
    height: 48px;
    padding-top: 0;
    padding-bottom: 0;
}

.k-appbar .k-button {
    padding-top: 0;
    padding-bottom: 0;
}

.k-appbar .icon-large {
    font-size: 1.6em;
    line-height: 1;
}

.custom-title {
    position: absolute; /* Ensures the title is positioned over the image */
    color: red; /* Red font color */
    text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff; /* White border effect */
    font-size: 2rem; /* Adjust as needed */
    font-weight: bold; /* Make the font bold */
    top: 50%; /* Center the text vertically */
    left: 50%; /* Center the text horizontally */
    transform: translate(-50%, -50%); /* Perfectly centers the text */
    z-index: 10; /* Ensure the text is above the image */
}

/* Desktop drawer: hide overlay backdrop so site remains clickable */
.drawer-desktop .k-overlay {
    display: none !important;
}

/* 3-Column Layout Grid */
.layout-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    width: 100%;
}

.center-pane {
    width: min(1140px, 100vw);
    min-width: 0;
}

.footer-content {
    width: min(1140px, 100vw);
}

.left-pane {
    display: flex;
    justify-content: flex-end;
}

/* Sticky layout: drawer stays in view alongside sticky AppBar */
.layout-sticky .drawer-desktop {
    position: sticky;
    top: 0;
    height: 100vh;
    margin-left: auto;
}

/* On small screens, collapse to single column */
@media (max-width: 1200px) {
    .layout-grid {
        grid-template-columns: 0 1fr 0;
    }
    .left-pane,
    .right-pane {
        display: none;
    }
}
