/* Calendar: readable Spanish labels within the 320px iPhone SE viewport. */
.m-form-wrapper:has(.m-form-picker-date.show) {
  z-index: 2;
}

.m-form-picker-date .m-form-picker-container {
  width: min(306px, calc(100vw - 24px));
}

.m-form-picker-date .m-form-picker-header-display,
.m-form-picker-date .m-form-picker-week div {
  white-space: nowrap;
}

.m-form-picker-date .m-form-picker-week,
.m-form-picker-date .m-form-picker-days {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.m-form-picker-date .m-form-picker-week div {
  width: auto;
  margin-inline: 0;
}

.m-form-picker-date .m-form-picker-days div {
  margin-inline: auto;
}

/* One compact language menu on desktop and mobile. */
.l-header-language-menu {
  position: relative;
  z-index: 35;
  flex: none;
  color: var(--text-primary);
  font-size: 16px;
  line-height: 21px;
}

.l-header-language-menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 5px 0;
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
}

.l-header-language-menu-toggle::-webkit-details-marker {
  display: none;
}

.l-header-language-menu-toggle span,
.l-header-language-menu-current {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.l-header-language-menu-toggle:focus-visible,
.l-header-language-menu-options a:focus-visible {
  outline: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.l-header-language-menu-options {
  position: absolute;
  top: calc(100% + 5px);
  /* Offset the panel and item padding so its text aligns with the header code. */
  left: -17px;
  z-index: 35;
  width: max-content;
  margin: 0;
  padding: 5px;
  list-style: none;
  background: var(--white);
  border: none;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(77, 91, 124, .06);
  text-align: left;
}

.l-header-language-menu-options a,
.l-header-language-menu-options span {
  display: block;
  padding: 9px 12px;
  border-radius: 3px;
  white-space: nowrap;
}

.l-header-language-menu-options a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.l-header-language-menu-current {
  font-weight: 400;
}

.l-header-language-menu-unavailable {
  color: var(--text-third);
  cursor: default;
}

@media (max-width: 1023px) {
  .l-header-container > .l-header-language-menu {
    order: 2;
    margin-left: auto;
    margin-right: 12px;
  }

  .l-header-nav {
    order: 3;
  }
}

@media (min-width: 1024px) {
  .l-header-container > .l-header-language-menu {
    justify-self: end;
    margin-top: 3px;
  }
}
