/* ==========================================================
   Product page (catalog_product_view)
   1. Top row: gallery card | buy area (stock, name, short description,
      [price | qty | Add to Basket] box, delivery estimate)
   2. Full width detail section (details.phtml): tabs on desktop, accordion on mobile
   3. "Related Products" (peach panel) and "Customers also bought"
   Product cards, badge, Trustpilot bar and "Show more" come from home.css;
   this file only places them and overrides the old PDP rules in custom.css.
   ========================================================== */

body.catalog-product-view,
body.catalog-product-view .page-main {
  background: #fbf9f4;
}

.catalog-product-view .page-main {
  font-family: 'DM Sans', 'Lato', sans-serif;
  color: #2b2b2b;
}

/* columns.top has no wrapper here: the bar is a direct child of .page-main */
.catalog-product-view .page-main > .ml-trustpilot,
.catalog-product-view .columns-top .ml-trustpilot {
  max-width: 1160px;
  margin: 24px auto 0;
}

.catalog-product-view .column.main {
  float: none;
  width: 100%;
  padding: 30px 0 0;
}

/* ---------- 1. Top row ---------- */
.catalog-product-view .ml-pdp-top {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 12fr);
  gap: 48px;
  align-items: start;
  max-width: 1160px;
  margin: 0 auto 36px;
  box-sizing: border-box;
}

.catalog-product-view .ml-pdp-top > .product.media,
.catalog-product-view .ml-pdp-top > .product-info-main {
  float: none;
  width: auto;
  margin: 0;
  box-sizing: border-box;
}

/* Gallery card */
.catalog-product-view .ml-pdp-top > .product.media {
  padding: 20px;
  background: #fff;
  border: 1px solid #ebe6dc;
  border-radius: 20px;
  box-shadow: none;
}

.catalog-product-view .ml-pdp-top .gallery-placeholder {
  min-height: 300px;
}

.catalog-product-view .ml-pdp-top .product.media img.gallery-placeholder__image {
  display: block;
  width: 100%;
  min-height: 300px;
  color: transparent;
  object-fit: contain;
  background: #f4f1ea;
  border-radius: 12px;
}

/* Once the gallery has loaded (Magento removes ._block-content-loading) the first-load image
   must go, as core does - otherwise the photo shows twice (gallery + this image below it) */
.catalog-product-view .ml-pdp-top .product.media .gallery-placeholder:not(._block-content-loading) img.gallery-placeholder__image {
  display: none;
}

.catalog-product-view .ml-pdp-top .fotorama__stage {
  border-radius: 12px;
}

.catalog-product-view .ml-pdp-top .fotorama__stage img.fotorama__img {
  object-fit: contain;
}

/* Round white prev / next buttons, always visible (core slides them in on hover only) */
.catalog-product-view .ml-pdp-top .fotorama__arr {
  top: 50%;
  bottom: auto;
  width: 42px;
  height: 42px;
  margin-top: -21px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .14);
  opacity: 1 !important;
  transform: none !important;
  transition: background .2s, box-shadow .2s;
}

.catalog-product-view .ml-pdp-top .fotorama__arr--prev {
  left: 14px;
}

.catalog-product-view .ml-pdp-top .fotorama__arr--next {
  right: 14px;
}

.catalog-product-view .ml-pdp-top .fotorama__arr .fotorama__arr__arr {
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  margin: 0;
  background: none;
  border: solid #1f7a68;
  border-width: 0 2px 2px 0;
}

.catalog-product-view .ml-pdp-top .fotorama__arr--prev .fotorama__arr__arr {
  transform: translate(-30%, -50%) rotate(135deg);
}

.catalog-product-view .ml-pdp-top .fotorama__arr--next .fotorama__arr__arr {
  transform: translate(-70%, -50%) rotate(-45deg);
}

.catalog-product-view .ml-pdp-top .fotorama__arr--disabled {
  opacity: .45 !important;
  cursor: default;
}

@media (hover: hover) {
  .catalog-product-view .ml-pdp-top .fotorama__arr:not(.fotorama__arr--disabled):hover {
    background: #f1f8f6;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .2);
  }
}

/* Thumbnails: centred under the photo while they fit, green border on the active one */
.catalog-product-view .ml-pdp-top .fotorama__nav-wrap {
  margin-top: 14px;
}

