/* ============================================================
   TRIA+ — Blog (TEMA CLARO)
   Home escura (impacto) → Blog claro (leitura), unidos pela
   marca: logo azul, azul de destaque, tipografia Space Grotesk.
   Backup do tema escuro em /blog/_backup-tema-escuro/
   ============================================================ */

/* ===== TOKENS (claro) ===== */
:root{
  --bg:        #F5F8FC;   /* fundo da página (off-white azulado) */
  --surface:   #FFFFFF;   /* cards */
  --line:      rgba(20,32,64,.10);
  --cyan:      #2BC0F5;   /* ciano da marca (botões/ícones) */
  --cyan-2:    #1E7FE0;   /* azul da marca */
  --brand:     #1565C0;   /* azul forte p/ texto sobre claro (contraste) */
  --purple:    #7C5CFF;
  --green:     #16A34A;
  --amber:     #D9861A;
  --text:      #16233B;   /* texto principal (quase navy) */
  --muted:     #566179;   /* texto secundário */
  --max:       1320px;
  --radius:    18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; background-color:#F5F8FC}
body{
  margin:0; color:var(--text);
  font-family:"Inter",system-ui,-apple-system,sans-serif; font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background:linear-gradient(180deg,#FBFCFE 0%,#F1F5FB 100%);
  background-attachment:fixed;
  background-color:#F5F8FC;
}
@media (max-width:900px){ body{background-attachment:scroll} }
h1,h2,h3,h4{font-family:"Space Grotesk","Inter",sans-serif; line-height:1.15; margin:0 0 .4em; color:var(--text)}
h1{font-size:clamp(2rem,5vw,3.4rem); font-weight:700; letter-spacing:-.02em}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem); font-weight:700; letter-spacing:-.01em}
h3{font-size:1.12rem; font-weight:600}
p{margin:0 0 1rem}
a{color:inherit}
img{max-width:100%; display:block}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px; position:relative; z-index:1}
.accent{background:linear-gradient(90deg,#1E7FE0,#1257B0); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.muted{color:var(--muted)}
.eyebrow{display:inline-block; font-family:"Space Grotesk"; font-weight:600; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--cyan-2); margin-bottom:14px}

/* ===== Botões ===== */
.btn{display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-family:"Space Grotesk"; font-weight:600; font-size:1rem; padding:14px 28px; border-radius:12px; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, opacity .15s; border:0}
.btn-primary{background:linear-gradient(90deg,var(--cyan),var(--cyan-2)); color:#04121f; box-shadow:0 10px 26px rgba(43,192,245,.30)}
.btn-primary:hover{transform:translateY(-2px); opacity:.94}
.btn-ghost{background:transparent; color:var(--text); border:1.5px solid rgba(20,32,64,.18)}
.btn-ghost:hover{border-color:var(--cyan-2); color:var(--cyan-2)}

/* ===== Header (claro, com logo azul) ===== */
header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.82); -webkit-backdrop-filter:blur(14px) saturate(150%); backdrop-filter:blur(14px) saturate(150%); border-bottom:1px solid var(--line); transition:box-shadow .3s ease}
header.scrolled{box-shadow:0 8px 26px rgba(20,32,64,.08)}
.nav{display:flex; align-items:center; justify-content:space-between; height:72px}
/* Logo azul tem ~32% de margem interna; 61px iguala o tamanho visível do logo da home (42px) */
.nav .logo{height:61px; width:auto; display:block}
.logo-link{display:inline-flex; align-items:center; text-decoration:none}
.site-menu{display:flex; align-items:center; justify-content:center; gap:4px; margin:0 14px}
.site-menu a{position:relative; display:inline-flex; align-items:center; min-height:40px; padding:8px 10px; border-radius:10px; color:var(--muted); text-decoration:none; font-family:"Space Grotesk"; font-size:.92rem; font-weight:600; transition:color .2s ease, background .2s ease, transform .2s ease}
.site-menu a:hover,.site-menu a.active{color:var(--brand); background:rgba(30,127,224,.09)}
.nav-right{display:flex; align-items:center; gap:14px}
.nav-toggle{display:none; flex-direction:column; align-items:center; justify-content:center; width:44px; height:44px; padding:11px; border:1px solid var(--line); background:rgba(20,32,64,.03); border-radius:11px; cursor:pointer}
.nav-toggle span{display:block; width:100%; height:2px; border-radius:2px; background:var(--text); transition:transform .28s ease, opacity .2s ease}
.nav-toggle span + span{margin-top:5px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.login-link{display:inline-flex; align-items:center; gap:8px; font-family:"Space Grotesk"; font-weight:600; font-size:.98rem; text-decoration:none; white-space:nowrap; padding:8px 15px; border-radius:10px; background:rgba(30,127,224,.10); color:var(--brand); border:1px solid rgba(30,127,224,.3); transition:color .2s ease, background .2s ease, border-color .2s ease}
.login-link:hover{color:#fff; background:linear-gradient(90deg,var(--cyan-2),var(--brand)); border-color:transparent; box-shadow:0 8px 20px rgba(30,127,224,.28); transform:translateY(-1px)}
.login-link svg{flex:none}

/* ===== Hero do blog ===== */
.blog-hero{padding:70px 0 34px; text-align:center}
.blog-hero p{max-width:620px; margin:12px auto 0; color:var(--muted)}

/* ===== Cards (listagem) ===== */
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:20px 0 10px}
.post-card{display:flex; flex-direction:column; text-decoration:none; color:inherit; border-radius:var(--radius); overflow:hidden;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(20,32,64,.07);
  transition:transform .2s ease, border-color .22s ease, box-shadow .22s ease}
.post-card:hover{transform:translateY(-4px); border-color:rgba(30,127,224,.35); box-shadow:0 18px 40px rgba(20,32,64,.12)}
.post-card .cover{aspect-ratio:16/9; width:100%; object-fit:cover; background:#E6EDF7}
.post-card .body{padding:20px 22px 24px; display:flex; flex-direction:column; flex:1}
.post-tag{align-self:flex-start; font-family:"Space Grotesk"; font-weight:600; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--brand); background:rgba(30,127,224,.10); border:1px solid rgba(30,127,224,.22); padding:4px 11px; border-radius:100px; margin-bottom:13px}
.post-card h3{margin:0 0 10px; font-size:1.18rem; line-height:1.3; color:var(--text)}
.post-card .excerpt{color:var(--muted); font-size:.96rem; margin:0 0 18px; flex:1}
.post-meta{color:var(--muted); font-size:.82rem; font-family:"Space Grotesk"; display:flex; gap:10px; align-items:center}
.post-meta .dot{opacity:.5}

/* ===== Post em destaque ===== */
.section-label{font-family:"Space Grotesk"; font-weight:600; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:38px 0 18px}
.featured{display:grid; grid-template-columns:1.15fr 1fr; border-radius:var(--radius); overflow:hidden; text-decoration:none; color:inherit;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 14px 40px rgba(20,32,64,.10);
  transition:transform .2s ease, border-color .22s ease, box-shadow .22s ease}
.featured:hover{transform:translateY(-3px); border-color:rgba(30,127,224,.35); box-shadow:0 22px 52px rgba(20,32,64,.15)}
.featured .cover{width:100%; height:100%; min-height:290px; object-fit:cover; background:#E6EDF7}
.featured .body{padding:38px 40px; display:flex; flex-direction:column; justify-content:center}
.featured .badges{display:flex; gap:8px; align-items:center; margin-bottom:14px}
.featured h2{margin:6px 0 14px; font-size:clamp(1.5rem,2.6vw,2rem)}
.featured .excerpt{color:var(--muted); font-size:1.02rem; margin:0 0 22px}
.featured .read-more{font-family:"Space Grotesk"; font-weight:600; color:var(--brand); display:inline-flex; align-items:center; gap:7px}
@media(max-width:800px){ .featured{grid-template-columns:1fr} .featured .cover{min-height:0; aspect-ratio:16/9} .featured .body{padding:26px 24px} }

/* ===== Newsletter — barra compacta ===== */
.news-bar{display:flex; align-items:center; justify-content:space-between; gap:16px 34px; flex-wrap:wrap;
  margin:64px 0; padding:22px 26px; border-radius:16px;
  background:linear-gradient(135deg, rgba(30,127,224,.07), rgba(124,92,255,.06));
  border:1px solid rgba(30,127,224,.16)}
.news-bar .nb-text{display:flex; flex-direction:column; gap:3px; min-width:0}
.news-bar .nb-label{font-family:"Space Grotesk"; font-weight:600; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brand)}
.news-bar .nb-title{font-family:"Space Grotesk"; font-weight:600; font-size:1.06rem; color:var(--text)}
.news-bar .nb-title span{color:var(--muted); font-weight:500; font-size:.92rem}
.news-bar form{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.news-bar input[type=email]{min-width:210px; padding:11px 15px; border-radius:11px; border:1px solid rgba(20,32,64,.18); background:#fff; color:var(--text); font-family:"Inter",sans-serif; font-size:.95rem}
.news-bar input[type=email]::placeholder{color:var(--muted)}
.news-bar input[type=email]:focus{outline:none; border-color:var(--cyan-2)}
.news-bar .btn{padding:11px 22px; font-size:.95rem}
@media(max-width:640px){ .news-bar{padding:18px 20px} .news-bar form,.news-bar input[type=email]{width:100%} }

/* ===== Artigo ===== */
.article{max-width:800px; margin:0 auto; padding:34px 24px 70px}
.back-link{display:inline-flex; align-items:center; gap:7px; color:var(--muted); text-decoration:none; font-family:"Space Grotesk"; font-weight:600; font-size:.9rem; margin-bottom:24px; transition:color .2s ease}
.back-link:hover{color:var(--brand)}
.article-head .post-tag{margin-bottom:18px}
.article-head h1{margin:0 0 16px}
.article-meta{display:flex; flex-wrap:wrap; gap:10px; align-items:center; color:var(--muted); font-size:.9rem; font-family:"Space Grotesk"; margin-bottom:28px}
.article-cover{width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius); border:1px solid var(--line); margin-bottom:36px; background:#E6EDF7}
.article-body{font-size:1.06rem; color:#26324A}
.article-body h2{margin:38px 0 14px; color:var(--text)}
.article-body h3{margin:28px 0 10px; color:var(--text)}
.article-body p{margin:0 0 1.25rem}
.article-body a{color:var(--brand); text-decoration:underline; text-underline-offset:3px}
.article-body ul,.article-body ol{margin:0 0 1.25rem; padding-left:1.3em}
.article-body li{margin-bottom:.5rem}
.article-body strong{color:var(--text)}
.article-body img{border-radius:14px; margin:26px 0; border:1px solid var(--line)}
.article-body blockquote{margin:26px 0; padding:16px 22px; border-left:3px solid var(--cyan-2); background:rgba(30,127,224,.06); border-radius:0 12px 12px 0; color:#33405A; font-size:1.08rem}
.article-body hr{border:0; border-top:1px solid var(--line); margin:34px 0}

/* ===== CTA final do artigo (bloco azul p/ destaque) ===== */
.article-cta{margin:48px auto 96px; max-width:800px; text-align:center; border-radius:24px; padding:44px 28px;
  background:linear-gradient(135deg,#1257B0,#1E7FE0);
  border:0; box-shadow:0 18px 44px rgba(30,127,224,.28)}
.article-cta h2{margin:0 0 10px; color:#fff}
.article-cta h2 .accent{-webkit-text-fill-color:#BFE3FF; background:none}
.article-cta p{color:rgba(255,255,255,.92); max-width:520px; margin:0 auto 24px}
.article-cta .btn-primary{background:#fff; color:var(--brand); box-shadow:0 10px 26px rgba(4,6,30,.18)}

/* ===== Footer (claro) ===== */
footer{padding:44px 0; border-top:1px solid var(--line); text-align:center; color:var(--muted); font-size:.88rem; background:#EDF1F8}
footer .logo{height:70px; margin-bottom:10px; display:inline-block}
footer a{color:var(--brand); text-decoration:none}

/* ===== Botão flutuante WhatsApp ===== */
.wa-float{position:fixed; right:26px; bottom:26px; z-index:9999; width:62px; height:62px; border-radius:50%; background:#25D366; display:grid; place-items:center; box-shadow:0 12px 30px rgba(37,211,102,.4), 0 4px 12px rgba(20,32,64,.2); transition:transform .18s ease, box-shadow .18s ease; text-decoration:none}
.wa-float:hover{transform:scale(1.08); box-shadow:0 16px 40px rgba(37,211,102,.55), 0 4px 12px rgba(20,32,64,.2)}
.wa-float:active{transform:scale(.97)}
.wa-float svg{position:relative; z-index:2}
.wa-float-ring{position:absolute; inset:0; border-radius:50%; background:#25D366; z-index:1; animation:waPulse 2.4s ease-out infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}

/* ===== Banner LGPD (claro) ===== */
.lgpd-bar{position:fixed; left:0; right:0; bottom:0; z-index:9998; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 24px; padding:18px 24px; background:rgba(255,255,255,.97); border-top:1px solid var(--line); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 -10px 30px rgba(20,32,64,.12); transform:translateY(110%); transition:transform .4s ease}
.lgpd-bar.show{transform:translateY(0)}
.lgpd-bar p{margin:0; color:var(--muted); font-size:.9rem; max-width:640px}
.lgpd-bar p b{color:var(--text)}
.lgpd-bar p a{color:var(--brand)}
.lgpd-bar .btn{padding:11px 22px; font-size:.9rem; white-space:nowrap}
@media(max-width:560px){.wa-float{right:18px; bottom:18px; width:56px; height:56px}}
@media(max-width:560px){.lgpd-bar{padding:16px 18px; justify-content:stretch}.lgpd-bar p{max-width:none}.lgpd-bar .btn{width:100%; justify-content:center}}
@media(prefers-reduced-motion:reduce){.wa-float-ring{animation:none; opacity:0}}

/* ===== Responsivo ===== */
@media (max-width:960px){
  .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1100px){
  .nav-toggle{display:flex}
  .site-menu{
    position:absolute; top:100%; left:0; right:0; z-index:60;
    flex-direction:column; align-items:stretch; justify-content:flex-start;
    gap:2px; margin:0; padding:10px 20px 18px;
    background:rgba(255,255,255,.98); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line); box-shadow:0 24px 40px rgba(20,32,64,.14);
    max-height:0; overflow:hidden; opacity:0; visibility:hidden;
    transition:max-height .32s ease, opacity .24s ease, visibility .32s ease;
  }
  header.nav-open .site-menu{max-height:min(78vh,640px); overflow-y:auto; opacity:1; visibility:visible}
  .site-menu a{width:100%; min-height:46px; padding:12px 12px; font-size:1rem}
}
@media (max-width:640px){
  .post-grid{grid-template-columns:1fr}
  .nav{height:auto; min-height:72px; padding:14px 20px; gap:10px}
  .nav .logo{height:53px}
}
