/* =============================================
   EXECUTIVE DRIVING — FLEET PAGE STYLES  v3
   ============================================= */

body.fleet-page { background: #0a0a0a; color: #fff; }
body.inner-page #page { opacity: 1; }
.fleet-page #site-header { background: #0a0a0a !important; }

/* ── Page Hero ── */
.page-hero {
  position: relative;
  padding: 130px 40px 50px;
  background: #0a0a0a;
  text-align: center;
  overflow: hidden;
}
/* hide the subtitle line under "Our Fleet" */
.page-hero p { display: none !important; }
.hero-label {
  display: inline-flex; align-items: center; gap: 15px;
  font-size: 11px; letter-spacing: 4px; text-transform: uppercase;
  color: #c9a227; margin-bottom: 25px; font-weight: 500;
  opacity: 0; animation: fadeDown 0.8s ease 0.2s forwards;
}
.hero-label::before, .hero-label::after {
  content:''; width:50px; height:1px; background:linear-gradient(90deg,transparent,#c9a227);
}
.hero-label::after { background:linear-gradient(90deg,#c9a227,transparent); }

/* ── "Our Fleet" title & CTA title — Josefin Sans thin, like team page ── */
.fleet-hero-title {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 100 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  /* size handled per-context below */
}

/* Hero h1 */
.page-hero .fleet-hero-title {
  font-size: clamp(48px, 8vw, 80px) !important;
  margin-bottom: 20px;
  opacity: 0;
  animation: fadeUp 0.8s ease 0.4s forwards;
}

/* CTA section title */
.cta-section .fleet-hero-title {
  font-size: clamp(32px, 5vw, 56px) !important;
  color: #fff;
  margin-bottom: 15px;
  line-height: 1.1;
  /* override Playfair from global h2 rule */
  font-family: 'Josefin Sans', sans-serif !important;
}

@keyframes fadeUp   { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:none} }
@keyframes fadeDown { from{opacity:0;transform:translateY(-20px)} to{opacity:1;transform:none} }

/* ── Vehicle Showcase ── */
.vehicles-showcase { padding:0 0 100px; background:#0a0a0a; }
.vehicle-card {
  display:grid; grid-template-columns:1fr 1fr; min-height:600px;
  position:relative; overflow:hidden;
  opacity:0; transform:translateY(50px); transition:all 0.8s cubic-bezier(0.4,0,0.2,1);
}
.vehicle-card.visible { opacity:1; transform:none; }
.vehicle-card:nth-child(odd) { direction:rtl; }
.vehicle-card:nth-child(odd) > * { direction:ltr; }
@media(max-width:900px){
  .vehicle-card,.vehicle-card:nth-child(odd){ grid-template-columns:1fr; direction:ltr; }
}

/* ── Vehicle Image (wraps slider) ── */
.vehicle-image { position:relative; overflow:hidden; min-height:400px; }
.vehicle-image::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(135deg,rgba(201,162,39,.1) 0%,transparent 50%,rgba(0,0,0,.3) 100%);
}

/* ── Image Slider ── */
.vehicle-slider {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
}
.slider-track {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
}
.slider-track .slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.7s ease;
  pointer-events: none;
}
.slider-track .slide.active {
  opacity: 1;
  pointer-events: auto;
}
/* subtle zoom on active slide when card is hovered */
.vehicle-card:hover .slider-track .slide.active {
  transform: scale(1.05);
  transition: opacity 0.7s ease, transform 0.8s ease;
}

/* ── Slider Arrows ── */
.slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(201,162,39,.5);
  color: #c9a227;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 22px;
  transition: background .3s, border-color .3s;
  border-radius: 2px;
}
.slider-arrow:hover { background: rgba(201,162,39,.25); border-color: #c9a227; }
.slider-prev { left: 14px; }
.slider-next { right: 14px; }

/* ── Slider Dots ── */
.slider-dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.slider-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  border: 1px solid rgba(201,162,39,.5);
  cursor: pointer;
  transition: background .3s, transform .2s;
  padding: 0;
}
.slider-dot:hover { transform: scale(1.2); }
.slider-dot.active { background: #c9a227; border-color: #c9a227; }

/* ── Corner frames (hover) ── */
.image-frame { position:absolute; z-index:3; pointer-events:none; }
.frame-tl { top:20px;left:20px; width:60px;height:60px; border-top:2px solid #c9a227; border-left:2px solid #c9a227; opacity:0; transform:translate(-10px,-10px); transition:all .5s ease; }
.frame-br { bottom:20px;right:20px; width:60px;height:60px; border-bottom:2px solid #c9a227; border-right:2px solid #c9a227; opacity:0; transform:translate(10px,10px); transition:all .5s ease; }
.vehicle-card:hover .frame-tl,.vehicle-card:hover .frame-br { opacity:1; transform:none; }

/* ── Badge ── */
.vehicle-badge { position:absolute; top:30px; right:30px; z-index:4; background:#c9a227; color:#0a0a0a; padding:10px 20px; font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; }
.vehicle-card:nth-child(odd) .vehicle-badge { right:auto; left:30px; }
@media(max-width:900px){ .vehicle-card:nth-child(odd) .vehicle-badge { right:30px; left:auto; } }

/* ── Vehicle Info Panel ── */
.vehicle-info { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:60px 80px; background:#0a0a0a; position:relative; }
@media(max-width:900px){ .vehicle-info { padding:50px 30px; } }
.vehicle-number { font-family:'Playfair Display',serif; font-size:100px; font-weight:400; color:rgba(201,162,39,.08); position:absolute; top:30px; right:40px; line-height:1; pointer-events:none; }
.vehicle-card:nth-child(odd) .vehicle-number { right:auto; left:40px; }
.vehicle-type { display:inline-flex; align-items:center; gap:10px; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:#c9a227; margin-bottom:15px; font-weight:500; }
.vehicle-type::before { content:''; width:30px; height:1px; background:#c9a227; }
.vehicle-name { font-family:'Playfair Display',serif; font-size:clamp(36px,5vw,48px); font-weight:400; color:#fff; margin-bottom:8px; letter-spacing:-1px; }
.vehicle-variant { font-size:14px; color:#e8d48a; font-weight:400; margin-bottom:25px; letter-spacing:1px; }
.vehicle-desc { font-size:15px; color:#888; font-weight:300; line-height:1.8; margin-bottom:35px; max-width:450px; text-align:center; }
.vehicle-specs { display:flex; gap:30px; margin-bottom:40px; flex-wrap:wrap; }
.spec-item { display:flex; align-items:center; gap:12px; }
.spec-icon { width:45px; height:45px; border:1px solid rgba(201,162,39,.3); display:flex; align-items:center; justify-content:center; transition:all .3s ease; }
.spec-item:hover .spec-icon { background:rgba(201,162,39,.1); border-color:#c9a227; }
.spec-icon i { font-size:18px; color:#c9a227; }
.spec-text  { font-size:13px; color:#fff; font-weight:500; }
.spec-label { font-size:11px; color:#888; font-weight:300; }

.btn-book-vehicle {
  display:inline-flex; align-items:center; gap:12px; padding:18px 40px;
  background:#c9a227; color:#0a0a0a; font-size:12px; font-weight:600;
  letter-spacing:2px; text-transform:uppercase; text-decoration:none;
  border:2px solid #c9a227; position:relative; overflow:hidden;
  transition:all .4s ease; width:fit-content;
}
.btn-book-vehicle::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); transition:left .5s ease; }
.btn-book-vehicle:hover { background:transparent; color:#c9a227; transform:translateX(5px); }
.btn-book-vehicle:hover::before { left:100%; }
.btn-book-vehicle i { font-size:16px; transition:transform .3s ease; }
.btn-book-vehicle:hover i { transform:translateX(5px); }

/* ── Features ── */
.features-section { position:relative; padding:120px 40px; background:#0a0a0a; overflow:hidden; }
.features-header { text-align:center; margin-bottom:80px; }
.features-label { display:inline-flex; align-items:center; gap:12px; font-size:11px; letter-spacing:4px; text-transform:uppercase; color:#c9a227; margin-bottom:20px; font-weight:500; }
.features-label::before,.features-label::after { content:''; width:40px; height:1px; background:#c9a227; opacity:.5; }
.features-title { font-family:'Playfair Display',serif; font-size:clamp(36px,5vw,56px); font-weight:400; letter-spacing:-1px; margin-bottom:20px; background:linear-gradient(135deg,#fff 0%,#e8d48a 50%,#fff 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.features-subtitle { font-size:15px; color:#888; font-weight:300; max-width:500px; margin:0 auto; line-height:1.7; }
.features-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; max-width:1200px; margin:0 auto; }
@media(max-width:1024px){ .features-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .features-grid { grid-template-columns:1fr; } }
.feature-card { position:relative; padding:50px 35px; text-align:center; border:1px solid rgba(201,162,39,.1); background:#0a0a0a; transition:all .5s cubic-bezier(.4,0,.2,1); overflow:hidden; cursor:default; opacity:0; transform:translateY(30px); }
.feature-card.visible { animation:fadeUp .8s ease forwards; }
.feature-card:nth-child(1).visible{animation-delay:.1s} .feature-card:nth-child(2).visible{animation-delay:.2s}
.feature-card:nth-child(3).visible{animation-delay:.3s} .feature-card:nth-child(4).visible{animation-delay:.4s}
.feature-card:nth-child(5).visible{animation-delay:.5s} .feature-card:nth-child(6).visible{animation-delay:.6s}
.feature-card:nth-child(7).visible{animation-delay:.7s} .feature-card:nth-child(8).visible{animation-delay:.8s}
.feature-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(201,162,39,.05) 0%,transparent 100%); opacity:0; transition:opacity .5s ease; }
.feature-card:hover { background:rgba(201,162,39,.03); border-color:rgba(201,162,39,.25); transform:translateY(-5px); }
.feature-card:hover::before { opacity:1; }
.feature-icon { position:relative; width:80px; height:80px; margin:0 auto 25px; display:flex; align-items:center; justify-content:center; }
.feature-icon::before { content:''; position:absolute; inset:0; border:1px solid #c9a227; opacity:.3; transform:rotate(45deg); transition:all .5s ease; }
.feature-icon::after  { content:''; position:absolute; inset:8px; border:1px solid #c9a227; opacity:.15; transform:rotate(45deg); transition:all .5s ease; }
.feature-card:hover .feature-icon::before { transform:rotate(225deg); opacity:.5; }
.feature-card:hover .feature-icon::after  { transform:rotate(135deg); opacity:.3; }
.feature-icon i { font-size:32px; color:#c9a227; position:relative; z-index:1; transition:all .5s ease; }
.feature-card:hover .feature-icon i { transform:scale(1.15); filter:drop-shadow(0 0 15px rgba(201,162,39,.5)); }
.feature-card-title { font-family:'Playfair Display',serif; font-size:18px; font-weight:500; color:#fff; margin-bottom:10px; letter-spacing:.5px; transition:color .3s ease; }
.feature-card:hover .feature-card-title { color:#e8d48a; }
.feature-desc { font-size:13px; color:#888; font-weight:300; line-height:1.6; transition:color .3s ease; }
.feature-card:hover .feature-desc { color:#aaa; }
.feature-card .corner { position:absolute; width:20px; height:20px; opacity:0; transition:all .4s ease; }
.feature-card .corner::before,.feature-card .corner::after { content:''; position:absolute; background:#c9a227; }
.corner-tl { top:0; left:0; }
.corner-tl::before { width:1px; height:100%; left:0; top:0; }
.corner-tl::after  { width:100%; height:1px; left:0; top:0; }
.corner-br { bottom:0; right:0; }
.corner-br::before { width:1px; height:100%; right:0; bottom:0; }
.corner-br::after  { width:100%; height:1px; right:0; bottom:0; }
.feature-card:hover .corner { opacity:.6; }

/* ── Trust Stats ──
   border-bottom removed so there is NO visible line between
   trust-section and cta-section
── */
.trust-section {
  position: relative;
  padding: 80px 40px;
  background: #0a0a0a;
  overflow: hidden;
  border-bottom: none !important; /* removes the white divider line */
}
.trust-grid { display:flex; justify-content:center; align-items:center; gap:80px; max-width:1000px; margin:0 auto; flex-wrap:wrap; }
@media(max-width:768px){ .trust-grid { gap:40px; } }
.trust-item { text-align:center; position:relative; padding:0 30px; opacity:0; transform:translateY(20px); }
.trust-item.visible { animation:fadeUp .6s ease forwards; }
.trust-item:nth-child(1).visible{animation-delay:.1s} .trust-item:nth-child(2).visible{animation-delay:.2s}
.trust-item:nth-child(3).visible{animation-delay:.3s} .trust-item:nth-child(4).visible{animation-delay:.4s}
.trust-item:not(:last-child)::after { content:''; position:absolute; right:-40px; top:50%; transform:translateY(-50%); width:1px; height:60px; background:linear-gradient(180deg,transparent,rgba(201,162,39,.3),transparent); }
@media(max-width:768px){ .trust-item:not(:last-child)::after { display:none; } }
.trust-number { font-family:'Playfair Display',serif; font-size:48px; font-weight:400; color:#c9a227; line-height:1; margin-bottom:8px; position:relative; display:inline-block; }
.trust-number::after { content:''; position:absolute; bottom:-5px; left:50%; transform:translateX(-50%); width:30px; height:1px; background:#c9a227; opacity:.5; }
.trust-label { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#888; font-weight:500; margin-top:15px; }

/* ── CTA — Cinematic gold glow ── */
.cta-section {
  position: relative;
  padding: 120px 40px 130px;
  background: #0a0a0a;
  text-align: center;
  overflow: hidden;
  border: none !important;
}

/* radial gold glow behind the content */
.cta-section::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: 400px;
  background: radial-gradient(ellipse at center,
    rgba(201,162,39,.18) 0%,
    rgba(201,162,39,.06) 40%,
    transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* thin gold horizontal rule above content */
.cta-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c9a227, transparent);
  opacity: .6;
}

.cta-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
}

/* eyebrow label */
.cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #c9a227;
  margin-bottom: 28px;
  font-weight: 500;
}
.cta-eyebrow::before,
.cta-eyebrow::after {
  content: '';
  width: 50px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c9a227);
}
.cta-eyebrow::after {
  background: linear-gradient(90deg, #c9a227, transparent);
}

/* title handled by .fleet-hero-title, just tune spacing */
.cta-section .fleet-hero-title {
  font-size: clamp(36px, 6vw, 64px) !important;
  margin-bottom: 20px;
  line-height: 1.05;
  /* subtle gold shimmer on the title */
  background: linear-gradient(135deg, #fff 0%, #f0d98a 40%, #fff 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.cta-subtitle {
  font-size: 16px;
  color: #888;
  font-weight: 300;
  margin-bottom: 50px;
  letter-spacing: .5px;
  line-height: 1.7;
}

/* feature pills row */
.cta-pills {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
.cta-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid rgba(201,162,39,.3);
  background: rgba(201,162,39,.06);
  color: #c9a227;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 500;
  transition: all .3s ease;
}
.cta-pill:hover {
  background: rgba(201,162,39,.14);
  border-color: #c9a227;
  transform: translateY(-2px);
}
.cta-pill i { font-size: 14px; }

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
.btn-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 20px 48px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all .4s ease;
  position: relative;
  overflow: hidden;
}
.btn-cta-gold {
  background: #c9a227;
  color: #0a0a0a;
  border: 2px solid #c9a227;
  box-shadow: 0 0 40px rgba(201,162,39,.25);
}
.btn-cta-gold::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
  transition: left .5s ease;
}
.btn-cta-gold:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 50px rgba(201,162,39,.4);
}
.btn-cta-gold:hover::before { left: 100%; }
.btn-cta-outline {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
}
.btn-cta-outline:hover {
  border-color: #c9a227;
  color: #c9a227;
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
.btn-cta i { font-size: 16px; }

/* ── Footer ── */
.fleet-page .site-footer { background:#0a0a0a; }

/* ── Kill ALL white border lines from the global section rule ── */
.fleet-page section,
.fleet-page .page-hero,
.fleet-page .vehicles-showcase,
.fleet-page .features-section,
.fleet-page .trust-section,
.fleet-page .cta-section,
.fleet-page section:not(.events-section),
.fleet-page .page-hero + *,
section.page-hero,
.page-hero {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Extra nuclear override for style.css section rule */
body .fleet-page section { border-bottom: none !important; }
html body section.page-hero { border-bottom: 0 !important; }
html body section.vehicles-showcase { border-top: 0 !important; border-bottom: 0 !important; } 