
.vehicle-page { background:#f7f7f7; color:#1f1f1f; }
.vehicle-page .header { background:#d4002a; }
.vehicle-hero { background:#d4002a; color:#fff; padding:42px 0 52px; }
.vehicle-breadcrumb { display:flex; gap:10px; align-items:center; margin-bottom:26px; font-size:13px; opacity:.9; }
.vehicle-breadcrumb a { color:#fff; text-decoration:none; }
.vehicle-hero__content { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.vehicle-eyebrow { display:inline-block; margin-bottom:12px; font-size:12px; font-weight:800; letter-spacing:.08em; opacity:.9; }
.vehicle-hero h1 { margin:0 0 14px; font-size:42px; line-height:1.12; font-weight:800; color:#fff; }
.vehicle-hero p { max-width:760px; margin:0; font-size:17px; line-height:1.6; color:#fff; opacity:.96; }
.vehicle-hero__cta { flex:0 0 auto; background:#fff !important; color:#d4002a !important; }
.vehicle-tabs { margin-top:-28px; position:relative; z-index:2; }
.vehicle-tabs__inner { display:flex; flex-wrap:wrap; gap:8px; padding:14px; background:#fff; border-radius:4px; box-shadow:0 10px 30px rgba(0,0,0,.08); }
.vehicle-tab { display:inline-flex; align-items:center; min-height:38px; padding:0 15px; border-radius:999px; color:#333; font-size:13px; font-weight:700; text-decoration:none; background:#f4f4f4; }
.vehicle-tab:hover, .vehicle-tab.is-active { color:#fff; background:#d4002a; text-decoration:none; }
.vehicle-listing { padding:44px 0 22px; }
.vehicle-listing__head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:22px; }
.vehicle-listing__head h2 { margin:0; font-size:28px; font-weight:800; }
.vehicle-listing__head p { margin:0; color:#777; font-size:14px; }
.vehicle-official-list .row { margin-left:-12px; margin-right:-12px; }
.vehicle-official-list [class*="col-"] { padding-left:12px; padding-right:12px; margin-bottom:24px; }
.vehicle-page-card { width:100%; min-height:100%; }
.vehicle-page-card .card-inner-wrapper,
.vehicle-page-card .card-front,
.vehicle-page-card .card-back { min-height:470px; }
.vehicle-page-card .card-header { min-height:128px; }
.vehicle-page-card .vehicle-slider { min-height:162px; display:flex; align-items:center; justify-content:center; }
.vehicle-page-card .vehicle-slider .swiper-slide { display:flex; align-items:center; justify-content:center; }
.vehicle-page-card .card-img { max-height:150px; object-fit:contain; }
.vehicle-card__placeholder { width:112px; height:112px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#f1f1f1; color:#d4002a; font-size:46px; font-weight:800; }
.vehicle-rent-button { text-decoration:none !important; }
.vehicle-rent-button .btn-top { align-items:center; justify-content:space-between; }
.vehicle-rent-button .icon { color:#fff; margin-right:18px; }
.vehicle-page-card__features { padding:0 22px 22px; }
.vehicle-page-card__features h5 { margin:0 0 12px; color:#d4002a; font-size:13px; font-weight:800; text-transform:uppercase; }
.vehicle-page-card__features ul { list-style:none; margin:0; padding:0; }
.vehicle-page-card__features li { position:relative; padding-left:14px; margin-bottom:8px; color:#4c4c4c; font-size:13px; line-height:1.35; }
.vehicle-page-card__features li:before { content:""; position:absolute; left:0; top:.65em; width:5px; height:5px; border-radius:50%; background:#d4002a; transform:translateY(-50%); }
.vehicle-content { padding:28px 0 70px; }
.vehicle-content .container { max-width:980px; }
.vehicle-content__block { margin-bottom:22px; padding:28px 32px; border-radius:10px; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.05); }
.vehicle-content__block h2 { margin:0 0 12px; font-size:24px; font-weight:800; }
.vehicle-content__block p { margin:0; color:#3b3b3b; font-size:15px; line-height:1.8; }
@media (max-width: 991px) { .vehicle-hero__content { display:block; } .vehicle-hero__cta { margin-top:24px; } .vehicle-hero h1 { font-size:34px; } .vehicle-page-card .card-inner-wrapper, .vehicle-page-card .card-front, .vehicle-page-card .card-back { min-height:450px; } }
@media (max-width: 575px) {
    .vehicle-listing__head { display:block; }
    .vehicle-listing__head h2 { font-size:24px; }
    .vehicle-hero { padding:30px 0 44px; }
    .vehicle-hero h1 { font-size:29px; }
    .vehicle-tabs__inner { overflow:auto; flex-wrap:nowrap; border-radius:0; margin-left:-15px; margin-right:-15px; -webkit-overflow-scrolling:touch; }
    .vehicle-tab { white-space:nowrap; flex:0 0 auto; }
    .vehicle-official-list [class*="col-"] { margin-bottom:18px; }
    .vehicle-page-card .card-inner-wrapper,
    .vehicle-page-card .card-front,
    .vehicle-page-card .card-back { min-height:430px; }
    .vehicle-page-card .card-header { min-height:118px; }
    .vehicle-page-card .vehicle-slider { min-height:152px; }
    .vehicle-page-card .card-img { max-height:138px; }
    .vehicle-page-card__features { padding:0 18px 18px; }
    .vehicle-content__block { padding:22px 20px; }
}

/* Fleet pages use the same structural classes as the public Avis vehicle pages. */
.vehicle-page {
    background:#fff;
    color:#000;
}
.vehicle-page .header {
    background:#d4002a;
}
.vehicle-page .vehicle-listing {
    padding:40px 0;
}
.vehicle-page .vehicle-top-space {
    min-height:80px;
    padding:40px 0;
}
.vehicle-page .primary-vehicle-card-list .primary-vehicle-card {
    width:100%;
}
.fleet-price {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:0 16px 16px;
}
.fleet-price__daily,
.fleet-price__pay,
.fleet-price__list {
    min-width:0;
    padding:8px 10px;
    border-radius:8px;
}
.fleet-price__daily,
.fleet-price__pay {
    background:#f7f7f7;
}
.fleet-price span,
.fleet-price small {
    display:block;
    color:#666;
    font-size:11px;
    font-weight:700;
}
.fleet-price b {
    display:block;
    margin-top:2px;
    color:#1a1a1a;
    font-size:16px;
    font-weight:800;
    line-height:1.2;
}
.fleet-price__list {
    grid-column:1 / -1;
    background:#ad0a27;
}
.fleet-price__list span,
.fleet-price__list b {
    color:#fff;
}
.city-pickup { margin-bottom:16px; }
.city-pickup__title { margin:0 0 10px; font-size:14px; font-weight:800; }
.city-pickup__empty { margin:0; color:#666; font-size:13px; }
.city-pickup__airports { display:flex; flex-wrap:wrap; gap:8px; }
.city-airport {
    border:1px solid #d4002a;
    background:#fff;
    color:#d4002a;
    border-radius:999px;
    padding:8px 14px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.city-airport.is-selected { background:#d4002a; color:#fff; }
.city-address-toggle {
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    font-weight:700;
}
.city-address-field { margin-top:8px; }
@media (max-width:575.98px) {
    .fleet-price { grid-template-columns:1fr; padding:0 12px 12px; }
    .fleet-price b { font-size:15px; }
    .city-airport { width:100%; text-align:left; }
}
.vehicle-page .vehicle-content {
    padding:40px 0 80px;
}
.vehicle-page .vehicle-content .container {
    max-width:1632px;
}
.vehicle-page .vehicle-content h5 {
    margin:0 0 16px;
    font-size:16px;
    line-height:1.6;
    font-weight:700;
}
.vehicle-page .vehicle-content p {
    margin:0 0 24px;
    color:#000;
    font-size:15px;
    line-height:1.65;
}
.vehicle-page .vehicle-content__block {
    margin:32px 0 0;
    padding:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

/* The reservation-page sticky form rule must not constrain the fleet modal. */
.vehicle-page .rent-modal .rent-card-new.type-modal {
    position:relative;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    width:100%;
    max-width:100%;
    z-index:auto;
}

@media (min-width:768px) {
    .vehicle-page .primary-vehicle-card .card-body.collapse {
        display:flex;
        height:auto !important;
    }
}

@media (min-width:1440px) {
    .vehicle-page .page-nav .swiper-navigation {
        display:none;
    }
}

@media (max-width:991.98px) {
    .vehicle-page .vehicle-top-space {
        min-height:48px;
        padding:24px 0;
    }
}

@media (max-width:767.98px) {
    .vehicle-page .vehicle-top-space {
        min-height:32px;
        padding:16px 0;
    }
    .vehicle-page .vehicle-listing {
        padding:16px 0;
    }
}
