html { font-size: 15px; }
@media (min-width: 768px) { html { font-size: 16px; } }

body { background: #f7f7fa; }

.btn { min-height: 44px; }
.btn-sm { min-height: 34px; }
.nav-link { min-height: 44px; display: inline-flex; align-items: center; }
.btn-call { color: #ffd45c !important; font-weight: 600; }

/* ----- Featured carousel ----- */
.featured-carousel { background:#111; }
.carousel-img {
    width: 100%;
    height: 60vw;
    max-height: 520px;
    min-height: 220px;
    object-fit: cover;
    filter: brightness(0.85);
}
.carousel-link { text-decoration: none; }
.carousel-caption {
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.55) 100%);
    padding: 1.5rem 1rem;
    bottom: 0; left: 0; right: 0;
}
.text-shadow { text-shadow: 0 2px 6px rgba(0,0,0,0.6); }

/* ----- Vehicle cards on home grid ----- */
.vehicle-card {
    border: 0;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
    position: relative;
}
.vehicle-card .vehicle-card-img-wrap {
    display: block;
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #2a2a2a;
}
.vehicle-card .vehicle-card-img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .35s ease;
}
.vehicle-card .featured-badge {
    position: absolute; top: 8px; left: 8px;
}
.vehicle-card .vehicle-extra { max-height: 0; opacity: 0; overflow: hidden; transition: max-height .25s ease, opacity .25s ease; }

@media (hover: hover) {
    .vehicle-card:hover {
        transform: translateY(-4px) scale(1.015);
        box-shadow: 0 1rem 2rem rgba(0,0,0,0.15) !important;
    }
    .vehicle-card:hover .vehicle-card-img { transform: scale(1.06); }
    .vehicle-card:hover .vehicle-extra { max-height: 200px; opacity: 1; }
}

@media (hover: none) {
    .vehicle-card .vehicle-extra { max-height: 200px; opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .vehicle-card, .vehicle-card .vehicle-card-img, .vehicle-card .vehicle-extra {
        transition: none !important;
        transform: none !important;
    }
}

/* ----- Mobile sticky call CTA ----- */
.mobile-cta {
    position: fixed;
    bottom: 12px; right: 12px;
    z-index: 1030;
    background: #0d6efd;
    color: #fff;
    padding: .75rem 1rem;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,0.25);
}
.mobile-cta:hover, .mobile-cta:focus { color: #fff; background: #0b5ed7; }

/* ----- Detail page ----- */
.vehicle-detail-img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
}
.spec-table th { color: #6b7280; font-weight: 500; width: 35%; }
.cost-table tfoot td { background: #d1e7dd; }

/* ----- Gallery ----- */
.handover-tile a { display: block; }
.handover-img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}
.placeholder-img { aspect-ratio: 4/3; }

/* ----- Footer ----- */
.footer a:hover { text-decoration: underline !important; }

/* ----- Admin ----- */
.nav-pills .nav-link { color: #333; }
.nav-pills .nav-link.active { background: #0d6efd; color: #fff; }
