.mhbe-time-row { display: flex; gap: var(--mhcp-space-2, 16px); flex-wrap: wrap; }
.mhbe-time-row .mhcp-field { flex: 1; min-width: 140px; }

.mhbe-estimate {
	background: var(--mhcp-sage-100, #e4ebe1);
	border-radius: var(--mhcp-radius-sm, 6px);
	padding: 10px 14px;
	font-size: 0.9rem;
	color: var(--mhcp-sage-900, #2c4028);
}

.mhbe-agenda-date { margin: var(--mhcp-space-2, 16px) 0 6px; font-size: 1rem; color: var(--mhcp-sage-700, #3a5534); }
.mhbe-agenda-list { list-style: none; margin: 0; padding: 0; }
.mhbe-agenda-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--mhcp-line, #e3ddd0);
	flex-wrap: wrap;
}
.mhbe-inline-cancel { margin-left: auto; }

.mhbe-events-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--mhcp-space-2, 16px);
}
.mhbe-event-card__image { margin: calc(var(--mhcp-space-2, 16px) * -1) calc(var(--mhcp-space-2, 16px) * -1) var(--mhcp-space-1, 8px); overflow: hidden; border-radius: var(--mhcp-radius-md, 12px) var(--mhcp-radius-md, 12px) 0 0; }
.mhbe-event-card__image img { width: 100%; height: 140px; object-fit: cover; display: block; }

.mhbe-single-event__image img { width: 100%; border-radius: var(--mhcp-radius-lg, 20px); margin-bottom: var(--mhcp-space-2, 16px); }

#mhbe-payment-element, #mhbe-event-payment-element { margin: var(--mhcp-space-2, 16px) 0; }

/* ---------- Events month calendar ---------- */
.mhbe-calendar__header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: var(--mhcp-space-2, 16px); }
.mhbe-calendar__header h2 { margin: 0; }
.mhbe-calendar__nav { display: flex; align-items: center; gap: 12px; }
.mhbe-calendar__nav .mhcp-btn { padding: 8px 14px; }
.mhbe-calendar__month { font-family: var(--mhcp-font-display, serif); font-size: 1.1rem; color: var(--mhcp-sage-900, #26361f); min-width: 150px; text-align: center; }

.mhbe-calendar { border: 1px solid var(--mhcp-line, #e6e1d4); border-radius: var(--mhcp-radius-md, 10px); overflow: hidden; background: var(--mhcp-white, #fff); }
.mhbe-calendar__weekdays, .mhbe-calendar__grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.mhbe-calendar__weekday { padding: 10px 6px; text-align: center; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--mhcp-ink-faint, #9a9686); background: var(--mhcp-sage-50, #f5f7f3); border-bottom: 1px solid var(--mhcp-line, #e6e1d4); }

.mhbe-calendar__day {
	min-height: 96px;
	padding: 6px;
	border-right: 1px solid var(--mhcp-line-soft, #efece2);
	border-bottom: 1px solid var(--mhcp-line-soft, #efece2);
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.mhbe-calendar__grid > .mhbe-calendar__day:nth-child(7n) { border-right: none; }
.mhbe-calendar__day--empty { background: var(--mhcp-sage-50, #f5f7f3); }
.mhbe-calendar__day.is-today { background: var(--mhcp-terracotta-100, #f4e9dd); }
.mhbe-calendar__day-number { font-size: 0.78rem; font-weight: 700; color: var(--mhcp-ink-soft, #6d6a5f); }
.mhbe-calendar__day.is-today .mhbe-calendar__day-number { color: var(--mhcp-terracotta-600, #a06840); }
.mhbe-calendar__event {
	display: block;
	font-size: 0.72rem;
	line-height: 1.3;
	padding: 3px 6px;
	border-radius: 4px;
	background: var(--mhcp-sage-100, #eef2ec);
	color: var(--mhcp-sage-700, #3a5534);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mhbe-calendar__event:hover { background: var(--mhcp-sage-300, #8fa389); color: var(--mhcp-white, #fff); }
.mhbe-calendar__more { font-size: 0.7rem; color: var(--mhcp-ink-faint, #9a9686); padding-left: 6px; }

@media (max-width: 640px) {
	.mhbe-calendar__day { min-height: 64px; font-size: 0.85rem; }
	.mhbe-calendar__event { font-size: 0.65rem; }
}

.mhbe-events-calendar { min-height:70vh; box-sizing:border-box; background:var(--mhcp-white,#fff); border:1px solid var(--mhcp-line,#e6e1d4); border-radius:24px; padding:clamp(18px,4vw,36px); box-shadow:0 16px 45px rgba(38,54,31,.08); }
.mhbe-calendar__day { transition:background .18s ease; }
.mhbe-calendar__day:hover:not(.mhbe-calendar__day--empty) { background:var(--mhcp-sage-50,#f5f7f3); }
.mhbe-calendar__event { border-left:3px solid var(--mhcp-sage-700,#3a5534); padding:5px 7px; }
.mhbe-form-shell { max-width:820px; margin:auto; }
.mhbe-form-shell__intro { padding:clamp(24px,5vw,42px); background:linear-gradient(135deg,var(--mhcp-sage-100,#eef2ec),var(--mhcp-terracotta-100,#f4e9dd)); border-radius:22px 22px 0 0; }
.mhbe-form-shell__intro p { margin:5px 0 0; }
.mhbe-event-form { margin-top:0; border-radius:0 0 22px 22px; }
.mhbe-single-event { padding:24px 0 60px; }
.mhbe-single-event__hero { position:relative; min-height:300px; display:flex; align-items:flex-end; overflow:hidden; border-radius:24px; background:linear-gradient(135deg,var(--mhcp-sage-700,#3a5534),var(--mhcp-sage-900,#26361f)); }
.mhbe-single-event__image { position:absolute; inset:0; margin:0; }
.mhbe-single-event__image:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,30,17,.86),rgba(20,30,17,.08)); }
.mhbe-single-event__image img { width:100%; height:100%; object-fit:cover; border-radius:0; margin:0; }
.mhbe-single-event__heading { position:relative; z-index:1; padding:clamp(28px,6vw,58px); max-width:760px; }
.mhbe-single-event__heading h1,.mhbe-single-event__heading .mhcp-eyebrow { color:#fff; }
.mhbe-single-event__layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr); gap:30px; margin-top:30px; }
.mhbe-single-event__content,.mhbe-single-event__aside { background:var(--mhcp-white,#fff); border:1px solid var(--mhcp-line,#e6e1d4); border-radius:18px; padding:clamp(22px,4vw,36px); }
.mhbe-single-event__aside { align-self:start; box-shadow:0 12px 35px rgba(38,54,31,.08); }
.mhbe-event-fact { display:grid; gap:2px; padding:12px 0; border-bottom:1px solid var(--mhcp-line-soft,#efece2); }
.mhbe-event-fact span { color:var(--mhcp-ink-faint,#9a9686); font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; font-weight:700; }
@media(max-width:760px){.mhbe-single-event__layout{grid-template-columns:1fr}.mhbe-calendar{overflow-x:auto}.mhbe-calendar__weekdays,.mhbe-calendar__grid{min-width:700px}}

.mhbe-event-modal { width:min(680px,calc(100vw - 32px)); max-height:88vh; padding:0; border:0; border-radius:20px; overflow:auto; box-shadow:0 30px 90px rgba(20,30,17,.35); }
.mhbe-event-modal::backdrop { background:rgba(26,34,23,.65); backdrop-filter:blur(4px); }
.mhbe-event-modal__close { position:absolute; z-index:2; right:14px; top:14px; width:40px; height:40px; border:0; border-radius:50%; background:rgba(255,255,255,.94); font-size:26px; line-height:1; cursor:pointer; }
.mhbe-event-modal__image img { display:block; width:100%; height:280px; object-fit:cover; }
.mhbe-event-modal__body { padding:clamp(24px,5vw,42px); }
.mhbe-event-modal__body h2 { font-size:clamp(1.7rem,4vw,2.5rem); }
.mhbe-event-modal__meta { color:var(--mhcp-ink-soft,#6d6a5f); font-weight:700; }
.mhbe-upcoming { margin-top:34px; }
.mhbe-upcoming__heading { margin-bottom:14px; }
.mhbe-upcoming__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; }
.mhbe-upcoming-card { display:flex; gap:12px; padding:12px; border:1px solid var(--mhcp-line,#e6e1d4); border-radius:14px; color:inherit; text-decoration:none; background:#fff; transition:.18s; }
.mhbe-upcoming-card:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(38,54,31,.1); }
.mhbe-upcoming-card img { width:86px; height:86px; border-radius:10px; object-fit:cover; }
.mhbe-upcoming-card div { display:flex; flex-direction:column; }
.mhbe-upcoming-card span { color:var(--mhcp-terracotta-600,#a06840); font-size:.75rem; font-weight:700; text-transform:uppercase; }
.mhbe-upcoming-card strong { line-height:1.3; }
.mhbe-upcoming-card small { color:var(--mhcp-ink-faint,#9a9686); margin-top:auto; }
.mhbe-calendar__day.has-events { background:var(--mhcp-sage-50,#f5f7f3); box-shadow:inset 0 0 0 1px var(--mhcp-sage-500,#4f6a4b); }
.mhbe-events-panel__action { margin-top:24px; padding-top:20px; border-top:1px solid var(--mhcp-line,#e6e1d4); }
.mhbe-booking-panel,.mhbe-events-panel { min-height:60vh; }
.mhbe-event-registration{margin-top:36px;padding-top:30px;border-top:1px solid var(--mhcp-line,#e6e1d4)}
.mhbe-event-registration__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.mhbe-event-registration__heading h2{margin:4px 0 0}.mhbe-event-registration__heading>span{padding:7px 11px;border-radius:999px;background:var(--mhcp-sage-100,#eef2ec);color:var(--mhcp-sage-700,#3a5534);font-size:.8rem;font-weight:700;white-space:nowrap}
.mhbe-event-registration__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mhbe-event-registration__form .mhcp-field{margin:0}.mhbe-event-registration__submit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:4px}.mhbe-event-registration__submit p{margin:0}
@media(max-width:640px){.mhbe-event-registration__form{grid-template-columns:1fr}.mhbe-event-registration__heading,.mhbe-event-registration__submit{align-items:stretch;flex-direction:column}.mhbe-event-registration__heading>span{align-self:flex-start}}
