/* CFA Quick Enroll modal (inc/cfa-quick-form.php) */
.cfa-qf[hidden] { display: none !important; }
.cfa-qf {
  position: fixed; inset: 0; z-index: 1000000;
  display: flex; align-items: center; justify-content: center;
  padding: 16px; background: rgba(20,8,35,.78); overflow-y: auto;
  animation: cfaQfFade .2s ease both;
}
@keyframes cfaQfFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cfaQfPop  { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }
.cfa-qf__box {
  position: relative; width: 100%; max-width: 440px; margin: auto;
  background: #fff; border-radius: 22px; overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.45); animation: cfaQfPop .3s cubic-bezier(.34,1.4,.64,1) both;
}
.cfa-qf__x {
  position: absolute; top: 12px; right: 12px; z-index: 2; width: 34px; height: 34px;
  border-radius: 50%; border: 0; cursor: pointer; background: rgba(255,255,255,.18); color: #fff; font-size: .95rem;
}
.cfa-qf__x:hover { background: var(--primary); }
.cfa-qf__head { background: linear-gradient(135deg, var(--secondary), var(--secondary-light)); color: #fff; padding: 24px 26px 20px; margin: -0px -26px 18px; }
.cfa-qf__tag { display: inline-block; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: rgba(255,255,255,.16); padding: 4px 12px; border-radius: 50px; margin-bottom: 8px; }
.cfa-qf__head h2 { font-family: var(--font-heading); color: #fff; font-size: 1.45rem; margin: 0 0 4px; }
.cfa-qf__head p { margin: 0; font-size: .88rem; color: rgba(255,255,255,.8); }
.cfa-qf__form { padding: 0 26px 22px; }
.cfa-qf__f { margin-bottom: 13px; }
.cfa-qf__f label { display: block; font-weight: 700; font-size: .8rem; color: var(--secondary); margin-bottom: 5px; }
.cfa-qf__f label b { color: var(--primary); }
.cfa-qf__f input, .cfa-qf__f select {
  width: 100%; padding: 11px 13px; border: 2px solid var(--gray-200); border-radius: 8px;
  background: var(--light-bg); font-family: var(--font-body); font-size: .93rem; color: var(--text); outline: none;
}
.cfa-qf__f input:focus, .cfa-qf__f select:focus { border-color: var(--primary); background: #fff; box-shadow: 0 0 0 4px rgba(212,77,26,.1); }
.cfa-qf__f.has-error input, .cfa-qf__f.has-error select { border-color: #d93025; background: #fff6f5; }
.cfa-qf__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cfa-qf__msg { display: none; margin: 4px 0 12px; padding: 10px 14px; border-radius: 10px; font-weight: 700; font-size: .85rem; background: #fdecea; color: #b3261e; border: 1px solid #f5c2be; }
.cfa-qf__msg.is-show { display: block; }
.cfa-qf__submit { width: 100%; justify-content: center; padding: 14px; font-size: 1rem; }
.cfa-qf__submit[disabled] { opacity: .75; cursor: wait; }
.cfa-qf__full { display: block; text-align: center; margin-top: 14px; font-size: .8rem; color: var(--text-light); text-decoration: none; }
.cfa-qf__full b { color: var(--primary); }
.cfa-qf__ok { text-align: center; padding: 44px 26px 30px; }
.cfa-qf__ok[hidden] { display: none !important; }
.cfa-qf__tick { width: 70px; height: 70px; margin: 0 auto 14px; border-radius: 50%; background: #e6f7f1; color: #0e9f85; font-size: 1.8rem; display: flex; align-items: center; justify-content: center; }
.cfa-qf__ok h2 { font-family: var(--font-heading); color: var(--secondary); font-size: 1.35rem; margin-bottom: .5rem; }
.cfa-qf__ok p { color: var(--text-light); font-size: .92rem; margin-bottom: .6rem; }
.cfa-qf__ref { display: inline-block; margin: 4px 0 12px; padding: 7px 16px; border-radius: 50px; background: var(--light-bg); border: 1px dashed var(--primary); color: var(--secondary); font-size: .88rem; }
.cfa-qf__ref b { color: var(--primary); }
.cfa-qf__okbtns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
body.cfa-qf-open { overflow: hidden; }
@media (max-width: 480px) { .cfa-qf { padding: 10px; align-items: flex-start; } .cfa-qf__head { padding: 22px 20px 18px; margin: 0 -20px 16px; } .cfa-qf__form { padding: 0 20px 20px; } }
