﻿/* Premium public visual system aligned with the approved Mazzbio ecosystem. */
:root {
  --mzb-bg: #05000B;
  --mzb-bg-deep: #030005;
  --mzb-bg-soft: #07020D;
  --mzb-surface: linear-gradient(145deg, rgba(12, 0, 29, 0.86), rgba(5, 0, 11, 0.96));
  --mzb-surface-raised: radial-gradient(circle at 18% 0%, rgba(239, 195, 7, 0.075), transparent 34%), radial-gradient(circle at 92% 12%, rgba(107, 28, 164, 0.22), transparent 44%), linear-gradient(145deg, rgba(14, 1, 31, 0.88), rgba(5, 0, 11, 0.97));
  --mzb-surface-soft: linear-gradient(145deg, rgba(18, 3, 35, 0.70), rgba(5, 0, 11, 0.93));
  --mzb-border: rgba(107, 28, 164, 0.52);
  --mzb-border-soft: rgba(107, 28, 164, 0.30);
  --mzb-border-gold: rgba(239, 195, 7, 0.30);
  --mzb-gold: #EFC307;
  --mzb-gold-soft: #CFAA4A;
  --mzb-gold-bright: #F9DE68;
  --mzb-text: #FFFFFF;
  --mzb-text-soft: rgba(255, 255, 255, 0.84);
  --mzb-muted: rgba(255, 255, 255, 0.68);
  --mzb-muted-2: rgba(255, 255, 255, 0.52);
  --mzb-success: #22C55E;
  --mzb-radius-sm: 12px;
  --mzb-radius-md: 16px;
  --mzb-radius-lg: 20px;
  --mzb-radius-xl: 24px;
  --mzb-shadow: 0 24px 64px rgba(0, 0, 0, 0.42), 0 0 44px rgba(107, 28, 164, 0.14);
  --mzb-shadow-card: 0 18px 48px rgba(0, 0, 0, 0.34), 0 0 32px rgba(107, 28, 164, 0.12);
  --mzb-shadow-gold: 0 12px 34px rgba(239, 195, 7, 0.20), 0 0 26px rgba(107, 28, 164, 0.14);
  --mzb-topline: linear-gradient(90deg, rgba(107, 28, 164, 0.92), rgba(239, 195, 7, 0.78), rgba(249, 222, 104, 0.94));

  --gold: var(--mzb-gold-soft);
  --gold-light: var(--mzb-gold-bright);
  --gold-bright: var(--mzb-gold);
  --white: var(--mzb-text);
  --dark: var(--mzb-bg);
  --dark2: var(--mzb-bg-soft);
  --dark3: #090414;
  --text-gray: var(--mzb-muted);
  --glass-bg: rgba(18, 3, 35, 0.56);
  --glass-border: var(--mzb-border-soft);
  --glass-border-hover: rgba(239, 195, 7, 0.34);
  --gradient-gold: linear-gradient(135deg, #CFAA4A 0%, #F9DE68 54%, #EFC307 100%);
  --gradient-gold-btn: var(--gradient-gold);
  --gradient-gold-subtle: linear-gradient(135deg, rgba(207,170,74,.16), rgba(239,195,7,.06));
  --shadow-gold: var(--mzb-shadow-gold);
  --glow-gold: 0 0 26px rgba(239, 195, 7, 0.16);
  --glow-gold-strong: 0 0 36px rgba(239, 195, 7, 0.22);
}

html { background: var(--mzb-bg); }
body {
  background:
    radial-gradient(circle at 10% 6%, rgba(107, 28, 164, 0.17), transparent 30%),
    radial-gradient(circle at 86% 14%, rgba(239, 195, 7, 0.07), transparent 28%),
    radial-gradient(circle at 50% 70%, rgba(107, 28, 164, 0.08), transparent 36%),
    linear-gradient(180deg, var(--mzb-bg), var(--mzb-bg-deep));
  color: var(--mzb-text);
}
body::before {
  background:
    radial-gradient(circle at 16% 18%, rgba(239, 195, 7, 0.035), transparent 24%),
    radial-gradient(circle at 78% 26%, rgba(107, 28, 164, 0.10), transparent 28%);
}
::selection { background: rgba(239, 195, 7, 0.26); color: #fff; }
:focus-visible { outline: 2px solid rgba(249, 222, 104, 0.78); outline-offset: 3px; }

/* Branding */
.logo-img,
.navbar .logo-img,
.page-footer .logo-img,
.footer-brand img,
.logo,
img[alt="Mazzbio"] {
  object-fit: contain;
  filter: drop-shadow(0 0 14px rgba(239, 195, 7, 0.18));
}
.navbar .logo-img { height: 42px; max-width: 180px; }
.page-footer .logo-img { max-width: 174px; height: auto; }

/* Navigation and top urgency */
.announcement-bar {
  position: relative;
  background:
    radial-gradient(circle at 18% 50%, rgba(239, 195, 7, 0.10), transparent 34%),
    radial-gradient(circle at 80% 0%, rgba(107, 28, 164, 0.22), transparent 38%),
    linear-gradient(90deg, rgba(5, 0, 11, 0.96), rgba(13, 2, 25, 0.96), rgba(5, 0, 11, 0.96));
  border-bottom: 1px solid rgba(107, 28, 164, 0.46);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
}
.navbar {
  position: fixed;
  background: rgba(5, 0, 11, 0.82);
  border-bottom: 1px solid rgba(107, 28, 164, 0.36);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.32);
}
.navbar::before,
.announcement-bar::before,
.exit-popup::before,
.social-toast::before,
#mazzTooltip::before,
#mazzPanel::before,
.mzb-premium-surface::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: var(--mzb-topline);
  opacity: 0.92;
  pointer-events: none;
}
.nav-links a { color: rgba(255,255,255,.76); }
.nav-links a:hover,
.nav-links a.active,
.nav-back:hover,
.page-footer a:hover,
.footer-mini a:hover { color: var(--mzb-gold-bright); }
.nav-cta,
.btn-gold,
.plan-cta.primary,
.exit-popup .exit-cta,
.final-cta .btn,
.cta-primary {
  background: var(--gradient-gold);
  color: #05000B;
  border: 1px solid rgba(249, 222, 104, 0.46);
  box-shadow: var(--mzb-shadow-gold);
}
.nav-cta:hover,
.btn-gold:hover,
.plan-cta.primary:hover,
.exit-popup .exit-cta:hover { filter: brightness(1.04); transform: translateY(-2px); }
.nav-acceso,
.btn-outline,
.plan-cta.secondary {
  color: var(--mzb-gold-bright);
  border-color: rgba(239, 195, 7, 0.44);
  background: rgba(5, 0, 11, 0.36);
}
.ann-text strong,
.toast-highlight,
.exit-highlight,
.section-tag,
.page-tag,
.article-tag,
.hero h1 span,
.section-header h2 span,
.page-hero h1 span,
.article-hero h1 span,
.price-amount,
.stat-num,
.tts-num,
.module-price,
.value-price span,
.level-price,
.plan-price .amount,
.plan-price strong,
.hero-price-tag strong,
.faq-q span,
strong[style*="var(--gold"] {
  color: var(--mzb-gold-bright);
  -webkit-text-fill-color: currentColor;
}
.ann-cta {
  border-color: rgba(239, 195, 7, 0.48);
  color: var(--mzb-gold-bright);
  background: rgba(239, 195, 7, 0.08);
}

