/*
Theme Name: Portal 135 Clean
Theme URI: https://portal135.com.br/
Author: Portal 135
Description: Tema editorial leve, responsivo e independente de page builders para o Portal 135.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: portal135-clean
License: GPL-2.0-or-later
*/

:root{
  --p135-accent:#d71920;
  --p135-text:#171717;
  --p135-muted:#6b7280;
  --p135-border:#e5e7eb;
  --p135-bg:#ffffff;
  --p135-soft:#f6f7f8;
  --p135-dark:#111827;
  --p135-radius:14px;
  --p135-container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--p135-bg);
  color:var(--p135-text);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.6;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--p135-accent)}
button,input,textarea,select{font:inherit}
.container{width:min(var(--p135-container),calc(100% - 32px));margin:0 auto}
.screen-reader-text{position:absolute!important;left:-9999px!important}

.site-topline{
  background:var(--p135-dark);
  color:#fff;
  font-size:12px;
}
.site-topline .container{
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.topline-date{opacity:.8}
.topline-links{display:flex;gap:14px;align-items:center}
.topline-links a{color:#fff;opacity:.85}
.topline-links a:hover{opacity:1}

.site-header{
  background:#fff;
  border-bottom:1px solid var(--p135-border);
  position:sticky;
  top:0;
  z-index:999;
}
.admin-bar .site-header{top:32px}
.header-main{
  min-height:84px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}
.site-branding{display:flex;align-items:center;min-width:190px}
.custom-logo-link{display:flex;align-items:center}
.custom-logo{max-height:58px;width:auto}
.site-title{
  margin:0;
  font-size:32px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1.5px;
}
.site-title span{color:var(--p135-accent)}
.site-description{margin:5px 0 0;color:var(--p135-muted);font-size:12px}

.primary-nav{display:flex;align-items:center;justify-content:center}
.primary-nav ul{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:24px}
.primary-nav li{position:relative}
.primary-nav a{
  display:block;
  padding:31px 0 28px;
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.2px;
}
.primary-nav li.current-menu-item>a,
.primary-nav li.current-category-ancestor>a{color:var(--p135-accent)}
.primary-nav .sub-menu{
  display:none;
  position:absolute;
  left:0;
  top:100%;
  min-width:210px;
  background:#fff;
  border:1px solid var(--p135-border);
  box-shadow:0 16px 40px rgba(0,0,0,.10);
  border-radius:0 0 10px 10px;
  padding:8px;
  gap:0;
}
.primary-nav li:hover>.sub-menu{display:block}
.primary-nav .sub-menu a{
  padding:10px 12px;
  text-transform:none;
  border-radius:7px;
}
.primary-nav .sub-menu a:hover{background:var(--p135-soft)}

.header-actions{display:flex;align-items:center;gap:8px}
.icon-button{
  width:42px;height:42px;
  border:1px solid var(--p135-border);
  background:#fff;
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.icon-button:hover{border-color:var(--p135-accent);color:var(--p135-accent)}
.icon-button svg{width:20px;height:20px}
.menu-toggle{display:none}

.search-panel{
  display:none;
  border-top:1px solid var(--p135-border);
  background:#fff;
}
.search-panel.is-open{display:block}
.search-panel .container{padding:14px 0}
.search-form{display:flex;gap:8px}
.search-field{
  flex:1;
  height:46px;
  border:1px solid var(--p135-border);
  border-radius:10px;
  padding:0 14px;
  outline:none;
}
.search-field:focus{border-color:var(--p135-accent)}
.search-submit{
  height:46px;
  border:0;
  border-radius:10px;
  padding:0 18px;
  background:var(--p135-accent);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

.breaking-bar{
  border-bottom:1px solid var(--p135-border);
  background:var(--p135-soft);
}
.breaking-inner{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:14px;
  overflow:hidden;
}
.breaking-label{
  flex:0 0 auto;
  background:var(--p135-accent);
  color:#fff;
  padding:5px 10px;
  border-radius:5px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.breaking-track{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
  font-weight:600;
}

.site-main{padding:32px 0 56px}
.home-grid{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);
  gap:26px;
}
.hero-card{
  position:relative;
  border-radius:var(--p135-radius);
  overflow:hidden;
  min-height:520px;
  background:#111;
}
.hero-card img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
}
.hero-card::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.05) 100%);
}
.hero-content{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:2;
  padding:34px;
  color:#fff;
}
.category-pill{
  display:inline-block;
  background:var(--p135-accent);
  color:#fff!important;
  border-radius:999px;
  padding:5px 10px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:12px;
}
.hero-title{
  margin:0;
  max-width:850px;
  font-size:clamp(28px,4vw,48px);
  line-height:1.04;
  letter-spacing:-1.5px;
}
.hero-meta{margin-top:12px;font-size:13px;opacity:.82}

