/* =========================================================
   BodyNutrition - Product page
   PrestaShop 8.2.3 / Warehouse
   Load after the theme custom CSS.
   ========================================================= */

body#product,
body.page-product {
  --bn-green: #48bc8a;
  --bn-green-dark: #249b6d;
  --bn-ink: #263238;
  --bn-muted: #667279;
  --bn-line: #e8eeeb;
  --bn-soft: #f5f8f7;
}

body#product .bn-product-intro,
body.page-product .bn-product-intro {
  position: relative;
  margin: 0 0 18px;
  padding: 20px 190px 20px 24px;
  background: linear-gradient(135deg, #edf8f3 0%, #f8fcfa 58%, #fff 100%);
  border: 1px solid #d7eee3;
  border-radius: 12px;
  box-shadow: 0 6px 22px rgba(30, 70, 54, .045);
}

body#product .bn-product-intro__brand,
body.page-product .bn-product-intro__brand {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 142px;
  text-align: right;
}

body#product .bn-product-brand-link,
body.page-product .bn-product-brand-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 76px;
  padding: 9px 11px;
  color: var(--bn-ink);
  background: #fff;
  border: 1px solid #e4eee9;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(35, 75, 56, .07);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body#product .bn-product-brand-link:hover,
body#product .bn-product-brand-link:focus,
body.page-product .bn-product-brand-link:hover,
body.page-product .bn-product-brand-link:focus {
  color: var(--bn-ink);
  border-color: #b9dfcb;
  box-shadow: 0 5px 17px rgba(35, 75, 56, .11);
}

body#product .bn-product-brand-logo,
body.page-product .bn-product-brand-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 54px;
  object-fit: contain;
}

body#product .bn-product-title,
body.page-product .bn-product-title {
  margin: 0 0 8px;
  color: #263746;
  font-family: inherit !important;
  font-size: clamp(26px, 2.1vw, 32px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -.015em;
}

body#product .bn-product-rating,
body.page-product .bn-product-rating {
  min-height: 22px;
  margin: 0 0 9px;
}

body#product .bn-product-rating:empty,
body.page-product .bn-product-rating:empty {
  display: none;
}

/* lgcomments: la grafica delle stelle resta gestita dal modulo */
body#product .bn-product-rating,
body#product .bn-product-rating a,
body#product .bn-product-rating p,
body#product .bn-product-rating span,
body.page-product .bn-product-rating,
body.page-product .bn-product-rating a,
body.page-product .bn-product-rating p,
body.page-product .bn-product-rating span {
  font-size: 11px !important;
  line-height: 1.3 !important;
}

body#product .bn-product-short-description,
body.page-product .bn-product-short-description {
  min-height: 0 !important;
  max-height: none !important;
  margin: 0;
  color: var(--bn-muted);
  font-size: 14px;
  line-height: 1.55;
}

body#product .bn-product-short-description > :last-child,
body.page-product .bn-product-short-description > :last-child {
  margin-bottom: 0;
}

body#product .bn-dietary-badges,
body.page-product .bn-dietary-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 0;
}

body#product .bn-dietary-badge,
body.page-product .bn-dietary-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 11px;
  color: #177a55;
  background: #f1fbf6;
  border: 1px solid #a9e4ca;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
}

body#product .bn-dietary-badge .fa,
body.page-product .bn-dietary-badge .fa {
  color: var(--bn-green);
  font-size: 14px;
}

