/* ===========================
   Global & Base Styles
   =========================== */
body, h1, h2, h3, h4, h5, p { margin: 0; padding: 0; }
img { max-width: 100%; height: auto; display: block; }

/* Clickable Cards */
.card[role="button"] { cursor: pointer; }

/* ===========================
   Hero Section
   =========================== */
#hero {
  position: relative;
  height: 100vh;
  background: url('../img/hero-bg.webp') no-repeat center center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}
#hero .overlay {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(45deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.35) 100%);
  z-index: 1;
}
#hero .container { position: relative; z-index: 2; max-width: 100%; }
#hero h1 { font-size: 3rem; font-weight: 700; margin-bottom: 1.5rem; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); }
#hero p.lead { font-size: 1.25rem; margin-bottom: 2rem; color: #e0e0e0; text-shadow: 1px 1px 3px rgba(0,0,0,0.7); }
#hero a.btn { font-size: 1rem; padding: 0.75rem 1.5rem; border-radius: 50px; transition: background 0.3s, opacity 0.3s; }
#hero a.btn:hover { opacity: 0.9; }
@media (min-width: 992px) {
  #hero h1 { font-size: 4rem; }
  #hero p.lead { font-size: 1.5rem; }
}

/* ===========================
   Modal & Carousel
   =========================== */
.modal-dialog { margin: 0; max-width: 100%; height: 100vh; }
.modal-content { height: 100vh; border: none; border-radius: 0; }
.carousel-item img {
  width: 100%; object-fit: contain; max-height: 30vh;
}
@media (min-width: 992px) {
  .carousel-item img { max-height: 60vh; }
}
#carLightboxDetails { overflow-y: auto; max-height: calc(100vh - 60vh); }

/* ===========================
   Pricing Section
   =========================== */
#pricing {
  background: #f8f9fa;
  padding: 80px 0;
}
#pricing h2 { font-size: 2.5rem; font-weight: 700; margin-bottom: 1rem; }
#pricing p.text-muted { font-size: 1rem; margin-bottom: 2rem; }
.pricing-card-light,
.pricing-card-dark {
  border: none; border-radius: 10px; overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
  position: relative; box-shadow: none;
}
.pricing-card-light:hover,
.pricing-card-dark:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0,0,0,0.1); }
.pricing-card-light .card-body,
.pricing-card-dark .card-body { padding: 2rem; }
.pricing-card-light h4,
.pricing-card-dark h4 { font-size: 1.5rem; font-weight: 600; margin-bottom: 0.5rem; }
.pricing-card-light p,
.pricing-card-dark p { font-size: 0.95rem; margin-bottom: 0.75rem; }
.pricing-card-light h2,
.pricing-card-dark h2 { font-size: 2rem; font-weight: 700; margin-bottom: 1rem; }
.pricing-card-light ul,
.pricing-card-dark ul { list-style: none; padding: 0; margin: 1rem 0; }
.pricing-card-light ul li,
.pricing-card-dark ul li {
  font-size: 0.95rem; line-height: 1.5; margin-bottom: 0.5rem;
  display: flex; align-items: center;
}
.pricing-card-light ul li i,
.pricing-card-dark ul li i { color: #28a745; margin-right: 0.5rem; }
.pricing-card-light a.btn,
.pricing-card-dark a.btn {
  font-weight: 600; text-transform: uppercase; border-radius: 50px;
  padding: 0.75rem 1.5rem; display: inline-block;
}
.pricing-card-light a.btn { background: #343a40; color: #fff; border: none; }
.pricing-card-light a.btn:hover { background: #23272b; }
.pricing-card-dark a.btn { background: #fff; color: #343a40; border: none; }
.pricing-card-dark a.btn:hover { background: #f8f9fa; }
#pricing + .text-center { font-size: 0.85rem; color: #6c757d; margin-top: 2rem; }

/* ===========================
   Contact Section
   =========================== */
#contact {
  padding: 100px 0;
  background: #f1f1f1;
}
#contact h2 { font-size: 2.5rem; font-weight: 700; margin-bottom: 20px; color: #333; }
#contact p.text-muted { font-size: 1.1rem; margin-bottom: 40px; color: #666; }
#contact .card {
  border: none; border-radius: 10px; background: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1); overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}
#contact .card:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0,0,0,0.15); }
#contact .card .card-body { padding: 40px; }
#contact .card h4 { font-size: 1.75rem; font-weight: 600; margin-bottom: 20px; color: #222; }
#contact .card p, #contact .card label { font-size: 1rem; color: #555; margin-bottom: 15px; }
#contact .btn {
  border-radius: 50px; padding: 12px 30px; font-size: 1rem;
  font-weight: 600; text-transform: uppercase; transition: background 0.3s;
}
#contact .btn-primary { background: #007bff; border: none; color: #fff; }
#contact .btn-primary:hover { background: #0056b3; }
#contact .btn-secondary { background: #6c757d; border: none; color: #fff; }
#contact .btn-secondary:hover { background: #5a6268; }
#contact .form-control {
  border-radius: 5px; padding: 15px; font-size: 1rem;
  border: 1px solid #ccc; transition: border-color 0.3s;
}
#contact .form-control:focus { border-color: #007bff; box-shadow: none; }