.catalog-product-view .ml-pdp-top .fotorama__nav--thumbs {
  display: flex;
  justify-content: flex-start;
  justify-content: safe center;
}

.catalog-product-view .ml-pdp-top .fotorama__nav-wrap .fotorama__thumb,
.catalog-product-view .ml-pdp-top .fotorama__nav-wrap img.fotorama__img,
.catalog-product-view .ml-pdp-top .fotorama__nav-wrap .fotorama__thumb-border {
  border-radius: 10px;
}

.catalog-product-view .ml-pdp-top .fotorama__thumb-border {
  border: 2px solid #1f7a68 !important;
}

/* ---------- Buy area ---------- */
.catalog-product-view .ml-pdp-top > .product-info-main {
  padding: 2px 0 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.catalog-product-view .ml-pdp-stock {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  color: #1f7a68;
}

.catalog-product-view .ml-pdp-stock.is-out-of-stock {
  color: #a72122;
}

.catalog-product-view .ml-pdp-stock svg {
  flex: 0 0 auto;
}

.catalog-product-view .product-info-main .ml-pdp-badge {
  display: flex;
  align-items: center;
  gap: 4px;
  width: max-content;
  height: 22px;
  margin: 0 0 12px;
  padding: 0 9px 0 8px;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #fff;
  background: #a72122;
  border-radius: 20px;
}

.catalog-product-view .product-info-main .page-title-wrapper {
  padding: 0;
}

.catalog-product-view .product-info-main h1.page-title {
  margin: 0 0 14px;
  font-family: 'DM Sans', 'Lato', sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  color: #1f7a68;
}

.catalog-product-view .product-info-main .product.attribute.overview {
  margin: 0 0 18px;
}

.catalog-product-view .product-info-main .product.attribute.overview .value,
.catalog-product-view .product-info-main .product.attribute.overview .value p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: #5b6462;
}

.catalog-product-view .product-info-main .bag-text {
  display: inline-block;
  margin: 0 0 18px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #1f7a68;
  background: #e8f2ef;
  border-radius: 20px;
}

/* [price | qty | Add to Basket] box */
.catalog-product-view .product-info-main .ml-pdp-buybox {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 4px 0 16px;
  padding: 18px 22px;
  background: #fff;
  border: 1px solid #e3ded4;
  border-radius: 16px;
}

.catalog-product-view .product-info-main .ml-pdp-buybox .product-info-price {
  display: block;
  flex: 0 0 auto;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
}

.catalog-product-view .product-info-main .ml-pdp-buybox .product-info-price .price-box {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
}

.catalog-product-view .product-info-main .ml-pdp-buybox .price-box .price-wrapper {
  margin: 0 !important;
}

.catalog-product-view .product-info-main .ml-pdp-buybox .price-final_price.tax.weee,
.catalog-product-view .product-info-main .ml-pdp-buybox .price-box .price {
  font-family: 'DM Sans', 'Lato', sans-serif;
  font-size: 26px !important;
  font-weight: 700;
  line-height: 1.2 !important;
  color: #22302c;
  white-space: nowrap;
}

.catalog-product-view .product-info-main .ml-pdp-buybox .old-price .price {
  font-size: 14px !important;
  font-weight: 400;
  color: #888;
}

.catalog-product-view .product-info-main .ml-pdp-buybox .product-add-form {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
}

.catalog-product-view .product-info-main .stock.unavailable {
  font-size: 13px;
  font-weight: 700;
  color: #a72122;
}

/* Qty + Add to Basket */
.catalog-product-view .product-info-main .box-tocart {
  display: block;
  margin: 0;
}

.catalog-product-view .product-info-main .box-tocart .fieldset {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.catalog-product-view .product-info-main .box-tocart .field.qty {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

.catalog-product-view .product-info-main .box-tocart .field.qty .label {
  display: none;
}

.catalog-product-view .product-info-main .box-tocart .field.qty .input-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 112px;
  max-width: none;
  height: 46px;
  padding: 0 7px;
  background: #fff;
  border: 1px solid #c9c9c9;
  border-radius: 30px;
  box-shadow: none;
  box-sizing: border-box;
}

.catalog-product-view .product-info-main .box-tocart .field.qty input.input-group__input {
  width: 34px;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  color: #2b2b2b;
  text-align: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  -moz-appearance: textfield;
}

.catalog-product-view .product-info-main .box-tocart .field.qty input.input-group__input::-webkit-outer-spin-button,
.catalog-product-view .product-info-main .box-tocart .field.qty input.input-group__input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.catalog-product-view .product-info-main .box-tocart .edit-qty button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  cursor: pointer;
}

