/**
 * DigiknackDateParts — segmented day / month / year with format order.
 * Pair with public/js/dk-date-parts.js (window.DigiknackDateParts).
 *
 * Prefer DigiknackDate (calendar popover) for normal single dates.
 * Use this when the user must type parts + pick DD/MM/YYYY order (birth charts).
 */

.dk-date-parts {
  --dk-date-parts-ink: var(--admin-nav-idle, #e3dbcc);
  --dk-date-parts-muted: rgba(227, 219, 204, 0.5);
  --dk-date-parts-gap: 12px;
  --dk-date-parts-part-w: 2.25rem;
  --dk-date-parts-year-w: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--dk-date-parts-gap);
  flex-wrap: nowrap;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  color: var(--dk-date-parts-ink);
}

/* Format shrink-wraps — keep DD/MM/YYYY next to it, not far right */
.dk-date-parts__format {
  flex: 0 1 auto;
  min-width: 0;
  width: auto;
}

.dk-date-parts > .dk-select,
.dk-date-parts .dk-select.dk-select--block {
  flex: 0 1 auto;
  min-width: 0;
  width: auto;
  max-width: 100%;
  padding: 0;
}

.dk-date-parts > .dk-select .dk-select__trigger,
.dk-date-parts > .dk-select .dk-select__face,
.dk-date-parts .dk-select.dk-select--block .dk-select__trigger,
.dk-date-parts .dk-select.dk-select--block .dk-select__face {
  width: max-content;
  max-width: 100%;
}

.dk-date-parts__parts {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
  margin: 0;
  min-width: 0;
}

.dk-date-parts__part.contact-input,
.dk-date-parts input.dk-date-parts__part {
  width: var(--dk-date-parts-part-w);
  min-width: var(--dk-date-parts-part-w);
  max-width: 2.75rem;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  text-align: center;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--dk-date-parts-ink);
  caret-color: var(--dk-date-parts-ink);
  -moz-appearance: textfield;
  appearance: textfield;
}

.dk-date-parts__part--year.contact-input,
.dk-date-parts input.dk-date-parts__part--year {
  width: var(--dk-date-parts-year-w);
  min-width: var(--dk-date-parts-year-w);
  max-width: 4.25rem;
}

.dk-date-parts__part.contact-input::-webkit-outer-spin-button,
.dk-date-parts__part.contact-input::-webkit-inner-spin-button,
.dk-date-parts input.dk-date-parts__part::-webkit-outer-spin-button,
.dk-date-parts input.dk-date-parts__part::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.dk-date-parts__part.contact-input::placeholder,
.dk-date-parts input.dk-date-parts__part::placeholder {
  color: var(--dk-date-parts-muted);
  font-weight: 400;
}

.dk-date-parts__sep {
  flex: 0 0 auto;
  color: var(--dk-date-parts-muted);
  font-size: 0.875rem;
  font-weight: 400;
  user-select: none;
  line-height: 1;
}

.dk-form-card .dk-form-card__field > .dk-date-parts,
.dk-form-card .contact-field > .dk-date-parts {
  width: 100%;
  padding: var(--dk-form-card-pad-y, 8px) var(--dk-form-card-pad-x, 16px);
}

.dk-form-card .dk-date-parts .dk-select--block,
.dk-form-card .dk-date-parts .dk-select {
  padding: 0;
}

@media (max-width: 520px) {
  .dk-date-parts {
    flex-wrap: wrap;
    gap: 6px 12px;
  }

  .dk-date-parts__parts {
    width: auto;
    justify-content: flex-start;
  }

  .dk-date-parts__part.contact-input,
  .dk-date-parts input.dk-date-parts__part {
    min-height: 2.25rem;
    font-size: 1rem;
  }
}
