/*
 * Single visual owner for the public and student booking calendars.
 * yoguini-core supplies structure and behaviour; theme settings supply tokens.
 */
body :where(.yoguini-public-calendar, .yoguini-practice-calendar) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body .yoguini-booking-week,
body .yoguini-booking-week * {
  letter-spacing: 0;
}

body .yoguini-booking-class {
  box-shadow: none;
}

body .yoguini-booking-class__title {
  font-family: var(--yoguini-calendar-class-title-font);
}

body .yoguini-booking-class__details {
  font-family: var(--yoguini-calendar-class-details-font);
}

body .yoguini-booking-class__action-control,
body .yoguini-booking-class__primary-action {
  min-height: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font-family: var(--yoguini-calendar-action-font);
}

body .yoguini-booking-class__state-label {
  font-family: var(--yoguini-calendar-reserved-label-font);
  font-size: var(--yoguini-calendar-reserved-label-size);
  font-weight: var(--yoguini-calendar-reserved-label-weight);
}

body .yoguini-booking-class__primary-action:hover,
body .yoguini-booking-class__primary-action:focus,
body .yoguini-booking-class__action-control:hover,
body .yoguini-booking-class__action-control:focus {
  background: transparent !important;
  color: inherit !important;
}

body .yoguini-personal-class {
  border: var(--yg-agenda-border-width) solid var(--yg-agenda-border-color, var(--yg-color-line));
  border-radius: var(--yg-agenda-border-radius);
  background: var(--yg-agenda-background, var(--yg-color-card));
}

body .yoguini-personal-class.is-next {
  border-left-width: max(var(--yg-agenda-border-width), 4px);
}

body :where(
  .yoguini-personal-class__attendee,
  .yoguini-personal-class__attendee-more,
  .yoguini-personal-class__attendee-image
) {
  width: var(--yg-agenda-attendee-size);
  height: var(--yg-agenda-attendee-size);
  flex-basis: var(--yg-agenda-attendee-size);
  border-width: var(--yg-agenda-attendee-border-width);
  border-color: var(--yg-agenda-attendee-border-color);
  border-radius: var(--yg-agenda-attendee-radius);
}

body .yoguini-personal-class__attendee-list {
  gap: var(--yg-agenda-attendee-gap);
}

@media (max-width: 782px) {
  body .yoguini-booking-calendar__scroller {
    margin-inline: 0;
  }

  body .yoguini-booking-week {
    width: 100%;
  }
}
