.ad-btn { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 20px; padding: 0 23px; border: 1px solid transparent; border-radius: var(--ad-radius-sm); font-size: 11px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; transition: transform var(--ad-transition), background var(--ad-transition), border-color var(--ad-transition); }
.ad-btn:hover { transform: translateY(-2px); }
.ad-btn--primary { color: #fff; background: var(--ad-blue); }
.ad-btn--primary:hover { color: #fff; background: var(--ad-blue-dark); }
.ad-btn--ghost { color: #fff; border-color: rgba(255,255,255,.75); background: transparent; }
.ad-btn--ghost:hover { color: #fff; border-color: #fff; background: rgba(255,255,255,.08); }

.ad-vehicle-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 13px; }
.ad-section--incoming .ad-vehicle-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ad-vehicle-card { overflow: hidden; min-width: 0; border: 1px solid #d8dee3; border-radius: var(--ad-radius-md); background: #fff; box-shadow: 0 3px 10px rgba(8,19,29,.08); transition: transform var(--ad-transition), box-shadow var(--ad-transition); }
.ad-vehicle-card:hover { transform: translateY(-4px); box-shadow: var(--ad-shadow); }
.ad-vehicle-card__image { position: relative; display: block; aspect-ratio: 1.42 / 1; overflow: hidden; background: #e9eef1; }
.ad-vehicle-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.ad-vehicle-card:hover .ad-vehicle-card__image img { transform: scale(1.035); }
.ad-image-placeholder { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: 9px; color: #65727c; background: linear-gradient(145deg, #eef2f4, #dfe6ea); text-align: center; }
.ad-image-placeholder svg { width: 43px; height: 43px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; opacity: .68; }
.ad-image-placeholder strong { font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ad-vehicle-card__badges { position: absolute; inset: 6px 6px auto; display: flex; justify-content: space-between; gap: 8px; }
.ad-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border-radius: 3px; color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ad-badge--featured { background: var(--ad-blue); }
.ad-badge--transit { background: #06090c; }
.ad-badge--sold { margin-left: auto; background: #ef4f5f; }
.ad-vehicle-card__body { padding: 16px 15px 15px; }
.ad-vehicle-card__title { min-height: 38px; margin: 0 0 7px; font-size: 14px; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
.ad-vehicle-card__title a { color: #111; }
.ad-vehicle-card__meta { display: flex; gap: 10px; color: #3d4650; font-size: 11px; }
.ad-vehicle-card__meta span + span::before { content: "•"; margin-right: 7px; }
.ad-vehicle-card__price { margin: 7px 0 13px; color: #0a0f14; font-size: 19px; font-weight: 800; }
.ad-card-link { display: flex; min-height: 38px; align-items: center; justify-content: center; border: 1px solid #79b5e2; border-radius: 3px; color: #15212a; font-size: 10px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.ad-card-link:hover, .ad-card-link--filled { color: #fff; background: var(--ad-blue); border-color: var(--ad-blue); }

.ad-reserve-is-open { overflow: hidden; }
.ad-reserve-modal[hidden] { display: none !important; }
.ad-reserve-modal { position: fixed; z-index: 10050; inset: 0; display: grid; padding: 24px; place-items: center; }
.ad-reserve-modal__backdrop { position: absolute; inset: 0; background: rgba(3,11,18,.76); backdrop-filter: blur(4px); }
.ad-reserve-modal__panel { position: relative; z-index: 1; width: min(560px, 100%); padding: 38px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; outline: 0; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.32); }
.ad-reserve-modal__close { position: absolute; top: 13px; right: 14px; display: grid; width: 36px; height: 36px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #53606a; background: #edf1f4; font-family: inherit; font-size: 25px; line-height: 1; cursor: pointer; transition: color var(--ad-transition), background var(--ad-transition), transform var(--ad-transition); }
.ad-reserve-modal__close:hover { color: #fff; background: var(--ad-ink); transform: rotate(5deg); }
.ad-reserve-modal__panel .ad-kicker { margin: 0 42px 8px 0; }
.ad-reserve-modal__panel h2 { margin: 0 42px 10px 0; color: var(--ad-ink); font-size: clamp(24px, 4vw, 34px) !important; line-height: 1.08; letter-spacing: -.03em; text-transform: uppercase; }
.ad-reserve-modal__panel h2 span { display: block; color: var(--ad-blue-dark); }
.ad-reserve-modal__copy { margin: 0 0 22px; color: var(--ad-muted); }
.ad-reserve-modal__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ad-reserve-modal__option { display: flex; min-width: 0; min-height: 98px; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--ad-line); border-radius: 8px; color: var(--ad-text); background: #fff; transition: color var(--ad-transition), border-color var(--ad-transition), background var(--ad-transition), transform var(--ad-transition), box-shadow var(--ad-transition); }
.ad-reserve-modal__option:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(3,11,18,.14); }
.ad-reserve-modal__option--whatsapp:hover { border-color: #1f9d57; background: #1f9d57; }
.ad-reserve-modal__option--email:hover { border-color: var(--ad-blue-dark); background: var(--ad-blue-dark); }
.ad-reserve-modal__option svg { width: 32px; height: 32px; flex: 0 0 32px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.ad-reserve-modal__option span { min-width: 0; }
.ad-reserve-modal__option strong, .ad-reserve-modal__option small { display: block; }
.ad-reserve-modal__option strong { font-size: 13px; text-transform: uppercase; }
.ad-reserve-modal__option small { margin-top: 3px; color: var(--ad-muted); font-size: 10px; line-height: 1.35; }
.ad-reserve-modal__option:hover small { color: rgba(255,255,255,.8); }
.ad-reserve-modal__note { margin: 16px 0 0; color: var(--ad-muted); font-size: 10px !important; text-align: center; }

.ad-benefit-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ad-benefit-grid article { min-width: 0; padding: 0 20px; text-align: center; border-right: 1px solid rgba(255,255,255,.22); }
.ad-benefit-grid article:last-child { border-right: 0; }
.ad-benefit-grid span { display: block; height: 45px; color: #fff; font-size: 43px; font-weight: 400; line-height: 1; }
.ad-benefit-grid h3 { min-height: 38px; margin: 15px auto 8px; color: #fff; font-size: 13px; line-height: 1.08; text-transform: uppercase; }
.ad-benefit-grid p { margin: 0; color: #cad2d8; font-size: 9px; line-height: 1.45; }

.ad-footer { padding: 42px 0 20px; color: #b7c1c8; background: #030b12; }
.ad-footer__grid { display: grid; grid-template-columns: 1.15fr .55fr .85fr .7fr; gap: 48px; }
.ad-footer__logo { width: 210px; margin-bottom: 11px; }
.ad-footer p, .ad-footer li, .ad-footer a { color: #d5dbe0; font-size: 13px; line-height: 1.65; }
.ad-footer h3 { margin: 0 0 14px; color: #55a8e8; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.ad-footer ul { margin: 0; padding: 0; list-style: none; }
.ad-footer__mobile-icon { display: inline-flex; width: 15px; height: 17px; align-items: center; justify-content: center; color: #fff; vertical-align: -4px; }
.ad-footer__mobile-icon svg { display: block; width: 14px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ad-footer__socials { display: flex; gap: 12px; margin-top: 17px; }
.ad-footer__socials a { display: grid; width: 31px; height: 31px; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; transition: color var(--ad-transition), border-color var(--ad-transition), background var(--ad-transition), transform var(--ad-transition); }
.ad-footer__socials a:hover { color: #fff; border-color: var(--ad-blue); background: var(--ad-blue); transform: translateY(-2px); }
.ad-footer__socials svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ad-footer__socials svg path:first-child, .ad-footer__socials svg .is-filled { fill: currentColor; stroke: none; }
.ad-footer__socials a:first-child svg path { fill: currentColor; stroke: none; }
.ad-footer__bottom { display: flex; justify-content: space-between; margin-top: 28px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.1); font-size: 11px; }

@media (max-width: 1060px) {
    .ad-vehicle-grid, .ad-section--incoming .ad-vehicle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ad-benefit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 40px; }
    .ad-benefit-grid article:nth-child(3) { border-right: 0; }
    .ad-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
    .ad-vehicle-grid, .ad-section--incoming .ad-vehicle-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
    .ad-vehicle-card { min-width: 76vw; scroll-snap-align: start; }
    .ad-reserve-modal { padding: 14px; }
    .ad-reserve-modal__panel { padding: 32px 20px 24px; }
    .ad-reserve-modal__actions { grid-template-columns: 1fr; }
    .ad-reserve-modal__option { min-height: 80px; }
    .ad-benefit-grid { grid-template-columns: 1fr 1fr; }
    .ad-benefit-grid article:nth-child(3) { border-right: 1px solid rgba(255,255,255,.22); }
    .ad-benefit-grid article:nth-child(2n) { border-right: 0; }
    .ad-footer__grid { grid-template-columns: 1fr; gap: 28px; }
    .ad-footer__bottom { flex-direction: column; gap: 6px; }
}
