/* ============================================================
   BITTUX DESIGN SYSTEM — bittux-theme.css
   Baseado em: bittux-redesign-preview.html
   Fonts: IBM Plex Sans + IBM Plex Mono
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');

:root{
  --bg:#10141a;
  --bg-raised:#171b22;
  --bg-raised-2:#1d2129;
  --line:#262c35;
  --line-soft:#1c212a;
  --ink:#eae6da;
  --ink-dim:#98a0ab;
  --ink-faint:#5b6270;
  --coffee:#e3a63f;
  --coffee-dim:#9c7530;
  --coffee-bg:#2a2013;
  --teal:#5cb3a6;
  --teal-dim:#3a746c;
  --warn:#c1694a;
  --warn-dim:#8a4a35;
  --radius:8px;
  --font-mono:'IBM Plex Mono', ui-monospace, monospace;
  --font-sans:'IBM Plex Sans', system-ui, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.mono{font-family:var(--font-mono);}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--coffee);}
img{max-width:100%;height:auto;}
::selection{background:var(--coffee);color:#241a06;}
code{font-family:var(--font-mono);background:var(--bg-raised-2);padding:2px 6px;border-radius:4px;font-size:0.9em;color:var(--coffee);}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

/* === HEADER === */
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(16,20,26,0.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10;}
.headbar{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:24px;}
.logo{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:600;letter-spacing:0.2px;flex-shrink:0;}
.logo .dot{width:8px;height:8px;border-radius:50%;background:var(--coffee);box-shadow:0 0 8px var(--coffee);}
.logo .custom-logo-link{display:flex;align-items:center;}
.logo .custom-logo-link img{height:32px;width:auto;display:block;}
.logo-img{height:32px;width:auto;display:block;}
.headbar nav{display:flex;gap:24px;font-size:13.5px;color:var(--ink-dim);flex:1;}
.headbar nav a{white-space:nowrap;transition:color .15s;}
.headbar nav a:hover{color:var(--ink);}
.menu-list{display:flex;list-style:none;gap:24px;margin:0;padding:0;flex:1;justify-content:center;}
.menu-list a{font-size:13.5px;color:var(--ink-dim);font-weight:500;transition:color .15s;}
.menu-list a:hover,.menu-list .current-menu-item>a{color:var(--ink);}
.head-right{display:flex;align-items:center;gap:14px;}
.search-box{display:flex;align-items:center;gap:8px;background:var(--bg-raised);border:1px solid var(--line);border-radius:6px;padding:7px 12px;width:190px;}
.search-box svg{width:14px;height:14px;color:var(--ink-faint);flex-shrink:0;}
.search-box input{background:none;border:none;outline:none;color:var(--ink);font-size:12.5px;width:100%;font-family:var(--font-mono);}
.search-box input::placeholder{color:var(--ink-faint);}

/* === BURGER & MENU MOBILE === */
.burger{display:none;flex-direction:column;gap:4px;cursor:pointer;background:var(--bg-raised);border:1px solid var(--line);border-radius:6px;padding:8px 12px;}
.burger span{width:20px;height:2px;background:var(--ink-dim);}
.mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-raised);z-index:1000;display:none;flex-direction:column;padding:80px 28px 40px;overflow-y:auto;}
.mobile-menu.is-open{display:flex;}
.mobile-close{position:absolute;top:16px;right:20px;background:none;border:none;color:var(--ink-dim);font-size:28px;cursor:pointer;}
.mobile-menu-list{list-style:none;padding:0;margin:0;}
.mobile-menu-list li{margin:0;}
.mobile-menu-list a{display:block;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:15px;color:var(--ink-dim);}
.mobile-menu-list a:hover{color:var(--coffee);}
.mobile-search{margin-bottom:24px;padding:12px 16px;background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;}
.mobile-search input{background:none;border:none;outline:none;color:var(--ink);font-size:14px;width:100%;font-family:var(--font-mono);}
.mobile-search input::placeholder{color:var(--ink-faint);}

