/* ============================================================
   CAC — Blog | Layout fiel ao Figma "-DE- CAC | Layout Blog"
   Fontes: Montserrat · Cores CAC (#084588) · Verde (#97bf13)
   ============================================================ */

:root{
  /* Cores */
  --blue:#084588;        /* azul CAC principal */
  --blue-2:#1b599c;
  --blue-light:#e7f3fd;
  --green:#97bf13;       /* newsletter */
  --text:#333333;
  --text-2:#5f5f5f;
  --muted:#999999;
  --border:#e8e8e8;
  --bg:#ffffff;
  --bg-soft:#f5f5f5;
  --bg-soft-2:#ebebeb;
  --white:#ffffff;

  /* Layout */
  --content:1120px;      /* largura de conteúdo (base Figma 1000, ampliada p/ hero) */
  --header-w:1240px;
  --gutter:24px;
  --radius:8px;
  --sec-y:80px;          /* ritmo vertical (desktop) */

  --ff:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--ff);color:var(--text);background:var(--bg);
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
ul{margin:0;padding:0;list-style:none}

.wrap{width:min(var(--content), 100% - (var(--gutter) * 2));margin-inline:auto}

/* ============================ HEADER ============================ */
.site-header{
  position:sticky;top:0;z-index:50;background:var(--white);
  border-bottom:1px solid var(--border);
}
.header-inner{
  width:min(var(--header-w), 100% - (var(--gutter) * 2));margin-inline:auto;
  height:100px;display:flex;align-items:center;gap:28px;
}
.brand img{height:52px;width:auto}
.main-nav{display:flex;align-items:center;gap:28px;margin-left:8px;flex:1}
.main-nav a{
  font-size:14px;font-weight:500;color:var(--blue);white-space:nowrap;
  transition:color .18s;
}
.main-nav a:hover{color:var(--blue-2)}
.main-nav > .btn-loja{display:none}   /* botão só aparece no drawer mobile */
.btn-loja{
  background:var(--blue);color:var(--white);font-weight:700;font-size:14px;
  padding:12px 24px;border-radius:var(--radius);border:0;white-space:nowrap;
  transition:background .2s,transform .2s;
}
.btn-loja:hover{background:#063a72;transform:translateY(-1px)}
.search-btn{
  width:40px;height:40px;border-radius:20px;background:var(--bg-soft);border:0;
  display:grid;place-items:center;flex-shrink:0;transition:background .2s;
}
.search-btn:hover{background:var(--bg-soft-2)}
.search-btn img{width:18px;height:18px}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;flex-direction:column;gap:5px;justify-content:center;align-items:center}
.nav-toggle span{width:24px;height:2px;background:var(--blue);border-radius:2px;transition:.3s}

/* ============================ HERO TOP BANNER ============================ */
.hero-banner{display:block;width:100%;background:var(--blue-light)}
.hero-banner img{width:100%;height:auto;object-fit:cover}

/* ============================ HERO (featured + últimas + ad) ============================ */
.hero{padding:64px 0}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px 340px;
  grid-template-areas:
    "feat list ad"
    "feat list ad";
  gap:0 40px;align-items:start;
}
.featured{grid-area:feat;max-width:560px}
.featured-img{width:256px;height:380px;border-radius:12px;overflow:hidden;background:var(--bg-soft)}
.featured-img img{width:100%;height:100%;object-fit:cover}
.featured-body{margin-top:24px}
.badge-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.badge{
  background:var(--blue-light);color:var(--blue);font-size:12px;font-weight:500;
  padding:4px 12px;border-radius:100px;white-space:nowrap;
}
.badge-cat{font-size:14px;color:var(--text-2)}
.featured h2{
  margin:0;font-size:28px;line-height:1.28;font-weight:800;color:var(--text);
  letter-spacing:-.01em;
}
.featured h2 a:hover{color:var(--blue)}
.featured p{margin:14px 0 0;font-size:16px;color:var(--text-2);line-height:1.5}
.featured-meta{display:flex;align-items:center;gap:12px;margin-top:22px}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.featured-meta .who{font-size:14px;color:var(--text);font-weight:600}
.dot{width:4px;height:4px;border-radius:50%;background:var(--muted)}
.featured-meta .when{font-size:14px;color:var(--muted)}

