:root {
    --auto-red: #dc2626;
    --auto-red-dark: #b91c1c;
    --auto-black: #08090b;
    --auto-charcoal: #15181d;
    --auto-gray: #5f6670;
    --auto-line: #e5e7eb;
    --auto-surface: #ffffff;
    --auto-bg: #f5f6f8;
    --auto-radius: 14px;
    --auto-shadow: 0 14px 34px rgba(10, 12, 16, .09);
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    background: var(--auto-bg);
    color: #20242a;
    -webkit-font-smoothing: antialiased;
}

img,
picture,
svg,
video,
iframe {
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

.container {
    width: 100%;
    max-width: 1280px;
}

/* Cabeçalho automotivo */
#site-header {
    background: rgba(8, 9, 11, .98);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}

#site-header .site-header-inner {
    min-width: 0;
}

#site-header .site-brand,
#site-header .site-brand > a {
    min-width: 0;
    max-width: min(420px, 48vw);
}

#site-header .site-logo {
    display: block;
    width: auto !important;
    max-width: min(360px, 42vw) !important;
    height: 56px !important;
    object-fit: contain;
    object-position: left center;
}

#site-header .site-nav {
    align-items: center;
    flex-shrink: 0;
    gap: 1.75rem;
}

#site-header .site-nav.space-x-8 > :not([hidden]) ~ :not([hidden]) {
    margin-left: 0;
}

#site-header .site-nav a {
    position: relative;
    padding: 1.9rem 0 1.7rem;
    border-bottom: 0;
    color: #f4f4f5;
    letter-spacing: .08em;
    white-space: nowrap;
}

#site-header .site-nav a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 1.1rem;
    left: 0;
    height: 2px;
    background: var(--auto-red);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .2s ease;
}

#site-header .site-nav a:hover,
#site-header .site-nav a.text-red-600 {
    color: #fff;
}

#site-header .site-nav a:hover::after,
#site-header .site-nav a.text-red-600::after {
    transform: scaleX(1);
}

#site-header .site-menu-button {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 10px;
}

#site-header .site-mobile-menu {
    border-top: 1px solid rgba(255, 255, 255, .1);
    box-shadow: 0 18px 30px rgba(0, 0, 0, .24);
}

#site-header .site-mobile-menu a {
    padding-right: 1rem;
    padding-left: 1rem;
}

/* Banners: proporção real 1920 x 600 e 800 x 800 */
.site-hero {
    overflow: hidden;
    background: #08090b;
}

.site-hero-desktop,
.site-hero-desktop .swiper-wrapper,
.site-hero-desktop .site-hero-slide,
.site-hero-desktop .site-hero-picture {
    aspect-ratio: 16 / 5;
}

.site-hero-mobile,
.site-hero-mobile .swiper-wrapper,
.site-hero-mobile .site-hero-slide,
.site-hero-mobile .site-hero-picture {
    aspect-ratio: 1 / 1;
}

@media (max-width: 767px) {
    .site-hero-desktop {
        display: none !important;
    }

    .site-hero-mobile {
        display: block !important;
    }
}

@media (min-width: 768px) {
    .site-hero-desktop {
        display: block !important;
    }

    .site-hero-mobile {
        display: none !important;
    }
}

.site-hero .site-hero-slide,
.site-hero .site-hero-picture,
.site-hero .site-hero-slide > a {
    display: block;
    width: 100%;
    height: 100%;
}

.site-hero .site-hero-image {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

.site-hero .swiper-button-next,
.site-hero .swiper-button-prev {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 50%;
    background: rgba(0, 0, 0, .48);
    backdrop-filter: blur(6px);
}

.site-hero .swiper-button-next::after,
.site-hero .swiper-button-prev::after {
    font-size: 18px;
    font-weight: 900;
}

.site-hero .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #fff;
    opacity: .55;
}

.site-hero .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 999px;
    background: var(--auto-red);
    opacity: 1;
}

