.ml-cart-shell {
  --ml-cart-green: #88ba86;
  --ml-cart-green-dark: #5f9163;
  --ml-cart-green-soft: #eef6ed;
  --ml-cart-green-pale: #f7fbf6;
  --ml-cart-orange: #feaf65;
  --ml-cart-text: #454545;
  --ml-cart-muted: #747474;
  --ml-cart-line: #e8ece7;
  --ml-cart-white: #ffffff;
  --ml-cart-radius: 9px;
  --ml-cart-button-radius: 6px;
  --ml-cart-font: "Rajdhani", sans-serif;
  --ml-cart-display: "Glass Antiqua", "Rajdhani", sans-serif;
  width: min(1280px, calc(100% - 40px));
  margin: 20px auto 64px;
  color: var(--ml-cart-text);
  font-family: var(--ml-cart-font);
  font-size: 18px;
  line-height: 1.4;
}

.et_pb_section.ml-cart-host-section,
.et_pb_row.ml-cart-host-row {
  padding-top: 0 !important;
}

.et_pb_module.ml-cart-host-module {
  margin-top: 0 !important;
}

.ml-cart-shell *,
.ml-cart-shell *::before,
.ml-cart-shell *::after {
  box-sizing: border-box;
}

.ml-cart-shell h2,
.ml-cart-shell h3,
.ml-cart-shell p {
  margin-top: 0;
}

.ml-cart-shell h2 {
  color: var(--ml-cart-text);
  font-family: var(--ml-cart-font);
  font-size: 29px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-transform: uppercase;
}

.ml-cart-shell a {
  color: var(--ml-cart-green-dark);
}

.ml-cart-shell button,
.ml-cart-shell input,
.ml-cart-shell select,
.ml-cart-shell textarea {
  font-family: var(--ml-cart-font);
}

.ml-cart-shell .button,
.ml-cart-shell button,
.ml-cart-shell a.remove {
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease,
    color 220ms ease,
    opacity 220ms ease,
    transform 220ms ease !important;
}

.ml-cart-shell .button::after,
.ml-cart-shell button::after,
.ml-cart-shell .button::before,
.ml-cart-shell button::before {
  display: none !important;
}

.ml-cart-notices:empty {
  display: none;
}

.ml-cart-notices .woocommerce-message,
.ml-cart-notices .woocommerce-error,
.ml-cart-notices .woocommerce-info {
  margin: 0 0 22px !important;
  border: 0 !important;
  border-radius: var(--ml-cart-radius);
  background: var(--ml-cart-green-soft) !important;
  color: var(--ml-cart-text) !important;
  font-family: var(--ml-cart-font);
}

/* Keep the major cart-page cards on the same 9px corner radius as the
   MarLec Rewards card. These two banners are rendered by separate plugins,
   so JavaScript adds the scoped classes at runtime. */
.ml-cart-soap-promo-banner,
.ml-cart-free-shipping-banner {
  overflow: hidden !important;
  border-radius: var(--ml-cart-radius, 9px) !important;
}

/* The free-shipping banner is rendered by its existing plugin. JavaScript
   adds these scoped classes so Divi and the banner plugin cannot fight over
   the button hover state or wash out the progress indicator. */
.ml-cart-free-shipping-banner .ml-cart-continue-shopping {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 1px solid var(--ml-cart-green) !important;
  border-radius: var(--ml-cart-button-radius) !important;
  background: var(--ml-cart-white) !important;
  box-shadow: none !important;
  color: var(--ml-cart-green-dark) !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  animation: none !important;
  transform: none !important;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms ease !important;
}

.ml-cart-free-shipping-banner .ml-cart-continue-shopping::before,
.ml-cart-free-shipping-banner .ml-cart-continue-shopping::after {
  display: none !important;
  content: none !important;
}

.ml-cart-free-shipping-banner .ml-cart-continue-shopping:hover,
.ml-cart-free-shipping-banner .ml-cart-continue-shopping:focus-visible {
  border-color: var(--ml-cart-green-dark) !important;
  background: var(--ml-cart-green-dark) !important;
  box-shadow: 0 7px 16px rgba(95, 145, 99, 0.2) !important;
  color: var(--ml-cart-white) !important;
  animation: none !important;
  transform: translateY(-1px) !important;
}

.ml-cart-free-shipping-banner .ml-cart-free-shipping-progress {
  overflow: hidden !important;
  height: 10px !important;
  min-height: 10px !important;
  border: 1px solid #aec8ac !important;
  border-radius: 999px !important;
  background: #d4e2d2 !important;
  box-shadow: inset 0 1px 2px rgba(69, 89, 69, 0.12) !important;
  accent-color: var(--ml-cart-green-dark);
  appearance: none;
}

.ml-cart-free-shipping-banner .ml-cart-free-shipping-progress__fill {
  height: 100% !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: var(--ml-cart-green-dark) !important;
  box-shadow: none !important;
}

