/*
Theme Name: Anarco-Patriota
Theme URI: https://anarcopatriota.com.br
Author: O Araponga
Author URI: https://anarcopatriota.com.br
Description: Tema editorial de trincheira — política sem coleira. Anton + Spectral, faixa rasgada, verde-musgo e ocre. Feito para blog de opinião.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: anarco-patriota
*/

/* ===== Anarco-Patriota — tema de trincheira ===== */
:root{
  --concrete:#191912; --concrete-2:#20201a; --line:#33322a;
  --green:#47592f; --green-deep:#3a4a26;
  --ocre:#c19a23; --ocre-bright:#dcb02f;
  --navy:#16223a; --paper:#ddd6c4; --light:#ece6d4;
  --rust:#8a3b28; --muted:#9c9683;
  --display:'Anton',Impact,sans-serif;
  --body:'Spectral',Georgia,serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--concrete); color:var(--light);
  font-family:var(--body); font-size:19px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%; height:auto;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
.wrap.narrow{max-width:720px;}
.emblem{width:44px; height:44px; flex:0 0 auto;}

/* ---- top bar ---- */
.top{position:sticky; top:0; z-index:20; background:rgba(25,25,18,.92);
  backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
.top .wrap{display:flex; align-items:center; gap:20px; min-height:70px;}
.brand{display:flex; align-items:center; gap:12px;}
.brand .name{font-family:var(--display); font-size:22px; letter-spacing:1px;
  color:var(--light); line-height:1; padding-top:3px;}
nav.main ul{list-style:none; display:flex; gap:26px; margin:0; padding:0;}
nav.main a{font-family:var(--body); font-weight:600; font-size:17px; color:var(--paper);
  padding:6px 2px; border-bottom:2px solid transparent; transition:border-color .15s,color .15s;}
nav.main a:hover{color:var(--ocre-bright); border-bottom-color:var(--ocre);}
.top-actions{margin-left:auto; display:flex; align-items:center; gap:16px;}

/* ---- botões ---- */
.btn{font-family:var(--body); font-weight:700; font-size:17px; cursor:pointer;
  padding:13px 26px; border:2px solid var(--ocre); background:transparent; color:var(--light);
  display:inline-block; transition:background .15s,color .15s;}
.btn:hover{background:var(--ocre); color:var(--concrete);}
.btn.solid{background:var(--ocre); color:var(--concrete);}
.btn.solid:hover{background:var(--ocre-bright); border-color:var(--ocre-bright);}
.btn.small{padding:9px 18px; font-size:15px;}

/* ---- hero ---- */
.hero{position:relative; padding:88px 0 0; text-align:center; overflow:hidden;}
.hero::before{content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 50% -10%, #232219 0%, var(--concrete) 60%); z-index:0;}
.hero .wrap{position:relative; z-index:1;}
.hero-title{font-family:var(--display); color:var(--light);
  font-size:clamp(3.4rem,11vw,8rem); line-height:.9; letter-spacing:2px; margin:0; text-transform:uppercase;}
.kicker{font-weight:500; font-style:italic; color:var(--muted);
  font-size:clamp(1rem,2.4vw,1.35rem); margin:22px auto 0; max-width:40ch;}
.ribbon{position:relative; margin:44px auto 0; display:flex; justify-content:center;}
.ribbon .piece{background:var(--paper); color:var(--concrete); font-family:var(--display);
  font-size:clamp(.95rem,2.6vw,1.35rem); letter-spacing:1.5px; text-transform:uppercase;
  padding:12px 30px; white-space:nowrap;}
.ribbon .left{clip-path:polygon(0 0,100% 6%,96% 100%,0 94%); transform:rotate(-.8deg);}
.ribbon .right{clip-path:polygon(4% 6%,100% 0,100% 94%,0 100%); transform:rotate(.6deg); margin-left:-2px;}
.ribbon .rip{width:5px; background:var(--rust); transform:skewX(-12deg); z-index:2;}
.hero .cta-row{margin:40px 0 0; display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.tear{height:26px; margin-top:70px; background:var(--green-deep);
  clip-path:polygon(0 40%,4% 55%,8% 38%,13% 60%,18% 42%,24% 62%,30% 40%,36% 58%,42% 38%,48% 60%,54% 42%,60% 62%,66% 40%,72% 58%,78% 40%,84% 60%,90% 42%,96% 58%,100% 40%,100% 100%,0 100%);}

/* ---- layout ---- */
.layout{display:grid; grid-template-columns:1fr 320px; gap:56px; padding:60px 0 30px;}
.section-label{font-family:var(--display); font-size:15px; letter-spacing:2px; text-transform:uppercase;
  color:var(--ocre); margin:0 0 22px; display:flex; align-items:center; gap:14px;}
.section-label::after{content:""; flex:1; height:2px; background:var(--line);}

/* ensaio principal */
.lead{margin-bottom:8px;}
.lead-img{display:block; margin-bottom:20px;}
.lead-img img{width:100%; border:1px solid var(--line);}
.lead h2{font-family:var(--body); font-weight:700; font-size:clamp(2rem,4.4vw,2.9rem);
  line-height:1.08; margin:0 0 16px; color:var(--light);}
.lead h2 a:hover{color:var(--ocre-bright);}
.lead .dek{font-size:1.18rem; color:var(--paper); max-width:60ch; margin:0 0 20px;}

/* lista */
.post-item{padding:26px 0; border-top:1px solid var(--line);}
.post-item.first{border-top:none; margin-top:40px;}
.post-item h3{font-family:var(--body); font-weight:700; font-size:1.5rem; line-height:1.15; margin:0 0 8px;}
.post-item h3 a:hover{color:var(--ocre-bright);}
.post-item .dek{color:var(--paper); font-size:1.05rem; margin:0 0 12px; max-width:62ch;}

.meta{font-size:.95rem; color:var(--muted); font-style:italic;}
.tag{font-family:var(--body); font-style:normal; font-weight:600; font-size:.82rem;
  letter-spacing:.5px; color:var(--ocre); border:1px solid var(--ocre);
  padding:2px 10px; border-radius:2px; margin-right:12px; text-transform:uppercase; display:inline-block;}
a.tag:hover{background:var(--ocre); color:var(--concrete);}

/* paginação */
.pagination,.nav-links{margin-top:40px; padding-top:24px; border-top:1px solid var(--line);
  display:flex; gap:16px; align-items:center; flex-wrap:wrap; font-weight:600;}
.pagination a,.nav-links a{color:var(--ocre);}
.pagination a:hover,.nav-links a:hover{color:var(--ocre-bright);}
.page-numbers{padding:4px 10px; border:1px solid var(--line);}
.page-numbers.current{background:var(--ocre); color:var(--concrete); border-color:var(--ocre);}

/* ---- sidebar ---- */
.sidebar{align-self:start; position:sticky; top:96px; display:flex; flex-direction:column; gap:34px;}
.box{background:var(--concrete-2); border:1px solid var(--line); padding:24px;}
.box h4{font-family:var(--display); font-size:1rem; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--light); margin:0 0 16px;}
.cats{list-style:none; margin:0; padding:0;}
.cats li{border-bottom:1px solid var(--line);}
.cats li:last-child{border-bottom:none;}
.cats a{display:block; padding:11px 0; font-weight:600; transition:color .15s;}
.cats a:hover{color:var(--ocre-bright);}
.manifesto{background:var(--green-deep); border-color:var(--green);}
.manifesto p{font-style:italic; font-size:1.02rem; margin:0 0 16px; color:var(--light);}
.news p{color:var(--paper); font-size:1rem; margin:0 0 16px;}
.news-form{display:flex; flex-direction:column; gap:10px;}
.news-form input{font-family:var(--body); font-size:1rem; padding:11px 13px; background:var(--concrete);
  border:1px solid var(--line); color:var(--light);}
.news-form input::placeholder{color:var(--muted);}
.news-form input:focus{outline:2px solid var(--ocre); outline-offset:1px;}
.news-form button{text-align:center; padding:11px; border:none;}
.news small{color:var(--muted); font-style:italic; display:block; margin-top:10px;}

/* ---- post individual ---- */
.single{padding:56px 0 20px;}
.single-title{font-family:var(--body); font-weight:700; line-height:1.08;
  font-size:clamp(2.2rem,5vw,3.4rem); margin:14px 0 0; color:var(--light);}
.single-feature{margin:40px 0;}
.single-feature img{width:100%; border:1px solid var(--line);}
.post-content{font-size:1.18rem; line-height:1.75; color:var(--light);}
.post-content > *{max-width:68ch;}
.post-content .alignwide{max-width:1000px;}
.post-content .alignfull{max-width:100%; width:100%;}
.post-content p{margin:0 0 1.4em;}
.post-content h2{font-family:var(--body); font-weight:700; font-size:1.9rem; margin:1.8em 0 .5em; color:var(--light);}
.post-content h3{font-family:var(--body); font-weight:700; font-size:1.45rem; margin:1.6em 0 .4em;}
.post-content a{color:var(--ocre-bright); text-decoration:underline; text-underline-offset:3px;}
.post-content blockquote{border-left:4px solid var(--ocre); margin:1.6em 0; padding:.2em 0 .2em 1.2em;
  font-style:italic; color:var(--paper);}
.post-content img{margin:2em 0;}
.post-content figcaption{color:var(--muted); font-size:.9rem; text-align:center; margin-top:.6em;}
.post-content ul,.post-content ol{margin:0 0 1.4em; padding-left:1.3em;}
.post-content li{margin:.4em 0;}
.post-content hr{border:none; border-top:1px solid var(--line); margin:2.4em 0;}

.post-tags{margin:40px 0 0; display:flex; gap:10px; flex-wrap:wrap;}

/* ---- footer ---- */
.site-foot{margin-top:40px; border-top:3px solid var(--green); background:var(--concrete-2);}
.site-foot .wrap{padding:52px 28px 30px;}
.foot-top{display:flex; gap:40px; flex-wrap:wrap; align-items:flex-start;}
.foot-brand{max-width:340px;}
.foot-brand .row{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.foot-brand .name{font-family:var(--display); font-size:22px; letter-spacing:1px; padding-top:3px;}
.foot-brand p{color:var(--muted); font-style:italic; margin:0;}
.foot-bottom{margin-top:40px; padding-top:20px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  color:var(--muted); font-size:.9rem; font-style:italic;}

/* ---- responsivo ---- */
@media(max-width:860px){
  .layout{grid-template-columns:1fr; gap:44px;}
  .sidebar{position:static;}
  nav.main{display:none;}
}
@media(max-width:520px){
  body{font-size:18px;}
  .brand .name{font-size:18px;}
}
@media(prefers-reduced-motion:no-preference){
  .hero-title,.kicker,.ribbon,.hero .cta-row{opacity:0; animation:rise .7s ease forwards;}
  .kicker{animation-delay:.08s;} .ribbon{animation-delay:.16s;} .hero .cta-row{animation-delay:.24s;}
  @keyframes rise{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}
}
