/* ═══════════════════════════════════════════════════════════════
   Botones, CTA y distintivos de inscripción.

   Todos son enlaces o botones de verdad: funcionan sin JavaScript y
   nunca bajan de 44 px de alto útil (WCAG 2.5.8).
   ═══════════════════════════════════════════════════════════════ */

/* ── PÍLDORA PRINCIPAL (CTA de la cabecera) ───────────────────── */
.btn-a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    border: 2px solid var(--morado);
    border-radius: 999px;
    background: var(--morado);
    color: #fff;
    font-family: var(--font-body);
    font-size: var(--txt-servicio);
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.btn-a:hover {
    background: var(--morado-oscuro);
    border-color: var(--morado-oscuro);
    color: #fff;
}

/* ── BOTONES DE CONTENIDO ─────────────────────────────────────── */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 15px 26px;
    border: 2px solid var(--morado);
    border-radius: 999px;
    background: var(--morado);
    color: #fff;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.btn:hover {
    background: var(--morado-oscuro);
    border-color: var(--morado-oscuro);
    color: #fff;
}

.btn-sec {
    background: transparent;
    border-color: var(--tinta);
    color: var(--tinta);
}

.btn-sec:hover {
    background: var(--tinta);
    border-color: var(--tinta);
    color: var(--hueso);
}

/* ── CTA DE LA PORTADA DE PREAPERTURA ─────────────────────────── */
.cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-family: var(--font-body);
    font-weight: 650;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.06s ease;
}

.cta-principal {
    background: var(--morado);
    border-color: var(--morado);
    color: #fff;
}

.cta-principal:hover {
    background: var(--morado-oscuro);
    border-color: var(--morado-oscuro);
    color: #fff;
}

.cta-secundario {
    background: #fff;
    border-color: var(--tinta);
    color: var(--tinta);
}

.cta-secundario:hover {
    background: var(--tinta);
    border-color: var(--tinta);
    color: #fff;
}

.cta:active {
    transform: translateY(1px);
}

/* ── DISTINTIVO DE INSCRIPCIÓN ────────────────────────────────── */
/*
 * Solo se pinta cuando la inscripción está abierta: registration_url()
 * devuelve null mientras esté cerrada y entonces no se renderiza
 * ningún control, ni siquiera desactivado.
 */
.chip-inscripcion {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 18px;
    border: 1.5px solid var(--morado);
    border-radius: 999px;
    background: var(--morado);
    color: #fff;
    font-family: var(--font-body);
    font-size: var(--txt-servicio);
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.chip-inscripcion:hover {
    background: var(--morado-oscuro);
    border-color: var(--morado-oscuro);
    color: #fff;
}

/* Bloque de inscripciones de la portada. */
.inscripciones {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

.insc-chip {
    display: flex;
    flex: 1 1 300px;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding: 22px 26px;
    border: 1.5px solid var(--morado);
    border-radius: var(--r);
    background: var(--morado);
    color: #fff;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.insc-chip:hover {
    background: var(--morado-oscuro);
    border-color: var(--morado-oscuro);
    color: #fff;
}

.insc-chip .insc-que {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
}

.insc-chip .insc-estado {
    font-family: var(--font-headers);
    font-size: 19px;
    font-weight: 650;
    line-height: 1.2;
}

@media all and (max-width: 620px) {
    .insc-chip {
        flex: 1 1 100%;
    }
}
