@media (min-width: 1200px) {
  .site-main {
    max-width: 1440px !important;
  }
}

.product-single-wrapper {
  width: 100%;
  max-width: 1400px;
  margin: 50px auto 0 auto;
  padding: 0 15px 80px 15px;
  overflow: hidden;

}

.bestseller-info {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  line-height: 18px;
  color: #6B7280;
  margin-bottom: 0px;
  padding-left: 4px;
}

.bestseller-info span.bestseller-badge {
  color: #1A6EFF;
  letter-spacing: 1.68px;
  text-transform: uppercase;
}

.product_title {
  font-family: 'Fraunces', serif;
  font-size: 52px;
  line-height: 56px;
  letter-spacing: -1.3px;
  color: #1A1A1A;
}

.custom-rating-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
  padding-left: 4px;
}

.custom-rating-wrapper .star-rating {
  margin: 0;
  color: #f47c48;
}

.custom-rating-wrapper .rating-text {
  font-size: 14px;
  line-height: 21px;
  color: #6B7280;
}

.custom-description .woocommerce-product-details__short-description p {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  line-height: 25px;
  color: #6B7280;
  margin-bottom: 24px;
}

.custom-product-features {
  list-style: none;
  padding: 0;
  margin: 0 0 22px 0;
}

.custom-product-features li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 9px;
  font-size: 15px;
  line-height: 22.5px;
  color: #000;
}

.custom-product-features li img {
  width: 16px;
  height: 16px;
}

.custom-price-addtocart {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 15px;
}

.custom-price-wrapper,
.custom-price-wrapper p {
  font-family: 'Fraunces', serif;
  font-size: 32px !important;
  line-height: 48px;
  color: #1A1A1A !important;
  margin: 0;
}

.custom-quantity-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 134px;
  height: 42px;
  border: 1px solid #E5E7EB;
  border-radius: 999px;
  padding: 0;
  background: #F7F8FA;
  overflow: hidden;
}

.custom-quantity-wrapper .quantity {
  margin: 0;
}

.custom-quantity-wrapper input {
  background: transparent;
  border: none !important;
  box-shadow: none;
  text-align: center;
}

.custom-quantity-wrapper input.qty:focus-visible {
  outline: none;
  border: none !important;
}

.custom-quantity-wrapper input.qty {
  font-family: 'DM Sans', sans-serif;
  width: 32px;
  border: none;
  background: transparent;
  text-align: center;
  font-size: 15px;
  font-weight: 400;
  line-height: 22.5px;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  -moz-appearance: textfield;
}

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

.custom-quantity-wrapper .qty-btn {
  border: none;
  background: transparent;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  color: #1A1A1A;
  padding: 0;
  width: 100%;
  height: 100%;
}

.custom-quantity-wrapper .qty-btn:hover,
.custom-quantity-wrapper .qty-btn:focus,
.custom-quantity-wrapper .qty-btn:focus-visible {
  color: #2D4CF5;
  background: transparent;
}

.pb-82 {
  padding-bottom: 82px;
}

.custom-add-to-cart-btn .single_add_to_cart_button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 51px;
  background-color: #2D4CF5 !important;
  color: #fff !important;
  border: 1px solid #2D4CF5 !important;
  border-radius: 999px !important;
  padding: 12px 30px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 22.5px !important;
  cursor: pointer !important;
  box-shadow: 0px 6px 20px -8px rgba(26, 110, 255, 0.55) !important;
  transition: all 0.3s ease, color 0.3s ease !important;
}

.custom-add-to-cart-btn .single_add_to_cart_button:hover,
.custom-add-to-cart-btn .single_add_to_cart_button:focus,
.custom-add-to-cart-btn .single_add_to_cart_button:focus-visible,
.custom-add-to-cart-btn .single_add_to_cart_button:focus-within {
  background-color: transparent !important;
  color: #2D4CF5 !important;
  box-shadow: none !important;
}

.custom-add-to-cart-btn .single_add_to_cart_button:hover img,
.custom-add-to-cart-btn .single_add_to_cart_button:focus img,
.custom-add-to-cart-btn .single_add_to_cart_button:focus-visible img,
.custom-add-to-cart-btn .single_add_to_cart_button:focus-within img {
  filter: invert(72%) sepia(70%) saturate(6115%) hue-rotate(233deg) brightness(98%) contrast(95%);
}

