 
/* 2. UTILITÁRIOS */
 .fw-800 {
     font-weight: 800;
}
 .x-small {
     font-size: 11px;
}
 .opacity-05 {
     opacity: 0.03;
}
 .rounded-5 {
     border-radius: 2rem !important;
}
 .transition-hover {
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     border: 1px solid transparent !important;
}
 .transition-hover:hover {
     transform: translateY(-5px);
     box-shadow: 0 15px 35px rgba(0,0,0,0.06) !important;
     border-color: #e2e8f0 !important;
}
/* 3. HERO & BOTÕES PRINCIPAIS */
 .btn-shopping, .btn-tech-outline {
     padding: 12px 15px;
     border-radius: 14px;
     font-weight: 700;
     font-size: 13px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     text-decoration: none;
     transition: 0.3s;
     flex: 1;
}
/* Estilo de Prova Social */
 .sales-trend {
     font-size: 10px;
     font-weight: 700;
     color: var(--cb-gray);
     margin-bottom: 8px;
     display: flex;
     align-items: center;
     gap: 5px;
}
/* Selo de Vendedor (EEAT) */
 .official-seller {
     font-size: 9px;
     font-weight: 800;
     color: var(--cb-green);
     background: #ecfdf5;
     padding: 4px 8px;
     border-radius: 6px;
     display: inline-flex;
     align-items: center;
     gap: 4px;
     margin-top: auto;
     margin-bottom: 12px;
}
/* Efeito Blur Limpo (Sem texto em cima) */
 .price-value-blur {
     filter: blur(8px);
    /* Aumentei de 4px para 8px */
     user-select: none;
    /* Impede o usuário de selecionar e copiar o texto para ver o valor */
     background-color: #eee;
    /* Adiciona um fundo cinza claro para mesclar com o texto borrado */
     padding: 0 4px;
     border-radius: 4px;
     transition: filter 0.3s ease;
     opacity: 0.7;
    /* Deixa um pouco mais transparente para confundir as formas das letras */
}
 .product-card:hover .price-value-blur {
     filter: blur(0px);
    /* Revela ao passar o mouse no desktop */
     opacity: 1;
}
 .btn-shopping {
     background: var(--cb-blue);
     color: white;
     border: none;
     box-shadow: 0 8px 20px rgba(0, 132, 255, 0.2);
}
 .btn-tech-outline {
     background: transparent;
     color: var(--cb-blue);
     border: 2px solid var(--cb-blue);
}
 @media (min-width: 992px) {
     .hero-container {
         display: flex;
         align-items: center;
         justify-content: space-between;
         padding: 60px 0;
         gap: 40px;
    }
     .hero-text {
         text-align: left;
         flex: 1;
    }
     .hero-image-area {
         flex: 1.2;
    }
     .btn-group-hero {
         display: flex;
         gap: 10px;
    }
     .btn-mobile-only {
         display: none !important;
    }
     .btn-shopping, .btn-tech-outline {
         font-size: 15px;
         padding: 15px 25px;
         flex: none;
    }
}
 @media (max-width: 991px) {
     .hero-text .btn-group-hero {
         display: none;
    }
     .btn-mobile-only {
         display: flex !important;
         gap: 10px;
         margin-top: 25px;
         width: 100%;
    }
}




/* 4. GALERIA DE FOTOS */
.main-img-display {
    border-radius: 24px;
    padding: 10px;
    margin-bottom: 15px;
    text-align: center;
    background: #f8fafc; /* Fundo leve para destacar o drop-shadow */
    overflow: hidden;
}

.main-img-display img {
    max-width: 100%;
    height: auto;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    filter: drop-shadow(0 15px 30px rgba(0,0,0,0.08));
}

.thumb-container {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 10px 2px;
    
    /* Mude para proximity ou remova se o JS for cuidar de tudo */
    scroll-snap-type: x proximity; 
    -webkit-overflow-scrolling: touch;
    
    scrollbar-width: none; 
    -ms-overflow-style: none;
}


.thumb-container::-webkit-scrollbar {
    display: none;
}



