/*
Theme Name: Grupo Kaio César — Blog
Theme URI: https://grupokaiocesar.com.br
Author: Grupo Kaio César
Author URI: https://grupokaiocesar.com.br
Description: Tema de blog responsivo para o Grupo Kaio César — energia solar no Rio Grande do Norte. Conteúdo dinâmico (posts, categorias, artigo em destaque e newsletter) construído para gerar demanda por conteúdo orgânico + SEO. Segue o design system da marca (Amarelo Solar + Azul Petróleo).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
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: gkc-blog
Tags: blog, one-column, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, sticky-post, translation-ready
*/

/* ==========================================================================
   Design tokens — Grupo Kaio César
   ========================================================================== */
:root {
  /* Amarelo Solar */
  --solar-50:#fff7e0; --solar-100:#ffedb8; --solar-200:#fcdc7a; --solar-300:#fcc300;
  --solar-400:#f9bc01; --solar-500:#f8ae01; --solar-600:#e09a00; --solar-700:#b87d00;
  /* Azul Petróleo */
  --petrol-300:#6b97a6; --petrol-400:#4f7d8c; --petrol-500:#3d6678;
  --petrol-600:#345868; --petrol-700:#293c47; --petrol-800:#1f2e37;
  /* Neutros */
  --night:#101820; --white:#fff; --paper:#f7f7f5; --paper-2:#eceef0;
  --line:#dfe3e6; --line-dk:rgba(255,255,255,.12);
  /* Semânticos */
  --color-primary:var(--solar-400); --on-primary:var(--petrol-700);
  --surface-page:var(--paper); --surface-card:var(--white); --surface-fill:var(--paper-2);
  --text-strong:var(--petrol-700); --text-body:#44525b; --text-muted:#7d8a91;
  --text-on-dark:rgba(255,255,255,.92); --text-on-dark-muted:rgba(255,255,255,.66);
  --focus-ring:0 0 0 3px rgba(249,188,1,.45);
  /* Fontes */
  --font-display:"Monument Extended","Archivo","Archivo Expanded",system-ui,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --display-stretch:125%;
  /* Raios */
  --radius-sm:10px; --radius-md:14px; --radius-lg:20px; --radius-xl:28px; --radius-pill:999px;
  /* Sombras */
  --shadow-sm:0 2px 8px rgba(20,30,40,.08);
  --shadow-md:0 8px 24px rgba(20,30,40,.10);
  --shadow-card:0 10px 30px rgba(20,30,40,.10);
  --shadow-hover:0 22px 48px rgba(41,60,71,.16);
  --shadow-solar:0 8px 22px rgba(249,188,1,.32);
  /* Gradientes */
  --grad-solar:linear-gradient(180deg,var(--solar-300) 0%,var(--solar-500) 100%);
  --grad-solar-warm:linear-gradient(135deg,#fcc300 0%,#f8ae01 55%,#f08a00 100%);
  --grad-night:linear-gradient(180deg,#131c25 0%,#0b1118 100%);
  /* Motion */
  --ease-out:cubic-bezier(.22,1,.36,1);
  --container:1200px;
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--surface-page); color:var(--text-body);
  font-family:var(--font-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%; height:auto; display:block;}
a{color:var(--petrol-500); text-decoration:none; transition:color .18s var(--ease-out);}
a:hover{color:var(--petrol-700);}
h1,h2,h3,h4{margin:0; color:var(--text-strong);}
p{margin:0 0 1em;}
button{font-family:inherit;}
:focus-visible{outline:none; box-shadow:var(--focus-ring); border-radius:var(--radius-sm);}
.gkc-container{max-width:var(--container); margin:0 auto; padding-inline:40px;}
.screen-reader-text{position:absolute!important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden;}

.gkc-display{font-family:var(--font-display); font-stretch:var(--display-stretch); font-weight:700; letter-spacing:-.01em; line-height:1.1;}

/* ==========================================================================
   Buttons (brand CTA)
   ========================================================================== */
.gkc-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-body); font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  font-size:15px; padding:14px 24px; border:none; border-radius:var(--radius-sm);
  cursor:pointer; white-space:nowrap;
  transition:transform .14s var(--ease-out), box-shadow .22s var(--ease-out), background .22s var(--ease-out);
}
.gkc-btn:active{transform:translateY(1px) scale(.99);}
.gkc-btn--sm{padding:10px 16px; font-size:13px;}
.gkc-btn--lg{padding:18px 34px; font-size:17px;}
.gkc-btn--full{width:100%;}
.gkc-btn--primary{background:var(--grad-solar); color:var(--on-primary); box-shadow:var(--shadow-solar);}
.gkc-btn--primary:hover{background:var(--grad-solar-warm); box-shadow:0 10px 26px rgba(249,188,1,.42); color:var(--on-primary);}
.gkc-btn--dark{background:var(--petrol-700); color:#fff; box-shadow:var(--shadow-sm);}
.gkc-btn--dark:hover{background:var(--petrol-600); color:#fff;}
.gkc-btn--secondary{background:transparent; color:var(--text-strong); box-shadow:inset 0 0 0 1.5px var(--petrol-500);}
.gkc-btn--secondary:hover{background:var(--petrol-500); color:#fff;}
.gkc-wa-chip{display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:var(--radius-pill); background:rgba(41,60,71,.14); flex:none;}
.gkc-btn--dark .gkc-wa-chip,.gkc-btn--secondary .gkc-wa-chip{background:#25D366;}

/* ==========================================================================
   Badges & chips
   ========================================================================== */
.gkc-badge{
  display:inline-flex; align-items:center; gap:7px; font-family:var(--font-body);
  font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  padding:8px 16px; border-radius:var(--radius-pill); line-height:1; white-space:nowrap;
}
.gkc-badge--outline{background:transparent; color:var(--text-strong); box-shadow:inset 0 0 0 1.5px var(--solar-400);}
.gkc-eyebrow{font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted);}

/* ==========================================================================
   Header / nav
   ========================================================================== */
.gkc-header{position:sticky; top:0; z-index:50; background:rgba(247,247,245,.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line);}
.gkc-header__inner{display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:16px;}
.gkc-logo img,.gkc-logo{display:flex; align-items:center;}
.gkc-logo img{height:34px; width:auto;}
.gkc-nav{display:flex; align-items:center; gap:30px;}
.gkc-nav a{color:var(--text-body); font-size:15px; font-weight:600;}
.gkc-nav a:hover,.gkc-nav .current-menu-item>a,.gkc-nav .current_page_item>a{color:var(--petrol-700); font-weight:700;}
.gkc-nav ul{list-style:none; margin:0; padding:0; display:flex; gap:30px;}
.gkc-header__cta{flex:none;}
.gkc-burger{display:none; background:none; border:none; cursor:pointer; padding:8px; color:var(--petrol-700);}

/* ==========================================================================
   Hero
   ========================================================================== */
.gkc-hero{padding-block:72px 40px;}
.gkc-hero__eyebrows{display:flex; align-items:center; gap:12px; margin-bottom:22px; flex-wrap:wrap;}
.gkc-hero h1{font-family:var(--font-display); font-stretch:125%; font-weight:700; font-size:clamp(38px,5.4vw,68px); line-height:1.02; letter-spacing:-.02em; color:var(--text-strong); margin:0 0 20px; max-width:16ch; text-wrap:balance;}
.gkc-hero__lead{font-size:19px; line-height:1.6; color:var(--text-body); max-width:60ch; margin:0 0 36px;}

/* Search */
.gkc-search{position:relative; max-width:480px; margin-bottom:30px;}
.gkc-search svg{position:absolute; left:18px; top:50%; transform:translateY(-50%); pointer-events:none;}
.gkc-search input[type=search],.gkc-search input[type=text]{
  width:100%; padding:15px 18px 15px 48px; font-family:var(--font-body); font-size:15px;
  color:var(--text-strong); background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-sm); box-shadow:var(--shadow-sm);
  transition:box-shadow .18s var(--ease-out), border-color .18s var(--ease-out);
}
.gkc-search input:focus{outline:none; border-color:var(--solar-400); box-shadow:0 0 0 3px rgba(249,188,1,.35), var(--shadow-card);}
.gkc-search button{position:absolute; right:6px; top:50%; transform:translateY(-50%);}

/* Category chips */
.gkc-chips{display:flex; flex-wrap:wrap; gap:10px;}
.gkc-chip{
  cursor:pointer; font-family:var(--font-body); font-weight:600; font-size:13.5px;
  padding:9px 17px; border-radius:var(--radius-pill); border:1.5px solid var(--line);
  background:var(--white); color:var(--text-body); transition:all .18s var(--ease-out); text-decoration:none;
}
.gkc-chip:hover{border-color:var(--solar-400); color:var(--petrol-700);}
.gkc-chip--active{background:var(--solar-400); border-color:var(--solar-400); color:var(--on-primary);}

/* ==========================================================================
   Cards & grid
   ========================================================================== */
.gkc-section{padding-block:20px;}
.gkc-section__head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:26px;}
.gkc-section__head h2{font-family:var(--font-display); font-stretch:125%; font-weight:700; font-size:26px; letter-spacing:-.01em; color:var(--text-strong);}
.gkc-section__count{font-size:14px; font-weight:600; color:var(--text-muted);}

.gkc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}