body#product .bn-nutrition-card,
body.page-product .bn-nutrition-card {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 270px;
  margin-top: 14px;
  padding: 10px 13px;
  color: var(--bn-ink);
  background: linear-gradient(135deg, #f4fbf7 0%, #fff 100%);
  border: 1px solid #cfeadd;
  border-radius: 10px;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body#product .bn-nutrition-card:hover,
body#product .bn-nutrition-card:focus,
body.page-product .bn-nutrition-card:hover,
body.page-product .bn-nutrition-card:focus {
  color: var(--bn-ink);
  border-color: var(--bn-green);
  box-shadow: 0 7px 18px rgba(72, 188, 138, .14);
  transform: translateY(-1px);
}

body#product .bn-nutrition-card__icon,
body.page-product .bn-nutrition-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  color: #fff;
  background: var(--bn-green);
  border-radius: 9px;
  font-size: 15px;
}

body#product .bn-nutrition-card__text,
body.page-product .bn-nutrition-card__text {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

body#product .bn-nutrition-card__text strong,
body.page-product .bn-nutrition-card__text strong {
  overflow: hidden;
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body#product .bn-nutrition-card__text small,
body.page-product .bn-nutrition-card__text small {
  margin-top: 2px;
  color: var(--bn-muted);
  font-size: 11px;
}

body#product .bn-nutrition-card__arrow,
body.page-product .bn-nutrition-card__arrow {
  color: var(--bn-green-dark);
  font-size: 18px;
}

body#product .product-info-row,
body.page-product .product-info-row {
  align-items: flex-start;
  margin: 0 0 28px !important;
  padding: 20px !important;
  background: #fff;
  border: 1px solid var(--bn-line) !important;
  border-radius: 12px;
  box-shadow: 0 6px 22px rgba(30, 70, 54, .04);
}

body#product .col-product-image,
body.page-product .col-product-image {
  background: #fff;
}

body#product #col-product-info,
body.page-product #col-product-info {
  padding: 20px;
  background: var(--bn-soft);
  border: 1px solid var(--bn-line);
  border-radius: 12px;
}

body#product .bn-product-price-before-actions,
body.page-product .bn-product-price-before-actions {
  margin-bottom: 14px;
}

body#product .product-information,
body.page-product .product-information {
  color: var(--bn-ink);
}

body#product .product-information .product-actions,
body.page-product .product-information .product-actions {
  margin-top: 0;
}

body#product .expiration,
body.page-product .expiration {
  border-color: #dbe7e1;
  border-radius: 7px;
  background: #fff;
}

body#product .product-tabs,
body.page-product .product-tabs {
  scroll-margin-top: 90px;
}

body#product .product-tabs .nav-tabs,
body.page-product .product-tabs .nav-tabs {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

body#product .product-tabs .nav-item,
body.page-product .product-tabs .nav-item {
  flex: 0 0 auto;
}

body#product .product-tabs .nav-link,
body.page-product .product-tabs .nav-link {
  padding: 1rem;
  border-top: 1px solid transparent;
  border-right: 1px solid transparent;
  border-left: 1px solid transparent;
  white-space: nowrap;
}

body#product .product-tabs .nav-link.active,
body.page-product .product-tabs .nav-link.active {
  background: #fff;
  border-color: var(--bn-line) var(--bn-line) transparent;
}

body#product .product-tabs .nav-tabs,
body.page-product .product-tabs .nav-tabs {
  margin: 0;
}

body#product .product-tabs .tab-content,
body.page-product .product-tabs .tab-content {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--bn-line);
  border-top: 0;
  border-radius: 0 0 10px 10px;
}

/* Elementi secondari e moduli presenti solo su alcune schede prodotto. */
body#product .prod-ship,
body.page-product .prod-ship {
  margin-top: 2rem;
}

body#product .prod-free-shipping,
body.page-product .prod-free-shipping {
  padding: 8px;
  color: #fff;
  background: var(--bn-green);
  border-radius: 7px;
}

body#product .product-sidebar,
body.page-product .product-sidebar {
  background: var(--bn-soft);
  border: 1px solid var(--bn-line);
  border-radius: 10px;
  box-shadow: 0 3px 12px rgba(35, 55, 65, .07);
}

body#product .social-sharing,
body.page-product .social-sharing {
  margin-top: 2.5rem;
  margin-bottom: 1.5rem;
  padding: 8px;
  border: 1px solid var(--bn-line);
  border-radius: 7px;
  text-align: center;
}

body#product #loyalty,
body.page-product #loyalty {
  padding: 5px;
  background: #fff4aa;
  border-radius: 5px;
}

body#product .noitaly,
body.page-product .noitaly {
  color: #b4232a;
}

body#product .iqitproducttags,
body.page-product .iqitproducttags {
  max-height: 145px;
  margin-top: 15px;
  overflow: hidden;
}

body#product .expiration,
body.page-product .expiration {
  padding: 5px;
}

@media (max-width: 991px) {
  body#product .bn-product-intro,
  body.page-product .bn-product-intro {
    padding-right: 155px;
  }

  body#product .bn-product-intro__brand,
  body.page-product .bn-product-intro__brand {
    right: 22px;
    width: 122px;
  }

  body#product .bn-product-brand-logo,
  body.page-product .bn-product-brand-logo {
    max-height: 48px;
  }

  body#product #col-product-info,
  body.page-product #col-product-info {
    padding: 15px;
  }
}

