/*
Theme Name: O Lourenciano News
Theme URI: https://jornalolourenciano.com.br
Author: Jornal O Lourenciano
Description: Tema de notícias para o Jornal O Lourenciano. Header com logo centralizada, menu horizontal com busca, blocos de categoria na home, área de anúncios integrada e compartilhamento social nas matérias.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: olourenciano
*/

/* ==========================================================================
   VARIÁVEIS DE COR (amarelo/preto equilibrado)
   ========================================================================== */
:root{
	--ol-preto: #1a1a1a;
	--ol-preto-suave: #2c2c2a;
	--ol-amarelo: #f5c518;
	--ol-amarelo-escuro: #b98f00;
	--ol-fundo: #f7f7f5;
	--ol-branco: #ffffff;
	--ol-texto: #1a1a1a;
	--ol-texto-suave: #5f5e5a;
	--ol-borda: #e3e1d9;
	--ol-fonte-titulo: Georgia, 'Times New Roman', serif;
	--ol-fonte-corpo: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ==========================================================================
   RESET BÁSICO
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
body{
	margin:0;
	background:var(--ol-fundo);
	color:var(--ol-texto);
	font-family:var(--ol-fonte-corpo);
	font-size:16px;
	line-height:1.6;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--ol-amarelo-escuro);}
