/* ── RESET & VARIÁVEIS ── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --bg:        #080612;
  --bg2:       #100d20;
  --gold:      #C9A84C;
  --gold-lite: #E8C96B;
  --gold-dim:  #7a6228;
  --cream:     #F0E6C8;
  --muted:     #a89a7a;
  --amethyst:  #6B4F9E;
  --wpp:       #25D366;
}

html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--cream);
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 18px;
  line-height: 1.7;
  overflow-x: hidden;
}

/* ── CANVAS DE ESTRELAS ── */
#stars-canvas {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .55;
}

/* ── NAVEGAÇÃO ── */
nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 5%;
  background: linear-gradient(to bottom, rgba(8,6,18,.95), transparent);
  backdrop-filter: blur(4px);
}

.nav-logo {
  font-family: 'Cinzel', serif;
  font-size: 1.5rem;
  color: var(--gold);
  letter-spacing: .2em;
  text-decoration: none;
}

.nav-links {
  display: flex;
  gap: 28px;
  list-style: none;
}

.nav-links a {
  color: var(--muted);
  text-decoration: none;
  font-family: 'Cinzel', serif;
  font-size: .75rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  transition: color .3s;
}

.nav-links a:hover { color: var(--gold); }

/* ── HERO ── */
#hero {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 120px 6% 80px;
}

.hero-eyebrow {
  font-family: 'Cinzel', serif;
  font-size: .72rem;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: var(--gold-dim);
  margin-bottom: 20px;
}

.hero-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(3.5rem, 10vw, 7rem);
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .12em;
  line-height: 1;
  text-shadow:
    0 0 60px rgba(201,168,76,.35),
    0 0 120px rgba(107,79,158,.2);
  margin-bottom: 8px;
}

.hero-sub {
  font-family: 'Cinzel', serif;
  font-size: clamp(.8rem, 2vw, 1rem);
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 32px;
}

.hero-divider {
  width: 120px;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  margin: 0 auto 32px;
}

.hero-desc {
  max-width: 540px;
  color: var(--cream);
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.8;
  margin-bottom: 48px;
  opacity: .85;
}

