/* Duncan Joyce & Associates - Subtle Professional Branding */

:root {
    /* Subtle Professional Colors */
    --dj-primary: #2c5282; /* Professional Blue */
    --dj-primary-light: #3182ce; /* Lighter Blue */
    --dj-primary-dark: #2a4365; /* Darker Blue */
    /* Accent Colors - Very Subtle */
    --dj-gold: #d69e2e; /* Muted Gold */
    --dj-success: #38a169; /* Professional Green */
    --dj-warning: #d69e2e; /* Warning Gold */
}

/* ========================================= */
/* FORCE WHITE HEADER ALWAYS - COMPACT HEIGHT */
/* ========================================= */

/* Force header to ALWAYS be white - override all theme behavior */
#header,
#header.header-effect-shrink,
#header.header-effect-shrink.shrink,
#header:not(.shrink),
header {
    background-color: white !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    border-bottom: 1px solid #f0f0f0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
}

    /* Force all header parts to be white */
    #header .header-body,
    #header .header-container,
    .header-body,
    .header-container {
        background-color: white !important;
    }

    /* KEEP PHONE LINE VISIBLE - Don't hide header-top when scrolling */
    #header.header-effect-shrink.shrink .header-top,
    #header .header-top,
    .header-top {
        display: block !important; /* Always show the phone line */
        background-color: white !important;
        padding: 5px 0 !important; /* Reduce padding for compact look */
    }

        /* Make header-top more compact */
        #header .header-top .header-row,
        .header-top .header-row {
            padding: 3px 0 !important;
        }

        /* Compact header-top text */
        #header .header-top .list-inline-item,
        .header-top .list-inline-item {
            margin-bottom: 0 !important;
            font-size: 0.875rem !important; /* Slightly smaller text */
        }

        /* Compact header-top button */
        #header .header-top .btn,
        .header-top .btn {
            padding: 6px 12px !important; /* Smaller button padding */
            font-size: 0.75rem !important; /* Smaller button text */
        }

    /* Ensure navigation text is always dark for contrast */
    #header .nav-link,
    .header-nav-main .nav-link {
        color: var(--dj-primary-dark) !important;
    }

        #header .nav-link:hover,
        #header .nav-link.active,
        .header-nav-main .nav-link:hover,
        .header-nav-main .nav-link.active {
            color: var(--dj-primary) !important;
        }

    /* Make header body more compact */
    #header .header-body {
        padding: 8px 0 !important; /* Reduce padding */
    }

    /* Make header container more compact */
    #header .header-container {
        padding: 5px 0 !important; /* Reduce padding */
    }

    /* Fix logo background issue - MINIMAL PADDING */
    #header .header-logo img,
    .header-logo img {
        background-color: transparent !important;
        mix-blend-mode: multiply !important;
        max-height: 50px !important; /* Limit logo height for compact header */
    }

    /* Alternative logo fix - MINIMAL PADDING */
    #header .header-logo,
    .header-logo {
        background-color: transparent !important;
        padding: 2px 0 !important; /* Minimal padding */
    }

    /* Compact navigation */
    #header .header-nav-main .nav-pills .nav-link {
        padding: 8px 15px !important; /* Reduce nav link padding */
        font-size: 0.9rem !important; /* Slightly smaller nav text */
    }

    /* Dropdown menus */
    #header .dropdown-menu,
    .dropdown-menu {
        background-color: white !important;
        border: 1px solid #e0e0e0 !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    }

        #header .dropdown-menu .nav-link,
        .dropdown-menu .nav-link {
            color: var(--dj-primary-dark) !important;
        }

            #header .dropdown-menu .nav-link:hover,
            .dropdown-menu .nav-link:hover {
                color: var(--dj-primary) !important;
                background-color: #f8f9fa !important;
            }

    /* Header buttons */
    #header .btn-primary {
        background-color: var(--dj-primary) !important;
        border-color: var(--dj-primary) !important;
        color: white !important;
    }

    /* Mobile menu button */
    #header .header-btn-collapse-nav,
    .header-btn-collapse-nav {
        color: var(--dj-primary) !important;
    }

    /* Override any theme transitions that might cause transparency */
    #header * {
        transition: color 0.3s ease !important;
    }

    /* Remove any background transitions */
    #header,
    #header .header-body,
    #header .header-container {
        transition: box-shadow 0.3s ease !important;
    }

        /* Force compact header regardless of JavaScript behavior */
        #header.header-effect-shrink {
            min-height: auto !important;
            height: auto !important;
        }

/* ========================================= */
/* HERO SECTION FIXES - Better Design */
/* ========================================= */

