/* ===== ALTURIN · ventana de compra (cursos, aplicaciones y recursos) ===== */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;visibility:hidden;opacity:0;transition:.25s}
.modal.is-open{visibility:visible;opacity:1}
.modal__bg{position:absolute;inset:0;background:rgba(3,7,15,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal__card{position:relative;width:min(920px,100%);max-height:calc(100vh - 32px);overflow:auto;display:grid;grid-template-columns:320px 1fr;border-radius:24px;border:1px solid var(--line);background:var(--bg2);box-shadow:0 40px 80px -20px rgba(0,0,0,.8);transform:translateY(20px) scale(.98);transition:.3s}
.modal.is-open .modal__card{transform:none}
.modal__x{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);font-size:1.3rem;line-height:1}
.modal__x:hover{background:var(--red);border-color:var(--red)}
.modal__side{padding:30px;background:radial-gradient(90% 60% at 0% 0%,rgba(227,38,45,.25),transparent 70%),radial-gradient(90% 60% at 100% 100%,rgba(47,107,255,.25),transparent 70%),var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.modal__side h3{font-size:1.15rem;line-height:1.3}
.modal__sum{display:grid;gap:8px;font-size:.88rem;color:var(--muted)}
.modal__sum div{display:flex;justify-content:space-between;gap:10px}
.modal__sum b{color:var(--text);font-weight:600;text-align:right}
.modal__total{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.modal__total small{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.modal__total strong{display:block;font:800 2rem var(--fh)}
.modal__main{padding:30px}
.steps{display:flex;gap:6px;margin-bottom:26px;padding-right:44px}
.step{flex:1;display:flex;flex-direction:column;gap:8px;font-size:.78rem;color:var(--muted)}
.step i{height:4px;border-radius:2px;background:rgba(255,255,255,.1);transition:.3s}
.step.is-done i,.step.is-current i{background:linear-gradient(90deg,var(--red),var(--blue2))}
.step.is-current{color:var(--strong);font-weight:600}
.pane{display:none}
.pane.is-on{display:block;animation:paneIn .35s}
@keyframes paneIn{from{opacity:0;transform:translateX(14px)}}
.pane h4{font-size:1.4rem;font-weight:800;margin-bottom:6px}
.pane > p{color:var(--muted);font-size:.92rem;margin-bottom:20px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field--full{grid-column:1/-1}
.field label{font-size:.82rem;font-weight:500;color:var(--silver)}
.field input,.field select{padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;outline:none;transition:.2s}
.field input:focus,.field select:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(47,107,255,.18)}
.field.is-bad input{border-color:var(--red2)}
.field .err{display:none;font-size:.76rem;color:var(--red2)}
.field.is-bad .err{display:block}
.methods{display:grid;gap:10px}
.method{display:flex;align-items:center;gap:14px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--panel);text-align:left;transition:.2s}
.method:hover{border-color:rgba(255,255,255,.25)}
.method.is-active{border-color:var(--blue2);background:rgba(47,107,255,.1)}
.method__ico{width:44px;height:44px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;font:800 .8rem var(--fh);color:#fff}
.method b{display:block}
.method small{color:var(--muted);font-size:.82rem}
.method__radio{margin-left:auto;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;transition:.2s}
.method.is-active .method__radio{border:6px solid var(--blue2)}
.paybox{margin-top:16px;padding:16px;border-radius:14px;border:1px dashed rgba(95,160,255,.4);background:rgba(47,107,255,.06);font-size:.9rem;display:none}
.paybox.is-on{display:block}
.paybox div{display:flex;justify-content:space-between;gap:10px;padding:5px 0}
.paybox span{color:var(--muted)}
.copy{font-size:.75rem;padding:.2em .6em;border-radius:6px;border:1px solid var(--line);margin-left:6px;color:var(--blue2)}
.copy:hover{background:rgba(47,107,255,.15)}
.pane__nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.done{text-align:center;padding:10px 0}
.done__ico{width:74px;height:74px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:rgba(37,211,102,.15);color:#3ee07f;font-size:2rem}
.btn--wa{background:#25d366;color:#05210f;font-weight:700}
.btn--wa:hover{transform:translateY(-2px);box-shadow:0 10px 26px -8px rgba(37,211,102,.7)}
.modal__total .usd{color:var(--silver)}
.pedido-ok{display:inline-block;margin:-4px auto 12px;padding:.4em 1em;border-radius:99px;background:rgba(95,160,255,.12);border:1px solid rgba(95,160,255,.35);font-size:.88rem;color:var(--text)}
.pedido-ok b{letter-spacing:.06em}
.conf{display:grid;gap:12px}
.conf__step{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--panel)}
.conf__step b{display:block;font-size:1rem}
.conf__step p{color:var(--muted);font-size:.88rem;margin:4px 0 12px}
.conf__n{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:800 .9rem var(--fh);color:#fff;background:linear-gradient(135deg,var(--red),#b5121a)}
.conf__num{display:inline!important;color:#3ee07f;white-space:nowrap}
.conf .pedido-ok{display:block;margin:10px 0 0;border-radius:12px;padding:.7em 1em;line-height:1.5}
.pane[data-pane="2"] .eta{margin-top:14px;max-width:none}
.pane[data-pane="2"] .pane__nav{align-items:flex-start;flex-wrap:wrap}
.pane__dl{flex:1;max-width:340px;margin-left:auto}
.dl{display:grid;gap:6px;text-align:left}
.dl label{font-size:.82rem;font-weight:600;color:var(--silver)}
.dl__row{display:flex;gap:8px}
.dl input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:600 .95rem var(--fb);letter-spacing:.08em;text-transform:uppercase;outline:none}
.dl input:focus{border-color:var(--blue2)}
.dl__msg{font-size:.82rem;color:var(--muted);min-height:1.2em}
.dl__msg--ok{color:#3ee07f}.dl__msg--ok a{color:#fff;font-weight:700;text-decoration:underline}.dl__msg--ok small{color:var(--muted)}
.dl__msg--err{color:var(--red2)}
@media (max-width:560px){.pane__dl{max-width:none;flex-basis:100%}}
.pedido-ok--err{border-radius:14px;background:rgba(255,74,79,.1);border-color:rgba(255,74,79,.4)}
.pedido-ok button{color:var(--blue2);font-weight:700;text-decoration:underline}
.eta{display:grid;gap:4px;margin:20px auto 0;max-width:420px;padding:14px 16px;border-radius:14px;border:1px dashed rgba(255,201,60,.45);background:rgba(255,201,60,.07);font-size:.88rem;color:var(--muted)}
.eta b{color:#ffc93c}
.eta__state{font-weight:700;color:#ffc93c;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:760px){
  .modal{padding:0;place-items:end center}
  .modal__card{grid-template-columns:1fr;max-height:94vh;border-radius:22px 22px 0 0}
  .modal__side{border-right:0;border-bottom:1px solid var(--line);padding:22px}
  .modal__side .modal__sum{display:none}
  .modal__total{margin-top:0;padding-top:0;border:0}
  .modal__main{padding:22px}
  .form{grid-template-columns:1fr}
}
