/* Guided Quiz Modal — Corvanta Financial Services */
.quiz-modal-bg{display:none;position:fixed;inset:0;background:rgba(4,12,26,.9);backdrop-filter:blur(10px);z-index:99998;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.quiz-modal-bg.open{display:flex}
.quiz-modal-box{background:#fff;border-top:4px solid #22c55e;border-radius:20px;padding:36px 32px 32px;width:100%;max-width:520px;position:relative;box-shadow:0 32px 80px rgba(0,0,0,.4);animation:quizIn .25s ease}
@keyframes quizIn{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}
.quiz-close{position:absolute;top:14px;right:14px;background:none;border:none;color:#9ca3af;font-size:24px;line-height:1;cursor:pointer;padding:4px 8px}
.quiz-close:hover{color:#111827}

.quiz-progress{height:4px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:24px}
.quiz-progress-bar{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .3s ease}

.quiz-ico{display:block;text-align:center;font-size:2.5rem;margin-bottom:12px;line-height:1}
.quiz-title{font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:800;text-align:center;margin:0 0 8px;color:#111827;line-height:1.3}
.quiz-subtitle{font-size:.875rem;color:#6b7280;text-align:center;margin:0 0 24px;line-height:1.6}

.quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.quiz-opt{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#f8faff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;text-align:left;font-family:inherit;font-size:15px;color:#111827;transition:all .15s ease;width:100%}
.quiz-opt:hover{border-color:#22c55e;background:#f0fdf4;transform:translateY(-1px)}
.quiz-opt:active{transform:translateY(0)}
.quiz-opt-icon{font-size:1.5rem;flex-shrink:0;line-height:1}
.quiz-opt-text{font-weight:600;flex:1}
.quiz-opt-hint{font-size:.75rem;color:#9ca3af;font-weight:400;margin-left:auto;padding-left:8px;text-align:right}

.quiz-input{width:100%;background:#f8faff;border:2px solid #e5e7eb;border-radius:12px;padding:14px 16px;color:#111827;font-size:15px;font-family:inherit;outline:none;margin-bottom:12px;transition:border-color .2s;box-sizing:border-box}
.quiz-input:focus{border-color:#22c55e;background:#fff}
.quiz-input::placeholder{color:#9ca3af}

.quiz-submit{width:100%;padding:16px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:50px;font-family:'Montserrat',sans-serif;font-size:15px;font-weight:800;cursor:pointer;transition:all .25s ease;margin-top:4px;box-shadow:0 4px 14px rgba(34,197,94,.25)}
.quiz-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(34,197,94,.4)}
.quiz-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.quiz-disc{font-size:11px;color:#9ca3af;text-align:center;margin-top:14px;line-height:1.5}

.quiz-back{background:none;border:none;color:#6b7280;font-size:13px;font-family:inherit;cursor:pointer;margin-top:14px;padding:8px 4px;display:block;margin-left:auto;margin-right:auto}
.quiz-back:hover{color:#111827}

/* Result screen */
.quiz-rec-box{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;border-radius:16px;padding:22px 20px;margin:18px 0;text-align:center}
.quiz-rec-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#16a34a;font-weight:700;margin-bottom:8px}
.quiz-rec-service{font-family:'Montserrat',sans-serif;font-size:1.3rem;font-weight:800;color:#111827;margin-bottom:6px}
.quiz-rec-price{font-size:1.5rem;font-weight:800;color:#16a34a;margin-bottom:8px}
.quiz-rec-desc{font-size:.85rem;color:#4b5563;line-height:1.5}
.quiz-result-msg{text-align:center;font-size:.9rem;color:#6b7280;margin:16px 0}
.quiz-cta{display:block;text-align:center;padding:15px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;text-decoration:none;border-radius:50px;font-family:'Montserrat',sans-serif;font-size:15px;font-weight:800;transition:all .25s;box-shadow:0 4px 14px rgba(34,197,94,.25)}
.quiz-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(34,197,94,.4)}
.quiz-cta-secondary{display:block;width:100%;background:none;border:none;color:#9ca3af;font-size:13px;font-family:inherit;cursor:pointer;margin-top:14px;padding:8px;text-decoration:underline}
.quiz-cta-secondary:hover{color:#6b7280}

@media(max-width:520px){
  .quiz-modal-box{padding:28px 20px 24px;border-radius:16px}
  .quiz-title{font-size:1.25rem}
  .quiz-opt{padding:14px 14px;gap:10px}
  .quiz-opt-hint{display:none}
  .quiz-opt-text{font-size:14px}
  .quiz-ico{font-size:2rem}
}

/* ═══════════════════════════════════════════════════════════
   MOBILE ENHANCEMENTS — v2
   Fixes: modal overflow, iOS input zoom, small tap targets
   ═══════════════════════════════════════════════════════════ */

/* Prevent iOS auto-zoom on input focus (requires 16px+) */
@media(max-width:520px){
  .quiz-input,
  .quiz-modal-box select,
  .quiz-modal-box input[type="text"],
  .quiz-modal-box input[type="tel"],
  .quiz-modal-box input[type="email"]{
    font-size:16px;   /* iOS no longer zooms */
    padding:13px 14px;
  }
}

/* Small phones — ensure modal fits and is scrollable */
@media(max-width:480px){
  .quiz-modal-bg{
    padding:8px;
    align-items:flex-start;    /* Top-align so tall modals aren't cut */
    padding-top:20px;
    padding-bottom:20px;
  }
  .quiz-modal-box{
    padding:24px 18px 20px;
    border-radius:14px;
    max-height:calc(100vh - 40px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;   /* Smooth iOS scrolling */
  }
  .quiz-title{font-size:1.15rem;line-height:1.25}
  .quiz-subtitle{font-size:13px;margin-bottom:18px}
  .quiz-opt{padding:12px 12px;gap:8px;font-size:13.5px}
  .quiz-opt-icon{font-size:1.15rem}
  .quiz-opt-text{font-size:13.5px;line-height:1.35}
  .quiz-opt-hint{display:none}          /* Hide hints on small screens */
  .quiz-ico{font-size:1.8rem;margin-bottom:8px}
  .quiz-close{
    font-size:26px;                      /* Bigger tap target */
    padding:8px 12px;
    top:10px;
    right:10px;
  }
  .quiz-submit{
    padding:15px;
    font-size:15px;
    min-height:50px;                     /* Comfortable tap target */
  }
  .quiz-back{
    font-size:14px;
    padding:12px 8px;
    min-height:44px;                     /* iOS minimum */
  }
  .quiz-disc{font-size:12px}
  .quiz-rec-box{padding:18px 16px}
  .quiz-rec-service{font-size:1.15rem}
  .quiz-rec-price{font-size:1.35rem}
  .quiz-cta{padding:15px;font-size:14px;min-height:50px}
}

/* Even smaller — iPhone SE and similar (320px) */
@media(max-width:360px){
  .quiz-modal-box{padding:20px 14px 18px}
  .quiz-title{font-size:1.05rem}
  .quiz-opt{padding:10px 10px}
  .quiz-opt-text{font-size:13px}
}