/* === HERO === */
.hero{padding:60px 0 52px;display:grid;grid-template-columns:1.05fr 0.95fr;gap:52px;align-items:center;}
.kicker{font-size:12.5px;color:var(--teal);margin:0 0 14px;}
.hero h1{font-size:38px;line-height:1.2;font-weight:600;margin:0 0 16px;letter-spacing:-0.3px;}
.hero p.lede{color:var(--ink-dim);font-size:15.5px;max-width:46ch;margin:0 0 22px;}
.coffee-note{display:flex;gap:10px;align-items:flex-start;background:var(--coffee-bg);border:1px solid var(--coffee-dim);border-radius:6px;padding:12px 14px;margin-bottom:26px;font-size:13px;color:#d9c093;max-width:44ch;}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.btn{padding:11px 18px;border-radius:6px;font-size:13.5px;font-weight:500;border:1px solid var(--line);transition:border-color .15s,background .15s;display:inline-flex;align-items:center;}
.btn.primary{background:var(--coffee);color:#241a06;border-color:var(--coffee);font-weight:600;}
.btn.primary:hover{background:var(--coffee-dim);color:#f5f0ea;}
.btn.ghost{color:var(--ink);}
.btn.ghost:hover{border-color:var(--ink-faint);}

.term{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 20px 50px -20px rgba(0,0,0,0.5);}
.term-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line-soft);}
.term-bar span:not(.fname){width:10px;height:10px;border-radius:50%;background:var(--line);}
.term-bar .fname{margin-left:8px;font-size:12px;color:var(--ink-faint);}
.term-body{padding:20px 18px;font-size:13.5px;}
.term-body .l{margin:0 0 9px;white-space:pre-wrap;}
.term-body .prompt-line{color:var(--teal);}
.term-body .out{color:var(--ink-dim);}
.term-body .cursor{display:inline-block;width:7px;height:14px;background:var(--coffee);vertical-align:-2px;animation:blink 1.1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}

/* === SECTION HEADINGS === */
.section{padding:40px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px;border-bottom:1px solid var(--line-soft);padding-bottom:14px;}
.section-head h2{font-size:19px;font-weight:600;margin:0;}
.section-head .path{font-size:12px;color:var(--ink-faint);}

/* === LEARNING PATH === */
.path-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.path-step{padding:18px 20px;border-right:1px solid var(--line);position:relative;background:var(--bg-raised);}
.path-step:last-child{border-right:none;}
.path-step .n{font-size:11px;color:var(--coffee);margin-bottom:8px;}
.path-step h4{font-size:14px;margin:0 0 6px;font-weight:600;line-height:1.35;}
.path-step p{font-size:12px;color:var(--ink-faint);margin:0;}
.path-step a{display:block;color:inherit;}
.path-step:hover{background:var(--bg-raised-2);}
.path-step::after{content:"→";position:absolute;right:-11px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:14px;background:var(--bg);width:22px;text-align:center;z-index:2;}
.path-step:last-child::after{content:"";}

/* === FEATURED === */
.featured{display:grid;grid-template-columns:1.1fr 0.9fr;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg-raised);}
.featured .img{background:linear-gradient(155deg,#24303a 0%,#171b22 60%);min-height:280px;position:relative;overflow:hidden;}
.featured .img img{width:100%;height:100%;object-fit:cover;}
.featured .img::before{content:"$ ./laboratorio-completo.sh";position:absolute;bottom:18px;left:18px;font-family:var(--font-mono);font-size:11.5px;color:rgba(234,230,218,0.35);z-index:1;}
.featured .body{padding:30px 32px;display:flex;flex-direction:column;justify-content:center;}
.tag{display:inline-block;font-size:11.5px;color:var(--coffee);border:1px solid var(--coffee-dim);padding:3px 9px;border-radius:4px;margin-bottom:14px;width:fit-content;}
.featured h3{font-size:21px;line-height:1.32;margin:0 0 12px;font-weight:600;}
.featured h3 a{color:var(--ink);}
.featured h3 a:hover{color:var(--coffee);}
.featured p{color:var(--ink-dim);font-size:14px;margin:0 0 18px;}
.meta{font-size:12px;color:var(--ink-faint);display:flex;gap:14px;align-items:center;}
.level{font-size:11px;padding:2px 8px;border-radius:3px;border:1px solid var(--line);}
.level.avancado{color:var(--warn);border-color:var(--warn-dim);}
.level.intermediario{color:var(--coffee);border-color:var(--coffee-dim);}
.level.iniciante{color:var(--teal);border-color:var(--teal-dim);}

/* === ARTICLE LISTING (ls -la style) === */
.listing{border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.listing-head{display:grid;grid-template-columns:26px 1fr 150px 100px 90px 70px;padding:10px 18px;font-size:11.5px;color:var(--ink-faint);border-bottom:1px solid var(--line);background:var(--bg-raised-2);}
.listing-head span:nth-child(6){text-align:right;}
.row{display:grid;grid-template-columns:26px 1fr 150px 100px 90px 70px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line-soft);transition:background .15s;}
.row:last-child{border-bottom:none;}
.row:hover{background:var(--bg-raised);}
.row .ic{color:var(--teal);font-size:13px;}
.row .name{font-size:14.5px;color:var(--ink);}
.row .name a{color:var(--ink);transition:color .15s;}
.row .name a:hover{color:var(--coffee);}
.row .name .sub{display:block;font-size:12px;color:var(--ink-faint);margin-top:3px;}
.row .cat{font-size:12px;color:var(--teal-dim);}
.row .level{font-size:11px;padding:2px 8px;border-radius:3px;border:1px solid var(--line);}
.row .level.avancado{color:var(--warn);border-color:var(--warn-dim);}
.row .level.intermediario{color:var(--coffee);border-color:var(--coffee-dim);}
.row .level.iniciante{color:var(--teal);border-color:var(--teal-dim);}
.row .date{font-size:12px;color:var(--ink-faint);}
.row .time{font-size:12px;color:var(--ink-faint);text-align:right;}
.listing-pagination{padding:12px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-faint);display:flex;justify-content:center;gap:16px;}
.listing-pagination a{color:var(--ink-dim);}
.listing-pagination a:hover{color:var(--coffee);}

/* === CATEGORIES === */
.cats{display:flex;flex-wrap:wrap;gap:9px;}
.cat-chip{font-size:12.5px;padding:7px 13px;border:1px solid var(--line);border-radius:5px;color:var(--ink-dim);display:flex;align-items:center;gap:7px;transition:border-color .15s;}
.cat-chip a{color:inherit;}
.cat-chip:hover{border-color:var(--teal-dim);color:var(--ink);}
.cat-chip .count{color:var(--ink-faint);font-family:var(--font-mono);font-size:11px;}

/* === CALLOUTS === */
.callouts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.callout{border:1px solid var(--line);border-left:3px solid var(--teal-dim);border-radius:6px;padding:16px 18px;background:var(--bg-raised);}
.callout.warn{border-left-color:var(--warn-dim);}
.callout.coffee{border-left-color:var(--coffee-dim);}
.callout .lbl{font-size:11.5px;color:var(--ink-faint);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.callout .txt{font-size:13.5px;color:var(--ink-dim);}

/* === NEWSLETTER === */
.news{border:1px solid var(--line);border-radius:10px;padding:34px 36px;background:linear-gradient(135deg,var(--bg-raised),var(--bg-raised-2));display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.news h3{margin:0 0 6px;font-size:18px;font-weight:600;}
.news p{margin:0;color:var(--ink-dim);font-size:13.5px;}
.news form{display:flex;gap:8px;}
.news input[type=email]{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:11px 14px;color:var(--ink);font-size:13px;width:220px;font-family:var(--font-mono);}

/* === FOOTER === */
.site-footer{border-top:1px solid var(--line);padding:34px 0;margin-top:20px;}
.foot-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;}
.foot-brand{font-size:13px;color:var(--ink-faint);max-width:38ch;}
.foot-brand .logo{margin-bottom:10px;}
.foot-cols{display:flex;gap:56px;}
.foot-col h4{font-size:12px;color:var(--ink-faint);margin:0 0 12px;font-weight:500;}
.foot-col a{display:block;font-size:13px;color:var(--ink-dim);margin-bottom:9px;transition:color .15s;}
.foot-col a:hover{color:var(--coffee);}
.foot-bottom{margin-top:26px;padding-top:18px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--ink-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

/* === SINGLE POST === */
.entry-content{font-size:16px;line-height:1.7;color:var(--ink);max-width:72ch;}
.entry-content h2{font-size:22px;font-weight:600;margin:2rem 0 1rem;color:var(--ink);scroll-margin-top:96px;}
.entry-content h3{font-size:18px;font-weight:600;margin:1.5rem 0 0.75rem;color:var(--ink);scroll-margin-top:96px;}
.entry-content h4{scroll-margin-top:96px;}
.toc-link:hover{color:var(--coffee)!important;}
.entry-content p{margin:0 0 1.2rem;}
.entry-content ul,ol{padding-left:24px;margin:0 0 1.2rem;}
.entry-content li{margin-bottom:0.5rem;color:var(--ink-dim);}
.entry-content blockquote{border-left:3px solid var(--coffee);padding-left:16px;margin:1.5rem 0;color:var(--ink-dim);font-style:italic;}
.entry-content pre{background:var(--bg-raised-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;overflow-x:auto;font-size:13px;line-height:1.6;}
.entry-content pre code{background:none;padding:0;color:var(--ink);font-family:var(--font-mono);}

/* ============================================================
   BITTUX — CABEÇALHO DO BLOCO DE CÓDIGO (linguagem + botão Copiar)
   As variáveis --bittux-code-* já existiam (injetadas pelo painel
   Aparência > Personalizar > Bloco de Código em functions.php), mas
   nunca tinham CSS de verdade — por isso o botão "Copiar" saía sem
   nenhum estilo próprio e caía no azul padrão do Astra/navegador.
   ============================================================ */
.codeblock{
  background:var(--bittux-code-bg, var(--bg-raised-2)) !important;
  border:1px solid var(--bittux-code-border, var(--line)) !important;
  border-radius:var(--radius);
  overflow:hidden;
  margin:1.5rem 0;
}
.codeblock-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 14px;
  background:var(--bittux-code-header-bg, var(--bg-raised)) !important;
  border-bottom:1px solid var(--bittux-code-border, var(--line));
}
.codeblock-head span{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--bittux-code-language, var(--coffee)) !important;
  text-transform:lowercase;
  line-height:1;
}
.codeblock-head button{
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1;
  padding:6px 12px;
  border-radius:5px;
  background-color:var(--bittux-code-button-bg, var(--bg-raised-2)) !important;
  color:var(--bittux-code-button-text, var(--ink-dim)) !important;
  border:1px solid var(--bittux-code-button-border, var(--line)) !important;
  cursor:pointer;
  transition:background-color .15s, color .15s, border-color .15s;
  flex-shrink:0;
  white-space:nowrap;
}
.codeblock-head button:hover,
.codeblock-head button:focus-visible{
  background-color:var(--bittux-code-button-hover, var(--coffee)) !important;
  color:var(--bittux-code-button-text-hover, #241a06) !important;
  border-color:var(--bittux-code-button-hover, var(--coffee)) !important;
}
.codeblock pre{
  margin:0 !important;
  border:none !important;
  border-radius:0 !important;
}
.codeblock pre code{
  color:var(--bittux-code-text, var(--ink)) !important;
}
.entry-content a{color:var(--teal);text-decoration:underline;text-underline-offset:2px;}
.entry-content a:hover{color:var(--coffee);}
.entry-content img{border-radius:var(--radius);margin:1.5rem 0;}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;}
.entry-content th,.entry-content td{padding:10px 14px;border:1px solid var(--line);font-size:14px;}
.entry-content th{background:var(--bg-raised);font-weight:600;text-align:left;}
.entry-content td{color:var(--ink-dim);}

/* Post header */
.post-header{margin-bottom:32px;}
.post-header .card-cat{margin-bottom:12px;}
.post-header h1{font-size:36px;line-height:1.2;font-weight:600;margin:0 0 16px;}
.post-header .card-meta{display:flex;gap:14px;font-size:13px;color:var(--ink-faint);flex-wrap:wrap;align-items:center;}
.post-header .card-meta .author{display:flex;align-items:center;gap:6px;}
.post-header .card-meta .author img{width:24px;height:24px;border-radius:50%;}

/* Author box */
.author-box{display:flex;gap:18px;align-items:flex-start;padding:24px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);margin-top:40px;}
.author-box img{width:64px;height:64px;border-radius:50%;flex-shrink:0;}
.author-box .author-name{font-weight:600;font-size:15px;margin-bottom:4px;}
.author-box .author-bio{font-size:14px;color:var(--ink-dim);margin:0;}

/* Post tags */
.post-tags{display:flex;gap:8px;flex-wrap:wrap;}
.post-tag{font-size:12px;padding:4px 10px;border:1px solid var(--line);border-radius:4px;color:var(--ink-dim);transition:border-color .15s;}
.post-tag:hover{border-color:var(--teal-dim);color:var(--ink);}

/* Related posts cards */
.related-posts{margin-top:40px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.related-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s;height:100%;display:flex;flex-direction:column;}
.related-card:hover{border-color:var(--teal-dim);}
.related-card .rc-body{padding:16px;flex:1;display:flex;flex-direction:column;}
.related-card .rc-cat{font-size:11px;color:var(--teal);text-transform:uppercase;margin-bottom:8px;font-family:var(--font-mono);}
.related-card h4{font-size:15px;font-weight:600;margin:0 0 8px;line-height:1.35;}
.related-card h4 a{color:var(--ink);}
.related-card h4 a:hover{color:var(--coffee);}
.related-card .rc-meta{font-size:11px;color:var(--ink-faint);margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft);}

