/*
Theme Name: Intechdesk
Theme URI: https://intechdesk.com
Author: Intechdesk
Description: Tema WordPress fiel ao design editorial do Intechdesk — boletim diário de telecom, infraestrutura, IA e mercados. Ticker ao vivo, dispatch-stamp, story-grid, desk-board por editoria, dark mode. Totalmente responsivo e editável via WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: intechdesk
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --paper:#F1EEE3;
  --paper-2:#E8E3D3;
  --ink:#16202A;
  --ink-soft:#3D4A55;
  --steel:#5A6B78;
  --teal:#0B6E6E;
  --teal-deep:#074E4E;
  --amber:#E29A32;
  --alert:#B8402A;
  --market:#2C4A6E;
  --band-bg:#16202A;
  --band-text:#F1EEE3;
  --band-text-soft:rgba(241,238,227,0.72);
  --band-border:rgba(241,238,227,0.35);
  --band-placeholder:rgba(241,238,227,0.45);
  --line: rgba(22,32,42,0.14);
  --line-strong: rgba(22,32,42,0.28);
}
html[data-theme="dark"]{
  --paper:#14181D;
  --paper-2:#1B2027;
  --ink:#E9E6DC;
  --ink-soft:#B8C0C6;
  --steel:#8894A0;
  --teal:#3FBFBF;
  --teal-deep:#5FD1C6;
  --amber:#F0AE4D;
  --alert:#D9694F;
  --market:#6F94BF;
  --line: rgba(233,230,220,0.12);
  --line-strong: rgba(233,230,220,0.24);
}
html{transition:none;}
body{transition:background 0.2s ease, color 0.2s ease;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.mono{font-family:'IBM Plex Mono', monospace;}
.display{font-family:'Fraunces', serif;}

/* ===== Utility / wire ticker bar ===== */
.utility-bar{
  background:var(--ink);
  color:var(--paper);
  font-family:'IBM Plex Mono', monospace;
  font-size:11.5px;
  letter-spacing:0.04em;
  display:flex;
  align-items:center;
  height:34px;
  overflow:hidden;
  border-bottom:1px solid rgba(241,238,227,0.15);
}
.utility-bar .tag{
  flex:0 0 auto;
  padding:0 14px;
  height:100%;
  display:flex;
  align-items:center;
  background:var(--alert);
  color:var(--paper);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.08em;
}
.ticker-viewport{
  flex:1 1 auto;
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  height:100%;
}
.ticker-track{
  display:inline-flex;
  align-items:center;
  height:100%;
  animation:scroll-left 42s linear infinite;
  padding-left:100%;
}
.ticker-track span{
  margin-right:48px;
  opacity:0.92;
}
.ticker-track span::before{
  content:"//";
  color:var(--amber);
  margin-right:10px;
}
@keyframes scroll-left{
  from{transform:translateX(0);}
  to{transform:translateX(-100%);}
}
.utility-clock{
  flex:0 0 auto;
  padding:0 16px;
  border-left:1px solid rgba(241,238,227,0.2);
  height:100%;
  display:flex;
  align-items:center;
  gap:8px;
}
.dot-live{
  width:6px;height:6px;border-radius:50%;
  background:#6FCF97;
  box-shadow:0 0 0 0 rgba(111,207,151,0.6);
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(111,207,151,0.5);}
  70%{box-shadow:0 0 0 6px rgba(111,207,151,0);}
  100%{box-shadow:0 0 0 0 rgba(111,207,151,0);}
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{animation:none;}
  .dot-live{animation:none;}
}