/* Esconder scrollbar no Firefox e IE */
.thumb-container {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.thumb-item {
    flex-shrink: 0;
    /* Alinhamento ao início ajuda o JS a calcular o centro melhor */
    scroll-snap-align: start; 
    
    width: 85px;
    height: 60px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid #e2e8f0;
    transition: all 0.3s ease;
    background: white;
}

.thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.thumb-item:hover {
    border-color: #cbd5e1;
}

.thumb-item.active {
    border-color: var(--cb-blue);
    box-shadow: 0 4px 12px rgba(0, 102, 255, 0.2); /* Brilho sutil na thumb ativa */
    transform: translateY(-2px);
}

.thumb-item.active img {
    opacity: 1;
}






/* 5. SHOPPING & CARDS */
 .product-card {
     background: white;
     border-radius: 16px;
     padding: 15px;
     border: 1px solid #dadce0;
     height: 100%;
     transition: 0.2s;
     display: flex;
     flex-direction: column;
     text-decoration: none;
     color: inherit;
}
 .product-card:hover {
     box-shadow: 0 8px 20px rgba(0,0,0,0.1);
     border-color: var(--cb-blue);
}
 .img-frame {
     height: 140px;
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 10px;
     background: #fcfcfc;
     border-radius: 10px;
}
 .img-frame i {
     font-size: 42px;
     color: #f1f5f9;
}
 .product-title {
     font-size: 13px;
     font-weight: 600;
     color: #3c4043;
     height: 38px;
     margin-bottom: 8px;
     line-height: 1.4;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
}
 .price-main {
     font-size: 18px;
     font-weight: 800;
     color: #1e1e1e;
     margin-bottom: 10px;
}
 .store-badge {
     display: flex;
     align-items: center;
     gap: 6px;
     font-size: 12px;
     font-weight: 500;
     color: #3c4043;
     margin-bottom: 12px;
}
 .store-logo {
     width: 16px;
     height: 16px;
     border-radius: 3px;
}
 .btn-go-store {
     margin-top: auto;
     background: #f8f9fa;
     border: 1px solid #dadce0;
     color: var(--cb-blue);
     font-weight: 700;
     font-size: 12px;
     padding: 10px;
     border-radius: 8px;
     text-align: center;
}
 .product-card:hover .btn-go-store {
     background: var(--cb-blue);
     color: white;
     border-color: var(--cb-blue);
}
/* 6. EFEITO BLUR (CURIOSIDADE) */
 .price-blur-box {
     position: relative;
     display: inline-block;
     cursor: pointer;
}
 .price-value-blur {
     filter: blur(4.5px);
     opacity: 0.7;
     user-select: none;
     transition: filter 0.3s ease;
}
 .price-blur-box::after {
     content: "VER PREÇO";
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     font-size: 9px;
     font-weight: 900;
     color: var(--cb-blue);
     letter-spacing: 0.5px;
     pointer-events: none;
}
 .product-card:hover .price-value-blur {
     filter: blur(4px);
}
/* 7. FICHA TÉCNICA (ACCORDION) */
 .accordion-item {
     border-radius: 15px !important;
     margin-bottom: 15px;
     border: none !important;
     box-shadow: 0 4px 12px rgba(0,0,0,0.03);
     overflow: hidden;
}
 .accordion-button {
     font-weight: 700;
     color: var(--cb-dark);
     padding: 1.2rem;
}
 .accordion-button:not(.collapsed) {
     background-color: white;
     color: var(--cb-blue);
     box-shadow: none;
}
 .spec-item {
     display: flex;
     justify-content: space-between;
     padding: 12px 0;
     border-bottom: 1px solid #f1f5f9;
}
 .spec-item:last-child {
     border-bottom: none;
}
 .spec-label {
     color: var(--cb-gray);
     font-size: 14px;
     font-weight: 500;
     display: flex;
     align-items: center;
     gap: 8px;
}
 .spec-value {
     font-weight: 700;
     font-size: 14px;
     text-align: right;
     color: var(--cb-dark);
}



/* No mobile (telas pequenas) */
@media (max-width: 767px) {
    .hero-container {
        margin-top: 30px; /* Ajuste esse valor conforme a altura do seu logo/menu */
    }
}


/* Estilização para o portal Carros Brasil */
.caixa-valor-fipe {
    background: transparent;
}

.ícone-fipe {
    color: #438e44;
    font-size: 1.5rem;
}

.texto-valor-grande {
    color: #438e44;
    font-size: 2.9rem; /* display-5 */
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1;
}

.divisor-vertical {
    width: 2px;
    height: 35px;
    background-color: #dee2e6;
    border-radius: 2px;
     margin: 0 12px !important;
}

.fipe-rotulo {
    color: #212529;
    font-weight: 800;
    font-size: 0.85rem;
    line-height: 1;
    margin-bottom: 2px;
}

.fipe-data {
    color: #6c757d;
    font-weight: 600;
    font-size: 0.75rem;
    white-space: nowrap;
}

/* Ajustes para Mobile */
@media (max-width: 576px) {
    .texto-valor-grande {
        font-size: 2.5rem;
    }
    .divisor-vertical {
        height: 30px;
        margin: 0 12px !important;
    }
    .ícone-fipe {
        font-size: 1.2rem;
    }
}



.ph-seal-check{
    font-size: 1.6rem;
}




/* Container do Resumo Editorial no Carros Brasil */
.resumo-editorial {
    background-color: #f8f9fa; /* Fundo cinza ultra claro */
    border-left: 1px solid #aeaeae; /* Borda verde combinando com o preço */
    padding: 1.5rem 2rem;
    border-radius: 0 2px 8px 0;
    margin-top: 2rem;
    position: relative;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03); /* Sombra bem sutil */
}

