/* ─────────────────────────────────────────────────────
   BAZZINI'S COACHING — Master Stylesheet v1.0
   Includi in ogni landing page:
   <link rel="stylesheet" href="../Components/bazzini.css">
───────────────────────────────────────────────────── */

/* ─── 1. RESET & BASE ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --white:      #FFFFFF;
  --black:      #080808;
  --pink:       #FF8294;
  --teal:       #54B3BA;
  --dark-green: #0A1616;
  --gold:       #CEA543;
  --bordeaux:   #3A0036;
  --dark-gray:  #212326;
  --light-gray: #D0D2D7;
  --pink-soft:  rgba(255,130,148,0.12);
}

body {
  background: var(--black);
  color: var(--white);
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

/* ─── 2. LAYOUT ─── */
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}

@media (max-width: 767px) {
  .container { padding: 0 12px; }
}

.row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-start;
}

.col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ─── 3. TYPOGRAPHY ─── */
.text-display {
  font-size: clamp(56px, 8vw, 92px);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.0;
  letter-spacing: -0.02em;
}

.text-h1 {
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.15;
}

.text-h2 {
  font-size: clamp(24px, 4vw, 40px);
  font-weight: 700;
  line-height: 1.2;
}

.text-body {
  font-size: 19px;
  font-weight: 400;
  line-height: 1.7;
  max-width: 560px;
}

.text-small {
  font-size: 15px;
  color: var(--light-gray);
  line-height: 1.6;
}

.c-white { color: var(--white); }
.c-pink  { color: var(--pink); }
.c-gold  { color: var(--gold); }
.c-teal  { color: var(--teal); }

/* ─── 4. BADGE ─── */
.badge {
  display: inline-flex;
  align-items: center;
  background: var(--pink);
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 999px;
  white-space: nowrap;
}

.badge-outline { background: transparent; border: 1.5px solid var(--pink); color: var(--pink); }
.badge-teal    { background: var(--teal); }
.badge-gold    { background: var(--gold); color: var(--dark-green); }

/* ─── 5. BUTTONS ─── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 14px 36px;
  border-radius: 16px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.15s, transform 0.1s;
  white-space: nowrap;
}

.btn:hover  { opacity: 0.88; transform: translateY(-1px); }
.btn:active { transform: scale(0.98); }

.btn-primary { background: var(--pink); color: #050505; border: 2px solid var(--white); }
.btn-outline { background: transparent; border: 2px solid var(--pink); color: var(--pink); }
.btn-teal    { background: var(--teal);  color: var(--dark-green); }
.btn-gold    { background: var(--gold);  color: var(--dark-green); }

.btn-sm { font-size: 14px; padding: 10px 24px; }
.btn-lg { font-size: 18px; padding: 18px 48px; }

/* ─── 6. FEATURE CARD ─── */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}

.feature-card {
  background: var(--dark-gray);
  border-radius: 12px;
  padding: 24px;
  border: 1px solid #2e2e2e;
}

.feature-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 14px;
}

.icon-pink { background: var(--pink-soft);           color: var(--pink); }
.icon-teal { background: rgba(84,179,186,0.12); color: var(--teal); }

.feature-card h3 { font-size: 15px; font-weight: 700; color: var(--white); margin-bottom: 6px; }
.feature-card p  { font-size: 13px; color: var(--light-gray); line-height: 1.55; }

/* ─── 7. STAT COUNTER ─── */
.stat-grid {
  display: flex;
  flex-wrap: wrap;
}

.stat-item {
  flex: 1;
  min-width: 150px;
  text-align: center;
  padding: 32px 24px;
  background: var(--black);
  border: 1px solid #1e1e1e;
}

.stat-item:first-child { border-radius: 12px 0 0 12px; }
.stat-item:last-child  { border-radius: 0 12px 12px 0; }

.stat-number {
  font-size: 52px;
  font-weight: 900;
  line-height: 1;
  color: var(--white);
}

.stat-number span { color: var(--pink); }

.stat-label {
  font-size: 12px;
  color: var(--light-gray);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 8px;
}

/* ─── 8. HERO ─── */
.hero {
  background: var(--black);
  padding: 80px 48px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(58,0,54,0.4) 0%, transparent 70%);
  pointer-events: none;
}

.hero > * { position: relative; z-index: 1; }

.hero-badge { margin-bottom: 20px; }

.hero-title {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 20px;
}

.hero-body {
  font-size: 18px;
  color: rgba(255,255,255,.80);
  max-width: 520px;
  margin: 0 auto 12px;
  line-height: 1.4;
}

.hero-sub {
  font-size: 14px;
  color: var(--gold);
  margin-bottom: 32px;
}

.hero-cta {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Hero CTA shimmer — scorre sul bottone ogni 4s, parte dopo 2s dal load */
@keyframes bzc-hero-cta-shimmer {
  0%   { transform: translateX(-120%) skewX(-20deg); opacity: 1; }
  16%  { transform: translateX(220%)  skewX(-20deg); opacity: 1; }
  17%  { opacity: 0; }
  100% { transform: translateX(-120%) skewX(-20deg); opacity: 0; }
}
.hero-cta .btn-primary {
  position: relative;
  overflow: hidden;
}
.hero-cta .btn-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 45%;
  background: linear-gradient(to right, transparent 0%, rgba(255,255,255,.28) 50%, transparent 100%);
  animation: bzc-hero-cta-shimmer 4s ease-in 2s infinite;
  pointer-events: none;
}

.hero-meta {
  margin-top: 24px;
  font-size: 13px;
  color: rgba(255,255,255,.60);
}

/* ─── 9. TRUSTPILOT ─── */
/* Variante pill — in-page / sotto hero */
.trustpilot-bar {
  background: #111;
  border-radius: 999px;
  padding: 10px 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #2a2a2a;
  flex-wrap: nowrap;
  max-width: 100%;
}

/* Variante rettangolare — sezione pricing */
.tp-bar-rect {
  background: #111;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  font-size: 14px;
  color: var(--white);
}

.tp-stars { display: flex; gap: 2px; }

.tp-star {
  width: 22px;
  height: 22px;
  background: #00B67A;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 14px;
}

.tp-bar-rect .tp-star { width: 22px; height: 22px; font-size: 13px; }

.tp-score      { font-size: 15px; font-weight: 700; color: var(--white); white-space: nowrap; }
.tp-brand      { font-size: 15px; color: var(--white); display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.tp-brand-star { color: #00B67A; }
.tp-divider    { width: 1px; height: 16px; background: #444; flex-shrink: 0; }
.tp-count      { font-size: 15px; color: var(--white); white-space: nowrap; }

/* Mobile: barra Trustpilot centrata e compatta */
@media (max-width: 520px) {
  .trustpilot-bar { gap: 7px; padding: 9px 14px; }
  .trustpilot-bar .tp-star { width: 19px; height: 19px; font-size: 12px; }
  .trustpilot-bar .tp-score,
  .trustpilot-bar .tp-brand,
  .trustpilot-bar .tp-count { font-size: 13px; }
}

/* ─── 10. PRICING ─── */
.bcm-pricing-glass-v2 {
  position: relative;
  margin: 0;
  padding: 54px 10px 52px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,130,148,.12), transparent 430px),
    #050505;
  color: var(--white);
  text-align: center;
  box-sizing: border-box;
}

.bcm-pricing-glass-v2 *, .bcm-pricing-glass-v2 *::before, .bcm-pricing-glass-v2 *::after { box-sizing: border-box; }

.bcm-pricing-glass-v2-wrap {
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
}

.bcm-pricing-glass-v2-title {
  max-width: 760px;
  margin: 0 auto 20px;
  color: var(--white);
  font-size: 50px;
  font-weight: 900;
  line-height: .98;
  letter-spacing: -1.2px;
  text-transform: uppercase;
}

.bcm-pricing-glass-v2-title span { display: block; color: var(--pink); }

.bcm-pricing-glass-v2-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  max-width: 620px;
  min-height: 44px;
  margin: 0 auto 24px;
  padding: 9px 15px;
  border: 1px solid rgba(0,201,139,.30);
  border-radius: 10px;
  background: rgba(0,201,139,.07);
  color: var(--white);
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.bcm-pricing-glass-v2-stars { color: #00c98b; font-size: 19px; font-weight: 900; line-height: 1; }

.bcm-pricing-glass-v2-trust strong { color: var(--white); font-weight: 900; }

.bcm-pricing-glass-v2-separator { color: rgba(255,255,255,.42); }

.bcm-pricing-glass-v2-card {
  position: relative;
  width: 100%;
  max-width: 550px;
  margin: 0 auto;
  padding: 30px 27px 19px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035));
  box-shadow:
    0 32px 70px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.28),
    0 0 42px rgba(255,130,148,.11);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.bcm-pricing-glass-v2-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  width: 80%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
}

.bcm-pricing-glass-v2-card::after {
  content: "";
  position: absolute;
  top: -120px;
  right: -90px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(255,130,148,.12);
  filter: blur(65px);
  pointer-events: none;
}

.bcm-pricing-glass-v2-content { position: relative; z-index: 1; }

.bcm-pricing-glass-v2-plan {
  display: inline-flex;
  margin: 0 0 16px;
  padding: 7px 11px;
  border: 1px solid rgba(255,130,148,.40);
  border-radius: 999px;
  background: rgba(255,130,148,.12);
  color: #ffb5c0;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bcm-pricing-glass-v2-price-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  margin-bottom: 25px;
}

.bcm-pricing-glass-v2-price {
  color: var(--white);
  font-size: 74px;
  font-weight: 900;
  line-height: .88;
  letter-spacing: -3px;
  text-shadow: 0 8px 28px rgba(0,0,0,.32);
}

.bcm-pricing-glass-v2-period { color: rgba(255,255,255,.88); font-size: 17px; font-weight: 800; }

.bcm-pricing-glass-v2-features {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 420px;
  margin: 0 auto 25px;
  padding: 0;
  list-style: none;
  text-align: left;
}

.bcm-pricing-glass-v2-feature {
  display: grid;
  grid-template-columns: 25px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  color: var(--white);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

.bcm-pricing-glass-v2-check {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(69,236,162,.32);
  border-radius: 50%;
  background: rgba(69,236,162,.12);
  color: #45eca2;
  font-size: 13px;
  font-weight: 700;
}

.bcm-pricing-glass-v2-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 62px;
  padding: 17px 14px;
  border: 2px solid var(--white);
  border-radius: 16px;
  background: var(--pink);
  color: #050505;
  box-shadow: 0 17px 36px rgba(255,130,148,.32), inset 0 1px 0 rgba(255,255,255,.30);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: filter .15s ease, transform .12s ease;
}

.bcm-pricing-glass-v2-cta:hover  { color: #050505; filter: brightness(1.04); text-decoration: none; }
.bcm-pricing-glass-v2-cta:active { transform: scale(.992); }

.bcm-pricing-glass-v2-terms {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 13px 0 0;
  padding: 0 8px;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.bcm-pricing-glass-v2-terms-separator { color: rgba(255,255,255,.34); }

@media (max-width: 767px) {
  .bcm-pricing-glass-v2 { padding: 44px 8px 48px; }
  .bcm-pricing-glass-v2-title { max-width: 440px; margin-bottom: 18px; font-size: clamp(24px, 7.5vw, 34px); line-height: 1.05; letter-spacing: -.5px; }
  .bcm-pricing-glass-v2-trust { gap: 6px; max-width: 430px; min-height: 42px; margin-bottom: 21px; padding: 8px 7px; font-size: clamp(12.5px, 3.5vw, 14.5px); }
  .bcm-pricing-glass-v2-stars { font-size: clamp(14px, 4vw, 17px); }
  .bcm-pricing-glass-v2-card  { max-width: 440px; padding: 25px 15px 17px; border-radius: 18px; }
  .bcm-pricing-glass-v2-plan  { margin-bottom: 14px; font-size: 10px; }
  .bcm-pricing-glass-v2-price { font-size: 63px; }
  .bcm-pricing-glass-v2-period { font-size: 15.5px; }
  .bcm-pricing-glass-v2-features { gap: 11px; margin-bottom: 22px; }
  .bcm-pricing-glass-v2-feature { grid-template-columns: 24px minmax(0,1fr); gap: 9px; font-size: 14.5px; }
  .bcm-pricing-glass-v2-check { width: 24px; height: 24px; font-size: 12px; }
  .bcm-pricing-glass-v2-cta { min-height: 58px; padding: 15px 9px; font-size: 15.5px; }
  .bcm-pricing-glass-v2-terms { gap: 6px; margin-top: 12px; font-size: clamp(11.2px, 3.15vw, 12.5px); }
}

@media (max-width: 360px) {
  .bcm-pricing-glass-v2-title { font-size: clamp(22px, 6.5vw, 28px); }
  .bcm-pricing-glass-v2-trust { gap: 4px; font-size: 12px; }
  .bcm-pricing-glass-v2-stars { font-size: 13px; }
  .bcm-pricing-glass-v2-card  { padding-right: 12px; padding-left: 12px; }
  .bcm-pricing-glass-v2-price { font-size: 57px; }
  .bcm-pricing-glass-v2-feature { font-size: 13.5px; }
  .bcm-pricing-glass-v2-cta { font-size: 14px; }
  .bcm-pricing-glass-v2-terms { gap: 5px; font-size: 10.7px; }
}

/* ─── 11. FAQ ─── */
.faq-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pink);
  text-align: center;
  margin-bottom: 12px;
}