/* ===== Header ===== */
header.masthead{
  max-width:1240px;
  margin:0 auto;
  padding:26px 32px 22px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  border-bottom:2px solid var(--ink);
  flex-wrap:wrap;
  gap:16px;
}
.wordmark{
  display:flex;
  align-items:center;
  gap:14px;
  transition:opacity .15s ease;
}
.wordmark:hover{opacity:.75;}
.wordmark .logo-img{display:block;height:70px;width:auto;}
.footer-bottom .fmark{display:inline-flex;align-items:center;transition:opacity .15s ease;}
.footer-bottom .fmark:hover{opacity:.75;}
.footer-bottom .fmark .logo-img{display:block;height:44px;width:auto;}
.wordmark .seal{flex:0 0 auto;width:62px;height:62px;}
.wordmark .mark-group{display:flex;flex-direction:column;gap:3px;}
.wordmark .name-row{display:flex;align-items:baseline;gap:12px;}
.wordmark .tagline{
  font-family:'IBM Plex Mono', monospace;font-size:9.5px;letter-spacing:0.05em;
  color:var(--steel);text-transform:uppercase;white-space:nowrap;display:inline-block;
}
.wordmark .mark{font-family:'Fraunces', serif;font-weight:700;font-size:32px;letter-spacing:-0.01em;}
.wordmark .mark .desk{color:var(--teal-deep);font-style:italic;font-weight:500;}
.wordmark .est{
  font-family:'IBM Plex Mono', monospace;font-size:10.5px;color:var(--steel);
  letter-spacing:0.06em;border:1px solid var(--line-strong);padding:3px 7px;border-radius:2px;align-self:center;
}
nav.primary-nav{display:flex;gap:28px;font-size:13.5px;font-weight:600;letter-spacing:0.02em;padding-bottom:4px;}
nav.primary-nav a{text-decoration:none;color:var(--ink-soft);position:relative;padding-bottom:4px;}
nav.primary-nav a:hover{color:var(--teal-deep);}
nav.primary-nav li{list-style:none;}
nav.primary-nav li.current-menu-item > a,
nav.primary-nav li.current_page_item > a,
nav.primary-nav li.current-menu-parent > a,
nav.primary-nav li.current-menu-ancestor > a,
nav.primary-nav li.current-category-ancestor > a{color:var(--ink);}
nav.primary-nav li.current-menu-item > a::after,
nav.primary-nav li.current_page_item > a::after,
nav.primary-nav li.current-menu-parent > a::after,
nav.primary-nav li.current-menu-ancestor > a::after,
nav.primary-nav li.current-category-ancestor > a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--amber);
}
@media (max-width:760px){ nav.primary-nav{display:none;} }

.header-tools{display:flex;align-items:center;gap:18px;padding-bottom:4px;}
.lang-switch{display:flex;align-items:center;font-family:'IBM Plex Mono', monospace;font-size:12px;letter-spacing:0.04em;color:var(--steel);text-transform:uppercase;list-style:none;margin:0;padding:0;gap:6px;}
.lang-switch li{list-style:none;display:flex;align-items:center;}
.lang-switch li:not(:last-child)::after{content:"|";color:var(--line-strong);margin-left:6px;}
.lang-switch a{text-decoration:none;color:var(--steel);padding:2px 4px;transition:color .15s ease;}
.lang-switch a:hover{color:var(--ink);}
.lang-switch a.active{color:var(--ink);font-weight:600;}
.lang-switch a.active:hover{color:var(--ink);}
.lang-switch .sep{color:var(--line-strong);margin:0 2px;}
.theme-toggle{
  background:none;border:1px solid var(--line-strong);border-radius:2px;cursor:pointer;
  color:var(--ink);padding:4px 8px;font-family:'IBM Plex Mono', monospace;font-size:11px;
}
@media (max-width:480px){
  header.masthead{padding:18px 20px 16px;}
  .wordmark .mark{font-size:24px;}
  .wordmark .logo-img{height:52px;}
}

/* ===== Hero ===== */
.hero-wrap{
  max-width:1240px;margin:0 auto;padding:52px 32px 44px;
  display:grid;grid-template-columns:1.35fr 0.9fr;gap:56px;align-items:start;
}
.dispatch-stamp{
  font-family:'IBM Plex Mono', monospace;font-size:11px;color:var(--teal-deep);
  letter-spacing:0.08em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:18px;
}
.dispatch-stamp .no{background:var(--ink);color:var(--paper);padding:3px 8px;border-radius:2px;}
.hero-headline{
  font-family:'Fraunces', serif;font-weight:600;font-size:clamp(34px, 4.6vw, 58px);
  line-height:1.03;letter-spacing:-0.015em;margin:0 0 20px;
}
.hero-headline em{font-style:italic;font-weight:500;color:var(--teal-deep);}
.hero-deck{font-size:17px;line-height:1.6;color:var(--ink-soft);max-width:52ch;margin:0 0 30px;}
.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.btn-primary{
  background:var(--ink);color:var(--paper);border:none;padding:14px 26px;
  font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14px;letter-spacing:0.01em;
  border-radius:3px;cursor:pointer;transition:background .15s ease;
}
.btn-primary:hover{background:var(--teal-deep) !important;}
.btn-ghost{font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px;transition:color .15s ease, border-color .15s ease;}
.btn-ghost:hover{color:var(--teal-deep);border-color:var(--teal-deep);}