/* Shared premium surfaces */
.feature-card,
.service-card,
.pain-card,
.why-card,
.step-card,
.module-card,
.value-item,
.value-total-box,
.eco-card,
.testimonial-card,
.faq-item,
.curso-card,
.plan-card,
.mission-card,
.value-card,
.stat-item,
.sesion-card,
.video-card,
.level-card,
.payment-card,
.membership-card,
.forma-card,
.catalog-card,
.catalogo-card,
.result-card,
.prog-card,
.nivel-card,
.math-step,
.problema-card,
.palanca-card,
.sprint-day,
.reglas-grid,
.article-highlight,
.article-cta-box,
.related-card,
.blog-card,
.value-banner,
.daily-panel {
  position: relative;
  overflow: hidden;
  background: var(--mzb-surface-raised);
  border: 1px solid var(--mzb-border);
  box-shadow: var(--mzb-shadow-card);
  color: var(--mzb-text-soft);
}
.feature-card::before,
.service-card::before,
.pain-card::before,
.why-card::before,
.step-card::before,
.module-card::before,
.value-item::before,
.value-total-box::before,
.eco-card::before,
.testimonial-card::before,
.faq-item::before,
.curso-card::before,
.plan-card::before,
.mission-card::before,
.value-card::before,
.stat-item::before,
.sesion-card::before,
.video-card::before,
.level-card::before,
.payment-card::before,
.membership-card::before,
.forma-card::before,
.catalog-card::before,
.catalogo-card::before,
.result-card::before,
.prog-card::before,
.nivel-card::before,
.math-step::before,
.problema-card::before,
.palanca-card::before,
.sprint-day::before,
.reglas-grid::before,
.article-highlight::before,
.article-cta-box::before,
.related-card::before,
.blog-card::before,
.value-banner::before,
.daily-panel::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: var(--mzb-topline);
  opacity: .82;
  pointer-events: none;
}
.feature-card:hover,
.service-card:hover,
.step-card:hover,
.module-card:hover,
.eco-card:hover,
.testimonial-card:hover,
.curso-card:hover,
.plan-card:hover,
.related-card:hover,
.blog-card:hover {
  border-color: rgba(239, 195, 7, 0.36);
  box-shadow: var(--mzb-shadow), 0 0 0 1px rgba(239,195,7,.08);
}
.feature-card h3,
.service-card h3,
.step-card h3,
.module-card h3,
.eco-card h3,
.testimonial-name,
.faq-question,
.faq-q,
.curso-card h3,
.plan-name,
.mission-card h3,
.value-card h3,
.article-cta-box h3,
.related-card h3,
.blog-card h3 { color: var(--mzb-text); }
.feature-card p,
.service-card p,
.step-card p,
.module-card p,
.eco-card p,
.testimonial-card p,
.faq-answer,
.faq-a,
.curso-card p,
.plan-desc,
.mission-card p,
.value-card p,
.related-card p,
.blog-card p { color: var(--mzb-muted); }