.gkc-card{display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out);}
.gkc-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-hover);}
.gkc-card__thumb{position:relative; height:200px; overflow:hidden;}
.gkc-card__thumb img,.gkc-card__thumb .gkc-thumb-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease-out);}
.gkc-card:hover .gkc-card__thumb img,.gkc-card:hover .gkc-card__thumb .gkc-thumb-bg{transform:scale(1.06);}
.gkc-thumb-bg{display:flex; align-items:center; justify-content:center;}
.gkc-thumb-bg--0{background:linear-gradient(135deg,#3d6678 0%,#293c47 100%);}
.gkc-thumb-bg--1{background:linear-gradient(135deg,#4f7d8c 0%,#345868 100%);}
.gkc-thumb-bg--2{background:linear-gradient(135deg,#345868 0%,#1f2e37 100%);}
.gkc-thumb-bg img{position:static; width:68px; height:68px; object-fit:contain; opacity:.9;}
.gkc-card__cat{position:absolute; top:16px; left:16px; display:inline-flex; align-items:center; padding:6px 13px; background:rgba(255,255,255,.92); color:var(--petrol-700); font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; border-radius:var(--radius-pill); box-shadow:var(--shadow-sm);}
.gkc-card__body{padding:24px 24px 26px; display:flex; flex-direction:column; gap:12px; flex:1;}
.gkc-card__body h3{font-family:var(--font-display); font-stretch:125%; font-weight:700; font-size:20px; line-height:1.18; letter-spacing:-.01em; color:var(--text-strong);}
.gkc-card__body h3 a{color:inherit;}
.gkc-card__body h3 a:hover{color:var(--petrol-500);}
.gkc-card__excerpt{font-size:14.5px; line-height:1.6; color:var(--text-body); flex:1; margin:0;}
.gkc-meta{display:flex; align-items:center; gap:12px; font-size:13px; color:var(--text-muted); font-weight:600;}
.gkc-meta .dot{width:4px; height:4px; border-radius:50%; background:var(--text-muted);}

/* Featured */
.gkc-featured{display:grid; grid-template-columns:1.15fr 1fr; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-card); transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out);}
.gkc-featured:hover{transform:translateY(-4px); box-shadow:var(--shadow-hover);}
.gkc-featured__media{position:relative; min-height:420px; overflow:hidden;}
.gkc-featured__media img,.gkc-featured__media .gkc-thumb-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.gkc-featured__tag{position:absolute; top:22px; left:22px; display:inline-flex; align-items:center; gap:7px; padding:8px 15px; background:var(--solar-400); color:var(--on-primary); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-radius:var(--radius-pill);}
.gkc-featured__body{padding:48px 46px; display:flex; flex-direction:column; justify-content:center; gap:18px;}
.gkc-featured__body .cat{font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--petrol-500);}
.gkc-featured__body h2{font-family:var(--font-display); font-stretch:125%; font-weight:700; font-size:clamp(26px,2.6vw,34px); line-height:1.1; letter-spacing:-.01em; color:var(--text-strong);}
.gkc-featured__body h2 a{color:inherit;}
.gkc-featured__excerpt{font-size:16px; line-height:1.65; color:var(--text-body); margin:0;}
.gkc-readmore{display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--petrol-700);}
.gkc-readmore:hover{color:var(--solar-600); gap:12px;}
.gkc-readmore svg{transition:transform .2s var(--ease-out);}

/* ==========================================================================
   Mid CTA block
   ========================================================================== */
.gkc-cta{background:var(--grad-solar-warm); border-radius:var(--radius-xl); padding:56px; display:grid; grid-template-columns:1.4fr auto; align-items:center; gap:40px; box-shadow:var(--shadow-solar); margin-block:44px;}
.gkc-cta .eyebrow{font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(41,60,71,.7);}
.gkc-cta h2{font-family:var(--font-display); font-stretch:125%; font-weight:700; font-size:clamp(26px,2.6vw,34px); line-height:1.08; letter-spacing:-.01em; color:var(--petrol-700); margin:12px 0 10px; max-width:22ch;}
.gkc-cta p{font-size:16px; line-height:1.6; color:rgba(41,60,71,.82); margin:0; max-width:46ch;}

/* ==========================================================================
   Newsletter
   ========================================================================== */
.gkc-newsletter{background:var(--grad-night);}
.gkc-newsletter__inner{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding-block:72px;}
.gkc-newsletter .eyebrow{font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--solar-400);}
.gkc-newsletter h2{font-family:var(--font-display); font-stretch:125%; font-weight:700; font-size:clamp(26px,2.6vw,32px); line-height:1.1; letter-spacing:-.01em; color:#fff; margin:12px 0; max-width:20ch;}
.gkc-newsletter p.lead{font-size:16px; line-height:1.6; color:var(--text-on-dark-muted); margin:0; max-width:46ch;}
.gkc-newsletter form{display:flex; flex-direction:column; gap:14px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg); padding:28px; backdrop-filter:blur(12px);}
.gkc-newsletter input{width:100%; padding:14px 16px; font-family:var(--font-body); font-size:15px; color:#fff; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-sm);}
.gkc-newsletter input::placeholder{color:rgba(255,255,255,.5);}
.gkc-newsletter input:focus{outline:none; border-color:var(--solar-400); box-shadow:0 0 0 3px rgba(249,188,1,.28);}
.gkc-newsletter__msg{font-size:12.5px; color:var(--text-on-dark-muted); text-align:center; min-height:16px;}
.gkc-newsletter__msg.is-success{color:var(--solar-300);}
.gkc-newsletter__msg.is-error{color:#ffb4a8;}

/* ==========================================================================
   Pagination
   ========================================================================== */
.gkc-pagination{display:flex; justify-content:center; gap:8px; margin-block:48px; flex-wrap:wrap;}
.gkc-pagination .page-numbers{display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--white); color:var(--text-body); font-weight:600; font-size:15px;}
.gkc-pagination .page-numbers.current{background:var(--solar-400); border-color:var(--solar-400); color:var(--on-primary);}
.gkc-pagination .page-numbers:hover:not(.current){border-color:var(--solar-400); color:var(--petrol-700);}

/* ==========================================================================
   Single article
   ========================================================================== */
.gkc-article{padding-block:56px;}
.gkc-breadcrumbs{font-size:13px; font-weight:600; color:var(--text-muted); margin-bottom:20px; display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
.gkc-breadcrumbs a{color:var(--petrol-500);}
.gkc-breadcrumbs .sep{color:var(--line);}
.gkc-article__header{max-width:820px; margin:0 auto 36px;}
.gkc-article__header h1{font-family:var(--font-display); font-stretch:125%; font-weight:700; font-size:clamp(30px,4vw,48px); line-height:1.08; letter-spacing:-.02em; color:var(--text-strong); margin:14px 0 18px; text-wrap:balance;}
.gkc-article__hero{max-width:1000px; margin:0 auto 40px; border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-card);}
.gkc-article__hero img{width:100%; height:auto;}
.gkc-article__content{max-width:760px; margin:0 auto; font-size:18px; line-height:1.75; color:var(--text-body);}
.gkc-article__content h2{font-family:var(--font-display); font-stretch:125%; font-size:28px; margin:40px 0 14px; color:var(--text-strong);}
.gkc-article__content h3{font-family:var(--font-display); font-stretch:125%; font-size:22px; margin:32px 0 10px; color:var(--text-strong);}
.gkc-article__content img{border-radius:var(--radius-md); margin:24px 0;}
.gkc-article__content blockquote{border-left:4px solid var(--solar-400); background:var(--surface-fill); margin:28px 0; padding:20px 24px; border-radius:0 var(--radius-md) var(--radius-md) 0; font-size:19px; color:var(--text-strong);}
.gkc-article__content a{text-decoration:underline; text-underline-offset:3px;}
.gkc-tags{max-width:760px; margin:36px auto 0; display:flex; flex-wrap:wrap; gap:8px;}
.gkc-tags a{font-size:13px; font-weight:600; padding:6px 14px; border-radius:var(--radius-pill); background:var(--surface-fill); color:var(--text-strong);}
.gkc-tags a:hover{background:var(--solar-400); color:var(--on-primary);}

/* Table of contents */
.gkc-toc{background:var(--surface-fill); border:1px solid var(--line); border-radius:var(--radius-lg); padding:24px 28px; margin:0 auto 32px; max-width:760px;}
.gkc-toc__title{font-family:var(--font-display); font-stretch:125%; font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-strong); margin-bottom:12px;}
.gkc-toc ol{margin:0; padding-left:20px; color:var(--text-body);}
.gkc-toc li{margin-bottom:6px;}
.gkc-toc a{color:var(--petrol-500); font-weight:500;}

/* Related */
.gkc-related{background:var(--surface-fill);}
.gkc-related__inner{padding-block:64px;}

/* ==========================================================================
   Footer
   ========================================================================== */
.gkc-footer{background:var(--night); border-top:1px solid rgba(255,255,255,.08);}
.gkc-footer__inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding-block:48px;}
.gkc-footer img{height:32px; width:auto;}
.gkc-footer__note{font-size:14px; color:var(--text-on-dark-muted); max-width:60ch;}
.gkc-footer__social{display:flex; gap:12px;}
.gkc-footer__social a{width:40px; height:40px; border-radius:var(--radius-pill); background:var(--solar-400); color:var(--petrol-700); display:inline-flex; align-items:center; justify-content:center;}