.hero-side{border-left:1px solid var(--line-strong);padding-left:32px;}
.side-label{
  font-family:'IBM Plex Mono', monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--steel);margin-bottom:16px;display:flex;align-items:center;gap:8px;
}
.side-item{padding:14px 0;border-bottom:1px solid var(--line);}
.side-item:last-child{border-bottom:none;}
.side-item .tag{font-family:'IBM Plex Mono', monospace;font-size:10.5px;color:var(--teal-deep);text-transform:uppercase;letter-spacing:0.05em;}
.side-item h4{font-family:'Fraunces', serif;font-weight:600;font-size:16.5px;margin:6px 0 4px;line-height:1.3;}
.side-item .meta{font-family:'IBM Plex Mono', monospace;font-size:10.5px;color:var(--steel);}
@media (max-width:980px){
  .hero-wrap{grid-template-columns:1fr;padding:40px 20px 32px;}
  .hero-side{border-left:none;padding-left:0;border-top:1px solid var(--line-strong);padding-top:24px;}
}

/* ===== Section framing ===== */
.section{max-width:1240px;margin:0 auto;padding:48px 32px;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:30px;}
.section-head h2{font-family:'Fraunces', serif;font-weight:600;font-size:26px;margin:0;display:flex;align-items:center;gap:12px;}
.section-head h2 .idx{font-family:'IBM Plex Mono', monospace;font-size:13px;color:var(--teal-deep);font-weight:500;}
.section-head .see-all{font-family:'IBM Plex Mono', monospace;font-size:11.5px;letter-spacing:0.05em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);transition:color .15s ease;}
.section-head .see-all:hover{color:var(--teal-deep);}
@media (max-width:480px){ .section{padding:36px 20px;} }

/* ===== Story grid ===== */
.story-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);}
.story-card{
  border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);
  padding:26px 24px;display:flex;flex-direction:column;background:var(--paper);transition:background 0.15s ease;
}
.story-card:hover{background:var(--paper-2);}
.story-thumb{
  display:block;aspect-ratio:16/9;overflow:hidden;margin:-26px -24px 18px;
  background:var(--paper-2);
}
.story-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease;}
.story-card:hover .story-thumb img{transform:scale(1.03);}
.story-card .stamp{
  font-family:'IBM Plex Mono', monospace;font-size:10.5px;color:var(--steel);
  letter-spacing:0.04em;display:flex;justify-content:space-between;margin-bottom:14px;
}
.story-card .stamp .cat{color:var(--teal-deep);font-weight:600;text-transform:uppercase;}
.story-card h3{font-family:'Fraunces', serif;font-weight:600;font-size:19px;line-height:1.28;margin:0 0 10px;}
.story-card p{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0;flex-grow:1;}
.story-card .read{
  margin-top:16px;font-family:'IBM Plex Mono', monospace;font-size:11px;color:var(--ink);
  text-decoration:none;display:inline-flex;align-items:center;gap:6px;
}
.story-card .read::after{content:"→";transition:transform 0.15s ease;}
.story-card:hover .read::after{transform:translateX(3px);}
@media (max-width:980px){ .story-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .story-grid{grid-template-columns:1fr;} }

/* category colors por editoria */
.cat-telecom{color:var(--teal-deep) !important;}
.cat-ia-cloud{color:var(--market) !important;}
.cat-infraestrutura{color:var(--amber) !important;}
.cat-politica{color:var(--alert) !important;}
.cat-mercados{color:var(--market) !important;}

/* ===== Desk board (topics) ===== */
.desk-board{display:flex;flex-wrap:wrap;gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);}
.board-col{background:var(--paper);padding:22px 20px 24px;flex:1 1 220px;}
.board-col .head{display:flex;align-items:center;gap:8px;margin-bottom:16px;}
.board-col .head .swatch{width:9px;height:9px;border-radius:1px;}
.board-col .head h4{font-family:'IBM Plex Mono', monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;margin:0;color:var(--ink);}
.board-col ul{list-style:none;margin:0;padding:0;}
.board-col li{font-size:13.5px;line-height:1.5;padding:9px 0;border-bottom:1px dashed var(--line);color:var(--ink-soft);}
.board-col li:last-child{border-bottom:none;}
.board-col li a:hover{color:var(--ink);}

