/* ========================================================
   APEX RELOCATIONS UAE - META AI MUSE THEME SYSTEM
   Inspired by: https://ai.meta.com/muse/
   ======================================================== */
:root {
    /* Meta AI Signature Electric Blue (Dolly CTA & Brand Core) */
    --color-blue-primary: #0064E0;
    --color-blue-electric: #1877F2;
    --color-blue-light: #47A5FA;
    --color-blue-sky: #77A7FF;
    --color-blue-hover: #0143B5;
    --color-blue-pressed: #004BB9;
    --color-blue-glow: rgba(0, 100, 224, 0.45);
    --color-blue-tint: #E7F3FF;

    /* Muse AI Violet & Purple Spectrum */
    --color-muse-purple: #6441D2;
    --color-muse-grape: #9360F7;
    --color-muse-oculus: #A121CE;
    --color-muse-soft: #EEEDFD;
    --color-muse-glow: rgba(100, 65, 210, 0.45);

    /* Meta Muse Inverted Dark Surfaces & Obsidian Noir */
    --color-obsidian-950: #050505;
    --color-navy-900: #0A1317;
    --color-navy-850: #101B22;
    --color-navy-800: #1C2B33;
    --color-navy-700: #283943;

    /* Ice Cyan & High-Tech Ambient Highlights */
    --color-cyan-vibrant: #00D2FF;
    --color-cyan-glow: #38BDF8;
    --color-cyan-soft: rgba(0, 210, 255, 0.15);

    /* Golden Amber & Star Rating Accents */
    --color-gold-400: #FCD34D;
    --color-gold-500: #FBBF24;
    --color-gold-600: #F59E0B;
    --color-gold-glow: rgba(251, 191, 36, 0.35);

    /* Emerald Logistics & Verified Trust */
    --color-emerald-500: #10B981;
    --color-emerald-600: #059669;
    --color-emerald-soft: rgba(16, 185, 129, 0.15);
    --color-emerald-glow: rgba(16, 185, 129, 0.4);

    /* High-Tech Clean Canvas & Typography */
    --color-slate-50: #F6F9FA;
    --color-slate-100: #F1F4F7;
    --color-slate-200: #E6EBEF;
    --color-slate-300: #DADDE1;
    --color-slate-400: #94A3B8;
    --color-slate-500: #65676B;
    --color-slate-600: #5D6C7B;
    --color-slate-700: #334155;
    --color-slate-800: #1C2B33;
    --color-slate-900: #050505;
    --color-white: #FFFFFF;

    /* Meta AI Signature Gradients */
    --gradient-luxury-dark: linear-gradient(135deg, #0A1317 0%, #1C2B33 50%, #050505 100%);
    --gradient-sapphire: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    --gradient-meta-muse: linear-gradient(135deg, #0064E0 0%, #6441D2 50%, #9360F7 100%);
    --gradient-meta-electric: linear-gradient(135deg, #1877F2 0%, #00D2FF 100%);
    --gradient-gold: linear-gradient(135deg, #F59E0B 0%, #FBBF24 50%, #D97706 100%);
    --gradient-emerald: linear-gradient(135deg, #059669 0%, #10B981 100%);

    /* Elevation & Glassmorphism */
    --shadow-card: 0 12px 35px -8px rgba(10, 19, 23, 0.08), 0 0 1px 1px rgba(28, 43, 51, 0.05);
    --shadow-card-hover: 0 24px 50px -12px rgba(100, 65, 210, 0.22);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Plus Jakarta Sans', 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--color-slate-800);
    background-color: var(--color-slate-50);
    line-height: 1.6;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: all 0.2s ease;
}

.container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

.text-center { text-align: center; }
.text-orange { color: #0064E0; }
.text-red { color: #6441D2; }

/* FLOATING ACTIONS */
.trukker-whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: #10B981;
    color: #FFF;
    border-radius: 50px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 14px;
    box-shadow: 0 10px 25px rgba(16, 185, 129, 0.4);
    z-index: 999;
    transition: transform 0.2s;
}
.trukker-whatsapp-float:hover {
    transform: translateY(-3px) scale(1.02);
}
.trukker-whatsapp-float img {
    width: 24px;
    height: 24px;
}

.trukker-call-float {
    position: fixed;
    bottom: 84px;
    right: 24px;
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFF;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(0, 100, 224, 0.45);
    z-index: 999;
    transition: transform 0.2s;
}
.trukker-call-float:hover {
    transform: translateY(-3px) scale(1.05);
}

/* TOP BANNERS DISABLED */
.top-rta-announcement,
.top-promo-banner {
    display: none !important;
}

/* HEADER NAVBAR */
.trukker-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(10, 19, 23, 0.94);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.header-inner {
    max-width: 1360px;
    margin: 0 auto;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.site-logo img {
    width: 140px;
}
.desktop-menu .nav-list {
    display: flex;
    align-items: center;
    gap: 28px;
    list-style: none;
}
.nav-link {
    color: #FFF;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.nav-link:hover {
    color: #47A5FA;
}

/* Dropdown */
.dropdown-parent {
    position: relative;
}
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #0A1317;
    border-radius: 12px;
    padding: 10px 0;
    min-width: 220px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.6);
    border: 1px solid rgba(255,255,255,0.08);
    display: none;
    list-style: none;
}
.dropdown-parent:hover .dropdown-menu {
    display: block;
}
.dropdown-menu a {
    display: block;
    padding: 10px 20px;
    color: #E4E4E7;
    font-size: 13.5px;
    font-weight: 500;
}
.dropdown-menu a:hover {
    background: rgba(100, 65, 210, 0.15);
    color: #47A5FA;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}
.country-badge {
    background: rgba(255, 255, 255, 0.1);
    padding: 6px 12px;
    border-radius: 20px;
    color: #FFF;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}
.btn-primary-header {
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFF;
    padding: 9px 20px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 4px 15px rgba(0, 100, 224, 0.35);
    transition: all 0.25s;
}
.btn-primary-header:hover {
    background: linear-gradient(135deg, #0143B5 0%, #5334B8 100%);
    box-shadow: 0 6px 20px rgba(0, 100, 224, 0.5);
}

/* Mobile Toggle */
.mobile-toggle-btn {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
}
.mobile-toggle-btn .bar {
    width: 24px;
    height: 2px;
    background: #FFF;
    border-radius: 2px;
}
.mobile-drawer {
    display: none;
    background: #18181B;
    padding: 20px 24px;
}
.mobile-drawer.open {
    display: block;
}
.mobile-nav-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.mobile-link {
    color: #FFF;
    font-size: 15px;
    font-weight: 600;
    display: block;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* HERO SECTION */
.hero-section {
    position: relative;
    background-size: cover;
    background-position: center;
    padding: 135px 0 100px;
    color: #FFF;
}
.hero-has-video {
    position: relative;
    overflow: hidden;
    background: #0A1317;
}
.hero-video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}
.hero-video-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.94;
    filter: saturate(1.15) contrast(1.08) brightness(1.0);
    transition: opacity 0.5s ease;
}
.hero-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        rgba(10, 15, 30, 0.72) 0%,
        rgba(10, 15, 30, 0.52) 42%,
        rgba(10, 15, 30, 0.16) 72%,
        rgba(10, 15, 30, 0.38) 100%
    );
}
.hero-video-overlay::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 160px;
    background: linear-gradient(to bottom, transparent, rgba(11, 17, 32, 0.85));
    pointer-events: none;
}
.hero-live-location-badge {
    position: absolute;
    bottom: 24px;
    right: 32px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(10, 15, 30, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(251, 191, 36, 0.35);
    padding: 7px 16px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    color: #FBBF24;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}
.live-dot-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10B981;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
    animation: livePulseRadar 1.8s infinite;
}
@keyframes livePulseRadar {
    0% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.8);
    }
    70% {
        box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
    }
}
.hero-ambient-glow {
    position: absolute;
    top: -15%;
    left: -5%;
    width: 55%;
    height: 130%;
    background: radial-gradient(circle, rgba(251, 191, 36, 0.08) 0%, rgba(56, 189, 248, 0.06) 45%, transparent 70%);
    pointer-events: none;
    animation: auroraFloat 10s ease-in-out infinite alternate;
}
@keyframes auroraFloat {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(40px, 30px) scale(1.15); }
}
.hero-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.2fr 0.9fr;
    gap: 50px;
    align-items: center;
}
.hero-badge {
    background: rgba(37, 99, 235, 0.18);
    color: #38BDF8;
    border: 1px solid rgba(56, 189, 248, 0.45);
    padding: 7px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    display: inline-block;
    margin-bottom: 18px;
    box-shadow: 0 4px 18px rgba(37, 99, 235, 0.35);
    animation: floatBadge 3.5s ease-in-out infinite;
}
.hero-title {
    font-size: 52px;
    line-height: 1.15;
    font-weight: 800;
    margin-bottom: 18px;
    letter-spacing: -1px;
    color: #FFFFFF;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75);
}
.hero-title .text-accent {
    background: linear-gradient(135deg, #38BDF8 0%, #60A5FA 50%, #FBBF24 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 16px rgba(56, 189, 248, 0.5));
}
.hero-subtitle {
    font-size: 20px;
    color: #E2E8F0;
    margin-bottom: 24px;
    font-weight: 400;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
}
.hero-pricing-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(15, 23, 42, 0.85);
    border: 1px solid rgba(56, 189, 248, 0.4);
    padding: 10px 24px;
    border-radius: 50px;
    margin-bottom: 34px;
    box-shadow: 0 0 25px rgba(37, 99, 235, 0.35);
    animation: pulseGlow 3s infinite;
}
.hero-pricing-pill .price-prefix {
    color: #E2E8F0;
    font-size: 14.5px;
    font-weight: 600;
}
.hero-pricing-pill .price-value {
    color: #FBBF24;
    font-size: 26px;
    font-weight: 800;
    text-shadow: 0 0 15px rgba(251, 191, 36, 0.6);
}
.hero-stats-row {
    display: flex;
    align-items: center;
    gap: 24px;
}
.stat-item strong {
    display: block;
    font-size: 22px;
    color: #FFF;
    font-weight: 800;
}
.stat-item span {
    font-size: 12px;
    color: #94A3B8;
}
.stat-divider {
    width: 1px;
    height: 36px;
    background: rgba(255, 255, 255, 0.2);
}

/* HERO QUICK QUOTE FORM CARD */
.hero-form-card {
    background: #FFFFFF;
    border-radius: 24px;
    padding: 34px;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.2);
    color: #0F172A;
    position: relative;
    overflow: hidden;
}
.hero-form-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #0064E0, #6441D2, #00D2FF);
}
.form-header h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 6px;
    color: #0F172A;
}
.form-header p {
    font-size: 13.5px;
    color: #64748B;
    margin-bottom: 20px;
}
.form-group {
    margin-bottom: 16px;
}
.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #334155;
}
.form-input, .form-select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid #CBD5E1;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: all 0.2s;
    background: #FFF;
    color: #0F172A;
}
.form-input:focus, .form-select:focus {
    border-color: #0064E0;
    box-shadow: 0 0 0 3px rgba(0, 100, 224, 0.18);
}
.phone-input-wrap {
    display: flex;
    align-items: center;
    border: 1px solid #CBD5E1;
    border-radius: 10px;
    overflow: hidden;
    background: #FFF;
}
.phone-input-wrap:focus-within {
    border-color: #0064E0;
    box-shadow: 0 0 0 3px rgba(0, 100, 224, 0.18);
}
.country-code {
    padding: 12px 14px;
    background: #F1F5F9;
    font-size: 13.5px;
    font-weight: 700;
    color: #475569;
    border-right: 1px solid #CBD5E1;
}
.phone-field {
    border: none;
    border-radius: 0;
}
.phone-field:focus {
    box-shadow: none;
}
.btn-accent-full, .btn-orange-full {
    width: 100%;
    background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
    color: #FFF;
    border: none;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 10px 25px -4px rgba(37, 99, 235, 0.45);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-accent-full:hover, .btn-orange-full:hover {
    background: linear-gradient(135deg, #1D4ED8 0%, #1E40AF 100%);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -4px rgba(37, 99, 235, 0.6);
    color: #FFF;
}
.form-guarantee {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #64748B;
    margin-top: 14px;
    justify-content: center;
}

/* SECTION TITLES */
.section-header {
    margin-bottom: 48px;
}
.sub-badge {
    color: #6441D2;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
}
.section-title {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 12px;
}
.section-sub {
    font-size: 17px;
    color: #64748B;
    max-width: 680px;
    margin: 0 auto;
}

/* BOOKING WIZARD */
.section-booking-wizard {
    padding: 90px 0;
    background: #F6F9FA;
}
.booking-wizard-card {
    background: #FFFFFF;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 20px 45px -10px rgba(10, 19, 23, 0.08), 0 0 1px 1px rgba(28, 43, 51, 0.05);
    border: 1px solid #E2E8F0;
    position: relative;
}
.booking-wizard-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 40px;
    right: 40px;
    height: 3px;
    background: linear-gradient(90deg, #0064E0, #6441D2, #00D2FF);
    border-radius: 0 0 4px 4px;
}
.wizard-steps-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 38px;
    padding-bottom: 24px;
    border-bottom: 1px solid #E2E8F0;
}
.step-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #94A3B8;
}
.step-pill span {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #E2E8F0;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all 0.2s;
}
.step-pill.active {
    color: #6441D2;
}
.step-pill.active span {
    background: linear-gradient(135deg, #0064E0, #6441D2);
    color: #FFF;
    box-shadow: 0 0 0 4px rgba(100, 65, 210, 0.2);
}
.step-connector {
    flex: 1;
    height: 2px;
    background: #E2E8F0;
    margin: 0 16px;
}

.wizard-step-pane {
    display: none;
}
.wizard-step-pane.active {
    display: block;
    animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.step-heading {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #0F172A;
}

/* Property Selection Grid */
.property-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}
.property-card {
    border: 2px solid #E2E8F0;
    border-radius: 16px;
    padding: 28px;
    cursor: pointer;
    transition: all 0.25s;
    text-align: center;
    background: #FFFFFF;
}
.property-card:hover {
    border-color: #9360F7;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px -5px rgba(100, 65, 210, 0.15);
}
.property-card.active {
    border-color: #6441D2;
    background: #EEEDFD;
    box-shadow: 0 12px 30px -5px rgba(100, 65, 210, 0.22);
}
.property-icon {
    margin-bottom: 16px;
    color: #0064E0;
}
.property-card h4 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 8px;
    color: #0F172A;
}
.property-card p {
    font-size: 13.5px;
    color: #64748B;
    margin-bottom: 16px;
}
.selection-check {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: #6441D2;
    padding: 4px 14px;
    border-radius: 20px;
    background: rgba(100, 65, 210, 0.14);
}

/* Size Selector Grid */
.size-selector-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}
.size-btn {
    padding: 10px 18px;
    border-radius: 12px;
    border: 1px solid #CBD5E1;
    background: #FFF;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    color: #334155;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 105px;
}
.size-btn:hover {
    border-color: #6441D2;
    color: #6441D2;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(100, 65, 210, 0.12);
}
.size-btn.active {
    background: linear-gradient(135deg, #0A1317, #1C2B33);
    color: #FFF;
    border-color: #9360F7;
    box-shadow: 0 6px 18px rgba(100, 65, 210, 0.25);
}
.size-price-tag {
    font-size: 11px;
    font-weight: 700;
    color: #D97706;
    letter-spacing: 0.2px;
    transition: color 0.2s;
}
.size-btn.active .size-price-tag {
    color: #C4B5FD;
}

.route-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 18px;
}

.step-nav-footer {
    margin-top: 34px;
    padding-top: 20px;
    border-top: 1px solid #E2E8F0;
    display: flex;
    justify-content: flex-end;
}
.flex-between {
    justify-content: space-between !important;
}

