/* Suscripciones */
.subs-hero { display: flex; flex-wrap: wrap; gap: 40px; align-items: center; }
.subs-hero-text { flex: 1 1 420px; }
.subs-hero-img { flex: 1.3 1 520px; min-width: 0; border-radius: 28px; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(1, 97, 239, .55); }
.subs-hero-img img { width: 100%; height: auto; display: block; }
.subs-hero .display { line-height: 1.16; }
.hl { padding: 0 10px; border-radius: 14px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.hl-ps { color: var(--gold); background: var(--cream); }
.hl-gp { color: var(--green); background: var(--mint); }
.sec-anchor { padding-top: 40px; }
.sec-gp { padding-top: 88px; }
.plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 18px; }
.plan { display: flex; flex-direction: column; gap: 18px; padding: 26px; border-radius: 26px; background: #fff; border: 1px solid var(--line); min-width: 0; }
.plan-hl-ps { background: var(--cream); border: 2px solid var(--yellow); }
.plan-hl-gp { background: var(--mint); border: 2px solid var(--green); }
.plan-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.plan-name { font-family: var(--f-display); font-weight: 800; font-size: 24px; color: var(--ink); }
.plan-dur { font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 999px; background: #fff; color: var(--gold); border: 1px solid var(--cream-line); }
.plan-bottom { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.plan-plabel { font-size: 13px; color: var(--gray); }
.plan-price { font-family: var(--f-display); font-weight: 800; font-size: 30px; line-height: 1.1; color: var(--ink); }
.plan-price.is-green { color: var(--green); }
.plan-price small { font-size: 13px; }
.plan-na { font-size: 18px; color: var(--gray); }
.plan .btn-ink { height: 48px; padding: 0 20px; }
.plan-show { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; padding: 20px; border-radius: 26px; background: var(--fog); border: 1px solid var(--line); }
.plan-show img { flex: 1 1 280px; max-width: 380px; min-width: 0; height: auto; border-radius: 18px; display: block; }
.plan-show > div { flex: 1 1 300px; }
.band-mt { margin-top: 88px; }
.modal-box .step-set legend { margin-bottom: 6px; }
@media (max-width: 720px) {
  .plan { padding: 22px; border-radius: 22px; }
  .seg[data-durs] { width: 100%; }
  .seg[data-durs] .seg-btn { flex: 1; padding: 0 10px; }
  .modal { align-items: flex-end; padding: 0; }
  .modal-box { border-radius: 24px 24px 0 0; max-height: 92vh; }
  .modal-img { max-height: 220px; }
  .modal-body { padding: 20px; }
}