/* Breadcrumbs */
.bittux-breadcrumb{font-size:12px;color:var(--ink-faint);margin-bottom:20px;font-family:var(--font-mono);}
.bittux-breadcrumb a{color:var(--teal-dim);}
.bittux-breadcrumb a:hover{color:var(--teal);}
.bittux-breadcrumb span{margin:0 6px;color:var(--ink-faint);}

/* === PREFERS REDUCED MOTION === */
@media (prefers-reduced-motion: reduce){.term-body .cursor{animation:none;}*{transition-duration:0.01ms !important;}}

/* === RESPONSIVIDADE === */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:32px;}
  .hero h1{font-size:28px;}
  .headbar nav{display:none;}
  /* A busca não é mais escondida no mobile — vira um ícone que expande
     (ver regras .search-box mais abaixo, na seção de TOGGLE DE BUSCA) */
  .burger{display:inline-flex;}
  .featured{grid-template-columns:1fr;}
  .featured .img{min-height:180px;}
  .path-strip{grid-template-columns:1fr 1fr;}
  .path-step::after{display:none;}
  .listing-head,.row{grid-template-columns:26px 1fr 90px;}
  .listing-head span:nth-child(3),.listing-head span:nth-child(4),.listing-head span:nth-child(5),.row .cat,.row .date{display:none;}
  .callouts{grid-template-columns:1fr;}
  .foot-row{flex-direction:column;}
  .news{flex-direction:column;align-items:flex-start;}
  .news form{flex-direction:column;width:100%;}
  .news input[type=email]{width:100%;}
  .related-grid{grid-template-columns:1fr;}
  .section-head{flex-direction:column;gap:6px;}
}
@media (max-width:600px){
  .hero h1{font-size:24px;}
  .term{margin-top:20px;}
  .path-strip{grid-template-columns:1fr;}
  .row{grid-template-columns:1fr;gap:4px;padding:12px 16px;}
  .row .ic{display:none;}
  .row .name{grid-column:1/-1;}
  .row .name .sub{display:inline;}
  .row .cat,.row .date,.row .time{display:none;}
  .listing-head{display:none;}
}