.faq-title {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
  text-align: center;
  color: var(--white);
  margin-bottom: 12px;
  line-height: 1.1;
}

.faq-title span { color: var(--pink); }

.faq-sub {
  font-size: 18px;
  color: rgba(255,255,255,.80);
  text-align: center;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.4;
}

.faq-container {
  background: var(--dark-gray);
  border-radius: 14px;
  border: 1px solid #2a2a2a;
  overflow: hidden;
  max-width: 720px;
  margin: 0 auto;
}

.faq-item             { border-bottom: 1px solid #2a2a2a; }
.faq-item:last-child  { border-bottom: none; }

.faq-question {
  width: 100%;
  background: none;
  border: none;
  color: var(--white);
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  padding: 20px 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 16px;
}

.faq-question:hover .faq-question-text { color: var(--light-gray); }

.faq-icon {
  font-size: 20px;
  font-weight: 400;
  color: var(--pink);
  flex-shrink: 0;
  width: 20px;
  text-align: center;
  line-height: 1;
}

.faq-question-text { flex: 1; }

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-answer-inner {
  padding: 0 24px 20px 60px;
  font-size: 14px;
  color: var(--light-gray);
  line-height: 1.7;
}

.faq-item.open .faq-answer { max-height: 300px; }

.faq-callout {
  background: var(--dark-gray);
  border: 1px solid #2a2a2a;
  border-radius: 12px;
  padding: 20px 28px;
  text-align: center;
  max-width: 720px;
  margin: 12px auto 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--white);
  line-height: 1.5;
}

/* ─── FAQ v2: details/summary (bzc-faq) ─── */
.bzc-faq-list {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bzc-faq-item {
  background: #111;
  border: 1px solid #242424;
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.2s;
}
.bzc-faq-item[open] { border-color: #333; }

.bzc-faq-item summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  font-size: 16px;
  font-weight: 600;
  color: var(--white);
  line-height: 1.35;
  user-select: none;
}
.bzc-faq-item summary::-webkit-details-marker { display: none; }
.bzc-faq-item summary:hover { color: rgba(255,255,255,.85); }

.bzc-faq-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid #444;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s;
}
.bzc-faq-icon::before {
  content: '+';
  font-size: 15px;
  font-weight: 700;
  color: rgba(255,255,255,.45);
  line-height: 1;
  transition: color 0.2s;
}
.bzc-faq-item[open] .bzc-faq-icon { border-color: var(--pink); }
.bzc-faq-item[open] .bzc-faq-icon::before { content: '−'; color: var(--pink); }

.bzc-faq-answer {
  padding: 2px 20px 18px 58px;
}
.bzc-faq-answer p {
  font-size: 15px;
  color: rgba(255,255,255,.72);
  line-height: 1.65;
  margin: 0;
}
.bzc-faq-answer p strong {
  color: var(--white);
  font-weight: 600;
}

@media (max-width: 480px) {
  .bzc-faq-item summary { font-size: 15px; padding: 16px 16px; }
  .bzc-faq-answer { padding: 2px 16px 16px 54px; }
}

.faq-callout span { color: var(--pink); }

/* ─── 12. HEADER ─── */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background: rgba(8,8,8,0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid #1e1e1e;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
}

.site-header__logo img {
  height: 44px;
  width: auto;
  display: block;
}

.site-header__nav {
  display: flex;
  align-items: center;
  gap: 4px;
}

.site-header__nav a {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--light-gray);
  text-decoration: none;
  padding: 8px 14px;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
  white-space: nowrap;
}

.site-header__nav a:hover {
  color: var(--white);
  background: rgba(255,255,255,0.06);
}

.site-header__nav .nav-cta {
  background: var(--pink);
  color: var(--dark-green);
  font-weight: 700;
  border-radius: 8px;
  padding: 9px 20px;
  margin-left: 8px;
}

.site-header__nav .nav-cta:hover {
  opacity: 0.88;
  background: var(--pink);
  color: var(--dark-green);
}

/* Hamburger */
.site-header__burger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  flex-direction: column;
  gap: 5px;
}

.site-header__burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
}

/* Stato aperto: X */
.site-header__burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header__burger.open span:nth-child(2) { opacity: 0; }
.site-header__burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile drawer */
.site-header__mobile-nav {
  display: none;
  position: fixed;
  top: 68px;
  left: 0;
  right: 0;
  background: var(--black);
  border-bottom: 1px solid #1e1e1e;
  padding: 16px 24px 24px;
  flex-direction: column;
  gap: 4px;
  z-index: 199;
}

.site-header__mobile-nav.open { display: flex; }

.site-header__mobile-nav a {
  font-size: 15px;
  font-weight: 600;
  color: var(--light-gray);
  text-decoration: none;
  padding: 14px 0;
  border-bottom: 1px solid #1e1e1e;
  transition: color 0.15s;
}

.site-header__mobile-nav a:last-child { border-bottom: none; }
.site-header__mobile-nav a:hover     { color: var(--white); }

.site-header__mobile-nav .nav-cta {
  color: var(--pink);
  border-bottom: none;
  font-weight: 700;
}

/* Offset body per compensare header fixed */
body { padding-top: 68px; }

@media (max-width: 768px) {
  .site-header        { padding: 0 20px; }
  .site-header__nav   { display: none; }
  .site-header__burger { display: flex; }
}

/* ─── 13. COURSE PLAYLIST ─── */

.course-playlist {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #2a1a28;
  background: #130812;
}

/* Header del corso */
.playlist-header {
  background: var(--bordeaux);
  padding: 28px 32px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.playlist-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pink);
  margin-bottom: 10px;
}

.playlist-course-title {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 800;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 6px;
}

.playlist-course-sub {
  font-size: 14px;
  color: rgba(255,255,255,0.55);
  line-height: 1.5;
}

.playlist-count-badge {
  background: var(--pink);
  color: var(--white);
  border-radius: 12px;
  padding: 14px 18px;
  text-align: center;
  flex-shrink: 0;
  min-width: 80px;
}

.playlist-count-badge .count-number {
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  display: block;
}

.playlist-count-badge .count-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: block;
  margin-top: 4px;
}

/* Lista video */
.playlist-items { list-style: none; }

.playlist-item {
  display: flex;
  gap: 20px;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s;
  align-items: flex-start;
}

.playlist-item:last-child { border-bottom: none; }
.playlist-item:hover      { background: rgba(255,255,255,0.04); }

/* Thumbnail */
.playlist-thumb {
  position: relative;
  width: 160px;
  min-width: 160px;
  height: 90px;
  border-radius: 8px;
  background: #2a1020;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  flex-shrink: 0;
}

.playlist-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.32);
  pointer-events: none;
}

.playlist-thumb-label {
  position: absolute;
  bottom: 8px;
  left: 8px;
  font-size: 9px;
  font-weight: 800;
  color: var(--white);
  text-transform: uppercase;
  line-height: 1.3;
  z-index: 2;
  text-shadow: 0 1px 4px rgba(0,0,0,0.9);
}

.playlist-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  background: var(--pink);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: 13px;
  padding-left: 2px;
  z-index: 2;
  transition: transform 0.15s, opacity 0.15s;
  pointer-events: none;
}

.playlist-item:hover .playlist-play { transform: translate(-50%, -50%) scale(1.1); }

.playlist-duration {
  position: absolute;
  bottom: 6px;
  right: 6px;
  font-size: 10px;
  font-weight: 600;
  color: var(--white);
  background: rgba(0,0,0,0.65);
  padding: 2px 5px;
  border-radius: 3px;
  z-index: 2;
  letter-spacing: 0.02em;
}

/* Content */
.playlist-content {
  flex: 1;
  min-width: 0;
  padding-top: 2px;
}

.playlist-tags {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.playlist-tag {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

.playlist-tag-num  { background: transparent; border: 1px solid rgba(255,255,255,0.25); color: var(--light-gray); }
.playlist-tag-cat  { background: rgba(255,130,148,0.18); color: var(--pink); }

.playlist-item-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 6px;
  line-height: 1.3;
}

.playlist-item-desc {
  font-size: 13px;
  color: var(--light-gray);
  line-height: 1.55;
}

@media (max-width: 600px) {
  .playlist-header       { padding: 20px; gap: 16px; }
  .playlist-item         { padding: 14px 16px; gap: 12px; }
  .playlist-thumb        { width: 110px; min-width: 110px; height: 62px; }
  .playlist-item-title   { font-size: 14px; }
  .playlist-item-desc    { display: none; }
}

/* ─── 14. REVIEWS (Trustpilot carousel) ─── */

.brc-section {
  background: var(--white);
  padding: 56px 0 40px;
}
.brc-section-head {
  text-align: center;
  padding: 0 20px 32px;
  max-width: 640px;
  margin: 0 auto;
}
.brc-section-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #00c38b;
  margin-bottom: 10px;
}
.brc-section-title {
  font-size: clamp(22px, 5vw, 32px);
  font-weight: 900;
  color: var(--dark-green);
  line-height: 1.15;
  margin: 0;
  text-transform: uppercase;
}

/* Header */
.brc-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto 24px;
  padding: 0 40px;
}

.brc-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 17px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
}

