/* Functional case example. Avada owns the surrounding editorial section. */
.ms-project-feature.ms-project-demo { --ms-project-feature-title-size: 36px; }
.ms-fulfilment-demo {
  --demo-bg: var(--awb-custom_color_4, #060119);
  --demo-text: var(--awb-color1, #fff);
  --demo-muted: var(--awb-color3, #ccc);
  --demo-focus: #9fe4ff;
  --demo-line: rgba(159, 228, 255, .24);
  --demo-pink: var(--awb-color8, #e72f76);
  position: relative;
  width: 100%;
  padding: 32px;
  border: 1px solid var(--demo-line);
  border-radius: 8px;
  background: #0b0520;
  color: var(--demo-text);
  font: 400 16px/1.5 Archivo, sans-serif;
  isolation: isolate;
}
.ms-fulfilment-demo::before {
  content: "";
  position: absolute;
  inset: -1px 16px auto;
  height: 1px;
  background: linear-gradient(90deg, var(--awb-color5, #5b9dd3), var(--demo-pink) 70%, var(--awb-custom_color_2, #eb6021));
  pointer-events: none;
}
.ms-fulfilment-demo *, .ms-fulfilment-demo *::before, .ms-fulfilment-demo *::after { box-sizing: border-box; }
.ms-fulfilment-demo [hidden] { display: none !important; }
.ms-fulfilment-demo p[class], .ms-fulfilment-demo p[data-demo-fallback] { margin: 0; }
.ms-fulfilment-demo button, .ms-fulfilment-demo input { font: inherit; }
.ms-fulfilment-demo button { cursor: pointer; touch-action: manipulation; }
.ms-fulfilment-demo button:focus-visible,
.ms-fulfilment-demo input:focus-visible { outline: 2px solid var(--demo-focus); outline-offset: 4px; }
.ms-fulfilment-demo label:has(input:focus-visible) { outline: 2px solid var(--demo-focus); outline-offset: 4px; }
.ms-fulfilment-demo label input:focus-visible { outline: 0; }
.ms-fulfilment-demo__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.ms-fulfilment-demo__eyebrow { color: var(--demo-focus); font-size: 13px; font-weight: 600; }
.ms-fulfilment-demo__reset { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--demo-muted); font-size: 14px !important; }
.ms-fulfilment-demo__reset:hover { color: var(--demo-text); text-decoration: underline; text-underline-offset: 4px; }
.ms-fulfilment-demo fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.ms-fulfilment-demo legend { float: none; width: auto; padding: 0; margin: 0 0 16px; color: var(--demo-text); font-size: 17px; font-weight: 600; line-height: 1.4; }
.ms-fulfilment-demo__presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ms-fulfilment-demo__preset { display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 12px 16px; border: 1px solid var(--demo-line); border-radius: 4px; cursor: pointer; }
.ms-fulfilment-demo input[type="radio"] { appearance: auto; -webkit-appearance: radio; flex: 0 0 18px; width: 18px; height: 18px; padding: 0; margin: 0; accent-color: var(--demo-focus); cursor: inherit; }
.ms-fulfilment-demo__preset > span { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; line-height: 1.4; }
.ms-fulfilment-demo__preset small { color: var(--demo-muted); font-size: 14px; }
.ms-fulfilment-demo label:has(input:checked) { border-color: var(--demo-focus); background: rgba(91, 157, 211, .1); }
.ms-fulfilment-demo label:hover:not(:has(input:disabled)) { border-color: var(--demo-focus); }
.ms-fulfilment-demo__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; padding-top: 32px; margin-top: 32px; border-top: 1px solid var(--demo-line); }
.ms-fulfilment-demo__month { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 16px; }
.ms-fulfilment-demo__month strong { font-size: 22px; font-weight: 600; }
.ms-fulfilment-demo__month > span { color: var(--demo-muted); font-size: 13px; }
.ms-fulfilment-demo__weekdays, .ms-fulfilment-demo__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.ms-fulfilment-demo__weekdays { margin-bottom: 8px; color: var(--demo-muted); font-size: 13px; }
.ms-fulfilment-demo__days button { position: relative; min-width: 0; min-height: 44px; padding: 8px 0 12px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--demo-text); font-size: 16px; line-height: 1; }
.ms-fulfilment-demo__days button::after { content: ""; position: absolute; bottom: 5px; left: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: var(--demo-focus); }
.ms-fulfilment-demo__days button[data-kind="pickup"]::after { border-radius: 0; transform: rotate(45deg); background: #f4a873; }
.ms-fulfilment-demo__days button[data-kind="closed"] { color: #a9a2b7; text-decoration: line-through; }
.ms-fulfilment-demo__days button[data-kind="closed"]::after { display: none; }
.ms-fulfilment-demo__days button:hover { border-color: var(--demo-line); background: rgba(255, 255, 255, .06); }
.ms-fulfilment-demo__days button[aria-pressed="true"] { border-color: var(--demo-pink); background: var(--demo-pink); color: var(--demo-bg); font-weight: 700; }
.ms-fulfilment-demo__days button[aria-pressed="true"]::after { background: var(--demo-bg); }
.ms-fulfilment-demo__legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 16px; color: var(--demo-muted); font-size: 12px; }
.ms-fulfilment-demo__legend > span { display: inline-flex; align-items: center; gap: 6px; }
.ms-fulfilment-demo__legend i { width: 4px; height: 4px; border-radius: 50%; background: var(--demo-focus); }
.ms-fulfilment-demo__legend i[data-kind="pickup"] { border-radius: 0; transform: rotate(45deg); background: #f4a873; }
.ms-fulfilment-demo__legend i[data-kind="closed"] { width: 8px; height: 1px; border-radius: 0; background: #a9a2b7; }
.ms-fulfilment-demo p.ms-fulfilment-demo__tip { margin-top: 16px; max-width: 42ch; color: var(--demo-muted); font-size: 13px; }
.ms-fulfilment-demo__method { display: flex; align-items: flex-start; gap: 12px; min-height: 84px; padding: 16px; border: 1px solid var(--demo-line); border-radius: 4px; cursor: pointer; }
.ms-fulfilment-demo__method + .ms-fulfilment-demo__method { margin-top: 12px; }
.ms-fulfilment-demo__method input[type="radio"] { margin-top: 3px; }
.ms-fulfilment-demo__method > span { flex: 1; min-width: 0; }
.ms-fulfilment-demo__method-line { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; }
.ms-fulfilment-demo__method-line strong { font-weight: 600; }
.ms-fulfilment-demo__method-line > span { font-size: 14px; }
.ms-fulfilment-demo__method small { display: block; padding-top: 4px; color: var(--demo-muted); font-size: 13px; line-height: 1.5; }
.ms-fulfilment-demo__method:has(input:disabled) { border-color: rgba(255, 255, 255, .12); color: #b7b0c5; cursor: default; }
.ms-fulfilment-demo__summary { padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--demo-line); }
.ms-fulfilment-demo__summary-label { display: block; margin-bottom: 8px; color: var(--demo-muted); font-size: 13px; }
.ms-fulfilment-demo__date { display: block; font-size: 24px; font-weight: 600; line-height: 1.3; }
.ms-fulfilment-demo__date::first-letter { text-transform: uppercase; }
.ms-fulfilment-demo p.ms-fulfilment-demo__choice { margin-top: 4px; color: var(--demo-muted); }
.ms-fulfilment-demo__cost { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 20px 0 12px; }
.ms-fulfilment-demo__cost > span { color: var(--demo-muted); font-size: 14px; }
.ms-fulfilment-demo__cost strong { color: var(--demo-focus); font-size: 28px; font-weight: 600; line-height: 1.2; }
.ms-fulfilment-demo__explanation { min-height: 4.5em; color: var(--demo-muted); font-size: 14px; line-height: 1.5; }
.ms-fulfilment-demo p.ms-fulfilment-demo__note { padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--demo-line); color: #b7b0c5; font-size: 12px; }
.ms-fulfilment-demo__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1024px) {
  .ms-project-feature.ms-project-demo { --ms-project-feature-title-size: 32px; }
  .ms-fulfilment-demo { padding: 24px; }
  .ms-fulfilment-demo__layout { gap: 32px; }
  .ms-fulfilment-demo__preset { padding: 12px; }
  .ms-fulfilment-demo__preset > span { display: block; }
  .ms-fulfilment-demo__preset small { display: block; }
}
@media (max-width: 800px) {
  .ms-fulfilment-demo__layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ms-fulfilment-demo__result { padding-top: 24px; border-top: 1px solid var(--demo-line); }
  .ms-fulfilment-demo__days button { min-height: 48px; }
  .ms-fulfilment-demo__explanation { min-height: 0; }
}
@media (max-width: 640px) {
  .ms-project-feature.ms-project-demo { --ms-project-feature-title-size: 28px; }
  .ms-fulfilment-demo { padding: 20px 16px; }
  .ms-fulfilment-demo__header { align-items: flex-start; gap: 8px; margin-bottom: 24px; }
  .ms-fulfilment-demo__eyebrow { padding-top: 12px; }
  .ms-fulfilment-demo__reset { font-size: 12px !important; white-space: nowrap; }
  .ms-fulfilment-demo__presets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ms-fulfilment-demo__preset:last-child { grid-column: 1 / -1; min-height: 52px; }
  .ms-fulfilment-demo__preset { gap: 8px; font-size: 14px; }
  .ms-fulfilment-demo__layout { margin-top: 24px; padding-top: 24px; }
  .ms-fulfilment-demo__days { gap: 2px; }
  .ms-fulfilment-demo__method { padding: 12px; }
  .ms-fulfilment-demo__method-line > span { font-size: 12px; }
  .ms-fulfilment-demo__date { font-size: 22px; }
}
