@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap");

.l4d-checkout-page {
  --ink:#17352f;
  --green:#315f57;
  --green-dark:#214840;
  --lime:#8aa55e;
  --paper:#fffdf9;
  --soft:#f1f4ed;
  --line:#dce4de;
  --muted:#69807c;
  --error:#a84d45;
  width:100%;
  background:var(--paper);
  color:var(--ink);
  font-family:"DM Sans",Arial,sans-serif;
}
.l4d-checkout-page *,
.l4d-checkout-page *::before,
.l4d-checkout-page *::after { box-sizing:border-box; }
.l4d-checkout-page :where(a) { color:var(--green); }
.l4d-checkout-page :where(button,input,select,textarea) { font:inherit; color-scheme:light; }
.l4d-checkout-page :where(button,input,select,textarea) { appearance:none; -webkit-appearance:none; }
.l4d-checkout-page :where(a,button,input,select,textarea):focus { outline:none !important; }
.l4d-checkout-page :where(a,button,input,select,textarea):focus-visible {
  outline:2px solid var(--lime) !important;
  outline-offset:3px;
}

.he-checkout-page {
  width:100%;
  padding:clamp(1.5rem,4vw,4rem) clamp(1rem,5vw,5.75rem) clamp(4rem,8vw,7rem);
}
.he-checkout-hero {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  max-width:88rem;
  margin:0 auto clamp(2rem,4vw,3.5rem);
}
.he-checkout-hero > div:first-child { max-width:54rem; }
.he-checkout-kicker {
  display:flex;
  align-items:center;
  gap:.65rem;
  margin:0 0 .9rem;
  color:var(--lime);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.he-checkout-kicker span { width:1.7rem; height:1px; background:currentColor; }
.he-checkout-hero h1 {
  margin:0;
  color:var(--ink);
  font-size:clamp(2.5rem,5vw,4.75rem);
  letter-spacing:-.065em;
  line-height:1;
}
.he-checkout-hero > div:first-child > p:last-child {
  max-width:42rem;
  margin:1.15rem 0 0;
  color:var(--muted);
  font-size:clamp(1rem,1.3vw,1.125rem);
  line-height:1.65;
}
.he-checkout-assurance {
  display:flex;
  align-items:center;
  gap:.85rem;
  flex:0 0 auto;
  padding:.9rem 1.1rem;
  border:1px solid var(--line);
  border-radius:1rem;
  background:var(--soft);
}
.he-checkout-assurance svg {
  width:2rem;
  height:2rem;
  padding:.35rem;
  border-radius:50%;
  background:var(--green);
  fill:none;
  stroke:#fff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.he-checkout-assurance div { display:grid; gap:.15rem; }
.he-checkout-assurance strong { color:var(--ink); font-size:.9rem; }
.he-checkout-assurance span { color:var(--muted); font-size:.78rem; }
.he-checkout-ordering-notice {
  display:flex;
  align-items:flex-start;
  gap:1rem;
  width:100%;
  max-width:88rem;
  margin:0 auto 1.5rem;
  padding:1.1rem 1.25rem;
  border:1px solid #e1c99d;
  border-radius:1.25rem;
  background:#fff8e9;
  color:var(--ink);
}
.he-checkout-ordering-notice svg { flex:0 0 auto; width:1.6rem; height:1.6rem; fill:none; stroke:#8a5a2b; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.he-checkout-ordering-notice h2 { margin:0 0 .35rem; color:var(--ink); font-size:1rem; letter-spacing:-.01em; }
.he-checkout-ordering-notice p { margin:0; color:#6f573a; font-size:.875rem; line-height:1.55; }
.he-checkout-fulfilment {
  width:100%;
  max-width:88rem;
  margin:0 auto 1.5rem;
  padding:clamp(1.15rem,2.5vw,1.65rem);
  border:1px solid var(--line);
  border-radius:1.5rem;
  background:#fff;
  box-shadow:0 1.2rem 3rem rgba(23,53,47,.05);
}
.he-checkout-fulfilment[hidden] { display:none !important; }
.he-checkout-fulfilment-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.he-checkout-fulfilment-heading .he-checkout-kicker { margin:0; }
.he-checkout-fulfilment-heading h2 {
  margin:0;
  color:var(--ink);
  font-size:clamp(1.25rem,2vw,1.6rem);
  letter-spacing:-.035em;
  line-height:1.2;
  text-align:right;
}
.he-checkout-fulfilment-options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.he-checkout-fulfilment-option {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:.9rem;
  width:100%;
  min-height:5.5rem;
  padding:1rem !important;
  border:1.5px solid var(--line) !important;
  border-radius:1rem !important;
  background:var(--paper) !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.he-checkout-fulfilment-option:hover {
  border-color:#afc0b6 !important;
  background:#fff !important;
}
.he-checkout-fulfilment-option.is-selected {
  border-color:var(--green) !important;
  background:#f3f7f2 !important;
  box-shadow:0 0 0 3px rgba(49,95,87,.1) !important;
}
.he-checkout-fulfilment-option:disabled {
  opacity:.48;
  cursor:not-allowed;
}
.he-checkout-fulfilment-option > span:last-child { display:grid; gap:.25rem; min-width:0; }
.he-checkout-fulfilment-option strong { font-size:1rem; line-height:1.25; }
.he-checkout-fulfilment-option small { color:var(--muted); font-size:.8rem; line-height:1.45; }
.he-checkout-fulfilment-icon {
  display:grid;
  place-items:center;
  width:2.7rem;
  height:2.7rem;
  border-radius:.8rem;
  background:var(--soft);
  color:var(--green);
}
.he-checkout-fulfilment-option.is-selected .he-checkout-fulfilment-icon {
  background:var(--green);
  color:#fff;
}
.he-checkout-fulfilment-icon svg {
  width:1.4rem;
  height:1.4rem;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.he-checkout-fulfilment-note {
  margin:.75rem 0 0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.5;
}
.he-checkout-fulfilment-note[hidden] { display:none !important; }
.he-checkout-content { width:100%; max-width:88rem; margin:auto; }
.he-checkout-content > .woocommerce { width:100%; }

.he-checkout-content form.checkout {
  display:block !important;
  width:100% !important;
  margin:0 !important;
}
.he-checkout-content .he-checkout-layout {
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);
  gap:2rem;
  align-items:start;
  width:100% !important;
  clear:both;
}
.he-checkout-content .he-checkout-details-panel,
.he-checkout-content .he-checkout-order-panel {
  display:block !important;
  min-width:0;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  clear:none !important;
}
.he-checkout-content .he-checkout-details-panel > .col2-set {
  display:block !important;
  float:none !important;
  clear:both !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:clamp(1.25rem,3vw,2.25rem);
  border:1px solid var(--line);
  border-radius:1.5rem;
  background:#fff;
  box-shadow:0 1.2rem 3rem rgba(23,53,47,.06);
}
.he-checkout-content .he-checkout-order-panel {
  position:sticky !important;
  top:7.5rem;
  align-self:start;
  border:1px solid var(--line);
  border-radius:1.5rem;
  background:var(--soft);
  overflow:visible;
  box-shadow:0 1.2rem 3rem rgba(23,53,47,.06);
}
.he-checkout-content .he-checkout-order-panel > #order_review_heading {
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:1.5rem 1.5rem .75rem;
  border:0 !important;
  background:var(--soft);
  color:var(--ink);
  font-size:1.55rem;
  letter-spacing:-.035em;
}
.he-checkout-content .he-checkout-order-panel > #order_review {
  display:block !important;
  position:relative !important;
  float:none !important;
  clear:both !important;
  width:100% !important;
  max-width:none !important;
  min-width:0;
  margin:0 !important;
  padding:0 1.5rem 1.5rem;
  border:0 !important;
  background:var(--soft);
}
.he-checkout-content .col2-set::before,
.he-checkout-content .col2-set::after,
.he-checkout-content form.checkout::before,
.he-checkout-content form.checkout::after { display:none !important; content:none !important; }
.he-checkout-content .col2-set .col-1,
.he-checkout-content .col2-set .col-2 {
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.he-checkout-content .col2-set .col-2 { margin-top:1.75rem; }
.l4d-checkout-page .he-native-city-mirror { display:none !important; }
.he-checkout-page.is-store-pickup #billing_country_field,
.he-checkout-page.is-store-pickup #billing_address_1_field,
.he-checkout-page.is-store-pickup #billing_address_2_field,
.he-checkout-page.is-store-pickup #billing_city_field,
.he-checkout-page.is-store-pickup #billing_state_field,
.he-checkout-page.is-store-pickup #billing_postcode_field,
.he-checkout-page.is-store-pickup .woocommerce-shipping-fields { display:none !important; }
.he-checkout-page.is-store-pickup :is(
  #billing_l4d_suburb_field,
  #billing_l4d_town_field
) {
  position:static !important;
  display:block !important;
  visibility:visible !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 0 1rem !important;
  opacity:1 !important;
}
.he-checkout-page.is-store-pickup :is(
  #billing_l4d_suburb_field,
  #billing_l4d_town_field
) abbr.required { display:none !important; }
.he-checkout-page:not(.is-store-pickup) :is(
  #billing_l4d_suburb_field,
  #shipping_l4d_suburb_field,
  #billing_l4d_town_field,
  #shipping_l4d_town_field
) {
  position:static !important;
  display:block !important;
  visibility:visible !important;
  width:100% !important;
  height:auto !important;
  opacity:1 !important;
}
.he-checkout-page:not(.is-store-pickup) .he-google-address-field,
.he-checkout-page:not(.is-store-pickup) .he-google-address-field.form-row {
  position:static !important;
  display:block !important;
  visibility:visible !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 0 1rem !important;
  opacity:1 !important;
}
.he-checkout-content h3 {
  margin:0 0 1.25rem;
  color:var(--ink);
  font-size:clamp(1.4rem,2vw,1.8rem);
  letter-spacing:-.04em;
}
.he-checkout-content #ship-to-different-address { font-size:1rem; letter-spacing:0; }
.he-checkout-content #ship-to-different-address label {
  display:flex;
  align-items:center;
  gap:.65rem;
  cursor:pointer;
}
.he-checkout-content #ship-to-different-address-checkbox,
.he-checkout-content input[type="checkbox"],
.he-checkout-content input[type="radio"] {
  display:inline-grid;
  place-content:center;
  flex:0 0 auto;
  width:1.15rem;
  height:1.15rem;
  margin:0 .35rem 0 0 !important;
  border:1.5px solid var(--green) !important;
  background:#fff !important;
  box-shadow:none !important;
}
.he-checkout-content input[type="checkbox"] { border-radius:.25rem !important; }
.he-checkout-content input[type="radio"] { border-radius:50% !important; }
.he-checkout-content input[type="checkbox"]::before,
.he-checkout-content input[type="radio"]::before {
  content:"";
  width:.55rem;
  height:.55rem;
  margin:0 !important;
  transform:scale(0);
  background:var(--green);
}
.he-checkout-content input[type="checkbox"]::before {
  clip-path:polygon(14% 44%,0 59%,39% 100%,100% 20%,84% 5%,38% 70%);
}
.he-checkout-content input[type="radio"]::before { border-radius:50%; }
.he-checkout-content input[type="checkbox"]:checked::before,
.he-checkout-content input[type="radio"]:checked::before { transform:scale(1); }

.he-checkout-content .form-row {
  float:none;
  width:100%;
  margin:0 0 1rem !important;
  padding:0 !important;
}
.he-checkout-content .form-row-first,
.he-checkout-content .form-row-last { width:calc(50% - .45rem) !important; }
.he-checkout-content .form-row-first { float:left; }
.he-checkout-content .form-row-last { float:right; }
.he-checkout-content .form-row-wide { clear:both; }
.he-checkout-content :where(.woocommerce-input-wrapper,.l4d-address-autocomplete-field) {
  overflow:visible;
}
.he-checkout-content .form-row label {
  display:block;
  margin:0 0 .45rem;
  color:var(--ink);
  font-size:.88rem;
  font-weight:700;
  line-height:1.35;
}
.he-checkout-content .required { color:var(--error); text-decoration:none; }
.he-checkout-content :where(input.input-text,select:not(.select2-hidden-accessible):not(.selectized),textarea),
.he-checkout-content .select2-container .select2-selection--single {
  width:100% !important;
  min-height:3.25rem;
  padding:.75rem .9rem !important;
  border:1px solid var(--line) !important;
  border-radius:.85rem !important;
  background:#fff !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  font-size:1rem;
  line-height:1.5;
}
.he-checkout-content textarea { min-height:7rem; resize:vertical; }
.he-checkout-content :where(input.input-text,select:not(.select2-hidden-accessible):not(.selectized),textarea):hover,
.he-checkout-content .select2-container .select2-selection--single:hover { border-color:#b9c8bf !important; }
.he-checkout-content :where(input.input-text,select:not(.select2-hidden-accessible):not(.selectized),textarea):focus {
  border-color:var(--green) !important;
  box-shadow:0 0 0 3px rgba(49,95,87,.12) !important;
}
.he-checkout-content .select2-container { width:100% !important; }
.he-checkout-content .select2-container .select2-selection--single { display:flex; align-items:center; }
.he-checkout-content .select2-container .select2-selection__rendered {
  padding:0 !important;
  color:var(--ink) !important;
  line-height:1.5 !important;
}
.he-checkout-content .select2-container .select2-selection__arrow {
  top:50% !important;
  right:.75rem !important;
  transform:translateY(-50%);
}

/* Fastway/Aramex destination selector: keep the courier control visually
   consistent with the checkout without leaking styles into other selects. */
.l4d-checkout-page:not(.is-store-pickup) .he-fastway-destination-field {
  display:block !important;
  visibility:visible !important;
  width:100%;
}
.l4d-checkout-page .he-fastway-destination-field[hidden] { display:none !important; }
.l4d-checkout-page .he-fastway-destination-field :is(
  .he-fastway-destination-select:not(.select2-hidden-accessible):not(.selectized),
  .select2-selection--single,
  .chosen-single,
  .selectize-input,
  [role="combobox"]
) {
  min-height:3.25rem !important;
  padding:.75rem 2.75rem .75rem .9rem !important;
  border:1px solid var(--line) !important;
  border-radius:.85rem !important;
  background:#fff !important;
  background-image:none !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  font-size:.95rem !important;
  font-weight:600 !important;
  line-height:1.5 !important;
}
.l4d-checkout-page .he-fastway-destination-field .he-fastway-destination-select:not(.select2-hidden-accessible):not(.selectized) {
  appearance:auto !important;
  -webkit-appearance:auto !important;
  padding-right:.9rem !important;
}
.l4d-checkout-page .he-fastway-destination-field :is(
  .select2-selection__rendered,
  .chosen-single span,
  .selectize-input > div
) { color:var(--ink) !important; }
.l4d-checkout-page .he-fastway-destination-field :is(
  .he-fastway-destination-select:not(.select2-hidden-accessible):not(.selectized),
  .select2-selection--single,
  .chosen-single,
  .selectize-input
):hover { border-color:#9fb2aa !important; }
.l4d-checkout-page .he-fastway-destination-field :is(
  .select2-container--focus .select2-selection--single,
  .select2-container--open .select2-selection--single,
  .chosen-container-active .chosen-single,
  .selectize-input.focus
) {
  border-color:var(--green) !important;
  box-shadow:0 0 0 3px rgba(49,95,87,.12) !important;
}
.l4d-checkout-page .he-fastway-destination-field .select2-selection__arrow b {
  border-color:var(--green) transparent transparent !important;
}
.l4d-checkout-page .he-fastway-destination-field .select2-container--open .select2-selection__arrow b {
  border-color:transparent transparent var(--green) !important;
}
.l4d-checkout-page .he-fastway-destination-field .chosen-drop,
.l4d-checkout-page .he-fastway-destination-field .selectize-dropdown,
.he-fastway-destination-dropdown {
  overflow:hidden !important;
  border:1px solid #dce4de !important;
  border-radius:.85rem !important;
  background:#fff !important;
  color:#17352f !important;
  box-shadow:0 16px 38px rgba(23,53,47,.16),0 3px 10px rgba(23,53,47,.08) !important;
}
.l4d-checkout-page .he-fastway-destination-field :is(.chosen-search input,.selectize-input input),
.he-fastway-destination-dropdown .select2-search__field {
  min-height:2.75rem !important;
  padding:.6rem .75rem !important;
  border:1px solid #dce4de !important;
  border-radius:.65rem !important;
  background:#fff !important;
  color:#17352f !important;
  box-shadow:none !important;
}
.he-fastway-destination-dropdown .select2-search__field:focus {
  border-color:#315f57 !important;
  box-shadow:0 0 0 3px rgba(49,95,87,.12) !important;
}
.l4d-checkout-page .he-fastway-destination-field :is(.chosen-results li,.selectize-dropdown-content [data-selectable]),
.he-fastway-destination-dropdown .select2-results__option {
  padding:.7rem .85rem !important;
  background:#fff !important;
  color:#17352f !important;
  font-size:.9rem !important;
  line-height:1.4 !important;
}
.l4d-checkout-page .he-fastway-destination-field .chosen-results li.result-selected,
.he-fastway-destination-dropdown .select2-results__option[aria-selected="true"] {
  background:#f1f4ed !important;
  color:#214840 !important;
  font-weight:700 !important;
}
.l4d-checkout-page .he-fastway-destination-field :is(.chosen-results li.highlighted,.selectize-dropdown-content .active),
.he-fastway-destination-dropdown .select2-results__option--highlighted,
.he-fastway-destination-dropdown .select2-results__option--highlighted[aria-selected] {
  background:#315f57 !important;
  color:#fff !important;
}
.he-checkout-content .woocommerce-invalid :where(input.input-text,select:not(.select2-hidden-accessible):not(.selectized),textarea),
.he-checkout-content .woocommerce-invalid .select2-selection {
  border-color:var(--error) !important;
  box-shadow:0 0 0 3px rgba(168,77,69,.1) !important;
}

.he-checkout-content table.shop_table {
  width:100%;
  margin:0 0 1.25rem !important;
  border:0 !important;
  border-collapse:collapse;
  background:transparent;
}
.he-checkout-content table.shop_table th,
.he-checkout-content table.shop_table td {
  padding:.8rem 0;
  border:0 !important;
  border-bottom:1px solid var(--line) !important;
  color:var(--ink);
  text-align:left;
  vertical-align:top;
}
.he-checkout-content table.shop_table th:last-child,
.he-checkout-content table.shop_table td:last-child { padding-left:.75rem; text-align:right; }
.he-checkout-content table.shop_table thead th {
  color:var(--muted);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.he-checkout-content table.shop_table .product-name { padding-right:.75rem; }
.he-checkout-content table.shop_table .product-quantity { color:var(--muted); font-weight:600; }
.he-checkout-content table.shop_table tfoot th,
.he-checkout-content table.shop_table tfoot td { font-weight:700; }
.he-checkout-content table.shop_table .order-total th,
.he-checkout-content table.shop_table .order-total td {
  border-bottom:0 !important;
  font-size:1.15rem;
  font-weight:800;
}

.he-checkout-content #payment {
  border:0 !important;
  border-radius:1rem !important;
  background:#fff !important;
  color:var(--ink) !important;
  box-shadow:none !important;
}
.he-checkout-content #payment ul.payment_methods {
  margin:0 !important;
  padding:1rem !important;
  border:1px solid var(--line) !important;
  border-radius:1rem !important;
}
.he-checkout-content #payment ul.payment_methods > li {
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:.75rem;
  margin:0 0 .75rem !important;
  padding:1rem !important;
  border:1px solid var(--line) !important;
  border-radius:.9rem !important;
  background:#fff !important;
  color:var(--ink);
}
.he-checkout-content #payment ul.payment_methods > li > input[type="radio"] {
  grid-column:1;
  margin:0 !important;
}
.he-checkout-content #payment ul.payment_methods > li:last-child { margin-bottom:0 !important; }
.he-checkout-content #payment ul.payment_methods > li > label {
  grid-column:2;
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem .7rem;
  min-height:2rem;
  margin:0 !important;
  padding:0 !important;
  color:var(--ink) !important;
  font-weight:700;
  line-height:1.35;
  cursor:pointer;
}
.he-checkout-content #payment ul.payment_methods img {
  width:auto !important;
  max-width:min(100%,18rem) !important;
  max-height:2.75rem !important;
  margin:0 !important;
  object-fit:contain;
}
.he-checkout-content #payment div.payment_box {
  grid-column:1 / -1;
  width:100%;
  margin:.75rem 0 0 !important;
  padding:1rem !important;
  border-radius:.75rem !important;
  background:var(--soft) !important;
  color:var(--muted) !important;
  font-size:.88rem;
}
.he-checkout-content #payment div.payment_box p {
  margin:0 !important;
  line-height:1.55;
}
.he-checkout-content #payment div.payment_box::before {
  border-bottom-color:var(--soft) !important;
}
.he-checkout-content #payment .woocommerce-SavedPaymentMethods-saveNew,
.he-checkout-content #payment .woocommerce-SavedPaymentMethods-saveNew.form-row {
  display:flex !important;
  align-items:center !important;
  gap:.55rem !important;
  width:100% !important;
  margin:.75rem 0 0 !important;
  padding:0 !important;
  color:var(--ink) !important;
  line-height:1.4 !important;
}
.he-checkout-content #payment .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-grid !important;
  place-content:center !important;
  flex:0 0 1.15rem !important;
  width:1.15rem !important;
  min-width:1.15rem !important;
  max-width:1.15rem !important;
  height:1.15rem !important;
  min-height:1.15rem !important;
  max-height:1.15rem !important;
  margin:0 !important;
  padding:0 !important;
  border:1.5px solid var(--green) !important;
  border-radius:.3rem !important;
  background:#fff !important;
  box-shadow:none !important;
  vertical-align:middle !important;
}
.he-checkout-content #payment .woocommerce-SavedPaymentMethods-saveNew label {
  display:inline !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--ink) !important;
  font-size:.88rem !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  cursor:pointer !important;
}
.he-checkout-content #payment .place-order { margin:0 !important; padding:1rem 0 0 !important; }
.he-checkout-content .woocommerce-privacy-policy-text {
  color:var(--muted);
  font-size:.82rem;
  line-height:1.55;
}
.he-checkout-content #place_order,
.he-checkout-content :where(.button,button:not(.l4d-address-suggestion),input[type="submit"]) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3.15rem;
  padding:.7rem 1.2rem !important;
  border:1px solid var(--green) !important;
  border-radius:999px !important;
  background:var(--green) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:.95rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  text-shadow:none !important;
}
.he-checkout-content #place_order { float:none !important; width:100%; margin:.75rem 0 0 !important; }
.he-checkout-content #place_order:hover,
.he-checkout-content :where(.button,button:not(.l4d-address-suggestion),input[type="submit"]):hover {
  border-color:var(--green-dark) !important;
  background:var(--green-dark) !important;
  color:#fff !important;
}
.he-checkout-content #place_order:active,
.he-checkout-content :where(.button,button:not(.l4d-address-suggestion),input[type="submit"]):active {
  border-color:var(--ink) !important;
  background:var(--ink) !important;
  color:#fff !important;
  transform:translateY(1px);
}