.ml-cart-free-shipping-banner progress.ml-cart-free-shipping-progress::-webkit-progress-bar {
  border-radius: 999px;
  background: #d4e2d2;
}

.ml-cart-free-shipping-banner progress.ml-cart-free-shipping-progress::-webkit-progress-value {
  border-radius: 999px;
  background: var(--ml-cart-green-dark);
}

.ml-cart-free-shipping-banner progress.ml-cart-free-shipping-progress::-moz-progress-bar {
  border-radius: 999px;
  background: var(--ml-cart-green-dark);
}

.ml-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.75fr) minmax(340px, 0.95fr);
  gap: 28px;
  align-items: start;
}

.ml-cart-main,
.ml-cart-side {
  min-width: 0;
}

.ml-cart-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 6px 14px;
}

.ml-cart-heading h2 {
  margin: 0;
}

.ml-cart-heading__count {
  color: var(--ml-cart-muted);
  font-size: 20px !important;
  text-transform: uppercase;
}

.ml-cart-form {
  margin: 0 !important;
}

.ml-cart-items {
  overflow: hidden;
  border: 1px solid var(--ml-cart-line);
  border-radius: var(--ml-cart-radius);
  background: var(--ml-cart-white);
  box-shadow: 0 7px 22px rgba(50, 65, 51, 0.035);
}

.ml-cart-item {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 122px 104px 32px;
  gap: 18px;
  min-height: 132px;
  padding: 14px 18px 14px 14px;
  align-items: center;
  background: var(--ml-cart-white);
}

.ml-cart-item + .ml-cart-item {
  border-top: 1px solid var(--ml-cart-line);
}

.ml-cart-item__thumbnail {
  align-self: stretch;
  min-height: 104px;
}

.ml-cart-item__thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}

.ml-cart-item__thumbnail img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 104px;
  margin: 0 !important;
  border-radius: 13px;
  object-fit: cover;
}

.ml-cart-item__info {
  min-width: 0;
}