/* Mouse only: touch screens keep :hover after a tap */
@media (hover: hover) {
  .catalog-product-view .product-info-main .box-tocart .edit-qty button:hover {
    background: #f2f2f2;
  }
}

.catalog-product-view .product-info-main .box-tocart .edit-qty.minus button:before,
.catalog-product-view .product-info-main .box-tocart .edit-qty.plus button:before {
  font-family: 'DM Sans', 'Lato', sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: #2b2b2b;
}

.catalog-product-view .product-info-main .box-tocart .edit-qty.minus button:before {
  content: '\2212';
}

.catalog-product-view .product-info-main .box-tocart .edit-qty.plus button:before {
  content: '+';
}

.catalog-product-view .product-info-main .box-tocart .actions {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.catalog-product-view .product-info-main .box-tocart .actions .action.tocart {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 46px;
  margin: 0 !important;
  padding: 0 22px;
  font-family: 'DM Sans', 'Lato', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #1f7a68;
  border: 1.5px solid #1f7a68;
  border-radius: 30px;
  box-shadow: none;
  transition: background .2s, border-color .2s;
}

.catalog-product-view .product-info-main .box-tocart .actions .action.tocart:hover,
.catalog-product-view .product-info-main .box-tocart .actions .action.tocart:focus {
  color: #fff;
  background: #17614f;
  border-color: #17614f;
}

/* Ordered -> Dispatched -> Delivered (delivery.phtml) */
.catalog-product-view .ml-pdp-delivery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.catalog-product-view .ml-pdp-delivery-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 14px 8px 13px;
  text-align: center;
  background: #fff;
  border: 1px solid #e3ded4;
  border-radius: 14px;
}

.catalog-product-view .ml-pdp-delivery-step svg {
  margin-bottom: 2px;
  color: #1f7a68;
}

.catalog-product-view .ml-pdp-delivery-label {
  font-size: 12px;
  line-height: 1.2;
  color: #6b7371;
}

.catalog-product-view .ml-pdp-delivery-date {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  color: #22302c;
}

/* ---------- 2. Detail section (details.phtml) ---------- */
/* custom.css styles every .product.info as a full-bleed white band - undo that here */
.catalog-product-view .column.main .product.info.detailed.ml-pdp-details {
  width: auto;
  max-width: 1160px;
  margin: 0 auto 50px;
  padding: 34px 40px 42px;
  text-align: left;
  background: #f1ebe1;
  border-radius: 24px;
  box-sizing: border-box;
}

.catalog-product-view .ml-pdp-tablist {
  display: flex;
  justify-content: center;
  gap: 6px;
  max-width: 900px;
  margin: 0 auto 26px;
  border-bottom: 1px solid #d9d0c2;
}

.catalog-product-view .ml-pdp-tablist .ml-pdp-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: auto;
  margin: 0 0 -1px;
  padding: 14px 18px 13px;
  font-family: 'DM Sans', 'Lato', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: #5b6462;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color .2s, border-color .2s;
}

.catalog-product-view .ml-pdp-tablist .ml-pdp-tab:hover,
.catalog-product-view .ml-pdp-tablist .ml-pdp-tab:focus,
.catalog-product-view .ml-pdp-tablist .ml-pdp-tab:active {
  color: #1f7a68;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  outline: none;
  box-shadow: none;
}

.catalog-product-view .ml-pdp-tablist .ml-pdp-tab:focus-visible {
  outline: 2px solid #1f7a68;
  outline-offset: -2px;
}

.catalog-product-view .ml-pdp-tablist .ml-pdp-tab.is-active,
.catalog-product-view .ml-pdp-tablist .ml-pdp-tab.is-active:hover,
.catalog-product-view .ml-pdp-tablist .ml-pdp-tab.is-active:focus {
  color: #1f7a68;
  border-bottom-color: #1f7a68;
}

.catalog-product-view .ml-pdp-panels {
  max-width: 900px;
  margin: 0 auto;
}

/* Desktop: only the active tab's item shows, its accordion button is hidden */
.catalog-product-view .ml-pdp-item {
  display: none;
}

.catalog-product-view .ml-pdp-item.is-active {
  display: block;
}