.he-checkout-content .woocommerce-form-login,
.he-checkout-content .checkout_coupon {
  margin:0 0 1.25rem !important;
  padding:1.25rem !important;
  border:1px solid var(--line) !important;
  border-radius:1rem !important;
  background:#fff !important;
}
.he-checkout-content .woocommerce-info,
.he-checkout-content .woocommerce-message,
.he-checkout-content .woocommerce-error {
  margin:0 0 1.25rem !important;
  padding:1rem 1rem 1rem 3rem !important;
  border:1px solid var(--line) !important;
  border-top:0 !important;
  border-radius:1rem !important;
  background:var(--soft) !important;
  color:var(--ink) !important;
  box-shadow:none !important;
}
.he-checkout-content .woocommerce-error {
  border-color:#ecd0cc !important;
  background:#fdf2f0 !important;
}
.he-checkout-content .woocommerce-info::before,
.he-checkout-content .woocommerce-message::before { color:var(--green) !important; }
.he-checkout-content .woocommerce-error::before { color:var(--error) !important; }
.he-checkout-content .woocommerce-info a,
.he-checkout-content .woocommerce-message a { color:var(--green) !important; font-weight:800; }

.he-checkout-content .woocommerce-order {
  padding:clamp(1.25rem,3vw,2.25rem);
  border:1px solid var(--line);
  border-radius:1.5rem;
  background:#fff;
  box-shadow:0 1.2rem 3rem rgba(23,53,47,.06);
}
.he-checkout-content .woocommerce-order-overview {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));
  gap:.75rem;
  margin:1.5rem 0 2rem !important;
  padding:0 !important;
}
.he-checkout-content .woocommerce-order-overview li {
  float:none !important;
  margin:0 !important;
  padding:1rem !important;
  border:1px solid var(--line) !important;
  border-radius:.8rem;
  color:var(--muted);
}
.he-checkout-content .woocommerce-order-overview li strong { display:block; margin-top:.3rem; color:var(--ink); }