.btn-wizard-next, .btn-wizard-back {
    padding: 12px 26px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: all 0.2s;
}
.btn-wizard-next {
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFF;
    box-shadow: 0 4px 15px rgba(0, 100, 224, 0.35);
}
.btn-wizard-next:hover {
    background: linear-gradient(135deg, #0143B5 0%, #5334B8 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0, 100, 224, 0.5);
}
.btn-wizard-back {
    background: #E2E8F0;
    color: #334155;
}
.btn-wizard-back:hover {
    background: #CBD5E1;
}

/* PLANS GRID */
.plans-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 24px;
}
.plan-card {
    position: relative;
    border: 2px solid #E2E8F0;
    border-radius: 20px;
    padding: 30px;
    background: #FFF;
    cursor: pointer;
    transition: all 0.25s;
    display: flex;
    flex-direction: column;
}
.plan-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -10px rgba(100, 65, 210, 0.15);
    border-color: #9360F7;
}
.plan-card.active {
    border-color: #6441D2;
    box-shadow: 0 20px 45px -8px rgba(100, 65, 210, 0.22);
}
/* White-Glove VIP Card Distinction */
.plan-card:last-child {
    border-color: rgba(100, 65, 210, 0.35);
}
.plan-card:last-child:hover, .plan-card:last-child.active {
    border-color: #6441D2;
    box-shadow: 0 20px 45px -8px rgba(100, 65, 210, 0.25);
}
.plan-card:last-child .plan-badge-top {
    color: #6441D2;
}
.popular-ribbon {
    position: absolute;
    top: -12px;
    right: 20px;
    background: linear-gradient(135deg, #0064E0, #6441D2);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: 20px;
    letter-spacing: 0.6px;
    box-shadow: 0 4px 14px rgba(100, 65, 210, 0.4);
}
.plan-badge-top {
    font-size: 11px;
    font-weight: 800;
    color: #64748B;
    letter-spacing: 1px;
    margin-bottom: 4px;
}
.plan-title {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 12px;
    color: #0F172A;
}
.plan-pricing {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 20px;
}
.plan-pricing .currency {
    font-size: 14px;
    font-weight: 700;
    color: #64748B;
}
.plan-pricing .amount {
    font-size: 34px;
    font-weight: 800;
    color: #0F172A;
}
.strike-price {
    font-size: 14px;
    color: #94A3B8;
}
.plan-features {
    list-style: none;
    margin-bottom: 24px;
    flex: 1;
}
.plan-features li {
    font-size: 13.5px;
    margin-bottom: 10px;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 8px;
}
.plan-features li.dimmed {
    color: #94A3B8;
    text-decoration: line-through;
    opacity: 0.7;
}
.btn-choose-plan {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #CBD5E1;
    background: #FFF;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    color: #334155;
}
.btn-choose-plan:hover {
    border-color: #6441D2;
    color: #6441D2;
}
.plan-card.active .btn-choose-plan, .btn-choose-plan.btn-orange-fill {
    background: linear-gradient(135deg, #0064E0, #6441D2);
    color: #FFF;
    border-color: #0064E0;
    box-shadow: 0 6px 18px rgba(0, 100, 224, 0.35);
}

/* STEP 4 CONFIRM GRID */
.confirm-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 30px;
}
.confirm-summary-box {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 18px;
    padding: 26px;
}
.confirm-summary-box h4 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 16px;
}
.summary-line {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    margin-bottom: 10px;
    color: #475569;
}
.summary-line strong {
    color: #0F172A;
}
.summary-hr {
    border: none;
    border-top: 1px solid #E2E8F0;
    margin: 16px 0;
}
.summary-total-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 800;
}
.total-price {
    font-size: 26px;
    font-weight: 800;
    color: #0064E0;
}
.promo-code-input-wrap {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}
.promo-input {
    flex: 1;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #CBD5E1;
    font-size: 13.5px;
    text-transform: uppercase;
    font-weight: 600;
    color: #0F172A;
}
.btn-promo-apply {
    padding: 10px 16px;
    background: #0F172A;
    color: #FFF;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}
.btn-promo-apply:hover {
    background: #6441D2;
}
.promo-msg {
    font-size: 12px;
    margin-bottom: 14px;
}
.btn-confirm-booking {
    width: 100%;
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFF;
    border: none;
    padding: 16px;
    border-radius: 12px;
    font-size: 16.5px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 25px -4px rgba(0, 100, 224, 0.45);
    transition: all 0.25s;
    letter-spacing: 0.3px;
}
.btn-confirm-booking:hover {
    background: linear-gradient(135deg, #0143B5 0%, #5334B8 100%);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -4px rgba(0, 100, 224, 0.6);
}
.summary-note {
    font-size: 12px;
    color: #64748B;
    text-align: center;
    margin-top: 12px;
}

/* SECTION PROCESS & RTA */
.section-process-rta {
    padding: 90px 0;
    background: #FFF;
}
.rta-banner-card {
    background: linear-gradient(135deg, #0A1317 0%, #1C2B33 50%, #0A1317 100%);
    border: 1px solid rgba(100, 65, 210, 0.3);
    border-radius: 28px;
    padding: 50px;
    color: #FFF;
    display: grid;
    grid-template-columns: 1.3fr 0.9fr;
    gap: 40px;
    align-items: center;
    box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.6);
    position: relative;
    overflow: hidden;
}
.rta-banner-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(100, 65, 210, 0.25) 0%, transparent 70%);
    pointer-events: none;
}
.rta-badge {
    background: rgba(100, 65, 210, 0.18);
    border: 1px solid rgba(147, 96, 247, 0.4);
    color: #C4B5FD;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    display: inline-block;
    margin-bottom: 16px;
}
.rta-title {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 18px;
    color: #FFFFFF;
}
.rta-description {
    font-size: 15px;
    color: #CBD5E1;
    margin-bottom: 16px;
    line-height: 1.6;
}
.rta-description strong {
    color: #FFFFFF;
}
.rta-highlights-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 24px;
}
.rta-highlight-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: #E2E8F0;
}
.hl-check {
    color: #10B981;
    font-weight: bold;
    font-size: 16px;
}
.rta-img {
    border-radius: 18px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.5);
}

/* SECTION MOVE SMARTER */
.section-move-smarter {
    padding: 90px 0;
    background: #F8FAFC;
}
.smart-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}
.feature-card {
    background: #FFF;
    border: 1px solid #E2E8F0;
    border-radius: 18px;
    padding: 28px;
    transition: all 0.25s;
}
.feature-card:hover {
    border-color: rgba(100, 65, 210, 0.35);
    box-shadow: 0 10px 25px rgba(100, 65, 210, 0.1);
    transform: translateY(-3px);
}
.feat-icon-box {
    font-size: 32px;
    margin-bottom: 16px;
}
.feature-card h3 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 8px;
}
.feature-card p {
    font-size: 13.5px;
    color: #64748B;
}

/* CTA BANNER */
.section-cta-banner {
    padding: 100px 0;
    background-size: cover;
    background-position: center;
    color: #FFF;
}
.section-cta-banner h2 {
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 14px;
}
.section-cta-banner p {
    font-size: 18px;
    color: #CBD5E1;
    max-width: 650px;
    margin: 0 auto 30px;
}
.btn-orange-lg {
    display: inline-block;
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFF;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(0, 100, 224, 0.4);
    transition: all 0.25s;
}
.btn-orange-lg:hover {
    background: linear-gradient(135deg, #0143B5 0%, #5334B8 100%);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 100, 224, 0.55);
}

/* OUR SERVICES */
.section-our-services {
    padding: 90px 0;
    background: #FFF;
}
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
}
.service-card {
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    overflow: hidden;
    background: #FFF;
    transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
}
.service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 100, 224, 0.35);
    box-shadow: 0 20px 40px rgba(0, 100, 224, 0.12);
}
.service-img-wrap {
    position: relative;
    height: 200px;
    overflow: hidden;
}
.service-img-anchor {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}
.service-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-card:hover .service-img-wrap img {
    transform: scale(1.06);
}
.service-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(10, 19, 23, 0.88);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #FFF;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    z-index: 2;
    pointer-events: none;
}
.service-info {
    padding: 24px;
}
.service-info h3 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 8px;
    line-height: 1.3;
}
.service-title-anchor {
    color: #0F172A;
    text-decoration: none;
    transition: color 0.2s ease;
}
.service-title-anchor:hover,
.service-card:hover .service-title-anchor {
    color: #0064E0;
}
.service-info p {
    font-size: 13.5px;
    color: #64748B;
    margin-bottom: 18px;
    line-height: 1.55;
}
.service-link {
    font-size: 13.5px;
    font-weight: 700;
    color: #0064E0;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
}
.service-link:hover,
.service-card:hover .service-link {
    color: #004db0;
    transform: translateX(3px);
}

/* NEXT GEN PILLARS */
.section-next-gen {
    padding: 90px 0;
    background: #0A1317;
    color: #FFF;
}
.section-next-gen .section-sub {
    color: #94A3B8;
}
.next-gen-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}
.next-gen-card {
    background: #101B22;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 30px;
    transition: all 0.2s;
}
.next-gen-card:hover {
    border-color: rgba(100, 65, 210, 0.4);
    box-shadow: 0 10px 25px rgba(100, 65, 210, 0.15);
    transform: translateY(-3px);
}
.card-icon-box {
    font-size: 32px;
    margin-bottom: 16px;
}
.next-gen-card h3 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 10px;
}
.next-gen-card p {
    font-size: 13.5px;
    color: #94A3B8;
    line-height: 1.5;
}

/* TESTIMONIALS */
.section-reviews {
    padding: 90px 0;
    background: #FFF;
}
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
}
.review-card {
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    padding: 30px;
    background: #F8FAFC;
    transition: all 0.25s;
}
.review-card:hover {
    border-color: rgba(100, 65, 210, 0.35);
    box-shadow: 0 12px 30px rgba(100, 65, 210, 0.1);
}
.rating-stars {
    color: #F59E0B;
    font-size: 18px;
    margin-bottom: 14px;
}
.review-text {
    font-size: 14px;
    color: #334155;
    font-style: italic;
    margin-bottom: 20px;
    line-height: 1.6;
}
.reviewer-meta {
    display: flex;
    align-items: center;
    gap: 12px;
}
.avatar-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0064E0, #6441D2);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 15px;
    box-shadow: 0 4px 12px rgba(100, 65, 210, 0.3);
}
.reviewer-meta strong {
    display: block;
    font-size: 14px;
    color: #0F172A;
}
.reviewer-meta span {
    font-size: 12px;
    color: #64748B;
}

/* FAQ ACCORDION */
.section-faqs {
    padding: 90px 0;
    background: #F8FAFC;
}
.faq-accordion-wrap {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.faq-item {
    background: #FFF;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.2s;
}
.faq-item[open] {
    border-color: #6441D2;
    box-shadow: 0 4px 18px rgba(100, 65, 210, 0.12);
}
.faq-question {
    padding: 18px 22px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    user-select: none;
}
.faq-question::-webkit-details-marker {
    display: none;
}
.faq-arrow {
    transition: transform 0.25s;
    color: #94A3B8;
}
.faq-item[open] .faq-arrow {
    transform: rotate(180deg);
    color: #6441D2;
}
.faq-answer {
    padding: 0 22px 20px;
    font-size: 14.5px;
    color: #475569;
    line-height: 1.6;
}

/* FOOTER */
.trukker-footer {
    position: relative;
    background: #0A1317;
    color: #FFF;
    padding: 80px 0 40px;
    overflow: hidden;
}
.footer-glow {
    position: absolute;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: #6441D2;
    filter: blur(140px);
    opacity: 0.2;
    pointer-events: none;
}
.glow-left { left: -100px; bottom: -100px; }
.glow-right { right: -100px; top: -100px; }

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    align-items: start;
}
.footer-nav-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.link-column h4 {
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 16px;
    color: #F8FAFC;
}
.link-column ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.link-column a {
    color: #94A3B8;
    font-size: 13.5px;
}
.link-column a:hover {
    color: #47A5FA;
}
.footer-center-col {
    text-align: center;
}
.award-badges {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 24px;
}
.badge-img {
    height: 55px;
    object-contain: fit;
}
.social-box h3 {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 6px;
}
.social-box p {
    font-size: 12.5px;
    color: #94A3B8;
    margin-bottom: 16px;
}
.social-icons {
    display: flex;
    justify-content: center;
    gap: 14px;
}
.social-icon-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}
.social-icon-btn:hover {
    background: linear-gradient(135deg, #0064E0, #6441D2);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 100, 224, 0.4);
}
.footer-right-col {
    text-align: right;
}
.footer-logo {
    width: 150px;
    margin-left: auto;
    margin-bottom: 16px;
}
.company-statement {
    color: #94A3B8;
    font-size: 13px;
    margin-bottom: 16px;
}
.company-statement strong {
    color: #FFF;
    font-size: 15px;
}
.copyright-line {
    font-size: 11.5px;
    color: #64748B;
}

/* MODAL */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    padding: 20px;
}
.modal-box {
    background: #FFF;
    border-radius: 24px;
    padding: 40px;
    max-width: 480px;
    width: 100%;
    text-align: center;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
    animation: modalPop 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes modalPop {
    from { transform: scale(0.9); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}
.modal-icon-wrap {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(100, 65, 210, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}
.modal-title {
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 8px;
}
.modal-desc {
    font-size: 15px;
    color: #64748B;
    margin-bottom: 24px;
}
.booking-ticket-box {
    background: #F1F5F9;
    border: 2px dashed #CBD5E1;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
}
.ticket-label {
    display: block;
    font-size: 12px;
    color: #64748B;
    font-weight: 700;
    text-transform: uppercase;
}
.ticket-id {
    font-size: 26px;
    font-weight: 800;
    color: #0064E0;
    letter-spacing: 1px;
}
.modal-note {
    font-size: 13px;
    color: #475569;
    margin-bottom: 24px;
}
.btn-primary-modal {
    width: 100%;
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFF;
    border: none;
    padding: 14px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    margin-bottom: 14px;
    box-shadow: 0 4px 15px rgba(0, 100, 224, 0.4);
    transition: all 0.25s;
}
.btn-primary-modal:hover {
    background: linear-gradient(135deg, #0143B5 0%, #5334B8 100%);
    box-shadow: 0 6px 20px rgba(0, 100, 224, 0.55);
}
.modal-footer-contact {
    font-size: 12px;
    color: #64748B;
}

/* RESPONSIVE BREAKPOINTS */
@media (max-width: 1024px) {
    .desktop-menu { display: none; }
    .mobile-toggle-btn { display: flex; }
    .hero-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .hero-title { font-size: 40px; }
    .rta-banner-card {
        grid-template-columns: 1fr;
        padding: 30px;
    }
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer-right-col {
        text-align: center;
    }
    .footer-logo {
        margin: 0 auto 16px;
    }
    .confirm-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .hero-title { font-size: 32px; }
    .section-title { font-size: 28px; }
    .route-grid { grid-template-columns: 1fr; }
    .wizard-steps-bar { font-size: 12px; }
    .step-pill span { width: 22px; height: 22px; font-size: 11px; }
    .booking-wizard-card { padding: 24px; }
}

/* ========================================================
   HIGH-END ANIMATION SUITE FOR TRUKKER MOVERS
   ======================================================== */
@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 15px rgba(37, 99, 235, 0.35); }
    50% { box-shadow: 0 0 35px rgba(37, 99, 235, 0.75); }
}

@keyframes truckDrive {
    0% { transform: translateX(0); }
    50% { transform: translateX(25px); }
    100% { transform: translateX(0); }
}

@keyframes floatBadge {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@keyframes pulsePing {
    0% { transform: scale(0.95); opacity: 0.8; }
    50% { transform: scale(1.15); opacity: 0.3; }
    100% { transform: scale(0.95); opacity: 0.8; }
}

@keyframes numberPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.18); color: #2563EB; }
    100% { transform: scale(1); }
}

/* Scroll Reveal States */
.reveal-item {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.reveal-item.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* Enhanced Hero Animations */
.hero-badge {
    animation: floatBadge 3.5s ease-in-out infinite;
    display: inline-block;
}

.hero-pricing-pill {
    animation: pulseGlow 3s infinite;
}

.btn-orange-full, .btn-primary-header, .btn-wizard-next, .btn-choose-plan {
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-orange-full:hover, .btn-primary-header:hover, .btn-wizard-next:hover, .btn-choose-plan:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.45);
}

/* 3D Interactive Card Hover Lifts */
.property-card, .plan-card, .service-card, .review-card, .stat-item {
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.35s ease;
}

.property-card:hover, .plan-card:hover, .service-card:hover, .review-card:hover, .stat-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.08);
}