ul{list-style:none;margin:0;padding:0;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
.screen-reader-text{position:absolute;left:-9999px;}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{background:var(--ol-amarelo);border-bottom:3px solid var(--ol-preto);}
.site-branding{text-align:center;padding:22px 20px 14px;}
.site-branding img.custom-logo{max-height:80px;margin:0 auto;}
.site-branding .site-title{color:var(--ol-branco);font-family:var(--ol-fonte-titulo);font-size:30px;letter-spacing:1px;margin:0;}
.site-branding .site-title a{color:var(--ol-branco);}
.site-branding .site-description{color:var(--ol-amarelo);font-size:13px;margin-top:4px;}

.main-navigation{background:var(--ol-preto-suave);border-top:1px solid #3a3a38;}
.nav-wrap{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 20px;position:relative;flex-wrap:wrap;}
.main-navigation ul{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;}
.main-navigation li a{display:block;padding:14px 14px;color:#e6e6e0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;}
.main-navigation li a:hover,
.main-navigation li.current-menu-item a{color:var(--ol-amarelo);}

.header-search{position:relative;margin-left:10px;}
.header-search button{background:none;border:0;color:#e6e6e0;font-size:16px;cursor:pointer;padding:10px;}
.header-search button:hover{color:var(--ol-amarelo);}
.header-search-form{display:none;position:absolute;right:0;top:100%;background:var(--ol-branco);padding:10px;border-radius:0 0 6px 6px;box-shadow:0 6px 14px rgba(0,0,0,.2);z-index:50;}
.header-search-form.is-active{display:flex;}
.header-search-form input[type="search"]{border:1px solid var(--ol-borda);padding:8px 10px;font-size:14px;width:220px;border-radius:4px;}
.header-search-form button.submit{background:var(--ol-amarelo);border:0;padding:8px 12px;margin-left:6px;border-radius:4px;cursor:pointer;font-weight:600;}

.menu-toggle{display:none;background:none;border:0;color:var(--ol-branco);font-size:22px;padding:14px 20px;cursor:pointer;}

/* ==========================================================================
   BREADCRUMB / CATEGORIA ATIVA
   ========================================================================== */
.category-bar{background:var(--ol-branco);border-bottom:1px solid var(--ol-borda);padding:10px 0;font-size:13px;color:var(--ol-texto-suave);}
.category-bar strong{color:var(--ol-texto);}

/* ==========================================================================
   ESPAÇOS DE ANÚNCIO
   ========================================================================== */
.ad-slot{background:var(--ol-branco);border:1px dashed var(--ol-borda);border-radius:0px;text-align:center;margin:24px auto;overflow:hidden;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;}
.ad-slot .ad-slot-label{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ol-texto-suave);padding:6px 0;background:var(--ol-fundo);}
.ad-slot-top{max-width:1200px;}
.ad-slot-inline{max-width:1200px;}
.ad-slot-box{max-width:320px;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;}
.ad-slot img,.ad-slot a{display:inline-block;}
.ad-slot:empty{display:none;}

/* ==========================================================================
   HOME — DESTAQUE PRINCIPAL
   ========================================================================== */
.featured-block{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin:28px 0;}
.featured-main{position:relative;border-radius:0px;overflow:hidden;min-height:380px;background:#ccc;}
.featured-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.featured-main .overlay{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.85));padding:30px 24px 20px;}
.featured-main .cat-tag{display:inline-block;background:var(--ol-amarelo);color:var(--ol-preto);font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:3px;margin-bottom:10px;}
.featured-main h2{color:var(--ol-branco);font-family:var(--ol-fonte-titulo);font-size:28px;line-height:1.25;margin:0;}
.featured-main h2 a{color:var(--ol-branco);}

.featured-side{display:flex;flex-direction:column;gap:16px;}
.featured-side-item{display:flex;align-items:flex-start;gap:12px;background:var(--ol-branco);border-radius:0px;overflow:hidden;border:1px solid var(--ol-borda);}
.featured-side-item img{flex:0 0 200px;width:200px;height:113px;object-fit:cover;object-position:center;min-width:200px;max-width:200px;}
.featured-side-item .fs-body{padding:8px 10px 8px 0;}
.featured-side-item .cat-tag-mini{color:var(--ol-amarelo-escuro);font-size:10px;font-weight:700;text-transform:uppercase;}
.featured-side-item h3{font-family:var(--ol-fonte-titulo);font-size:14px;line-height:1.3;margin:4px 0 0;}

/* ==========================================================================
   BLOCOS DE CATEGORIA
   ========================================================================== */
.category-block{margin:36px 0;}
.category-block-head{display:flex;align-items:center;justify-content:space-between;border-left:4px solid var(--ol-amarelo);padding-left:12px;margin-bottom:16px;}
.category-block-head h2{font-family:var(--ol-fonte-titulo);font-size:20px;margin:0;text-transform:uppercase;letter-spacing:.5px;}
.category-block-head a.ver-todas{font-size:12px;font-weight:600;color:var(--ol-texto-suave);text-transform:uppercase;}
.category-block-head a.ver-todas:hover{color:var(--ol-amarelo-escuro);}

.category-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;}
.news-card{background:var(--ol-branco);border:1px solid var(--ol-borda);border-radius:0px;overflow:hidden;}
.news-card img{width:100%;height:50%;object-fit:cover;}
.news-card .nc-body{padding:12px 14px 16px;}
.news-card h3{font-family:var(--ol-fonte-titulo);font-size:16px;line-height:1.35;margin:0 0 6px;}
.news-card p{font-size:13px;color:var(--ol-texto-suave);margin:0;}
.news-card .meta{font-size:11px;color:var(--ol-texto-suave);margin-top:8px; margin-bottom:10px; text-transform:uppercase;}

.news-card.compact img{height:70%;}
.news-card.compact h3{font-size:14px;}

/* ==========================================================================
   PÁGINA DE MATÉRIA (SINGLE)
   ========================================================================== */
.single-article{display:grid;grid-template-columns:2.4fr 1fr;gap:32px;margin:32px 0;align-items:start;}
.article-main .article-cat{display:inline-block;background:var(--ol-amarelo);color:var(--ol-preto);font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:3px;margin-bottom:14px;}
.article-main h1{font-family:var(--ol-fonte-titulo);font-size:34px;line-height:1.25;margin:0 0 12px;}
.article-meta{font-size:13px;color:var(--ol-texto-suave);border-bottom:1px solid var(--ol-borda);padding-bottom:16px;margin-bottom:20px;}
.article-body{font-size:18px;line-height:1.8;}
.article-body p{margin:0 0 22px;}
.article-body h2,.article-body h3{font-family:var(--ol-fonte-titulo);}

.share-bar{display:flex;gap:10px;align-items:center;margin:26px 0;padding:16px 0;border-top:1px solid var(--ol-borda);border-bottom:1px solid var(--ol-borda);}
.share-bar span{font-size:12px;text-transform:uppercase;color:var(--ol-texto-suave);font-weight:700;margin-right:4px;}
.share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--ol-preto);color:var(--ol-branco);font-size:15px;}
.share-btn:hover{background:var(--ol-amarelo);color:var(--ol-preto);}

.related-block{margin-top:40px;}
.related-block h3{font-family:var(--ol-fonte-titulo);font-size:18px;border-left:4px solid var(--ol-amarelo);padding-left:10px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}

.sidebar-widget{background:var(--ol-branco);border:1px solid var(--ol-borda);border-radius:8px;padding:16px;margin-bottom:20px;}
.sidebar-widget h2.widgettitle{font-family:var(--ol-fonte-titulo);font-size:15px;text-transform:uppercase;border-bottom:2px solid var(--ol-amarelo);padding-bottom:8px;margin:0 0 12px;}

