/* Estilos exclusivos da página /pass/ (Jornada Pass x Jornada Start).
   Carregada depois de styles25.css e usada somente nessa página. */

/* ---------- Comparativo Pass x Start ---------- */

/* Todo CTA de compra aponta para esta seção; a título não pode ficar sob o header fixo. */
#experiencia {
  scroll-margin-top: 72px;
}

.experience-lead {
  max-width: 720px;
  margin: -6px auto 30px;
  color: rgba(255, 247, 239, 0.86);
  font-size: clamp(1rem, 3.4vw, 1.12rem);
  line-height: 1.5;
  text-align: center;
}

.experience-lead strong {
  color: var(--color-gold-500);
  font-weight: 900;
}

.comparison-pass-start .comparison-head .pass {
  border-color: rgba(255, 194, 13, 0.72);
  box-shadow: 0 -6px 24px rgba(255, 146, 40, 0.28);
}

.comparison-pass-start .comparison-head .start {
  background: linear-gradient(135deg, #45100c, #7c1a16);
  border-color: rgba(124, 26, 22, 0.8);
}

.comparison-pass-start .comparison-head strong small {
  display: block;
  margin-top: 4px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  opacity: 0.86;
}

.comparison-pass-start .comparison-row b.comparison-no {
  color: rgba(255, 247, 239, 0.42);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
}

@media (min-width: 760px) {
  /* A primeira linha de dados herdava o tratamento de badge da antiga linha "Vagas". */
  .comparison-pass-start .comparison-row:nth-child(2) b,
  .comparison-pass-start .comparison-row:nth-child(2) b:last-child,
  .comparison-pass-start .comparison-row:nth-child(2) b.comparison-no {
    margin: 0;
    min-height: 48px;
    border: 0;
    border-left: 1px solid rgba(204, 49, 39, 0.55);
    border-right: 1px solid rgba(204, 49, 39, 0.55);
    border-radius: 0;
    background: rgba(34, 0, 0, 0.42);
    font-weight: 500;
  }

  .comparison-pass-start .comparison-row:nth-child(2) b {
    font-size: 1rem;
  }

  .comparison-pass-start .comparison-row:nth-child(2) b.comparison-check,
  .comparison-pass-start .comparison-row:nth-child(2) b.comparison-no {
    font-size: 1.75rem;
    font-weight: 900;
  }

  .comparison-pass-start .comparison-row:nth-child(2) b.comparison-check {
    color: var(--color-gold-500);
  }

  .comparison-pass-start .comparison-row:nth-child(2) b.comparison-no {
    color: rgba(255, 247, 239, 0.42);
  }

  .comparison-pass-start .comparison-row b:nth-child(2) {
    border-left-color: rgba(255, 194, 13, 0.42);
    border-right-color: rgba(255, 194, 13, 0.42);
  }

  .comparison-pass-start .comparison-row:last-child b:nth-child(2) {
    border-bottom-color: rgba(255, 194, 13, 0.42);
  }
}

/* ---------- Cards de preço ---------- */

.price-card-featured {
  border-color: rgba(255, 194, 13, 0.85);
  box-shadow:
    0 0 0 2px rgba(255, 194, 13, 0.42),
    0 26px 52px rgba(0, 0, 0, 0.38);
}

.price-lot-badge-featured {
  color: #2a0604;
  background: linear-gradient(180deg, #ffe28a 0%, var(--color-gold-500) 100%);
}

.price-card-start {
  border-color: rgba(255, 255, 255, 0.16);
  background: linear-gradient(180deg, #fdf3ea 0%, #ecdcca 100%);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.2);
}

.price-card-start h3 {
  background: linear-gradient(135deg, #6b1512, #a8332b);
}

.price-card-start .price-installment {
  color: #6f1b16;
}

.price-card .price-from-note {
  color: rgba(45, 13, 0, 0.6);
}

.price-card .price-highlight,
.price-card .price-note {
  margin: 0 18px 20px;
  font-size: 0.92rem;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0;
}

.price-card .price-highlight {
  padding: 12px 14px;
  border-radius: 14px;
  color: #2a0604;
  background: rgba(255, 194, 13, 0.24);
  border: 1px solid rgba(216, 154, 18, 0.42);
  font-weight: 700;
}

.price-card .price-note {
  color: rgba(45, 13, 0, 0.66);
}

.button-start {
  color: var(--color-white);
  background: linear-gradient(180deg, #7c1a16, #5a100d);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.button-start:hover,
.button-start:focus-visible {
  background: linear-gradient(180deg, #94211c, #6b1512);
}

/* ---------- Comparativo em abas (mobile) ---------- */

@media (max-width: 759px) {
  .plan-tabs[data-active="start"] .plan-tabs-thumb {
    transform: translateX(100%);
  }

  .plan-card-featured {
    border-color: rgba(255, 194, 13, 0.72);
    box-shadow:
      0 0 0 1px rgba(255, 194, 13, 0.3),
      0 16px 36px rgba(0, 0, 0, 0.28);
  }

  .plan-card-start .plan-card-header {
    background: linear-gradient(135deg, #45100c, #8a1d18);
  }

  .plan-card-pass .plan-card-vagas-highlight {
    color: var(--color-wine-950);
    background: linear-gradient(180deg, #ffe28a 0%, var(--color-gold-500) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
  }

  .plan-card-start .plan-feature-excluded .plan-status-no {
    color: rgba(255, 247, 239, 0.5);
  }
}

/* ---------- Pop-up de inscrição (iframe portal VOLL) ---------- */

.enroll-dialog {
  width: min(100% - 24px, 640px);
  max-height: min(90vh, 780px);
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
}

.enroll-dialog .speaker-dialog-header {
  position: sticky;
  top: 0;
  z-index: 2;
  gap: 12px;
  padding: 14px 16px;
}

.enroll-dialog .speaker-dialog-heading h2 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.2;
}

.enroll-dialog .speaker-dialog-heading p {
  margin: 4px 0 0;
  font-size: 0.88rem;
  line-height: 1.35;
}

.enroll-dialog-body {
  position: relative;
  min-height: 0;
  height: min(66vh, 560px);
  margin: 0 14px 14px;
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
}

.enroll-dialog-frame {
  display: block;
  width: 108.7%; /* 100 / 0.92 */
  height: 108.7%;
  min-height: 0;
  border: 0;
  background: #fff;
  transform: scale(0.92);
  transform-origin: top left;
}

@media (max-width: 759px) {
  .enroll-dialog {
    width: min(100% - 16px, 640px);
    max-height: 92vh;
  }

  .enroll-dialog .speaker-dialog-header {
    padding: 12px 14px;
  }

  .enroll-dialog-body {
    height: min(70vh, 520px);
    margin: 0 12px 12px;
  }

  .enroll-dialog-frame {
    width: 111.11%; /* 100 / 0.9 */
    height: 111.11%;
    transform: scale(0.9);
  }
}

/* ---------- Exclusivos do Pass (página Experiências) ---------- */

.pass-exclusives {
  margin-top: clamp(40px, 8vw, 72px);
  max-width: 760px;
}

.pass-exclusives-title {
  margin: 0 auto 12px;
  color: var(--color-gold-500);
  font-size: clamp(1.55rem, 4.8vw, 2.15rem);
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.pass-exclusives-lead {
  max-width: 560px;
  margin: 0 auto 36px !important;
  color: rgba(255, 247, 239, 0.86) !important;
  font-size: clamp(1rem, 3.2vw, 1.1rem) !important;
  line-height: 1.5 !important;
  text-align: center;
  font-weight: 500;
}

.pass-exclusive-list {
  display: grid;
  gap: 0;
}

.pass-exclusive {
  padding: 28px 0;
  border-top: 1px solid rgba(255, 194, 13, 0.28);
}

.pass-exclusive:last-child {
  border-bottom: 1px solid rgba(255, 194, 13, 0.28);
}

.pass-exclusive-meta {
  margin: 0 0 8px;
  color: var(--color-orange-500);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pass-exclusive h3 {
  margin: 0 0 12px;
  color: #fff7ef;
  font-size: clamp(1.25rem, 3.6vw, 1.55rem);
  line-height: 1.25;
  font-weight: 800;
}

.pass-exclusive p:not(.pass-exclusive-meta) {
  margin: 0;
  color: rgba(255, 247, 239, 0.84);
  font-size: clamp(0.98rem, 3vw, 1.08rem);
  line-height: 1.55;
  font-weight: 500;
}

@media (min-width: 760px) {
  .pass-exclusive {
    padding: 32px 4px;
  }
}