/* TIRAGEM DE TAROT */
.tarot-wrapper{overflow:hidden}.tarot-section{max-width:1280px;text-align:center}.tarot-intro{max-width:680px;margin:-22px auto 28px;color:var(--muted);font-style:italic}.tarot-progress{display:flex;justify-content:center;align-items:center;gap:16px;font-family:'Cinzel',serif;color:var(--gold-lite);font-size:.78rem;margin-bottom:26px}.progress-dots{display:flex;gap:7px}.progress-dots i{width:8px;height:8px;border:1px solid var(--gold-dim);border-radius:50%}.progress-dots i.active{background:var(--gold);box-shadow:0 0 12px rgba(201,168,76,.65)}.tarot-deck{display:grid;grid-template-columns:repeat(11,minmax(54px,1fr));gap:10px;max-width:1120px;margin:0 auto}.deck-card{aspect-ratio:2/3;border:0;padding:0;background:none;border-radius:7px;cursor:pointer;transition:.25s}.deck-card:hover,.deck-card:focus-visible{transform:translateY(-8px);filter:drop-shadow(0 10px 14px rgba(201,168,76,.25));outline:none}.deck-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:7px;border:1px solid var(--gold-dim)}.deck-card.chosen{transform:translateY(-10px);opacity:.3;pointer-events:none}.reading-panel{margin-top:52px;animation:tarotReveal .55s ease both}.selected-cards{display:grid;grid-template-columns:repeat(3,minmax(140px,210px));justify-content:center;gap:clamp(15px,4vw,40px);margin-bottom:42px}.selected-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--gold);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.45)}.selected-position{display:block;font-family:'Cinzel',serif;color:var(--gold-lite);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.selected-name{color:var(--cream)}.tarot-form{max-width:650px;margin:0 auto;padding:32px;border:1px solid var(--gold-dim);background:rgba(8,6,18,.68);text-align:left}.tarot-form label{display:block;font-family:'Cinzel',serif;color:var(--gold);margin-bottom:12px}.tarot-form textarea{width:100%;resize:vertical;border:1px solid var(--gold-dim);background:#080612;color:var(--cream);font:inherit;padding:15px;outline:none}.question-help{color:var(--muted);font-size:.82rem;margin:8px 0 20px}.btn-tarot{width:100%;border:1px solid var(--gold);background:linear-gradient(135deg,#7a6228,#c9a84c);color:#080612;font-family:'Cinzel',serif;font-weight:700;padding:15px;cursor:pointer}.tarot-result{max-width:760px;margin:45px auto 0;padding:35px;border:1px solid var(--gold-dim);background:linear-gradient(150deg,rgba(201,168,76,.08),rgba(107,79,158,.09));text-align:left;animation:tarotReveal .5s ease both}.tarot-result h3{font-family:'Cinzel',serif;color:var(--gold);text-align:center}.tarot-result p{margin-bottom:15px}.result-note{color:var(--muted);font-size:.86rem;font-style:italic;border-top:1px solid var(--gold-dim);padding-top:16px}.new-reading{display:block;margin:24px auto 0;background:transparent;color:var(--gold-lite);border:1px solid var(--gold-dim);padding:12px 22px;font-family:'Cinzel',serif;cursor:pointer}@keyframes tarotReveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.question-first{max-width:650px;margin:0 auto 30px;text-align:left;position:relative}.question-first label{display:block;font-family:'Cinzel',serif;color:var(--gold);font-size:.85rem;margin-bottom:10px}.question-first textarea{width:100%;resize:vertical;border:1px solid var(--gold-dim);background:rgba(8,6,18,.8);color:var(--cream);font:inherit;padding:15px 15px 28px;outline:none}.question-first textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.1)}#question-count{position:absolute;right:11px;bottom:7px;color:var(--muted);font-size:.72rem}.deck-card.reveal{animation:cardPulse .45s ease}@keyframes cardPulse{50%{transform:translateY(-14px) scale(1.04);filter:drop-shadow(0 0 18px rgba(201,168,76,.7))}}.reading-block{margin:25px 0;padding-left:18px;border-left:2px solid var(--gold-dim)}.reading-block h4{font-family:'Cinzel',serif;color:var(--gold-lite);font-size:.9rem;margin-bottom:7px}.reading-theme{text-align:center;color:var(--muted);font-style:italic}.reading-synthesis{background:rgba(201,168,76,.05);padding:20px;border:1px solid rgba(201,168,76,.2)}

.spread-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:850px;margin:-15px auto 40px}.spread-option{border:1px solid var(--gold-dim);background:rgba(8,6,18,.55);color:var(--gold-dim);padding:14px 12px;font-family:'Cinzel',serif;font-size:.7rem;cursor:pointer;transition:.25s}.spread-option span{display:block;color:var(--cream);font-size:.78rem;margin-top:4px}.spread-option:hover,.spread-option.active{border-color:var(--gold);color:var(--gold-lite);background:rgba(201,168,76,.09);transform:translateY(-2px)}.selected-cards.afrodite-layout{grid-template-columns:repeat(3,minmax(110px,170px));grid-template-areas:'c1 c7 c4' 'c2 c7 c5' 'c3 c7 c6';align-items:center}.selected-cards.caminho-layout{grid-template-columns:repeat(3,minmax(110px,170px));grid-template-areas:'. c3 .' 'c1 c5 c2' '. c4 .'}.selected-cards.afrodite-layout .selected-card:nth-child(1),.selected-cards.caminho-layout .selected-card:nth-child(1){grid-area:c1}.selected-cards.afrodite-layout .selected-card:nth-child(2),.selected-cards.caminho-layout .selected-card:nth-child(2){grid-area:c2}.selected-cards.afrodite-layout .selected-card:nth-child(3),.selected-cards.caminho-layout .selected-card:nth-child(3){grid-area:c3}.selected-cards.afrodite-layout .selected-card:nth-child(4),.selected-cards.caminho-layout .selected-card:nth-child(4){grid-area:c4}.selected-cards.afrodite-layout .selected-card:nth-child(5),.selected-cards.caminho-layout .selected-card:nth-child(5){grid-area:c5}.selected-cards.afrodite-layout .selected-card:nth-child(6){grid-area:c6}.selected-cards.afrodite-layout .selected-card:nth-child(7){grid-area:c7}.selected-cards.afrodite-layout .selected-card:nth-child(7){max-width:150px;justify-self:center}.reading-group{margin:28px 0;padding:18px;border:1px solid rgba(201,168,76,.18)}.reading-group h4{font-family:'Cinzel',serif;color:var(--gold);margin-bottom:10px}.reading-group .reading-block{margin:15px 0}

/* ── BOTÃO WHATSAPP ── */
.btn-wpp {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #1a9e4f, var(--wpp));
  color: #fff;
  font-family: 'Cinzel', serif;
  font-size: .85rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 16px 36px;
  border-radius: 2px;
  box-shadow: 0 4px 30px rgba(37,211,102,.25);
  transition: transform .25s, box-shadow .25s;
}

.btn-wpp:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 40px rgba(37,211,102,.4);
}

