/*
 * SPDX-FileCopyrightText: 2023 Siemens AG
 *
 * SPDX-License-Identifier: MIT
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
/*
* SPDX-FileCopyrightText: 2024 Siemens AG
*
* SPDX-License-Identifier: MIT
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/* Dimensions */
/* Font sizes */
/* Line heights */
/*
* SPDX-FileCopyrightText: 2024 Siemens AG
*
* SPDX-License-Identifier: MIT
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/*
* SPDX-FileCopyrightText: 2024 Siemens AG
*
* SPDX-License-Identifier: MIT
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/*
* SPDX-FileCopyrightText: 2024 Siemens AG
*
* SPDX-License-Identifier: MIT
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
:host {
  display: block;
  position: relative;
  max-width: 21rem;
}
:host *,
:host *::after,
:host *::before {
  box-sizing: border-box;
}
:host ::-webkit-scrollbar-button {
  display: none;
}
@-moz-document url-prefix() {
  :host * {
    scrollbar-color: var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);
    scrollbar-width: thin;
  }
}
:host {
  /* width */
}
:host ::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}
:host {
  /* Track */
}
:host ::-webkit-scrollbar-track {
  border-radius: 5px;
  background: var(--theme-scrollbar-track--background);
}
:host ::-webkit-scrollbar-track:hover {
  background: var(--theme-scrollbar-track--background--hover);
}
:host {
  /* Handle */
}
:host ::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: var(--theme-scrollbar-thumb--background);
}
:host {
  /* Handle on hover */
}
:host ::-webkit-scrollbar-thumb:hover {
  background: var(--theme-scrollbar-thumb--background--hover);
}
:host ::-webkit-scrollbar-corner {
  display: none;
}
:host .header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
:host .disabled-item {
  pointer-events: none;
  background-color: var(--theme-datepicker-day--background--disabled);
  color: var(--theme-datepicker-day--color--disabled);
  cursor: default;
}
:host .selector {
  flex-basis: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
}
:host .selector .dropdown {
  color: var(--theme-menu-item--color);
  font-size: 14px;
  line-height: 20px;
}
:host .selector .capitalize {
  text-transform: capitalize;
}
:host .selector .month-dropdown-item {
  margin-left: 4px;
  margin-right: 4px;
}
:host .selector .month-dropdown-item:focus-visible {
  outline: 1px solid var(--theme-color-focus-bdr);
  outline-offset: var(--theme-btn--focus--outline-offset);
}
:host .selector .arrowYear {
  display: flex;
  position: relative;
  padding: 0.75rem 2rem;
  align-items: center;
  cursor: pointer;
}
:host .selector .arrowYear:hover {
  background-color: var(--theme-select-list-item--background--hover);
}
:host .selector .arrowYear.selected {
  background-color: var(--theme-select-list-item--background--selected);
}
:host .selector .arrowYear .arrowPosition {
  position: absolute;
  left: calc(1rem - 6px);
  top: calc(50% - 6px);
}
:host .selector .arrowYear .checkPosition {
  position: absolute;
  left: calc(1rem - 6px);
  top: calc(50% - 8px);
}
:host .selector .arrowYear .monthMargin {
  margin-left: 10px;
}
:host .wrapper {
  display: flex;
}
:host .wrapper .overflow {
  overflow-y: scroll;
  max-height: 250px;
}
:host .grid {
  display: grid;
  grid-template-columns: repeat(7, 40px);
  grid-template-rows: repeat(7, 40px);
  align-items: center;
  justify-items: center;
  justify-content: center;
  color: var(--theme-datepicker-today--color);
}
:host .grid--show-week-numbers {
  grid-template-columns: 24px repeat(7, 40px);
}
:host .grid .calendar-item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--theme-datepicker-day--background);
  border: 1px solid var(--theme-datepicker-day--background);
  width: 40px;
  height: 40px;
  cursor: pointer;
}
:host .grid .calendar-item:focus-visible {
  outline: 1px solid var(--theme-color-focus-bdr);
  box-shadow: inset 0 0 0 1px var(--theme-color-inv-contrast-text);
  background-color: var(--theme-datepicker-day--background--selected);
  border: inset 1px solid var(--theme-datepicker-day--border-color--selected);
  color: var(--theme-datepicker-day--color--selected);
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0;
}
:host .grid .calendar-item.today {
  border: 1px solid var(--theme-datepicker-today--border-color);
}
:host .grid .calendar-item.today:hover {
  background-color: var(--theme-datepicker-day--background--hover);
}
:host .grid .calendar-item.today:active {
  background-color: var(--theme-datepicker-day--background--active);
}
:host .grid .calendar-item.today.selected {
  box-shadow: inset 0 0 0 1px white;
}
:host .grid .calendar-item.today.selected:hover {
  background-color: var(--theme-datepicker-day--background--selected-hover);
}
:host .grid .calendar-item.today.selected:active {
  background-color: var(--theme-datepicker-day--background--selected-active);
}
:host .grid .calendar-item.today.selected.disabled {
  pointer-events: none;
  background-color: var(--theme-datepicker-day--background--selected-disabled);
  border: 1px solid var(--theme-datepicker-day--background--selected-disabled);
  color: var(--theme-datepicker-day--color--selected-disabled);
}
:host .grid .calendar-item.today.range {
  background-color: var(--theme-datepicker-day--background--range);
  color: var(--theme-datepicker-day--color--range);
  border: 1px solid var(--theme-datepicker-today--border-color--range);
  box-shadow: inset 0 0 0 1px white;
}
:host .grid .calendar-item.today.range:hover {
  background-color: var(--theme-datepicker-day--background--range-hover);
  border: 1px solid var(--theme-datepicker-today--border-color--range-hover);
}
:host .grid .calendar-item.today.range:active {
  background-color: var(--theme-datepicker-day--background--range-active);
  border: 1px solid var(--theme-datepicker-today--border-color--range-active);
}
:host .grid .calendar-item.today.range.disabled {
  background-color: var(--theme-datepicker-day--background--range-disabled);
  color: var(--theme-datepicker-day--color--range-disabled);
  border: 1px solid var(--theme-datepicker-today--border-color--range-disabled);
}
:host .grid .calendar-item.today.disabled {
  pointer-events: none;
  background-color: var(--theme-datepicker-day--background--disabled);
  color: var(--theme-datepicker-day--color--disabled);
  cursor: default;
}
:host .grid .calendar-item:hover {
  background-color: var(--theme-datepicker-day--background--hover);
}
:host .grid .calendar-item:active {
  background-color: var(--theme-datepicker-day--background--active);
}
:host .grid .calendar-item.selected {
  background-color: var(--theme-datepicker-day--background--selected);
  color: var(--theme-datepicker-day--color--selected);
  border: 1px solid var(--theme-datepicker-day--background--selected);
  font-weight: var(--theme-font-weight-bold);
}
:host .grid .calendar-item.selected:hover {
  background-color: var(--theme-datepicker-day--background--selected-hover);
}
:host .grid .calendar-item.selected:active {
  background-color: var(--theme-datepicker-day--background--selected-active);
}
:host .grid .calendar-item.selected.disabled {
  pointer-events: none;
  background-color: var(--theme-datepicker-day--background--selected-disabled);
  color: var(--theme-datepicker-day--color--selected-disabled);
}
:host .grid .calendar-item.range {
  background-color: var(--theme-datepicker-day--background--range);
  color: var(--theme-datepicker-day--color--range);
}
:host .grid .calendar-item.range:hover {
  background-color: var(--theme-datepicker-day--background--range-hover);
}
:host .grid .calendar-item.range:active {
  background-color: var(--theme-datepicker-day--background--range-active);
}
:host .grid .calendar-item.range.disabled {
  pointer-events: none;
  background-color: var(--theme-datepicker-day--background--range-disabled);
  color: var(--theme-datepicker-day--color--range-disabled);
}
:host .grid .calendar-item.disabled {
  pointer-events: none;
  background-color: var(--theme-datepicker-day--background--disabled);
  color: var(--theme-datepicker-day--color--disabled);
}
:host .grid .calendar-item.week-day {
  color: var(--theme-datepicker-weekday--color);
  font-size: var(--theme-ms-0);
  line-height: 143%;
  border: none;
  background: none;
  cursor: initial;
}
:host .grid .calendar-item.week-day .overflow {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:host .grid .calendar-item.empty-day {
  border: none;
  background: none;
  cursor: initial;
}
:host .grid .calendar-item.week-number {
  font-size: 10px;
  line-height: 14px;
  color: var(--theme-datepicker-weekday--color);
  border: none;
  background: none;
  cursor: initial;
  width: 1.5rem;
}
:host .button {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}
:host .hidden {
  display: none;
}