/* Últimas Notícias */
.latest{grid-area:list}
.col-title{font-size:16px;font-weight:700;color:var(--blue);margin:0 0 20px}
.latest-item{
  display:flex;gap:16px;padding-bottom:20px;margin-bottom:20px;
  border-bottom:1px solid var(--border);
}
.latest-item:last-child{border-bottom:0;margin-bottom:0}
.latest-thumb{width:100px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-soft)}
.latest-thumb img{width:100%;height:100%;object-fit:cover}
.latest-cat{font-size:12px;font-weight:600;color:var(--blue);text-transform:none}
.latest-item h4{margin:6px 0 8px;font-size:14px;line-height:1.4;font-weight:600;color:var(--text)}
.latest-item h4 a:hover{color:var(--blue)}
.latest-when{font-size:12px;color:var(--muted)}

/* Ad column */
.ad{grid-area:ad;align-self:start}
.ad img{width:100%;height:auto;border-radius:12px}

/* ============================ BANNER FAIXA (loja / tem) ============================ */
.strip-banner{display:block;width:100%}
.strip-banner img{width:100%;height:auto}

/* ============================ CATEGORY FILTER ============================ */
.filter{background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.filter-inner{display:flex;align-items:center;gap:16px;padding:16px 0;flex-wrap:wrap}
.filter-label{font-size:16px;font-weight:700;color:var(--text);white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  border:0;background:transparent;color:var(--text-2);font-size:13px;font-weight:600;
  padding:8px 18px;border-radius:100px;transition:.2s;white-space:nowrap;
}
.chip:hover{background:#e4e4e4;color:var(--text)}
.chip.is-active{background:var(--blue);color:var(--white)}

/* ============================ POST GRID ============================ */
.grid-section{padding:64px 0}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.card{
  background:var(--white);border:1px solid var(--border);border-radius:12px;
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s;
}
.card:hover{box-shadow:0 12px 30px rgba(8,69,136,.12);transform:translateY(-3px)}
.card-img{height:200px;overflow:hidden;background:var(--bg-soft)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:20px;display:flex;flex-direction:column;flex:1}
.card-cat{font-size:12px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}
.card h3{margin:12px 0 12px;font-size:16px;line-height:1.35;font-weight:700;color:var(--text)}
.card h3 a:hover{color:var(--blue)}
.card-excerpt{margin:0;font-size:13px;line-height:1.5;color:var(--text-2);flex:1}
.card-foot{display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--border);margin-top:16px;padding-top:13px;font-size:12px;color:var(--muted)}

/* ============================ NEWSLETTER ============================ */
.newsletter{background:var(--green);padding:var(--sec-y) 0;text-align:center;color:#fff}
.newsletter h2{margin:0 auto;font-size:36px;line-height:1.22;font-weight:700;max-width:1000px}
.newsletter p{margin:24px auto 0;font-size:16px;max-width:640px;opacity:.95;line-height:1.5}
.nl-form{display:flex;gap:12px;max-width:502px;margin:32px auto 0}
.nl-form input{
  flex:1;height:48px;border:0;border-radius:var(--radius);padding:0 16px;font-size:14px;
  background:#fff;color:var(--text);outline:none;
}
.nl-form button{
  background:var(--blue);color:#fff;font-weight:700;font-size:16px;border:0;
  padding:0 24px;border-radius:var(--radius);height:48px;white-space:nowrap;transition:background .2s;
}
.nl-form button:hover{background:#063a72}
.nl-msg{margin:16px 0 0;font-weight:600;min-height:1.2em}

/* ============================ MAIS LIDOS ============================ */
.most{padding:80px 0 64px;background:var(--white)}
.most-inner{width:min(1120px, 100% - (var(--gutter)*2));margin-inline:auto}
.most h2{margin:0 0 32px;font-size:36px;line-height:1.22;font-weight:700;color:var(--text)}
.most-row{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:40px;align-items:stretch}
.most-list{display:flex;flex-direction:column}
.most-item{display:flex;align-items:center;gap:24px;padding:16px 0;border-bottom:1px solid var(--border)}
.most-item:last-child{border-bottom:0}
.most-rank{font-size:34px;font-weight:800;color:var(--blue-light);width:50px;flex-shrink:0;line-height:1}
.most-item:hover .most-rank{color:var(--blue)}
.most-thumb{width:60px;height:60px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--bg-soft)}
.most-thumb img{width:100%;height:100%;object-fit:cover}
.most-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:6px}
.most-meta .cat{color:var(--blue);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.most-body h4{margin:0;font-size:15px;font-weight:600;line-height:1.35;color:var(--text)}
.most-body h4 a:hover{color:var(--blue)}
.most-figure{border-radius:16px;overflow:hidden;background:var(--blue)}
.most-figure img{width:100%;height:100%;object-fit:cover}

/* ============================ PAGINATION ============================ */
.pagination{padding:0 0 64px;background:var(--white)}
.pag-inner{display:flex;align-items:center;justify-content:center;gap:8px}
.pag-arrow{display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--text-2);padding:8px 16px;background:transparent;border:0;border-radius:6px;text-decoration:none;cursor:pointer}
.pag-arrow:hover{background:var(--bg-soft)}
.pag-arrow.is-disabled{opacity:.4;pointer-events:none}
.pag-num{display:grid;place-items:center;width:40px;height:40px;border-radius:6px;border:0;background:transparent;color:var(--text);font-weight:700;font-size:15px;text-decoration:none;cursor:pointer}
.pag-num:hover{background:var(--bg-soft)}
.pag-num.is-active{background:var(--blue);color:#fff}
.pag-dots{color:var(--muted);padding:0 4px}

/* ============================ LANÇAMENTOS (produtos loja) ============================ */
.launch{padding:8px 0 72px;background:var(--white)}
.launch h2{margin:0 0 28px;font-size:36px;line-height:1.22;font-weight:700;color:var(--text);text-align:center}
.launch-viewport{position:relative}
.product-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.product-card{
  position:relative;background:#fff;border:1px solid var(--border);border-radius:12px;
  padding:16px;display:flex;flex-direction:column;text-align:center;transition:box-shadow .25s,transform .25s;
}
.product-card:hover{box-shadow:0 12px 30px rgba(8,69,136,.12);transform:translateY(-3px)}
.pc-flag{position:absolute;top:12px;right:12px;background:var(--bg-soft);color:var(--text-2);
  font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.03em}
.pc-off{position:absolute;top:0;left:0;background:#f26522;color:#fff;font-size:11px;font-weight:800;
  padding:6px 10px;border-radius:12px 0 12px 0}
.pc-img{height:150px;display:grid;place-items:center;margin:8px 0 12px}
.pc-img img{max-height:150px;width:auto;object-fit:contain}
.pc-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.4;min-height:54px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pc-price{font-size:18px;font-weight:800;color:var(--blue);margin:10px 0 14px}
.pc-btn{display:block;background:var(--blue);color:#fff;font-weight:700;font-size:13px;
  padding:10px;border-radius:8px;border:0;width:100%;margin-bottom:8px;transition:background .2s}
.pc-btn:hover{background:#063a72}
.pc-wpp{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);
  color:var(--text-2);font-weight:600;font-size:12px;padding:9px;border-radius:8px;background:#fff;width:100%}
.pc-wpp:hover{border-color:#25d366;color:#128c3e}
.launch-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
  background:#fff;border:1px solid var(--border);display:grid;place-items:center;font-size:20px;color:var(--blue);
  box-shadow:0 4px 14px rgba(0,0,0,.08);z-index:2}
.launch-nav.prev{left:-14px}.launch-nav.next{right:-14px}
.launch-nav:hover{background:var(--blue);color:#fff}
.launch-nav[hidden]{display:none}

/* ============================ FOOTER ============================ */
.site-footer{background:var(--blue);color:#fff;padding:80px 0 40px}
.footer-cols{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:40px}
.footer-brand h3{margin:0 0 16px;font-size:20px;font-weight:800;line-height:1.2}
.footer-brand p{margin:0;font-size:13px;line-height:1.7;color:rgba(255,255,255,.72)}
.footer-col h5{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.footer-col ul li{margin-bottom:11px}
.footer-col ul a{font-size:14px;color:rgba(255,255,255,.82);transition:color .2s}
.footer-col ul a:hover{color:#fff}
.unit{margin-bottom:14px}
.unit strong{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:4px}
.unit span{font-size:13px;color:rgba(255,255,255,.72);line-height:1.5}
.social{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:rgba(255,255,255,.82)}
.social:hover{color:#fff}
.social img{width:18px;height:18px}
.portal-link{font-size:14px;color:#fff;font-weight:600;margin-bottom:16px;display:inline-block}
.footer-rule{border:0;border-top:1px solid rgba(255,255,255,.18);margin:48px 0 0}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:24px;font-size:12px;color:rgba(255,255,255,.6);flex-wrap:wrap}

/* ============================ SEARCH OVERLAY ============================ */
.search-overlay{position:fixed;inset:0;background:rgba(8,69,136,.96);z-index:100;display:none;
  padding:120px 24px 0;justify-content:center}
.search-overlay.open{display:flex}
.search-overlay form{width:min(640px,100%);display:flex;gap:12px;height:56px}
.search-overlay input{flex:1;border:0;border-radius:8px;padding:0 20px;font-size:18px}
.search-overlay .go{background:var(--green);border:0;color:#fff;font-weight:700;padding:0 28px;border-radius:8px;font-size:16px}
.search-overlay .close{position:absolute;top:32px;right:32px;background:transparent;border:0;color:#fff;font-size:32px}

/* ============================ REVEAL ============================ */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"feat list" "ad ad";gap:40px}
  .ad{max-width:560px;margin-inline:auto}
  .most-row{grid-template-columns:minmax(0,1fr) 320px}
}

@media (max-width:900px){
  .main-nav,.btn-loja{display:none}
  .nav-toggle{display:flex}
  .header-inner{gap:12px;justify-content:space-between}
  .brand{margin-right:auto}
  /* Mobile nav drawer */
  .main-nav.open{
    display:flex;position:fixed;inset:100px 0 auto 0;background:#fff;flex-direction:column;
    align-items:flex-start;gap:0;padding:8px 24px 24px;border-bottom:1px solid var(--border);
    box-shadow:0 20px 30px rgba(0,0,0,.08);z-index:60;
  }
  .main-nav.open a{width:100%;padding:14px 0;border-bottom:1px solid var(--border);font-size:16px}
  .main-nav.open .btn-loja{display:inline-block;margin-top:16px;text-align:center}
  .hero-grid{grid-template-columns:1fr;grid-template-areas:"feat" "list" "ad"}
  .featured{max-width:none}
  .featured-img{width:100%;height:300px}
  .post-grid{grid-template-columns:repeat(2,1fr)}
  .most-row{grid-template-columns:1fr}
  .most-figure{display:none}
  .footer-cols{grid-template-columns:1fr 1fr;gap:32px}
  .product-row{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   BLINDAGEM CONTRA O CSS DO TEMA (WordPress/Elementor)
   O tema ativo estiliza tags genéricas (h2,h3,button,input) às vezes
   com seletores de ID (que vencem classes). Aqui reforçamos as
   propriedades críticas dentro do escopo .cac-blog. Não afeta o resto
   do site (tudo escopado) e é inócuo na versão estática.
   ============================================================ */
.cac-blog .site-header,
.cac-blog .hero,
.cac-blog .newsletter,
.cac-blog .most,
.cac-blog .launch,
.cac-blog .site-footer{font-family:var(--ff)}

.cac-blog h1,.cac-blog h2,.cac-blog h3,.cac-blog h4,.cac-blog h5,.cac-blog h6{
  font-family:var(--ff);text-transform:none;letter-spacing:normal}
.cac-blog a{text-decoration:none}
.cac-blog input,.cac-blog button,.cac-blog textarea{font-family:var(--ff)}
.cac-blog button{text-transform:none;letter-spacing:normal}

/* Botão "VISITE A LOJA ONLINE" */
.cac-blog .btn-loja{background:var(--blue)!important;color:#fff!important;border:0!important;
  border-radius:8px!important;text-transform:none!important;box-shadow:none!important}

/* Chips do filtro */
.cac-blog .chip{background:transparent;color:var(--text-2);border:0;text-decoration:none}
.cac-blog .chip.is-active{background:var(--blue)!important;color:#fff!important}

/* Newsletter — seção que o tema estava desconfigurando */
.cac-blog .newsletter{background:var(--green)!important}
.cac-blog .newsletter h2{color:#fff!important;font-size:36px!important;font-weight:700!important;
  line-height:1.22!important;margin:0 auto!important}
.cac-blog .newsletter p{color:#fff!important}
.cac-blog .nl-form input{height:48px!important;background:#fff!important;border:0!important;
  border-radius:8px!important;color:var(--text)!important;padding:0 16px!important;
  box-shadow:none!important;font-size:14px!important;width:auto!important}
.cac-blog .nl-form button{background:var(--blue)!important;color:#fff!important;height:48px!important;
  border:0!important;border-radius:8px!important;font-weight:700!important;font-size:16px!important;
  padding:0 24px!important;text-transform:none!important;box-shadow:none!important;width:auto!important}
.cac-blog .nl-form button:hover{background:#063a72!important}

/* Footer — título e headings estavam pegando cor do tema */
.cac-blog .site-footer{background:var(--blue)!important;color:#fff}
.cac-blog .site-footer .footer-brand h3{color:#fff!important;font-size:20px!important;
  font-weight:800!important;line-height:1.2!important;text-transform:none!important;
  letter-spacing:0!important;margin:0 0 16px!important}
.cac-blog .site-footer .footer-col h5{color:#fff!important;font-size:13px!important;
  font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important}
.cac-blog .site-footer a{color:rgba(255,255,255,.82)!important}
.cac-blog .site-footer .portal-link{color:#fff!important}
.cac-blog .site-footer .footer-brand p,
.cac-blog .site-footer .unit span{color:rgba(255,255,255,.72)!important}

/* Títulos de seção (Mais Lidos / Lançamentos) */
.cac-blog .most h2,.cac-blog .launch h2{color:var(--text)!important;font-size:36px!important;
  font-weight:700!important;text-transform:none!important}

/* Cartões e produtos */
.cac-blog .card h3{text-transform:none!important;letter-spacing:normal!important}
.cac-blog .pc-btn{background:var(--blue)!important;color:#fff!important;text-transform:none!important}

@media (max-width:680px){
  :root{--sec-y:54px}
  .hero{padding:40px 0}
  .grid-section{padding:44px 0}
  .featured h2{font-size:24px}
  .newsletter h2,.most h2,.launch h2{font-size:26px;line-height:1.3}
  .nl-form{flex-direction:column;max-width:420px}
  .cac-blog .nl-form button{width:100%!important}
  .post-grid{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:6px}
  /* produtos: carrossel horizontal */
  .product-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:8px}
  .product-row::-webkit-scrollbar{display:none}
  .product-card{flex:0 0 auto;width:min(240px,78vw);scroll-snap-align:start}
  .launch-nav{display:none}
  .most-item{gap:14px}
  .most-rank{font-size:26px;width:34px}
  .pag-arrow{padding:8px 10px;font-size:13px}
}
