:root {
  --radius-lg: 1rem;
  --shadow-lg: 0 1rem 2rem rgba(0,0,0,.1);
}

/* Temas (4 variações) */
body[data-theme="teal"] {
  --primary: #0fb6b2;
  --primary-600: #0aa29f;
  --primary-700: #0a8a87;
  --bg-hero: linear-gradient(100deg, #0fb6b2 0%, #2f6fe4 100%);
  --gradient-left: radial-gradient(80rem 50rem at 20% 20%, #1ddbd5 0%, #0e8cc5 40%, #0a0f14 100%);
}
body[data-theme="indigo"] {
  --primary: #5850ec;
  --primary-600: #4b46d2;
  --primary-700: #3d3ab3;
  --bg-hero: linear-gradient(100deg, #5850ec 0%, #2aa6ff 100%);
  --gradient-left: radial-gradient(80rem 50rem at 20% 20%, #7f80ff 0%, #3b46e0 40%, #0a0f14 100%);
}
body[data-theme="emerald"] {
  --primary: #10b981;
  --primary-600: #0ea271;
  --primary-700: #0b8b61;
  --bg-hero: linear-gradient(100deg, #10b981 0%, #2ab3e4 100%);
  --gradient-left: radial-gradient(80rem 50rem at 20% 20%, #34e0a1 0%, #0aa573 40%, #0a0f14 100%);
}
body[data-theme="coral"] {
  --primary: #ff6b6b;
  --primary-600: #f65a5a;
  --primary-700: #e14b4b;
  --bg-hero: linear-gradient(100deg, #ff6b6b 0%, #ff8e53 100%);
  --gradient-left: radial-gradient(80rem 50rem at 20% 20%, #ffa7a7 0%, #ff6b6b 40%, #0a0f14 100%);
}

/* Overrides do Bootstrap */
.bg-body { background-color: #fff; }
a { color: var(--primary); }
a:hover { color: var(--primary-700); }

.btn-primary {
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary-600);
  --bs-btn-hover-border-color: var(--primary-600);
  --bs-btn-active-bg: var(--primary-700);
  --bs-btn-active-border-color: var(--primary-700);
}
.btn-outline-primary {
  --bs-btn-color: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary);
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-hover-color: #fff;
}

/* Navbar / marca */
.brand-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 9px;
  background: var(--primary); color: #fff; font-weight: 800;
}

/* Hero */
.hero { background: var(--bg-hero); }
.hero .hero-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.15)); }
.py-6 { padding-top: 4rem; padding-bottom: 4rem; }

/* Vídeo */
.video-wrap { position: relative; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); background: #000; }
.video-ctrl { position: absolute; bottom: .75rem; right: .75rem; width: 42px; height: 42px; border: none; border-radius: 50%; background: rgba(0,0,0,.55); backdrop-filter: blur(6px); color: #fff; cursor: pointer; }
.video-ctrl.playpause { right: 3.25rem; }
.video-ctrl.playpause::before { content: "❚❚"; font-size: 18px; }
.video-ctrl.playpause.is-paused::before { content: "►"; padding-left: 4px; }
.video-ctrl.muteunmute::before { content: "🔇"; font-size: 18px; }
.video-ctrl.muteunmute.is-unmuted::before { content: "🔊"; }

/* Utilitários */
.bg-soft-primary { background: color-mix(in oklab, var(--primary) 15%, transparent); }
.vcheck li { padding-left: 1.6rem; position: relative; margin-bottom: .6rem; }
.vcheck li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--primary); font-weight: 700; }
.object-fit-cover { object-fit: cover; }

/* Barra de garantia */
.guarantee { background: var(--primary-700); }

/* Modal de cadastro (dark + gradient) */
.signup-modal { background: #0b0f14; border: 0; border-radius: 1rem; overflow: hidden; }
.gradient-left { background: var(--gradient-left); border-right: 1px solid rgba(255,255,255,.08); }
.step-card { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); color: #fff; border-radius: .75rem; padding: .9rem; text-align: center; }
.step-card .step-icon { font-size: 1.25rem; margin-bottom: .35rem; }
.step-card.active { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.25); }
.cta-bling { font-weight: 700; letter-spacing: .3px; padding: .75rem 1rem; border-radius: .75rem; display: inline-block; background: rgba(255,255,255,.15); backdrop-filter: blur(6px); }

/* Campos dark lindos */
.bg-dark-subtle { background-color: #141a22 !important; }
.form-control.bg-dark-subtle::placeholder { color: rgba(255,255,255,.5); }
.form-control:focus { box-shadow: 0 0 0 .25rem color-mix(in oklab, var(--primary) 30%, transparent); border-color: var(--primary-600); }

/* Banner de clique sobre o vídeo (pisca) */
.click-banner{
  position:absolute; inset:auto auto 40% 50%;
  transform:translateX(-50%);
  background:rgba(0,0,0,.65);
  color:#fff; border:1px solid rgba(255,255,255,.25);
  padding:.75rem 1.1rem; border-radius:999px;
  display:flex; align-items:center;
  font-weight:600; letter-spacing:.2px;
  animation:pulseBlink 1.1s ease-in-out infinite alternate;
  z-index:3; cursor:pointer; backdrop-filter: blur(6px);
}
@keyframes pulseBlink{
  from{ opacity:.55; transform:translateX(-50%) scale(.98); }
  to{ opacity:1; transform:translateX(-50%) scale(1.03); }
}