/* Pulsing WhatsApp Ping */
.trukker-whatsapp-float::before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border-radius: 50px;
    border: 2px solid #25D366;
    animation: pulsePing 2s infinite;
    pointer-events: none;
}

/* Animated Moving Truck Route Component */
.truck-transit-box {
    background: rgba(15, 23, 42, 0.82);
    border: 1px solid rgba(56, 189, 248, 0.28);
    border-radius: 16px;
    padding: 18px 22px;
    margin-top: 24px;
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.truck-transit-header {
    display: flex;
    justify-content: space-between;
    font-size: 12.5px;
    color: #CBD5E1;
    margin-bottom: 14px;
    font-weight: 600;
}

.truck-transit-header .status-tag {
    color: #38BDF8;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 7px;
    background: rgba(56, 189, 248, 0.12);
    padding: 3px 10px;
    border-radius: 12px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

.truck-transit-header .status-tag::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #38BDF8;
    animation: pulsePing 1.5s infinite;
}

.truck-transit-track {
    position: relative;
    height: 38px;
    display: flex;
    align-items: center;
}

.truck-transit-line {
    position: absolute;
    left: 10px;
    right: 10px;
    height: 4px;
    background: repeating-linear-gradient(90deg, #2563EB, #2563EB 10px, transparent 10px, transparent 20px);
    border-radius: 4px;
}

.truck-dot-origin, .truck-dot-dest {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    z-index: 2;
}

.truck-dot-origin {
    left: 4px;
    background: #10B981;
    box-shadow: 0 0 12px rgba(16, 185, 129, 0.8);
}

.truck-dot-dest {
    right: 4px;
    background: #F59E0B;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.8);
}

.truck-moving-icon {
    position: absolute;
    left: 48%;
    transform: translateX(-50%);
    animation: truckDrive 3s ease-in-out infinite;
    background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
    color: #FFF;
    border-radius: 10px;
    padding: 7px 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.6);
    z-index: 3;
}

.price-pop {
    animation: numberPop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}



/* ========================================================
   APEX RELOCATIONS UAE BRAND OVERRIDES - META AI MUSE
   ======================================================== */
.text-accent { color: #0064E0 !important; }
.text-gold { color: #F59E0B !important; }
.text-emerald { color: #10B981 !important; }

/* Top Announcement Bar */
/* ========================================================
   APEX ULTRA-PREMIUM PROMOTIONAL TOP BANNER
   ======================================================== */
.top-promo-banner {
    position: relative;
    background: linear-gradient(90deg, #0A1317 0%, #17183B 30%, #251B5A 50%, #17183B 70%, #0A1317 100%);
    color: #FFFFFF;
    border-bottom: 1px solid rgba(100, 65, 210, 0.35);
    padding: 8px 16px;
    font-size: 12.5px;
    overflow: hidden;
    z-index: 1002;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

.banner-shimmer {
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.12),
        rgba(147, 96, 247, 0.3),
        transparent
    );
    transform: skewX(-25deg);
    animation: topBannerShimmer 6s infinite ease-in-out;
    pointer-events: none;
}

@keyframes topBannerShimmer {
    0% { left: -150%; }
    50% { left: 180%; }
    100% { left: 180%; }
}

.banner-inner-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: relative;
    z-index: 2;
}

.banner-left-content {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.banner-promo-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #EF4444, #DC2626);
    color: #FFFFFF;
    font-size: 10.5px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 6px;
    letter-spacing: 0.6px;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
    animation: firePulse 2s infinite alternate;
}

@keyframes firePulse {
    0% { transform: scale(1); }
    100% { transform: scale(1.04); }
}

.banner-offer-text {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #E2E8F0;
    font-weight: 500;
}

.banner-offer-text strong {
    color: #FFFFFF;
    font-weight: 700;
}

.highlight-discount {
    color: #FBBF24;
    font-weight: 800;
    text-shadow: 0 0 10px rgba(251, 191, 36, 0.4);
}

.coupon-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(100, 65, 210, 0.15);
    border: 1px dashed rgba(147, 96, 247, 0.4);
    color: #C4B5FD;
    padding: 2px 8px;
    border-radius: 5px;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.2s;
}

.coupon-chip:hover {
    background: rgba(100, 65, 210, 0.35);
    border-color: #9360F7;
    color: #FFFFFF;
    transform: scale(1.03);
}

/* Timer Box */
.banner-timer-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 0, 0, 0.4);
    padding: 3px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.timer-label {
    font-size: 11px;
    color: #94A3B8;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.countdown-clock {
    display: flex;
    align-items: center;
    gap: 3px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.clock-unit {
    display: inline-flex;
    align-items: baseline;
    gap: 1px;
    background: rgba(100, 65, 210, 0.25);
    border: 1px solid rgba(147, 96, 247, 0.35);
    padding: 1px 4px;
    border-radius: 4px;
    font-size: 11.5px;
    font-weight: 800;
    color: #F8FAFC;
}

.clock-unit small {
    font-size: 9px;
    color: #C4B5FD;
    text-transform: lowercase;
}

.clock-sep {
    color: #9360F7;
    font-weight: 700;
    font-size: 11px;
}

/* Actions Right */
.banner-right-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-banner-claim {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFFFFF;
    font-size: 11.5px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 6px;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0, 100, 224, 0.4);
    transition: all 0.25s;
    white-space: nowrap;
}

.btn-banner-claim:hover {
    background: linear-gradient(135deg, #0143B5 0%, #5334B8 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0, 100, 224, 0.6);
    color: #FFFFFF;
}

.banner-quick-wa {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #E2E8F0;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
}

.banner-quick-wa:hover {
    background: #10B981;
    border-color: #10B981;
    color: #FFFFFF;
}

.btn-banner-close {
    background: none;
    border: none;
    color: #94A3B8;
    font-size: 14px;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: color 0.2s, background 0.2s;
}

.btn-banner-close:hover {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.1);
}

@media (max-width: 991px) {
    .banner-timer-wrap {
        display: none;
    }
}

@media (max-width: 768px) {
    .top-promo-banner {
        padding: 8px 12px;
    }
    .banner-inner-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .banner-offer-text {
        font-size: 11.5px;
    }
    .banner-right-actions {
        width: 100%;
        justify-content: space-between;
    }
}

/* ========================================================
   TRUKKER VIP FLOATING ISLAND HEADER SYSTEM
   ======================================================== */
.trukker-vip-header-wrap {
    position: fixed;
    top: 20px;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    padding: 0 24px;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.trukker-vip-nav-island {
    pointer-events: auto;
    max-width: 1480px;
    margin: 0 auto;
    border-radius: 20px;
    background: rgba(10, 15, 24, 0.88);
    backdrop-filter: blur(24px) saturate(190%);
    -webkit-backdrop-filter: blur(24px) saturate(190%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    padding: 10px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    position: relative;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Island Top Subtle Accent Line */
.trukker-vip-nav-island::before {
    content: "";
    position: absolute;
    top: 0;
    left: 30px;
    right: 30px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 90, 31, 0.6) 30%, rgba(251, 191, 36, 0.6) 70%, transparent 100%);
    pointer-events: none;
}

/* Brand Logo */
.trukker-brand-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    transition: transform 0.25s ease;
}
.trukker-brand-logo:hover {
    transform: translateY(-1px);
}
.trukker-logo-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    filter: drop-shadow(0 4px 12px rgba(255, 90, 31, 0.45));
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.trukker-brand-logo:hover .trukker-logo-mark {
    transform: scale(1.06) rotate(-2deg);
}
.trukker-logo-text {
    display: flex;
    flex-direction: column;
}
.t-main {
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 2px;
    color: #FFFFFF;
    line-height: 1;
    display: flex;
    align-items: center;
}
.t-dot {
    color: #FF5A1F;
    font-size: 24px;
    line-height: 0.5;
    margin-left: 2px;
    animation: livePulse 2s infinite ease-in-out;
}
.t-sub {
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: 1.8px;
    color: #FF5A1F;
    margin-top: 4px;
    text-transform: uppercase;
}

/* Desktop Navigation */
.trukker-desktop-menu .trukker-nav-list {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.trukker-nav-item {
    position: relative;
}
.trukker-nav-link {
    color: #F1F5F9;
    font-size: 13.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 8px 14px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
}
.trukker-nav-link:hover {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.08);
}
.trukker-nav-link .chevron-icon {
    color: #94A3B8;
    transition: transform 0.25s ease, color 0.2s ease;
}
.dropdown-parent:hover .trukker-nav-link .chevron-icon {
    transform: rotate(180deg);
    color: #FF5A1F;
}

/* Nav Micro Badges */
.nav-badge-fast {
    font-size: 9.5px;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 12px;
    background: rgba(255, 90, 31, 0.18);
    color: #FF7A45;
    border: 1px solid rgba(255, 90, 31, 0.4);
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.nav-rating-pill {
    font-size: 10px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 12px;
    background: rgba(234, 179, 8, 0.15);
    color: #FBBF24;
    border: 1px solid rgba(234, 179, 8, 0.35);
    text-transform: uppercase;
}

/* Rich Mega-Glass Dropdown */
.dropdown-menu-wrapper {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding-top: 14px;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1050;
}
.dropdown-parent:hover .dropdown-menu-wrapper {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
.dropdown-menu-glass {
    background: rgba(10, 15, 24, 0.98);
    backdrop-filter: blur(28px) saturate(200%);
    -webkit-backdrop-filter: blur(28px) saturate(200%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    padding: 16px;
    min-width: 380px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.85), 0 0 35px rgba(255, 90, 31, 0.15);
}
.dropdown-header-tag {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #FF5A1F;
    padding: 4px 8px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 8px;
    text-transform: uppercase;
}
.dropdown-menu-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.dropdown-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.dropdown-card:hover {
    background: rgba(255, 90, 31, 0.12);
    transform: translateX(4px);
}
.dropdown-icon-box {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
.dropdown-card:hover .dropdown-icon-box {
    background: rgba(255, 90, 31, 0.22);
    border-color: rgba(255, 90, 31, 0.45);
    transform: scale(1.08);
}
.dropdown-card-text {
    display: flex;
    flex-direction: column;
}
.dropdown-card-text strong {
    font-size: 13.5px;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.25;
}
.dropdown-card-text span {
    font-size: 11.5px;
    color: #94A3B8;
    margin-top: 2px;
}

/* Right Header Actions (TruKKer style) */
.trukker-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Country Badge UAE */
.trukker-country-pill {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 12px;
    font-weight: 800;
    color: #FFFFFF;
    letter-spacing: 0.5px;
    white-space: nowrap;
    transition: all 0.2s ease;
    cursor: default;
}
.trukker-country-pill:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}
.flag-icon {
    font-size: 14px;
    line-height: 1;
}
.country-name {
    font-weight: 800;
}
.active-pulse-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10B981;
    box-shadow: 0 0 10px #10B981;
    animation: livePulse 2s infinite;
}

/* 24/7 Direct Call Pill */
.trukker-call-pill {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 15px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 12.5px;
    font-weight: 800;
    color: #FFFFFF;
    text-decoration: none;
    transition: all 0.25s ease;
    white-space: nowrap;
}
.trukker-call-pill:hover {
    background: rgba(255, 90, 31, 0.18);
    border-color: rgba(255, 90, 31, 0.5);
    color: #FF7A45;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(255, 90, 31, 0.25);
}

/* VIP TruKKer CTA Button */
.trukker-vip-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #FF5A1F 0%, #E04810 100%);
    color: #FFFFFF;
    padding: 10px 20px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 6px 20px rgba(255, 90, 31, 0.45);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap;
    position: relative;
    overflow: hidden;
}
.trukker-vip-cta-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: skewX(-20deg);
    transition: left 0.55s ease;
}
.trukker-vip-cta-btn:hover::before {
    left: 140%;
}
.trukker-vip-cta-btn:hover {
    background: linear-gradient(135deg, #FF3D00 0%, #C43606 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(255, 90, 31, 0.65), 0 0 20px rgba(255, 90, 31, 0.35);
    color: #FFFFFF;
}

/* Mobile Toggle Button */
.mobile-toggle-btn {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 12px;
    cursor: pointer;
    gap: 5px;
    transition: all 0.2s ease;
}
.mobile-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.15);
}
.mobile-toggle-btn .bar {
    width: 20px;
    height: 2px;
    background: #FFFFFF;
    border-radius: 2px;
    transition: all 0.25s ease;
}

