/* Final shadcn page overrides loaded after view-level CSS. */
:root {
    --background: #ffffff !important;
    --foreground: #020817 !important;
    --card: #ffffff !important;
    --muted: #f8fafc !important;
    --muted-foreground: #64748b !important;
    --primary: #0f172a !important;
    --primary-foreground: #f8fafc !important;
    --border: #e2e8f0 !important;
    --input: #e2e8f0 !important;
    --ring: #0f172a !important;
    --radius: .5rem !important;
    --primary-color: #0f172a !important;
    --primary-dark: #1e293b !important;
    --primary-darker: #020817 !important;
    --secondary-color: #64748b !important;
    --accent-color: #f1f5f9 !important;
    --bg-light: #f8fafc !important;
    --bg-white: #ffffff !important;
    --text-dark: #020817 !important;
    --text-main: #020817 !important;
    --text-muted: #64748b !important;
    --primary-gradient: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    --secondary-gradient: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    --card-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
    --hover-shadow: 0 12px 32px rgba(15, 23, 42, .09) !important;
    --shadow-soft: 0 1px 2px rgba(15, 23, 42, .05) !important;
    --shadow-hover: 0 12px 32px rgba(15, 23, 42, .09) !important;
    --border-radius-xl: var(--radius) !important;
    --border-radius-lg: var(--radius) !important;
    --border-radius-md: var(--radius) !important;
}

html, body {
    overflow-x: hidden !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    color: var(--foreground) !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background-image: linear-gradient(to right, rgba(15, 23, 42, .035) 1px, transparent 1px), linear-gradient(to bottom, rgba(15, 23, 42, .035) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.48), transparent 55%);
}

/* Header must stay readable on every page. */
.modern-header,
.shadcn-header,
.navbar.modern-header,
.navbar.shadcn-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1100 !important;
    background: rgba(255, 255, 255, .92) !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--foreground) !important;
    box-shadow: none !important;
    backdrop-filter: blur(18px) saturate(180%) !important;
    padding: .75rem 0 !important;
}
.modern-header *,
.shadcn-header * {
    text-shadow: none !important;
}
.modern-header .navbar-brand,
.shadcn-header .navbar-brand,
.modern-header .nav-link,
.shadcn-header .nav-link {
    color: var(--foreground) !important;
}
.modern-header .nav-link:not(.btn-login),
.shadcn-header .nav-link:not(.btn-login) {
    background: transparent !important;
    color: var(--muted-foreground) !important;
    border: 1px solid transparent !important;
    border-radius: var(--radius) !important;
}
.modern-header .nav-link:hover,
.modern-header .nav-link.active,
.shadcn-header .nav-link:hover,
.shadcn-header .nav-link.active {
    background: #f1f5f9 !important;
    color: var(--foreground) !important;
    border-color: var(--border) !important;
}
.modern-header .btn-login,
.shadcn-header .btn-login,
.navbar .btn-login {
    background: var(--primary) !important;
    border: 1px solid var(--primary) !important;
    color: var(--primary-foreground) !important;
}
.navbar-toggler {
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    color: var(--foreground) !important;
}
.navbar-toggler-icon { filter: none !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23020817' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; }
.dropdown-menu {
    background: #ffffff !important;
    color: var(--foreground) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .10) !important;
}
.dropdown-item {
    color: var(--foreground) !important;
    border-radius: calc(var(--radius) - 2px) !important;
}
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
    background: #f1f5f9 !important;
    color: var(--foreground) !important;
}

