/* RUN4YGOAL private access — v4 */
html.r4g-access-gated body { visibility: hidden; }
html.r4g-access-gated.r4g-access-ready body { visibility: visible; }
.access-page { width: min(100% - 40px, 1120px); margin: 0 auto; padding: 30px 0 56px; }
.access-hero { max-width: 850px; padding: 34px 0 20px; }
.access-hero .btn { margin-bottom: 24px; }
.access-hero h1 { margin: 7px 0 12px; font-size: clamp(2rem, 5.4vw, 4.25rem); line-height: 1.05; }
.access-hero-text { max-width: 720px; margin: 0; font-size: clamp(1rem, 2vw, 1.13rem); line-height: 1.6; opacity: .87; }
.access-section { margin: 32px 0; }
.access-panel, .access-step, .access-plan-card { background: #161b22; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; }
.access-panel { padding: clamp(20px, 3.5vw, 32px); }
.access-eyebrow { margin: 0 0 7px; color: #b6c4d4; font-size: .75rem; font-weight: 800; letter-spacing: .14em; }
.access-section-heading { margin-bottom: 15px; }
.access-section-heading h2 { margin: 0; font-size: clamp(1.5rem, 4vw, 2.1rem); }
.access-code-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: end; }
.access-code-copy h2 { margin: 0 0 7px; }
.access-code-copy p { margin: 0; opacity: .8; }
.access-code-form { display: grid; gap: 8px; }
.access-code-form label { font-size: .86rem; font-weight: 800; }
.access-code-row { display: flex; gap: 10px; }
.access-code-row input { flex: 1; min-width: 0; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; padding: 13px 14px; background: rgba(0,0,0,.22); color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.access-no-code { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.access-no-code-large { grid-column: 1 / -1; margin-top: 6px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.12); }
.access-no-code-large strong { font-size: 1.1rem; }
.access-email-link, .access-change-code { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.access-flash { margin: 18px 0; padding: 13px 15px; border-radius: 12px; border: 1px solid rgba(255,255,255,.18); }
.access-flash-success { background: rgba(100,220,130,.08); border-color: rgba(100,220,130,.35); }
.access-flash-error { background: rgba(255,120,120,.08); border-color: rgba(255,120,120,.35); }
.access-flash-info { background: rgba(72,151,255,.08); border-color: rgba(72,151,255,.35); }
.access-accessed-row { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; padding: 11px 14px; border: 1px solid rgba(100,220,130,.28); background: rgba(100,220,130,.05); border-radius: 12px; font-size: .9rem; }
.access-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #74df88; box-shadow: 0 0 0 4px rgba(116,223,136,.12); }
.access-session-note { opacity: .7; }
.access-steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.access-step { padding: 17px; min-height: 126px; }
.access-step:nth-child(1) { border-color: rgba(195,195,195,.42); }
.access-step:nth-child(2) { border-color: rgba(72,151,255,.46); }
.access-step:nth-child(3) { border-color: rgba(226,185,67,.46); }
.access-step > span { display: inline-block; margin-bottom: 15px; padding: 4px 7px; border-radius: 7px; background: rgba(255,255,255,.08); font-size: .72rem; font-weight: 800; }
.access-step h3 { margin: 0 0 5px; font-size: 1rem; }
.access-step p { margin: 0; font-size: .88rem; opacity: .8; }
.access-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.access-chip-list span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; font-size: .8rem; background: rgba(255,255,255,.03); }
.access-plan-list { display: grid; gap: 18px; }
.access-plan-card { padding: clamp(20px, 3vw, 30px); scroll-margin-top: 18px; }
.plan-card-base { border-color: rgba(195,195,195,.46); }
.plan-card-plus { border-color: rgba(72,151,255,.58); background: linear-gradient(135deg, rgba(72,151,255,.1), #161b22 44%); }
.plan-card-pro { border-color: rgba(226,185,67,.62); background: linear-gradient(135deg, rgba(226,185,67,.1), #161b22 44%); }
.plan-card-top { display: flex; justify-content: space-between; align-items: end; gap: 22px; }
.plan-card-top h2 { margin: 0 0 2px; font-size: clamp(2rem, 5vw, 3rem); }
.plan-card-top h3 { margin: 0; font-size: 1.04rem; font-weight: 500; opacity: .9; }
.plan-card-price { min-width: min(100%, 245px); padding: 12px 14px; border-left: 3px solid rgba(255,255,255,.42); border-radius: 0 10px 10px 0; background: rgba(0,0,0,.16); }
.plan-card-price span, .plan-card-price small { display: block; font-size: .75rem; opacity: .72; }
.plan-card-price strong { display: block; margin: 4px 0; font-size: 1.35rem; }
.plan-card-intro { margin: 17px 0; max-width: 750px; font-size: 1rem; line-height: 1.55; }
.plan-included-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.plan-feature-mini { display: flex; gap: 9px; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(0,0,0,.13); }
.plan-feature-icon { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.1); font-size: .75rem; font-weight: 800; }
.plan-card-plus .plan-feature-icon { background: rgba(72,151,255,.2); }
.plan-card-pro .plan-feature-icon { background: rgba(226,185,67,.2); }
.plan-feature-mini h4 { margin: 0 0 2px; font-size: .85rem; }
.plan-feature-mini p { margin: 0; font-size: .78rem; line-height: 1.35; opacity: .8; }
.plan-card-action { margin-top: 17px; }
.access-rules-strip { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; padding: 17px; }
.access-rules-strip div { display: grid; gap: 5px; padding: 5px 9px; }
.access-rules-strip strong { font-size: .86rem; }
.access-rules-strip span { font-size: .82rem; opacity: .78; }
.access-footnote { margin: 12px 3px 0; font-size: .82rem; line-height: 1.45; opacity: .72; }
.payment-hero { position: relative; }
.payment-close-link { display: inline-block; margin-top: 15px; font-size: .9rem; }
.payment-summary-card { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.payment-summary-card h2 { margin: 0; }
.payment-summary-price { text-align: right; }
.payment-summary-price span, .payment-summary-price small { display: block; font-size: .78rem; opacity: .72; }
.payment-summary-price strong { display: block; margin: 4px 0; font-size: clamp(1.45rem, 3vw, 2rem); }
.payment-methods-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.payment-method-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 230px; }
.payment-method-card h2 { margin: 0 0 7px; }
.payment-method-card .btn { margin-top: auto; }
.bank-details { width: 100%; margin: 5px 0 14px; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.035); }
.bank-details p { margin: 5px 0; font-size: .88rem; }
.payment-pending-note { margin: 10px 0 0; font-size: .8rem; opacity: .68; }
@media (max-width: 780px) { .access-code-panel { grid-template-columns: 1fr; } .access-no-code-large { grid-column: auto; } .plan-card-top, .payment-summary-card { align-items: flex-start; flex-direction: column; } .plan-card-price, .payment-summary-price { text-align: left; } .plan-included-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .access-rules-strip { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .access-page { width: min(100% - 24px, 1120px); padding-top: 16px; } .access-steps-grid, .plan-included-grid, .payment-methods-grid { grid-template-columns: 1fr; } .access-code-row { flex-direction: column; } .access-code-row .btn { width: 100%; } .access-hero h1 { font-size: 2.1rem; } }

/* v5 — Lectura cómoda en móvil y computadora */
.access-hero-text {
  font-size: clamp(1.05rem, 2.1vw, 1.2rem);
  line-height: 1.65;
}

.access-step {
  padding: 20px;
  min-height: 142px;
}

.access-step > span {
  margin-bottom: 16px;
  font-size: .82rem;
}

.access-step h3 {
  font-size: 1.12rem;
  line-height: 1.2;
}

.access-step p {
  font-size: 1rem;
  line-height: 1.45;
}

.access-chip-list span {
  padding: 8px 12px;
  font-size: .92rem;
}

.plan-card-top {
  display: block;
}

.plan-card-top h2 {
  font-size: clamp(2.15rem, 5vw, 3.15rem);
}

.plan-card-top h3 {
  font-size: 1.12rem;
  line-height: 1.35;
}

.plan-card-intro {
  margin: 18px 0 12px;
  font-size: 1.08rem;
  line-height: 1.62;
  opacity: .94;
}

.plan-card-price-under-intro {
  display: inline-block;
  min-width: min(100%, 290px);
  margin: 0 0 20px;
  padding: 14px 16px;
  border-left-width: 4px;
}

.plan-card-price span,
.plan-card-price small {
  font-size: .9rem;
}

.plan-card-price strong {
  margin: 5px 0;
  font-size: 1.55rem;
  line-height: 1.2;
}

.plan-included-grid {
  gap: 13px;
}

.plan-feature-mini {
  gap: 12px;
  padding: 15px;
  border-radius: 14px;
}

.plan-feature-icon {
  width: 34px;
  height: 34px;
  font-size: .95rem;
}

.plan-feature-mini h4 {
  margin: 0 0 4px;
  font-size: 1.04rem;
  line-height: 1.2;
}

.plan-feature-mini p {
  margin: 0;
  font-size: .98rem;
  line-height: 1.48;
  opacity: .9;
}

.access-rules-strip strong {
  font-size: 1rem;
}

.access-rules-strip span,
.access-footnote {
  font-size: .95rem;
  line-height: 1.5;
}

@media (max-width: 780px) {
  .plan-card-price-under-intro {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .access-page {
    width: min(100% - 28px, 1120px);
  }

  .access-step {
    min-height: auto;
    padding: 18px;
  }

  .access-step h3 {
    font-size: 1.08rem;
  }

  .access-step p,
  .plan-feature-mini p {
    font-size: .98rem;
  }

  .plan-feature-mini h4 {
    font-size: 1.04rem;
  }

  .plan-card-intro {
    font-size: 1.03rem;
  }
}

/* Texto auxiliar: evitar tamaños pequeños en el resto del flujo */
.access-code-copy p,
.access-code-form label,
.access-accessed-row,
.payment-method-card p,
.bank-details p,
.payment-pending-note,
.admin-form-note,
.admin-warning,
.admin-table small {
  font-size: 1rem;
  line-height: 1.5;
}

.access-code-form label {
  font-weight: 800;
}

.access-flash {
  font-size: 1rem;
  line-height: 1.45;
}


/* v6 — Lectura más cómoda en laptop y footer de marca */
.r4g-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
  padding: 22px 20px 26px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.82);
  font-size: clamp(.92rem, 1.35vw, 1.04rem);
  font-weight: 700;
  letter-spacing: .05em;
  text-align: center;
}

.r4g-footer-separator {
  color: rgba(226,185,67,.85);
}

/* El ajuste se concentra en textos de lectura, formularios y tarjetas.
   Los títulos principales conservan su escala actual. */
@media (min-width: 781px) {
  .access-page {
    width: min(100% - 72px, 1220px);
    padding-top: 40px;
    padding-bottom: 68px;
  }

  .access-eyebrow {
    font-size: .86rem;
  }

  .access-code-copy p,
  .access-code-form label,
  .access-flash,
  .access-accessed-row,
  .access-session-note,
  .access-step p,
  .access-chip-list span,
  .plan-card-intro,
  .plan-feature-mini p,
  .access-rules-strip span,
  .access-footnote,
  .payment-method-card > p,
  .bank-details p,
  .payment-pending-note,
  .admin-page p,
  .admin-page label,
  .admin-page th,
  .admin-page td,
  .admin-page small {
    font-size: 1.08rem;
    line-height: 1.58;
  }

  .access-code-copy h2,
  .payment-method-card h2,
  .payment-summary-card h2,
  .admin-page .access-panel h2 {
    line-height: 1.25;
  }

  .access-step h3 {
    font-size: 1.18rem;
  }

  .plan-feature-mini h4 {
    font-size: 1.1rem;
    line-height: 1.25;
  }

  .plan-card-price span,
  .plan-card-price small,
  .payment-summary-price span,
  .payment-summary-price small {
    font-size: .98rem;
    line-height: 1.45;
  }

  .access-code-row input,
  .admin-page input,
  .admin-page select,
  .admin-page button {
    font-size: 1.05rem;
  }

  .access-no-code-large strong {
    font-size: 1.2rem;
  }

  .payment-method-card {
    min-height: 250px;
  }
}

@media (max-width: 560px) {
  .r4g-footer {
    flex-wrap: wrap;
    gap: 6px 8px;
    padding: 20px 16px 24px;
    font-size: .88rem;
  }
}

/* v7 — Proceso completo, visual y lectura móvil más cómoda */
.access-hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.access-hero-actions .btn {
  margin-bottom: 0;
}

.access-language-link {
  color: #d7e6ff;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.access-language-link small {
  margin-left: 5px;
  color: rgba(255,255,255,.64);
  font-size: .82em;
  font-weight: 600;
}

.access-language-link.is-coming-soon {
  cursor: default;
  opacity: .84;
}

.access-language-link.is-coming-soon:focus,
.access-language-link.is-coming-soon:hover {
  color: #d7e6ff;
}

.access-process-intro {
  max-width: 740px;
  margin: 8px 0 0;
  font-size: 1.03rem;
  line-height: 1.58;
  opacity: .85;
}

.access-process-flow {
  position: relative;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 11px;
}

.access-process-flow::before {
  content: '';
  position: absolute;
  top: 47px;
  right: 9%;
  left: 9%;
  z-index: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(195,195,195,.38), rgba(72,151,255,.55), rgba(226,185,67,.56));
}

.access-process-flow .access-step {
  position: relative;
  z-index: 1;
  min-height: 194px;
  padding: 18px 16px;
  background: linear-gradient(150deg, rgba(255,255,255,.045), rgba(0,0,0,.05)), #161b22;
}

.access-process-flow .access-step:nth-child(4) { border-color: rgba(72,151,255,.58); }
.access-process-flow .access-step:nth-child(5) { border-color: rgba(100,220,130,.48); }

.access-step-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin: 0 0 13px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 1rem;
}

.access-process-flow .access-step:nth-child(2) .access-step-icon,
.access-process-flow .access-step:nth-child(4) .access-step-icon {
  border-color: rgba(72,151,255,.5);
  background: rgba(72,151,255,.13);
}

.access-process-flow .access-step:nth-child(3) .access-step-icon {
  border-color: rgba(226,185,67,.52);
  background: rgba(226,185,67,.13);
}

.access-process-flow .access-step:nth-child(5) .access-step-icon {
  border-color: rgba(100,220,130,.5);
  background: rgba(100,220,130,.13);
}

.access-meeting-panel {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 15px;
  padding: 15px 17px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(195,195,195,.08), rgba(72,151,255,.08), rgba(226,185,67,.08));
}

.access-meeting-label {
  flex: 0 0 auto;
  color: rgba(255,255,255,.9);
  font-size: .96rem;
  font-weight: 800;
}

.access-meeting-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.access-meeting-options span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(0,0,0,.14);
  font-size: .92rem;
  line-height: 1.3;
}

