/*
Theme Name: FreeXTech
Theme URI: https://www.freextech.com
Author: FreeXTech
Description: Tema customizado do FreeXTech — tecnologia como ferramenta de liberdade. Construído sem page builder para máxima performance.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: freextech
*/

:root{
  --ink:#14161A;
  --paper:#EDEBE3;
  --signal:#C81E3A;
  --graphite:#2B2D33;
  --hairline:#C9C6BC;
  --hairline-dark:#3A3D44;
  --paper-soft:#E4E1D6;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--graphite);
  font-family:'Public Sans', sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,.display{
  font-family:'Bricolage Grotesque', sans-serif;
  font-weight:700;
  letter-spacing:-0.01em;
  margin:0;
}
.mono{
  font-family:'IBM Plex Mono', monospace;
  letter-spacing:0.02em;
}

/* Acessibilidade: skip link */
.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--signal);color:#fff;
  padding:12px 20px;z-index:9999;
}
.skip-link:focus{left:12px;top:12px;}

/* Foco visível */
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid var(--signal);outline-offset:2px;
}

/* ===== HEADER ===== */
.site-header{background:var(--ink);color:var(--paper);padding:0 4vw;}
.header-inner{
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 0;border-bottom:1px solid var(--hairline-dark);
}
.logo{font-size:22px;font-weight:800;letter-spacing:-0.02em;display:flex;align-items:center;}
.logo a{display:flex;align-items:center;}
.logo .x{color:var(--signal);}
.main-nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.main-nav a{
  font-family:'IBM Plex Mono', monospace;font-size:12px;text-transform:uppercase;
  letter-spacing:0.08em;color:#B9B7AE;transition:color .15s;
}
.main-nav a:hover,.main-nav .current-menu-item a{color:var(--signal);}
.menu-toggle{display:none;background:none;border:1px solid var(--hairline-dark);color:var(--paper);padding:8px 12px;font-family:'IBM Plex Mono',monospace;}

