/* ==========================================================================
   RESTITUA DIREITO — folha de estilos
   Identidade: Verde Mata (#1B4332) + Dourado champanhe (#C9A961) + Creme
   Acessibilidade: corpo >= 18px, botoes >= 48px, alto contraste, sem popup.
   ========================================================================== */

:root{
  --verde:#1B4332;
  --verde-claro:#2D6A4F;
  --verde-escuro:#12301F;
  --dourado:#C9A961;
  --dourado-escuro:#A88B44;
  --creme:#F8F5EE;
  --creme-2:#F1ECE0;
  --grafite:#1F2421;
  --cinza:#4A524C;
  --linha:#DDD5C4;
  --branco:#FFFFFF;
  --radius:6px;
  --maxw:1120px;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--creme);
  color:var(--grafite);
  font-family:var(--sans);
  font-size:19px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}

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

a{color:var(--verde);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--verde-claro);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid var(--dourado);
  outline-offset:2px;
}

h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.22;color:var(--verde);margin:0 0 .6em;}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);letter-spacing:-.01em;}
h2{font-size:clamp(1.65rem,3.2vw,2.4rem);}
h3{font-size:clamp(1.25rem,2.2vw,1.55rem);}
h4{font-size:1.15rem;font-family:var(--sans);font-weight:700;}
p{margin:0 0 1.15em;}
strong{font-weight:700;color:var(--verde-escuro);}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.narrow{max-width:800px;margin-left:auto;margin-right:auto;}
section{padding:72px 0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- Pular para o conteudo ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--dourado);color:var(--verde-escuro);
  padding:14px 20px;font-weight:700;z-index:200;}
.skip:focus{left:8px;top:8px;}

/* ---------- Cabecalho ---------- */
header.topo{background:var(--verde);color:var(--creme);position:sticky;top:0;z-index:100;
  border-bottom:2px solid var(--dourado);}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:76px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--creme);}
.marca:hover{color:var(--creme);}
.marca .selo{width:42px;height:42px;flex:0 0 42px;}
.marca-txt{font-family:var(--serif);font-size:1.28rem;font-weight:700;letter-spacing:.02em;line-height:1.1;}
.marca-txt small{display:block;font-family:var(--sans);font-size:.66rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--dourado);margin-top:2px;}

nav.menu ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap;align-items:center;}
nav.menu a{color:var(--creme);text-decoration:none;font-size:1rem;font-weight:500;
  padding:12px 14px;border-radius:var(--radius);display:inline-block;}
nav.menu a:hover{background:rgba(255,255,255,.12);color:var(--branco);}
nav.menu a.ativo{color:var(--dourado);font-weight:700;}
nav.menu a.btn-menu{background:var(--dourado);color:var(--verde-escuro);font-weight:700;padding:13px 20px;}
nav.menu a.btn-menu:hover{background:var(--branco);color:var(--verde-escuro);}

/* ---------- Botoes ---------- */
.btn{
  display:inline-block;min-height:56px;padding:16px 34px;
  font-family:var(--sans);font-size:1.08rem;font-weight:700;line-height:1.5;
  text-decoration:none;text-align:center;border:2px solid transparent;border-radius:var(--radius);
  cursor:pointer;transition:transform .12s ease,background .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-ouro{background:var(--dourado);color:var(--verde-escuro);}
.btn-ouro:hover{background:var(--dourado-escuro);color:var(--verde-escuro);}
.btn-verde{background:var(--verde);color:var(--creme);}
.btn-verde:hover{background:var(--verde-claro);color:var(--branco);}
.btn-linha{background:transparent;color:var(--verde);border-color:var(--verde);}
.btn-linha:hover{background:var(--verde);color:var(--creme);}
.btn-bloco{display:block;width:100%;}
.legenda-btn{font-size:.95rem;color:var(--cinza);margin-top:12px;}

/* ---------- Hero ---------- */
.hero{background:var(--verde);color:var(--creme);padding:80px 0 84px;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:5px;
  background:linear-gradient(90deg,var(--dourado),transparent);}
.hero h1{color:var(--creme);max-width:19ch;}
.hero .destaque{color:var(--dourado);}
.hero p.chamada{font-size:1.22rem;max-width:60ch;color:#E8E2D4;}
.hero .cta-linha{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.tarja{display:inline-block;background:rgba(201,169,97,.16);border:1px solid var(--dourado);
  color:var(--dourado);font-size:.86rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:7px 15px;border-radius:100px;margin-bottom:22px;}

/* ---------- Blocos de conteudo ---------- */
.claro{background:var(--creme);}
.claro-2{background:var(--creme-2);}
.escuro{background:var(--verde);color:var(--creme);}
.escuro h2,.escuro h3{color:var(--creme);}
.escuro strong{color:var(--dourado);}
.escuro a{color:var(--dourado);}

.olho{font-family:var(--sans);font-size:.82rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--dourado-escuro);margin-bottom:14px;}
.escuro .olho{color:var(--dourado);}

.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:34px;}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:var(--radius);
  padding:28px 26px;border-top:4px solid var(--dourado);}