@media (max-width: 767px) {
  body#product #main-product-wrapper,
  body.page-product #main-product-wrapper {
    padding-bottom: 58px;
  }

  body#product .bn-product-intro,
  body.page-product .bn-product-intro {
    display: flex;
    flex-direction: column;
    margin-bottom: 12px;
    padding: 17px 15px;
    border-radius: 10px;
  }

  body#product .bn-product-intro__brand,
  body.page-product .bn-product-intro__brand {
    position: static;
    order: 1;
    width: 112px;
    margin-bottom: 12px;
    text-align: left;
  }

  body#product .bn-product-brand-link,
  body.page-product .bn-product-brand-link {
    min-height: 59px;
    padding: 7px 9px;
    border-radius: 8px;
  }

  body#product .bn-product-brand-logo,
  body.page-product .bn-product-brand-logo {
    max-height: 43px;
  }

  body#product .bn-product-title,
  body.page-product .bn-product-title {
    order: 2;
    margin-bottom: 8px;
    font-size: 22px;
    line-height: 1.2;
  }

  body#product .bn-product-rating,
  body.page-product .bn-product-rating {
    order: 3;
    margin-bottom: 10px;
  }

  body#product .bn-product-short-description,
  body.page-product .bn-product-short-description {
    display: -webkit-box;
    order: 4;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  body#product .bn-dietary-badges,
  body.page-product .bn-dietary-badges {
    display: grid;
    order: 5;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
    margin-top: 13px;
  }

  body#product .bn-dietary-badge,
  body.page-product .bn-dietary-badge {
    justify-content: flex-start;
    min-width: 0;
    min-height: 32px;
    padding: 6px 9px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body#product .bn-nutrition-card,
  body.page-product .bn-nutrition-card {
    order: 6;
    width: 100%;
    min-width: 0;
    margin-top: 11px;
  }

  body#product .product-info-row,
  body.page-product .product-info-row {
    margin-bottom: 20px !important;
    padding: 10px !important;
    border-radius: 10px;
  }

  body#product .col-product-image,
  body.page-product .col-product-image {
    margin-bottom: 12px;
  }

  body#product #col-product-info,
  body.page-product #col-product-info {
    padding: 13px;
    border-radius: 10px;
  }

  body#product .product-cover img,
  body.page-product .product-cover img {
    max-height: 390px;
    object-fit: contain;
  }

  body#product .product-tabs .nav-link,
  body.page-product .product-tabs .nav-link {
    padding: 12px 14px;
  }

  body#product .product-tabs .tab-content,
  body.page-product .product-tabs .tab-content {
    padding: 15px;
  }
}

/* =========================================================
   Pannello acquisto - varianti, quantità e CTA
   ========================================================= */

body#product .product-variants > .product-variants-item,
body.page-product .product-variants > .product-variants-item {
  margin: 0 0 14px;
}

body#product .product-variants .control-label,
body.page-product .product-variants .control-label {
  display: block;
  margin: 0 0 7px;
  color: #263746;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 800;
}

body#product .product-variants select,
body#product .product-variants .form-control-select,
body#product .product-variants .custom-select2,
body.page-product .product-variants select,
body.page-product .product-variants .form-control-select,
body.page-product .product-variants .custom-select2 {
  min-height: 42px !important;
  padding: 8px 34px 8px 12px !important;
  color: #33434a !important;
  background-color: #fff !important;
  border: 1px solid #cfe3da !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 7px rgba(35, 55, 65, .035) !important;
  font-size: 12px !important;
  font-weight: 600;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body#product .product-variants select:focus,
body#product .product-variants .form-control-select:focus,
body#product .product-variants .custom-select2:focus,
body.page-product .product-variants select:focus,
body.page-product .product-variants .form-control-select:focus,
body.page-product .product-variants .custom-select2:focus {
  border-color: var(--bn-green) !important;
  box-shadow: 0 0 0 3px rgba(72, 188, 138, .13) !important;
  outline: 0;
}

body#product .product-variants .radio-label,
body.page-product .product-variants .radio-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 12px !important;
  color: #33434a;
  background: #fff;
  border: 1px solid #cfe3da !important;
  border-radius: 8px !important;
  font-size: 12px;
  font-weight: 700;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

body#product .product-variants .input-radio:checked + .radio-label,
body.page-product .product-variants .input-radio:checked + .radio-label {
  color: #176f50;
  background: #eaf7f1;
  border-color: var(--bn-green) !important;
  box-shadow: inset 0 0 0 1px rgba(72, 188, 138, .12);
}

body#product .product-add-to-cart .product-quantity,
body.page-product .product-add-to-cart .product-quantity {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 9px;
  margin-top: 15px;
}

body#product .product-quantity .qty,
body.page-product .product-quantity .qty {
  flex: 0 0 62px;
  width: 62px;
  margin: 0 !important;
}

body#product .product-quantity .qty .input-group,
body.page-product .product-quantity .qty .input-group {
  width: 62px;
  height: 46px;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid #d5e3dc;
  border-radius: 8px;
  box-shadow: 0 2px 7px rgba(35, 55, 65, .04);
}

body#product #quantity_wanted,
body.page-product #quantity_wanted {
  height: 44px !important;
  color: #263746;
  background: #fff !important;
  border: 0 !important;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

body#product .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up,
body#product .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down,
body.page-product .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up,
body.page-product .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
  color: #446057 !important;
  background: #f1f6f3 !important;
  border-color: #dce8e2 !important;
}

