.rating-stars .icon-star::before {
    content: "\2605"; /* Filled star */
    color: #ffc107; /* Gold */
}

.rating-stars .icon-star-empty::before {
    content: "\2606"; /* Empty star */
    color: #e0e0e0; /* Light gray */
}

.rating-stars {
    font-size: 1.2em;
}

/* ------------------------------------------------------------------ *
 * Cartões de veículo — estética padronizada: cantos arredondados +    *
 * borda de 1px no cartão e na imagem. Aplicado nas listagens de        *
 * veículos, no estoque da loja e nos similares do detalhe.             *
 * ------------------------------------------------------------------ */
.automoveis-veiculo-card {
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    overflow: hidden;
    transition: box-shadow .15s ease, transform .15s ease;
}

.automoveis-veiculo-card:hover {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .08);
    transform: translateY(-2px);
}

.automoveis-veiculo-thumb {
    display: block;
    width: calc(100% - 1rem);
    margin: .5rem auto 0;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    object-fit: cover;
}

/* ================================================================== *
 * Tema do componente — carregado em TODAS as telas do site via         *
 * site/automoveis.php. Escopado em `body.com-automoveis-site` (classe   *
 * adicionada por site.js) para não afetar o restante do template.       *
 * ================================================================== */
:root {
    --automoveis-accent: var(--bs-primary, #0d6efd);
    --automoveis-border: #dee2e6;
    --automoveis-radius: .5rem;
}

body.com-automoveis-site a {
    transition: color .15s ease, opacity .15s ease;
}

/* Título principal da página: emoji + acento inferior */
.automoveis-page-title {
    font-weight: 700;
    letter-spacing: -.01em;
    padding-bottom: .45rem;
    margin-bottom: 1.25rem;
    border-bottom: 3px solid var(--automoveis-accent);
}

.automoveis-page-title .automoveis-emoji {
    font-weight: 400;
    margin-right: .15rem;
}

/* Subtítulos de seção reutilizáveis (homepage já tem versão própria) */
body.com-automoveis-site .section-title {
    margin: 2rem 0 1rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid var(--automoveis-accent);
    font-weight: 600;
}

/* Revelar elementos ao rolar */
.automoveis-reveal {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .4s ease, transform .4s ease;
}

.automoveis-reveal.is-revealed {
    opacity: 1;
    transform: none;
}

/* Botão "voltar ao topo" */
.automoveis-back-to-top {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1030;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--automoveis-accent);
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .2);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(.5rem);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.automoveis-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.automoveis-back-to-top:hover {
    filter: brightness(1.08);
}

/* Ajustes responsivos */
@media (max-width: 575.98px) {
    .automoveis-page-title {
        font-size: 1.5rem;
    }
    .automoveis-back-to-top {
        right: .75rem;
        bottom: .75rem;
    }
}

/* Respeita usuários que pedem menos animação */
@media (prefers-reduced-motion: reduce) {
    .automoveis-reveal,
    body.com-automoveis-site a {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
