/* Cars 4 Executives - Theme (bright, white-based palette; navy = primary accent, red = strategic secondary accent) */
/* Cars 4 Executives - Theme (Bright white-based palette; Royal Blue & Silver accents matching the logo) */
:root {
  --ld-bg: #ffffff;
  --ld-bg-2: #f6f8fb;
  --ld-bg-3: #eef2f7;
  
  /* Brand Blues from Logo */
  --ld-navy: #104c91;       /* Deep Executive Blue (Primary) */
  --ld-navy-2: #0a254a;     /* Dark Navy (Headings & Contrast) */
  
  /* Accent Blue (Replaces the old red completely) */
  --ld-red: #1a73e8;        /* Vibrant Accent Blue (Active states, highlights, "Taxi" text) */
  --ld-red-2: #155cb0;      /* Darker Accent Blue (Hover states) */
  
  --ld-gold: var(--ld-navy);
  --ld-white: #ffffff;
  --ld-gold-2: var(--ld-navy-2);
  --ld-text: #1c2635;       /* Charcoal Navy for body text */
  --ld-muted: #636e80;      /* Slate Gray for secondary text */
  --ld-border: rgba(16, 76, 145, 0.14);
  --ld-card: #ffffff;
  --ld-card-shadow: 0 10px 30px -15px rgba(16, 76, 145, 0.18);
}

.navbar-collapse {
    flex-grow: 0 !important;
}
.text-white{
  color: var(--ld-white) !important;
}
*{box-sizing:border-box}
html,body{background:var(--ld-bg);color:var(--ld-text);font-family:'Inter',system-ui,sans-serif;scroll-behavior:smooth}
h1,h2,h3,h4,h5{font-family:'Cormorant Garamond','Playfair Display',serif;font-weight:500;letter-spacing:.5px;color:var(--ld-navy-2)}
.text-gold{color:var(--ld-navy)!important}
.bg-dark-1{background:var(--ld-bg)}
.bg-dark-2{background:var(--ld-bg-2)}
.bg-dark-3{background:var(--ld-bg-3)}
a{color:var(--ld-navy);text-decoration:none;transition:.2s}
a:hover{color:var(--ld-red)}