.brc-brand-star { color: #00B67A; font-size: 20px; }

.brc-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.brc-summary-stars { display: flex; gap: 2px; }

.brc-summary-star {
  width: 20px;
  height: 20px;
  background: #00B67A;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 13px;
}

.brc-summary-score { font-size: 14px; font-weight: 700; color: #1a1a1a; }
.brc-summary-sep   { color: #ccc; }
.brc-summary-count { font-size: 14px; color: #666; }

.brc-scroll-hint {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1.5px solid #ccc;
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 13px;
  color: #555;
  background: none;
  cursor: default;
  white-space: nowrap;
  flex-shrink: 0;
}

.brc-scroll-dots { display: flex; gap: 4px; align-items: center; }
.brc-scroll-dot  { width: 7px; height: 7px; background: #00B67A; border-radius: 50%; }

/* Track */
.brc-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 4px 40px 20px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.brc-track::-webkit-scrollbar { display: none; }

/* Card */
.brc-card {
  background: var(--white);
  border: 1px solid #e4e4e4;
  border-radius: 12px;
  padding: 20px;
  width: 270px;
  min-width: 270px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}

/* Card top: avatar + name/date */
.brc-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.brc-av {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
}

.brc-name { font-size: 14px; font-weight: 700; color: #1a1a1a; }
.brc-date { font-size: 12px; color: #888; margin-top: 2px; }

/* Stars */
.brc-card-stars {
  display: flex;
  gap: 2px;
  margin-bottom: 12px;
}

.brc-star {
  width: 20px;
  height: 20px;
  background: #00B67A;
  display: flex;
  align-items: center;
  justify-content: center;
}

.brc-star svg { width: 13px; height: 13px; fill: white; }

/* Text expand/collapse */
.brc-text-wrap { flex: 1; }

.brc-text {
  font-size: 13px;
  color: #333;
  line-height: 1.65;
  margin: 0 0 10px;
}

.brc-text-full                        { display: none; }
.brc-card.is-expanded .brc-text-short { display: none; }
.brc-card.is-expanded .brc-text-full  { display: block; }

.brc-expand {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: #1a7a50;
  text-decoration: underline;
}

.brc-expand:hover { opacity: 0.75; }

/* Footer link */
.brc-footer {
  text-align: center;
  margin-top: 20px;
  padding: 0 40px;
}

.brc-footer a {
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  text-decoration: none;
}

.brc-footer a:hover { text-decoration: underline; }

@media (max-width: 768px) {
  .brc-header { padding: 0 20px; }
  .brc-track  { padding: 4px 20px 16px; }
  .brc-footer { padding: 0 20px; }
  .brc-scroll-hint { display: none; }
}

/* ─── 15. SECTION STYLES ─── */
.section-dark  { background: var(--black);     padding: 80px 48px; }
.section-alt   { background: var(--dark-gray); padding: 80px 48px; }
.section-light { background: var(--white);     padding: 64px 48px; }

/* ─── 13. DIVIDER ─── */
.divider { height: 1px; background: #1e1e1e; margin: 48px 0; }

/* ─── 14. VIDEO EMBED (bzc-video) ─── */
.bzc-video {
  position: relative;
  width: 100%;
  padding-bottom: var(--bzc-ratio, 56.25%);
  overflow: hidden;
  background: #000;
}

.bzc-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Varianti layout */
.bzc-video.video-hero    { border-radius: 0; }
.bzc-video.video-section { max-width: 860px; margin: 0 auto; border-radius: 12px; }
.bzc-video.video-card    { border-radius: 8px; }

/* Facade: thumbnail + play, nessun iframe finché l'utente non clicca */
.bzc-video--facade { cursor: pointer; }

.bzc-video--facade img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bzc-video--facade::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.28);
  transition: background 0.2s;
  pointer-events: none;
}

.bzc-video--facade:hover::after { background: rgba(0,0,0,0.16); }

.bzc-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  background: var(--pink);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  cursor: pointer;
  z-index: 2;
  transition: transform 0.2s;
  pointer-events: none;
}

.bzc-video--facade:hover .bzc-play-btn { transform: translate(-50%, -50%) scale(1.1); }

.bzc-play-btn svg {
  width: 26px;
  height: 26px;
  margin-left: 4px; /* centro ottico */
}

/* ─── 16. COURSE PREVIEW (bzc-preview) ─── */

/* Teaser block — testo intro + claim senza ripetizioni */
.bzc-preview-teaser {
  max-width: 520px;
  margin: 0 auto 32px;
  text-align: center;
  padding: 0 4px;
}
.bzc-preview-teaser-intro {
  font-size: 18px;
  font-weight: 400;
  color: rgba(255,255,255,.80);
  line-height: 1.4;
  margin-bottom: 20px;
}
.bzc-preview-teaser-sep {
  width: 32px;
  height: 2px;
  background: #2a2a2a;
  margin: 0 auto 20px;
  border-radius: 2px;
}
.bzc-preview-teaser-claim {
  font-size: 18px;
  font-weight: 600;
  color: var(--white);
  line-height: 1.5;
}
.bzc-preview-teaser-note {
  display: block;
  font-size: 15px;
  color: #bbb;
  font-weight: 600;
  margin-top: 10px;
  letter-spacing: 0.01em;
}

/* Counter block — "120+ lezioni disponibili" */
.bzc-preview-counter {
  text-align: center;
  margin: 0 auto 44px;
  padding: 28px 40px;
  max-width: 360px;
  border: 1px solid rgba(206,165,67,.28);
  border-radius: 18px;
  background: rgba(206,165,67,.05);
}
.bzc-preview-counter-num {
  font-size: clamp(60px, 12vw, 88px);
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  letter-spacing: -3px;
}
.bzc-preview-counter-num sup {
  font-size: 0.45em;
  vertical-align: super;
  letter-spacing: 0;
}
.bzc-preview-counter-sub {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #aaa;            /* era #666 — più leggibile */
  margin-top: 10px;
  line-height: 1.55;
}

/* Insight card — risponde ai dubbi prima delle anteprime */
.bzc-preview-insight {
  border: 1px solid rgba(84,179,186,.22);
  border-radius: 18px;
  background: rgba(84,179,186,.03);
  padding: 6px 28px;
  max-width: 520px;
  margin: 0 auto 44px;
}
.bzc-preview-insight-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.055);
}
.bzc-preview-insight-item:last-child { border-bottom: none; }
.bzc-preview-insight-check {
  font-size: 20px;
  color: var(--teal);
  flex-shrink: 0;
  font-weight: 700;
  line-height: 1.3;
}
.bzc-preview-insight-title {
  font-size: 16px;
  font-weight: 700;
  color: white;
  margin-bottom: 5px;
  line-height: 1.3;
}
.bzc-preview-insight-desc {
  font-size: 14px;
  color: #aaa;
  line-height: 1.6;
}

/* Etichetta sopra le card preview */
.bzc-preview-cards-intro {
  text-align: center;
  font-size: clamp(15px, 3.5vw, 18px);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pink);
  margin-bottom: 20px;
}

/* Grid 3 card */
.bzc-preview-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 600px) {
  .bzc-preview-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}

/* CTA sotto le card anteprima — shimmer come il bottone hero */
.bzc-preview-cards-cta {
  display: flex;
  justify-content: center;
  margin: 28px 0 8px;
}
.bzc-preview-cards-cta .btn {
  position: relative;
  overflow: hidden;
}
.bzc-preview-cards-cta .btn::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 45%;
  background: linear-gradient(to right, transparent 0%, rgba(255,255,255,.28) 50%, transparent 100%);
  animation: bzc-hero-cta-shimmer 4s ease-in 2s infinite;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .bzc-preview-cards-cta .btn::after { animation: none; opacity: 0; }
}

/* Card */
.bzc-preview-card {
  background: #111;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #242424;
  transition: transform 0.18s, border-color 0.18s;
}
.bzc-preview-card:hover { transform: translateY(-3px); border-color: #3a3a3a; }

/* Thumb — aspect ratio 16:9 */
.bzc-preview-thumb {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  background: #1c1c1c;
  overflow: hidden;
}
.bzc-preview-thumb--playable { cursor: pointer; }

.bzc-preview-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-size: 0;
  color: transparent;
}

/* Badge "ANTEPRIMA" — top right */
.bzc-preview-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 4px 10px;
  background: rgba(0,0,0,0.68);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 20px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.88);   /* era .75 */
  z-index: 3;
  backdrop-filter: blur(6px);
}

/* Play button centrato nel thumb */
@keyframes bzc-play-ripple {
  0%   { transform: scale(1);    opacity: .80; }
  100% { transform: scale(1.85); opacity: 0;   }
}

.bzc-preview-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
  height: 46px;
  background: rgba(10,10,10,.58);
  border: 1.5px solid rgba(255,255,255,.38);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  transition: background 0.15s, transform 0.15s, border-color 0.15s;
  backdrop-filter: blur(6px);
  padding: 0;
  cursor: pointer;
}
.bzc-preview-play::before,
.bzc-preview-play::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.70);
  animation: bzc-play-ripple 2.4s ease-out infinite;
  pointer-events: none;
  will-change: transform, opacity;
}
.bzc-preview-play::after { animation-delay: 1.2s; }

.bzc-preview-thumb--playable:hover .bzc-preview-play {
  background: rgba(255,130,148,.80);
  border-color: transparent;
  transform: translate(-50%, -50%) scale(1.1);
}
.bzc-preview-thumb--playable:hover .bzc-preview-play::before,
.bzc-preview-thumb--playable:hover .bzc-preview-play::after { opacity: 0; animation: none; }
.bzc-preview-play svg {
  width: 14px;
  height: 14px;
  fill: white;
  margin-left: 2px;
}

/* Titolo sovrapposto in basso */
.bzc-preview-title-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 40px 12px 12px;
  background: linear-gradient(to top, rgba(0,0,0,.95) 0%, transparent 100%);
  font-size: 14px;
  font-weight: 700;
  color: white;
  line-height: 1.35;
  z-index: 2;
}