/* Mobile Drawer (Floats below Island) */
.mobile-drawer {
    display: none;
    pointer-events: auto;
    max-width: 1480px;
    margin: 10px auto 0;
    background: rgba(10, 15, 24, 0.98);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    padding: 20px 22px 24px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
}
.mobile-drawer.open {
    display: block;
    animation: slideDownNav 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes slideDownNav {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
.mobile-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.mob-country {
    background: rgba(255, 255, 255, 0.05);
    padding: 5px 12px;
    font-size: 11px;
}
.mobile-status-note {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #10B981;
}
.mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mobile-link {
    color: #E2E8F0;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 14px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.mobile-link:hover {
    background: rgba(255, 90, 31, 0.14);
    color: #FFFFFF;
}
.mob-pill {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 10px;
    background: rgba(255, 90, 31, 0.2);
    color: #FF7A45;
}
.mobile-drawer-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.mob-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.mob-call {
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.mob-wa {
    background: #10B981;
    color: #FFFFFF;
}

/* Header Responsive Queries */
@media (max-width: 1120px) {
    .trukker-desktop-menu { display: none; }
    .mobile-toggle-btn { display: flex; }
}
@media (max-width: 768px) {
    .trukker-vip-header-wrap { top: 12px; padding: 0 12px; }
    .trukker-vip-nav-island { padding: 8px 14px; border-radius: 16px; }
    .trukker-country-pill { display: none; }
    .trukker-call-pill { display: none; }
    .trukker-vip-cta-btn { padding: 8px 14px; font-size: 11.5px; border-radius: 11px; }
    .t-main { font-size: 18px; }
    .t-sub { font-size: 7.5px; }
    .hero-section { padding-top: 110px !important; }
}

/* Floating Actions */
.apex-whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: #10B981;
    color: #FFF;
    border-radius: 50px;
    padding: 12px 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 14px;
    box-shadow: 0 10px 30px rgba(16, 185, 129, 0.45);
    z-index: 999;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.apex-whatsapp-float:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 35px rgba(16, 185, 129, 0.6);
}
.apex-whatsapp-float .ping-circle {
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border-radius: 50px;
    border: 2px solid #10B981;
    animation: pulsePing 2s infinite;
}

.apex-call-float {
    position: fixed;
    bottom: 90px;
    right: 24px;
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFF;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 25px rgba(0, 100, 224, 0.45);
    z-index: 999;
    transition: transform 0.2s;
}
.apex-call-float:hover {
    transform: translateY(-3px) scale(1.06);
}

/* Button & Card Accent Aliases */
.btn-accent-full {
    width: 100%;
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFF;
    border: none;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 20px rgba(0, 100, 224, 0.35);
}
.btn-accent-full:hover {
    background: linear-gradient(135deg, #0143B5 0%, #5334B8 100%);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 100, 224, 0.5);
}

.btn-accent-fill {
    background: linear-gradient(135deg, #0064E0, #6441D2) !important;
    color: #FFF !important;
    border-color: #0064E0 !important;
}

/* Footer Apex Styling */
/* ========================================================
   APEX PROFESSIONAL MODERN FOOTER - META AI MUSE OBSIDIAN
   ======================================================== */
.apex-footer {
    background: #0A1317;
    color: #94A3B8;
    padding: 70px 0 30px;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-content-wrap {
    position: relative;
    z-index: 2;
}
.footer-grid-four {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.25fr;
    gap: 48px;
    align-items: start;
}
.footer-col {
    display: flex;
    flex-direction: column;
}
.footer-col-brand {
    gap: 18px;
}
.footer-logo-row {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}
.brand-mission {
    font-size: 13.5px;
    line-height: 1.7;
    color: #94A3B8;
    margin: 0;
}
.footer-social-links {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}
.social-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94A3B8;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
}
.social-btn:hover {
    color: #FFFFFF;
    background: linear-gradient(135deg, #0064E0, #6441D2);
    border-color: #0064E0;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 100, 224, 0.4);
}
.social-btn.wa:hover {
    background: #10B981;
    border-color: #10B981;
    box-shadow: 0 6px 15px rgba(16, 185, 129, 0.35);
}

.footer-col-title {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 22px;
    position: relative;
}
.footer-link-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.footer-link-list a {
    color: #94A3B8;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s, transform 0.2s;
    display: inline-block;
}
.footer-link-list a:hover {
    color: #47A5FA;
    transform: translateX(4px);
}

/* Contact Column */
.footer-clean-contact {
    display: flex;
    flex-direction: column;
    gap: 13px;
    font-size: 13.5px;
    color: #CBD5E1;
}
.clean-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
}
.clean-contact-item .cci-icon {
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 1px;
}
.clean-contact-link {
    color: #E2E8F0;
    text-decoration: none;
    transition: color 0.2s;
}
.clean-contact-link strong {
    color: #47A5FA;
    font-weight: 700;
}
.clean-contact-link small {
    color: #94A3B8;
    font-size: 11.5px;
    font-weight: normal;
}
.clean-contact-link:hover {
    color: #9360F7;
    text-decoration: underline;
}

/* Subtle Live Status */
.footer-clean-status {
    margin-top: 18px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.25);
    color: #34D399;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
}
.live-dot-green {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10B981;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.8);
    animation: livePulseRadar 2s infinite;
}

/* Bottom Bar */
.footer-bottom-bar {
    margin-top: 55px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
.footer-bottom-left p {
    font-size: 12.5px;
    color: #64748B;
    margin: 0;
}
.footer-bottom-left strong {
    color: #94A3B8;
}
.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: #64748B;
}
.footer-legal-links a {
    color: #94A3B8;
    text-decoration: none;
    transition: color 0.2s;
}
.footer-legal-links a:hover {
    color: #47A5FA;
}
.footer-legal-links .sep {
    color: #475569;
}
.ded-badge {
    color: #64748B;
    font-size: 11.5px;
}
.btn-back-to-top {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #CBD5E1;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s;
}
.btn-back-to-top:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: #FFFFFF;
    transform: translateY(-2px);
}

@media (max-width: 1024px) {
    .footer-grid-four {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }
}
@media (max-width: 640px) {
    .footer-grid-four {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .footer-bottom-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
}

/* ========================================================
   WORLD-CLASS PROFESSIONAL ANIMATIONS & MICRO-INTERACTIONS
   ======================================================== */

/* Infinite Luxury UAE Marquee Band */
.apex-marquee-band {
    background: #0A1317;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    white-space: nowrap;
    padding: 14px 0;
    position: relative;
}

.apex-marquee-band::before,
.apex-marquee-band::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    z-index: 2;
    pointer-events: none;
}

.apex-marquee-band::before {
    left: 0;
    background: linear-gradient(90deg, #0A1317 0%, transparent 100%);
}

.apex-marquee-band::after {
    right: 0;
    background: linear-gradient(270deg, #0A1317 0%, transparent 100%);
}

.marquee-track {
    display: inline-flex;
    align-items: center;
    gap: 32px;
    animation: marqueeScroll 35s linear infinite;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #94A3B8;
}

.marquee-track span {
    display: inline-block;
    transition: color 0.2s;
}

.marquee-track span:hover {
    color: #47A5FA;
}

.marquee-track .dot {
    color: #9360F7;
    font-size: 11px;
}

@keyframes marqueeScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Button Shimmer Ray Animation */
.btn-accent-full, .btn-primary-header, .btn-wizard-next {
    position: relative;
    overflow: hidden;
}

.btn-accent-full::after, .btn-primary-header::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 40%;
    height: 200%;
    background: linear-gradient(
        60deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.25) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: rotate(25deg);
    animation: btnShimmerRay 4s infinite cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes btnShimmerRay {
    0% { left: -60%; }
    30% { left: 140%; }
    100% { left: 140%; }
}

/* Radar Ping & Telemetry in Truck Transit Box */
.radar-ping {
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid #10B981;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    animation: radarPulse 2s cubic-bezier(0.1, 0.8, 0.3, 1) infinite;
}

.origin-ping {
    left: -6px;
    border-color: #10B981;
}

.dest-ping {
    right: -6px;
    border-color: #0064E0;
}

@keyframes radarPulse {
    0% { transform: translateY(-50%) scale(0.6); opacity: 1; }
    100% { transform: translateY(-50%) scale(2.4); opacity: 0; }
}

.truck-speed-tag {
    font-size: 9.5px;
    font-weight: 800;
    margin-left: 6px;
    background: rgba(0, 0, 0, 0.25);
    padding: 2px 6px;
    border-radius: 6px;
    letter-spacing: 0.5px;
}

.wheel-spin {
    transform-origin: center;
    animation: wheelRotate 1s linear infinite;
}

@keyframes wheelRotate {
    100% { transform: rotate(360deg); }
}

.transit-glow-beam {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 65%;
    background: linear-gradient(90deg, transparent 0%, rgba(0, 100, 224, 0.8) 50%, #6441D2 100%);
    border-radius: 4px;
    box-shadow: 0 0 12px rgba(0, 100, 224, 0.6);
}

.truck-telemetry-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 11px;
    color: #94A3B8;
    font-weight: 600;
}

.live-pulse-core {
    width: 8px;
    height: 8px;
    background: #10B981;
    border-radius: 50%;
    display: inline-block;
    animation: pulsePing 1.5s infinite;
}

/* Wizard Step Transition Animation */
.step-animate-in {
    animation: stepSlideFade 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes stepSlideFade {
    0% {
        opacity: 0;
        transform: translateY(16px) scale(0.98);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Live Booking Social Proof Toaster */
.live-booking-toaster {
    position: fixed;
    bottom: 24px;
    left: 24px;
    background: rgba(10, 19, 23, 0.95);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(100, 65, 210, 0.35);
    border-radius: 16px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4), 0 0 20px rgba(100, 65, 210, 0.25);
    z-index: 998;
    max-width: 340px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px) scale(0.92);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.live-booking-toaster.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.toaster-pulse-dot {
    width: 10px;
    height: 10px;
    background: #10B981;
    border-radius: 50%;
    animation: pulsePing 1.8s infinite;
    flex-shrink: 0;
}

.toaster-icon-wrap {
    font-size: 24px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.toaster-badge-icon {
    font-size: 24px;
    filter: drop-shadow(0 2px 5px rgba(0,0,0,0.3));
}

.toaster-text {
    display: flex;
    flex-direction: column;
    min-width: 220px;
}

.toaster-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 3px;
}

.toaster-confirmed-tag {
    font-size: 9.5px;
    font-weight: 800;
    text-transform: uppercase;
    color: #10B981;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    padding: 1px 7px;
    border-radius: 20px;
    letter-spacing: 0.5px;
}

.toaster-text strong {
    font-size: 13.5px;
    color: #FFFFFF;
    font-weight: 800;
    letter-spacing: 0.2px;
}

.toaster-text p {
    font-size: 11.5px;
    color: #CBD5E1;
    margin: 2px 0 3px;
}

.toaster-id-row {
    display: flex;
    align-items: center;
    margin-top: 1px;
}

.toaster-order-id {
    font-size: 10px;
    font-weight: 700;
    color: #94A3B8;
    background: rgba(255, 255, 255, 0.07);
    padding: 1px 6px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}

.toaster-time {
    font-size: 10px;
    color: #60A5FA;
    font-weight: 600;
}

.toaster-close {
    background: none;
    border: none;
    color: #64748B;
    font-size: 16px;
    cursor: pointer;
    padding: 0 4px;
    align-self: flex-start;
}

.toaster-close:hover {
    color: #FFF;
}

/* ========================================================
   STRATEGIC LUXURY YELLOW ACCENTS
   ======================================================== */
.text-yellow {
    color: #FACC15 !important;
}

.text-gold {
    color: #FBBF24 !important;
}

.highlight-discount {
    color: #FACC15 !important;
    text-shadow: 0 0 12px rgba(250, 204, 21, 0.55);
}

.coupon-chip strong {
    color: #FACC15 !important;
}

.hero-pricing-pill {
    background: rgba(250, 204, 21, 0.12) !important;
    border: 1px solid rgba(250, 204, 21, 0.5) !important;
    box-shadow: 0 4px 20px rgba(250, 204, 21, 0.18) !important;
}

.hero-pricing-pill .price-value {
    color: #FACC15 !important;
    text-shadow: 0 0 14px rgba(250, 204, 21, 0.6) !important;
}

/* Marquee Stars in Radiant Yellow */
.marquee-track .dot {
    color: #FACC15 !important;
    text-shadow: 0 0 8px rgba(250, 204, 21, 0.6);
}

/* Yellow Savings Chip on Plan Cards */
.save-tag-yellow {
    background: linear-gradient(135deg, #FACC15, #EAB308);
    color: #0F172A;
    font-size: 10px;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 6px;
    display: inline-block;
    margin-left: 6px;
    box-shadow: 0 2px 8px rgba(250, 204, 21, 0.4);
    letter-spacing: 0.5px;
    vertical-align: middle;
}

/* VIP Choice Ribbon in Vibrant Yellow Gold */
.vip-crown-badge-yellow {
    position: absolute;
    top: -12px;
    right: 20px;
    background: linear-gradient(135deg, #FACC15 0%, #F59E0B 100%);
    color: #0F172A;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 20px;
    letter-spacing: 0.6px;
    box-shadow: 0 4px 15px rgba(250, 204, 21, 0.45);
}

/* Testimonial Stars in Glowing Golden Yellow */
.rating-stars {
    color: #FACC15 !important;
    font-size: 20px;
    letter-spacing: 2px;
    filter: drop-shadow(0 2px 6px rgba(250, 204, 21, 0.45));
}

/* Form Guarantee Icon in Yellow */
.form-guarantee svg {
    filter: drop-shadow(0 0 6px rgba(250, 204, 21, 0.5));
}
.form-guarantee svg path {
    fill: #FACC15 !important;
}

/* Free Badge in Buttons */
.btn-yellow-badge {
    background: #FACC15;
    color: #0F172A;
    font-size: 10px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}

/* ==========================================================================
   APEX SAFEGUARD™ - 100% SAFE, CLEAN & SECURE SYSTEM ("Saaf & Secure")
   ========================================================================== */
.section-apex-safeguard {
    position: relative;
    padding: 100px 0;
    background: linear-gradient(180deg, #0A1317 0%, #141F25 50%, #0A1317 100%);
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.safeguard-glow-effect {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 700px;
    height: 400px;
    background: radial-gradient(circle, rgba(100, 65, 210, 0.18) 0%, rgba(0, 100, 224, 0.12) 50%, transparent 70%);
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}
.safeguard-container {
    position: relative;
    z-index: 1;
}
.safeguard-badge {
    background: rgba(16, 185, 129, 0.12) !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    color: #34D399 !important;
    font-weight: 700 !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 30px;
    margin-bottom: 16px;
}
.shield-pulse {
    animation: pulsePing 2s infinite ease-in-out;
}
.safeguard-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 48px;
}
.sg-card {
    background: rgba(28, 43, 51, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px);
    border-radius: 18px;
    padding: 30px 24px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.sg-card:hover {
    transform: translateY(-6px);
    border-color: rgba(100, 65, 210, 0.45);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), 0 0 25px rgba(100, 65, 210, 0.2);
}
.sg-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.sg-icon-box {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.sg-icon-box.police-theme {
    background: rgba(0, 100, 224, 0.12);
    border-color: rgba(0, 100, 224, 0.3);
}
.sg-icon-box.clean-theme {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.3);
}
.sg-icon-box.lock-theme {
    background: rgba(250, 204, 21, 0.12);
    border-color: rgba(250, 204, 21, 0.3);
}
.sg-icon-box.society-theme {
    background: rgba(56, 189, 248, 0.12);
    border-color: rgba(56, 189, 248, 0.3);
}
.sg-status-chip {
    font-size: 11px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.5px;
}
.chip-police {
    background: rgba(0, 100, 224, 0.15);
    color: #47A5FA;
    border: 1px solid rgba(0, 100, 224, 0.3);
}
.chip-clean {
    background: rgba(16, 185, 129, 0.15);
    color: #34D399;
    border: 1px solid rgba(16, 185, 129, 0.3);
}
.chip-lock {
    background: rgba(250, 204, 21, 0.15);
    color: #FACC15;
    border: 1px solid rgba(250, 204, 21, 0.3);
}
.chip-society {
    background: rgba(56, 189, 248, 0.15);
    color: #38BDF8;
    border: 1px solid rgba(56, 189, 248, 0.3);
}
.sg-card-title {
    font-size: 19px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 6px;
    line-height: 1.3;
}
.sg-card-tagline {
    font-size: 12px;
    font-weight: 700;
    color: #FACC15;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 12px;
}
.sg-card-text {
    font-size: 13.5px;
    line-height: 1.6;
    color: #94A3B8;
    margin-bottom: 18px;
    flex-grow: 1;
}
.sg-points-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 14px;
}
.sg-points-list li {
    font-size: 12.5px;
    color: #CBD5E1;
    display: flex;
    align-items: center;
    gap: 8px;
}
.sg-points-list .check-icon {
    color: #10B981;
    font-weight: 800;
}

/* Trust Ribbon Bar */
.safeguard-trust-ribbon {
    margin-top: 40px;
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 20px 30px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.trust-ribbon-item {
    display: flex;
    align-items: center;
    gap: 14px;
}
.tri-icon {
    font-size: 26px;
    flex-shrink: 0;
}
.tri-text strong {
    display: block;
    font-size: 13.5px;
    color: #FFFFFF;
    font-weight: 700;
}
.tri-text small {
    display: block;
    font-size: 11.5px;
    color: #94A3B8;
}

/* Wizard Step 4 Trust Box */
.wizard-security-trust-box {
    margin-top: 16px;
    background: rgba(10, 19, 23, 0.9);
    border: 1px solid rgba(100, 65, 210, 0.3);
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.w-sec-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: #CBD5E1;
}
.w-sec-icon {
    font-size: 15px;
    flex-shrink: 0;
}
.w-sec-item strong {
    color: #FACC15;
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
    .safeguard-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .safeguard-trust-ribbon {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .safeguard-grid {
        grid-template-columns: 1fr;
    }
    .safeguard-trust-ribbon {
        grid-template-columns: 1fr;
    }
}

/* ========================================================
   HERO GOOGLE REVIEWS TRIGGER CARD & MODAL SYSTEM - META AI MUSE
   ======================================================== */
.hero-google-reviews-card {
    margin-top: 14px;
    background: rgba(10, 19, 23, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 12px 14px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
.hero-google-reviews-card:hover {
    background: rgba(28, 43, 51, 0.95);
    border-color: rgba(100, 65, 210, 0.45);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(100, 65, 210, 0.2);
}
.hgr-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
.hgr-google-badge {
    display: flex;
    align-items: center;
    gap: 8px;
}
.hgr-brand-name {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
}
.hgr-score-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(250, 204, 21, 0.12);
    border: 1px solid rgba(250, 204, 21, 0.3);
    padding: 2px 8px;
    border-radius: 20px;
}
.hgr-score-val {
    color: #FACC15;
    font-size: 13px;
    font-weight: 800;
}
.hgr-stars-gold {
    color: #FACC15;
    font-size: 12px;
    letter-spacing: 1px;
}
.hgr-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11.5px;
}
.hgr-count-text {
    color: #94A3B8;
}
.hgr-count-text strong {
    color: #E2E8F0;
}
.hgr-view-btn {
    color: #47A5FA;
    font-weight: 700;
    transition: transform 0.2s, color 0.2s;
}
.hero-google-reviews-card:hover .hgr-view-btn {
    color: #9360F7;
    transform: translateX(3px);
}

/* REVIEWS MODAL OVERLAY */
.reviews-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(3, 7, 18, 0.85);
    backdrop-filter: blur(12px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.reviews-modal-overlay.active {
    opacity: 1;
}
.reviews-modal-box {
    background: #0A1317;
    border: 1px solid rgba(100, 65, 210, 0.35);
    border-radius: 20px;
    width: 100%;
    max-width: 820px;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.8), 0 0 40px rgba(100, 65, 210, 0.25);
    overflow: hidden;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.reviews-modal-overlay.active .reviews-modal-box {
    transform: translateY(0) scale(1);
}

/* Modal Header */
.reviews-modal-header {
    padding: 22px 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(28, 43, 51, 0.6);
}
.rm-header-left {
    display: flex;
    align-items: center;
    gap: 14px;
}
.rm-google-badge {
    display: flex;
    align-items: center;
    gap: 14px;
}
.rm-title {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 4px 0;
}
.rm-stars-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}
.rm-score {
    color: #FACC15;
    font-weight: 800;
    font-size: 15px;
}
.rm-stars {
    color: #FACC15;
    letter-spacing: 1px;
}
.rm-verified-badge {
    color: #34D399;
    font-size: 11.5px;
    font-weight: 700;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.3);
    padding: 2px 8px;
    border-radius: 20px;
}
.rm-close-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #CBD5E1;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}
.rm-close-btn:hover {
    background: rgba(239, 68, 68, 0.2);
    border-color: rgba(239, 68, 68, 0.5);
    color: #EF4444;
    transform: rotate(90deg);
}

/* Stats Strip */
.rm-stats-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    padding: 14px 28px;
    background: rgba(15, 23, 42, 0.3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.rm-stat-item {
    text-align: center;
}
.rm-stat-number {
    display: block;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 800;
}
.rm-stat-label {
    display: block;
    color: #94A3B8;
    font-size: 11px;
}

/* Filter Tabs */
.rm-filter-tabs {
    padding: 14px 28px;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.rm-tab-btn {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94A3B8;
    padding: 7px 16px;
    border-radius: 20px;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
}
.rm-tab-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
}
.rm-tab-btn.active {
    background: linear-gradient(135deg, #0064E0, #6441D2);
    border-color: #0064E0;
    color: #FFFFFF;
    box-shadow: 0 4px 12px rgba(0, 100, 224, 0.4);
}

/* Scrollable Reviews List */
.rm-reviews-scroll-list {
    padding: 20px 28px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 480px;
}
.rm-reviews-scroll-list::-webkit-scrollbar {
    width: 6px;
}
.rm-reviews-scroll-list::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
}
.rm-reviews-scroll-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
}

/* Review Card */
.rm-review-card {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    padding: 18px 20px;
    transition: border-color 0.2s, background 0.2s;
}
.rm-review-card:hover {
    background: rgba(15, 23, 42, 0.85);
    border-color: rgba(100, 65, 210, 0.4);
}
.rm-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.rm-author-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}
.rm-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-weight: 800;
    font-size: 13px;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.rm-author-meta strong {
    display: block;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
}
.rm-author-meta .rm-location {
    display: block;
    color: #94A3B8;
    font-size: 11.5px;
}
.rm-card-meta {
    text-align: right;
}
.rm-card-stars {
    display: block;
    color: #FACC15;
    font-size: 14px;
    letter-spacing: 1px;
}
.rm-date {
    display: block;
    color: #64748B;
    font-size: 11px;
}
.rm-verified-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #34D399;
    margin-bottom: 10px;
}
.rm-comment {
    color: #CBD5E1;
    font-size: 13.5px;
    line-height: 1.6;
    margin: 0 0 12px 0;
}
.rm-tags-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.rm-tag {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94A3B8;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 6px;
}

/* Modal Footer CTA */
.rm-modal-footer {
    padding: 16px 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(15, 23, 42, 0.7);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.rm-footer-text strong {
    display: block;
    color: #FFFFFF;
    font-size: 14px;
}
.rm-footer-text span {
    display: block;
    color: #94A3B8;
    font-size: 12px;
}
.rm-btn-quote {
    background: linear-gradient(135deg, #0064E0 0%, #6441D2 100%);
    color: #FFFFFF;
    font-size: 13.5px;
    font-weight: 700;
    padding: 11px 22px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: all 0.25s;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(0, 100, 224, 0.4);
}
.rm-btn-quote:hover {
    background: linear-gradient(135deg, #0143B5 0%, #5334B8 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0, 100, 224, 0.6);
}

@media (max-width: 640px) {
    .rm-stats-strip {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .rm-modal-footer {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
}

/* ========================================================
   CONFIRMATION STATES: HERO BANNER & 1-MINUTE CALCULATOR
   ======================================================== */

/* HERO BANNER CONFIRMATION CARD */
.hero-lead-success-card {
    padding: 24px 20px;
    text-align: center;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.35);
    border-radius: 18px;
    animation: modalPop 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.hl-success-icon-wrap {
    width: 60px;
    height: 60px;
    margin: 0 auto 12px;
    background: rgba(16, 185, 129, 0.15);
    border: 2px solid #10B981;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.hl-check-pulse {
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid rgba(16, 185, 129, 0.5);
    animation: livePulse 2s infinite ease-in-out;
}
.hl-confirmed-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    color: #10B981;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.35);
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 8px;
}
.hl-success-title {
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 6px;
}
.hl-success-sub {
    color: #94A3B8;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 16px;
}
.hl-success-sub strong {
    color: #FFFFFF;
}
.hl-ticket-pill {
    background: rgba(255, 255, 255, 0.05);
    border: 1px dashed rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 10px 14px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hl-ticket-label {
    color: #94A3B8;
    font-size: 12px;
    font-weight: 600;
}
.hl-ticket-id {
    color: #FBBF24;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1px;
}
.hl-actions-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.btn-hl-wa {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #10B981;
    color: #FFFFFF;
    padding: 13px 18px;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
    font-size: 13.5px;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
    transition: transform 0.2s, background 0.2s;
}
.btn-hl-wa:hover {
    background: #059669;
    transform: translateY(-2px);
    color: #FFFFFF;
}
.btn-hl-customize {
    background: rgba(255, 255, 255, 0.07);
    color: #E2E8F0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    padding: 11px 16px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 12.5px;
    cursor: pointer;
    transition: all 0.2s;
}
.btn-hl-customize:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #FFFFFF;
}
.hl-trust-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 11px;
    color: #94A3B8;
    margin-top: 14px;
}

/* WIZARD STEP 5 CONFIRMED IN-PAGE HERO CARD */
.booking-confirmed-hero-card {
    background: rgba(10, 15, 24, 0.95);
    border: 1px solid rgba(16, 185, 129, 0.35);
    border-radius: 24px;
    padding: 40px 32px;
    text-align: center;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6), 0 0 50px rgba(16, 185, 129, 0.15);
    animation: modalPop 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.confirmed-check-animation {
    width: 88px;
    height: 88px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.12);
    border: 3px solid #10B981;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.confirmed-badge-tag {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: rgba(16, 185, 129, 0.18);
    color: #10B981;
    border: 1px solid rgba(16, 185, 129, 0.4);
    padding: 5px 16px;
    border-radius: 20px;
    margin-bottom: 12px;
}
.confirmed-title {
    font-size: 32px;
    font-weight: 900;
    color: #FFFFFF;
    margin: 0 0 8px;
    line-height: 1.2;
}
.confirmed-subtitle {
    font-size: 15px;
    color: #94A3B8;
    max-width: 620px;
    margin: 0 auto 28px;
    line-height: 1.5;
}
.confirmed-subtitle strong {
    color: #FFFFFF;
}

/* VIP DIGITAL TICKETING CARD */
.vip-digital-ticket {
    background: #0F172A;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 28px;
    text-align: left;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
}
.ticket-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px dashed rgba(255, 255, 255, 0.15);
}
.ticket-brand {
    display: flex;
    flex-direction: column;
}
.ticket-logo-trukker {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 2px;
    color: #FF5A1F;
}
.ticket-logo-sub {
    font-size: 9px;
    font-weight: 700;
    color: #94A3B8;
    letter-spacing: 1px;
}
.ticket-status-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 800;
    color: #10B981;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    padding: 4px 12px;
    border-radius: 20px;
}
.ticket-body-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px 24px;
    padding: 24px;
}
.ticket-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ticket-field .lbl {
    font-size: 11px;
    font-weight: 700;
    color: #94A3B8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ticket-field .val {
    font-size: 15px;
    font-weight: 700;
    color: #F1F5F9;
}
.ticket-field .val.highlight {
    color: #FBBF24;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 1px;
}
.ticket-field .val.price-big {
    font-size: 22px;
    font-weight: 900;
    color: #10B981;
}
.ticket-footer {
    padding: 14px 24px;
    background: rgba(0, 0, 0, 0.3);
    border-top: 1px dashed rgba(255, 255, 255, 0.1);
    font-size: 12px;
    color: #94A3B8;
}

/* ACTIONS ROW */
.confirmed-actions-grid {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 32px;
}
.btn-conf-wa {
    background: #10B981;
    color: #FFFFFF;
    padding: 14px 28px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.45);
    transition: all 0.25s;
}
.btn-conf-wa:hover {
    background: #059669;
    transform: translateY(-2px);
    color: #FFFFFF;
}
.btn-conf-call {
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 14px 24px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.25s;
}
.btn-conf-call:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #FFFFFF;
}
.btn-conf-print {
    background: transparent;
    color: #94A3B8;
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 14px 20px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s;
}
.btn-conf-print:hover {
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, 0.3);
}
.btn-conf-new {
    background: transparent;
    color: #FBBF24;
    border: 1px solid rgba(234, 179, 8, 0.3);
    padding: 14px 20px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s;
}
.btn-conf-new:hover {
    background: rgba(234, 179, 8, 0.1);
}

/* NEXT STEPS GUIDE */
.confirmed-next-steps {
    text-align: left;
    padding: 24px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.confirmed-next-steps h4 {
    font-size: 15px;
    font-weight: 800;
    color: #FFFFFF;
    margin: 0 0 16px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.next-steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}
.step-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.step-card .step-num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #FF5A1F;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.step-card strong {
    font-size: 13.5px;
    color: #F1F5F9;
}
.step-card p {
    font-size: 12px;
    color: #94A3B8;
    margin: 0;
    line-height: 1.4;
}

/* STEP PROGRESS BAR COMPLETED STATE */
.step-pill.completed {
    background: rgba(16, 185, 129, 0.15) !important;
    border-color: #10B981 !important;
    color: #10B981 !important;
}
.step-pill.completed span {
    background: #10B981 !important;
    color: #FFFFFF !important;
}
.step-pill-5.active {
    background: #10B981 !important;
    color: #FFFFFF !important;
    border-color: #10B981 !important;
}
.step-pill-5.active span {
    background: #FFFFFF !important;
    color: #10B981 !important;
}

/* VIP MODAL BOX OVERLAY */
.vip-modal-box {
    background: #0B111A !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(16, 185, 129, 0.35) !important;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.85), 0 0 40px rgba(16, 185, 129, 0.2) !important;
}
.vip-modal-box .modal-title {
    color: #FFFFFF !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}
.vip-modal-box .modal-desc {
    color: #94A3B8 !important;
}
.vip-modal-box .booking-ticket-box {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px dashed rgba(255, 255, 255, 0.2) !important;
}
.vip-modal-box .ticket-label {
    color: #94A3B8 !important;
}
.vip-modal-box .ticket-id {
    color: #FBBF24 !important;
}
.vip-modal-box .modal-note {
    color: #94A3B8 !important;
}
.vip-modal-box .modal-note strong {
    color: #FFFFFF !important;
}
.modal-badge-confirmed {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    color: #10B981;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.35);
    padding: 3px 12px;
    border-radius: 12px;
    margin-bottom: 8px;
    letter-spacing: 0.8px;
}
.modal-icon-emerald {
    background: rgba(16, 185, 129, 0.15) !important;
    border: 2px solid #10B981 !important;
    border-radius: 50% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
}


/* ========================================================
   SERVICEMARKET DUBAI PLATFORM - 11 CORE HOME SERVICES
   Mega Menu, Homepage Catalog Hub & Dedicated Service Pages
   ======================================================== */

/* --- 1. HEADER VIP MEGA-MENU --- */
.has-megamenu {
    position: static !important;
}
@media (min-width: 1024px) {
    .has-megamenu {
        position: relative !important;
    }
}
.sm-megamenu-wrapper {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    width: 920px;
    max-width: 95vw;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 99999;
}
.has-megamenu:hover .sm-megamenu-wrapper,
.has-megamenu:focus-within .sm-megamenu-wrapper {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
.sm-megamenu-glass {
    background: rgba(10, 19, 23, 0.98);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 30px 70px -10px rgba(0, 0, 0, 0.85), 0 0 40px rgba(0, 100, 224, 0.2);
    overflow: hidden;
}
.sm-megamenu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px;
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.sm-megamenu-header .smm-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}
.sm-megamenu-header .smm-tag {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.8px;
    background: rgba(0, 210, 255, 0.15);
    color: #00D2FF;
    border: 1px solid rgba(0, 210, 255, 0.3);
    padding: 3px 8px;
    border-radius: 6px;
    text-transform: uppercase;
}
.sm-megamenu-header .smm-heading {
    font-size: 13px;
    font-weight: 700;
    color: #F8FAFC;
    letter-spacing: 0.3px;
}
.sm-megamenu-header .smm-wa-quick {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #10B981;
    text-decoration: none;
    transition: opacity 0.2s;
}
.sm-megamenu-header .smm-wa-quick:hover {
    opacity: 0.85;
}
.sm-megamenu-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 20px 22px;
}
.sm-mega-col {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 14px;
    padding: 14px 12px;
}
.sm-mega-col .col-title {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #94A3B8;
    margin-bottom: 10px;
    padding-left: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.sm-mega-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.sm-mega-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 10px;
    text-decoration: none;
    color: #E2E8F0;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.sm-mega-link:hover {
    background: rgba(0, 100, 224, 0.16);
    color: #FFFFFF;
    transform: translateX(3px);
}
.sm-mega-link .sml-icon {
    font-size: 18px;
    flex-shrink: 0;
}
.sm-mega-link .sml-info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    line-height: 1.25;
}
.sm-mega-link .sml-name {
    font-size: 13px;
    font-weight: 600;
    color: #F1F5F9;
}
.sm-mega-link:hover .sml-name {
    color: #38BDF8;
}
.sm-mega-link .sml-rate {
    font-size: 11px;
    color: #00D2FF;
    font-weight: 500;
}
.sm-mega-link .sml-badge {
    font-size: 9.5px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 6px;
    background: rgba(16, 185, 129, 0.2);
    color: #10B981;
    border: 1px solid rgba(16, 185, 129, 0.3);
    text-transform: uppercase;
}
.sm-megamenu-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    background: rgba(0, 0, 0, 0.4);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 12px;
    color: #94A3B8;
}
.sm-megamenu-footer .smf-item {
    display: flex;
    align-items: center;
    gap: 6px;
}
.sm-megamenu-footer .smf-icon {
    color: #10B981;
}

