*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Sora',sans-serif;background:#f7f9fc;color:#111;-webkit-font-smoothing:antialiased}
:root{--blue:#006AFF;--blue-dk:#0052CC;--blue-lt:#EEF5FF;--border:#e5e9f0;--black:#0a0a0a}

/* NAV MINIMAL */
.checkout-nav{background:#fff;border-bottom:1px solid var(--border);padding:0 5%;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.secure-badge{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#888;font-weight:500}
.secure-badge svg{flex-shrink:0}

/* PROGRESS BAR */
.progress-bar{background:#fff;border-bottom:1px solid var(--border);padding:1rem 5%}
.progress-inner{max-width:680px;margin:0 auto;display:flex;align-items:center;gap:0}
.prog-step{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:#ccc}
.prog-step.active{color:var(--blue)}
.prog-step.done{color:#22c55e}
.prog-num{width:24px;height:24px;border-radius:50%;background:#eee;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;flex-shrink:0}
.prog-step.active .prog-num{background:var(--blue);color:#fff}
.prog-step.done .prog-num{background:#22c55e;color:#fff}
.prog-line{flex:1;height:2px;background:#eee;margin:0 .5rem}
.prog-line.done{background:#22c55e}

/* MAIN LAYOUT */
.checkout-wrap{max-width:1000px;margin:0 auto;padding:2.5rem 5%;display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}
@media(max-width:800px){.checkout-wrap{grid-template-columns:1fr}.sidebar{order:-1}}

/* FORM SECTIONS */
.form-section{background:#fff;border-radius:16px;border:1px solid var(--border);padding:2rem;margin-bottom:1.5rem}
.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.section-num{width:28px;height:28px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:#fff;flex-shrink:0}
.section-header h2{font-size:1.05rem;font-weight:700;color:#111}
.section-header p{font-size:.82rem;color:#888;margin-top:.1rem}

/* ZONA INPUT */
.zona-field{position:relative;margin-bottom:1rem}
.zona-field input{width:100%;border:1.5px solid var(--border);border-radius:10px;padding:.85rem 1rem;font-size:.95rem;font-family:'Sora',sans-serif;color:#111;outline:none;transition:border-color .2s}
.zona-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,106,255,.08)}
.zona-field input::placeholder{color:#bbb}
.zona-status{display:none;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;padding:.6rem .85rem;border-radius:8px;margin-top:.5rem}
.zona-status.available{display:flex;background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}
.zona-status.warning{display:flex;background:#fffbeb;color:#d97706;border:1px solid #fde68a}
.zona-status.full{display:flex;background:#fef2f2;color:#dc2626;border:1px solid #fecaca}


/* Hover */

/* PLAN CARDS */
.plan-cards{display:flex;flex-direction:column;gap:.85rem}
.plan-card{border:1.5px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;cursor:pointer;transition:all .2s;position:relative;display:flex;align-items:center;gap:1rem}
.plan-card:hover{border-color:var(--blue);background:var(--blue-lt)}
.plan-card.selected{border-color:var(--blue);background:var(--blue-lt);box-shadow:0 0 0 3px rgba(0,106,255,.08)}
.plan-radio{width:20px;height:20px;border-radius:50%;border:2px solid #ddd;flex-shrink:0;transition:all .2s;display:flex;align-items:center;justify-content:center}
.plan-card.selected .plan-radio{border-color:var(--blue);background:var(--blue)}
.plan-card.selected .plan-radio::after{content:'';width:8px;height:8px;background:#fff;border-radius:50%}
.plan-info{flex:1}
.plan-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}
.plan-name{font-weight:700;font-size:.95rem;color:#111}
.plan-badge{background:var(--blue);color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .55rem;border-radius:99px}
.plan-tipo{font-size:.78rem;color:#888}
.plan-price-wrap{text-align:right;flex-shrink:0}
.plan-price{font-size:1.4rem;font-weight:800;color:#111;letter-spacing:-.03em;line-height:1}
.plan-per{font-size:.75rem;color:#888;font-weight:500}
.plan-day{font-size:.72rem;color:var(--blue);font-weight:600;margin-top:.15rem}
.plan-urgency{font-size:.72rem;color:#d97706;font-weight:600;margin-top:.2rem}

/* FORM FIELDS */
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:600px){.field-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.35rem}
.field.full{grid-column:span 2}
@media(max-width:600px){.field.full{grid-column:span 1}}
.field label{font-size:.82rem;font-weight:600;color:#444}
.field input, .field select{border:1.5px solid var(--border);border-radius:10px;padding:.8rem 1rem;font-size:.92rem;font-family:'Sora',sans-serif;color:#111;outline:none;transition:border-color .2s;background:#fff}
.field input:focus, .field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,106,255,.08)}
.field-hint{font-size:.75rem;color:#aaa;margin-top:.2rem}

/* PAYMENT */
.payment-methods{display:flex;gap:.75rem;margin-bottom:1.5rem}
.pay-method{flex:1;border:1.5px solid var(--border);border-radius:10px;padding:.85rem;text-align:center;cursor:pointer;transition:all .2s;font-size:.82rem;font-weight:600;color:#666}
.pay-method.active{border-color:var(--blue);background:var(--blue-lt);color:var(--blue)}
.pay-method svg{display:block;margin:0 auto .35rem}
.stripe-mock{background:#f7f9fc;border:1.5px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1rem}
.stripe-mock-label{font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}
.card-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}
.mock-input{border:1.5px solid var(--border);border-radius:8px;padding:.7rem .9rem;font-size:.88rem;font-family:'Sora',sans-serif;color:#111;background:#fff;width:100%;outline:none}
.mock-input:focus{border-color:var(--blue)}

/* CHECKBOX */
.checkbox-wrap{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}
.checkbox-wrap input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--blue)}
.checkbox-wrap label{font-size:.82rem;color:#666;line-height:1.5}
.checkbox-wrap a{color:var(--blue);text-decoration:none}

/* SUBMIT BTN */
.submit-btn{width:100%;background:var(--blue);color:#fff;font-family:'Sora',sans-serif;font-size:1rem;font-weight:700;padding:1rem;border-radius:12px;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}
.submit-btn:hover{background:var(--blue-dk);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,106,255,.3)}
.submit-microcopy{text-align:center;font-size:.78rem;color:#aaa;margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:1rem}

/* GARANTÍA */
.garantia{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:1.25rem;display:flex;align-items:flex-start;gap:.85rem;margin-top:1rem}
.garantia strong{color:#16a34a;font-size:.9rem;display:block;margin-bottom:.2rem}
.garantia p{font-size:.82rem;color:#166534}

/* MINI FAQ */
.faq-item{border-bottom:1px solid var(--border);padding:.9rem 0}
.faq-item:last-child{border-bottom:none}
.faq-q{font-size:.88rem;font-weight:600;color:#111;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-a{font-size:.84rem;color:#666;margin-top:.5rem;line-height:1.6;display:none}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-arrow{transform:rotate(180deg)}
.faq-arrow{transition:transform .2s;flex-shrink:0}

/* SIDEBAR */
.sidebar{position:sticky;top:80px}
.sidebar-box{background:#fff;border-radius:16px;border:1px solid var(--border);padding:1.5rem;margin-bottom:1rem}
.sidebar-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin-bottom:1rem}
.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;padding:.4rem 0;border-bottom:1px solid var(--border)}
.summary-row:last-child{border-bottom:none;font-weight:700;font-size:.95rem;padding-top:.6rem}
.summary-row span:first-child{color:#666}
.summary-row span:last-child{color:#111;font-weight:600}
.summary-total span:last-child{color:var(--blue);font-size:1.1rem}
.sidebar-urgency{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:1rem;text-align:center}
.sidebar-urgency strong{color:#dc2626;font-size:.88rem;display:block;margin-bottom:.2rem}
.sidebar-urgency span{color:#991b1b;font-size:.78rem}
.trust-icons{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}
.trust-icon{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:.7rem;color:#888;font-weight:500}

/* SUCCESS PAGE */
#success-page{display:none;min-height:100vh;background:#f7f9fc;padding:4rem 5%}
.success-wrap{max-width:560px;margin:0 auto;text-align:center}
.success-icon{width:72px;height:72px;background:#f0fdf4;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.success-wrap h1{font-size:2rem;font-weight:800;color:#111;letter-spacing:-.03em;margin-bottom:.75rem}
.success-wrap p{color:#666;font-size:1rem;line-height:1.7;margin-bottom:2rem}
.success-box{background:#fff;border-radius:16px;border:1px solid var(--border);padding:1.5rem;margin-bottom:1.5rem;text-align:left}
.success-box .row{display:flex;justify-content:space-between;font-size:.88rem;padding:.4rem 0;border-bottom:1px solid var(--border)}
.success-box .row:last-child{border-bottom:none;font-weight:700}
.success-ctas{display:flex;flex-direction:column;gap:.75rem}
.btn-wa{display:flex;align-items:center;justify-content:center;gap:.6rem;background:#25D366;color:#fff;font-family:'Sora',sans-serif;font-size:1rem;font-weight:700;padding:.9rem 2rem;border-radius:12px;text-decoration:none;transition:all .2s}
.btn-wa:hover{background:#1ebe5d;transform:translateY(-1px)}
.btn-secondary{display:flex;align-items:center;justify-content:center;gap:.6rem;background:#fff;color:#111;font-family:'Sora',sans-serif;font-size:.95rem;font-weight:600;padding:.85rem 2rem;border-radius:12px;text-decoration:none;border:1.5px solid var(--border);transition:all .2s}
.btn-secondary:hover{border-color:var(--blue);color:var(--blue)}
