.customer-tier-badge{background:linear-gradient(135deg,#fff7e6 0%,#ffe8bf 100%);border-radius:18px;padding:18px;margin-bottom:24px;display:flex;align-items:center;gap:12px;border:1px solid rgba(245,158,11,0.32);box-shadow:0 12px 24px rgba(245,158,11,0.16);animation:slideDown 0.4s ease-out}.customer-tier-badge .tier-icon{font-size:32px;color:#d97706;filter:drop-shadow(0 2px 4px rgba(245,158,11,0.15))}.customer-tier-badge .tier-content{flex:1}.customer-tier-badge .tier-name{font-size:14px;color:#9a5c00;margin-bottom:6px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.customer-tier-badge .tier-name i{font-size:12px}.customer-tier-badge .tier-discount{font-size:18px;font-weight:700;color:#7c4a00;display:flex;align-items:center;gap:6px}.customer-tier-badge .tier-discount i{font-size:16px}.customer-tier-badge .tier-content::after{content:'Diskon tier otomatis dihitung ke total pembayaran.';display:block;margin-top:6px;font-size:12px;line-height:1.5;color:#8b5a15}.customer-tier-badge .tier-image{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,0.65);box-shadow:0 6px 14px rgba(245,158,11,0.18)}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.voucher-input-section{background:linear-gradient(135deg,#fcfdff 0%,#f3f7fb 100%);border:1px dashed rgba(124,58,237,0.28);border-radius:18px;padding:20px;margin-bottom:24px;transition:all 0.3s ease}.voucher-input-section:hover{border-color:#7c3aed;box-shadow:0 16px 26px rgba(124,58,237,0.08)}.voucher-label{font-size:14px;font-weight:600;color:#374151;margin-bottom:12px;display:flex;align-items:center;gap:8px}.voucher-label i{color:#9333ea;font-size:16px}.voucher-input-group{display:flex;gap:8px}.voucher-input{flex:1;padding:13px 16px;border:1px solid #d9e1ec;border-radius:12px;font-size:14px;font-weight:600;text-transform:uppercase;transition:all 0.3s ease;background:#fff}.voucher-input:focus{outline:none;border-color:#9333ea;box-shadow:0 0 0 3px rgba(147,51,234,0.1)}.voucher-input.error{border-color:#ef4444;animation:shake 0.4s ease}.voucher-input:disabled{background:#f3f4f6;cursor:not-allowed}.btn-apply-voucher{padding:12px 24px;background:linear-gradient(135deg,#9333ea 0%,#7c3aed 100%);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.3s ease;white-space:nowrap;display:flex;align-items:center;gap:6px}.btn-apply-voucher:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);transform:translateY(-2px);box-shadow:0 4px 12px rgba(147,51,234,0.3)}.btn-apply-voucher:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.btn-apply-voucher i.fa-spinner{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.voucher-message{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:13px;margin-top:12px;animation:slideDown 0.3s ease}.voucher-message.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.voucher-message.error i{color:#ef4444}.voucher-message.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.voucher-message.success i{color:#22c55e}.voucher-applied-badge{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:1px solid #6ee7b7;border-radius:16px;padding:16px;display:flex;align-items:center;justify-content:space-between;animation:scaleIn 0.3s ease}.voucher-applied-badge .badge-content{display:flex;align-items:center;gap:12px}.voucher-applied-badge .badge-content>i{font-size:24px;color:#059669;animation:checkPulse 1.5s ease infinite}@keyframes checkPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.voucher-applied-badge .badge-text{display:flex;flex-direction:column;gap:4px}.voucher-applied-badge .badge-text strong{font-size:15px;font-weight:700;color:#065f46}.voucher-applied-badge .badge-discount{font-size:13px;font-weight:600;color:#047857}.btn-remove-voucher{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d1d5db;border-radius:50%;cursor:pointer;transition:all 0.3s ease;padding:0}.btn-remove-voucher:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444;transform:rotate(90deg)}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}.price-breakdown{margin-bottom:16px;padding:16px 18px;background:rgba(255,255,255,0.85);border:1px solid rgba(25,60,118,0.08);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.6)}.price-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb;font-size:14px}.price-row.savings-row{background:linear-gradient(90deg,rgba(245,158,11,0.11) 0%,rgba(250,204,21,0.05) 100%);padding:10px 12px;border-radius:8px;margin:8px 0 0;border-bottom:none}.price-row:last-child{border-bottom:none}.price-row.tier-discount-row{background:linear-gradient(90deg,rgba(245,158,11,0.1) 0%,rgba(251,191,36,0.05) 100%);padding:10px 12px;border-radius:8px;margin:8px 0;border-bottom:none}.price-row.tier-discount-row .price-label{color:#d97706;font-weight:600;display:flex;align-items:center;gap:6px}.price-row.tier-discount-row .price-label i{font-size:14px}.price-row.tier-discount-row .price-value{color:#ea580c;font-weight:700}.price-row.discount-row{background:linear-gradient(90deg,rgba(34,197,94,0.1) 0%,rgba(74,222,128,0.05) 100%);padding:10px 12px;border-radius:8px;margin:8px 0;border-bottom:none}.price-row.discount-row .price-label{color:#16a34a;font-weight:600}.price-row.discount-row .price-value{color:#15803d;font-weight:700}.price-label{color:#6b7280;font-weight:500}.price-value{color:#111827;font-weight:600}.discount-value{color:#16a34a;font-weight:700}.savings-value{color:#f59e0b;font-weight:700}.free-payment-notice{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:2px solid #fbbf24;border-radius:12px;padding:16px;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;color:#92400e;animation:pulse 2s ease-in-out infinite}.free-payment-notice i{font-size:24px;color:#f59e0b}.partner-voucher-info{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:16px;padding:14px;margin-top:12px;display:flex;gap:12px;align-items:flex-start}.partner-voucher-icon{color:#f59e0b;font-size:18px;flex-shrink:0;margin-top:2px}.partner-voucher-title{font-size:13px;font-weight:700;color:#92400e;margin-bottom:4px}.partner-voucher-pill{display:inline-flex;align-items:center;gap:4px;background:#f59e0b;color:#fff;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;margin-left:6px}.partner-voucher-copy{font-size:12px;color:#78350f;line-height:1.6}.partner-voucher-copy span{color:#92400e}.points-estimate-card{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;border-radius:16px;padding:14px;margin-top:12px;display:flex;align-items:center;gap:12px}.points-estimate-icon{color:#7c3aed;font-size:18px;flex-shrink:0}.points-estimate-body{flex:1;min-width:0}.points-estimate-label{font-size:12px;color:#5b21b6;font-weight:700;margin-bottom:3px}.points-estimate-value{font-size:20px;font-weight:800;color:#4c1d95;line-height:1.25}.points-estimate-pill{display:inline-flex;align-items:center;gap:4px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;border:1px solid #fde68a;margin-left:4px}.points-estimate-compare{font-size:11px;color:#5b21b6;text-align:right;flex-shrink:0}.points-estimate-compare span{text-decoration:line-through;color:#8b5cf6}@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 4px 12px rgba(251,191,36,0.3)}50%{transform:scale(1.02);box-shadow:0 6px 16px rgba(251,191,36,0.4)}}@media (max-width:768px){.customer-tier-badge{padding:12px}.customer-tier-badge .tier-icon{font-size:24px}.customer-tier-badge .tier-discount{font-size:16px}.customer-tier-badge .tier-image{width:48px;height:48px}.voucher-input-section{padding:16px}.voucher-input-group{flex-direction:column}.btn-apply-voucher{width:100%;justify-content:center}.free-payment-notice{font-size:14px;padding:12px}.free-payment-notice i{font-size:20px}.partner-voucher-info,.points-estimate-card{border-radius:14px}}@media (max-width:576px){.voucher-applied-badge{flex-direction:column;gap:12px;text-align:center}.voucher-applied-badge .badge-content{width:100%;justify-content:center}.partner-voucher-info,.points-estimate-card{flex-direction:column;text-align:left}.points-estimate-compare{text-align:left}}