/* Busca */
.site-search {
    position: relative;
    z-index: 2;
    background: linear-gradient(105deg, #b91c1c 0%, #dc2626 54%, #ef4444 100%);
}

.site-search form {
    padding: .2rem 0;
}

.site-search input,
.site-search select {
    min-height: 48px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 9px;
    box-shadow: 0 4px 12px rgba(80, 0, 0, .12);
}

.site-search button {
    min-height: 48px;
    border-radius: 9px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
}

/* Cards de veículos */
.inventory-main {
    max-width: 1280px;
}

.vehicle-card {
    isolation: isolate;
    border: 1px solid #e8eaed;
    border-radius: var(--auto-radius);
    box-shadow: 0 7px 24px rgba(10, 12, 16, .07);
    transform: translateY(0);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.vehicle-card:hover {
    border-color: #d3d6db;
    box-shadow: var(--auto-shadow);
    transform: translateY(-4px);
}

/* Contraste WCAG: metadados permanecem legíveis, inclusive em veículos vendidos. */
.vehicle-card .text-gray-400 {
    color: #4b5563 !important;
}

body .text-gray-400 {
    color: #4b5563 !important;
}

.vehicle-card .opacity-70 {
    opacity: 1 !important;
}

/* Área de toque mínima de 24px sem aumentar visualmente os pontos do carrossel. */
.swiper-pagination-bullet {
    width: 24px !important;
    height: 24px !important;
    margin: 0 2px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, #6b7280 0 4px, transparent 5px) !important;
    opacity: 1 !important;
}

.swiper-pagination-bullet-active {
    background: radial-gradient(circle, var(--auto-red) 0 5px, transparent 6px) !important;
}

.vehicle-card-media {
    background: #eceef1;
}

.vehicle-card-media img {
    object-position: center;
}

.vehicle-card h3 {
    letter-spacing: -.015em;
}

.vehicle-card-cta {
    border-radius: 8px;
    background: linear-gradient(135deg, #17191d, #050607);
}

.vehicle-card-cta:hover {
    background: var(--auto-red);
}

/* Página do veículo */
.vehicle-page-shell {
    max-width: 1280px;
}

.vehicle-gallery-card,
.vehicle-price-card,
.vehicle-lead-card,
.page-vehicle .bg-white.rounded-lg {
    border-radius: var(--auto-radius);
}

.vehicle-gallery-card {
    box-shadow: 0 10px 30px rgba(12, 14, 18, .08);
}

.vehicle-price-card {
    border-top-width: 5px;
    box-shadow: var(--auto-shadow);
}

.vehicle-lead-card {
    border: 1px solid var(--auto-line);
    background: #fff;
    box-shadow: 0 10px 28px rgba(10, 12, 16, .07);
}

.vehicle-lead-card input,
.vehicle-lead-card textarea,
.page-contact input,
.page-contact textarea {
    min-height: 48px;
    border-radius: 8px;
    background: #fff;
}

.vehicle-lead-card textarea,
.page-contact textarea {
    min-height: 124px;
}

.vehicle-lead-card button,
.page-contact form button {
    min-height: 50px;
    border-radius: 8px;
    box-shadow: 0 9px 20px rgba(22, 163, 74, .22);
}

.page-vehicle .bg-yellow-500 {
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #20242a;
    box-shadow: 0 6px 18px rgba(10, 12, 16, .06);
}

.page-vehicle .bg-yellow-500 svg {
    color: var(--auto-red);
}

.vehicle-sidebar {
    min-width: 0;
}

/* Rodapé */
.site-footer {
    background: linear-gradient(145deg, #0d0f12 0%, #050506 100%);
    color: #d1d5db;
}

.site-footer .footer-logo {
    width: auto !important;
    max-width: 100% !important;
    height: 58px !important;
}

.site-footer a {
    color: #d1d5db;
}

.site-footer a:hover {
    color: #fff;
}

@media (max-width: 1023px) {
    #site-header .site-nav {
        gap: 1rem;
    }

    #site-header .site-logo {
        max-width: 290px !important;
        height: 50px !important;
    }

    .page-vehicle .mySwiper2 {
        height: clamp(320px, 55vw, 500px);
    }
}

@media (max-width: 767px) {
    #site-header .site-header-inner {
        height: 68px;
    }

    #site-header .site-brand,
    #site-header .site-brand > a {
        max-width: calc(100vw - 88px);
    }

    #site-header .site-logo {
        max-width: min(285px, calc(100vw - 104px)) !important;
        height: 46px !important;
    }

    .site-hero .swiper-button-next,
    .site-hero .swiper-button-prev {
        display: none;
    }

    .site-search {
        padding-top: 1.1rem;
        padding-bottom: 1.1rem;
    }

    .site-search form {
        gap: .75rem;
    }

    .inventory-main {
        padding-top: 2.5rem;
        padding-bottom: 3rem;
    }

    .inventory-main > .text-center {
        margin-bottom: 1.8rem;
    }

    .inventory-main h2,
    .page-inventory h1 {
        font-size: 1.65rem;
        line-height: 1.18;
    }

    .vehicle-card-media {
        height: 230px;
    }

    .vehicle-page-shell {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }

    .page-vehicle .mySwiper2 {
        height: min(82vw, 380px);
    }

    .page-vehicle .mySwiper {
        height: 64px;
    }

    .vehicle-price-card {
        padding: 1.25rem;
    }

    .vehicle-price-card h1 {
        font-size: 1.35rem;
    }

    .vehicle-price-card .text-4xl,
    .vehicle-price-card .md\:text-5xl {
        font-size: clamp(1.8rem, 9vw, 2.5rem);
        overflow-wrap: anywhere;
    }

    .page-vehicle .bg-yellow-500 {
        gap: .5rem;
        padding: 1rem;
    }

    .page-vehicle .bg-yellow-500 .text-xl,
    .page-vehicle .bg-yellow-500 .text-2xl {
        font-size: 1rem;
        line-height: 1.35;
    }

    .vehicle-lead-card {
        padding: 1.25rem;
    }

    .site-footer {
        text-align: left;
    }
}