/* Home refinement */
.hero {
  background:
    radial-gradient(circle at 50% 0%, rgba(239, 195, 7, 0.07) 0%, transparent 44%),
    radial-gradient(circle at 76% 30%, rgba(107, 28, 164, 0.13), transparent 34%);
}
.hero-badge,
.section-tag,
.page-tag,
.article-tag,
.level-badge,
.plan-level,
.plan-badge,
.testimonial-result,
.eco-tag,
.module-tool {
  background: rgba(239, 195, 7, 0.08);
  border: 1px solid rgba(239, 195, 7, 0.22);
  color: var(--mzb-gold-bright);
  box-shadow: 0 0 24px rgba(239, 195, 7, 0.08);
}
.hero-price-tag .price-amount { color: var(--mzb-gold-bright); -webkit-text-fill-color: currentColor; }

.hero-price-tag {
  background: var(--mzb-surface-raised);
  border: 1px solid rgba(239, 195, 7, 0.28);
  border-radius: var(--mzb-radius-md);
  box-shadow: var(--mzb-shadow-card);
}
.hero-feat,
.hero-stat-item,
.live-stat,
.price-teaser-item,
.value-banner-item,
.testi-trust-stat {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(107, 28, 164, 0.34);
  border-radius: var(--mzb-radius-md);
  box-shadow: 0 12px 30px rgba(0,0,0,.20);
}
.live-stat strong,
.hero-stat-item strong,
.price-teaser-item strong,
.value-banner-item strong,
.plan-earn,
.level-price span { color: var(--mzb-gold-bright); }
.pain-bar {
  background: linear-gradient(135deg, rgba(127, 29, 29, .30), rgba(12, 0, 29, .72));
  border: 1px solid rgba(239, 68, 68, .22);
  box-shadow: 0 16px 42px rgba(0,0,0,.28);
}
.social-proof-bar,
.live-stats-bar,
.payment-strip,
.platforms-strip,
.about-stats,
.final-cta,
.cta-section,
.catalogo-cta {
  background:
    radial-gradient(circle at 16% 0%, rgba(239, 195, 7, .055), transparent 30%),
    radial-gradient(circle at 88% 20%, rgba(107, 28, 164, .14), transparent 38%),
    linear-gradient(180deg, rgba(7, 2, 13, .94), rgba(3, 0, 5, .98));
  border-top: 1px solid rgba(107, 28, 164, .28);
  border-bottom: 1px solid rgba(107, 28, 164, .22);
}

/* Subpages and blog */
.page-hero,
.article-hero {
  background:
    radial-gradient(circle at 50% 0%, rgba(239, 195, 7, .055), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(107, 28, 164, .14), transparent 38%),
    linear-gradient(180deg, rgba(7, 2, 13, .96), rgba(3, 0, 5, .98));
}
.page-hero p,
.article-meta,
.article-content p,
.article-content li { color: var(--mzb-muted); }
.article-content h2,
.article-content h3 { color: var(--mzb-text); }
.article-content a:not(.btn):not(.related-card) { color: var(--mzb-gold-bright); font-weight: 800; }
.article-content a:not(.btn):not(.related-card):hover { text-decoration: underline; }
.table-wrap,
.comparison-table,
.pricing-table,
.niveles-table {
  background: var(--mzb-surface-soft);
  border: 1px solid var(--mzb-border-soft);
  border-radius: var(--mzb-radius-lg);
  box-shadow: var(--mzb-shadow-card);
}
.table-wrap th,
.comparison-table th,
.pricing-table th,
.niveles-table th { color: var(--mzb-gold-bright); background: rgba(239,195,7,.06); }
.table-wrap td,
.comparison-table td,
.pricing-table td,
.niveles-table td { border-color: rgba(107,28,164,.22); color: var(--mzb-text-soft); }