/* --- 2. HOMEPAGE SERVICES CATALOG HUB (#smServicesCatalog) --- */
.sm-home-catalog-section {
    padding: 85px 0 95px;
    background: radial-gradient(ellipse at 50% 0%, rgba(0, 100, 224, 0.1) 0%, rgba(5, 5, 5, 0.98) 70%);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    position: relative;
    overflow: hidden;
}
.sm-home-catalog-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    width: 60%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #00D2FF, transparent);
    opacity: 0.5;
}
.sm-home-search-bar-wrap {
    max-width: 720px;
    margin: 28px auto 26px;
}
.sm-home-search-box {
    display: flex;
    align-items: center;
    background: rgba(16, 27, 34, 0.92);
    border: 1.5px solid rgba(0, 210, 255, 0.28);
    border-radius: 50px;
    padding: 8px 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 25px rgba(0, 100, 224, 0.12);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.sm-home-search-box:focus-within {
    border-color: #00D2FF;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.6), 0 0 35px rgba(0, 210, 255, 0.35);
    transform: translateY(-2px);
}
.sm-home-search-box .search-icon {
    font-size: 18px;
    color: #00D2FF;
    flex-shrink: 0;
    margin-right: 6px;
}
.sm-home-search-box input {
    background: transparent;
    border: none;
    outline: none;
    color: #FFFFFF;
    font-size: 15px;
    width: 100%;
    padding: 8px 10px;
    font-weight: 500;
}
.sm-home-search-box input::placeholder {
    color: #64748B;
}
.sm-home-search-box .search-city-tag {
    font-size: 11px;
    font-weight: 700;
    color: #FBBF24;
    background: rgba(251, 191, 36, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.25);
    padding: 5px 12px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
}
.sm-cat-filter-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 45px;
}
.sm-cat-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    border-radius: 30px;
    background: rgba(28, 43, 51, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94A3B8;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
}
.sm-cat-tab:hover {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
}
.sm-cat-tab.active {
    background: linear-gradient(135deg, #0064E0 0%, #1877F2 100%);
    color: #FFFFFF;
    border-color: rgba(0, 210, 255, 0.45);
    box-shadow: 0 4px 18px rgba(0, 100, 224, 0.4);
}
.sm-cat-tab .tab-count {
    font-size: 11px;
    font-weight: 800;
    background: rgba(0, 0, 0, 0.35);
    padding: 2px 7px;
    border-radius: 12px;
}
.sm-home-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 24px;
}
.sm-service-catalog-card {
    display: flex;
    flex-direction: column;
    background: rgba(16, 27, 34, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 24px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
    position: relative;
    overflow: hidden;
}
.sm-service-catalog-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 210, 255, 0.35);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6), 0 0 25px rgba(0, 100, 224, 0.2);
}
.sm-service-catalog-card .scc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.sm-service-catalog-card .scc-icon {
    font-size: 32px;
}
.sm-service-catalog-card .scc-cat-badge {
    font-size: 11px;
    font-weight: 700;
    color: #38BDF8;
    background: rgba(56, 189, 248, 0.12);
    border: 1px solid rgba(56, 189, 248, 0.25);
    padding: 4px 10px;
    border-radius: 20px;
    text-transform: uppercase;
}
.sm-service-catalog-card .scc-title {
    font-size: 18px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 8px;
    line-height: 1.35;
}
.sm-service-catalog-card .scc-desc {
    font-size: 13.5px;
    color: #94A3B8;
    line-height: 1.5;
    margin-bottom: 18px;
    flex-grow: 1;
}
.sm-service-catalog-card .scc-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 16px;
}
.sm-service-catalog-card .scc-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: #E2E8F0;
}
.sm-service-catalog-card .scc-rating .stars {
    color: #FBBF24;
    letter-spacing: 1px;
}
.sm-service-catalog-card .scc-rating small {
    color: #64748B;
}
.sm-service-catalog-card .scc-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.sm-service-catalog-card .scc-price small {
    font-size: 10.5px;
    color: #94A3B8;
    text-transform: uppercase;
}
.sm-service-catalog-card .scc-price strong {
    font-size: 16px;
    font-weight: 800;
    color: #00D2FF;
}
.sm-service-catalog-card .scc-btn-book {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 18px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0064E0 0%, #1877F2 100%);
    color: #FFFFFF;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}
.sm-service-catalog-card .scc-btn-book:hover {
    background: linear-gradient(135deg, #0143B5 0%, #0064E0 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 100, 224, 0.4);
}

/* --- 3. DEDICATED SERVICE LANDING PAGE (page-service.php) --- */
.service-page-main {
    padding-top: 85px;
    background: #050505;
    color: #F8FAFC;
    min-height: 100vh;
}
.sm-breadcrumbs-wrap {
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(10, 19, 23, 0.7);
}
.sm-breadcrumbs-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
    list-style: none;
    margin: 0;
    padding: 0;
    color: #94A3B8;
}
.sm-breadcrumbs-list a {
    color: #94A3B8;
    text-decoration: none;
    transition: color 0.2s;
}
.sm-breadcrumbs-list a:hover {
    color: #00D2FF;
}
.sm-breadcrumbs-list .sep {
    color: #475569;
}
.sm-breadcrumbs-list .cat-crumb {
    color: #38BDF8;
}
.sm-breadcrumbs-list .active {
    color: #F8FAFC;
    font-weight: 600;
}

/* Service Hero */
.sm-service-hero {
    padding: 45px 0 65px;
    background: radial-gradient(circle at 20% 20%, rgba(0, 100, 224, 0.12) 0%, transparent 60%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.sm-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 40px;
    align-items: start;
}
@media (max-width: 991px) {
    .sm-hero-grid {
        grid-template-columns: 1fr;
    }
}
.sm-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.12);
    border: 1px solid rgba(56, 189, 248, 0.3);
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 12.5px;
    font-weight: 700;
    color: #38BDF8;
    margin-bottom: 20px;
}
.sm-hero-title {
    font-size: 38px;
    font-weight: 900;
    line-height: 1.18;
    color: #FFFFFF;
    margin-bottom: 16px;
    letter-spacing: -0.5px;
}
@media (max-width: 768px) {
    .sm-hero-title {
        font-size: 28px;
    }
}
.sm-hero-subtitle {
    font-size: 16px;
    line-height: 1.6;
    color: #94A3B8;
    margin-bottom: 26px;
}
.sm-hero-highlights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 30px;
}
@media (max-width: 576px) {
    .sm-hero-highlights {
        grid-template-columns: 1fr;
    }
}
.sm-hero-highlights .hl-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #E2E8F0;
    font-weight: 500;
}
.sm-hero-highlights .hl-check {
    color: #10B981;
    font-weight: 900;
    font-size: 15px;
}
.sm-hero-stats-strip {
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(16, 27, 34, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 16px 22px;
}
.sm-hero-stats-strip .stat-box {
    display: flex;
    flex-direction: column;
}
.sm-hero-stats-strip .stat-num {
    font-size: 20px;
    font-weight: 800;
    color: #FBBF24;
}
.sm-hero-stats-strip .stat-lbl {
    font-size: 11.5px;
    color: #94A3B8;
}
.sm-hero-stats-strip .stat-divider {
    width: 1px;
    height: 35px;
    background: rgba(255, 255, 255, 0.1);
}

/* Booking Card & WhatsApp Slip Generator */
.sm-booking-card-wrap {
    position: relative;
}
.sm-booking-card {
    background: rgba(16, 27, 34, 0.96);
    border: 1.5px solid rgba(0, 100, 224, 0.35);
    border-radius: 22px;
    padding: 26px;
    box-shadow: 0 25px 65px rgba(0, 0, 0, 0.65), 0 0 35px rgba(0, 100, 224, 0.15);
}
.sm-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.sm-card-header .sch-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.sm-card-header .sch-icon {
    font-size: 28px;
}
.sm-card-header .sch-title {
    font-size: 17px;
    font-weight: 800;
    color: #FFFFFF;
    margin: 0;
    line-height: 1.25;
}
.sm-card-header .sch-subtitle {
    font-size: 12px;
    color: #94A3B8;
}
.sm-card-header .sch-tag {
    font-size: 10px;
    font-weight: 800;
    background: rgba(16, 185, 129, 0.15);
    color: #10B981;
    border: 1px solid rgba(16, 185, 129, 0.3);
    padding: 3px 8px;
    border-radius: 6px;
}
.sm-form-group {
    margin-bottom: 14px;
}
.sm-label {
    display: block;
    font-size: 12.5px;
    font-weight: 700;
    color: #CBD5E1;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.sm-package-pills {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.sm-pkg-pill {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1.5px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 10px 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.sm-pkg-pill input[type="radio"] {
    accent-color: #00D2FF;
    transform: scale(1.15);
}
.sm-pkg-pill.selected {
    background: rgba(0, 100, 224, 0.18);
    border-color: #00D2FF;
    box-shadow: 0 0 15px rgba(0, 210, 255, 0.2);
}
.sm-pkg-pill .pkg-pill-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.sm-pkg-pill .pkg-pill-top {
    display: flex;
    align-items: center;
    gap: 8px;
}
.sm-pkg-pill .pkg-name {
    font-size: 13.5px;
    font-weight: 700;
    color: #FFFFFF;
}
.sm-pkg-pill .pkg-tag {
    font-size: 10px;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.1);
    color: #94A3B8;
    padding: 2px 6px;
    border-radius: 4px;
}
.sm-pkg-pill.selected .pkg-tag {
    background: rgba(0, 210, 255, 0.2);
    color: #00D2FF;
}
.sm-pkg-pill .pkg-price {
    font-size: 14px;
    font-weight: 800;
    color: #FBBF24;
}
.sm-pkg-pill .pkg-price small {
    font-size: 10.5px;
    font-weight: normal;
    color: #94A3B8;
}
.sm-form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 576px) {
    .sm-form-grid-2 {
        grid-template-columns: 1fr;
    }
}
.sm-input, .sm-select {
    width: 100%;
    background: rgba(5, 5, 5, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    padding: 10px 14px;
    color: #FFFFFF;
    font-size: 13.5px;
    outline: none;
    transition: all 0.2s ease;
}
.sm-input:focus, .sm-select:focus {
    border-color: #00D2FF;
    box-shadow: 0 0 15px rgba(0, 210, 255, 0.25);
}
.sm-price-summary-box {
    background: rgba(0, 0, 0, 0.45);
    border: 1px dashed rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 14px 18px;
    margin: 18px 0 20px;
}
.sm-price-summary-box .summary-line {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #94A3B8;
    margin-bottom: 6px;
}
.sm-price-summary-box .total-line {
    font-size: 14.5px;
    font-weight: 800;
    color: #FFFFFF;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 6px;
}
.sm-price-summary-box .highlight-total {
    color: #10B981;
    font-size: 18px;
}
.sm-price-summary-box .summary-note {
    font-size: 11.5px;
    color: #38BDF8;
}
.sm-btn-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 800;
    border: none;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35);
}
.sm-btn-submit:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(16, 185, 129, 0.5);
}