.he-checkout-content .blockUI.blockOverlay {
  border-radius:.85rem !important;
  background:rgba(255,253,249,.82) !important;
  opacity:1 !important;
}
.he-checkout-content .blockUI.blockOverlay::before {
  width:1.5rem !important;
  height:1.5rem !important;
  margin:-.75rem 0 0 -.75rem !important;
  border:.18rem solid rgba(49,95,87,.2) !important;
  border-top-color:var(--green) !important;
  border-radius:50% !important;
  background:none !important;
  animation:he-checkout-spin .7s linear infinite !important;
}
@keyframes he-checkout-spin { to { transform:rotate(360deg); } }
.l4d-checkout-page.is-checkout-updating .he-checkout-order-panel { opacity:.82; }
.he-checkout-empty { padding:2rem; color:var(--muted); text-align:center; }

@media (max-width:960px) {
  .he-checkout-content .he-checkout-layout {
    grid-template-columns:1fr;
    gap:1.25rem;
  }
  .he-checkout-content .he-checkout-order-panel { position:static !important; }
}

@media (max-width:680px) {
  .he-checkout-page { padding:1.25rem .85rem 4rem; }
  .he-checkout-hero { display:block; margin-bottom:1.75rem; }
  .he-checkout-hero h1 { font-size:clamp(2.35rem,12vw,3.5rem); }
  .he-checkout-assurance { margin-top:1.25rem; width:100%; }
  .he-checkout-fulfilment { padding:1rem; border-radius:1.1rem; }
  .he-checkout-fulfilment-heading { display:block; }
  .he-checkout-fulfilment-heading h2 { margin-top:.45rem; text-align:left; }
  .he-checkout-fulfilment-options { grid-template-columns:1fr; }
  .he-checkout-content .he-checkout-details-panel > .col2-set { padding:1rem; border-radius:1.1rem; }
  .he-checkout-content .he-checkout-order-panel { border-radius:1.1rem; }
  .he-checkout-content .he-checkout-order-panel > #order_review_heading { padding:1.15rem 1rem .65rem; }
  .he-checkout-content .he-checkout-order-panel > #order_review { padding:0 1rem 1rem; }
  .he-checkout-content .form-row-first,
  .he-checkout-content .form-row-last { float:none; width:100% !important; }
  .he-checkout-content table.shop_table th,
  .he-checkout-content table.shop_table td { font-size:.88rem; }
  .he-checkout-content .woocommerce-order { padding:1rem; border-radius:1.1rem; }
}

