.hmhba-status{margin-top:.75rem;padding:.75rem 1rem;border-radius:6px;background:#f0f0f1;border-left:4px solid #646970;font-weight:600}.hmhba-status.is-good{background:#edfaef;border-left-color:#008a20;color:#005c16}.hmhba-status.is-bad{background:#fcf0f1;border-left-color:#d63638;color:#8a2424}.hmhba-status.is-info{background:#f0f6fc;border-left-color:#2271b1;color:#174f79}.hmhba-disabled{opacity:.55!important;cursor:not-allowed!important}.hmhba-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);z-index:999999;padding:1rem}.hmhba-modal.is-open{display:flex}.hmhba-modal-card{width:min(560px,100%);background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.3)}.hmhba-modal-card h2{margin-top:0;color:#8a2424}.hmhba-modal-close{border:0;border-radius:5px;background:#2271b1;color:#fff;padding:.65rem 1.1rem;font-weight:600;cursor:pointer}

/*
 * Recurrence editor
 *
 * Gravity Forms lays .gform_fields out as a CSS grid. The recurrence editor is
 * injected next to a GF field rather than being a GF field itself, so it must
 * explicitly span the complete grid. Otherwise the browser places it in a
 * single narrow grid cell (which is what v1.2.1 did on the HMH form).
 */
#hmhba-recurrence.hmhba-recurring-dates{
  grid-column:1 / -1!important;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  margin:.35rem 0 1.35rem;
  padding:1.1rem 1.2rem 1.2rem;
  border:1px solid #d7dce2;
  border-top:4px solid #3b8eea;
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.hmhba-recurring-title{font-size:1rem;font-weight:700;line-height:1.35;margin:0 0 .2rem;color:#202124}.hmhba-recurring-help{max-width:72rem;margin:.15rem 0 1rem;color:#5f6368;font-size:.92em;line-height:1.45}.hmhba-pattern-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1rem}.hmhba-pattern-row label,.hmhba-until{display:flex;min-width:0;flex-direction:column;gap:.38rem;font-weight:600;color:#3c4043}.hmhba-pattern-row select,.hmhba-until input{width:100%;min-height:44px;box-sizing:border-box;margin:0;padding:.55rem .7rem;border:1px solid #8c8f94;border-radius:4px;background:#fff;color:#2c3338;font:inherit}.hmhba-pattern-row select:focus,.hmhba-until input:focus{border-color:#3b8eea;box-shadow:0 0 0 1px #3b8eea;outline:0}.hmhba-months{min-width:0;margin:0;padding:.9rem 0 0;border:0;border-top:1px solid #e2e5e9}.hmhba-months legend{padding:0 .5rem 0 0;font-weight:700;color:#3c4043}.hmhba-month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-top:.65rem}.hmhba-month{display:flex;align-items:center;gap:.45rem;min-width:0;min-height:40px;box-sizing:border-box;padding:.5rem .6rem;border:1px solid #d7dce2;border-radius:5px;background:#f8f9fa;color:#3c4043;font-weight:500;line-height:1.2;cursor:pointer}.hmhba-month:hover{border-color:#9dbfe8;background:#f3f8fe}.hmhba-month input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:#3b8eea}.hmhba-month-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.hmhba-month-actions button{appearance:none;min-height:34px;margin:0;padding:.35rem .65rem;border:1px solid #3b8eea;border-radius:4px;background:#fff;color:#1f67b5;font:inherit;font-size:.88em;font-weight:600;line-height:1.2;cursor:pointer}.hmhba-month-actions button:hover{background:#f2f7fd}.hmhba-rule-summary{display:none;margin-top:.9rem;padding:.65rem .8rem;border-left:3px solid #3b8eea;border-radius:3px;background:#f2f7fd;color:#315b83;font-weight:600;line-height:1.4}.hmhba-rule-summary:not(:empty){display:block}.hmhba-allocation-list{margin:.55rem 0 0 1.25rem;font-weight:400}.hmhba-allocation-list li{margin:.2rem 0}

@media(max-width:900px){.hmhba-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){#hmhba-recurrence.hmhba-recurring-dates{padding:1rem}.hmhba-pattern-row{grid-template-columns:1fr}.hmhba-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:460px){.hmhba-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.2.4 — HMH theme/Gravity Forms can override generic label/grid rules.
 * Use deliberately specific selectors so the 12 abbreviated months render as
 * two comfortable rows of six on desktop rather than one cramped inline row. */
.gform_wrapper #hmhba-recurrence .hmhba-month-grid,
.gform-theme #hmhba-recurrence .hmhba-month-grid,
#hmhba-recurrence .hmhba-month-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  column-gap:1rem!important;
  row-gap:.75rem!important;
  width:100%!important;
  margin-top:.75rem!important;
}
.gform_wrapper #hmhba-recurrence label.hmhba-month,
.gform-theme #hmhba-recurrence label.hmhba-month,
#hmhba-recurrence label.hmhba-month{
  display:flex!important;
  align-items:center!important;
  gap:.5rem!important;
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:.55rem .7rem!important;
  border:1px solid #d7dce2!important;
  border-radius:5px!important;
  background:#f8f9fa!important;
  font-weight:500!important;
  line-height:1.2!important;
}
.gform_wrapper #hmhba-recurrence label.hmhba-month input,
.gform-theme #hmhba-recurrence label.hmhba-month input,
#hmhba-recurrence label.hmhba-month input{
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
}
@media(max-width:900px){
  .gform_wrapper #hmhba-recurrence .hmhba-month-grid,
  .gform-theme #hmhba-recurrence .hmhba-month-grid,
  #hmhba-recurrence .hmhba-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  .gform_wrapper #hmhba-recurrence .hmhba-month-grid,
  .gform-theme #hmhba-recurrence .hmhba-month-grid,
  #hmhba-recurrence .hmhba-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:460px){
  .gform_wrapper #hmhba-recurrence .hmhba-month-grid,
  .gform-theme #hmhba-recurrence .hmhba-month-grid,
  #hmhba-recurrence .hmhba-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* v1.2.5 — give the month action controls breathing room and a clear visual hierarchy. */
.gform_wrapper #hmhba-recurrence .hmhba-month-actions,
.gform-theme #hmhba-recurrence .hmhba-month-actions,
#hmhba-recurrence .hmhba-month-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  column-gap:1rem!important;
  row-gap:.75rem!important;
  margin-top:1rem!important;
}
.gform_wrapper #hmhba-recurrence .hmhba-month-actions button,
.gform-theme #hmhba-recurrence .hmhba-month-actions button,
#hmhba-recurrence .hmhba-month-actions button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:.5rem .9rem!important;
  border-radius:5px!important;
  font-size:.88em!important;
  font-weight:600!important;
  line-height:1.2!important;
  cursor:pointer!important;
}
.gform_wrapper #hmhba-recurrence .hmhba-month-actions .hmhba-select-all-months,
.gform-theme #hmhba-recurrence .hmhba-month-actions .hmhba-select-all-months,
#hmhba-recurrence .hmhba-month-actions .hmhba-select-all-months{
  min-width:138px!important;
  border:1px solid #3b8eea!important;
  background:#3b8eea!important;
  color:#fff!important;
}
.gform_wrapper #hmhba-recurrence .hmhba-month-actions .hmhba-clear-months,
.gform-theme #hmhba-recurrence .hmhba-month-actions .hmhba-clear-months,
#hmhba-recurrence .hmhba-month-actions .hmhba-clear-months{
  min-width:82px!important;
  border:1px solid #9aa4af!important;
  background:#fff!important;
  color:#3c4043!important;
}
#hmhba-recurrence .hmhba-month-actions .hmhba-select-all-months:hover{background:#2f78c9!important;}
#hmhba-recurrence .hmhba-month-actions .hmhba-clear-months:hover{background:#f4f5f6!important;}


/* v1.2.9 — explicit finish time for booking types with no safe default duration. */
.gform_wrapper #hmhba-finish-time,
.gform-theme #hmhba-finish-time,
#hmhba-finish-time{
  margin-top:1rem!important;
  padding:.85rem .9rem!important;
  border:1px solid #d7dce2!important;
  border-radius:6px!important;
  background:#f8f9fa!important;
  box-sizing:border-box!important;
}
#hmhba-finish-time .hmhba-finish-label{margin:0 0 .45rem;font-weight:700;color:#3c4043}
#hmhba-finish-time .hmhba-finish-parts{display:flex;align-items:center;gap:.45rem;max-width:230px}
#hmhba-finish-time .hmhba-finish-parts input{width:88px!important;min-height:42px!important;box-sizing:border-box!important;margin:0!important;padding:.5rem .6rem!important;text-align:center!important}
#hmhba-finish-time .hmhba-time-sep{font-size:1.2rem;font-weight:700;color:#5f6368}
#hmhba-finish-time .hmhba-finish-help{margin-top:.45rem;color:#646970;font-size:.88em;line-height:1.35}
