/* ===================== Gaddigo — GLOBAL STYLES ===================== */
body { font-family: 'Segoe UI', Arial, sans-serif; background:#f5f7fa; }

/* Hero */
.hero {
  position: relative;
  color: #fff;
  padding: 130px 0 100px;
  min-height: 660px;
  display: flex;
  align-items: center;
  background: #0d1b3e url('../img/hero-car.svg') center bottom / cover no-repeat;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,20,50,.65) 0%, rgba(10,20,50,.35) 45%, rgba(6,10,25,.85) 100%);
  z-index: 1;
}
.hero .container { position: relative; z-index: 2; }
.hero h1 { font-weight:800; font-size: 3rem; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.hero .lead { font-size: 1.25rem; text-shadow: 0 1px 8px rgba(0,0,0,.4); max-width: 640px; }
.hero .search-card { box-shadow: 0 20px 45px rgba(0,0,0,.35); border-radius: 14px; }
@media (max-width: 767px) {
  .hero { padding: 90px 0 70px; min-height: 460px; }
  .hero h1 { font-size: 2.1rem; }
}

/* Mobile: when a banner is set, show the whole image on top (uncropped),
   then the headline + search box below it on a solid background */
.hero-banner-mobile img { display:block; width:100%; height:auto; }
@media (max-width: 767px) {
  .hero.hero-has-banner {
    background-image: none !important;
    background-color: #0d1b3e;
    padding: 28px 0 36px;
    min-height: 0;
  }
  .hero.hero-has-banner::before { display: none; }
  .hero.hero-has-banner h1 { font-size: 1.8rem; }
}

/* Section heading used across almost every page */
.section-title { font-weight:700; margin-bottom:1.5rem; border-left:5px solid #0d6efd; padding-left:12px; }

/* Price tag */
.price-tag { font-weight:700; color:#0d6efd; font-size:1.1rem; }

/* Car / listing cards — two naming conventions used across the codebase,
   both styled identically so every listing page looks consistent */
.card-car, .car-card, .news-card, .dealer-card {
  background:#fff; border:none; border-radius:10px; overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.08); transition: transform .2s, box-shadow .2s; height:100%;
}
.card-car:hover, .car-card:hover, .news-card:hover, .dealer-card:hover {
  transform: translateY(-4px); box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.card-car img, .car-card img { width:100%; height:180px; object-fit:cover; background:#e9ecef; display:block; }
.car-card .body, .dealer-card { padding:16px; }
.card-car .card-body { padding:16px; }
.no-image { height:180px; display:flex; align-items:center; justify-content:center; background:#e9ecef; color:#adb5bd; font-size:2rem; }

.badge-fuel { background:#e7f1ff; color:#0d6efd; }
.brand-logo { height:60px; object-fit:contain; }

/* Filters sidebar (new-cars.php) */
.filter-sidebar { background:#fff; border-radius:8px; padding:20px; box-shadow:0 2px 8px rgba(0,0,0,.06); }

/* Compare page */
.compare-table th, .compare-table td { vertical-align:middle; }
.compare-slot { background:#fff; border:2px dashed #ced4da; border-radius:10px; padding:60px 20px; text-align:center; color:#6c757d; }

/* Stat widgets (admin dashboard + dealer analytics + user dashboard) */
.stat-card { border-radius:10px; color:#fff; padding:20px; }
.stat-box { background:#fff; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.06); padding:18px; text-align:center; }
.stat-box .num { font-size:1.8rem; font-weight:700; color:#0d6efd; }

/* EMI calculator box */
.emi-box { background:#fff; border-radius:10px; box-shadow:0 2px 10px rgba(0,0,0,.08); padding:30px; }

/* ===================== ADMIN & DEALER PANEL SHELL ===================== */
.sidebar, .admin-sidebar, .dealer-sidebar {
  min-height:100vh; background:#1e2a38; color:#cbd5e1;
}
.sidebar a, .admin-sidebar a, .dealer-sidebar a {
  display:block; padding:10px 14px; border-radius:6px; color:#cbd5e1; text-decoration:none; margin-bottom:2px; font-size:.92rem;
}
.sidebar a.active, .admin-sidebar a.active, .dealer-sidebar a.active,
.sidebar a:hover, .admin-sidebar a:hover, .dealer-sidebar a:hover {
  background:#0d6efd; color:#fff;
}
.admin-topbar { background:#fff; border-bottom:1px solid #e5e7eb; }

/* Status pills used in admin / dealer / user tables */
.pill { display:inline-block; padding:.25em .7em; border-radius:50px; font-size:.75rem; font-weight:600; text-transform:capitalize; background:#e9ecef; color:#495057; }
.pill-active, .pill-approved, .pill-converted, .pill-success, .pill-paid, .pill-published { background:#d1fae5; color:#047857; }
.pill-pending, .pill-new, .pill-draft { background:#fef3c7; color:#92400e; }
.pill-suspended, .pill-rejected, .pill-blocked, .pill-failed, .pill-inactive, .pill-expired { background:#fee2e2; color:#b91c1c; }
.pill-contacted, .pill-closed, .pill-sold { background:#dbeafe; color:#1d4ed8; }