body#product .product-quantity .add,
body.page-product .product-quantity .add {
  flex: 1 1 210px;
  margin: 0 !important;
}

body#product .product-quantity .add .add-to-cart,
body.page-product .product-quantity .add .add-to-cart {
  width: 100%;
  max-width: 250px;
  min-height: 46px;
  margin: 0 !important;
  padding: 0 22px !important;
  color: #fff !important;
  background: #2eb279 !important;
  border: 1px solid #2eb279 !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 13px rgba(46, 178, 121, .20);
  font-size: 12px !important;
  line-height: 1.2;
  font-weight: 800 !important;
  text-transform: none;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body#product .product-quantity .add .add-to-cart:hover,
body#product .product-quantity .add .add-to-cart:focus,
body.page-product .product-quantity .add .add-to-cart:hover,
body.page-product .product-quantity .add .add-to-cart:focus {
  background: #249b6d !important;
  border-color: #249b6d !important;
  box-shadow: 0 7px 16px rgba(36, 155, 109, .24);
  transform: translateY(-1px);
}

/* =========================================================
   IQIT HTML & Banner - Body Nutrition benefits
   ========================================================= */

body#product .bn-product-trust,
body.page-product .bn-product-trust {
  position: relative;
  margin-top: 20px !important;
  padding: 17px !important;
  overflow: hidden;
  background: linear-gradient(135deg, #edf8f3 0%, #f9fcfb 100%) !important;
  border: 1px solid #d7eee3 !important;
  border-radius: 11px !important;
  box-shadow: 0 5px 16px rgba(35, 90, 67, .045);
}

body#product .bn-product-trust::before,
body.page-product .bn-product-trust::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2eb279 0%, #48bc8a 65%, rgba(72, 188, 138, .15) 100%);
}

body#product .bn-product-trust-title,
body.page-product .bn-product-trust-title {
  margin: 0 0 11px !important;
  color: #263746 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

body#product .bn-product-trust-grid,
body.page-product .bn-product-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body#product .bn-product-trust-item,
body.page-product .bn-product-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 48px !important;
  padding: 9px !important;
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid #e0ece6 !important;
  border-radius: 9px !important;
  box-shadow: 0 2px 7px rgba(35, 55, 65, .035);
}

body#product .bn-product-trust-item img,
body.page-product .bn-product-trust-item img {
  display: block !important;
  width: 27px !important;
  height: 27px !important;
  min-width: 27px !important;
  max-width: 27px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

body#product .bn-product-trust-item span,
body.page-product .bn-product-trust-item span {
  display: block !important;
  color: #35474e !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

@media (max-width: 575px) {
  body#product .product-add-to-cart .product-quantity,
  body.page-product .product-add-to-cart .product-quantity {
    gap: 7px;
  }

  body#product .product-quantity .qty,
  body.page-product .product-quantity .qty,
  body#product .product-quantity .qty .input-group,
  body.page-product .product-quantity .qty .input-group {
    flex-basis: 58px;
    width: 58px;
  }

  body#product .product-quantity .add .add-to-cart,
  body.page-product .product-quantity .add .add-to-cart {
    max-width: none;
    padding: 0 13px !important;
    font-size: 11px !important;
  }

  body#product .bn-product-trust,
  body.page-product .bn-product-trust {
    margin-top: 16px !important;
    padding: 13px !important;
  }

  body#product .bn-product-trust-title,
  body.page-product .bn-product-trust-title {
    margin-bottom: 9px !important;
    font-size: 13px !important;
  }

  body#product .bn-product-trust-grid,
  body.page-product .bn-product-trust-grid {
    gap: 7px !important;
  }

  body#product .bn-product-trust-item,
  body.page-product .bn-product-trust-item {
    min-height: 44px !important;
    padding: 8px !important;
  }

  body#product .bn-product-trust-item img,
  body.page-product .bn-product-trust-item img {
    width: 23px !important;
    height: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;
  }

  body#product .bn-product-trust-item span,
  body.page-product .bn-product-trust-item span {
    font-size: 10.5px !important;
  }
}

@media (max-width: 359px) {
  body#product .bn-dietary-badges,
  body.page-product .bn-dietary-badges,
  body#product .bn-product-trust-grid,
  body.page-product .bn-product-trust-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   IQIT Tabs - scheda valori nutrizionali
   Sovrascrive prudentemente le vecchie regole a larghezza 450px.
   ========================================================= */

body#product .product-description__ingredients,
body.page-product .product-description__ingredients {
  width: 100% !important;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 !important;
  color: var(--bn-ink);
  font-family: inherit !important;
  box-sizing: border-box;
}

body#product .product-description__ingredients *,
body.page-product .product-description__ingredients * {
  box-sizing: border-box;
}

body#product .product-description__ingredients .ingredients-label-container,
body.page-product .product-description__ingredients .ingredients-label-container {
  font-size: 13px;
  line-height: 1.5;
}

body#product .product-description__ingredients #default-label,
body.page-product .product-description__ingredients #default-label {
  margin: 0;
  color: var(--bn-ink);
  font-family: inherit !important;
}

body#product .product-description__ingredients .ingredients-list,
body.page-product .product-description__ingredients .ingredients-list {
  width: 100% !important;
}

/* Compatibilità con le varianti di etichetta nutrizionale BVL e GIS. */
body#product .product-description__ingredients #bvl-label,
body#product .product-description__ingredients #gis-label,
body.page-product .product-description__ingredients #bvl-label,
body.page-product .product-description__ingredients #gis-label {
  width: 100% !important;
  margin: 0;
  color: var(--bn-ink);
  font-family: inherit !important;
}

body#product .product-description__ingredients #bvl-label table,
body#product .product-description__ingredients #gis-label table,
body.page-product .product-description__ingredients #bvl-label table,
body.page-product .product-description__ingredients #gis-label table {
  width: 100%;
}

body#product .product-description__ingredients #bvl-label .left,
body#product .product-description__ingredients #gis-label .left,
body.page-product .product-description__ingredients #bvl-label .left,
body.page-product .product-description__ingredients #gis-label .left {
  float: left;
}

