@font-face {
    font-family: 'Vox';
    src: url('../fonts/Vox/vox_regular14.ttf') format('truetype');
}

/* Modern Bold Theme for CarAggregator */
/* Base scale */
html { font-size: 14px; }
@media (min-width: 768px) { html { font-size: 16px; } }

:root {
  /* Brand palette */
  --brand-primary: #6a5af9; /* electric indigo */
  --brand-secondary: #a855f7; /* vivid purple */
  --brand-accent: #1dccea; /* cyan */
  --brand-success: #22c55e;
  --brand-warning: #f59e0b;
  --brand-danger:  #ef4444;
  --brand-info:    #0ea5e9;
  --brand-dark:    #0b1220;
  --brand-mid:     #0f172a;
  --brand-light:   #f8fafc;

  /* Surfaces */
  --surface-0: #0b1220;      /* base background */
  --surface-1: #0e1626;      /* elevated background */
  --surface-2: rgba(16, 34, 49, 1);      /* cards */

  /* Text */
  --text-1: #e6eaf2;
  --text-2: #a8b3cf;

  /* Radii & shadows */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --shadow-1: 0 8px 24px rgba(0,0,0,.25);
  --shadow-2: 0 16px 48px rgba(0,0,0,.35);

  /* Gradients */
  --grad-hero: linear-gradient(135deg, #001729 0%, #0171c6 50%, #22d3ee 100%);
  --grad-primary: linear-gradient(135deg, #077dcb, #12a3da);
}

/* Global */
html { position: relative; min-height: 100%; }
body {
  margin: 0; color: var(--text-1); background: radial-gradient(1200px 800px at 10% -10%, rgba(34,211,238,.08), transparent 60%),
            radial-gradient(1000px 700px at 110% 10%, rgba(168,85,247,.08), transparent 60%),
            var(--surface-0);
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji';
  line-height: 1.6;
}

/* Typography */
/* h1, h2, h3, h4, h5, h6, .display-1, .display-2, .display-3, .display-4 { font-family: 'Vox', 'Montserrat', 'Inter', sans-serif; letter-spacing: -.02em; } */
.text-muted { color: var(--text-2) !important; }

/* Links */
a { color: var(--brand-accent); text-decoration: none; }
a:hover { color: #7dd3fc; }

/* Navbar */
.navbar-modern {
  background: rgb(15 34 49);
  backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.navbar-modern .navbar-brand { font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.navbar-brand img {
  height: 60px; 
}
.navbar-modern .nav-link { color: var(--text-1) !important; opacity: .88; position: relative; }
.navbar-modern .nav-link:hover { opacity: 1; }
.navbar-modern .nav-link::after {
  content: ""; position: absolute; left: .6rem; right: .6rem; bottom: .35rem; height: 2px;
  background: var(--grad-primary); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.navbar-modern .nav-link:hover::after { transform: scaleX(1); }

/* Buttons */
.btn { border-radius: var(--radius-md); font-weight: 600; letter-spacing: .02em; transition: transform .18s ease, box-shadow .18s ease, background .18s; }
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { box-shadow: 0 0 0 0.15rem rgba(255,255,255,.1), 0 0 0 0.35rem rgba(106,90,249,.35); }
.btn-primary {
  background: var(--grad-primary);
  border: 0;
  /* box-shadow: 0 10px 24px rgba(106,90,249,.35); */
}
.btn-primary:hover { filter: brightness(1.05); transform: translateY(-1px); box-shadow: 0 14px 32px rgb(20 158 216 / 21%); }
.btn-outline-primary {border-color: #0d92d2;color: #baccff;}
.btn-outline-primary:hover { background: var(--grad-primary); border-color: transparent; color: white; }
.btn-light { color: #0b1220; }
.btn-outline-light { color: #e8edfb; border-color: rgba(255,255,255,.35); }
.btn-outline-light:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.5); color: white; }

/* Cards */
.card { background: var(--surface-2); border: 1px solid rgba(255,255,255,.06); border-radius: var(--radius-lg); box-shadow: var(--shadow-1); color: var(--text-1); }
.card .card-title { font-weight: 700; }
.card:hover { box-shadow: var(--shadow-2); transform: translateY(-4px); transition: transform .25s ease, box-shadow .25s ease; }

/* Hero */
.bg-gradient-primary { background: var(--grad-hero); }
.hero-section { min-height: 68vh; display: flex; align-items: center; }
.hero-image i { filter: drop-shadow(0 12px 24px rgba(0,0,0,.35)); }

.hero-section {
    min-height: 70vh;
    display: flex
;
    align-items: center;
    overflow: hidden;
}

.hero-section img{
    height: 400px;
}

/* Stats */
.stat-item h3 { margin-bottom: .25rem; }

/* Badges */
.badge { border-radius: 999px; padding: .4rem .7rem; letter-spacing: .02em; }

/* Forms */
.form-control, .form-select { background: #0f1a30; border: 1px solid rgba(255,255,255,.08); color: var(--text-1); border-radius: var(--radius-md); }
.form-control::placeholder { color: #7f8db2; }
.form-control:focus { background: #0f1a30; border-color: #7c6dfb; color: #ffffff; }
.input-group-text { background: #0f1a30; color: var(--text-2); border: 1px solid rgba(255,255,255,.08); }

/* Tables */
.table { color: var(--text-1); }
.table thead { background: rgba(255,255,255,.04); }
.table-striped > tbody > tr:nth-of-type(odd) { --bs-table-accent-bg: rgba(255,255,255,.02); color: inherit; }

/* Footer */
.footer-modern {background: rgb(15 32 49);border-top: 1px solid rgba(255,255,255,.06);}
.footer-modern a { color: #c7d2fe; }
.footer-modern a:hover { color: #e0e7ff; }
footer img {
    width: 200px;
}

/* Page spacing */
main[role="main"], .page-content { padding-bottom: 2rem; }

/* Utilities */
.text-gradient { background: var(--grad-primary); -webkit-background-clip: text; background-clip: text; color: transparent; }
.glass { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(10px); border-radius: var(--radius-lg); }
.shadow-pop { box-shadow: 0 10px 30px rgba(0,0,0,.35); }

/* Car Card (inspired by auto.ru) */
.car-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.25rem; }
@media (max-width: 1199px) { .car-grid { grid-template-columns: repeat(8, 1fr); } }
@media (max-width: 767px)  { .car-grid { grid-template-columns: repeat(4, 1fr); } }
.car-card { grid-column: span 4; background: var(--surface-2); border: 1px solid rgba(255,255,255,.06); border-radius: 16px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.car-card:hover { transform: translateY(-4px); box-shadow: 0 18px 48px rgba(0,0,0,.35); }
.car-card__photo { position: relative; aspect-ratio: 16 / 10; background: #0f1628; }
.car-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.car-card__badge { position: absolute; top: .75rem; left: .75rem; background: rgba(11,18,32,.7); color: #fff; border-radius: 999px; padding: .35rem .6rem; font-size: .8rem; backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.1); }
.car-card__favorite { position: absolute; top: .75rem; right: .75rem; background: rgba(11,18,32,.6); border-radius: 999px; padding: .35rem .45rem; border: 1px solid rgba(255,255,255,.1); color: #fff; }
.car-card__body { padding: 1rem 1rem 1.1rem; }
.car-card__title { font-weight: 800; font-size: 1.1rem; margin-bottom: .25rem; }
.car-card__subtitle { color: var(--text-2); font-size: .93rem; margin-bottom: .5rem; }
.car-card__price { font-family: 'Montserrat', 'Inter', sans-serif; font-weight: 800; font-size: 1.35rem; color: #e8edfb; }
.car-card__attrs { display: flex; flex-wrap: wrap; gap: .5rem .6rem; margin-top: .5rem; }
.car-card__chip { background: rgba(255,255,255,.06); color: var(--text-2); border: 1px solid rgba(255,255,255,.08); border-radius: 999px; padding: .25rem .55rem; font-size: .8rem; }

/* Sections */
.section { padding: 3.5rem 0; }
.section-header { margin-bottom: 2rem; }

/* Small helpers */
.opacity-75 { opacity: .75 !important; }
.rounded-10 { border-radius: 10px; }
.rounded-12 { border-radius: 12px; }
.rounded-16 { border-radius: 16px; }

/* Fixes for Bootstrap defaults on dark backgrounds */
.bg-light { background-color: rgba(255,255,255,.06) !important; color: var(--text-1) !important; }
.text-white-50 { color: rgba(255,255,255,.55) !important; }

/* End of theme */

.hero-section {
   min-height: 70vh;
   display: flex;
   align-items: center;
}

.feature-icon {
   margin-bottom: 1rem;
}

.card {
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
   transform: translateY(-5px);
   box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
}

.stat-item h3 {
   margin-bottom: 0.5rem;
}

@@media (max-width: 768px) {
   .hero-section {
       min-height: 60vh;
       text-align: center;
   }
    
   .display-4 {
       font-size: 2.5rem;
   }
}

.home-listings-carousel-inner-wrapper {
    overflow: hidden;
}

.home-listings-card {
    min-width: 280px;
    max-width: 320px;
}

.home-listings-card-photo {
    object-fit: cover;
    height: 180px;
}

.home-listings-card-no-photo {
    height: 180px;
}

.home-listings-card-text {
    min-height: 3em;
}

.text-primary {
    color: var(--brand-accent) !important;
}