@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400;500;600&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root {
  --ouro:      #c9a84c;
  --ouro2:     #e8c97a;
  --ouro3:     #f5e0a0;
  --ouro-dim:  rgba(201,168,76,0.10);
  --ouro-glow: rgba(201,168,76,0.22);
  --bg:        #06040a;
  --bg2:       #0a0810;
  --bg3:       #110e18;
  --bg4:       #18141f;
  --borda:     rgba(201,168,76,0.13);
  --borda2:    rgba(201,168,76,0.28);
  --texto:     #ede6d6;
  --texto2:    #c4b99a;
  --texto3:    #7a6a52;
  --verde-odu: rgba(60,110,70,0.18);
  --vermelho-odu: rgba(120,40,40,0.18);
  --fonte-titulo: 'Cinzel Decorative', serif;
  --fonte-sub:    'Cinzel', serif;
  --fonte-corpo:  'Lora', Georgia, serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background: var(--bg);
  color: var(--texto);
  font-family: var(--fonte-corpo);
  font-size: 18px;
  line-height: 1.9;
  overflow-x: hidden;
}

/* ── ESTRELAS ── */
.stars { position:fixed; inset:0; z-index:0; pointer-events:none; }
.star  { position:absolute; background:#fff; border-radius:50%; opacity:0; animation:twinkle linear infinite; }
@keyframes twinkle { 0%,100%{opacity:0} 50%{opacity:0.75} }
.nebula {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 15% 25%, rgba(61,20,92,0.38) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 85% 70%, rgba(100,20,40,0.22) 0%, transparent 70%),
    radial-gradient(ellipse 70% 40% at 50% 50%, rgba(201,168,76,0.04) 0%, transparent 70%);
}

/* ── HEADER ── */
.header {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(6,4,10,0.94);
  border-bottom:1px solid var(--borda);
  backdrop-filter:blur(14px);
  padding:14px 0;
}
.header-inner {
  max-width:1140px; margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between;
}
.logo-wrap { display:flex; align-items:center; gap:14px; }
.logo-sigil {
  font-size:30px; color:var(--ouro);
  animation:pulseOuro 3s ease-in-out infinite;
  text-shadow:0 0 18px var(--ouro-glow);
}
@keyframes pulseOuro {
  0%,100%{ text-shadow:0 0 18px var(--ouro-glow); }
  50%    { text-shadow:0 0 36px var(--ouro-glow),0 0 60px rgba(201,168,76,0.12); }
}
.logo-nome {
  font-family:var(--fonte-titulo); font-size:20px; font-weight:700;
  background:linear-gradient(135deg,var(--ouro),var(--ouro3),var(--ouro));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  letter-spacing:3px;
}
.logo-sub {
  font-family:var(--fonte-sub); font-size:10px; color:var(--texto3);
  letter-spacing:4px; text-transform:uppercase;
}
.btn-imprimir {
  font-family:var(--fonte-sub); font-size:11px; background:transparent;
  border:1px solid var(--borda2); color:var(--ouro);
  padding:8px 22px; border-radius:30px; cursor:pointer;
  letter-spacing:2px; text-transform:uppercase; transition:all .3s;
}
.btn-imprimir:hover { background:var(--ouro-dim); }