body#product .product-description__ingredients #bvl-label .right,
body#product .product-description__ingredients #gis-label .right,
body.page-product .product-description__ingredients #bvl-label .right,
body.page-product .product-description__ingredients #gis-label .right {
  float: right;
}

body#product .product-description__ingredients #bvl-label .clear,
body#product .product-description__ingredients #gis-label .clear,
body.page-product .product-description__ingredients #bvl-label .clear,
body.page-product .product-description__ingredients #gis-label .clear {
  clear: both;
}

/* Intestazione: produttore, prodotto e porzioni */
body#product .product-description__ingredients .ingredients-list-container.header,
body.page-product .product-description__ingredients .ingredients-list-container.header {
  margin: 0 0 14px;
  padding: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, #eaf7f1 0%, #f9fcfb 100%);
  border: 1px solid #d7eee3;
  border-radius: 12px;
  box-shadow: 0 5px 18px rgba(35, 90, 67, .055);
}

body#product .product-description__ingredients .ingredients-header,
body.page-product .product-description__ingredients .ingredients-header {
  color: var(--bn-ink);
}

body#product .product-description__ingredients .producer-name,
body.page-product .product-description__ingredients .producer-name {
  display: inline-block;
  margin-bottom: 4px;
  color: var(--bn-green-dark);
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: uppercase;
}

body#product .product-description__ingredients .product-name,
body.page-product .product-description__ingredients .product-name {
  display: inline-block;
  color: var(--bn-muted);
  font-size: 13px;
  line-height: 1.4;
}

body#product .product-description__ingredients .product-name strong,
body.page-product .product-description__ingredients .product-name strong {
  color: var(--bn-ink);
  font-size: 20px;
  line-height: 1.25;
}

body#product .product-description__ingredients .ingredients-header.servings,
body.page-product .product-description__ingredients .ingredients-header.servings {
  margin-top: 15px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid #dcebe4;
  border-left: 4px solid var(--bn-green);
  border-radius: 8px;
}

body#product .product-description__ingredients .ingredients-header.servings .bold-item,
body.page-product .product-description__ingredients .ingredients-header.servings .bold-item {
  display: inline-block;
  margin-bottom: 3px;
  color: var(--bn-ink);
  font-size: 15px;
}

body#product .product-description__ingredients #default-label > p,
body.page-product .product-description__ingredients #default-label > p {
  margin: 12px 0;
  padding: 10px 13px;
  background: #f8faf9;
  border-left: 3px solid #a9dec7;
  border-radius: 0 7px 7px 0;
}

/* Tabella valori */
body#product .product-description__ingredients .ingredients-list-container.content,
body.page-product .product-description__ingredients .ingredients-list-container.content {
  margin: 0 0 16px;
  overflow-x: auto;
  overflow-y: hidden;
  background: #fff;
  border: 1px solid #dfe9e4;
  border-radius: 11px;
  box-shadow: 0 4px 15px rgba(35, 55, 65, .04);
  -webkit-overflow-scrolling: touch;
}