.catalog-product-view .ml-pdp-acc {
  display: none;
}

.catalog-product-view .ml-pdp-panel {
  padding: 26px 30px;
  background: #fff;
  border: 1px solid #e6dfd3;
  border-radius: 16px;
  box-sizing: border-box;
}

/* Section bars: description label + bold headings inside it, Data Sheets / Nutrition titles */
#html-body .ml-pdp-panel .product.attribute.description {
  margin: 0;
}

#html-body .ml-pdp-panel .product.attribute.description .type,
#html-body .ml-pdp-panel .product.attribute.description .value strong,
#html-body .ml-pdp-panel .ml-pdp-section-title {
  display: block;
  margin: 0 0 14px;
  padding: 10px 18px;
  font-family: 'DM Sans', 'Lato', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #22302c;
  background: #f5f2ec;
  border-radius: 8px;
}

#html-body .ml-pdp-panel .product.attribute.description .value strong {
  margin: 4px -18px 14px;
}

#html-body .ml-pdp-panel .product.attribute.description .value strong + br,
#html-body .ml-pdp-panel .product.attribute.description .value strong + br + br {
  display: none;
}

#html-body .ml-pdp-panel .product.attribute.description .value,
#html-body .ml-pdp-panel .product.attribute.description .value p,
#html-body .ml-pdp-panel .product.attribute.description .value li,
#html-body .ml-pdp-panel .ml-pdp-section-body,
#html-body .ml-pdp-panel .ml-pdp-empty {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  color: #5b6462;
  text-align: left;
}

#html-body .ml-pdp-panel .product.attribute.description .value {
  padding: 0 18px;
}

#html-body .ml-pdp-panel .product.attribute.description .value h2,
#html-body .ml-pdp-panel .product.attribute.description .value h3 {
  margin: 22px 0 10px;
  font-family: 'DM Sans', 'Lato', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #22302c;
}

#html-body .ml-pdp-panel .product.attribute.description .value ul {
  margin: 0 0 12px;
  padding-left: 20px;
}

#html-body .ml-pdp-panel .product.attribute.description .value li {
  margin-bottom: 4px;
}

#html-body .ml-pdp-panel .product.attribute.description .value p:last-child {
  margin-bottom: 0;
}

/* Page builder 2-column descriptions are stacked */
#html-body .ml-pdp-panel .pagebuilder-column-group {
  display: block !important;
  max-width: none;
  margin: 0;
}

#html-body .ml-pdp-panel .pagebuilder-column {
  width: 100% !important;
  padding: 0;
}

#html-body .ml-pdp-panel .pagebuilder-column + .pagebuilder-column {
  margin-top: 12px;
}

/* Data Sheets / Nutrition (datasheet.phtml, nutritionfacts.phtml) */
#html-body .ml-pdp-panel .ml-pdp-section + .ml-pdp-section {
  margin-top: 24px;
}

#html-body .ml-pdp-panel .ml-pdp-section-body,
#html-body .ml-pdp-panel .ml-pdp-empty {
  margin: 0;
  padding: 0 18px;
}

/* Nutrition: two column bordered table (label | value) */
#html-body .ml-pdp-panel .ml-nutrition {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #ddd5c8;
  border-radius: 10px;
  overflow: hidden;
}

#html-body .ml-pdp-panel .ml-nutrition-caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

#html-body .ml-pdp-panel .ml-nutrition th,
#html-body .ml-pdp-panel .ml-nutrition td {
  width: 50%;
  padding: 11px 18px;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  border: 0;
  border-radius: 0;
}

#html-body .ml-pdp-panel .ml-nutrition th {
  font-weight: 400;
  color: #5b6462;
  background: #faf8f4;
  border-right: 1px solid #ddd5c8;
}

#html-body .ml-pdp-panel .ml-nutrition td {
  font-weight: 600;
  color: #22302c;
  white-space: nowrap;
  background: #fff;
}

#html-body .ml-pdp-panel .ml-nutrition tr + tr th,
#html-body .ml-pdp-panel .ml-nutrition tr + tr td {
  border-top: 1px solid #ddd5c8;
}

#html-body .ml-pdp-panel .ml-nutrition tr.is-sub th {
  padding-left: 34px;
}