/* Tags + instructor */
.bzc-preview-meta {
  padding: 10px 14px 13px;
  display: flex;
  align-items: center;
}
.bzc-preview-card-label {
  font-size: 15px;
  font-weight: 600;
  color: rgba(255,255,255,.80);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
/* Desktop: card a 3 colonne più strette, testo ridotto per stare in una riga */
@media (min-width: 600px) {
  .bzc-preview-card-label { font-size: 13px; }
  .bzc-preview-card-label .bzc-preview-tag { font-size: 12px; padding: 2px 7px; }
}

/* Tag livello / durata / categoria */
.bzc-preview-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.bzc-preview-tag--base       { background: rgba(84,179,186,.18);  color: var(--teal); }
.bzc-preview-tag--intermedio { background: rgba(206,165,67,.18);  color: var(--gold); }
.bzc-preview-tag--avanzato   { background: rgba(255,130,148,.18); color: var(--pink); }
.bzc-preview-tag--open       { background: rgba(255,255,255,.09); color: #ccc; }
.bzc-preview-tag--dur        { background: rgba(255,255,255,.07); color: #bbb; }
.bzc-preview-tag--cat        { background: rgba(255,255,255,.07); color: #bbb; }

/* ── Intestazione lista corsi ── */
.bzc-preview-list-header {
  margin: 44px 0 16px;
}
.bzc-preview-list-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin-bottom: 8px;
}
.bzc-preview-list-title .bzc-preview-list-count {
  color: var(--gold);
}
.bzc-preview-list-sub {
  font-size: 17px;
  color: rgba(255,255,255,.80);
  line-height: 1.4;
}
.bzc-preview-list-sub .bzc-preview-list-count {
  color: var(--gold);
  font-weight: 700;
}

/* Wrapper con fade-out in fondo — effetto "ce ne sono molti altri" */
.bzc-preview-more-wrap {
  position: relative;
}
/* wrap::after rimosso — fade gestito per gruppo in .bzc-preview-level-group::after */

/* Lista: ogni gruppo è una card separata */
.bzc-preview-more {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Ogni gruppo livello è una card con bordo proprio */
.bzc-preview-level-group {
  border: 1px solid #444;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}

/* Intestazione gruppo: colonna sinistra (Corso LIVELLO + sottotitolo) + colonna destra (ore) */
.bzc-preview-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 18px 11px;
  border-bottom: 1px solid #1a1a1a;
  background: rgba(255,255,255,.025);
}
.bzc-preview-group-header-left {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.bzc-preview-group-header-label {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
}
.bzc-preview-group-header-subtitle {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.70);
  letter-spacing: 0.01em;
  line-height: 1;
}
.bzc-preview-group-header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  flex-shrink: 0;
}
.bzc-preview-group-header-dur-label {
  font-size: 9px;
  font-weight: 600;
  color: rgba(255,255,255,.65);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.bzc-preview-group-header-dur {
  font-size: 15px;
  font-weight: 800;
  color: rgba(255,255,255,.90);
  letter-spacing: 0.02em;
  white-space: nowrap;
  line-height: 1;
}
.bzc-preview-group-header[data-level="base"]       .bzc-preview-group-header-label { color: var(--teal); }
.bzc-preview-group-header[data-level="intermedio"] .bzc-preview-group-header-label { color: var(--gold); }
.bzc-preview-group-header[data-level="avanzato"]   .bzc-preview-group-header-label { color: var(--pink); }
.bzc-preview-group-header[data-level="open"]       .bzc-preview-group-header-label { color: #bbb; }

/* ── Header speciale "Live mensile" ── */
@keyframes bzc-live-dot-pulse {
  0%, 100% { opacity: 1;   transform: scale(1);    box-shadow: 0 0 0 0 rgba(255,60,60,.55); }
  50%       { opacity: .85; transform: scale(1.15); box-shadow: 0 0 0 5px rgba(255,60,60,0); }
}
@keyframes bzc-live-header-glow {
  0%, 100% { border-top-color: rgba(255,60,60,.30); box-shadow: none; }
  50%       { border-top-color: rgba(255,60,60,.75); box-shadow: 0 -1px 16px rgba(255,60,60,.22), inset 0 1px 0 rgba(255,60,60,.12); }
}
@keyframes bzc-live-badge-blink {
  0%, 80%, 100% { opacity: 1; }
  90%            { opacity: .45; }
}
.bzc-preview-group-header--live {
  border-top-color: rgba(255,60,60,.30);
  animation: bzc-live-header-glow 2.6s ease-in-out infinite;
}
.bzc-preview-group-header--live .bzc-preview-group-header-label { color: #ff4444; display: flex; align-items: center; gap: 8px; }
.bzc-preview-live-dot {
  display: inline-block;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: #ff4444;
  flex-shrink: 0;
  animation: bzc-live-dot-pulse 1.8s ease-in-out infinite;
  will-change: transform, opacity;
}

/* ── Badge LIVE / REPLAY sul thumbnail ── */
.bzc-preview-more-vthumb--live img,
.bzc-preview-more-vthumb--replay img { filter: brightness(0.80); }

.bzc-preview-more-live-badge {
  position: absolute; top: 6px; left: 6px;
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(200,0,0,.82);
  color: #fff;
  font-size: 10px; font-weight: 800;
  letter-spacing: 0.08em;
  padding: 3px 7px; border-radius: 4px;
  z-index: 4;
  animation: bzc-live-badge-blink 2.2s ease-in-out infinite;
}
.bzc-preview-more-live-dot {
  width: 7px; height: 7px;
  border-radius: 50%; background: #fff;
  flex-shrink: 0;
  animation: bzc-live-dot-pulse 1.8s ease-in-out infinite;
  will-change: transform, opacity;
}
.bzc-preview-more-replay-badge {
  position: absolute; top: 6px; left: 6px;
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(84,179,186,.82);
  color: #fff;
  font-size: 10px; font-weight: 800;
  letter-spacing: 0.06em;
  padding: 3px 7px; border-radius: 4px;
  z-index: 4;
}

/* Riga footer gruppo: "... e altre X lezioni" */
.bzc-preview-group-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 18px 28px;
  font-size: 17px;
  font-weight: 600;
  border-top: 1px solid #1a1a1a;
  background: rgba(255,255,255,.015);
}
.bzc-preview-group-footer-dots {
  color: #aaa;
  letter-spacing: 0.15em;
  font-size: 16px;
}
.bzc-preview-group-footer-text { color: #ddd; }
.bzc-preview-group-footer-text strong { color: var(--gold); font-weight: 800; }

/* Stats riga sotto ogni group header */
.bzc-preview-group-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 20px;
  padding: 5px 18px 7px;
  background: rgba(255,255,255,.012);
  border-bottom: 1px solid #1a1a1a;
}
.bzc-preview-group-meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  white-space: nowrap;
}
.bzc-preview-group-meta-cat {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666;
}
.bzc-preview-group-meta-count {
  font-weight: 700;
  color: #ccc;
}
.bzc-preview-group-meta-dur {
  color: var(--gold);
}
.bzc-preview-group-meta-dur::before {
  content: '·';
  margin-right: 3px;
  color: #444;
}
/* La categoria eredita il colore del livello */
.bzc-preview-group-header[data-level="base"]       + .bzc-preview-group-meta .bzc-preview-group-meta-cat { color: var(--teal); }
.bzc-preview-group-header[data-level="intermedio"] + .bzc-preview-group-meta .bzc-preview-group-meta-cat { color: var(--gold); }
.bzc-preview-group-header[data-level="avanzato"]   + .bzc-preview-group-meta .bzc-preview-group-meta-cat { color: var(--pink); }
.bzc-preview-group-header[data-level="open"]       + .bzc-preview-group-meta .bzc-preview-group-meta-cat { color: #999; }

.bzc-preview-more-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 10px 11px 6px;
  border-bottom: 1px solid #161616;
  transition: background 0.12s;
}
.bzc-preview-more-item:last-child { border-bottom: none; }
.bzc-preview-more-item:hover { background: rgba(255,255,255,.028); }

/* Mini thumbnail "video bloccato" */
.bzc-preview-more-vthumb {
  position: relative;
  width: 106px;
  min-width: 106px;
  height: 68px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: #181818;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bzc-preview-more-vthumb img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: blur(3px) brightness(0.60);
  transform: scale(1.08);
  font-size: 0; color: transparent;
  pointer-events: none;
  user-select: none;
}

.bzc-preview-more-vthumb-lock {
  position: relative;
  z-index: 2;
  color: rgba(255,255,255,.75);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.18s;
}
.bzc-preview-more-vthumb-lock svg { width: 20px; height: 20px; fill: currentColor; }

.bzc-preview-more-vthumb-num {
  position: absolute;
  top: 5px; left: 7px;
  font-size: 9px; font-weight: 800;
  color: rgba(255,255,255,.35);
  letter-spacing: 0.04em;
  z-index: 2;
}
.bzc-preview-more-vthumb-dur {
  position: absolute;
  bottom: 4px; right: 5px;
  font-size: 9px;
  font-weight: 800;
  color: #fff;
  background: rgba(0,0,0,.72);
  padding: 1px 5px 2px;
  border-radius: 3px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  z-index: 3;
  white-space: nowrap;
}

/* Testo a destra */
.bzc-preview-more-body { flex: 1; min-width: 0; }

.bzc-preview-more-tags {
  display: flex;
  gap: 4px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.bzc-preview-more-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--white);
  line-height: 1.3;
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bzc-preview-more-desc {
  font-size: 13px;
  color: rgba(255,255,255,.72);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bzc-preview-more-arrow {
  color: #444;
  font-size: 16px;
  flex-shrink: 0;
  line-height: 1;
  align-self: center;
}

/* Footer: "e altri X+" + CTA */
.bzc-preview-footer {
  margin-top: 14px;
  padding: 36px 28px 32px;
  text-align: center;
  border: 1px solid #333;
  border-radius: 14px;
  background: rgba(255,255,255,.022);
}
.bzc-preview-footer-more {
  font-size: clamp(26px, 5.5vw, 46px);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 14px;
}
.bzc-preview-footer-more strong { color: var(--gold); }
.bzc-preview-footer-sub {
  font-size: 18px;
  color: rgba(255,255,255,.80);
  font-weight: 400;
  margin-bottom: 24px;
  line-height: 1.4;
}
.bzc-preview-footer-sub strong { color: var(--white); font-weight: 700; }
.bzc-preview-footer-sub em     { color: var(--pink);  font-style: normal; font-weight: 700; }
.bzc-preview-footer-cta {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}


/* ─── 17. ABOUT INSTRUCTOR (bzc-about) ─── */

.bzc-about { padding: 72px 0; }

.bzc-about-title {
  font-size: clamp(38px, 9vw, 68px);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -1px;
  line-height: 1.0;
  text-align: center;
  margin: 0 0 20px;
  color: var(--white);
}

.bzc-about-tagline {
  font-size: 18px;
  font-weight: 400;
  color: rgba(255,255,255,.80);
  text-align: center;
  line-height: 1.4;
  margin: 0 auto 32px;
  max-width: 520px;
}

.bzc-about-video {
  max-width: 480px;
  margin: 0 auto 36px;
  border-radius: 18px;
  overflow: hidden;
}
.bzc-about-video .bzc-video { --bzc-ratio: 100%; border-radius: 0; }
.bzc-about-video .bzc-video--facade::after,
.bzc-about-video .bzc-video--facade:hover::after { background: transparent; }
.bzc-about-video .bzc-play-btn { width: 36px; height: 36px; }
.bzc-about-video .bzc-play-btn svg { width: 12px; height: 12px; margin-left: 2px; }

.bzc-about-quote {
  background: #141414;
  border-radius: 18px;
  padding: 28px 32px;
  margin: 0 auto 16px;
  max-width: 620px;
  text-align: center;
}
.bzc-about-quote p {
  font-size: clamp(15px, 2.8vw, 18px);
  font-weight: 700;
  color: var(--white);
  line-height: 1.6;
  margin: 0;
}
.bzc-about-quote--alt {
  background: rgba(58, 0, 54, 0.32);
}

.bzc-about-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: 620px;
  margin: 0 auto 16px;
}
.bzc-about-stat {
  background: #141414;
  border-radius: 14px;
  padding: 24px 12px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.bzc-about-stat-num {
  font-size: clamp(36px, 8vw, 56px);
  font-weight: 900;
  color: var(--pink);
  line-height: 1;
}
.bzc-about-stat-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--white);
  line-height: 1.4;
}

@media (max-width: 480px) {
  .bzc-about-quote  { padding: 22px 20px; }
  .bzc-about-stats  { gap: 8px; }
  .bzc-about-stat   { padding: 18px 8px 16px; }
}


/* ─── 18. PLAN PICKER (bzc-plans) ─── */

.bzc-plans-section { padding: 48px 0; }
.bzc-plans-header  { text-align: center; margin-bottom: 14px; }
.bzc-plans-title   { font-size: clamp(26px, 5.5vw, 46px); font-weight: 900; text-transform: uppercase; color: var(--white); margin-bottom: 0; line-height: 1.1; }
.bzc-plans-sub     { font-size: 14px; color: #c0c0c0; }

/* ── Wrapper unificato (steps + piani + CTA) ── */
.bzc-plans-unified {
  max-width: 520px;
  margin: 0 auto;
  background: linear-gradient(160deg, #181818 0%, #0e0e0e 100%);
  border: 1px solid #2a2a2a;
  border-radius: 20px;
  overflow: hidden;
  padding: 30px 24px 28px;
}

/* ── Divisore steps → piani (non più usato, tenuto per retrocompat) ── */
.bzc-plans-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, #2e2e2e 25%, #2e2e2e 75%, transparent);
  margin: 14px 0 24px;
}

/* ── Seconda card (picker piano) — scroll gap + animazione ── */
@keyframes bzc-picker-in {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
.bzc-plans-unified--picker {
  margin-top: 56px;
  scroll-margin-top: 320px;
  opacity: 0;
  transform: translateY(28px);
}
.bzc-plans-unified--picker.bzc-picker-visible {
  animation: bzc-picker-in 0.55s cubic-bezier(.22,.68,0,1.05) forwards;
}

/* ── Roadmap steps ── */
@keyframes bzc-step-in {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes bzc-step-icon-glow {
  0%   { box-shadow: 0 0 0 0 rgba(84,179,186,.0); }
  40%  { box-shadow: 0 0 0 6px rgba(84,179,186,.25); }
  100% { box-shadow: 0 0 0 0 rgba(84,179,186,.0); }
}
@keyframes bzc-step-line-grow {
  from { transform: scaleY(0); }
  to   { transform: scaleY(1); }
}

.bzc-plans-steps { margin-bottom: 0; }
.bzc-plans-steps-title {
  font-size: clamp(20px, 4.5vw, 38px);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--white);
  text-align: center;
  margin-bottom: 18px;
  line-height: 1.15;
}
.bzc-plans-steps-list { display: flex; flex-direction: column; }

.bzc-plans-step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  opacity: 0;
  transform: translateX(20px);
}
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step {
  animation: bzc-step-in 0.40s cubic-bezier(.22,.68,0,1.1) forwards;
}
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(1) { animation-delay: 0.05s; }
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(2) { animation-delay: 0.22s; }
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(3) { animation-delay: 0.39s; }
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(4) { animation-delay: 0.56s; }

.bzc-plans-step-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 36px;
}
.bzc-plans-step-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #161616;
  border: 1.5px solid #333;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}
.bzc-plans-step:nth-child(1) .bzc-plans-step-icon { border-color: var(--teal); }
.bzc-plans-step:nth-child(2) .bzc-plans-step-icon { border-color: rgba(84,179,186,.6); }
.bzc-plans-step:nth-child(3) .bzc-plans-step-icon { border-color: rgba(255,130,148,.6); }
.bzc-plans-step:nth-child(4) .bzc-plans-step-icon { border-color: var(--pink); }

.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step .bzc-plans-step-icon {
  animation: bzc-step-icon-glow 0.7s ease-out both;
}
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(1) .bzc-plans-step-icon { animation-delay: 0.18s; }
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(2) .bzc-plans-step-icon { animation-delay: 0.35s; }
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(3) .bzc-plans-step-icon { animation-delay: 0.52s; }
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(4) .bzc-plans-step-icon { animation-delay: 0.69s; }

.bzc-plans-step-line {
  width: 2px;
  flex: 1;
  min-height: 8px;
  background: var(--teal);
  opacity: 0.55;
  margin: 2px 0;
  border-radius: 1px;
  transform-origin: top;
  transform: scaleY(0);
}
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(1) .bzc-plans-step-line {
  animation: bzc-step-line-grow 0.28s ease-out 0.30s forwards;
}
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(2) .bzc-plans-step-line {
  animation: bzc-step-line-grow 0.28s ease-out 0.47s forwards;
}
.bzc-plans-steps-list.bzc-steps-visible .bzc-plans-step:nth-child(3) .bzc-plans-step-line {
  animation: bzc-step-line-grow 0.28s ease-out 0.64s forwards;
}

.bzc-plans-step-body        { padding-top: 4px; padding-bottom: 14px; }
.bzc-plans-step--last .bzc-plans-step-body { padding-bottom: 2px; }
.bzc-plans-step-title { font-size: 16px; font-weight: 700; color: var(--white); margin: 0 0 2px; line-height: 1.3; }
.bzc-plans-step-sub   { font-size: 14px; color: rgba(255,255,255,.80); margin: 0; line-height: 1.45; }

.bzc-plans-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Card ── */
@keyframes bzc-plan-glow-pulse {
  0%, 100% { opacity: 0; }
  50%       { opacity: 1; }
}
@keyframes bzc-border-gradient {
  0%   { background-position:   0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position:   0% 50%; }
}

.bzc-plan-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 14px;
  background: #111;
  border: 1.5px solid #4a4a4a;
  border-radius: 14px;
  cursor: pointer;
  position: relative;
  transition: border-color 0.15s, background 0.15s;
  user-select: none;
}
.bzc-plan-card:hover { border-color: #666; background: #161616; }
.bzc-plan-card--selected {
  border-color: var(--pink);
  border-width: 2px;
  background: #111;
  box-shadow: 0 0 18px rgba(255,130,148,.18);
}
.bzc-plan-card--selected::after {
  content: '';
  position: absolute;
  inset: -5px;
  border-radius: 17px;
  border: 2px solid rgba(255,130,148,.88);
  box-shadow: 0 0 26px rgba(255,130,148,.60), 0 0 8px rgba(255,130,148,.30);
  pointer-events: none;
  animation: bzc-plan-glow-pulse 2.5s ease-in-out infinite;
}

/* ── Radio ── */
.bzc-plan-radio {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid #444;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.15s, background 0.15s;
}
.bzc-plan-card--selected .bzc-plan-radio {
  border-color: var(--pink);
  background: var(--pink);
}
.bzc-plan-radio-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
  opacity: 0;
  transition: opacity 0.15s;
}
.bzc-plan-card--selected .bzc-plan-radio-dot { opacity: 1; }

/* ── Top row: radio + [nome+badge] / goal sotto ── */
.bzc-plan-top        { display: flex; align-items: flex-start; gap: 8px; }
.bzc-plan-name-block { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.bzc-plan-name-row   { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.bzc-plan-name       { font-size: 18px; font-weight: 800; color: var(--white); line-height: 1.1; }
/* Separatore sezioni dentro la card — ora invisibile, lo spacing viene dalla label */
.bzc-plan-divider    { height: 0; margin: 4px 0; }
/* ── Body (legacy compat) ── */
.bzc-plan-body      { flex: 1; min-width: 0; }
.bzc-plan-header    { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 5px; }
.bzc-plan-badge     {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
  padding: 2px 7px; border-radius: 50px;
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
/* Passaggio di luce sul badge piano (riusa il keyframe shimmer dell'hero) */
.bzc-plan-badge::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 55%;
  background: linear-gradient(to right, transparent 0%, rgba(255,255,255,.30) 50%, transparent 100%);
  animation: bzc-hero-cta-shimmer 3.5s ease-in 1.5s infinite;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .bzc-plan-badge::after { animation: none; opacity: 0; }
}
.bzc-plan-badge--pink { background: rgba(255,130,148,.18); color: var(--pink); }
.bzc-plan-badge--teal { background: rgba(84,179,186,.18);  color: var(--teal); }
.bzc-plan-badge--gold { background: rgba(206,165,67,.18);  color: var(--gold); }
.bzc-plan-desc {
  font-size: 16px;
  color: #bbb;
  line-height: 1.3;
  margin: 0;
}
.bzc-plan-desc--teal { color: var(--teal); font-weight: 600; }
.bzc-plan-desc--pink { color: var(--pink); font-weight: 600; }
.bzc-plan-desc--gold { color: var(--gold); font-weight: 600; }

/* ── Pricing block nuovo layout ── */
.bzc-plan-pricing-block {
  display: flex; flex-direction: column; gap: 4px;
  background: rgba(0,0,0,.22);
  border-radius: 10px;
  padding: 8px 10px;
  margin: 0 -2px;
}
/* pricing block: nessun tint sulla card selezionata, rimane neutro */
.bzc-plan-main-price    { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.bzc-plan-sub-price     { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bzc-plan-total-label   { font-size: 14px; color: rgba(255,255,255,.80); font-weight: 600; }
.bzc-plan-saving-pill   {
  font-size: 12px; font-weight: 700;
  color: #45eca2;
  background: rgba(69,236,162,.12);
  border: 1px solid rgba(69,236,162,.28);
  padding: 2px 8px; border-radius: 999px;
}

/* ── Feature list ── */
.bzc-plan-features-label {
  display: block;
  font-size: 10px; font-weight: 700; letter-spacing: 0.11em;
  text-transform: uppercase; color: rgba(84,179,186,.72);
  margin: 0 0 6px;
  padding-left: 8px;
  border-left: 2px solid rgba(84,179,186,.45);
}
.bzc-plan-features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.bzc-plan-feature  { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.85); }
.bzc-plan-feature-icon {
  flex-shrink: 0;
  width: 18px; height: 18px; min-width: 18px;
  border-radius: 50%;
  background: rgba(84,179,186,.12);
  border: 1px solid rgba(84,179,186,.28);
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; color: var(--teal); font-weight: 700; line-height: 1;
}
.bzc-plan-feature--live .bzc-plan-feature-icon {
  background: rgba(255,130,148,.10);
  border-color: rgba(255,130,148,.28);
  color: var(--pink);
}
.bzc-plan-feature-text  { line-height: 1.3; }
.bzc-plan-feature-note  { color: rgba(255,255,255,.50); font-size: 12px; }

/* ── Descrizione card ── */
.bzc-plan-desc-text {
  font-size: 12px; font-style: italic;
  color: rgba(255,255,255,.55); margin: 2px 0 0; line-height: 1.4;
}

/* ── Price (legacy compat) ── */
.bzc-plan-price    { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; flex-shrink: 0; }

.bzc-plan-lifetime-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin-top: 6px;
}
.bzc-plan-lifetime-note {
  font-size: 14px;
  font-weight: 600;
  color: #ccc;
  line-height: 1.3;
}
.bzc-plan-lifetime-row .bzc-plan-lifetime { margin-top: 0; }

.bzc-plan-lifetime {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(69,236,162,.75);
  background: rgba(69,236,162,.06);
  border: 1px solid rgba(69,236,162,.14);
  white-space: nowrap;
}
.bzc-plan-amount-row {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
}
.bzc-plan-amount   { font-size: 32px; font-weight: 900; color: var(--white); line-height: 1; transition: text-shadow 0.2s; }
.bzc-plan-card--selected .bzc-plan-amount { text-shadow: 0 0 22px rgba(255,130,148,.35); }
.bzc-plan-period   { font-size: 14px; font-weight: 600; color: rgba(255,255,255,.65); letter-spacing: 0.02em; }
.bzc-plan-original {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  margin-top: 4px;
}
/* prezzo barrato inline con linea diagonale solo sul numero */
.bzc-plan-was {
  font-size: 13px;
  color: rgba(255,255,255,.58);
  margin-left: 6px;
}
.bzc-plan-was-num {
  position: relative;
  display: inline-block;
}
.bzc-plan-was-num::after {
  content: '';
  position: absolute;
  left: -2px;
  right: -2px;
  top: 50%;
  height: 1.5px;
  background: rgba(255,130,148,.72);
  transform: rotate(-16deg);
  transform-origin: center;
}
.bzc-plan-was-period {
  font-size: 11px;
  color: rgba(255,255,255,.38);
}
.bzc-plan-save {
  font-size: 14px;
  font-weight: 800;
  color: #45eca2;
  background: rgba(69,236,162,.14);
  border: 1px solid rgba(69,236,162,.30);
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.02em;
}

/* ── CTA area ── */
.bzc-plans-cta { display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin-top: 22px; }
.bzc-plans-cta-btn { width: 100% !important; padding: 16px 20px !important; font-size: 16px !important; text-align: center; }
.bzc-plans-guarantee { font-size: 11px; color: #c0c0c0; text-align: center; }
.bzc-plans-guarantee span { color: #45eca2; }
@keyframes bzc-saving-glow {
  0%, 100% { color: #45eca2; text-shadow: 0 0 0px rgba(69,236,162,0); }
  50%       { color: #7fffd4; text-shadow: 0 0 8px rgba(69,236,162,.5); }
}
.bzc-plan-saving-note {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,.88);
  margin: 5px 0 0;
  line-height: 1.3;
  white-space: nowrap;
}
/* ── Section lead (sostituisce roadmap) ── */
.bzc-plans-section-lead {
  text-align: center;
  margin: 20px 0 24px;
}
.bzc-plans-section-title {
  font-size: clamp(24px, 5.5vw, 34px);
  font-weight: 900;
  color: var(--white);
  letter-spacing: -0.02em;
  margin: 0 0 10px;
  line-height: 1.1;
}
@keyframes bzc-intro-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}
.bzc-plans-section-intro {
  display: block;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.45;
  background: linear-gradient(90deg,
    var(--teal) 0%,
    #fff 35%,
    var(--teal) 55%,
    var(--pink) 80%,
    var(--teal) 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: bzc-intro-shimmer 4s linear infinite;
  margin: 0;
}

/* ── "Quanto vuoi migliorare?" — titolo standalone prima delle card ── */
.bzc-plans-question-heading {
  font-size: clamp(22px, 5.5vw, 34px);
  font-weight: 900;
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1.1;
  margin: 0 0 18px;
}
.bzc-plans-shared-includes {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 24px;
}
.bzc-plans-shared-includes li {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.72);
  display: flex;
  align-items: center;
  gap: 6px;
}
.bzc-plans-shared-includes li::before {
  content: '✓';
  color: var(--teal);
  font-weight: 900;
  font-size: 13px;
  flex-shrink: 0;
}

/* ── Goal aspirazionale nella card ── */
.bzc-plan-goal {
  font-size: 13px;
  font-weight: 500;
  font-style: italic;
  color: rgba(255,255,255,.68);
  line-height: 1.3;
  margin: 0;
}
.bzc-saving-amount {
  font-weight: 800;
  color: #45eca2;
  animation: bzc-saving-glow 2.6s ease-in-out infinite;
}

.bzc-plans-guarantee-compact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  padding: 11px 14px;
  background: rgba(206,165,67,.07);
  border: 1px solid rgba(206,165,67,.25);
  border-radius: 12px;
  text-align: center;
}
.bzc-plans-guarantee-compact-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.bzc-plans-guarantee-compact-icon {
  color: var(--gold);
  flex-shrink: 0;
  line-height: 0;
}
.bzc-plans-guarantee-compact-icon svg { width: 16px; height: 16px; fill: currentColor; }
.bzc-plans-guarantee-compact-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--gold);
}
.bzc-plans-guarantee-compact-sub {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,.65);
  line-height: 1.4;
}
.bzc-plans-guarantee-compact-sub a,
.bzc-plans-guarantee-compact-sub a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none;
}

.bzc-plans-above-cta {
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,.88);
  text-align: center;
  margin: 0;
}
.bzc-plans-lock-note {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.62);
  text-align: center;
  letter-spacing: 0.01em;
  margin: 0;
}
/* trust trio — rassicurazioni sotto il CTA */
.bzc-plans-trust-duo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin-top: 4px;
}
.bzc-plans-trust-row {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  text-align: center;
  line-height: 1.45;
}
/* riga garanzia — in evidenza */
.bzc-plans-trust-row--guarantee {
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,.88);
  margin-bottom: 2px;
}
.bzc-plans-trust-row--tp {
  font-size: 13px;
  color: rgba(0,182,122,.90);
}
/* icona inline centrata */
.bzc-plans-trust-icon {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-right: 5px;
  position: relative;
  top: -1px;
}
.bzc-plans-trust-icon--shield { color: rgba(69,236,162,.80); }
.bzc-plans-trust-icon--star   { color: #00b67a; }
.bzc-plans-promo-pill {
  display: block;
  width: 100%;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.82);
  text-align: center;
  line-height: 1.3;
}
.bzc-plans-promo-eq {
  font-size: 15px;
  font-weight: 800;
  color: rgba(255,255,255,.55);
}
.bzc-plans-promo-text {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  line-height: 1.4;
}


