/**
 * Odeliver Custom Brand Styles
 * Primary Brand Color: #653393 (Purple)
 *
 * This file overrides the default theme styles with Odeliver branding
 */

/* ============================================
   CSS Custom Properties (Variables)
   ============================================ */
:root {
    /* Primary Brand Colors */
    --od-primary: #653393;
    --od-primary-light: #7d4aa8;
    --od-primary-dark: #4d2570;
    --od-primary-rgb: 101, 51, 147;

    /* Secondary Colors */
    --od-secondary: #1a1a2e;
    --od-secondary-light: #2d2d44;
    --od-accent: #f39c12;

    /* Neutral Colors */
    --od-white: #ffffff;
    --od-light: #f8f9fa;
    --od-gray-100: #f4f4f6;
    --od-gray-200: #e9e9ed;
    --od-gray-300: #d1d1d9;
    --od-gray-400: #a0a0ab;
    --od-gray-500: #71717a;
    --od-gray-600: #52525b;
    --od-gray-700: #3f3f46;
    --od-gray-800: #27272a;
    --od-dark: #18181b;

    /* Semantic Colors */
    --od-success: #22c55e;
    --od-warning: #f59e0b;
    --od-danger: #ef4444;
    --od-info: #3b82f6;

    /* Typography */
    --od-font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --od-font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* Spacing */
    --od-section-padding: 80px 0;
    --od-section-padding-sm: 60px 0;

    /* Transitions */
    --od-transition: all 0.3s ease;
    --od-transition-fast: all 0.15s ease;

    /* Shadows */
    --od-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --od-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --od-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --od-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    --od-shadow-purple: 0 10px 30px rgba(101, 51, 147, 0.3);
}

/* ============================================
   Override Theme Primary Colors
   ============================================ */

/* Background colors */
.bg-primary {
    background-color: var(--od-primary) !important;
}

.bg-primary-light {
    background-color: var(--od-primary-light) !important;
}

.bg-primary-dark {
    background-color: var(--od-primary-dark) !important;
}

.bg-secondary {
    background-color: var(--od-secondary) !important;
}

.bg-shade {
    background-color: var(--od-gray-100) !important;
}

/* Text colors */
.text-primary {
    color: var(--od-primary) !important;
}

.text-secondary {
    color: var(--od-secondary) !important;
}

.color, .text-accent {
    color: var(--od-primary) !important;
}

/* ============================================
   Buttons
   ============================================ */
.btn-primary {
    background-color: var(--od-primary) !important;
    border-color: var(--od-primary) !important;
    color: var(--od-white) !important;
    transition: var(--od-transition);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--od-primary-dark) !important;
    border-color: var(--od-primary-dark) !important;
    box-shadow: var(--od-shadow-purple);
    transform: translateY(-2px);
}

.btn-primary:active {
    background-color: var(--od-primary-dark) !important;
    transform: translateY(0);
}

.btn-outline-primary {
    border-color: var(--od-primary) !important;
    color: var(--od-primary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--od-primary) !important;
    color: var(--od-white) !important;
}

.btn-secondary {
    background-color: var(--od-secondary) !important;
    border-color: var(--od-secondary) !important;
}

.btn-secondary:hover {
    background-color: var(--od-secondary-light) !important;
    border-color: var(--od-secondary-light) !important;
}

/* White/Light buttons for dark backgrounds */
.btn-light, .btn-white {
    background-color: var(--od-white);
    color: var(--od-primary);
    border-color: var(--od-white);
}

.btn-light:hover, .btn-white:hover {
    background-color: var(--od-gray-100) !important;
    border-color: var(--od-gray-100) !important;
    color: var(--od-primary-dark) !important;
}

.btn-light.text-primary:hover,
.btn-light.hover-text-primary:hover {
    color: var(--od-primary-dark) !important;
    background-color: var(--od-gray-100) !important;
}

.btn-link.text-primary:hover {
    color: var(--od-primary-dark) !important;
}

/* Hero signup section buttons */
.hero-signup .btn-light {
    background-color: var(--od-white);
    color: var(--od-primary);
    border-color: var(--od-white);
}

.hero-signup .btn-light:hover {
    background-color: var(--od-primary) !important;
    border-color: var(--od-primary) !important;
    color: var(--od-white) !important;
}