/* ==========================================================================
   Empty / not found
   ========================================================================== */
.gkc-empty{text-align:center; padding:80px 20px; color:var(--text-muted);}
.gkc-empty h2{font-family:var(--font-display); font-stretch:125%; font-size:24px; color:var(--text-strong); margin-bottom:8px;}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1024px){
  .gkc-grid{grid-template-columns:repeat(2,1fr);}
  .gkc-featured{grid-template-columns:1fr;}
  .gkc-featured__media{min-height:280px;}
  .gkc-newsletter__inner{grid-template-columns:1fr; gap:32px;}
}
@media (max-width:768px){
  .gkc-container{padding-inline:22px;}
  .gkc-nav{position:fixed; inset:0 0 0 auto; width:min(78vw,320px); flex-direction:column; align-items:flex-start; gap:6px; background:var(--white); box-shadow:var(--shadow-lg); padding:88px 28px 28px; transform:translateX(100%); transition:transform .3s var(--ease-out); z-index:60;}
  .gkc-nav ul{flex-direction:column; gap:6px; width:100%;}
  .gkc-nav a{display:block; padding:12px 0; width:100%; font-size:18px; border-bottom:1px solid var(--line);}
  body.gkc-nav-open .gkc-nav{transform:translateX(0);}
  body.gkc-nav-open::after{content:""; position:fixed; inset:0; background:rgba(16,24,32,.45); z-index:55;}
  .gkc-burger{display:inline-flex;}
  .gkc-header__cta{display:none;}
  .gkc-hero{padding-block:48px 32px;}
  .gkc-grid{grid-template-columns:1fr;}
  .gkc-cta{grid-template-columns:1fr; padding:36px 28px; text-align:left;}
  .gkc-featured__body{padding:32px 26px;}
  .gkc-article__content{font-size:16.5px;}
}
