/* Shared storefront choices. Native controls retain form and commerce state. */
.pww-design select.pww-select-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.pww-select { position: relative; width: 100%; color: var(--pww-ink); }
.pww-select button, .pww-select input { font-family: var(--pww-body); }
.pww-select--pills { display: flex; flex-wrap: wrap; gap: 10px; }
.pww-select__pill, .pww-select__trigger {
  background: var(--pww-cream);
  color: var(--pww-ink);
  border: 1px solid rgba(25, 59, 49, .3);
  box-shadow: none;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  min-height: 50px;
  transition: background .18s, border-color .18s, box-shadow .18s;
}
.pww-select__pill { padding: 12px 22px; border-radius: 28px; max-width: 100%; }
.pww-select__pill:not(:disabled):hover { background: var(--pww-lime); border-color: var(--pww-ink); }
.pww-select__pill[aria-checked="true"] { background: var(--pww-ink); color: var(--pww-cream); border-color: var(--pww-ink); }
.pww-select__pill[aria-checked="true"]:hover { background: #285645; color: var(--pww-cream); }
.pww-select__pill:disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.pww-select__trigger { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 13px 18px; border-radius: 18px; text-align: left; }
.pww-select__trigger:hover, .pww-select.is-open .pww-select__trigger { background: white; border-color: var(--pww-ink); }
.pww-select.is-open { z-index: 120; }
.pww-select.is-open .pww-select__trigger { box-shadow: 0 0 0 3px rgba(169, 221, 241, .6); }
.pww-select__value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pww-select__chevron { flex-shrink: 0; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .18s; font-size: 0; margin: -4px 4px 0 0; }
.pww-select__chevron svg { display: none; }
.pww-select.is-open .pww-select__chevron { transform: rotate(225deg); margin-top: 4px; }
.pww-select[hidden], .pww-select [hidden] { display: none !important; }
.pww-select__panel {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 121;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-height: var(--pww-select-space, 360px);
  padding: 8px;
  border: 1px solid rgba(25, 59, 49, .25);
  border-radius: 20px;
  background: var(--pww-cream);
  box-shadow: 0 16px 36px rgba(25, 59, 49, .16);
  animation: pww-select-open .16s ease-out both;
}
.pww-select.is-upward .pww-select__panel { top: auto; bottom: calc(100% + 8px); }
.pww-select__search { width: 100%; min-height: 46px; flex-shrink: 0; padding: 10px 14px; margin: 0 0 7px; border: 1px solid var(--pww-line); border-radius: 13px; background: white; box-shadow: none; font-size: 16px; color: var(--pww-ink); }
.pww-select__search::placeholder { color: #5a7067; }
.pww-select__list { min-height: 0; max-height: 310px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #89ada3 transparent; }
.pww-select__option { display: flex; align-items: center; width: 100%; min-height: 46px; padding: 12px 14px; border: 0; border-radius: 12px; background: transparent; color: var(--pww-ink); text-align: left; font-size: 15px; line-height: 1.4; font-weight: 400; }
.pww-select__option:hover, .pww-select__option.is-active { background: var(--pww-blue); color: var(--pww-ink); }
.pww-select__option[aria-selected="true"] { background: var(--pww-ink); color: var(--pww-cream); font-weight: 700; }
.pww-select__option[aria-selected="true"]::after { content: "✓"; margin-left: auto; padding-left: 16px; }
.pww-select__option:disabled { opacity: .4; cursor: not-allowed; }
.pww-select__option.is-placeholder { color: #5a7067; }
.pww-select__option.is-placeholder[aria-selected="true"] { color: var(--pww-cream); }
.pww-select__group-label { padding: 14px 14px 6px; font-size: 12px; font-weight: 700; color: #526e61; }
.pww-select__empty { padding: 16px 14px; color: #526e61; font-size: 14px; }
.pww-select.is-disabled { opacity: .55; }
.pww-select.is-disabled .pww-select__trigger { cursor: not-allowed; }
.pww-select.is-invalid .pww-select__trigger, .pww-select.is-invalid .pww-select__pill { border-color: #a13227; }
.pww-select button:focus, .pww-select input:focus { outline-color: var(--pww-ink); }
.pww-select__pill:focus-visible, .pww-select__trigger:focus-visible, .pww-select__option:focus-visible, .pww-select__search:focus-visible { outline: 3px solid var(--pww-ink); outline-offset: 3px; }
.pww-design table.variations { margin: 24px 0; }
.pww-design table.variations tbody, .pww-design table.variations tr, .pww-design table.variations th, .pww-design table.variations td { display: block; width: 100%; background: transparent; }
.pww-design table.variations th.label { padding: 0 0 10px; text-align: left; font-weight: 700; font-size: 16px; }
.pww-design table.variations td.value { padding: 0 0 22px; }
.pww-design .reset_variations { display: inline-flex; padding: 12px 0; min-height: 44px; color: var(--pww-ink); font-size: 13px; text-underline-offset: 4px; }
.pww-design .woocommerce-ordering { max-width: 100%; }
.pww-design .woocommerce-ordering .pww-select { width: 290px; max-width: 100%; }
.pww-design .woocommerce-ordering .pww-select__trigger { min-height: 48px; font-size: 14px; }

/* Woo Blocks owns address state; adapt its field shell without moving its select. */
.pww-design .wc-blocks-components-select__container:has(> .pww-select) { display: flex; flex-direction: column; padding: 0; border: 0; background: transparent; }
.pww-design .wc-blocks-components-select__container:has(> .pww-select) > .wc-blocks-components-select__label { position: static; inset: auto; transform: none; display: block; margin: 0 0 8px; padding: 0; font-size: 13px; line-height: 1.4; font-weight: 700; color: var(--pww-ink); }
.pww-design .wc-blocks-components-select__container:has(> .pww-select) > .wc-blocks-components-select__expand { display: none; }
.pww-design .wc-blocks-components-select:has(.pww-select) { border: 0; background: transparent; }
.pww-design .wc-blocks-components-select__container .pww-select__trigger { background: white; font-size: 16px; font-weight: 400; }
.pww-design .wc-blocks-components-select__container .pww-select.is-invalid .pww-select__trigger { border-color: #a13227; }

/* SelectWoo/Select2 and address autocomplete keep their existing interaction logic. */
.pww-design .select2-container .select2-selection--single { min-height: 50px; border: 1px solid rgba(25, 59, 49, .3); border-radius: 18px; background: white; padding: 10px 14px; }
.pww-design .select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 0; padding-right: 25px; line-height: 28px; color: var(--pww-ink); font-size: 16px; }
.pww-design .select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; right: 12px; }
.pww-design .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--pww-ink); }
.pww-design .select2-container--open .select2-selection--single, .pww-design .select2-container--focus .select2-selection--single { border-color: var(--pww-ink); box-shadow: 0 0 0 3px rgba(169, 221, 241, .6); }
.pww-design .select2-dropdown { border: 1px solid var(--pww-line); border-radius: 18px; background: var(--pww-cream); box-shadow: 0 16px 36px rgba(25, 59, 49, .16); padding: 8px; overflow: hidden; }
.pww-design .select2-search--dropdown .select2-search__field { min-height: 44px; border: 1px solid var(--pww-line); border-radius: 12px; background: white; color: var(--pww-ink); font-size: 16px; padding: 10px 12px; }
.pww-design .select2-results__option { padding: 12px 14px; border-radius: 11px; min-height: 44px; color: var(--pww-ink); }
.pww-design .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--pww-blue); color: var(--pww-ink); }
.pww-design .select2-container--default .select2-results__option[aria-selected="true"] { background: var(--pww-ink); color: var(--pww-cream); }
.pww-design .wc-block-components-address-autocomplete-suggestions { border: 1px solid var(--pww-line); border-radius: 18px; background: var(--pww-cream); box-shadow: 0 16px 36px rgba(25, 59, 49, .16); overflow: hidden; }
.pww-design .wc-block-components-address-autocomplete-suggestions .suggestions-list li { min-height: 46px; padding: 12px 16px; color: var(--pww-ink); }
.pww-design .wc-block-components-address-autocomplete-suggestions .suggestions-list li:hover, .pww-design .wc-block-components-address-autocomplete-suggestions .suggestions-list li[aria-selected="true"] { background: var(--pww-blue); }
@keyframes pww-select-open { from { opacity: 0; translate: 0 -5px; } to { opacity: 1; translate: 0 0; } }
@media(max-width: 800px) {
  .pww-select--pills { gap: 8px; }
  .pww-select__pill { padding: 12px 18px; font-size: 14px; min-height: 48px; }
  .pww-select__trigger { min-height: 50px; font-size: 16px; }
  .pww-select__panel { border-radius: 18px; }
  .pww-select__option { min-height: 48px; }
  .pww-design .woocommerce-ordering, .pww-design .woocommerce-ordering .pww-select { width: 100%; }
}
@media(prefers-reduced-motion: reduce) { .pww-select *, .pww-select__panel { animation: none !important; transition: none !important; } }