/* Icons, stars, and semantic colors */
.feature-icon,
.via-num,
.value-icon,
.plan-icon,
.step-num,
.math-step-num,
.pcard-icon,
.eco-icon,
.curso-icon,
.payment-card i,
.testimonial-stars,
.testimonial-stars i,
.stars,
.star-rating,
.faq-question i,
.faq-q i {
  color: var(--mzb-gold-bright);
}
.fa-check,
.fa-check-circle,
.whatsapp-float i,
.fab.fa-whatsapp { color: var(--mzb-success); }
.fa-times,
.fa-times-circle { color: rgba(255,255,255,.40); }


/* License page: purple remains as surface/border, not typography emphasis. */
.via-c .via-num,
.via-c .via-sub,
.via-c .via-badge,
.koin-label,
.koin-cost,
.koins-note strong,
.koins-path {
  color: var(--mzb-gold-bright);
  -webkit-text-fill-color: currentColor;
}
.via-c .via-num,
.via-c .via-badge,
.koins-path {
  background: rgba(239, 195, 7, 0.08);
  border-color: rgba(239, 195, 7, 0.24);
}
.koins-note {
  background: rgba(18, 3, 35, 0.54);
  border-color: var(--mzb-border-soft);
}

/* Floating proof */
.social-toast {
  background: var(--mzb-surface-raised);
  border: 1px solid var(--mzb-border);
  border-left: 1px solid rgba(239, 195, 7, 0.44);
  border-radius: 18px;
  box-shadow: var(--mzb-shadow);
  overflow: hidden;
}
.social-toast .toast-avatar {
  border: 1px solid rgba(239, 195, 7, 0.58);
  background: rgba(239, 195, 7, 0.10);
  box-shadow: 0 0 18px rgba(239, 195, 7, 0.16);
}
.social-toast .toast-text { color: rgba(255, 255, 255, 0.82); }
.social-toast .toast-text strong { color: var(--mzb-text); }
.social-toast .toast-time { color: rgba(255, 255, 255, 0.48); }

/* Exit intent */
.exit-overlay { z-index: 10050; background: rgba(0, 0, 0, 0.78); backdrop-filter: blur(12px); }
.exit-popup {
  background: var(--mzb-surface-raised);
  border: 1px solid var(--mzb-border);
  border-radius: 20px;
  box-shadow: var(--mzb-shadow);
  overflow: hidden;
}
.exit-popup .close-popup {
  width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; color: rgba(255, 255, 255, 0.74); background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.10);
}
.exit-popup .close-popup:hover { color: var(--mzb-gold-bright); border-color: rgba(239, 195, 7, 0.34); }
.exit-popup .exit-icon {
  width: 64px; height: 64px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center;
  border-radius: 18px; color: var(--mzb-gold-bright); background: rgba(239, 195, 7, 0.10); border: 1px solid rgba(239, 195, 7, 0.24); box-shadow: var(--glow-gold);
}
.exit-popup p,
.exit-popup .exit-skip { color: var(--mzb-muted); }
.exit-popup .exit-skip:hover { color: var(--mzb-gold-bright); }
.exit-email,
.exit-form input,
.exit-form textarea {
  background: rgba(255, 255, 255, 0.055); border: 1px solid rgba(107, 28, 164, 0.52); color: var(--mzb-text); box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.exit-email:focus,
.exit-form input:focus,
.exit-form textarea:focus { border-color: rgba(239, 195, 7, 0.62); box-shadow: 0 0 0 3px rgba(239, 195, 7, 0.11); }
.exit-email:-webkit-autofill,
.exit-email:-webkit-autofill:hover,
.exit-email:-webkit-autofill:focus,
.exit-email:-webkit-autofill:active,
.exit-form input:-webkit-autofill,
.exit-form input:-webkit-autofill:hover,
.exit-form input:-webkit-autofill:focus,
.exit-form input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset;
  box-shadow: 0 0 0 1000px #FFFFFF inset;
  -webkit-text-fill-color: #111111;
  color: #111111;
  caret-color: #111111;
  border-color: rgba(239, 195, 7, 0.72);
}