body#product .product-description__ingredients .ingredients-list-container.content > .ingredients-list,
body.page-product .product-description__ingredients .ingredients-list-container.content > .ingredients-list {
  min-width: 650px;
}

body#product .product-description__ingredients .ingredient,
body.page-product .product-description__ingredients .ingredient {
  display: grid !important;
  grid-template-columns: minmax(230px, 1.7fr) repeat(3, minmax(100px, .7fr));
  align-items: stretch;
  min-height: 46px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e5ece8 !important;
}

body#product .product-description__ingredients .ingredients-header.ingredient,
body.page-product .product-description__ingredients .ingredients-header.ingredient {
  min-height: 52px;
  color: #fff;
  background: #315d4c;
  border-bottom: 0 !important;
}

body#product .product-description__ingredients .ingredient > div,
body.page-product .product-description__ingredients .ingredient > div {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 10px 12px;
  border-right: 1px solid rgba(221, 233, 227, .9);
}

body#product .product-description__ingredients .ingredients-header.ingredient > div,
body.page-product .product-description__ingredients .ingredients-header.ingredient > div {
  justify-content: flex-end;
  color: #fff;
  border-right-color: rgba(255, 255, 255, .16);
  font-size: 11px;
  line-height: 1.25;
  font-weight: 700;
  text-align: right;
}

body#product .product-description__ingredients .ingredients-header.ingredient > div:first-child,
body.page-product .product-description__ingredients .ingredients-header.ingredient > div:first-child {
  justify-content: flex-start;
}

body#product .product-description__ingredients .ingredient > div:last-child,
body.page-product .product-description__ingredients .ingredient > div:last-child {
  border-right: 0;
}

body#product .product-description__ingredients .data-ingredient-name,
body.page-product .product-description__ingredients .data-ingredient-name {
  color: var(--bn-ink);
  font-weight: 700;
}