/* ===== Subscribe strip ===== */
.subscribe{background:var(--band-bg);color:var(--band-text);padding:56px 32px;}
.subscribe-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;}
.subscribe h3{font-family:'Fraunces', serif;font-weight:600;font-size:28px;margin:0 0 10px;max-width:20ch;}
.subscribe p{color:var(--band-text-soft);font-size:14.5px;margin:0;max-width:48ch;}
.subscribe-form{display:flex;gap:0;border:1px solid var(--band-border);border-radius:3px;overflow:hidden;min-width:340px;}
.subscribe-form input{flex:1;background:transparent;border:none;padding:14px 16px;color:var(--band-text);font-family:'IBM Plex Mono', monospace;font-size:13px;}
.subscribe-form input::placeholder{color:var(--band-placeholder);}
.subscribe-form input:focus{outline:none;}
.subscribe-form button{background:var(--amber);color:var(--band-bg);border:none;padding:0 20px;font-weight:700;font-size:13px;font-family:'IBM Plex Sans',sans-serif;cursor:pointer;}
.subscribe-form button:hover{background:#f0ae4d;}
@media (max-width:980px){ .subscribe-inner{grid-template-columns:1fr;} }
@media (max-width:620px){ .subscribe-form{min-width:0;width:100%;} }

/* ===== Footer / bureau list ===== */
footer.site-footer{max-width:1240px;margin:0 auto;padding:48px 32px 40px;}
.bureau-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:20px;padding-bottom:32px;border-bottom:1px solid var(--line-strong);}
.bureau-grid div{font-family:'IBM Plex Mono', monospace;font-size:11px;color:var(--steel);line-height:1.7;}
.bureau-grid div b{display:block;color:var(--ink);font-size:12px;margin-bottom:4px;letter-spacing:0.03em;}
.bureau-grid a{color:var(--steel);text-decoration:none;transition:color .15s ease;}
.bureau-grid a:hover{color:var(--teal-deep);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;flex-wrap:wrap;gap:12px;}
.footer-bottom .fmark{font-family:'Fraunces', serif;font-weight:700;font-size:17px;}
.footer-bottom .fmark .desk{color:var(--teal-deep);font-style:italic;font-weight:500;}
.footer-links{display:flex;gap:22px;font-size:12px;color:var(--steel);flex-wrap:wrap;}
.footer-links a{text-decoration:none;}
.footer-links a:hover{color:var(--ink);}
@media (max-width:980px){ .bureau-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:620px){ .bureau-grid{grid-template-columns:repeat(2,1fr);} }

/* ===== Article (single) ===== */
.article-wrap{max-width:760px;margin:0 auto;padding:56px 32px 80px;}
.article-wrap .cat-tag{display:block;margin-bottom:16px;}
.article-wrap h1{font-size:34px;line-height:1.2;margin-bottom:16px;}
.article-meta{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--steel);margin-bottom:32px;}
.article-thumb{aspect-ratio:16/9;overflow:hidden;border-radius:3px;margin-bottom:32px;background:var(--paper-2);}
.article-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.article-body{font-size:17px;line-height:1.75;}
.article-body p{margin-bottom:20px;}
.article-body h2,.article-body h3{margin:32px 0 14px;}

/* ===== Navegação anterior/próximo dentro do post ===== */
.article-nav{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;
  margin-top:48px;padding-top:28px;border-top:1px solid var(--line-strong);
}
.article-nav-link{
  display:flex;flex-direction:column;gap:6px;padding:16px 18px;
  border:1px solid var(--line-strong);border-radius:3px;transition:border-color .15s ease,background .15s ease;
}
.article-nav-link:hover{border-color:var(--teal-deep);background:var(--paper-2);}
.article-nav-link.next{grid-column:2;text-align:right;align-items:flex-end;}
.article-nav-link .dir{font-family:'IBM Plex Mono', monospace;font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel);}
.article-nav-link .title{font-family:'Fraunces', serif;font-size:14.5px;line-height:1.35;color:var(--ink);}
@media (max-width:620px){
  .article-nav{grid-template-columns:1fr;}
  .article-nav-link.next{grid-column:1;text-align:left;align-items:flex-start;}
}

