/* ======================================================= */
/* IDENTIDADE VISUAL COMPLETA - BRASIL CAR LEILOES         */
/* ======================================================= */

/* --- FONTES DO GOOGLE --- */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@700&family=Roboto:wght@400;700&display=swap');

/* --- PALETA DE CORES E VARIÁVEIS --- */
:root {
    --cor-verde: #04D939;   /* Verde limão vibrante */
    --cor-amarelo: #F2D027; /* Amarelo ouro */
    --cor-preto: #1a1a1a;   /* Preto/Cinza escuro para textos */
    --cor-cinza-claro: #f4f4f4;
    --cor-branco: #ffffff;
    --sombra-padrao: 0 4px 10px rgba(0,0,0,0.1);
    --fonte-titulo: 'Oswald', sans-serif;
    --fonte-corpo: 'Roboto', sans-serif;
}

/* --- ESTILOS GERAIS --- */
body {
    font-family: var(--fonte-corpo);
    background-color: var(--cor-cinza-claro);
    color: var(--cor-preto);
    line-height: 1.6;
    margin: 0;
}

.container {
    max-width: 1200px;
    margin: auto;
    padding: 20px;
}

h2.category-title {
    font-family: var(--fonte-titulo);
    text-transform: uppercase;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    margin-top: 40px;
}

/* --- CABEÇALHO E NAVEGAÇÃO --- */
.site-header {
    background-color: var(--cor-preto);
    padding: 10px 20px;
    border-bottom: 5px solid var(--cor-verde);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.site-header h1 {
    font-family: var(--fonte-titulo);
    font-size: 2.5em;
    color: var(--cor-branco);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 2px;
}
.site-header h1 a { color: inherit; text-decoration: none; }
.site-header h1 .highlight { color: var(--cor-verde); }
.main-nav { display: flex; align-items: center; gap: 20px; }
.main-nav a, .main-nav span {
    color: var(--cor-branco);
    text-decoration: none;
    font-weight: bold;
    padding: 8px 12px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}
.main-nav a:hover {
    background-color: var(--cor-verde);
    color: var(--cor-preto);
}

/* --- BANNER ROTATIVO (SLIDER) --- */
.slider-container {
    width: 100%;
    max-width: 1200px;
    margin: 20px auto;
    position: relative;
    overflow: hidden;
    box-shadow: var(--sombra-padrao);
    border-radius: 8px; 
}
.slider-track { display: flex; transition: transform 0.5s ease-in-out; }
.slide { min-width: 100%; }
.slide img { width: 100%; display: block; }
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: var(--cor-branco);
    border: none;
    padding: 10px 15px;
    font-size: 1.5em;
    cursor: pointer;
    z-index: 10;
    transition: background-color 0.3s ease;
}
.slider-btn:hover { background-color: rgba(0, 0, 0, 0.8); }
.slider-btn.prev { left: 10px; }
.slider-btn.next { right: 10px; }
.nav-dots {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}
.dot {
    width: 12px;
    height: 12px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.dot.active { background-color: var(--cor-branco); }

/* --- GRID E CARTÕES DE LEILÃO --- */
.lotes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 25px;
}
.item-leilao-card {
    background-color: var(--cor-branco);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--sombra-padrao);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.item-leilao-card:hover { transform: translateY(-5px); box-shadow: 0 8px 15px rgba(0,0,0,0.15); }
.item-leilao-card.encerrado { opacity: 0.7; filter: grayscale(80%); }
.item-leilao-card.encerrado .button-item {
    background-color: #aaa;
    cursor: not-allowed;
}
.card-header { display: flex; justify-content: space-between; align-items: center; padding: 10px 15px; border-bottom: 1px solid #eee; }
.lote-numero { font-family: var(--fonte-titulo); font-size: 1.4em; color: var(--cor-preto); }
.banco-logo { max-height: 20px; }

/* --- CARROSSEL DENTRO DO CARD --- */
.card-image-slider { position: relative; overflow: hidden; height: 180px; }
.card-image-track { display: flex; height: 100%; transition: transform 0.4s ease; }
.card-image-track img { min-width: 100%; height: 100%; object-fit: cover; }
.card-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.4);
    color: white;
    border: none;
    font-size: 1.2em;
    cursor: pointer;
    padding: 5px 10px;
    z-index: 5;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.item-leilao-card:hover .card-slider-btn { opacity: 1; }
.card-slider-btn.prev { left: 5px; }
.card-slider-btn.next { right: 5px; }