.custom-add-to-cart-btn .single_add_to_cart_button .price {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 22.5px !important;
  margin: 0 !important;
  color: #fff !important;
  transition: all 0.3s ease, color 0.3s ease !important;
}

.custom-add-to-cart-btn .single_add_to_cart_button:hover .price,
.custom-add-to-cart-btn .single_add_to_cart_button:focus .price,
.custom-add-to-cart-btn .single_add_to_cart_button:focus-visible .price,
.custom-add-to-cart-btn .single_add_to_cart_button:focus-within .price {
  color: #2D4CF5 !important;
}

.custom-add-to-cart .single_add_to_cart_button,
.custom-add-to-cart .quantity {
  display: none !important;
}

/* =====================================================
   WPC Composite Products — Add-ons UI Skin
   Matches the design in the screenshot
   ===================================================== */

/* --- Outer card wrapper --- */
.wooco-components,
.wooco-wrap .wooco-components {
  background: #ffffff;
  border: 1px solid #E2E2E2;
  border-radius: 14px;
  padding: 0 25px;
}

/* --- Header banner --- */

.wooco-addons-header {
  background: #EEF3FF;
  padding: 16px 25px 12px;
  border-bottom: 1px solid #E2E2E2;
  margin: 0 -25px;
  border-radius: 14px 14px 0 0;
}

.wooco-addons-header .wooco-addons-label {
  font-family: 'DM Sans', sans-serif;
  color: #2D4CF5;
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.wooco-addons-header p {
  font-family: 'DM Sans', sans-serif;
  color: #1A1A1A;
  font-size: 14px;
  line-height: 22px;
  margin: 0;
}

.wooco-components .wooco-components-header,
.wooco-components>.wooco-header {
  background: #EEF3FF;
  padding: 16px 25px 12px;
  border-bottom: 1px solid #E2E2E2;
}

.wooco-components .wooco-components-header .wooco-label,
.wooco-components>.wooco-header .wooco-label {
  color: #2D4CF5;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.wooco-components .wooco-components-header p,
.wooco-components>.wooco-header p {
  color: #333;
  font-size: 13px;
  margin: 0;
}

/* --- Each component row --- */
.wooco-component {
  padding: 18px 20px;
  border-bottom: 1px solid #f0f2f7;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wooco-component:last-of-type {
  border-bottom: none;
}

/* --- Component title / question label --- */
.wooco-component .wooco-component-name,
.wooco-component>label,
.wooco-component .wooco-component-title {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a2e;
  margin-bottom: 4px;
}

/* --- Row with dropdown + qty + price --- */
.wooco-component-selector,
.wooco-component .wooco-component-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* --- Dropdown / select --- */
.wooco-component select,
.wooco-component .wooco-component-selector select {
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  border: 1.5px solid #2D4CF5;
  border-radius: 50px;
  padding: 9px 36px 9px 16px;
  font-size: 13.5px;
  color: #2D4CF5;
  font-weight: 500;
  cursor: pointer;
  min-width: 180px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233a5bd9' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.wooco-component select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(58, 91, 217, 0.15);
}

/* "No thanks" state — unselected dropdown */
.wooco-component select.wooco-no-selection,
.wooco-component select[data-selected="none"] {
  border-color: #d0d4df;
  color: #7a7f95;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a7f95' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}

/* --- Quantity stepper --- */
.wooco-component .quantity,
.wooco-component .wooco-quantity {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1.5px solid #d0d4df;
  border-radius: 50px;
  overflow: hidden;
  background: #fff;
}

.wooco-component .quantity input[type="number"],
.wooco-component .wooco-quantity input {
  width: 36px;
  text-align: center;
  border: none;
  outline: none;
  font-size: 14px;
  font-weight: 600;
  color: #1a1a2e;
  background: transparent;
  -webkit-appearance: textfield;
}

.wooco-component .quantity input::-webkit-inner-spin-button,
.wooco-component .quantity input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.wooco-component .quantity .qty-minus,
.wooco-component .quantity .minus,
.wooco-component .wooco-quantity button:first-child {
  background: none;
  border: none;
  padding: 8px 12px;
  font-size: 18px;
  color: #555;
  cursor: pointer;
  line-height: 1;
  transition: color 0.1s;
}

.wooco-component .quantity .qty-plus,
.wooco-component .quantity .plus,
.wooco-component .wooco-quantity button:last-child {
  background: none;
  border: none;
  padding: 8px 12px;
  font-size: 18px;
  color: #555;
  cursor: pointer;
  line-height: 1;
  transition: color 0.1s;
}

.wooco-component .quantity button:hover {
  color: #2D4CF5;
}

/* --- Price badge ("+$9.95") --- */
.wooco-component .wooco-component-price,
.wooco-component .wooco-price-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #eef1f8;
  color: #2D4CF5;
  border-radius: 50px;
  padding: 7px 14px;
  font-size: 13.5px;
  font-weight: 600;
}

.wooco-component .wooco-component-price::before,
.wooco-component .wooco-price-badge::before {
  content: "✓";
  font-size: 12px;
  font-weight: 700;
}

/* Hide price when no item selected */
.wooco-component.wooco-not-selected .wooco-component-price,
.wooco-component.wooco-not-selected .wooco-price-badge {
  display: none;
}

/* =====================================================
   Footer summary bar
   "✓ 1 add-on selected · 1× Heaters    Total: $124.80"
   ===================================================== */

.wooco-summary,
.wooco-wrap .wooco-totals,
.wooco-total-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding: 14px 0;
  flex-wrap: wrap;
  gap: 8px;
}

.wooco-summary .wooco-selected-count,
.wooco-addons-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #2D4CF5;
  font-size: 13px;
  font-weight: 600;
}