.ml-cart-item__name {
  margin: 0 0 4px !important;
  color: var(--ml-cart-text);
  font-family: var(--ml-cart-font) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.ml-cart-item__name a {
  color: inherit;
  text-decoration: none;
}

.ml-cart-item__name a:hover,
.ml-cart-item__name a:focus-visible {
  color: var(--ml-cart-green-dark);
}

.ml-cart-item__unit-price {
  color: var(--ml-cart-muted);
  font-size: 17px;
}

.ml-cart-item__unit-price del,
.ml-cart-item__subtotal del,
.ml-cart-recommendation__price del {
  color: var(--ml-cart-green-dark);
  opacity: 0.72;
  text-decoration-thickness: 1px;
}

.ml-cart-item__unit-price ins,
.ml-cart-item__subtotal ins,
.ml-cart-recommendation__price ins {
  color: var(--ml-cart-orange);
  text-decoration: none;
}

.ml-cart-item__unit-price del,
.ml-cart-item__unit-price ins,
.ml-cart-item__subtotal del,
.ml-cart-item__subtotal ins {
  display: block;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}

.ml-cart-item__subtotal del,
.ml-cart-item__subtotal ins {
  margin-left: auto;
  text-align: right;
}

.ml-cart-item__details {
  margin-top: 7px;
  font-size: 17px;
}

.ml-cart-item__details summary {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  width: fit-content;
  color: var(--ml-cart-muted);
  cursor: pointer;
  list-style: none;
  text-transform: uppercase;
}

.ml-cart-item__details summary::-webkit-details-marker {
  display: none;
}

.ml-cart-item__details summary::before {
  content: "+";
  color: var(--ml-cart-green-dark);
  font-weight: 600;
}

.ml-cart-item__details[open] summary::before {
  content: "−";
}

.ml-cart-item__details-action {
  color: var(--ml-cart-green-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ml-cart-item__details-content {
  margin-top: 9px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--ml-cart-green-pale);
  color: var(--ml-cart-text);
}

.ml-cart-item__details-content dl,
.ml-cart-item__details-content p {
  margin: 0 !important;
}

.ml-cart-item__details-content dt,
.ml-cart-item__details-content dd {
  display: inline;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ml-cart-item__details-content dt {
  font-weight: 600;
  text-transform: uppercase;
}

.ml-cart-item__details-content dd::after {
  content: "";
  display: block;
  margin-bottom: 4px;
}

.ml-cart-item__quantity {
  justify-self: center;
}

.ml-cart-quantity {
  display: inline-grid;
  grid-template-columns: 38px 46px 38px;
  overflow: hidden;
  height: 40px;
  border: 1px solid #dfe6de;
  border-radius: 10px;
  background: var(--ml-cart-white);
}

.ml-cart-quantity__button {
  width: 38px;
  min-width: 0 !important;
  height: 38px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ml-cart-green-dark) !important;
  font-family: Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 38px !important;
  cursor: pointer;
}

.ml-cart-quantity__button:hover,
.ml-cart-quantity__button:focus-visible {
  background: var(--ml-cart-green-soft) !important;
}

.ml-cart-quantity .quantity {
  width: 46px !important;
  margin: 0 !important;
}

.ml-cart-quantity input.qty {
  width: 46px !important;
  min-width: 0 !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  border: 0 !important;
  border-right: 1px solid #edf0ed !important;
  border-left: 1px solid #edf0ed !important;
  border-radius: 0 !important;
  background: var(--ml-cart-white) !important;
  box-shadow: none !important;
  color: var(--ml-cart-text) !important;
  font-size: 17px !important;
  text-align: center;
  appearance: textfield;
}

.ml-cart-quantity input.qty::-webkit-inner-spin-button,
.ml-cart-quantity input.qty::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.ml-cart-quantity--fixed {
  display: grid;
  grid-template-columns: 1fr;
  width: 122px;
  height: 40px;
  place-items: center;
  border-color: #dfe6de;
  background: var(--ml-cart-green-pale);
  color: var(--ml-cart-text);
}

.ml-cart-quantity__fixed-value {
  grid-area: 1 / 1;
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
}

.ml-cart-quantity__source {
  display: none !important;
}

.ml-cart-item__subtotal {
  justify-self: end;
  color: var(--ml-cart-text);
  font-size: 19px;
  font-weight: 500;
  white-space: nowrap;
}

.ml-cart-item__remove {
  justify-self: end;
}

.ml-cart-shell a.remove.ml-cart-remove {
  display: grid !important;
  width: 30px !important;
  height: 30px !important;
  place-items: center;
  border-radius: 50% !important;
  background: transparent !important;
  color: #8a9189 !important;
  font-family: Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-decoration: none;
}

.ml-cart-shell a.remove.ml-cart-remove:hover,
.ml-cart-shell a.remove.ml-cart-remove:focus-visible {
  background: #f7eded !important;
  color: #a65b5b !important;
}

.ml-cart-actions {
  min-height: 25px;
  padding: 10px 4px 0;
  text-align: right;
}

.ml-cart-update-button {
  min-height: 42px;
  padding: 8px 24px !important;
  border: 1px solid var(--ml-cart-green) !important;
  border-radius: var(--ml-cart-button-radius) !important;
  background: var(--ml-cart-white) !important;
  color: var(--ml-cart-green-dark) !important;
  font-size: 16px !important;
  text-transform: uppercase;
}

.ml-cart-update-button:hover,
.ml-cart-update-button:focus-visible {
  background: var(--ml-cart-green) !important;
  box-shadow: 0 7px 16px rgba(95, 145, 99, 0.18) !important;
  color: var(--ml-cart-white) !important;
  transform: translateY(-1px);
}

.ml-cart-js .ml-cart-update-button {
  display: none !important;
}

.ml-cart-update-status {
  color: var(--ml-cart-muted);
  font-size: 15px;
}

.ml-cart-side {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ml-cart-recommendations,
.ml-cart-summary {
  overflow: hidden;
  border: 1px solid var(--ml-cart-line);
  border-radius: var(--ml-cart-radius);
  background: var(--ml-cart-white);
  box-shadow: 0 7px 22px rgba(50, 65, 51, 0.035);
}

.ml-cart-recommendations {
  margin-top: 16px;
  background: var(--ml-cart-green-pale);
}

.ml-cart-summary h2 {
  margin: 0 0 13px !important;
  font-size: 21px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.ml-cart-recommendations summary {
  display: flex;
  min-height: 50px;
  padding: 11px 15px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--ml-cart-text);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  list-style: none;
  text-transform: uppercase;
}

.ml-cart-recommendations summary::-webkit-details-marker {
  display: none;
}

.ml-cart-recommendations summary svg {
  display: block;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  transform: rotate(0deg);
  transition: transform 220ms ease;
}

.ml-cart-recommendations[open] summary {
  border-bottom: 1px solid var(--ml-cart-line);
}

.ml-cart-recommendations[open] summary svg {
  transform: rotate(180deg);
}

.ml-cart-recommendations summary:focus-visible {
  outline: 2px solid var(--ml-cart-green-dark);
  outline-offset: -3px;
}

.ml-cart-legacy-promo-hidden {
  display: none !important;
}

.ml-cart-recommendations__track {
  display: grid;
  grid-auto-columns: minmax(235px, 31%);
  grid-auto-flow: column;
  gap: 10px;
  padding: 12px 14px 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
  scrollbar-color: var(--ml-cart-green) transparent;
  scrollbar-width: thin;
}

.ml-cart-recommendation {
  display: grid;
  min-width: 0;
  padding: 9px;
  align-items: center;
  grid-template-columns: 72px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 6px 10px;
  border: 1px solid var(--ml-cart-line);
  border-radius: var(--ml-cart-radius);
  background: var(--ml-cart-white);
  scroll-snap-align: start;
}

.ml-cart-recommendation__image {
  display: block;
  overflow: hidden;
  width: 72px;
  height: 72px;
  grid-row: 1 / 3;
  border-radius: 6px;
  background: var(--ml-cart-green-pale);
}

.ml-cart-recommendation__image img {
  display: block;
  width: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  object-fit: cover;
  transition: transform 180ms ease, filter 180ms ease;
}

.ml-cart-recommendation:hover .ml-cart-recommendation__image img {
  filter: brightness(1.02);
  transform: scale(1.015);
}

.ml-cart-recommendation__copy {
  min-width: 0;
  align-self: end;
}

.ml-cart-recommendation h3 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 2px !important;
  color: var(--ml-cart-text);
  font-family: var(--ml-cart-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  text-transform: uppercase;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ml-cart-recommendation h3 a {
  color: inherit;
  text-decoration: none;
}

.ml-cart-recommendation__price {
  color: var(--ml-cart-muted);
  font-size: 15px;
  line-height: 1;
}

.ml-cart-shell .ml-cart-recommendation__button {
  display: inline-flex !important;
  width: fit-content;
  min-width: 92px;
  min-height: 34px;
  margin: 0 !important;
  padding: 6px 13px !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid var(--ml-cart-green) !important;
  border-radius: var(--ml-cart-radius) !important;
  background: var(--ml-cart-green) !important;
  box-shadow: none !important;
  color: var(--ml-cart-white) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: uppercase;
}

.ml-cart-shell .ml-cart-recommendation__button:hover,
.ml-cart-shell .ml-cart-recommendation__button:focus-visible {
  border-color: var(--ml-cart-green-dark) !important;
  background: var(--ml-cart-green-dark) !important;
  box-shadow: 0 7px 16px rgba(95, 145, 99, 0.16) !important;
  color: var(--ml-cart-white) !important;
  transform: translateY(-1px);
}

.ml-cart-shell .ml-cart-recommendation__button.is-added,
.ml-cart-shell .ml-cart-recommendation__button.is-added:hover,
.ml-cart-shell .ml-cart-recommendation__button.is-added:focus-visible {
  border-color: var(--ml-cart-green-dark) !important;
  background: var(--ml-cart-green-dark) !important;
  box-shadow: none !important;
  color: var(--ml-cart-white) !important;
  pointer-events: none;
  transform: none;
}

.ml-cart-summary {
  padding: 18px;
}

.ml-cart-summary table.shop_table,
.woocommerce .ml-cart-summary table.shop_table {
  width: 100%;
  margin: 0 0 12px !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  background: transparent;
  font-size: 17px;
}

.ml-cart-summary table.shop_table tr {
  border-bottom: 1px solid var(--ml-cart-line);
}

.ml-cart-summary table.shop_table tr:last-child {
  border-bottom: 0;
}

.ml-cart-summary table.shop_table th,
.ml-cart-summary table.shop_table td {
  padding: 9px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ml-cart-text);
  font-weight: 400;
  line-height: 1.25;
  vertical-align: top;
}

.ml-cart-summary table.shop_table th {
  width: 42%;
  padding-right: 12px !important;
  text-align: left;
}

.ml-cart-summary table.shop_table td {
  text-align: right;
}

.ml-cart-summary table.shop_table .order-total th,
.ml-cart-summary table.shop_table .order-total td {
  padding-top: 12px !important;
  font-size: 21px;
  font-weight: 600;
}

.ml-cart-shell .woocommerce-shipping-methods,
.ml-cart-shell ul#shipping_method {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ml-cart-shell .woocommerce-shipping-methods li,
.ml-cart-shell ul#shipping_method li {
  display: flex !important;
  align-items: center;
  gap: 7px;
  margin: 0 0 5px !important;
  padding-left: 0 !important;
  list-style: none !important;
}

.ml-cart-shell .woocommerce-shipping-methods li::marker,
.ml-cart-shell ul#shipping_method li::marker {
  content: "";
}

.ml-cart-shell .woocommerce-shipping-methods li::before,
.ml-cart-shell ul#shipping_method li::before {
  display: none !important;
  content: none !important;
}

