/**
 * Ayurvivek single product – Mishtam-style 2 column layout
 * Left: sticky gallery | Right: buy box (title, price, options, ATC, meta, trust)
 * Atmosphere: soft herbal mist (not flat white) so small product images feel grounded.
 */

/* ----- Page atmosphere (beyond gallery) ----- */
body.single-product {
  --isarva-herb: #006c34;
  --isarva-mist: #eef5f1;
  --isarva-leaf: #d5e6dc;
  --isarva-dew: #f7fbf8;
  background-color: #eef4f0 !important;
}

body.single-product #page.site,
body.single-product .site {
  background:
    radial-gradient(ellipse 80% 50% at 12% 18%, rgba(0, 108, 52, 0.07), transparent 55%),
    radial-gradient(ellipse 70% 45% at 88% 8%, rgba(90, 140, 110, 0.08), transparent 50%),
    radial-gradient(ellipse 60% 40% at 70% 75%, rgba(0, 108, 52, 0.045), transparent 55%),
    linear-gradient(180deg, #f4f8f5 0%, #eaf2ed 45%, #f2f6f3 100%) !important;
}

body.single-product #page.site::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.35;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23006c34' stroke-width='1' opacity='0.12'%3E%3Cpath d='M60 18c8 14 8 28 0 42-8-14-8-28 0-42z'/%3E%3Cpath d='M42 36c14 6 26 14 34 28-16-2-30-10-34-28z'/%3E%3Cpath d='M78 36c-14 6-26 14-34 28 16-2 30-10 34-28z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 140px 140px;
}

body.single-product #wrapper-navbar,
body.single-product .fixed-top,
body.single-product #content.site-content,
body.single-product section#breadcrumbs-section,
body.single-product footer,
body.single-product .site-main {
  position: relative;
  z-index: 1;
}

/* Keep site header sticky on PDP (do not force position:relative) */
body.single-product #masthead.site-header {
  position: sticky !important;
  z-index: 1030;
}

/* ----- Wide clean canvas: match header .container (logo → cart) ----- */
body.single-product #content.site-content.container,
body.single-product #content.site-content {
  width: 100% !important;
  max-width: 1140px !important;
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
  padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
  background: transparent !important;
}

@media (min-width: 1400px) {
  body.single-product #content.site-content.container,
  body.single-product #content.site-content {
    max-width: 1320px !important;
  }
}

@media (min-width: 1660px) {
  body.single-product #content.site-content.container,
  body.single-product #content.site-content {
    max-width: 1440px !important;
  }
}

/* Comfortable breadcrumb — not cramped */
body.single-product section#breadcrumbs-section {
  padding: 0.85rem 0 !important;
  border-bottom: 1px solid rgba(0, 108, 52, 0.1) !important;
  background: transparent !important;
}

body.single-product section#breadcrumbs-section .container {
  width: 100% !important;
  max-width: 1140px !important;
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
  padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
}

@media (min-width: 1400px) {
  body.single-product section#breadcrumbs-section .container {
    max-width: 1320px !important;
  }
}

@media (min-width: 1660px) {
  body.single-product section#breadcrumbs-section .container {
    max-width: 1440px !important;
  }
}

body.single-product section#breadcrumbs-section nav.wc-breadcrumb,
body.single-product section#breadcrumbs-section .breadcrumb-scroller {
  margin: 0 !important;
  padding: 0.15rem 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  min-height: 1.75rem !important;
  display: flex !important;
  align-items: center !important;
}

body.single-product section#breadcrumbs-section .breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  row-gap: 0.25rem !important;
}

body.single-product section#breadcrumbs-section .breadcrumb-item {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

/* Center the > divider with the text (kill Bootstrap float) */
body.single-product section#breadcrumbs-section .breadcrumb-item + .breadcrumb-item::before {
  content: ">" !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  padding: 0 0.65rem !important;
  margin: 0 !important;
  color: #006c34 !important;
  font-family: Jost, system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  height: auto !important;
  width: auto !important;
  vertical-align: middle !important;
  transform: none !important;
}

body.single-product section#breadcrumbs-section li.breadcrumb-item,
body.single-product section#breadcrumbs-section li.breadcrumb-item a,
body.single-product section#breadcrumbs-section li.breadcrumb-item span {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

body.single-product section#breadcrumbs-section li.breadcrumb-item a {
  color: #006c34 !important;
  text-decoration: none !important;
}

body.single-product section#breadcrumbs-section li.breadcrumb-item.active,
body.single-product section#breadcrumbs-section li.breadcrumb-item:last-child,
body.single-product section#breadcrumbs-section li.breadcrumb-item:last-child * {
  color: #6b7a72 !important;
  font-weight: 500 !important;
}

/* Kill large Bootstrap py-5 gap after breadcrumb */
body.single-product #content.site-content.py-5,
body.single-product #content.site-content {
  padding-top: 1rem !important;
  padding-bottom: 2rem !important;
}