/* ============================================
   Header Styles
   ============================================ */
.header .top-bar {
    background-color: var(--od-primary) !important;
}

.header .top-bar a,
.header .top-bar span {
    color: rgba(255, 255, 255, 0.9);
}

.header .top-bar a:hover {
    color: var(--od-white);
}

.header-nav-wrapper {
    background-color: var(--od-white);
}

.header-sticky.is-sticky {
    box-shadow: var(--od-shadow-md);
}

.navbar-nav .nav-link {
    color: var(--od-gray-700);
    font-weight: 500;
    transition: var(--od-transition-fast);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: var(--od-primary);
}

.dropdown-menu {
    border: none;
    box-shadow: var(--od-shadow-lg);
    border-radius: 8px;
}

.dropdown-item:hover {
    background-color: rgba(101, 51, 147, 0.1);
    color: var(--od-primary);
}

/* ============================================
   Hero/Banner Sections
   ============================================ */
.hero-section,
.banner-sec,
.banner-sec2 {
    background-color: var(--od-gray-100);
}

.hero-section .badge-lg,
.banner-sec .badge-lg {
    background-color: var(--od-primary) !important;
}

/* ============================================
   Cards & Features
   ============================================ */
.feature-card {
    background: linear-gradient(135deg, var(--od-primary) 0%, var(--od-primary-dark) 100%);
    transition: var(--od-transition);
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--od-shadow-purple);
}

.feature-card .icon {
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--od-white);
}

.card {
    border: none;
    box-shadow: var(--od-shadow-sm);
    transition: var(--od-transition);
}

.card:hover {
    box-shadow: var(--od-shadow-md);
}

/* Service Cards */
.service-card {
    background: var(--od-white);
    border-radius: 12px;
    padding: 30px;
    text-align: center;
    transition: var(--od-transition);
    border: 1px solid var(--od-gray-200);
}

.service-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--od-shadow-lg);
    border-color: var(--od-primary);
}

.service-card .icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--od-primary) 0%, var(--od-primary-light) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--od-white);
    font-size: 32px;
}

/* ============================================
   Pricing Cards
   ============================================ */
.pricing-card {
    border: 2px solid var(--od-gray-200) !important;
    transition: var(--od-transition);
}

.pricing-card:hover,
.pricing-card.featured {
    border-color: var(--od-primary) !important;
    transform: translateY(-10px);
    box-shadow: var(--od-shadow-purple);
}

.pricing-card .badge-lg {
    background-color: var(--od-primary) !important;
}

.pricing-card.featured {
    position: relative;
}

.pricing-card.featured::before {
    content: 'Most Popular';
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--od-primary);
    color: var(--od-white);
    padding: 4px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

/* ============================================
   Stats/Counter Section
   ============================================ */
.stat-sec .stat-wrap {
    background: linear-gradient(135deg, var(--od-primary) 0%, var(--od-primary-dark) 100%) !important;
}

.stat-item .icon-lg {
    background-color: rgba(255, 255, 255, 0.2);
}

.stat-info .display-3 {
    color: var(--od-white);
}

/* ============================================
   Testimonials/Reviews
   ============================================ */
.review-card {
    background: var(--od-white);
    border-radius: 12px;
    padding: 30px;
    border: 1px solid var(--od-gray-200);
}

.review-card:hover {
    border-color: var(--od-primary);
    box-shadow: var(--od-shadow-md);
}

/* ============================================
   Footer
   ============================================ */
.footer {
    background-color: var(--od-secondary) !important;
}

.footer .widget-title {
    color: var(--od-white);
    font-weight: 600;
    margin-bottom: 20px;
}

.footer ul li a {
    color: var(--od-gray-400);
    transition: var(--od-transition-fast);
}

.footer ul li a:hover {
    color: var(--od-primary-light);
    padding-left: 5px;
}

.footer-social a {
    color: var(--od-gray-400);
    transition: var(--od-transition-fast);
}

.footer-social a:hover {
    color: var(--od-primary-light);
}

.footer-bottom {
    background-color: var(--od-primary) !important;
}

.footer .btn-primary {
    background: var(--od-primary-light) !important;
    border-color: var(--od-primary-light) !important;
}

