/* ── DEFAULT FALLBACK (dark) — antes do JS carregar ── */
:root {
  --gold: #F0C040;
  --gold-bright: #FFD700;
  --gold-dim: #c9a83c;
  --gold-glow: rgba(240,192,64,.25);
  --gold-glow-sm: rgba(240,192,64,.12);
  --violet: #9333EA;
  --violet-dim: #7c3aed;
  --violet-glow: rgba(147,51,234,.3);
  --pink: #EC4899;
  --green: #22C55E;
  --red: #EF4444;
  --bg: #06050f;
  --bg2: #0c0a1e;
  --surface: rgba(255,255,255,0.035);
  --surface2: rgba(255,255,255,0.06);
  --card-hover: rgba(240,192,64,.06);
  --text: #f0e8d0;
  --text2: #a09080;
  --text-bright: #ffffff;
  --border: rgba(240,192,64,.18);
  --border-hover: rgba(240,192,64,.45);
  --accent: var(--gold);
  --accent-glow: rgba(240,192,64,.08);
  --glass-bg: rgba(255,255,255,0.05);
  --glass-bg-hover: rgba(255,255,255,0.09);
  --glass-border: rgba(255,255,255,0.10);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.35);
  --glass-inset: inset 0 1px 0 rgba(255,255,255,0.08);
  --glass-blur: 20px;
  --glass-bg-solid: rgba(12,10,30,.92);
  --radius: 18px;
  --radius-sm: 10px;
  --radius-xs: 6px;
  --font: 'Raleway', 'Inter', sans-serif;
  --font-display: 'Cinzel', serif;
  --z-content: 10;
  --grad-gold: linear-gradient(135deg, #F0C040 0%, #c9a83c 100%);
  --grad-btn: linear-gradient(135deg, #F0C040 0%, #E8961A 100%);
  --grad-btn-wa: linear-gradient(135deg, #22C55E 0%, #16a34a 100%);
  --grad-surface: linear-gradient(135deg, rgba(240,192,64,.08), rgba(147,51,234,.06));
  --grad-card-border: linear-gradient(135deg, rgba(240,192,64,.4), rgba(147,51,234,.2), rgba(240,192,64,.1));
  --party-opacity: 1;
}

html[data-theme="dark"],
body[data-theme="dark"] {
  --gold: #F0C040;
  --gold-bright: #FFD700;
  --gold-dim: #c9a83c;
  --gold-glow: rgba(240,192,64,.25);
  --gold-glow-sm: rgba(240,192,64,.12);
  --violet: #9333EA;
  --violet-dim: #7c3aed;
  --violet-glow: rgba(147,51,234,.3);
  --pink: #EC4899;
  --green: #22C55E;
  --red: #EF4444;
  --bg: #06050f;
  --bg2: #0c0a1e;
  --surface: rgba(255,255,255,0.035);
  --surface2: rgba(255,255,255,0.06);
  --card-hover: rgba(240,192,64,.06);
  --text: #f0e8d0;
  --text2: #a09080;
  --text-bright: #ffffff;
  --border: rgba(240,192,64,.18);
  --border-hover: rgba(240,192,64,.45);
  --accent: var(--gold);
  --accent-glow: rgba(240,192,64,.08);
  --glass-bg: rgba(255,255,255,0.05);
  --glass-bg-hover: rgba(255,255,255,0.09);
  --glass-border: rgba(255,255,255,0.10);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.35);
  --glass-inset: inset 0 1px 0 rgba(255,255,255,0.08);
  --glass-blur: 20px;
  --glass-bg-solid: rgba(12,10,30,.92);
  --radius: 18px;
  --radius-sm: 10px;
  --radius-xs: 6px;
  --font: 'Raleway', 'Inter', sans-serif;
  --font-display: 'Cinzel', serif;
  --z-content: 10;
  --grad-gold: linear-gradient(135deg, #F0C040 0%, #c9a83c 100%);
  --grad-btn: linear-gradient(135deg, #F0C040 0%, #E8961A 100%);
  --grad-btn-wa: linear-gradient(135deg, #22C55E 0%, #16a34a 100%);
  --grad-surface: linear-gradient(135deg, rgba(240,192,64,.08), rgba(147,51,234,.06));
  --grad-card-border: linear-gradient(135deg, rgba(240,192,64,.4), rgba(147,51,234,.2), rgba(240,192,64,.1));
  --party-opacity: 1;
}

html[data-theme="light"],
body[data-theme="light"] {
  --gold: #c5950a;
  --gold-bright: #d4a30c;
  --gold-dim: #a07e08;
  --gold-glow: rgba(197,149,10,.18);
  --gold-glow-sm: rgba(197,149,10,.08);
  --violet: #7c3aed;
  --violet-dim: #6d28d9;
  --violet-glow: rgba(124,58,237,.15);
  --pink: #db2777;
  --green: #16a34a;
  --red: #dc2626;
  --bg: #faf6ee;
  --bg2: #f0ead8;
  --surface: rgba(255,255,255,0.75);
  --surface2: rgba(255,255,255,0.88);
  --card-hover: rgba(197,149,10,.08);
  --text: #1a1510;
  --text2: #6b5c4a;
  --text-bright: #000000;
  --border: rgba(0,0,0,0.08);
  --border-hover: rgba(197,149,10,.4);
  --accent: var(--gold);
  --accent-glow: rgba(197,149,10,.06);
  --glass-bg: rgba(255,255,255,0.60);
  --glass-bg-hover: rgba(255,255,255,0.78);
  --glass-border: rgba(0,0,0,0.07);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.06);
  --glass-inset: inset 0 1px 0 rgba(255,255,255,0.95);
  --glass-blur: 24px;
  --glass-bg-solid: rgba(255,255,255,.94);
  --grad-gold: linear-gradient(135deg, #c5950a 0%, #a07e08 100%);
  --grad-btn: linear-gradient(135deg, #d4a30c 0%, #c5950a 100%);
  --grad-btn-wa: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
  --grad-surface: linear-gradient(135deg, rgba(197,149,10,.06), rgba(124,58,237,.03));
  --party-opacity: 0.35;
}

.theme-transitioning,
.theme-transitioning *,
.theme-transitioning *::before,
.theme-transitioning *::after {
  transition:
    background-color .35s ease,
    color .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    opacity .25s ease,
    transform .25s ease !important;
}

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

/* FIX 1: overflow-x no html para bloquear scroll lateral */
html {
  font-size: 16px;
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  font-family: var(--font) !important;
  background: var(--bg) !important;
  color: var(--text) !important;
  
  overflow-x: clip !important;  /* era hidden */

  max-width: 100% !important; /* FIX 3: era 100vw, causa descentragem pela scrollbar */
  min-height: 100vh;
  position: relative;
  transition: background .5s ease, color .3s ease;
}
body.embed-mode {
  background: transparent !important;
  min-height: auto !important;
}

html:has(body.embed-mode) {
  background: transparent !important;
}


html[data-theme="dark"],
body[data-theme="dark"] {
  color-scheme: dark;
}

html[data-theme="light"],
body[data-theme="light"] {
  color-scheme: light;
}

::selection {
  background: rgba(240,192,64,.3);
  color: #fff;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--gold-dim); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

.aurora-layer,
.fog-layer,
.algae-layer,
.orbs-layer,
.particles-layer {
  display: none !important;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: var(--party-opacity);
  transition: opacity .8s ease;
}

html[data-theme="dark"] body::before,
body[data-theme="dark"]::before {
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(147,51,234,.35) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 100% 80%, rgba(240,192,64,.12) 0%, transparent 55%),
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(236,72,153,.1) 0%, transparent 55%),
    radial-gradient(ellipse 100% 100% at 50% 50%, #0c0a1e 0%, #06050f 100%);
}

html[data-theme="light"] body::before,
body[data-theme="light"]::before {
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(197,149,10,.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 100% 80%, rgba(124,58,237,.06) 0%, transparent 55%),
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(219,39,119,.04) 0%, transparent 55%),
    radial-gradient(ellipse 100% 100% at 50% 50%, #f0ead8 0%, #faf6ee 100%);
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  animation: laserSpin 20s linear infinite;
  opacity: var(--party-opacity);
  transition: opacity .8s ease;
  background:
    conic-gradient(from 200deg at 50% -20%,
      transparent 0deg,
      rgba(240,192,64,.06) 3deg,
      transparent 6deg,
      transparent 40deg,
      rgba(147,51,234,.05) 43deg,
      transparent 46deg,
      transparent 80deg,
      rgba(236,72,153,.04) 83deg,
      transparent 86deg,
      transparent 140deg,
      rgba(240,192,64,.04) 143deg,
      transparent 146deg,
      transparent 360deg
    );
}

@keyframes laserSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.party-grain {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
}

#confettiCanvas {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: var(--party-opacity);
  transition: opacity .8s ease;
}

.disco-ball-wrap {
  position: fixed;
  top: -170px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  pointer-events: none;
  opacity: var(--party-opacity);
  transition: opacity .8s ease, top 1.2s cubic-bezier(.34,1.56,.64,1);
}

[data-theme="dark"] .disco-ball-wrap { top: -10px; }

.disco-ball {
  width: 90px;
  height: 90px;
  position: relative;
  border-radius: 50%;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.5) 6%, transparent 18%),
    radial-gradient(circle at 65% 55%, rgba(200,240,255,.5) 0%, transparent 12%),
    radial-gradient(circle at 18% 65%, rgba(255,200,255,.4) 0%, transparent 14%),
    radial-gradient(circle at 75% 25%, rgba(255,255,200,.4) 0%, transparent 10%),
    radial-gradient(circle at 35% 30%, #e0e0f0 0%, #a8a8c0 18%, #606078 48%, #303050 78%, #141420 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.2),
    0 0 20px rgba(240,192,64,.9),
    0 0 50px rgba(240,192,64,.6),
    0 0 90px rgba(147,51,234,.7),
    0 0 130px rgba(236,72,153,.4),
    inset 0 0 25px rgba(0,0,0,.5),
    inset 0 0 8px rgba(255,255,255,.2);
  animation: discoBallBob 4s ease-in-out infinite;
}

.disco-ball::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 5px,
      rgba(0,0,0,.15) 5px,
      rgba(0,0,0,.15) 6px
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 5px,
      rgba(0,0,0,.15) 5px,
      rgba(0,0,0,.15) 6px
    );
  border-radius: 50%;
  animation: discoRotate 3s linear infinite;
}

.disco-ball::after {
  content: '';
  position: absolute;
  top: 8%;
  left: 16%;
  width: 30%;
  height: 24%;
  background: rgba(255,255,255,.92);
  border-radius: 50%;
  filter: blur(3px);
  box-shadow: 0 0 14px 5px rgba(255,255,255,.55);
  animation: discoHighlight 3s ease-in-out infinite;
}

@keyframes discoHighlight {
  0%, 100% { opacity: .92; transform: scale(1); }
  50% { opacity: .45; transform: scale(.75); }
}

.disco-string {
  width: 2px;
  height: 60px;
  background: linear-gradient(to bottom, rgba(200,200,200,.6), transparent);
  margin: 0 auto;
}

.disco-flares {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
}

.disco-flare {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #FFD700;
  box-shadow: 0 0 8px 3px rgba(255,215,0,.8);
  transform-origin: 0 0;
  animation: discoFlareOrbit 3s linear infinite;
}

.disco-flare:nth-child(1) { animation-delay: 0s; --r: 120px; --ang: 0deg; background: #FFD700; }
.disco-flare:nth-child(2) { animation-delay: -.4s; --r: 160px; --ang: 45deg; background: #EC4899; }
.disco-flare:nth-child(3) { animation-delay: -.8s; --r: 140px; --ang: 90deg; background: #9333EA; }
.disco-flare:nth-child(4) { animation-delay: -1.2s; --r: 180px; --ang: 135deg; background: #38BDF8; }
.disco-flare:nth-child(5) { animation-delay: -1.6s; --r: 100px; --ang: 180deg; background: #FFD700; }
.disco-flare:nth-child(6) { animation-delay: -2.0s; --r: 200px; --ang: 225deg; background: #EC4899; }
.disco-flare:nth-child(7) { animation-delay: -2.4s; --r: 130px; --ang: 270deg; background: #22C55E; }
.disco-flare:nth-child(8) { animation-delay: -2.8s; --r: 170px; --ang: 315deg; background: #F97316; }

@keyframes discoFlareOrbit {
  0% { transform: rotate(calc(var(--ang) + 0deg)) translate(var(--r)) scale(1); opacity: .9; }
  50% { opacity: .4; transform: rotate(calc(var(--ang) + 180deg)) translate(var(--r)) scale(1.5); }
  100% { transform: rotate(calc(var(--ang) + 360deg)) translate(var(--r)) scale(1); opacity: .9; }
}

@keyframes discoBallBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(10px); }
}

@keyframes discoRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.dancer-left,
.dancer-right {
  position: fixed;
  bottom: 0;
  z-index: 3;
  overflow: hidden;
  pointer-events: none;
  width: 140px;
  opacity: calc(.27 * var(--party-opacity));
  transition: opacity .8s ease;
}

.dancer-left { left: 0; transform-origin: bottom left; }
.dancer-right { right: 0; transform-origin: bottom right; }

.dancer-left svg { animation: danceLeft 2.4s ease-in-out infinite; }
.dancer-right svg { animation: danceRight 2.1s ease-in-out infinite; }

@keyframes danceLeft {
  0%,100% { transform: rotate(-4deg) translateY(0); }
  25% { transform: rotate(3deg) translateY(-8px); }
  50% { transform: rotate(-2deg) translateY(-4px); }
  75% { transform: rotate(5deg) translateY(-10px); }
}

@keyframes danceRight {
  0%,100% { transform: rotate(4deg) translateY(0); }
  25% { transform: rotate(-3deg) translateY(-10px); }
  50% { transform: rotate(2deg) translateY(-5px); }
  75% { transform: rotate(-5deg) translateY(-8px); }
}

@media (max-width: 900px) {
  .dancer-left, .dancer-right { display: none; }
}

.sparkle {
  position: fixed !important;
  z-index: 4;
  pointer-events: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 10px 4px var(--gold-glow);
  animation: sparkleFly linear infinite;
  opacity: var(--party-opacity);
  transition: opacity .8s ease;
}

@keyframes sparkleFly {
  0% { transform: translateY(100vh) scale(0); opacity: 0; }
  10% { opacity: 1; transform: translateY(90vh) scale(1); }
  90% { opacity: .8; }
  100% { transform: translateY(-10vh) scale(.5) rotate(360deg); opacity: 0; }
}

.urgency-bar {
  position: relative !important;
  z-index: 101 !important;
  background: linear-gradient(90deg, #7c3aed 0%, #9333ea 40%, #EC4899 100%) !important;
  color: #fff !important;
  text-align: center !important;
  padding: 10px 16px !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  border-bottom: 1px solid rgba(240,192,64,.3) !important;
}

[data-theme="light"] .urgency-bar {
  background: linear-gradient(90deg, #c5950a 0%, #d4a30c 50%, #e8b832 100%) !important;
  color: #1a1510 !important;
  border-bottom-color: rgba(0,0,0,.1) !important;
}

.urgency-bar::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(240,192,64,.1), transparent);
  animation: urgencySweep 3s ease-in-out infinite;
}

@keyframes urgencySweep {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.urgency-bar .ub-pulse {
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #FFD700 !important;
  box-shadow: 0 0 8px 3px rgba(255,215,0,.6) !important;
  animation: ubPulse 1.5s ease-in-out infinite !important;
}

[data-theme="light"] .urgency-bar .ub-pulse {
  background: #fff !important;
  box-shadow: 0 0 8px 3px rgba(255,255,255,.6) !important;
}

@keyframes ubPulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: .4; transform: scale(.7); }
}

.urgency-bar a {
  color: #FFD700 !important;
  text-decoration: underline !important;
  font-weight: 800 !important;
}

[data-theme="light"] .urgency-bar a {
  color: #1a1510 !important;
}

header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border-bottom: 1px solid var(--glass-border) !important;
  padding: 14px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  transition: background .4s ease, border-color .4s ease !important;
}

[data-theme="dark"] header {
  background: rgba(6,5,15,.85) !important;
  border-bottom-color: var(--border) !important;
}

header h1 {
  font-family: var(--font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  background: var(--grad-gold) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-shadow: none !important;
}

header h1 a {
  background: var(--grad-gold) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-decoration: none !important;
}

.nav {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
}

.nav a {
  color: var(--text2) !important;
  text-decoration: none !important;
  font-size: .83rem !important;
  font-weight: 500 !important;
  padding: 7px 14px !important;
  border-radius: 20px !important;
  transition: all .25s !important;
  letter-spacing: .3px !important;
}

.nav a:hover {
  color: var(--gold) !important;
  background: var(--gold-glow-sm) !important;
}

.nav a.nav-cta {
  background: var(--grad-btn) !important;
  color: #000 !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 20px !important;
  letter-spacing: .5px !important;
  box-shadow: 0 2px 14px rgba(240,192,64,.3) !important;
}

.nav a.nav-cta:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 20px rgba(240,192,64,.5) !important;
}

.header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.theme-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 24px !important;
  color: var(--gold) !important;
  font-family: var(--font) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .4px !important;
  cursor: pointer !important;
  transition: all .3s !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
}

.theme-toggle:hover {
  background: var(--glass-bg-hover) !important;
  border-color: var(--border-hover) !important;
}

.theme-toggle .tt-icon {
  font-size: 1rem !important;
  transition: transform .4s !important;
}

.theme-toggle:hover .tt-icon {
  transform: rotate(20deg) !important;
}

.hamburger {
  display: none !important;
  background: none !important;
  border: 1px solid var(--border) !important;
  color: var(--gold) !important;
  font-size: 1.2rem !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all .2s !important;
}

.hamburger:hover {
  background: var(--gold-glow-sm) !important;
}

.nav-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 99 !important;
  background: rgba(0,0,0,.6) !important;
}

@media (max-width: 768px) {
  header { padding: 12px 20px !important; }
  .hamburger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .nav {
  position: fixed !important;
  top: 0 !important;
  right: -280px !important;
  bottom: 0 !important;
  width: 260px !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(30px) !important;
  -webkit-backdrop-filter: blur(30px) !important;
  border-left: 1px solid var(--border) !important;
  border-right: none !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 80px 24px 32px !important;
  z-index: 100 !important;
  transition: right .3s ease !important;
  gap: 4px !important;
}
.nav.open { right: 0 !important; }




  
  
  .nav.open + .nav-overlay,
  .nav-overlay.open { display: block !important; }
  .nav a {
    width: 100% !important;
    padding: 12px 16px !important;
    font-size: .95rem !important;
    border-radius: 10px !important;
  }
  .theme-toggle span:not(.tt-icon) { display: none !important; }
  .theme-toggle { padding: 8px 10px !important; }
}

.hero-lp {
  text-align: center !important;
  padding: 80px 20px 48px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
}

.hero-lp h1 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.8rem, 5vw, 3rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  margin-bottom: 16px !important;
  color: var(--text-bright) !important;
  letter-spacing: .5px !important;
}

[data-theme="dark"] .hero-lp h1 {
  text-shadow: 0 0 40px rgba(240,192,64,.2) !important;
}

.hero-lp h1 .h-accent {
  background: var(--grad-gold) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  display: block !important;
  font-size: clamp(1.5rem, 4vw, 2.4rem) !important;
}

.hero-lp .hero-sub {
  font-size: 1.05rem !important;
  color: var(--text2) !important;
  max-width: 580px !important;
  margin: 0 auto 28px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}

.hero-lp .hero-sub strong {
  color: var(--text) !important;
  font-weight: 700 !important;
}

.hero-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-bottom: 32px !important;
}

.hero-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 7px 16px !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 24px !important;
  font-size: .78rem !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
  letter-spacing: .3px !important;
  white-space: nowrap !important;
  transition: all .2s !important;
  box-shadow: var(--glass-inset) !important;
}

