:host {
  display: inline-flex;
  flex-direction: column;
  vertical-align: top;
  --r-label--margin-bottom: 0;
}
:host slot {
  display: contents;
}

:host([readonly]:not([readonly=false])) {
  --r-input-date--container--background-color: var(--r-background-soft, #f3f1f0);
  --r-input-date--container--border-color: transparent transparent var(--r-border-soft, #686868) transparent;
  --r-input-date--container--cursor: text;
}

:host(:hover:not([disabled]:not([disabled=false])):not([readonly]:not([readonly=false]))) {
  --r-input-date--container--background-color: var(--r-background-interactive-hovered, rgba(40, 40, 40, 0.04));
}

:host(:active:not([disabled]:not([disabled=false])):not([readonly]:not([readonly=false]))) {
  --r-input-date--container--background-color: var(--r-background-interactive-pressed, rgba(40, 40, 40, 0.12));
}

:host([full-width]:not([full-width=false])) {
  display: flex;
}

:host([disabled]:not([disabled=false])) {
  cursor: not-allowed;
  --r-input-date--container--opacity: 0.4;
  --r-input-date--container--cursor: not-allowed;
  --r-input-date--container--pointer-events: none;
  --r-input-date--container--background-color: transparent;
}

:host([invalid]:not([invalid=false])) {
  --r-input-date--container--border-color: var(--r-status-error-regular, #b00c15);
  --r-input-date--container--background-color: var(--r-status-error-soft, #fef6f6);
}

.r-input-date {
  padding: var(--r-input-date--padding, 0);
  margin: var(--r-input-date--margin, 0);
  border: var(--r-input-date--border, none);
}
.r-input-date--legend-container {
  display: var(--r-input-date--legend-container--display, flex);
  gap: var(--r-input-date--legend-container--gap, var(--r-spacing-100, 1rem));
  align-items: var(--r-input-date--legend-container--align-items, center);
  justify-content: var(--r-input-date--label-container--align-items, space-between);
}
.r-input-date--legend-container ::slotted([slot=popover]) {
  display: var(--r-input-date--popover--display, inline-flex);
  height: var(--r-input-date--popover--height, var(--r-spacing-150, 1.5));
  align-items: var(--r-input-date--popover--align-items, center);
  justify-content: var(--r-input-date--popover--justify-content, center);
  margin-right: var(--r-input-date--popover--margin-right, -0.25rem);
  --r-popover--trigger--min-width: var(--r-input-date--popover-trigger--min-width, var(--r-spacing-150, 1.5));
  --r-popover--trigger--min-height: var(--r-input-date--popover--trigger--min-height, var(--r-spacing-150, 1.5));
}
.r-input-date--legend {
  padding: var(--r-input-date--label--padding, 0);
}
.r-input-date--container {
  position: var(--r-input-date--container--position, relative);
  display: var(--r-input-date--container--display, flex);
  align-items: var(--r-input-date--container--align-items, center);
  height: var(--r-input-date--container--height, var(--r-spacing-275, 2.75rem));
  font-family: var(--r-input-date--container--font-family, var(--r-font-family-text, system-ui));
  background-color: var(--r-input-date--container--background-color, var(--r-background-softest, #fff));
  border-width: var(--r-input-date--container--border-width, 1px);
  border-style: var(--r-input-date--container--border-style, solid);
  border-color: var(--r-input-date--container--border-color, var(--r-border-soft, #686868));
  box-sizing: var(--r-input-date--container--box-sizing, border-box);
  box-shadow: var(--r-input-date--container--box-shadow, none);
  outline: var(--r-input-date--container--outline, none);
  outline-offset: var(--r-input-date--container--outline-offset, 0);
  padding-right: var(--r-input-date--container--padding-right, 0.7em);
  padding-left: var(--r-input-date--container--padding-left, 0.7em);
  opacity: var(--r-input-date--container--opacity, 1);
  pointer-events: var(--r-input-date--container--pointer-events, auto);
  cursor: var(--r-input-date--container--cursor, inherit);
  margin-top: var(--r-input-date--container--margin-top, var(--r-spacing-025, 0.25rem));
  gap: var(--r-input-date--leading--gap, 0.625rem);
}
.r-input-date--container:has(input:focus-within) {
  --r-input-date--container--box-shadow: 0 0 0 6px var(--r-border-focused-outlined);
  --r-input-date--container--outline: 2px solid var(--r-border-focused);
  --r-input-date--container--outline-offset: 2px;
}
.r-input-date--calendar-icon {
  color: var(--r-input-date--leading--color, var(--r-icon-soft, #686868));
}
.r-input-date--inputs {
  display: var(--r-input-date--inputs--display, flex);
  align-items: var(--r-input-date--inputs--align-items, center);
}
.r-input-date--input {
  max-width: var(--r-input-date--input--max-width, 2.625rem);
  field-sizing: var(--r-input-date--input--field-sizing, content);
  outline: var(--r-input-date--input--outline, none);
  height: var(--r-input-date--input--height, 100%);
  font-family: var(--r-input-date--input--font-family, inherit);
  font-size: var(--r-input-date--input--font-size, var(--r-font-size-400, 1rem));
  background-color: var(--r-input-date--input--background-color, transparent);
  border: var(--r-input-date--input--border, none);
  padding: var(--r-input-date--input--padding, 0);
}
.r-input-date--input[data-date-type=DD] {
  --r-input-date--input--max-width: 1.5rem;
}
.r-input-date--input[data-date-type=MM] {
  --r-input-date--input--max-width: 1.75rem;
}
.r-input-date--delimiter {
  padding-inline: var(--r-input-date--delimiter--padding-inline, var(--r-spacing-025, 0.25rem));
  margin-top: var(--r-input-date--delimiter--margin-top, -0.25rem);
  color: var(--r-input-date--delimiter--color, var(--r-border-regular, #282828));
  font-size: var(--r-input-date--delimiter--font-size, var(--r-spacing-150, 1.5rem));
  font-weight: var(--r-input-date--delimiter--font-weight, 200);
}
.r-input-date--message {
  margin-top: var(--r-input-date--message--margin-top, var(--r-spacing-025, 0.25rem));
}
.r-input-date--message:empty {
  --r-input-date--message--margin-top: 0;
}
.r-input-date--trailing {
  display: var(--r-input-date--trailing--display, flex);
  margin-left: var(--r-input-date--trailing--margin-left, auto);
  align-items: var(--r-input-date--trailing--align-items, center);
  gap: var(--r-input-date--trailing--gap, 0.625rem);
}
.r-input-date--readonly-icon {
  color: var(--r-input-date--readonly-icon--color, var(--r-icon-soft, #686868));
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