/* Shared responsive guardrails: contain unpredictable CMS content. */
.l4d-checkout-page { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.l4d-checkout-page :where(img,video,canvas,iframe) { max-width:100%; }
.l4d-checkout-page :where(input,select,textarea) { max-width:100%; }

.he-checkout-page:not(.is-store-pickup) .he-manual-postcode-field {
  position:static !important;
  display:block !important;
  visibility:visible !important;
  width:100% !important;
  height:auto !important;
  opacity:1 !important;
}

/* Keep WooCommerce's hidden account, shipping and gateway panels hidden. */
.l4d-checkout-page [hidden] { display:none !important; }
.he-checkout-content select:not(.select2-hidden-accessible):not(.selectized) { appearance:auto; -webkit-appearance:auto; }
.he-checkout-content #shipping_method { margin:0; padding:0; list-style:none; text-align:left; }
.he-checkout-content #shipping_method li { display:flex; align-items:flex-start; gap:.5rem; margin:.65rem 0; }
.he-checkout-content #shipping_method input { flex:0 0 auto; margin:.2rem 0 0 !important; }
.he-checkout-content #shipping_method label { flex:1; min-width:0; margin:0; line-height:1.5; cursor:pointer; }
.he-checkout-content .woocommerce-terms-and-conditions-wrapper label { display:flex; align-items:flex-start; gap:.55rem; }
.he-checkout-content .woocommerce-terms-and-conditions-wrapper input { flex:0 0 auto; margin:.2rem 0 0 !important; }
.he-checkout-content #payment .woocommerce-SavedPaymentMethods { padding:0; list-style:none; }
.he-checkout-content #payment .woocommerce-SavedPaymentMethods li { display:flex; align-items:flex-start; gap:.55rem; padding:.5rem 0; }
.he-checkout-content #payment .woocommerce-SavedPaymentMethods label { min-width:0; line-height:1.5; }
.he-checkout-content .woocommerce-invalid label { color:var(--error); }
@media (max-width:680px) {
  .he-checkout-content table.shop_table .product-name { overflow-wrap:anywhere; }
  .he-checkout-content table.shop_table .product-total { white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) {
  .he-checkout-fulfilment-option { transition:none; }
  .he-checkout-content .blockUI.blockOverlay::before { animation:none !important; }
}

/* Fastway 1.1.0 wraps the native city INPUT with Fastselect. */
.he-checkout-content .he-fastway-destination-field .fstElement { width:100%; min-width:0; border:1px solid var(--line); border-radius:14px; font:inherit; }
.he-checkout-content .he-fastway-destination-field :is(.billingVal,.shippingVal,.fstToggleBtn) { min-height:50px; padding:14px; border-radius:14px; background:#fff; color:var(--ink); white-space:normal; overflow-wrap:anywhere; }
.he-checkout-content .he-fastway-destination-field .fstResults { z-index:100; max-height:260px; border-radius:12px; }
.he-checkout-content .he-fastway-destination-field .fstQueryInput { width:100%; min-width:0; font:inherit; }
.he-checkout-content .he-fastway-destination-field .fstResultItem { white-space:normal; overflow-wrap:anywhere; padding:12px 14px; font:inherit; }

/* Fastway fills the native postcode; show only its destination search. */
.he-checkout-content .he-fastway-postcode-field { display:none !important; }