/* ─── 20. CLOSING CTA BANNER (bzc_cta_banner) ─── */
.bzc-cta-banner {
  position: relative;
  background: #050505;
  text-align: center;
  padding: 88px 24px 80px;
  overflow: hidden;
  border-top: 1px solid #1a1a1a;
}

.bzc-cta-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 55% at 50% 100%, rgba(255,130,148,.16) 0%, transparent 70%);
  pointer-events: none;
}

.bzc-cta-banner-inner {
  position: relative;
  z-index: 1;
  max-width: 660px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bzc-cta-banner-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pink);
  margin-bottom: 20px;
}

.bzc-cta-banner-title {
  font-size: clamp(26px, 5.5vw, 46px);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 18px;
}

.bzc-cta-banner-sub {
  font-size: 18px;
  color: rgba(255,255,255,.80);
  line-height: 1.4;
  margin-bottom: 36px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 600px) {
  .bzc-cta-banner { padding: 64px 20px 56px; }
  .bzc-cta-banner-sub { margin-bottom: 28px; }
}

@media (max-width: 480px) {
  .bzc-plans-unified { padding: 18px 10px; }
  .bzc-plan-card     { padding: 11px 10px; gap: 8px; }
  .bzc-plan-name     { font-size: 17px; }
  .bzc-plan-badge    { font-size: 10px; padding: 2px 5px; }
  .bzc-plan-amount   { font-size: 24px; }
  .bzc-plan-was      { font-size: 16px; }
  .bzc-plan-save     { font-size: 12px; padding: 2px 4px; }
}


