/* 
 * Estilo Global - Sistema de Ingressos Exponoivas&Festas
 * Cor primária personalizada em todas as páginas
 * VERSÃO 2.0 - Cores forçadas com máxima especificidade
 */

:root {
    --cor-primaria: #7A0514;
    --cor-secundaria: #f8f9fa;
}

/* PRIORIDADE MÁXIMA - Classes customizadas principais */
.bg-primary-custom,
div.bg-primary-custom,
.card-header.bg-primary-custom,
div.card-header.bg-primary-custom {
    background-color: #7A0514 !important;
    color: white !important;
}

.text-primary-custom,
h1.text-primary-custom,
h2.text-primary-custom,
h3.text-primary-custom,
h4.text-primary-custom,
h5.text-primary-custom,
h6.text-primary-custom,
a.text-primary-custom,
.nav-link.text-primary-custom {
    color: #7A0514 !important;
}

/* Classes customizadas principais */
.bg-primary-custom {
    background-color: var(--cor-primaria) !important;
}

.text-primary-custom {
    color: var(--cor-primaria) !important;
}

/* FORÇA as cores dos cards - máxima especificidade */
.card .card-header.bg-primary-custom {
    background-color: #7A0514 !important;
    color: white !important;
}

.card-header.bg-primary-custom h5,
.card-header.bg-primary-custom small,
.card-header.bg-primary-custom * {
    color: white !important;
}

/* Ainda mais específico para os cards de ingresso */
.card-ingresso .card-header.bg-primary-custom,
div.card.card-ingresso .card-header.bg-primary-custom {
    background-color: #7A0514 !important;
    color: white !important;
}

.card-ingresso .card-header.bg-primary-custom h5,
.card-ingresso .card-header.bg-primary-custom small,
div.card.card-ingresso .card-header.bg-primary-custom h5,
div.card.card-ingresso .card-header.bg-primary-custom small {
    color: white !important;
}

/* FORÇA cores do navbar */
.navbar .nav-link.text-primary-custom,
.navbar-nav .nav-link.text-primary-custom {
    color: #7A0514 !important;
}

/* Sobrescrever todas as variações do navbar do Bootstrap */
.navbar-light .navbar-nav .nav-link.text-primary-custom,
.navbar-dark .navbar-nav .nav-link.text-primary-custom,
.navbar .navbar-nav .nav-link.text-primary-custom,
nav.navbar .nav-link.text-primary-custom {
    color: #7A0514 !important;
}

.navbar-light .navbar-nav .nav-link.text-primary-custom:hover,
.navbar-dark .navbar-nav .nav-link.text-primary-custom:hover,
.navbar .navbar-nav .nav-link.text-primary-custom:hover,
nav.navbar .nav-link.text-primary-custom:hover {
    color: #8a0420 !important;
}

/* Garantir que títulos principais usem a cor primária */
h1.text-primary-custom,
h2.text-primary-custom,
h3.text-primary-custom,
h4.text-primary-custom,
h5.text-primary-custom,
h6.text-primary-custom {
    color: var(--cor-primaria) !important;
}

/* FORÇA máxima especificidade para cabeçalhos */
.container h1.text-primary-custom,
.container h2.text-primary-custom,
#ingressos h1.text-primary-custom,
#ingressos h2.text-primary-custom,
section h1.text-primary-custom,
section h2.text-primary-custom {
    color: #7A0514 !important;
}

/* Cabeçalho do evento */
.lead.text-primary-custom {
    color: var(--cor-primaria) !important;
}

/* Seção do evento - garantir que todos os elementos tenham a cor correta */
#ingressos .text-primary-custom,
.section-title {
    color: var(--cor-primaria) !important;
}

/* Display titles */
.display-1.text-primary-custom,
.display-2.text-primary-custom,
.display-3.text-primary-custom,
.display-4.text-primary-custom,
.display-5.text-primary-custom,
.display-6.text-primary-custom {
    color: var(--cor-primaria) !important;
}

.btn-primary-custom {
    background-color: var(--cor-primaria);
    border-color: var(--cor-primaria);
    color: white;
}

.btn-primary-custom:hover {
    background-color: #8a0420;
    border-color: #8a0420;
    color: white;
}

/* Sobrescrever cores do Bootstrap para usar nossa cor primária */
.bg-success {
    background-color: var(--cor-primaria) !important;
}

.text-success {
    color: var(--cor-primaria) !important;
}

.btn-success {
    background-color: var(--cor-primaria) !important;
    border-color: var(--cor-primaria) !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: #8a0420 !important;
    border-color: #8a0420 !important;
}

.border-success {
    border-color: var(--cor-primaria) !important;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: var(--cor-primaria);
}

/* Badges com cor primária */
.badge.bg-success {
    background-color: var(--cor-primaria) !important;
}

/* Spinners */
.spinner-border.text-success {
    color: var(--cor-primaria) !important;
}

/* Links */
a.text-success {
    color: var(--cor-primaria) !important;
}