@media (max-width: 767.98px) {
  body.single-product section#breadcrumbs-section {
    padding: 0.75rem 0 !important;
  }

  body.single-product section#breadcrumbs-section .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  body.single-product section#breadcrumbs-section nav.wc-breadcrumb,
  body.single-product section#breadcrumbs-section .breadcrumb-scroller {
    padding: 0.2rem 0 !important;
    min-height: 1.85rem !important;
  }

  body.single-product #content.site-content.py-5,
  body.single-product #content.site-content {
    padding-top: 0.85rem !important;
  }

  body.single-product section#breadcrumbs-section li.breadcrumb-item,
  body.single-product section#breadcrumbs-section li.breadcrumb-item a,
  body.single-product section#breadcrumbs-section li.breadcrumb-item span {
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
  }

  body.single-product section#breadcrumbs-section .breadcrumb-item + .breadcrumb-item::before {
    padding: 0 0.55rem !important;
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
  }

  /* Long product titles were wrapping to a second row. Keep one line and
     ellipsis the current page crumb; Home + category stay full width. */
  body.single-product section#breadcrumbs-section nav.wc-breadcrumb,
  body.single-product section#breadcrumbs-section .breadcrumb-scroller {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body.single-product section#breadcrumbs-section .breadcrumb {
    flex-wrap: nowrap !important;
    max-width: 100% !important;
    overflow: hidden !important;
    row-gap: 0 !important;
  }

  body.single-product section#breadcrumbs-section .breadcrumb-item:not(:last-child) {
    flex: 0 0 auto !important;
    max-width: none !important;
  }

  body.single-product section#breadcrumbs-section .breadcrumb-item:last-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    display: inline-block !important;
    vertical-align: middle !important;
  }

  body.single-product section#breadcrumbs-section .breadcrumb-item:last-child::before {
    flex-shrink: 0;
  }
}

body.single-product .ayur-single-product,
body.single-product .col-12.ayur-single-product {
  max-width: 100% !important;
  width: 100% !important;
  flex: 0 0 100% !important;
}

body.single-product .isarva-pdp {
  width: 100%;
}

/* Hide old 3rd-column category block if any leftover markup */
body.single-product .ay_woocommerce_product_category {
  display: none !important;
}

/* ----- 2-column layout -----
   Left column STRETCHES to match buybox+tabs height.
   Sticky is on the INNER .isarva-pdp__gallery-sticky only — that way the
   image stays under the header while scrolling, then unsticks when the
   right column ends (no mid-column gap). */
body.single-product .isarva-pdp__layout,
body.single-product .ay_summary_desc_main_section.isarva-product-hero {
  display: grid !important;
  /* Gallery hugs the 2:3 pack frame; buybox takes the rest (no mid gap). */
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr) !important;
  grid-template-areas: none !important;
  gap: 0.65rem 1.25rem !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 1rem !important;
}

body.single-product .isarva-pdp__gallery,
body.single-product .isarva-product-hero .ay_product_media_column {
  grid-area: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: 420px !important;
  flex: 0 0 auto !important;
  display: block !important;
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  position: relative !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Nothing above the gallery may clip sticky */
body.single-product .isarva-pdp,
body.single-product .isarva-pdp__layout,
body.single-product #content,
body.single-product .site-main,
body.single-product .ayur-single-product,
body.single-product #content.site-content .row {
  overflow: visible !important;
}

body.single-product .isarva-pdp__main {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
}

/* Sticky until buybox + tabs (right column) finish scrolling */
@media (min-width: 992px) {
  /* `position: sticky` can only travel inside its own containing block, so the
     gallery column has to stretch to the row height (buybox + tabs). The grid's
     `align-items: start` plus `align-self: start` above made the column hug the
     image instead, leaving zero travel — which reads as "sticky stopped working". */
  body.single-product .isarva-pdp__layout,
  body.single-product .ay_summary_desc_main_section.isarva-product-hero {
    align-items: stretch !important;
  }

  body.single-product .isarva-pdp__gallery,
  body.single-product .isarva-product-hero .ay_product_media_column {
    position: relative !important;
    top: auto !important;
    align-self: stretch !important;
    height: auto !important;
  }

  body.single-product .isarva-pdp__gallery-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--isarva-header-offset, 140px) !important;
    z-index: 5 !important;
    width: 100%;
    margin: 0 !important;
    align-self: flex-start;
  }

  body.logged-in.admin-bar.single-product .isarva-pdp__gallery-sticky {
    top: var(--isarva-header-offset, 172px) !important;
  }
}

body.single-product .isarva-pdp__buybox,
body.single-product .isarva-product-hero .summary.entry-summary,
body.single-product .isarva-product-hero .ay_woocommerce_product_details__short_description {
  grid-area: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: none !important;
  min-width: 0 !important;
  padding: 1.15rem 1.25rem 1.25rem !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0, 108, 52, 0.1) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 28px rgba(17, 49, 35, 0.05);
}

/* Make the generous desktop buy-box width feel intentional. A quiet botanical
   watermark occupies the otherwise empty title corner without competing with
   product information. */
body.single-product .isarva-pdp__buybox {
  position: relative !important;
  overflow: hidden;
}

