/* 
    Modern Enhancements for DMSS Foundation
    Premium UI/UX Polish
*/

:root {
    --primary-gold: #cf8a17;
    --gold-glow: rgba(207, 138, 23, 0.4);
    --dark-bg: #0f1115;
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --card-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Premium Theme Switch */
.theme-switch-wrapper {
    display: flex;
    align-items: center;
}

.theme-switch {
    display: inline-block;
    height: 38px;
    position: relative;
    width: 74px;
}

.theme-switch input {
    display: none;
}

.theme-switch .slider {
    background: rgba(255, 255, 255, 0.15);
    /* Adjusted for fixed transparency logic */
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
}

.theme-switch .slider:before {
    background: linear-gradient(135deg, var(--primary-gold) 0%, #fbd786 100%);
    bottom: 4px;
    content: "";
    height: 28px;
    left: 4px;
    position: absolute;
    transition: var(--transition);
    width: 28px;
    box-shadow: 0 0 15px var(--gold-glow);
    z-index: 2;
}

.theme-switch .slider.round {
    border-radius: 34px;
}

.theme-switch .slider.round:before {
    border-radius: 50%;
}

.theme-switch input:checked+.slider {
    background: rgba(207, 138, 23, 0.1);
}

.theme-switch input:checked+.slider:before {
    transform: translateX(36px);
}

.theme-switch .slider .sun-icon,
.theme-switch .slider .moon-icon {
    font-size: 16px;
    z-index: 1;
    transition: var(--transition);
    display: flex !important;
}

.theme-switch .slider .sun-icon {
    color: #fff;
}

.theme-switch .slider .moon-icon {
    color: rgba(255, 255, 255, 0.3);
}

.theme-switch input:checked+.slider .sun-icon {
    color: rgba(255, 255, 255, 0.3);
}

.theme-switch input:checked+.slider .moon-icon {
    color: #fff;
}

.theme-light .theme-switch .slider .sun-icon {
    color: var(--primary-gold) !important;
}

.theme-light .theme-switch .slider .moon-icon {
    color: rgba(0, 0, 0, 0.15) !important;
}

.theme-light .theme-switch input:checked+.slider .moon-icon {
    color: rgba(0, 0, 0, 0.15) !important;
}

.theme-light .theme-switch input:checked+.slider .sun-icon {
    color: var(--primary-gold) !important;
}

.theme-light .theme-switch .slider {
    background: rgba(0, 0, 0, 0.05) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

/* Sticky Header & Scroll Styles */
header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 5000 !important;
    transition: var(--transition) !important;
    background: transparent !important;
    padding: 15px 0;
}

header.navbar-scrolled {
    background: rgba(15, 17, 21, 0.3) !important;
    /* Slightly more visible background */
    backdrop-filter: blur(12px) !important;
    /* Increased blur for better readability */
    -webkit-backdrop-filter: blur(12px) !important;
    padding: 10px 0;
    border-bottom: 1px solid var(--glass-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.theme-light header.navbar-scrolled {
    background: rgba(255, 255, 255, 0.3) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Force everything in the header to be transparent */
header *,
.navbar,
.navbar .container,
.navbar .navbar-collapse,
.navbar .navigation-link,
.navbar-nav {
    background: transparent !important;
    border: none !important;
}

.brand-logo,
.footer-logo {
    text-decoration: none !important;
    display: flex;
    align-items: center;
    transition: var(--transition);
}

.brand-logo:hover,
.footer-logo:hover {
    transform: scale(1.02);
    opacity: 0.9;
}

.brand-logo span,
.footer-logo span {
    transition: var(--transition);
}

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

.theme-light .brand-logo span:not(.text-gold) {
    color: #1a1a1a !important;
}

.navbar-scrolled .brand-logo img {
    height: 45px !important;
}

/* Navigation Link Colors - Default Visibility */
.nav-link {
    color: rgba(255, 255, 255, 0.8) !important;
}

.theme-light .nav-link {
    color: #1a1a1a !important;
}

.navbar-scrolled .nav-link {
    color: rgba(255, 255, 255, 0.9) !important;
}

.theme-light .navbar-scrolled .nav-link {
    color: #1a1a1a !important;
}

.navbar-scrolled .nav-link:hover {
    color: var(--primary-gold) !important;
}

header,
.nav-link,
h2 {
    transition: var(--transition);
}

/* Global Polish */
body {
    background-color: var(--dark-bg);
    color: #ffffff;
    scroll-behavior: smooth;
    overflow-x: hidden;
    padding-top: 0 !important;
}

body.theme-light {
    background-color: #f8f9fc;
    color: #1a1a1a;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: -0.02em;
}

/* Page Layout Enhancements */
main {
    padding-top: 120px !important;
}

/* Ensure light mode header is transparent at the top (overriding light-theme.css) */
/* ONLY for home page if we had a class, but let's make it have a slight translucent bg on dark/light to ensure visibility */
body.theme-light header:not(.navbar-scrolled) {
    background: rgba(255, 255, 255, 0.05) !important;
    /* Minimal but present */
    backdrop-filter: blur(5px);
    border-bottom: none !important;
    box-shadow: none !important;
}

body.theme-dark header:not(.navbar-scrolled) {
    background: rgba(0, 0, 0, 0.1) !important;
    backdrop-filter: blur(5px);
}

/* Hero Section Enhancements */
.banner {
    position: relative;
    padding: 120px 0 100px;
    background: radial-gradient(circle at 10% 20%, rgba(207, 138, 23, 0.05) 0%, transparent 40%),
        radial-gradient(circle at 90% 80%, rgba(207, 138, 23, 0.05) 0%, transparent 40%);
}

.banner .semi-title {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 700;
    margin-bottom: 1rem;
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: 2px solid var(--primary-gold);
    color: var(--primary-gold);
}

.banner h1 {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 1.5rem;
    color: #ffffff;
}

.theme-light .banner h1 {
    color: #1a1a1a;
}

.banner h1 .tlt {
    background: linear-gradient(135deg, #fff 30%, var(--primary-gold) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    display: inline-block;
}

/* Ensure animated spans are visible */
.tlt span {
    visibility: visible !important;
}

.theme-light .banner h1 .tlt {
    background: linear-gradient(135deg, #1a1a1a 30%, var(--primary-gold) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.banner p {
    font-size: 1.15rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    max-width: 600px;
    margin-bottom: 2.5rem;
}

.theme-light .banner p {
    color: #444444;
}

.banner-glass-card {
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border);
    padding: 40px;
    border-radius: 30px;
    box-shadow: var(--card-shadow);
    position: relative;
    overflow: hidden;
}

.theme-light .banner-glass-card {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
}

.hero-cta {
    display: flex;
    gap: 15px;
    margin-top: 30px;
}

.btn-premium {
    padding: 15px 35px;
    border-radius: 100px;
    font-weight: 700;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    border: none;
    background: var(--primary-gold);
    color: white;
}

.btn-premium:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px var(--gold-glow);
    color: white;
}

.btn-outline-premium {
    padding: 15px 35px;
    border-radius: 100px;
    font-weight: 700;
    transition: var(--transition);
    border: 1px solid var(--glass-border);
    color: white;
    background: transparent;
    display: flex;
    align-content: center;
    gap: 10px;
}

.theme-light .btn-outline-premium {
    border-color: #ddd;
    color: #1a1a1a;
}

.btn-outline-premium:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-3px);
    color: var(--primary-gold);
}

/* Header Specific Buttons - Ultra-Modern Minimalist Overhaul */
.btn-login-glass {
    padding: 10px 28px;
    border-radius: 100px;
    /* Modern Pill Shape */
    font-weight: 600;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7) !important;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none !important;
}

.theme-light .btn-login-glass {
    color: rgba(0, 0, 0, 0.6) !important;
    border-color: rgba(0, 0, 0, 0.1);
}

.btn-login-glass:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-1px);
}