/* Section and hero reset. */
.main-content { padding-top: 0 !important; }
section,
.page-section,
.content-section,
.featured-section,
.popular-section,
.countries-section,
.cities-section,
.hotels-section,
.restaurants-section,
.blog-section {
    background: transparent !important;
}
.hero-section,
.hero,
.page-hero,
.hero-v2,
.blog-hero,
.country-hero,
.city-hero,
.hotel-hero,
.restaurant-hero,
.tour-hero,
.contact-hero,
.about-hero,
.faq-hero,
.search-hero,
[class*="hero-section"] {
    min-height: auto !important;
    margin-top: 0 !important;
    padding: clamp(3rem, 7vw, 6rem) 0 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    color: var(--foreground) !important;
    border-bottom: 1px solid var(--border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.hero-section[style],
[class*="hero"][style],
.bg-dark[style],
.card[style*="linear-gradient"] {
    background-image: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    background-color: #ffffff !important;
}
.hero-overlay,
.bg-gradient-overlay,
.bg-gradient-dark,
.bg-gradient-to-t,
.card-overlay-gradient,
.city-overlay,
.continent-overlay {
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,250,252,.95)) !important;
    opacity: 1 !important;
    filter: none !important;
}
.hero-bg-slider,
.hero-bg-slider .hero-slide,
.hero-image,
.hero-bg {
    opacity: .18 !important;
    filter: saturate(.85) contrast(.95) !important;
    background-size: cover !important;
    background-position: center !important;
}
.hero-bg-slider img,
.hero-section img.object-fit-cover,
[class*="hero"] img.object-fit-cover {
    opacity: .18 !important;
    filter: none !important;
}
.hero-title,
.hero-subtitle,
.hero-content h1,
.hero-content h2,
.hero-content p,
[class*="hero"] h1,
[class*="hero"] h2,
[class*="hero"] p,
[class*="hero"] .lead,
.text-white,
.text-white-50 {
    color: var(--foreground) !important;
    text-shadow: none !important;
}
[class*="hero"] p,
[class*="hero"] .lead,
.text-muted,
.card-text,
.section-subtitle {
    color: var(--muted-foreground) !important;
}
.text-gradient,
.gradient-text {
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    color: var(--foreground) !important;
}

/* Cards and repeated surfaces. */
.card,
.country-card,
.city-card,
.hotel-card,
.restaurant-card,
.tour-card,
.blog-card,
.blog-card-main,
.blog-card-side,
.feature-card,
.stat-card,
.info-card,
.contact-card,
.search-card,
.filter-sidebar,
.newsletter-section,
.newsletter-inline,
.newsletter-sidebar,
.table-container,
.content-card,
.review-card,
.profile-card,
.auth-card,
.admin-card,
.media-card,
.gallery-card,
.continent-card,
.glass-badge,
.glass-card,
.floating-card,
.stat-box,
.info-box,
.feature-item,
.timeline-item,
.content-box {
    background: var(--card) !important;
    color: var(--foreground) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
    backdrop-filter: none !important;
}
.card:hover,
.country-card:hover,
.city-card:hover,
.hotel-card:hover,
.restaurant-card:hover,
.tour-card:hover,
.blog-card:hover,
.continent-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .09) !important;
}
.card-header,
.card-footer,
.card-header-modern,
.table-header,
.modal-header,
.modal-footer {
    background: var(--muted) !important;
    color: var(--foreground) !important;
    border-color: var(--border) !important;
}

.card-img-wrapper,
.city-img-wrapper,
.blog-image,
.country-image,
.hotel-image,
.restaurant-image,
.tour-image,
.featured-image,
.cover-image,
.card-img-top,
.card-img,
.image-wrapper {
    border-radius: var(--radius) !important;
    overflow: hidden !important;
}
.card-img,
.card-img-top,
.card-img-wrapper img,
.city-img-wrapper img,
.blog-card img,
.country-card img,
.hotel-card img,
.restaurant-card img,
.tour-card img {
    object-fit: cover !important;
    width: 100% !important;
}

/* Buttons, forms, filters and search. */
.btn,
button,
.search-btn,
.filter-btn,
.page-link,
.form-control,
.form-select,
.input-group-text,
.input-group .btn {
    border-radius: var(--radius) !important;
}
.btn-primary,
.search-btn,
.filter-btn.active,
.newsletter-form button[type="submit"] {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--primary-foreground) !important;
}
.btn-outline-primary,
.btn-outline-secondary,
.btn-light,
.btn-secondary,
.filter-btn {
    background: #ffffff !important;
    color: var(--foreground) !important;
    border-color: var(--border) !important;
}
.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-light:hover,
.btn-secondary:hover,
.filter-btn:hover {
    background: #f1f5f9 !important;
    color: var(--foreground) !important;
    border-color: var(--border) !important;
}
.search-box-wrapper,
.search-container,
.filter-sticky,
.filter-bar,
.filters-section,
.input-group.p-1.bg-white {
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
    backdrop-filter: none !important;
}
.search-container,
.search-box-wrapper form,
.newsletter-form .input-group,
.input-group.p-1.bg-white {
    display: flex !important;
    gap: .5rem !important;
    align-items: stretch !important;
}
.search-input,
.search-container input,
.search-box-wrapper input,
.newsletter-form input,
.form-control,
.form-select {
    background: #ffffff !important;
    color: var(--foreground) !important;
    border: 1px solid var(--input) !important;
    box-shadow: none !important;
}
.search-input::placeholder,
.form-control::placeholder { color: var(--muted-foreground) !important; }