/* Success Ticket / WhatsApp Dispatch Screen */
.sm-success-ticket {
    background: rgba(10, 19, 23, 0.98);
    border: 1.5px solid rgba(16, 185, 129, 0.4);
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7), 0 0 35px rgba(16, 185, 129, 0.2);
}
.sm-success-ticket .sst-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}
.sm-success-ticket .sst-check-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.18);
    border: 2px solid #10B981;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #10B981;
    font-weight: 900;
    flex-shrink: 0;
}
.sm-success-ticket .sst-status-tag {
    font-size: 11px;
    font-weight: 800;
    color: #10B981;
    letter-spacing: 0.8px;
}
.sm-success-ticket .sst-title {
    font-size: 18px;
    font-weight: 800;
    color: #FFFFFF;
    margin: 2px 0 0;
}
.sm-success-ticket .sst-ref-badge {
    background: rgba(251, 191, 36, 0.1);
    border: 1px dashed rgba(251, 191, 36, 0.3);
    border-radius: 8px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12.5px;
    color: #94A3B8;
    margin-bottom: 16px;
}
.sm-success-ticket .sst-ref-badge strong {
    color: #FBBF24;
    font-size: 15px;
    letter-spacing: 0.5px;
}
.sm-success-ticket .sst-slip-box {
    background: #050505;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 18px;
}
.sm-success-ticket .sst-slip-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.sm-success-ticket .ssh-lbl {
    font-size: 11.5px;
    font-weight: 700;
    color: #94A3B8;
}
.sm-success-ticket .ssh-tag {
    font-size: 10px;
    font-weight: 800;
    background: rgba(16, 185, 129, 0.15);
    color: #10B981;
    padding: 2px 6px;
    border-radius: 4px;
}
.sm-success-ticket .sst-pre-slip {
    font-family: 'Consolas', 'Courier New', monospace;
    font-size: 11.5px;
    line-height: 1.5;
    color: #A7F3D0;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 220px;
    overflow-y: auto;
    margin: 0;
    padding-right: 6px;
}
.sm-success-ticket .sst-actions-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sm-success-ticket .sst-btn-wa {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #25D366;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 800;
    padding: 13px;
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    transition: all 0.2s ease;
}
.sm-success-ticket .sst-btn-wa:hover {
    background: #1EBE5D;
    transform: translateY(-2px);
}
.sm-success-ticket .sst-btn-copy {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    padding: 11px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
}
.sm-success-ticket .sst-btn-copy:hover {
    background: rgba(255, 255, 255, 0.14);
}
.sm-success-ticket .sst-btn-reset {
    background: transparent;
    border: none;
    color: #94A3B8;
    font-size: 12px;
    font-weight: 600;
    padding: 6px;
    cursor: pointer;
    text-decoration: underline;
}

/* Sections Common */
.sm-section {
    padding: 70px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.sm-section-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 45px;
}
.sm-section-eyebrow {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 800;
    color: #00D2FF;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.sm-section-title {
    font-size: 30px;
    font-weight: 800;
    color: #FFFFFF;
    margin-bottom: 12px;
}
.sm-section-desc {
    font-size: 15px;
    color: #94A3B8;
    line-height: 1.6;
}

