/* Use the existing YKI course action height throughout the phone site. */
@media (max-width: 767px), (max-width: 1000px) and (max-height: 600px) and (pointer: coarse) {
  html:not(.tablet-portrait) { --phone-action-height: 48px; }

  /* Index controls counter-scale inside offer-sizing.css. Booking's opening
     menu retains its own compact size; calendar cells and tabs stay untouched. */
  html:not(.tablet-portrait) body.booking-page main#main-content.responsive-booking #booking-view {
    & :is(.booking-primary, .booking-mobile-back, .confirmation-button) {
      height: var(--phone-action-height); min-height: var(--phone-action-height); padding-block: 0;
    }
    &.booking-view--calendar > .calendar-actions { grid-template-rows: auto var(--phone-action-height); }
  }

  html:not(.tablet-portrait) body.student-portal-page main#main-content.responsive-portal {
    & :is(.portal-login-button, .booking-primary, .portal-card-button, .portal-join, .portal-yki-entry),
    & .portal-yki > a,
    & :is(.portal-dashboard-actions, .portal-lesson-actions, .portal-dialog-actions) > .portal-quiet {
      height: var(--phone-action-height); min-height: var(--phone-action-height); padding-block: 0;
    }
    & .portal-yki > a { display: inline-flex; align-items: center; }
  }

  html:not(.tablet-portrait) body.admin-page main#main-content.responsive-admin {
    & :is(.admin-login-button, .booking-primary, .admin-join),
    & :is(.admin-actions, .admin-dialog-actions) > .admin-text-button {
      height: var(--phone-action-height); min-height: var(--phone-action-height); padding-block: 0;
    }
    & .admin-join { display: inline-flex; align-items: center; }
  }

  html:not(.tablet-portrait) body.course-page main#main-content.responsive-course #course-view .course-primary {
    height: var(--phone-action-height); min-height: var(--phone-action-height); padding-block: 0;
  }
}
