:root {
    /* Light theme variables */
    --background-color: #ffffff;
    --text-color: #232323;
    --text-medium-color: #6f6f6f;
    --border-color: #e4e4e4;
    --card-bg: #f7f7f7;
    --base-color: #008f8c; /* Changed from #BEFF01 to #008f8c (blue) */
    --dark-gray: #232323;
    --shadow-color: rgba(0, 0, 0, 0.1);
    --theme-transition: all 0.3s ease;
}

[data-theme="dark"] {
    /* Dark theme variables */
    --background-color: #121212;
    --text-color: #f8f8f8;
    --text-medium-color: #a0a0a0;
    --border-color: #2a2a2a;
    --card-bg: #1e1e1e;
    --base-color: #008f8c; /* Changed from #BEFF01 to #008f8c (blue) */
    --dark-gray: #f8f8f8;
    --shadow-color: rgba(0, 0, 0, 0.3);
}

/* Apply transitions for smooth theme switching */
body, div, p, h1, h2, h3, h4, h5, h6, span, a, section {
    transition: var(--theme-transition);
}

/* Theme toggle button styling */
.theme-toggle {
    background: transparent;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: var(--theme-transition);
}

.theme-toggle:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .theme-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.theme-toggle .material-icons-round {
    font-size: 24px;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
}

.theme-toggle .light-icon {
    position: absolute;
    color: #ffc107;
    opacity: 1;
    transform: translateY(0);
}

.theme-toggle .dark-icon {
    position: absolute;
    color: #b4b4b4;
    opacity: 0;
    transform: translateY(20px);
}

[data-theme="dark"] .theme-toggle .light-icon {
    opacity: 0;
    transform: translateY(-20px);
}

[data-theme="dark"] .theme-toggle .dark-icon {
    opacity: 1;
    transform: translateY(0);
}

/* Dark mode styles for the site */
[data-theme="dark"] body {
    background-color: var(--background-color);
    background-image: url(../images/vertical-line-bg-small-dark.svg) !important;
    color: var(--text-color);
}

[data-theme="dark"] .text-dark-gray {
    color: var(--text-color) !important;
}

[data-theme="dark"] .text-medium-gray {
    color: var(--text-medium-color) !important;
}

[data-theme="dark"] .bg-light-gray {
    background-color: var(--border-color) !important;
}

[data-theme="dark"] .border-color-charcoal-grey {
    border-color: var(--border-color) !important;
}

/* Text base color remains blue */
[data-theme="dark"] .text-base-color {
    color: var(--base-color) !important;
}

/* Card and section styling */
[data-theme="dark"] .process-step-style-10,
[data-theme="dark"] .cookie-modal-content,
[data-theme="dark"] .portfolio-caption {
    background-color: var(--card-bg) !important;
}

[data-theme="dark"] .bg-medium-gray {
    background-color: #2d2d2d !important;
}

[data-theme="dark"] .separator-line-1px {
    background-color: var(--border-color) !important;
}

/* Fix the Contact Us button */
[data-theme="dark"] .btn-dark-gray {
    background-color: var(--card-bg);
    color: var(--text-color) !important;
    border-color: var(--border-color);
}

[data-theme="dark"] .btn-switch-text .btn-double-text,
[data-theme="dark"] .btn-double-text[data-text] {
    color: var(--text-color) !important;
}

[data-theme="dark"] .btn-box-shadow {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2) !important;
}

[data-theme="dark"] .bg-base-color {
    background-color: var(--base-color) !important;
}

/* Make sure button hover effects work properly in dark mode */
[data-theme="dark"] .btn-expand-ltr:hover {
    color: #000 !important;
}

[data-theme="dark"] .btn-expand-ltr:hover span:not(.bg-base-color) {
    color: #000 !important;
}

/* Navigation */
[data-theme="dark"] .navbar-nav .nav-link {
    color: var(--text-color) !important;
}

[data-theme="dark"] .navbar-nav .nav-link:hover {
    color: var(--base-color) !important;
}

/* Social icons */
[data-theme="dark"] .elements-social .small-icon.dark li a {
    color: var(--text-color) !important;
}

/* Fancy text elements */
[data-theme="dark"] .text-outline {
    -webkit-text-stroke-color: var(--border-color) !important;
}

/* Cookie banner - Fix visibility issues */
[data-theme="dark"] .cookie-banner {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

/* Fix cookie banner text visibility */
[data-theme="dark"] .cookie-banner .text-white,
[data-theme="dark"] .cookie-modal-content .text-white {
    color: var(--text-color) !important;
}

[data-theme="dark"] .cookie-banner .text-white.opacity-7,
[data-theme="dark"] .cookie-modal-content .text-white.opacity-7 {
    color: var(--text-medium-color) !important;
    opacity: 1 !important;
}

[data-theme="dark"] .cookie-banner .text-white.opacity-6,
[data-theme="dark"] .cookie-modal-content .text-white.opacity-6 {
    color: var(--text-medium-color) !important;
    opacity: 0.9 !important;
}

/* Remove filters from images in dark mode for better appearance */
[data-theme="dark"] .portfolio-image img,
[data-theme="dark"] img.alt-logo,
[data-theme="dark"] img.default-logo,
[data-theme="dark"] img.mobile-logo {
    filter: none !important;
}

/* Ensure logo is white in dark mode - stronger selector */
[data-theme="dark"] .navbar-brand img,
[data-theme="dark"] .footer-logo img,
[data-theme="dark"] .alt-logo,
[data-theme="dark"] .default-logo,
[data-theme="dark"] .mobile-logo {
    filter: brightness(0) invert(1) !important;
}

/* Fix the Contact Us button to be on a single line */
[data-theme="dark"] .btn-double-text,
.btn-double-text {
    white-space: nowrap !important;
    display: inline-block !important;
}

[data-theme="dark"] .header-button .btn {
    min-width: 130px;
}

/* Cookie banner buttons */
[data-theme="dark"] .cookie-banner .btn-white,
[data-theme="dark"] .cookie-modal-content .btn-white {
    background-color: var(--base-color);
    color: #000 !important;
    border-color: var(--base-color);
}

[data-theme="dark"] .cookie-banner .btn-transparent-white,
[data-theme="dark"] .cookie-modal-content .btn-transparent-white {
    background-color: transparent;
    color: var(--text-color) !important;
    border-color: var(--border-color);
}

[data-theme="dark"] .cookie-banner .btn-transparent-white:hover,
[data-theme="dark"] .cookie-modal-content .btn-transparent-white:hover {
    background-color: rgba(255, 255, 255, 0.1);
}
