@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Syne:wght@500;600;700;800&display=swap');
.jfsb,.jfsb *{box-sizing:border-box}.jfsb{--b:#0a0a0a;--l:#e8e8e5;--m:#8f8f8b;--e:cubic-bezier(.22,1,.36,1);width:100%;background:#fff;color:#111;font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}.jfsb button,.jfsb input{font:inherit}.jfsb-wrap{width:min(1080px,calc(100% - 30px));margin:auto}.jfsb-head{height:74px;border-bottom:1px solid #efefed;display:flex;align-items:center}.jfsb-head-in{display:flex;align-items:center;justify-content:space-between}.jfsb-logo{width:140px}.jfsb-head span{font:700 10px Syne;letter-spacing:.16em;text-transform:uppercase;color:#999}.jfsb-intro{padding:42px 0 26px}.jfsb-intro small,.jfsb-q small,.jfsb-specialist small,.jfsb-allset>small{font:700 10px Syne;letter-spacing:.15em;color:#999}.jfsb-intro h1{margin:9px 0 0;font:600 clamp(40px,5vw,68px)/.95 Syne;letter-spacing:-.055em}.jfsb-intro em{font-style:normal;color:#a3a39f}.jfsb-progress{position:relative;display:grid;grid-template-columns:repeat(5,1fr);padding:12px 0 32px}.jfsb-progress>i,.jfsb-progress>b{position:absolute;top:34px;left:10%;right:10%;height:1px;background:#dededb}.jfsb-progress>b{right:auto;width:0;background:#111;transition:.5s var(--e)}.jfsb-progress>div{z-index:2;display:grid;justify-items:center;gap:8px}.jfsb-progress>div>span{width:44px;height:44px;border:1px solid #ddd;border-radius:50%;display:grid;place-items:center;background:#fff;color:#999;transition:.3s var(--e)}.jfsb-progress svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.jfsb-progress small{font:700 10px Syne;color:#999}.jfsb-progress .is-active>span{background:#111;color:#fff;border-color:#111;transform:translateY(-2px)}.jfsb-progress .is-done>span{color:#111;border-color:#111}.jfsb-progress .is-active small,.jfsb-progress .is-done small{color:#111}.jfsb-card{padding:clamp(25px,4vw,44px);border:1px solid #e9e9e6;border-radius:28px;box-shadow:0 24px 65px rgba(0,0,0,.05);margin-bottom:70px}.jfsb-screen,.jfsb-sub{display:none}.jfsb-screen.is-active,.jfsb-sub.is-active{display:block;animation:jfsbin .4s var(--e) both}@keyframes jfsbin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.jfsb-q{text-align:center;margin-bottom:28px}.jfsb-q h2{margin:8px 0 0;font:600 clamp(29px,3.8vw,48px)/1 Syne;letter-spacing:-.045em}.jfsb-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jfsb-fields label{display:grid;gap:7px;font:700 12px Syne}.jfsb-fields .full{grid-column:1/-1}.jfsb-fields input{height:57px;border:1px solid #e4e4e1;border-radius:15px;padding:0 17px;outline:none;background:#fff}.jfsb-fields input:focus{border-color:#111;box-shadow:0 0 0 4px rgba(0,0,0,.04)}.jfsb-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jfsb-option{min-height:72px;border:1px solid #e5e5e2;border-radius:17px;padding:15px 17px;background:#fff;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font:700 14px/1.2 Syne;transition:.3s var(--e)}.jfsb-option:hover{border-color:#111;transform:translateY(-2px)}.jfsb-option.is-active{background:#111;color:#fff;border-color:#111}.jfsb-option:after{content:'○';font-size:20px}.jfsb-option.is-active:after{content:'✓';width:20px;height:20px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:11px}.jfsb-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.jfsb-chip{min-height:46px;padding:0 15px;border:1px solid #e3e3e0;border-radius:999px;background:#fff;cursor:pointer;font:700 12px Syne;transition:.25s var(--e)}.jfsb-chip:hover{border-color:#111;transform:translateY(-2px)}.jfsb-chip.is-active{background:#111;color:#fff;border-color:#111}.jfsb-nav{margin-top:30px;padding-top:19px;border-top:1px solid #ededeb;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.jfsb-nav>span{text-align:center;color:#777;font-size:11px}.jfsb-back,.jfsb-next{height:49px;border-radius:999px;padding:0 17px;border:1px solid #ddd;background:#fff;cursor:pointer;font:700 12px Syne}.jfsb-next{background:#111;color:#fff;border-color:#111;display:inline-flex;align-items:center;gap:10px;padding-right:7px}.jfsb-next b{width:35px;height:35px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:14px}.jfsb-back:disabled{opacity:.3}.jfsb-calendar{width:min(680px,100%);margin:auto;padding:20px;border:1px solid #e6e6e3;border-radius:22px;background:#fafaf8}.jfsb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.jfsb-cal-head strong{font:700 18px Syne}.jfsb-cal-head button{width:38px;height:38px;border:1px solid #ddd;background:#fff;border-radius:50%;cursor:pointer}.jfsb-week,.jfsb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.jfsb-week span{text-align:center;font-size:9px;font-weight:700;color:#aaa;padding-bottom:5px}.jfsb-day{min-height:46px;border:0;border-radius:12px;background:#fff;cursor:pointer;font:700 12px Syne}.jfsb-day:hover:not(:disabled){background:#eee}.jfsb-day.is-active{background:#111;color:#fff}.jfsb-day:disabled{opacity:.2;cursor:not-allowed}.jfsb-day.is-empty{visibility:hidden}.jfsb-slots{margin-top:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.jfsb-slots p{grid-column:1/-1;text-align:center;color:#888;font-size:12px}.jfsb-slot{height:48px;border:1px solid #ddd;background:#fff;border-radius:13px;cursor:pointer;font:700 12px Syne}.jfsb-slot.is-active{background:#111;color:#fff;border-color:#111}.jfsb-tz{text-align:center;color:#999;font-size:10px;margin:10px 0 0}.jfsb-match{min-height:500px;display:grid;justify-items:center;gap:20px;text-align:center;padding:28px 0}.jfsb-loader{width:90px;height:90px;border-radius:50%;background:#111;display:grid;place-items:center;position:relative}.jfsb-loader:before,.jfsb-loader:after{content:'';position:absolute;border:1px solid #ddd;border-radius:50%;animation:jfsbp 2s ease-in-out infinite}.jfsb-loader:before{inset:-16px}.jfsb-loader:after{inset:-31px;animation-delay:.4s}@keyframes jfsbp{0%,100%{opacity:.2;transform:scale(.95)}50%{opacity:1;transform:scale(1)}}.jfsb-loader img{width:35px;filter:brightness(0) invert(1)}.jfsb-match>h2{font:600 clamp(31px,4vw,48px)/.98 Syne;letter-spacing:-.045em;margin:0}.jfsb-match>p{color:#777;font-size:13px;margin:0}.jfsb-bar{width:min(370px,100%);height:5px;border-radius:999px;background:#eee;overflow:hidden}.jfsb-bar i{display:block;width:0;height:100%;background:#111;transition:.7s var(--e)}.jfsb-specialist{display:none;width:min(760px,100%);grid-template-columns:230px 1fr;gap:30px;align-items:center;text-align:left;padding:25px;border:1px solid #e4e4e1;border-radius:26px;background:#fafaf8}.jfsb-specialist.is-visible{display:grid;animation:jfsbin .6s var(--e) both}.jfsb-photo{width:230px;height:270px;border-radius:21px;object-fit:cover;object-position:center top;background:#eee}.jfsb-photo-empty{display:grid;place-items:center;text-align:center;padding:20px;color:#999;font-size:12px}.jfsb-specialist h3{margin:8px 0 6px;font:700 clamp(32px,4vw,46px)/.95 Syne;letter-spacing:-.05em}.jfsb-specialist p{margin:0 0 18px;color:#777}.jfsb-specialist dl{margin:0}.jfsb-specialist dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e5e5e2}.jfsb-specialist dt{color:#999;font:700 10px Syne}.jfsb-specialist dd{margin:0;text-align:right;font:700 12px Syne}.jfsb-confirm-actions{display:none;width:min(760px,100%);justify-content:space-between}.jfsb-confirm-actions.is-visible{display:flex}.jfsb-allset{display:none;width:min(650px,100%);justify-items:center;gap:17px}.jfsb-allset.is-visible{display:grid;animation:jfsbin .6s var(--e) both}.jfsb-ok{width:72px;height:72px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:28px}.jfsb-allset h2{font:600 clamp(38px,5vw,60px)/.95 Syne;letter-spacing:-.055em;margin:0}.jfsb-summary{width:100%;padding:22px;border-radius:20px;background:#111;color:#fff;text-align:left;display:grid;gap:12px}.jfsb-summary>div{display:flex;justify-content:space-between;gap:20px}.jfsb-summary span{font-size:10px;color:rgba(255,255,255,.5)}.jfsb-summary b{text-align:right;font:700 12px Syne}@media(max-width:760px){.jfsb-fields,.jfsb-options{grid-template-columns:1fr}.jfsb-slots{grid-template-columns:1fr 1fr}.jfsb-specialist{grid-template-columns:150px 1fr;gap:18px}.jfsb-photo{width:150px;height:190px}}@media(max-width:520px){.jfsb-progress small{display:none}.jfsb-card{padding:20px 15px}.jfsb-specialist{grid-template-columns:1fr;text-align:center}.jfsb-photo{width:190px;height:230px;margin:auto}.jfsb-specialist dl>div{text-align:left}.jfsb-confirm-actions{gap:10px}.jfsb-confirm-actions button{flex:1}}

/* =========================================================
   JAFEON HARD COLOR LOCK — blocks Hello Elementor/theme colors
========================================================= */
.jfsb{
  --e-global-color-primary:#111111!important;
  --e-global-color-secondary:#111111!important;
  --e-global-color-text:#111111!important;
  --e-global-color-accent:#111111!important;
  --e-global-color-astglobalcolor0:#111111!important;
  --e-global-color-astglobalcolor1:#111111!important;
}

.jfsb,
.jfsb p,
.jfsb span,
.jfsb small,
.jfsb strong,
.jfsb label,
.jfsb dt,
.jfsb dd,
.jfsb h1,
.jfsb h2,
.jfsb h3,
.jfsb h4{
  text-decoration:none!important;
}

.jfsb a,
.jfsb a:visited,
.jfsb a:hover,
.jfsb a:focus,
.jfsb a:active{
  color:#111111!important;
  text-decoration:none!important;
  box-shadow:none!important;
  outline:none!important;
}

.jfsb button,
.jfsb input,
.jfsb select,
.jfsb textarea{
  -webkit-appearance:none!important;
  appearance:none!important;
  accent-color:#111111!important;
  outline:none!important;
  text-decoration:none!important;
}

.jfsb button:focus,
.jfsb button:focus-visible,
.jfsb button:active,
.jfsb a:focus,
.jfsb a:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}