.footer .btn-primary:hover {
    background: var(--od-primary) !important;
}

/* ============================================
   Forms
   ============================================ */
.form-control:focus {
    border-color: var(--od-primary);
    box-shadow: 0 0 0 3px rgba(101, 51, 147, 0.15);
}

.form-check-input:checked {
    background-color: var(--od-primary);
    border-color: var(--od-primary);
}

/* ============================================
   Badges & Labels
   ============================================ */
.badge-lg {
    background-color: var(--od-primary) !important;
    color: var(--od-white);
    font-weight: 500;
    padding: 8px 20px;
}

.badge-primary {
    background-color: var(--od-primary) !important;
}

/* ============================================
   Section Titles
   ============================================ */
.sec-title {
    font-weight: 700;
    color: var(--od-dark);
}

.sec-title .color {
    color: var(--od-primary) !important;
}

.sec-intro {
    margin-bottom: 40px;
}

/* ============================================
   Process/Steps Section
   ============================================ */
.process-step {
    text-align: center;
    padding: 30px 20px;
}

.process-step .step-number {
    width: 60px;
    height: 60px;
    background: var(--od-primary);
    color: var(--od-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    margin: 0 auto 20px;
}

.process-step .step-icon {
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, rgba(101, 51, 147, 0.1) 0%, rgba(101, 51, 147, 0.05) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--od-primary);
    font-size: 40px;
}

/* ============================================
   CTA Sections
   ============================================ */
.cta-section {
    background: linear-gradient(135deg, var(--od-primary) 0%, var(--od-primary-dark) 100%);
    padding: 80px 0;
}

.cta-section h2,
.cta-section p {
    color: var(--od-white);
}

.cta-section .btn-light {
    background: var(--od-white);
    color: var(--od-primary);
}

.cta-section .btn-light:hover,
.cta-section .btn-light:focus,
.cta-section .btn-light:active {
    background: var(--od-gray-100) !important;
    color: var(--od-primary-dark) !important;
    border-color: var(--od-gray-100) !important;
    transform: translateY(-2px);
}

/* ============================================
   Tracking Section
   ============================================ */
.tracking-form {
    background: var(--od-white);
    padding: 40px;
    border-radius: 12px;
    box-shadow: var(--od-shadow-lg);
}

.tracking-form .form-control {
    height: 56px;
    font-size: 16px;
    border-radius: 8px;
}

.tracking-form .btn {
    height: 56px;
    padding: 0 40px;
}

.tracking-timeline {
    position: relative;
    padding-left: 30px;
}

.tracking-timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--od-gray-200);
}

.tracking-timeline .timeline-item {
    position: relative;
    padding-bottom: 30px;
}

.tracking-timeline .timeline-item::before {
    content: '';
    position: absolute;
    left: -26px;
    top: 4px;
    width: 16px;
    height: 16px;
    background: var(--od-gray-300);
    border-radius: 50%;
    border: 3px solid var(--od-white);
}

.tracking-timeline .timeline-item.completed::before {
    background: var(--od-success);
}

.tracking-timeline .timeline-item.active::before {
    background: var(--od-primary);
    box-shadow: 0 0 0 4px rgba(101, 51, 147, 0.2);
}

/* ============================================
   Coverage/Map Section
   ============================================ */
.coverage-section {
    background: var(--od-gray-100);
}

.coverage-card {
    background: var(--od-white);
    padding: 25px;
    border-radius: 10px;
    text-align: center;
    transition: var(--od-transition);
}

.coverage-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--od-shadow-md);
}

.coverage-card .icon {
    color: var(--od-primary);
    font-size: 40px;
    margin-bottom: 15px;
}

/* ============================================
   FAQ Accordion
   ============================================ */
.accordion-button:not(.collapsed) {
    background-color: rgba(101, 51, 147, 0.1);
    color: var(--od-primary);
}

.accordion-button:focus {
    box-shadow: 0 0 0 3px rgba(101, 51, 147, 0.15);
    border-color: var(--od-primary);
}

.accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23653393'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* ============================================
   Brand/Partner Logos
   ============================================ */
.brand-sec {
    background: var(--od-primary) !important;
    padding: 30px 0;
}