.side-feature-list{display:grid;gap:16px}
.side-feature{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:14px;
  align-items:center;
  border-bottom:1px solid var(--p135-border);
  padding-bottom:16px;
}
.side-feature:last-child{border-bottom:0;padding-bottom:0}
.side-feature-thumb{
  aspect-ratio:4/3;
  border-radius:10px;
  overflow:hidden;
  background:var(--p135-soft);
}
.side-feature-thumb img{width:100%;height:100%;object-fit:cover}
.side-feature h3{
  margin:4px 0 7px;
  font-size:18px;
  line-height:1.18;
  letter-spacing:-.35px;
}
.post-meta{font-size:12px;color:var(--p135-muted)}

.section{margin-top:48px}
.section-header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:2px solid var(--p135-text);
}
.section-title{
  margin:0;
  font-size:24px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.7px;
  text-transform:uppercase;
}
.section-title::before{
  content:"";
  display:inline-block;
  width:5px;
  height:22px;
  background:var(--p135-accent);
  margin-right:10px;
  vertical-align:-3px;
}
.section-link{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--p135-accent)}

.cards-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.news-card{min-width:0}
.news-thumb{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  border-radius:12px;
  overflow:hidden;
  background:var(--p135-soft);
}
.news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.news-card:hover .news-thumb img{transform:scale(1.025)}
.news-card h3{
  margin:10px 0 8px;
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.45px;
}
.news-excerpt{margin:8px 0 0;color:#4b5563;font-size:14px;line-height:1.5}

.latest-layout{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(280px,.85fr);
  gap:34px;
}
.latest-list{display:grid}
.latest-item{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--p135-border);
}
.latest-item:first-child{padding-top:0}
.latest-thumb{
  aspect-ratio:16/10;
  border-radius:12px;
  overflow:hidden;
  background:var(--p135-soft);
}
.latest-thumb img{width:100%;height:100%;object-fit:cover}
.latest-item h2{
  margin:6px 0 8px;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.6px;
}
.sidebar-box{
  border:1px solid var(--p135-border);
  border-radius:var(--p135-radius);
  padding:20px;
  margin-bottom:20px;
  background:#fff;
}
.sidebar-box h3{
  margin:0 0 14px;
  font-size:16px;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.category-list{list-style:none;padding:0;margin:0}
.category-list li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid var(--p135-border);
  font-size:14px;
  font-weight:700;
}
.category-list li:last-child{border-bottom:0}
.category-list .count{color:var(--p135-muted);font-weight:400}

.archive-header{margin-bottom:28px}
.archive-title{
  margin:0 0 8px;
  font-size:40px;
  line-height:1.05;
  letter-spacing:-1px;
}
.archive-description{color:var(--p135-muted);max-width:760px}