.access-meeting-options b {
  font-size: .86em;
  letter-spacing: .05em;
}

.meeting-base { border-color: rgba(195,195,195,.45) !important; }
.meeting-plus { border-color: rgba(72,151,255,.55) !important; }
.meeting-pro { border-color: rgba(226,185,67,.58) !important; }

@media (max-width: 980px) {
  .access-process-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .access-process-flow::before {
    display: none;
  }
}

@media (max-width: 560px) {
  .access-hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .access-language-link {
    font-size: 1.02rem;
  }

  .access-process-intro,
  .access-step p,
  .plan-card-intro,
  .plan-feature-mini p,
  .access-rules-strip span,
  .access-footnote,
  .access-code-copy p,
  .access-accessed-row,
  .access-session-note,
  .payment-method-card p,
  .bank-details p,
  .payment-pending-note {
    font-size: 1.04rem;
    line-height: 1.55;
  }

  .access-chip-list span,
  .access-meeting-options span {
    font-size: .98rem;
  }

  .access-process-flow {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .access-process-flow .access-step {
    min-height: auto;
    padding: 17px;
  }

  .access-step-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 10px;
  }

  .access-meeting-panel {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
  }
}


/* v8 — Pago manual México: Mercado Pago, transferencia y efectivo */
.payment-methods-grid-mx {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.payment-method-card {
  min-height: 338px;
}

.payment-method-card h2 {
  font-size: clamp(1.3rem, 2.3vw, 1.7rem);
}

.payment-provider-card {
  border-color: rgba(0, 208, 132, .34);
  background: linear-gradient(145deg, rgba(0,208,132,.10), rgba(22,27,34,.98) 52%);
}

.payment-transfer-card {
  border-color: rgba(72, 151, 255, .34);
  background: linear-gradient(145deg, rgba(72,151,255,.10), rgba(22,27,34,.98) 52%);
}

.payment-cash-card {
  border-color: rgba(226, 185, 67, .38);
  background: linear-gradient(145deg, rgba(226,185,67,.10), rgba(22,27,34,.98) 52%);
}

.bank-details {
  margin: 9px 0 13px;
  padding: 15px;
}

.bank-details p {
  margin: 7px 0;
}

.bank-number {
  display: inline-block;
  font-variant-numeric: tabular-nums;
  letter-spacing: .055em;
  word-break: break-all;
}

.payment-amount-note {
  margin: 0 0 8px !important;
  color: #ffffff;
}

.payment-inline-link {
  display: inline-block;
  margin-top: 14px;
  color: #d7e6ff;
  font-size: .93rem;
  font-weight: 700;
  line-height: 1.42;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.payment-validation-notice {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid rgba(0, 208, 132, .34);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(0,208,132,.11), rgba(22,27,34,.96) 68%);
}

.payment-validation-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(0,208,132,.48);
  border-radius: 50%;
  color: #00d084;
  font-weight: 900;
  font-size: 1.2rem;
}