/* 3 Packages Grid */
.sm-packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}
@media (max-width: 991px) {
    .sm-packages-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 0 auto;
    }
}
.sm-pkg-card {
    background: rgba(16, 27, 34, 0.85);
    border: 1.5px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 30px 24px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.sm-pkg-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 210, 255, 0.35);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
}
.sm-pkg-card.featured-card {
    border-color: #00D2FF;
    background: rgba(16, 27, 34, 0.95);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.5), 0 0 30px rgba(0, 100, 224, 0.25);
    transform: scale(1.03);
}
.sm-pkg-card.featured-card:hover {
    transform: scale(1.03) translateY(-6px);
}
.pkg-popular-banner {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #00D2FF 0%, #0064E0 100%);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
    padding: 4px 14px;
    border-radius: 20px;
    white-space: nowrap;
}
.sm-pkg-card .pkg-card-top {
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.sm-pkg-card .pkg-tag-badge {
    font-size: 11px;
    font-weight: 800;
    color: #38BDF8;
    background: rgba(56, 189, 248, 0.12);
    padding: 3px 10px;
    border-radius: 12px;
    text-transform: uppercase;
}
.sm-pkg-card .pkg-card-name {
    font-size: 20px;
    font-weight: 800;
    color: #FFFFFF;
    margin: 12px 0 14px;
}
.sm-pkg-card .pkg-card-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
}
.sm-pkg-card .currency {
    font-size: 15px;
    font-weight: 700;
    color: #94A3B8;
}
.sm-pkg-card .amount {
    font-size: 34px;
    font-weight: 900;
    color: #FBBF24;
}
.sm-pkg-card .unit-text {
    font-size: 12px;
    color: #94A3B8;
}
.pkg-features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 26px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-grow: 1;
}
.pkg-features-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13.5px;
    color: #CBD5E1;
    line-height: 1.4;
}
.pkg-features-list .pf-check {
    color: #10B981;
    font-weight: 900;
    flex-shrink: 0;
}
.pkg-card-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}
.pkg-card-btn:hover {
    background: linear-gradient(135deg, #0064E0 0%, #1877F2 100%);
    border-color: #00D2FF;
}
.featured-card .pkg-card-btn {
    background: linear-gradient(135deg, #0064E0 0%, #1877F2 100%);
    border-color: #00D2FF;
}

/* Checklist Grid */
.sm-checklist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}
.sm-check-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: rgba(16, 27, 34, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 16px 18px;
}
.sm-check-card .scc-icon-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(0, 210, 255, 0.15);
    color: #00D2FF;
    border: 1px solid rgba(0, 210, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    flex-shrink: 0;
}
.sm-check-card .scc-text {
    font-size: 13.5px;
    color: #E2E8F0;
    margin: 0;
    font-weight: 500;
}

/* Process Grid */
.sm-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 768px) {
    .sm-process-grid {
        grid-template-columns: 1fr;
    }
}
.sm-step-card {
    background: rgba(16, 27, 34, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 26px;
    position: relative;
}
.sm-step-card .step-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    color: #FBBF24;
    background: rgba(251, 191, 36, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.25);
    padding: 3px 8px;
    border-radius: 6px;
    margin-bottom: 14px;
}
.sm-step-card .step-icon {
    font-size: 30px;
    margin-bottom: 12px;
}
.sm-step-card h3 {
    font-size: 17px;
    font-weight: 800;
    color: #FFFFFF;
    margin-bottom: 10px;
}
.sm-step-card p {
    font-size: 13.5px;
    color: #94A3B8;
    line-height: 1.55;
    margin: 0;
}

/* Dubai Areas Cloud */
.sm-areas-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 1000px;
    margin: 0 auto;
}
.sm-area-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 13px;
    color: #CBD5E1;
    transition: all 0.2s ease;
}
.sm-area-pill:hover {
    background: rgba(0, 100, 224, 0.15);
    border-color: #00D2FF;
    color: #FFFFFF;
    transform: translateY(-2px);
}

/* FAQs Accordion */
.sm-faqs-accordion {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sm-faq-item {
    background: rgba(16, 27, 34, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.2s ease;
}
.sm-faq-item[open] {
    border-color: rgba(0, 210, 255, 0.35);
    background: rgba(16, 27, 34, 0.95);
}
.sm-faq-question {
    padding: 18px 22px;
    font-size: 15px;
    font-weight: 700;
    color: #FFFFFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
}
.sm-faq-question::-webkit-details-marker {
    display: none;
}
.sm-faq-question .faq-icon {
    font-size: 20px;
    color: #00D2FF;
    font-weight: 700;
    transition: transform 0.2s;
}
.sm-faq-item[open] .faq-icon {
    transform: rotate(45deg);
}
.sm-faq-answer {
    padding: 0 22px 20px;
    font-size: 14px;
    color: #94A3B8;
    line-height: 1.6;
}
.sm-faq-answer p {
    margin: 0;
}

/* Other Services Grid */
.sm-other-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 18px;
}
.sm-other-service-card {
    background: rgba(16, 27, 34, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    padding: 18px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
}
.sm-other-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 210, 255, 0.35);
    background: rgba(16, 27, 34, 0.95);
}
.sm-other-service-card .sosc-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.sm-other-service-card .sosc-icon {
    font-size: 24px;
}
.sm-other-service-card .sosc-cat {
    font-size: 10px;
    font-weight: 700;
    color: #38BDF8;
    background: rgba(56, 189, 248, 0.12);
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
}
.sm-other-service-card .sosc-title {
    font-size: 15px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 14px;
    flex-grow: 1;
}
.sm-other-service-card .sosc-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.sm-other-service-card .sosc-price {
    font-size: 12px;
    color: #00D2FF;
    font-weight: 700;
}
.sm-other-service-card .sosc-btn {
    font-size: 12px;
    color: #FFFFFF;
    font-weight: 700;
}

.sm-megamenu-wrapper {
    width: 880px !important;
    max-width: 95vw !important;
}
.sm-col-heading {
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #38BDF8;
    margin-bottom: 8px;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.sm-col-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Category Tabs in #services */
.services-filter-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px 0 35px;
}
.sft-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #94A3B8;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s ease;
}
.sft-tab-btn:hover {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}
.sft-tab-btn.active {
    background: linear-gradient(135deg, #0064E0 0%, #1877F2 100%);
    color: #FFFFFF;
    border-color: #00D2FF;
    box-shadow: 0 4px 18px rgba(0, 100, 224, 0.4);
}

/* Service Landing Page Hero Visual Showcase */
.sm-hero-visual-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    margin: 22px 0 28px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6), 0 0 30px rgba(0, 100, 224, 0.15);
    max-height: 280px;
}
.sm-hero-feature-img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.sm-hero-visual-card:hover .sm-hero-feature-img {
    transform: scale(1.04);
}
.sm-hero-img-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(10, 19, 23, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(0, 210, 255, 0.35);
    color: #F8FAFC;
    font-size: 11.5px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.sm-hero-img-badge .pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10B981;
    box-shadow: 0 0 10px #10B981;
}
/* ========================================================
   SERVICE PAGES - CLEAN WHITE / VIP LIGHT THEME SYSTEM
   High-Contrast, Action Gallery, Specs & Verified Reviews
   ======================================================== */

.light-theme-main {
    background: #FFFFFF !important;
    color: #0F172A !important;
    min-height: 100vh;
}
.light-breadcrumbs {
    background: #F8FAFC !important;
    border-bottom: 1px solid #E2E8F0 !important;
}
.light-breadcrumbs .sm-breadcrumbs-list a {
    color: #64748B !important;
    font-weight: 500;
}
.light-breadcrumbs .sm-breadcrumbs-list a:hover {
    color: #0064E0 !important;
}
.light-breadcrumbs .sm-breadcrumbs-list .sep {
    color: #CBD5E1 !important;
}
.light-breadcrumbs .sm-breadcrumbs-list .active {
    color: #0F172A !important;
    font-weight: 700;
}

/* Light Hero */
.light-hero {
    background: radial-gradient(ellipse at 20% 20%, rgba(0, 100, 224, 0.06) 0%, #FFFFFF 70%) !important;
    border-bottom: 1px solid #E2E8F0 !important;
    padding: 50px 0 65px;
}
.light-badge {
    background: rgba(0, 100, 224, 0.08) !important;
    border: 1px solid rgba(0, 100, 224, 0.25) !important;
    color: #0064E0 !important;
    font-size: 12.5px;
    font-weight: 700;
}
.light-title {
    color: #0F172A !important;
    font-size: 38px;
    font-weight: 900;
    line-height: 1.18;
    margin-bottom: 16px;
    letter-spacing: -0.5px;
}
@media (max-width: 768px) {
    .light-title {
        font-size: 28px;
    }
}
.light-subtitle {
    color: #475569 !important;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 24px;
}

/* Feature Visual Banner Card */
.light-visual-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    margin: 20px 0 26px;
    border: 1.5px solid #E2E8F0 !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08) !important;
    max-height: 290px;
}
.light-visual-card .sm-hero-feature-img {
    width: 100%;
    height: 290px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.light-visual-card:hover .sm-hero-feature-img {
    transform: scale(1.04);
}
.light-img-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(0, 100, 224, 0.25) !important;
    color: #0F172A !important;
    font-size: 11.5px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Light Highlights */
.light-highlights .hl-item {
    color: #334155 !important;
    font-size: 13.5px;
    font-weight: 600;
}
.light-highlights .hl-check {
    color: #10B981 !important;
    font-weight: 900;
    font-size: 15px;
}

/* Light Stats Strip */
.light-stats-strip {
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 14px;
    padding: 16px 22px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}
.light-stats-strip .stat-lbl {
    color: #64748B !important;
    font-size: 11.5px;
}
.light-stats-strip .stat-divider {
    background: #E2E8F0 !important;
}
.text-primary-blue {
    color: #0064E0 !important;
}
.text-emerald {
    color: #10B981 !important;
}

/* Light Booking Card */
.light-booking-card {
    background: #FFFFFF !important;
    border: 1.5px solid rgba(0, 100, 224, 0.25) !important;
    border-radius: 22px;
    padding: 26px;
    box-shadow: 0 20px 50px rgba(0, 100, 224, 0.12), 0 4px 15px rgba(0, 0, 0, 0.04) !important;
}
.light-card-header {
    border-bottom: 1px solid #E2E8F0 !important;
}
.light-card-header .sch-title {
    color: #0F172A !important;
    font-size: 17px;
    font-weight: 800;
}
.light-card-header .sch-subtitle {
    color: #64748B !important;
    font-size: 12px;
}
.light-tag-emerald {
    background: rgba(16, 185, 129, 0.12) !important;
    color: #059669 !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    font-weight: 800;
    font-size: 10px;
    padding: 3px 8px;
    border-radius: 6px;
}

/* Light Form Inputs */
.light-form .sm-label {
    color: #334155 !important;
    font-size: 12.5px;
    font-weight: 700;
}
.light-input {
    width: 100%;
    background: #F8FAFC !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 10px;
    padding: 10px 14px;
    color: #0F172A !important;
    font-size: 13.5px;
    outline: none;
    transition: all 0.2s ease;
}
.light-input:focus {
    border-color: #0064E0 !important;
    box-shadow: 0 0 15px rgba(0, 100, 224, 0.2) !important;
    background: #FFFFFF !important;
}
.light-phone-wrap {
    display: flex;
    align-items: center;
    background: #F8FAFC !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 10px;
    overflow: hidden;
}
.light-phone-wrap:focus-within {
    border-color: #0064E0 !important;
    box-shadow: 0 0 15px rgba(0, 100, 224, 0.2) !important;
    background: #FFFFFF !important;
}
.light-phone-wrap .sm-phone-prefix {
    padding: 10px 12px;
    background: #E2E8F0 !important;
    color: #0064E0 !important;
    font-weight: 800;
    font-size: 13px;
    border-right: 1px solid #CBD5E1;
}
.light-phone-wrap .light-input-phone {
    border: none !important;
    background: transparent !important;
    color: #0F172A !important;
    width: 100%;
    padding: 10px 12px;
    outline: none;
    font-size: 13.5px;
}

/* Trust Guarantee Card (Light) */
.sm-trust-card-light {
    background: #F0FDF4 !important;
    border: 1px solid #BBF7D0 !important;
    border-radius: 12px;
    padding: 12px 16px;
    margin: 16px 0 20px;
}
.sm-trust-card-light .stc-row {
    display: flex;
    align-items: center;
    gap: 12px;
}
.sm-trust-card-light .stc-icon {
    font-size: 24px;
    flex-shrink: 0;
}
.sm-trust-card-light strong {
    color: #166534 !important;
    font-size: 13px;
    display: block;
    margin-bottom: 2px;
}
.sm-trust-card-light p {
    color: #15803D !important;
    font-size: 11.5px;
    line-height: 1.4;
    margin: 0;
}

/* Light Submit Button */
.light-btn-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important;
    color: #FFFFFF !important;
    font-size: 14.5px;
    font-weight: 800;
    border: none;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35) !important;
    transition: all 0.25s ease;
}
.light-btn-submit:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(16, 185, 129, 0.5) !important;
}

/* Confirmation Ticket in Light Theme */
.light-success-ticket {
    background: #FFFFFF !important;
    border: 2px solid #10B981 !important;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 15px 40px rgba(16, 185, 129, 0.15) !important;
}
.light-success-ticket .sst-title {
    color: #0F172A !important;
}
.light-ref-badge {
    background: #FEF3C7 !important;
    border: 1px dashed #F59E0B !important;
    color: #92400E !important;
}
.light-ref-badge strong {
    color: #B45309 !important;
}
.light-slip-box {
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 18px;
}
.light-slip-box .ssh-lbl {
    color: #475569 !important;
    font-weight: 700;
}
.light-pre-slip {
    color: #0F172A !important;
    background: transparent !important;
}
.light-btn-copy {
    background: #F1F5F9 !important;
    border: 1px solid #CBD5E1 !important;
    color: #0F172A !important;
}
.light-btn-copy:hover {
    background: #E2E8F0 !important;
}

/* Light Sections Common */
.light-section {
    background: #FFFFFF !important;
    color: #0F172A !important;
    border-bottom: 1px solid #E2E8F0 !important;
    padding: 70px 0;
}
.light-section-alt {
    background: #F8FAFC !important;
    color: #0F172A !important;
    border-bottom: 1px solid #E2E8F0 !important;
    padding: 70px 0;
}
.light-section .sm-section-eyebrow,
.light-section-alt .sm-section-eyebrow {
    color: #0064E0 !important;
    font-weight: 800;
    letter-spacing: 1px;
}
.light-section .sm-section-title,
.light-section-alt .sm-section-title {
    color: #0F172A !important;
    font-size: 32px;
    font-weight: 800;
}
.light-section .sm-section-desc,
.light-section-alt .sm-section-desc {
    color: #64748B !important;
    font-size: 15px;
}

/* In-Action Work Gallery Grid */
.sm-action-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 22px;
}
.sm-gallery-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    height: 270px;
    border: 1.5px solid #E2E8F0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.sm-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.sm-gallery-card:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 100, 224, 0.35);
    box-shadow: 0 18px 40px rgba(0, 100, 224, 0.15);
}
.sm-gallery-card:hover img {
    transform: scale(1.06);
}
.sm-gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px 18px;
    background: linear-gradient(0deg, rgba(15, 23, 42, 0.88) 0%, transparent 100%);
    color: #FFFFFF;
}
.sm-gallery-overlay .sgo-tag {
    font-size: 10px;
    font-weight: 800;
    background: #0064E0;
    color: #FFFFFF;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    margin-bottom: 4px;
    display: inline-block;
    letter-spacing: 0.5px;
}
.sm-gallery-overlay .sgo-title {
    font-size: 14px;
    font-weight: 700;
    color: #FFFFFF;
    display: block;
}

/* Specifications Grid */
.sm-specs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
}
.sm-spec-card {
    background: #FFFFFF;
    border: 1.5px solid #E2E8F0;
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.03);
    transition: all 0.25s ease;
}
.sm-spec-card:hover {
    transform: translateY(-3px);
    border-color: rgba(0, 100, 224, 0.3);
    box-shadow: 0 10px 25px rgba(0, 100, 224, 0.1);
}
.sm-spec-card .ssc-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.sm-spec-card .ssc-bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0064E0;
    flex-shrink: 0;
}
.sm-spec-card .ssc-label {
    font-size: 14.5px;
    font-weight: 800;
    color: #0F172A;
    margin: 0;
}
.sm-spec-card .ssc-value {
    font-size: 13.5px;
    color: #475569;
    line-height: 1.55;
    margin: 0;
}

