:root {
  --lll-order-accent: #9f4726;
  --lll-order-ink: #241d18;
  --lll-order-paper: #fffdf9;
  --lll-order-soft: #f4ede3;
  --lll-order-line: #ded2c4;
  --lll-order-success: #376b4b;
}

.lll-fulfilment-selector {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(360px, auto);
  gap: 24px;
  align-items: center;
  margin: 0 0 32px;
  padding: 24px;
  background: var(--lll-order-paper);
  border: 1px solid var(--lll-order-line);
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(64, 43, 30, .06);
}

.lll-fulfilment-selector-product {
  grid-template-columns: 1fr;
  margin: 22px 0;
  padding: 18px;
}

.lll-fulfilment-intro {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
}

.lll-fulfilment-intro strong { font-size: 1.05rem; }
.lll-fulfilment-intro > span:not(.lll-fulfilment-kicker) { color: #6d625a; }
.lll-fulfilment-kicker {
  width: 100%;
  color: var(--lll-order-accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.lll-link-button {
  appearance: none;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--lll-order-accent);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.lll-quick-dates { display: flex; gap: 8px; justify-content: flex-end; }
.lll-quick-date {
  min-width: 76px;
  padding: 10px 12px;
  border: 1px solid var(--lll-order-line);
  border-radius: 12px;
  background: #fff;
  color: var(--lll-order-ink);
  cursor: pointer;
}
.lll-quick-date span,
.lll-quick-date strong { display: block; }
.lll-quick-date span { color: #786b62; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.lll-quick-date strong { margin-top: 2px; font-size: .95rem; }
.lll-quick-date:hover,
.lll-quick-date.is-selected { border-color: var(--lll-order-accent); background: #fbf2eb; }

.lll-product-day-status { min-height: 22px; margin: 7px 0 3px; font-size: .77rem; line-height: 1.35; }
.lll-product-day-status.is-available { color: var(--lll-order-success); font-weight: 700; }
.lll-product-day-status.is-unavailable { color: #8a3b28; }
.lll-product-day-status.is-neutral { color: #75685f; }

.woocommerce ul.products li.product.lll-product-unavailable { opacity: .56; }
.woocommerce ul.products li.product.lll-product-unavailable img { filter: grayscale(.55); }
.lll-unavailable-button { pointer-events: none; opacity: .72; }
.lll-single-unavailable {
  margin: 12px 0 18px;
  padding: 12px 14px;
  border-left: 3px solid #a6492c;
  background: #fbf0e9;
  color: #713822;
  font-weight: 700;
}

.lll-order-day-summary {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid var(--lll-order-line);
  border-radius: 14px;
  background: var(--lll-order-soft);
}
.lll-order-day-summary span,
.lll-order-day-summary strong { display: block; }
.lll-order-day-summary span { margin-bottom: 3px; color: #74675e; font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; }

body.lll-modal-open { overflow: hidden; }
.lll-fulfilment-modal { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 22px; }
.lll-fulfilment-modal[hidden] { display: none; }
.lll-modal-backdrop { position: absolute; inset: 0; background: rgba(27, 21, 17, .7); backdrop-filter: blur(3px); }
.lll-modal-card {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(760px, 92vh);
  overflow: auto;
  padding: clamp(24px, 5vw, 42px);
  border-radius: 20px;
  background: var(--lll-order-paper);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
}
.lll-modal-card h2 { margin: 6px 44px 8px 0; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.04; }
.lll-modal-card > p { color: #665b53; }
.lll-modal-close {
  position: absolute;
  top: 15px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 1px solid var(--lll-order-line);
  border-radius: 50%;
  background: #fff;
  color: var(--lll-order-ink);
  font-size: 1.7rem;
  cursor: pointer;
}
.lll-modal-dates { display: grid; gap: 12px; margin-top: 24px; }
.lll-modal-date-group { display: grid; grid-template-columns: 90px 1fr; gap: 12px; align-items: stretch; }
.lll-modal-date-heading { display: flex; align-items: center; font-weight: 800; color: #5f5148; }
.lll-modal-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.lll-modal-method {
  display: grid;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid var(--lll-order-line);
  border-radius: 12px;
  background: #fff;
  color: var(--lll-order-ink);
  text-align: left;
  cursor: pointer;
}
.lll-modal-method:hover { border-color: var(--lll-order-accent); background: #fbf4ed; }
.lll-modal-method span { color: var(--lll-order-accent); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lll-modal-method strong { font-size: .95rem; }
.lll-modal-method small { color: #73675f; }
.lll-modal-status { min-height: 24px; margin: 16px 0 0; color: #873a24 !important; font-weight: 700; }

@media (max-width: 900px) {
  .lll-fulfilment-selector { grid-template-columns: 1fr; }
  .lll-quick-dates { justify-content: flex-start; overflow-x: auto; padding-bottom: 3px; }
  .lll-quick-date { flex: 0 0 auto; }
}

@media (max-width: 620px) {
  .lll-fulfilment-selector { margin-inline: -4px; padding: 18px; border-radius: 13px; }
  .lll-fulfilment-intro .lll-button { width: 100%; margin-top: 4px; }
  .lll-modal-card { padding: 24px 18px; }
  .lll-modal-date-group { grid-template-columns: 1fr; gap: 6px; }
  .lll-modal-methods { grid-template-columns: 1fr; }
  .lll-order-day-summary { align-items: stretch; flex-direction: column; }
  .lll-order-day-summary .lll-button { width: 100%; }
}

/* Product options and customer-facing product facts */
.lll-product-options {
  display: grid;
  gap: 10px;
  margin: 18px 0;
  padding: 0;
  border: 0;
}
.lll-product-options legend {
  margin-bottom: 2px;
  color: var(--lll-order-ink);
  font-weight: 800;
}
.lll-option-card {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 11px;
  align-items: start;
  padding: 13px 14px;
  border: 1px solid var(--lll-order-line);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}
.lll-option-card:has(input:checked) {
  border-color: var(--lll-order-accent);
  background: #fbf2eb;
  box-shadow: 0 0 0 1px rgba(159, 71, 38, .08);
}
.lll-option-card input { margin-top: 4px; accent-color: var(--lll-order-accent); }
.lll-option-card span,
.lll-option-card strong,
.lll-option-card small { display: block; }
.lll-option-card strong { font-size: .92rem; }
.lll-option-card small { margin-top: 2px; color: #74675e; line-height: 1.35; }

.lll-product-facts {
  margin-top: 26px;
  border-top: 1px solid var(--lll-order-line);
}
.lll-product-facts details { border-bottom: 1px solid var(--lll-order-line); }
.lll-product-facts summary {
  position: relative;
  padding: 17px 30px 17px 0;
  color: var(--lll-order-ink);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.lll-product-facts summary::-webkit-details-marker { display: none; }
.lll-product-facts summary::after {
  content: '+';
  position: absolute;
  right: 3px;
  top: 14px;
  color: var(--lll-order-accent);
  font-size: 1.35rem;
  font-weight: 500;
}
.lll-product-facts details[open] summary::after { content: '−'; }
.lll-product-facts details > div { padding: 0 0 17px; color: #5f554e; }
.lll-product-facts details p:last-child { margin-bottom: 0; }
.lll-allergen-note {
  margin-top: 12px;
  padding: 11px 12px;
  border-left: 3px solid var(--lll-order-accent);
  background: #fbf2eb;
  font-size: .83rem;
}
.lll-dietary-badges { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px 0 4px; }
.lll-dietary-badges span {
  padding: 6px 9px;
  border: 1px solid #b9c9bc;
  border-radius: 999px;
  background: #f3f7f3;
  color: #376b4b;
  font-size: .75rem;
  font-weight: 800;
}

/* Secure order view */
.lll-thankyou-manage {
  margin: 28px 0;
  padding: 24px;
  border: 1px solid var(--lll-order-line);
  border-radius: 16px;
  background: var(--lll-order-soft);
}
.lll-thankyou-manage h2 { margin: 0 0 8px; }
.lll-manage-order {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(48px, 7vw, 88px) 0;
}
.lll-manage-order > h1 { margin: 0 0 26px; font-size: clamp(2.7rem, 6vw, 5rem); line-height: 1; }
.lll-manage-order-empty { max-width: 780px; }
.lll-manage-order-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 28px;
  border: 1px solid var(--lll-order-line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.lll-manage-order-status > div { padding: 17px 19px; }
.lll-manage-order-status > div + div { border-left: 1px solid var(--lll-order-line); }
.lll-manage-order-status span,
.lll-manage-order-status strong { display: block; }
.lll-manage-order-status span { margin-bottom: 4px; color: #75685f; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lll-manage-order-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 24px; align-items: start; }
.lll-manage-order-items,
.lll-manage-order-form {
  padding: 24px;
  border: 1px solid var(--lll-order-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(64, 43, 30, .05);
}
.lll-manage-order-items h2,
.lll-manage-order-form h2 { margin-top: 0; }
.lll-manage-order-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid var(--lll-order-line);
}
.lll-manage-order-item small { display: block; margin-top: 3px; color: #75685f; }
.lll-manage-order-total { display: flex; justify-content: space-between; gap: 20px; padding-top: 18px; font-size: 1.05rem; }
.lll-manage-order-form label { display: grid; gap: 6px; margin-bottom: 17px; font-weight: 800; }
.lll-manage-order-form input,
.lll-manage-order-form textarea {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--lll-order-line);
  border-radius: 9px;
  background: #fff;
}
.lll-manage-order-form input:disabled,
.lll-manage-order-form textarea:disabled { background: #f4f0ea; color: #6f655e; }
.lll-manage-order-form label small { color: #75685f; font-size: .75rem; font-weight: 500; line-height: 1.4; }
.lll-cutoff-note { color: #75685f; font-size: .84rem; }
.lll-locked-copy { padding: 13px 14px; border-left: 3px solid var(--lll-order-accent); background: #fbf2eb; }

@media (max-width: 760px) {
  .lll-manage-order-status { grid-template-columns: 1fr; }
  .lll-manage-order-status > div + div { border-top: 1px solid var(--lll-order-line); border-left: 0; }
  .lll-manage-order-grid { grid-template-columns: 1fr; }
  .lll-manage-order-item { grid-template-columns: minmax(0, 1fr) auto; }
  .lll-manage-order-item > strong:last-child { grid-column: 1 / -1; }
}

.woocommerce div.product form.cart:has(.lll-product-options) { flex-wrap: wrap; }
.woocommerce div.product form.cart .lll-product-options { flex: 0 0 100%; width: 100%; }

/* Version 0.2.1 — split sliced/unsliced quick ordering */
.lll-quick-order-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 22px;
}
.lll-quick-order-modal[hidden] { display: none; }
.lll-quick-order-card { width: min(620px, 100%); }
.lll-quick-product-name {
  margin: 2px 0 20px;
  color: var(--lll-order-ink) !important;
  font-size: 1.05rem;
  font-weight: 800;
}
.lll-quick-quantity-grid { display: grid; gap: 11px; margin: 22px 0 12px; }
.lll-quick-quantity-row,
.lll-split-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 15px 16px;
  border: 1px solid var(--lll-order-line);
  border-radius: 13px;
  background: #fff;
}
.lll-quick-quantity-row strong,
.lll-quick-quantity-row small,
.lll-split-row strong,
.lll-split-row small { display: block; }
.lll-quick-quantity-row small,
.lll-split-row small { margin-top: 3px; color: #74675e; line-height: 1.35; }
.lll-stepper { display: grid; grid-template-columns: 38px 58px 38px; align-items: stretch; }
.lll-stepper button,
.lll-stepper input,
.lll-split-row input {
  min-height: 42px;
  border: 1px solid var(--lll-order-line);
  background: #fff;
  color: var(--lll-order-ink);
  text-align: center;
}
.lll-stepper button { cursor: pointer; font-size: 1.2rem; }
.lll-stepper button:first-child { border-radius: 9px 0 0 9px; }
.lll-stepper button:last-child { border-radius: 0 9px 9px 0; }
.lll-stepper input { border-left: 0; border-right: 0; border-radius: 0; font-weight: 800; }
.lll-stepper input::-webkit-outer-spin-button,
.lll-stepper input::-webkit-inner-spin-button,
.lll-split-row input::-webkit-outer-spin-button,
.lll-split-row input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.lll-quick-explanation,
.lll-split-help { color: #74675e; font-size: .84rem; line-height: 1.5; }
.lll-quick-confirm { width: 100%; margin-top: 10px; }
.lll-quick-order-trigger { cursor: pointer; }

.lll-split-slicing { gap: 11px; }
.lll-split-slicing legend { margin-bottom: 0; }
.lll-split-help { margin: 0 0 2px; }
.lll-split-row input {
  width: 74px;
  border-radius: 9px;
  font-weight: 800;
}
.lll-split-status { min-height: 22px; margin: 0; color: #873a24; font-size: .82rem; font-weight: 700; }
.single-product form.cart:has([data-lll-split-slicing]) > .quantity { display: none; }
.single-product form.cart:has([data-lll-split-slicing]) > .single_add_to_cart_button { min-width: 180px; }

.lll-order-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1000000;
  max-width: min(360px, calc(100vw - 32px));
  padding: 14px 18px;
  border-radius: 11px;
  background: var(--lll-order-ink);
  color: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
  font-weight: 800;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .2s ease, transform .2s ease;
}
.lll-order-toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 560px) {
  .lll-quick-order-modal { padding: 12px; }
  .lll-quick-quantity-row,
  .lll-split-row { grid-template-columns: 1fr; gap: 10px; }
  .lll-stepper { width: 134px; }
  .lll-split-row input { width: 100%; }
  .lll-order-toast { right: 16px; bottom: 16px; }
}

/* Version 0.2.2 — progressive enhancement / no-JavaScript fallback */
.lll-nojs-fulfilment-form,
.lll-nojs-product-date {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 15px;
  border: 1px dashed var(--lll-order-line);
  border-radius: 12px;
  background: #fffaf4;
}
.lll-nojs-fulfilment-form p,
.lll-nojs-product-date p { margin: 0; }
.lll-nojs-fulfilment-form label,
.lll-nojs-product-date label { display: grid; gap: 7px; }
.lll-nojs-fulfilment-form select,
.lll-nojs-product-date select {
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--lll-order-line);
  border-radius: 9px;
  background: #fff;
  color: var(--lll-order-ink);
}
.lll-nojs-fulfilment-form .lll-button { justify-self: start; }
.lll-nojs-note { color: #75685f; font-size: .8rem; line-height: 1.45; }

@media (max-width: 620px) {
  .lll-nojs-fulfilment-form .lll-button { width: 100%; }
}


/* Version 0.2.5 — clearer dates and explicit Friday method choice */
.lll-fulfilment-selector {
  grid-template-columns: minmax(280px, .85fr) minmax(540px, 1.15fr);
  padding: 22px;
}
.lll-fulfilment-intro { align-content: center; }
.lll-fulfilment-intro > span:not(.lll-fulfilment-kicker) { max-width: 44rem; line-height: 1.45; }
.lll-quick-dates-wrap { min-width: 0; }
.lll-quick-dates { display: grid; grid-template-columns: repeat(4, minmax(105px, 1fr)); gap: 8px; justify-content: stretch; }
.lll-quick-date { min-width: 0; padding: 10px 9px; }
.lll-quick-date small { color: #786b62; display: block; font-size: .62rem; line-height: 1.2; margin-top: 3px; }
.lll-quick-date.is-friday { border-style: solid; }
.lll-quick-date.is-friday span::after { content: none; }
.lll-view-more-dates {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--lll-order-accent);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  gap: .35rem;
  margin-top: .7rem;
  padding: .2rem 0;
}
.lll-view-more-dates:hover { text-decoration: underline; }
.lll-modal-date-group[hidden] { display: none; }

@media (max-width: 1100px) {
  .lll-fulfilment-selector { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .lll-quick-dates { display: flex; overflow-x: auto; padding-bottom: .3rem; }
  .lll-quick-date { flex: 0 0 120px; }
}


/* Version 0.2.5.2 — remove duplicate selected-date action and simplify Friday. */
.lll-fulfilment-selector-shop .lll-fulfilment-intro .lll-link-button {
  display: none !important;
}
.lll-quick-date.is-friday span::after {
  content: none !important;
}

/* Version 0.2.6 — secure quantity editing, review and cancellation */
.lll-manage-order-side {
  display: grid;
  gap: 22px;
}
.lll-section-help {
  margin: -6px 0 18px;
  color: #75685f;
  font-size: .9rem;
  line-height: 1.55;
}
.lll-quantity-edit-form {
  display: grid;
  gap: 18px;
}
.lll-edit-lines {
  border-top: 1px solid var(--lll-order-line);
}
.lll-edit-quantity {
  display: grid;
  gap: 5px;
  min-width: 88px;
  margin: 0;
  color: #75685f;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.lll-edit-quantity input {
  width: 78px;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid var(--lll-order-line);
  border-radius: 9px;
  background: #fff;
  color: #2b2521;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}
.lll-edit-quantity input:disabled {
  background: #f4f0ea;
  color: #75685f;
}
.lll-order-change-preview {
  margin: 0 0 28px;
  padding: clamp(22px, 4vw, 34px);
  border: 2px solid #a94f2d;
  border-radius: 18px;
  background: #fffaf5;
  box-shadow: 0 16px 42px rgba(64, 43, 30, .08);
}
.lll-order-change-preview h2 {
  margin: 0 0 20px;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}
.lll-change-comparison {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 20px;
  border: 1px solid var(--lll-order-line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.lll-change-comparison > div {
  padding: 17px 19px;
}
.lll-change-comparison > div + div {
  border-left: 1px solid var(--lll-order-line);
}
.lll-change-comparison span,
.lll-change-comparison strong {
  display: block;
}
.lll-change-comparison span {
  margin-bottom: 4px;
  color: #75685f;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.lll-change-comparison strong {
  font-size: 1.2rem;
}
.lll-change-list {
  display: grid;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.lll-change-list li {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 0;
  border-bottom: 1px solid var(--lll-order-line);
}
.lll-payment-explanation {
  margin: 18px 0;
  padding: 13px 15px;
  border-left: 3px solid #a94f2d;
  background: #f8ede5;
  color: #5f554e;
}
.lll-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.lll-preview-actions form {
  margin: 0;
}
.lll-cancel-order-card {
  padding: 24px;
  border: 1px solid #ddb6aa;
  border-radius: 16px;
  background: #fff8f6;
}
.lll-cancel-order-card h2 {
  margin-top: 0;
}
.lll-cancel-confirm {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 17px 0;
  font-weight: 700;
}
.lll-cancel-confirm input {
  width: auto;
  margin-top: 4px;
}
.lll-danger-button,
.woocommerce .lll-danger-button.button {
  border-color: #a7352b !important;
  background: #fff !important;
  color: #a7352b !important;
}
.lll-danger-button:hover,
.woocommerce .lll-danger-button.button:hover {
  background: #a7352b !important;
  color: #fff !important;
}
.lll-account-manage-order {
  margin: 20px 0;
}
.lll-manage-order .woocommerce-error {
  padding: 16px 18px 16px 44px;
}

@media (max-width: 900px) {
  .lll-change-comparison {
    grid-template-columns: 1fr;
  }
  .lll-change-comparison > div + div {
    border-top: 1px solid var(--lll-order-line);
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .lll-manage-order-item {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .lll-edit-quantity {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .lll-manage-order-item > strong:last-child {
    grid-column: 1;
  }
  .lll-preview-actions,
  .lll-preview-actions form,
  .lll-preview-actions .button {
    width: 100%;
  }
  .lll-preview-actions .button {
    text-align: center;
  }
}
\n\n/* Version 0.2.6.2 — compact secure order management and consistent actions */\n.lll-manage-order {\n  width: min(1040px, calc(100% - 32px));\n  padding: clamp(28px, 4vw, 48px) 0 64px;\n}\n.lll-manage-order > .lll-eyebrow { margin: 0 0 5px; }\n.lll-manage-order > h1 {\n  margin: 0 0 18px;\n  font-size: clamp(2.2rem, 4.2vw, 3.55rem);\n  line-height: .98;\n}\n.lll-manage-order-status { margin-bottom: 20px; }\n.lll-manage-order-status > div { padding: 12px 15px; }\n.lll-manage-order-status span { font-size: .66rem; }\n.lll-manage-order-status strong { font-size: .95rem; line-height: 1.35; }\n.lll-manage-order-grid {\n  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);\n  gap: 18px;\n}\n.lll-manage-order-items,\n.lll-manage-order-form {\n  padding: clamp(18px, 2.4vw, 22px);\n  border-radius: 14px;\n}\n.lll-manage-order-items h2,\n.lll-manage-order-form h2,\n.lll-cancel-order-card h2 {\n  margin: 0 0 12px;\n  font-size: clamp(1.55rem, 2.5vw, 2rem);\n  line-height: 1.08;\n}\n.lll-section-help { margin: 0 0 14px; font-size: .86rem; }\n.lll-quantity-edit-form { gap: 14px; }\n.lll-manage-order-item { gap: 12px; padding: 12px 0; }\n.lll-manage-order-item > div > strong { font-size: .98rem; }\n.lll-manage-order-item small { font-size: .79rem; }\n.lll-edit-quantity { min-width: 76px; font-size: .64rem; }\n.lll-edit-quantity input { width: 70px; min-height: 40px; }\n.lll-manage-order-total { padding-top: 14px; font-size: .98rem; }\n.lll-manage-order-form label { margin-bottom: 13px; font-size: .92rem; }\n.lll-manage-order-form input,\n.lll-manage-order-form textarea { padding: 9px 11px; }\n.lll-manage-order-form textarea { min-height: 116px; }\n.lll-cutoff-note { margin: 0 0 16px; font-size: .8rem; }\n.lll-cancel-order-card { padding: 20px; border-radius: 14px; }\n.lll-manage-order .button,\n.woocommerce .lll-manage-order .button {\n  min-height: 42px;\n  padding: 10px 17px !important;\n  border-radius: 9px !important;\n  font-size: .88rem !important;\n  line-height: 1.2 !important;\n}\n.lll-quantity-edit-form > .button { justify-self: start; width: auto; }\n.lll-manage-order .woocommerce-message,\n.lll-manage-order .woocommerce-info,\n.lll-manage-order .woocommerce-error {\n  margin-bottom: 18px;\n  padding-top: 13px;\n  padding-bottom: 13px;\n  font-size: .9rem;\n}\n\n@media (max-width: 820px) {\n  .lll-manage-order-grid { grid-template-columns: 1fr; }\n}\n@media (max-width: 520px) {\n  .lll-manage-order { width: min(100% - 20px, 1040px); padding-top: 22px; }\n  .lll-manage-order > h1 { font-size: 2.15rem; }\n  .lll-manage-order-items,\n  .lll-manage-order-form,\n  .lll-cancel-order-card { padding: 16px; }\n}\n

/* Version 0.2.7 — existing-order products and fulfilment */
.lll-existing-order-tools {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 14px;
  padding-top: 15px;
  border-top: 1px solid var(--lll-order-line, #e5d8cc);
}
.lll-existing-order-tool {
  padding: 14px;
  border: 1px solid var(--lll-order-line, #e5d8cc);
  border-radius: 12px;
  background: #fcfaf7;
}
.lll-existing-order-tool h3 {
  margin: 0 0 9px;
  font-size: 1rem;
}
.lll-existing-order-tool select,
.lll-existing-order-tool input {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
}
.lll-add-existing-quantities {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}
.lll-add-existing-quantities label {
  display: grid;
  gap: 4px;
  margin: 0;
  font-size: .78rem;
  font-weight: 700;
}
.lll-existing-order-tool > small {
  display: block;
  margin-top: 8px;
  color: #6f6259;
  font-size: .75rem;
}
.lll-selection-change {
  margin: 12px 0;
  padding: 11px 13px;
  border-radius: 10px;
  background: #f5eee5;
}
@media (max-width: 760px) {
  .lll-existing-order-tools { grid-template-columns: 1fr; }
}


/* Version 0.2.7.2 — at-a-glance slicing totals in secure order editing */
.lll-slicing-summary {
  display: inline-flex;
  margin: 0 0 0 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f3e8dc;
  color: #8b3f22;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.25;
  vertical-align: middle;
}
@media (max-width: 520px) {
  .lll-slicing-summary {
    display: table;
    margin: 5px 0 0;
  }
}

/* Version 0.2.7.3 — group sliced and unsliced lines under one loaf */
.lll-manage-order-product-group {
  padding: 12px 0;
  border-bottom: 1px solid var(--lll-order-line);
}
.lll-manage-order-product-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding-bottom: 7px;
}
.lll-manage-order-product-heading > div {
  min-width: 0;
}
.lll-manage-order-product-heading > div > strong {
  font-size: .98rem;
}
.lll-manage-order-product-heading > strong {
  white-space: nowrap;
}
.lll-manage-order-variants {
  margin-left: 10px;
  padding-left: 13px;
  border-left: 3px solid #f0dfd1;
}
.lll-manage-order-variant {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 8px 0;
}
.lll-manage-order-variant + .lll-manage-order-variant {
  border-top: 1px solid #eee3d9;
}
.lll-manage-order-variant-name > strong {
  display: block;
  font-size: .86rem;
}
.lll-manage-order-variant-name small {
  display: block;
  margin-top: 2px;
  color: #75685f;
  font-size: .76rem;
}
.lll-manage-order-variant-total {
  min-width: 62px;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 560px) {
  .lll-manage-order-product-heading {
    align-items: flex-start;
  }
  .lll-manage-order-variants {
    margin-left: 0;
    padding-left: 10px;
  }
  .lll-manage-order-variant {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .lll-manage-order-variant-total {
    grid-column: 1;
    font-size: .82rem;
    text-align: left;
  }
}


/* Version 0.2.8.2 — quantity-first slicing journey */
.woocommerce ul.products li.product .lll-loop-purchase > .lll-quick-order-trigger {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  margin: 0;
  min-height: 44px;
  width: auto;
}

.lll-quick-total {
  background: var(--lll-order-soft);
  border: 1px solid var(--lll-order-line);
  border-radius: 999px;
  color: var(--lll-order-ink) !important;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 850;
  margin: 0 0 1rem;
  padding: .42rem .7rem;
}

.lll-slicing-choice-grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lll-slicing-choice {
  appearance: none;
  background: #fff;
  border: 1px solid var(--lll-order-line);
  border-radius: 13px;
  color: var(--lll-order-ink);
  cursor: pointer;
  display: grid;
  gap: .35rem;
  min-height: 118px;
  padding: 1rem;
  text-align: left;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.lll-slicing-choice:hover,
.lll-slicing-choice:focus-visible {
  border-color: var(--lll-order-rust);
  box-shadow: 0 8px 24px rgba(58, 40, 30, .09);
  transform: translateY(-1px);
}

.lll-slicing-choice:focus-visible {
  outline: 3px solid rgba(166, 73, 42, .22);
  outline-offset: 2px;
}

.lll-slicing-choice strong,
.lll-slicing-choice small {
  display: block;
}

.lll-slicing-choice strong {
  font-size: .95rem;
}

.lll-slicing-choice small {
  color: #74675e;
  font-size: .78rem;
  line-height: 1.42;
}

.lll-custom-slicing[hidden],
.lll-slicing-choice-grid[hidden] {
  display: none;
}

.lll-custom-slicing {
  display: grid;
  gap: .75rem;
}

.lll-custom-slicing-heading {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.lll-custom-slicing-heading p {
  color: var(--lll-order-ink) !important;
  font-size: .88rem;
  font-weight: 750;
  margin: 0;
}

.lll-text-button {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--lll-order-rust);
  cursor: pointer;
  font-size: .8rem;
  font-weight: 850;
  padding: .35rem 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.lll-allocation-status {
  color: #7a3926;
  font-size: .82rem;
  font-weight: 800;
  margin: 0;
  min-height: 1.25rem;
}

.lll-allocation-status.is-complete {
  color: #25613e;
}

.lll-slicing-prompt {
  align-items: flex-start;
  background: var(--lll-order-soft);
  border: 1px solid var(--lll-order-line);
  border-radius: 12px;
  display: flex;
  gap: .7rem;
  padding: .8rem .9rem;
}

.lll-slicing-prompt-icon {
  align-items: center;
  background: #fff;
  border: 1px solid var(--lll-order-line);
  border-radius: 999px;
  color: var(--lll-order-rust);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .72rem;
  font-weight: 900;
  height: 25px;
  justify-content: center;
  width: 25px;
}

.lll-slicing-prompt p,
.lll-slicing-prompt strong,
.lll-slicing-prompt small {
  display: block;
  margin: 0;
}

.lll-slicing-prompt strong {
  font-size: .84rem;
}

.lll-slicing-prompt small {
  color: #74675e;
  font-size: .77rem;
  line-height: 1.45;
  margin-top: .18rem;
}

/*
 * The dated Bakery day row is the customer-facing source of truth.
 * WooCommerce's inherited shipping row remains available to calculations but is
 * hidden to prevent the same collection/delivery wording appearing twice.
 */
body.lll-fulfilment-collection .cart_totals tr.woocommerce-shipping-totals,
body.lll-fulfilment-delivery .cart_totals tr.woocommerce-shipping-totals,
body.lll-fulfilment-collection #order_review tr.woocommerce-shipping-totals,
body.lll-fulfilment-delivery #order_review tr.woocommerce-shipping-totals,
body.lll-fulfilment-collection .cart_totals tr.shipping,
body.lll-fulfilment-delivery .cart_totals tr.shipping,
body.lll-fulfilment-collection #order_review tr.shipping,
body.lll-fulfilment-delivery #order_review tr.shipping {
  display: none;
}

@media (max-width: 620px) {
  .lll-slicing-choice-grid {
    grid-template-columns: 1fr;
  }

  .lll-slicing-choice {
    min-height: 0;
  }

  .lll-custom-slicing-heading {
    align-items: flex-start;
  }
}

/* Version 0.3.1 — exact catalogue quantities and in-basket capacity feedback */
.lll-loop-purchase .lll-catalogue-capacity-status {
  grid-column: 1 / -1;
  margin: 0;
  min-height: 0;
  border-radius: 9px;
  font-size: .78rem;
  font-weight: 760;
  line-height: 1.42;
}

.lll-loop-purchase .lll-catalogue-capacity-status:not(:empty) {
  padding: .65rem .75rem;
}

.lll-catalogue-capacity-status.is-warning {
  background: #fff1ed;
  border: 1px solid #e2a18d;
  color: #7d2f1f;
}

.lll-catalogue-capacity-status.is-checking {
  background: #f7f2e9;
  border: 1px solid var(--lll-order-line);
  color: #66584e;
}

.lll-catalogue-capacity-status.is-success {
  background: #edf7ef;
  border: 1px solid #9fc9a8;
  color: #245b35;
}

.lll-catalogue-add.is-capacity-blocked {
  cursor: not-allowed;
  opacity: .64;
}

.lll-catalogue-add.is-loading {
  pointer-events: none;
}

.lll-cart-capacity-panel {
  background: #fff1ed;
  border: 2px solid #bd6045;
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(77, 35, 24, .12);
  color: #672719;
  margin: 0 0 18px;
  padding: 16px 18px;
}

.lll-cart-capacity-panel strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 4px;
}

.lll-cart-capacity-panel p {
  margin: 0 0 8px;
}

.lll-cart-capacity-panel ul {
  margin: 0;
  padding-left: 1.25rem;
}

.woocommerce-cart tr.lll-cart-capacity-problem,
.woocommerce-cart .lll-cart-capacity-problem {
  background: #fff5f2 !important;
  box-shadow: inset 4px 0 0 #bd6045;
}

.lll-cart-capacity-panel.is-pulsing,
.lll-catalogue-capacity-status.is-pulsing {
  animation: lll-capacity-pulse .65s ease-out;
}

@keyframes lll-capacity-pulse {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(189, 96, 69, .35); }
  45% { transform: scale(1.012); box-shadow: 0 0 0 8px rgba(189, 96, 69, .13); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(189, 96, 69, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .lll-cart-capacity-panel.is-pulsing,
  .lll-catalogue-capacity-status.is-pulsing {
    animation: none;
  }
}


/* Version 0.3.2 — exact date quantities on cards */
.lll-product-day-status.is-low {
  color: #8a4d22;
  font-weight: 800;
}


/* Version 0.3.6 — prominent basket-date conflicts and cleaner slicing language. */
.lll-date-conflict-modal {
  display: grid;
  inset: 0;
  padding: 22px;
  place-items: center;
  position: fixed;
  z-index: 1000000;
}
.lll-date-conflict-modal[hidden] { display: none; }
.lll-modal-status-prominent:not(:empty) {
  background: #fff0ed;
  border: 1px solid #dfa69c;
  border-radius: 10px;
  color: #7e2c25 !important;
  margin: 14px 0 0;
  min-height: 0;
  padding: 11px 13px;
}
.lll-conflict-card { max-width: 720px; }
.lll-conflict-target {
  background: #f8eee4;
  border-left: 4px solid var(--lll-order-accent);
  display: grid;
  gap: 2px;
  margin: 16px 0;
  padding: 11px 13px;
}
.lll-conflict-target span {
  color: #75685f;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.lll-conflict-items {
  border: 1px solid var(--lll-order-line);
  border-radius: 12px;
  list-style: none;
  margin: 0 0 18px;
  max-height: 245px;
  overflow: auto;
  padding: 0;
}
.lll-conflict-items li {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr);
  padding: 12px 14px;
}
.lll-conflict-items li + li { border-top: 1px solid var(--lll-order-line); }
.lll-conflict-items strong,
.lll-conflict-items span { display: block; }
.lll-conflict-items span { color: #75685f; font-size: .75rem; margin-top: 2px; }
.lll-conflict-items p { color: #7e2c25; margin: 0; }
.lll-conflict-alternatives {
  background: #f7f3ed;
  border-radius: 12px;
  margin-bottom: 18px;
  padding: 14px;
}
.lll-conflict-alternatives h3 { font-size: 1.05rem; margin: 0 0 10px; }
.lll-conflict-alternatives > div {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lll-conflict-date {
  background: #fff;
  border: 1px solid var(--lll-order-line);
  border-radius: 10px;
  color: var(--lll-order-ink);
  cursor: pointer;
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  text-align: left;
}
.lll-conflict-date:hover { border-color: var(--lll-order-accent); }
.lll-conflict-date span { color: var(--lll-order-accent); font-size: .66rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.lll-conflict-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.lll-conflict-actions .lll-button { cursor: pointer; }

@media (max-width: 600px) {
  .lll-date-conflict-modal { padding: 10px; }
  .lll-conflict-card { max-height: calc(100vh - 20px); padding: 21px 16px; }
  .lll-conflict-items li { grid-template-columns: 1fr; gap: 5px; }
  .lll-conflict-alternatives > div { grid-template-columns: 1fr; }
  .lll-conflict-actions { display: grid; grid-template-columns: 1fr; }
  .lll-conflict-actions .lll-button { width: 100%; }
}


/* Version 0.4.0 — one clear post-checkout change route. */
.woocommerce-order-received .lll-order-confirmation-grid > div:last-child {
  display: none;
}

body.lll-fulfilment-collection .lll-hidden-collection-shipping-prompt {
  display: none !important;
}
