:root{--bg-color:#0f172a;--bg-darker:#0b1120;--bg-card:#131c31;--text-main:#fff;--text-muted:#94a3b8;--text-secondary:#cbd5e1;--primary:#dfbb00;--primary-hover:#facc15;--primary-dim:rgba(223,187,0,.15);--secondary:#1e293b;--secondary-hover:#334155;--accent:#f59e0b;--green:#10b981;--green-dim:rgba(16,185,129,.15);--red:#ef4444;--blue:#3b82f6;--purple:#8b5cf6;--glass-bg:rgba(255,255,255,.03);--glass-border:rgba(255,255,255,.08);--border-active:rgba(223,187,0,.5);--font-family:'Inter' , sans-serif;--radius:12px;--radius-lg:16px;--shadow:0 4px 24px rgba(0,0,0,.3);--shadow-glow:0 0 20px rgba(223,187,0,.4)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-darker)}::-webkit-scrollbar-thumb{background:var(--secondary-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}body{background-color:var(--bg-color);color:var(--text-main);font-family: var(--font-family);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}input,textarea,button,select{font-family: var(--font-family)}.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}.hidden{display:none!important}.checkout-header{background:rgba(11,17,32,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);padding:14px 0;position:sticky;top:0;z-index:100}.header-flex{display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.3rem;color:#fff;transition:opacity .3s}.logo:hover{opacity:.8}.logo-img{height:34px;width:auto;object-fit:contain}.logo-text{letter-spacing:.5px}.secure-badge{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--green);font-weight:600;background:var(--green-dim);padding:6px 14px;border-radius:20px;border:1px solid rgba(16,185,129,.3)}.secure-badge i{font-size:1.1rem}.checkout-progress{display:flex;align-items:center;justify-content:center;padding:30px 0 10px;gap:0}.progress-step{display:flex;align-items:center;gap:8px;opacity:.35;transition:all .4s ease}.progress-step.active{opacity:1}.progress-step.completed{opacity:.7}.step-dot{width:32px;height:32px;border-radius:50%;background:var(--secondary);border:2px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;transition:all .4s ease}.progress-step.active .step-dot{background:var(--primary);color:var(--bg-darker);border-color:var(--primary);box-shadow:0 0 15px rgba(223,187,0,.4)}.progress-step span{font-size:.85rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.progress-step.active span{color:var(--text-main)}.progress-line{width:60px;height:2px;background:var(--glass-border);margin:0 8px;transition:all .4s ease}.progress-line.active{background:linear-gradient(90deg,var(--primary),rgba(223,187,0,.3))}.checkout-main{flex:1;padding:30px 0 60px}.checkout-grid{display:grid;grid-template-columns:1fr 400px;gap:30px;align-items:start}.checkout-section{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:30px;margin-bottom:24px;animation:fadeSlideUp .5s ease forwards}@keyframes fadeSlideUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--glass-border)}.section-title i{font-size:1.5rem;color:var(--primary);background:var(--primary-dim);padding:8px;border-radius:10px}.section-title h2{font-size:1.2rem;font-weight:700}.form-group{margin-bottom:18px;flex:1}.form-row{display:flex;gap:16px}label{display:block;font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.required{color:var(--red)}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper i{position:absolute;left:14px;font-size:1.1rem;color:var(--text-muted);pointer-events:none;transition:color .3s}.input-wrapper input,.input-wrapper textarea{width:100%;padding:12px 14px 12px 44px;background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius);color:var(--text-main);font-size:.95rem;transition:all .3s ease;outline:none}.input-wrapper input::placeholder,.input-wrapper textarea::placeholder{color:rgba(148,163,184,.5)}.input-wrapper input:focus,.input-wrapper textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(223,187,0,.1)}.input-wrapper input:focus ~ i,
.input-wrapper:focus-within i {color:var(--primary)}.textarea-wrapper{align-items:flex-start}.textarea-wrapper i{top:14px;position:absolute}.textarea-wrapper textarea{resize:vertical;min-height:80px}.payment-methods{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.payment-option{cursor:pointer}.payment-option input[type="radio"]{display:none}.payment-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg-darker);border:2px solid var(--glass-border);border-radius:var(--radius);transition:all .3s ease}.payment-card:hover{border-color:rgba(223,187,0,.3);background:rgba(223,187,0,.03)}.payment-option.active .payment-card{border-color:var(--primary);background:rgba(223,187,0,.06);box-shadow:0 0 20px rgba(223,187,0,.08)}.payment-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.bank-icon{background:rgba(59,130,246,.15);color:var(--blue)}.momo-icon{background:rgba(168,38,107,.2);color:#d8247e}.zalo-icon{background:rgba(0,106,255,.15);color:#006aff}.payment-info{flex:1}.payment-info strong{display:block;font-size:.95rem;color:#fff}.payment-info span{font-size:.8rem;color:var(--text-muted)}.radio-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--glass-border);position:relative;flex-shrink:0;transition:all .3s}.payment-option.active .radio-dot{border-color:var(--primary)}.payment-option.active .radio-dot::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--primary);border-radius:50%}.payment-details{background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius);padding:24px;animation:fadeSlideUp .4s ease forwards}.qr-section{text-align:center;margin-bottom:20px}.qr-placeholder{width:180px;height:180px;margin:0 auto;background:#fff;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#64748b;font-size:.8rem;text-align:center}.qr-placeholder i{font-size:3rem;color:#94a3b8}.momo-qr{background:linear-gradient(135deg,#fff0f7,#fff)}.bank-info-card h4{font-size:1rem;margin-bottom:16px;color:var(--primary)}.bank-detail-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04);gap:12px}.bank-detail-row:last-of-type{border-bottom:none}.bank-detail-row.highlight{background:var(--primary-dim);margin:8px -12px;padding:12px;border-radius:8px;border:1px dashed rgba(223,187,0,.4)}.bank-label{font-size:.85rem;color:var(--text-muted);min-width:120px;flex-shrink:0}.bank-value{flex:1;font-weight:700;font-size:.95rem;word-break:break-all}.bank-detail-row.highlight .bank-value{color:var(--primary)}.copy-btn{background:var(--secondary);border:1px solid var(--glass-border);color:var(--text-muted);padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .2s;flex-shrink:0}.copy-btn:hover{background:var(--primary-dim);color:var(--primary);border-color:rgba(223,187,0,.3)}.copy-btn.copied{background:var(--green-dim);color:var(--green);border-color:rgba(16,185,129,.3)}.bank-note{display:flex;gap:8px;align-items:flex-start;margin-top:16px;padding:12px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);border-radius:8px;font-size:.85rem;color:var(--accent)}.bank-note i{font-size:1.1rem;flex-shrink:0;margin-top:2px}.qr-dynamic{width:220px;height:220px;border-radius:12px;background:#fff;display:block;margin:0 auto;box-shadow:0 4px 20px rgba(0,0,0,.3)}.qr-caption{margin-top:10px;font-size:.8rem;color:var(--text-muted)}.group-card{text-align:center;padding:10px 0 0}.group-icon-wrap{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:2rem;color:var(--bg-darker);box-shadow:0 0 25px rgba(223,187,0,.3)}.group-card h3{font-size:1.2rem;font-weight:800;margin-bottom:10px;color:#fff}.group-card>p{color:var(--text-muted);font-size:.9rem;margin-bottom:20px;max-width:500px;margin-left:auto;margin-right:auto}.group-card>p strong{color:var(--primary)}.group-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;text-align:left}.group-benefit-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:8px;font-size:.85rem;color:var(--text-secondary)}.group-benefit-item i{color:var(--green);font-size:1rem;flex-shrink:0}.group-qr-area{margin-bottom:20px}.group-qr-placeholder{width:280px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.3) , 0 0 0 3px rgba(223,187,0,.2)}.group-qr-placeholder i{font-size:3rem;color:#94a3b8}.group-qr-placeholder img{width:100%;height:auto;display:block;border-radius:12px}.group-qr-hint{display:block;margin-top:8px;font-size:.8rem;color:var(--text-muted)}.btn-join-group{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--bg-darker);font-weight:800;border-radius:12px;font-size:1.05rem;transition:all .3s;animation:pulseGlow 2.5s infinite}.btn-join-group:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(223,187,0,.4);color:var(--bg-darker)}.order-summary{position:sticky;top:80px}.summary-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:28px;animation:fadeSlideUp .6s ease forwards}.summary-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.summary-header i{font-size:1.3rem;color:var(--primary)}.summary-header h3{font-size:1.1rem;font-weight:700}.selected-package{background:linear-gradient(135deg,rgba(223,187,0,.08),rgba(245,158,11,.05));border:1px solid rgba(223,187,0,.2);border-radius:var(--radius);padding:18px;text-align:center;margin-bottom:20px}.pkg-badge{display:inline-block;padding:3px 12px;background:var(--primary);color:var(--bg-darker);border-radius:20px;font-size:.7rem;font-weight:800;text-transform:uppercase;margin-bottom:8px}.pkg-title{font-size:1.4rem;font-weight:800;color:#fff}.pkg-subtitle{font-size:.8rem;color:var(--text-muted);margin-top:2px}.summary-features{margin-bottom:20px}.feature-item{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.9rem;color:var(--text-secondary)}.feature-item i{color:var(--green);font-size:1rem;flex-shrink:0}.summary-divider{height:1px;background:var(--glass-border);margin:16px 0}.coupon-area{margin:4px 0}.coupon-input-wrap{display:flex;gap:8px}.coupon-input-wrap input{flex:1;padding:10px 14px;background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:8px;color:#fff;font-size:.9rem;outline:none;transition:border-color .3s}.coupon-input-wrap input:focus{border-color:var(--primary)}.coupon-btn{padding:10px 16px;background:var(--secondary);color:var(--text-muted);border:1px solid var(--glass-border);border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:all .3s}.coupon-btn:hover{background:var(--primary-dim);color:var(--primary);border-color:rgba(223,187,0,.3)}.coupon-message{margin-top:8px;font-size:.85rem;padding:8px 12px;border-radius:6px}.coupon-message.success{background:var(--green-dim);color:var(--green);border:1px solid rgba(16,185,129,.2)}.coupon-message.error{background:rgba(239,68,68,.1);color:var(--red);border:1px solid rgba(239,68,68,.2)}.price-breakdown{margin:4px 0}.price-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.9rem;color:var(--text-muted)}.original-price{text-decoration:line-through}.discount-amount{color:var(--green);font-weight:600}.total-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0 16px}.total-row span:first-child{font-size:1rem;font-weight:600}.total-price{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-action-area{margin-top:30px;padding-top:24px;border-top:1px dashed var(--glass-border)}.form-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.form-total-row span:first-child{font-size:1.1rem;font-weight:600;color:var(--text-secondary)}.form-total-price{font-size:1.8rem;font-weight:800;color:var(--primary);text-shadow:0 0 15px rgba(223,187,0,.2)}.btn-checkout{width:100%;padding:18px;background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--bg-darker);border:none;border-radius:var(--radius);font-size:1.15rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .3s;box-shadow:0 10px 25px rgba(223,187,0,.2)}.btn-checkout:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(223,187,0,.3)}.guarantee{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:.85rem;color:var(--green);background:rgba(16,185,129,.05);padding:10px;border-radius:8px}.guarantee i{font-size:1rem;flex-shrink:0;margin-top:1px}.trust-badges{display:flex;justify-content:center;gap:20px;margin-top:16px}.trust-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-muted);font-weight:600}.trust-item i{font-size:.9rem;color:var(--primary)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}.modal-content{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:40px;max-width:480px;width:100%;text-align:center;animation:scaleIn .4s ease}@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}.success-animation{margin-bottom:20px}.success-icon{width:80px;height:80px;border-radius:50%;background:var(--green-dim);display:flex;align-items:center;justify-content:center;margin:0 auto;animation:bounceIn .6s ease}.success-icon i{font-size:3rem;color:var(--green)}@keyframes bounceIn {
    0% { transform: scale(0); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}.modal-content h2{font-size:1.5rem;margin-bottom:12px;color:#fff}.modal-content p{color:var(--text-muted);font-size:.95rem;margin-bottom:8px}.modal-content p strong{color:var(--primary)}.modal-desc{font-size:.9rem!important}.modal-actions{margin-top:24px}.payment-modal-content{max-width:550px}.qr-container-modal{background:#fff;padding:20px;border-radius:12px;margin-bottom:24px;text-align:center;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.2)}.qr-container-modal img{max-width:250px;height:auto;display:block;margin:0 auto}.payment-loading{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:12px}.spinner{width:24px;height:24px;border:3px solid rgba(59,130,246,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin {
    to { transform: rotate(360deg); }
}.payment-loading span{font-size:.85rem;color:#64748b;font-weight:500}.bank-info-modal{background:var(--bg-darker);padding:20px;border-radius:12px;border:1px solid var(--border-active);margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.9rem}.info-row:last-child{border-bottom:none}.info-row span{color:var(--text-muted)}.info-row strong{color:#fff}.highlight-row strong{color:var(--primary);font-size:1.1rem}.payment-instruction{display:flex;gap:10px;padding:12px;background:rgba(59,130,246,.05);border-radius:8px;font-size:.85rem;color:var(--blue);line-height:1.4}.btn-cancel-payment{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:8px 16px;transition:color .3s}.btn-cancel-payment:hover{color:var(--red)}.btn-zalo-modal{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#0068ff,#0056d2);color:#fff;border-radius:12px;font-weight:700;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;box-shadow:0 4px 15px rgba(0,104,255,.3);text-decoration:none;width:100%}.btn-zalo-modal:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,104,255,.4);background:linear-gradient(135deg,#0075ff,#0060e6);color:#fff}.btn-zalo-modal i{font-size:1.2rem}.checkout-footer{padding:20px 0;border-top:1px solid var(--glass-border);text-align:center;color:var(--text-muted);font-size:.85rem}@media (max-width:900px){.checkout-grid{grid-template-columns:1fr}.order-summary{position:static;order:-1}.summary-card{margin-bottom:20px}}@media (max-width:600px){.form-row{flex-direction:column;gap:0}.checkout-section{padding:20px}.summary-card{padding:20px}.checkout-progress{flex-wrap:wrap;gap:6px}.progress-step span{display:none}.progress-line{width:30px}.header-flex{flex-direction:column;gap:8px}.total-price{font-size:1.5rem}.bank-label{min-width:90px}}