/* Top utility bar */
.topbar{background:var(--ld-navy);color:var(--ld-muted);font-size:.82rem;padding:.5rem 0;border-bottom:1px solid var(--ld-border)}
.topbar a{color:#ffffff}
.topbar a:hover{color:var(--ld-muted)}

/* Navbar */
.navbar-ld{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--ld-border);box-shadow:0 4px 24px -16px rgba(22,48,92,.25);padding:.9rem 0;position:sticky;top:0;z-index:1030}
.navbar-ld .navbar-brand img{height:80px}
.navbar-ld .nav-link{color:var(--ld-text)!important;font-weight:600;letter-spacing:1.5px;font-size:.78rem;text-transform:uppercase;margin:0 .55rem;position:relative}
.navbar-ld .nav-link:hover,.navbar-ld .nav-link.active{color:var(--ld-red)!important}
.navbar-ld .nav-link.active::after{content:"";position:absolute;left:.55rem;right:.55rem;bottom:-6px;height:2px;background:var(--ld-red)}
.btn-gold{background:var(--ld-red);color:#fff;border:none;border-radius:40px;padding:.65rem 1.6rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.78rem;transition:.25s;display:inline-flex;align-items:center;gap:.5rem}
.btn-gold:hover{background:var(--ld-red-2);color:#fff;transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(200,16,46,.5)}
.btn-outline-gold{background:transparent;color:var(--ld-navy);border:1px solid var(--ld-navy);border-radius:40px;padding:.65rem 1.6rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.78rem;transition:.25s;display:inline-flex;align-items:center;gap:.5rem}
.btn-outline-gold:hover{background:var(--ld-navy);color:#fff}
.btn-pill-phone{background:var(--ld-navy);border:1px solid var(--ld-navy);color:#fff;border-radius:40px;padding:.55rem 1.1rem;font-size:.85rem;display:inline-flex;align-items:center;gap:.5rem}
.btn-pill-phone i{color:#fff}

/* Hero (kept as a photographic banner with a dark overlay for legible white text; red used as the strategic accent here) */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:6rem 0 4rem}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(6,14,28,.86) 0%,rgba(6,14,28,.6) 50%,rgba(6,14,28,.35) 100%),url('https://images.unsplash.com/photo-1619767886558-efdc259cde1a?auto=format&fit=crop&w=2400&q=90') center/cover no-repeat;z-index:-1}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;color:var(--ld-red);text-transform:uppercase;letter-spacing:3px;font-size:.75rem;font-weight:700;margin-bottom:1.2rem}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--ld-red)}
.hero h1{font-size:clamp(2.6rem,5.5vw,5rem);line-height:1.05;margin-bottom:1.5rem;color:#fff}
.hero h1 .accent{color:var(--ld-red);font-style:italic}
.hero p.lead{color:#e9ecf2;font-size:1.05rem;max-width:520px;margin-bottom:2rem}
.feature-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}
.feature-chip{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:1.1rem .8rem;text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:#f1f2f5}
.feature-chip i{display:block;color:var(--ld-red);font-size:1.3rem;margin-bottom:.5rem}

/* Booking card */
.booking-card{background:#fff;border:1px solid var(--ld-border);border-radius:22px;padding:2rem;box-shadow:var(--ld-card-shadow)}
.booking-card h3{font-family:'Inter',sans-serif;font-size:1.3rem;font-weight:600;margin:0;color:var(--ld-navy-2)}
.booking-card .sub{color:var(--ld-muted);font-size:.85rem;margin-bottom:1.3rem}
.trip-tabs{display:flex;background:var(--ld-bg-2);border:1px solid var(--ld-border);border-radius:40px;padding:4px;margin-bottom:1.2rem}
.trip-tabs button{flex:1;background:transparent;color:var(--ld-muted);border:none;border-radius:40px;padding:.55rem;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;cursor:pointer;transition:.25s}
.trip-tabs button.active{background:var(--ld-navy);color:#fff}
.booking-card .form-control,.booking-card .form-select{background:#fff;border:1px solid var(--ld-border);color:var(--ld-text);padding:.85rem 1rem .85rem 2.7rem;border-radius:12px;font-size:.9rem}
.booking-card .form-control:focus,.booking-card .form-select:focus{box-shadow:none;border-color:var(--ld-navy);background:#fff;color:var(--ld-text)}
.booking-card .input-icon{position:relative;margin-bottom:.9rem}
.booking-card .input-icon i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--ld-navy);pointer-events:none;z-index:2}
.booking-card .form-select{appearance:none;-webkit-appearance:none}
.booking-card .btn-gold{width:100%;justify-content:center;padding:.95rem;font-size:.85rem}
.booking-trust{display:flex;justify-content:space-between;color:var(--ld-muted);font-size:.72rem;margin-top:1rem;text-transform:uppercase;letter-spacing:1px}
.booking-trust span i{color:var(--ld-navy);margin-right:.3rem}

/* Section */
.section{padding:7rem 0;position:relative}
.section-eyebrow{color:var(--ld-navy);text-transform:uppercase;letter-spacing:3px;font-size:.75rem;font-weight:700;display:inline-block;margin-bottom:1rem}
.section-title{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.1;margin-bottom:1.2rem;color:var(--ld-navy-2)}
.section-title .accent{color:var(--ld-navy);font-style:italic}
.section-sub{color:var(--ld-muted);max-width:680px;font-size:1.02rem}

/* About */
.about-img-wrap{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--ld-border);box-shadow:var(--ld-card-shadow)}
.about-img-wrap img{width:100%;display:block}
.about-badge{position:absolute;top:1.5rem;left:1.5rem;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--ld-border);border-radius:16px;padding:1rem 1.3rem;color:var(--ld-navy-2)}
.about-badge .num{color:var(--ld-navy);font-size:2rem;font-family:'Cormorant Garamond',serif;line-height:1}
.about-badge .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--ld-muted);margin-top:.2rem}
.about-points li{list-style:none;padding:.7rem 0;display:flex;align-items:flex-start;gap:.9rem;color:var(--ld-text);border-bottom:1px solid var(--ld-border)}
.about-points li i{color:var(--ld-navy);margin-top:.25rem}
.about-points{padding:0;margin:1.5rem 0 0}

/* Stats */
.stat{text-align:center;padding:1.5rem 1rem;border:1px solid var(--ld-border);border-radius:18px;background:var(--ld-card);box-shadow:var(--ld-card-shadow)}
.stat .num{font-family:'Cormorant Garamond',serif;color:var(--ld-navy);font-size:2.8rem;line-height:1}
.stat .lbl{color:var(--ld-muted);text-transform:uppercase;letter-spacing:2px;font-size:.72rem;margin-top:.5rem}

