:root{
  --bg:#ffffff;
  --text:#0B1220;
  --muted:#5B6475;
  --line:#E9ECF2;
  --soft:#F6F7FA;
  --topbar:#0A0F1A;
  --brand:#0F3D4C;      /* confiança / saúde */
  --accent:#FF5A5F;     /* ação pontual */
  --link:#2563EB;
  --shadow:0 14px 34px rgba(11,18,32,.09);
  --r:14px;

  /* Cores por editoria (tags e detalhes) */
  --tag-gravidez:#7C3AED;
  --tag-recem-nascido:#0EA5E9;
  --tag-sono:#1D4ED8;
  --tag-alimentacao:#16A34A;
  --tag-saude:#F59E0B;
  --tag-seguranca:#EA580C;
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,sans-serif;}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}

/* Topbar */
.topbar{background:var(--topbar);color:#fff}
.toprow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.3px}
.dot{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 6px rgba(255,90,95,.18)}
.subbrand{font-size:12px;color:rgba(255,255,255,.72);font-weight:600}
.menu{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}
.menu a{color:rgba(255,255,255,.86);font-weight:800;font-size:13px;padding:6px 10px;border-radius:999px}
.menu a:hover{background:rgba(255,255,255,.08);color:#fff}

/* Breaking */
.breaking{border-bottom:1px solid var(--line);background:#fff}
.brow{display:flex;gap:12px;align-items:center;padding:12px 0}
.badge{font-size:12px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;background:var(--accent);color:#fff;border-radius:999px;padding:6px 10px}
.btxt{font-weight:800}
.btxt span{color:var(--muted);font-weight:650}

/* Layout */
main{padding:18px 0 30px}
.grid{display:grid;grid-template-columns: 1.65fr .85fr;gap:18px}

/* Hero */
.hero{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.heroimg{height:220px;background:center/cover no-repeat;position:relative}
.heroimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.42) 68%, rgba(0,0,0,.62) 100%)}
.herobody{padding:16px 18px}
.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:900;letter-spacing:.6px;text-transform:uppercase;font-size:12px}
.kdot{width:8px;height:8px;border-radius:999px;background:var(--accent)}

/* Headings — portal BR tende a sans forte */
h1{margin:10px 0 10px;font-weight:900;letter-spacing:-.9px;line-height:1.06;font-size:40px}
h2{margin:22px 0 10px;font-size:22px;letter-spacing:-.35px}
.desc{margin:0;color:var(--muted);line-height:1.6;font-size:16px}
.meta{margin-top:10px;color:var(--muted);font-size:12px}

/* Lists / cards */
.list{margin-top:14px;display:grid;gap:10px}
.item{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.thumb{width:108px;height:74px;border-radius:12px;flex:0 0 auto;background:#fff;border:1px solid rgba(11,18,32,.10);overflow:hidden;background-size:cover;background-position:center;}
.itag{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--brand)}

/* Tags por editoria */
.tag-gravidez,.itag-gravidez{color:var(--tag-gravidez)}
.tag-recem-nascido,.itag-recem-nascido{color:var(--tag-recem-nascido)}
.tag-sono,.itag-sono{color:var(--tag-sono)}
.tag-alimentacao,.itag-alimentacao{color:var(--tag-alimentacao)}
.tag-saude,.itag-saude{color:var(--tag-saude)}
.tag-seguranca,.itag-seguranca{color:var(--tag-seguranca)}

/* Kicker com cor por editoria */
.kicker-gravidez{color:var(--tag-gravidez)}
.kicker-gravidez .kdot{background:var(--tag-gravidez)}
.kicker-recem-nascido{color:var(--tag-recem-nascido)}
.kicker-recem-nascido .kdot{background:var(--tag-recem-nascido)}
.kicker-sono{color:var(--tag-sono)}
.kicker-sono .kdot{background:var(--tag-sono)}
.kicker-alimentacao{color:var(--tag-alimentacao)}
.kicker-alimentacao .kdot{background:var(--tag-alimentacao)}
.kicker-saude{color:var(--tag-saude)}
.kicker-saude .kdot{background:var(--tag-saude)}
.kicker-seguranca{color:var(--tag-seguranca)}
.kicker-seguranca .kdot{background:var(--tag-seguranca)}
.ititle{margin:0 0 4px;font-weight:950;letter-spacing:-.35px}
.isub{margin:0;color:var(--muted);font-size:13px;line-height:1.45}

/* Sidebar boxes */
.side{display:grid;gap:14px}
.box{border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}
.box .hd{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.box .hd strong{font-weight:900}
.box .bd{padding:12px 14px}
.mlist{display:grid;gap:10px}
.mlink{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.rank{width:24px;height:24px;border-radius:8px;background:var(--topbar);color:#fff;display:grid;place-items:center;font-weight:900;font-size:12px;flex:0 0 auto}

/* Blog grid */
.bloggrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.blogcard{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;display:block;overflow:hidden}
.blogcard:hover{border-color:rgba(255,90,95,.7)}
.blogcard .img{height:160px;border-radius:12px;border:1px solid rgba(11,18,32,.10);background:var(--soft) center/cover no-repeat;margin-bottom:10px}
.blogcard .tag{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--brand)}
.blogcard .t{margin:8px 0 6px;font-weight:950;letter-spacing:-.35px}
.blogcard .d{margin:0;color:var(--muted);line-height:1.5}

/* Post page */
.postwrap{max-width:920px}
.postbox{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0}
.warn{border-left:4px solid var(--accent);padding-left:12px}
.note{color:var(--muted);font-size:13px}

footer{margin-top:28px;border-top:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:12px}

@media (max-width: 980px){
  h1{font-size:30px}
  .grid{grid-template-columns:1fr}
  .toprow{flex-direction:column;align-items:flex-start}
  .menu{justify-content:flex-start}
  .thumb{width:92px;height:64px}
  .bloggrid{grid-template-columns:1fr}
  .heroimg{height:170px}
}