.brand-item img {
    filter: brightness(0) invert(1);
    opacity: 0.7;
    transition: var(--od-transition);
}

.brand-item:hover img {
    opacity: 1;
}

/* ============================================
   Apply/CTA Cards
   ============================================ */
.apply-card {
    padding: 40px 30px;
    border-radius: 12px;
    transition: var(--od-transition);
}

.apply-card.bg-primary {
    background: linear-gradient(135deg, var(--od-primary) 0%, var(--od-primary-dark) 100%) !important;
}

.apply-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--od-shadow-lg);
}

/* ============================================
   Scroll to Top
   ============================================ */
.scroll-top {
    background: var(--od-primary);
}

.scroll-top:hover {
    background: var(--od-primary-dark);
}

/* ============================================
   Preloader
   ============================================ */
#preloader .preloader span {
    background-color: var(--od-primary);
}

/* ============================================
   Page Headers (Inner Pages)
   ============================================ */
.page-header,
.inner-header {
    background: linear-gradient(135deg, var(--od-primary) 0%, var(--od-primary-dark) 100%);
    padding: 100px 0 60px;
    text-align: center;
}

.page-header h1,
.inner-header h1 {
    color: var(--od-white);
    font-weight: 700;
}

.page-header .breadcrumb,
.inner-header .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

.page-header .breadcrumb-item + .breadcrumb-item::before,
.inner-header .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.5);
    content: "›";
    font-size: 1.2em;
    font-weight: 400;
    padding-right: 0.6rem;
}

.page-header .breadcrumb a,
.inner-header .breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color 0.2s ease;
}

.page-header .breadcrumb a:hover,
.inner-header .breadcrumb a:hover {
    color: #fff;
}

.page-header .breadcrumb-item.active,
.inner-header .breadcrumb-item.active {
    color: var(--od-white);
}

/* ============================================
   Responsive Adjustments
   ============================================ */
@media (max-width: 991px) {
    :root {
        --od-section-padding: 60px 0;
        --od-section-padding-sm: 40px 0;
    }

    .sec-title {
        font-size: 28px;
    }
}

@media (max-width: 767px) {
    .cta-section {
        padding: 60px 0;
    }

    .tracking-form {
        padding: 25px;
    }

    .service-card {
        padding: 25px 20px;
    }
}

/* ============================================
   Utility Classes
   ============================================ */
.bg-gradient-primary {
    background: linear-gradient(135deg, var(--od-primary) 0%, var(--od-primary-dark) 100%) !important;
}

.border-primary {
    border-color: var(--od-primary) !important;
}

.shadow-purple {
    box-shadow: var(--od-shadow-purple) !important;
}

.text-muted {
    color: var(--od-gray-500) !important;
}

/* Hover lift effect */
.hover-lift {
    transition: var(--od-transition);
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: var(--od-shadow-md);
}

/* Section padding utilities */
.sec-padding {
    padding: var(--od-section-padding);
}

.sec-padding-sm {
    padding: var(--od-section-padding-sm);
}

/* ============================================
   Google Places Autocomplete Dropdown
   ============================================ */
.pac-container {
    z-index: 10050 !important;
    background-color: var(--od-white);
    border: 1px solid var(--od-gray-200);
    border-radius: 8px;
    box-shadow: var(--od-shadow-md);
    margin-top: 4px;
    padding: 4px 0;
    font-family: var(--od-font-primary);
    overflow: hidden;
}

.pac-container::after {
    display: none !important;
}

.pac-item {
    padding: 8px 12px;
    border: none;
    border-bottom: 1px solid var(--od-gray-100);
    cursor: pointer;
    font-size: 13px;
    line-height: 1.5;
    color: var(--od-gray-700);
    transition: var(--od-transition-fast);
}

.pac-item:last-child {
    border-bottom: none;
}

.pac-item:hover,
.pac-item-selected {
    background-color: rgba(101, 51, 147, 0.08);
}

.pac-icon {
    margin-right: 10px;
    margin-top: 2px;
}

.pac-item-query {
    font-size: 13px;
    font-weight: 600;
    color: var(--od-secondary);
}

.pac-matched {
    font-weight: 700;
    color: var(--od-primary);
}

.pac-item span:last-child {
    font-size: 12px;
    color: var(--od-gray-500);
}