/* ─── 22. HERO PROMO BADGE animato ─── */
@keyframes bzc-promo-pulse {
  0%         { text-shadow: none; transform: scale(1);    opacity: .88; }
  35%, 65%   { text-shadow: 0 0 12px rgba(206,165,67,.65), 0 0 28px rgba(206,165,67,.28); transform: scale(1.04); opacity: 1; }
  100%       { text-shadow: none; transform: scale(1);    opacity: .88; }
}

.hero-promo-badge {
  display: inline-block;
  color: var(--gold);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  animation: bzc-promo-pulse 3s ease-in-out infinite;
  animation-delay: 1.2s;
}
.hero-promo-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1.5px;
}

/* ─── 23. PROMO POPUP (bzc_popup) ─── */
@keyframes bzc-popup-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.bzc-popup-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 9000;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.bzc-popup-overlay.bzc-popup--visible {
  display: flex;
  animation: bzc-popup-in 0.30s ease forwards;
}
.bzc-popup-card {
  position: relative;
  width: 100%;
  max-width: 400px;
  background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,.22);
  border-top: 2px solid rgba(255,130,148,.60);
  border-radius: 22px;
  padding: 36px 28px 28px;
  text-align: center;
}
.bzc-popup-close {
  position: absolute;
  top: 14px; right: 16px;
  background: none; border: none;
  color: rgba(255,255,255,.45);
  font-size: 24px; line-height: 1;
  cursor: pointer; padding: 8px 10px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s;
}
.bzc-popup-close:hover { color: rgba(255,255,255,.90); }
.bzc-popup-badge {
  display: inline-block;
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.10em;
  color: var(--pink);
  background: rgba(255,130,148,.12);
  border: 1px solid rgba(255,130,148,.28);
  border-radius: 50px;
  padding: 4px 14px;
  margin-bottom: 18px;
}
.bzc-popup-title {
  font-size: clamp(20px, 5.5vw, 26px);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--white);
  line-height: 1.1;
  margin: 0 0 14px;
}
.bzc-popup-body {
  font-size: 16px;
  color: rgba(255,255,255,.78);
  line-height: 1.5;
  margin: 0 0 26px;
}
.bzc-popup-body strong { color: var(--white); font-weight: 800; }
.bzc-popup-cta {
  display: block;
  padding: 14px 20px;
  background: var(--pink);
  color: #050505;
  font-size: 15px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.05em;
  text-decoration: none;
  border-radius: 16px;
  border: 2px solid rgba(255,255,255,.90);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  transition: opacity 0.15s;
}
.bzc-popup-cta:hover { opacity: 0.88; }

