/* ==============================================================================================
   Rally El Legado — hoja de estilos de la ZONA PÚBLICA (Fase 11 del plan).

   Diseño sobrio y scout: legible en teléfono con sol directo, buen contraste, sin animaciones
   pesadas. La paleta sale de la insignia bordada del evento (wwwroot/img/logo-el-legado.jpg):
   verde oscuro de fondo, dorado/ocre del cordón para los realces, crema para el texto. Nada de
   colores inventados ajenos a esa pieza — ver la nota del encargo del 2026-09-03.
   ============================================================================================== */

:root {
    --rel-verde-oscuro: #1F3D28;
    --rel-verde: #2E5339;
    --rel-tierra: #8C6A3F;
    --rel-dorado: #C9A227;
    --rel-dorado-claro: #E4C763;
    --rel-crema: #F7F5F0;
}

/* ---- Hero de la landing --------------------------------------------------------------------- */

.rel-hero {
    background: linear-gradient(135deg, var(--rel-verde-oscuro) 0%, var(--rel-verde) 100%);
    color: var(--rel-crema);
    padding: 4rem 1.5rem;
    /* Cordón dorado sutil en el borde inferior, eco del ribete de la insignia bordada. */
    border-bottom: 3px solid var(--rel-dorado);
}

.rel-hero-contenido {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 3rem;
}

.rel-hero-texto {
    flex: 1 1 480px;
    min-width: 0;
}

.rel-hero-logo-marco {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
}

.rel-hero-logo {
    width: 280px;
    height: 280px;
    border-radius: 50%;
    /* El JPG viene RECORTADO al borde de la insignia (2026-09-05): el original era un lienzo de
       500x500 con la insignia de 360x360 metida dentro y descentrada -8 px, asi que el marco
       circular mordia bordado por un lado y dejaba ver negro por el otro. Antes esto se disimulaba
       con object-fit; ahora la imagen ES la insignia, el aro dorado cae justo sobre su borde y no
       queda margen negro que esconder. Si algun dia se reemplaza el archivo, recortarlo igual:
       cuadrado y a ras del bordado. El original sin recortar quedo en _doc/logo-el-legado.original.jpg. */
    box-shadow: 0 0 0 4px var(--rel-dorado), 0 12px 32px rgba(0, 0, 0, 0.45);
    object-fit: cover;
}

.rel-hero-titulo {
    color: #FFFFFF;
    margin-bottom: 0.5rem;
}

.rel-hero .mud-typography-overline {
    color: var(--rel-dorado-claro);
    letter-spacing: 0.06em;
}

.rel-hero-alerta {
    max-width: 480px;
}

.rel-hero-acciones {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: 0.5rem;
}

/* Botón de inscripción: dorado sobre el verde del hero para que sea, literalmente, lo más
   luminoso de la pantalla — es el pedido explícito del encargo ("bien visible"). */
.rel-boton-inscripcion {
    background-color: var(--rel-dorado) !important;
    color: var(--rel-verde-oscuro) !important;
    font-weight: 700 !important;
}

.rel-boton-inscripcion:hover {
    background-color: var(--rel-dorado-claro) !important;
}

.rel-hero-acceso {
    color: var(--rel-crema) !important;
    border-color: rgba(247, 245, 240, 0.5) !important;
}

@media (max-width: 899px) {
    .rel-hero-contenido {
        flex-direction: column;
        text-align: center;
        gap: 1.75rem;
    }

    .rel-hero-logo {
        width: 210px;
        height: 210px;
    }

    .rel-hero-acciones {
        justify-content: center;
    }
}

@media (max-width: 599px) {
    .rel-hero {
        padding: 2.5rem 1rem;
    }
}

/* ---- Barra de navegación: botón de inscripción también en el appbar (siempre visible) -------- */

.rel-appbar-inscripcion {
    background-color: var(--rel-dorado) !important;
    color: var(--rel-verde-oscuro) !important;
    font-weight: 700 !important;
}

.rel-appbar-inscripcion:hover {
    background-color: var(--rel-dorado-claro) !important;
}

.rel-nav-movil-inscripcion {
    color: var(--rel-dorado-claro) !important;
    font-weight: 700 !important;
}

/* ---- Secciones genéricas --------------------------------------------------------------------- */

.rel-seccion {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.rel-seccion-alterna {
    background: #FFFFFF;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.rel-tarjeta-enlace {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* ---- Pilares (qué evalúa el rally) -------------------------------------------------------------- */

.rel-pilar {
    height: 100%;
    text-align: center;
    padding: 1.5rem 1rem;
}

.rel-pilar-icono {
    color: var(--rel-tierra);
    margin-bottom: 0.5rem;
}

/* ---- Sección de staff (solo visible con AuthorizeView) ------------------------------------------ */

.rel-staff-seccion {
    background: var(--rel-verde-oscuro);
    color: var(--rel-crema);
}

.rel-staff-seccion .mud-typography-h5,
.rel-staff-seccion .mud-typography-body1 {
    color: var(--rel-crema);
}

/* ---- Programa del día ------------------------------------------------------------------------ */

.rel-programa-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    border-left: 3px solid var(--rel-tierra);
}

.rel-programa-bloque {
    position: relative;
    padding: 0.25rem 0 1.25rem 1.25rem;
}

.rel-programa-bloque::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 0.4rem;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--rel-verde);
}

.rel-programa-hora {
    color: #6b6b6b;
}

/* ---- Postas ------------------------------------------------------------------------------------ */

.rel-posta-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* ---- Tablas responsivas (circuitos, resultados) ------------------------------------------------ */

.rel-tabla-scroll {
    overflow-x: auto;
}

.rel-resultados-tabla th,
.rel-resultados-tabla td {
    white-space: nowrap;
}

/* ---- Instagram embebido (§14 del plan) ---------------------------------------------------------- */

.rel-instagram-marco {
    display: flex;
    justify-content: center;
}

.rel-instagram-marco iframe {
    width: 100%;
    max-width: 540px;
    min-height: 600px;
    border: none;
}
