/* Approved dropdown A, shared by public CZ/EN booking, vouchers and management. */
:is(.booking-page, .voucher-page) select {
  color-scheme: dark; background: #2b241f; color: #f8f0e2;
  border: 1px solid #6c5941; border-radius: 8px; min-height: 56px;
}
.essence-select { position: relative; min-width: 0; width: 100%; text-transform: none; letter-spacing: normal; }
.essence-select.is-open { z-index: 40; }
.essence-select[hidden], .essence-select [hidden] { display: none !important; }
/* Preserve the original form control and constraint validation; only hide its presentation. */
:is(.booking-page, .voucher-page) .essence-select-native {
  position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important; opacity: 0; clip-path: inset(50%); pointer-events: none;
}
.essence-select .essence-select-trigger {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-width: 0;
  min-height: 56px; padding: 14px 15px; border: 1px solid #6c5941; border-radius: 8px;
  background: #2b241f; color: #f8f0e2; font: 400 1rem/1.45 var(--sans, Arial, sans-serif);
  text-transform: none; letter-spacing: normal; text-align: left; cursor: pointer;
}
.essence-select-value { flex: 1; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.essence-select-chevron { width: 8px; height: 8px; flex: 0 0 8px; margin: -4px 4px 0 0; border-right: 1.5px solid #cead70; border-bottom: 1.5px solid #cead70; transform: rotate(45deg); }
.essence-select-trigger[aria-expanded="true"] { border-color: #cead70; }
.essence-select-trigger[aria-expanded="true"] .essence-select-chevron { transform: rotate(225deg); margin-top: 4px; }
.essence-select-trigger:disabled { opacity: .55; cursor: not-allowed; }
:is(.booking-page, .voucher-page) .essence-select-trigger:focus-visible { outline: 3px solid #cead70; outline-offset: 3px; }
.essence-select-trigger[aria-invalid="true"] { border-color: #f4a18c; }
.essence-select .essence-select-list {
  position: absolute; z-index: 50; inset: calc(100% + 8px) 0 auto; width: 100%; max-height: 340px;
  display: block; list-style: none; padding: 6px; margin: 0; overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid #6c5941; border-radius: 8px; background: #302821; color: #f8f0e2;
  box-shadow: 0 12px 26px #0004; scrollbar-width: thin; scrollbar-color: #9c8157 #302821;
  font: 400 1rem/1.45 var(--sans, Arial, sans-serif); text-transform: none; letter-spacing: normal;
}
.essence-select.opens-up .essence-select-list { top: auto; bottom: calc(100% + 8px); }
.essence-select .essence-select-option {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px;
  padding: 12px 11px; margin: 0; border: 0; border-radius: 6px; background: transparent; color: #f8f0e2;
  font: inherit; cursor: pointer; text-align: left;
}
.essence-select-option + .essence-select-option { margin-top: 3px; }
.essence-select-option-text { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.essence-select-tick { visibility: hidden; flex: 0 0 18px; color: #efce95; }
.essence-select-option[aria-selected="true"] { background: #493b28; color: #efce95; }
.essence-select-option[aria-selected="true"] .essence-select-tick { visibility: visible; }
.essence-select-option[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.essence-select-option.is-active:not([aria-disabled="true"]) { box-shadow: inset 0 0 0 1px #cead70; }
@media (hover: hover) { .essence-select-option:hover:not([aria-disabled="true"]) { background: #493b28; } }
.essence-select .essence-select-group { list-style: none; margin: 0; padding: 12px 11px 5px; color: #cabcaa; font: 400 .85rem/1.4 var(--sans, Arial, sans-serif); }
.essence-select .essence-select-error { margin: 8px 0 0; padding: 10px 12px; border-left: 3px solid #a2432d; background: #f8f0e2; color: #783423; font: 400 .9rem/1.45 var(--sans, Arial, sans-serif); }
/* Calendar dropdowns keep their existing date/availability logic and gain the same surface. */
.booking-page .booking-date-picker .booking-date-trigger {
  min-height: 56px; padding: 14px 38px 14px 15px; border: 1px solid #6c5941; border-radius: 8px;
  background: #2b241f; color: #f8f0e2; font: 400 1rem/1.45 var(--sans, Arial, sans-serif);
}
.booking-page .booking-date-picker .booking-date-trigger::after { color: #cead70; }
.booking-page .booking-date-picker .booking-date-trigger[aria-expanded="true"] { border-color: #cead70; }
.booking-page .booking-date-picker .booking-calendar { width: min(100%, 420px); border: 1px solid #6c5941; border-radius: 8px; background: #302821; color: #f8f0e2; box-shadow: 0 12px 26px #0004; }
.booking-page .booking-date-picker :is(.booking-calendar-title, .booking-calendar-day, .booking-calendar-nav) { color: #f8f0e2; }
.booking-page .booking-date-picker .booking-calendar-weekday { color: #cabcaa; }
.booking-page .booking-date-picker .booking-calendar-nav { border-color: #6c5941; border-radius: 5px; }
.booking-page .booking-date-picker .booking-calendar-day { border-radius: 5px; }
.booking-page .booking-date-picker .booking-calendar-day.selected { background: #493b28; color: #efce95; border-color: #cead70; }
.booking-page .booking-date-picker .booking-calendar-day.closed-day:disabled { background: #3a3129; color: #a49480; border-color: transparent; }