/* Fleet */
.fleet-card{background:var(--ld-card);border:1px solid var(--ld-border);border-radius:20px;overflow:hidden;transition:.35s;height:100%;display:flex;flex-direction:column;box-shadow:var(--ld-card-shadow)}
.fleet-card:hover{transform:translateY(-6px);border-color:var(--ld-navy);box-shadow:0 30px 60px -25px rgba(22,48,92,.3)}
.fleet-img{aspect-ratio:16/10;overflow:hidden;position:relative}
.fleet-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.fleet-card:hover .fleet-img img{transform:scale(1.06)}
.fleet-img .tag{position:absolute;top:1rem;left:1rem;background:var(--ld-navy);color:#fff;padding:.35rem .8rem;border-radius:30px;font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px}
.fleet-img .price{position:absolute;top:1rem;right:1rem;background:var(--ld-red);color:#fff;padding:.35rem .8rem;border-radius:30px;font-size:.78rem;font-weight:700}
.fleet-body{padding:1.6rem;display:flex;flex-direction:column;flex:1}
.fleet-body h3{font-size:1.5rem;margin-bottom:.4rem;color:var(--ld-navy-2)}
.fleet-meta{color:var(--ld-muted);font-size:.85rem;margin-bottom:1rem}
.fleet-features{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .8rem;margin-bottom:1.3rem;flex:1}
.fleet-features li{list-style:none;color:var(--ld-text);font-size:.83rem;display:flex;align-items:center;gap:.4rem}
.fleet-features li::before{content:"";width:6px;height:6px;background:var(--ld-navy);border-radius:50%}

/* Services */
.service-card{background:var(--ld-card);border:1px solid var(--ld-border);border-radius:18px;padding:2rem;height:100%;transition:.3s;position:relative;overflow:hidden;box-shadow:var(--ld-card-shadow)}
.service-card:hover{border-color:var(--ld-navy);transform:translateY(-4px)}
.service-num{color:rgba(22,48,92,.12);font-family:'Cormorant Garamond',serif;font-size:3rem;line-height:1;position:absolute;top:1.2rem;right:1.5rem}
.service-card h3{color:var(--ld-navy-2);font-size:1.4rem;margin:0 0 .8rem}
.service-card p{color:var(--ld-muted);font-size:.92rem;margin:0}

/* Experience / photo tiles */
.exp-card{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--ld-border);box-shadow:var(--ld-card-shadow)}
.exp-card img{width:100%;height:100%;object-fit:cover;transition:.6s}
.exp-card:hover img{transform:scale(1.06)}
.exp-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,17,34,.92) 0%,rgba(8,17,34,.18) 60%,transparent 100%)}
.exp-meta{position:absolute;bottom:0;left:0;right:0;padding:1.6rem;z-index:2;color:#fff}
.exp-meta .tag{color:var(--ld-red);text-transform:uppercase;letter-spacing:2px;font-size:.7rem;margin-bottom:.4rem;display:block;font-weight:700}
.exp-meta h4{font-size:1.4rem;margin:0 0 .4rem;color:#fff}
.exp-meta p{font-size:.85rem;color:#eceef2;margin:0}

/* Testimonial */
.testimonial{background:var(--ld-card);border:1px solid var(--ld-border);border-radius:24px;padding:3rem;position:relative;box-shadow:var(--ld-card-shadow)}
.testimonial .quote{color:var(--ld-red);font-size:4rem;font-family:'Cormorant Garamond',serif;line-height:1;position:absolute;top:1rem;left:2rem;opacity:.45}
.testimonial p{font-size:1.15rem;color:var(--ld-text);font-style:italic;line-height:1.7}
.testimonial .author{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}
.avatar{width:50px;height:50px;border-radius:50%;background:var(--ld-red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}

/* CTA (photographic band, dark overlay for legibility; red used for the accent word) */
.cta{position:relative;padding:6rem 0;background:linear-gradient(rgba(8,17,34,.8),rgba(8,17,34,.88)),url('../images/luxurycar.jpg') center/cover;text-align:center}
.cta h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:1.2rem;color:#fff}
.cta h2 .accent{color:var(--ld-red);font-style:italic}
.cta .section-eyebrow{color:var(--ld-red)}
.cta .section-sub{color:#dde1e9}

/* Page hero (inner-page banner) */
.page-hero{padding:9rem 0 5rem;background:linear-gradient(rgba(8,17,34,.82),rgba(8,17,34,.9)),url('../images/luxurycar.jpg') center/cover;text-align:center;border-bottom:1px solid var(--ld-border)}
.page-hero h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:.6rem;color:#fff}
.page-hero h1 .accent{color:var(--ld-red);font-style:italic}
.page-hero .crumb{color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:3px;font-size:.78rem}
.page-hero .crumb a{color:var(--ld-red)}

/* FAQ */
.accordion-ld .accordion-item{background:#fff;border:1px solid var(--ld-border);border-radius:14px!important;margin-bottom:1rem;overflow:hidden;box-shadow:var(--ld-card-shadow)}
.accordion-ld .accordion-button{background:transparent;color:var(--ld-navy-2);font-weight:600;font-size:1.05rem;padding:1.3rem 1.5rem}
.accordion-ld .accordion-button:not(.collapsed){background:rgba(22,48,92,.06);color:var(--ld-navy);box-shadow:none}
.accordion-ld .accordion-body{color:var(--ld-text);padding:0 1.5rem 1.4rem;font-size:.95rem;line-height:1.7}
.accordion-ld .accordion-button:focus{box-shadow:none}

/* Contact */
.contact-card{background:var(--ld-card);border:1px solid var(--ld-border);border-radius:18px;padding:1.8rem;text-align:center;height:100%;transition:.3s;box-shadow:var(--ld-card-shadow)}
.contact-card:hover{border-color:var(--ld-navy);transform:translateY(-4px)}
.contact-card i{color:var(--ld-navy);font-size:1.8rem;margin-bottom:1rem;display:block}
.contact-card h4{font-size:1.1rem;color:var(--ld-navy-2);margin-bottom:.5rem}
.contact-card p,.contact-card a{color:var(--ld-muted);font-size:.93rem;margin:0}

/* Forms (auth/contact) */
.form-ld .form-label{color:var(--ld-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:.4rem}
.form-ld .form-control,.form-ld .form-select{background:#fff;border:1px solid var(--ld-border);color:var(--ld-text);padding:.85rem 1rem;border-radius:12px}
.form-ld .form-control:focus,.form-ld .form-select:focus{border-color:var(--ld-navy);box-shadow:none;background:#fff;color:var(--ld-text)}
textarea.form-control{min-height:140px}

/* Footer */
.footer{background:var(--ld-bg-2);border-top:1px solid var(--ld-border);padding:5rem 0 2rem;color:var(--ld-muted)}
.footer h5{color:var(--ld-navy-2);font-family:'Inter',sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:1.4rem}
.footer a{color:var(--ld-muted);display:block;padding:.3rem 0;font-size:.92rem}
.footer a:hover{color:var(--ld-red);padding-left:.3rem}
.footer .brand{height:50px;margin-bottom:1rem}
.footer-bottom{border-top:1px solid var(--ld-border);margin-top:3rem;padding-top:1.5rem;text-align:center;color:var(--ld-muted);font-size:.85rem}
.social-row{display:flex;gap:.6rem;margin-top:1rem}
.social-row a{width:38px;height:38px;border-radius:50%;border:1px solid var(--ld-border);display:flex;align-items:center;justify-content:center;color:var(--ld-navy);padding:0}
.social-row a:hover{background:var(--ld-navy);color:#fff;border-color:var(--ld-navy)}

/* WhatsApp float (brand colour, unaffected by theme) */
.wa-float{position:fixed;bottom:24px;right:24px;background:#25d366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(37,211,102,.4);z-index:1000;font-size:1.6rem}
.wa-float:hover{color:#fff;transform:scale(1.07)}

/* Responsive */
@media (max-width:991px){
  .feature-chips{grid-template-columns:1fr 1fr}
  .hero{padding:4rem 0 2rem}
  .section{padding:4.5rem 0}
  .navbar-ld .nav-link{margin:.3rem 0}
  .navbar-collapse{background:rgba(255,255,255,.98);padding:1rem;border-radius:14px;margin-top:.8rem;border:1px solid var(--ld-border);box-shadow:var(--ld-card-shadow)}
  .testimonial{padding:2rem}
}
@media (max-width:576px){
  .feature-chips{grid-template-columns:1fr 1fr}
  .booking-card{padding:1.3rem}
}

/* ===== Custom Cursor (red ring + dot — small strategic accent) ===== */
@media (hover: hover) and (pointer: fine) {
  body { cursor: none; }
  a, button, .btn, input, textarea, select, [role="button"], .nav-link { cursor: none; }

  .cursor-dot,
  .cursor-ring {
    position: fixed;
    top: 0; left: 0;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    will-change: transform;
  }
  .cursor-dot {
    width: 6px; height: 6px;
    background: var(--ld-red);
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(200,16,46,.9);
    transition: width .2s, height .2s, background .2s;
  }
  .cursor-ring {
    width: 38px; height: 38px;
    border: 1.5px solid rgba(22,48,92,.6);
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(22,48,92,.2), inset 0 0 8px rgba(22,48,92,.12);
    transition: width .25s ease, height .25s ease, border-color .25s ease, background .25s ease, transform .08s linear;
  }
  .cursor-ring.is-hover {
    width: 60px; height: 60px;
    border-color: var(--ld-red);
    background: rgba(200,16,46,.06);
  }
  .cursor-dot.is-hover {
    width: 10px; height: 10px;
  }
  .cursor-ring.is-click {
    width: 28px; height: 28px;
    background: rgba(200,16,46,.15);
  }
}