body.single-product .isarva-pdp__buybox::before {
  content: "";
  position: absolute;
  top: 0.8rem;
  right: 1rem;
  width: 150px;
  height: 110px;
  opacity: 0.055;
  pointer-events: none;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 130' fill='none' stroke='%23006c34' stroke-width='2'%3E%3Cpath d='M20 112C63 88 93 53 112 13'/%3E%3Cpath d='M52 91c-18 2-28-5-34-18 18-3 30 3 34 18zM73 72c-17-1-26-10-28-24 18 0 28 9 28 24zM91 49c-14-5-20-15-18-28 15 4 22 14 18 28zM61 87c8-16 20-23 34-21-7 17-19 24-34 21zM82 66c10-14 23-19 36-14-9 15-21 20-36 14zM99 42c11-12 24-14 35-7-11 13-23 15-35 7z'/%3E%3C/svg%3E");
}

body.single-product .isarva-pdp__buybox > * {
  position: relative;
  z-index: 1;
}

body.single-product .isarva-pdp__below {
  grid-area: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Related / upsells: full width under the 2-col layout */
body.single-product .isarva-pdp__related .related.products,
body.single-product .isarva-pdp__related .up-sells {
  width: 100% !important;
  max-width: 100% !important;
}

/* ----- Gallery: 2:3 mint stage (matches home pack shots) ----- */
body.single-product .isarva-product-gallery-frame {
  position: relative !important;
  isolation: auto;
  border: 1px solid rgba(17, 49, 35, 0.1) !important;
  border-radius: 16px !important;
  background: #eef5f0 !important;
  box-shadow: 0 8px 24px rgba(17, 49, 35, 0.06) !important;
  padding: 0.5rem !important;
  overflow: hidden;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}

body.single-product .isarva-product-gallery-frame::before,
body.single-product .isarva-product-gallery-frame::after {
  content: none !important;
  display: none !important;
}

body.single-product .isarva-gallery-corner {
  display: none !important;
}

body.single-product .isarva-product-gallery-frame .woocommerce-product-gallery::before {
  content: none !important;
  display: none !important;
}

body.single-product .isarva-product-gallery-frame .woocommerce-product-gallery,
body.single-product .isarva-product-gallery-frame .owl-carousel {
  position: relative;
  z-index: 1;
  background: transparent !important;
  box-shadow: none !important;
  width: 100% !important;
}

/* Owl must own stage/item widths — forcing 100% stacks every slide vertically */
body.single-product .isarva-product-gallery-frame .owl-stage-outer {
  overflow: hidden !important;
  width: 100% !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .isarva-product-gallery-frame .owl-stage {
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .isarva-product-gallery-frame .owl-item {
  background: transparent !important;
  box-shadow: none !important;
  /* width comes from Owl inline styles — do not override */
}

body.single-product .isarva-product-gallery-frame .woocommerce-product-gallery {
  opacity: 1 !important;
  width: 100% !important;
}

/* One 2:3 stage for the carousel viewport (not per stacked slide) */
body.single-product .isarva-product-gallery-frame .product-gallery-slider.owl-carousel,
body.single-product .isarva-product-gallery-frame .single-product-image {
  aspect-ratio: 2 / 3 !important;
  height: auto !important;
}

body.single-product .isarva-product-gallery-frame .owl-stage-outer,
body.single-product .isarva-product-gallery-frame .owl-stage,
body.single-product .isarva-product-gallery-frame .owl-item {
  height: 100% !important;
}

body.single-product .isarva-product-gallery-frame .item,
body.single-product .isarva-product-gallery-frame .single-product-image .item,
body.single-product .isarva-product-gallery-frame .owl-item .item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  background: #eef5f0 !important;
  background-image: none !important;
  border-radius: 10px;
  overflow: hidden !important;
  position: relative;
  padding: 0 !important;
}

body.single-product .isarva-product-gallery-frame .item::after {
  content: none !important;
  display: none !important;
}

body.single-product .isarva-product-gallery-frame img,
body.single-product .isarva-product-gallery-frame .owl-item .item img {
  display: block !important;
  margin: 0 auto !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  position: relative;
  z-index: 1;
  background: transparent !important;
  mix-blend-mode: normal !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  filter: none !important;
}

/* Gallery arrows: single clean circle, icon perfectly centered */
body.single-product .isarva-product-gallery-frame .owl-nav {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  transform: none !important;
  left: 0 !important;
  top: 0 !important;
  display: block !important;
  pointer-events: none;
  z-index: 3;
}

body.single-product .isarva-product-gallery-frame .owl-nav button.owl-prev,
body.single-product .isarva-product-gallery-frame .owl-nav button.owl-next {
  pointer-events: auto;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid rgba(0, 108, 52, 0.18) !important;
  box-shadow: 0 2px 10px rgba(17, 49, 35, 0.1) !important;
  color: #006c34 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  opacity: 1 !important;
}

body.single-product .isarva-product-gallery-frame .owl-nav button.owl-prev {
  left: 10px !important;
  right: auto !important;
}

body.single-product .isarva-product-gallery-frame .owl-nav button.owl-next {
  right: 10px !important;
  left: auto !important;
}

body.single-product .isarva-product-gallery-frame .owl-nav button span,
body.single-product .isarva-product-gallery-frame .owl-nav button .owl-prev,
body.single-product .isarva-product-gallery-frame .owl-nav button .owl-next {
  display: none !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .isarva-product-gallery-frame .owl-nav button .isarva-gallery-arrow {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  fill: #006c34 !important;
  flex-shrink: 0;
}

body.single-product .isarva-product-gallery-frame .owl-nav button:hover {
  background: #f3faf6 !important;
  border-color: rgba(0, 108, 52, 0.35) !important;
}

body.single-product .isarva-product-gallery-frame .item img,
body.single-product .isarva-product-gallery-frame .single-product-image img {
  cursor: zoom-in;
}

body.single-product .isarva-product-zoom-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(0, 108, 52, 0.18);
  box-shadow: 0 2px 10px rgba(17, 49, 35, 0.1);
  color: #006c34;
  cursor: zoom-in;
}

body.single-product .isarva-product-zoom-btn svg {
  width: 18px;
  height: 18px;
  fill: #006c34;
}

body.single-product .isarva-product-zoom-btn:hover {
  background: #f3faf6;
  border-color: rgba(0, 108, 52, 0.35);
}

body.isarva-zoom-open {
  overflow: hidden;
}

.isarva-zoom-overlay {
  position: fixed;
  inset: 0;
  z-index: 20050;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 22, 16, 0.9);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease, visibility 0.18s ease;
}

.isarva-zoom-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.isarva-zoom-stage {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  touch-action: none;
  cursor: zoom-in;
}

.isarva-zoom-image {
  max-width: min(96vw, 1100px);
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  transform-origin: center center;
  transition: transform 0.12s ease-out;
  user-select: none;
  -webkit-user-drag: none;
}

.isarva-zoom-image.is-zoomed {
  cursor: grab;
}

.isarva-zoom-toolbar {
  position: absolute;
  top: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 2;
}

.isarva-zoom-counter {
  color: #fff;
  font-family: Jost, system-ui, sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  margin-right: 4px;
}

.isarva-zoom-tool,
.isarva-zoom-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #006c34;
  font-size: 1.45rem;
  line-height: 1;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

.isarva-zoom-nav svg {
  width: 20px;
  height: 20px;
  fill: #006c34;
}

.isarva-zoom-prev {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.isarva-zoom-next {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.isarva-zoom-tool:hover,
.isarva-zoom-nav:hover {
  background: #f3faf6;
}

@media (max-width: 767.98px) {
  body.single-product .isarva-product-zoom-btn {
    width: 36px;
    height: 36px;
    top: 10px;
    right: 10px;
  }

  .isarva-zoom-prev,
  .isarva-zoom-next {
    display: none;
  }

  .isarva-zoom-toolbar {
    top: 10px;
    right: 10px;
  }
}

/* ----- Buy box typography ----- */
body.single-product .isarva-product-title {
  margin: 0 0 0.65rem !important;
  color: #18241e !important;
  font-family: Jost, system-ui, sans-serif !important;
  font-size: clamp(1.55rem, 2.2vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em;
}

body.single-product .isarva-pdp__buybox .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
  margin: 0 0 1rem !important;
  color: #006c34 !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

body.single-product .isarva-pdp__buybox .price .amount {
  color: #006c34 !important;
  font-weight: 700 !important;
}

body.single-product .isarva-pdp__excerpt,
body.single-product .isarva-pdp__buybox .woocommerce-product-details__description {
  margin: 0 0 1.1rem !important;
  color: #3d5247 !important;
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  max-width: none !important;
}

body.single-product .isarva-pdp__excerpt p {
  margin: 0 0 0.6rem;
}

body.single-product .isarva-pdp__excerpt p:last-child {
  margin-bottom: 0;
}

/* Category chips under excerpt */
body.single-product .isarva-pdp__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 1.15rem;
}

body.single-product .isarva-pdp__cat-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 108, 52, 0.16);
  background: #f3faf6;
  color: #006c34 !important;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
}

body.single-product .isarva-pdp__cat-chip:hover {
  background: #e7f5ee;
}

/* Variations */
body.single-product .isarva-pdp__buybox form.cart,
body.single-product .isarva-pdp__buybox .variations_form {
  margin: 0 0 0.35rem !important;
}

body.single-product .isarva-pdp__buybox .variations {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.single-product .isarva-pdp__buybox .variations td {
  display: block;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Shrink-wrap the cell so the control sizes to the option text rather than the
   full width of the buy box — a card-wide select for "50G" read as a huge slab. */
body.single-product .isarva-pdp__buybox .variations td.value {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
}

body.single-product .isarva-pdp__buybox .variations select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: auto !important;
  min-width: 12rem !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 2.6rem 0 0.9rem !important;
  border: 1px solid rgba(0, 108, 52, 0.22) !important;
  border-radius: 10px !important;
  background-color: #f7fbf8 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006c34' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.8rem center !important;
  background-size: 14px 14px !important;
  color: #17301f !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.single-product .isarva-pdp__buybox .variations select:hover {
  border-color: rgba(0, 108, 52, 0.45) !important;
  background-color: #f1f8f4 !important;
}

body.single-product .isarva-pdp__buybox .variations select:focus,
body.single-product .isarva-pdp__buybox .variations select:focus-visible {
  outline: none !important;
  border-color: #006c34 !important;
  box-shadow: 0 0 0 3px rgba(0, 108, 52, 0.14) !important;
}

/* Phones get the full width back — thumb target beats tidiness here. */
@media (max-width: 575.98px) {
  body.single-product .isarva-pdp__buybox .variations td.value {
    display: block !important;
    width: 100% !important;
  }

  body.single-product .isarva-pdp__buybox .variations select {
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
  }
}

/* ----- Variation option pills (js/isarva-variation-pills.js) -----
   The select stays in the DOM as WooCommerce's source of truth; the pills are the
   visible control.
   `.isarva-var-pills-form` is printed by the variable.php template, which also
   prints the pills — hiding the select off that class (rather than off a class the
   script adds) is what stops the dropdown flashing before the script runs.
   `.isarva-var-enhanced` is the script's own flag, for any variation form whose
   template does not render pills server-side. */
body.single-product .variations_form.isarva-var-pills-form .variations select,
body.single-product .variations_form.isarva-var-enhanced .variations select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden !important;
  white-space: nowrap !important;
}

body.single-product .isarva-var-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.85rem;
  margin: 0.1rem 0 0.35rem;
}

