
/* ===================================================
   SECCIÓN DE CONTACTO (Si existe)
=================================================== */
#contacto {
    margin-top: var(--spacing-3xl);
    padding: var(--spacing-3xl) var(--spacing-md);
    background-color: var(--secondary-black);
}

#contacto .titulo h2 {
    font-family: var(--font-heading);
    color: var(--neutral-white);
    font-size: clamp(2rem, 5vw, 2.5rem);
    text-transform: uppercase;
    text-align: center;
    margin-bottom: var(--spacing-sm);
}

#contacto .titulo .underline {
    display: block;
    width: 60px;
    height: 4px;
    background-color: var(--primary-green);
    margin: 0 auto var(--spacing-3xl) auto;
    border-radius: 2px;
}

.formulario {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--spacing-2xl);
    background-color: var(--secondary-gray);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-2xl);
    border-top: 5px solid var(--accent-gold);
    transition: transform var(--transition-base);
}

.formulario:hover {
    transform: translateY(-5px);
}

.formulario h2 {
    font-family: var(--font-heading);
    color: var(--primary-green);
    font-size: clamp(1.5rem, 4vw, 1.8rem);
    margin-bottom: var(--spacing-xs);
}

.formulario h5 {
    color: #aaaaaa;
    font-size: 1rem;
    margin-bottom: var(--spacing-xl);
    font-weight: 300;
}

.formulario input[type="text"],
.formulario input[type="email"],
.formulario textarea {
    width: 100%;
    padding: var(--spacing-md) var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
    border: 1px solid #444;
    border-radius: var(--radius-sm);
    background-color: var(--secondary-gray-light);
    color: var(--neutral-white);
    font-size: 1rem;
    font-family: var(--font-primary);
    transition: all var(--transition-base);
    resize: vertical;
}

.formulario input::placeholder,
.formulario textarea::placeholder {
    color: #888;
    font-style: italic;
}

.formulario input:focus,
.formulario textarea:focus {
    border-color: var(--primary-green);
    outline: none;
    box-shadow: 0 0 15px var(--primary-green);
    background-color: #383838;
}

.formulario input[type="submit"],
.formulario button[type="submit"] {
    display: block;
    width: 100%;
    padding: var(--spacing-md);
    margin-top: var(--spacing-lg);
    background-color: var(--primary-green);
    color: var(--neutral-white);
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-base);
    border-bottom: 4px solid var(--primary-green-dark);
}

.formulario input[type="submit"]:hover,
.formulario button[type="submit"]:hover {
    background-color: var(--primary-green-light);
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
}

.formulario input[type="submit"]:active,
.formulario button[type="submit"]:active {
    transform: translateY(1px);
    border-bottom-width: 1px;
}

@media (max-width: 600px) {
    .formulario {
        padding: var(--spacing-xl);
        margin: 0 var(--spacing-md);
    }
}
/* 1. Desde que el navegador abre el archivo, el fondo ya es negro */
html {
    background-color: #111 !important; /* El color de tu club */
}

/* 2. Bloqueo preventivo: invisible pero con fondo oscuro */
body:not(.content-ready) {
    opacity: 0 !important;
    background-color: #111 !important;
}

/* 3. Aparición rápida */
body.content-ready {
    opacity: 1 !important;
    transition: opacity 0.2s ease-in;
    background-color: #111 !important;
}