.theme-light .btn-login-glass:hover {
    color: #000 !important;
    background: rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 0, 0, 0.2);
}

.btn-invest-premium {
    padding: 11px 32px;
    border-radius: 100px;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff !important;
    background: #cf8a17;
    /* Solid Gold Base */
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 8px 16px rgba(207, 138, 23, 0.2);
    text-decoration: none !important;
    position: relative;
    overflow: hidden;
}

.btn-invest-premium:hover {
    background: #e5a02e;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(207, 138, 23, 0.4);
}

/* Modern Minimalist Arrow Animation */
.btn-invest-premium i {
    font-size: 1rem;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-invest-premium:hover i {
    transform: translate(3px, -3px);
}

/* Premium Border Glow Layer */
.btn-invest-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent,
            rgba(255, 255, 255, 0.4),
            transparent);
    transition: 0.5s;
    transform: skewX(-25deg);
}

.btn-invest-premium:hover::before {
    left: 150%;
    transition: 0.7s;
}

/* Force better contrast in light mode for the gold button */
.theme-light .btn-invest-premium {
    color: #000 !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}


/* Service Card Enhancements */
.service .card {
    background: var(--dark-bg);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    padding: 30px;
    transition: var(--transition);
    position: relative;
    z-index: 1;
}

.service .card:hover {
    transform: translateY(-15px);
    border-color: var(--primary-gold);
}

.service .card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at top right, var(--gold-glow) 0%, transparent 60%);
    opacity: 0;
    transition: var(--transition);
    z-index: -1;
    border-radius: 24px;
}