/* ==========================================================================
   COLUNISTAS
   ========================================================================== */
.columnist-card{display:flex;gap:12px;align-items:center;background:var(--ol-branco);border:1px solid var(--ol-borda);border-radius:8px;padding:14px;margin-bottom:12px;}
.columnist-card img{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.columnist-card .cn-name{font-family:var(--ol-fonte-titulo);font-size:14px;margin:0;}
.columnist-card .cn-role{font-size:11px;color:var(--ol-texto-suave);text-transform:uppercase;}

/* ==========================================================================
   ARQUIVO / CATEGORIA
   ========================================================================== */
.archive-header{margin:30px 0 20px;border-left:4px solid var(--ol-amarelo);padding-left:14px;}
.archive-header h1{font-family:var(--ol-fonte-titulo);font-size:26px;margin:0;text-transform:uppercase;}
.archive-featured{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;background:var(--ol-branco);border:1px solid var(--ol-borda);border-radius:0px;overflow:hidden;margin-bottom:30px;}
.archive-featured-img{display:block;}
.archive-featured-img img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block;}
.archive-featured-body{padding:20px 24px 20px 0;display:flex;flex-direction:column;justify-content:center;}
.archive-featured-body .cat-tag{display:inline-block;background:var(--ol-amarelo);color:var(--ol-preto);font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:0px;margin-bottom:10px;width:fit-content;}
.archive-featured-body h2{font-family:var(--ol-fonte-titulo);font-size:26px;line-height:1.25;margin:0 0 10px;}
.archive-featured-body h2 a{color:inherit;}
.archive-featured-body p{font-size:14px;color:var(--ol-texto-suave);margin:0 0 10px;}
.archive-featured-body .meta{font-size:12px;color:var(--ol-texto-suave);text-transform:uppercase;}
@media (max-width:700px){
	.archive-featured{grid-template-columns:1fr;}
	.archive-featured-body{padding:16px;}
}

.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ad-categoria-rodape-wrap{margin:30px 0;}
.pagination{display:flex;justify-content:center;gap:8px;margin:36px 0;}
.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--ol-borda);border-radius:4px;font-size:13px;background:var(--ol-branco);}
.pagination .current{background:var(--ol-preto);color:var(--ol-branco);border-color:var(--ol-preto);}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:var(--ol-preto);color:#cfcfc9;margin-top:60px;}
.footer-widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:44px 20px;max-width:1200px;margin:0 auto;}
.footer-widgets h2.widgettitle{color:var(--ol-amarelo);font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px;}
.footer-widgets ul li{margin-bottom:8px;font-size:13px;}
.footer-widgets ul li a:hover{color:var(--ol-amarelo);}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ol-preto-suave);margin-right:8px;}
.footer-social a:hover{background:var(--ol-amarelo);color:var(--ol-preto);}
.site-footer-bottom{border-top:1px solid var(--ol-preto-suave);text-align:center;font-size:12px;padding:18px 20px;color:#8a8a86;}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media (max-width:900px){
	.featured-block{grid-template-columns:1fr;}
	.category-grid{grid-template-columns:1fr;}
	.single-article{grid-template-columns:1fr;}
	.related-grid{grid-template-columns:1fr;}
	.archive-grid{grid-template-columns:1fr;}
	.footer-widgets{grid-template-columns:1fr 1fr;}
}
@media (max-width:700px){
	.menu-toggle{display:block;position:absolute;right:8px;top:0;}
	.main-navigation ul{display:none;flex-direction:column;width:100%;text-align:center;}
	.main-navigation.is-open ul{display:flex;}
	.nav-wrap{justify-content:space-between;}
	.header-search{position:static;}
	.footer-widgets{grid-template-columns:1fr;}
}

/* ==========================================================================
   LIGHTBOX (imagem destacada do artigo)
   ========================================================================== */
.ol-lightbox-overlay {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.9);
	z-index: 9999;
	align-items: center;
	justify-content: center;
	cursor: zoom-out;
}
.ol-lightbox-overlay.active {
	display: flex;
}
.ol-lightbox-img {
	max-width: 90%;
	max-height: 90%;
	box-shadow: 0 0 30px rgba(0,0,0,0.5);
}
.ol-lightbox-close {
	position: absolute;
	top: 20px;
	right: 30px;
	color: #fff;
	font-size: 40px;
	cursor: pointer;
	line-height: 1;
}