/* ---------- 3. Related / Customers also bought (ml_items.phtml) ---------- */
.catalog-product-view .ml-pdp-products {
  clear: both;
  max-width: 1160px;
  margin: 0 auto 30px;
  padding: 44px 20px 40px;
  box-sizing: border-box;
}

.catalog-product-view .ml-pdp-products--related {
  background: #f3ebe3;
  border-radius: 24px;
}

.catalog-product-view .ml-pdp-products-title {
  margin: 0 0 26px;
  font-family: 'DM Sans', 'Lato', sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  color: #1f7a68;
}

#html-body .ml-pdp-products .home-best-sellers ol.product-items li.ml-card[hidden] {
  display: none !important;
}

#html-body .ml-pdp-products .home-best-sellers .ml-card .actions-primary .action.tocart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-sizing: border-box;
}

/* ---------- Tablet ---------- */
@media (max-width: 1023px) {
  .catalog-product-view .ml-pdp-top {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px;
    padding: 0 15px;
  }

  .catalog-product-view .column.main .product.info.detailed.ml-pdp-details {
    margin-left: 15px;
    margin-right: 15px;
  }

  /* Price on its own row, qty + button under it */
  .catalog-product-view .product-info-main .ml-pdp-buybox {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .catalog-product-view .column.main {
    padding-top: 18px;
  }

  .catalog-product-view .page-main > .ml-trustpilot,
  .catalog-product-view .columns-top .ml-trustpilot {
    margin: 16px 0 0;
  }

  /* One column. The info box dissolves (display: contents) so the name can sit above the
     photo, like most shop apps; .page-main already gives the 15px side gutter. */
  .catalog-product-view .ml-pdp-top {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-bottom: 26px;
    padding: 0;
  }

  .catalog-product-view .column.main .ml-pdp-top > .product-info-main {
    display: contents;
  }

  .catalog-product-view .ml-pdp-top .ml-pdp-badge {
    order: -3;
  }

  .catalog-product-view .ml-pdp-top .page-title-wrapper {
    order: -2;
  }

  .catalog-product-view .column.main .ml-pdp-top > .product.media {
    order: -1;
    margin: 0 0 18px;
    padding: 12px !important;
    border-radius: 16px;
    box-shadow: none;
  }

  .catalog-product-view .product-info-main h1.page-title {
    margin-bottom: 14px;
    font-size: 22px;
    line-height: 1.3;
  }

  .catalog-product-view .ml-pdp-stock {
    margin-bottom: 12px;
  }

  /* custom.css hides the thumbnails on mobile */
  #html-body.catalog-product-view .ml-pdp-top .fotorama__nav-wrap {
    display: block !important;
    margin-top: 10px;
  }

  /* Magento shows dots instead of thumbnails on phones: brand green instead of orange */
  .catalog-product-view .ml-pdp-top .fotorama__nav--dots {
    height: 22px;
  }

  .catalog-product-view .ml-pdp-top .fotorama__dot {
    border-color: #1f7a68;
  }

  .catalog-product-view .ml-pdp-top .fotorama__active .fotorama__dot {
    background: #1f7a68;
    border-color: #1f7a68;
  }

  .catalog-product-view .ml-pdp-top .fotorama__arr {
    width: 36px;
    height: 36px;
    margin-top: -18px;
  }

  .catalog-product-view .ml-pdp-top .fotorama__arr--prev {
    left: 8px;
  }

  .catalog-product-view .ml-pdp-top .fotorama__arr--next {
    right: 8px;
  }

  .catalog-product-view .product-info-main .ml-pdp-buybox {
    padding: 16px;
  }

  .catalog-product-view .product-info-main .ml-pdp-buybox .price-final_price.tax.weee,
  .catalog-product-view .product-info-main .ml-pdp-buybox .price-box .price {
    font-size: 24px !important;
  }

  /* custom.css mobile: qty + button were full-width rows */
  .catalog-product-view .product-info-main .box-tocart .fieldset {
    flex-wrap: nowrap;
  }

  .catalog-product-view .product-info-main .box-tocart .fieldset .field.qty {
    width: auto;
    margin: 0;
  }

  .catalog-product-view .product-info-main .box-tocart .field.qty .input-group {
    width: 108px;
    min-width: 0;
  }

  .catalog-product-view .ml-pdp-delivery {
    gap: 8px;
  }

  .catalog-product-view .ml-pdp-delivery-step {
    padding: 12px 4px 11px;
  }

  .catalog-product-view .ml-pdp-delivery-label {
    font-size: 11px;
  }

  .catalog-product-view .ml-pdp-delivery-date {
    font-size: 12px;
  }

  /* Detail section becomes an accordion */
  .catalog-product-view .column.main .product.info.detailed.ml-pdp-details {
    margin: 0 0 30px;
    padding: 14px;
    border-radius: 18px;
  }

  .catalog-product-view .ml-pdp-tablist {
    display: none;
  }

  .catalog-product-view .ml-pdp-item,
  .catalog-product-view .ml-pdp-item.is-active {
    display: block;
    background: #fff;
    border: 1px solid #e6dfd3;
    border-radius: 14px;
  }

  .catalog-product-view .ml-pdp-item + .ml-pdp-item {
    margin-top: 10px;
  }

  .catalog-product-view .ml-pdp-acc {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 16px;
    font-family: 'DM Sans', 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: #22302c;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: 14px;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
  }

  .catalog-product-view .ml-pdp-acc:hover,
  .catalog-product-view .ml-pdp-acc:focus,
  .catalog-product-view .ml-pdp-acc:active {
    color: #22302c;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .catalog-product-view .ml-pdp-acc svg {
    flex: 0 0 auto;
    color: #1f7a68;
  }

  .catalog-product-view .ml-pdp-acc span:first-of-type {
    flex: 1 1 auto;
  }

  /* + that turns into - when open */
  .catalog-product-view .ml-pdp-acc-sign {
    position: relative;
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
  }

  .catalog-product-view .ml-pdp-acc-sign:before,
  .catalog-product-view .ml-pdp-acc-sign:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 2px;
    margin-top: -1px;
    background: #1f7a68;
    border-radius: 2px;
    transition: transform .2s;
  }

  .catalog-product-view .ml-pdp-acc-sign:after {
    transform: rotate(90deg);
  }

  .catalog-product-view .ml-pdp-item.is-open .ml-pdp-acc-sign:after {
    transform: rotate(0deg);
  }

  .catalog-product-view .ml-pdp-item .ml-pdp-panel {
    display: none;
    padding: 0 16px 18px;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .catalog-product-view .ml-pdp-item.is-open .ml-pdp-panel {
    display: block;
  }

  #html-body .ml-pdp-panel .product.attribute.description .type,
  #html-body .ml-pdp-panel .product.attribute.description .value strong,
  #html-body .ml-pdp-panel .ml-pdp-section-title {
    padding: 9px 14px;
    font-size: 13px;
  }

  #html-body .ml-pdp-panel .product.attribute.description .value {
    padding: 0 4px;
  }

  #html-body .ml-pdp-panel .product.attribute.description .value strong {
    margin-left: -4px;
    margin-right: -4px;
  }

  #html-body .ml-pdp-panel .ml-pdp-section-body,
  #html-body .ml-pdp-panel .ml-pdp-empty {
    padding: 0 4px;
  }

  #html-body .ml-pdp-panel .product.attribute.description .value,
  #html-body .ml-pdp-panel .product.attribute.description .value p,
  #html-body .ml-pdp-panel .product.attribute.description .value li,
  #html-body .ml-pdp-panel .ml-pdp-section-body,
  #html-body .ml-pdp-panel .ml-pdp-empty,
  #html-body .ml-pdp-panel .ml-nutrition th,
  #html-body .ml-pdp-panel .ml-nutrition td {
    font-size: 13px;
  }

  #html-body .ml-pdp-panel .ml-nutrition th,
  #html-body .ml-pdp-panel .ml-nutrition td {
    padding: 10px 12px;
  }

  #html-body .ml-pdp-panel .ml-nutrition tr.is-sub th {
    padding-left: 24px;
  }

  .catalog-product-view .ml-pdp-products {
    margin: 0 0 24px;
    padding: 30px 12px;
  }

  /* Blank theme widens the price row to calc(100% + 20px) !important on mobile -> sideways scroll */
  #html-body.catalog-product-view .product-info-main .product-info-price {
    width: auto !important;
    margin-left: 0;
    margin-right: 0;
  }

  /* No panel background here, so the cards line up with the 15px gutter */
  .catalog-product-view .ml-pdp-products--upsell {
    padding-left: 0;
    padding-right: 0;
  }

  #html-body .ml-pdp-products .home-best-sellers ol.product-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