/* Lists and stats should not float over content. */
.stats-bar,
.stats-bar-wrapper {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 1.5rem auto 0 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
}
.stat-item,
.stat-card {
    min-width: 0 !important;
    color: var(--foreground) !important;
}
.stat-info h4,
.stat-info p,
.stat-card .h3,
.stat-card .small {
    color: var(--foreground) !important;
}

/* Layout density and responsive grids. */
.row.g-4,
.row.g-5 { --bs-gutter-x: 1.25rem; --bs-gutter-y: 1.25rem; }
.line-clamp-2,
.line-clamp-3 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.line-clamp-2 { -webkit-line-clamp: 2 !important; }
.line-clamp-3 { -webkit-line-clamp: 3 !important; }

/* Footer and back-to-top overlap fixes. */
.modern-footer,
.shadcn-footer {
    background: #ffffff !important;
    color: var(--foreground) !important;
    border-top: 1px solid var(--border) !important;
    padding-bottom: 5rem !important;
}
.back-to-top,
#scrollToTop {
    position: fixed !important;
    right: max(1rem, env(safe-area-inset-right)) !important;
    bottom: max(1rem, env(safe-area-inset-bottom)) !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 1200 !important;
}
.back-to-top.show,
#scrollToTop.show {
    opacity: 1 !important;
    visibility: visible !important;
}
body:has(.cookie-banner:not([style*="display: none"])) .back-to-top,
body:has(.cookie-banner:not([style*="display: none"])) #scrollToTop {
    bottom: 6rem !important;
}

/* Admin surfaces. */
.admin-shell .main-content,
.admin-shell .page-wrapper { background: transparent !important; }
.admin-shell .sidebar,
.admin-shell .top-header {
    background: rgba(255,255,255,.94) !important;
    border-color: var(--border) !important;
    box-shadow: none !important;
}
.admin-shell .sidebar .nav-link.active,
.admin-shell .sidebar .nav-link:hover {
    background: #f1f5f9 !important;
    color: var(--foreground) !important;
}
.admin-shell .bg-dark,
.admin-shell .card.bg-dark {
    background: #ffffff !important;
    color: var(--foreground) !important;
}