.wooco-summary .wooco-selected-count::before {
  content: "✓";
}

.wooco-summary .wooco-selected-items,
.wooco-selected-tag {
  display: inline-flex;
  align-items: center;
  background: #f0f2f7;
  border-radius: 50px;
  padding: 4px 12px;
  font-size: 12.5px;
  color: #444;
  font-weight: 500;
  margin-left: 6px;
}

.wooco-summary .wooco-total,
.wooco-total-price {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 500;
  color: #1a1a2e;
  text-align: right;
}

.wooco_component {
  padding: 20px 0px !important;
  border-bottom: 1px solid #E3E3E3 !important;
}

.wooco_component:last-child {
  border-bottom: none !important;
}

.wooco_components .wooco_component .wooco_component_name {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  line-height: 21px !important;
  font-weight: 500 !important;
  color: #1A1A1A !important;
}

.wooco_component_product .dd-container {
  border-radius: 50px !important;
}

.woocommerce div.product form.cart {
  margin-bottom: 0 !important;
}

/* =====================================================
   Responsive
   ===================================================== */

@media (max-width: 480px) {

  .wooco-component-selector,
  .wooco-component .wooco-component-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .wooco-component select {
    width: 100%;
  }
}

/* Override WooCommerce default floats */
.custom-product-details {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 40px;
}

.custom-photo-gallery {
  width: 48% !important;
  position: sticky;
  top: 130px;
  /* increase if you have a sticky header e.g. top: 90px */
  align-self: flex-start;
}

.custom-product-content {
  float: none !important;
  width: 48% !important;
}

.woocommerce-page div.product div.summary,
.woocommerce-page div.product div.images {
  width: 100% !important;
}

/* Remove WooCommerce's clearfix interference */
.custom-product-details::after,
.custom-product-details::before {
  display: none !important;
}

/* Remove overflow: hidden from wrapper — it breaks sticky */
.product-single-wrapper {
  overflow: visible !important;
}

@media screen and (max-width: 767px) {
  .custom-product-details {
    flex-wrap: wrap !important;
  }

  .custom-photo-gallery,
  .custom-product-content {
    float: none !important;
    width: 100% !important;
  }

  .custom-photo-gallery {
    position: relative !important;
    top: auto !important;
  }
}

@media screen and (max-width: 767px) {

  .custom-photo-gallery {
    position: relative !important;
    top: auto !important;
  }

  .product-single-wrapper {
    padding: 0 15px 30px 15px;
    margin-top: 0;
  }

  .product_title {
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.8px;
  }

  .custom-description .woocommerce-product-details__short-description p {
    font-size: 14px;
    line-height: 22px;
  }

  .custom-product-features li {
    font-size: 14px;
    line-height: 21px;
  }

  .custom-price-wrapper p {
    font-size: 24px !important;
    line-height: 36px;
  }

  .pb-82 {
    padding-bottom: 50px;
  }
}

/* Gallery wrapper */
.woocommerce-product-gallery {
  opacity: 1 !important;
}