/* ===== HERO ===== */
.hero{background:var(--ink);color:var(--paper);padding:4vw 4vw 0;overflow:hidden;}
.hero-inner{max-width:1280px;margin:0 auto;padding:64px 0 0;position:relative;}
.hero-frame{border:1px solid var(--hairline-dark);border-bottom:none;padding:48px 48px 40px;position:relative;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--signal);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:18px;display:inline-block;}
.eyebrow .cut{display:inline-block;margin-right:6px;}
.hero h1{font-size:clamp(32px,5.5vw,72px);line-height:1.02;max-width:820px;margin-left:-2px;position:relative;z-index:2;}
.hero h1 a{color:inherit;}
.hero-sub{max-width:520px;font-size:16px;color:#C9C7BD;margin:20px 0 8px;}
.hero-visual{position:absolute;right:0;top:40px;width:34%;max-width:420px;aspect-ratio:4/5;background-size:cover;background-position:center;border:1px solid var(--hairline-dark);transform:translateX(6%);}
.hero-visual.placeholder{background:linear-gradient(155deg,#2A2D33,#1B1D22);}

/* ===== SECTIONS ===== */
.section{max-width:1280px;margin:0 auto;padding:56px 4vw;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--hairline);padding-bottom:16px;margin-bottom:32px;}
.section-head h2{font-size:24px;}
.section-head .tag{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--signal);}

/* ===== GRID DE CARDS ===== */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
.card{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:26px 22px;background:var(--paper);transition:background .15s;}
.card:hover{background:var(--paper-soft);}
.card .cat{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--signal);margin-bottom:12px;display:block;}
.card h3{font-size:18px;line-height:1.25;margin-bottom:8px;font-weight:700;}
.card p{font-size:14px;color:#5B5D57;margin:0;}

.featured{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink);color:var(--paper);position:relative;min-height:320px;padding:30px;background-size:cover;background-position:center;}
.featured::before{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(20,22,26,.92), rgba(20,22,26,.35));}
.featured>*{position:relative;z-index:1;}
.featured .cat{color:var(--signal);}
.featured h3{font-size:26px;line-height:1.1;margin-bottom:10px;max-width:92%;}
.featured p{color:#B9B7AE;}
.x-mark{position:absolute;top:22px;right:26px;font-size:36px;color:var(--signal);font-family:'Bricolage Grotesque',sans-serif;line-height:1;z-index:2;}

/* ===== PAGINAÇÃO ===== */
.pagination{display:flex;gap:8px;justify-content:center;padding:40px 0 0;font-family:'IBM Plex Mono',monospace;font-size:13px;}
.pagination a,.pagination span{border:1px solid var(--hairline);padding:8px 14px;}
.pagination .current{background:var(--ink);color:var(--paper);}

/* ===== ARTIGO INDIVIDUAL ===== */
.article-header{background:var(--ink);color:var(--paper);padding:56px 4vw 0;}
.article-header-inner{max-width:820px;margin:0 auto;padding-bottom:48px;border-bottom:1px solid var(--hairline-dark);}
.article-header h1{font-size:clamp(30px,4.5vw,52px);line-height:1.08;margin:16px 0 20px;}
.article-meta{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#B9B7AE;display:flex;gap:18px;flex-wrap:wrap;}
.article-featured-img{max-width:1100px;margin:0 auto;transform:translateY(40px);}
.article-featured-img img{width:100%;object-fit:cover;max-height:520px;}
.article-body{max-width:720px;margin:0 auto;padding:24px 4vw 60px;font-size:18px;line-height:1.75;}
.article-body h2{font-size:26px;margin:40px 0 16px;}
.article-body h3{font-size:21px;margin:32px 0 14px;}
.article-body p{margin:0 0 20px;}
.article-body ul,.article-body ol{margin:0 0 20px;padding-left:22px;}
.article-body blockquote{border-left:2px solid var(--signal);padding-left:20px;margin:28px 0;font-style:italic;color:#4A4C48;}
.article-body figure{margin:32px 0;}
.article-sources{max-width:720px;margin:0 auto 60px;padding:0 4vw;font-family:'IBM Plex Mono',monospace;font-size:12px;color:#5B5D57;border-top:1px solid var(--hairline);padding-top:20px;}

.author-box{max-width:720px;margin:0 auto 60px;padding:24px 4vw;background:var(--paper-soft);border:1px solid var(--hairline);display:flex;gap:16px;align-items:flex-start;}
.author-box img{width:56px;height:56px;border-radius:50%;flex-shrink:0;}
.author-box .name{font-weight:600;font-size:15px;margin-bottom:4px;}
.author-box .bio{font-size:14px;color:#5B5D57;}

/* ===== ARQUIVO / CATEGORIA ===== */
.archive-header{background:var(--ink);color:var(--paper);padding:56px 4vw;}
.archive-header-inner{max-width:1280px;margin:0 auto;}
.archive-header .eyebrow{margin-bottom:14px;}
.archive-header h1{font-size:clamp(28px,4vw,48px);}
.archive-desc{max-width:600px;color:#C9C7BD;margin-top:14px;font-size:15px;}

/* ===== FOOTER ===== */
.site-footer{background:var(--ink);color:#8B8A82;padding:48px 4vw 32px;font-size:13px;}
.footer-inner{max-width:1280px;margin:0 auto;}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-bottom:1px solid var(--hairline-dark);padding-bottom:28px;margin-bottom:20px;}
.footer-top .logo{color:var(--paper);}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;}
.footer-links a:hover{color:var(--paper);}

/* ===== RESPONSIVO ===== */
@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,1fr);}
  .featured{grid-column:span 2;}
  .main-nav{display:none;}
  .menu-toggle{display:block;}
  .hero-visual{display:none;}
  .hero-frame{padding:32px 24px 32px;}
}
@media (max-width:600px){
  .grid{grid-template-columns:1fr;}
  .featured{grid-column:span 1;}
  .article-body{font-size:16px;}
}
