
/* GENX Theme CLEAN VERSION - Reduced !important + Structured Overrides */

:root {
    --bg-main: #210750;
    --bg-panel: #0e1a38;
    --text-primary: #FEE44F;
    --accent-primary: #ff2d81;
    --accent-secondary: #00e0c6;
    --link-color: #1fa4ff;
    --border-soft: rgba(254,228,79,.3);
}

body {
    background: linear-gradient(180deg, #0b0430 0%, #1a0a4f 42%, #0b0430 100%);
    color: var(--text-primary);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    line-height: 1.6;
}

.navbar-inverse {
    background: rgba(11,4,48,.88);
    border-bottom: 2px solid var(--accent-primary);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--accent-primary);
    text-shadow: 0 0 8px rgba(255,45,129,.4);
}

legend {
    color: var(--text-primary);
}

#rez-summary-list li#tripvenue,
#rez-summary-list li#tripdates {
    color: var(--text-primary);
}

.cat-header h3 {
    color: var(--text-primary);
}

label {
    color: var(--accent-primary);
}

a {
    color: var(--link-color);
    transition: .2s ease;
}

a:hover {
    color: var(--accent-secondary);
}

a.btn, button {
    background: linear-gradient(135deg, #ff2d81, #ff4f9c);
    border: 2px solid #ff2d81;
    color: #FFFFFF;
    font-weight: 600;
    border-radius: 6px;
}

a.btn:hover, button:hover {
    background: #ff4f9c;
}

th {
    background: linear-gradient(90deg, #ffea3a, #ff9b4a, #ff4fa3, #d42cff);
    color: #0b0430;
}

td {
    color: var(--text-primary);
}

.panel, .card {
    background: rgba(14,26,56,.9);
    border: 1px solid var(--border-soft);
    border-radius: 8px;
}

input, select, textarea {
    background: #0e1a38;
    color: var(--text-primary);
    border: 1px solid rgba(254,228,79,.4);
    border-radius: 6px;
}

input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--accent-primary);
}

#main-footer {
    border-top: 1px solid rgba(254,228,79,.35);
}

#rezmagic-contact {
    display: none;
}

#pre-queue-countdown {
    border: 1px dashed #555;
    background-color: #0b0430;
    padding: 5px;
}