/* ===========================
   FAQ & Terms Sections
   =========================== */
.accordion { border: none; }
.accordion-item { border: none; border-bottom: 1px solid #ddd; background: transparent; margin-bottom: 0.5rem; }
.accordion-item:last-child { border-bottom: none; }
.accordion-button {
  background: transparent; font-size: 1.1rem; font-weight: 500; color: #333;
  padding: 1rem 1.5rem; border: none; box-shadow: none; transition: background 0.3s, color 0.3s;
}
.accordion-button:not(.collapsed) { color: #007bff; background: #fff; }
.accordion-button:focus { box-shadow: none; border: none; }
.accordion-button::after { filter: invert(0.5); }
.accordion-body {
  padding: 1rem 1.5rem; font-size: 1rem; color: #555;
  background: #fff; border-top: 1px solid #ddd;
}
#faq, #terms {
  padding: 100px 0;
  background: #f8f9fa;
}
#faq h2, #terms h2 { font-size: 2.5rem; font-weight: 700; margin-bottom: 20px; color: #333; }
#faq p.text-muted, #terms p.text-muted { font-size: 1.1rem; margin-bottom: 40px; color: #666; }

/* ===========================
   Features Section
   =========================== */
#features {
  padding: 80px 0;
  background: #fff;
}
#features h2 { font-size: 2.5rem; font-weight: 700; margin-bottom: 20px; color: #333; }
#features p.text-muted { font-size: 1.1rem; margin-bottom: 40px; color: #666; }
#features .col { margin-bottom: 30px; }
#features .d-flex { padding: 20px; transition: transform 0.3s; }
#features .d-flex:hover { transform: translateY(-5px); }
#features i.bi {
  font-size: 3rem; color: #007bff; background: #e9f5ff;
  border-radius: 50%; padding: 20px; margin-bottom: 20px; display: inline-block;
}
#features h5 { font-size: 1.25rem; font-weight: 600; margin-bottom: 10px; color: #333; }
#features p { font-size: 1rem; color: #555; }

/* ===========================
   Navbar (Duffel Style)
   =========================== */
.navbar {
  background: rgba(255,255,255,0.95);
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: background 0.3s;
}
.navbar .navbar-brand {
  font-size: 1.75rem; font-weight: 700; letter-spacing: 1px; color: #333;
  transition: color 0.3s;
}
.navbar .nav-link {
  font-size: 1rem; font-weight: 500; color: #333; margin-right: 1rem;
  transition: color 0.3s;
}
.navbar .nav-link:hover, .navbar .nav-link:focus { color: #007bff; }
.navbar .nav-link.active { color: #007bff; border-bottom: 2px solid #007bff; }
.navbar .btn-outline-dark {
  border-color: #333; color: #333; transition: background 0.3s, color 0.3s;
}
.navbar .btn-outline-dark:hover {
  background: #007bff; color: #fff; border-color: #007bff;
}
.navbar-toggler { border: none; outline: none; }
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(51,51,51,0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* New Car Card Layout */
.car-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.car-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}
