/* Reglamento — página pública /reglamento/.
   Tema oscuro + brand tokens, mobile-first. Acordeón con <details>/<summary>
   nativo (sin JS): degrada perfecto y es accesible por teclado. */

.mo-torneo-invierno-reglamento {
    max-width: 820px;
    margin: 0 auto;
    padding: 1rem;
    color: var(--mo-torneo-invierno-on-surface);
}

.mo-torneo-invierno-reglamento__title {
    color: var(--mo-torneo-invierno-primary);
    border-bottom: 3px solid var(--mo-torneo-invierno-primary-strong);
    padding-bottom: .4rem;
    margin: 0 0 1.5rem;
}

.mo-torneo-invierno-reglamento__subtitle {
    color: var(--mo-torneo-invierno-accent);
    margin: 2rem 0 1rem;
    font-size: 1.15rem;
}

/* ── Reglamento general (HTML del editor) ─────────────────────────────── */
.mo-torneo-invierno-reglamento__general {
    line-height: 1.7;
}
.mo-torneo-invierno-reglamento__general h2,
.mo-torneo-invierno-reglamento__general h3 {
    color: var(--mo-torneo-invierno-accent);
    margin: 1.5rem 0 .5rem;
}
.mo-torneo-invierno-reglamento__general a {
    color: var(--mo-torneo-invierno-surface-link);
}
.mo-torneo-invierno-reglamento__general ul,
.mo-torneo-invierno-reglamento__general ol {
    padding-left: 1.4rem;
}

