/* Guias (artigos longos com índice lateral). Mesma identidade visual das páginas por situação. */
:root{
  --ivory:#FBF6F0;
  --ivory-deep:#F5EAE1;
  --charcoal:#3A2E30;
  --wine:#A25A70;
  --wine-deep:#8F4C60;
  --blush:#F6DEDD;
  --line:#E8DAD3;
  --radius:18px;
  --header-h:70px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Public Sans', sans-serif;
  background:var(--ivory);
  color:var(--charcoal);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Lora', serif;font-weight:600;letter-spacing:-0.01em;color:var(--charcoal);}
a{color:inherit;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--wine-deep);}

/* NAV */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,246,240,0.88);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
header nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.logo{font-family:'Lora', serif;font-weight:600;font-size:20px;text-decoration:none;}
.logo span{color:var(--wine);}
.nav-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--wine);color:#fff;text-decoration:none;
  padding:11px 20px;border-radius:999px;font-weight:600;font-size:14px;
  transition:background .2s ease, transform .2s ease;
}
.nav-cta:hover{background:var(--wine-deep);transform:translateY(-1px);}

/* INTRO */
.intro{padding:56px 0 32px;border-bottom:1px solid var(--line);}
.breadcrumb{font-size:14px;color:#6B6259;margin-bottom:18px;}
.breadcrumb a{text-decoration:none;}
.breadcrumb a:hover{color:var(--wine-deep);}
.breadcrumb span{margin:0 6px;color:#C9B8B0;}
.intro h1{font-size:clamp(30px,4.2vw,46px);line-height:1.12;margin:14px 0 18px;max-width:860px;}
.intro p.lead{font-size:18px;color:#55504A;max-width:760px;}
.meta{margin-top:18px;font-size:14px;color:#6B6259;display:flex;flex-wrap:wrap;gap:6px 18px;}

/* ARTIGO + ÍNDICE */
.guia-layout{display:grid;grid-template-columns:1fr;gap:32px;padding-top:32px;padding-bottom:56px;}
@media (min-width:1024px){ .guia-layout{grid-template-columns:minmax(0,1fr) 280px;gap:64px;} }

.toc{order:-1;}
.toc details{background:#fff;border:1px solid var(--line);border-radius:14px;}
.toc summary{cursor:pointer;list-style:none;padding:14px 18px;font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--wine-deep);display:flex;justify-content:space-between;align-items:center;}
.toc summary::-webkit-details-marker{display:none;}
.toc summary::after{content:'+';font-size:20px;font-weight:400;}
.toc details[open] summary::after{content:'−';}
.toc-progress{height:3px;background:var(--line);margin:0 18px 12px;border-radius:999px;overflow:hidden;}
.toc-progress span{display:block;height:100%;width:0;background:var(--wine);transition:width .1s linear;}
.toc ol{list-style:none;padding:0 18px 16px;}
.toc li a{display:block;padding:7px 0 7px 12px;font-size:14.5px;line-height:1.4;color:#6b5c5e;text-decoration:none;border-left:2px solid var(--line);transition:color .2s ease,border-color .2s ease;}
.toc li.sub a{padding-left:24px;font-size:13.5px;}
.toc li a:hover{color:var(--charcoal);}
.toc li a.active{color:var(--wine-deep);font-weight:600;border-left-color:var(--wine);}
@media (min-width:1024px){
  .toc{order:0;}
  .toc-inner{position:sticky;top:calc(var(--header-h) + 24px);max-height:calc(100vh - var(--header-h) - 48px);overflow-y:auto;}
  .toc summary{cursor:default;pointer-events:none;}
  .toc summary::after{display:none;}
}

article{max-width:740px;}
article h2{font-size:clamp(22px,2.8vw,28px);margin:44px 0 12px;line-height:1.25;}
article h3{font-size:19px;margin:28px 0 8px;color:var(--wine-deep);}
article > h2:first-child{margin-top:0;}
article h2,article h3{scroll-margin-top:calc(var(--header-h) + 16px);}
article p{font-size:16.5px;color:#4a423e;margin-bottom:14px;}
article ul,article ol{margin:0 0 14px 22px;}
article li{font-size:16.5px;color:#4a423e;margin-bottom:8px;}
article strong{color:var(--charcoal);}
article a{color:var(--wine-deep);font-weight:600;}
.callout{background:#fff;border:1px solid var(--line);border-left:3px solid var(--wine);border-radius:12px;padding:16px 20px;margin:20px 0;}
.callout p{margin:0;font-size:15.5px;}
.tabela{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.tabela th,.tabela td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:#4a423e;}
.tabela th{background:var(--ivory-deep);font-weight:700;color:var(--charcoal);}
.tabela tr:last-child td{border-bottom:none;}
.author{margin-top:36px;font-size:15px;color:#6B6259;}

/* CTA */
.btn-primary{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--wine);color:#fff;text-decoration:none;
  padding:16px 26px;border-radius:999px;font-weight:700;font-size:16px;min-height:48px;
  transition:background .2s ease, transform .2s ease;
  box-shadow:0 10px 24px -8px rgba(139,58,74,0.45);
}
.btn-primary:hover{background:var(--wine-deep);transform:translateY(-2px);}
.btn-sub{font-size:15px;color:#6B6259;margin-top:10px;}
.cta-section{
  background:linear-gradient(rgba(143,76,96,0.95), rgba(110,44,58,0.97));
  color:#fff;border-radius:28px;margin:0 24px;padding:52px 28px;text-align:center;
}
.cta-section h2{color:#fff;font-size:clamp(24px,3vw,32px);max-width:560px;margin:0 auto;}
.cta-section p{color:#F3E3E1;margin:14px auto 0;font-size:16px;max-width:480px;}
.btn-on-wine{margin-top:28px;background:#fff;color:var(--wine-deep);box-shadow:0 10px 24px -8px rgba(0,0,0,0.25);}
.btn-on-wine:hover{background:var(--blush);color:var(--wine-deep);}
.cta-section .btn-sub{color:#F0DCDA;}

.related{padding:48px 0 0;}
.related h2{font-size:22px;margin-bottom:14px;}
.related-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;}
.related-list a{display:inline-block;padding:10px 16px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;color:var(--wine-deep);}
.related-list a:hover{background:var(--blush);}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:40px 0 30px;margin-top:48px;}
.footer-legal{font-size:13px;color:#6B6259;line-height:1.6;max-width:900px;margin-bottom:24px;text-align:justify;hyphens:auto;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:#6B6259;}
.footer-bottom a{text-decoration:underline;}

@media (max-width:480px){
  header nav{padding:10px 0;}
  .logo{font-size:17px;}
  .nav-cta{padding:9px 14px;font-size:13px;}
  .cta-section{margin:0 12px;padding:40px 20px;}
  .tabela{font-size:14px;}
  .tabela th,.tabela td{padding:10px;}
}