/* Lighter Overlay for Better Image Visibility */
.page-header.overlay.overlay-show.overlay-op-5::before {
    background-color: rgba(0, 0, 0, 0.35) !important; /* Lighter overlay */
}

/* Clean White Text with Shadows */
.page-header h1.text-white {
    color: #ffffff !important;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8) !important;
    font-weight: 900 !important;
    margin-bottom: 1rem !important; /* Space below h1 */
}

/* Remove Extra Background from h2 and Position Below h1 */
.page-header h2.text-white {
    color: #ffffff !important;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.7) !important;
    background: none !important; /* Remove the extra dark background */
    padding: 0 !important;
    border-radius: 0 !important;
    display: block !important; /* Block display to go underneath h1 */
    margin-top: 0.5rem !important;
    margin-bottom: 2rem !important;
}

/* Improved Content Wrapper - Lighter and Centered */
.hero-content-wrapper {
    background: rgba(0, 0, 0, 0.2) !important; /* Much lighter background */
    padding: 50px 40px !important;
    border-radius: 15px !important;
    backdrop-filter: blur(2px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    max-width: 900px !important; /* Limit width for better centering */
    margin: 0 auto !important; /* Center the wrapper */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important; /* Subtle shadow for depth */
}

/* FIXED: Hero Button Enhancement - INLINE BUTTONS */
.page-header .btn {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
    border: 2px solid rgba(255, 255, 255, 0.2) !important;
    font-weight: bold !important;
    margin: 0.5rem !important; /* Add margin between buttons */
    display: inline-block !important; /* Keep buttons inline */
    width: auto !important; /* Remove full width */
}

.page-header .btn-light {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.95) !important;
    color: var(--dj-primary) !important;
}

    .page-header .btn-light:hover {
        background-color: white !important;
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
    }

/* ========================================= */
/* EXISTING STYLES CONTINUE BELOW */
/* ========================================= */

/* BUTTON FIXES - More Specific Selectors with Transitions */
.btn.btn-primary {
    background-color: var(--dj-primary) !important;
    border-color: var(--dj-primary) !important;
    color: white !important;
    transition: all 0.3s ease !important;
}

    .btn.btn-primary:hover,
    .btn.btn-primary:focus,
    .btn.btn-primary:active,
    .btn.btn-primary.active {
        background-color: var(--dj-primary-dark) !important;
        border-color: var(--dj-primary-dark) !important;
        color: white !important;
        box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3) !important;
        transform: translateY(-1px);
    }

    .btn.btn-primary:not(:disabled):not(.disabled):active,
    .btn.btn-primary:not(:disabled):not(.disabled).active {
        background-color: var(--dj-primary-dark) !important;
        border-color: var(--dj-primary-dark) !important;
        color: white !important;
    }

/* More Specific Button Outline */
.btn.btn-outline-primary {
    color: var(--dj-primary) !important;
    border-color: var(--dj-primary) !important;
    background-color: transparent !important;
    transition: all 0.3s ease !important;
}

    .btn.btn-outline-primary:hover,
    .btn.btn-outline-primary:focus,
    .btn.btn-outline-primary:active {
        background-color: var(--dj-primary) !important;
        border-color: var(--dj-primary) !important;
        color: white !important;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3) !important;
    }

/* ONLY Primary Text Color */
.text-color-primary {
    color: var(--dj-primary) !important;
}

/* FIX: Primary Background - Ensure White Text */
.bg-primary-darken {
    background-color: var(--dj-primary-dark) !important;
    color: white !important;
}

    /* FIX: Ensure all text on dark backgrounds is white */
    .bg-primary-darken h1,
    .bg-primary-darken h2,
    .bg-primary-darken h3,
    .bg-primary-darken h4,
    .bg-primary-darken h5,
    .bg-primary-darken h6,
    .bg-primary-darken p,
    .bg-primary-darken span,
    .bg-primary-darken li,
    .bg-primary-darken a {
        color: white !important;
    }

/* Subtle Icon Color Enhancement */
.feature-box .feature-box-icon i {
    color: var(--dj-primary) !important;
    transition: color 0.3s ease;
}

/* Very Subtle Card Enhancement */
.card {
    transition: box-shadow 0.3s ease;
}

    .card:hover {
        box-shadow: 0 4px 12px rgba(44, 82, 130, 0.1);
    }

/* Subtle Navigation Active State */
.header-nav-main .nav-link.active {
    color: var(--dj-primary) !important;
    font-weight: 600;
}