body#product .product-description__ingredients .data-item,
body.page-product .product-description__ingredients .data-item {
  justify-content: flex-end;
  color: #425159;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

body#product .product-description__ingredients .data-item.ri,
body.page-product .product-description__ingredients .data-item.ri {
  color: var(--bn-green-dark);
  font-weight: 700;
}

body#product .product-description__ingredients .ingredients-list > div > .ingredient:nth-child(odd),
body.page-product .product-description__ingredients .ingredients-list > div > .ingredient:nth-child(odd) {
  background: #fbfdfc;
}

body#product .product-description__ingredients .matrix-ingredient,
body.page-product .product-description__ingredients .matrix-ingredient {
  padding: 11px 13px;
  color: #315d4c;
  background: #f0f8f4;
  border-bottom: 1px solid #dceae3;
}

body#product .product-description__ingredients .small.ingredients-item,
body.page-product .product-description__ingredients .small.ingredients-item {
  color: var(--bn-muted);
  font-size: 11px;
}

body#product .product-description__ingredients .height-5,
body.page-product .product-description__ingredients .height-5 {
  display: none !important;
}

/* Ingredienti, modalità d'uso, avvertenze e dettagli finali */
body#product .product-description__ingredients .ingredients-list-container.descriptions,
body#product .product-description__ingredients .ingredients-list-container.content-details,
body.page-product .product-description__ingredients .ingredients-list-container.descriptions,
body.page-product .product-description__ingredients .ingredients-list-container.content-details {
  margin: 14px 0 0;
  padding: 18px;
  overflow: hidden;
  color: #46545b;
  background: #fff;
  border: 1px solid #e1e9e5 !important;
  border-radius: 10px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

body#product .product-description__ingredients .ingredients-list-wrapper strong,
body#product .product-description__ingredients .ingredients-list-bottom-wrapper strong,
body.page-product .product-description__ingredients .ingredients-list-wrapper strong,
body.page-product .product-description__ingredients .ingredients-list-bottom-wrapper strong {
  color: #315d4c;
  font-weight: 800;
}

body#product .product-description__ingredients .ingredients-list-bottom-wrapper,
body.page-product .product-description__ingredients .ingredients-list-bottom-wrapper {
  padding: 0 !important;
}

@media (max-width: 767px) {
  body#product .product-description__ingredients,
  body.page-product .product-description__ingredients {
    width: 100% !important;
    padding: 0 !important;
  }

  body#product .product-description__ingredients .ingredients-list-container.header,
  body.page-product .product-description__ingredients .ingredients-list-container.header {
    padding: 15px;
    border-radius: 9px;
  }

  body#product .product-description__ingredients .product-name strong,
  body.page-product .product-description__ingredients .product-name strong {
    font-size: 17px;
  }

  body#product .product-description__ingredients .ingredients-list-container.content > .ingredients-list,
  body.page-product .product-description__ingredients .ingredients-list-container.content > .ingredients-list {
    min-width: 610px;
  }

  body#product .product-description__ingredients .ingredient,
  body.page-product .product-description__ingredients .ingredient {
    grid-template-columns: minmax(200px, 1.6fr) repeat(3, minmax(95px, .7fr));
  }

  body#product .product-description__ingredients .ingredient > div,
  body.page-product .product-description__ingredients .ingredient > div {
    padding: 9px 10px;
    font-size: 11px;
  }

  body#product .product-description__ingredients .ingredients-list-container.descriptions,
  body#product .product-description__ingredients .ingredients-list-container.content-details,
  body.page-product .product-description__ingredients .ingredients-list-container.descriptions,
  body.page-product .product-description__ingredients .ingredients-list-container.content-details {
    padding: 14px;
    font-size: 12px;
  }
}

/* =========================================================
   Login to purchase - stesso aspetto del vero Add to cart
   ========================================================= */

body#product .product-quantity > .btn,
body#product .product-quantity > a.btn,
body#product .product-quantity .add > .btn,
body.page-product .product-quantity > .btn,
body.page-product .product-quantity > a.btn,
body.page-product .product-quantity .add > .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 1 1 210px;
  width: auto;
  max-width: 250px;
  min-height: 46px;
  margin: 0 !important;
  padding: 0 22px !important;
  color: #fff !important;
  background: #2eb279 !important;
  border: 1px solid #2eb279 !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 13px rgba(46, 178, 121, .20);
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center;
  text-transform: none;
}

body#product .product-quantity > .btn:hover,
body#product .product-quantity > a.btn:hover,
body#product .product-quantity .add > .btn:hover,
body.page-product .product-quantity > .btn:hover,
body.page-product .product-quantity > a.btn:hover,
body.page-product .product-quantity .add > .btn:hover {
  color: #fff !important;
  background: #249b6d !important;
  border-color: #249b6d !important;
  box-shadow: 0 7px 16px rgba(36, 155, 109, .24);
}

/* =========================================================
   Prodotti correlati / stessa categoria - card compatte
   Proporzioni riprese dalle card della homepage.
   ========================================================= */

body#product #main .category-products .product-miniature,
body.page-product #main .category-products .product-miniature {
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e6ece9 !important;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(35, 55, 65, .05);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body#product #main .category-products .product-miniature:hover,
body.page-product #main .category-products .product-miniature:hover {
  transform: translateY(-2px);
  border-color: #d7e7df !important;
  box-shadow: 0 6px 18px rgba(35, 55, 65, .09);
}

body#product #main .category-products .product-miniature > .row,
body#product #main .category-products .product-miniature .list-small-gutters,
body.page-product #main .category-products .product-miniature > .row,
body.page-product #main .category-products .product-miniature .list-small-gutters {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product #main .category-products .thumbnail-container,
body.page-product #main .category-products .thumbnail-container {
  position: relative !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  height: 112px !important;
  min-height: 112px !important;
  margin: 0 !important;
  padding: 9px 8px 4px !important;
  background: linear-gradient(180deg, #fbfdfc 0%, #fff 100%);
}

body#product #main .category-products .product-thumbnail,
body.page-product #main .category-products .product-thumbnail {
  position: relative !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100px !important;
  min-height: 100px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  aspect-ratio: auto !important;
}

body#product #main .category-products .product-thumbnail picture,
body.page-product #main .category-products .product-thumbnail picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

body#product #main .category-products .product-thumbnail img,
body.page-product #main .category-products .product-thumbnail img {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 122px !important;
  max-height: 98px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  transform: none;
  transition: transform .28s ease;
}

body#product #main .category-products .product-miniature:hover .product-thumbnail img,
body.page-product #main .category-products .product-miniature:hover .product-thumbnail img {
  transform: scale(1.045);
}

body#product #main .category-products .product-description,
body.page-product #main .category-products .product-description {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 10px 11px !important;
  background: transparent !important;
  text-align: center;
}

body#product #main .category-products .product-title,
body.page-product #main .category-products .product-title {
  display: -webkit-box !important;
  flex: 0 0 100%;
  width: 100%;
  min-height: 31px !important;
  max-height: 31px !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  overflow: hidden;
  color: #263746 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body#product #main .category-products .product-title a,
body.page-product #main .category-products .product-title a {
  color: #263746 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body#product #main .category-products .product-title a:hover,
