/* Folio v0.7.5 — カレンダーの月間・週間表示と家族欄の再構成 */

.calendar-heading {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.calendar-heading .eyebrow {
  color: var(--ink-soft);
  font-size: 7px;
  letter-spacing: .17em;
}

.calendar-heading h1 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--ink);
  font: 500 clamp(18px, 1.75vw, 25px)/1.08 var(--display);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border: 1px solid rgba(63, 70, 60, .18);
  border-radius: 3px;
  background: rgba(239, 232, 213, .72);
}

.calendar-view-switch button {
  min-width: 42px;
  height: 27px;
  padding: 0 8px;
  color: var(--ink-soft);
  border: 0;
  border-radius: 2px;
  background: transparent;
  font: 10px var(--utility);
}

.calendar-view-switch button.is-active {
  color: #fffdf4;
  background: #526b5a;
  box-shadow: 0 1px 3px rgba(45, 57, 49, .2);
}

@media (min-width: 840px) {
  .home-view .right-page {
    grid-template-rows: minmax(0, 66.5%) minmax(0, 31.3%);
    gap: 1.35%;
  }

  .home-view .right-page > .calendar-card {
    grid-template-rows: 49px 23px minmax(0, 1fr);
    padding-top: 4px;
  }

  .home-view .calendar-controls {
    height: 49px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto 28px;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid rgba(61, 67, 59, .13);
  }

  .home-view .calendar-controls > button {
    width: 28px;
    height: 32px;
    padding: 0;
    font-size: 24px;
  }

  .home-view .calendar-grid.is-week {
    grid-template-rows: minmax(0, 1fr);
  }

  .home-view .calendar-grid.is-week .calendar-day {
    font-size: 16px;
  }

  .home-view .calendar-grid.is-week .calendar-day.is-today::before {
    inset: 8% 10%;
  }

  .home-view .calendar-grid.is-week .day-dots {
    bottom: 10%;
  }

  .home-view .right-page .family-today-panel {
    padding-right: 33%;
  }

  .home-view .right-page .family-today-panel .bottom-photo {
    width: 31%;
    height: 86%;
    right: 1.2%;
    bottom: 7%;
  }
}

@media (max-width: 839px) {
  .calendar-view-switch button { min-width: 38px; }
}
