/* ==========================================================
   legal-styles.css
   Stylesheet exclusivo das páginas legais (Termos de Uso e
   Política de Privacidade). Não é compartilhado com styles2.css
   de propósito, para que ajustes num arquivo nunca afetem o outro.
   ========================================================== */

:root{
  --blue-900:#1b35a2;
  --blue-800:#16348c;
  --yellow:#ffc629;
  --yellow-dark:#f0b400;
  --ink:#132049;
  --ink-soft:#5b6584;
  --border:#e4e7f2;
  --bg-soft:#f9f9fb;
  --shadow:0 12px 30px -12px rgba(15,42,107,.18);
}

*{box-sizing:border-box; margin:0; padding:0;}

html{scroll-behavior:smooth; overflow-x:hidden;}

body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.65;
  overflow-x:hidden;
}

a{color:var(--blue-900); text-decoration:none;}
a:hover{text-decoration:underline;}

:focus-visible{outline:3px solid var(--yellow-dark); outline-offset:2px;}

img{max-width:100%; display:block;}

/* ===== Header ===== */
.legal-header{
  background:var(--blue-900);
  padding:18px 0;
}
.legal-header .container{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.legal-header .logo img{width:130px;}
.legal-header .back-link{
  color:#fff; font-weight:600; font-size:.9rem;
  display:flex; align-items:center; gap:6px;
}
.legal-header .back-link:hover{color:var(--yellow); text-decoration:none;}

.container{
  width:100%; max-width:860px; margin:0 auto; padding:0 24px;
}

/* ===== Hero / page title ===== */
.legal-hero{
  background:linear-gradient(135deg, var(--blue-900), var(--blue-800));
  padding:48px 0 40px;
  color:#fff;
}
.legal-hero h1{
  font-size:clamp(1.6rem, 4vw, 2.4rem);
  font-weight:800;
  margin-bottom:8px;
}
.legal-hero p{
  color:#c9d3f7;
  font-size:.95rem;
}

/* ===== Content ===== */
.legal-content{
  padding:48px 0 80px;
}

.legal-toc{
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:16px;
  padding:24px 28px;
  margin-bottom:40px;
}
.legal-toc h2{
  font-size:1rem;
  color:var(--blue-900);
  margin-bottom:14px;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.legal-toc ol{
  list-style:none;
  columns:1;
  gap:6px;
}
.legal-toc li{margin-bottom:8px;}
.legal-toc a{font-size:.92rem; font-weight:500;}

.legal-content section{
  margin-bottom:36px;
  scroll-margin-top:24px;
}
.legal-content h2{
  font-size:1.25rem;
  color:var(--blue-900);
  font-weight:800;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:2px solid var(--yellow);
  display:inline-block;
}
.legal-content h3{
  font-size:1.02rem;
  color:var(--blue-900);
  font-weight:700;
  margin:20px 0 8px;
}
.legal-content p{
  margin-bottom:14px;
  color:var(--ink);
  font-size:.96rem;
}
.legal-content ul, .legal-content ol.legal-list{
  margin:0 0 14px 20px;
  font-size:.96rem;
}
.legal-content li{margin-bottom:6px;}
.legal-content strong{color:var(--blue-900);}

.legal-updated{
  font-size:.85rem;
  color:var(--ink-soft);
  font-style:italic;
  margin-bottom:8px;
}

.legal-table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0 20px;
  font-size:.88rem;
}
.legal-table th, .legal-table td{
  border:1px solid var(--border);
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
}
.legal-table th{
  background:var(--bg-soft);
  color:var(--blue-900);
  font-weight:700;
}

.legal-callout{
  background:#fff9e8;
  border:1px solid #ffe6a3;
  border-left:4px solid var(--yellow-dark);
  border-radius:10px;
  padding:16px 20px;
  margin-bottom:20px;
  font-size:.9rem;
}
.legal-callout strong{color:#8a6300;}

.legal-contact-box{
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:16px;
  padding:24px 28px;
  margin-top:8px;
}
.legal-contact-box p{margin-bottom:6px;}

.legal-cross-link{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:6px;
  font-weight:600;
  font-size:.92rem;
}

/* ===== Cookie preferences button ===== */
.legal-cookie-btn{
  display:inline-block;
  background:var(--yellow);
  color:var(--blue-900);
  font-weight:700;
  padding:10px 20px;
  border-radius:12px;
  border:none;
  cursor:pointer;
  font-size:.9rem;
  box-shadow:0 8px 18px -8px rgba(240,180,0,.6);
  transition:transform .2s;
}
.legal-cookie-btn:hover{transform:translateY(-2px); text-decoration:none;}

/* ===== Footer ===== */
.legal-footer{
  background:var(--blue-900);
  color:#c9d3f7;
  padding:32px 0;
  font-size:.85rem;
}
.legal-footer .container{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
}
.legal-footer a{color:#fff; font-weight:600;}
.legal-footer .footer-links{display:flex; gap:18px; flex-wrap:wrap;}

/* ===== Responsive ===== */
@media (max-width:720px){
  .legal-hero{padding:36px 0 32px;}
  .legal-content{padding:36px 0 60px;}
  .legal-toc{padding:20px;}
  .legal-content h2{font-size:1.1rem;}
  .legal-footer .container{flex-direction:column; align-items:flex-start;}
}