.btn-wpp svg {
  width: 20px;
  height: 20px;
  fill: white;
}

/* ── SEÇÕES: WRAPPER LARGURA TOTAL + INNER CENTRALIZADO ── */
.section-wrapper {
  position: relative;
  z-index: 1;
  width: 100%;
}

.section-wrapper.bg-grad {
  background: linear-gradient(to bottom, var(--bg), var(--bg2));
}

.section-wrapper.bg-dark {
  background: var(--bg);
}

.section-wrapper.bg-mid {
  background: var(--bg2);
}

.section-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 90px 6%;
}

.section-label {
  font-family: 'Cinzel', serif;
  font-size: .7rem;
  letter-spacing: .45em;
  text-transform: uppercase;
  color: var(--gold-dim);
  text-align: center;
  margin-bottom: 10px;
}

.section-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 600;
  color: var(--gold);
  text-align: center;
  margin-bottom: 16px;
  line-height: 1.3;
}

.section-line {
  width: 80px;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  margin: 0 auto 50px;
}

/* ── SOBRE ── */
.sobre-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.sobre-text p {
  color: var(--cream);
  opacity: .85;
  margin-bottom: 16px;
}

.sobre-selos {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.selo {
  border: 1px solid var(--gold-dim);
  padding: 20px 26px;
  background: rgba(201,168,76,.04);
}

.selo-titulo {
  font-family: 'Cinzel', serif;
  font-size: .8rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}

.selo p {
  font-size: .95rem;
  color: var(--muted);
  margin: 0;
}

/* ── SERVIÇOS ── */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}

.card {
  border: 1px solid var(--gold-dim);
  background: linear-gradient(160deg, rgba(201,168,76,.06), rgba(107,79,158,.04));
  padding: 36px 30px;
  transition: border-color .3s, transform .3s;
}

.card:hover {
  border-color: var(--gold);
  transform: translateY(-4px);
}

.card-icon { font-size: 2rem; margin-bottom: 16px; }

.card-nome {
  font-family: 'Cinzel', serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--gold);
  margin-bottom: 12px;
  letter-spacing: .05em;
}

.card-desc {
  color: var(--muted);
  font-size: .95rem;
  line-height: 1.6;
  margin-bottom: 20px;
}

.card-preco {
  font-family: 'Cinzel', serif;
  font-size: .8rem;
  color: var(--cream);
  border-top: 1px solid var(--gold-dim);
  padding-top: 16px;
  line-height: 1.9;
}

.preco-valor {
  color: var(--gold-lite);
  font-weight: 600;
}

/* ── COMO FUNCIONA ── */
.passos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 32px;
  counter-reset: passos;
}

.passo {
  text-align: center;
  padding: 32px 20px;
  counter-increment: passos;
}

.passo::before {
  content: counter(passos, decimal-leading-zero);
  font-family: 'Cinzel', serif;
  font-size: 2.5rem;
  color: var(--gold-dim);
  opacity: .4;
  display: block;
  margin-bottom: 12px;
  line-height: 1;
}

.passo-icone { font-size: 1.8rem; margin-bottom: 12px; }

.passo-titulo {
  font-family: 'Cinzel', serif;
  font-size: .85rem;
  letter-spacing: .1em;
  color: var(--gold);
  margin-bottom: 10px;
  text-transform: uppercase;
}

.passo p { color: var(--muted); font-size: .95rem; }

.aviso {
  border-left: 2px solid var(--gold-dim);
  padding: 20px 28px;
  background: rgba(201,168,76,.04);
  margin-top: 50px;
  font-style: italic;
  color: var(--muted);
  font-size: .95rem;
  text-align: center;
}