a.text-success:hover {
    color: #8a0420 !important;
}

/* Ícones */
.text-success i,
i.text-success {
    color: var(--cor-primaria) !important;
}

/* Navbar customizado */
.navbar .nav-link.text-primary-custom {
    color: var(--cor-primaria) !important;
    font-weight: 600;
    transition: all 0.3s ease;
}

.navbar .nav-link.text-primary-custom:hover {
    color: #8a0420 !important;
    transform: translateY(-1px);
}

/* Garantir que não há conflito de cores */
.navbar-light .navbar-nav .nav-link.text-primary-custom {
    color: var(--cor-primaria) !important;
}

.navbar-dark .navbar-nav .nav-link.text-primary-custom {
    color: var(--cor-primaria) !important;
}

/* Carrinho badge */
.carrinho-badge {
    background-color: var(--cor-primaria);
    color: white;
    border-radius: 50%;
    padding: 2px 8px;
    font-size: 0.8rem;
}

/* Cards de ingresso */
.card-ingresso {
    border: 2px solid var(--cor-primaria);
    transition: transform 0.3s;
}

.card-ingresso:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(160, 5, 35, 0.2);
}

/* Títulos de seção */
.section-title {
    color: var(--cor-primaria);
    font-weight: bold;
    margin-bottom: 30px;
}

/* Footer */
footer {
    background-color: var(--cor-primaria);
    color: white;
}

/* Status de ingressos */
.status-pago {
    background-color: var(--cor-primaria) !important;
    color: white !important;
}

.status-pendente {
    background-color: #ffc107 !important;
    color: #000 !important;
}

.status-cancelado {
    background-color: #dc3545 !important;
    color: white !important;
}

/* Ticket cards */
.ticket-card {
    border-left: 4px solid var(--cor-primaria);
    transition: transform 0.3s;
}

.ticket-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(160, 5, 35, 0.15);
}

/* Botões de ação */
.btn-outline-primary-custom {
    color: var(--cor-primaria);
    border-color: var(--cor-primaria);
}

.btn-outline-primary-custom:hover {
    background-color: var(--cor-primaria);
    border-color: var(--cor-primaria);
    color: white;
}

/* Progress bars */
.progress-bar.bg-success {
    background-color: var(--cor-primaria) !important;
}

/* Step indicator */
.step-indicator .step.active {
    background-color: var(--cor-primaria);
    color: white;
}

/* Form focus */
.form-control:focus {
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 0.2rem rgba(160, 5, 35, 0.25);
}

/* Success messages */
.success-icon {
    color: var(--cor-primaria) !important;
    font-size: 4rem;
}

/* QR Code container */
.qr-code {
    max-width: 120px;
    border: 2px solid var(--cor-primaria);
    border-radius: 8px;
    padding: 5px;
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }
    
    .ticket-card {
        break-inside: avoid;
        margin-bottom: 20px;
        border: 2px solid var(--cor-primaria);
    }
    
    .bg-primary-custom {
        background-color: var(--cor-primaria) !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

/* Responsividade */
@media (max-width: 768px) {
    .card-ingresso {
        margin-bottom: 20px;
    }
    
    .navbar .nav-link.text-primary-custom {
        padding: 8px 16px;
        margin: 2px 0;
    }
    
    .section-title {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }
}

/* Animações suaves */
.btn-primary-custom,
.btn-success,
.card-ingresso,
.ticket-card {
    transition: all 0.3s ease;
}

/* Estados de loading */
.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Badges customizados */
.badge-primary-custom {
    background-color: var(--cor-primaria);
    color: white;
}

/* Alertas customizados */
.alert-primary-custom {
    color: #721c24;
    background-color: #f8d7da;
    border-color: var(--cor-primaria);
}

/* Links de navegação */
.nav-pills .nav-link.active {
    background-color: var(--cor-primaria);
}

.nav-pills .nav-link {
    color: var(--cor-primaria);
}

.nav-pills .nav-link:hover {
    color: #8a0420;
}

/* Tooltips */
.tooltip-inner {
    background-color: var(--cor-primaria);
}

.tooltip.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: var(--cor-primaria);
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: var(--cor-primaria);
}

/* Dropdown */
.dropdown-item:active {
    background-color: var(--cor-primaria);
}

/* Paginação */
.page-link {
    color: var(--cor-primaria);
}

.page-item.active .page-link {
    background-color: var(--cor-primaria);
    border-color: var(--cor-primaria);
}

.page-link:hover {
    color: #8a0420;
}

/* Modal header */
.modal-header {
    border-bottom-color: var(--cor-primaria);
}

/* Accordion */
.accordion-button:not(.collapsed) {
    background-color: rgba(160, 5, 35, 0.1);
    color: var(--cor-primaria);
}

/* Tabs */
.nav-tabs .nav-link.active {
    color: var(--cor-primaria);
    border-color: var(--cor-primaria) var(--cor-primaria) #fff;
}

.nav-tabs .nav-link:hover {
    color: #8a0420;
}
