:root {
  --gold: #d4af37;
  --black: #0a0a0a;
  --silver: #c0c0c0;
  --font-serif: 'Playfair Display', serif;
  --font-sans: 'Montserrat', sans-serif;
   --thumb-w: 150px; --thumb-h: 120px; --gap: 10px; --visible-count: 5; --thumb-border-active: #e2b94b;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  background-color: var(--black);
  color: white;
}

/* Hero Section */
.hero {
  position: relative;
  height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hero video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.hero .overlay {
  position: relative;
  z-index: 2;
  text-align: center;
  background-color: rgba(10,10,10,0.6);
  padding: 2rem 3rem;
  border-radius: 1.5rem;
  animation: fadeIn 1.5s ease-in-out;
}

.hero h1 {
  font-family: var(--font-serif);
  font-size: 3.5rem;
  color: var(--gold);
  margin-bottom: 0.5rem;
}

.hero p {
  font-size: 1.25rem;
  color: var(--silver);
}

/* Main Content */
.main-content {display: grid;grid-template-columns: 1fr 400px;gap: 40px;margin: 40px auto;max-width: 1200px;align-items: flex-start;}
.gallery-main {width: 100%;border-radius: 1rem;box-shadow: 0 6px 15px rgba(0,0,0,0.5);margin-bottom: 1rem;}
.image-caption {position: absolute;top: 12px;left: 16px;background: rgba(0, 0, 0, 0.6);color: #fff;padding: 6px 12px;border-radius: 6px;font-size: 0.9rem;font-weight: 500;z-index: 10;transition: opacity 0.3s ease;pointer-events: none;}

/* thumbnails */
.thumb-row{display:flex;align-items:center;gap:12px;margin-top:12px;
    /* width sized to show exactly (--visible-count) thumbnails (incl gaps) */
    max-width: calc((var(--thumb-w) * var(--visible-count)) + (var(--gap) * (var(--visible-count) - 1)));
}
.thumb-wrapper { display:flex; align-items:center; gap:10px; width:100%; }
.thumbs{display:flex;gap:12px;overflow:hidden;flex:1}
.thumb{flex:0 0 auto;width:120px;height:80px;border-radius:10px;overflow:hidden;border:3px solid transparent;cursor:pointer}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.active{border-color:var(--accent);transform:scale(1.03);box-shadow:0 8px 20px rgba(0,0,0,0.45)}

.thumb-btn{background:rgba(255,255,255,0.03);border:none;color:var(--muted);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}

.thumb-progress{height:6px;background:rgba(255,255,255,0.03);border-radius:6px;overflow:hidden;margin-top:8px}
.thumb-progress i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--accent),#f0d47a)}

/* ==== DESCRIPTION & FEATURES SECTION ==== */
.car-description {background: #0f0f0f;color: #f1f1f1;padding: 40px;margin-top: 20px;border-radius: 12px;box-shadow: 0 0 25px rgba(255, 255, 255, 0.05);line-height: 1.8;font-family: 'Poppins', sans-serif;transition: all 0.3s ease;}
.car-description h2 {font-size: 1.8rem;color: #d4af37;text-transform: uppercase;letter-spacing: 1px;margin-bottom: 10px;border-left: 4px solid #d4af37;padding-left: 12px;}
.car-description p {color: #cccccc;font-size: 1rem;margin-bottom: 10px;}
.car-description:hover {transform: translateY(-3px);box-shadow: 0 0 35px rgba(0, 255, 198, 0.08);}

/* ==== FEATURES / SPECIFICATIONS ==== */
.car-features {background: #141414;color: #fff;padding: 50px;border-radius: 14px;margin-top: 50px;box-shadow: inset 0 0 20px rgba(0, 255, 198, 0.05);}
.car-features h2 {font-size: 1.8rem;color: #d4af37;text-transform: uppercase;margin-bottom: 25px;letter-spacing: 1px;border-left: 4px solid #d4af37;padding-left: 12px;}
.features-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));gap: 25px;}
.feature-item {background: rgba(255, 255, 255, 0.03);border: 1px solid rgba(255, 255, 255, 0.1);border-radius: 10px;padding: 20px;transition: all 0.3s ease;display: flex;align-items: center;gap: 15px;}
.feature-item:hover {background: rgba(0, 255, 198, 0.05);border-color: rgba(211, 207, 7, 0.927);transform: translateY(-5px);box-shadow: 0 0 15px rgba(0, 255, 198, 0.1);}
.feature-item i {font-size: 1.5rem;color: #d4af37;}
.feature-item span {font-size: 1rem;color: #eaeaea;font-weight: 500;}
/* Smooth entry animation */
@keyframes fadeInUp {
  from {opacity: 0;transform: translateY(20px);}
  to {opacity: 1;transform: translateY(0);}
}
.car-description, .car-features {animation: fadeInUp 0.8s ease both;}

/* ==== RIGHT PANEL (Car INFO + BOOKING FORM) ==== */
.car-info-booking {background: #111;border-radius: 14px;padding: 30px;box-shadow: 0 0 30px rgba(0, 255, 198, 0.08);border: 1px solid rgba(255, 255, 255, 0.08);backdrop-filter: blur(8px);
        display: flex;flex-direction: column;gap: 30px;transition: all 0.3s ease;
}
.car-info-booking:hover {transform: translateY(-3px);box-shadow: 0 0 40px rgba(0, 255, 198, 0.12);}

/* ==== Car SUMMARY ==== */
.car-summary {text-align: center;border-bottom: 1px solid rgba(255, 255, 255, 0.1);padding-bottom: 20px;}
.car-summary h2 {color: #d4af37;font-size: 1.6rem;margin-bottom: 10px;text-transform: uppercase;letter-spacing: 1px;}
.car-summary p {color: #ccc;font-size: 0.95rem;margin: 6px 0;}
.car-price {background: #d4af37;color: #fff;display: inline-block;padding: 10px 20px;border-radius: 8px;font-weight: 700;font-size: 1.1rem;margin-top: 10px;box-shadow: 0 0 12px rgba(0, 255, 198, 0.4);}

/* Booking Form */
.booking-form {background-color: rgba(10,10,10,0.85);padding: 1.5rem;border-radius: 1.5rem;box-shadow: 0 6px 20px;}
.booking-form h3 {font-family: var(--font-serif);color: var(--gold);margin-bottom: 1.5rem;}
.booking-form input, .booking-form select {width: 95%;padding: 0.75rem 1rem;margin-bottom: 1rem;border: 1px solid var(--gold);border-radius: 1rem;background-color: var(--black);color: white;font-family: var(--font-sans);transition: all 0.3s ease;box-shadow: 0 4px 15px rgba(0,0,0,0.3);}
.booking-form input:focus,
.booking-form select:focus {border-color: var(--gold);box-shadow: 0 0 15px var(--gold);outline: none;}
.booking-form button {font-family: var(--font-sans);background-color: var(--gold);color: var(--black);border: none;padding: 0.75rem 2rem;border-radius: 9999px;cursor: pointer;transition: all 0.4s ease;font-size: 1rem;}
.booking-form button:hover {box-shadow: 0 0 25px var(--gold);transform: translateY(-2px);}

/* General date input style */
.booking-form input[type="date"] {background-color: var(--black);color: white;border: 1px solid var(--gold);border-radius: 1rem;padding: 0.75rem 1rem;font-family: var(--font-sans);font-size: 1rem;}
/* Placeholder color (for unsupported browsers) */
.booking-form input[type="date"]::-webkit-datetime-edit {color: white;}
/* For Firefox */
.booking-form input[type="date"]::-moz-placeholder {color: white;}
/* Remove default calendar icon background in WebKit */
.booking-form input[type="date"]::-webkit-inner-spin-button,
.booking-form input[type="date"]::-webkit-calendar-picker-indicator {filter: invert(1);}

/* ==== MAP CARD ==== */
.car-map-card {background: rgba(255, 255, 255, 0.03);border: 1px solid rgba(255, 255, 255, 0.08);border-radius: 12px;padding: 20px;box-shadow: 0 0 25px rgba(0, 255, 198, 0.06);backdrop-filter: blur(8px);margin-top: 25px;}
.car-map-card h3 {text-align: center;color: #d4af37;font-size: 1.2rem;margin-bottom: 10px;text-transform: uppercase;letter-spacing: 1px;}
.car-map-card .map-container {width: 100%;height: 250px;border-radius: 10px;overflow: hidden;border: 1px solid rgba(255, 255, 255, 0.08);}
.car-map-card iframe {width: 100%;height: 100%;border: none;filter: brightness(0.9) contrast(1.1);}
/* Hover Lighting */
.car-map-card:hover {box-shadow: 0 0 40px rgba(0, 255, 198, 0.15);transform: translateY(-2px);transition: all 0.3s ease;}

/* Floating WhatsApp Button */
.whatsapp-btn {position: fixed;bottom: 30px;right: 30px;background-color: var(--gold);color: var(--black);border-radius: 50%;width: 60px;height: 60px;display: flex;justify-content: center;align-items: center;font-size: 30px;text-decoration: none;box-shadow: 0 8px 20px rgba(0,0,0,0.4);transition: all 0.3s ease;z-index: 1000;}
.whatsapp-btn:hover {transform: scale(1.1);box-shadow: 0 12px 25px rgba(0,0,0,0.6);}
.whatsapp-btn ion-icon {font-size: 28px;}

.info-flex {display: flex;gap: 3rem;flex-wrap: wrap;margin-top: 50px;}
.faq-section, .precaution-section {flex: 1 1 450px;background: rgba(10,10,10,0.85);padding: 2rem;border-radius: 1.5rem;box-shadow: 0 6px 20px;}
.info-flex h2 {font-family: var(--font-serif);color: var(--gold);margin-bottom: 1.5rem;}
.faq-section {background: rgba(10,10,10,0.85);padding: 30px;border-radius: 16px;color: white;}
.faq-section h2 {font-family: var(--font-serif);color: var(--gold);margin-bottom: 20px;}
.faq-item {margin-bottom: 10px;border-bottom: 1px solid rgba(255,255,255,0.2);}
.faq-question {width: 100%;text-align: left;background: none;border: none;color: var(--silver);font-size: 1.1rem;padding: 12px 0;cursor: pointer;font-weight: 500;transition: color 0.3s;}
.faq-question:hover {color: var(--gold);}
.faq-answer {max-height: 0;overflow: hidden;transition: max-height 0.4s ease;color: var(--silver);padding-left: 10px;}

/* Animations */
@keyframes fadeIn {
  from {opacity: 0; transform: translateY(-20px);}
  to {opacity: 1; transform: translateY(0);}
}

/*Toast Messages*/
.toast-container {position: fixed;top: 20px;right: 20px;z-index: 9999;display: flex;flex-direction: column;gap: 12px;}
.toast-alert {background: rgba(0,0,0,0.85);color: #fff;padding: 12px 18px;border-radius: 6px;display: flex;align-items: center;justify-content: space-between;min-width: 260px;box-shadow: 0 4px 14px rgba(0,0,0,0.4);animation: fadeIn 0.3s ease-out;}
.toast-alert.success { border-left: 4px solid #0f0; }
.toast-alert.error   { border-left: 4px solid #f33; }
.toast-alert.warning { border-left: 4px solid #ffb300; }
.toast-alert.info    { border-left: 4px solid #09f; }
.toast-alert .toast-close {background: none;border: none;color: #fff;font-size: 18px;cursor: pointer;}

.trust-text {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #d4af37; /* gold */
  background: rgba(212, 175, 55, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.2);
  padding: 10px 14px;
  border-radius: 8px;
  margin-top: 10px;
  font-weight: 500;
}

.trust-text i {
  color: #d4af37;
  font-size: 16px;
}
.price-note {
  font-size: 14px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
  border-left: 3px solid #d4af37;
  padding: 10px 14px;
  margin-top: 8px;
  border-radius: 6px;
  line-height: 1.5;
}

.price-note i {
  color: #d4af37;
  margin-right: 6px;
}

/*Location Section*/
.locations{
    padding: 4rem 5%;
    text-align: center;
    background: #0f0f0f;
}
.location-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 15px;
}

.location-grid ul {
  list-style: none;
  padding: 0;
}

.location-grid li {
  padding: 5px 0;
}
.location-card {
  background: linear-gradient(145deg, #1a1a1a, #0d0d0d);
  border: 1px solid rgba(212, 175, 55, 0.3);
  padding: 30px 20px;
  border-radius: 16px;
  transition: all 0.4s ease;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.location-card::before {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(212, 175, 55, 0.08);
  transition: 0.5s;
}

.location-card:hover::before {
  top: 0;
}

.location-card:hover {
  transform: translateY(-8px);
  border-color: #d4af37;
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.2);
}

.location-card i {
  font-size: 2.8rem;
  color: #d4af37;
  margin-bottom: 20px;
  transition: color 0.3s ease;
}

.location-card:hover i {
  color: #f5d76e;
}

.location-card h3 {
  font-size: 1.3rem;
  margin-bottom: 15px;
  color: #f0f0f0;
  text-transform: uppercase;
}

.location-card p {
  color: #ccc;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .location-card {
        padding: 30px 20px;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .main-content {
        grid-template-columns: 1fr;
    }
    .hero h1 {
        font-size: 2.5rem;
    }
    .hero p {
        font-size: 1rem;
    }
    .booking-form {
        padding: 1.5rem;
    }
    .thumb{width:82px;height:54px}
    :root{--visible-count: 3;}
    .car-description h2, .car-features h2 {
        font-size: 1.4rem;
    }
    .features-grid {
        grid-template-columns: 1fr 1fr;
    }
    .feature-item {
        padding: 15px;
    }
    .car-info-booking {
        margin-top: 30px;
        padding: 25px;
    }
}
@media (max-width: 576px) {
  :root{--visible-count: 2.5;}
  .features-grid {
    grid-template-columns: 1fr;
  }
}

.markdown-content {
  line-height: 1.7;
  font-size: 15px;
  color: #ddd;
}

.markdown-content h2 {
  color: #d4af37;
  margin-top: 20px;
}

.markdown-content h3 {
  color: #fff;
  margin-top: 15px;
}

.markdown-content ul {
  list-style: none;
  padding-left: 18px;
  margin-top: 10px;
}

.markdown-content li {
  margin-bottom: 6px;
}

.markdown-content strong {
  color: #fff;
}

.markdown-content li::before {
  content: "\f058"; /* check-circle icon */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #d4af37;
  margin-right: 8px;
}