/* ═══════════════════════════════════════════════════════════
   EventCalc — Dark Premium OVERRIDE
   Aplicado SOBRE o CSS legacy de cada tela.
   Suaviza cores, tipografia e proporções sem reescrever.
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* Substitui as variáveis globais usadas pelas telas */
:root {
    --dark-bg:     #0a0a0b !important;
    --dark-card:   #131316 !important;
    --gold:        #c9a14b !important;
    --red:         #ff453a !important;
    --red-dark:    #c93030 !important;
    --green:       #34c759 !important;
    --text-primary:   #f5f5f7 !important;
    --text-secondary: #a1a1a6 !important;
    --text:        #f5f5f7 !important;
}

/* Body + tipografia base */
body, html {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    background: #0a0a0b !important;
    color: #f5f5f7 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Sobrescreve qualquer Playfair/Lora remanescente */
h1, h2, h3, h4, h5, h6,
.section-title, .logo, .title, .heading {
    font-family: 'Inter', sans-serif !important;
    letter-spacing: -0.025em !important;
    font-weight: 700 !important;
}

p, span, div, li, td, th, label, input, textarea, select, button {
    font-family: 'Inter', sans-serif !important;
}

/* Containers e cards genéricos */
.container, .container-fluid, .card, .box, .section, section {
    border-color: #232328 !important;
}

/* Cards e backgrounds */
.card, .info-card, .box-container, .form-section, .question-box,
.menu-card, .volume-card, .cardapio-section, .proposta-section,
.tab-content, .pricing-card, .feature-card, .item-card {
    background: #131316 !important;
    border: 1px solid #232328 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: #f5f5f7 !important;
}

/* Botões — todos os tipos */
.btn, button, input[type="button"], input[type="submit"] {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: -0.01em !important;
    border-radius: 8px !important;
    transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: none !important;
    border: 1px solid transparent !important;
    padding: 10px 20px !important;
    cursor: pointer !important;
}

.btn-primary, .btn-prosseguir, .btn-avancar, .btn-save, .save-btn,
.btn-confirm, .submit-btn, button.primary,
button[type="submit"] {
    background: #c9a14b !important;
    color: #0a0a0b !important;
}

.btn-primary:hover, .btn-prosseguir:hover, .btn-avancar:hover, .btn-save:hover,
.btn-confirm:hover, .submit-btn:hover, button.primary:hover,
button[type="submit"]:hover {
    background: #d4af37 !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(201, 161, 75, 0.2) !important;
}

.btn-secondary, .btn-voltar, .btn-cancel, .cancel-btn,
button.secondary {
    background: #131316 !important;
    color: #f5f5f7 !important;
    border: 1px solid #2a2a30 !important;
}

.btn-secondary:hover, .btn-voltar:hover, .btn-cancel:hover,
button.secondary:hover {
    background: #1c1c20 !important;
    border-color: #3a3a42 !important;
}

/* Botões com gradiente vermelho legacy → vira dourado sutil */
button[style*="linear-gradient"], .btn[style*="linear-gradient"] {
    background: #c9a14b !important;
    color: #0a0a0b !important;
}

/* Inputs */
input[type="text"], input[type="email"], input[type="tel"],
input[type="number"], input[type="password"], input[type="date"],
input[type="time"], input[type="search"],
textarea, select {
    background: #0a0a0b !important;
    border: 1px solid #2a2a30 !important;
    border-radius: 8px !important;
    color: #f5f5f7 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    transition: all 150ms ease !important;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus,
input[type="number"]:focus, input[type="password"]:focus, input[type="date"]:focus,
input[type="time"]:focus, input[type="search"]:focus,
textarea:focus, select:focus {
    border-color: #c9a14b !important;
    box-shadow: 0 0 0 3px rgba(201, 161, 75, 0.15) !important;
    outline: none !important;
}

input::placeholder, textarea::placeholder {
    color: #6e6e73 !important;
}

/* Labels */
label, .label, .form-label {
    color: #a1a1a6 !important;
    font-weight: 500 !important;
    font-size: 13px !important;
}

/* Títulos com dourado */
.section-title, h1.section-title, h2.section-title {
    color: #f5f5f7 !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
    -webkit-background-clip: initial !important;
}

/* Highlight dourado */
.highlight, .gold-text, [style*="color: #d4af37"] {
    color: #c9a14b !important;
}

/* Borders e bordas com vermelho legacy → cinza-dourado sutil */
[style*="border-color: #c41e3a"], [style*="border-color: #8b1428"],
[style*="border-bottom: 2px solid #c41e3a"] {
    border-color: #2a2a30 !important;
}

/* Bordas com dourado legacy */
[style*="border-color: #d4af37"], [style*="border-color: rgba(212,175,55"] {
    border-color: rgba(201, 161, 75, 0.3) !important;
}

/* Tabelas */
table {
    background: #131316 !important;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
}

th {
    background: #1c1c20 !important;
    color: #c9a14b !important;
    font-weight: 600 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #2a2a30 !important;
    padding: 12px 16px !important;
}

td {
    color: #f5f5f7 !important;
    border-bottom: 1px solid #232328 !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
}

tr:last-child td {
    border-bottom: none !important;
}

tr:hover {
    background: rgba(201, 161, 75, 0.03) !important;
}

/* Progress bar / navegação superior */
.progress-bar, .navigation-bar, .top-bar, .breadcrumb {
    background: #0a0a0b !important;
    border-bottom: 1px solid #232328 !important;
}

/* Modal genéricos */
.modal, .modal-content, .modal-body, .popup, .overlay-content {
    background: #1c1c20 !important;
    border: 1px solid #2a2a30 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6) !important;
    color: #f5f5f7 !important;
}

/* Tabs */
.tab, .tab-button, .nav-tab {
    color: #a1a1a6 !important;
    border-bottom: 2px solid transparent !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
}

.tab.active, .tab-button.active, .nav-tab.active {
    color: #c9a14b !important;
    border-bottom-color: #c9a14b !important;
}

/* Links */
a {
    color: #c9a14b !important;
    transition: color 150ms ease !important;
}

a:hover {
    color: #d4af37 !important;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #0a0a0b;
}
::-webkit-scrollbar-thumb {
    background: #2a2a30;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #3a3a42;
}

/* Selection */
::selection {
    background: rgba(201, 161, 75, 0.3);
    color: #f5f5f7;
}

/* Foco visível */
*:focus-visible {
    outline: 2px solid #c9a14b !important;
    outline-offset: 2px;
}

/* Mobile */
@media (max-width: 768px) {
    h1, .h1 { font-size: 28px !important; }
    h2, .h2 { font-size: 22px !important; }
    .btn { padding: 10px 16px !important; font-size: 13px !important; }
}