/* ── HERO ── */
.hero {
  min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center; padding:130px 32px 80px;
  position:relative; z-index:1;
}
.hero-ornament {
  font-family:var(--fonte-sub); color:var(--ouro);
  letter-spacing:8px; font-size:14px; margin:18px 0; opacity:.7;
}
.hero-title {
  font-family:var(--fonte-titulo);
  font-size:clamp(30px,5.5vw,68px); font-weight:900; line-height:1.18;
  background:linear-gradient(180deg,var(--ouro3) 0%,var(--ouro) 55%,var(--ouro2) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 28px rgba(201,168,76,.28)); margin:22px 0;
}
.hero-title em {
  font-style:italic;
  background:linear-gradient(135deg,var(--ouro3),var(--ouro2));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.hero-desc {
  max-width:680px; color:var(--texto2); font-size:20px;
  line-height:1.85; margin:20px auto 38px; font-style:italic;
  font-family:var(--fonte-corpo);
}
.btn-hero {
  display:inline-block; font-family:var(--fonte-sub); font-size:13px;
  font-weight:600; letter-spacing:3px; text-transform:uppercase;
  text-decoration:none;
  background:linear-gradient(135deg,rgba(201,168,76,.17),rgba(201,168,76,.08));
  border:1px solid var(--borda2); color:var(--ouro);
  padding:18px 52px; border-radius:50px; transition:all .4s;
  position:relative; overflow:hidden;
}
.btn-hero:hover { transform:translateY(-3px); box-shadow:0 10px 44px var(--ouro-glow); }

/* ── CARROSSEL ── */
.carrossel-wrap {
  overflow:hidden; position:relative; z-index:1;
  padding:40px 0; background:rgba(10,8,16,0.7);
  border-top:1px solid var(--borda); border-bottom:1px solid var(--borda);
  margin-bottom:0;
}
.carrossel-track {
  display:flex; gap:24px; width:max-content;
  animation:scrollDep 90s linear infinite;
}
.carrossel-track:hover { animation-play-state:paused; }
@keyframes scrollDep {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
.dep-card {
  background:rgba(17,14,24,0.92); border:1px solid var(--borda);
  border-radius:16px; padding:24px 28px; width:300px; flex-shrink:0;
  transition:border-color .3s;
}
.dep-card:hover { border-color:var(--borda2); }
.dep-card .dep-estrelas { color:var(--ouro); font-size:13px; letter-spacing:3px; margin-bottom:12px; }
.dep-card .dep-texto {
  font-family:var(--fonte-corpo); font-size:15px; color:var(--texto2);
  font-style:italic; line-height:1.75; margin-bottom:14px;
}
.dep-card .dep-autor { font-family:var(--fonte-sub); font-size:11px; color:var(--ouro); letter-spacing:1px; }
.carrossel-fade-l,
.carrossel-fade-r {
  position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none;
}
.carrossel-fade-l { left:0;  background:linear-gradient(to right,var(--bg2),transparent); }
.carrossel-fade-r { right:0; background:linear-gradient(to left, var(--bg2),transparent); }

/* ── PILARES ── */
.pilares { padding:80px 0; position:relative; z-index:1; }
.container { max-width:1140px; margin:0 auto; padding:0 32px; }
.sec-titulo-pub {
  font-family:var(--fonte-sub); font-size:11px; font-weight:600;
  color:var(--ouro); letter-spacing:5px; text-transform:uppercase;
  text-align:center; margin-bottom:48px;
}
.pilares-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.pilar {
  background:rgba(17,14,24,0.85); border:1px solid var(--borda);
  border-radius:18px; padding:34px 24px; text-align:center; transition:all .4s;
}
.pilar:hover { border-color:var(--borda2); transform:translateY(-5px); box-shadow:0 16px 48px rgba(0,0,0,.4); }
.pilar-icone { font-size:34px; color:var(--ouro); margin-bottom:16px; }
.pilar-titulo { font-family:var(--fonte-sub); font-size:13px; font-weight:600; color:var(--ouro2); letter-spacing:1px; margin-bottom:12px; }
.pilar-desc { font-family:var(--fonte-corpo); font-size:15px; color:var(--texto2); line-height:1.75; }

/* ── FORM ── */
.consulta-section { padding:80px 0 100px; position:relative; z-index:1; }
.form-wrap {
  max-width:620px; margin:0 auto;
  background:rgba(17,14,24,0.94); border:1px solid var(--borda2);
  border-radius:26px; padding:56px 48px;
  box-shadow:0 0 80px rgba(0,0,0,.6), inset 0 1px 0 rgba(201,168,76,.1);
}
.form-header { text-align:center; margin-bottom:40px; }
.form-ornament { color:var(--ouro); font-size:12px; letter-spacing:8px; margin-bottom:14px; }
.form-titulo { font-family:var(--fonte-titulo); font-size:26px; font-weight:700; color:var(--ouro2); margin-bottom:10px; }
.form-subtitulo { font-family:var(--fonte-corpo); font-size:16px; color:var(--texto2); font-style:italic; }
.form-grupo { margin-bottom:22px; }
.form-label {
  display:block; font-family:var(--fonte-sub); font-size:11px; font-weight:600;
  color:var(--ouro); letter-spacing:2px; text-transform:uppercase; margin-bottom:8px;
}
.form-input {
  width:100%; background:rgba(6,4,10,.85); border:1px solid var(--borda);
  border-radius:10px; padding:14px 18px; color:var(--texto);
  font-family:var(--fonte-corpo); font-size:17px; outline:none; transition:border-color .3s;
}
.form-input:focus { border-color:var(--borda2); box-shadow:0 0 0 3px var(--ouro-dim); }
.form-input::placeholder { color:var(--texto3); }
.form-hint { font-size:13px; color:var(--texto3); margin-top:5px; display:block; font-style:italic; font-family:var(--fonte-corpo); }
.opcional { color:var(--texto3); font-size:13px; }
.form-valor {
  display:flex; justify-content:space-between; align-items:center;
  background:var(--ouro-dim); border:1px solid var(--borda2);
  border-radius:10px; padding:16px 20px; margin-bottom:22px;
}
.valor-desc { font-family:var(--fonte-sub); font-size:13px; color:var(--texto2); }
.valor-preco { font-family:var(--fonte-sub); font-size:24px; font-weight:700; color:var(--ouro); }
.btn-submit {
  width:100%; padding:18px; cursor:pointer; letter-spacing:2px;
  background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(201,168,76,.1));
  border:1px solid var(--borda2); border-radius:12px;
  font-family:var(--fonte-sub); font-size:13px; font-weight:600;
  color:var(--ouro); text-transform:uppercase; transition:all .3s;
}
.btn-submit:hover { background:linear-gradient(135deg,rgba(201,168,76,.3),rgba(201,168,76,.15)); box-shadow:0 6px 32px var(--ouro-glow); transform:translateY(-1px); }
.form-aviso { font-size:13px; color:var(--texto3); text-align:center; margin-top:14px; font-style:italic; font-family:var(--fonte-corpo); }

/* ── DEPOIMENTOS FIXOS ── */
.depoimentos-fixos { padding:72px 0 80px; position:relative; z-index:1; }
.dep-grid-fixo { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.dep-fixo {
  background:rgba(17,14,24,0.85); border:1px solid var(--borda);
  border-radius:18px; padding:34px 28px; transition:border-color .3s;
}
.dep-fixo:hover { border-color:var(--borda2); }
.dep-fixo .dep-estrelas { color:var(--ouro); font-size:14px; letter-spacing:3px; margin-bottom:14px; }
.dep-fixo .dep-texto { font-family:var(--fonte-corpo); font-size:17px; color:var(--texto2); font-style:italic; line-height:1.82; margin-bottom:16px; }
.dep-fixo .dep-autor { font-family:var(--fonte-sub); font-size:12px; color:var(--ouro); letter-spacing:1px; }

/* ── FOOTER ── */
.footer { padding:56px 32px; text-align:center; border-top:1px solid var(--borda); position:relative; z-index:1; }
.footer-mini { padding:28px 32px; }
.footer-sigil { font-size:24px; color:var(--ouro); margin-bottom:12px; }
.footer-nome { font-family:var(--fonte-titulo); font-size:18px; color:var(--ouro2); margin-bottom:8px; }
.footer-desc { font-family:var(--fonte-sub); font-size:11px; color:var(--texto3); letter-spacing:3px; text-transform:uppercase; margin-bottom:18px; }
.footer-aviso { font-family:var(--fonte-corpo); font-size:14px; color:var(--texto3); max-width:600px; margin:0 auto; font-style:italic; line-height:1.75; }

/* ── PAGAMENTO ── */
.pag-section { padding:120px 0 80px; position:relative; z-index:1; }
.pag-wrap { max-width:580px; margin:0 auto; }
.pag-header { text-align:center; margin-bottom:36px; }
.pag-ornament { color:var(--ouro); letter-spacing:8px; font-size:14px; margin-bottom:14px; }
.pag-titulo { font-family:var(--fonte-titulo); font-size:30px; font-weight:700; color:var(--ouro2); margin-bottom:10px; line-height:1.3; }
.pag-titulo em { font-style:italic; color:var(--ouro3); }
.pag-subtitulo { font-family:var(--fonte-corpo); font-size:17px; color:var(--texto2); font-style:italic; }
.pag-card { background:rgba(17,14,24,.97); border:1px solid var(--borda2); border-radius:22px; padding:40px; box-shadow:0 0 60px rgba(0,0,0,.5); }
.pag-resumo { margin-bottom:28px; padding-bottom:22px; border-bottom:1px solid var(--borda); }
.resumo-linha { display:flex; justify-content:space-between; align-items:center; padding:7px 0; }
.resumo-label { font-family:var(--fonte-sub); font-size:11px; color:var(--texto3); letter-spacing:1px; text-transform:uppercase; }
.resumo-valor { font-family:var(--fonte-corpo); font-size:16px; color:var(--texto); }
.dourado { color:var(--ouro)!important; font-weight:700; font-size:22px!important; font-family:var(--fonte-sub)!important; }
.pix-titulo { font-family:var(--fonte-sub); font-size:12px; font-weight:600; color:var(--ouro); letter-spacing:3px; text-transform:uppercase; margin-bottom:22px; text-align:center; }
.pix-instrucoes { display:flex; flex-direction:column; gap:11px; margin-bottom:22px; }
.pix-passo { display:flex; align-items:flex-start; gap:14px; }
.passo-num { width:28px; height:28px; border-radius:50%; background:var(--ouro-dim); border:1px solid var(--borda2); display:flex; align-items:center; justify-content:center; font-family:var(--fonte-sub); font-size:12px; color:var(--ouro); flex-shrink:0; margin-top:2px; }
.passo-texto { font-family:var(--fonte-corpo); font-size:15px; color:var(--texto2); line-height:1.65; }
.pix-chave-label { font-family:var(--fonte-sub); font-size:10px; color:var(--texto3); letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.pix-chave-box { display:flex; align-items:center; background:rgba(6,4,10,.8); border:1px solid var(--borda2); border-radius:10px; padding:14px 16px; gap:12px; margin-bottom:14px; }
#pix-chave { flex:1; font-family:var(--fonte-sub); font-size:14px; color:var(--ouro2); word-break:break-all; }
.pix-copiar { background:var(--ouro-dim); border:1px solid var(--borda2); border-radius:6px; padding:6px 14px; font-family:var(--fonte-sub); font-size:11px; color:var(--ouro); cursor:pointer; transition:all .2s; flex-shrink:0; }
.pix-copiar:hover,.pix-copiar.copiado { background:rgba(201,168,76,.25); }
.pix-beneficiario { font-family:var(--fonte-corpo); font-size:14px; color:var(--texto3); text-align:center; font-style:italic; margin-bottom:20px; }
.pag-aguardando { display:flex; align-items:center; gap:10px; justify-content:center; padding:12px; font-family:var(--fonte-sub); font-size:11px; color:var(--texto3); letter-spacing:1px; }
.aguardando-dot { width:8px; height:8px; background:var(--ouro); border-radius:50%; animation:pulseOuro 1.5s ease-in-out infinite; }
.pag-confirmado { display:none; align-items:center; gap:12px; justify-content:center; padding:12px; font-family:var(--fonte-sub); font-size:13px; color:#7bc47f; }
.confirmado-icon { font-size:20px; }
.btn-pago { width:100%; padding:17px; background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(201,168,76,.1)); border:1px solid var(--borda2); border-radius:12px; font-family:var(--fonte-sub); font-size:13px; font-weight:600; color:var(--ouro); cursor:pointer; letter-spacing:2px; text-transform:uppercase; transition:all .3s; margin-bottom:14px; }
.btn-pago:hover:not(:disabled) { background:linear-gradient(135deg,rgba(201,168,76,.3),rgba(201,168,76,.15)); }
.btn-pago:disabled { opacity:.6; cursor:not-allowed; }
.pag-garantia { text-align:center; font-family:var(--fonte-corpo); font-size:13px; color:var(--texto3); font-style:italic; }

/* ── CONFIRMAÇÃO ── */
.confirmacao-section { padding:120px 32px 80px; min-height:80vh; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.confirmacao-card { max-width:520px; background:rgba(17,14,24,.97); border:1px solid var(--borda2); border-radius:24px; padding:60px 48px; text-align:center; }
.confirmacao-icone { font-size:56px; margin-bottom:24px; animation:pulseOuro 2s ease-in-out infinite; }
.confirmacao-titulo { font-family:var(--fonte-titulo); font-size:26px; color:var(--ouro2); margin-bottom:12px; }
.confirmacao-texto { font-family:var(--fonte-corpo); font-size:17px; color:var(--texto2); line-height:1.8; margin-bottom:32px; font-style:italic; }
.confirmacao-consulente { font-family:var(--fonte-sub); font-size:14px; color:var(--ouro); letter-spacing:2px; margin-bottom:8px; }
.btn-resultado { display:inline-block; font-family:var(--fonte-sub); font-size:13px; font-weight:600; letter-spacing:3px; text-transform:uppercase; text-decoration:none; background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(201,168,76,.1)); border:1px solid var(--borda2); color:var(--ouro); padding:18px 48px; border-radius:50px; transition:all .4s; }
.btn-resultado:hover { transform:translateY(-2px); box-shadow:0 8px 36px var(--ouro-glow); }

/* ── RESULTADO ── */
.resultado-page { background:var(--bg2); }
.resultado-capa {
  min-height:58vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  padding:120px 32px 56px; position:relative; z-index:1;
  border-bottom:1px solid var(--borda);
  background:radial-gradient(ellipse 80% 60% at 50% 50%, rgba(61,20,92,0.25) 0%, transparent 70%);
}
.capa-num { font-family:var(--fonte-sub); font-size:11px; color:var(--texto3); letter-spacing:4px; text-transform:uppercase; margin-bottom:8px; }
.capa-titulo-pre { font-family:var(--fonte-sub); font-size:12px; color:var(--texto3); letter-spacing:5px; text-transform:uppercase; margin-bottom:14px; }
.capa-nome { font-family:var(--fonte-titulo); font-size:clamp(22px,4.5vw,52px); font-weight:900; background:linear-gradient(180deg,var(--ouro3),var(--ouro)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:12px; filter:drop-shadow(0 0 18px rgba(201,168,76,.28)); }
.capa-data { font-family:var(--fonte-sub); font-size:12px; color:var(--texto3); letter-spacing:3px; margin-bottom:20px; }
.capa-dados-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:8px; }
.capa-dado { font-family:var(--fonte-sub); font-size:13px; color:var(--texto2); }
.capa-dado strong { color:var(--ouro); }
.capa-sep { color:var(--borda2); }
.capa-autenticidade { font-family:var(--fonte-corpo); font-size:13px; color:var(--texto3); font-style:italic; margin-top:16px; }

/* ── SEÇÕES DO RESULTADO ── */
.resultado-corpo { position:relative; z-index:1; }
.container-resultado { max-width:880px; margin:0 auto; padding:56px 32px 100px; }

.secao { margin-bottom:52px; border:1px solid var(--borda); border-radius:22px; overflow:hidden; background:rgba(17,14,24,0.75); }
.secao-escura { background:rgba(6,4,10,0.92); border-color:rgba(201,168,76,0.22); }
.secao-orientacao { background:linear-gradient(135deg,rgba(61,20,92,0.28),rgba(100,20,40,0.2)); border-color:var(--borda2); }
.secao-mensagem { background:linear-gradient(135deg,rgba(40,15,70,0.4),rgba(100,20,40,0.25)); border-color:var(--borda2); text-align:center; padding:60px 48px; }

.secao-header { display:flex; align-items:center; gap:18px; padding:26px 34px; border-bottom:1px solid var(--borda); background:rgba(6,4,10,0.5); }
.secao-icone { font-size:28px; color:var(--ouro); width:42px; text-align:center; flex-shrink:0; }
.secao-categoria { font-family:var(--fonte-sub); font-size:10px; color:var(--texto3); letter-spacing:3px; text-transform:uppercase; margin-bottom:4px; }
.secao-titulo { font-family:var(--fonte-sub); font-size:20px; font-weight:600; color:var(--ouro2); line-height:1.3; }
.secao-corpo { padding:34px; }

/* TEXTOS — fonte legível para idosos */
.texto-principal {
  font-family:var(--fonte-corpo); font-size:19px; color:var(--texto);
  line-height:2; margin-bottom:22px;
}
.texto-corpo {
  font-family:var(--fonte-corpo); font-size:18px; color:var(--texto2);
  line-height:2; margin-bottom:0;
}

/* BLOCOS */
.bloco-destaque {
  background:rgba(201,168,76,0.04); border:1px solid var(--borda);
  border-left:3px solid var(--ouro); border-radius:0 14px 14px 0;
  padding:26px 30px; margin-bottom:22px;
}
.bloco-escuro { background:rgba(6,4,10,0.6); border-color:rgba(201,168,76,0.18); }
.bloco-verde  { background:var(--verde-odu);    border-color:rgba(60,120,60,0.25); border-left-color:rgba(80,160,80,0.6); }
.bloco-verm   { background:var(--vermelho-odu); border-color:rgba(140,40,40,0.25); border-left-color:rgba(180,60,60,0.5); }
.bloco-titulo {
  font-family:var(--fonte-sub); font-size:12px; font-weight:600;
  color:var(--ouro); letter-spacing:1.5px; margin-bottom:14px; text-transform:uppercase;
}
.bloco-destaque p, .bloco-verde p, .bloco-verm p {
  font-family:var(--fonte-corpo); font-size:18px; color:var(--texto2); line-height:2;
}

.dois-blocos { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.bloco-item { padding:22px 26px; border-radius:14px; border:1px solid; }
.bloco-item.verde { background:var(--verde-odu); border-color:rgba(60,120,60,0.22); }
.bloco-item.verm  { background:var(--vermelho-odu); border-color:rgba(140,40,40,0.22); }
.bloco-item-titulo { font-family:var(--fonte-sub); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; color:var(--ouro); }
.bloco-item p { font-family:var(--fonte-corpo); font-size:17px; color:var(--texto2); line-height:1.9; }

/* ATRIBUTOS */
.atributos-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.atributo { background:rgba(6,4,10,0.6); border:1px solid var(--borda); border-radius:12px; padding:16px; text-align:center; }
.atributo-escuro { background:rgba(201,168,76,0.03); }
.atributo-label { font-family:var(--fonte-sub); font-size:9px; color:var(--texto3); letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.atributo-valor { font-family:var(--fonte-corpo); font-size:15px; color:var(--ouro2); font-weight:500; line-height:1.5; }

/* ORIENTAÇÃO (Ebó / Ritual) */
.orientacao-box {
  background:linear-gradient(135deg,rgba(40,15,70,0.4),rgba(20,8,35,0.6));
  border:1px solid var(--borda2); border-radius:18px; padding:32px 34px; margin-top:22px;
}
.orientacao-titulo { font-family:var(--fonte-sub); font-size:13px; font-weight:600; color:var(--ouro); letter-spacing:2px; text-transform:uppercase; margin-bottom:18px; }
.orientacao-item { display:flex; gap:14px; margin-bottom:16px; align-items:flex-start; }
.orientacao-icone { font-size:18px; flex-shrink:0; margin-top:3px; }
.orientacao-texto { font-family:var(--fonte-corpo); font-size:17px; color:var(--texto2); line-height:1.85; }

/* MENSAGEM */
.mensagem-ornament { color:var(--ouro); letter-spacing:12px; font-size:14px; margin:18px 0; }
.mensagem-categoria { font-family:var(--fonte-sub); font-size:11px; color:var(--texto3); letter-spacing:4px; text-transform:uppercase; margin-bottom:30px; }
.mensagem-texto {
  font-family:var(--fonte-corpo); font-size:21px; line-height:2.05;
  color:var(--texto); font-style:italic; max-width:720px; margin:0 auto 30px;
  border:none; quotes:"\201C""\201D";
}
.mensagem-texto::before { content:open-quote;  color:var(--ouro); font-size:52px; line-height:0; vertical-align:-22px; margin-right:4px; }
.mensagem-texto::after  { content:close-quote; color:var(--ouro); font-size:52px; line-height:0; vertical-align:-22px; margin-left:4px; }
.mensagem-assinatura { font-family:var(--fonte-sub); font-size:12px; color:var(--texto3); letter-spacing:4px; text-transform:uppercase; }

/* ADMIN */
.admin-body { font-family:var(--fonte-sub); background:#080610; color:var(--texto); }
.admin-header { background:rgba(6,4,10,.98); border-bottom:1px solid var(--borda); padding:20px 32px; display:flex; align-items:center; justify-content:space-between; }
.admin-titulo { font-family:var(--fonte-titulo); font-size:17px; color:var(--ouro2); }
.admin-nav a { font-family:var(--fonte-sub); font-size:11px; color:var(--texto3); text-decoration:none; letter-spacing:2px; text-transform:uppercase; padding:8px 16px; border:1px solid var(--borda); border-radius:6px; transition:all .2s; }
.admin-nav a:hover { color:var(--ouro); border-color:var(--borda2); }
.admin-main { max-width:1240px; margin:0 auto; padding:40px 32px; }
.admin-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:36px; }
.admin-stat { background:rgba(17,14,24,.9); border:1px solid var(--borda); border-radius:14px; padding:24px; text-align:center; }
.stat-num { font-family:var(--fonte-titulo); font-size:34px; color:var(--ouro); margin-bottom:6px; }
.stat-label { font-family:var(--fonte-sub); font-size:10px; color:var(--texto3); letter-spacing:2px; text-transform:uppercase; }
.admin-table-wrap { background:rgba(17,14,24,.9); border:1px solid var(--borda); border-radius:18px; overflow:hidden; }
.admin-table-header { padding:20px 28px; border-bottom:1px solid var(--borda); display:flex; align-items:center; justify-content:space-between; }
.admin-table-titulo { font-family:var(--fonte-sub); font-size:13px; font-weight:600; color:var(--ouro2); letter-spacing:2px; }
table { width:100%; border-collapse:collapse; font-family:var(--fonte-corpo); font-size:15px; }
th { text-align:left; padding:13px 18px; font-family:var(--fonte-sub); font-size:9px; color:var(--texto3); letter-spacing:2px; text-transform:uppercase; border-bottom:1px solid var(--borda); }
td { padding:14px 18px; border-bottom:1px solid rgba(201,168,76,.05); color:var(--texto2); vertical-align:middle; }
tr:last-child td { border-bottom:none; }
tr:hover td { background:var(--ouro-dim); }
.badge-pago { background:rgba(50,110,50,.2); color:#7bc47f; border:1px solid rgba(80,170,80,.2); border-radius:20px; padding:3px 12px; font-size:11px; font-family:var(--fonte-sub); }
.badge-pendente { background:var(--ouro-dim); color:var(--ouro); border:1px solid var(--borda); border-radius:20px; padding:3px 12px; font-size:11px; font-family:var(--fonte-sub); }
.btn-confirmar { background:rgba(50,110,50,.2); border:1px solid rgba(80,170,80,.28); color:#7bc47f; border-radius:6px; padding:6px 13px; font-family:var(--fonte-sub); font-size:10px; letter-spacing:1px; cursor:pointer; transition:all .2s; }
.btn-confirmar:hover { background:rgba(50,110,50,.3); }
.btn-ver { background:var(--ouro-dim); border:1px solid var(--borda); color:var(--ouro); border-radius:6px; padding:6px 13px; font-family:var(--fonte-sub); font-size:10px; letter-spacing:1px; text-decoration:none; display:inline-block; transition:all .2s; }
.btn-ver:hover { background:rgba(201,168,76,.2); }
.btn-estornar { background:rgba(120,30,30,.15); border:1px solid rgba(180,50,50,.2); color:#c47b7b; border-radius:6px; padding:6px 13px; font-family:var(--fonte-sub); font-size:10px; cursor:pointer; }
textarea.obs-input { width:100%; background:rgba(6,4,10,.8); border:1px solid var(--borda); border-radius:8px; padding:10px 13px; color:var(--texto2); font-family:var(--fonte-corpo); font-size:14px; resize:vertical; min-height:60px; outline:none; }
textarea.obs-input:focus { border-color:var(--borda2); }

/* LOGIN ADMIN */
.admin-login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--bg); }
.admin-login-box { background:rgba(17,14,24,.97); border:1px solid var(--borda2); border-radius:22px; padding:52px; width:400px; text-align:center; }
.admin-login-titulo { font-family:var(--fonte-titulo); font-size:20px; color:var(--ouro2); margin-bottom:8px; }
.admin-login-sub { font-family:var(--fonte-corpo); font-size:14px; color:var(--texto3); margin-bottom:32px; font-style:italic; }
.admin-login-erro { background:rgba(120,30,30,.15); border:1px solid rgba(180,50,50,.2); color:#c47b7b; border-radius:8px; padding:10px; font-family:var(--fonte-corpo); font-size:14px; margin-bottom:16px; }

/* ── PRINT ── */
@media print {
  @page { margin:18mm 16mm; size:A4; }
  .header,.btn-imprimir,.stars,.nebula,footer,.capa-ornament { display:none!important; }
  body { background:#fff!important; color:#1a1a1a!important; font-size:12pt; line-height:1.7; }
  .resultado-capa { background:#fff!important; border-bottom:2px solid #c9a84c!important; min-height:auto!important; padding:20px 0 24px!important; }
  .capa-nome { color:#5a3e00!important; -webkit-text-fill-color:#5a3e00!important; font-size:24pt!important; }
  .capa-titulo-pre,.capa-data,.capa-dado { color:#555!important; }
  .capa-dado strong { color:#7a5a00!important; }
  .secao { background:#fff!important; border:1px solid #d4b860!important; border-radius:8px!important; break-inside:avoid; margin-bottom:18px!important; }
  .secao-header { background:#fdf8ee!important; border-bottom:1px solid #d4b860!important; }
  .secao-titulo { color:#5a3e00!important; }
  .secao-categoria { color:#888!important; }
  .secao-corpo { padding:18px 22px!important; }
  .texto-principal,.texto-corpo { color:#222!important; font-size:11pt!important; }
  .bloco-destaque { background:#fdf8ee!important; border-color:#d4b860!important; border-left-color:#c9a84c!important; }
  .bloco-destaque p,.bloco-verde p,.bloco-verm p { color:#333!important; font-size:11pt!important; }
  .bloco-titulo { color:#7a5a00!important; }
  .atributo { background:#f8f4ea!important; border-color:#e0c97a!important; }
  .atributo-valor { color:#5a3e00!important; font-size:10pt!important; }
  .atributo-label { color:#888!important; }
  .secao-escura { background:#fff!important; }
  .secao-mensagem { background:#fdf8ee!important; border:2px solid #c9a84c!important; }
  .mensagem-texto { color:#1a1a1a!important; font-size:13pt!important; }
  .mensagem-texto::before,.mensagem-texto::after { color:#c9a84c!important; }
  .mensagem-categoria,.mensagem-ornament,.mensagem-assinatura { color:#888!important; }
  .orientacao-box { background:#fdf8ee!important; border-color:#d4b860!important; }
  .orientacao-texto { color:#333!important; font-size:11pt!important; }
  .dois-blocos { grid-template-columns:1fr 1fr!important; }
  .bloco-item.verde { background:#f0f8f0!important; border-color:#a0c8a0!important; }
  .bloco-item.verm  { background:#fdf0f0!important; border-color:#d0a0a0!important; }
  .bloco-item p { color:#333!important; font-size:10pt!important; }
  .print-break { break-before:page; }
}

/* ── RESPONSIVO ── */
@media(max-width:900px) {
  .pilares-grid { grid-template-columns:1fr 1fr; }
  .dep-grid-fixo { grid-template-columns:1fr; }
  .dois-blocos { grid-template-columns:1fr; }
  .atributos-grid { grid-template-columns:1fr 1fr; }
  .admin-stats { grid-template-columns:1fr; }
  .form-wrap { padding:34px 22px; }
  .secao-corpo { padding:22px 18px; }
  .capa-dados-row { flex-direction:column; gap:6px; }
  .secao-mensagem { padding:40px 24px; }
}
@media(max-width:560px) {
  .pilares-grid { grid-template-columns:1fr; }
  .hero-title { font-size:28px; }
  .atributos-grid { grid-template-columns:1fr; }
  .mensagem-texto { font-size:18px; }
}
