/* Product detail presentation
 *
 * Keep this file scoped to #product so module controls and catalogue cards retain
 * their original styling. Colours and icon fonts intentionally come from the theme.
 */

body#product .pro_decs {
  display: flow-root;
  padding: 26px 28px 28px;
  border: 1px solid #e2e5e7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

body#product .productpage_title {
  margin: 0 0 12px;
  color: #222;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: 0;
}

body#product .pro_decs .hook-reviews {
  margin: 0 0 12px;
}

body#product .pro_decs .hook-reviews #spr_list {
  margin: 0;
}

body#product .product-prices {
  margin: 0 0 8px;
}

body#product .product-prices .product-price,
body#product .product-prices .current-price {
  margin-bottom: 2px;
}

body#product .product-prices .current-price > span:first-child {
  color: #91c0d0;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
}

body#product .product-prices .product-unit-price {
  color: #91c0d0;
  font-size: 15px;
  font-weight: 700;
}

body#product .product-prices .tax-shipping-delivery-label {
  display: block;
  margin-top: 8px;
  color: #333;
  font-size: 14px;
  line-height: 1.5;
}

body#product .product-information {
  color: #272727;
  font-size: 14px;
  line-height: 1.5;
}

body#product [id^="product-description-short-"] {
  margin: 8px 0 16px;
}

body#product [id^="product-description-short-"] h1,
body#product [id^="product-description-short-"] h2,
body#product [id^="product-description-short-"] h3,
body#product [id^="product-description-short-"] h4,
body#product [id^="product-description-short-"] p {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.48;
}

/* Migrated descriptions contain spacer <br> tags from the old editor. Keep
 * meaningful line breaks, but collapse the leading and repeated blank lines. */
body#product [id^="product-description-short-"] h4 br:first-child {
  display: none;
}

body#product [id^="product-description-short-"] h4 br + br,
body#product [id^="product-description-short-"] h4 br:last-child {
  display: none;
}

body#product [id^="product-description-short-"] h4 {
  margin-bottom: 0;
}

body#product .product-variants {
  overflow: hidden;
  margin: 0 0 16px;
  border: 1px solid #dde2e5;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 2px 9px rgba(0, 0, 0, 0.04);
}

body#product .product-variants > .product-variants-item {
  display: grid;
  grid-template-columns: minmax(118px, 34%) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 58px;
  margin: 0;
  padding: 10px 14px;
  border-bottom: 1px solid #e5e8ea;
}

body#product .product-variants > .product-variants-item:last-child {
  border-bottom: 0;
}

body#product .product-variants > .product-variants-item > .control-label {
  margin: 0;
  color: #30343a;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

body#product .product-variants > .product-variants-item ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  margin: 0;
}

body#product .product-variants > .product-variants-item ul li {
  float: none !important;
  margin: 0;
}

body#product .product-variants .radio-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #d9dfe3;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
  color: #222;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

body#product .product-variants .input-radio:checked + .radio-label {
  border-color: #91c0d0;
  box-shadow: inset 0 0 0 1px #91c0d0;
  color: #333;
}

body#product .product-variants .input-radio:focus-visible + .radio-label {
  outline: 2px solid #91c0d0;
  outline-offset: 2px;
}

/* Informational attributes should read like values, not inactive buttons. */
body#product .product-variants-item li:only-child .radio-label {
  justify-content: flex-start;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  cursor: default;
}

body#product .product-variants-item li:only-child .input-radio:checked + .radio-label {
  border: 0;
  box-shadow: none;
}

body#product .product-variants > .product-variants-item select {
  width: 100%;
  min-height: 40px;
  margin: 0;
  border-color: #d9dfe3;
  border-radius: 4px;
}

body#product .product-discounts {
  margin: 0 0 20px;
  padding: 14px;
  border: 1px solid #dde2e5;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 2px 9px rgba(0, 0, 0, 0.04);
}

body#product .product-discounts .product-discounts-title {
  margin: 0 0 8px;
  color: #30343a;
  font-size: 14px;
  font-weight: 700;
}

body#product .product-discounts .table-product-discounts {
  width: 100%;
  margin: 0;
  table-layout: fixed;
}