.hero-badge:hover {
  background: var(--glass-bg-hover) !important;
  border-color: var(--border-hover) !important;
}

.hero-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 18px 42px !important;
  background: var(--grad-btn) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: all .3s !important;
  text-decoration: none !important;
  box-shadow: 0 4px 24px rgba(240,192,64,.45), 0 0 0 1px rgba(240,192,64,.2) !important;
  animation: heroPulse 2.5s ease-in-out infinite !important;
  letter-spacing: .5px !important;
  position: relative !important;
  overflow: hidden !important;
}

.hero-cta-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.25) 50%, transparent 100%);
  transform: translateX(-100%);
  animation: btnShimmer 2.5s ease-in-out infinite 1s;
}

@keyframes btnShimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.hero-cta-btn:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 8px 36px rgba(240,192,64,.6), 0 0 0 2px rgba(240,192,64,.4) !important;
}

@keyframes heroPulse {
  0%,100% { box-shadow: 0 4px 24px rgba(240,192,64,.45), 0 0 0 1px rgba(240,192,64,.2); }
  50% { box-shadow: 0 4px 36px rgba(240,192,64,.65), 0 0 0 2px rgba(240,192,64,.35); }
}

.trust-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 32px !important;
  padding: 20px 24px !important;
  flex-wrap: wrap !important;
  position: relative !important;
  z-index: var(--z-content) !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-top: 1px solid var(--glass-border) !important;
  border-bottom: 1px solid var(--glass-border) !important;
  transition: background .4s, border-color .4s !important;
}

.trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: .82rem !important;
  color: var(--text2) !important;
  font-weight: 500 !important;
}

.trust-icon {
  font-size: 1.1rem !important;
}

.pain-block {
  padding: 48px 20px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}

.pain-title {
  text-align: center !important;
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  margin-bottom: 28px !important;
  color: var(--text) !important;
  letter-spacing: .5px !important;
}

.pain-cards {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 16px !important;
}

.pain-card {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 1.5px solid rgba(239,68,68,.2) !important;
  border-radius: var(--radius) !important;
  padding: 22px 18px !important;
  text-align: center !important;
  transition: all .3s !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.pain-card:hover {
  border-color: rgba(239,68,68,.4) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(239,68,68,.1), var(--glass-inset) !important;
}

.pain-card .pc-icon { font-size: 1.8rem !important; margin-bottom: 10px !important; }
.pain-card .pc-title { font-size: .88rem !important; font-weight: 700 !important; color: var(--red) !important; margin-bottom: 8px !important; }
.pain-card .pc-desc { font-size: .78rem !important; color: var(--text2) !important; line-height: 1.5 !important; }

.stepper-bar {
  max-width: 860px !important;
  margin: 0 auto 8px !important;
  padding: 20px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  position: relative !important;
  z-index: 200 !important;
  transition: padding .3s, background .3s, box-shadow .3s !important;
}

#stepperPlaceholder { display: none; }
#stepperPlaceholder.active { display: block; }

.stepper-bar.is-sticky {
  position: fixed !important;
  top: 63px !important;
  left: 0 !important;
  right: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 8px 72px 8px 24px !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border-bottom: 1px solid var(--glass-border) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.15) !important;
  overflow: hidden !important;
}

[data-theme="light"] .stepper-bar.is-sticky {
  background: rgba(255,255,255,.93) !important;
  border-bottom-color: rgba(197,149,10,.18) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.1) !important;
}

.stepper-bar.is-sticky .step-circle { width: 28px !important; height: 28px !important; font-size: .72rem !important; }
.stepper-bar.is-sticky .step-label { font-size: .52rem !important; max-width: 58px !important; }
.stepper-bar.is-sticky .step-connector { min-width: 12px !important; max-width: 48px !important; margin-bottom: 14px !important; }
.stepper-bar.is-sticky .step-indicator { gap: 4px !important; }

body.embed-mode .stepper-bar.is-sticky {
  padding: 6px 80px 6px 16px !important;
  background: rgba(255,255,255,.06) !important;
  backdrop-filter: blur(40px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.8) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}

[data-theme="light"] body.embed-mode .stepper-bar.is-sticky {
  background: rgba(255,255,255,.55) !important;
}

body.embed-mode .stepper-bar.is-sticky .step-circle { width: 24px !important; height: 24px !important; font-size: .65rem !important; }
body.embed-mode .stepper-bar.is-sticky .step-label { font-size: .46rem !important; max-width: 50px !important; }