body.single-product .isarva-var-pills__label {
  color: #5a6f64;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.single-product .isarva-var-pills__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* States are ordered base -> unavailable -> hover -> selected -> selected+hover,
   and every visual declaration is !important. The theme's base CSS overrides
   button colours aggressively, and a chosen pill turning white-on-mint is a
   legibility bug, so this must not be decided by cascade order. */
body.single-product .isarva-var-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-width: 3.5rem;
  height: 40px;
  padding: 0 1rem;
  border: 1.5px solid rgba(0, 108, 52, 0.22) !important;
  border-radius: 10px;
  background: #fff !important;
  color: #17301f !important;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease,
    background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

body.single-product .isarva-var-pill.is-unavailable:not(.is-selected),
body.single-product .isarva-var-pill[disabled]:not(.is-selected) {
  border-color: rgba(17, 49, 35, 0.12) !important;
  background: #f4f6f5 !important;
  color: #93a49b !important;
  text-decoration: line-through;
  cursor: not-allowed;
}

/* Excludes .is-selected — this outranks the selected state, so without the guard
   hovering a chosen pill repainted it mint while the text stayed white. */
body.single-product .isarva-var-pill:hover:not([disabled]):not(.is-selected) {
  transform: translateY(-1px);
  border-color: #006c34 !important;
  background: #f3faf6 !important;
  color: #17301f !important;
}

body.single-product .isarva-var-pill.is-selected {
  border-color: #006c34 !important;
  background: #006c34 !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(0, 108, 52, 0.22);
}

body.single-product .isarva-var-pill.is-selected:hover:not([disabled]) {
  transform: translateY(-1px);
  border-color: #01582b !important;
  background: #01582b !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(0, 108, 52, 0.28);
}

/* Chosen but unavailable: stay green so the tick still reads, just muted. */
body.single-product .isarva-var-pill.is-selected.is-unavailable,
body.single-product .isarva-var-pill.is-selected[disabled] {
  border-color: rgba(0, 108, 52, 0.45) !important;
  background: #6f9a80 !important;
  color: #fff !important;
  box-shadow: none;
  cursor: not-allowed;
}

body.single-product .isarva-var-pill:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 108, 52, 0.18);
}