.cartao h3{font-size:1.22rem;margin-bottom:.5em;}
.cartao p:last-child{margin-bottom:0;}
.escuro .cartao{background:rgba(255,255,255,.06);border-color:rgba(201,169,97,.35);color:#E8E2D4;}
.escuro .cartao h3{color:var(--dourado);}

.numero{font-family:var(--serif);font-size:2.6rem;color:var(--dourado-escuro);line-height:1;display:block;margin-bottom:10px;}
.escuro .numero{color:var(--dourado);}

/* ---------- Listas ---------- */
ul.marcada{list-style:none;padding:0;margin:0 0 1.2em;}
ul.marcada li{position:relative;padding:0 0 0 34px;margin-bottom:15px;}
ul.marcada li::before{content:"";position:absolute;left:0;top:.52em;width:16px;height:9px;
  border-left:3px solid var(--dourado-escuro);border-bottom:3px solid var(--dourado-escuro);
  transform:rotate(-45deg);}
.escuro ul.marcada li::before{border-color:var(--dourado);}
ul.simples{padding-left:22px;margin:0 0 1.2em;}
ul.simples li{margin-bottom:11px;}

/* ---------- Caixas de aviso ---------- */
.caixa{border-left:5px solid var(--dourado);background:var(--branco);padding:24px 26px;
  border-radius:0 var(--radius) var(--radius) 0;margin:28px 0;}
.caixa p:last-child{margin-bottom:0;}
.caixa-lei{background:#F3EFE3;border-left-color:var(--verde);}
.caixa-lei .fonte{font-size:.92rem;color:var(--cinza);font-style:italic;}
.caixa-atencao{background:#FBF7E9;border-left-color:var(--dourado-escuro);}
.escuro .caixa{background:rgba(255,255,255,.07);color:#E8E2D4;}

.aviso-legal{font-size:.95rem;color:var(--cinza);line-height:1.62;}

/* ---------- Tabela ---------- */
.tabela-envolve{overflow-x:auto;margin:26px 0;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;background:var(--branco);font-size:1rem;min-width:520px;}
caption{caption-side:top;text-align:left;font-size:.95rem;color:var(--cinza);padding-bottom:10px;}
th,td{padding:14px 16px;border-bottom:1px solid var(--linha);text-align:left;vertical-align:top;}
thead th{background:var(--verde);color:var(--creme);font-size:.95rem;font-weight:700;
  letter-spacing:.03em;border-bottom:none;}
tbody tr:nth-child(even){background:#FCFAF5;}

/* ---------- Perguntas frequentes ---------- */
.faq{border-top:1px solid var(--linha);}
.faq details{border-bottom:1px solid var(--linha);background:var(--branco);}
.faq summary{cursor:pointer;list-style:none;padding:22px 52px 22px 24px;position:relative;
  font-weight:700;font-size:1.08rem;color:var(--verde);min-height:56px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:22px;top:19px;font-size:1.7rem;
  color:var(--dourado-escuro);line-height:1;font-weight:400;}
.faq details[open] summary::after{content:"\2212";}
.faq summary:hover{background:#FCFAF5;}
.faq .resposta{padding:0 24px 24px;}
.faq .resposta p:last-child{margin-bottom:0;}

/* ---------- Formulario ---------- */
.form-caixa{background:var(--branco);border:1px solid var(--linha);border-top:5px solid var(--dourado);
  border-radius:var(--radius);padding:32px 30px;}
.campo{margin-bottom:22px;}
.campo label{display:block;font-weight:700;margin-bottom:8px;font-size:1.02rem;color:var(--verde-escuro);}
.campo .dica{display:block;font-weight:400;font-size:.92rem;color:var(--cinza);margin-top:-4px;margin-bottom:8px;}
.campo input[type=text],.campo input[type=email],.campo input[type=tel]{
  width:100%;min-height:56px;padding:14px 16px;font-size:1.08rem;font-family:var(--sans);
  border:2px solid var(--linha);border-radius:var(--radius);background:var(--creme);color:var(--grafite);}
.campo input:focus{border-color:var(--verde);background:var(--branco);}
fieldset{border:none;padding:0;margin:0 0 22px;}
fieldset legend{font-weight:700;font-size:1.02rem;color:var(--verde-escuro);padding:0;margin-bottom:10px;}
.radio-linha{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:2px solid var(--linha);
  border-radius:var(--radius);margin-bottom:10px;cursor:pointer;min-height:52px;background:var(--creme);}
.radio-linha:hover{border-color:var(--dourado);}
.radio-linha input{width:24px;height:24px;margin:3px 0 0;flex:0 0 24px;accent-color:var(--verde);}
.consent{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#F5F1E6;
  border:2px solid var(--linha);border-radius:var(--radius);margin-bottom:16px;cursor:pointer;}
.consent:hover{border-color:var(--dourado);}
.consent input{width:26px;height:26px;margin:2px 0 0;flex:0 0 26px;accent-color:var(--verde);}
.consent span{font-size:.99rem;line-height:1.6;}
.nota-form{font-size:.95rem;color:var(--cinza);line-height:1.6;margin-top:18px;}
.erro-form{background:#FBEAEA;border:2px solid #B3261E;color:#8C1D18;padding:14px 16px;
  border-radius:var(--radius);margin-bottom:18px;font-weight:600;display:none;}
.erro-form.ver{display:block;}
.ok-form{background:#E8F3EC;border:2px solid var(--verde-claro);color:var(--verde-escuro);
  padding:22px 24px;border-radius:var(--radius);display:none;}
.ok-form.ver{display:block;}

/* ---------- Oferta ---------- */
.oferta{background:var(--branco);border:2px solid var(--dourado);border-radius:var(--radius);
  padding:38px 32px;text-align:center;max-width:660px;margin:0 auto;}
.oferta .preco{font-family:var(--serif);font-size:3.4rem;color:var(--verde);line-height:1;margin:6px 0 4px;}
.oferta .preco-nota{font-size:1rem;color:var(--cinza);margin-bottom:24px;}
.oferta ul.marcada{text-align:left;max-width:520px;margin:0 auto 28px;}

/* ---------- Autora ---------- */
.autora{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;}
.autora .selo-autora{width:120px;height:120px;border-radius:50%;background:var(--verde);
  display:flex;align-items:center;justify-content:center;border:3px solid var(--dourado);}
.autora .selo-autora span{font-family:var(--serif);font-size:2.3rem;color:var(--dourado);}
.credenciais{list-style:none;padding:0;margin:0 0 18px;font-size:1rem;color:var(--cinza);}
.credenciais li{margin-bottom:4px;}
blockquote{margin:0;padding:20px 24px;border-left:4px solid var(--dourado);background:#F3EFE3;
  font-style:italic;font-size:1.06rem;color:var(--verde-escuro);border-radius:0 var(--radius) var(--radius) 0;}
blockquote p:last-child{margin-bottom:0;}

/* ---------- Documentos legais ---------- */
.doc{max-width:820px;margin:0 auto;}
.doc h2{margin-top:2em;padding-top:.4em;border-top:1px solid var(--linha);}
.doc h2:first-of-type{border-top:none;margin-top:1em;}
.doc h3{font-family:var(--sans);font-size:1.12rem;margin-top:1.6em;}
.doc table{font-size:.98rem;}
.doc .data-versao{font-size:.98rem;color:var(--cinza);border-bottom:1px solid var(--linha);
  padding-bottom:18px;margin-bottom:8px;}
.indice{background:var(--branco);border:1px solid var(--linha);border-radius:var(--radius);padding:24px 26px;margin:28px 0;}
.indice ol{margin:0;padding-left:22px;}
.indice li{margin-bottom:7px;}

/* ---------- Preencher ---------- */
.preencher{background:#FFF3CD;border:1px dashed #9A7B1F;color:#6B5410;
  padding:1px 8px;border-radius:3px;font-weight:700;font-size:.94em;font-family:var(--sans);}

/* ---------- Rodape ---------- */
footer.rodape{background:var(--verde-escuro);color:#CFC9BA;padding:56px 0 30px;font-size:1rem;
  border-top:4px solid var(--dourado);}
footer.rodape h4{color:var(--dourado);font-family:var(--sans);font-size:.82rem;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:16px;}
.rodape-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:36px;margin-bottom:38px;}
.rodape-grade ul{list-style:none;padding:0;margin:0;}
.rodape-grade li{margin-bottom:11px;}
.rodape-grade a{color:#CFC9BA;text-decoration:none;}
.rodape-grade a:hover{color:var(--dourado);text-decoration:underline;}
.rodape-legal{border-top:1px solid rgba(255,255,255,.14);padding-top:26px;font-size:.94rem;line-height:1.7;color:#B4AE9F;}
.rodape-legal p{margin-bottom:.9em;}
.rodape-legal strong{color:#E0DACB;}

/* ---------- Aviso de cookies ---------- */
.cookies{position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--branco);
  border-top:4px solid var(--dourado);box-shadow:0 -6px 26px rgba(0,0,0,.18);padding:22px 0;display:none;}
.cookies.ver{display:block;}
.cookies .wrap{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.cookies p{margin:0;max-width:64ch;font-size:1rem;}
.cookies .botoes{display:flex;gap:12px;flex-wrap:wrap;}
/* Os tres botoes tem o MESMO peso visual — exigencia da LGPD (nao induzir escolha). */
.cookies .botoes button{
  min-height:52px;padding:14px 22px;font-family:var(--sans);font-size:1rem;font-weight:700;
  background:var(--branco);color:var(--verde);border:2px solid var(--verde);
  border-radius:var(--radius);cursor:pointer;}
.cookies .botoes button:hover{background:var(--creme);}

/* ---------- Utilitarios ---------- */
.centro{text-align:center;}
.mt0{margin-top:0;}
.mb0{margin-bottom:0;}
.divisor{height:1px;background:var(--linha);border:none;margin:44px 0;}
.selo-conf{display:inline-flex;align-items:center;gap:10px;background:#F3EFE3;border:1px solid var(--linha);
  border-radius:100px;padding:9px 18px;font-size:.94rem;color:var(--cinza);margin:6px 8px 6px 0;}

/* ---------- Responsivo ---------- */
@media (max-width:900px){
  .topo .wrap{min-height:auto;}
  nav.menu ul{gap:2px;}
  nav.menu a{padding:11px 10px;font-size:.95rem;}
}
@media (max-width:640px){
  body{font-size:18px;}
  section{padding:52px 0;}
  .hero{padding:56px 0 60px;}
  .wrap{padding:0 18px;}
  .autora{grid-template-columns:1fr;}
  .btn{width:100%;}
  .cookies .botoes button{width:100%;}
  .oferta{padding:28px 20px;}
  .form-caixa{padding:24px 20px;}
}

@media print{
  header.topo,footer.rodape,.cookies,.btn,nav.menu{display:none!important;}
  body{background:#fff;font-size:12pt;}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