/* AI agent. These few important declarations beat legacy inline component rules that also use important. */
#mazzBubble {
  width: 66px !important; height: 66px !important;
  background: radial-gradient(circle at 35% 22%, rgba(249, 222, 104, 0.26), transparent 32%), linear-gradient(145deg, rgba(12, 0, 29, 0.96), rgba(5, 0, 11, 0.98)) !important;
  border: 1px solid rgba(239, 195, 7, 0.58) !important;
  color: var(--mzb-gold-bright) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.44), 0 0 0 5px rgba(239, 195, 7, 0.08), 0 0 28px rgba(107, 28, 164, 0.24) !important;
}
#mazzBubble:hover { box-shadow: 0 20px 48px rgba(0, 0, 0, 0.52), 0 0 0 6px rgba(239, 195, 7, 0.12), 0 0 34px rgba(107, 28, 164, 0.30) !important; }
#mazzOnlineDot { border-color: #05000B !important; box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.16) !important; }
#mazzTooltip,
#mazzPanel {
  background: var(--mzb-surface-raised) !important;
  border: 1px solid var(--mzb-border) !important;
  box-shadow: var(--mzb-shadow) !important;
}
#mazzTooltip { border-radius: 18px !important; overflow: visible; }
#mazzPanel { overflow: hidden; }
#mazzTooltip > div > div:first-child,
#mazzPanel > div:first-child > div:first-child,
.mazz-avatar { background: rgba(239, 195, 7, 0.12) !important; border: 1px solid rgba(239, 195, 7, 0.28) !important; color: var(--mzb-gold-bright) !important; }
#mazzTooltip > div > div:nth-child(2) > div:first-child,
#mazzPanel strong,
#mazzVoiceStatus span,
#mazzPanel > div:first-child > div:nth-child(2) > div:first-child { color: var(--mzb-gold-bright) !important; }
#mazzTooltip > div > div:nth-child(2) > div:nth-child(2) { color: rgba(255, 255, 255, 0.86) !important; }
#mazzTooltip button { color: rgba(255,255,255,0.58) !important; }
#mazzTooltip button:hover { color: var(--mzb-gold-bright) !important; }
#mazzTooltip > div:last-child { background: #07020D !important; border-color: var(--mzb-border) !important; }
#mazzPanel > div:first-child { background: linear-gradient(135deg, rgba(12, 0, 29, 0.94), rgba(5, 0, 11, 0.98)) !important; border-bottom: 1px solid rgba(107, 28, 164, 0.38) !important; }
#mazzPanel > div:last-child { background: rgba(5, 0, 11, 0.90) !important; border-top: 1px solid rgba(107, 28, 164, 0.38) !important; }
.mazz-bubble-bot { background: rgba(255, 255, 255, 0.055) !important; border-color: rgba(107, 28, 164, 0.34) !important; color: rgba(255, 255, 255, 0.84) !important; }
.mazz-bubble-user { background: rgba(239, 195, 7, 0.10) !important; border-color: rgba(239, 195, 7, 0.30) !important; color: rgba(255, 255, 255, 0.90) !important; }
#mazzQuickReplies button,
.mazz-followup button { background: rgba(239, 195, 7, 0.08) !important; border-color: rgba(239, 195, 7, 0.24) !important; color: var(--mzb-gold-bright) !important; }
#mazzInput { background: rgba(255, 255, 255, 0.06) !important; border-color: rgba(107, 28, 164, 0.46) !important; color: #FFFFFF !important; caret-color: var(--mzb-gold-bright) !important; }
#mazzInput:focus { border-color: rgba(239, 195, 7, 0.58) !important; box-shadow: 0 0 0 3px rgba(239, 195, 7, 0.10) !important; }
#mazzSendBtn { background: var(--gradient-gold) !important; color: #05000B !important; }
#mazzVoiceBtn { border-color: rgba(239, 195, 7, 0.42) !important; color: var(--mzb-gold-bright) !important; background: rgba(239, 195, 7, 0.06) !important; }

/* Footer */
.page-footer,
.footer,
.footer-mini {
  background: linear-gradient(180deg, rgba(7,2,13,.98), rgba(3,0,5,1));
  border-top: 1px solid rgba(107,28,164,.34);
}
.page-footer p,
.footer p,
.footer-mini p { color: var(--mzb-muted); }
.footer-socials a,
.page-footer .socials a { background: rgba(239,195,7,.08); border: 1px solid rgba(239,195,7,.20); color: var(--mzb-gold-bright); }
.footer-socials a:hover,
.page-footer .socials a:hover { background: rgba(239,195,7,.14); }

/* 404/register only receive brand/favicon assets; keep form layout intact. */
body.error-page .error-card,
.register-shell .card { background: var(--mzb-surface-raised); border: 1px solid var(--mzb-border); box-shadow: var(--mzb-shadow-card); }