/* ===== Páginas institucionais (legal / sobre / contato / transparência) ===== */
.legal-wrap{max-width:820px;margin:0 auto;padding:52px 32px 90px;}
.legal-title{
  font-family:'Fraunces', serif;font-weight:600;
  font-size:clamp(28px, 4vw, 44px);line-height:1.08;letter-spacing:-0.015em;
  margin:18px 0 8px;
}
.legal-meta{
  font-family:'IBM Plex Mono', monospace;font-size:11px;letter-spacing:0.06em;
  color:var(--steel);text-transform:uppercase;
}
.legal-lede{
  font-size:16.5px;line-height:1.7;color:var(--ink-soft);max-width:62ch;
  margin:22px 0 40px;padding-bottom:32px;border-bottom:1px solid var(--line-strong);
}
.legal-body h2{
  font-family:'Fraunces', serif;font-weight:600;font-size:20px;letter-spacing:-0.005em;
  margin:40px 0 12px;display:flex;align-items:baseline;gap:10px;
}
.legal-body h2 .no{
  font-family:'IBM Plex Mono', monospace;font-size:11px;color:var(--teal-deep);
  letter-spacing:0.05em;border:1px solid var(--line-strong);padding:2px 6px;border-radius:2px;
}
.legal-body p{font-size:15px;line-height:1.75;color:var(--ink-soft);margin:0 0 16px;}
.legal-body ul{margin:0 0 16px;padding-left:20px;}
.legal-body li{font-size:15px;line-height:1.75;color:var(--ink-soft);margin-bottom:8px;}
.legal-body a{color:var(--teal-deep);text-decoration:underline;text-underline-offset:2px;}
.legal-body strong{color:var(--ink);}
.legal-callout{
  background:var(--paper-2);border-left:3px solid var(--teal-deep);
  padding:16px 20px;margin:24px 0;font-size:14.5px;line-height:1.7;color:var(--ink-soft);
}
.legal-callout b{color:var(--ink);}
.legal-form{display:flex;flex-direction:column;gap:16px;margin-top:8px;max-width:480px;}
.legal-form label{
  font-family:'IBM Plex Mono', monospace;font-size:10.5px;text-transform:uppercase;
  letter-spacing:0.06em;color:var(--steel);margin-bottom:6px;display:block;
}
.legal-form input, .legal-form textarea{
  width:100%;background:transparent;border:1px solid var(--line-strong);border-radius:3px;
  font-family:'IBM Plex Sans', sans-serif;font-size:14px;color:var(--ink);padding:10px 12px;
}
.legal-form textarea{min-height:110px;resize:vertical;}
.legal-form input:focus, .legal-form textarea:focus{outline:none;border-color:var(--teal-deep);}
@media (max-width:620px){ .legal-wrap{padding:36px 20px 60px;} }

/* ===== Cookie banner ===== */
.cookie-banner{
  position:fixed;left:20px;bottom:20px;z-index:70;width:360px;max-width:calc(100vw - 40px);
  transform:translateY(24px) scale(.97);opacity:0;transition:transform .35s ease,opacity .35s ease;pointer-events:none;
}
.cookie-banner.is-visible{transform:translateY(0) scale(1);opacity:1;pointer-events:auto;}
.cookie-banner-inner{background:var(--paper);border:1px solid var(--ink);border-radius:3px;padding:20px;box-shadow:0 24px 48px -16px rgba(22,32,42,.35);}
.cookie-banner-text{font-family:'IBM Plex Sans',sans-serif;font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:14px;}
.cookie-banner-text a{color:var(--teal-deep);text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;}
.cookie-actions button{
  flex:1;text-align:center;font-size:11.5px;padding:9px;cursor:pointer;border-radius:2px;
  font-family:'IBM Plex Mono', monospace;border:1px solid var(--ink);background:transparent;color:var(--ink);
}
.cookie-actions button.accept{background:var(--ink);color:var(--paper);}
@media (max-width:560px){ .cookie-banner{left:12px;right:12px;bottom:12px;width:auto;} }
