/*
Theme Name: Jerê Ensina — Gemini Revisado
Theme URI: https://jereensina.com
Author: Jerê Ensina
Description: Tema filho profissional do Twenty Twenty-Five, preservando o cabeçalho Gemini e incorporando o briefing visual atualizado.
Template: twentytwentyfive
Version: 1.2.0
Text Domain: jereensina-pro
*/

:root {
    --jere-verde: #1F3A32;
    --jere-coral: #E87A5D;
    --jere-giz: #FAF6F0;
    --jere-mostarda: #E9C46A;
    --jere-pessego: #F7E5D8;
    --jere-shadow: 0 12px 34px rgba(31, 58, 50, .08);
    --jere-radius: 16px;
}

html { scroll-behavior: smooth; }
body {
    background: var(--jere-giz);
    color: var(--jere-verde);
    font-family: "Sen", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
}

/* Tipografia oficial: Instrument Serif, Sen e IBM Plex Mono. */
h1, h2, h3, h4, h5, h6,
.wp-block-post-title,
.header-jere a span[style*="Georgia"],
.wp-block-template-part h1,
.wp-block-template-part h2,
.wp-block-template-part h3 {
    font-family: "Instrument Serif", Georgia, serif !important;
    font-weight: 400;
    letter-spacing: -.018em;
    line-height: 1.12;
}
body, button, input, select, textarea,
.wp-block-navigation,
.wp-block-search__input {
    font-family: "Sen", Arial, sans-serif;
}
.jere-eyebrow, .badge-coral, .jere-pauta-nota,
.jere-page-intro > p:first-child,
.jere-section-heading > p:first-child {
    font-family: "IBM Plex Mono", monospace;
    letter-spacing: .07em;
}

/* Cabeçalho do Gemini: marca tipográfica, navegação e busca na mesma faixa. */
.header-jere {
    background: var(--jere-giz) !important;
    border: 1px solid rgba(31, 58, 50, .09);
    border-radius: 16px;
    box-shadow: 0 4px 22px rgba(31, 58, 50, .075);
    gap: 18px 24px;
    align-items: center;
}
.header-jere > .wp-block-html { flex: 0 0 auto; }
.header-jere > .wp-block-navigation {
    flex: 1 1 420px;
    min-width: 0;
}
.header-jere .wp-block-navigation__container {
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 1.8vw, 28px);
}
.header-jere .wp-block-navigation-item__content {
    color: var(--jere-verde) !important;
    font-family: "Sen", Arial, sans-serif;
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: color .2s ease, opacity .2s ease;
    white-space: nowrap;
}
.header-jere .wp-block-navigation-item__content:hover,
.header-jere .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.header-jere .wp-block-navigation-item__content:focus-visible {
    color: var(--jere-coral) !important;
}
.header-jere > .wp-block-search {
    flex: 0 1 230px;
    min-width: 175px;
    margin-left: auto;
}
.header-jere .wp-block-search__inside-wrapper {
    background: var(--jere-giz) !important;
    border: 1px solid #D8D2C7 !important;
    border-radius: 50px !important;
    min-height: 42px;
    padding: 3px 12px !important;
}
.header-jere .wp-block-search__input {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--jere-verde) !important;
    font-size: .84rem !important;
    min-width: 0;
    outline-offset: 3px;
}
.header-jere .wp-block-search__input::placeholder { color: #7E8982; }
.header-jere .wp-block-search__button {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--jere-verde) !important;
    padding: 0 3px !important;
}
.header-jere .wp-block-search__button:hover { color: var(--jere-coral) !important; }