.ml-cart-shell .woocommerce-shipping-methods input,
.ml-cart-shell ul#shipping_method input {
  flex: 0 0 auto;
  margin: 0 !important;
}

.ml-cart-shell .woocommerce-shipping-methods label,
.ml-cart-shell ul#shipping_method label {
  margin: 0 !important;
  color: var(--ml-cart-text) !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.3;
}

.ml-cart-summary .woocommerce-shipping-destination,
.ml-cart-summary .woocommerce-shipping-calculator {
  display: block !important;
  margin: 5px 0 0 !important;
  font-family: var(--ml-cart-font) !important;
}

.ml-cart-summary .shipping-calculator-button {
  display: inline-block !important;
  color: var(--ml-cart-green-dark);
  font-family: var(--ml-cart-font) !important;
  font-weight: 500;
  text-decoration: none;
}

.ml-cart-summary .shipping-calculator-form {
  display: none;
  padding-top: 8px;
  text-align: left !important;
}

.ml-cart-summary .shipping-calculator-form .form-row {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  text-align: left !important;
}

.ml-cart-summary .shipping-calculator-form label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 4px !important;
  color: var(--ml-cart-text) !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

/* Divi's WooCommerce form rules are loaded late and can right-align these
   labels. IDs intentionally provide enough specificity to keep each label
   aligned with the left edge of its field. */