.service .card:hover::before {
    opacity: 1;
}

.service .number h3 {
    font-size: 3rem;
    font-weight: 900;
    opacity: 0.1;
    position: absolute;
    top: 20px;
    right: 30px;
    transition: var(--transition);
}

.service .card:hover .number h3 {
    opacity: 0.3;
    color: var(--primary-gold);
    transform: scale(1.1);
}

/* Scroll Down Indicator */
.scroll-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: var(--primary-gold);
    animation: bounce 2s infinite;
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateX(-50%) translateY(0);
    }

    40% {
        transform: translateX(-50%) translateY(-10px);
    }

    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

/* Counter Section */
.project-award-customer-team {
    background: linear-gradient(90deg, #0a0a0c 0%, #151518 100%);
    padding: 60px 0;
    border-radius: 40px;
    margin-top: -50px;
    position: relative;
    z-index: 5;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
}

.theme-light .project-award-customer-team {
    background: #ffffff;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.05);
}

.counting .text {
    font-family: 'Jost', sans-serif;
    font-weight: 800;
    font-size: 3.5rem;
    background: linear-gradient(135deg, var(--primary-gold) 0%, #fbd786 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.text-gradient {
    background: linear-gradient(135deg, var(--primary-gold) 0%, #fbd786 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
}

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

.bg-gold-faint {
    background: rgba(207, 138, 23, 0.1) !important;
}

.border-gold-faint {
    border-color: rgba(207, 138, 23, 0.1) !important;
}

.fw-black {
    font-weight: 900;
}

.shadow-2xl {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.theme-light .shadow-2xl {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
}

/* About Us Section Polish */
.business-company {
    padding: 100px 0;
}

.business-images-circle .images img {
    border-radius: 30px;
    box-shadow: var(--card-shadow);
    transition: var(--transition);
}

.business-images-circle .images:hover img {
    transform: scale(1.05);
}

.award-progress .rating-box {
    background: var(--glass-bg);
    padding: 20px;
    border-radius: 15px;
    margin-bottom: 20px;
    border: 1px solid var(--glass-border);
}

.theme-light .award-progress .rating-box {
    background: #fff;
    border-color: #eee;
}

.award-progress .rating-bar {
    height: 10px !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

.theme-light .award-progress .rating-bar {
    background: #f0f0f0 !important;
}

.rating-per {
    background: linear-gradient(90deg, var(--primary-gold), #fbd786) !important;
    border-radius: 5px !important;
}

/* Gallery Section Polish */
.projects-gallery .image-wrapper {
    border-radius: 20px;
    overflow: hidden;
    margin: 10px;
}

.projects-gallery .image-wrapper img {
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.projects-gallery .image-wrapper:hover img {
    transform: scale(1.15);
}

.projects-gallery .overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
}

/* Testimonials Polish */
.our-testimonials {
    background: radial-gradient(circle at 50% 50%, rgba(207, 138, 23, 0.05) 0%, transparent 100%);
    padding: 100px 0;
}

.our-testimonials .testi-single-box {
    background: var(--dark-bg);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 40px !important;
    transition: var(--transition);
}

.theme-light .our-testimonials .testi-single-box {
    background: #fff;
    border-color: #eee;
}

.our-testimonials .testi-single-box:hover {
    border-color: var(--primary-gold);
}

.testi-single-box img[alt=""] {
    width: 50px;
    margin-bottom: 20px;
    filter: sepia(1) saturate(5) hue-rotate(10deg);
}

.testi-single-box h4 {
    font-weight: 700;
}

.testi-single-box p {
    font-size: 1.05rem;
    line-height: 1.6;
    opacity: 0.8;
}

/* Video Section Polish */
.best-organization {
    border-radius: 40px;
    overflow: hidden;
    position: relative;
}

.best-organization .windowVideoPopupModal .content {
    background: rgba(15, 17, 21, 0.8) !important;
    backdrop-filter: blur(10px);
    border: 1px solid var(--glass-border) !important;
    border-radius: 20px;
    padding: 30px !important;
}

.theme-light .best-organization .windowVideoPopupModal .content {
    background: rgba(255, 255, 255, 0.8) !important;
}

/* Achievements List Polish */
.awards-and-achievements .single-link {
    background: var(--glass-bg);
    padding: 25px;
    border-radius: 15px;
    border: 1px solid var(--glass-border);
    transition: var(--transition);
    margin-bottom: 20px;
}

.theme-light .awards-and-achievements .single-link {
    background: #fff;
    border-color: #eee;
}

.awards-and-achievements .single-link:hover {
    transform: translateX(10px);
    border-color: var(--primary-gold);
}

.awards-and-achievements .single-link h5 {
    font-weight: 700;
}

/* Footer Polish */
footer {
    background: #0a0a0c !important;
    padding-top: 100px !important;
}

.theme-light footer {
    background: #f8f9fc !important;
}

.footer-person img {
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.5));
}

/* Glassmorphism General */
.glass-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(15px) saturate(180%);
    -webkit-backdrop-filter: blur(15px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 30px;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

.theme-light .glass-card {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.05);
}

/* Custom Accordion */
.custom-accordion .accordion-item {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: var(--transition);
}

.custom-accordion .accordion-button {
    background: transparent;
    color: white;
    box-shadow: none;
}

.theme-light .custom-accordion .accordion-button {
    color: #1a1a1a;
}

.custom-accordion .accordion-button:not(.collapsed) {
    color: var(--primary-gold);
    background: rgba(207, 138, 23, 0.05);
}

/* Impact & Plan Cards */
.impact-plans-card {
    position: relative;
    z-index: 2;
}

.plan-item {
    transition: var(--transition);
}

.plan-item:hover {
    transform: scale(1.02);
    border-color: var(--primary-gold) !important;
}

/* Team Card Polish */
.team-card {
    transition: var(--transition);
}

.team-card .image-wrapper {
    height: 400px;
    border-radius: 40px;
}

.team-card .image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.team-card:hover .image-wrapper img {
    transform: scale(1.1);
}

.team-content {
    transition: var(--transition);
    border-radius: 25px !important;
    opacity: 0.9;
}

.team-card:hover .team-content {
    transform: translateY(-10px);
    opacity: 1;
    border-color: var(--primary-gold) !important;
}

/* Impact Ventures Carousel */
.carousel-wrapper {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
}

.thumbnail-wrapper img {
    width: 80px;
    height: 80px;
    object-fit: cover;

    /* ===== Gallery Base (Dark - Default) ===== */
    .gallery-page {
        background: transparent;
    }

    .gallery-page .text-gradient {
        background: linear-gradient(135deg, #fff 0%, var(--primary-gold) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    /* Theme Light Overrides for Gallery */
    body.theme-light .gallery-page .text-gradient {
        background: linear-gradient(135deg, #1a1a1a 0%, var(--primary-gold) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .gallery-card {
        background: rgba(255, 255, 255, 0.03);
        backdrop-filter: blur(15px);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 40px;
        transition: var(--transition);
    }

    body.theme-light .gallery-card {
        background: #ffffff;
        border: 1px solid rgba(0, 0, 0, 0.05);
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05) !important;
    }

    .gallery-card:hover {
        transform: translateY(-10px);
        border-color: var(--primary-gold);
        box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
    }

    body.theme-light .gallery-card:hover {
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
    }

    /* Category Filter Buttons */
    .btn-pill-premium {
        padding: 12px 28px;
        border-radius: 50px;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        color: rgba(255, 255, 255, 0.8);
        font-weight: 600;
        transition: var(--transition);
    }

    body.theme-light .btn-pill-premium {
        background: #ffffff;
        border: 1px solid #eee;
        color: #444;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
    }

    .btn-pill-premium:hover,
    .btn-pill-premium.active {
        background: var(--primary-gold);
        color: white !important;
        border-color: var(--primary-gold);
        box-shadow: 0 10px 20px var(--gold-glow);
        transform: translateY(-2px);
    }

    /* Grid Hover Effects */
    .gallery-item-wrap img {
        transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .gallery-item-wrap:hover img {
        transform: scale(1.1);
    }

    /* Carousel Section in Gallery */
    .gallery-carousel-wrap {
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.05);
    }

    body.theme-light .gallery-carousel-wrap {
        background: #f8f9fc;
        border: 1px solid #eee;
    }

    /* Typography Helpers for Theme */
    .theme-header {
        color: #ffffff;
    }

    body.theme-light .theme-header {
        color: #1a1a1a !important;
    }

    .theme-muted {
        color: rgba(255, 255, 255, 0.6);
    }

    body.theme-light .theme-muted {
        color: #555555 !important;
    }

    .section-bg-glass {
        background: rgba(255, 255, 255, 0.03);
        backdrop-filter: blur(10px);
    }

    body.theme-light .section-bg-glass {
        background: #ffffff;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
    }

    border-radius: 15px;
    cursor: pointer;
    opacity: 0.6;
    transition: var(--transition);
    border: 2px solid transparent;
}

.thumbnail-wrapper img.active {
    opacity: 1;
    border-color: var(--primary-gold);
}

/* Utility Transitions */
.transition-transform {
    transition: transform 0.3s ease-out;
}

.transition-transform:hover {
    transform: translateY(-10px);
}

/* Impact Badge */
.badge.bg-gold {
    background-color: var(--primary-gold) !important;
    color: white !important;
    box-shadow: 0 4px 15px var(--gold-glow);
}

/* Carousel Timer Progress Bar & Interaction Sync */
.amazing-work .time {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 5px;
    background: linear-gradient(90deg, var(--primary-gold), #fff);
    z-index: 1000;
    transition: none;
}

.amazing-work .carousel.next .time,
.amazing-work .carousel.prev .time {
    animation: runningTime 3s linear forwards !important;
    /* Sync with JS 3s */
}

@keyframes runningTime {
    from {
        width: 100%
    }

    to {
        width: 0%
    }
}

.amazing-work .item {
    cursor: default;
}

.amazing-work .thumbnail .item {
    cursor: pointer;
    transition: transform 0.3s;
}

.amazing-work .thumbnail .item:hover {
    transform: scale(1.05);
}

.amazing-work .thumbnail .item img {
    border: 2px solid transparent;
    transition: border-color 0.3s;
}

.amazing-work .thumbnail .item:first-child img {
    border-color: var(--primary-gold);
}

/* Ensure arrows are ALWAYS clickable and visible over the slider transitions */
.amazing-work .arrows {
    z-index: 1001 !important;
    pointer-events: auto !important;
}

.amazing-work .arrows button {
    pointer-events: auto !important;
    z-index: 1002 !important;
}

.amazing-work .carousel.next .arrows button,
.amazing-work .carousel.prev .arrows button {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Blog Specific Styles */
.date-badge {
    z-index: 10;
    min-width: 65px;
    background: rgba(15, 17, 21, 0.4) !important;
    border: 1px solid var(--gold-glow) !important;
    color: var(--primary-gold);
}

.hover-scale {
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.group:hover .hover-scale {
    transform: scale(1.08);
}

.border-gold-soft {
    border: 1px solid rgba(207, 138, 23, 0.2) !important;
}

.hover-gold:hover {
    color: var(--primary-gold) !important;
}

.transition-all {
    transition: var(--transition) !important;
}

.x-small {
    font-size: 0.75rem;
}

/* Pagination Glassmorphism */
.pagination .page-link {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    color: white;
    transition: var(--transition);
}

.pagination .page-link:hover {
    background: var(--primary-gold);
    color: black;
    border-color: var(--primary-gold);
}

.pagination .page-item.active .page-link {
    background: var(--primary-gold);
    color: black;
    border-color: var(--primary-gold);
}

/* Sidebar Search Polish */
.search-form input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.search-form .btn-gold:hover {
    background: white !important;
    color: black !important;
}

/* Blog Content Dropshadows/Polish */
.article-body blockquote {
    font-family: 'Jost', sans-serif;
    position: relative;
    overflow: hidden;
}

.article-body blockquote::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--gold-glow) 0%, transparent 100%);
    opacity: 0.1;
    z-index: -1;
}

.aspect-square {
    aspect-ratio: 1 / 1;
}

.object-fit-cover {
    object-fit: cover;
}

/* Gallery Enhancements */
.gallery-item-wrap {
    position: relative;
    cursor: pointer;
}

.gallery-item-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(207, 138, 23, 0.2) 0%, transparent 70%);
    opacity: 0;
    transition: var(--transition);
    pointer-events: none;
}

.gallery-item-wrap:hover::after {
    opacity: 1;
}

.gallery-item-wrap .hover-scale {
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.gallery-item-wrap:hover .hover-scale {
    transform: scale(1.1);
}

.item-overlay {
    background: linear-gradient(to top, rgba(15, 17, 21, 0.95), rgba(15, 17, 21, 0.5) 40%, transparent 100%);
    backdrop-filter: blur(2px);
}

.group-hover-visible {
    opacity: 0;
    transform: translateY(20px);
    transition: var(--transition);
}

.gallery-item-wrap:hover .group-hover-visible {
    opacity: 1;
    transform: translateY(0);
}

.btn-premium-outline {
    background: transparent;
    border: 1px solid var(--primary-gold);
    color: white;
    transition: var(--transition);
}

.btn-premium-outline:hover {
    background: var(--primary-gold);
    color: black;
}

.video-container {
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.6);
}

.masonry-grid>div {
    margin-bottom: 0;
    /* Handled by gutter */
}

/* ==========================================================================
   MOBILE HEADER & NAVIGATION POLISH (V2)
   ========================================================================== */

/* Responsive Logo */
.main-logo {
    height: auto;
    width: 220px;
    /* Default desktop width */
    transition: var(--transition);
}

@media (max-width: 991.98px) {
    .main-logo {
        width: 180px;
        /* Smaller for tablets/mobile */
    }

    .navbar {
        padding: 12px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* Mobile Menu Glassmorphism */
    .navbar-collapse {
        background: rgba(15, 17, 21, 0.98) !important;
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 25px;
        margin-top: 15px;
        padding: 25px !important;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    }

    .theme-light .navbar-collapse {
        background: rgba(255, 255, 255, 0.98) !important;
        border: 1px solid rgba(0, 0, 0, 0.05) !important;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    }

    .navbar-nav {
        text-align: center;
        gap: 10px !important;
    }

    .nav-link {
        font-size: 1.1rem;
        padding: 12px !important;
        border-radius: 12px;
        color: rgba(255, 255, 255, 0.8) !important;
    }

    .theme-light .nav-link {
        color: #1a1a1a !important;
    }

    .nav-link:hover {
        background: rgba(207, 138, 23, 0.1);
        color: var(--primary-gold) !important;
    }

    .getStart-sideMenu {
        margin-top: 20px;
        flex-direction: column !important;
        gap: 20px !important;
    }

    .main-btn {
        width: 100%;
        flex-direction: row !important;
        justify-content: center !important;
    }
}

@media (max-width: 575.98px) {
    .main-logo {
        width: 160px;
        /* Even smaller for very small phones */
    }
}

/* Modern Hamburger Toggle - High Visibility in Both Modes */
.navbar-toggler {
    border: 1px solid rgba(207, 138, 23, 0.4) !important;
    padding: 8px !important;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 10px !important;
    background: rgba(207, 138, 23, 0.05) !important;
    transition: all 0.3s ease;
    z-index: 10;
    position: relative;
    background-image: none !important;
    /* Remove default icon */
}

.theme-light .navbar-toggler {
    border-color: rgba(0, 0, 0, 0.1) !important;
    background: rgba(0, 0, 0, 0.02) !important;
}

.hamburger {
    width: 26px;
    height: 18px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
    /* Let clicks pass to the button */
}

.hamburger .line {
    display: block !important;
    height: 3px !important;
    /* Slightly thicker for better visibility */
    width: 26px !important;
    background-color: #cf8a17 !important;
    /* Direct gold color for reliability */
    border-radius: 10px;
    transition: all 0.35s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.theme-light .hamburger .line {
    background-color: #cf8a17 !important;
}

/* Animation for when menu is open */
.navbar-toggler:not(.collapsed) .hamburger .line-1 {
    transform: translateY(8px) rotate(45deg);
}

.navbar-toggler:not(.collapsed) .hamburger .line-2 {
    opacity: 0;
    transform: translateX(-10px);
}

.navbar-toggler:not(.collapsed) .hamburger .line-3 {
    transform: translateY(-8px) rotate(-45deg);
}

/* Footer Legal Collapse Polish */
[data-bs-toggle="collapse"] {
    cursor: pointer;
}

#footerLegalCollapse.collapse:not(.show) {
    display: none;
}

@media (min-width: 768px) {
    #footerLegalCollapse.collapse:not(.show) {
        display: block !important;
    }
}

.bi-chevron-down {
    transition: transform 0.3s ease;
}

[aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
}

/* ==========================================================================
   CUSTOM ACCORDION (LEGAL PAGES)
   ========================================================================== */
.custom-accordion .accordion-button {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: none !important;
    transition: var(--transition);
}

.custom-accordion .accordion-button:not(.collapsed) {
    background: rgba(207, 138, 23, 0.1);
    color: var(--primary-gold) !important;
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.custom-accordion .accordion-button::after {
    filter: brightness(0) invert(1);
    transition: transform 0.3s ease;
}

.custom-accordion .accordion-button:not(.collapsed)::after {
    filter: sepia(100%) saturate(1000%) hue-rotate(0deg);
}

.theme-light .custom-accordion .accordion-button {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.05);
    color: #1a1a1a !important;
}

.theme-light .custom-accordion .accordion-button::after {
    filter: none;
}

.theme-light .custom-accordion .accordion-button:not(.collapsed) {
    background: rgba(207, 138, 23, 0.1);
    color: #cf8a17 !important;
}

.theme-light .custom-accordion .accordion-body {
    background: rgba(255, 255, 255, 0.8) !important;
    color: #333 !important;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.custom-accordion .accordion-body.glass-card {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


/* ==========================================================================
   MODERN PREMIUM PRELOADER
   ========================================================================== */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0f1115;
    /* Dark bg matching theme */
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),
        visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}

.theme-light #preloader {
    background-color: #f8f9fc;
}

#preloader.fade-out {
    opacity: 0;
    visibility: hidden;
}

.loader-wrapper {
    text-align: center;
    position: relative;
    width: 300px;
}

.loader-logo-wrap {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
    animation: loaderPulse 2.5s infinite ease-in-out;
}

.loader-logo {
    width: 180px;
    height: auto;
    position: relative;
    z-index: 2;
}

.loader-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    background: radial-gradient(circle, rgba(207, 138, 23, 0.2) 0%, transparent 70%);
    z-index: 1;
    border-radius: 50%;
    animation: loaderGlowRotate 4s infinite linear;
}

.loader-progress-container {
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.theme-light .loader-progress-container {
    background: rgba(0, 0, 0, 0.05);
}

.loader-progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, transparent, #cf8a17, transparent);
    background-size: 200% 100%;
    animation: loaderProgress 2s infinite ease-in-out;
}

.loader-text {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    opacity: 0.8;
}

@keyframes loaderPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.9;
    }

    50% {
        transform: scale(1.05);
        opacity: 1;
    }
}

@keyframes loaderGlowRotate {
    0% {
        transform: translate(-50%, -50%) rotate(0deg) scale(1);
    }

    50% {
        transform: translate(-50%, -50%) rotate(180deg) scale(1.2);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg) scale(1);
    }
}

@keyframes loaderProgress {
    0% {
        width: 0;
        left: 0;
    }

    50% {
        width: 100%;
        left: 0;
    }

    100% {
        width: 0;
        left: 100%;
    }
}