/* JFB Front CSS v3.4 */
*,*::before,*::after{box-sizing:border-box}

.jfb-wrap{max-width:960px;margin:0 auto;font-family:inherit;direction:rtl;color:#fff;padding:0 8px}

/* ── Steps bar – horizontal scroll ── */
.jfb-bar-outer{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
  margin-bottom:20px
}
.jfb-bar-outer::-webkit-scrollbar{display:none}
.jfb-bar{
  display:inline-flex;
  flex-wrap:nowrap;
  min-width:100%;
  gap:0;
  justify-content:center
}
.jfb-bar-item{
  flex:0 0 auto;
  width:auto;
  min-width:90px;
  text-align:center;
  padding:8px 12px;
  font-size:12px;
  line-height:1.3;
  white-space:nowrap;
  border-bottom:3px solid rgba(255,255,255,.2);
  transition:.2s;
  cursor:default;
  color:rgba(255,255,255,.55)
}
.jfb-bar-item.active{
  border-color:#e50000;
  color:#e50000;
  font-weight:700
}
@media(max-width:600px){
  .jfb-bar-item{min-width:75px;font-size:11px;padding:7px 10px}
}
@media(max-width:380px){
  .jfb-bar-item{min-width:65px;font-size:10px;padding:7px 8px}
}

.jfb-step{display:none}
.jfb-step.active{display:block}

/* ── Grid ── */
.jfb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}
.jfb-fam-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.jfb-c1{grid-column:1/-1}
.jfb-c2{grid-column:span 2}
.jfb-c3{grid-column:span 3}
.jfb-c4{grid-column:span 1}
@media(max-width:768px){
  .jfb-grid,.jfb-fam-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .jfb-c4{grid-column:span 1}
  .jfb-c3,.jfb-c2{grid-column:span 2}
}
@media(max-width:480px){
  .jfb-grid,.jfb-fam-grid{grid-template-columns:1fr;gap:10px}
  .jfb-c4,.jfb-c3,.jfb-c2,.jfb-c1{grid-column:1/-1}
}