.jfsb input,
.jfsb input:hover,
.jfsb input:active{
  color:#111111!important;
  background:#ffffff!important;
  border-color:#e4e4e1!important;
  caret-color:#111111!important;
}

.jfsb input:focus,
.jfsb input:focus-visible{
  color:#111111!important;
  background:#ffffff!important;
  border-color:#111111!important;
  box-shadow:0 0 0 4px rgba(0,0,0,.04)!important;
}

.jfsb input::placeholder{
  color:#9a9a96!important;
  opacity:1!important;
}

.jfsb-option,
.jfsb-chip,
.jfsb-back,
.jfsb-cal-head button,
.jfsb-day,
.jfsb-slot{
  color:#111111!important;
  background:#ffffff!important;
  border-color:#e3e3e0!important;
}

.jfsb-option:hover,
.jfsb-chip:hover,
.jfsb-back:hover,
.jfsb-cal-head button:hover,
.jfsb-slot:hover{
  color:#111111!important;
  border-color:#111111!important;
}

.jfsb-option.is-active,
.jfsb-chip.is-active,
.jfsb-day.is-active,
.jfsb-slot.is-active,
.jfsb-next,
.jfsb-ok{
  color:#ffffff!important;
  background:#111111!important;
  border-color:#111111!important;
}

.jfsb-next:hover,
.jfsb-next:focus,
.jfsb-next:active{
  color:#ffffff!important;
  background:#111111!important;
  border-color:#111111!important;
}

.jfsb-next b,
.jfsb-option.is-active:after{
  color:#111111!important;
  background:#ffffff!important;
}

.jfsb-progress .is-active>span{
  color:#ffffff!important;
  background:#111111!important;
  border-color:#111111!important;
}

.jfsb-progress .is-done>span{
  color:#111111!important;
  background:#ffffff!important;
  border-color:#111111!important;
}

.jfsb-summary,
.jfsb-loader{
  background:#111111!important;
  color:#ffffff!important;
}

/* Elementor/Hello can inject link/button colors with very broad rules. */
.elementor .jfsb button,
.elementor .jfsb input,
.elementor .jfsb a,
.elementor-kit-* .jfsb button{
  text-shadow:none!important;
}