.woocommerce .ml-cart-shell .ml-cart-summary #shipping-calculator-form,
.woocommerce .ml-cart-shell .ml-cart-summary #shipping-calculator-form .form-row,
.woocommerce .ml-cart-shell .ml-cart-summary #shipping-calculator-form .form-row > span,
.woocommerce .ml-cart-shell .ml-cart-summary #shipping-calculator-form > p:last-of-type {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  text-align: left !important;
}

.woocommerce .ml-cart-shell .ml-cart-summary #shipping-calculator-form #calc_shipping_country_field label,
.woocommerce .ml-cart-shell .ml-cart-summary #shipping-calculator-form #calc_shipping_state_field label,
.woocommerce .ml-cart-shell .ml-cart-summary #shipping-calculator-form #calc_shipping_city_field label,
.woocommerce .ml-cart-shell .ml-cart-summary #shipping-calculator-form #calc_shipping_postcode_field label {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 0 4px !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.ml-cart-summary .shipping-calculator-form input,
.ml-cart-summary .shipping-calculator-form select {
  width: 100% !important;
  min-height: 42px;
  padding: 8px 11px !important;
  border: 1px solid var(--ml-cart-line) !important;
  border-radius: 9px !important;
  background: var(--ml-cart-green-pale) !important;
  color: var(--ml-cart-text) !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.ml-cart-summary .shipping-calculator-form .select2-container {
  width: 100% !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 16px !important;
  text-align: left !important;
}

.ml-cart-summary .shipping-calculator-form .select2-selection {
  min-height: 42px !important;
  border: 1px solid var(--ml-cart-line) !important;
  border-radius: 9px !important;
  background: var(--ml-cart-green-pale) !important;
}

.ml-cart-summary .shipping-calculator-form .select2-selection__rendered {
  padding: 9px 34px 9px 11px !important;
  color: var(--ml-cart-text) !important;
  font-family: var(--ml-cart-font) !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

.ml-cart-summary .shipping-calculator-form .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 18px !important;
  border: 1px solid var(--ml-cart-green) !important;
  border-radius: var(--ml-cart-button-radius) !important;
  background: var(--ml-cart-white) !important;
  color: var(--ml-cart-green-dark) !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

.ml-cart-summary .shipping-calculator-form .button:hover,
.ml-cart-summary .shipping-calculator-form .button:focus-visible {
  background: var(--ml-cart-green) !important;
  color: var(--ml-cart-white) !important;
  transform: translateY(-1px);
}

.ml-cart-summary-status {
  min-height: 0;
  margin: 0 0 10px;
  color: var(--ml-cart-muted);
  font-family: var(--ml-cart-font);
  font-size: 15px;
  line-height: 1.3;
}

.ml-cart-summary-status:empty {
  display: none;
}

.ml-cart-coupon {
  margin: 6px 0 14px;
  border: 1px dashed #ceddcc;
  border-radius: 11px;
}

.ml-cart-coupon summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 9px 12px;
  color: var(--ml-cart-green-dark);
  cursor: pointer;
  list-style: none;
}

.ml-cart-coupon summary::-webkit-details-marker {
  display: none;
}

.ml-cart-coupon summary::after {
  content: "+";
  color: var(--ml-cart-muted);
  font-family: Arial, sans-serif;
}

.ml-cart-coupon[open] summary::after {
  content: "−";
}

.ml-cart-coupon__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  padding: 0 10px 10px;
}

.ml-cart-coupon__form input {
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 8px 11px !important;
  border: 1px solid var(--ml-cart-line) !important;
  border-radius: 9px !important;
  background: var(--ml-cart-green-pale) !important;
  color: var(--ml-cart-text) !important;
  font-size: 16px !important;
}

.ml-cart-coupon__form .button {
  min-height: 42px;
  margin: 0 !important;
  padding: 7px 16px !important;
  border: 1px solid var(--ml-cart-green) !important;
  border-radius: var(--ml-cart-button-radius) !important;
  background: var(--ml-cart-white) !important;
  color: var(--ml-cart-green-dark) !important;
  font-size: 15px !important;
  text-transform: uppercase;
}

.ml-cart-coupon__form .button:hover,
.ml-cart-coupon__form .button:focus-visible {
  background: var(--ml-cart-green) !important;
  box-shadow: 0 7px 16px rgba(95, 145, 99, 0.16) !important;
  color: var(--ml-cart-white) !important;
  transform: translateY(-1px);
}

.ml-cart-checkout-actions,
.ml-cart-summary .wc-proceed-to-checkout {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
}