.step-indicator.done .step-circle {
  background: rgba(240,192,64,.15) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

.step-indicator.done .step-label { color: var(--gold-dim) !important; }
.step-connector.done { background: var(--gold) !important; opacity: .55 !important; }

.step-indicator {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 2 !important;
  text-decoration: none !important;
}

.step-circle {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 2px solid var(--glass-border) !important;
  color: var(--text2) !important;
  transition: all .4s cubic-bezier(.34,1.56,.64,1) !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.step-indicator:hover .step-circle {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: var(--glass-bg-hover) !important;
}

.step-indicator.active .step-circle {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: #000 !important;
  box-shadow: 0 0 20px rgba(240,192,64,.4), 0 4px 16px rgba(240,192,64,.3) !important;
  transform: scale(1.08) !important;
}

.step-label {
  font-size: .65rem !important;
  font-weight: 600 !important;
  color: var(--text2) !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
  max-width: 80px !important;
  text-align: center !important;
  line-height: 1.3 !important;
  transition: color .3s !important;
}

.step-indicator.active .step-label {
  color: var(--gold) !important;
}

.step-connector {
  flex: 1 !important;
  height: 2px !important;
  background: var(--glass-border) !important;
  position: relative !important;
  z-index: 1 !important;
  min-width: 20px !important;
  max-width: 80px !important;
  margin: 0 -4px !important;
  margin-bottom: 20px !important;
  transition: background .4s !important;
}

@media (max-width: 600px) {
  .step-label { font-size: .58rem !important; max-width: 56px !important; }
  .step-circle { width: 34px !important; height: 34px !important; font-size: .85rem !important; }
  .step-connector { min-width: 10px !important; }
  .stepper-bar { padding: 16px 12px !important; }
}

.container {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
}

.header-calc {
  text-align: center !important;
  margin-bottom: 40px !important;
}

.header-calc h2 {
  font-family: var(--font-display) !important;
  color: var(--text-bright) !important;
  letter-spacing: 1px !important;
}

[data-theme="dark"] .header-calc h2 {
  text-shadow: 0 0 30px rgba(240,192,64,.2) !important;
}

.header-calc h2 span[style*="var(--accent)"] {
  background: var(--grad-gold) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.stats {
  display: flex !important;
  justify-content: center !important;
  gap: 32px !important;
  margin-bottom: 40px !important;
  flex-wrap: wrap !important;
}

.stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 16px 28px !important;
  min-width: 90px !important;
  transition: all .3s !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.stat:hover {
  border-color: var(--border-hover) !important;
  background: var(--glass-bg-hover) !important;
}

.stat strong {
  font-family: var(--font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  background: var(--grad-gold) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.stat span {
  font-size: .72rem !important;
  color: var(--text2) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
}

.sec-title {
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  margin-bottom: 6px !important;
  letter-spacing: .5px !important;
}

.sec-sub {
  font-size: .82rem !important;
  color: var(--text2) !important;
  margin-bottom: 18px !important;
}

.grid {
  display: grid !important;
  gap: 16px !important;
  margin-bottom: 40px !important;
}

.grid-pkg {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}

.grid-svc {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

.card {
  position: relative !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 24px 20px !important;
  cursor: pointer !important;
  transition: all .4s cubic-bezier(.34,1.56,.64,1) !important;
  overflow: visible !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
  pointer-events: none;
  border-radius: inherit;
}

.card:hover {
  border-color: var(--border-hover) !important;
  background: var(--glass-bg-hover) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 44px rgba(240,192,64,.12), 0 0 0 1px rgba(240,192,64,.15), var(--glass-inset) !important;
}

.card:hover::before { opacity: 1; }

.card.selected {
  border-color: var(--gold) !important;
  background: rgba(240,192,64,.08) !important;
  box-shadow: 0 0 0 2px rgba(240,192,64,.3), 0 12px 40px rgba(240,192,64,.15), var(--glass-inset) !important;
  transform: translateY(-2px) !important;
}

[data-theme="light"] .card.selected {
  background: rgba(197,149,10,.08) !important;
}

[data-theme="light"] .card:not(.selected) {
  background: rgba(255,255,255,0.18) !important;
  backdrop-filter: blur(24px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.8) !important;
}

.card.selected::after {
  content: '✓';
  position: absolute;
  top: 12px;
  right: 14px;
  width: 24px;
  height: 24px;
  background: var(--gold);
  color: #000;
  border-radius: 50%;
  font-size: .8rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(240,192,64,.4);
}

.card-badge {
  display: inline-block !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  margin-bottom: 10px !important;
  background: rgba(240,192,64,.15) !important;
  color: var(--gold) !important;
  border: 1px solid rgba(240,192,64,.3) !important;
}

.card-icon { font-size: 1.6rem !important; margin-bottom: 8px !important; display: block !important; }

.card-name {
  font-family: var(--font-display) !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-bottom: 6px !important;
  letter-spacing: .3px !important;
}

.card-price {
  font-family: var(--font-display) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  background: var(--grad-gold) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  margin-bottom: 4px !important;
}

.card-save { font-size: .72rem !important; color: var(--green) !important; font-weight: 600 !important; margin-bottom: 10px !important; }
.card-desc { font-size: .78rem !important; color: var(--text2) !important; line-height: 1.5 !important; margin-bottom: 10px !important; }
.card-includes { list-style: none !important; padding: 0 !important; margin: 0 !important; }

.card-includes li {
  font-size: .75rem !important;
  color: var(--text2) !important;
  padding: 3px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.card-includes li::before {
  content: '◆';
  font-size: .5rem;
  color: var(--gold);
}

.event-section {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 28px 24px !important;
  margin-bottom: 24px !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
  transition: background .4s, border-color .4s !important;
}

.event-section .sec-title { margin-bottom: 6px !important; }
.event-group { margin-bottom: 22px !important; }
.event-group:last-child { margin-bottom: 0 !important; }

.event-label {
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  margin-bottom: 10px !important;
}

.chips { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }

.chip {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: 24px !important;
  font-size: .8rem !important;
  color: var(--text2) !important;
  cursor: pointer !important;
  transition: all .25s !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  user-select: none !important;
  box-shadow: var(--glass-inset) !important;
}

.chip:hover {
  border-color: var(--border-hover) !important;
  color: var(--gold) !important;
  background: var(--glass-bg-hover) !important;
}

.chip.active,
.chip.selected {
  border-color: var(--gold) !important;
  background: rgba(240,192,64,.12) !important;
  color: var(--gold) !important;
  font-weight: 700 !important;
  box-shadow: 0 0 0 1px rgba(240,192,64,.2), var(--glass-inset) !important;
}

.event-input {
  width: 100% !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 16px !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: .9rem !important;
  transition: all .25s !important;
  outline: none !important;
  box-shadow: var(--glass-inset) !important;
}

.event-input:focus {
  border-color: var(--gold) !important;
  background: rgba(240,192,64,.04) !important;
  box-shadow: 0 0 0 3px rgba(240,192,64,.12), var(--glass-inset) !important;
}

.event-input::placeholder { color: rgba(160,144,128,.5) !important; }
[data-theme="light"] .event-input::placeholder { color: rgba(100,90,70,.4) !important; }

[data-theme="dark"] input[type="date"].event-input {
  color-scheme: dark !important;
}

.event-textarea {
  width: 100% !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 16px !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: .88rem !important;
  resize: vertical !important;
  min-height: 100px !important;
  transition: all .25s !important;
  outline: none !important;
  line-height: 1.6 !important;
  box-shadow: var(--glass-inset) !important;
}

.event-textarea:focus {
  border-color: var(--gold) !important;
  background: rgba(240,192,64,.04) !important;
  box-shadow: 0 0 0 3px rgba(240,192,64,.12), var(--glass-inset) !important;
}

.event-textarea::placeholder { color: rgba(160,144,128,.5) !important; }

.slider-label {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 10px !important;
  font-size: .85rem !important;
  color: var(--text2) !important;
}

.slider-value {
  font-weight: 700 !important;
  color: var(--gold) !important;
  font-size: 1rem !important;
}

.slider-wrap { padding: 4px 0 !important; }

input[type="range"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  height: 6px !important;
  background: linear-gradient(to right, var(--gold) 0%, var(--gold) var(--val, 20%), rgba(255,255,255,.1) var(--val, 20%), rgba(255,255,255,.1) 100%) !important;
  border-radius: 3px !important;
  outline: none !important;
  cursor: pointer !important;
}

[data-theme="light"] input[type="range"] {
  background: linear-gradient(to right, var(--gold) 0%, var(--gold) var(--val, 20%), rgba(0,0,0,.1) var(--val, 20%), rgba(0,0,0,.1) 100%) !important;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: var(--gold) !important;
  border: 3px solid var(--bg) !important;
  box-shadow: 0 0 0 2px var(--gold), 0 2px 10px rgba(240,192,64,.5) !important;
  cursor: pointer !important;
  transition: all .2s !important;
}

input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.2) !important;
  box-shadow: 0 0 0 3px var(--gold), 0 4px 16px rgba(240,192,64,.6) !important;
}

input[type="range"]::-moz-range-thumb {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: var(--gold) !important;
  border: 3px solid var(--bg) !important;
  box-shadow: 0 0 0 2px var(--gold) !important;
  cursor: pointer !important;
}

.slider-snaps {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: 6px !important;
  padding: 0 2px !important;
}

.slider-snaps span {
  font-size: .65rem !important;
  color: var(--text2) !important;
  opacity: .6 !important;
}

.guarantee {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 20px !important;
  margin: 8px 0 24px !important;
  border: 1.5px dashed rgba(34,197,94,.35) !important;
  border-radius: var(--radius) !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: var(--glass-inset) !important;
}

.guarantee-icon { font-size: 1.6rem !important; flex-shrink: 0 !important; }

.guarantee-text {
  font-size: .82rem !important;
  color: var(--text2) !important;
  line-height: 1.5 !important;
}

.guarantee-text strong {
  color: var(--green) !important;
  font-weight: 700 !important;
}

.resumo-box {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 2px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 28px 24px !important;
  margin-bottom: 32px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.resumo-box::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(240,192,64,.04) 0%, transparent 60%);
  pointer-events: none;
}

.resumo-title {
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
  margin-bottom: 16px !important;
  letter-spacing: .5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.resumo-empty {
  color: var(--text2) !important;
  font-size: .85rem !important;
  text-align: center !important;
  padding: 20px 0 !important;
  opacity: .6 !important;
}

#resumoTotal {
  font-family: var(--font-display) !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  background: var(--grad-gold) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  margin-top: 12px !important;
}

#resumoInfo {
  font-size: .82rem !important;
  color: var(--text2) !important;
  margin-top: 8px !important;
  line-height: 1.6 !important;
}

#resumoBody {
  font-size: .85rem !important;
  color: var(--text2) !important;
  line-height: 1.7 !important;
}

#resumoBody .resumo-item {
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
}

[data-theme="light"] #resumoBody .resumo-item {
  border-bottom-color: rgba(0,0,0,.05) !important;
}

#resumoBody .resumo-item:last-child {
  border-bottom: none !important;
}

.confirm-box {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 16px 0 !important;
  padding: 16px 18px !important;
  background: rgba(240,192,64,.04) !important;
  border: 1.5px solid rgba(240,192,64,.2) !important;
  border-radius: var(--radius-sm) !important;
}

.confirm-box input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  accent-color: var(--gold) !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  margin-top: 2px !important;
}

.confirm-box label {
  font-size: .82rem !important;
  color: var(--text2) !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

.confirm-box label strong {
  color: var(--text) !important;
}

.resumo-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 20px !important;
}

.btn-resumo-wa {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 24px !important;
  background: var(--grad-btn-wa) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all .3s !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(34,197,94,.3) !important;
}

