/* Mobile readability tweaks */
@media (max-width: 576px) {
  /* Increase the base font size so all rem-based text scales up on small screens */
  html { font-size: 18px; } /* ~12.5% larger than default 16px */

  /* Ensure buttons remain comfortably readable */
  .btn { font-size: 1rem; }

  /* Slight bump for prominent labels like navbar brand and card titles */
  .navbar-brand { font-size: 1.125rem; }
  .card .fw-semibold { font-size: 1.0625rem; }
}

.home-icon {
    font-size: 2.75rem;
}

/* Ensure card titles reserve consistent space (up to 2 lines) so icons align */
.home-card-title {
  line-height: 1.2;            /* tighter lines for titles */
  min-height: 2.4em;           /* reserve exactly two lines of height */
  display: -webkit-box;        /* enable clamping */
  -webkit-line-clamp: 2;       /* show at most two lines */
  -webkit-box-orient: vertical;
  overflow: hidden;            /* hide overflow beyond 2 lines */
}

/* Mobile readability tweaks */
@media (max-width: 576px) {
  /* Increase the base font size so all rem-based text scales up on small screens */
  html { font-size: 18px; } /* ~12.5% larger than default 16px */

  /* Ensure buttons remain comfortably readable */
  .btn { font-size: 1rem; }

  /* Slight bump for prominent labels like navbar brand and card titles */
  .navbar-brand { font-size: 1.125rem; }
  .card .fw-semibold { font-size: 1.0625rem; }
}

.home-icon {
    font-size: 2.75rem;
}

/* Ensure card titles reserve consistent space (up to 2 lines) so icons align */
.home-card-title {
  line-height: 1.2;            /* tighter lines for titles */
  min-height: 2.4em;           /* reserve exactly two lines of height */
  display: -webkit-box;        /* enable clamping */
  -webkit-line-clamp: 2;       /* show at most two lines */
  -webkit-box-orient: vertical;
  overflow: hidden;            /* hide overflow beyond 2 lines */
}

.calendar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.calendar-toolbar .nav { display: flex; align-items: center; gap: 8px; }
.calendar-toolbar .views { display: flex; gap: 6px; }
.calendar-toolbar button.is-active { background: #2563eb; color: white; }
.toastui-calendar-timegrid { height: 99% !important; }
.toastui-calendar-event-background { pointer-events: none; }
.availability-event {
    width: 50% !important;
}

#offcanvasTemplates {
    width: 600px;
}
