.fsk-picker {
  --fsk-surface: #fff;
  --fsk-paper: #f7f6f2;
  --fsk-text: #252c2a;
  --fsk-muted: #59635e;
  --fsk-border: #d8dfd9;
  --fsk-accent: #245b46;
  --fsk-accent-text: #fff;
  --fsk-focus: #b45219;
  --fsk-danger: #9e2929;
  --fsk-disabled: #eeefeb;
  --fsk-radius: 6px;
  --fsk-space: 8px;
  color: var(--fsk-text);
  background: var(--fsk-surface);
  border: 1px solid var(--fsk-border);
  border-radius: var(--fsk-radius);
  padding: calc(var(--fsk-space) * 2);
  margin-block: calc(var(--fsk-space) * 2);
  max-width: 520px;
  width: 100%;
  font: inherit;
  font-size: 15px;
  line-height: 1.5;
  box-sizing: border-box;
  text-align: left;
  clear: both;
}
.fsk-picker *, .fsk-picker *::before, .fsk-picker *::after { box-sizing: border-box; }
.fsk-picker [hidden] { display: none !important; }
.fsk-picker-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--fsk-space); margin-bottom: calc(var(--fsk-space) * 2); }
.fsk-picker-heading h2, .fsk-picker-heading h3 { font: inherit; font-size: 20px; font-weight: 700; margin: 0 0 calc(var(--fsk-space) / 2); color: var(--fsk-text); }
.fsk-picker-heading p { margin: 0; color: var(--fsk-muted); font-size: 14px; }
.fsk-brand { white-space: nowrap; color: var(--fsk-text); font-size: 12px; font-weight: 700; margin-top: calc(var(--fsk-space) / 2); }
.fsk-brand span { color: var(--fsk-accent); }
.fsk-native label { display: block; font-weight: 600; margin-bottom: var(--fsk-space); }
.fsk-native select { width: 100%; min-height: 44px; font: inherit; color: var(--fsk-text); background: var(--fsk-surface); border: 1px solid var(--fsk-border); border-radius: var(--fsk-radius); }
.fsk-enhanced .fsk-native { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.fsk-month-nav { display: flex; align-items: center; justify-content: space-between; gap: var(--fsk-space); margin-bottom: var(--fsk-space); }
.fsk-month { text-transform: capitalize; font-size: 16px; text-align: center; }
.fsk-picker button { font: inherit; box-shadow: none; text-transform: none; letter-spacing: normal; cursor: pointer; }
.fsk-month-nav button { width: 44px; height: 44px; padding: 0; color: var(--fsk-text); background: var(--fsk-paper); border: 1px solid var(--fsk-border); border-radius: var(--fsk-radius); font-size: 28px; line-height: 1; }
.fsk-week-header, .fsk-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: calc(var(--fsk-space) / 2); }
.fsk-week-header { margin-bottom: var(--fsk-space); text-align: center; font-size: 12px; color: var(--fsk-muted); }
.fsk-picker .fsk-day { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 60px; padding: calc(var(--fsk-space) / 2) 0; background: var(--fsk-surface); border: 1px solid var(--fsk-border); border-radius: var(--fsk-radius); color: var(--fsk-text); }
.fsk-day > span { font-size: 17px; font-weight: 600; }
.fsk-day small { font-size: 10px; line-height: 1.5; color: var(--fsk-muted); overflow-wrap: anywhere; }
.fsk-picker button:hover:not(:disabled) { background: var(--fsk-paper); border-color: var(--fsk-accent); color: var(--fsk-accent); }
.fsk-picker .fsk-day[aria-pressed="true"] { background: var(--fsk-accent); color: var(--fsk-accent-text); border-color: var(--fsk-accent); }
.fsk-day[aria-pressed="true"] small { color: var(--fsk-accent-text); }
.fsk-picker button:disabled { cursor: not-allowed; background: var(--fsk-disabled); color: var(--fsk-muted); border-color: var(--fsk-disabled); }
.fsk-picker button:focus-visible, .fsk-picker select:focus-visible { outline: 3px solid var(--fsk-focus); outline-offset: 2px; }
.fsk-picker:focus-visible { outline: 3px solid var(--fsk-focus); outline-offset: 2px; }
.fsk-legend { margin: var(--fsk-space) 0 0; font-size: 12px; color: var(--fsk-muted); }
.fsk-selection { padding: calc(var(--fsk-space) * 1.5); background: var(--fsk-paper); margin: calc(var(--fsk-space) * 2) 0 var(--fsk-space); font-weight: 600; border-radius: var(--fsk-radius); }
.fsk-status { min-height: 1.5em; font-size: 13px; margin: 0; color: var(--fsk-muted); }
.fsk-error .fsk-status { color: var(--fsk-danger); }
.fsk-picker .fsk-retry { background: var(--fsk-surface); border: 1px solid var(--fsk-border); border-radius: var(--fsk-radius); color: var(--fsk-accent); min-height: 44px; padding: var(--fsk-space) calc(var(--fsk-space) * 1.5); margin-top: var(--fsk-space); }
.fsk-picker-note { border-top: 1px solid var(--fsk-border); padding-top: calc(var(--fsk-space) * 1.5); margin: calc(var(--fsk-space) * 1.5) 0 0; color: var(--fsk-muted); font-size: 12px; }
.fsk-picker-compact { max-width: 720px; }
.fsk-picker-compact .fsk-picker-heading { margin-bottom: var(--fsk-space); }
.fsk-picker-compact .fsk-picker-heading h2 { font-size: 15px; margin-bottom: 0; }
.fsk-date-toggle { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--fsk-space) * 2); cursor: pointer; list-style: none; }
.fsk-date-toggle::-webkit-details-marker { display: none; }
.fsk-picker-compact .fsk-selection { min-width: 0; background: none; border-radius: 0; padding: 0; margin: 0; font-weight: 500; }
.fsk-toggle-label { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; flex-shrink: 0; padding: var(--fsk-space) calc(var(--fsk-space) * 2); border: 1px solid var(--fsk-border); border-radius: var(--fsk-radius); color: var(--fsk-accent); background: var(--fsk-surface); font-weight: 600; }
.fsk-date-toggle:hover .fsk-toggle-label, .fsk-date-editor[open] .fsk-toggle-label { border-color: var(--fsk-accent); background: var(--fsk-paper); }
.fsk-date-toggle:focus-visible { outline: 3px solid var(--fsk-focus); outline-offset: 3px; border-radius: var(--fsk-radius); }
.fsk-date-options { max-width: 488px; border-top: 1px solid var(--fsk-border); margin-top: calc(var(--fsk-space) * 2); padding-top: calc(var(--fsk-space) * 2); }
.fsk-picker-compact .fsk-status:empty { min-height: 0; }
.fsk-picker-compact .fsk-status:not(:empty) { margin-top: var(--fsk-space); }
.fsk-picker-compact .fsk-picker-note { display: none; }
.fsk-picker-compact:has(.fsk-date-editor[open]) .fsk-picker-note { display: block; }
.fsk-managed-checkout-field, .fsk-managed-checkout-section { display: none !important; }
.fsk-sticky-date {
  --fsk-text: #252c2a;
  --fsk-accent: #245b46;
  --fsk-focus: #b45219;
  --fsk-danger: #9e2929;
  --fsk-space: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 160px;
  min-width: 0;
  max-width: 260px;
  gap: calc(var(--fsk-space) / 2);
  padding-inline-end: var(--fsk-space);
  color: var(--fsk-text);
  font: inherit;
  font-size: 13px;
  line-height: 1.4;
  text-align: left;
}
.fsk-sticky-date-value { overflow-wrap: anywhere; }
.fsk-sticky-date-link { display: inline-flex; align-items: center; min-height: 24px; color: var(--fsk-accent); text-decoration: underline; text-underline-offset: 3px; }
.fsk-sticky-date-link:focus-visible { outline: 3px solid var(--fsk-focus); outline-offset: 2px; }
.fsk-sticky-invalid .fsk-sticky-date-value { color: var(--fsk-danger); }
.ast-sticky-add-to-cart-action-wrap:has(.fsk-sticky-date) { gap: 12px; }
.ast-sticky-add-to-cart-action-wrap:has(.fsk-sticky-date) > .stock { max-width: 140px; margin: 0; font-size: 13px; line-height: 1.4; }
.ast-sticky-add-to-cart form.cart:has(.fsk-sticky-date) { flex-wrap: wrap; gap: 8px; min-width: 0; }
.woocommerce .ast-sticky-add-to-cart form.cart:has(.fsk-sticky-date) .single_add_to_cart_button { width: auto; min-height: 44px; }
/* A cloned calendar is never allowed to inflate Astra's fixed bar. */
.ast-sticky-add-to-cart .fsk-picker { display: none !important; }
@media (max-width: 544px) {
  .ast-sticky-add-to-cart-action-wrap:has(.fsk-sticky-date) { flex-wrap: wrap; gap: 4px; }
  .ast-sticky-add-to-cart-action-wrap:has(.fsk-sticky-date) > .stock { flex-basis: 100%; max-width: none; }
  .ast-sticky-add-to-cart .fsk-sticky-date { flex-basis: 100%; max-width: none; flex-direction: row; align-items: center; justify-content: space-between; gap: var(--fsk-space); padding-inline-end: 0; }
  .fsk-sticky-date-link { flex-shrink: 0; min-height: 32px; }
  .woocommerce .ast-sticky-add-to-cart form.cart:has(.fsk-sticky-date) .single_add_to_cart_button { flex: 1; }
}
@media (max-width: 360px) {
  .fsk-picker { padding: var(--fsk-space); }
  .fsk-picker-heading { flex-wrap: wrap; }
  .fsk-picker .fsk-day { min-height: 56px; }
  .fsk-date-toggle { flex-wrap: wrap; gap: var(--fsk-space); }
}