/* ============================================================
   FIX: Remover espaço acima do header no mobile (<=600px)
   ============================================================ */
@media (max-width: 600px) {
  body {
    padding-top: 0;
    margin-top: 0;
  }
  .site, #page, .site-content, .ast-container, #primary, #main {
    padding-top: 0;
    margin-top: 0;
  }
  .site-header {
    top: 0;
    margin-top: 0;
  }
  .headbar {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}

/* ============================================================
   FIX 1: Garantir header sticky mesmo com overflow-x (mantém design)
   ============================================================ */
html, body {
    overflow-x: clip;  /* mantém o overflow cortado sem quebrar sticky */
}

/* ============================================================
   FIX 2: Sobrescrever links neon em TODAS as páginas (sem mexer no design)
   Mantém teal no estado normal, mas corrige o ciano #00D9FF do antigo
   ============================================================ */
a, .entry-content a, .cat-pill a, .cat-pill:hover, .card-title a, .card-title a:hover,
.path-step a, .row .name a, .row .name a:hover, .related-card h4 a,
.foot-col a, .foot-col a:hover, .post-tag, .post-tag:hover,
.featured h3 a, .featured h3 a:hover, .row .cat, .row .date, .row .time {
    color: var(--teal) !important;
}

.entry-content a:hover, .row .name a:hover, .card-title a:hover, 
.featured h3 a:hover, .related-card h4 a:hover, .cat-chip:hover, 
.foot-col a:hover, .post-tag:hover, a:hover {
    color: var(--coffee) !important;
}