@media (max-width: 991px) {
  .navbar .logo-img { height: 38px; max-width: 160px; }
  .nav-links { background: rgba(5, 0, 11, 0.96); border: 1px solid rgba(107,28,164,.34); box-shadow: var(--mzb-shadow-card); }
  .module-card[style*="grid-column"] { grid-column: auto; }
}
@media (max-width: 767px) {
  .hero { padding-top: 132px; }
  .hero h1,
  .page-hero h1,
  .article-hero h1 { letter-spacing: 0; }
  .social-toast { left: 12px; right: 12px; bottom: 86px; max-width: min(320px, calc(100vw - 24px)); }
  #mazzTooltip { right: 12px !important; bottom: 92px !important; width: min(292px, calc(100vw - 24px)) !important; max-width: calc(100vw - 24px) !important; }
  #mazzBubble { right: 18px !important; bottom: 18px !important; width: 62px !important; height: 62px !important; }
  .exit-popup { width: min(100%, 430px); max-height: calc(100vh - 28px); overflow-y: auto; }
  .hero-buttons .btn-gold { max-width: min(340px, calc(100vw - 116px)); align-self: flex-start; }
  .hero-feat,
  .hero-stat-item,
  .live-stat,
  .price-teaser-item,
  .value-banner-item { min-width: 0; }
}




/* V3 public site refinement: bring Home surfaces up to Capture/Sales/Thanks quality. */
:root {
  --mzb-public-card-bg: radial-gradient(circle at 18% 0%, rgba(249, 222, 104, 0.07), transparent 30%), radial-gradient(circle at 84% 10%, rgba(107, 28, 164, 0.24), transparent 42%), linear-gradient(145deg, rgba(13, 1, 28, 0.90), rgba(4, 0, 10, 0.98));
  --mzb-public-card-bg-soft: radial-gradient(circle at 15% 0%, rgba(239, 195, 7, 0.045), transparent 28%), radial-gradient(circle at 90% 15%, rgba(107, 28, 164, 0.17), transparent 38%), linear-gradient(145deg, rgba(10, 1, 22, 0.84), rgba(3, 0, 8, 0.96));
  --mzb-public-border: rgba(107, 28, 164, 0.50);
  --mzb-public-border-gold: rgba(239, 195, 7, 0.25);
}

.navbar .logo-img {
  height: 48px;
  max-width: 220px;
  object-fit: contain;
}
.page-footer .logo-img,
.footer-brand .logo-img,
.logo img,
.register-shell .logo,
body.error-page .logo img {
  max-width: 210px;
  height: auto;
}

.hero {
  background:
    radial-gradient(circle at 50% 0%, rgba(249, 222, 104, 0.055), transparent 30%),
    radial-gradient(circle at 16% 34%, rgba(107, 28, 164, 0.18), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(239, 195, 7, 0.055), transparent 28%),
    linear-gradient(180deg, #07020d 0%, #030005 100%);
}
.hero-overlay {
  background: linear-gradient(135deg, rgba(5, 0, 11, 0.96), rgba(9, 2, 18, 0.90) 54%, rgba(5, 0, 11, 0.94));
}
.hero-grid.hero-centered .hero-content {
  max-width: 900px;
  margin: 0 auto;
}
.hero h1 {
  text-wrap: balance;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.24));
}
.hero-subtitle {
  max-width: 720px;
  color: rgba(255,255,255,.76);
}
.pain-bar,
.hero-price-tag,
.hero-feat,
.hero-stat-item,
.live-stat,
.price-teaser-item,
.value-banner-item,
.testi-trust-stat,
.game-card {
  background: var(--mzb-public-card-bg-soft);
  border: 1px solid var(--mzb-public-border);
  box-shadow: var(--mzb-shadow-card);
}
.pain-bar {
  border-color: rgba(239, 195, 7, 0.24);
  background: linear-gradient(135deg, rgba(239,195,7,.08), rgba(107,28,164,.16), rgba(5,0,11,.72));
}
.pain-bar i { color: var(--mzb-gold-bright); }
.hero-price-tag {
  border-color: rgba(239, 195, 7, 0.28);
  border-radius: 18px;
  padding: 14px 24px;
}
.hero-price-tag .price-from,
.hero-price-tag .price-desc { color: rgba(255,255,255,.62); }
.hero-price-tag .price-amount,
.hero-price-tag .price-guarantee { color: var(--mzb-gold-bright); }
.hero-features { gap: 12px; }
.hero-feat {
  min-height: 52px;
  padding: 12px 16px;
  border-radius: 16px;
  justify-content: flex-start;
  color: rgba(255,255,255,.82);
}
.hero-feat i { color: var(--mzb-success); }
.hero-buttons { margin-top: 6px; }

