.mtb-wrapper.booking_form_full { width: 100%; max-width: 814px; margin: 0 auto; box-sizing: border-box; }
.mtb-wrapper .mtb-form { width: 100%; }
.mtb-wrapper .is-hidden { display: none !important; }

.mtb-step { color: #fff; opacity: 0.7; font-weight: 300; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 22px; }

.mtb-wrapper .form-row {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  align-items: center; gap: 26px; margin-bottom: 26px;
}
.mtb-wrapper .form-col-full { grid-column: span 3; width: 100%; position: relative; }

.mtb-wrapper input[type="text"],
.mtb-wrapper input[type="email"],
.mtb-wrapper input[type="tel"],
.mtb-wrapper textarea {
  color: #243D4D !important; background-color: #E0F0EE !important;
  width: 100%; border: 0; border-radius: 0; padding: 14px;
  font-size: 1.1rem; font-weight: 300; font-family: inherit;
  box-sizing: border-box; appearance: none; -webkit-appearance: none;
}
.mtb-wrapper input::placeholder,
.mtb-wrapper textarea::placeholder { color: #243D4D; opacity: 0.75; font-weight: 300; }
.mtb-wrapper textarea { resize: vertical; min-height: 96px; line-height: 1.4; }

.mtb-guests-block { margin-bottom: 26px; }
.mtb-guests-toggle {
  background: transparent; border: 0; color: #eee; cursor: pointer;
  font-family: inherit; font-size: 1.15rem; font-weight: 300;
  opacity: 0.8; padding: 0; text-decoration: underline; text-underline-offset: 4px;
}
.mtb-guests-toggle:hover { opacity: 0.9; }
.mtb-guests-hint { color: #fff; opacity: 0.7; font-weight: 300; font-size: 0.9rem; margin-bottom: 14px; }
.mtb-guest-add { display: flex; gap: 12px; align-items: stretch; }
.mtb-guest-add .mtb-guest-input { flex: 1 1 auto; }
.mtb-add-guest {
  flex: 0 0 auto; background: transparent; color: #fff; cursor: pointer;
  border: 1px solid rgba(255,255,255,0.45);
  padding: 0 22px; font-family: inherit; font-size: 0.85rem; font-weight: 300;
  letter-spacing: 0.06em; text-transform: uppercase;
}
.mtb-add-guest:hover:not([disabled]) { border-color: #fff; background: rgba(255,255,255,0.06); }
.mtb-add-guest[disabled] { opacity: 0.4; cursor: default; }
.mtb-guest-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mtb-guest-chips:not(:empty) { margin-top: 12px; }
.mtb-guest-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: #E0F0EE; color: #243D4D; padding: 8px 8px 8px 14px;
  font-weight: 300; font-size: 0.95rem;
}
.mtb-guest-chip > span { line-height: 1.2; }
.mtb-guest-chip button {
  background: transparent; border: 0; color: #5aa59d; cursor: pointer;
  font-size: 1.2rem; line-height: 1; padding: 0 4px; font-family: inherit;
}
.mtb-guest-chip button:hover { opacity: 0.55; }

.mtb-wrapper .mtb-nav { display: flex; gap: 16px; align-items: stretch; }
.mtb-wrapper .mtb-nav-single { display: block; }
.mtb-wrapper .btn-primary {
  background: #5aa59d !important; color: #fff !important;
  cursor: pointer; border: 0; padding: 14px 24px; width: 100%;
  font-family: inherit; font-size: 1rem; font-weight: 300;
  letter-spacing: 0.12em; text-transform: uppercase;
}
.mtb-wrapper .mtb-nav .btn-primary { flex: 1 1 auto; width: auto; }
.mtb-wrapper .btn-primary[disabled] { opacity: 0.5; cursor: progress; }
.mtb-wrapper .btn-secondary {
  background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.5);
  cursor: pointer; padding: 14px 28px; flex: 0 0 auto;
  font-family: inherit; font-size: 1rem; font-weight: 300;
  letter-spacing: 0.12em; text-transform: uppercase;
}
.mtb-wrapper .btn-secondary:hover { border-color: #fff; background: rgba(255,255,255,0.06); }

.mtb-picker { position: relative; width: 100%; }
.mtb-picker-trigger {
  width: 100%; background: #E0F0EE; color: #243D4D; border: 0;
  padding: 14px 16px; font-size: 1.1rem; font-weight: 300; font-family: inherit;
  text-align: left; cursor: pointer; display: flex;
  align-items: center; justify-content: space-between; gap: 12px;
}
.mtb-picker-trigger:hover { background: #d4e6e0; }
.mtb-picker-trigger:focus { outline: 1px solid #243D4D; outline-offset: 0; }
.mtb-picker-trigger[aria-expanded="true"] .mtb-picker-caret { transform: rotate(180deg); }
.mtb-picker-label { flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mtb-picker-label.is-placeholder { opacity: 0.75; }
.mtb-picker-caret { flex: 0 0 auto; display: inline-flex; color: #243D4D; }

.mtb-picker-panel {
  position: absolute; top: calc(100% + 4px); left: 0;
  width: 460px; max-width: 100%;
  background: #E0F0EE; color: #243D4D; z-index: 50;
  box-shadow: 0 6px 20px rgba(0,0,0,0.18);
  display: grid; grid-template-columns: 1.2fr 1fr;
}

.mtb-cal { padding: 10px 12px; border-right: 1px solid rgba(36,61,77,0.12); }
.mtb-cal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.mtb-cal-title { font-weight: 300; font-size: 0.9rem; letter-spacing: 0.03em; }
.mtb-cal-nav {
  background: transparent; border: 0; color: #243D4D;
  font-size: 1rem; line-height: 1; padding: 2px 8px;
  cursor: pointer; border-radius: 2px;
}
.mtb-cal-nav:hover:not(:disabled) { background: #cfe2dc; }
.mtb-cal-nav:disabled { opacity: 0.3; cursor: default; }
.mtb-cal-weekdays {
  display: grid; grid-template-columns: repeat(7, 1fr);
  font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em;
  opacity: 0.55; margin-bottom: 2px;
}
.mtb-cal-weekdays span { text-align: center; padding: 2px 0; }
.mtb-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; }
.mtb-cal-day {
  background: transparent; border: 0; color: #243D4D;
  font-family: inherit; font-weight: 300; font-size: 0.95rem;
  aspect-ratio: 1 / 1; cursor: pointer; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; padding: 0;
}
.mtb-cal-day.is-empty { visibility: hidden; }
.mtb-cal-day.is-disabled { opacity: 0.25; cursor: default; pointer-events: none; }
.mtb-cal-day.is-loading {
  opacity: 0.35; cursor: default; pointer-events: none;
  background: rgba(36,61,77,0.08); color: transparent;
}
.mtb-cal-day.is-available:not(.is-selected):hover { background: #cfe2dc; }
.mtb-cal-day.is-selected { background: #243D4D; color: #fff; }

.mtb-times { padding: 10px 12px; min-height: 200px; }
.mtb-times-back { display: none; }
.mtb-times-title { display: none; }
.mtb-times-empty { font-size: 0.8rem; font-weight: 300; opacity: 0.6; padding-top: 2px; }
.mtb-times-list { display: flex; flex-direction: column; gap: 4px; }
.mtb-time-btn {
  background: transparent; border: 1px solid rgba(36,61,77,0.25);
  color: #243D4D; font-family: inherit; font-weight: 300; font-size: 0.95rem;
  padding: 7px 10px; text-align: left; cursor: pointer;
  display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
}
.mtb-time-btn:hover { background: #cfe2dc; }
.mtb-time-btn.is-selected { background: #243D4D; color: #fff; border-color: #243D4D; }
.mtb-time-meta { font-size: 0.7rem; opacity: 0.7; }
.mtb-time-btn.is-selected .mtb-time-meta { opacity: 0.85; }

.mtb-wrapper .booking_form_notice {
  font-size: 12px; font-weight: 300; line-height: 15.6px;
  text-align: left; color: #fff; margin-bottom: 18px;
}
.mtb-wrapper .booking_form_notice a { color: #fff; text-decoration: underline; font-weight: 300; }

.mtb-status { color: #ffb4b4; font-size: 0.95rem; font-weight: 300; min-height: 1.2em; margin-top: 8px; }
.mtb-status.is-info { color: #fff; }

.booking_form_full_confirmation { max-width: 720px; margin: 0 auto; }
.booking_form_full_confirmation p {
  font-weight: 300; font-size: 22px; line-height: 180%;
  color: #fff; text-align: center; margin: 0;
}

/* manage page */
.mtb-manage .mtb-status { text-align: center; }

.mtb-manage-loading {
  color: #fff; font-weight: 300; opacity: 0.75;
  text-align: center; padding: 40px 0;
}

.mtb-manage .mtb-step { text-align: center; margin-bottom: 20px; }


.mtb-booking-summary {
  width: 100%; margin: 0 0 28px;
  color: #fff; font-weight: 300; font-size: 1.05rem;
}
.mtb-booking-summary > div {
  display: flex; justify-content: space-between; align-items: baseline; gap: 20px;
  padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.mtb-booking-summary > div:first-child { padding-top: 0; }
.mtb-booking-summary > div:last-child { border-bottom: 0; padding-bottom: 0; }
.mtb-booking-summary .mtb-summary-label { opacity: 0.55; font-weight: 300; white-space: nowrap; }

.mtb-manage .mtb-nav { flex-direction: column; gap: 12px; }
.mtb-manage .mtb-nav .btn-primary,
.mtb-manage .mtb-nav .btn-secondary {
  width: 100%; flex: none; box-sizing: border-box; text-align: center;
}

.mtb-manage .mtb-reschedule .form-row { margin-bottom: 22px; }

.mtb-manage-done { text-align: center; }
.mtb-manage-done p { font-size: 1.15rem; }

.mtb-manage .mtb-reschedule-back {
  display: inline-block; width: auto;
  background: transparent; border: 0; padding: 0; margin-bottom: 22px;
  color: #fff; opacity: 0.65; cursor: pointer;
  font-family: inherit; font-size: 0.95rem; font-weight: 300;
}
.mtb-manage .mtb-reschedule-back:hover { opacity: 1; }

.mtb-reschedule-current {
  text-align: center; color: #fff; opacity: 0.7;
  font-weight: 300; font-size: 1rem; margin-bottom: 26px;
}
.mtb-reschedule-current strong { font-weight: 400; opacity: 1; }

body.page-id-1788 #div_block-129-34,
body.page-id-1824 #div_block-129-34 { display: none; }
body.page-id-1788 #div_block-185-34,
body.page-id-1824 #div_block-185-34 { display: none; }
body.page-id-1788 .ct-inner-content { margin-top: 60px !important; }
body.page-id-1824 .ct-inner-content { margin-top: 60px !important; }
body.page-id-1824 #section-2-1789 { padding-top: 120px !important; }
body.page-id-1788 #inner_content-9-34 .ct-section-inner-wrap,
body.page-id-1824 #inner_content-9-34 .ct-section-inner-wrap { justify-content: flex-start !important; align-items: stretch !important; }
body.page-id-1788 #headline-5-1789,
body.page-id-1824 #headline-5-1789 { text-align: center !important; }
body.page-id-1788 #text_block-11-1789,
body.page-id-1824 #text_block-11-1789 { text-align: center !important; }

.mtb-spinner { display: inline-block; margin-top: 14px; animation: mtb-spin 3s linear infinite; }
@keyframes mtb-spin {
  to { transform: rotate(360deg); }
}

/* Mobile */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  body.page-id-1788 #inner_content-9-34,
  body.page-id-1824 #inner_content-9-34 { margin-top: 60px !important; padding-top: 0 !important; }
  body.page-id-1824 #section-2-1789 { padding-top: 60px !important; }
  .mtb-wrapper .form-row { grid-template-columns: 1fr; align-items: stretch; }
  .mtb-wrapper .form-col { grid-column: auto; width: 100%; }

  .mtb-wrapper input[type="text"],
  .mtb-wrapper input[type="email"],
  .mtb-wrapper input[type="tel"],
  .mtb-wrapper textarea,
  .mtb-picker-trigger { font-size: 1.15rem; }

  .mtb-picker-panel { width: 100%; grid-template-columns: 1fr; }
  .mtb-cal { border-right: 0; padding: 14px 16px; }
  .mtb-cal-day { font-size: 1.1rem; }
  .mtb-times { padding: 14px 16px; min-height: 0; }
  .mtb-time-btn { font-size: 1.05rem; padding: 12px 14px; }
  .mtb-time-meta { font-size: 0.9rem; }

  .mtb-picker[data-mobile-step="date"] .mtb-times { display: none; }
  .mtb-picker[data-mobile-step="time"] .mtb-cal   { display: none; }
  .mtb-picker[data-mobile-step="time"] .mtb-times-back  { display: inline-block; background: transparent; border: 0; color: #243D4D; font-family: inherit; font-weight: 300; font-size: 1.1rem; padding: 6px 0 16px; cursor: pointer; }
  .mtb-picker[data-mobile-step="time"] .mtb-times-title { display: block; font-weight: 300; font-size: 0.95rem; margin-bottom: 8px; }
	
  .booking_form_full_confirmation p { font-size: 18px; line-height: 170%; }
}