body#product .product-discounts > .table-product-discounts thead tr th,
body#product .product-discounts > .table-product-discounts tbody tr td {
  padding: 8px 6px;
}

body#product .product-add-to-cart {
  margin: 0;
  padding: 18px 0 0;
  border-top: 1px solid #e2e5e7;
}

body#product .product-add-to-cart > .control-label {
  display: inline-block;
  min-width: 70px;
  margin: 0 0 8px;
  color: #30343a;
  font-size: 14px;
  font-weight: 700;
}

body#product .product-quantity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px 16px;
}

body#product .product-quantity .qty {
  float: none;
  margin: 0;
}

body#product .product-quantity .delivery-information {
  margin: 0;
  color: #333;
  font-size: 13px;
  line-height: 1.4;
}

body#product .product-add-to-cart .common {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto auto;
  align-items: stretch;
  gap: 10px;
  width: calc(100% + 130px);
  margin: 2px 0 0 -130px;
}

body#product .product-add-to-cart .common .add,
body#product .product-add-to-cart .common .compare,
body#product .product-add-to-cart .common .wishlist {
  float: none;
  margin: 0;
}

body#product .product-add-to-cart .common .add .add-to-cart {
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 11px 18px;
  font-size: 15px;
}

body#product .product-add-to-cart .common .compare .btn-product,
body#product .product-add-to-cart .common .wishlist .btn-product {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 46px;
  margin: 0;
}

body#product #product-availability .delivery-information {
  display: none;
}

body#product .product-minimal-quantity {
  margin: 12px 0 0;
}

body#product .product-additional-info {
  margin-top: 10px;
}

body#product .product-additional-info .whatsapp-order-button {
  width: 100%;
  min-height: 46px;
  margin: 0 0 14px;
  padding: 11px 18px;
  font-size: 15px;
  font-weight: 700;
}

body#product .product-additional-info #mystockfront.productstock {
  margin: 0 0 14px;
  border: 1px solid #d9e7ec;
  border-radius: 9px;
  background: #f9fcfd;
  box-shadow: none;
}

body#product .product-additional-info #mystockfront .productstock__inner {
  padding: 14px 16px;
}

body#product .product-additional-info #mystockfront .productstock__availability {
  display: block;
  margin: 0 0 9px;
  color: #30343a;
  font-size: 15px;
  line-height: 1.35;
}

body#product .product-additional-info #mystockfront .productstock__status {
  display: flex;
  align-items: center;
  gap: 12px;
}

body#product .product-additional-info #mystockfront .productstock__bar {
  flex: 1 1 auto;
  min-width: 120px;
}

body#product .product-additional-info #mystockfront .productstock__label {
  flex: 0 0 auto;
  font-weight: 700;
}

body#product .product-additional-info .social-sharing {
  margin-top: 8px;
}

@media (min-width: 992px) {
  body#product .col-md-6.pro_image {
    width: 46%;
  }

  body#product .col-md-6.pro_decs {
    width: 54%;
  }
}

@media (max-width: 1199px) {
  body#product .pro_decs {
    padding: 22px;
  }

  body#product .productpage_title {
    font-size: 22px;
  }

  body#product .product-variants > .product-variants-item {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 991px) {
  body#product .col-md-6.pro_image,
  body#product .col-md-6.pro_decs {
    width: 100%;
  }

  body#product .pro_decs {
    margin-top: 24px;
  }
}

@media (max-width: 543px) {
  body#product .pro_decs {
    padding: 18px 14px;
    border-radius: 8px;
  }

  body#product .productpage_title {
    font-size: 20px;
  }

  body#product .product-prices .current-price > span:first-child {
    font-size: 28px;
  }

  body#product .product-variants > .product-variants-item {
    padding: 12px;
  }

  body#product .product-quantity {
    grid-template-columns: 1fr;
  }

  body#product .product-quantity .delivery-information,
  body#product .product-add-to-cart .common {
    grid-column: 1;
  }

  body#product .product-add-to-cart .common {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  body#product .product-additional-info #mystockfront .productstock__status {
    align-items: flex-start;
    flex-direction: column;
  }

  body#product .product-additional-info #mystockfront .productstock__bar {
    width: 100%;
  }
}