.pain {
  background:
    radial-gradient(circle at 50% 18%, rgba(107, 28, 164, .14), transparent 38%),
    linear-gradient(180deg, rgba(5,0,11,.98), rgba(3,0,5,1));
}
.pain::before { background: radial-gradient(ellipse at 50% 40%, rgba(239,195,7,.035) 0%, transparent 64%); }
.pain-card {
  min-height: 276px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--mzb-public-card-bg);
  border-color: var(--mzb-public-border);
}
.pain-card:hover {
  border-color: rgba(239, 195, 7, 0.32);
  background: var(--mzb-public-card-bg);
}
.pain-card .pain-icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  border-radius: 18px;
  background: rgba(239,195,7,.09);
  border: 1px solid rgba(239,195,7,.18);
}
.pain-card p { color: rgba(255,255,255,.66); }
.pain-bridge { max-width: 860px; margin-left: auto; margin-right: auto; }

.how-it-works {
  background:
    radial-gradient(circle at 50% 8%, rgba(107, 28, 164, .13), transparent 34%),
    linear-gradient(180deg, rgba(5,0,11,.99), rgba(3,0,5,1));
}
.steps-grid { gap: 28px; }
.steps-grid::before {
  top: 50%;
  height: 1px;
  opacity: .14;
  background: linear-gradient(90deg, transparent, rgba(249,222,104,.44), transparent);
}
.step-card {
  min-height: 228px;
  padding: 46px 28px 30px;
  border-radius: 18px;
  background: var(--mzb-public-card-bg);
  border-color: var(--mzb-public-border);
}
.step-card .step-number {
  position: relative;
  z-index: 2;
  margin-top: -78px;
  margin-bottom: 24px;
  border: 1px solid rgba(249,222,104,.55);
}
.step-card p { color: rgba(255,255,255,.68); }

.about {
  background:
    radial-gradient(circle at 28% 20%, rgba(107, 28, 164, .15), transparent 32%),
    linear-gradient(180deg, rgba(3,0,5,1), rgba(5,0,11,.98));
}
.about-img-main,
.about-img-secondary,
.about-experience {
  border-color: rgba(239,195,7,.26);
  box-shadow: var(--mzb-shadow-card);
}
.about-experience { background: var(--mzb-public-card-bg); }
.about-benefit strong { color: var(--mzb-gold-bright); }
.about-benefit span { color: rgba(255,255,255,.68); }

.stats {
  padding: 76px 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(239,195,7,.07), transparent 30%),
    radial-gradient(circle at 18% 45%, rgba(107,28,164,.16), transparent 34%),
    linear-gradient(180deg, rgba(5,0,11,.98), rgba(3,0,5,1));
  border-top: 1px solid rgba(107,28,164,.32);
  border-bottom: 1px solid rgba(107,28,164,.30);
}
.stats-grid {
  gap: 18px;
  align-items: stretch;
}
.stats .stat-item {
  padding: 30px 22px;
  border-radius: 18px;
  background: var(--mzb-public-card-bg);
  border: 1px solid var(--mzb-public-border);
  box-shadow: var(--mzb-shadow-card);
}
.stats .stat-number {
  color: var(--mzb-gold-bright);
  -webkit-text-fill-color: currentColor;
  text-shadow: 0 10px 30px rgba(239,195,7,.15);
}
.stats .stat-label {
  color: rgba(255,255,255,.62);
  letter-spacing: .9px;
}

.gamification {
  background:
    radial-gradient(circle at 50% 0%, rgba(107, 28, 164, .16), transparent 34%),
    linear-gradient(180deg, rgba(3,0,5,1), rgba(5,0,11,.99));
}
.game-grid { gap: 30px; }
.game-card {
  min-height: 410px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--mzb-public-card-bg);
  border-color: var(--mzb-public-border);
}
.game-card::after {
  transform: none;
  height: 2px;
  opacity: .82;
}
.game-card:hover { background: var(--mzb-public-card-bg); border-color: rgba(239,195,7,.30); }
.game-icon { color: var(--mzb-gold-bright); filter: drop-shadow(0 0 18px rgba(239,195,7,.14)); }
.game-card p { color: rgba(255,255,255,.66); }
.game-detail {
  margin-top: auto;
  background: rgba(239,195,7,.10);
  border: 1px solid rgba(239,195,7,.18);
  color: var(--mzb-gold-bright);
}
.game-unique-badge {
  background: rgba(34,197,94,.10);
  color: #2ee67f;
}