body.page-product #main .category-products .product-title a:hover {
  color: #2eb279 !important;
}

body#product #main .category-products .product-brand,
body#product #main .category-products .product-manufacturer,
body#product #main .category-products .bn-small-brand,
body.page-product #main .category-products .product-brand,
body.page-product #main .category-products .product-manufacturer,
body.page-product #main .category-products .bn-small-brand {
  flex: 0 0 100%;
  width: 100%;
  margin: 0 0 5px !important;
  color: #7a858b !important;
  font-size: 9.5px !important;
  line-height: 1.2;
  font-weight: 400;
  text-align: center;
}

/* Campi presenti nel template Warehouse ma assenti dalle card homepage. */
body#product #main .category-products .product-category-name,
body#product #main .category-products .product-reference,
body.page-product #main .category-products .product-category-name,
body.page-product #main .category-products .product-reference {
  display: none !important;
}

/* Il prezzo consigliato viene generato inline dallo snippet Body Nutrition. */
body#product #main .category-products .product-description > div[style*="display:flex"],
body.page-product #main .category-products .product-description > div[style*="display:flex"] {
  flex: 0 0 100%;
  width: 100%;
  min-height: 12px;
  margin: 0 0 1px !important;
  gap: 3px !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
}

body#product #main .category-products .product-description > div[style*="display:flex"] span,
body.page-product #main .category-products .product-description > div[style*="display:flex"] span {
  color: #92999d !important;
  font-size: 9px !important;
}

body#product #main .category-products .product-price-and-shipping,
body.page-product #main .category-products .product-price-and-shipping {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 100% !important;
  height: auto !important;
  min-height: 28px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  text-align: center;
}

body#product #main .category-products .regular-price,
body.page-product #main .category-products .regular-price {
  margin-right: 5px;
  color: #92999d !important;
  font-size: 9px !important;
}

body#product #main .category-products .product-price,
body.page-product #main .category-products .product-price {
  margin: 0 !important;
  color: #2eb279 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

body#product #main .category-products .product-description-short,
body#product #main .category-products .product-functional-buttons,
body#product #main .category-products .functional-buttons,
body#product #main .category-products .product-add-cart,
body#product #main .category-products .product-availability,
body.page-product #main .category-products .product-description-short,
body.page-product #main .category-products .product-functional-buttons,
body.page-product #main .category-products .functional-buttons,
body.page-product #main .category-products .product-add-cart,
body.page-product #main .category-products .product-availability {
  display: none !important;
}

body#product #main .category-products .product-flags li:not(.discount),
body.page-product #main .category-products .product-flags li:not(.discount) {
  display: none !important;
}

body#product #main .category-products .product-flags,
body.page-product #main .category-products .product-flags {
  top: 9px !important;
  right: 9px !important;
  left: auto !important;
  width: auto !important;
}

body#product #main .category-products .product-flags li.discount,
body.page-product #main .category-products .product-flags li.discount {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 39px;
  min-height: 22px;
  margin: 0 !important;
  padding: 4px 7px !important;
  color: #fff !important;
  background: #2eb279 !important;
  border-radius: 20px !important;
  box-shadow: 0 2px 7px rgba(46, 178, 121, .22);
  font-size: 9.5px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

@media (max-width: 767px) {
  body#product #main .category-products .thumbnail-container,
  body.page-product #main .category-products .thumbnail-container {
    height: 102px !important;
    min-height: 102px !important;
    padding-top: 8px !important;
  }

  body#product #main .category-products .product-thumbnail,
  body.page-product #main .category-products .product-thumbnail {
    height: 90px !important;
    min-height: 90px !important;
  }

  body#product #main .category-products .product-thumbnail img,
  body.page-product #main .category-products .product-thumbnail img {
    max-width: 108px !important;
    max-height: 88px !important;
  }

  body#product #main .category-products .product-description,
  body.page-product #main .category-products .product-description {
    padding: 5px 8px 9px !important;
  }

  body#product #main .category-products .product-title,
  body.page-product #main .category-products .product-title {
    min-height: 29px !important;
    max-height: 29px !important;
    font-size: 10.5px !important;
  }

  body#product #main .category-products .product-price,
  body.page-product #main .category-products .product-price {
    font-size: 13px !important;
  }

  body#product .product-quantity > .btn,
  body#product .product-quantity > a.btn,
  body#product .product-quantity .add > .btn,
  body.page-product .product-quantity > .btn,
  body.page-product .product-quantity > a.btn,
  body.page-product .product-quantity .add > .btn {
    max-width: none;
    padding: 0 13px !important;
    font-size: 11px !important;
  }
}