.payment-validation-notice h2 {
  margin: 0 0 7px;
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
}

.payment-validation-notice p {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 1rem;
  line-height: 1.62;
}

@media (min-width: 781px) {
  .payment-method-card {
    min-height: 360px;
  }

  .payment-inline-link,
  .payment-validation-notice p {
    font-size: 1.05rem;
  }
}

@media (max-width: 980px) {
  .payment-methods-grid-mx {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .payment-methods-grid-mx {
    grid-template-columns: 1fr;
  }

  .payment-method-card {
    min-height: 0;
  }

  .payment-validation-notice {
    gap: 13px;
    padding: 18px;
  }

  .payment-validation-icon {
    width: 31px;
    height: 31px;
    font-size: 1rem;
  }
}


/* Stripe Test privado: se activa sin recargar la página mediante #stripe-test. */
.stripe-test-section { margin-top: 18px; }
.stripe-test-panel {
  border-color: rgba(132, 92, 246, .55);
  background: linear-gradient(145deg, rgba(132,92,246,.12), rgba(22,27,34,.98) 56%);
}
.stripe-test-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.stripe-test-heading h2 { margin: 0; }
.stripe-test-badge {
  display: inline-block;
  padding: 6px 9px;
  border: 1px solid rgba(188,168,255,.6);
  border-radius: 999px;
  color: #e1d8ff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  background: rgba(132,92,246,.13);
}
.stripe-test-copy,
.stripe-test-note,
.stripe-test-warning {
  max-width: 860px;
  margin: 8px 0;
  font-size: 1rem;
  line-height: 1.58;
}
.stripe-test-note { opacity: .72; }
.stripe-test-warning {
  padding: 12px 14px;
  border: 1px solid rgba(255,209,102,.36);
  border-radius: 12px;
  background: rgba(255,209,102,.07);
}
.stripe-test-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 18px;
}
.stripe-test-form label {
  display: grid;
  gap: 7px;
  font-size: .95rem;
  font-weight: 800;
}
.stripe-test-form input {
  width: 100%;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 10px;
  padding: 13px 14px;
  color: #fff;
  background: rgba(0,0,0,.22);
  font-size: 1rem;
}
.stripe-test-action {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  flex-wrap: wrap;
  padding-top: 3px;
}
.stripe-test-action p { margin: 0; }
.stripe-test-action .btn { margin: 0; }
@media (max-width: 560px) {
  .stripe-test-form { grid-template-columns: 1fr; }
  .stripe-test-heading { gap: 10px; }
  .stripe-test-action .btn { width: 100%; max-width: none; }
}

/* Corrección de prueba: el panel permanece oculto hasta usar #stripe-test. */
.stripe-test-section[hidden] { display: none !important; }


/* v9 — Panel Stripe de prueba: campos legibles y sin etiqueta temporal */
.stripe-test-heading {
  justify-content: flex-start;
}

.stripe-test-form label {
  color: #ffffff !important;
  line-height: 1.35;
}

.stripe-test-form input[type="text"],
.stripe-test-form input[type="email"] {
  display: block;
  width: 100%;
  min-height: 48px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 10px;
  padding: 12px 14px;
  background: #0d1117 !important;
  color: #ffffff !important;
  caret-color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  font: inherit;
}

.stripe-test-form input[type="text"]::placeholder,
.stripe-test-form input[type="email"]::placeholder {
  color: rgba(255,255,255,.52);
}

.stripe-test-form input[type="text"]:focus,
.stripe-test-form input[type="email"]:focus {
  outline: none;
  border-color: rgba(0,208,132,.8) !important;
  box-shadow: 0 0 0 3px rgba(0,208,132,.14);
}
