/* Base Reset & Layout Containers */
.momo-schedule-wrapper *,
.momo-schedule-wrapper *:before,
.momo-schedule-wrapper *:after {
  box-sizing: border-box;
  font-family: inherit;
  margin: 0;
  padding: 0;
}

.momo-schedule-wrapper {
  --momo-btn-secondary-bg: #ffffff;
  --momo-btn-primary-bg: rgb(40, 40, 40);
  --momo-btn-primary-color: #ffffff;
  --momo-btn-primary-bg-hover: rgb(90, 2, 2);
  background-color: rgb(240, 220, 220);
  container-type: inline-size;
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica Neue, Arial, sans-serif;
  font-size: calc(13px + 0.3vw);
  height: 100%;
  overflow: hidden auto;
  padding: 0 0 35px 0;
  width: 100%;
}

.momo-schedule__weekly,
.momo-list-schedule {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 1rem;
}

.momo-schedule__weekly-grid,
.momo-list-schedule__grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Day Titles */
.momo-schedule-day-title[data-v-126426ec] {
  align-items: baseline;
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.25rem !important;
}

.momo-schedule-day-title__day[data-v-126426ec],
.momo-schedule-day-title__date[data-v-126426ec] {
  color: rgb(40, 40, 40);
  font-size: calc(14px + 0.3vw);
  font-weight: 600;
  line-height: 1.5rem;
}

.momo-schedule-day-title__date[data-v-126426ec] {
  margin-left: 8px;
}

/* Schedule Items & Cards */
.momo-schedule-item[data-v-f7d1178c] {
  --momo-schedule-item-img-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.25rem !important;
  margin-top: 0.5rem !important;
  padding-left: 0.5rem;
}

@container (min-width: 576px) {
  .momo-schedule-item[data-v-f7d1178c] {
    --momo-schedule-item-img-width: 9.375rem;
    align-items: start;
    flex-direction: row;
  }
}

@container (min-width: 768px) {
  .momo-schedule-item[data-v-f7d1178c] {
    --momo-schedule-item-img-width: 12.5rem;
  }
}

.momo-schedule-item__details[data-v-f7d1178c],
.momo-schedule-item__info[data-v-f7d1178c] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem !important;
}