/* Tick only appears once chosen, so the pill reads as a confirmed choice. */
body.single-product .isarva-var-pill.is-selected::before {
  content: "";
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  background: center / contain no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

@media (hover: none) {
  body.single-product .isarva-var-pill:hover:not([disabled]):not(.is-selected),
  body.single-product .isarva-var-pill.is-selected:hover:not([disabled]) {
    transform: none;
  }
}

@media (max-width: 575.98px) {
  body.single-product .isarva-var-pills {
    gap: 0.45rem 0.6rem;
  }

  body.single-product .isarva-var-pill {
    height: 44px;
    padding: 0 1.1rem;
  }
}

/* Kill empty variation price slot that creates a tall white gap */
body.single-product .isarva-pdp__buybox .single_variation_wrap {
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .isarva-pdp__buybox .woocommerce-variation.single_variation {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

body.single-product .isarva-pdp__buybox .woocommerce-variation.single_variation:not(:empty) {
  height: auto !important;
  max-height: none !important;
  margin: 0.35rem 0 !important;
  line-height: normal !important;
  overflow: visible !important;
}

body.single-product .isarva-pdp__buybox .woocommerce-variation-add-to-cart {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

body.single-product .isarva-pdp__buybox .reset_variations {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Qty + ATC — tight under variation select */
body.single-product .isarva-pdp__buybox .single-product-actions-wrapper,
body.single-product .summary .single-product-actions-wrapper {
  display: flex !important;
  align-items: stretch !important;
  gap: 0.65rem !important;
  margin: 0.5rem 0 0.65rem !important;
  width: 100% !important;
}

body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .quantity {
  position: relative !important;
  width: 108px !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: 1.5px solid rgba(0, 108, 52, 0.28) !important;
  border-radius: 12px !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .quantity .input-group {
  position: relative !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .quantity input.qty {
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 2rem 0 0.85rem !important;
  margin: 0 !important;
  color: #1a4d2e !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  line-height: 48px !important;
  text-align: left !important;
  background: transparent !important;
  -moz-appearance: textfield;
}

body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .quantity input.qty::-webkit-outer-spin-button,
body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Quantity steppers: clean centered chevrons */
body.single-product .isarva-pdp__buybox .quantity .plus.input-group-text,
body.single-product .isarva-pdp__buybox .quantity .minus.input-group-text {
  position: absolute !important;
  right: 8px !important;
  left: auto !important;
  width: 22px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

body.single-product .isarva-pdp__buybox .quantity .plus.input-group-text {
  top: 5px !important;
  bottom: auto !important;
}

body.single-product .isarva-pdp__buybox .quantity .minus.input-group-text {
  bottom: 5px !important;
  top: auto !important;
}

body.single-product .isarva-pdp__buybox .quantity .plus.input-group-text::before,
body.single-product .isarva-pdp__buybox .quantity .minus.input-group-text::before {
  content: "" !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 12px 12px !important;
}

body.single-product .isarva-pdp__buybox .quantity .plus.input-group-text::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006c34' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 15 12 9 18 15'/%3E%3C/svg%3E") !important;
}

body.single-product .isarva-pdp__buybox .quantity .minus.input-group-text::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006c34' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
}

body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  height: 48px !important;
  min-height: 48px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 1.25rem !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #006c34 !important;
  color: #fff !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  line-height: 1 !important;
  text-transform: none !important;
  box-shadow: 0 8px 18px rgba(0, 108, 52, 0.22) !important;
}

body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .single_add_to_cart_button .add-text {
  text-transform: uppercase !important;
}

body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .single_add_to_cart_button svg {
  flex-shrink: 0;
  width: 16px !important;
  height: 16px !important;
}

body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .single_add_to_cart_button:hover {
  background: #01582b !important;
  color: #fff !important;
}

/* Meta + shipping sit above ATC (templates reordered) */
body.single-product .isarva-pdp__buybox .product_meta_wrapper,
body.single-product .isarva-pdp__buybox .product_meta_wrapper.mt-4 {
  margin-top: 0.65rem !important;
  margin-bottom: 0.45rem !important;
  padding-top: 0.65rem !important;
  border-top: 1px solid rgba(0, 108, 52, 0.1) !important;
}

body.single-product .isarva-pdp__buybox .shiping_labels_wrapper,
body.single-product .isarva-pdp__buybox .shiping_labels_wrapper.mt-4 {
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}

body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels ul li.mb-3,
body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .mb-3 {
  margin-bottom: 0.5rem !important;
}

body.single-product .isarva-pdp__below {
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-tabs.isarva-product-tabs,
body.single-product .woocommerce-tabs.isarva-product-tabs.mt-4,
body.single-product .woocommerce-tabs.isarva-product-tabs.mt-md-5 {
  max-width: 100% !important;
  margin-top: 0.65rem !important;
  margin-bottom: 0.65rem !important;
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

body.single-product .isarva-pdp__related {
  width: 100% !important;
  max-width: 100% !important;
  clear: both;
  margin-top: 0.5rem !important;
  padding: 0.85rem 0.9rem 0.35rem !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0, 108, 52, 0.1) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

body.single-product .isarva-pdp__related .related.products.mhp-products {
  margin-top: 0 !important;
  padding-top: 0.25rem !important;
  border-top: 0 !important;
}

body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-section-head {
  margin-bottom: 0.75rem !important;
}

/* Related products: homepage-style row (4-up desktop, swipe on tablet/phone) */
body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem 1.15rem;
  align-items: stretch;
}

body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-row__item {
  min-width: 0;
}

body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-card {
  height: 100%;
}

@media (max-width: 991.98px) {
  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.75rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.45rem;
    margin-inline: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-row::-webkit-scrollbar {
    display: none;
  }

  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-row__item {
    flex: 0 0 min(42vw, 220px);
    max-width: min(42vw, 220px);
    scroll-snap-align: start;
  }
}

@media (max-width: 767.98px) {
  /* Two cards per screen, same as the homepage product rows. Sizing off the row's
     own width rather than vw keeps it exact inside the padded related block, and
     the cap stops the cards ballooning on wide phones. Gap must match the 4px
     subtracted below. */
  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-row {
    gap: 0.5rem;
  }

  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-row__item {
    flex: 0 0 min(calc(50% - 4px), 200px);
    max-width: min(calc(50% - 4px), 200px);
  }

  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-body {
    padding: 10px 10px 12px;
  }

  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-body h3 {
    font-size: 12.5px;
    min-height: 0;
    margin-bottom: 6px;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-variation-wrap,
  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-variation-placeholder {
    display: block;
    min-height: 36px;
    margin-bottom: 8px;
  }

  body.single-product .isarva-pdp__related .related.products.mhp-products .mhp-product-actions {
    margin-top: auto;
  }
}

body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels,
body.single-product .shiping_labels_wrapper .shiping_labels {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0.75rem 0.9rem !important;
  background: #f3faf6 !important;
  border: 1px solid rgba(0, 108, 52, 0.12) !important;
  border-radius: 14px !important;
}

body.single-product .isarva-pdp__buybox .product_meta_wrapper .product_meta {
  display: grid;
  gap: 0.4rem;
  color: #5a6f64 !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;
}

body.single-product .isarva-pdp__buybox .product_meta_wrapper .product_meta span {
  display: block;
  margin: 0 !important;
}

body.single-product .isarva-pdp__buybox .product_meta_wrapper .product_meta a {
  color: #006c34 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels ul li {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .label-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(0, 108, 52, 0.1);
  box-shadow: none !important;
}

body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels p {
  margin: 0 !important;
  color: #1a4d2e !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

@media (min-width: 992px) {
  /* Use the horizontal room instead of stacking every short fact on the left. */
  body.single-product .isarva-pdp__buybox .product_meta_wrapper .product_meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem !important;
  }

  body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels ul li {
    min-width: 0;
  }

  body.single-product .isarva-pdp__buybox form.cart,
  body.single-product .isarva-pdp__buybox .single_variation_wrap,
  body.single-product .isarva-pdp__buybox .woocommerce-variation-add-to-cart,
  body.single-product .isarva-pdp__buybox .single-product-actions-wrapper {
    width: 100% !important;
    max-width: none !important;
  }

  body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .single_add_to_cart_button {
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 0 !important;
  }
}

/* Parents must not clip sticky */
body.single-product #content.site-content,
body.single-product #content.site-content .row,
body.single-product .ayur-single-product,
body.single-product .isarva-pdp,
body.single-product .isarva-pdp__layout {
  overflow: visible !important;
}

@media (max-width: 991.98px) {
  body.single-product .isarva-pdp__layout,
  body.single-product .ay_summary_desc_main_section.isarva-product-hero {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.65rem !important;
    align-items: stretch !important;
    grid-template-areas: none !important;
  }

  body.single-product .isarva-pdp__gallery,
  body.single-product .isarva-pdp__main,
  body.single-product .isarva-pdp__buybox,
  body.single-product .isarva-pdp__below {
    grid-area: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .isarva-pdp__gallery {
    order: 1;
  }

  body.single-product .isarva-pdp__main {
    order: 2;
  }

  body.single-product .isarva-pdp__buybox {
    margin-bottom: 0 !important;
    padding-bottom: 0.9rem !important;
  }

  body.single-product .isarva-pdp__below {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* WooCommerce .summary default margin creates a huge gap before tabs */
  body.single-product div.product div.summary,
  body.single-product .isarva-pdp__buybox.summary,
  body.single-product .summary.entry-summary {
    margin-bottom: 0 !important;
  }

  body.single-product .woocommerce-tabs.isarva-product-tabs,
  body.single-product .woocommerce-tabs.isarva-product-tabs.mt-4,
  body.single-product .woocommerce-tabs.isarva-product-tabs.mt-md-5,
  body.single-product .product-tab-section.isarva-product-tabs {
    margin-top: 0 !important;
    margin-bottom: 0.75rem !important;
  }

  body.single-product .isarva-pdp__gallery,
  body.single-product .isarva-product-hero .ay_product_media_column,
  body.single-product .isarva-pdp__gallery-sticky {
    position: static !important;
    top: auto !important;
  }

  body.single-product .isarva-product-gallery-frame {
    max-width: 380px !important;
  }

  body.single-product .isarva-product-gallery-frame .product-gallery-slider.owl-carousel,
  body.single-product .isarva-product-gallery-frame .single-product-image {
    aspect-ratio: 2 / 3 !important;
  }

  body.single-product .isarva-product-gallery-frame .item,
  body.single-product .isarva-product-gallery-frame .single-product-image .item {
    min-height: 0 !important;
    height: 100% !important;
    aspect-ratio: auto !important;
  }

  body.single-product .isarva-product-gallery-frame img {
    max-width: none !important;
    max-height: none !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.single-product .isarva-pdp__buybox,
  body.single-product .isarva-product-hero > .summary.entry-summary {
    padding: 1rem !important;
    max-width: 100% !important;
  }

  body.single-product .isarva-pdp__buybox .single-product-actions-wrapper {
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  body.single-product .isarva-pdp__related {
    margin-top: 0.5rem !important;
    padding: 0.85rem !important;
  }

  body.single-product .isarva-pdp__buybox form.cart,
  body.single-product .isarva-pdp__buybox .variations_form,
  body.single-product .isarva-pdp__buybox .single_variation_wrap {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 767.98px) {
  body.single-product #content.site-content.container,
  body.single-product #content.site-content {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    max-width: 100% !important;
  }

  body.single-product .isarva-pdp__layout,
  body.single-product .ay_summary_desc_main_section.isarva-product-hero {
    gap: 0.55rem !important;
  }

  body.single-product .isarva-product-title {
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
  }

  body.single-product .isarva-pdp__buybox .price {
    font-size: 1.4rem !important;
  }

  body.single-product .isarva-product-gallery-frame {
    padding: 0.4rem !important;
    border-radius: 14px !important;
    max-width: 100% !important;
  }

  body.single-product .isarva-product-gallery-frame .product-gallery-slider.owl-carousel,
  body.single-product .isarva-product-gallery-frame .single-product-image {
    aspect-ratio: 2 / 3 !important;
  }

  body.single-product .isarva-product-gallery-frame .item,
  body.single-product .isarva-product-gallery-frame .single-product-image .item {
    min-height: 0 !important;
    height: 100% !important;
    aspect-ratio: auto !important;
  }

  body.single-product .isarva-product-gallery-frame img {
    max-width: none !important;
    max-height: none !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.single-product .isarva-pdp__buybox {
    padding: 0.85rem !important;
    padding-bottom: 0.75rem !important;
    border-radius: 14px !important;
    margin-bottom: 0 !important;
  }

  body.single-product .isarva-pdp__buybox .single-product-actions-wrapper {
    margin: 0.45rem 0 0 !important;
  }

  body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .quantity {
    width: 96px !important;
  }

  body.single-product .isarva-pdp__buybox .shiping_labels_wrapper {
    margin-bottom: 0.55rem !important;
  }

  body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels ul {
    gap: 0.5rem !important;
  }

  body.single-product .isarva-pdp__buybox .shiping_labels_wrapper .shiping_labels ul li {
    width: 100% !important;
  }

  body.single-product .isarva-pdp__below {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.single-product .woocommerce-tabs.isarva-product-tabs,
  body.single-product .product-tab-section.isarva-product-tabs {
    margin-top: 0 !important;
    margin-bottom: 0.85rem !important;
  }

  body.single-product .isarva-pdp__related {
    margin-top: 0.35rem !important;
    padding: 0.7rem 0.75rem 0.25rem !important;
    border-radius: 14px !important;
  }

  body.single-product .isarva-pdp__related .related.products.mhp-products {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  body.single-product .isarva-pdp__related .mhp-section-head {
    margin-bottom: 0.6rem !important;
  }

  body.single-product .isarva-product-faq.container.mt-5 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
}

/* ATC stays in normal flow on mobile — no fixed overlay / spacer */
@media (max-width: 768px) {
  body.single-product .isarva-pdp__buybox::after {
    content: none !important;
    display: none !important;
    height: 0 !important;
  }

  body.single-product .isarva-pdp__buybox .shiping_labels_wrapper {
    margin-bottom: 0.85rem !important;
  }

  body.single-product .isarva-pdp__buybox form.cart,
  body.single-product .isarva-pdp__buybox .woocommerce-variation-add-to-cart {
    margin-top: 0.15rem !important;
  }

  body.single-product .isarva-pdp__buybox .single-product-actions-wrapper {
    position: static !important;
    width: 100% !important;
    margin: 0.5rem 0 0.85rem !important;
  }

  body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .single_add_to_cart_button {
    text-transform: none !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.single-product .isarva-pdp__buybox .single-product-actions-wrapper .single_add_to_cart_button .add-text {
    text-transform: uppercase !important;
  }
}

/* Reviews tab — keep the test/live reviews on-theme with the rest of the PDP */
body.single-product .woocommerce-Reviews {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 992px) {
  body.single-product .woocommerce-Reviews {
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
    align-items: start;
  }
}

body.single-product .woocommerce-Reviews-title {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #12301f;
}

body.single-product .woocommerce-Reviews .commentlist {
  margin: 0;
  padding: 0;
}

body.single-product .woocommerce-Reviews .comment_container {
  display: flex;
  gap: 0.85rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid #e7eee9;
}

body.single-product .woocommerce-Reviews .comment_container img.avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex: 0 0 40px;
}

body.single-product .woocommerce-Reviews .comment-text {
  flex: 1;
  min-width: 0;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-Reviews .woocommerce-review__author {
  font-weight: 700;
  color: #12301f;
}

body.single-product .star-rating,
body.single-product .star-rating::before,
body.single-product .star-rating span::before,
body.single-product p.stars a::before,
body.single-product p.stars a::after {
  font-family: star !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.single-product .woocommerce-Reviews .star-rating,
body.single-product .woocommerce-product-rating .star-rating {
  color: #c4a35a;
}

body.single-product .star-rating::before {
  color: #d8e0db;
}

body.single-product #review_form_wrapper {
  padding: 1.1rem 1.15rem 1.2rem;
  border: 1px solid #e4efe8;
  border-radius: 14px;
  background: #f7fbf8;
}

body.single-product #review_form .comment-reply-title {
  font-size: 1rem;
  font-weight: 700;
  color: #12301f;
}

body.single-product #review_form .form-control,
body.single-product #review_form textarea,
body.single-product #review_form input[type="text"],
body.single-product #review_form input[type="email"] {
  border: 1px solid #dce8e2;
  border-radius: 10px;
  background: #fff;
}

body.single-product #review_form .form-submit input,
body.single-product #review_form .form-submit button {
  background: #006c34 !important;
  border-color: #006c34 !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 700;
}