.cta {
  background:
    radial-gradient(circle at 50% 0%, rgba(239,195,7,.065), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(107,28,164,.14), transparent 36%),
    linear-gradient(180deg, rgba(5,0,11,.98), rgba(3,0,5,1));
  border-top: 1px solid rgba(107,28,164,.24);
}
.cta-content {
  padding: 18px 0;
}
.cta-content h2 { text-wrap: balance; }
.cta-sub { color: rgba(255,255,255,.74); }
.cta-price-note { color: var(--mzb-gold-bright); }

.footer {
  padding-top: 72px;
  background:
    radial-gradient(circle at 18% 0%, rgba(107,28,164,.18), transparent 34%),
    linear-gradient(180deg, rgba(7,2,13,.98), rgba(3,0,5,1));
}
.footer-grid {
  padding: 36px;
  border: 1px solid rgba(107,28,164,.28);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(12,0,29,.52), rgba(3,0,5,.82));
  box-shadow: var(--mzb-shadow-card);
}
.footer h4 { color: var(--mzb-gold-bright); letter-spacing: 1.3px; }
.footer-links a,
.footer-contact li { color: rgba(255,255,255,.68); }
.footer-links a:hover,
.footer-contact a:hover { color: var(--mzb-gold-bright); }
.footer-bottom {
  border-top-color: rgba(107,28,164,.32);
  color: rgba(255,255,255,.62);
}
.footer-disclaimer { border-top-color: rgba(107,28,164,.20); }

.social-toast {
  border-radius: 18px;
  background: var(--mzb-public-card-bg);
  border: 1px solid rgba(107,28,164,.54);
  box-shadow: var(--mzb-shadow);
}
.toast-avatar { border-color: rgba(239,195,7,.34); background: rgba(239,195,7,.08); }

.exit-popup {
  background: var(--mzb-public-card-bg);
  border-color: rgba(107,28,164,.56);
}
.exit-popup h2 { text-wrap: balance; }
.exit-email { border-radius: 16px; }

@media (max-width: 991px) {
  .navbar .logo-img { height: 42px; max-width: 190px; }
  .footer-grid { padding: 28px; }
  .game-card { min-height: 0; }
}
@media (max-width: 767px) {
  .navbar .logo-img { height: 38px; max-width: 172px; }
  .hero-price-tag { width: min(100%, 360px); }
  .hero-feat { min-height: 48px; }
  .pain-card,
  .step-card,
  .game-card { min-height: 0; }
  .step-card { padding-top: 42px; }
  .step-card .step-number { margin-top: 0; }
  .stats { padding: 54px 0; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .stats .stat-item { padding: 22px 14px; }
  .stats .stat-label { font-size: .76rem; }
  .footer { padding-top: 54px; }
  .footer-grid { padding: 24px 18px; }
}
/* V3 containment: animated payment track must not contribute document width on phones. */
.payment-bar,
.payment-bar-track {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.payment-bar-track {
  position: relative;
}

.payment-marquee {
  flex: 0 0 max-content;
  will-change: transform;
}

@media (max-width: 767px) {
  .payment-bar {
    padding: 8px 0;
  }

  .payment-bar-track {
    display: block;
    height: 30px;
  }

  .payment-bar-label {
    display: none;
  }

  .payment-marquee {
    position: absolute;
    inset: 0 auto auto 0;
    height: 30px;
  }

  .pay-item {
    padding-top: 4px;
    padding-bottom: 4px;
  }
}

@media (max-width: 767px) {
  .payment-marquee {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .payment-bar-track {
    display: flex;
    justify-content: center;
    height: auto;
  }

  .payment-marquee {
    position: static;
    width: auto;
    max-width: 100%;
    height: auto;
    overflow: hidden;
    animation: none;
    transform: none;
    justify-content: center;
  }

  .payment-marquee .pay-item {
    padding: 4px 10px;
    font-size: 0.68rem;
  }

  .payment-marquee .pay-item:nth-child(n+4) {
    display: none;
  }
}

@media (max-width: 767px) {
  .price-teaser-levels {
    align-items: stretch;
  }

  .price-teaser-item {
    min-width: 0;
    flex: 1 1 calc(50% - 8px);
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box;
  }

  .pt-price {
    max-width: 100%;
    white-space: nowrap;
    font-size: clamp(1.05rem, 5.4vw, 1.38rem);
    line-height: 1;
  }
}

/* V3 metrics readability lock: keep the proof counters fully legible while the section enters the viewport. */
.stats .stat-item.animate-on-scroll,
.stats .stat-item.animate-on-scroll.visible {
    opacity: 1;
    transform: none;
}