.ml-cart-checkout-actions > *,
.ml-cart-summary .wc-proceed-to-checkout > * {
  flex: 1 1 calc(50% - 5px);
  margin: 0 !important;
}

.ml-cart-checkout-actions .checkout-button,
.ml-cart-summary .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  order: -10;
  flex-basis: 100%;
  width: 100%;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border: 1px solid var(--ml-cart-green) !important;
  border-radius: var(--ml-cart-button-radius) !important;
  background: var(--ml-cart-green) !important;
  box-shadow: none !important;
  color: var(--ml-cart-white) !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: center;
  text-transform: uppercase;
}

.ml-cart-checkout-actions .checkout-button:hover,
.ml-cart-checkout-actions .checkout-button:focus-visible {
  background: var(--ml-cart-white) !important;
  box-shadow: 0 8px 18px rgba(95, 145, 99, 0.18) !important;
  color: var(--ml-cart-green-dark) !important;
  transform: translateY(-1px);
}

.ml-cart-summary #wc-stripe-payment-request-wrapper,
.ml-cart-summary #wc-stripe-payment-request-button-separator,
.ml-cart-summary .wc-stripe-payment-request-wrapper,
.ml-cart-summary .wcpay-payment-request-wrapper,
.ml-cart-summary .wcpay-express-checkout-wrapper,
.ml-cart-summary #wcpay-express-checkout-element,
.ml-cart-summary #wcpay-woopay-button,
.ml-cart-summary #wcpay-express-checkout-button-separator {
  flex: 1 1 100%;
  width: 100%;
  max-width: none;
}

.ml-cart-summary #wcpay-express-checkout-element,
.ml-cart-summary #wcpay-payment-request-wrapper,
.ml-cart-summary #wc-stripe-payment-request-wrapper {
  overflow: hidden;
  border-radius: var(--ml-cart-button-radius) !important;
  transform: none !important;
  transition: opacity 180ms ease !important;
}

.ml-cart-summary #wcpay-express-checkout-element iframe,
.ml-cart-summary #wcpay-payment-request-wrapper iframe,
.ml-cart-summary #wc-stripe-payment-request-wrapper iframe {
  border-radius: var(--ml-cart-button-radius) !important;
}

.ml-cart-summary #wcpay-express-checkout-element:hover,
.ml-cart-summary #wcpay-express-checkout-element:focus-within,
.ml-cart-summary #wcpay-payment-request-wrapper:hover,
.ml-cart-summary #wcpay-payment-request-wrapper:focus-within,
.ml-cart-summary #wc-stripe-payment-request-wrapper:hover,
.ml-cart-summary #wc-stripe-payment-request-wrapper:focus-within {
  opacity: 0.9;
  transform: none !important;
}

.ml-cart-summary apple-pay-button,
.ml-cart-summary .apple-pay-button,
.ml-cart-summary [class*="apple-pay-button"] {
  --apple-pay-button-border-radius: 6px;
  overflow: hidden;
  border-radius: var(--ml-cart-button-radius) !important;
  transition:
    filter 180ms ease,
    opacity 180ms ease !important;
  transform: none !important;
}

.ml-cart-summary apple-pay-button:hover,
.ml-cart-summary apple-pay-button:focus-visible,
.ml-cart-summary .apple-pay-button:hover,
.ml-cart-summary .apple-pay-button:focus-visible,
.ml-cart-summary [class*="apple-pay-button"]:hover,
.ml-cart-summary [class*="apple-pay-button"]:focus-visible {
  filter: brightness(1.16);
  opacity: 0.9;
  transform: none !important;
}

/* Keep the brief WooCommerce fallback fragment presentable while the
   MarLec summary is restored after an AJAX shipping-method update. */
.ml-cart-side > .cart_totals:not(.ml-cart-summary) {
  overflow: hidden;
  padding: 18px;
  border: 1px solid var(--ml-cart-line);
  border-radius: var(--ml-cart-radius);
  background: var(--ml-cart-white);
  box-shadow: 0 7px 22px rgba(50, 65, 51, 0.035);
  color: var(--ml-cart-text);
  font-family: var(--ml-cart-font) !important;
}

.ml-cart-side > .cart_totals:not(.ml-cart-summary) h2,
.ml-cart-side > .cart_totals:not(.ml-cart-summary) table {
  font-family: var(--ml-cart-font) !important;
}

.ml-cart-side > .cart_totals:not(.ml-cart-summary) table.shop_table {
  width: 100%;
  margin: 0 0 12px !important;
  border: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

.ml-cart-side > .cart_totals:not(.ml-cart-summary) table.shop_table tr {
  border-bottom: 1px solid var(--ml-cart-line);
}

.ml-cart-side > .cart_totals:not(.ml-cart-summary) table.shop_table th,
.ml-cart-side > .cart_totals:not(.ml-cart-summary) table.shop_table td {
  padding: 9px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ml-cart-text) !important;
  font-family: var(--ml-cart-font) !important;
}