/* ── CONTATO ── */
.cta-box {
  border: 1px solid var(--gold-dim);
  padding: 60px 40px;
  background: linear-gradient(160deg, rgba(201,168,76,.06), rgba(107,79,158,.05));
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.cta-desc {
  color: var(--muted);
  margin-bottom: 36px;
  font-style: italic;
}

.cta-wpp-num {
  font-family: 'Cinzel', serif;
  font-size: 1.1rem;
  color: var(--cream);
  letter-spacing: .15em;
  margin-top: 20px;
  opacity: .7;
}

/* ── FOOTER ── */
footer {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 32px 6%;
  border-top: 1px solid rgba(201,168,76,.15);
  color: var(--gold-dim);
  font-family: 'Cinzel', serif;
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* ── BOTÃO FLUTUANTE WHATSAPP ── */
.wpp-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 200;
  background: var(--wpp);
  border-radius: 50%;
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  text-decoration: none;
  transition: transform .25s;
}

.wpp-float:hover { transform: scale(1.1); }

.wpp-float svg {
  width: 28px;
  height: 28px;
  fill: white;
}

/* ── RESPONSIVO ── */
@media (max-width: 700px) {
  .sobre-inner { grid-template-columns: 1fr; gap: 36px; }
  .nav-links { display: none; }
  .section-inner { padding: 70px 5%; }
  .tarot-deck{grid-template-columns:repeat(6,1fr);gap:7px}.selected-cards{grid-template-columns:repeat(3,1fr);gap:10px}.selected-name{font-size:.8rem}.tarot-form,.tarot-result{padding:24px 18px}
  .spread-picker{grid-template-columns:1fr}.selected-cards.afrodite-layout,.selected-cards.caminho-layout{grid-template-columns:repeat(3,1fr)}
}

/* Entrada compacta e navegação para telas menores */
html{scroll-padding-top:95px}nav{background:rgba(8,6,18,.96)}.menu-toggle{display:none}#hero{min-height:0;padding:125px 6% 35px}.hero-eyebrow{color:var(--muted);letter-spacing:.23em;margin-bottom:14px}.hero-title{font-size:clamp(3rem,7vw,5rem)}.hero-sub{letter-spacing:.18em;margin-bottom:18px}.hero-divider{margin-bottom:18px}.hero-desc{font-size:1.08rem;line-height:1.6;margin-bottom:22px;max-width:660px}.btn-start{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8c96b,#c9a84c);color:#100d20;border:1px solid var(--gold);text-decoration:none;font-family:'Cinzel',serif;font-weight:700;padding:15px 28px;border-radius:5px;min-height:48px}#hero>.btn-wpp{background:transparent;color:var(--cream);box-shadow:none;font-size:.68rem;padding:12px 18px;margin-top:8px;letter-spacing:.06em}#hero>.btn-wpp svg{fill:var(--wpp)}.explore-next{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--gold-lite);font-size:.9rem;text-decoration:none;margin-top:18px}.explore-next span{font-size:26px;line-height:1.1}.tarot-section{padding-top:38px}.nav-links a:focus-visible,.btn-start:focus-visible,.menu-toggle:focus-visible,.deck-card:focus-visible{outline:2px solid var(--gold-lite);outline-offset:4px}img{max-width:100%}.section-inner{min-width:0}.tarot-result{overflow-wrap:anywhere}@media(max-width:900px){.nav-links{gap:15px}.nav-links a{font-size:.65rem;letter-spacing:.06em}}@media(max-width:700px){nav{padding:13px 5%;flex-wrap:wrap}.menu-toggle{display:block;background:transparent;color:var(--gold-lite);border:1px solid var(--gold-dim);padding:8px 13px;border-radius:4px;font:inherit;font-size:15px}.nav-links{display:none;width:100%;padding:16px 0 6px;gap:0}.nav-links.is-open{display:flex;flex-direction:column}.nav-links a{display:block;padding:10px 0;font-size:.8rem}.nav-logo{font-size:1.2rem}#hero{padding:100px 6% 26px}.hero-eyebrow{font-size:.58rem;letter-spacing:.12em}.hero-title{font-size:3.7rem}.hero-sub{font-size:.65rem;letter-spacing:.1em;max-width:330px;line-height:1.8;margin-bottom:14px}.hero-desc{font-size:1rem;margin-bottom:18px}.hero-divider{margin-bottom:14px}.btn-start{width:100%;max-width:330px;font-size:.9rem}.explore-next{margin-top:12px;font-size:.85rem}.tarot-section{padding-top:28px}.section-label{letter-spacing:.16em}.section-title{font-size:1.5rem}.spread-picker{margin:0 auto 28px;gap:9px}.spread-option{min-height:48px}.tarot-progress{flex-wrap:wrap;font-size:.7rem}.tarot-deck{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.selected-cards,.selected-cards.afrodite-layout,.selected-cards.caminho-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.selected-position{font-size:.57rem;letter-spacing:.03em;overflow-wrap:anywhere}.selected-name{font-size:.75rem}.cards-grid{grid-template-columns:minmax(0,1fr)}.card{padding:26px 22px}.cta-box{padding:30px 18px}.cta-wpp-num{font-size:.95rem;letter-spacing:.06em}.btn-wpp{justify-content:center;padding:15px 18px;font-size:.72rem;letter-spacing:.06em}.wpp-float{width:50px;height:50px;right:16px;bottom:16px}footer{letter-spacing:.08em;padding-bottom:80px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
