.mbjj-schedule{
  font-family:inherit;
  background:#fff!important;
  color:#111;
  border:2px solid var(--mbjj-primary,#111);
  border-radius:30px;
  padding:clamp(16px,3vw,34px);
  box-shadow:0 18px 44px rgba(0,0,0,.08);
  overflow:visible;
}
.mbjj-header{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  border-bottom:9px solid var(--mbjj-primary,#111);
  padding-bottom:1.05rem;
  margin-bottom:1.25rem;
}
.mbjj-schedule .mbjj-eyebrow{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.75rem;
  font-weight:900;
  opacity:.62;
  margin-bottom:.45rem;
}
.mbjj-header h2{
  font-size:clamp(2rem,5vw,5.2rem);
  line-height:.9;
  text-transform:uppercase;
  margin:0;
  font-weight:950;
  letter-spacing:-.065em;
}
.mbjj-year{
  font-size:clamp(1.15rem,2.7vw,2.7rem);
  text-transform:uppercase;
  margin:.35rem 0 0;
  font-weight:300;
  letter-spacing:.035em;
}
.mbjj-brand{
  display:flex;
  align-items:center;
  gap:.55rem;
  text-transform:uppercase;
  font-size:clamp(.85rem,1.7vw,1.2rem);
  line-height:1.05;
  letter-spacing:.08em;
  text-align:right;
  background:var(--mbjj-primary,#111);
  color:#fff;
  border-radius:20px;
  padding:14px 16px;
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}
.mbjj-brand span{font-size:2.4rem;line-height:.8;color:#fff}
.mbjj-notice{
  background:#fff;
  border:2px solid rgba(0,0,0,.12);
  border-left:8px solid var(--mbjj-highlight,#e11d2e);
  padding:.9rem 1rem;
  margin-bottom:1rem;
  border-radius:16px;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}
.mbjj-calendar-help{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  flex-wrap:wrap;
  background:var(--mbjj-primary,#111);
  color:#fff;
  border-radius:18px;
  padding:1rem;
  margin-bottom:1rem;
  box-shadow:0 12px 26px rgba(0,0,0,.08);
}
.mbjj-calendar-help strong{display:block;font-size:1.05rem}
.mbjj-calendar-help span{display:block;opacity:.8;font-size:.9rem;max-width:760px}
.mbjj-toolbar-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.mbjj-toolbar-actions button,
.mbjj-calendar-panel button{
  appearance:none;
  border:2px solid var(--mbjj-primary,#111);
  border-radius:999px;
  padding:.72rem 1rem;
  font-weight:950;
  cursor:pointer;
  line-height:1.1;
}
.mbjj-toolbar-actions button{background:#fff;color:#111;border-color:#fff}
.mbjj-toolbar-actions button:hover,.mbjj-calendar-panel button:hover{transform:translateY(-1px)}

.mbjj-schedule-focus{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,280px);
  gap:1rem;
  align-items:stretch;
}
.mbjj-weekday-panel{min-width:0;}
.mbjj-timegrid-wrap{
  overflow-x:auto;
  padding-bottom:.35rem;
  scrollbar-width:thin;
}
.mbjj-timegrid-days{
  display:grid;
  min-width:820px;
  gap:0;
  position:sticky;
  top:0;
  z-index:5;
}
.mbjj-timegrid-corner,
.mbjj-timegrid-day-name{
  background:#fff;
  border:2px solid var(--mbjj-primary,#111);
  border-left-width:0;
  padding:.52rem .55rem;
  font-size:.82rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.09em;
  text-align:center;
}
.mbjj-timegrid-corner{
  border-left-width:2px;
  color:#555;
  text-align:left;
}
.mbjj-timegrid-body{
  --mbjj-slot-height:30px;
  display:grid;
  min-width:820px;
  position:relative;
  border:2px solid var(--mbjj-primary,#111);
  border-top:0;
  background:#fff;
}
.mbjj-day-bg{
  background:linear-gradient(to right, rgba(0,0,0,.04), rgba(0,0,0,.012));
  border-left:1px solid rgba(0,0,0,.12);
  z-index:0;
}
.mbjj-time-line{
  border-top:1px solid rgba(0,0,0,.18);
  z-index:1;
  pointer-events:none;
}
.mbjj-time-label{
  z-index:2;
  padding:.18rem .45rem 0 0;
  color:#222;
  font-size:.78rem;
  font-weight:900;
  text-align:right;
  line-height:1;
  background:linear-gradient(to right,#fff 0%,#fff 82%,rgba(255,255,255,0));
}
.mbjj-class-block{
  z-index:3;
  align-self:stretch;
  position:relative;
  min-height:82px;
  margin:5px 6px;
  padding:.68rem .65rem .58rem;
  background:var(--mbjj-primary,#111);
  color:#fff;
  border:2px solid var(--mbjj-primary,#111);
  border-radius:13px;
  box-shadow:0 4px 0 rgba(0,0,0,.15),0 8px 18px rgba(0,0,0,.12);
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto 1fr;
  gap:.1rem .35rem;
  overflow:hidden;
  text-align:left;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mbjj-class-block:hover{transform:translateY(-1px);box-shadow:0 5px 0 rgba(0,0,0,.14),0 12px 24px rgba(0,0,0,.16)}
.mbjj-class-block.is-featured{
  border-color:var(--mbjj-highlight,#e11d2e);
  box-shadow:0 4px 0 rgba(0,0,0,.15), inset 0 0 0 2px var(--mbjj-highlight,#e11d2e);
}
.mbjj-class-block:has(input:checked),
.mbjj-weekend-class:has(input:checked){
  border-color:var(--mbjj-highlight,#e11d2e);
  box-shadow:0 4px 0 rgba(0,0,0,.15),0 0 0 3px rgba(225,29,46,.32);
}
.mbjj-class-block .mbjj-check,
.mbjj-weekend-class .mbjj-check{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:start;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  margin:0;
  padding:.16rem .32rem;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:950;
  line-height:1;
  color:#fff;
}
.mbjj-class-block .mbjj-check input,
.mbjj-weekend-class .mbjj-check input{width:.85rem;height:.85rem;accent-color:var(--mbjj-highlight,#e11d2e);margin:0}
.mbjj-class-block .mbjj-time,
.mbjj-weekend-class .mbjj-time{
  grid-column:1;
  grid-row:1;
  margin:0;
  display:block;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  line-height:1.05;
  opacity:.84;
}
.mbjj-class-block h4,
.mbjj-weekend-class h4{
  grid-column:1;
  grid-row:2;
  color:inherit;
  margin:.06rem 0 0;
  font-size:clamp(1rem,1.25vw,1.22rem);
  line-height:1;
  font-weight:950;
  letter-spacing:-.025em;
}
.mbjj-class-block .mbjj-class-group{
  grid-column:1 / -1;
  grid-row:3;
  margin:.12rem 0 0;
  color:#fff;
  opacity:.78;
  font-size:.78rem;
  font-weight:750;
  line-height:1.05;
}
.mbjj-class-block .mbjj-muted{display:none}
.mbjj-class-block .mbjj-single{
  position:absolute;
  right:.35rem;
  bottom:.32rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#000;
  border:1px solid #fff;
  border-radius:999px;
  padding:.15rem .36rem;
  font-size:.7rem;
  text-decoration:none;
  font-weight:950;
  line-height:1;
}

.mbjj-weekend-panel{
  border:2px solid var(--mbjj-primary,#111);
  border-radius:20px;
  padding:.9rem;
  background:linear-gradient(180deg,#fff 0%,var(--mbjj-accent,#fafaf8) 100%);
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.mbjj-weekend-kicker{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:950;
  color:var(--mbjj-highlight,#e11d2e);
}
.mbjj-weekend-panel h3{
  margin:0 0 .1rem;
  font-size:clamp(1.35rem,2.2vw,2.05rem);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:-.055em;
}
.mbjj-weekend-list{display:grid;gap:.7rem}
.mbjj-weekend-class{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto auto auto;
  gap:.12rem .5rem;
  background:var(--mbjj-primary,#111);
  color:#fff;
  border:2px solid var(--mbjj-primary,#111);
  border-radius:16px;
  padding:.85rem;
  min-height:190px;
  box-shadow:0 5px 0 rgba(0,0,0,.16),0 12px 22px rgba(0,0,0,.12);
}
.mbjj-weekend-day{
  grid-column:1;
  grid-row:1;
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.7;
}
.mbjj-weekend-class .mbjj-time{grid-row:2;font-size:.8rem}
.mbjj-weekend-class h4{grid-row:3;font-size:1.65rem;line-height:.95}
.mbjj-weekend-class p{grid-column:1/-1;margin:.15rem 0 0;color:#fff;opacity:.78;font-weight:750;font-size:.82rem}
.mbjj-weekend-class .mbjj-single{
  grid-column:1/-1;
  justify-self:start;
  margin-top:.35rem;
  display:inline-flex;
  background:#fff;
  color:#000;
  border-radius:999px;
  padding:.4rem .7rem;
  text-decoration:none;
  font-size:.74rem;
  font-weight:950;
  line-height:1;
}

.mbjj-calendar-panel{
  display:block;
  background:#fff;
  border:2px solid var(--mbjj-primary,#111);
  border-radius:22px;
  margin-top:1.25rem;
  padding:1rem;
  box-shadow:0 12px 28px rgba(0,0,0,.06);
  overflow:visible;
}
.mbjj-calendar-panel-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  border-bottom:1px solid rgba(0,0,0,.12);
  padding-bottom:.85rem;
  margin-bottom:.85rem;
}
.mbjj-calendar-panel-intro h3{margin:0 0 .25rem;font-size:1.05rem}
.mbjj-calendar-panel-intro p{margin:.22rem 0;color:#555;font-size:.88rem;line-height:1.35;max-width:690px}
.mbjj-calendar-panel-intro code{background:rgba(0,0,0,.06);padding:.08rem .22rem;border-radius:5px}
.mbjj-calendar-controls{
  display:grid;
  grid-template-columns:minmax(190px,1.05fr) minmax(260px,1.4fr) minmax(90px,.45fr) auto;
  gap:.85rem;
  align-items:end;
}
.mbjj-calendar-panel label{
  display:block;
  font-weight:900;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.mbjj-calendar-panel input,.mbjj-calendar-panel select{
  width:100%;
  box-sizing:border-box;
  margin-top:.32rem;
  border:2px solid rgba(0,0,0,.14);
  border-radius:12px;
  padding:.68rem .75rem;
  background:#fff;
  color:#111;
  font-weight:750;
  min-height:82px;
  line-height:1.2;
}
.mbjj-calendar-panel select{
  white-space:normal;
  text-overflow:ellipsis;
}
.mbjj-term-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.mbjj-calendar-panel button{
  background:var(--mbjj-primary,#111);
  color:#fff;
  white-space:normal;
  min-height:82px;
  align-self:end;
}
.mbjj-selected-count{
  margin:.2rem 0 0!important;
  color:#111!important;
  font-weight:950;
  font-size:.92rem!important;
  background:var(--mbjj-accent,#fafaf8);
  border:1px solid rgba(0,0,0,.1);
  border-radius:999px;
  padding:.45rem .7rem;
}
.mbjj-footer{
  border-top:6px solid var(--mbjj-primary,#111);
  margin-top:1.3rem;
  padding-top:1rem;
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  justify-content:space-between;
  font-weight:750;
}
.mbjj-footer a{color:inherit;font-weight:950}
.mbjj-schedule .mbjj-empty{
  opacity:.6;
  text-align:center;
  font-size:.9rem;
  background:#fff;
  border:1px dashed rgba(0,0,0,.16);
  border-radius:16px;
  padding:1rem;
}
@media(max-width:1120px){
  .mbjj-schedule-focus{grid-template-columns:1fr}
  .mbjj-weekend-panel{display:block}
  .mbjj-weekend-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
  .mbjj-calendar-controls{grid-template-columns:1fr 1fr}
  .mbjj-calendar-panel button{width:100%}
}
@media(max-width:760px){
  .mbjj-header{display:block}
  .mbjj-brand{display:inline-flex;text-align:left;margin-top:.75rem}
  .mbjj-calendar-help{display:block}
  .mbjj-toolbar-actions{margin-top:.8rem}
  .mbjj-timegrid-days,.mbjj-timegrid-body{min-width:640px}
  .mbjj-timegrid-body{--mbjj-slot-height:26px}
  .mbjj-calendar-controls{grid-template-columns:1fr}
  .mbjj-term-fields{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .mbjj-schedule{border-radius:20px;padding:14px}
  .mbjj-term-fields{grid-template-columns:1fr}
  .mbjj-footer{display:block}
  .mbjj-footer span{display:block;margin-top:.5rem}
}


/* v1.1 readability pass */
.mbjj-schedule{padding:clamp(22px,3.5vw,44px);}
.mbjj-header h2,.mbjj-header .mbjj-year,.mbjj-schedule .mbjj-eyebrow{color:#111!important;}
.mbjj-header h2{display:block!important;opacity:1!important;font-size:clamp(2.2rem,4.8vw,4.8rem);}
.mbjj-year{color:#111!important;font-size:clamp(1.35rem,2.9vw,2.9rem);}
.mbjj-weekend-panel h3{color:#111!important;opacity:1!important;}
.mbjj-schedule-focus{align-items:stretch;}
.mbjj-timegrid-body{--mbjj-slot-height:30px;}
.mbjj-timegrid-days,.mbjj-timegrid-body{min-width:840px;}
.mbjj-timegrid-corner,.mbjj-timegrid-day-name{padding:.72rem .65rem;font-size:.88rem;}
.mbjj-time-label{font-size:.78rem;padding:.3rem .5rem 0 0;}
.mbjj-class-block{min-height:86px;padding:.7rem .68rem .62rem;}
.mbjj-class-block h4{font-size:clamp(1rem,1.35vw,1.28rem);line-height:.96;}
.mbjj-class-block .mbjj-time{font-size:.78rem;}
.mbjj-class-block .mbjj-class-group{font-size:.76rem;line-height:1.15;}
.mbjj-class-block .mbjj-check{font-size:.68rem;padding:.2rem .38rem;}
.mbjj-class-block .mbjj-single{font-size:.68rem;padding:.18rem .42rem;}
.mbjj-weekend-panel{padding:1.05rem;}
.mbjj-weekend-class{min-height:200px;padding:1rem;}
.mbjj-weekend-class h4{font-size:1.8rem;}
.mbjj-weekend-class .mbjj-time{font-size:.9rem;}
.mbjj-calendar-panel{padding:1.15rem 1.2rem;}
.mbjj-calendar-panel-intro h3{color:#111!important;font-size:1.18rem;}
.mbjj-calendar-panel-intro p{font-size:.94rem;line-height:1.45;}
.mbjj-calendar-controls{grid-template-columns:minmax(210px,1fr) minmax(300px,1.45fr) minmax(110px,.5fr) minmax(180px,.7fr);}
.mbjj-calendar-panel input,.mbjj-calendar-panel select{min-height:50px;font-size:.96rem;}
.mbjj-calendar-panel button{min-height:50px;padding:.82rem 1.1rem;}
.mbjj-footer{font-size:.95rem;line-height:1.35;}
@media(max-width:1120px){.mbjj-schedule-focus{grid-template-columns:1fr}.mbjj-weekend-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.mbjj-calendar-controls{grid-template-columns:1fr 1fr}.mbjj-calendar-panel button{width:100%}}
@media(max-width:760px){.mbjj-timegrid-days,.mbjj-timegrid-body{min-width:760px}.mbjj-timegrid-body{--mbjj-slot-height:28px}.mbjj-calendar-controls{grid-template-columns:1fr}.mbjj-term-fields{grid-template-columns:1fr 1fr}.mbjj-header h2{font-size:2.2rem}.mbjj-year{font-size:1.35rem}}

/* v1.2 mobile/readability + non-clashing class details */
.mbjj-timegrid-days,
.mbjj-timegrid-body{min-width:1040px;}
.mbjj-timegrid-body{--mbjj-slot-height:36px;}
.mbjj-timegrid-corner,.mbjj-timegrid-day-name{font-size:.92rem;}
.mbjj-class-block{
  min-height:104px;
  padding:.72rem 3.15rem .78rem .78rem;
  display:block;
  overflow:visible;
  isolation:isolate;
}
.mbjj-class-block .mbjj-time{
  display:block;
  font-size:.86rem;
  line-height:1.08;
  margin:0 0 .25rem;
  max-width:100%;
}
.mbjj-class-block h4{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:1.12rem;
  line-height:1.03;
  margin:.08rem 0 .25rem;
  max-width:100%;
}
.mbjj-class-block .mbjj-class-group{
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:.84rem;
  line-height:1.15;
  margin:.18rem 0 0;
  max-width:100%;
}
.mbjj-class-block .mbjj-check,
.mbjj-weekend-class .mbjj-check{
  position:absolute;
  right:.52rem;
  top:.52rem;
  z-index:4;
  min-width:42px;
  min-height:26px;
  justify-content:center;
  padding:.25rem .38rem;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.mbjj-class-block .mbjj-check input,
.mbjj-weekend-class .mbjj-check input{
  width:1rem;
  height:1rem;
  flex:0 0 auto;
  background:#fff;
}
.mbjj-class-block .mbjj-single{
  right:.52rem;
  bottom:.52rem;
  z-index:4;
  padding:.22rem .46rem;
}
.mbjj-class-block:focus,
.mbjj-class-block:hover,
.mbjj-weekend-class:focus,
.mbjj-weekend-class:hover{
  outline:none;
  border-color:var(--mbjj-highlight,#e11d2e);
  transform:translateY(-2px);
  z-index:50;
}
.mbjj-class-block::before,
.mbjj-weekend-class::before{
  content:"More info";
  position:absolute;
  left:.68rem;
  bottom:.5rem;
  z-index:2;
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:950;
  color:rgba(255,255,255,.5);
  opacity:0;
  transition:opacity .16s ease;
  pointer-events:none;
}
.mbjj-class-block:hover::before,
.mbjj-class-block:focus::before,
.mbjj-weekend-class:hover::before,
.mbjj-weekend-class:focus::before{opacity:1;}
.mbjj-schedule-tooltip{
  position:fixed;
  z-index:999999;
  max-width:min(360px, calc(100vw - 28px));
  background:#fff;
  color:#111;
  border:2px solid #111;
  border-radius:16px;
  padding:.82rem .95rem;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
  font-size:.95rem;
  line-height:1.35;
  font-weight:750;
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .14s ease, transform .14s ease;
}
.mbjj-schedule-tooltip.is-visible{opacity:1;transform:translateY(0);}
.mbjj-schedule-tooltip strong{display:block;font-size:1.05rem;line-height:1.05;margin-bottom:.28rem;font-weight:950;letter-spacing:-.02em;}
.mbjj-calendar-panel select{
  min-height:58px;
  line-height:1.15;
  white-space:normal;
  overflow:visible;
}
@media(max-width:760px){
  .mbjj-timegrid-days,.mbjj-timegrid-body{min-width:1060px;}
  .mbjj-timegrid-body{--mbjj-slot-height:38px;}
  .mbjj-timegrid-corner,.mbjj-timegrid-day-name{padding:.78rem .7rem;font-size:.9rem;}
  .mbjj-time-label{font-size:.9rem;padding:.4rem .55rem 0 0;}
  .mbjj-class-block{min-height:112px;margin:6px 8px;padding:.82rem 3.25rem .92rem .86rem;border-radius:16px;}
  .mbjj-class-block .mbjj-time{font-size:.94rem;}
  .mbjj-class-block h4{font-size:1.22rem;line-height:1.02;}
  .mbjj-class-block .mbjj-class-group{font-size:.9rem;}
  .mbjj-class-block .mbjj-check span,
  .mbjj-weekend-class .mbjj-check span{display:none;}
  .mbjj-class-block .mbjj-check,
  .mbjj-weekend-class .mbjj-check{min-width:32px;width:34px;height:30px;padding:.25rem;}
  .mbjj-class-block .mbjj-single{font-size:.74rem;}
  .mbjj-calendar-panel select{min-height:70px;font-size:1.02rem;}
  .mbjj-calendar-panel input{font-size:1.02rem;}
}

/* v1.4 flatter timetable: no intermittent gold/feature borders, tighter corners */
.mbjj-schedule,
.mbjj-notice,
.mbjj-calendar-help,
.mbjj-weekday-panel,
.mbjj-weekend-panel,
.mbjj-calendar-panel,
.mbjj-weekend-class,
.mbjj-schedule-tooltip{
  border-radius:12px!important;
}
.mbjj-class-block{
  border-color:var(--mbjj-primary,#111)!important;
  border-radius:8px!important;
  box-shadow:0 4px 0 rgba(0,0,0,.16),0 8px 18px rgba(0,0,0,.12)!important;
}
.mbjj-class-block.is-featured{
  border-color:var(--mbjj-primary,#111)!important;
  box-shadow:0 4px 0 rgba(0,0,0,.16),0 8px 18px rgba(0,0,0,.12)!important;
}
.mbjj-class-block:has(input:checked),
.mbjj-weekend-class:has(input:checked){
  border-color:#fff!important;
  box-shadow:0 0 0 3px var(--mbjj-primary,#111),0 0 0 6px rgba(0,0,0,.16)!important;
}
.mbjj-class-block:hover,
.mbjj-class-block:focus,
.mbjj-weekend-class:hover,
.mbjj-weekend-class:focus{
  border-color:#fff!important;
  box-shadow:0 0 0 3px var(--mbjj-primary,#111),0 12px 24px rgba(0,0,0,.18)!important;
  transform:translateY(-1px)!important;
}
.mbjj-toolbar-actions button,
.mbjj-calendar-panel button,
.mbjj-selected-count,
.mbjj-single,
.mbjj-weekend-class .mbjj-single,
.mbjj-check{border-radius:10px!important;}
.mbjj-timegrid-corner,.mbjj-timegrid-day-name{border-radius:0!important;}
@media(max-width:760px){
  .mbjj-class-block{border-radius:8px!important;}
}

/* v2.9 schedule footer: no exposed Gmail address, point visitors to contact page */
.mbjj-schedule-footer{
  border-top:6px solid var(--mbjj-primary,#111);
  margin-top:1.3rem;
  padding-top:1rem;
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  justify-content:space-between;
  align-items:center;
  font-weight:850;
  line-height:1.35;
}
.mbjj-schedule-footer span{display:block;color:#111;}
.mbjj-schedule-contact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--mbjj-primary,#111);
  background:var(--mbjj-primary,#111);
  color:#fff!important;
  text-decoration:none!important;
  border-radius:10px;
  padding:.7rem 1rem;
  font-weight:950;
}
.mbjj-schedule-contact:hover,.mbjj-schedule-contact:focus{transform:translateY(-1px);}
@media(max-width:560px){
  .mbjj-schedule-footer{display:grid;gap:.8rem;}
  .mbjj-schedule-contact{width:100%;}
}

/* v3.3 keep schedule width consistent with the rest of the MBJJ pages */
.mbjj-schedule{
  width:min(calc(100% - 32px),var(--mbjj-content-max,1180px))!important;
  max-width:var(--mbjj-content-max,1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mbjj-program-schedule .mbjj-schedule,
.mbjj-schedule-embed .mbjj-schedule{
  width:100%!important;
  max-width:100%!important;
}
@media(max-width:760px){
  .mbjj-schedule{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
  }
  .mbjj-program-schedule .mbjj-schedule,
  .mbjj-schedule-embed .mbjj-schedule{
    width:100%!important;
    max-width:100%!important;
  }
}

/* v3.9 no-weekend timetable: when a filtered page has no weekend/open-mat classes, let the weekday grid use the full card width instead of leaving the old weekend column blank. */
.mbjj-schedule-focus.mbjj-no-weekend{
  grid-template-columns:1fr !important;
}
.mbjj-schedule-focus.mbjj-no-weekend .mbjj-weekday-panel{
  grid-column:1 / -1;
  width:100%;
}
.mbjj-schedule-focus.mbjj-no-weekend .mbjj-timegrid-wrap{
  width:100%;
}
.mbjj-schedule-focus.mbjj-no-weekend .mbjj-timegrid-days,
.mbjj-schedule-focus.mbjj-no-weekend .mbjj-timegrid-body{
  min-width:100% !important;
}
@media(max-width:760px){
  .mbjj-schedule-focus.mbjj-no-weekend .mbjj-timegrid-days,
  .mbjj-schedule-focus.mbjj-no-weekend .mbjj-timegrid-body{
    min-width:760px !important;
  }
}


/* v4.0 replace emoji badge mark with a flat SVG lightning bolt */
.mbjj-brand .mbjj-lightning{
  display:inline-grid!important;
  place-items:center!important;
  width:2.15rem!important;
  height:2.55rem!important;
  flex:0 0 auto!important;
  color:var(--mbjj-highlight,#ff7a1a)!important;
  font-size:0!important;
  line-height:1!important;
}
.mbjj-brand .mbjj-lightning svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  fill:currentColor!important;
}
.mbjj-brand .mbjj-lightning path{
  fill:currentColor!important;
}
@media(max-width:760px){
  .mbjj-brand .mbjj-lightning{
    width:1.9rem!important;
    height:2.25rem!important;
  }
}