/* ─── 21. LEVELS INCLUDED (bzc_levels) ─── */
@keyframes bzc-lvl-item-in {
  from { opacity: 0; transform: translateX(-18px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes bzc-lvl-check-pop {
  0%   { transform: scale(0.4); opacity: 0; }
  65%  { transform: scale(1.18); }
  100% { transform: scale(1);   opacity: 1; }
}
@keyframes bzc-lvl-line-grow {
  from { transform: scaleY(0); }
  to   { transform: scaleY(1); }
}

.bzc-levels-section { padding: 56px 0; }

.bzc-levels-list {
  max-width: 520px;
  margin: 32px auto 0;
  display: flex;
  flex-direction: column;
  position: relative;
}
.bzc-levels-list::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 36px;
  bottom: 36px;
  width: 2px;
  background: linear-gradient(to bottom,
    rgba(84,179,186,.50),
    rgba(206,165,67,.50),
    rgba(255,130,148,.50));
  border-radius: 2px;
  transform-origin: top;
  transform: scaleY(0);
  transition: transform 1.0s cubic-bezier(.4,0,.2,1);
}
.bzc-levels-list.bzc-lvl-visible::before {
  transform: scaleY(1);
}

.bzc-levels-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  opacity: 0;
  transform: translateX(-18px);
}
.bzc-levels-item:last-child { border-bottom: none; }

.bzc-levels-item.bzc-lvl-visible {
  animation: bzc-lvl-item-in 0.45s cubic-bezier(.22,.68,0,1.1) forwards;
}
.bzc-levels-item.bzc-lvl-visible:nth-child(1) { animation-delay: 0.10s; }
.bzc-levels-item.bzc-lvl-visible:nth-child(2) { animation-delay: 0.32s; }
.bzc-levels-item.bzc-lvl-visible:nth-child(3) { animation-delay: 0.54s; }

.bzc-levels-check {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background: rgba(69,236,162,.10);
  border: 1px solid rgba(69,236,162,.30);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.bzc-levels-item.bzc-lvl-visible .bzc-levels-check {
  animation: bzc-lvl-check-pop 0.38s cubic-bezier(.22,.68,0,1.2) both;
}
.bzc-levels-item.bzc-lvl-visible:nth-child(1) .bzc-levels-check { animation-delay: 0.22s; }
.bzc-levels-item.bzc-lvl-visible:nth-child(2) .bzc-levels-check { animation-delay: 0.44s; }
.bzc-levels-item.bzc-lvl-visible:nth-child(3) .bzc-levels-check { animation-delay: 0.66s; }

.bzc-levels-check svg { width: 15px; height: 15px; fill: #45eca2; }

.bzc-levels-body { flex: 1; }
.bzc-levels-name {
  display: block;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0 0 6px;
}
.bzc-levels-name--base       { color: var(--teal); }
.bzc-levels-name--intermedio,
.bzc-levels-name--intermedia { color: var(--gold); }
.bzc-levels-name--avanzato,
.bzc-levels-name--avanzata   { color: var(--pink); }
.bzc-levels-name--open       { color: #c0c0c0; }

.bzc-levels-desc {
  font-size: 16px;
  color: rgba(255,255,255,.80);
  line-height: 1.4;
  margin: 0;
}

/* ─── 19. SITE FOOTER ─── */
.site-footer {
  background: #050505;
  border-top: 1px solid #1e1e1e;
  padding: 40px 24px 32px;
  text-align: center;
}

/* Legal block */
.site-footer-legal {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  line-height: 1.85;
  margin-bottom: 18px;
}

.site-footer-company {
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,.80);
  margin: 0 0 6px;
  letter-spacing: 0.01em;
}

/* Contact line */
.site-footer-contact {
  font-size: 13px;
  color: rgba(255,255,255,.45);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.site-footer-contact-label {
  color: rgba(255,255,255,.40);
}

.site-footer-contact a {
  color: rgba(255,255,255,.62);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(255,255,255,.20);
  transition: color 0.15s;
}
.site-footer-contact a:hover { color: var(--pink); text-decoration-color: var(--pink); }

/* Bottom bar */
.site-footer-bottom {
  font-size: 12px;
  color: rgba(255,255,255,.32);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 18px;
  border-top: 1px solid #161616;
}

.site-footer-bottom a {
  color: rgba(255,255,255,.45);
  text-decoration: none;
  transition: color 0.15s;
}
.site-footer-bottom a:hover { color: var(--pink); }

.site-footer-dot { color: rgba(255,255,255,.18); }

@media (max-width: 480px) {
  .site-footer { padding: 32px 20px 28px; }
  .site-footer-legal { font-size: 12px; }
  .site-footer-contact { font-size: 12px; gap: 6px; }
}

/* ─── 24. SCROLL REVEAL (site-wide) ───
   Fade-up morbido applicato via JS (bazzini.js) agli elementi chiave di sezione.
   Solo opacity + transform: GPU-only, zero reflow.
   Le classi vengono rimosse a fine animazione per non interferire con gli hover. */
.bzc-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .55s ease, transform .55s cubic-bezier(.22,.68,0,1);
}
.bzc-reveal--in {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .bzc-reveal { opacity: 1; transform: none; transition: none; }
}

/* ═══════════════════════════════════════════════════════════════════
   25. COUNTER ISCRIZIONI (bzc_counter_block + bzc_counter_sticky)
   ═══════════════════════════════════════════════════════════════════ */

/* Live dot */
@keyframes bzc-live-ripple {
  0%   { transform: scale(1);   opacity: .60; }
  75%  { transform: scale(3.2); opacity: 0; }
  100% { transform: scale(3.2); opacity: 0; }
}
.bzc-counter-dot {
  display: inline-block;
  position: relative;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #45eca2;
  flex-shrink: 0;
}
.bzc-counter-dot::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #45eca2;
  animation: bzc-live-ripple 2.2s ease-out infinite;
}
.bzc-counter-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.bzc-counter-live-label {
  font-size: 12px; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: #45eca2;
}
.bzc-counter-sticky .bzc-counter-live-label { font-size: 13px; }

/* Numero verde integrato nel testo */
.bzc-counter-num {
  color: #5ff5ae;
  font-weight: 800;
  display: inline-block;
  transition: opacity .22s ease, transform .22s ease;
  text-shadow: 0 0 18px rgba(69,236,162,.35);
}
.bzc-counter-num.bzc-num-exit  { opacity: 0; transform: translateY(-55%); }
.bzc-counter-locked {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #45eca2;
  background: rgba(69,236,162,.10);
  border: 1px solid rgba(69,236,162,.28);
  white-space: nowrap;
  vertical-align: middle;
  position: relative;
  top: -1px;
}
@keyframes bzc-num-in {
  from { opacity: 0; transform: translateY(55%); }
  to   { opacity: 1; transform: translateY(0); }
}
.bzc-counter-num.bzc-num-enter { animation: bzc-num-in .28s cubic-bezier(.22,.68,0,1.1) forwards; }

/* Barra di esaurimento */
.counter-bar {
  height: 4px;
  background: rgba(255,255,255,.08);
  border-radius: 2px;
  overflow: hidden;
}
.counter-bar-fill {
  height: 100%;
  background: linear-gradient(to right, #45eca2, #54B3BA);
  border-radius: 2px;
  transition: width .9s ease;
  width: 100%;
}

/* ── Blocco inline (sezione pricing, sopra le card) ── */
.bzc-counter-block {
  padding: 16px 0;
  margin-bottom: 20px;
  border-top: 1px solid rgba(69,236,162,.22);
  border-bottom: 1px solid rgba(69,236,162,.12);
  position: relative;
  overflow: hidden;
}
@keyframes bzc-counter-shimmer {
  0%    { transform: translateX(-100%); opacity: 0; }
  5%    { opacity: 1; }
  25%   { opacity: 1; }
  30%   { transform: translateX(100%); opacity: 0; }
  30.1% { transform: translateX(-100%); opacity: 0; }
  100%  { transform: translateX(-100%); opacity: 0; }
}
.bzc-counter-block::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 15%, rgba(69,236,162,.09) 50%, transparent 85%);
  transform: translateX(-100%);
  animation: bzc-counter-shimmer 5s ease-in-out infinite;
  pointer-events: none;
}
/* Riga 1: ● LIVE ──[barra]────────────────────── */
.bzc-counter-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.bzc-counter-block .bzc-counter-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.bzc-counter-block .counter-bar {
  flex: 1;
  height: 6px;
  border-radius: 100px;
  background: rgba(255,255,255,.10);
}
.bzc-counter-block .counter-bar-fill {
  border-radius: 100px;
  box-shadow: 0 0 14px rgba(69,236,162,.60);
}
/* Riga 2: headline dinamica */
.bzc-counter-copy-wrap {
  font-size: 20px;
  font-weight: 700;
  color: rgba(255,255,255,.95);
  margin: 0 0 6px;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.bzc-counter-block .bzc-counter-num {
  font-size: 24px;
  text-shadow: 0 0 20px rgba(69,236,162,.50);
}
/* Riga 3: sottotitolo */
.bzc-counter-sub {
  font-size: 15px;
  font-weight: 500;
  color: rgba(255,255,255,.80);
  margin: 0;
  line-height: 1.4;
}

/* ── Sticky bar ── */
.bzc-counter-sticky {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 8000;
  background: linear-gradient(180deg, #0d1f0d 0%, #091409 100%);
  border-top: 1px solid rgba(69,236,162,.28);
  box-shadow: 0 -6px 28px rgba(0,0,0,.55);
  transform: translateY(105%);
  transition: transform .38s cubic-bezier(.22,.68,0,1);
  /* Safe area iPhone */
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.bzc-counter-sticky--visible { transform: translateY(0); }

/* Barra progresso in cima alla sticky */
.bzc-counter-sticky .counter-bar {
  height: 3px;
  border-radius: 0;
  background: rgba(255,255,255,.08);
}
.bzc-counter-sticky .counter-bar-fill {
  border-radius: 0;
  background: linear-gradient(to right, #45eca2 0%, #54B3BA 100%);
  box-shadow: 0 0 10px rgba(69,236,162,.40);
}

.bzc-counter-sticky-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 20px;
  max-width: 780px;
  margin: 0 auto;
}
.bzc-counter-sticky-text {
  flex: 1; min-width: 0;
  font-size: 14px; font-weight: 600;
  color: rgba(255,255,255,.92);
  line-height: 1.3;
}
.bzc-counter-sticky .bzc-counter-num { font-size: 16px; }
.bzc-counter-sticky-cta {
  display: inline-flex; align-items: center;
  font-size: 13px; font-weight: 800;
  color: #091409; background: #45eca2;
  text-decoration: none;
  white-space: nowrap; flex-shrink: 0;
  padding: 9px 18px;
  border-radius: 20px;
  letter-spacing: 0.01em;
  transition: background .18s ease, transform .18s ease;
}
.bzc-counter-sticky-cta:hover {
  background: #6cf2b8;
  transform: translateY(-1px);
}
.bzc-counter-sticky-close {
  background: none; border: none; cursor: pointer;
  color: rgba(255,255,255,.35); font-size: 20px; line-height: 1;
  padding: 4px; flex-shrink: 0;
  touch-action: manipulation;
  transition: color .15s ease;
}
.bzc-counter-sticky-close:hover { color: rgba(255,255,255,.65); }

/* Mobile: 3 righe — LIVE+× | testo centrato | CTA */
@media (max-width: 480px) {
  .bzc-counter-sticky-inner {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 0;
    padding: 10px 16px 10px;
  }
  /* Riga 1: ● LIVE a sinistra, × a destra */
  .bzc-counter-sticky .bzc-counter-live { order: 1; flex: 1; }
  .bzc-counter-sticky-close             { order: 2; flex-shrink: 0; }
  /* Riga 2: testo centrato full-width */
  .bzc-counter-sticky-text {
    order: 3;
    width: 100%; flex: none;
    text-align: center;
    font-size: 19px; font-weight: 700;
    line-height: 1.3;
  }
  .bzc-counter-sticky .bzc-counter-num { font-size: 22px; }
  /* Riga 3: CTA full-width */
  .bzc-counter-sticky-cta {
    order: 4;
    width: 100%; justify-content: center;
    font-size: 14px; padding: 11px 16px;
    border-radius: 12px; margin-top: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bzc-counter-dot          { animation: none; }
  .bzc-counter-num          { transition: none; }
  .bzc-counter-num.bzc-num-exit  { opacity: 0; }
  .bzc-counter-num.bzc-num-enter { animation: none; opacity: 1; }
  .bzc-counter-sticky       { transition: none; }
}

/* ── Urgency block (inline sopra le card piano) ─────────────────────────── */
@keyframes bzc-urgency-pulse {
  0%, 100% { border-left-color: rgba(206,165,67,.45); }
  50%       { border-left-color: rgba(206,165,67,1);   }
}
@keyframes bzc-urgency-lock-bounce {
  0%, 75%, 100% { transform: scale(1) translateY(0); }
  80%           { transform: scale(1.20) translateY(-3px); }
  88%           { transform: scale(0.96) translateY(1px); }
  94%           { transform: scale(1.06) translateY(-1px); }
}

.bzc-urgency-block {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 0 10px 18px;
  margin-bottom: 20px;
  background: transparent;
  border: none;
  border-left: 3px solid rgba(206,165,67,.45);
  border-radius: 0;
  animation: bzc-urgency-pulse 2.8s ease-in-out infinite;
}
.bzc-urgency-icon {
  flex-shrink: 0;
  color: var(--gold);
  line-height: 0;
}
.bzc-urgency-lock-svg {
  width: 20px; height: 20px; fill: currentColor;
  animation: bzc-urgency-lock-bounce 3.5s ease-in-out infinite;
}
.bzc-urgency-content { flex: 1; min-width: 0; text-align: left; }
.bzc-urgency-headline {
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
  line-height: 1.3;
  margin: 0 0 3px;
}
.bzc-urgency-headline em { color: var(--gold); font-style: normal; }
@keyframes bzc-urgency-item-in {
  from { opacity: 0; transform: translateX(-10px); }
  to   { opacity: 1; transform: translateX(0); }
}
.bzc-urgency-list {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.bzc-urgency-item {
  display: flex;
  align-items: baseline;
  gap: 7px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.82);
  line-height: 1.4;
  opacity: 0;
  animation: bzc-urgency-item-in 0.45s ease-out forwards;
}
.bzc-urgency-item::before {
  content: '✓';
  font-size: 11px;
  font-weight: 800;
  color: var(--teal);
  flex-shrink: 0;
  line-height: 1.6;
}
.bzc-urgency-item strong { font-weight: 800; color: var(--white); }
.bzc-urgency-item--gold { color: var(--gold); }
.bzc-urgency-item--gold::before { color: var(--gold); }
.bzc-urgency-item--1 { animation-delay: 0.10s; }
.bzc-urgency-item--2 { animation-delay: 0.28s; }
.bzc-urgency-item--3 { animation-delay: 0.46s; }

/* ── Urgency sticky (fixed bottom) ─────────────────────────────────────── */
.bzc-urgency-sticky {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 8000;
  background: #130609;
  border-top: 2px solid rgba(255,130,148,.40);
  box-shadow: 0 -8px 32px rgba(0,0,0,.65);
  transform: translateY(105%);
  transition: transform .38s cubic-bezier(.22,.68,0,1);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
@keyframes bzc-urgency-sticky-attention {
  0%, 100% { box-shadow: 0 -8px 32px rgba(0,0,0,.65); border-top-color: rgba(255,130,148,.40); }
  50%       { box-shadow: 0 -8px 48px rgba(255,130,148,.30), 0 -2px 0 rgba(255,130,148,.60); border-top-color: rgba(255,130,148,.90); }
}

.bzc-urgency-sticky--visible {
  transform: translateY(0);
  animation: bzc-urgency-sticky-attention 2.5s ease-in-out infinite;
}
.bzc-urgency-sticky-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 28px;
  max-width: 1100px;
  margin: 0 auto;
}
.bzc-urgency-sticky-text {
  flex-shrink: 0;
  line-height: 1.3;
}
.bzc-urgency-sticky-text span {
  display: block;
  font-size: 17px;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 2px;
  white-space: nowrap;
}
.bzc-urgency-sticky-text strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.65);
  white-space: nowrap;
}
.bzc-urgency-sticky-text em { color: var(--gold); font-style: normal; }
.bzc-urgency-sticky-cta {
  display: inline-flex; align-items: center;
  font-size: 16px; font-weight: 800;
  color: #050505; background: var(--pink);
  text-decoration: none;
  white-space: nowrap; flex-shrink: 0;
  padding: 11px 20px;
  border: 2px solid rgba(255,255,255,.50);
  border-radius: 20px;
  letter-spacing: 0.01em;
  transition: background .18s ease, transform .18s ease;
}
.bzc-urgency-sticky-cta:hover { background: #ffaab5; transform: translateY(-1px); }
.bzc-urgency-sticky-close {
  background: none; border: none; cursor: pointer;
  color: rgba(255,255,255,.30); font-size: 22px; line-height: 1;
  padding: 4px; flex-shrink: 0;
  touch-action: manipulation;
  transition: color .15s ease;
}
.bzc-urgency-sticky-close:hover { color: rgba(255,255,255,.65); }

@media (max-width: 480px) {
  .bzc-urgency-sticky-inner {
    flex-direction: column;
    align-items: center;
    position: relative;
    padding: 10px 14px 8px;
    gap: 6px;
  }
  /* × in alto a destra assoluto */
  .bzc-urgency-sticky-close {
    position: absolute;
    top: 8px; right: 10px;
    font-size: 18px;
    padding: 2px;
  }
  /* Riga 1: solo titolo, centrato, senza sottotitolo */
  .bzc-urgency-sticky-text {
    width: 100%;
    text-align: center;
    padding-right: 20px; /* spazio per X */
  }
  .bzc-urgency-sticky-text span   { font-size: 13px; white-space: normal; margin-bottom: 0; }
  .bzc-urgency-sticky-text strong { display: none; } /* nascosto: recupera 1 riga */
  /* Riga 2: timer compatto */
  .bzc-urgency-sticky-timer {
    width: auto;
    margin: 0;
    gap: 3px;
  }
  .bzc-urgency-sticky-timer .bzc-ust-box { width: 30px; height: 27px; border-radius: 6px; }
  .bzc-urgency-sticky-timer .bzc-ust-num { font-size: 14px; }
  .bzc-urgency-sticky-timer .bzc-ust-lbl { font-size: 7px !important; }
  .bzc-urgency-sticky-timer .bzc-ust-sep { font-size: 14px; line-height: 27px; padding-bottom: 11px; }
  /* Riga 3: CTA full width */
  .bzc-urgency-sticky-cta {
    width: 100%; justify-content: center;
    font-size: 13px; padding: 8px 14px;
    border-radius: 12px;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   26 — bzc_levels — Accesso completo: tutti i livelli inclusi
   ══════════════════════════════════════════════════════════════════════ */
.bzc-levels {
  padding: 72px 24px 96px;
  text-align: center;
}
.bzc-levels-head { margin-bottom: 40px; }
.bzc-levels-head .sh-intro { max-width: 580px; margin: 12px auto 0; }

.bzc-levels-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 980px;
  margin: 0 auto;
}

/* Entrance animation — JS adds .bzc-levels-grid--animate */
.bzc-levels-grid--animate .bzc-level-card {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.bzc-levels-grid--animate .bzc-level-card.is-visible {
  opacity: 1;
  transform: none;
}

.bzc-level-card {
  background: #212326;
  border-radius: 16px;
  padding: 24px 20px;
  text-align: left;
  border-top: 3px solid transparent;
}
.bzc-level-card--teal { border-top-color: var(--teal); }
.bzc-level-card--gold { border-top-color: var(--gold); }
.bzc-level-card--pink { border-top-color: var(--pink); }
.bzc-level-card--live { border-top-color: #45eca2; }

.bzc-level-name {
  display: block;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.1;
}
.bzc-level-card--teal .bzc-level-name { color: var(--teal); }
.bzc-level-card--gold .bzc-level-name { color: var(--gold); }
.bzc-level-card--pink .bzc-level-name { color: var(--pink); }
.bzc-level-card--live .bzc-level-name { color: #45eca2; }

/* Pallino live animato */
.bzc-level-card--live .bzc-level-name::before {
  content: '●';
  display: inline-block;
  margin-right: 6px;
  font-size: 10px;
  vertical-align: middle;
  position: relative;
  top: -1px;
  animation: bzc-live-blink 1.5s ease-in-out infinite;
}
@keyframes bzc-live-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.15; }
}

.bzc-level-tag {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,.70);
  letter-spacing: 0.03em;
  margin: 4px 0 12px;
}
.bzc-level-desc {
  font-size: 15px;
  color: rgba(255,255,255,.80);
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 720px) {
  .bzc-levels-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}
@media (max-width: 440px) {
  .bzc-levels-grid { grid-template-columns: 1fr; }
  .bzc-level-card  { padding: 18px 16px; }
}


/* ═══════════════════════════════════════════════════════════════
   SEZIONE 28 — GARANZIA (bzc_garanzia)
   ═══════════════════════════════════════════════════════════════ */
.bzc-garanzia-wrap {
  padding: 60px 20px;
}
.bzc-garanzia {
  display: flex;
  align-items: center;
  gap: 28px;
  max-width: 640px;
  margin: 0 auto;
  padding: 24px 28px;
  background: rgba(206,165,67,.07);
  border: 1px solid rgba(206,165,67,.30);
  border-radius: 20px;
}

/* ── Medaglione ── */
.bzc-garanzia-badge {
  flex-shrink: 0;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: rgba(206,165,67,.10);
  border: 2px solid var(--gold);
  box-shadow:
    0 0 0 5px rgba(206,165,67,.08),
    0 0 0 7px rgba(206,165,67,.14),
    inset 0 0 20px rgba(206,165,67,.06);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
}
.bzc-garanzia-badge-top {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(206,165,67,.80);
  line-height: 1;
}
.bzc-garanzia-badge-days {
  font-size: 30px;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  letter-spacing: -1px;
}
.bzc-garanzia-badge-unit {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(206,165,67,.80);
  line-height: 1;
}

/* ── Testo ── */
.bzc-garanzia-body { flex: 1; min-width: 0; }
.bzc-garanzia-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 6px;
}
.bzc-garanzia-title {
  font-size: 19px;
  font-weight: 800;
  color: var(--white);
  margin: 0 0 10px;
  line-height: 1.2;
}
.bzc-garanzia-text {
  font-size: 14px;
  color: rgba(255,255,255,.78);
  margin: 0;
  line-height: 1.55;
}
.bzc-garanzia-email {
  color: inherit;
  text-decoration: none;
}
.bzc-garanzia-email:hover { text-decoration: none; }

@media (max-width: 500px) {
  .bzc-garanzia         { flex-direction: column; text-align: center; gap: 18px; padding: 22px 20px; }
  .bzc-garanzia-eyebrow { display: none; }
}

/* ═══════════════════════════════════════════════
   § 17 · BZC COUNTDOWN
   Tre varianti: cd-block, cd-strip, cd-mini
   ═══════════════════════════════════════════════ */

/* ── flip animation (block digits) ── */
@keyframes bzc-cd-flip {
  0%   { transform: translateY(0);     opacity: 1; }
  44%  { transform: translateY(-120%); opacity: 0; }
  45%  { transform: translateY( 120%); opacity: 0; }
  100% { transform: translateY(0);     opacity: 1; }
}
.bzc-cd-flip { animation: bzc-cd-flip 0.40s cubic-bezier(.22,.68,0,1.05) forwards; }

/* ── cd-block ── */
.bzc-countdown--block {
  width: 100%;
  padding: 14px 16px;
  background: rgba(255,130,148,.06);
  border: 1px solid rgba(255,130,148,.24);
  border-radius: 14px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}
.bzc-cd-eyebrow {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--pink);
}
.bzc-cd-msg { display: flex; flex-direction: column; gap: 2px; }
.bzc-cd-msg-top {
  font-size: 15px;
  font-weight: 800;
  color: var(--white);
  line-height: 1.2;
}
.bzc-cd-msg-top em { color: var(--gold); font-style: normal; }
.bzc-cd-digits {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
}
.bzc-cd-unit { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.bzc-cd-box {
  width: 50px;
  height: 44px;
  background: #121212;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.bzc-cd-box::after {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px;
  background: rgba(0,0,0,.45);
  pointer-events: none;
}
.bzc-cd-num {
  font-size: 22px;
  font-weight: 900;
  color: var(--white);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  display: block;
}
.bzc-cd-sub {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--teal);
}
.bzc-cd-sep {
  font-size: 18px;
  font-weight: 900;
  color: rgba(255,255,255,.28);
  line-height: 44px;
  padding-bottom: 14px;
}
.bzc-cd-benefits {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.78);
  line-height: 1.4;
  padding-top: 2px;
}
.bzc-cd-benefits-item { display: flex; align-items: center; gap: 4px; }
.bzc-cd-benefits em { color: var(--teal); font-style: normal; font-weight: 800; }
.bzc-cd-benefits-dot { color: rgba(255,255,255,.22); font-size: 11px; }
.bzc-cd-benefits-highlight { color: var(--pink); font-weight: 700; }
@media (max-width: 390px) {
  .bzc-cd-box  { width: 44px; height: 40px; }
  .bzc-cd-num  { font-size: 18px; }
  .bzc-cd-sep  { font-size: 15px; line-height: 40px; }
}

/* ── cd-strip ── */
.bzc-cd-strip-wrap {
  padding: 0 20px 20px;
  max-width: 720px;
  margin: 0 auto;
}
.bzc-countdown--strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  padding: 8px 14px;
  background: rgba(206,165,67,.07);
  border: 1px solid rgba(206,165,67,.22);
  border-radius: 999px;
}
.bzc-cd-strip-msg {
  font-size: 12px;
  font-weight: 700;
  color: var(--white);
  white-space: nowrap;
}
.bzc-cd-strip-msg em { color: var(--pink); font-style: normal; }
.bzc-cd-strip-digits { display: flex; align-items: center; gap: 2px; }
.bzc-cd-strip-unit   { display: flex; align-items: baseline; gap: 1px; }
.bzc-cd-strip-num {
  font-size: 13px;
  font-weight: 900;
  color: var(--gold);
  font-variant-numeric: tabular-nums;
  min-width: 16px;
  text-align: right;
  display: inline-block;
}
.bzc-cd-strip-lbl {
  font-size: 10px;
  font-weight: 700;
  color: rgba(206,165,67,.65);
}
.bzc-cd-strip-dot { font-size: 10px; color: rgba(255,255,255,.20); padding: 0 2px; }
.bzc-cd-strip-after {
  font-size: 11px;
  font-weight: 600;
  color: var(--teal);
  white-space: nowrap;
}

/* ── header pill countdown number ── */
.bzc-cd-hdr-num {
  color: var(--gold);
  font-variant-numeric: tabular-nums;
  font-weight: 900;
}

/* ── sticky timer — stile cd-block compatto ── */
.bzc-urgency-sticky-timer {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  flex-shrink: 0;
  margin: 0 auto;
}
.bzc-ust-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.bzc-ust-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 36px;
  background: #121212;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}
.bzc-ust-box::after {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px;
  background: rgba(0,0,0,.45);
  pointer-events: none;
}
.bzc-ust-num {
  font-size: 18px;
  font-weight: 900;
  color: var(--white);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1;
}
.bzc-ust-lbl {
  font-size: 8px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--teal) !important;
  white-space: nowrap;
}
.bzc-ust-sep {
  font-size: 18px;
  font-weight: 900;
  color: rgba(255,255,255,.28);
  line-height: 36px;
  padding-bottom: 14px;
}