/* ── Índice navegable ─────────────────────────────────────────────────── */
.mo-torneo-invierno-reglamento__indice {
    margin: 1.5rem 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(152, 206, 240, .18);
    background: rgba(152, 206, 240, .05);
    border-radius: var(--mo-torneo-invierno-radius-lg, .75rem);
}
.mo-torneo-invierno-reglamento__indice .mo-torneo-invierno-reglamento__subtitle {
    margin: 0 0 .75rem;
}
.mo-torneo-invierno-reglamento__indice-reglas {
    margin: 0;
    padding-left: 1.3rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.mo-torneo-invierno-reglamento__indice-regla > a {
    font-weight: 600;
    color: var(--mo-torneo-invierno-surface-link);
    text-decoration: none;
}
.mo-torneo-invierno-reglamento__indice-regla > a:hover,
.mo-torneo-invierno-reglamento__indice-regla > a:focus-visible {
    text-decoration: underline;
}
.mo-torneo-invierno-reglamento__indice-arts {
    margin: .35rem 0 .25rem;
    padding-left: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.mo-torneo-invierno-reglamento__indice-arts a {
    color: var(--mo-torneo-invierno-on-surface-muted);
    text-decoration: none;
    font-size: .92rem;
}
.mo-torneo-invierno-reglamento__indice-arts a:hover,
.mo-torneo-invierno-reglamento__indice-arts a:focus-visible {
    color: var(--mo-torneo-invierno-surface-link);
    text-decoration: underline;
}

/* ── Cuerpo: Reglas → Artículos ───────────────────────────────────────── */
.mo-torneo-invierno-reglamento__regla {
    margin: 1.75rem 0;
    scroll-margin-top: 1rem;
}
.mo-torneo-invierno-reglamento__regla-head {
    color: var(--mo-torneo-invierno-accent);
    font-size: 1.2rem;
    margin: 0 0 .75rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid rgba(152, 206, 240, .18);
}
.mo-torneo-invierno-reglamento__art {
    margin: 0 0 1.1rem;
    scroll-margin-top: 1rem;
}
.mo-torneo-invierno-reglamento__art-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .5rem;
    margin: 0 0 .35rem;
    font-size: 1rem;
}
.mo-torneo-invierno-reglamento__art-num {
    font-weight: 700;
    color: var(--mo-torneo-invierno-primary);
    white-space: nowrap;
}
.mo-torneo-invierno-reglamento__art-title {
    font-weight: 600;
    color: var(--mo-torneo-invierno-on-surface);
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: .9rem;
}
.mo-torneo-invierno-reglamento__art-body {
    line-height: 1.7;
    color: var(--mo-torneo-invierno-on-surface);
}
.mo-torneo-invierno-reglamento__art-body ul,
.mo-torneo-invierno-reglamento__art-body ol {
    padding-left: 1.4rem;
}
.mo-torneo-invierno-reglamento__art-body a {
    color: var(--mo-torneo-invierno-surface-link);
}
.mo-torneo-invierno-reglamento__art-body table {
    width: 100%;
    border-collapse: collapse;
    margin: .75rem 0;
    display: block;
    overflow-x: auto;
}
.mo-torneo-invierno-reglamento__art-body th,
.mo-torneo-invierno-reglamento__art-body td {
    border: 1px solid rgba(152, 206, 240, .2);
    padding: .4rem .6rem;
    text-align: left;
}

/* ── Acordeón por categoría ───────────────────────────────────────────── */
.mo-torneo-invierno-reglamento__cat {
    border: 1px solid rgba(152, 206, 240, .18);
    background: rgba(152, 206, 240, .04);
    border-radius: var(--mo-torneo-invierno-radius-lg, .75rem);
    margin: 0 0 .75rem;
    overflow: hidden;
}

.mo-torneo-invierno-reglamento__cat-head {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    padding: .9rem 1.1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
    user-select: none;
}
/* Ocultar el marcador nativo y poner uno propio (celeste). */
.mo-torneo-invierno-reglamento__cat-head::-webkit-details-marker {
    display: none;
}
.mo-torneo-invierno-reglamento__cat-head::after {
    content: "+";
    margin-left: auto;
    font-size: 1.3rem;
    line-height: 1;
    color: var(--mo-torneo-invierno-accent);
    transition: transform .2s ease;
}
.mo-torneo-invierno-reglamento__cat[open] > .mo-torneo-invierno-reglamento__cat-head::after {
    content: "–";
}
.mo-torneo-invierno-reglamento__cat-head:focus-visible {
    outline: 2px solid var(--mo-torneo-invierno-primary);
    outline-offset: -2px;
}

.mo-torneo-invierno-reglamento__cat-name {
    color: var(--mo-torneo-invierno-on-surface);
}
.mo-torneo-invierno-reglamento__cat-rama {
    font-size: .78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: .12rem .5rem;
    border-radius: 999px;
    color: var(--mo-torneo-invierno-primary);
    background: rgba(152, 206, 240, .16);
}

.mo-torneo-invierno-reglamento__cat-body {
    padding: 0 1.1rem 1.1rem;
}

/* Chips de auto-datos (edad / arancel / cupo). */
.mo-torneo-invierno-reglamento__datos {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.mo-torneo-invierno-reglamento__dato {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: .45rem .7rem;
    border-radius: .5rem;
    background: rgba(55, 90, 252, .1);
    border: 1px solid rgba(152, 206, 240, .16);
}
.mo-torneo-invierno-reglamento__dato-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--mo-torneo-invierno-on-surface-muted);
}
.mo-torneo-invierno-reglamento__dato-value {
    font-weight: 600;
    color: var(--mo-torneo-invierno-on-surface);
}

.mo-torneo-invierno-reglamento__cat-texto {
    line-height: 1.65;
    color: var(--mo-torneo-invierno-on-surface);
}
.mo-torneo-invierno-reglamento__cat-empty {
    color: var(--mo-torneo-invierno-on-surface-muted);
    font-style: italic;
    margin: 0;
}

/* ── Desktop: los datos se ven más aireados ───────────────────────────── */
@media (min-width: 640px) {
    .mo-torneo-invierno-reglamento {
        padding: 2rem 1rem;
    }
    .mo-torneo-invierno-reglamento__dato {
        min-width: 7rem;
    }
}
