/* ============================================================
   theme.css — Variables compartidas del módulo cursos/
   Incluir antes de cualquier CSS específico de submodulo.
   ============================================================ */

:root {
    --color-principal:  #007BFF;    /* sobrescrito desde PHP por submodulo */
    --color-success:    #16a34a;
    --color-warn-bg:    #fffbeb;
    --color-warn-bdr:   #f59e0b;
    --color-warn-txt:   #854d0e;
    --radius-card:      22px;
    --radius-input:     11px;
    --shadow-card:      0 1px 3px rgba(0,0,0,.04), 0 14px 48px rgba(15, 40, 120, .10);
    --font:             'Roboto', 'Segoe UI', sans-serif;
    --transition:       .18s cubic-bezier(.4, 0, .2, 1);
    --clr-bg:           #edf1fc;
    --clr-surface:      #ffffff;
    --clr-text:         #0f172a;
    --clr-muted:        #64748b;
    --clr-border:       #dce3f0;
}

/* ─── Page Header — compartido por todos los submodulos ─────── */
.page-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: .85rem 1.25rem;
    min-height: 58px;
    background-color: var(--color-principal);
    box-shadow: 0 3px 18px rgba(0,0,0,.18);
    position: relative;
    z-index: 10;
}
.page-header__logo {
    height: 32px;
    width: auto;
    object-fit: contain;
    flex-shrink: 0;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.12));
}
.page-header__sep {
    display: block;
    width: 1px;
    height: 22px;
    background: rgba(255,255,255,.3);
    flex-shrink: 0;
    border-radius: 1px;
}
.page-header__title {
    color: rgba(255,255,255,.95);
    font-family: var(--font);
    font-size: .92rem;
    font-weight: 600;
    margin: 0;
    letter-spacing: .01em;
}
@media (min-width: 576px) {
    .page-header__logo  { height: 38px; }
    .page-header__sep   { height: 26px; }
    .page-header__title { font-size: 1.05rem; }
}

/* ─── Page Footer — compartido por todos los submodulos ─────── */
.page-footer {
    margin-top: auto;
    background-color: var(--color-principal);
    padding: .6rem 1rem .4rem;
    text-align: center;
}
.page-footer img {
    max-width: 400px;
    max-height: 56px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain;
}
@media (min-width: 576px) {
    .page-footer img { max-width: 560px; max-height: 72px; }
}
.page-footer__recaptcha {
    margin-top: .3rem;
    font-size: .62rem;
    color: rgba(255,255,255,.55);
    line-height: 1.3;
}
.page-footer__recaptcha a {
    color: rgba(255,255,255,.7);
    text-decoration: underline;
}

/* Ocultar badge de reCAPTCHA (se muestra disclosure en el footer) */
.grecaptcha-badge { visibility: hidden !important; }