/* ── cd-mini ── */
.bzc-countdown--mini {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: rgba(255,130,148,.09);
  border: 1px solid rgba(255,130,148,.26);
  border-radius: 999px;
}
.bzc-cd-mini-txt {
  font-size: 14px;
  font-weight: 600;
  color: var(--white);
}
.bzc-cd-mini-timer {
  display: inline-flex;
  align-items: flex-start;
  gap: 3px;
  margin-left: 10px;
}
.bzc-cd-mini-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.bzc-cd-mini-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 30px;
  background: rgba(0,0,0,.50);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 7px;
}
.bzc-cd-mini-num   { font-size: 17px; font-weight: 900; color: var(--white); font-variant-numeric: tabular-nums; line-height: 1; }
.bzc-cd-mini-lbl   { font-size: 8px; font-weight: 700; color: var(--teal); text-transform: uppercase; letter-spacing: 0.06em; }
.bzc-cd-mini-sep   { font-size: 16px; font-weight: 800; color: rgba(255,255,255,.30); padding-bottom: 14px; }

/* ── cd-block animations ────────────────────────────────────────── */

/* keyframes */
@keyframes bzc-cd-el-in {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bzc-cd-border-pulse {
  0%, 100% { border-color: rgba(255,130,148,.24); box-shadow: none; }
  50%       { border-color: rgba(255,130,148,.65); box-shadow: 0 0 22px rgba(255,130,148,.10); }
}
@keyframes bzc-cd-check-glow {
  0%, 100% { color: var(--teal); text-shadow: none; }
  50%       { color: #70ffef;    text-shadow: 0 0 8px rgba(84,179,186,.55); }
}

/* initial hidden state — solo dentro il picker */
.bzc-plans-unified--picker .bzc-cd-eyebrow,
.bzc-plans-unified--picker .bzc-cd-msg,
.bzc-plans-unified--picker .bzc-cd-digits,
.bzc-plans-unified--picker .bzc-cd-benefits {
  opacity: 0;
  transform: translateY(16px);
}

/* entry stagger al momento in cui il picker entra nel viewport */
.bzc-plans-unified--picker.bzc-picker-visible .bzc-cd-eyebrow {
  animation: bzc-cd-el-in .45s cubic-bezier(.22,.68,0,1.05) .30s forwards;
}
.bzc-plans-unified--picker.bzc-picker-visible .bzc-cd-msg {
  animation: bzc-cd-el-in .45s cubic-bezier(.22,.68,0,1.05) .48s forwards;
}
.bzc-plans-unified--picker.bzc-picker-visible .bzc-cd-digits {
  animation: bzc-cd-el-in .50s cubic-bezier(.22,.68,0,1.15) .65s forwards;
}
.bzc-plans-unified--picker.bzc-picker-visible .bzc-cd-benefits {
  animation: bzc-cd-el-in .45s cubic-bezier(.22,.68,0,1.05) .85s forwards;
}

/* border pulse — parte dopo l'entry */
.bzc-countdown--block {
  animation: bzc-cd-border-pulse 3.5s ease-in-out 1.6s infinite;
}

/* ✓ glow staggered */
.bzc-cd-benefits em:nth-of-type(1) { animation: bzc-cd-check-glow 3.2s ease-in-out 1.8s infinite; }
.bzc-cd-benefits em:nth-of-type(2) { animation: bzc-cd-check-glow 3.2s ease-in-out 2.8s infinite; }