/* Estilização do texto */
.resumo-editorial p {
    color: #4a4a4a;
    line-height: 1.8; /* Aumenta o espaçamento entre linhas para leitura confortável */
    font-size: 1.05rem;
    font-weight: 500;
    margin-bottom: 0 !important;
}

/* Adiciona um ícone de "aspas" ou "info" sutil antes do texto (opcional) */
.resumo-editorial::before {
    content: 'i'; /* Ou um ícone da Phosphor se preferir */
    position: absolute;
    top: -10px;
    left: 20px;
    background: #8c8c8c;
    color: white;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: bold;
}

/* Ajuste para mobile */
@media (max-width: 768px) {
    .resumo-editorial {
        padding: 1.2rem 1.5rem;
        margin-left: 10px;
        margin-right: 10px;
    }
    .resumo-editorial p {
        font-size: 0.95rem;
    }
}



/*FIPE DESVALORIZAÇÃO*/

  :root {
            --cb-primary: #0d6efd;
            --cb-dark: #0f172a;
            --cb-muted: #94a3b8;
            --font-main: 'Plus Jakarta Sans', sans-serif;
        }

        .fipe-card {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 24px;
            padding: 24px;
            max-width: 100%;
            margin: 20px auto;
            font-family: var(--font-main);
            position: relative;
        }

  .fipe-brand {
            font-weight: 800;
            font-size: 1.5rem;
            color: var(--cb-dark);
            letter-spacing: -1px;
            margin-bottom: 20px;
        }
        .fipe-brand span { color: #ef4444; }

        .chart-stage {
            width: 100%;
            height: 250px;
            position: relative;
            cursor: default;
        }

        .svg-engine { width: 100%; height: 100%; overflow: visible; }
        
        .grid-line { stroke: #f1f5f9; stroke-width: 1.5; }
        
        .chart-path {
            stroke: var(--cb-primary);
            stroke-width: 4;
            fill: none;
            stroke-linecap: round;
        }

        .chart-fill { fill: url(#areaGradient); }

        .chart-dot {
            fill: #ffffff;
            stroke: var(--cb-primary);
            stroke-width: 3;
            transition: r 0.2s ease, stroke-width 0.2s ease;
            cursor: pointer;
        }

        /* Destaque ao passar o mouse */
        .chart-dot:hover {
            r: 8;
            stroke-width: 4;
        }

        .axis-label {
            fill: var(--cb-muted);
            font-size: 11px;
            font-weight: 700;
        }

        /* --- Estilo do Valor (Tooltip) --- */
        .custom-tooltip {
            position: absolute;
            background: var(--cb-dark);
            color: white;
            padding: 8px 12px;
            border-radius: 10px;
            font-size: 12px;
            font-weight: 700;
            pointer-events: none;
            display: none;
            transform: translate(-50%, -120%);
            white-space: nowrap;
            z-index: 100;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        }

        .custom-tooltip::after {
            content: '';
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -5px;
            border-width: 5px;
            border-style: solid;
            border-color: var(--cb-dark) transparent transparent transparent;
        }