/* Main image box */
.woocommerce-product-gallery__wrapper {
  background: #f5f5f5;
  border-radius: 24px;
  padding: 30px;
  overflow: hidden;
}

/* Main image */
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__wrapper img {
  width: 100%;
  display: block;
  object-fit: contain;
}

/* Thumbnail row */
.flex-control-thumbs {
  display: flex !important;
  gap: 20px;
  margin-top: 24px !important;
  padding: 0 !important;
}

/* Thumbnail card */
.flex-control-thumbs li {
  width: 120px !important;
  height: 120px;
  list-style: none;
  background: #f5f5f5;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
  transition: all .3s ease;
}

/* Thumbnail image */
.flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
  opacity: 1 !important;
}

/* Active thumbnail */
.flex-control-thumbs .flex-active {
  opacity: 1 !important;
}

.flex-control-thumbs li:has(.flex-active) {
  border: 2px solid #3B82F6;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
}

.custom-stock-badge {
  position: absolute;
  left: 52px;
  top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: #fff;
  border-radius: 50px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
  font-size: 14px;
  z-index: 1;
}

.custom-stock-badge span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
}

.wpgs-for.slick-initialized {
  background-color: #F7F8FA;
  padding: 52px;
  border-radius: 24px;
  position: relative;
}

.wpgs-for.slick-initialized img {
  margin: 0 auto;
}

.wpgs-for .wp-post-image {
  max-height: 400px !important;
  width: auto !important;
  margin: 0 auto;
  display: block;
}

.wpgs-for .zoomImg {
  width: auto !important;
  max-height: none !important;
}

.wpgs-for.slick-initialized .slick-arrow {
  display: none !important;
}

.wpgs-for.slick-initialized img:not(.zoomImg) {
  max-height: 400px;
  width: auto;
  margin: auto;
  object-fit: contain;
}

.woocommerce div.product div.images img {
  margin: auto;
}

.wpgs-nav.slick-initialized {
  margin-top: 24px;
}

.wpgs-nav.slick-initialized .slick-slide {
  padding: 15.13px;
  background-color: #F7F8FA;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
}

.wpgs-nav.slick-initialized .slick-slide.slick-current {
  border: 1px solid #1A6EFF;
}

.woocommerce span.onsale {
  padding: 0.201em 0.601em !important;
  background-color: #F26B3A !important;
}

.woocommerce div.product p.stock {
  display: none !important;
}

.woocommerce-product-gallery {
  min-height: 500px;
}

.wooco_component_product_selection label {
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  letter-spacing: 0px;
  color: #1A1A1A;
}

.wooco-wrap .wooco-components .wooco_component_product_select {
  border-radius: 50px;
  border: 1px solid #DEDEDE;
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 21px;
  color: #6B7280;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 40px;
  background: url("/wp-content/uploads/2026/06/down-caret.png") no-repeat right 12px center;
  background-size: 12px;
}

.wooco-wrap .wooco-components .wooco-qty-input .wooco-minus,
.wooco-wrap .wooco-components .wooco-qty-input .wooco-plus {
  background-color: #F7F8FA;
  border: none;
}

.wooco-wrap .wooco-components .wooco-qty-input .wooco-minus {
  border-width: 1px 0 1px 1px;
  border-color: #E5E7EB;
  border-style: solid;
  border-radius: 100px 0 0 100px;
}

.wooco-wrap .wooco-components .wooco-qty-input .wooco-plus {
  border-width: 1px 1px 1px 0;
  border-color: #E5E7EB;
  border-style: solid;
  border-radius: 0 100px 100px 0;
}

.wooco-wrap .wooco-components .wooco_component_product_qty_input {
  background-color: #F7F8FA;
  border-color: #E5E7EB;
}

.wooco_component_product_price {
  order: 2
}

.wooco_component_product .amount {
  padding: 13px 25px;
  background-color: #EEF3FF;
  border-radius: 100px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 19.5px;
  color: #1A6EFF;
  display: flex;
  align-items: center;
}

.wooco_component_product .amount::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M10 3L4.5 8.5L2 6' stroke='%231A6EFF' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}

.purine-faq .faq-title {
  font-family: "DM Sans", Sans-serif;
  font-weight: 700;
}

.purine-faq .faq-content p {
  font-family: "Lato", Sans-serif;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 0;
}