/* ==========================================================================
   ACADEMIA INFÂNCIA — CONTEÚDO (páginas)
   Tipografia de conteúdo longo, tabelas e layout de página.
   Consome tokens de tokens.css.
   ========================================================================== */

/* Cabeçalho da página */
.page-head { margin-bottom: var(--sp-6); }
.page-title {
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--fw-light);
    font-size: var(--fs-3xl);
    line-height: 1.15;
    color: var(--c-ink);
    text-align: center;
}
.page-title::after {
    content: "";
    display: block;
    width: 56px;
    height: 3px;
    background: var(--c-gold);
    border-radius: var(--r-pill);
    margin: var(--sp-2) auto 0;
}

/* Corpo do conteúdo */
.entry-content > :first-child { margin-top: 0; }
.entry-content h2 {
    font-size: var(--fs-2xl);
    margin-top: var(--sp-8);
}
.entry-content h3 {
    font-size: var(--fs-xl);
    margin-top: var(--sp-7);
}
.entry-content h2 + p,
.entry-content h3 + p { margin-top: var(--sp-3); }
/* Alguns conteudos trazem <strong> dentro dos titulos (ex.: Aviso Legal);
   neutraliza-se para os titulos ficarem consistentes. */
.entry-content :is(h1, h2, h3, h4, h5, h6) strong { font-weight: inherit; }
.entry-content ul,
.entry-content ol { margin: 0 0 var(--sp-4); padding-left: var(--sp-5); }
.entry-content li { margin-bottom: var(--sp-2); }
.entry-content strong { font-weight: var(--fw-bold); }
.entry-content hr {
    border: 0;
    border-top: 1px solid var(--c-line);
    margin: var(--sp-7) 0;
}
.entry-content address {
    font-style: normal;
    line-height: var(--lh-snug);
    margin-bottom: var(--sp-4);
}
.entry-content .wp-block-spacer { display: none; }

/* Tabelas: o visual vem do componente global (components.css, secção 10).
   Aqui fica só a margem e o scroll horizontal em ecrãs pequenos. */
.entry-content table { margin: var(--sp-5) 0 var(--sp-6); }
@media (max-width: 700px) {
    .entry-content table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Login */
.login-form { max-width: 420px; }
.login-form p { margin-bottom: var(--sp-4); }
.login-form label {
    display: block;
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    color: var(--c-ink);
    margin-bottom: var(--sp-2);
}
.login-form input[type="email"],
.login-form input[type="password"] { width: 100%; }
.login-form input[type="submit"] { width: 100%; }
.login-form .error { color: var(--c-danger); font-size: var(--fs-sm); }

/* Página de login fullscreen (page-login.php) */
.login-screen {
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    place-items: center;
    padding: var(--sp-5);
    background-image: var(--login-bg);
    background-size: cover;
    background-position: center;
    position: relative;
    isolation: isolate;
}
.login-screen::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--c-primary);
    opacity: .92;
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
    z-index: -1;
}
.login-card {
    width: 100%;
    max-width: 420px;
    background: var(--c-white);
    border-radius: var(--r-xl);
    padding: clamp(1.75rem, 5vw, 3rem);
    box-shadow: var(--sh-lg);
}
.login-card .entry-content img {
    max-height: 64px;
    width: auto;
    margin: 0 auto var(--sp-5);
}
.login-card .entry-content p { text-align: center; }
.login-card .login-form { margin-top: var(--sp-5); text-align: left; }

/* 404 — pesquisa + atalhos */
.error-404 .search-404 {
    max-width: 460px;
    margin: 0 0 var(--sp-5);
}
.error-404__actions { gap: var(--sp-3); }