/* Cor neutra para links de navegação do header (não azul) */
.headbar nav a, .headbar nav a:hover,
.menu-list a, .menu-list a:hover, .menu-list .current-menu-item > a {
    color: var(--ink-dim) !important;
}

.menu-list a:hover, .menu-list .current-menu-item > a,
.headbar nav a:hover {
    color: var(--ink) !important;
}

/* ============================================================
   FIX DEFINITIVO 2: Breadcrumbs Rank Math + Astra — cor NEON -> teal
   (Resolve os links "Home" e "Administração de Sistemas" em artigos)
   ============================================================ */
.rank-math-breadcrumb a,
.rank-math-breadcrumb a:visited,
.rank-math-breadcrumb .last,
.ast-breadcrumbs a,
.ast-breadcrumbs a:visited,
.ast-breadcrumbs .breadcrumb_last,
.trail-items a,
.trail-items .trail-end,
.entry-content .rank-math-breadcrumb a,
.entry-content .ast-breadcrumbs a {
    color: var(--teal-dim) !important;
}
.rank-math-breadcrumb a:hover,
.ast-breadcrumbs a:hover,
.trail-items a:hover {
    color: var(--coffee) !important;
}

/* ============================================================
   FIX 3: Botões "Começar pelo Linux" / "Explorar tutoriais" e
   demais .btn — o Astra aplica cor/fundo de botão globalmente via
   Aparência > Personalizar > Global > Botões, e essa regra do Astra
   também usa !important, então vence a .btn.primary/.btn.ghost
   comum. Repetimos a classe em vários seletores de elemento para
   cobrir qualquer marcação (link, button, bloco Gutenberg) que o
   Astra também esteja mirando.
   ============================================================ */