/* ── Fields ── */
.jfb-field label{display:block;font-size:13px;margin-bottom:5px;color:rgba(255,255,255,.9)}
.jfb-star{color:#e50000;margin-left:3px}
.jfb-field input:not([type=checkbox]):not([type=radio]):not([type=file]),
.jfb-field select,
.jfb-field textarea{
  width:100%;padding:9px 11px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.25);
  border-radius:8px;color:#fff;
  font-family:inherit;font-size:13px;
  transition:border-color .2s;
  -webkit-appearance:none;appearance:none
}
.jfb-field input::placeholder,
.jfb-field textarea::placeholder{color:rgba(255,255,255,.45)}
.jfb-field select::placeholder{color:rgba(255,255,255,.45)}
.jfb-field input:focus,.jfb-field select:focus,.jfb-field textarea:focus{border-color:#e50000;outline:none;background:rgba(255,255,255,.1)}
.jfb-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M6 8L0 0h12z' fill='rgba(255,255,255,.5)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 10px center;padding-left:28px}
.jfb-field select option{background:#222;color:#fff}
.jfb-field textarea{min-height:80px;resize:vertical}
.jfb-field input.jfb-err,.jfb-dp.jfb-err{border-color:#e50000!important;box-shadow:0 0 0 2px rgba(229,0,0,.2)}
.jfb-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.jfb-rl{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:13px}
.jfb-rl input{width:16px;height:16px;accent-color:#e50000;cursor:pointer}
.jfb-h3{font-size:16px;margin:6px 0 0;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:6px}
.jfb-p{font-size:13px;opacity:.75;margin:2px 0}
.jfb-hr{border:none;border-top:1px solid rgba(255,255,255,.12);margin:2px 0}
.jfb-title{font-size:18px;margin-bottom:20px;border-bottom:2px solid rgba(255,255,255,.15);padding-bottom:8px}

/* ── File ── */
.jfb-file-wrap{border:2px dashed rgba(255,255,255,.25);border-radius:9px;padding:16px;text-align:center;position:relative;cursor:pointer;transition:.2s}
.jfb-file-wrap:hover{border-color:#e50000;background:rgba(229,0,0,.05)}
.jfb-file-lbl{font-size:12px;pointer-events:none;display:block;color:rgba(255,255,255,.6)}
.jfb-file-wrap input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}

/* ── Select conditional other ── */
.jfb-sel-wrap{display:flex;flex-direction:column}
.jfb-other-inp{display:none;margin-top:8px!important;animation:jfbSlide .2s ease}
@keyframes jfbSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ── Image checkbox ── */
.jfb-img-grid{display:grid;gap:10px;margin-top:6px}
.jfb-img-c1{grid-template-columns:1fr}
.jfb-img-c2{grid-template-columns:repeat(2,1fr)}
.jfb-img-c3{grid-template-columns:repeat(3,1fr)}
.jfb-img-c4{grid-template-columns:repeat(4,1fr)}
@media(max-width:480px){.jfb-img-c3,.jfb-img-c4{grid-template-columns:repeat(2,1fr)}}
.jfb-img-card{display:flex;flex-direction:column;align-items:center;border:2px solid rgba(255,255,255,.18);border-radius:10px;padding:10px 8px;cursor:pointer;transition:.2s;text-align:center;gap:6px;position:relative}
.jfb-img-card:hover{border-color:rgba(229,0,0,.5);background:rgba(229,0,0,.05)}
.jfb-img-card input[type=checkbox]{position:absolute;top:8px;right:8px;width:16px;height:16px;cursor:pointer;accent-color:#e50000}
.jfb-img-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:7px}
.jfb-img-ph{font-size:32px;line-height:1;padding:8px 0;opacity:.5}
.jfb-img-card span{font-size:12px;color:rgba(255,255,255,.8);line-height:1.3}
.jfb-img-card:has(input:checked){border-color:#e50000;background:rgba(229,0,0,.12)}

/* ── Date Picker ── */
.jfb-dp-wrap{position:relative}
.jfb-dp{cursor:pointer!important;padding-left:36px!important}
.jfb-dp-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:16px;line-height:1}
.jfb-cal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:99998;background:#1e2235;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:20px;width:320px;max-width:calc(100vw - 32px);box-shadow:0 20px 60px rgba(0,0,0,.7);direction:rtl;font-family:Tahoma,Arial}
.jfb-cal-overlay{position:fixed;inset:0;z-index:99997;background:rgba(0,0,0,.4)}
.jdp-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.jdp-ttl{font-size:15px;font-weight:700;color:#fff}
.jdp-nav{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:.15s}
.jdp-nav:hover{background:#e50000;border-color:#e50000}
.jdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:12px}
.jdp-dw{text-align:center;font-size:11px;color:rgba(255,255,255,.35);padding:4px 0;font-weight:600}
.jdp-day{background:transparent;border:1px solid transparent;color:rgba(255,255,255,.8);border-radius:7px;padding:7px 2px;text-align:center;cursor:pointer;font-size:12px;font-family:Tahoma,Arial;transition:.1s;width:100%}
.jdp-day:hover{background:rgba(229,0,0,.2);border-color:rgba(229,0,0,.4);color:#fff}
.jdp-td{color:#ff6b6b!important;font-weight:700;border-color:rgba(255,107,107,.3)!important}
.jdp-sl{background:#e50000!important;color:#fff!important;font-weight:700;border-color:#e50000!important}
.jdp-ft{display:flex;gap:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px;margin-top:4px}
.jdp-ms,.jdp-ys{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:8px;padding:6px 8px;font-size:12px;font-family:Tahoma,Arial;cursor:pointer;-webkit-appearance:none;appearance:none}
.jdp-ms option,.jdp-ys option{background:#1e2235;color:#fff}
.jdp-close{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.1);border:none;color:rgba(255,255,255,.6);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}
.jdp-close:hover{background:rgba(229,0,0,.5);color:#fff}

/* ── Nav ── */
.jfb-nav{margin-top:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.jfb-btn{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;padding:9px 22px;border-radius:8px;cursor:pointer;font-size:13px;font-family:Tahoma,Arial;transition:.2s}
.jfb-btn:hover{background:rgba(255,255,255,.1)}
.jfb-submit{background:#e50000;border-color:#e50000}
.jfb-submit:hover{background:#c00}
.jfb-submit:disabled{background:#666;border-color:#666;cursor:wait}
@media(max-width:480px){.jfb-btn{padding:10px 16px;font-size:12px;flex:1;text-align:center}}

/* ── Messages ── */
.jfb-msg{margin-top:10px;font-size:13px;min-height:16px}
.jfb-msg.err{color:#ff6b6b}

/* ── Success modal ── */
.jfb-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}
.jfb-modal-box{background:#3b3f45;border:1px solid rgba(255,255,255,.12);padding:32px 28px;border-radius:16px;text-align:center;max-width:320px;width:100%;color:#fff}
.jfb-ok{width:56px;height:56px;border-radius:50%;background:#1a7a1a;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 12px}
.jfb-modal-box h3{font-size:17px;margin:0 0 7px}
.jfb-modal-box p{font-size:13px;color:rgba(255,255,255,.55);margin:0 0 18px}
.jfb-modal-box button{background:#e50000;border:none;color:#fff;padding:9px 24px;border-radius:8px;cursor:pointer;font-size:13px}