/* SJK LIVE two-step booking UI v0.3.3. Scoped, non-destructive. */
:root{--sjkw-ink:#0d1724;--sjkw-red:#dc1236;--sjkw-line:#dce2eb;--sjkw-muted:#576479;--sjkw-surface:#fff}
body.sjk-wizard-ready .sjk-wizard-excess{display:none!important}
body.sjk-wizard-ready[data-sjk-step="calendar"] .sjk-wizard-form,
body.sjk-wizard-ready[data-sjk-step="form"] .sjk-wizard-calendar{display:none!important}
body.sjk-wizard-ready .sjk-wizard-calendar,
body.sjk-wizard-ready .sjk-wizard-form{min-width:0;min-height:calc(100svh - 100px)}
body.sjk-wizard-ready .sjk-wizard-calendar{padding:clamp(12px,2vw,28px) clamp(12px,3vw,40px) 70px!important;background:#f5f7fa}
body.sjk-wizard-ready .sjk-wizard-calendar>.container,
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-grow{width:100%!important;max-width:none!important;min-width:0!important}
body.sjk-wizard-ready .sjk-wizard-calendar>.container{max-width:1500px!important;margin-inline:auto}
body.sjk-wizard-ready .sjk-wizard-calendar .calendar-card,
body.sjk-wizard-ready .sjk-wizard-calendar .booking-calendar-card,
body.sjk-wizard-ready .sjk-wizard-calendar .calendar-shell,
body.sjk-wizard-ready .sjk-wizard-calendar .calendar-panel,
body.sjk-wizard-ready .sjk-wizard-calendar .calendar-container{max-width:none!important;width:100%!important}
body.sjk-wizard-ready .sjk-wizard-calendar :is(.calendar-grid,.calendar-days,.booking-calendar-grid,.booking-calendar-days,[data-calendar-grid],[data-calendar-days]){width:100%!important;max-width:none!important;min-width:0!important}
body.sjk-wizard-ready .sjk-wizard-calendar :is(button,[role="button"]){touch-action:manipulation}
body.sjk-wizard-ready .sjk-wizard-nav{display:flex;gap:24px;align-items:center;justify-content:space-between;max-width:1500px;margin:0 auto 20px;padding:0 1px}
body.sjk-wizard-ready .sjk-wizard-head{display:flex;flex-direction:column;gap:5px;min-width:0}
body.sjk-wizard-ready .sjk-wizard-step{font-size:11px;font-weight:850;letter-spacing:.14em;color:var(--sjkw-red)}
body.sjk-wizard-ready .sjk-wizard-head h1{font-size:clamp(25px,3vw,38px);font-weight:850;line-height:1.1;letter-spacing:-.04em;color:var(--sjkw-ink);margin:0}
body.sjk-wizard-ready .sjk-wizard-next,
body.sjk-wizard-ready .sjk-wizard-back{font:inherit;white-space:nowrap;border-radius:12px;padding:13px 24px;min-height:52px;font-weight:800;font-size:15px;cursor:pointer;touch-action:manipulation}
body.sjk-wizard-ready .sjk-wizard-next{color:#fff;border:1px solid var(--sjkw-red);background:var(--sjkw-red);box-shadow:0 7px 16px rgba(220,18,54,.15)}
body.sjk-wizard-ready .sjk-wizard-next:disabled{color:#7b8492;background:#e6e9ef;border-color:#e6e9ef;cursor:not-allowed;box-shadow:none}
body.sjk-wizard-ready .sjk-wizard-back{color:#263445;border:1px solid #d6dde6;background:#fff;box-shadow:none}
body.sjk-wizard-ready :is(.sjk-wizard-next,.sjk-wizard-back):focus-visible{outline:3px solid #0b66bc;outline-offset:3px}
body.sjk-wizard-ready .sjk-wizard-form{background:#f6f8fb;padding:26px clamp(12px,3vw,35px) 64px!important}
body.sjk-wizard-ready .sjk-wizard-form>.container{max-width:980px!important;margin-inline:auto;width:100%}
body.sjk-wizard-ready .sjk-wizard-form .sjk-wizard-nav{max-width:900px;margin:0 auto 20px;justify-content:flex-start}
body.sjk-wizard-ready .sjk-wizard-form .sjk-wizard-head h1{font-size:clamp(23px,2.7vw,33px)}
body.sjk-wizard-ready .sjk-wizard-form-layout{width:100%!important;max-width:900px!important;margin-inline:auto!important;display:flex!important;flex-direction:column!important;gap:14px!important;grid-template-columns:1fr!important;align-items:stretch!important}
body.sjk-wizard-ready .sjk-wizard-form-layout>.booking-summary-panel,
body.sjk-wizard-ready .sjk-wizard-form-layout>.booking-form-card{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box}
body.sjk-wizard-ready .booking-summary-panel{position:static!important;box-sizing:border-box;border:1px solid var(--sjkw-line);background:#fff;border-radius:14px;padding:15px 19px!important;margin:0!important}
body.sjk-wizard-ready .booking-summary-panel .selected-window{margin:4px 0 0!important}
body.sjk-wizard-ready .booking-form-card{box-sizing:border-box;width:100%!important;max-width:none!important;background:var(--sjkw-surface)!important;border:1px solid var(--sjkw-line);border-radius:20px!important;padding:clamp(18px,3vw,30px)!important;box-shadow:0 12px 33px rgba(22,37,58,.045);margin:0!important}
body.sjk-wizard-ready .booking-form-card .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.sjk-wizard-ready .booking-form-card :is(input:not([type="checkbox"]):not([type="hidden"]):not([type="color"]),select,textarea){box-sizing:border-box;width:100%;max-width:100%;min-height:52px;border-radius:11px;border:1px solid #cdd6e2;background:#fff;color:#132335;font-size:16px;padding:12px 14px;line-height:1.45}
body.sjk-wizard-ready .booking-form-card textarea{min-height:106px;resize:vertical}
body.sjk-wizard-ready .booking-form-card :is(input,select,textarea):focus-visible{outline:2px solid #1462a6;outline-offset:2px}
body.sjk-wizard-ready .booking-form-card label{color:#1b2b3d;line-height:1.35}
body.sjk-wizard-ready .booking-form-card .sjk-production-brief{border:1px solid var(--sjkw-line);border-radius:14px;background:#f7f9fc;box-sizing:border-box;min-width:0;padding:17px;margin:22px 0}
body.sjk-wizard-ready .booking-form-card .sjk-production-brief legend{padding-inline:10px}
body.sjk-wizard-ready .booking-form-card .sjk-brief-colors{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.sjk-wizard-ready .booking-form-card .sjk-color-control{max-width:100%;min-width:0}
body.sjk-wizard-ready .booking-form-card .booking-submit{min-height:55px;border-radius:12px;width:100%;font-size:16px;font-weight:800;touch-action:manipulation}
body.sjk-wizard-ready .booking-form-card .form-intro{border-radius:12px}
body.sjk-wizard-ready .booking-form-card .booking-consent{line-height:1.5;border-radius:10px}
@media (min-width:850px){
 body.sjk-wizard-ready .sjk-wizard-calendar :is(.calendar-grid,.calendar-days,.booking-calendar-grid,.booking-calendar-days,[data-calendar-grid],[data-calendar-days])>*{min-width:0}
}
@media (max-width:680px){
 body.sjk-wizard-ready .sjk-wizard-calendar{padding:12px 8px calc(110px + env(safe-area-inset-bottom,0px))!important}
 body.sjk-wizard-ready .sjk-wizard-calendar>.container{padding-inline:0!important;width:100%!important}
 body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-nav{padding-inline:10px}
 body.sjk-wizard-ready .sjk-wizard-nav{gap:12px;flex-wrap:wrap}
 body.sjk-wizard-ready .sjk-wizard-head h1{font-size:25px}
 body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-next-wrap{position:fixed;bottom:0;left:0;right:0;z-index:600;background:rgba(255,255,255,.97);padding:11px 14px calc(11px + env(safe-area-inset-bottom,0px));box-shadow:0 -5px 22px rgba(18,32,50,.12);border-top:1px solid #d9e0eb}
 body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-next{width:100%;max-width:none;min-height:54px}
 body.sjk-wizard-ready .sjk-wizard-form{padding:16px 10px 56px!important}
 body.sjk-wizard-ready .sjk-wizard-form>.container{padding-inline:0!important}
 body.sjk-wizard-ready .sjk-wizard-nav-form{align-items:flex-start;flex-direction:column-reverse}
 body.sjk-wizard-ready .sjk-wizard-back{min-height:44px;padding:9px 14px}
 body.sjk-wizard-ready .booking-form-card{padding:18px 14px!important;border-radius:15px!important}
 body.sjk-wizard-ready .booking-form-card .form-row{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}
 body.sjk-wizard-ready .booking-form-card .sjk-brief-colors{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.sjk-wizard-ready .booking-form-card .sjk-production-brief{padding:14px 11px}
 body.sjk-wizard-ready .booking-summary-panel{padding:13px 14px!important}
 body.sjk-wizard-ready .sjk-wizard-calendar :is(.calendar-grid,.calendar-days,.booking-calendar-grid,.booking-calendar-days,[data-calendar-grid],[data-calendar-days])>*{min-width:0;overflow-wrap:anywhere}
 body.sjk-wizard-ready .sjk-wizard-calendar :is(.calendar-grid,.calendar-days,.booking-calendar-grid,.booking-calendar-days,[data-calendar-grid],[data-calendar-days]) button{padding-inline:2px;min-width:0;font-size:clamp(10px,2.4vw,13px)}
}
@media (max-width:365px){body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-head h1{font-size:22px}}
@media (prefers-reduced-motion:reduce){body.sjk-wizard-ready *{scroll-behavior:auto!important}}

/* SJK LIVE v0.3.3a hotfix — overlap cleanup + full-width calendar */
body.sjk-wizard-ready .sjk-wizard-calendar{
  padding:calc(88px + env(safe-area-inset-top,0px)) 0 calc(88px + env(safe-area-inset-bottom,0px))!important;
  background:#f5f7fa!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar>.container,
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-grow{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding-inline:0!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-nav{
  width:min(100%,1680px)!important;
  max-width:none!important;
  margin:0 auto 18px!important;
  padding:0 24px!important;
  gap:18px!important;
  align-items:flex-end!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-head{
  flex:1 1 auto!important;
  min-width:0!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-step{
  margin:0 0 3px!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-head h1,
body.sjk-wizard-ready .sjk-wizard-form .sjk-wizard-head h1{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  outline:0!important;
  color:#0d1724!important;
  letter-spacing:-.045em!important;
  line-height:1.02!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-head h1{
  font-size:clamp(28px,4.2vw,54px)!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-next-wrap{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:260px!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-next{
  min-width:240px!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar :is(.calendar-card,.booking-calendar-card,.calendar-shell,.calendar-panel,.calendar-container){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.sjk-wizard-ready .sjk-wizard-calendar :is(.calendar-grid,.calendar-days,.booking-calendar-grid,.booking-calendar-days,[data-calendar-grid],[data-calendar-days]){
  width:100%!important;
  max-width:none!important;
}
@media (max-width:900px){
  body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-nav{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding:0 14px!important;
    gap:12px!important;
  }
  body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-next-wrap{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
  }
  body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-next{
    min-width:0!important;
  }
}
@media (max-width:680px){
  body.sjk-wizard-ready .sjk-wizard-calendar{
    padding:calc(70px + env(safe-area-inset-top,0px)) 0 calc(150px + env(safe-area-inset-bottom,0px))!important;
  }
  body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-nav{
    margin-bottom:12px!important;
    padding:0 10px!important;
  }
  body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-head h1{
    font-size:clamp(22px,8vw,36px)!important;
  }
  body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-next-wrap{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;
    z-index:550!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid #d9e0eb!important;
    box-shadow:0 -5px 22px rgba(18,32,50,.12)!important;
    padding:10px 12px!important;
  }
  body.sjk-wizard-ready .sjk-wizard-calendar .sjk-wizard-next{
    width:100%!important;
    max-width:none!important;
    min-height:54px!important;
  }
}
