/* Date/Time Menu */

// overall menu
#calendarArea {
  padding: $base_padding - 2px;
}

// Calendar menu side column
.datemenu-calendar-column {
  spacing: $base_padding;
  &:ltr {padding-left: $base_padding;}
  &:rtl {padding-right: $base_padding;}
  .datemenu-displays-box {spacing: $base_padding;}
}

/* today button (the date) */
.datemenu-today-button {
  @include card(flat);
  padding: $base_padding * 1.5;

  // weekday label
  .day-label {
    @extend %heading;
  }

  // date label
  .date-label {
    @extend %title_2;
  }
}

/* Calendar */
.calendar {
  @include card(flat);
  margin-top: 0;

  // month header
  .calendar-month-header {

    // prev/next month icons
    .calendar-change-month-back StIcon,
    .calendar-change-month-forward StIcon {
      icon-size: $base_icon_size;
    }

    // month label
    .calendar-month-label {
      @extend %heading;
      padding: 8px 0;
    }

    .pager-button {
      @extend .button, .flat;
      padding: 0 !important;
      height: 32px;
      width: 32px;
      margin: 2px;
      border-radius: $base_border_radius;
      transition-duration: 100ms;
    }
  }

  // day style
  .calendar-day {
    @extend %numeric;
    @extend %smaller;
    @extend .button, .flat;

    border-radius: 99px;
    height: 3em !important;
    width: 3em !important;
    margin: 2px;
    padding: 0 !important;
    font-weight: 600;
    text-align: center;
    transition-duration: 100ms;

    // day of week heading
    &.calendar-day-heading {
      background-color: transparent;
      color: $insensitive_fg_color;
      height: 0.93em !important; // force heading to be smaller height
      padding-top: $base_padding !important;
      margin-bottom: 0;
      border-radius: 9px;
    }

    &.calendar-weekday {}

    &.calendar-weekend {
      color: $insensitive_fg_color;
    }

    &.calendar-other-month {
      color: transparentize($insensitive_fg_color, 0.7) !important;
      font-weight: normal;
    }

    &.calendar-today {
      @extend .button, .default;
      color: $selected_fg_color; /* override weekends */
    }

    &.calendar-day-with-events {
      background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/calendar-today-light.svg"),url("resource:///org/gnome/shell/theme/calendar-today.svg"));
      background-size: contain;
    }
  }

  // week number style
  .calendar-week-number {
    @include fontsize($base_font_size - 4);
    font-weight: bold;
    font-feature-settings: "tnum";
    text-align: center;
    margin: 6px;
    padding: 0 $base_padding;
    border-radius: 3px;
    background-color: transparentize($fg_color, 0.9);
    color: $insensitive_fg_color;

    @if $is_highcontrast {
      border:1px solid $hc_inset_color;
    }
  }
}

/* Events */
.events-button {
  @include card;
  padding: $base_padding * 2;

  .events-box {
    spacing: $base_padding;
  }

  .events-list {
    spacing: 2 * $base_padding;
    color: $fg_color;
  }

  .events-title {
    @extend %heading;
    margin-bottom: $base_margin;
  }

  .event-time {
    @extend %numeric;
    @extend %caption;
    color: $insensitive_fg_color;
  }
}

/* World clocks */
.world-clocks-button {
  @include card;
  padding: $base_padding * 2;

  .world-clocks-grid {
    spacing-rows: $base_padding;
    spacing-columns: $base_padding * 2;
  }

  // title
  .world-clocks-header {
    @extend %heading;
    color: $insensitive_fg_color;
  }

  // city label
  .world-clocks-city {
    color: $fg_color;
  }

  // timezone time
  .world-clocks-time {
    @extend %heading;
    @extend %numeric;
    color: $fg_color;

    &:ltr {text-align: right;}
    &:rtl {text-align: left;}
  }

  // timezone offset label
  .world-clocks-timezone {
    @extend %numeric;
    @extend %caption;
    color: $insensitive_fg_color;
  }
}

/* Weather */
.weather-button {
  @include card;
  padding: $base_padding * 2;

  .weather-box {
    spacing: $base_padding + $base_margin;
  }

  .weather-header-box {
    spacing: $base_padding;
  }

  .weather-header {
    color: $insensitive_fg_color;
    @extend %heading;

    &.location {
      font-weight: normal;
    }
  }

  .weather-grid {
    spacing-rows: $base_padding;
    spacing-columns: $base_padding * 2;
  }

  .weather-forecast-time {
    @extend %numeric;
    @extend %caption;
    color: darken($fg_color,30%);
    padding-top: 0.2em;
    padding-bottom: 0.4em;
  }

  .weather-forecast-icon {
    icon-size: $large_icon_size;
  }

  .weather-forecast-temp {
    @extend %heading;
  }
}