/* Verified Customer Reviews Grid */
.sm-service-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 22px;
}
.light-review-card {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.25s ease;
}
.light-review-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
}
.light-review-card .src-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.light-review-card .src-avatar-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0064E0 0%, #1877F2 100%);
    color: #FFFFFF;
    font-weight: 800;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.light-review-card .src-name {
    font-size: 15px;
    font-weight: 800;
    color: #0F172A;
    margin: 0;
}
.light-review-card .src-area {
    font-size: 12px;
    color: #64748B;
}
.light-review-card .src-verified-pill {
    margin-left: auto;
    font-size: 10px;
    font-weight: 800;
    background: #DCFCE7;
    color: #166534;
    padding: 3px 8px;
    border-radius: 12px;
}
.light-review-card .src-stars {
    color: #F59E0B;
    font-size: 14px;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.light-review-card .src-comment {
    font-size: 13.5px;
    color: #334155;
    line-height: 1.6;
    margin: 0;
    font-style: italic;
}

/* Light Checklist & Process */
.light-check-card {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03) !important;
}
.light-check-num {
    background: rgba(0, 100, 224, 0.1) !important;
    color: #0064E0 !important;
    border: 1px solid rgba(0, 100, 224, 0.25) !important;
}
.light-check-text {
    color: #1E293B !important;
}
.light-step-card {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 18px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
}
.light-step-card h3 {
    color: #0F172A !important;
}
.light-step-card p {
    color: #64748B !important;
}
.light-step-badge {
    background: rgba(0, 100, 224, 0.1) !important;
    color: #0064E0 !important;
    border: 1px solid rgba(0, 100, 224, 0.25) !important;
}

/* Light FAQs Accordion */
.light-faq-item {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 14px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.03) !important;
}
.light-faq-item[open] {
    border-color: #0064E0 !important;
    box-shadow: 0 6px 20px rgba(0, 100, 224, 0.1) !important;
}
.light-faq-question {
    color: #0F172A !important;
}
.light-faq-question .faq-icon {
    color: #0064E0 !important;
}
.light-faq-answer p {
    color: #475569 !important;
}

/* Light Dubai Areas Cloud */
.light-area-pill {
    background: #FFFFFF !important;
    border: 1px solid #CBD5E1 !important;
    color: #334155 !important;
    font-weight: 600;
}
.light-area-pill:hover {
    background: #0064E0 !important;
    color: #FFFFFF !important;
    border-color: #0064E0 !important;
}

/* Light Other Services Cards */
.light-other-card {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
}
.light-other-card:hover {
    border-color: #0064E0 !important;
    box-shadow: 0 10px 25px rgba(0, 100, 224, 0.15) !important;
    transform: translateY(-3px);
}
.light-sosc-cat {
    background: rgba(0, 100, 224, 0.08) !important;
    color: #0064E0 !important;
}
.light-sosc-title {
    color: #0F172A !important;
}
.light-sosc-price {
    color: #059669 !important;
    font-weight: 700;
}
.light-sosc-btn {
    color: #0064E0 !important;
    font-weight: 700;
}


/* ==========================================================================
   SERVEXA MASTER RESPONSIVE & MOBILE POLISH SUITE (ALL SCREENS & DEVICES)
   Engineered for Mobile Phones (320px-480px), Tablets (768px), LED/4K Screens
   ========================================================================== */

/* Universal Responsive Foundation */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
}

*, *::before, *::after {
    box-sizing: inherit;
}

img, video, svg {
    max-width: 100%;
}

/* --- LARGE SCREENS & LED MONITORS (1400px+) --- */
@media (min-width: 1400px) {
    .container {
        max-width: 1360px !important;
        margin: 0 auto;
    }
    .hero-container {
        max-width: 1360px !important;
    }
}

/* --- TABLETS & SMALL LAPTOPS (769px - 1024px) --- */
@media (max-width: 1024px) {
    .hero-section {
        padding: 130px 0 60px !important;
    }
    .hero-container {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
    .hero-title {
        font-size: 38px !important;
        line-height: 1.2 !important;
    }
    .hero-subtitle {
        font-size: 17px !important;
    }
    .section-title {
        font-size: 30px !important;
    }
    .services-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    .smart-features-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px !important;
    }
    .reviews-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px !important;
    }
    .rta-banner-card {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 28px !important;
    }
}

/* --- PHABLETS & MOBILE LANDSCAPE (481px - 768px) --- */
@media (max-width: 768px) {
    .hero-section {
        padding: 110px 0 45px !important;
    }
    .hero-content {
        text-align: left;
    }
    .hero-title {
        font-size: 30px !important;
        line-height: 1.22 !important;
        margin-bottom: 14px !important;
    }
    .hero-subtitle {
        font-size: 15px !important;
        margin-bottom: 18px !important;
    }
    .hero-pricing-pill {
        padding: 8px 18px !important;
        margin-bottom: 22px !important;
    }
    .hero-pricing-pill .price-value {
        font-size: 20px !important;
    }
    .hero-stats-row {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
        text-align: center;
    }
    .hero-stats-row .stat-divider {
        display: none !important;
    }
    .hero-stats-row .stat-item strong {
        font-size: 16px !important;
    }
    .hero-stats-row .stat-item span {
        font-size: 11px !important;
    }
    .hero-form-card {
        padding: 24px 20px !important;
        border-radius: 18px !important;
        max-width: 520px;
        margin: 0 auto;
    }
    .section-our-services,
    .section-booking-wizard,
    .section-process-rta,
    .section-move-smarter,
    .section-reviews,
    .section-faqs {
        padding: 50px 0 !important;
    }
    .section-title {
        font-size: 26px !important;
    }
    .section-sub {
        font-size: 14px !important;
    }
    .services-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
    .smart-features-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px !important;
    }
    .reviews-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* --- SMARTPHONES & COMPACT MOBILE (<= 480px) --- */
@media (max-width: 480px) {
    .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    
    /* Top Floating Header & Nav */
    .trukker-vip-header-wrap {
        top: 8px !important;
        padding: 0 8px !important;
    }
    .trukker-vip-nav-island {
        padding: 6px 12px !important;
        border-radius: 14px !important;
    }
    .t-main {
        font-size: 16px !important;
        letter-spacing: 1px !important;
    }
    .t-sub {
        font-size: 7px !important;
        letter-spacing: 1px !important;
    }
    .trukker-vip-cta-btn {
        padding: 6px 10px !important;
        font-size: 11px !important;
        border-radius: 8px !important;
    }

    /* Hero Section Proportions */
    .hero-section {
        padding-top: 96px !important;
        padding-bottom: 35px !important;
        min-height: auto !important;
    }
    .hero-container {
        gap: 24px !important;
    }
    .hero-badge {
        font-size: 10.5px !important;
        padding: 4px 10px !important;
        margin-bottom: 10px !important;
        letter-spacing: 0.5px !important;
    }
    .hero-title {
        font-size: 24px !important;
        line-height: 1.25 !important;
        margin-bottom: 10px !important;
        letter-spacing: -0.3px !important;
    }
    .hero-subtitle {
        font-size: 13.5px !important;
        line-height: 1.45 !important;
        margin-bottom: 14px !important;
        color: #E2E8F0 !important;
    }
    .hero-pricing-pill {
        display: inline-flex !important;
        width: 100% !important;
        justify-content: space-between !important;
        padding: 7px 14px !important;
        margin-bottom: 16px !important;
        border-radius: 25px !important;
    }
    .hero-pricing-pill .price-prefix {
        font-size: 11.5px !important;
    }
    .hero-pricing-pill .price-value {
        font-size: 18px !important;
    }
    .hero-stats-row {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 6px !important;
        margin-bottom: 18px !important;
        background: rgba(15, 23, 42, 0.55);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        padding: 8px 6px !important;
        border-radius: 12px;
        border: 1px solid rgba(255, 255, 255, 0.08);
    }
    .hero-stats-row .stat-divider {
        display: none !important;
    }
    .hero-stats-row .stat-item strong {
        font-size: 14px !important;
        display: block;
        line-height: 1.2;
    }
    .hero-stats-row .stat-item span {
        font-size: 9.5px !important;
        color: #94A3B8 !important;
        display: block;
        line-height: 1.2;
    }
    .hero-live-location-badge {
        font-size: 8px !important;
        padding: 3px 8px !important;
        bottom: 8px !important;
        right: 10px !important;
        border-radius: 12px !important;
    }

    /* Hero Form Card Proportions */
    .hero-form-card {
        padding: 16px 14px !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
    }
    .form-header h3 {
        font-size: 17px !important;
        margin-bottom: 3px !important;
    }
    .form-header p {
        font-size: 11.5px !important;
        margin-bottom: 12px !important;
    }
    .form-group {
        margin-bottom: 10px !important;
    }
    .form-group label {
        font-size: 11.5px !important;
        margin-bottom: 3px !important;
    }
    .form-input, .form-select {
        padding: 9px 11px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
    }
    .country-code {
        padding: 9px 10px !important;
        font-size: 12px !important;
    }
    .btn-accent-full, .btn-orange-full {
        padding: 11px 16px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
        margin-top: 4px !important;
    }

    /* General Section Spacing & Titles */
    .section-our-services,
    .section-booking-wizard,
    .section-process-rta,
    .section-move-smarter,
    .section-reviews,
    .section-faqs {
        padding: 38px 0 !important;
    }
    .section-header {
        margin-bottom: 22px !important;
    }
    .sub-badge {
        font-size: 9.5px !important;
        padding: 3px 9px !important;
        margin-bottom: 8px !important;
        letter-spacing: 0.5px !important;
    }
    .section-title {
        font-size: 21px !important;
        line-height: 1.28 !important;
        margin-bottom: 6px !important;
        letter-spacing: -0.3px !important;
    }
    .section-sub {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    /* Booking Wizard on Mobile */
    .booking-wizard-card {
        padding: 16px 12px !important;
        border-radius: 14px !important;
    }
    .wizard-steps-bar {
        font-size: 10.5px !important;
        gap: 3px !important;
        margin-bottom: 14px !important;
        overflow-x: auto;
        padding-bottom: 4px;
    }
    .step-pill {
        padding: 4px 7px !important;
        font-size: 10px !important;
        border-radius: 12px !important;
    }
    .step-pill span {
        width: 17px !important;
        height: 17px !important;
        font-size: 9.5px !important;
        margin-right: 4px !important;
    }
    .step-connector {
        width: 10px !important;
        margin: 0 1px !important;
    }
    .step-heading {
        font-size: 15px !important;
        margin-bottom: 12px !important;
    }
    .property-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .property-card {
        padding: 14px 12px !important;
        border-radius: 12px !important;
    }
    .property-icon svg {
        width: 26px !important;
        height: 26px !important;
    }
    .property-card h4 {
        font-size: 14px !important;
        margin: 6px 0 3px !important;
    }
    .property-card p {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
        margin-bottom: 8px !important;
    }
    .selection-check {
        font-size: 11px !important;
        padding: 3px 8px !important;
    }
    .btn-wizard-next {
        padding: 11px 16px !important;
        font-size: 13.5px !important;
        border-radius: 10px !important;
        width: 100% !important;
    }

    /* Services Filter Tabs - Smooth Mobile Swipe */
    .services-filter-tabs {
        display: flex !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        padding: 2px 2px 10px !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .services-filter-tabs::-webkit-scrollbar {
        display: none;
    }
    .sft-tab-btn {
        padding: 6px 12px !important;
        font-size: 11.5px !important;
        border-radius: 20px !important;
        flex-shrink: 0 !important;
    }

    /* Service Cards on Mobile */
    .services-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .service-card {
        border-radius: 14px !important;
    }
    .service-img-wrap {
        height: 145px !important;
    }
    .service-tag {
        font-size: 10px !important;
        padding: 4px 9px !important;
        top: 10px !important;
        left: 10px !important;
    }
    .service-info {
        padding: 14px 12px !important;
    }
    .service-info h3 {
        font-size: 16px !important;
        margin-bottom: 5px !important;
    }
    .service-info p {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
        margin-bottom: 10px !important;
    }
    .service-link {
        font-size: 12.5px !important;
    }

    /* RTA Standard Banner on Mobile */
    .rta-banner-card {
        grid-template-columns: 1fr !important;
        padding: 18px 14px !important;
        border-radius: 14px !important;
        gap: 16px !important;
    }
    .rta-badge {
        font-size: 9.5px !important;
        padding: 3px 8px !important;
    }
    .rta-title {
        font-size: 19px !important;
        line-height: 1.28 !important;
        margin-bottom: 10px !important;
    }
    .rta-description {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
        margin-bottom: 10px !important;
    }
    .rta-highlights-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    .rta-highlight-item {
        font-size: 12px !important;
        gap: 8px !important;
    }
    .rta-image-wrap img {
        border-radius: 10px !important;
        max-height: 170px !important;
        width: 100% !important;
        object-fit: cover;
    }

    /* Move Smarter / Features Grid (Compact 2-col) */
    .smart-features-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .feature-card {
        padding: 12px 10px !important;
        border-radius: 12px !important;
    }
    .feat-icon-box {
        font-size: 22px !important;
        margin-bottom: 6px !important;
    }
    .feature-card h3 {
        font-size: 13px !important;
        margin-bottom: 4px !important;
        line-height: 1.25 !important;
    }
    .feature-card p {
        font-size: 11px !important;
        line-height: 1.4 !important;
    }

    /* Reviews / Testimonials on Mobile */
    .reviews-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .review-card {
        padding: 15px 12px !important;
        border-radius: 14px !important;
    }
    .rating-stars {
        font-size: 13px !important;
        margin-bottom: 6px !important;
    }
    .review-text {
        font-size: 12.5px !important;
        line-height: 1.48 !important;
        margin-bottom: 12px !important;
    }
    .avatar-circle {
        width: 34px !important;
        height: 34px !important;
        font-size: 12px !important;
    }
    .reviewer-meta strong {
        font-size: 12.5px !important;
    }
    .reviewer-meta span {
        font-size: 10.5px !important;
    }

    /* FAQ Accordion on Mobile */
    .faq-accordion-wrap {
        gap: 8px !important;
    }
    .faq-item {
        border-radius: 10px !important;
    }
    .faq-question {
        padding: 12px 14px !important;
        font-size: 13.5px !important;
        line-height: 1.35 !important;
    }
    .faq-answer {
        padding: 8px 14px 12px !important;
        font-size: 12.5px !important;
        line-height: 1.48 !important;
    }

    /* Floating WhatsApp & Call Buttons (Sleek, Unobtrusive) */
    .apex-whatsapp-float {
        bottom: 14px !important;
        right: 14px !important;
        padding: 9px 14px !important;
        font-size: 12px !important;
        border-radius: 25px !important;
        gap: 6px !important;
    }
    .apex-call-float {
        bottom: 62px !important;
        right: 14px !important;
        width: 38px !important;
        height: 38px !important;
    }

    /* Footer Mobile Styling */
    .apex-footer {
        padding-top: 36px !important;
    }
    .footer-content-wrap {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .brand-mission {
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin: 10px 0 14px !important;
    }
    .footer-col-title {
        font-size: 14px !important;
        margin-bottom: 10px !important;
    }
    .footer-link-list li {
        font-size: 12px !important;
        margin-bottom: 7px !important;
    }
    .footer-bottom-bar {
        font-size: 11px !important;
        padding-top: 14px !important;
        margin-top: 24px !important;
    }
}

/* --- ULTRA-COMPACT SMARTPHONES (<= 360px, e.g. Galaxy Fold / iPhone SE) --- */
@media (max-width: 360px) {
    .hero-title {
        font-size: 22px !important;
    }
    .hero-subtitle {
        font-size: 12.5px !important;
    }
    .hero-stats-row .stat-item strong {
        font-size: 13px !important;
    }
    .hero-stats-row .stat-item span {
        font-size: 9px !important;
    }
    .section-title {
        font-size: 19px !important;
    }
    .smart-features-grid {
        grid-template-columns: 1fr !important;
    }
    .hero-pricing-pill .price-value {
        font-size: 16px !important;
    }
}