a.btn.primary, button.btn.primary, input.btn.primary,
.ast-button.btn.primary, .wp-block-button__link.btn.primary {
    background-color: var(--coffee) !important;
    border-color: var(--coffee) !important;
    color: #241a06 !important;
}
a.btn.primary:hover, button.btn.primary:hover, input.btn.primary:hover,
.ast-button.btn.primary:hover, .wp-block-button__link.btn.primary:hover,
a.btn.primary:focus-visible, button.btn.primary:focus-visible {
    background-color: var(--coffee-dim) !important;
    border-color: var(--coffee-dim) !important;
    color: #f5f0ea !important;
}

a.btn.ghost, button.btn.ghost,
.ast-button.btn.ghost, .wp-block-button__link.btn.ghost {
    background-color: transparent !important;
    border-color: var(--line) !important;
    color: var(--ink) !important;
}
a.btn.ghost:hover, button.btn.ghost:hover,
.ast-button.btn.ghost:hover, .wp-block-button__link.btn.ghost:hover,
a.btn.ghost:focus-visible, button.btn.ghost:focus-visible {
    border-color: var(--ink-faint) !important;
    color: var(--ink) !important;
    background-color: transparent !important;
}

/* ============================================================
   FIX 4: Rede de segurança para fundo/texto em TODAS as páginas
   (home, categoria, busca, página, 404, post). Caso algum container
   do Astra ainda injete branco/texto escuro via CSS dinâmico do
   Customizer, isso garante que o fundo e o texto padrão do Bittux
   sempre prevaleçam em qualquer template do site.
   ============================================================ */
html, body,
#page, .site, .site-content, .ast-container, #primary, #main,
.ast-plain-container, .ast-page-builder-template, .ast-separate-container {
    background-color: var(--bg) !important;
}
body, p, li, .entry-content, .ast-container {
    color: var(--ink) !important;
}
h1, h2, h3, h4, h5, h6 {
    color: var(--ink) !important;
}

/* ============================================================
   FIX DEFINITIVO 3: Garantir header NO TOPO em todas as páginas
   ============================================================ */
.site-header {
    top: 0 !important;
    position: sticky !important;
    margin-top: 0 !important;
}
body, html {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ============================================================
   FIX 4: Cores do hero e terminal (kicker, prompt-line, out)
   ============================================================ */
.kicker,
.hero .kicker {
    color: var(--teal) !important;
}
.term-body .prompt-line,
.term-body .l.prompt-line {
    color: var(--teal) !important;
}
.term-body .out,
.term-body .l.out {
    color: var(--ink-dim) !important;
}
.term-body .l {
    color: var(--ink-dim);
}
.hero h1 {
    color: var(--ink) !important;
}
.hero p.lede {
    color: var(--ink-dim) !important;
}
.coffee-note {
    color: #d9c093 !important;
}

/* ============================================================
   BITTUX — GRID DE ARQUIVO (categorias, tags, busca, autor, data)
   Usado em archive.php, search.php e template-parts/content-card*.php
   ============================================================ */
.archive-header{margin-bottom:32px;}
.archive-header h1{font-size:clamp(1.8rem,4vw,2.5rem);margin:0 0 8px;font-weight:600;letter-spacing:-0.3px;}
.archive-header .section-desc{color:var(--ink-dim);max-width:640px;font-size:14.5px;margin:0;}
.search-term{color:var(--coffee);}

.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;}
.acard{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;height:100%;transition:border-color .15s ease,transform .15s ease;}
.acard:hover{border-color:var(--teal-dim);transform:translateY(-3px);}
.acard .aimg{height:160px;background:linear-gradient(155deg,#24303a 0%,#171b22 60%);overflow:hidden;}
.acard .aimg img{width:100%;height:100%;object-fit:cover;display:block;}
.acard .aimg.empty{display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-family:var(--font-mono);font-size:11.5px;}
.acard .abody{padding:18px 20px;display:flex;flex-direction:column;gap:9px;flex:1;}
.acard .acat{font-size:11px;color:var(--teal);text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-mono);}
.acard h2,.acard h3{font-size:16px;font-weight:600;line-height:1.35;margin:0;}
.acard h2 a,.acard h3 a{color:var(--ink);}
.acard h2 a:hover,.acard h3 a:hover{color:var(--coffee);}
.acard .aexcerpt{font-size:13px;color:var(--ink-dim);flex:1;margin:0;}
.acard .ameta{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--ink-faint);padding-top:10px;border-top:1px solid var(--line-soft);margin-top:auto;font-family:var(--font-mono);}
.acard .ameta a{color:var(--teal);font-weight:500;}
.acard .ameta a:hover{color:var(--coffee);}
.acard.featured-lead{grid-column:span 2;}
.acard.featured-lead .aimg{height:260px;}
.acard.featured-lead h2,.acard.featured-lead h3{font-size:20px;}

.empty-state{color:var(--ink-dim);font-size:14.5px;margin-top:28px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}