@media (max-width: 991.98px) {
    .modern-header .navbar-collapse,
    .shadcn-header .navbar-collapse {
        margin-top: .75rem !important;
        background: #ffffff !important;
        border: 1px solid var(--border) !important;
        border-radius: var(--radius) !important;
        padding: .75rem !important;
        box-shadow: 0 18px 48px rgba(15, 23, 42, .10) !important;
        max-height: calc(100vh - 5rem) !important;
        overflow-y: auto !important;
    }
    .hero-section,
    .hero,
    .page-hero,
    .hero-v2,
    [class*="hero-section"] {
        padding: 2.5rem 0 !important;
        text-align: left !important;
    }
    .hero-content,
    .hero-section .container,
    [class*="hero"] .container {
        text-align: left !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }
    .display-1,
    .display-2,
    .display-3,
    .display-4,
    .display-5,
    .hero-title {
        font-size: clamp(2rem, 11vw, 3.25rem) !important;
    }
    .search-container,
    .search-box-wrapper,
    .search-box-wrapper form,
    .newsletter-form .input-group,
    .input-group.p-1.bg-white {
        display: grid !important;
        grid-template-columns: 1fr !important;
        border-radius: var(--radius) !important;
        padding: .75rem !important;
    }
    .search-container > *,
    .search-box-wrapper form > *,
    .newsletter-form .input-group > *,
    .input-group.p-1.bg-white > * {
        width: 100% !important;
        border-radius: var(--radius) !important;
        border-right: 0 !important;
    }
    .search-btn {
        width: 100% !important;
        height: 2.75rem !important;
    }
    .filter-sticky {
        position: relative !important;
        top: auto !important;
    }
    .blog-card-side,
    .card.flex-row {
        display: block !important;
    }
    .blog-card-side .row,
    .card.flex-row .row {
        display: block !important;
    }
    .blog-card-side [class*="col-"],
    .card.flex-row [class*="col-"] {
        width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    .container, .container-fluid { --bs-gutter-x: 1rem; }
    .card-body, .modal-body { padding: 1rem !important; }
    .hero-section,
    [class*="hero-section"] { padding: 2rem 0 !important; }
    .badge { white-space: normal !important; }
    .footer-bottom,
    .footer-bottom-links { align-items: flex-start !important; }
}
/* Keep icon/text contrast inside filled shadcn controls. */
.btn-primary.text-white,
.btn-primary .text-white,
.bg-primary.text-white,
.bg-primary .text-white,
.brand-mark.text-white,
.brand-mark .text-white,
.badge.bg-primary.text-white {
    color: var(--primary-foreground) !important;
}

/* Stabilize legacy lifted hero sections. */
.hero-section,
.hero-v2,
.hero-section[style],
[class*="hero-section"],
[class*="hero-section"][style] {
    height: auto !important;
    min-height: auto !important;
}
.hero-content,
.hero-v2 .hero-content,
.hero-section .hero-content {
    height: auto !important;
    padding-bottom: 0 !important;
}
.mt-n5,
.floating-stats,
.featured-section,
[style*="margin-top: -"],
[style*="margin-top:-"] {
    margin-top: clamp(1rem, 3vw, 2.5rem) !important;
}
.floating-stats,
.stats-container,
.stats-bar,
.stats-bar-wrapper {
    position: relative !important;
    z-index: 1 !important;
}
.stats-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)) !important;
    gap: 1rem !important;
    padding: 1rem !important;
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
}
.stat-item,
.stat-box {
    min-width: 0 !important;
    background: #f8fafc !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
}
@media (max-width: 767.98px) {
    .hero-section,
    .hero-v2,
    .hero-section[style],
    [class*="hero-section"],
    [class*="hero-section"][style] {
        height: auto !important;
        min-height: auto !important;
    }
    .stats-container {
        grid-template-columns: 1fr !important;
    }
}
/* Admin shadcn completion layer. */
.admin-shell .sidebar {
    color: var(--foreground) !important;
    border-right: 1px solid var(--border) !important;
}
.admin-shell .sidebar-header,
.admin-shell .sidebar-footer {
    background: transparent !important;
    border-color: var(--border) !important;
}
.admin-shell .sidebar-brand,
.admin-shell .sidebar .user-name,
.admin-shell .sidebar .user-profile,
.admin-shell .sidebar .nav-section-title {
    color: var(--foreground) !important;
}
.admin-shell .sidebar .user-role,
.admin-shell .sidebar .nav-section-title {
    color: var(--muted-foreground) !important;
}
.admin-shell .sidebar .nav-link {
    color: var(--muted-foreground) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: var(--radius) !important;
    box-shadow: none !important;
}
.admin-shell .sidebar .nav-link i {
    color: inherit !important;
}
.admin-shell .sidebar .nav-link:hover {
    background: #f1f5f9 !important;
    color: var(--foreground) !important;
    border-color: var(--border) !important;
}
.admin-shell .sidebar .nav-link.active {
    background: var(--primary) !important;
    color: var(--primary-foreground) !important;
    border-color: var(--primary) !important;
}
.admin-shell .page-wrapper {
    padding: clamp(1rem, 2vw, 2rem) !important;
}
.admin-shell .page-header {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.admin-shell .page-title {
    color: var(--foreground) !important;
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    line-height: 1.15 !important;
}
.admin-shell .card-header,
.admin-shell .card-footer,
.admin-shell .bg-light,
.admin-shell .bg-white {
    background: #ffffff !important;
    border-color: var(--border) !important;
}
.admin-shell .table-responsive,
.admin-shell .dataTables_wrapper {
    width: 100% !important;
    overflow-x: auto !important;
}
.admin-shell .table,
.admin-shell .table-modern {
    min-width: 44rem !important;
    margin-bottom: 0 !important;
    color: var(--foreground) !important;
}
.admin-shell .table thead th,
.admin-shell .table-modern th {
    background: #f8fafc !important;
    color: var(--muted-foreground) !important;
    border-color: var(--border) !important;
    font-size: .75rem !important;
    letter-spacing: 0 !important;
}
.admin-shell .table td,
.admin-shell .table th {
    border-color: var(--border) !important;
    vertical-align: middle !important;
}
.admin-shell .dataTables_filter input,
.admin-shell .dataTables_length select {
    border-radius: var(--radius) !important;
    border-color: var(--input) !important;
}
.admin-shell pre,
.admin-shell code,
.admin-shell .font-monospace {
    color: var(--foreground) !important;
}
@media (max-width: 991.98px) {
    .admin-shell .main-content {
        margin-left: 0 !important;
    }
    .admin-shell .sidebar {
        width: min(18rem, calc(100vw - 1rem)) !important;
    }
    .admin-shell .top-header {
        gap: .75rem !important;
        padding: .75rem 1rem !important;
    }
    .admin-shell .search-bar {
        width: 100% !important;
        max-width: 16rem !important;
    }
}
@media (max-width: 575.98px) {
    .admin-shell .top-header {
        flex-wrap: wrap !important;
        height: auto !important;
    }
    .admin-shell .page-wrapper {
        padding: .875rem !important;
    }
    .admin-shell .card-body.p-4,
    .admin-shell .card-body {
        padding: 1rem !important;
    }
    .admin-shell .d-flex.justify-content-between,
    .admin-shell .card-header.d-flex,
    .admin-shell .page-header {
        align-items: flex-start !important;
        gap: .75rem !important;
        flex-wrap: wrap !important;
    }
    .admin-shell .btn {
        white-space: normal !important;
    }
}
/* Search autocomplete. */
.search-autocomplete-wrap {
    position: relative !important;
}
.search-suggestions {
    position: absolute !important;
    top: calc(100% + .5rem) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1200 !important;
    display: grid !important;
    gap: .25rem !important;
    padding: .35rem !important;
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .12) !important;
    max-height: min(22rem, 70vh) !important;
    overflow-y: auto !important;
}
.search-suggestions[hidden] {
    display: none !important;
}
.search-suggestion-item {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 2rem 1fr !important;
    align-items: center !important;
    gap: .75rem !important;
    min-height: 3rem !important;
    padding: .6rem .75rem !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: calc(var(--radius) - 2px) !important;
    color: var(--foreground) !important;
    text-align: left !important;
}
.search-suggestion-item:hover,
.search-suggestion-item:focus {
    background: #f1f5f9 !important;
    outline: 0 !important;
}
.search-suggestion-item i {
    width: 2rem !important;
    height: 2rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f8fafc !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    color: var(--foreground) !important;
}
.search-suggestion-text {
    min-width: 0 !important;
    display: grid !important;
    gap: .1rem !important;
}
.search-suggestion-text strong,
.search-suggestion-text small {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.search-suggestion-text small {
    color: var(--muted-foreground) !important;
}
/* AI/admin polish layer - 2026-07-03 */
.admin-shell .top-header {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid var(--border) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05) !important;
    backdrop-filter: blur(14px) !important;
}
.admin-shell .toggle-sidebar-btn,
.admin-shell .header-icon-btn,
.admin-shell .sidebar-brand i,
.modern-header .navbar-toggler,
.modern-header .nav-link i,
.modern-footer i,
.footer i {
    width: 2.25rem !important;
    height: 2.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--radius) !important;
    border: 1px solid var(--border) !important;
    background: #ffffff !important;
    color: var(--foreground) !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
}
.admin-shell .sidebar-brand i,
.modern-header .brand-mark i,
.modern-footer .brand-mark i {
    background: var(--primary) !important;
    color: var(--primary-foreground) !important;
    border-color: var(--primary) !important;
}
.admin-shell .header-icon-btn:hover,
.admin-shell .toggle-sidebar-btn:hover,
.modern-header .nav-link:hover i,
.footer a:hover i {
    background: #f1f5f9 !important;
    color: var(--foreground) !important;
}
.admin-shell .user-avatar {
    background: var(--primary) !important;
    color: var(--primary-foreground) !important;
    border: 1px solid var(--primary) !important;
    border-radius: 999px !important;
}
.admin-shell .btn,
.admin-shell .form-control,
.admin-shell .form-select,
.admin-shell .input-group-text,
.admin-shell .dropdown-menu,
.admin-shell .modal-content {
    border-radius: var(--radius) !important;
}
.admin-shell .btn-outline-primary,
.admin-shell .btn-outline-info,
.admin-shell .btn-outline-success,
.admin-shell .btn-outline-warning {
    color: var(--foreground) !important;
    border-color: var(--border) !important;
    background: #ffffff !important;
}
.admin-shell .btn-outline-primary:hover,
.admin-shell .btn-outline-info:hover,
.admin-shell .btn-outline-success:hover,
.admin-shell .btn-outline-warning:hover {
    color: var(--primary-foreground) !important;
    border-color: var(--primary) !important;
    background: var(--primary) !important;
}
.admin-shell .btn-primary,
.admin-shell .btn-success,
.admin-shell .btn-info,
.admin-shell .btn-warning {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--primary-foreground) !important;
}
.admin-shell .text-primary,
.admin-shell .text-info,
.admin-shell .text-success,
.admin-shell .text-warning,
.admin-shell .text-danger {
    color: var(--foreground) !important;
}
.admin-shell .badge.bg-primary,
.admin-shell .badge.bg-info,
.admin-shell .badge.bg-success,
.admin-shell .badge.bg-warning {
    background: #f1f5f9 !important;
    color: var(--foreground) !important;
    border: 1px solid var(--border) !important;
}
.admin-shell .nav-tabs,
.admin-shell .nav-pills,
.admin-shell #settingsTabs {
    gap: .35rem !important;
}
.admin-shell .nav-tabs .nav-link,
.admin-shell .nav-pills .nav-link,
.admin-shell #settingsTabs .list-group-item {
    border-radius: var(--radius) !important;
    color: var(--muted-foreground) !important;
    border: 1px solid transparent !important;
    background: transparent !important;
}
.admin-shell .nav-tabs .nav-link.active,
.admin-shell .nav-pills .nav-link.active,
.admin-shell #settingsTabs .list-group-item.active {
    background: var(--primary) !important;
    color: var(--primary-foreground) !important;
    border-color: var(--primary) !important;
}
.admin-shell .image-upload-box,
.admin-shell .tox-tinymce,
.admin-shell .note-editor.note-frame,
.admin-shell .note-editor.note-airframe {
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.admin-shell .note-toolbar,
.admin-shell .tox .tox-toolbar,
.admin-shell .tox .tox-toolbar__primary {
    background: #f8fafc !important;
    border-color: var(--border) !important;
}
.admin-shell .form-check.form-switch.border,
.admin-shell .alert,
.admin-shell .modal-content {
    border-color: var(--border) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .08) !important;
}
.admin-shell .modal-header,
.admin-shell .modal-footer {
    border-color: var(--border) !important;
}
.admin-shell .table td .btn,
.admin-shell .table th .btn {
    white-space: nowrap !important;
}
@media (max-width: 991.98px) {
    .admin-shell .row.g-0 > .col-md-3.border-end {
        border-right: 0 !important;
        border-bottom: 1px solid var(--border) !important;
    }
    .admin-shell #v-pills-tab {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)) !important;
    }
    .admin-shell .nav-tabs.nav-fill {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)) !important;
    }
}
@media (max-width: 575.98px) {
    .admin-shell .container-fluid.py-4 {
        padding-left: .25rem !important;
        padding-right: .25rem !important;
    }
    .admin-shell .nav-tabs .nav-link,
    .admin-shell .nav-pills .nav-link,
    .admin-shell #settingsTabs .list-group-item {
        min-height: 2.75rem !important;
        padding: .7rem .75rem !important;
        font-size: .9rem !important;
    }
    .admin-shell .image-upload-box {
        min-height: 9rem !important;
    }
}
#scrollToTop,
.scroll-to-top,
.back-to-top {
    right: 1rem !important;
    bottom: 1rem !important;
    z-index: 1050 !important;
}
.cookie-consent,
.cookie-banner {
    z-index: 1040 !important;
    max-width: min(42rem, calc(100vw - 2rem)) !important;
}
