/* ═══ VISA WIZARD — sàng lọc rủi ro → phân loại → chọn quốc gia → checklist ═══ */
#visa-wizard{background:var(--beige,#F7F3EC);padding:3rem 1.5rem}
.wiz-container{max-width:900px;margin:0 auto}

.wiz-card{background:#fff;border:2px solid var(--accent,#c9a35c);border-radius:20px;padding:2rem;position:relative}
.wiz-badge{position:absolute;top:-13px;left:28px;background:#2d5f3f;color:#fff;font-size:.72rem;font-weight:700;padding:.3rem .9rem;border-radius:14px}

.wiz-intro{display:flex;align-items:center;gap:1rem;margin-bottom:1.3rem;text-align:left}
.wiz-intro-icon{width:48px;height:48px;border-radius:50%;background:var(--beige,#F0EBE0);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.wiz-intro h2{margin:0;font-size:1.2rem;color:var(--navy,#1a2744)}
.wiz-intro p{margin:.2rem 0 0;font-size:.85rem;color:#666}

.wiz-reassure{display:flex;gap:.6rem;align-items:flex-start;background:#EAF1FB;border-radius:10px;padding:.75rem .95rem;margin-bottom:1.4rem}
.wiz-reassure-icon{flex-shrink:0;font-size:1rem;margin-top:.05rem}
.wiz-reassure p{margin:0;font-size:.78rem;color:var(--navy,#1a2744);line-height:1.55}

.wiz-stepper{position:relative;display:flex;justify-content:space-between;margin-bottom:1.8rem}
.wiz-stepper-line{position:absolute;top:18px;left:36px;right:36px;height:2px;background:var(--beige-dk,#D8D0C4);z-index:0}
.wiz-stepper-line-fill{height:100%;background:var(--accent,#c9a35c);width:0%;transition:width .3s ease}
.wiz-stepper-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;position:relative;z-index:1;flex:1}
.wiz-stepper-dot{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid var(--beige-dk,#D8D0C4);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s}
.wiz-stepper-dot.active{background:var(--navy,#1a2744);border-color:var(--navy,#1a2744)}
.wiz-stepper-dot.done{background:var(--accent,#c9a35c);border-color:var(--accent,#c9a35c)}
.wiz-stepper-label{font-size:.7rem;font-weight:600;color:#999;text-align:center;transition:color .2s}
.wiz-stepper-label.active{color:var(--navy,#1a2744)}

.wiz-privacy-note{display:flex;align-items:center;justify-content:center;gap:.4rem;border-top:1px solid var(--beige,#eee);padding-top:1rem;margin-top:1.5rem}
.wiz-privacy-note span{font-size:.72rem;color:#999}

.wiz-panel{padding-top:.2rem}
.wiz-panel[hidden]{display:none}
.wiz-panel h2{margin:0 0 .5rem;font-size:1.3rem;color:var(--navy,#1a2744)}
.wiz-panel .wiz-sub{color:#666;font-size:.9rem;margin-bottom:1.5rem}

.wiz-q{margin-bottom:1.5rem}
.wiz-q p{font-weight:600;margin-bottom:.6rem}
.wiz-btn-row{display:flex;gap:.6rem;flex-wrap:wrap}
.wiz-btn{padding:.6rem 1.3rem;border-radius:24px;border:1.5px solid var(--beige-dk,#D8D0C4);background:#fff;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--navy,#1a2744);transition:all .15s}
.wiz-btn:hover{border-color:var(--navy,#1a2744)}
.wiz-btn.selected{background:var(--navy,#1a2744);color:#fff;border-color:var(--navy,#1a2744)}
.wiz-btn.risk-yes.selected{background:#c0392b;border-color:#c0392b}

.wiz-nav{display:flex;justify-content:space-between;margin-top:2rem}
.wiz-back{background:none;border:none;color:#888;cursor:pointer;font-size:.88rem}
.wiz-back:hover{color:var(--navy,#1a2744)}

/* Risk result — no fake checklist for flagged cases */
.wiz-risk-result{text-align:center;padding:2rem 1rem}
.wiz-risk-result .wiz-risk-icon{font-size:2.5rem;margin-bottom:1rem}
.wiz-risk-result h3{color:var(--navy,#1a2744);margin-bottom:.8rem}
.wiz-risk-result p{color:#555;max-width:480px;margin:0 auto 1.5rem;line-height:1.6}

/* Group tabs (Mỹ/Âu/Úc/Hàn-Trung-Nhật/Còn lại) */
.wiz-groups{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.wiz-group-tab{padding:.5rem 1rem;border-radius:20px;border:1.5px solid var(--beige-dk,#D8D0C4);background:#fff;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--navy,#1a2744)}
.wiz-group-tab.selected{background:var(--accent,#c9a35c);border-color:var(--accent,#c9a35c);color:#fff}

.wiz-visa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}
.wiz-visa-card{border:1.5px solid var(--beige-dk,#D8D0C4);border-radius:12px;padding:1rem;cursor:pointer;transition:all .15s;background:#fff}
.wiz-visa-card:hover{border-color:var(--navy,#1a2744);transform:translateY(-2px)}
.wiz-visa-card .wiz-flag{font-size:1.4rem;margin-right:.4rem}
.wiz-visa-card .wiz-visa-name{font-weight:700;font-size:.92rem;color:var(--navy,#1a2744)}
.wiz-visa-empty{grid-column:1/-1;text-align:center;color:#888;padding:2rem;font-size:.9rem}

/* Checklist + progress */
.wiz-progress-wrap{margin-bottom:1.5rem}
.wiz-progress-label{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--navy,#1a2744);margin-bottom:.4rem}
.wiz-progress-track{background:var(--beige,#F0EBE0);border-radius:20px;height:10px;overflow:hidden}
.wiz-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent,#c9a35c),#e0b96e);border-radius:20px;transition:width .3s ease;width:0%}

.wiz-source-note{font-size:.78rem;color:#999;margin-bottom:1.2rem;font-style:italic}
.wiz-checklist-items{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.5rem}
.wiz-item{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border-radius:10px;background:var(--beige,#F7F3EC);cursor:pointer}
.wiz-item input[type=checkbox]{margin-top:.2rem;width:18px;height:18px;flex-shrink:0;cursor:pointer}
.wiz-item span{font-size:.88rem;line-height:1.5;color:#333}
.wiz-item.checked span{color:#999;text-decoration:line-through}

.wiz-complete-banner{display:flex;align-items:center;gap:.8rem;background:linear-gradient(135deg,#2d5f3f,#1f4a30);color:#fff;padding:1.1rem 1.3rem;border-radius:14px;margin-top:1.2rem}
.wiz-complete-banner .wiz-complete-icon{font-size:1.8rem;flex-shrink:0}
.wiz-complete-banner p{margin:0;font-size:.88rem;line-height:1.5}
.wiz-cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}
.wiz-cta-btn{flex:1;min-width:220px;text-align:center;padding:.9rem 1.2rem;border-radius:12px;font-weight:700;font-size:.9rem;text-decoration:none;display:block;transition:all .15s}
.wiz-cta-voice{background:var(--navy,#1a2744);color:#fff}
.wiz-cta-voice:hover{opacity:.9}
.wiz-cta-contact{background:var(--accent,#c9a35c);color:#fff}
.wiz-cta-contact:hover{opacity:.9}

@media (max-width:640px){
  .wiz-card{padding:1.4rem}
  .wiz-stepper-label{font-size:.62rem}
  .wiz-cta-row{flex-direction:column}
}