/* === BOTÕES (aliases usados fora da home) === */
.btn-primary{background:var(--coffee);color:#241a06;border:1px solid var(--coffee);}
.btn-primary:hover{background:var(--coffee-dim);color:#f5f0ea;}
.btn-outline{border:1px solid var(--teal-dim);color:var(--teal);background:transparent;}
.btn-outline:hover{border-color:var(--teal);color:var(--ink);}

/* === PAGINAÇÃO PADRÃO (archive/search) === */
.nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:36px;font-family:var(--font-mono);}
.nav-links .page-numbers{padding:8px 15px;background:var(--bg-raised);border:1px solid var(--line);border-radius:6px;color:var(--ink-dim);font-size:13px;}
.nav-links .page-numbers.current{background:var(--coffee);color:#241a06;border-color:var(--coffee);}
.nav-links a.page-numbers:hover{border-color:var(--teal-dim);color:var(--ink);}
.nav-links .page-numbers.dots{border:none;background:none;}

/* === BREADCRUMBS (Rank Math) === */
.rank-math-breadcrumbs{margin-bottom:22px;font-size:12.5px;color:var(--ink-faint);display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:var(--font-mono);}
.rank-math-breadcrumbs a{color:var(--teal-dim);transition:color .15s;}
.rank-math-breadcrumbs a:hover{color:var(--coffee);}
.rank-math-breadcrumbs .separator{color:var(--ink-faint);margin:0 2px;}
.rank-math-breadcrumbs .last{color:var(--ink-dim);}

/* === PÁGINAS ESTÁTICAS (page.php) === */
.page-title{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:600;margin:0 0 12px;letter-spacing:-0.3px;}

/* === 404 === */
.error-404{text-align:center;padding:60px 0 20px;}
.error-404 .code{font-family:var(--font-mono);font-size:clamp(3.5rem,10vw,6rem);font-weight:600;color:var(--coffee);line-height:1;margin-bottom:16px;}
.error-404 h1{font-size:clamp(1.6rem,4vw,2.2rem);margin:0 0 14px;}
.error-404 p{color:var(--ink-dim);font-size:15px;max-width:480px;margin:0 auto 30px;}
.error-404 .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.error-404 .term{max-width:420px;margin:0 auto 36px;text-align:left;}

/* === TOGGLE DE BUSCA (mantém a busca visível no topo em qualquer tela) === */
.search-box{transition:width .2s ease;}
.search-toggle{display:none;}

@media (max-width:900px){
  .archive-grid{grid-template-columns:1fr 1fr;}
  .acard.featured-lead{grid-column:span 2;}

  /* Em vez de esconder a busca, ela vira um ícone que expande no clique */
  .search-box{width:auto;padding:8px;gap:0;cursor:pointer;}
  .search-box svg{cursor:pointer;flex-shrink:0;}
  .search-box form{width:0;overflow:hidden;transition:width .2s ease;}
  .search-box input{width:0;padding:0;opacity:0;pointer-events:none;transition:opacity .15s ease;}
  .search-box.is-active{padding:7px 12px;gap:8px;}
  .search-box.is-active form{width:130px;}
  .search-box.is-active input{width:100%;opacity:1;pointer-events:auto;}
}

@media (max-width:560px){
  .archive-grid{grid-template-columns:1fr;}
  .acard.featured-lead{grid-column:span 1;}
  .search-box.is-active form{width:110px;}
}

/* ============================================================
   SINGLE POST LAYOUT (Desktop: 2-column grid)
   ============================================================ */
.wrap-article{max-width:1120px;margin:0 auto;padding:40px 28px 60px;}
.post-header{margin-bottom:32px;}
.card-cat{margin-bottom:12px;display:block;}
.card-cat a, .card-cat span{font-size:12px;color:var(--teal);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.04em;}
.post-header .card-cat{display:block;}
.post-title{font-size:36px;line-height:1.2;font-weight:600;margin:0 0 16px;color:var(--ink);}
.card-meta{display:flex;gap:14px;font-size:13px;color:var(--ink-faint);flex-wrap:wrap;align-items:center;}
.card-meta .author{display:inline-flex;align-items:center;gap:6px;}
.card-meta .author img{width:24px;height:24px;border-radius:50%;}
.post-thumbnail-wrap{margin-bottom:32px;border-radius:var(--radius);overflow:hidden;}
.post-thumbnail{max-width:100%;height:auto;display:block;}
.single-post-content{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start;}
.entry-content{font-size:16px;line-height:1.7;color:var(--ink);max-width:72ch;}
.entry-content h2{font-size:22px;font-weight:600;margin:2rem 0 1rem;color:var(--ink);scroll-margin-top:96px;}
.entry-content h3{font-size:18px;font-weight:600;margin:1.5rem 0 0.75rem;color:var(--ink);scroll-margin-top:96px;}
.entry-content h4{font-size:16px;font-weight:600;margin:1.25rem 0 0.75rem;color:var(--ink);scroll-margin-top:96px;}
.entry-content p{margin:0 0 1.2rem;}
.entry-content ul,ol{padding-left:24px;margin:0 0 1.2rem;}
.entry-content li{margin-bottom:0.5rem;color:var(--ink-dim);}
.entry-content blockquote{border-left:3px solid var(--coffee);padding-left:16px;margin:1.5rem 0;color:var(--ink-dim);font-style:italic;}
.entry-content pre{background:var(--bg-raised-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;overflow-x:auto;font-size:13px;line-height:1.6;}
.entry-content pre code{background:none;padding:0;color:var(--ink);font-family:var(--font-mono);}
.entry-content a{color:var(--teal);text-decoration:underline;text-underline-offset:2px;}
.entry-content a:hover{color:var(--coffee);}
.entry-content img{border-radius:var(--radius);margin:1.5rem 0;max-width:100%;height:auto;}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;}
.entry-content th,.entry-content td{padding:10px 14px;border:1px solid var(--line);font-size:14px;}
.entry-content th{background:var(--bg-raised);font-weight:600;text-align:left;}
.entry-content td{color:var(--ink-dim);}
.post-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);}
.post-tags{display:flex;gap:8px;flex-wrap:wrap;}
.post-tag{font-size:12px;padding:4px 10px;border:1px solid var(--line);border-radius:4px;color:var(--ink-dim);transition:border-color .15s;}
.post-tag:hover{border-color:var(--teal-dim);color:var(--ink);}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.related-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s;height:100%;display:flex;flex-direction:column;}
.related-card:hover{border-color:var(--teal-dim);}
.related-card .rc-body{padding:16px;flex:1;display:flex;flex-direction:column;}
.related-card .rc-cat{font-size:11px;color:var(--teal);text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-mono);margin-bottom:8px;}
.related-card h4{font-size:15px;font-weight:600;margin:0 0 8px;line-height:1.35;}
.related-card h4 a{color:var(--ink);}
.related-card h4 a:hover{color:var(--coffee);}
.related-card .rc-meta{font-size:11px;color:var(--ink-faint);margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft);}