@media (max-width: 479px) {
    .site-hero-mobile,
    .site-hero-mobile .swiper-wrapper,
    .site-hero-mobile .site-hero-slide,
    .site-hero-mobile .site-hero-picture {
        min-height: 100vw;
    }

    .vehicle-card-media {
        height: 210px;
    }

    .page-vehicle .mySwiper2 {
        height: 300px;
    }

    .page-vehicle .swiper-button-next,
    .page-vehicle .swiper-button-prev {
        display: none;
    }

    .page-vehicle .bg-yellow-500 {
        align-items: flex-start;
    }

    .page-vehicle .bg-yellow-500:first-child {
        flex-direction: column;
    }

    .site-footer {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
.vehicle-suggestions{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 7px);max-height:420px;overflow:auto;background:#fff;color:#172230;border:1px solid #dfe4ea;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.2);text-align:left}.vehicle-suggestions>a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #eef0f2;color:#172230;text-decoration:none}.vehicle-suggestions>a:hover,.vehicle-suggestions>a.active{background:#f5f7f9}.vehicle-suggestions img{width:68px;height:48px;object-fit:cover;border-radius:7px;background:#eef1f4}.vehicle-suggestions strong,.vehicle-suggestions small{display:block}.vehicle-suggestions small{margin-top:4px;color:#687486}.vehicle-suggestion-all{justify-content:center!important;font-weight:800;color:#c3141b!important}.vehicle-suggestion-empty{padding:18px;color:#687486}.inventory-advanced{background:#fff;border-radius:12px;padding:16px;margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.inventory-advanced input,.inventory-advanced select{width:100%;border:1px solid #d8dde3;border-radius:8px;padding:10px;color:#172230}@media(max-width:760px){.vehicle-suggestions{position:fixed;left:12px;right:12px;top:128px;max-height:60vh}.inventory-advanced{grid-template-columns:1fr 1fr}}@media(max-width:430px){.inventory-advanced{grid-template-columns:1fr}}
.vehicle-search-field{position:relative;min-width:0}
.vehicle-suggestion-heading{padding:8px 12px 6px;background:#f7f8fa;color:#697586;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #eef0f2}.vehicle-suggestion-brand{min-height:58px;background:#fff8f8}.vehicle-suggestion-brand-mark{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;background:#d71920;color:#fff;font-weight:900}.vehicle-suggestion-brand small{font-weight:650}.vehicle-suggestion-vehicle{min-height:64px}.vehicle-suggestions [role=option]:focus-visible{outline:3px solid rgba(215,25,32,.25);outline-offset:-3px}@media(max-width:430px){.vehicle-suggestions>a{min-height:44px;padding:9px 10px}.vehicle-suggestions img{width:58px;height:44px}.vehicle-suggestion-heading{padding-left:10px}.vehicle-suggestion-brand-mark{flex-basis:40px;width:40px;height:40px}.vehicle-suggestions strong{font-size:14px}.vehicle-suggestions small{font-size:12px}}

.inventory-search-actions {
    display: flex;
    gap: .75rem;
    align-items: stretch;
}

.inventory-search-actions > button {
    min-height: 48px;
}

.inventory-more-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .75rem 1.15rem;
    border: 2px solid rgba(255, 255, 255, .88);
    border-radius: .375rem;
    color: #fff;
    background: rgba(127, 29, 29, .18);
    font-weight: 800;
    white-space: nowrap;
    transition: background-color .2s ease, border-color .2s ease;
}

.inventory-more-toggle:hover,
.inventory-more-toggle:focus-visible {
    background: rgba(127, 29, 29, .36);
    border-color: #fff;
}

.inventory-more-toggle:focus-visible {
    outline: 3px solid rgba(255, 255, 255, .38);
    outline-offset: 2px;
}

.inventory-more-toggle svg {
    transition: transform .2s ease;
}

.inventory-more-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.inventory-advanced[hidden] {
    display: none !important;
}

@media (max-width: 767px) {
    .inventory-search-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .inventory-search-actions > button {
        width: 100%;
        padding-left: .75rem;
        padding-right: .75rem;
    }
}

@media (max-width: 360px) {
    .inventory-search-actions {
        gap: .5rem;
    }

    .inventory-search-submit {
        font-size: .9rem;
    }

    .inventory-more-toggle {
        gap: .25rem;
        padding-left: .4rem;
        padding-right: .4rem;
        font-size: .82rem;
    }

    .inventory-more-toggle svg {
        width: 16px;
        height: 16px;
    }
}

/* SEO local / páginas de unidades */
.local-hero{background:linear-gradient(120deg,#991b1b 0%,#dc2626 55%,#ef4444 100%)}
.store-card{transition:transform .2s ease,box-shadow .2s ease}
.store-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(15,23,42,.12)}
.store-card-mark{display:flex;align-items:center;justify-content:center;height:7rem;background:linear-gradient(135deg,#111827,#374151);color:#fff;font-size:3rem;font-weight:900}
.local-btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:.6rem;padding:.75rem 1.25rem;font-weight:800;transition:filter .2s ease,transform .2s ease}
.local-btn:hover{filter:brightness(.95);transform:translateY(-1px)}
.local-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.local-btn-light{background:#fff;color:#111827}
.local-btn-whatsapp{background:#16a34a;color:#fff}
.store-details>div{padding:.85rem 0;border-bottom:1px solid #e5e7eb}
.store-details dt{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}
.store-details dd{margin-top:.25rem;color:#1f2937;line-height:1.55}
.store-map{min-height:22rem;overflow:hidden;border-radius:.75rem;background:#e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.store-map iframe{display:block;width:100%!important;height:100%!important;min-height:22rem;border:0!important}
.service-area-list{display:flex;flex-wrap:wrap;gap:.65rem}
.service-area-list li{border:1px solid #fecaca;background:#fff1f2;color:#991b1b;border-radius:999px;padding:.55rem .9rem;font-weight:700}
@media (max-width:374px){.local-hero h1{font-size:1.75rem;line-height:1.15}.store-map,.store-map iframe{min-height:18rem}.local-btn{width:100%}}
