.ebm-frontend-notice{padding:12px 14px;margin:0 0 15px;border-radius:4px}
.ebm-frontend-notice-success{background:#ecf7ed;border:1px solid #7cc58a}
.ebm-frontend-notice-error{background:#fcf0f1;border:1px solid #d63638}
.ebm-items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:20px 0}
.ebm-item-card,.ebm-single-item,.ebm-booking-shell{border:1px solid #dcdcde;border-radius:10px;padding:18px;background:#fff;overflow:hidden}
.ebm-item-card h3 a,.ebm-booking-shell h3 a{text-decoration:none}
.ebm-item-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ebm-item-meta{margin:.4em 0}
.ebm-item-description p:last-child,.ebm-single-item-content p:last-child{margin-bottom:0}
.ebm-category-list{margin:1em 0 1em 1.2em}
.ebm-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.ebm-form-grid-full{grid-column:1/-1}
.ebm-conditional-block.is-hidden,.ebm-other-instructor-field.is-hidden{display:none}
.ebm-section-title{margin-top:0}
.ebm-single-item{display:grid;gap:16px}
.ebm-item-image img,.ebm-gallery-main img,.ebm-gallery-grid img{display:block;width:100%;height:auto;border-radius:8px}
.ebm-gallery{display:grid;gap:12px}
.ebm-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.ebm-public-calendar-wrap{display:grid;gap:12px}
.ebm-calendar-legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:.95em}
.ebm-legend-swatch{display:inline-flex;width:18px;height:18px;border:1px solid #c3c4c7;align-items:center;justify-content:center;vertical-align:middle;margin-right:4px}
.ebm-legend-available{background:var(--ebm-cal-available,#f0f0f1)}
.ebm-legend-partial{background:var(--ebm-cal-partial,#ffb900);border-color:var(--ebm-cal-partial,#cc9200)}
.ebm-legend-unavailable{background:var(--ebm-cal-full,#d63638);border-color:var(--ebm-cal-full,#b32d2e)}
.ebm-legend-notice{background:var(--ebm-cal-blocked,#646970);color:#fff;border-color:var(--ebm-cal-blocked,#111)}
.ebm-calendar-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;align-items:start}
.ebm-calendar-month{border:1px solid #dcdcde;border-radius:10px;padding:14px;background:#fff;overflow:hidden}
.ebm-calendar-month h3{margin-top:0;margin-bottom:10px}
.ebm-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ebm-calendar-grid-head{margin-bottom:6px}
.ebm-calendar-weekday{font-size:.85em;font-weight:600;text-align:center}
.ebm-day{min-height:72px;border-radius:8px;border:1px solid #dcdcde;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:6px;position:relative;background:var(--ebm-cal-available,#f0f0f1);box-sizing:border-box;min-width:0;gap:6px}
.ebm-day-empty{background:transparent;border:none}
.ebm-day--partial{background:var(--ebm-cal-partial,#ffb900);border-color:var(--ebm-cal-partial,#cc9200);color:#111}
.ebm-day--unavailable{background:var(--ebm-cal-full,#d63638);border-color:var(--ebm-cal-full,#b32d2e);color:#fff}
.ebm-day--blocked{background:var(--ebm-cal-blocked,#646970);border-color:var(--ebm-cal-blocked,#111);color:#fff}
.ebm-day-number{font-weight:600}
.ebm-day-label{display:block;font-size:.78em;line-height:1.25;font-weight:600;word-break:break-word}
.ebm-calendar-planner{display:none}
.ebm-calendar-planner-row{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #dcdcde;border-radius:8px;background:#fff;margin-top:8px}
.ebm-calendar-planner-row--partial{border-color:var(--ebm-cal-partial,#ffb900);background:color-mix(in srgb, var(--ebm-cal-partial,#ffb900) 14%, #fff)}
.ebm-calendar-planner-row--unavailable{border-color:var(--ebm-cal-full,#d63638);background:color-mix(in srgb, var(--ebm-cal-full,#d63638) 10%, #fff)}
.ebm-calendar-planner-row--blocked{border-color:var(--ebm-cal-blocked,#646970);background:color-mix(in srgb, var(--ebm-cal-blocked,#646970) 10%, #fff)}
.ebm-calendar-planner-date{font-weight:600}
.ebm-calendar-planner-text{font-size:.92em;text-align:right}
.ebm-calendar-planner-empty{margin:10px 0 0;color:#646970;font-size:.92em}
.ebm-bookings-list{display:grid;gap:12px}

.ebm-item-book-panel{border-top:1px solid #dcdcde;padding-top:14px}.ebm-cart-form .ebm-booking-shell{margin-bottom:14px}

.ebm-nav-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.ebm-location-notes{background:#f6f7f7;border:1px solid #dcdcde;border-radius:8px;padding:10px}.ebm-item-book-panel .button-primary{background:#6c2bd9;border-color:#6c2bd9}

.ebm-cart-line{margin-bottom:14px}.ebm-cart-line-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.ebm-cart-summary{display:grid;gap:8px;margin-bottom:16px}.ebm-cart-summary-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #dcdcde}.ebm-category-card .ebm-item-image img{width:100%;height:auto;display:block;border-radius:8px}.ebm-settings-table input[type=text],.ebm-settings-table select{width:100%}


.ebm-booking-form label,.ebm-cart-form label,.ebm-booking-shell label{display:block;font-weight:600}
.ebm-booking-form input,.ebm-booking-form select,.ebm-booking-form textarea,.ebm-cart-form input,.ebm-cart-form select,.ebm-booking-shell input,.ebm-booking-shell select,.ebm-booking-shell textarea{width:100%;max-width:100%;box-sizing:border-box}
.ebm-booking-form p,.ebm-cart-form p,.ebm-booking-shell p{margin:0}
.ebm-booking-form .ebm-form-grid,.ebm-cart-form .ebm-form-grid,.ebm-booking-shell .ebm-form-grid{align-items:start}
.ebm-booking-form .button,.ebm-cart-form .button,.ebm-booking-shell .button{min-height:40px}
.ebm-item-book-panel .ebm-form-grid{gap:14px 18px}
.ebm-item-book-panel .ebm-form-grid-full,.ebm-cart-form .ebm-form-grid-full{grid-column:1/-1}
.ebm-cart-summary-row small{display:block;margin-top:4px;color:#646970}
.ebm-checkout-cta-form{margin-top:16px}
.ebm-checkout-cta-form .button-primary,.ebm-booking-shell .button-primary,.ebm-booking-form button[type=submit]{padding:.45rem 1rem}
.ebm-location-notes{margin-top:10px}

.ebm-view-item-button{font-weight:600}
.ebm-field-help{display:block;margin-top:6px;color:#646970;font-weight:400}
.ebm-certificate-field input[type=file]{margin-top:6px}
.ebm-item-image{max-width:260px;margin:0 auto 12px}
.ebm-item-card .ebm-item-image img{max-height:180px;object-fit:cover}


.ebm-pricing-breakdown{display:grid;gap:6px;margin:12px 0;padding:12px;border:1px solid #dcdcde;border-radius:10px;background:#f6f7f7}
.ebm-pricing-breakdown-line{font-size:.95em;color:#2c3338}
.ebm-instructor-fields .ebm-field-help,.ebm-certificate-field .ebm-field-help{margin-top:8px}

.ebm-booking-shell h3 + .ebm-field-help{margin:-6px 0 14px}.ebm-cart-line .ebm-pricing-breakdown{margin-top:14px}.ebm-booking-form>.ebm-field-help{margin:0 0 14px}.ebm-booking-shell .ebm-field-help{font-size:.95em}.ebm-cart-summary h3{margin-top:0}.ebm-cart-line-head h3{margin:0}.ebm-booking-shell .ebm-pricing-breakdown strong{font-weight:600}

/* Phase E portal polish */
.ebm-shell-header,
.ebm-shell-topbar {
  gap: 12px;
}
.ebm-shell-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ebm-status-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f0f4f8;
  font-size: 12px;
  font-weight: 600;
}
@media (max-width: 900px) {
  .ebm-shell-header,
  .ebm-shell-topbar,
  .ebm-shell-brand {
    flex-direction: column;
    align-items: flex-start;
  }
  .ebm-shell-actions,
  .ebm-shell-subnav {
    width: 100%;
  }
  .ebm-shell-actions .button,
  .ebm-shell-subnav .button {
    width: 100%;
    justify-content: center;
  }
  .ebm-shell-grid,
  .ebm-form-grid {
    grid-template-columns: 1fr !important;
  }
  .ebm-shell-table,
  .ebm-shell-table thead,
  .ebm-shell-table tbody,
  .ebm-shell-table tr,
  .ebm-shell-table th,
  .ebm-shell-table td {
    display: block;
    width: 100%;
  }
  .ebm-shell-table thead {
    display: none;
  }
  .ebm-shell-table tr {
    margin-bottom: 12px;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    padding: 10px;
    background: #fff;
  }
  .ebm-shell-table td {
    border: 0;
    padding: 6px 0;
  }
}

@media (max-width: 782px){
  .ebm-public-calendar-wrap--mobile-planner .ebm-calendar-grid,
  .ebm-public-calendar-wrap--mobile-planner .ebm-calendar-grid-head{display:none}
  .ebm-public-calendar-wrap--mobile-planner .ebm-calendar-planner{display:block}
  .ebm-public-calendar-wrap--mobile-calendar .ebm-calendar-months{grid-template-columns:1fr}
  .ebm-public-calendar-wrap--mobile-calendar .ebm-day{min-height:64px;padding:5px}
  .ebm-public-calendar-wrap--mobile-calendar .ebm-day-label{font-size:.72em}
}

.ebm-calendar-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-bottom:8px}.ebm-calendar-nav .ebm-calendar-nav-button:first-child{justify-self:start}.ebm-calendar-nav .ebm-calendar-nav-button:last-child{justify-self:end}.ebm-day-label{white-space:pre-line}

/* v0.17.13 calendar and mobile portal polish */
.ebm-day--notice{background:var(--ebm-cal-notice,#9ca3af);border-color:var(--ebm-cal-notice,#6b7280);color:#111;position:relative}
.ebm-day--notice::after,.ebm-day--unavailable::after{content:'×';position:absolute;right:6px;bottom:2px;font-size:18px;font-weight:800;line-height:1;opacity:.8}
.ebm-calendar-planner-row--notice{border-color:var(--ebm-cal-notice,#9ca3af);background:#f3f4f6}
@media (max-width:782px){.ebm-mobile-nav-collapsed{max-height:0;overflow:hidden;margin:0!important;padding:0!important;border:0!important}}

/* v0.18.9 catalogue/cart foundation polish */
.ebm-cart-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.ebm-cart-actions .ebm-checkout-cta-form{display:inline-block;margin:0}.ebm-cart-actions .ebm-checkout-cta-form button{margin:0}