.btn-resumo-wa:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(34,197,94,.4) !important;
}

.btn-resumo-pdf {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 24px !important;
  background: var(--grad-btn) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all .3s !important;
  box-shadow: 0 4px 16px rgba(240,192,64,.3) !important;
}

.btn-resumo-pdf:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(240,192,64,.5) !important;
}

.btn-resumo-email {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 24px !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  color: var(--text) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s !important;
}

.btn-resumo-email:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: var(--glass-bg-hover) !important;
}

/* ══ OPTION 3 — ACTION BUTTONS ══ */
#btnResumoPDF,
.btn-resumo-pdf:not(#btn432Pdf) {
  display: none !important;
}

.btn-act-primary {
  width: 100% !important;
  padding: 18px 20px !important;
  background: var(--grad-btn-wa) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer !important;
  font-family: var(--font) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 10px !important;
  box-shadow: 0 6px 24px rgba(34,197,94,.4) !important;
  transition: all .3s !important;
  text-align: left !important;
  position: relative !important;
  overflow: hidden !important;
}

.btn-act-primary:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-2px) !important;
}

.btn-act-icon {
  width: 48px !important;
  height: 48px !important;
  background: rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.5rem !important;
  flex-shrink: 0 !important;
}

.btn-act-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.btn-act-label {
  font-size: .95rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: .3px !important;
}

.btn-act-sub {
  font-size: .7rem !important;
  color: rgba(255,255,255,.75) !important;
  margin-top: 3px !important;
  font-weight: 400 !important;
}

.btn-act-badge {
  background: rgba(255,255,255,.22) !important;
  color: #fff !important;
  font-size: .6rem !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  letter-spacing: .6px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

.btn-act-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

.btn-act-sec {
  padding: 14px 16px !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer !important;
  font-family: var(--font) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 7px !important;
  text-align: left !important;
  transition: all .25s !important;
}

.btn-act-pdf {
  background: linear-gradient(135deg, rgba(240,192,64,.15), rgba(240,192,64,.07)) !important;
  border: 1.5px solid rgba(240,192,64,.3) !important;
}

.btn-act-pdf:hover {
  background: linear-gradient(135deg, rgba(240,192,64,.24), rgba(240,192,64,.13)) !important;
  border-color: rgba(240,192,64,.55) !important;
  transform: translateY(-1px) !important;
}

.btn-act-email {
  background: var(--glass-bg) !important;
  border: 1.5px solid var(--glass-border) !important;
}

.btn-act-email:hover {
  border-color: var(--border-hover) !important;
  background: var(--glass-bg-hover) !important;
  transform: translateY(-1px) !important;
}

.btn-act-sec-top {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.btn-act-sec-icon {
  font-size: 1.15rem !important;
}

.btn-act-sec-label {
  font-size: .82rem !important;
  font-weight: 700 !important;
}

.btn-act-pdf .btn-act-sec-label { color: var(--gold) !important; }
.btn-act-email .btn-act-sec-label { color: var(--text) !important; }

.btn-act-sec-desc {
  font-size: .67rem !important;
  color: var(--text2) !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

@media (max-width: 480px) {
  .btn-act-badge { display: none !important; }
  .btn-act-row { grid-template-columns: 1fr !important; }
}

.contact-section {
  text-align: center !important;
  padding: 32px 20px !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.contact-section h3 {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-bottom: 6px !important;
  letter-spacing: .3px !important;
}

.contact-section p {
  font-size: .82rem !important;
  color: var(--text2) !important;
  margin-bottom: 20px !important;
}

.contact-links {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.contact-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 22px !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 700 !important;
  font-size: .88rem !important;
  text-decoration: none !important;
  transition: all .25s !important;
}

.contact-link.wa {
  background: var(--grad-btn-wa) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(34,197,94,.3) !important;
}

.contact-link.wa:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-2px) !important;
}

.contact-link:not(.wa) {
  background: var(--glass-bg) !important;
  border: 1.5px solid var(--glass-border) !important;
  color: var(--text2) !important;
}

.contact-link:not(.wa):hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

.price-ref {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
}

.price-ref h2 {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
  text-align: center !important;
  color: var(--text) !important;
  letter-spacing: .5px !important;
}

.price-ref table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.price-ref th,
.price-ref td {
  padding: 14px 18px !important;
  text-align: left !important;
  font-size: .83rem !important;
  border-bottom: 1px solid var(--glass-border) !important;
}

.price-ref th {
  background: rgba(240,192,64,.08) !important;
  color: var(--gold) !important;
  font-weight: 700 !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
}

.price-ref td {
  color: var(--text) !important;
}

.price-ref tr:last-child td { border-bottom: none !important; }
.price-ref tr:hover td { background: rgba(240,192,64,.04) !important; }

.price-ref .pr-price {
  font-weight: 700 !important;
  color: var(--gold) !important;
  white-space: nowrap !important;
}

@media (max-width: 600px) {
  .price-ref table { font-size: .75rem !important; }
  .price-ref th,
  .price-ref td { padding: 10px 12px !important; }
}

.editorial-seo {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.editorial-seo h2 {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin-bottom: 18px !important;
  color: var(--text) !important;
  letter-spacing: .4px !important;
}

.editorial-seo p {
  font-size: .88rem !important;
  color: var(--text2) !important;
  line-height: 1.8 !important;
  margin-bottom: 14px !important;
}

.editorial-seo a {
  color: var(--gold) !important;
  text-decoration: underline !important;
}

.editorial-seo strong {
  color: var(--text) !important;
  font-weight: 700 !important;
}

.faq-section {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
}

.faq-section h2 {
  font-family: var(--font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin-bottom: 28px !important;
  text-align: center !important;
  color: var(--text) !important;
  letter-spacing: .5px !important;
}

.faq-item {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
  transition: border-color .25s !important;
  box-shadow: var(--glass-inset) !important;
}

.faq-item:hover {
  border-color: var(--border-hover) !important;
}

.faq-item.open {
  border-color: var(--gold) !important;
  background: rgba(240,192,64,.04) !important;
}

[data-theme="light"] .faq-item.open {
  background: rgba(197,149,10,.04) !important;
}

.faq-q {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 18px 22px !important;
  cursor: pointer !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  transition: background .2s !important;
  user-select: none !important;
  gap: 12px !important;
}

.faq-q:hover {
  background: var(--glass-bg-hover) !important;
}

.faq-q .faq-arrow {
  transition: transform .3s !important;
  font-size: .75rem !important;
  color: var(--gold) !important;
  flex-shrink: 0 !important;
  align-self: center !important;
  margin-left: auto !important;
  padding-left: 10px !important;
}

.faq-item.open .faq-arrow {
  transform: rotate(180deg) !important;
}

.faq-a {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height .4s ease, padding .3s !important;
}

.faq-item.open .faq-a {
  max-height: 500px !important;
  padding: 0 22px 18px !important;
}

.faq-a p {
  font-size: .84rem !important;
  color: var(--text2) !important;
  line-height: 1.7 !important;
}

.testimonials-section {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
}

.testimonials-section h2 {
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  margin-bottom: 24px !important;
  text-align: center !important;
  color: var(--text) !important;
  letter-spacing: .5px !important;
}

.testimonial-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 16px !important;
}

.testimonial-card {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 22px !important;
  transition: all .3s !important;
  box-shadow: var(--glass-shadow), var(--glass-inset) !important;
}

.testimonial-card:hover {
  border-color: var(--border-hover) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(240,192,64,.08), var(--glass-inset) !important;
}

.tc-stars {
  color: var(--gold) !important;
  font-size: .9rem !important;
  margin-bottom: 10px !important;
  letter-spacing: 2px !important;
}

.tc-text {
  font-size: .84rem !important;
  color: var(--text2) !important;
  line-height: 1.6 !important;
  margin-bottom: 14px !important;
  font-style: italic !important;
}

.tc-author {
  font-size: .82rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
}

.tc-event {
  font-size: .72rem !important;
  color: var(--text2) !important;
  margin-top: 2px !important;
}

.internal-links {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 24px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
  text-align: center !important;
}

.internal-links h3 {
  font-family: var(--font-display) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  margin-bottom: 14px !important;
  color: var(--text2) !important;
  letter-spacing: .5px !important;
}

.il-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
}

.il-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 8px 16px !important;
  background: var(--glass-bg) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 20px !important;
  color: var(--text2) !important;
  text-decoration: none !important;
  font-size: .78rem !important;
  transition: all .25s !important;
}

.il-link:hover {
  border-color: var(--border-hover) !important;
  color: var(--gold) !important;
  background: var(--glass-bg-hover) !important;
}

.final-cta {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 60px 24px !important;
  text-align: center !important;
  position: relative !important;
  z-index: var(--z-content) !important;
}

.final-cta h2 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.2rem, 3vw, 1.6rem) !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
  color: var(--text) !important;
  letter-spacing: .5px !important;
}

