/*
Theme Name: BenefícioJá
Theme URI: https://beneficioja.com
Author: Quantum Hub Technologies
Author URI: https://quantumhubtechnologies.com
Description: Tema clássico editorial para o portal BenefícioJá — benefícios sociais, calendários e direitos. Foco em performance (zero CLS, fontes locais) e legibilidade.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: beneficioja
*/

/* ===== Fonts (self-hosted, swap) ===================================== */
@font-face{font-family:"Lora";src:url(fonts/lora-italic-400.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ===== Design tokens ================================================= */
:root{
	--ink:#081020;
	--paper:#fff;
	--gold:#e0b800;       /* brand gold — decorative only: bars, underlines */
	--gold-dark:#8a6410;  /* gold-toned text on white (5.4:1, AA) */
	--meta:#606068;
	--rule:#e0e0e0;
	--rule-dark:var(--ink);
	--body:#1a2333;
	--font-serif:"Lora",Georgia,"Times New Roman",serif;
	--font-sans:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--w-content:1290px;
	--w-article:680px;
	--gutter:40px;
}

/* ===== Reset ======================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);font-size:17px;line-height:1.65;color:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit}
ul{list-style:none;padding:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* a11y helpers */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bja-skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;font-weight:600;font-size:14px}
.bja-skip-link:focus{left:8px;top:8px}

/* ===== Layout utilities ============================================= */
.bja-container{max-width:var(--w-content);margin:0 auto;padding:0 var(--gutter);width:100%}
.bja-main{display:block}
.bja-section{padding-top:48px;padding-bottom:48px}
.bja-grid-2{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}
.bja-grid-2>.bja-sidebar{border-left:1px solid var(--rule);padding-left:48px}

/* ===== Kickers & section labels ==================================== */
.bja-kicker,.bja-label{font-family:var(--font-sans);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.bja-kicker--green{color:var(--gold-dark)}
.bja-kicker--blue{color:var(--gold-dark)}
.bja-label{color:var(--ink)}
/* MANCHETE bar */
.bja-label--bar{display:inline-block;padding-bottom:8px;border-bottom:3px solid var(--gold)}

/* ===== Header: top bar ============================================= */
.bja-topbar{border-bottom:1px solid var(--rule)}
.bja-topbar__inner{display:flex;align-items:center;justify-content:space-between;min-height:52px;gap:24px}
.bja-topbar__date{font-family:var(--font-sans);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--meta)}

/* ===== Header: masthead ============================================ */
.bja-masthead-wrap{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.bja-masthead-wrap__inner{display:flex;align-items:center;justify-content:center;min-height:96px}
.bja-masthead{margin:0;line-height:0;text-align:center}
.bja-masthead a{display:inline-block;line-height:0}
.bja-masthead__logo{display:block;width:240px;height:auto;max-width:100%}

/* ===== Header: nav ================================================= */
.bja-navbar{border-bottom:1px solid var(--ink)}
.bja-nav .bja-nav__list{display:flex;justify-content:center;flex-wrap:wrap;gap:36px;margin:0;min-height:52px;align-items:center}
.bja-nav__list a{font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:6px 0;display:inline-block;border-bottom:3px solid transparent}
.bja-nav__list .current-menu-item>a,.bja-nav__list .current-cat>a,.bja-nav__list .current_page_item>a{border-bottom-color:var(--gold)}

/* Compact header (single posts) */
.bja-header--compact .bja-masthead-wrap{border-top:0;border-bottom:1px solid var(--rule)}
.bja-header--compact .bja-masthead-wrap__inner{justify-content:space-between;min-height:72px}
.bja-header--compact .bja-masthead{text-align:left}
.bja-header--compact .bja-masthead__logo{width:180px}
.bja-header--compact .bja-nav__list{justify-content:flex-end;gap:28px;min-height:auto}
.bja-header--compact .bja-nav__list a{font-size:12px}

/* ===== Search form ================================================= */
.bja-search{display:flex;align-items:center;gap:6px;position:relative}
.bja-search__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.bja-search__field{border:0;border-bottom:1px solid var(--rule);background:transparent;padding:4px 4px 4px 30px;font-size:13px;color:var(--ink);min-width:180px}
.bja-search__field::placeholder{color:var(--meta)}
.bja-search__field:focus{outline:none;border-bottom-color:var(--ink)}
.bja-search__submit{position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--meta);width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.bja-search__icon{font-size:15px}

/* ===== Home: hero (manchete) ====================================== */
.bja-hero__head{margin-bottom:16px}
.bja-hero__title{font-family:var(--font-serif);font-weight:700;font-size:52px;line-height:1.12;color:var(--ink);margin:14px 0 0}
.bja-hero__title a:hover{color:var(--gold-dark)}
.bja-hero__dek{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:21px;line-height:1.5;color:var(--ink);margin:16px 0 20px}
.bja-hero__caption{font-family:var(--font-sans);font-size:13px;color:var(--meta);margin-top:12px}

/* ===== Media wrapper (reserved 16:9) ============================== */
.bja-media{position:relative;aspect-ratio:16/9;background:#eef0f3;overflow:hidden;margin:0}
.bja-media__img{width:100%;height:100%;object-fit:cover}
.bja-media__placeholder{width:100%;height:100%;background:#eef0f3}

/* ===== Sidebar lists (TAMBÉM NESTA EDIÇÃO / MAIS DA SEÇÃO) ======== */
.bja-sidebar__head{padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:4px}
.bja-sidelist{margin:0}
.bja-sidelist__item{padding:18px 0;border-bottom:1px solid var(--rule)}
.bja-sidelist__item:last-child{border-bottom:0}
.bja-sidelist__title{font-family:var(--font-serif);font-weight:600;font-size:20px;line-height:1.3;color:var(--ink);margin-top:8px}
.bja-sidelist__title a:hover{color:var(--gold-dark)}

/* ===== Cards (ÚLTIMOS ARTIGOS / grids) ============================ */
.bja-band__head{padding-bottom:16px;border-bottom:2px solid var(--ink);margin-bottom:24px}
.bja-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.bja-cards--3{grid-template-columns:repeat(3,1fr)}
.bja-card{display:flex;flex-direction:column}
.bja-card__media-link{display:block;border-top:2px solid var(--ink);padding-top:16px;margin-bottom:14px}
.bja-card .bja-kicker{margin-bottom:8px}
.bja-card__title{font-family:var(--font-serif);font-weight:600;font-size:20px;line-height:1.3;color:var(--ink)}
.bja-card__title a:hover{color:var(--gold-dark)}
.bja-card__date{font-family:var(--font-sans);font-size:13px;color:var(--meta);margin-top:8px}
/* text-only card (LEIA TAMBÉM / TUDO EM) */
.bja-card--text{border-top:2px solid var(--ink);padding-top:16px}

/* ===== Section masthead (category page) =========================== */
.bja-archive-head{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:32px 0}
.bja-archive-head__title{font-family:var(--font-serif);font-weight:700;font-size:44px;line-height:1.1;color:var(--ink);margin:10px 0}
.bja-archive-head__desc{font-family:var(--font-serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--ink);max-width:640px}
.bja-section__title{font-family:var(--font-serif);font-weight:700;font-size:44px;line-height:1.1;color:var(--ink)}
.bja-section__head{margin-bottom:32px}
.bja-section__q{color:var(--gold-dark)}

/* Featured (category) title */
.bja-featured__title{font-family:var(--font-serif);font-weight:700;font-size:30px;line-height:1.2;color:var(--ink);margin:12px 0 10px}
.bja-featured__excerpt{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--body)}
.bja-featured .bja-media{margin-bottom:14px}

/* ===== Single post ================================================= */
.bja-article{max-width:var(--w-article);margin:0 auto;padding:40px var(--gutter) 0}
.bja-article__kicker{margin-bottom:16px}
.bja-article__title{font-family:var(--font-serif);font-weight:700;font-size:42px;line-height:1.15;color:var(--ink)}
.bja-article__dek{font-family:var(--font-serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--ink);margin:20px 0}
.bja-article__author{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:24px 0}
.bja-article__avatar{width:40px;height:40px;border-radius:50%;background:#eef0f3;overflow:hidden;flex-shrink:0}
.bja-article__avatar img{border-radius:50%}
.bja-article__byline{font-family:var(--font-sans);font-weight:700;font-size:13px;color:var(--ink)}
.bja-article__date{font-family:var(--font-sans);font-size:13px;color:var(--meta);letter-spacing:.02em}
/* hero breaks out wider than article column */
.bja-article__media{max-width:840px;margin:24px auto}
.bja-article__caption{font-family:var(--font-sans);font-size:13px;color:var(--meta);text-align:center;margin-top:10px}

/* ===== Article body =============================================== */
.bja-article__body{max-width:var(--w-article);margin:0 auto;font-size:17px;line-height:1.65;color:var(--body)}
.bja-article__body p{margin:0 0 1.3em}
.bja-article__body>p:first-of-type::first-letter{font-family:var(--font-serif);font-weight:700;color:var(--ink);float:left;font-size:3.2em;line-height:.8;padding:6px 10px 0 0}
.bja-article__body h2{font-family:var(--font-serif);font-weight:700;font-size:26px;line-height:1.25;color:var(--ink);margin:1.6em 0 .5em}
.bja-article__body h3{font-family:var(--font-serif);font-weight:700;font-size:21px;line-height:1.3;color:var(--ink);margin:1.4em 0 .4em}
.bja-article__body a{color:var(--gold-dark);text-decoration:underline}
.bja-article__body img{max-width:100%;height:auto;margin:1.5em auto}
.bja-article__body ul,.bja-article__body ol{margin:0 0 1.3em;padding-left:1.4em}
.bja-article__body li{margin-bottom:.5em}
.bja-article__body ul{list-style:disc}
.bja-article__body ol{list-style:decimal}
/* pull-quote blockquote */
.bja-article__body blockquote{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:24px;line-height:1.4;color:var(--ink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:24px 0;margin:1.6em 0;text-align:left}
.bja-article__body blockquote p{margin:0}

/* Tag row */
.bja-tags{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid var(--rule);margin-top:24px}
.bja-tags__item{font-family:var(--font-sans);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);position:relative;padding-right:14px}
.bja-tags__item:not(:last-child)::after{content:"";position:absolute;right:0;top:2px;bottom:2px;border-right:1px solid var(--rule)}
.bja-tags__item--cat{color:var(--gold-dark)}

/* LEIA TAMBÉM / related */
.bja-related{max-width:var(--w-article);margin:40px auto 0;padding:0 var(--gutter)}
.bja-related__head{padding-bottom:16px;border-bottom:2px solid var(--ink);margin-bottom:24px}

/* ===== Ad slots (CLS fix) ========================================= */
.bja-ad{background:#fafafa;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:center;padding:12px 0;margin:32px 0}
.bja-ad__label{display:block;font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--meta);margin-bottom:8px}
.bja-ad__space{min-height:280px;display:flex;align-items:center;justify-content:center}
@media(min-width:900px){
	.bja-ad--home-a .bja-ad__space,.bja-ad--home-b .bja-ad__space,
	.bja-ad--post-mid .bja-ad__space,.bja-ad--post-end .bja-ad__space,
	.bja-ad--post-top .bja-ad__space{min-height:250px}
}

/* ===== Pagination ================================================= */
.bja-pagination,.navigation.pagination{margin:48px 0 0}
.bja-pagination .nav-links,.navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}
.pagination .page-numbers{font-family:var(--font-sans);font-weight:600;font-size:15px;color:var(--ink);padding:4px 2px;border-bottom:2px solid transparent}
.pagination .page-numbers.current{color:var(--gold-dark);border-bottom-color:var(--gold)}
.pagination .page-numbers.dots{border:0}
.pagination a.next,.pagination a.prev{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}

/* ===== 404 ======================================================== */
.bja-404{text-align:center;padding:80px var(--gutter)}
.bja-404__kicker{color:var(--gold-dark);margin-bottom:16px}
.bja-404__title{font-family:var(--font-serif);font-weight:700;font-size:42px;line-height:1.15;color:var(--ink);margin-bottom:24px}
.bja-404 .bja-search{display:inline-flex;margin:16px auto 24px}
.bja-404__back{font-family:var(--font-sans);font-weight:600;font-size:14px;color:var(--gold-dark)}

/* ===== Footer ===================================================== */
.bja-footer{background:var(--ink);color:#fff;padding:32px 0;margin-top:56px}
.bja-footer__top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.bja-footer__brand{margin:0;line-height:0}
.bja-footer__logo{display:block;width:180px;height:auto}
.bja-footer__social{display:flex;gap:14px;margin:0}
.bja-footer__social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff}
.bja-footer__social a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.bja-footer__icon{display:block}
.bja-footer__disclaimer{font-family:var(--font-sans);font-size:13px;color:#cdd3dc;margin:22px 0;padding:16px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.bja-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bja-footer__meta{font-family:var(--font-sans);font-size:13px;color:#aab;margin:0}
.bja-footer__links{display:flex;flex-wrap:wrap;gap:6px 18px}
.bja-footer__links a{font-family:var(--font-sans);font-size:13px;color:#cdd3dc}
.bja-footer__links a:hover{color:#fff;text-decoration:underline}

.bja-empty{font-family:var(--font-sans);font-size:17px;color:var(--meta);padding:40px 0}

/* ===== Responsive: 900px ========================================== */
@media(max-width:900px){
	:root{--gutter:20px}
	.bja-grid-2{grid-template-columns:1fr;gap:40px}
	.bja-grid-2>.bja-sidebar{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:24px}
	.bja-cards{grid-template-columns:repeat(2,1fr);gap:28px}
	.bja-cards--3{grid-template-columns:repeat(2,1fr)}
	.bja-hero__title{font-size:38px}
	.bja-article__title{font-size:34px}
	.bja-section__title,.bja-archive-head__title{font-size:34px}
	.bja-header--compact .bja-nav__list{gap:18px}
}

/* ===== Responsive: 600px ========================================== */
@media(max-width:600px){
	body{font-size:16.5px}
	.bja-masthead__logo{width:200px}
	.bja-hero__title{font-size:34px}
	.bja-hero__dek{font-size:18px}
	.bja-article__title{font-size:30px}
	.bja-article__dek,.bja-archive-head__desc{font-size:18px}
	.bja-section__title,.bja-archive-head__title{font-size:32px}
	.bja-cards,.bja-cards--3{grid-template-columns:1fr}
	.bja-topbar__inner{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0;min-height:0}
	.bja-nav .bja-nav__list{gap:18px 22px}
	.bja-article__body blockquote{font-size:20px}
	.bja-footer__top{flex-direction:column;align-items:flex-start;gap:18px}
	.bja-footer__bottom{flex-direction:column;align-items:flex-start;gap:12px}
}

/* --- templates -------------------------------------------------------- */
/* page.php reuses .bja-article__body typography but must NOT get the drop cap. */
.bja-article__body--plain>p:first-of-type::first-letter{float:none;font-size:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;padding:0}
/* single: category kicker sits inside the .bja-label--bar wrapper (mockup p2). */
.bja-article__kicker.bja-label--bar{line-height:1}
.bja-article__kicker .bja-kicker{display:inline}
.bja-article__kicker .bja-kicker:hover{color:var(--gold-dark)}