/* --- CORPO DO CARD --- */
.card-body { padding: 15px; font-size: 0.95em; color: #555; flex-grow: 1; }
.card-body p { margin: 4px 0; }
.card-body .price { font-weight: bold; color: var(--cor-preto); font-size: 1.1em; margin-top: 10px; }
.card-body .bid-by { font-size: 0.9em; margin-top: -5px; color: #333; }
.button-details {
    display: inline-block;
    margin: 10px 0;
    font-size: 0.9em;
    font-weight: bold;
    color: var(--cor-preto);
    text-decoration: none;
}
.button-details:hover { color: var(--cor-verde); text-decoration: underline; }
.card-date { padding: 10px 15px; background-color: #f9f9f9; text-align: center; }
.card-date .date-text { font-size: 0.9em; color: #666; }
.countdown { font-family: var(--fonte-titulo); color: var(--cor-preto); font-size: 1.2em; letter-spacing: 1px; }
.button-item { display: block; width: 100%; padding: 15px; background-color: var(--cor-verde); color: var(--cor-preto); font-family: var(--fonte-titulo); font-size: 1.2em; text-transform: uppercase; text-decoration: none; text-align: center; border: none; cursor: pointer; transition: all 0.3s ease; }
.button-item:hover:not([disabled]) { background-color: var(--cor-amarelo); transform: translateY(-2px); }
.button-item:disabled { background-color: #aaa; cursor: not-allowed; }
.button-item i { margin-left: 8px; }

/* --- CAIXA DE LANCE EXPANSÍVEL --- */
.bid-box { background-color: #f8f9fa; padding: 15px; border-top: 1px solid #ddd; display: none; }
.bid-box p { margin-top: 0; text-align: center; }
.bid-form .form-group { margin-bottom: 10px; }
.bid-form label { display: block; margin-bottom: 5px; font-size: 0.9em; text-align: center; }
.bid-form .lance-input { width: 100%; padding: 8px; box-sizing: border-box; text-align: center; font-size: 1.2em; font-weight: bold; border: 1px solid #ccc; border-radius: 5px; }
.bid-submit-btn {
    width: 100%;
    padding: 12px;
    background-color: var(--cor-branco);
    color: var(--cor-verde);
    border: 2px solid var(--cor-verde);
    font-family: var(--fonte-titulo);
    font-size: 1.1em;
    text-transform: uppercase;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}
.bid-submit-btn:hover { background-color: var(--cor-verde); color: var(--cor-preto); }

/* --- PÁGINA DE DETALHES DO LOTE --- */
.lote-detalhe-container { display: flex; flex-wrap: wrap; gap: 40px; background-color: var(--cor-branco); padding: 30px; border-radius: 8px; box-shadow: var(--sombra-padrao); }
.gallery-container { flex: 1 1 500px; min-width: 300px; }
.main-image img { width: 100%; border-radius: 8px; border: 1px solid #eee; height: auto; max-height: 450px; object-fit: cover; }
.thumbnail-images { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.thumbnail-images img { width: 80px; height: 60px; object-fit: cover; border-radius: 5px; cursor: pointer; border: 2px solid transparent; transition: border-color 0.3s ease; }
.thumbnail-images img:hover, .thumbnail-images img.active { border-color: var(--cor-verde); }
.info-container { flex: 1 1 400px; min-width: 300px; }
.info-container h2 { font-family: var(--fonte-titulo); font-size: 2.5em; margin: 0 0 20px 0; }
.specs-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 1.1em; }
.specs-table td, .specs-table th { padding: 12px; border-bottom: 1px solid #eee; text-align: left; }
.specs-table td:first-child { width: 150px; }
.lance-info-box { background-color: #f9f9f9; border: 1px solid #eee; border-radius: 8px; padding: 20px; margin-bottom: 20px; }
.lance-info-box p { margin: 5px 0; font-size: 1.1em; color: #555; }
.lance-info-box p span { font-weight: bold; color: var(--cor-preto); }
.lance-info-box .lance-atual { font-size: 1.8em; font-family: var(--fonte-titulo); color: var(--cor-verde); }
.bid-box-detalhe { border: 2px solid var(--cor-verde); padding: 20px; border-radius: 8px; }
.detalhes-adicionais, .bid-history-full { margin-top: 40px; background-color: var(--cor-branco); padding: 30px; border-radius: 8px; box-shadow: var(--sombra-padrao); }
.detalhes-adicionais h3, .bid-history-full h3 { font-family: var(--fonte-titulo); font-size: 1.8em; margin-top: 0; border-bottom: 2px solid #eee; padding-bottom: 10px; margin-bottom: 20px; }

/* --- RODAPÉ --- */
.site-footer { background-color: var(--cor-preto); color: #aaa; padding: 40px 20px; margin-top: 40px; }
.footer-container { max-width: 1200px; margin: auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 30px; }
.footer-column { flex: 1 1 250px; }
.footer-column h3 { font-family: var(--fonte-titulo); color: var(--cor-branco); font-size: 1.4em; text-transform: uppercase; margin-bottom: 15px; border-bottom: 2px solid var(--cor-verde); padding-bottom: 10px; }
.social-icons a { color: #aaa; font-size: 1.8em; margin-right: 15px; transition: color 0.3s ease; }
.social-icons a:hover { color: var(--cor-verde); }
.footer-bottom { text-align: center; margin-top: 40px; padding-top: 20px; border-top: 1px solid #444; font-size: 0.9em; color: #777; }

/* --- FORMULÁRIOS, MENSAGENS, ADMIN --- */
.flash-message { padding: 15px; margin-bottom: 20px; border-radius: 5px; color: var(--cor-branco); text-align: center; }
.flash-success { background-color: var(--cor-verde); color: var(--cor-preto); }
.flash-error { background-color: #c92a2a; }
.form-container { max-width: 800px; margin: 40px auto; padding: 30px 40px; background-color: var(--cor-branco); border-radius: 8px; box-shadow: var(--sombra-padrao); }
.form-container h1 { font-family: var(--fonte-titulo); font-size: 2.5em; text-align: center; margin-bottom: 25px; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: bold; color: #555; }
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; font-size: 1em; transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--cor-verde); box-shadow: 0 0 5px rgba(4, 217, 57, 0.5); outline: none; }
.form-button { display: block; width: 100%; padding: 15px; border: none; background-color: var(--cor-verde); color: var(--cor-preto); font-family: var(--fonte-titulo); font-size: 1.2em; text-transform: uppercase; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; }
.form-button:hover { background-color: var(--cor-amarelo); }
fieldset { border: 1px solid #ddd; border-radius: 8px; padding: 20px; margin-bottom: 20px; }
legend { padding: 0 10px; font-family: var(--fonte-titulo); font-weight: bold; font-size: 1.2em; }
.tab-nav { border-bottom: 2px solid #ccc; margin-bottom: 20px; }
.tab-btn { background: none; border: none; padding: 15px 20px; font-size: 1.1em; font-weight: bold; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.tab-btn.active { border-bottom-color: var(--cor-verde); color: var(--cor-preto); }
.tab-content { display: none; }
.tab-content.active { display: block; }
.back-link { text-align: center; margin-top: 20px; }
.back-link a { color: var(--cor-preto); text-decoration: none; font-weight: bold; }
.back-link a:hover { color: var(--cor-verde); }

/* --- PÁGINA MEUS LANCES E NOTIFICAÇÃO --- */
.status-lance { padding: 10px; margin: 15px 0; border-radius: 5px; font-weight: bold; text-align: center; font-size: 0.9em; border: 1px solid transparent; }
.status-lance .fa-solid { margin-right: 8px; }
.status-vencendo { background-color: #eafaf1; color: #155724; border-color: #a3d9b1; }
.status-perdendo { background-color: #fff3cd; color: #856404; border-color: #ffeeba; }
.status-encerrado { background-color: #e9ecef; color: #495057; border-color: #ced4da; }
.notification-popup-hidden { display: none; }
.notification-popup-visible { position: fixed; bottom: 25px; right: 25px; background-color: var(--cor-amarelo); color: var(--cor-preto); padding: 25px; border-radius: 8px; box-shadow: 0 5px 20px rgba(0,0,0,0.3); z-index: 2000; font-family: var(--fonte-corpo); font-weight: bold; max-width: 320px; text-align: center; animation: slideIn 0.5s forwards; }
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
.notification-popup-visible p { margin: 0; font-size: 1.1em; }
.notification-popup-visible button { background-color: var(--cor-preto); color: var(--cor-branco); border: none; padding: 8px 15px; border-radius: 5px; cursor: pointer; margin-top: 15px; font-weight: bold; transition: background-color 0.2s; }
.notification-popup-visible button:hover { background-color: #333; }