/* Ritmo e acabamento das páginas. */
.wp-site-blocks main { width: 100%; }
.wp-block-post-content, .entry-content { color: var(--jere-verde); }
.wp-block-post-content a:not(.wp-block-button__link),
.entry-content a:not(.wp-block-button__link) {
    text-decoration-color: rgba(232, 122, 93, .7);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.wp-block-post-content a:hover, .entry-content a:hover { color: var(--jere-coral); }
.wp-block-button__link {
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.wp-block-button__link:hover {
    box-shadow: 0 8px 18px rgba(31, 58, 50, .14);
    transform: translateY(-2px);
}

.card-post-jere {
    border-bottom: 4px solid var(--jere-coral);
    box-shadow: 0 5px 18px rgba(31, 58, 50, .055);
    height: 100%;
    transition: transform .24s ease, box-shadow .24s ease;
}
.card-post-jere:hover {
    box-shadow: 0 14px 28px rgba(31, 58, 50, .12);
    transform: translateY(-4px);
}
.pauta-card { display: flex; flex-direction: column; }
.pauta-card .jere-pauta-nota { margin-top: auto; padding-top: 20px; }
.jere-pauta-nota {
    color: #6B7770;
    font-size: .64rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .04em;
}
.badge-coral {
    display: inline-block;
    background: rgba(232, 122, 93, .14);
    border-radius: 50px;
    color: var(--jere-verde);
    font-size: .72rem;
    font-weight: 600;
    padding: 5px 12px;
    text-transform: uppercase;
}
.jere-page-intro { box-shadow: var(--jere-shadow); }
.jere-back-home { margin: 20px 0 0; }
.jere-back-home a {
    color: var(--jere-verde);
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
}
.jere-back-home a:hover { color: var(--jere-coral); }
.jere-explore-more { margin-top: 34px; }
.jere-related-links { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 0; }
.jere-related-link {
    background: var(--jere-giz);
    border: 1px solid rgba(31, 58, 50, .12);
    border-radius: 999px;
    color: var(--jere-verde) !important;
    display: inline-flex;
    font-size: .9rem;
    font-weight: 800;
    gap: 8px;
    padding: 9px 15px;
    text-decoration: none !important;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.jere-related-link:hover {
    background: var(--jere-verde);
    color: var(--jere-giz) !important;
    transform: translateY(-2px);
}

/* Listagens e posts publicados, quando o site começar a receber artigos. */
.jere-post-list .wp-block-post,
.wp-block-query .wp-block-post {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 22px rgba(31, 58, 50, .06);
    padding: clamp(18px, 2.5vw, 28px);
}
.wp-block-post-featured-image img { border-radius: 12px; }
.wp-block-post-date, .wp-block-post-author, .wp-block-post-terms {
    color: #68766E;
    font-family: "IBM Plex Mono", monospace;
    font-size: .76rem;
}

:focus-visible {
    outline: 3px solid var(--jere-coral);
    outline-offset: 3px;
}
::selection { background: var(--jere-mostarda); color: var(--jere-verde); }

@media (max-width: 1100px) {
    .header-jere { padding: 16px 20px !important; }
    .header-jere > .wp-block-navigation { flex: 1 1 100%; order: 3; }
    .header-jere > .wp-block-search { flex: 0 1 230px; margin-left: auto; order: 2; }
    .header-jere .wp-block-navigation__container { flex-wrap: wrap; justify-content: flex-start; }
}
@media (max-width: 650px) {
    .header-jere { justify-content: space-between !important; gap: 14px 12px; }
    .header-jere > .wp-block-html { max-width: 100%; }
    .header-jere > .wp-block-html a span:last-child { font-size: 1.6rem !important; }
    .header-jere > .wp-block-search { flex: 1 1 100%; max-width: none; order: 4; }
    .header-jere > .wp-block-navigation { order: 3; }
    .header-jere .wp-block-navigation__container { gap: 10px 16px; }
    .header-jere .wp-block-navigation-item__content { font-size: .86rem; }
    .jere-page-intro { padding: 30px 22px !important; }
    .jere-pautas-grid { display: block; }
    .jere-pautas-grid > .wp-block-column { margin-bottom: 18px; }
    .wp-site-blocks main { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* Tipografia ampliada — versão 1.2.0 */
body {
    font-size: 18px;
    line-height: 1.75;
}

/* Menu principal: links mais fáceis de ler sem alterar o desenho do cabeçalho. */
.header-jere .wp-block-navigation-item__content {
    font-size: 1.08rem !important;
    line-height: 1.35;
}
.header-jere .wp-block-search__input {
    font-size: 1rem !important;
}
.header-jere .wp-block-search__inside-wrapper {
    min-height: 46px;
}

/* Texto editorial maior em páginas, artigos, resultados e listas. Mantém etiquetas pequenas. */
.wp-site-blocks main p:not(.jere-pauta-nota):not([style*="text-transform:uppercase"]):not([style*="IBM Plex Mono"]) {
    font-size: 1.125rem !important;
    line-height: 1.8;
}
.wp-site-blocks main li,
.wp-site-blocks main .wp-block-list li {
    font-size: 1.125rem;
    line-height: 1.8;
}

/* Descrições e títulos dos cartões de navegação da página inicial. */
.wp-site-blocks main > .wp-block-columns .wp-block-column.card-post-jere p:not(.jere-pauta-nota) {
    font-size: 1.05rem !important;
    line-height: 1.7;
}
.wp-site-blocks main > .wp-block-columns .wp-block-column.card-post-jere .wp-block-heading {
    font-size: 1.45rem !important;
    line-height: 1.2;
}
.jere-pautas-grid .wp-block-heading {
    font-size: 1.55rem !important;
    line-height: 1.22;
}
.jere-pauta-nota {
    font-size: .72rem;
}
.badge-coral {
    font-size: .82rem;
}

/* Guia de navegação entre as áreas e links de retorno. */
.jere-related-link,
.jere-back-home a {
    font-size: 1.05rem !important;
    line-height: 1.4;
}
.jere-related-link {
    padding: 11px 17px;
}
.wp-site-blocks main .wp-block-button__link {
    font-size: 1.05rem;
    line-height: 1.4;
    padding: 13px 22px;
}

/* Metadados de artigos ligeiramente maiores, sem competir com o texto principal. */
.wp-block-post-date,
.wp-block-post-author,
.wp-block-post-terms {
    font-size: .82rem;
}

@media (max-width: 650px) {
    .header-jere .wp-block-navigation-item__content {
        font-size: 1.02rem !important;
    }
    .wp-site-blocks main p:not(.jere-pauta-nota):not([style*="text-transform:uppercase"]):not([style*="IBM Plex Mono"]) {
        font-size: 1.08rem !important;
    }
    .wp-site-blocks main li,
    .wp-site-blocks main .wp-block-list li {
        font-size: 1.08rem;
    }
    .jere-related-link,
    .jere-back-home a {
        font-size: 1rem !important;
    }
}