/* TOC aside (desktop) */
.post-toc-aside{position:sticky;top:100px;align-self:start;max-height:calc(100vh - 120px);display:flex;flex-direction:column;}
.post-toc-box{padding:16px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 120px);overflow:hidden;}
.post-toc-head{border-bottom:1px solid var(--line-soft);padding-bottom:12px;margin-bottom:12px;flex-shrink:0;}
.post-toc-head h2{font-size:14px;margin:0;color:var(--ink);}
.post-toc-list{font-size:12px;overflow-y:auto;flex:1;min-height:0;padding-right:4px;}
.post-toc-empty{color:var(--ink-faint);margin:0;}
.toc-link{display:block;padding:4px 0;color:var(--ink-dim);text-decoration:none;}
.toc-link:hover{color:var(--coffee)!important;}
.post-toc-aside .toc-link{font-size:12px;}

/* Author box */
.post-author-box{margin-top:20px;padding:16px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);}
.post-author-head{display:flex;gap:12px;align-items:center;margin-bottom:8px;}
.post-author-head img{width:48px;height:48px;border-radius:50%;}
.post-author-name{font-weight:600;font-size:13px;}
.post-author-bio{font-size:12px;color:var(--ink-dim);margin:0;}

/* Comments */
.comments-section{margin-top:48px;}

/* ============================================================
   RESPONSIVIDADE SINGLE POST (MOBILE)
   ============================================================ */
@media (max-width: 900px) {
  .single-post-content {
    display: block !important;
    max-width: 100% !important;
  }
  .entry-content {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
  .post-thumbnail {
    max-width: 100% !important;
    margin: 0 auto 24px !important;
  }
  .post-header {
    margin: 0 0 24px !important;
  }
  .post-title {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }
  .post-toc-aside {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    width: 100% !important;
    margin-top: 20px !important;
  }
  .post-toc-box {
    max-height: none !important;
    overflow: visible !important;
  }
  .post-toc-list {
    max-height: none !important;
    overflow: visible !important;
  }
  .toc-link {
    display: block !important;
    padding: 6px 0 !important;
    padding-left: 8px !important;
    font-size: 12px !important;
  }
  .related-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

@media (max-width: 600px) {
  .post-title {
    font-size: 24px !important;
    margin-bottom: 16px !important;
  }
  .post-meta {
    font-size: 14px !important;
  }
  .post-header {
    margin-bottom: 20px !important;
  }
  .related-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .entry-content {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
  .toc-link {
    font-size: 11px !important;
    padding-left: 4px !important;
  }
}
