/* Global Theme Override: Violet to Sky Blue Gradient */
:root {
    --theme-gradient: linear-gradient(90deg, #8A2BE2 0%, #87CEEB 100%);
    --theme-violet: #8A2BE2;
    --theme-skyblue: #87CEEB;
    --bg-primary: #ffffff;
    --text-main: #10285d;
    --text-heading: #072366;
}

body.dark-mode {
    --bg-primary: #121212;
    --text-main: #b0b0b0;
    --text-heading: #ffffff;
}

/* Layout & Responsiveness Overrides */
.slider-area, .slider-area2 {
    padding-top: 130px !important; /* Space for the transparent header */
}

.slider-height {
    height: auto !important; /* Allow content to define height */
    min-height: 700px;
    padding-bottom: 80px;
}

@media only screen and (max-width: 991px) {
    .slider-area, .slider-area2 {
        padding-top: 100px !important;
    }
    .slider-height { min-height: 500px; }
}

/* Buttons */
.btn, 
.hero-btn, 
.header-btn, 
.footer-form button, 
.button-contactForm, 
.boxed-btn, 
.genric-btn.primary, 
.latest-subscribe button {
    background-image: var(--theme-gradient) !important;
    background-size: 200% auto;
    border: none !important;
    color: #fff !important;
    transition: 0.5s !important;
}

.btn:hover, 
.hero-btn:hover, 
.header-btn:hover, 
.button-contactForm:hover, 
.boxed-btn:hover {
    background-position: right center !important;
    box-shadow: 0 10px 20px rgba(138, 43, 226, 0.2) !important;
}

/* Section Backgrounds */
.section-bg2, .latest-area.section-bg2 {
    background-image: var(--theme-gradient) !important;
    background-color: transparent !important;
}

/* Dark Mode Logic */
body {
    background-color: var(--bg-primary) !important;
    color: var(--text-main) !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

.dark-mode .slider-area,
.dark-mode .slider-area2 {
    background-color: #0a0a0a !important;
    background-image: none !important;
}

.dark-mode .footer-area {
    background-image: none !important;
    background-color: #0a0a0a !important;
    border-top: 1px solid #333;
}

.dark-mode .section-padding2,
.dark-mode .section-padding30,
.dark-mode .contact-section,
.dark-mode .sample-text-area,
.dark-mode .button-area,
.dark-mode .whole-wrap,
.dark-mode .progress-table,
.dark-mode .section-top-border,
.dark-mode .single-defination,
.dark-mode .generic-blockquote,
.dark-mode .history-content,
.dark-mode .about-low-area, 
.dark-mode .pricing-card-area,
.dark-mode .service-area {
    background-color: #1a1a1a !important;
}

.dark-mode h1, .dark-mode h2, .dark-mode h3, .dark-mode h4, .dark-mode h5, .dark-mode h6,
.dark-mode .section-tittle h2, .dark-mode .hero__caption h1,
.dark-mode .hero-cap h2, .dark-mode .contact-title {
    color: var(--text-heading) !important;
}

.dark-mode p, .dark-mode span, .dark-mode li {
    color: var(--text-main) !important;
}

.dark-mode .header-sticky.sticky-bar {
    background: #1a1a1a !important;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.5) !important;
}

.dark-mode .contact-info .media-body h3 {
    color: #ffffff !important;
}

.dark-mode .contact-info__icon i, 
.dark-mode .contact-info__icon span {
    color: var(--theme-skyblue) !important;
}

.dark-mode .main-header .main-menu ul li a {
    color: #ffffff !important;
}

.dark-mode .single-card, .dark-mode .single-services {
    background-color: #242424 !important;
    box-shadow: 0px 10px 30px rgba(0,0,0,0.5) !important;
}

/* Map Border */
.dark-mode .contact-section iframe {
    filter: invert(90%) hue-rotate(180deg) brightness(95%) contrast(90%);
}

.dark-mode .feature-values li,
.dark-mode .unordered-list li,
.dark-mode .ordered-list li span {
    color: #b0b0b0 !important;
}

/* Forms and Elements */
.dark-mode input, 
.dark-mode textarea,
.dark-mode .single-input,
.dark-mode .single-textarea,
.dark-mode .contact_form .form-control {
    background-color: #242424 !important;
    color: #fff !important;
    border: 1px solid #444 !important;
}

.dark-mode .nice-select {
    background-color: #242424 !important;
    color: #fff !important;
    border: 1px solid #444 !important;
}

.dark-mode .nice-select .list {
    background-color: #242424 !important;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
}

.dark-mode .nice-select .option:hover, 
.dark-mode .nice-select .option.focus, 
.dark-mode .nice-select .option.selected.focus {
    background-color: #333 !important;
}

/* Pricing Cards */
.single-card:hover .card-top {
    background-image: var(--theme-gradient) !important;
}

.single-card:hover .card-top h4, 
.single-card:hover .card-top p {
    color: #fff !important;
}

/* Icons Accents */
.single-services i::before {
    background: var(--theme-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}