.ml-cart-shell .cart_totals .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid var(--ml-cart-green) !important;
  border-radius: var(--ml-cart-button-radius) !important;
  background: var(--ml-cart-green) !important;
  box-shadow: none !important;
  color: var(--ml-cart-white) !important;
  font-family: var(--ml-cart-font) !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: center;
  text-transform: uppercase;
}

.ml-cart-shell .cart_totals .wc-proceed-to-checkout .checkout-button:hover,
.ml-cart-shell .cart_totals .wc-proceed-to-checkout .checkout-button:focus-visible {
  background: var(--ml-cart-white) !important;
  box-shadow: 0 8px 18px rgba(95, 145, 99, 0.18) !important;
  color: var(--ml-cart-green-dark) !important;
  transform: translateY(-1px);
}

.ml-cart-shell.is-updating {
  cursor: progress;
}

.ml-cart-shell.is-updating .ml-cart-layout {
  opacity: 0.58;
  pointer-events: none;
  transition: opacity 120ms ease;
}

.ml-cart-summary.is-updating-shipping {
  cursor: progress;
}

.ml-cart-summary.is-updating-shipping [data-ml-cart-totals-table] {
  opacity: 0.58;
  pointer-events: none;
  transition: opacity 120ms ease;
}

.ml-cart-empty {
  max-width: 700px;
  margin: 0 auto;
  padding: 54px 30px;
  border: 1px solid var(--ml-cart-line);
  border-radius: var(--ml-cart-radius);
  background: var(--ml-cart-green-pale);
  text-align: center;
}

.ml-cart-empty h2 {
  margin-bottom: 10px;
}

.ml-cart-empty p {
  margin-bottom: 24px;
}

.ml-cart-shell .ml-cart-primary-button {
  display: inline-block;
  padding: 11px 25px !important;
  border: 1px solid var(--ml-cart-green) !important;
  border-radius: var(--ml-cart-button-radius) !important;
  background: var(--ml-cart-green) !important;
  color: var(--ml-cart-white) !important;
  text-transform: uppercase;
}

.ml-cart-shell .ml-cart-primary-button:hover,
.ml-cart-shell .ml-cart-primary-button:focus-visible {
  background: var(--ml-cart-white) !important;
  box-shadow: 0 8px 18px rgba(95, 145, 99, 0.18) !important;
  color: var(--ml-cart-green-dark) !important;
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  .ml-cart-shell {
    width: min(960px, calc(100% - 32px));
    margin-top: 16px;
  }

  .ml-cart-layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.85fr);
    gap: 20px;
  }

  .ml-cart-item {
    grid-template-columns: 90px minmax(0, 1fr) 104px 88px 28px;
    gap: 12px;
    min-height: 112px;
    padding: 11px 13px 11px 11px;
  }

  .ml-cart-item__thumbnail,
  .ml-cart-item__thumbnail img {
    min-height: 88px;
  }

  .ml-cart-quantity {
    grid-template-columns: 32px 40px 32px;
  }

  .ml-cart-quantity__button {
    width: 32px;
  }

  .ml-cart-quantity .quantity,
  .ml-cart-quantity input.qty {
    width: 40px !important;
  }

  .ml-cart-quantity--fixed {
    width: 104px;
  }
}