.final-cta p {
  font-size: .9rem !important;
  color: var(--text2) !important;
  margin-bottom: 28px !important;
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.final-cta-btns {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 14px !important;
}

.footer {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-top: 1px solid var(--glass-border) !important;
  padding: 24px 20px !important;
  text-align: center !important;
  position: relative !important;
  z-index: var(--z-content) !important;
}

.footer p {
  font-size: .78rem !important;
  color: var(--text2) !important;
  margin-bottom: 4px !important;
}

.footer a {
  color: var(--gold) !important;
  text-decoration: none !important;
}

.fab-wa {
  position: fixed !important;
  bottom: 28px !important;
  right: 28px !important;
  z-index: 997 !important;
  width: 56px !important;
  height: 56px !important;
  background: var(--grad-btn-wa) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.5rem !important;
  text-decoration: none !important;
  box-shadow: 0 4px 20px rgba(34,197,94,.4) !important;
  transition: all .3s !important;
  animation: fabPulse 3s ease-in-out infinite !important;
}

.fab-wa:hover {
  transform: scale(1.12) translateY(-3px) !important;
  box-shadow: 0 8px 30px rgba(34,197,94,.55) !important;
}

@keyframes fabPulse {
  0%,100% { box-shadow: 0 4px 20px rgba(34,197,94,.4); }
  50% { box-shadow: 0 4px 32px rgba(34,197,94,.6), 0 0 0 8px rgba(34,197,94,.08); }
}

.fab-total {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.fab-total.hidden {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
}

.ft-label {
  font-size: .62rem !important;
  color: var(--text2) !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
}

.ft-val {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  background: var(--grad-gold) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.ft-eco {
  font-size: .68rem !important;
  color: var(--green) !important;
  font-weight: 600 !important;
}

.sticky-cta-mobile {
  display: none;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 998 !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border-top: 1px solid var(--glass-border) !important;
  padding: 12px 16px !important;
  opacity: 0 !important;
  transform: translateY(100%) !important;
  transition: opacity .35s ease, transform .35s cubic-bezier(.34,1.56,.64,1) !important;
  pointer-events: none !important;
}

.sticky-cta-inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

.sticky-cta-info {
  flex: 1 !important;
  min-width: 0 !important;
}

.sticky-cta-label {
  font-size: .65rem !important;
  color: var(--text2) !important;
  text-transform: uppercase !important;
  letter-spacing: .6px !important;
}

.sticky-cta-val {
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
}

.sticky-cta-btn {
  flex-shrink: 0 !important;
  padding: 13px 22px !important;
  background: var(--grad-btn-wa) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all .25s !important;
}

@media (max-width: 768px) {
  .fab-total { display: none !important; }
}

.sticky-cta-mobile.visible {
  display: block !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.modal-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  background: rgba(0,0,0,.6) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
}

.modal-overlay.active {
  display: flex !important;
}

.modal-box {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(30px) !important;
  -webkit-backdrop-filter: blur(30px) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: 20px !important;
  padding: 36px 28px !important;
  max-width: 440px !important;
  width: 100% !important;
  position: relative !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.4), var(--glass-inset) !important;
  animation: modalIn .4s cubic-bezier(.34,1.56,.64,1) !important;
}

[data-theme="dark"] .modal-box {
  background: rgba(14,12,34,.88) !important;
}

@keyframes modalIn {
  from { opacity: 0; transform: scale(.88) translateY(24px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  background: var(--glass-bg) !important;
  border: 1px solid var(--glass-border) !important;
  color: var(--text2) !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  font-size: .85rem !important;
  cursor: pointer !important;
  transition: all .2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.modal-close:hover {
  background: var(--glass-bg-hover) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

.modal-box h3 {
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-bottom: 8px !important;
  letter-spacing: .3px !important;
}

.modal-sub {
  font-size: .82rem !important;
  color: var(--text2) !important;
  margin-bottom: 20px !important;
}

.modal-box p {
  font-size: .86rem !important;
  color: var(--text2) !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
}

.field {
  margin-bottom: 14px !important;
}

.field label {
  display: block !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  color: var(--text2) !important;
  text-transform: uppercase !important;
  letter-spacing: .6px !important;
  margin-bottom: 6px !important;
}

.field input {
  width: 100% !important;
  background: var(--glass-bg) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius-xs) !important;
  padding: 11px 14px !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: .88rem !important;
  outline: none !important;
  transition: all .2s !important;
}

.field input:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(240,192,64,.12) !important;
}

.modal-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 6px !important;
}

.btn-cancel {
  flex: 1 !important;
  padding: 12px !important;
  background: var(--glass-bg) !important;
  border: 1.5px solid var(--glass-border) !important;
  color: var(--text2) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-size: .85rem !important;
  cursor: pointer !important;
  transition: all .2s !important;
}

.btn-cancel:hover {
  border-color: var(--border-hover) !important;
  color: var(--text) !important;
}

.btn-send-email {
  flex: 2 !important;
  padding: 12px !important;
  background: var(--grad-btn) !important;
  border: none !important;
  color: #000 !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all .25s !important;
}

.btn-send-email:hover {
  filter: brightness(1.1) !important;
}

.post-email-actions,
.post-pdf-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.post-pdf-glass {
  text-align: center !important;
}

.post-pdf-icon {
  font-size: 2.5rem !important;
  margin-bottom: 12px !important;
}

.post-pdf-hint {
  font-size: .72rem !important;
  color: var(--text2) !important;
  margin-top: 14px !important;
  opacity: .7 !important;
}

.exit-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  background: rgba(0,0,0,.6) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
}

.exit-overlay.active {
  display: flex !important;
}

.exit-box {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(30px) !important;
  -webkit-backdrop-filter: blur(30px) !important;
  border: 2px solid var(--gold) !important;
  border-radius: 20px !important;
  padding: 40px 32px !important;
  max-width: 440px !important;
  width: 100% !important;
  text-align: center !important;
  box-shadow: 0 20px 60px rgba(240,192,64,.15), var(--glass-inset) !important;
  animation: exitIn .4s cubic-bezier(.34,1.56,.64,1) !important;
}

[data-theme="light"] .exit-overlay {
  background: rgba(0,0,0,.35) !important;
}

[data-theme="light"] .exit-box {
  background: rgba(250,246,238,.97) !important;
  border-color: var(--gold) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.15) !important;
}

[data-theme="light"] .exit-box h3 { color: #1a1510 !important; }
[data-theme="light"] .exit-box p { color: #6b5c4a !important; }
[data-theme="light"] .exit-box .exit-close { color: #6b5c4a !important; }

@keyframes exitIn {
  from { opacity: 0; transform: scale(.85) translateY(20px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.exit-box .exit-icon {
  font-size: 2.6rem !important;
  margin-bottom: 14px !important;
}

.exit-box h3 {
  font-family: var(--font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
  color: var(--text) !important;
}

.exit-box p {
  font-size: .87rem !important;
  color: var(--text2) !important;
  line-height: 1.6 !important;
  margin-bottom: 24px !important;
}

.exit-box .exit-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 15px 32px !important;
  background: var(--grad-btn) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-size: .96rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all .25s !important;
  box-shadow: 0 4px 16px rgba(240,192,64,.35) !important;
}

.exit-box .exit-btn:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.08) !important;
}

.exit-box .exit-close {
  display: block !important;
  margin-top: 14px !important;
  font-size: .78rem !important;
  color: var(--text2) !important;
  cursor: pointer !important;
  background: none !important;
  border: none !important;
  font-family: var(--font) !important;
  opacity: .6 !important;
  transition: opacity .2s !important;
}

.exit-box .exit-close:hover {
  opacity: 1 !important;
}

.social-notif {
  position: fixed !important;
  bottom: 100px !important;
  left: 20px !important;
  z-index: 997 !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 14px 18px !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.3), var(--glass-inset) !important;
  transform: translateX(-120%) !important;
  transition: transform .5s cubic-bezier(.34,1.56,.64,1) !important;
  max-width: 280px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.social-notif.show {
  transform: translateX(0) !important;
}

.sn-icon {
  font-size: 1.3rem !important;
  flex-shrink: 0 !important;
}

.sn-text {
  font-size: .76rem !important;
  color: var(--text2) !important;
  line-height: 1.45 !important;
}

.sn-text strong {
  color: var(--text) !important;
  font-weight: 600 !important;
}

div#toast {
  position: fixed !important;
  top: auto !important;
  right: auto !important;
  bottom: 32px !important;
  left: 50% !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 300px !important;
  height: auto !important;
  min-height: 0 !important;
  transform: translateX(-50%) translateY(80px) !important;
  z-index: 9999 !important;
  background: rgba(14,12,34,.96) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1.5px solid rgba(240,192,64,.4) !important;
  border-radius: 16px !important;
  padding: 14px 22px !important;
  font-size: .86rem !important;
  font-family: var(--font) !important;
  font-weight: 500 !important;
  color: #f0e8d0 !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.5) !important;
  opacity: 0 !important;
  transition: all .4s cubic-bezier(.34,1.56,.64,1) !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.5 !important;
  pointer-events: none !important;
  display: block !important;
}

div#toast.show {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}

.noscript-content {
  max-width: 800px !important;
  margin: 40px auto !important;
  padding: 24px !important;
  font-size: .9rem !important;
  line-height: 1.7 !important;
  color: var(--text2) !important;
  background: var(--glass-bg) !important;
  border: 1.5px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
}

.noscript-content h1 {
  font-family: var(--font-display) !important;
  font-size: 1.5rem !important;
  margin-bottom: 16px !important;
  color: var(--gold) !important;
}

.noscript-content h2 {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  margin: 24px 0 10px !important;
  color: var(--text) !important;
}

.section-divider {
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--glass-border), transparent) !important;
  margin: 16px 24px !important;
  position: relative !important;
  z-index: var(--z-content) !important;
}

@media (max-width: 600px) {
  .container { padding: 32px 16px !important; }
  .stats { gap: 10px !important; }
  .stat { padding: 12px 18px !important; }
  .hero-lp { padding: 56px 16px 36px !important; }
  .resumo-actions { flex-direction: column !important; }
  .resumo-actions button,
  .resumo-actions .btn-resumo-wa {
    width: 100% !important;
    justify-content: center !important;
  }
  .modal-box { padding: 28px 20px !important; }
  .exit-box { padding: 32px 22px !important; }
  .grid-pkg { grid-template-columns: 1fr !important; }
  .grid-svc { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 400px) {
  .grid-svc { grid-template-columns: 1fr !important; }
}

@media print {
  .urgency-bar,
  .sticky-cta-mobile,
  .fab-wa,
  .fab-total,
  .social-notif,
  .exit-overlay,
  #confettiCanvas,
  .dancer-left,
  .dancer-right,
  .disco-ball-wrap,
  .party-grain,
  .stepper-bar {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   EMBED MODE — Apple Glass + Transparent + Minimal Layout
   Ativado via body.embed-mode
   ═══════════════════════════════════════════════════════════════ */

body.embed-mode {
  background: transparent !important;
  min-height: auto !important;
}

body.embed-mode::before,
body.embed-mode::after {
  display: none !important;
}

body.embed-mode header,
body.embed-mode .nav-overlay,
body.embed-mode .hero-lp,
body.embed-mode .trust-bar,
body.embed-mode .pain-block,
body.embed-mode .price-ref,
body.embed-mode .editorial-seo,
body.embed-mode .faq-section,
body.embed-mode .testimonials-section,
body.embed-mode .internal-links,
body.embed-mode .final-cta,
body.embed-mode .footer,
body.embed-mode .noscript-content,
body.embed-mode .party-grain,
body.embed-mode #confettiCanvas,
body.embed-mode .disco-ball-wrap,
body.embed-mode .dancer-left,
body.embed-mode .dancer-right,
body.embed-mode .sparkle,
body.embed-mode .exit-overlay,
body.embed-mode .social-notif,
body.embed-mode .fab-wa,
body.embed-mode .fab-total,
body.embed-mode .aurora-layer,
body.embed-mode .fog-layer,
body.embed-mode .algae-layer,
body.embed-mode .orbs-layer,
body.embed-mode .particles-layer,
body.embed-mode .section-divider {
  display: none !important;
}

body.embed-mode .urgency-bar {
  display: flex !important;
  position: relative !important;
  border-radius: 0 !important;
}

body.embed-mode .container {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
body.embed-mode {
  background: transparent !important;
  min-height: auto !important;
}

html:has(body.embed-mode) {
  background: transparent !important;
  background-color: transparent !important;
}


body.embed-mode .stepper-bar {
  display: flex !important;
  margin-top: 8px !important;
}



body.embed-mode .card,
body.embed-mode .event-section,
body.embed-mode .resumo-box,
body.embed-mode .guarantee,
body.embed-mode .contact-section,
body.embed-mode .stat {
  background: rgba(255,255,255,0.12) !important;
  backdrop-filter: blur(40px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.8) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}

[data-theme="light"] body.embed-mode .card,
[data-theme="light"] body.embed-mode .event-section,
[data-theme="light"] body.embed-mode .resumo-box,
[data-theme="light"] body.embed-mode .guarantee,
[data-theme="light"] body.embed-mode .contact-section,
[data-theme="light"] body.embed-mode .stat {
  background: rgba(245,240,232,0.3) !important;
}

body.embed-mode .card:hover,
body.embed-mode .stat:hover {
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(240,192,64,0.35) !important;
  box-shadow:
    0 12px 44px rgba(0,0,0,0.12),
    inset 0 1px 0 rgba(255,255,255,0.25),
    0 0 0 1px rgba(240,192,64,0.15) !important;
}

[data-theme="light"] body.embed-mode .card:hover,
[data-theme="light"] body.embed-mode .stat:hover {
  background: rgba(255,255,255,0.72) !important;
  border-color: rgba(197,149,10,0.35) !important;
  box-shadow:
    0 12px 44px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.9),
    0 0 0 1px rgba(197,149,10,0.15) !important;
}

body.embed-mode .card.selected {
  background: rgba(240,192,64,0.1) !important;
  border-color: var(--gold) !important;
  box-shadow:
    0 0 0 2px rgba(240,192,64,0.25),
    0 12px 40px rgba(240,192,64,0.1),
    inset 0 1px 0 rgba(255,255,255,0.2) !important;
}

[data-theme="light"] body.embed-mode .card.selected {
  background: rgba(197,149,10,0.08) !important;
  box-shadow:
    0 0 0 2px rgba(197,149,10,0.2),
    0 12px 40px rgba(197,149,10,0.08),
    inset 0 1px 0 rgba(255,255,255,0.8) !important;
}

body.embed-mode .event-input,
body.embed-mode .event-textarea,
body.embed-mode .chip {
  background: rgba(255,255,255,0.06) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-color: rgba(255,255,255,0.12) !important;
}

[data-theme="light"] body.embed-mode .event-input,
[data-theme="light"] body.embed-mode .event-textarea,
[data-theme="light"] body.embed-mode .chip {
  background: rgba(255,255,255,0.45) !important;
  border-color: rgba(255,255,255,0.5) !important;
}

body.embed-mode .confirm-box {
  background: rgba(240,192,64,0.04) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-color: rgba(240,192,64,0.15) !important;
}

body.embed-mode .sticky-cta-mobile {
  background: rgba(255,255,255,0.1) !important;
  backdrop-filter: blur(40px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.8) !important;
  border-top: 1px solid rgba(255,255,255,0.18) !important;
}

[data-theme="light"] body.embed-mode .sticky-cta-mobile {
  background: rgba(255,255,255,0.65) !important;
  border-top-color: rgba(255,255,255,0.6) !important;
}

body.embed-mode .modal-box {
  background: rgba(255,255,255,0.08) !important;
  backdrop-filter: blur(50px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(50px) saturate(1.8) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
}

[data-theme="light"] body.embed-mode .modal-box {
  background: rgba(255,255,255,0.8) !important;
  border-color: rgba(255,255,255,0.7) !important;
}

body.embed-mode::-webkit-scrollbar { width: 4px; }
body.embed-mode::-webkit-scrollbar-track { background: transparent; }
body.embed-mode::-webkit-scrollbar-thumb { background: rgba(128,128,128,0.3); border-radius: 2px; }

body.embed-mode div#toast {
  background: rgba(255,255,255,0.1) !important;
  backdrop-filter: blur(40px) !important;
  -webkit-backdrop-filter: blur(40px) !important;
  border-color: rgba(255,255,255,0.2) !important;
}

[data-theme="light"] body.embed-mode div#toast {
  background: rgba(255,255,255,0.85) !important;
  color: #1a1510 !important;
  border-color: rgba(0,0,0,0.08) !important;
}

html[data-theme="light"] body:not(.embed-mode) .card,
html[data-theme="light"] body:not(.embed-mode) .event-section,
html[data-theme="light"] body:not(.embed-mode) .resumo-box,
html[data-theme="light"] body:not(.embed-mode) .stat,
html[data-theme="light"] body:not(.embed-mode) .guarantee,
body[data-theme="light"]:not(.embed-mode) .card,
body[data-theme="light"]:not(.embed-mode) .event-section,
body[data-theme="light"]:not(.embed-mode) .resumo-box,
body[data-theme="light"]:not(.embed-mode) .stat,
body[data-theme="light"]:not(.embed-mode) .guarantee {
  background: rgba(255,255,255,0.82) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* =========================================================
   FIXES FINAIS — dark contrast + iPad glass repaint + fx delay
   ========================================================= */

/* FX DELAY OFF:
   se quiser desligar essa otimização depois,
   remova este bloco inteiro + no JS troque FX_DELAY para 0
*/
header,
.nav,
.theme-toggle,
.hero-badge,
.trust-bar,
.pain-card,
.step-circle,
.stat,
.card,
.event-section,
.chip,
.event-input,
.event-textarea,
.guarantee,
.resumo-box,
.btn-resumo-email,
.contact-section,
.price-ref table,
.editorial-seo,
.faq-item,
.testimonial-card,
.il-link,
.footer,
.sticky-cta-mobile,
.modal-box,
.exit-box,
.social-notif {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}




/* ========== CLASSES IMPORTADAS DE calc.css — NÃO EXISTENTES EM festa.css ========== */
.confetti{position:absolute;will-change:transform,opacity;backface-visibility:hidden;pointer-events:none}
.confetti-rect{border-radius:2px}
.confetti-circle{border-radius:50%}
.confetti-diamond{border-radius:2px;transform-origin:center center}
@keyframes confettiFall{
  0%  {transform:translateY(0)      rotate(0deg)              scaleX(1);   opacity:var(--co,.18)}
  25% {transform:translateY(var(--cy1,-8px))  rotate(calc(var(--cr,45deg) * 0.4)) scaleX(.85); opacity:calc(var(--co,.18)*1.25)}
  50% {transform:translateY(var(--cy2,-4px))  rotate(calc(var(--cr,45deg) * 0.8)) scaleX(1.08);opacity:calc(var(--co,.18)*1.4)}
  75% {transform:translateY(var(--cy3,-10px)) rotate(var(--cr,45deg))              scaleX(.9);  opacity:calc(var(--co,.18)*1.15)}
  100%{transform:translateY(0)      rotate(calc(var(--cr,45deg) * 1.2))  scaleX(1);   opacity:var(--co,.18)}
}
@keyframes sparklePulse{
  0%,100%{transform:scale(1)    rotate(0deg);  opacity:var(--so,.15)}
  30%    {transform:scale(1.35) rotate(15deg); opacity:calc(var(--so,.15)*2.2)}
  60%    {transform:scale(.8)   rotate(-10deg);opacity:calc(var(--so,.15)*.7)}
}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--text2);text-decoration:none;font-size:.85rem;margin-bottom:24px;transition:color .3s}
.back:hover{color:var(--accent)}
.header-calc h1{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;margin-bottom:8px}
.header-calc h1 span{color:var(--accent)}
.header-calc p{color:var(--text2);font-size:.95rem;max-width:500px;margin:0 auto}
.card.included{border-color:var(--green);background:rgba(34,197,94,.08)}
.badge{position:absolute;top:-10px;right:12px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.badge.pop{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.badge.inc{background:var(--green);font-size:.6rem}
.card-price small{font-size:.7rem;font-weight:400;color:var(--text2);margin-left:4px}
.card-price .old{text-decoration:line-through;color:var(--text2);font-size:.85rem;font-weight:400;margin-left:6px}
.card-economy{font-size:.72rem;color:var(--green);margin-top:4px}
.card-items{margin-top:10px;font-size:.75rem;color:var(--text2);line-height:1.6}
.event-sublabel{font-size:.75rem;color:var(--text2);margin-bottom:10px}
.chip.active{border-color:var(--accent);background:var(--accent-glow);color:var(--accent);font-weight:600}
.chip.outro{border-color:var(--accent);color:var(--accent);border-style:dashed}
input[type="date"].event-input{-webkit-appearance:none;appearance:none;min-height:48px;line-height:1.4}
.slider-group{margin-bottom:0}
.slider-label span{font-size:.9rem;font-weight:500}
input[type="range"]::-webkit-slider-thumb:active{transform:scale(1.25)}
.slider-snaps span:hover{color:var(--accent)}
.slider-snaps span.active{color:var(--accent);font-weight:700;background:var(--accent-glow)}
.resumo-line{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:.85rem}
.resumo-line:last-child{border-bottom:none}
.resumo-line .rl-name{color:var(--text);flex:1}
.resumo-line .rl-detail{color:var(--text2);font-size:.75rem}
.resumo-line .rl-val{font-weight:600;color:var(--text);white-space:nowrap;margin-left:12px}
.resumo-line.pkg-line .rl-name{color:var(--accent);font-weight:600}
.resumo-line.extra-line{padding-left:20px;font-size:.8rem}
.resumo-line.extra-line .rl-name{color:var(--text2)}
.resumo-total{display:flex;justify-content:space-between;align-items:center;padding-top:16px;margin-top:8px;border-top:2px solid var(--accent)}
.resumo-total span:first-child{font-size:1rem;font-weight:600}
.resumo-total .rt-val{color:var(--accent);font-size:1.4rem;font-weight:700}
.resumo-eco{text-align:right;font-size:.82rem;color:var(--green);margin-top:6px;font-weight:500}
.resumo-info{margin:16px 0;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}
.resumo-info-line{display:flex;justify-content:space-between;padding:4px 0;font-size:.82rem}
.resumo-info-line .ri-label{color:var(--text2)}
.resumo-info-line .ri-val{color:var(--text);font-weight:500}
.contact-link:hover{border-color:var(--accent);background:var(--card-hover)}
.modal-box .modal-sub{font-size:.82rem;color:var(--text2);margin-bottom:18px}
.modal-box .field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.modal-box .field label{font-size:.8rem;color:var(--text2);font-weight:500}
.modal-box .field input{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text);font-family:var(--font);font-size:.9rem;transition:border-color .3s;outline:none;width:100%}
.modal-box .field input:focus{border-color:var(--accent)}
.modal-box .field input.field-error{border-color:var(--red)}
.modal-actions button{flex:1;padding:12px;border-radius:var(--radius-sm);font-family:var(--font);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;border:none}
.modal-box.post-email{text-align:center}
.modal-box.post-email h3{font-size:1.1rem;margin-bottom:10px}
.modal-box.post-email p{font-size:.9rem;color:var(--text2);margin-bottom:20px;line-height:1.5}
.post-email-actions{display:flex;flex-direction:column;gap:10px}
.post-email-actions .btn-resumo-wa{font-size:.95rem;padding:14px}
.post-email-actions .btn-cancel{padding:12px;text-align:center}
.fab-total .ft-label{font-size:.75rem;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}
.fab-total .ft-val{font-size:1.1rem;font-weight:700;color:var(--accent)}
.fab-total .ft-eco{font-size:.7rem;color:var(--green);font-weight:500}
.toast{position:fixed;top:50px;left:50%;transform:translateX(-50%) translateY(-20px);background:var(--bg2);border:1px solid var(--accent);color:var(--text);padding:12px 24px;border-radius:var(--radius-sm);font-size:.85rem;opacity:0;transition:all .4s;z-index:9999;pointer-events:none;text-align:center;max-width:90vw;backdrop-filter:blur(10px)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.footer span#footerAdmin{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:inline-block;padding:10px 20px;position:relative;z-index:1000}
.btn-resumo-pdf:active{transform:translateY(0)}
.btn-resumo-pdf:disabled{opacity:.6;cursor:not-allowed;transform:none}
#postPdfModal .modal-box.post-pdf-glass{background:rgba(255,255,255,0.08);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(255,255,255,0.15);border-radius:24px;box-shadow:0 8px 32px rgba(0,0,0,0.45),0 1px 0 rgba(255,255,255,0.1) inset;padding:40px 36px 32px;text-align:center;max-width:400px;width:90%;position:relative;animation:glassIn .35s cubic-bezier(.34,1.56,.64,1) both}
@keyframes glassIn{from{opacity:0;transform:scale(.88) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
#postPdfModal .post-pdf-icon{font-size:48px;margin-bottom:12px;filter:drop-shadow(0 4px 12px rgba(230,57,70,.4))}
#postPdfModal h3{font-size:1.4rem;font-weight:700;color:#fff;margin:0 0 10px}
#postPdfModal p{color:rgba(255,255,255,0.65);font-size:0.92rem;line-height:1.6;margin:0 0 28px}
.post-pdf-actions{display:flex;flex-direction:column;gap:10px}
#postPdfModal .modal-close{position:absolute;top:14px;right:18px;background:rgba(255,255,255,.1);border:none;border-radius:50%;width:28px;height:28px;color:rgba(255,255,255,.6);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
#postPdfModal .modal-close:hover{background:rgba(255,255,255,.2)}
body.embed-mode .event-input,
body.embed-mode .event-textarea,
body.embed-mode .chip,
body.embed-mode .resumo-info,
body.embed-mode .event-section,
body.embed-mode .resumo-box {
  background: rgba(255,255,255,0.08) !important;
}
[data-theme="light"] body.embed-mode .event-input,
[data-theme="light"] body.embed-mode .event-textarea,
[data-theme="light"] body.embed-mode .chip,
[data-theme="light"] body.embed-mode .resumo-info,
[data-theme="light"] body.embed-mode .event-section,
[data-theme="light"] body.embed-mode .resumo-box {
  background: rgba(0,0,0,0.05) !important;
}

/* ========== PERFORMANCE — animation delay mobile (Lighthouse FCP) ========== */
@media (max-width: 768px) {
  .aurora-layer,
  .fog-layer,
  .algae-layer,
  .orbs-layer,
  .particles-layer,
  body::after {
    animation-delay: 3s !important;
    opacity: 0;
    animation-fill-mode: forwards;
  }
}

/* ========== ACESSIBILIDADE — respeitar preferência de reduzir movimento ========== */
@media (prefers-reduced-motion: reduce) {
  .aurora-layer,
  .fog-layer,
  .algae-layer,
  .orbs-layer,
  .particles-layer,
  body::after,
  .disco-ball,
  .disco-ball::before,
  .disco-ball::after {
    animation: none !important;
    opacity: 0 !important;
  }
}