.momo-schedule-item__title-wrapper[data-v-f7d1178c] {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.momo-schedule-item__title[data-v-f7d1178c] {
  font-size: calc(13px + 0.3vw);
  line-height: 24px;
}

.momo-schedule-item__title[data-v-f7d1178c]:hover a {
  color: rgb(90, 2, 2);
}

/* Visibility Control & Extra Details */
.momo-schedule-item__extra-details[data-v-f7d1178c],
.transition-height-wrapper[data-v-4d40f85a] {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.momo-schedule-item__extra-details[data-v-f7d1178c] {
  margin-top: 0 !important;
  padding: 0 0 0.5rem 0 !important;
}

.momo-read-more__more[data-v-d25ba80a],
.momo-schedule-item__duration[data-v-f7d1178c] {
  display: none !important;
}

.momo-schedule-item__location[data-v-f7d1178c] {
  align-items: center;
  display: flex !important;
  font-size: calc(13px + 0.3vw);
  line-height: 24px;
}

.momo-schedule-item__location[data-v-f7d1178c]:before {
  background-image: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='mask0_5164_1492'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='20'%20height='20'%3e%3crect%20width='20'%20height='20'%20fill='%23D9D9D9'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5164_1492)'%3e%3cpath%20d='M10.0014%209.88738C10.416%209.88738%2010.7704%209.73974%2011.0648%209.44447C11.3592%209.14919%2011.5064%208.79426%2011.5064%208.37967C11.5064%207.96509%2011.3588%207.61058%2011.0635%207.31613C10.7682%207.02183%2010.4132%206.87467%209.9985%206.87467C9.58392%206.87467%209.22948%207.02231%208.93517%207.31759C8.64073%207.61287%208.4935%207.96787%208.4935%208.38259C8.4935%208.79717%208.64114%209.15162%208.93642%209.44592C9.2317%209.74023%209.5867%209.88738%2010.0014%209.88738ZM9.99996%2016.2609C11.6302%2014.8015%2012.8778%2013.4016%2013.7427%2012.0613C14.6075%2010.7211%2015.04%209.54717%2015.04%208.53967C15.04%207.02051%2014.5573%205.77162%2013.592%204.79301C12.6268%203.8144%2011.4294%203.32509%209.99996%203.32509C8.57052%203.32509%207.37316%203.8144%206.40788%204.79301C5.4426%205.77162%204.95996%207.02051%204.95996%208.53967C4.95996%209.54717%205.39239%2010.7211%206.25725%2012.0613C7.12211%2013.4016%208.36968%2014.8015%209.99996%2016.2609ZM9.99996%2017.9243C7.90274%2016.107%206.3301%2014.4159%205.28204%2012.8507C4.23399%2011.2854%203.70996%209.84842%203.70996%208.53967C3.70996%206.61662%204.33197%205.05974%205.576%203.86905C6.82017%202.67835%208.29482%202.08301%209.99996%202.08301C11.7051%202.08301%2013.1798%202.67835%2014.4239%203.86905C15.6679%205.05974%2016.29%206.61662%2016.29%208.53967C16.29%209.84842%2015.7659%2011.2854%2014.7179%2012.8507C13.6698%2014.4159%2012.0972%2016.107%209.99996%2017.9243Z'%20fill='%231F262C'/%3e%3c/g%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1.25rem;
  margin-right: 0.5rem;
  width: 1.25rem;
}

/* Buttons */
.momo-button[data-v-e3059144] {
  align-items: center;
  border: none;
  border-radius: 3.125rem;
  cursor: pointer;
  display: inline-flex;
  font-size: calc(13px + 0.3vw);
  font-weight: 600;
  justify-content: center;
  line-height: 1.5rem;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.momo-schedule-item__button[data-v-f7d1178c] {
  flex-shrink: 0;
  width: 100%;
}

@container (min-width: 576px) {
  .momo-schedule-item__button[data-v-f7d1178c] {
    margin-left: auto;
    width: auto;
  }
}

.momo-button--primary[data-v-e3059144] {
  background-color: var(--momo-btn-primary-bg);
  color: var(--momo-btn-primary-color);
}

.momo-button--secondary[data-v-e3059144] {
  background-color: var(--momo-btn-secondary-bg);
  border: 0.0625rem solid #e8eaed;
  color: rgb(40, 40, 40);
}

/* Badges */
.momo-schedule-item-badge[data-v-7169ec8c] {
  border-radius: 0.25rem;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25rem;
  padding: 0 0.375rem;
}

.momo-schedule-item-badge--waitlist[data-v-7169ec8c],
.momo-schedule-item-badge--online[data-v-7169ec8c],
.momo-schedule-item-badge--full[data-v-7169ec8c] {
  background-color: #fffcf0;
  color: rgb(40, 40, 40);
}

.momo-schedule-item-badge--cancelled[data-v-7169ec8c] {
  background-color: #fffcf0;
  color: #fff;
}

.momo-schedule-item-badge--cancelled[data-v-7169ec8c] + .momo-schedule-item__title[data-v-f7d1178c] {
  text-decoration: line-through;
}

/* Responsive Overrides */
@media screen and (max-width: 480px) {
  .momo-schedule-item__title[data-v-f7d1178c] {
    white-space: pre-wrap;
  }
}

@media screen and (max-width: 320px) {
  .momo-schedule-wrapper,
  .momo-schedule-item__title[data-v-f7d1178c],
  .momo-schedule-item__location[data-v-f7d1178c] {
    font-size: calc(12px + 0.3vw);
  }
}

/* Replicate original minimal link styling for buttons */
.momo-button[data-v-e3059144],
.momo-button--primary[data-v-e3059144],
.momo-button--secondary[data-v-e3059144],
.momo-schedule-item__button[data-v-f7d1178c] {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: rgb(40, 40, 40) !important;
  cursor: pointer;
  display: inline-block !important;
  font-size: calc(13px + 0.3vw) !important;
  font-weight: 600 !important;
  height: auto !important;
  line-height: 24px !important;
  margin-left: auto;
  min-height: unset !important;
  padding: 0 !important;
  text-align: right;
  text-decoration: none;
  width: auto !important;
}

/* Hover state matching your primary link hover color */
.momo-button[data-v-e3059144]:hover,
.momo-button--primary[data-v-e3059144]:hover,
.momo-schedule-item__button[data-v-f7d1178c]:hover {
  background: transparent !important;
  color: rgb(90, 2, 2) !important;
}

/* Lock fluid font sizes once viewport exceeds 1200px */
@media screen and (min-width: 1200px) {
  /* Fix base wrapper, buttons, locations, and titles to 16.6px */
  .momo-schedule-wrapper,
  .momo-schedule-item__title[data-v-f7d1178c],
  .momo-schedule-item__location[data-v-f7d1178c],
  .momo-button[data-v-e3059144] {
    font-size: 16.6px !important;
  }

  /* Fix day titles & dates to 17.6px */
  .momo-schedule-day-title__day[data-v-126426ec],
  .momo-schedule-day-title__date[data-v-126426ec] {
    font-size: 17.6px !important;
  }
}