.single-wrap{
  width:min(900px,calc(100% - 32px));
  margin:0 auto;
}
.single-category{margin-bottom:12px}
.single-title{
  margin:0;
  font-size:clamp(34px,6vw,60px);
  line-height:1.02;
  letter-spacing:-1.8px;
}
.single-subtitle{
  margin:18px 0 0;
  font-size:20px;
  line-height:1.45;
  color:#4b5563;
  font-weight:400;
}
.single-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  margin:20px 0 26px;
  padding-bottom:18px;
  border-bottom:1px solid var(--p135-border);
  font-size:13px;
  color:var(--p135-muted);
}
.single-featured{
  margin:0 0 28px;
  border-radius:var(--p135-radius);
  overflow:hidden;
  background:var(--p135-soft);
}
.single-featured img{display:block;width:100%;height:auto}
.entry-content{
  font-size:18px;
  line-height:1.8;
  overflow-wrap:anywhere;
}
.entry-content p{margin:0 0 1.35em}
.entry-content h2,.entry-content h3,.entry-content h4{
  line-height:1.18;
  margin:1.5em 0 .65em;
}
.entry-content h2{font-size:30px}
.entry-content h3{font-size:25px}
.entry-content a{color:var(--p135-accent);text-decoration:underline}
.entry-content blockquote{
  margin:28px 0;
  padding:4px 0 4px 22px;
  border-left:4px solid var(--p135-accent);
  font-size:21px;
  font-weight:700;
  line-height:1.5;
}
.entry-content iframe,.entry-content video{max-width:100%}

.post-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:32px;
}
.post-tags a{
  background:var(--p135-soft);
  border:1px solid var(--p135-border);
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
}

.author-box{
  margin-top:34px;
  border-top:1px solid var(--p135-border);
  border-bottom:1px solid var(--p135-border);
  padding:24px 0;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:16px;
  align-items:center;
}
.author-box img{border-radius:50%}
.author-box h3{margin:0 0 4px;font-size:17px}
.author-box p{margin:0;color:var(--p135-muted);font-size:14px}

.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:30px;
}
.pagination .page-numbers{
  min-width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid var(--p135-border);
  border-radius:8px;
  font-size:13px;
  font-weight:700;
}
.pagination .current,
.pagination a:hover{
  background:var(--p135-accent);
  border-color:var(--p135-accent);
  color:#fff;
}

.no-results{
  padding:50px 20px;
  text-align:center;
  border:1px solid var(--p135-border);
  border-radius:var(--p135-radius);
}

.site-footer{
  margin-top:40px;
  background:#0d1117;
  color:#fff;
}
.footer-main{
  padding:44px 0 34px;
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:40px;
}
.footer-logo .custom-logo{max-height:48px}
.footer-title{
  margin:0 0 14px;
  font-size:16px;
  text-transform:uppercase;
}
.footer-text{color:#aeb6c1;font-size:14px;max-width:440px}
.footer-menu{list-style:none;margin:0;padding:0}
.footer-menu li{margin:8px 0}
.footer-menu a{color:#cbd5e1;font-size:14px}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.10);
  padding:16px 0;
  color:#94a3b8;
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:20px;
}

@media(max-width:980px){
  .header-main{grid-template-columns:1fr auto;min-height:72px}
  .primary-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;right:0;
    background:#fff;
    border-top:1px solid var(--p135-border);
    border-bottom:1px solid var(--p135-border);
    padding:10px 16px 18px;
  }
  .primary-nav.is-open{display:block}
  .primary-nav ul{display:block}
  .primary-nav a{padding:11px 6px}
  .primary-nav .sub-menu{
    display:block;
    position:static;
    box-shadow:none;
    border:0;
    padding:0 0 0 14px;
  }
  .menu-toggle{display:grid}
  .home-grid,.latest-layout{grid-template-columns:1fr}
  .hero-card{min-height:460px}
  .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:782px){
  .admin-bar .site-header{top:46px}
}
@media(max-width:680px){
  .container{width:min(100% - 22px,var(--p135-container))}
  .site-topline .container{justify-content:center}
  .topline-links{display:none}
  .site-title{font-size:26px}
  .hero-card{min-height:430px}
  .hero-content{padding:22px}
  .side-feature{grid-template-columns:115px 1fr}
  .side-feature h3{font-size:16px}
  .cards-grid{grid-template-columns:1fr}
  .latest-item{grid-template-columns:125px 1fr;gap:13px}
  .latest-item h2{font-size:18px}
  .latest-item .news-excerpt{display:none}
  .section{margin-top:36px}
  .archive-title{font-size:32px}
  .single-title{font-size:38px}
  .single-subtitle{font-size:18px}
  .entry-content{font-size:17px}
  .footer-main{grid-template-columns:1fr;gap:25px}
  .footer-bottom{display:block}
}
