.lmks-rate-list { display: grid; grid-template-columns: 1fr; gap: 8px; }
.lmks-rate-row { display: flex; flex-direction: column; min-width: 0; padding: 12px; border-radius: 10px; background: #f2f4f6; }
.lmks-rate-row > :first-child { display: block; margin: 0 0 6px; color: #52635f; font-size: 13px; line-height: 1.4; }
.lmks-rate-purchase { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: auto 0 0; }
.lmks-rate-purchase .lmks-price { display: block; flex-shrink: 0; margin: 0; font-size: 14px; line-height: 1.3; white-space: nowrap; }
.lmks-rate-book { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 132px; min-width: 0; max-width: 100%; min-height: 48px; padding: 8px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.3; text-align: center; overflow-wrap: anywhere; box-sizing: border-box; }
#reservation { scroll-margin-top: 90px; }
.lmks-booking-card { scroll-margin-top: 90px; }
.lmks-booking-summary { margin: 0; padding: 12px; border-radius: 10px; background: #edf8f3; color: #006b5f; font-size: 14px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.lmks-booking-description { display: block; margin-top: 8px; font-size: 13px; font-weight: 400; }
#lmksFastBookingForm { scroll-margin-top: 110px; }
.lmks-mobile-booking-title { display: none; }
.lmks-activity-schedule[hidden], .lmks-booking-dates[hidden] { display: none !important; }
.lmks-activity-schedule > div { display: flex; flex-direction: column; min-width: 0; }
.lmks-activity-schedule input, .lmks-activity-schedule select { margin-top: auto; }
.lmks-schedule-note { margin: 0; color: #52635f; font-size: 13px; line-height: 1.5; }

.lmks-course-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.lmks-course-pair { display: contents; }
.lmks-course-card { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.lmks-course-card > :first-child { padding-bottom: 8px; }
.lmks-rate-heading { display: block; margin: 0; font-size: 14px; font-weight: 600; line-height: 20px; }
.lmks-course-prices { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.lmks-course-prices > .lmks-rate-list { margin: 0; }
.lmks-rate-section > .lmks-rate-row, .lmks-rate-section > .lmks-rate-list { margin-top: 8px; }
.lmks-rental-details { display: flex; flex-direction: column; gap: 12px; }
.lmks-rental-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.lmks-rental-prices { min-width: 0; }
.lmks-rental-prices > p { margin-top: 12px; }
.lmks-course-card > *, .lmks-rental-card > * { margin-top: 0 !important; margin-bottom: 0 !important; }
@media (min-width: 640px) {
  .lmks-rental-card { display: grid; grid-template-rows: subgrid; grid-row: span 2; row-gap: 12px; }
}
@media (min-width: 768px) {
  .lmks-course-grid { grid-auto-rows: auto; }
  .lmks-course-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto auto; column-gap: 32px; row-gap: 8px; }
  .lmks-course-card { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 8px; }
  .lmks-course-card > :first-child { padding-bottom: 24px; }
}
@media (max-width: 767px) {
  #reservation.lmks-has-booking { padding: 24px 12px; }
  .lmks-has-booking .lmks-booking-banner { padding: 12px; }
  .lmks-has-booking .lmks-booking-intro { display: none; }
  .lmks-mobile-booking { padding: 20px; scroll-margin-top: 76px; }
  .lmks-mobile-booking > [data-i18n="form_card_title"] { display: none; }
  .lmks-mobile-booking .lmks-mobile-booking-title { display: block; margin: 0; font-size: 22px; font-weight: 700; line-height: 1.2; }
  .lmks-mobile-booking-title:focus { outline: none; }
  .lmks-mobile-booking .lmks-booking-description { display: none; }
  .lmks-mobile-booking .lmks-booking-summary { padding: 10px 12px; font-size: 14px; line-height: 1.4; }
  .lmks-mobile-booking form > :not([hidden]) ~ :not([hidden]) { margin-top: 12px; }
  .lmks-mobile-booking form label { font-size: 13px; line-height: 1.4; }
  .lmks-mobile-booking form input:not([type="hidden"]), .lmks-mobile-booking form select { min-width: 0; min-height: 44px; padding: 10px; font-size: 16px; }
  .lmks-mobile-booking .lmks-booking-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lmks-mobile-booking .lmks-booking-dates input { padding: 10px 6px; font-size: 14px; }
  .lmks-mobile-booking [data-i18n="turnstile_notice"] { display: none; }
  .lmks-mobile-booking #lmksLeadSubmitBtn { min-height: 48px; padding: 12px; font-size: 14px; }
  .lmks-booking-extra { border-top: 1px solid #d9e4df; border-bottom: 1px solid #d9e4df; }
  .lmks-booking-extra > summary { min-height: 44px; padding: 12px 0; color: #006b5f; cursor: pointer; font-size: 13px; font-weight: 600; line-height: 1.5; }
  .lmks-booking-extra > summary:focus-visible { outline: 2px solid #006b5f; outline-offset: 2px; }
  .lmks-booking-extra-fields > * { margin: 0 0 16px; }
  .lmks-booking-extra-fields > [hidden] { display: none; }
}
@media (max-width: 359px) {
  .lmks-mobile-booking .lmks-booking-dates { grid-template-columns: minmax(0, 1fr); }
}


@media (min-width: 768px) {
  .lmks-course-pair--single { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
  .lmks-course-pair--single .lmks-course-card { display: flex; grid-row: auto; width: 100%; }
  .lmks-foil-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: start; }
  .lmks-foil-intro > .space-y-6 { margin: 0; }
  .lmks-course-pair--single .lmks-course-prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
  .lmks-course-pair--single .lmks-rate-section > h4 { margin-bottom: 8px; }
}