/* Form Focus - Professional Blue */
.form-control:focus {
    border-color: var(--dj-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(44, 82, 130, 0.15) !important;
}

/* Alert Enhancements - Keep Default Backgrounds */
.alert-info {
    border-left: 4px solid var(--dj-primary);
}

.alert-success {
    border-left: 4px solid var(--dj-success);
}

.alert-warning {
    border-left: 4px solid var(--dj-warning);
}

/* Subtle List Icon Colors */
.list-icons.list-primary li i {
    color: var(--dj-primary) !important;
}

.list-icons.list-success li i {
    color: var(--dj-success) !important;
}

/* Professional Heading Accent */
.brand-accent {
    position: relative;
    display: inline-block;
}

    .brand-accent::after {
        content: '';
        position: absolute;
        bottom: -3px;
        left: 0;
        width: 30px;
        height: 2px;
        background-color: var(--dj-gold);
    }

/* Subtle Sidebar Enhancement */
.sidebar .card {
    border-left: 3px solid var(--dj-primary);
}

/* Very Subtle Hover Effects */
a:hover {
    color: var(--dj-primary) !important;
    transition: color 0.2s ease;
}

/* Keep Accordion Simple */
.accordion .accordion-toggle {
    color: var(--dj-primary) !important;
    transition: color 0.3s ease;
}

    .accordion .accordion-toggle:hover {
        color: var(--dj-primary-dark) !important;
    }

/* Minimal Header Enhancement */
.header-top .text-color-primary {
    color: var(--dj-gold) !important;
}

/* Expert Tip Box Icons Only */
.alert h5 i.fa-lightbulb {
    color: var(--dj-gold) !important;
}

.alert h5 i.fa-calculator {
    color: var(--dj-success) !important;
}

.alert h5 i.fa-info-circle {
    color: var(--dj-primary) !important;
}

.alert h5 i.fa-exclamation-triangle {
    color: var(--dj-warning) !important;
}

/* Footer - Minimal Enhancement */
footer .text-color-primary {
    color: var(--dj-gold) !important;
}

/* Service Icon Hover - Very Subtle */
.feature-box:hover .feature-box-icon i {
    color: var(--dj-primary-dark) !important;
    transition: color 0.3s ease;
}

/* Blog Post Headings - Subtle Color */
.blog-post h2,
.blog-post h3 {
    color: var(--dj-primary);
}

/* Pricing Cards - Just the Price */
.card .text-6.font-weight-bold.text-color-primary {
    color: var(--dj-primary) !important;
}

/* FIX: Any section with bg-primary needs white text */
.section.bg-primary,
.bg-primary {
    color: white !important;
}

    .section.bg-primary h1,
    .section.bg-primary h2,
    .section.bg-primary h3,
    .section.bg-primary h4,
    .section.bg-primary h5,
    .section.bg-primary h6,
    .section.bg-primary p,
    .section.bg-primary span,
    .section.bg-primary li {
        color: white !important;
    }

/* FIX: Ensure call-to-action sections have proper contrast */
.section-height-3.bg-primary-darken h2,
.section-height-3.bg-primary-darken h3,
.section-height-3.bg-primary-darken p {
    color: white !important;
}

/* Additional Button Specificity - Target Common Button Classes */
button.btn-primary,
input.btn-primary,
a.btn-primary {
    background-color: var(--dj-primary) !important;
    border-color: var(--dj-primary) !important;
    color: white !important;
    transition: all 0.3s ease !important;
}

    button.btn-primary:hover,
    input.btn-primary:hover,
    a.btn-primary:hover,
    button.btn-primary:focus,
    input.btn-primary:focus,
    a.btn-primary:focus {
        background-color: var(--dj-primary-dark) !important;
        border-color: var(--dj-primary-dark) !important;
        color: white !important;
        box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3) !important;
        transform: translateY(-1px);
    }

/* Override Bootstrap Button States */
.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3) !important;
}

/* FIXED: Mobile styles - ONLY for mobile devices */
@media (max-width: 768px) {
    .btn-primary:hover {
        transform: none;
    }

    /* Optimize hero content on mobile */
    .hero-content-wrapper {
        padding: 30px 20px !important;
        backdrop-filter: blur(1px) !important;
        max-width: 95% !important;
    }

    .page-header h1.text-white,
    .page-header h2.text-white {
        text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9) !important;
    }

    /* Stack buttons vertically ONLY on mobile */
    .page-header .btn {
        display: block !important;
        width: 100% !important;
        margin: 0.5rem 0 !important;
    }

    /* Make header even more compact on mobile */
    #header .header-top {
        padding: 3px 0 !important;
    }

        #header .header-top .btn {
            padding: 4px 8px !important;
            font-size: 0.7rem !important;
        }
}

/* Keep Everything Else Default - No Background Changes */
/* This ensures text remains readable everywhere */
