.ui-datepicker {
  width: 100%;
  font-family: inherit;
}
.ui-datepicker-header {
  position: relative;
  display: flex;
  padding: var(--sf-spacing-8px);
  justify-content: space-between;
  border-radius: var(--sf-border-radius-xl);
  background-color: var(--sf-color-accent4-10);
  margin-bottom: 1.5rem;
}
.ui-datepicker-prev,
.ui-datepicker-next {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  outline: none;
  border: none;
  white-space: nowrap;
  cursor: pointer;
  font-weight: var(--sf-font-weight-semibold);
  text-transform: var(--sf-case-upper);
  font-family: var(--sf-font-family-primary);
  letter-spacing: var(--sf-letter-spacing-14);
  font-size: 0.875rem;
  color: var(--bg-color);
  background: transparent;
  cursor: pointer;
}
.ui-datepicker-prev.ui-state-disabled,
.ui-datepicker-next.ui-state-disabled {
  color: var(--sf-color-neutrals-disabled);
  cursor: default;
}
.ui-datepicker-title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: var(--sf-color-primary-base);
  font-family: var(--sf-font-family-primary);
  font-weight: var(--sf-font-weight-semibold);
  font-size: var(--sf-font-size-xl);
  line-height: var(--sf-line-height-lg);
  letter-spacing: var(--sf-letter-spacing-sm);
}
.ui-datepicker-calendar {
  table-layout: fixed;
  width: 100%;
}
.ui-datepicker-calendar thead th {
  font-family: var(--sf-font-family-primary);
  font-weight: var(--sf-font-weight-semibold);
  font-size: var(--sf-font-size-xs);
  line-height: var(--sf-line-height-md);
  letter-spacing: var(--sf-letter-spacing-14);
  text-transform: var(--sf-case-upper);
  text-align: center;
  border: none;
  padding: 0 0 18px 0;
}
.ui-datepicker-calendar tbody td {
  padding: 0.25rem;
  border: none;
}
.ui-datepicker-calendar tbody td .ui-state-default {
  cursor: pointer;
  display: block;
  width: 100%;
  background: #e3f2e3;
  padding: 10px 14px 6px;
  border-radius: var(--sf-border-radius-lg);
  min-height: 74px;
  font-weight: 600;
  font-size: 1.25rem;
  color: var(--sf-color-primary-dark);
  border: 4px solid transparent;
}
.ui-datepicker-calendar tbody td.ui-state-disabled .ui-state-default {
  cursor: default;
  background: transparent;
  color: var(--sf-color-primary-alpha-30);
}
.ui-datepicker-calendar tbody td .ui-state-active {
  border: 4px solid var(--sf-color-tertiary-accent2-alpha-50);
}
@media screen and (max-width: 767.98px) {
  .ui-datepicker-calendar tbody td {
    padding: 0.0625rem;
  }
  .ui-datepicker-calendar tbody td .ui-state-default {
    border-radius: var(--sf-border-radius-xs);
    padding: 2px;
    min-height: 45px;
    font-size: 16px;
    line-height: 1.2;
    border: 2px solid transparent;
  }
  .ui-datepicker-calendar tbody td .ui-state-active {
    border: 2px solid var(--sf-color-tertiary-accent2-alpha-50);
  }
}

.my-input {
  padding-bottom: 0.5rem;
  border: none;
  outline: none;
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--sf-color-primary-30);
  display: block;
  color: var(--sf-color-primary-base);
  font-family: var(--sf-font-family-primary);
  font-size: var(--sf-font-size-xl);
  letter-spacing: var(--sf-letter-spacing-sm);
  line-height: var(--sf-line-height-md);
  font-weight: var(--sf-font-weight-semibold);
}
.my-input::placeholder {
  color: var(--sf-color-primary-30);
}
.my-input:focus {
  outline: none;
}
.my-input.invalid {
  border-color: red;
}

.my-label {
  color: var(--sf-color-primary-base);
  font-family: var(--sf-font-family-primary);
  font-size: 1rem;
  line-height: 1.5;
  display: block;
  max-width: max-content;
  cursor: pointer;
}

.my-fields-row {
  display: flex;
  gap: 1rem;
}

.my-fields-row .my-field {
  width: auto;
  flex: 1;
}

@media screen and (max-width: 767.98px) {
  .summary .slot-body {
    display: none;
  }
  .summary.open .slot-body {
    display: block;
  }
  .summary.open .mobile-toggle-button {
    transform: rotate(180deg);
  }
}

.price_old {
  font-size: 70%;
  opacity: 0.5;
  text-decoration: line-through;
}

._loader {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.5);
  color: #195aa3;
  display: none;
}
._loader svg {
  width: 32px;
  height: 32px;
  display: block;
  animation: spin 1s linear infinite;
}
body.loading {
  overflow: hidden;
}
body.loading ._loader {
  display: flex;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