@media (max-width: 767px) {
  .ml-cart-shell {
    width: calc(100% - 22px);
    margin: 10px auto 46px;
    font-size: 16px;
  }

  .ml-cart-free-shipping-banner .ml-cart-continue-shopping {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 19px !important;
    font-size: 15px !important;
  }

  .ml-cart-free-shipping-banner .ml-cart-free-shipping-progress {
    height: 9px !important;
    min-height: 9px !important;
  }

  .ml-cart-layout {
    display: block;
  }

  .ml-cart-heading {
    margin: 0 3px 10px;
  }

  .ml-cart-heading h2 {
    font-size: 25px !important;
  }

  .ml-cart-heading__count {
    font-size: 18px !important;
  }

  .ml-cart-items {
    border-radius: var(--ml-cart-radius);
  }

  .ml-cart-item {
    grid-template-columns: 76px minmax(0, 1fr) auto 27px;
    grid-template-areas:
      "thumb info info remove"
      "thumb quantity subtotal remove";
    gap: 7px 11px;
    min-height: 106px;
    padding: 10px;
  }

  .ml-cart-item__thumbnail {
    grid-area: thumb;
    align-self: center;
    width: 76px;
    height: 82px;
    min-height: 0;
  }

  .ml-cart-item__thumbnail img {
    width: 76px !important;
    height: 82px !important;
    min-height: 0;
    border-radius: 10px;
  }

  .ml-cart-item__info {
    grid-area: info;
    align-self: end;
  }

  .ml-cart-item__name {
    margin-bottom: 2px !important;
    font-size: 17px !important;
  }

  .ml-cart-item__unit-price {
    font-size: 15px;
  }

  .ml-cart-item__details {
    margin-top: 4px;
    font-size: 15px;
  }

  .ml-cart-item__details-content {
    position: relative;
    z-index: 2;
    width: calc(100vw - 56px);
    margin-left: -87px;
  }

  .ml-cart-item__quantity {
    grid-area: quantity;
    align-self: start;
    justify-self: start;
  }

  .ml-cart-quantity {
    grid-template-columns: 31px 38px 31px;
    height: 34px;
    border-radius: 9px;
  }

  .ml-cart-quantity__button {
    width: 31px;
    height: 32px;
    font-size: 18px !important;
    line-height: 32px !important;
  }

  .ml-cart-quantity .quantity,
  .ml-cart-quantity input.qty {
    width: 38px !important;
    height: 32px !important;
    font-size: 15px !important;
  }

  .ml-cart-quantity--fixed {
    width: 100px;
    height: 34px;
  }

  .ml-cart-item__subtotal {
    grid-area: subtotal;
    align-self: center;
    justify-self: end;
    font-size: 16px;
  }

  .ml-cart-item__remove {
    grid-area: remove;
    align-self: start;
    justify-self: end;
  }

  .ml-cart-shell a.remove.ml-cart-remove {
    width: 27px !important;
    height: 27px !important;
    font-size: 21px !important;
  }

  .ml-cart-actions {
    min-height: 20px;
    padding-top: 6px;
  }

  .ml-cart-side {
    position: static;
    gap: 15px;
    margin-top: 15px;
  }

  .ml-cart-recommendations,
  .ml-cart-summary {
    border-radius: var(--ml-cart-radius);
  }

  .ml-cart-recommendations {
    margin-top: 12px;
  }

  .ml-cart-summary {
    padding: 16px;
  }

  .ml-cart-summary h2 {
    margin-bottom: 11px !important;
    font-size: 19px !important;
  }

  .ml-cart-recommendations summary {
    min-height: 46px;
    padding: 10px 12px;
    font-size: 16px;
  }

  .ml-cart-recommendations__track {
    grid-auto-columns: minmax(230px, 78%);
    gap: 9px;
    padding: 10px;
  }

  .ml-cart-recommendation {
    grid-template-columns: 66px minmax(0, 1fr);
  }

  .ml-cart-recommendation__image,
  .ml-cart-recommendation__image img {
    width: 66px !important;
    height: 66px !important;
  }

  .ml-cart-summary table.shop_table,
  .woocommerce .ml-cart-summary table.shop_table {
    table-layout: fixed !important;
  }

  .ml-cart-summary table.shop_table tbody {
    display: table-row-group !important;
  }

  .ml-cart-summary table.shop_table tr {
    display: table-row !important;
  }

  .ml-cart-summary table.shop_table th,
  .ml-cart-summary table.shop_table td {
    display: table-cell !important;
    padding: 8px 0 !important;
    font-size: 16px;
    text-align: left !important;
  }

  .ml-cart-summary table.shop_table th {
    width: 34% !important;
    padding-right: 12px !important;
  }

  .ml-cart-summary table.shop_table td {
    width: 66% !important;
    text-align: right !important;
  }

  .ml-cart-summary table.shop_table .shipping td .woocommerce-shipping-methods,
  .ml-cart-summary table.shop_table .shipping td ul#shipping_method {
    display: inline-grid !important;
    width: auto !important;
    justify-items: start;
    text-align: left !important;
  }

  .ml-cart-summary table.shop_table .shipping td .woocommerce-shipping-methods li,
  .ml-cart-summary table.shop_table .shipping td ul#shipping_method li {
    width: 100%;
  }

  .ml-cart-summary table.shop_table td::before {
    display: none !important;
  }

  .ml-cart-summary table.shop_table .order-total th,
  .ml-cart-summary table.shop_table .order-total td {
    font-size: 19px;
  }

  .ml-cart-checkout-actions .checkout-button,
  .ml-cart-summary .wc-proceed-to-checkout .checkout-button {
    height: 44px !important;
    min-height: 44px !important;
    font-size: 17px !important;
  }
}

@media (max-width: 410px) {
  .ml-cart-item {
    grid-template-columns: 68px minmax(0, 1fr) auto 25px;
    gap: 6px 8px;
    padding: 9px 8px;
  }

  .ml-cart-item__thumbnail,
  .ml-cart-item__thumbnail img {
    width: 68px !important;
    height: 76px !important;
  }

  .ml-cart-quantity {
    grid-template-columns: 28px 34px 28px;
  }

  .ml-cart-quantity__button {
    width: 28px;
  }

  .ml-cart-quantity .quantity,
  .ml-cart-quantity input.qty {
    width: 34px !important;
  }

  .ml-cart-quantity--fixed {
    width: 90px;
  }

  .ml-cart-item__details-content {
    margin-left: -77px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ml-cart-shell *,
  .ml-cart-shell *::before,
  .ml-cart-shell *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
