:root {
  --casf-primary:#1B9C85;
  --casf-primary-dark:#147A69;
  --casf-primary-deep:#0F5F53;
  --casf-bg:#F6FAF7;
  --casf-card:#FFFFFF;
  --casf-card-soft:#F9FCFA;
  --casf-text:#111827;
  --casf-muted:#6B7280;
  --casf-border:#E5E7EB;
  --casf-warning:#F59E0B;
  --casf-error:#DC2626;
  --casf-radius:18px;
  --casf-radius-lg:24px;
  --casf-pill:999px;
  --casf-shadow:0 14px 34px rgba(15,23,42,.08);
}

body.casf-product-page {
  background: radial-gradient(circle at top left, rgba(27,156,133,.08), transparent 32%), var(--casf-bg);
}

body.casf-product-page .site-content,
body.casf-product-page .content-area,
body.casf-product-page .entry-content,
body.casf-product-page .woocommerce {
  width: 100%;
}

body.casf-product-page .ast-container,
body.casf-product-page .site-content > .ast-container,
body.casf-product-page #primary {
  max-width: 100% !important;
  width: 100% !important;
}

body.casf-product-page .entry-title:not(.product_title),
body.casf-product-page .page-title:not(.product_title),
body.casf-product-page .ast-single-entry-banner {
  display: none !important;
}

body.casf-product-page .entry-content > .woocommerce,
body.casf-product-page article .woocommerce,
body.casf-product-page .site-main > .woocommerce,
body.casf-product-page main .woocommerce {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.casf-product-page .woocommerce-notices-wrapper {
  width: min(1200px, calc(100vw - 48px));
  margin: 0 auto 14px !important;
}

.casf-product-axis {
  width: min(1200px, calc(100vw - 48px));
  margin: 18px auto 72px !important;
  display: grid;
  gap: 24px;
  color: var(--casf-text);
}

.casf-product-breadcrumb {
  width: fit-content;
  max-width: 100%;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(229,231,235,.9);
  border-radius: var(--casf-pill);
  padding: 10px 14px;
  color: var(--casf-muted);
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(15,23,42,.04);
}

.casf-product-breadcrumb .woocommerce-breadcrumb,
.casf-product-breadcrumb .woocommerce-breadcrumb a {
  margin: 0 !important;
  color: var(--casf-muted) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

.casf-product-breadcrumb .woocommerce-breadcrumb a:last-child,
.casf-product-breadcrumb .woocommerce-breadcrumb a:hover {
  color: var(--casf-primary-deep) !important;
}

.casf-product-breadcrumb-separator {
  color: #CBD5E1;
  padding: 0 7px;
}

.casf-product-main {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  gap: 26px;
  align-items: start;
}

.casf-product-gallery-card,
.casf-product-summary-card,
.casf-product-content-grid .woocommerce-tabs,
.casf-product-content-grid .related.products,
.casf-product-content-grid .up-sells,
.casf-product-content-grid .upsells,
.casf-product-content-grid .cross-sells {
  background: var(--casf-card);
  border: 1px solid var(--casf-border);
  border-radius: var(--casf-radius-lg);
  box-shadow: var(--casf-shadow);
  overflow: hidden;
}

.casf-product-gallery-card {
  padding: 18px;
  position: sticky;
  top: 20px;
}

.casf-product-gallery-card .onsale,
.casf-product-summary-card .onsale {
  border-radius: var(--casf-pill) !important;
  background: #FFF7ED !important;
  color: #9A3412 !important;
  border: 1px solid #FED7AA !important;
  min-height: 0 !important;
  line-height: 1 !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  left: 16px !important;
  top: 16px !important;
  z-index: 5 !important;
}

.casf-product-gallery-card .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.casf-product-gallery-card .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

.casf-product-gallery-card .woocommerce-product-gallery__image,
.casf-product-gallery-card .woocommerce-product-gallery__image a {
  display: block;
  overflow: hidden;
  border-radius: 22px;
  background: linear-gradient(135deg, #ECFDF5, #FFFFFF);
  border: 1px solid #D8F3EC;
}

.casf-product-gallery-card .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  padding: 12px;
  background: #fff;
  border-radius: 22px;
}

.casf-product-gallery-card .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}

.casf-product-gallery-card .flex-control-thumbs li {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  list-style: none !important;
}

.casf-product-gallery-card .flex-control-thumbs img {
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  border: 1px solid var(--casf-border);
  border-radius: 16px;
  background: #fff;
  padding: 6px;
  opacity: 1 !important;
}

.casf-product-gallery-card .flex-control-thumbs img.flex-active,
.casf-product-gallery-card .flex-control-thumbs img:hover {
  border-color: rgba(27,156,133,.48);
  background: #ECFDF5;
  box-shadow: 0 8px 18px rgba(27,156,133,.12);
}

.casf-product-summary-card {
  padding: 24px !important;
  display: grid !important;
  gap: 18px;
  float: none !important;
  width: 100% !important;
}

.casf-product-summary-card > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.casf-product-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.casf-product-badge,
.casf-product-summary-card .stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: var(--casf-pill);
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
}

.casf-product-badge-green,
.casf-product-summary-card .stock.in-stock {
  background: #ECFDF5;
  color: var(--casf-primary-deep) !important;
  border: 1px solid #BDEBE3;
}

.casf-product-badge-orange {
  background: #FFF7ED;
  color: #9A3412;
  border: 1px solid #FED7AA;
}

.casf-product-badge-gray,
.casf-product-summary-card .stock.out-of-stock {
  background: #F9FAFB;
  color: var(--casf-muted) !important;
  border: 1px solid var(--casf-border);
}

.casf-product-summary-card .product_title,
.casf-product-summary-card h1.product_title {
  color: var(--casf-text);
  font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1.03 !important;
  letter-spacing: -0.07em;
  font-weight: 950;
}

.casf-product-summary-card .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--casf-muted);
  font-size: 13px;
  font-weight: 700;
}

.casf-product-summary-card .woocommerce-product-rating .star-rating {
  color: var(--casf-warning);
  margin: 0 !important;
}

.casf-product-summary-card .woocommerce-review-link {
  color: var(--casf-muted) !important;
  text-decoration: none !important;
}

.casf-product-summary-card p.price,
.casf-product-summary-card .price {
  display: flex !important;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  padding: 16px;
  background: var(--casf-card-soft);
  border: 1px solid var(--casf-border);
  border-radius: 18px;
  color: var(--casf-text) !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.06em;
}

.casf-product-summary-card .price del {
  color: var(--casf-muted) !important;
  opacity: 1 !important;
  font-size: 16px !important;
  font-weight: 800;
  margin-bottom: 3px;
}

.casf-product-summary-card .price ins {
  text-decoration: none !important;
}

.casf-product-summary-card .woocommerce-product-details__short-description {
  color: var(--casf-muted);
  line-height: 1.65;
  font-size: 15px;
}

.casf-product-summary-card .woocommerce-product-details__short-description p {
  margin: 0 0 10px;
}

.casf-product-summary-card form.cart {
  border: 1px solid #D8F3EC;
  border-radius: 22px;
  background: radial-gradient(circle at top right, rgba(27,156,133,.10), transparent 35%), #FFFFFF;
  padding: 16px;
  display: grid !important;
  gap: 14px;
}

.casf-product-summary-card form.cart:not(.variations_form) {
  grid-template-columns: 138px minmax(0, 1fr);
  align-items: center;
}

.casf-product-summary-card form.cart .quantity {
  width: 100% !important;
  margin: 0 !important;
}

.casf-product-summary-card form.cart .quantity input.qty {
  width: 100% !important;
  min-height: 52px;
  border-radius: var(--casf-pill) !important;
  border: 1px solid var(--casf-border) !important;
  background: #fff !important;
  color: var(--casf-text) !important;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
}

.casf-product-summary-card form.cart .single_add_to_cart_button,
.casf-product-summary-card form.cart button.single_add_to_cart_button,
.casf-product-summary-card form.cart .button {
  width: 100%;
  min-height: 54px;
  border: 0 !important;
  border-radius: var(--casf-pill) !important;
  background: linear-gradient(135deg, var(--casf-primary), var(--casf-primary-dark)) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 28px rgba(27,156,133,.24) !important;
  opacity: 1 !important;
}

.casf-product-summary-card form.cart .variations {
  grid-column: 1 / -1;
  width: 100% !important;
  margin: 0 0 8px !important;
}

.casf-product-summary-card form.cart .variations th,
.casf-product-summary-card form.cart .variations td {
  display: block;
  width: 100%;
  padding: 0 0 10px !important;
  background: transparent !important;
  border: 0 !important;
}

.casf-product-summary-card form.cart .variations label {
  color: var(--casf-text);
  font-size: 13px;
  font-weight: 900;
}

.casf-product-summary-card form.cart .variations select {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--casf-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
  padding: 10px 12px;
}

.casf-product-summary-card form.cart .woocommerce-variation-add-to-cart {
  display: grid;
  grid-template-columns: 138px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.casf-product-summary-card form.cart .woocommerce-variation-description,
.casf-product-summary-card form.cart .woocommerce-variation-price,
.casf-product-summary-card form.cart .woocommerce-variation-availability {
  grid-column: 1 / -1;
}

.casf-product-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.casf-product-benefit {
  border: 1px solid var(--casf-border);
  border-radius: 17px;
  background: #fff;
  padding: 13px;
  display: grid;
  gap: 6px;
}

.casf-product-benefit-icon {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #ECFDF5;
  border: 1px solid #BDEBE3;
  color: var(--casf-primary-deep);
  display: grid;
  place-items: center;
  font-size: 17px;
}

.casf-product-benefit strong {
  font-size: 13px;
  line-height: 1.25;
  color: var(--casf-text);
}

.casf-product-benefit span:last-child {
  color: var(--casf-muted);
  font-size: 12px;
  line-height: 1.35;
}

.casf-product-info-stack {
  display: grid;
  gap: 12px;
}

.casf-product-mini-info-card {
  border: 1px solid var(--casf-border);
  border-radius: 18px;
  background: var(--casf-card-soft);
  padding: 15px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.casf-product-mini-info-icon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 14px;
  background: #ECFDF5;
  border: 1px solid #BDEBE3;
  color: var(--casf-primary-deep);
  display: grid;
  place-items: center;
  font-size: 18px;
}

.casf-product-mini-info-card strong {
  display: block;
  font-size: 14px;
  color: var(--casf-text);
}

.casf-product-mini-info-card span span {
  display: block;
  margin-top: 3px;
  color: var(--casf-muted);
  font-size: 13px;
  line-height: 1.45;
}

.casf-product-summary-card .product_meta {
  border: 1px solid var(--casf-border);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  display: grid;
  gap: 8px;
  color: var(--casf-muted);
  font-size: 13px;
}

.casf-product-summary-card .product_meta > span {
  display: block;
}

.casf-product-summary-card .product_meta a {
  color: var(--casf-primary-deep) !important;
  text-decoration: none !important;
  font-weight: 800;
}

.casf-product-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.casf-product-content-grid .woocommerce-tabs,
.casf-product-content-grid .related.products,
.casf-product-content-grid .up-sells,
.casf-product-content-grid .upsells {
  padding: 0 !important;
  width: 100% !important;
}

.casf-product-content-grid .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 !important;
  padding: 20px 22px 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.casf-product-content-grid .woocommerce-tabs ul.tabs::before,
.casf-product-content-grid .woocommerce-tabs ul.tabs::after {
  display: none !important;
}

.casf-product-content-grid .woocommerce-tabs ul.tabs li {
  border-radius: var(--casf-pill) !important;
  border: 1px solid var(--casf-border) !important;
  background: #fff !important;
  color: var(--casf-muted) !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.casf-product-content-grid .woocommerce-tabs ul.tabs li::before,
.casf-product-content-grid .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.casf-product-content-grid .woocommerce-tabs ul.tabs li a {
  padding: 9px 13px !important;
  color: var(--casf-muted) !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
}

.casf-product-content-grid .woocommerce-tabs ul.tabs li.active {
  background: #ECFDF5 !important;
  border-color: #BDEBE3 !important;
}

.casf-product-content-grid .woocommerce-tabs ul.tabs li.active a {
  color: var(--casf-primary-deep) !important;
}

.casf-product-content-grid .woocommerce-Tabs-panel {
  padding: 22px !important;
  color: var(--casf-muted);
  line-height: 1.72;
}

.casf-product-content-grid .woocommerce-Tabs-panel h2,
.casf-product-content-grid .related.products > h2,
.casf-product-content-grid .up-sells > h2,
.casf-product-content-grid .upsells > h2 {
  margin: 0 0 16px !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.04em;
  color: var(--casf-text);
}

.casf-product-content-grid .related.products,
.casf-product-content-grid .up-sells,
.casf-product-content-grid .upsells {
  padding: 22px !important;
}

.casf-product-content-grid .related.products ul.products,
.casf-product-content-grid .up-sells ul.products,
.casf-product-content-grid .upsells ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px !important;
  margin: 0 !important;
}

.casf-product-content-grid ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  border: 1px solid var(--casf-border);
  border-radius: 20px;
  background: var(--casf-card-soft);
  padding: 14px !important;
  display: grid;
  gap: 10px;
  box-shadow: none !important;
}

.casf-product-content-grid ul.products li.product img {
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  background: #fff;
  border: 1px solid #D8F3EC;
  border-radius: 16px;
  padding: 8px;
  margin: 0 !important;
}

.casf-product-content-grid ul.products li.product .woocommerce-loop-product__title {
  font-size: 13px !important;
  line-height: 1.35;
  color: var(--casf-text);
  padding: 0 !important;
  margin: 0 !important;
}

.casf-product-content-grid ul.products li.product .price {
  color: var(--casf-primary-deep) !important;
  font-weight: 950 !important;
  font-size: 13px !important;
  margin: 0 !important;
}

.casf-product-content-grid ul.products li.product .button {
  border-radius: var(--casf-pill) !important;
  background: #fff !important;
  color: var(--casf-primary-deep) !important;
  border: 1px solid #BDEBE3 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-align: center;
  padding: 10px 12px !important;
  margin: 0 !important;
}

@media (max-width: 980px) {
  .casf-product-main {
    grid-template-columns: 1fr;
  }

  .casf-product-gallery-card {
    position: static;
  }

  .casf-product-summary-card {
    padding: 20px !important;
  }

  .casf-product-benefit-grid,
  .casf-product-content-grid .related.products ul.products,
  .casf-product-content-grid .up-sells ul.products,
  .casf-product-content-grid .upsells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.casf-product-page .woocommerce-notices-wrapper,
  .casf-product-axis {
    width: calc(100% - 24px);
  }

  .casf-product-summary-card form.cart,
  .casf-product-summary-card form.cart:not(.variations_form),
  .casf-product-summary-card form.cart .woocommerce-variation-add-to-cart,
  .casf-product-benefit-grid,
  .casf-product-content-grid .related.products ul.products,
  .casf-product-content-grid .up-sells ul.products,
  .casf-product-content-grid .upsells ul.products {
    grid-template-columns: 1fr;
  }

  .casf-product-gallery-card .flex-control-thumbs {
    grid-template-columns: repeat(3, 1fr);
  }

  .casf-product-summary-card p.price,
  .casf-product-summary-card .price {
    font-size: 28px !important;
  }
}

/* v1.0.31 — strengthen single product width, gallery and Woo/Astra overrides */
body.casf-product-page #page,
body.casf-product-page #content,
body.casf-product-page .site-content,
body.casf-product-page .ast-container,
body.casf-product-page .site-content > .ast-container,
body.casf-product-page .content-area,
body.casf-product-page #primary,
body.casf-product-page .site-main,
body.casf-product-page article,
body.casf-product-page .entry-content,
body.casf-product-page .entry-content > .woocommerce,
body.casf-product-page article .woocommerce,
body.casf-product-page main .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.casf-product-page .site-content > .ast-container,
body.casf-product-page .ast-container,
body.casf-product-page #primary {
  display: block !important;
}

body.casf-product-page .woocommerce div.product.casf-product-axis,
body.casf-product-page .casf-product-axis {
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: min(1200px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-self: center !important;
  clear: both !important;
}

body.casf-product-page .woocommerce div.product .casf-product-main,
body.casf-product-page .casf-product-main {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(420px, 540px) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

body.casf-product-page .woocommerce div.product .casf-product-gallery-card,
body.casf-product-page .woocommerce div.product .summary.entry-summary.casf-product-summary-card,
body.casf-product-page .woocommerce div.product div.summary.casf-product-summary-card,
body.casf-product-page .woocommerce div.product div.images .woocommerce-product-gallery,
body.casf-product-page .woocommerce div.product div.images,
body.casf-product-page .casf-product-gallery-card,
body.casf-product-page .casf-product-summary-card {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.casf-product-page .woocommerce div.product .casf-product-gallery-card {
  min-width: 0 !important;
}

body.casf-product-page .woocommerce div.product .summary.entry-summary.casf-product-summary-card,
body.casf-product-page .woocommerce div.product div.summary.casf-product-summary-card {
  min-width: 0 !important;
}

body.casf-product-page .woocommerce div.product div.images .woocommerce-product-gallery,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery {
  display: block !important;
  opacity: 1 !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__wrapper,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 420px !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image img,
body.casf-product-page .casf-product-gallery-card img.wp-post-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  padding: 18px !important;
}

body.casf-product-page .casf-product-summary-card .product_title,
body.casf-product-page .casf-product-summary-card h1.product_title {
  max-width: 100% !important;
}

body.casf-product-page .casf-product-summary-card form.cart:not(.variations_form) {
  grid-template-columns: 140px minmax(0, 1fr) !important;
}

body.casf-product-page .casf-product-content-grid,
body.casf-product-page .casf-product-content-grid > * {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-tabs,
body.casf-product-page .casf-product-content-grid .related.products,
body.casf-product-page .casf-product-content-grid .up-sells,
body.casf-product-page .casf-product-content-grid .upsells {
  align-self: stretch !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel > * {
  max-width: 100% !important;
}

@media (max-width: 980px) {
  body.casf-product-page .woocommerce div.product .casf-product-main,
  body.casf-product-page .casf-product-main {
    grid-template-columns: 1fr !important;
  }

  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__wrapper,
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image,
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
    min-height: 0 !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .woocommerce div.product.casf-product-axis,
  body.casf-product-page .casf-product-axis {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }
}

/* v1.0.32 — product top shell closer to preview: larger real gallery + wider summary */
body.casf-product-page .woocommerce div.product.casf-product-axis,
body.casf-product-page .casf-product-axis {
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: min(1200px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  gap: 24px !important;
}

body.casf-product-page .woocommerce div.product .casf-product-main,
body.casf-product-page .casf-product-main {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr) !important;
  gap: 30px !important;
  align-items: start !important;
}

body.casf-product-page .casf-product-main > .casf-product-gallery-card,
body.casf-product-page .casf-product-main > .casf-product-summary-card {
  min-width: 0 !important;
  max-width: none !important;
}

body.casf-product-page .woocommerce div.product .casf-product-gallery-card,
body.casf-product-page .casf-product-gallery-card {
  padding: 20px !important;
  width: 100% !important;
  align-self: start !important;
}

body.casf-product-page .woocommerce div.product .summary.entry-summary.casf-product-summary-card,
body.casf-product-page .woocommerce div.product div.summary.casf-product-summary-card,
body.casf-product-page .casf-product-summary-card {
  width: 100% !important;
  max-width: none !important;
  padding: 28px !important;
  align-self: start !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery,
body.casf-product-page .woocommerce div.product div.images,
body.casf-product-page .woocommerce div.product div.images .woocommerce-product-gallery {
  width: 100% !important;
  max-width: 100% !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__wrapper,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
  width: 100% !important;
  max-width: 100% !important;
  min-height: clamp(340px, 38vw, 520px) !important;
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 22px !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image img,
body.casf-product-page .casf-product-gallery-card img.wp-post-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 18px !important;
}

body.casf-product-page .casf-product-gallery-card .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

body.casf-product-page .casf-product-gallery-card .flex-control-thumbs li,
body.casf-product-page .casf-product-gallery-card .flex-control-thumbs img {
  width: 100% !important;
  float: none !important;
}

body.casf-product-page .casf-product-summary-card .product_title,
body.casf-product-page .casf-product-summary-card h1.product_title {
  font-size: clamp(32px, 3.2vw, 46px) !important;
  line-height: 1.03 !important;
  letter-spacing: -.065em !important;
  max-width: 100% !important;
}

body.casf-product-page .casf-product-summary-card .woocommerce-product-details__short-description,
body.casf-product-page .casf-product-summary-card .woocommerce-product-details__short-description p {
  max-width: 100% !important;
}

body.casf-product-page .casf-product-summary-card form.cart,
body.casf-product-page .casf-product-summary-card form.cart:not(.variations_form),
body.casf-product-page .casf-product-summary-card form.cart .woocommerce-variation-add-to-cart {
  width: 100% !important;
  max-width: 100% !important;
}

body.casf-product-page .casf-product-content-grid,
body.casf-product-page .casf-product-content-grid .woocommerce-tabs,
body.casf-product-page .casf-product-content-grid .related.products,
body.casf-product-page .casf-product-content-grid .up-sells,
body.casf-product-page .casf-product-content-grid .upsells {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 1100px) {
  body.casf-product-page .woocommerce div.product .casf-product-main,
  body.casf-product-page .casf-product-main {
    grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr) !important;
    gap: 24px !important;
  }

  body.casf-product-page .casf-product-summary-card {
    padding: 24px !important;
  }

  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__wrapper,
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image,
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
    min-height: clamp(300px, 36vw, 440px) !important;
  }
}

@media (max-width: 900px) {
  body.casf-product-page .woocommerce div.product .casf-product-main,
  body.casf-product-page .casf-product-main {
    grid-template-columns: 1fr !important;
  }

  body.casf-product-page .casf-product-gallery-card {
    position: static !important;
  }
}

/* v1.0.33 — single product polish: cleaner top card, centered gallery, no duplicate breadcrumb */
body.casf-product-page .casf-product-summary-card .woocommerce-breadcrumb,
body.casf-product-page .casf-product-summary-card nav.woocommerce-breadcrumb,
body.casf-product-page .casf-product-summary-card .ast-breadcrumbs,
body.casf-product-page .casf-product-summary-card .rank-math-breadcrumb,
body.casf-product-page .casf-product-summary-card .yoast-breadcrumb {
  display: none !important;
}

body.casf-product-page .casf-product-main {
  align-items: start !important;
}

body.casf-product-page .casf-product-gallery-card {
  display: grid !important;
  align-content: start !important;
  justify-items: stretch !important;
  min-height: 0 !important;
  padding: 22px !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery {
  display: grid !important;
  gap: 14px !important;
  align-items: start !important;
  justify-items: stretch !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__wrapper {
  display: grid !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 0 !important;
  min-height: 0 !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
  min-height: clamp(330px, 32vw, 460px) !important;
  width: 100% !important;
  display: grid !important;
  align-items: center !important;
  justify-items: center !important;
  place-items: center !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image img,
body.casf-product-page .casf-product-gallery-card img.wp-post-image {
  width: auto !important;
  height: auto !important;
  max-width: min(100%, 440px) !important;
  max-height: min(100%, 440px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  padding: 14px !important;
}

body.casf-product-page .casf-product-gallery-card .flex-viewport,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__trigger + .flex-viewport {
  width: 100% !important;
  border-radius: 22px !important;
}

body.casf-product-page .casf-product-gallery-card .flex-control-thumbs {
  grid-template-columns: repeat(auto-fit, minmax(72px, 92px)) !important;
  justify-content: start !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

body.casf-product-page .casf-product-gallery-card .flex-control-thumbs li {
  max-width: 92px !important;
}

body.casf-product-page .casf-product-gallery-card .flex-control-thumbs img {
  width: 92px !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

body.casf-product-page .casf-product-summary-card {
  gap: 14px !important;
  padding: 26px !important;
}

body.casf-product-page .casf-product-summary-card .posted_in,
body.casf-product-page .casf-product-summary-card .tagged_as,
body.casf-product-page .casf-product-summary-card .sku_wrapper {
  line-height: 1.45 !important;
}

body.casf-product-page .casf-product-summary-card .product_title,
body.casf-product-page .casf-product-summary-card h1.product_title {
  margin-top: 2px !important;
  margin-bottom: 0 !important;
}

body.casf-product-page .casf-product-summary-card .woocommerce-product-rating {
  margin-top: -2px !important;
}

body.casf-product-page .casf-product-summary-card p.price,
body.casf-product-page .casf-product-summary-card .price {
  margin-top: 4px !important;
}

body.casf-product-page .casf-product-summary-card .woocommerce-product-details__short-description {
  max-height: none !important;
  overflow: visible !important;
}

body.casf-product-page .casf-product-summary-card form.cart {
  margin-top: 2px !important;
}

@media (min-width: 981px) {
  body.casf-product-page .casf-product-main {
    grid-template-columns: minmax(390px, 520px) minmax(0, 1fr) !important;
    gap: 30px !important;
  }
}

@media (min-width: 1200px) {
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image,
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
    min-height: 430px !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-product-gallery-card {
    padding: 16px !important;
  }

  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image,
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
    min-height: 280px !important;
  }

  body.casf-product-page .casf-product-summary-card {
    padding: 20px !important;
  }
}

/* v1.0.34 — gallery reset: avoid oversized/hidden main image after polish pass */
body.casf-product-page .casf-product-main {
  grid-template-columns: minmax(340px, 470px) minmax(0, 1fr) !important;
  gap: 28px !important;
}

body.casf-product-page .casf-product-gallery-card {
  padding: 18px !important;
  align-content: start !important;
  min-height: 0 !important;
}

/* Do not turn FlexSlider wrapper into a CSS grid; that can hide the active image. */
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery,
body.casf-product-page .casf-product-gallery-card .flex-viewport,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #ECFDF5, #FFFFFF) !important;
  border: 1px solid #D8F3EC !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: clamp(300px, 28vw, 390px) !important;
  aspect-ratio: auto !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image img,
body.casf-product-page .casf-product-gallery-card img.wp-post-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 340px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 16px !important;
}

body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__trigger {
  z-index: 8 !important;
}

body.casf-product-page .casf-product-gallery-card .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(64px, 78px)) !important;
  justify-content: start !important;
  gap: 10px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

body.casf-product-page .casf-product-gallery-card .flex-control-thumbs li {
  width: 78px !important;
  max-width: 78px !important;
  float: none !important;
  margin: 0 !important;
}

body.casf-product-page .casf-product-gallery-card .flex-control-thumbs img {
  width: 78px !important;
  height: 78px !important;
  max-width: 78px !important;
  max-height: 78px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 6px !important;
  background: #fff !important;
  border: 1px solid var(--casf-border) !important;
  border-radius: 14px !important;
}

@media (min-width: 1200px) {
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
    height: 380px !important;
  }

  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image img,
  body.casf-product-page .casf-product-gallery-card img.wp-post-image {
    max-height: 330px !important;
  }
}

@media (max-width: 980px) {
  body.casf-product-page .casf-product-main {
    grid-template-columns: 1fr !important;
  }

  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
    height: clamp(280px, 62vw, 430px) !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image a {
    height: 300px !important;
    padding: 12px !important;
  }

  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image img,
  body.casf-product-page .casf-product-gallery-card img.wp-post-image {
    max-height: 260px !important;
  }
}

/* v1.0.35 — stable custom product gallery, no FlexSlider blank columns */
body.casf-product-page .casf-product-gallery-card {
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
  padding: 18px !important;
}

body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery,
body.casf-product-page .casf-product-gallery-card > div.images,
body.casf-product-page .casf-product-gallery-card .flex-viewport,
body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__wrapper {
  display: none !important;
}

body.casf-product-page .casf-custom-gallery {
  width: 100%;
  max-width: 100%;
  display: grid;
  gap: 14px;
}

body.casf-product-page .casf-custom-gallery-main {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 460px;
  min-height: 320px;
  border-radius: 22px;
  border: 1px solid #D8F3EC;
  background: linear-gradient(135deg, #ECFDF5, #FFFFFF);
  display: grid;
  place-items: center;
  overflow: hidden;
  box-sizing: border-box;
}

body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  box-sizing: border-box;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 400px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.casf-product-page .casf-custom-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(72px, 86px));
  gap: 10px;
  justify-content: start;
  align-items: center;
}

body.casf-product-page .casf-custom-gallery-thumb {
  width: 86px;
  max-width: 86px;
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  border: 1px solid var(--casf-border);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  overflow: hidden;
  box-sizing: border-box;
  text-decoration: none !important;
}

body.casf-product-page .casf-custom-gallery-thumb.is-active,
body.casf-product-page .casf-custom-gallery-thumb:hover {
  border-color: rgba(27,156,133,.48);
  background: #ECFDF5;
  box-shadow: 0 8px 18px rgba(27,156,133,.12);
}

body.casf-product-page .casf-custom-gallery-thumb-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

@media (min-width: 981px) {
  body.casf-product-page .casf-product-main {
    grid-template-columns: minmax(360px, 470px) minmax(0, 1fr) !important;
    gap: 28px !important;
  }
}

@media (max-width: 980px) {
  body.casf-product-page .casf-custom-gallery-main {
    max-height: none;
    min-height: 280px;
  }

  body.casf-product-page .casf-custom-gallery-main-image,
  body.casf-product-page .casf-custom-gallery-placeholder img {
    max-height: 420px !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-custom-gallery-main {
    min-height: 260px;
  }

  body.casf-product-page .casf-custom-gallery-main-link,
  body.casf-product-page .casf-custom-gallery-placeholder {
    padding: 12px;
  }

  body.casf-product-page .casf-custom-gallery-thumbs {
    grid-template-columns: repeat(auto-fit, minmax(62px, 74px));
  }

  body.casf-product-page .casf-custom-gallery-thumb {
    width: 74px;
    max-width: 74px;
  }
}

/* v1.0.36 — product page parity with the approved HTML preview */
body.casf-product-page .woocommerce div.product.casf-product-axis,
body.casf-product-page .casf-product-axis {
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: min(1200px, calc(100vw - 48px)) !important;
  margin: -20px auto 72px !important;
  display: grid !important;
  gap: 24px !important;
}

body.casf-product-page .woocommerce div.product .casf-product-main,
body.casf-product-page .casf-product-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr) !important;
  gap: 26px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.casf-product-page .casf-product-gallery-card,
body.casf-product-page .casf-product-summary-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  border-radius: var(--casf-radius-lg) !important;
  box-shadow: var(--casf-shadow) !important;
  box-sizing: border-box !important;
}

body.casf-product-page .casf-product-gallery-card {
  padding: 18px !important;
  position: sticky !important;
  top: 20px !important;
}

body.casf-product-page .casf-custom-gallery {
  display: grid !important;
  gap: 14px !important;
}

body.casf-product-page .casf-custom-gallery-main {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  max-height: none !important;
  border-radius: 22px !important;
  border: 1px solid #D8F3EC !important;
  background: radial-gradient(circle at top right, rgba(27,156,133,.14), transparent 34%), linear-gradient(135deg, #ECFDF5, #FFFFFF) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 26px !important;
  box-sizing: border-box !important;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.casf-product-page .casf-custom-gallery-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  justify-content: stretch !important;
  align-items: center !important;
}

body.casf-product-page .casf-custom-gallery-thumb {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 16px !important;
  padding: 7px !important;
}

body.casf-product-page .casf-custom-gallery-thumb-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

body.casf-product-page .casf-product-summary-card {
  padding: 24px !important;
  gap: 18px !important;
  display: grid !important;
  align-content: start !important;
}

/* Match the preview: only the top breadcrumb pill stays visible. */
body.casf-product-page .casf-product-summary-card .woocommerce-breadcrumb,
body.casf-product-page .casf-product-summary-card nav.woocommerce-breadcrumb,
body.casf-product-page .casf-product-summary-card .ast-breadcrumbs,
body.casf-product-page .casf-product-summary-card .rank-math-breadcrumb,
body.casf-product-page .casf-product-summary-card .yoast-breadcrumb,
body.casf-product-page .casf-product-summary-card .ast-woo-product-category,
body.casf-product-page .casf-product-summary-card .product_meta,
body.casf-product-page .casf-product-summary-card .posted_in,
body.casf-product-page .casf-product-summary-card .tagged_as,
body.casf-product-page .casf-product-summary-card .sku_wrapper {
  display: none !important;
}

body.casf-product-page .casf-product-summary-card .product_title,
body.casf-product-page .casf-product-summary-card h1.product_title {
  font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1.03 !important;
  letter-spacing: -0.07em !important;
  margin: 0 !important;
}

body.casf-product-page .casf-product-summary-card .woocommerce-product-rating {
  margin: 0 !important;
}

body.casf-product-page .casf-product-summary-card .price,
body.casf-product-page .casf-product-summary-card p.price {
  padding: 16px !important;
  border-radius: 18px !important;
  font-size: 34px !important;
  line-height: 1 !important;
  background: var(--casf-card-soft) !important;
  border: 1px solid var(--casf-border) !important;
}

body.casf-product-page .casf-product-summary-card form.cart {
  border-radius: 22px !important;
  padding: 16px !important;
  background: radial-gradient(circle at top right, rgba(27,156,133,.10), transparent 35%), #FFFFFF !important;
}

body.casf-product-page .casf-product-summary-card form.cart .woocommerce-variation-add-to-cart,
body.casf-product-page .casf-product-summary-card form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 138px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
}

body.casf-product-page .casf-product-summary-card form.cart .quantity,
body.casf-product-page .casf-product-summary-card form.cart .quantity input.qty {
  margin: 0 !important;
}

body.casf-product-page .casf-product-summary-card form.cart .single_add_to_cart_button,
body.casf-product-page .casf-product-summary-card form.cart button.single_add_to_cart_button,
body.casf-product-page .casf-product-summary-card form.cart .button {
  min-height: 54px !important;
  width: 100% !important;
}

body.casf-product-page .casf-product-benefit-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.casf-product-page .casf-product-content-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 24px !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-tabs,
body.casf-product-page .casf-product-content-grid .related.products,
body.casf-product-page .casf-product-content-grid .up-sells,
body.casf-product-page .casf-product-content-grid .upsells {
  border-radius: var(--casf-radius-lg) !important;
  overflow: hidden !important;
}

@media (max-width: 980px) {
  body.casf-product-page .woocommerce div.product .casf-product-main,
  body.casf-product-page .casf-product-main {
    grid-template-columns: 1fr !important;
  }

  body.casf-product-page .casf-product-gallery-card {
    position: static !important;
  }

  body.casf-product-page .casf-product-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .woocommerce div.product.casf-product-axis,
  body.casf-product-page .casf-product-axis {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }

  body.casf-product-page .casf-product-summary-card form.cart .woocommerce-variation-add-to-cart,
  body.casf-product-page .casf-product-summary-card form.cart:not(.variations_form),
  body.casf-product-page .casf-product-benefit-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.0.37 — final single-product parity pass: add-to-cart row + cleaner gallery proportions */
body.casf-product-page .casf-product-summary-card .ast-woo-product-category,
body.casf-product-page .casf-product-summary-card .woocommerce-product-category,
body.casf-product-page .casf-product-summary-card .product-category,
body.casf-product-page .casf-product-summary-card .cat-links,
body.casf-product-page .casf-product-summary-card .posted_in,
body.casf-product-page .casf-product-summary-card .tagged_as,
body.casf-product-page .casf-product-summary-card .sku_wrapper,
body.casf-product-page .casf-product-summary-card .product_meta,
body.casf-product-page .casf-product-summary-card > p:has(a[rel="tag"]),
body.casf-product-page .casf-product-summary-card > div:has(a[rel="tag"]) {
  display: none !important;
}

body.casf-product-page .casf-product-gallery-card {
  padding: 18px !important;
}

body.casf-product-page .casf-custom-gallery-main {
  min-height: 0 !important;
  max-height: none !important;
}

body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder {
  padding: 26px !important;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img {
  width: auto !important;
  height: auto !important;
  max-width: 78% !important;
  max-height: 78% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

body.casf-product-page .casf-custom-gallery-thumbs {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.casf-product-page .casf-custom-gallery-thumb {
  min-height: 0 !important;
  border-radius: 16px !important;
  padding: 8px !important;
}

body.casf-product-page .casf-custom-gallery-thumb-image {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

body.casf-product-page .casf-product-summary-card form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.casf-product-page .casf-product-summary-card form.cart .variations,
body.casf-product-page .casf-product-summary-card form.cart .woocommerce-variation-description,
body.casf-product-page .casf-product-summary-card form.cart .woocommerce-variation-price,
body.casf-product-page .casf-product-summary-card form.cart .woocommerce-variation-availability,
body.casf-product-page .casf-product-summary-card form.cart .single_variation,
body.casf-product-page .casf-product-summary-card form.cart .reset_variations,
body.casf-product-page .casf-product-summary-card form.cart .wc-points-rewards-product-message,
body.casf-product-page .casf-product-summary-card form.cart .yith-par-message,
body.casf-product-page .casf-product-summary-card form.cart .yith-par-message-product,
body.casf-product-page .casf-product-summary-card form.cart .woocommerce-info,
body.casf-product-page .casf-product-summary-card form.cart .woocommerce-message {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.casf-product-page .casf-product-summary-card form.cart .woocommerce-variation-add-to-cart,
body.casf-product-page .casf-product-summary-card form.cart:not(.variations_form) {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.casf-product-page .casf-product-summary-card form.cart .quantity {
  order: 1 !important;
  flex: 0 0 138px !important;
  width: 138px !important;
  max-width: 138px !important;
  min-width: 138px !important;
  float: none !important;
  margin: 0 !important;
}

body.casf-product-page .casf-product-summary-card form.cart .quantity input.qty {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.casf-product-page .casf-product-summary-card form.cart .single_add_to_cart_button,
body.casf-product-page .casf-product-summary-card form.cart button.single_add_to_cart_button,
body.casf-product-page .casf-product-summary-card form.cart .button.single_add_to_cart_button {
  order: 2 !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  white-space: normal !important;
}

body.casf-product-page .casf-product-summary-card form.cart input[type="hidden"] {
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

@media (max-width: 640px) {
  body.casf-product-page .casf-product-summary-card form.cart .woocommerce-variation-add-to-cart,
  body.casf-product-page .casf-product-summary-card form.cart:not(.variations_form) {
    flex-wrap: wrap !important;
  }

  body.casf-product-page .casf-product-summary-card form.cart .quantity,
  body.casf-product-page .casf-product-summary-card form.cart .single_add_to_cart_button,
  body.casf-product-page .casf-product-summary-card form.cart button.single_add_to_cart_button,
  body.casf-product-page .casf-product-summary-card form.cart .button.single_add_to_cart_button {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.casf-product-page .casf-custom-gallery-main-image,
  body.casf-product-page .casf-custom-gallery-placeholder img {
    max-width: 86% !important;
    max-height: 86% !important;
  }
}


/* v1.0.38 — restore large main gallery + single-line thumbnail slice */
body.casf-product-page .casf-product-gallery-card {
  padding: 18px !important;
}

body.casf-product-page .casf-custom-gallery {
  gap: 14px !important;
}

body.casf-product-page .casf-custom-gallery-main {
  aspect-ratio: 1 / 1 !important;
  min-height: 430px !important;
  max-height: 560px !important;
  border-radius: 22px !important;
  background: radial-gradient(circle at top right, rgba(27,156,133,.12), transparent 34%), linear-gradient(135deg, #ECFDF5, #FFFFFF) !important;
}

body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder {
  padding: 22px !important;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img {
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Thumbnail "slice": one horizontal line, never stacked on desktop/tablet */
body.casf-product-page .casf-custom-gallery-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 2px 8px !important;
  margin-top: 14px !important;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

body.casf-product-page .casf-custom-gallery-thumbs::-webkit-scrollbar {
  height: 7px;
}

body.casf-product-page .casf-custom-gallery-thumbs::-webkit-scrollbar-track {
  background: #F3F4F6;
  border-radius: 999px;
}

body.casf-product-page .casf-custom-gallery-thumbs::-webkit-scrollbar-thumb {
  background: #BDEBE3;
  border-radius: 999px;
}

body.casf-product-page .casf-custom-gallery-thumb {
  flex: 0 0 96px !important;
  width: 96px !important;
  max-width: 96px !important;
  height: 96px !important;
  min-height: 96px !important;
  aspect-ratio: 1 / 1 !important;
  scroll-snap-align: start;
  border-radius: 16px !important;
  padding: 8px !important;
}

body.casf-product-page .casf-custom-gallery-thumb-image {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

/* The wishlist action is the wishlist; do not make a second "favorites" action look separate. */
body.casf-product-page .casf-product-summary-card .yith-wcwl-add-to-wishlist,
body.casf-product-page .casf-product-summary-card .tinv-wraper,
body.casf-product-page .casf-product-summary-card .woosw-btn,
body.casf-product-page .casf-product-summary-card .wishlist-fragment {
  margin-top: 0 !important;
}

@media (max-width: 980px) {
  body.casf-product-page .casf-custom-gallery-main {
    min-height: 360px !important;
    max-height: none !important;
  }

  body.casf-product-page .casf-custom-gallery-thumb {
    flex-basis: 86px !important;
    width: 86px !important;
    max-width: 86px !important;
    height: 86px !important;
    min-height: 86px !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-custom-gallery-main {
    min-height: 300px !important;
  }

  body.casf-product-page .casf-custom-gallery-main-link,
  body.casf-product-page .casf-custom-gallery-placeholder {
    padding: 14px !important;
  }

  body.casf-product-page .casf-custom-gallery-main-image,
  body.casf-product-page .casf-custom-gallery-placeholder img {
    max-width: 94% !important;
    max-height: 94% !important;
  }

  body.casf-product-page .casf-custom-gallery-thumb {
    flex-basis: 74px !important;
    width: 74px !important;
    max-width: 74px !important;
    height: 74px !important;
    min-height: 74px !important;
  }
}

/* Legacy gallery rules overridden by v1.0.41 */
body.casf-product-page .casf-product-gallery-card {
  padding: 18px !important;
}

body.casf-product-page .casf-custom-gallery-main {
  min-height: clamp(430px, 42vw, 600px) !important;
  max-height: 620px !important;
}

body.casf-product-page .casf-custom-gallery-main-frame,
body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder {
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  display: grid !important;
  place-items: center !important;
  padding: 22px !important;
  cursor: default !important;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img {
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

body.casf-product-page .casf-custom-gallery-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  overflow: visible !important;
  padding: 0 !important;
  margin-top: 14px !important;
}

body.casf-product-page .casf-custom-gallery-thumb:nth-child(n+5) {
  display: none !important;
}

body.casf-product-page .casf-custom-gallery-thumb {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid var(--casf-border) !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 8px !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: none !important;
}

body.casf-product-page .casf-custom-gallery-thumb.is-active,
body.casf-product-page .casf-custom-gallery-thumb:hover,
body.casf-product-page .casf-custom-gallery-thumb:focus-visible {
  border-color: rgba(27,156,133,.48) !important;
  background: #ECFDF5 !important;
  box-shadow: 0 8px 18px rgba(27,156,133,.12) !important;
  outline: none !important;
}

body.casf-product-page .casf-custom-gallery-thumb-image {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  pointer-events: none !important;
}

/* Product information section — closer to CraftArt cards, less native Woo text dump */
body.casf-product-page .casf-product-content-grid .woocommerce-tabs {
  background: #fff !important;
  border: 1px solid var(--casf-border) !important;
  border-radius: var(--casf-radius-lg) !important;
  box-shadow: var(--casf-shadow) !important;
  overflow: hidden !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  background: var(--casf-card-soft) !important;
  border-bottom: 1px solid var(--casf-border) !important;
  padding: 18px 22px !important;
  margin: 0 !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-tabs ul.tabs::before {
  content: 'Información del producto' !important;
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  position: static !important;
  border: 0 !important;
  margin: 0 0 8px !important;
  color: var(--casf-text) !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.04em !important;
  font-weight: 950 !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel {
  padding: 24px !important;
  color: var(--casf-muted) !important;
  font-size: 15px !important;
  line-height: 1.74 !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel > h2:first-child {
  display: none !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel p {
  margin: 0 0 16px !important;
  color: var(--casf-muted) !important;
  line-height: 1.74 !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel strong,
body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel b {
  color: var(--casf-text) !important;
  font-weight: 900 !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel ul,
body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel ol {
  margin: 10px 0 18px !important;
  padding-left: 22px !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel li {
  margin: 7px 0 !important;
  padding-left: 2px !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel li::marker {
  color: var(--casf-primary) !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel table.shop_attributes {
  border: 1px solid var(--casf-border) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  display: table !important;
  width: 100% !important;
  background: #fff !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel table.shop_attributes th,
body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel table.shop_attributes td {
  border-color: #EDF2F7 !important;
  padding: 14px 16px !important;
  background: transparent !important;
}

body.casf-product-page .casf-product-content-grid .woocommerce-Tabs-panel table.shop_attributes th {
  color: var(--casf-text) !important;
  font-weight: 900 !important;
}

@media (max-width: 980px) {
  body.casf-product-page .casf-custom-gallery-main {
    min-height: 380px !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-custom-gallery-main {
    min-height: 300px !important;
  }

  body.casf-product-page .casf-custom-gallery-main-frame,
  body.casf-product-page .casf-custom-gallery-main-link,
  body.casf-product-page .casf-custom-gallery-placeholder {
    padding: 14px !important;
  }

  body.casf-product-page .casf-custom-gallery-thumbs {
    gap: 8px !important;
  }
}

/* v1.0.41 — native WooCommerce/WP lightbox, 4-visible thumbnail slider and white product page background */
body.casf-product-page,
body.single-product,
body.casf-product-page #page,
body.casf-product-page .site,
body.casf-product-page .site-content,
body.casf-product-page .ast-container,
body.casf-product-page .content-area,
body.casf-product-page .site-main {
  background: #fff !important;
}

body.casf-product-page .casf-product-axis,
body.casf-product-page .casf-product-main,
body.casf-product-page .casf-product-content-grid {
  background: transparent !important;
}

body.casf-product-page .casf-custom-gallery-main-frame,
body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder {
  cursor: zoom-in !important;
}

body.casf-product-page .casf-custom-gallery-main-link {
  color: inherit !important;
  text-decoration: none !important;
}

body.casf-product-page .casf-custom-gallery-thumbs-wrap {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

body.casf-product-page .casf-custom-gallery-thumbs-wrap.no-slider {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.casf-product-page .casf-custom-gallery-thumbs {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 36px) / 4) !important;
  grid-template-columns: none !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 2px 1px 8px !important;
  margin: 0 !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
}

body.casf-product-page .casf-custom-gallery-thumb:nth-child(n+5) {
  display: grid !important;
}

body.casf-product-page .casf-custom-gallery-thumb {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  scroll-snap-align: start !important;
}

body.casf-product-page .casf-custom-gallery-thumbs::-webkit-scrollbar {
  height: 8px !important;
}

body.casf-product-page .casf-custom-gallery-thumbs::-webkit-scrollbar-track {
  background: #F3F4F6 !important;
  border-radius: 999px !important;
}

body.casf-product-page .casf-custom-gallery-thumbs::-webkit-scrollbar-thumb {
  background: rgba(27, 156, 133, .42) !important;
  border-radius: 999px !important;
}

body.casf-product-page .casf-custom-gallery-nav {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(27, 156, 133, .22) !important;
  background: #fff !important;
  color: var(--casf-primary, #1B9C85) !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .08) !important;
  cursor: pointer !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, opacity .16s ease !important;
}

body.casf-product-page .casf-custom-gallery-nav:hover,
body.casf-product-page .casf-custom-gallery-nav:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(27, 156, 133, .48) !important;
  box-shadow: 0 16px 30px rgba(27, 156, 133, .14) !important;
  outline: none !important;
}

body.casf-product-page .casf-custom-gallery-nav:disabled {
  opacity: .38 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

@media (max-width: 640px) {
  body.casf-product-page .casf-custom-gallery-thumbs-wrap {
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 8px !important;
  }

  body.casf-product-page .casf-custom-gallery-thumbs-wrap.no-slider {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.casf-product-page .casf-custom-gallery-thumbs {
    grid-auto-columns: calc((100% - 24px) / 4) !important;
    gap: 8px !important;
  }

  body.casf-product-page .casf-custom-gallery-nav {
    width: 34px !important;
    height: 34px !important;
    font-size: 23px !important;
  }
}

/* v1.0.42 — keep all WooCommerce gallery images in the native wrapper for PhotoSwipe, but show only the selected one visually */
body.casf-product-page .casf-custom-gallery-main-frame {
  display: none !important;
}

body.casf-product-page .casf-custom-gallery-main-frame.is-active {
  display: grid !important;
}

/* v1.0.44 — fix gallery hidden by legacy native-wrapper reset.
   The custom main gallery intentionally keeps WooCommerce's wrapper class so PhotoSwipe can read every image. */
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main.woocommerce-product-gallery__wrapper,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: clamp(430px, 42vw, 600px) !important;
  overflow: hidden !important;
}

body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main.woocommerce-product-gallery__wrapper .casf-custom-gallery-main-frame {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main.woocommerce-product-gallery__wrapper .casf-custom-gallery-main-frame.is-active {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main.woocommerce-product-gallery__wrapper .casf-custom-gallery-main-link {
  cursor: zoom-in !important;
}

@media (max-width: 980px) {
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main.woocommerce-product-gallery__wrapper,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
    min-height: 380px !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main.woocommerce-product-gallery__wrapper,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
    min-height: 300px !important;
  }
}

/* v1.0.45 — hard fix: show CraftArt gallery even when old Woo gallery-reset rules exist */
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery,
body.casf-product-page .woocommerce div.product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  position: relative !important;
  overflow: visible !important;
}

body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper,
body.casf-product-page .woocommerce div.product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 430px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-frame,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-frame {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  margin: 0 !important;
}

body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-frame.is-active,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-frame.is-active {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  place-items: center !important;
}

body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-link,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-link {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
}

body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
}

body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-thumbs-wrap,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-thumbs-wrap,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-thumbs,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-thumbs,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-thumb,
body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-thumb {
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 980px) {
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper,
  body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
    min-height: 360px !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper,
  body.single-product .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
    min-height: 300px !important;
  }
}

/* v1.0.47 — native WooCommerce gallery for reliable WP/Woo lightbox. */
body.single-product,
body.casf-product-page,
body.single-product #page,
body.single-product .site,
body.single-product .site-content,
body.single-product .ast-container,
body.single-product .content-area,
body.single-product .site-main {
  background: #fff !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery),
body.single-product .woocommerce div.product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery),
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery),
body.casf-product-page .woocommerce div.product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  overflow: visible !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__trigger,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__trigger {
  top: 22px !important;
  right: 22px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(229, 231, 235, .95) !important;
  background: rgba(255, 255, 255, .92) !important;
  color: #111827 !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .10) !important;
  z-index: 8 !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-viewport,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-viewport {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: clamp(430px, 42vw, 600px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  border-radius: 24px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .055) !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__wrapper,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__wrapper {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: inherit !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image {
  visibility: visible !important;
  opacity: 1 !important;
  min-height: clamp(430px, 42vw, 600px) !important;
  margin: 0 !important;
  background: #fff !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image a,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: clamp(430px, 42vw, 600px) !important;
  padding: 28px !important;
  cursor: zoom-in !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image img,
body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) img.wp-post-image,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image img,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) img.wp-post-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  max-width: 94% !important;
  max-height: 540px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 36px) / 4) !important;
  grid-template-columns: none !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 14px 0 0 !important;
  padding: 2px 1px 8px !important;
  list-style: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs::-webkit-scrollbar,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs::-webkit-scrollbar {
  height: 8px !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs::-webkit-scrollbar-track,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs::-webkit-scrollbar-track {
  background: #F3F4F6 !important;
  border-radius: 999px !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs::-webkit-scrollbar-thumb,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs::-webkit-scrollbar-thumb {
  background: rgba(27, 156, 133, .42) !important;
  border-radius: 999px !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs li,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs li {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs img,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  padding: 8px !important;
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  border-radius: 16px !important;
  background: #fff !important;
  opacity: 1 !important;
  cursor: pointer !important;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs img.flex-active,
body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs img:hover,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs img.flex-active,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs img:hover {
  border-color: rgba(27, 156, 133, .52) !important;
  background: #ECFDF5 !important;
  box-shadow: 0 8px 18px rgba(27, 156, 133, .12) !important;
}

body.single-product .casf-native-thumbs-shell,
body.casf-product-page .casf-native-thumbs-shell {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 14px !important;
}

body.single-product .casf-native-thumbs-shell .flex-control-nav.flex-control-thumbs,
body.casf-product-page .casf-native-thumbs-shell .flex-control-nav.flex-control-thumbs {
  margin-top: 0 !important;
}

body.single-product .casf-native-thumbs-nav,
body.casf-product-page .casf-native-thumbs-nav {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(27, 156, 133, .22) !important;
  background: #fff !important;
  color: var(--casf-primary, #1B9C85) !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .08) !important;
  cursor: pointer !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, opacity .16s ease !important;
}

body.single-product .casf-native-thumbs-nav:hover,
body.single-product .casf-native-thumbs-nav:focus-visible,
body.casf-product-page .casf-native-thumbs-nav:hover,
body.casf-product-page .casf-native-thumbs-nav:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(27, 156, 133, .48) !important;
  box-shadow: 0 16px 30px rgba(27, 156, 133, .14) !important;
  outline: none !important;
}

body.single-product .casf-native-thumbs-nav:disabled,
body.casf-product-page .casf-native-thumbs-nav:disabled {
  opacity: .38 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

@media (max-width: 980px) {
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-viewport,
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image,
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image a,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-viewport,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image a {
    min-height: 380px !important;
  }
}

@media (max-width: 640px) {
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-viewport,
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image,
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image a,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-viewport,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image a {
    min-height: 300px !important;
  }

  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image a,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .woocommerce-product-gallery__image a {
    padding: 16px !important;
  }

  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery) .flex-control-nav.flex-control-thumbs {
    grid-auto-columns: calc((100% - 24px) / 4) !important;
    gap: 8px !important;
  }

  body.single-product .casf-native-thumbs-shell,
  body.casf-product-page .casf-native-thumbs-shell {
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 8px !important;
  }

  body.single-product .casf-native-thumbs-nav,
  body.casf-product-page .casf-native-thumbs-nav {
    width: 34px !important;
    height: 34px !important;
    font-size: 23px !important;
  }
}

/* v1.0.47 fix: when Woo FlexSlider has not booted, keep one large main image instead of a grid. */
body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider),
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) {
  display: block !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper {
  display: block !important;
  width: 100% !important;
  min-height: clamp(430px, 42vw, 600px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  border-radius: 24px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .055) !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(430px, 42vw, 600px) !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: both !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child),
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
  display: none !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child a,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: clamp(430px, 42vw, 600px) !important;
  padding: 28px !important;
  cursor: zoom-in !important;
}

body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child img,
body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 94% !important;
  max-height: 540px !important;
  object-fit: contain !important;
  margin: auto !important;
}

@media (max-width: 980px) {
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper,
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child a,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child a {
    min-height: 380px !important;
  }
}

@media (max-width: 640px) {
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper,
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
  body.single-product .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child a,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
  body.casf-product-page .casf-product-gallery-card > .woocommerce-product-gallery:not(.casf-custom-gallery):not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child a {
    min-height: 300px !important;
  }
}

/* v1.0.49 final gallery contract: stable custom gallery + WooCommerce bundled PhotoSwipe. */
body.single-product .casf-product-gallery-card > .casf-custom-gallery,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 14px !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-main,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: clamp(430px, 42vw, 600px) !important;
  max-height: 620px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 24px !important;
  border: 1px solid #D8F3EC !important;
  background: linear-gradient(135deg, #ECFDF5, #FFFFFF) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-main-frame,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main-frame {
  display: none !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-main-frame.is-active,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main-frame.is-active {
  display: grid !important;
  place-items: center !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-main-link,
body.single-product .casf-product-gallery-card .casf-custom-gallery-placeholder,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main-link,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-placeholder {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  padding: 26px !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: zoom-in !important;
  box-sizing: border-box !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-main-image,
body.single-product .casf-product-gallery-card .casf-custom-gallery-placeholder img,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main-image,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-placeholder img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 94% !important;
  max-height: 540px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap {
  width: 100% !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.has-slider,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.has-slider {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 10px !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.no-slider,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.no-slider {
  display: block !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumbs,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumbs {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 36px) / 4) !important;
  grid-template-columns: none !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 2px 1px 8px !important;
  margin: 0 !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.no-slider .casf-custom-gallery-thumbs,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.no-slider .casf-custom-gallery-thumbs {
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(76px, 92px) !important;
  justify-content: start !important;
  overflow-x: visible !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumb,
body.single-product .casf-product-gallery-card .casf-custom-gallery-thumb:nth-child(n+5),
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumb,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumb:nth-child(n+5) {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 1 / 1 !important;
  padding: 8px !important;
  border-radius: 16px !important;
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
  cursor: pointer !important;
  scroll-snap-align: start !important;
  box-sizing: border-box !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumb.is-active,
body.single-product .casf-product-gallery-card .casf-custom-gallery-thumb:hover,
body.single-product .casf-product-gallery-card .casf-custom-gallery-thumb:focus-visible,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumb.is-active,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumb:hover,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumb:focus-visible {
  border-color: rgba(27, 156, 133, .52) !important;
  background: #ECFDF5 !important;
  box-shadow: 0 10px 22px rgba(27, 156, 133, .13) !important;
  outline: none !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumb-image,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumb-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  pointer-events: none !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-nav,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-nav {
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(27, 156, 133, .22) !important;
  background: #fff !important;
  color: var(--casf-primary, #1B9C85) !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .08) !important;
  cursor: pointer !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.no-slider .casf-custom-gallery-nav,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.no-slider .casf-custom-gallery-nav {
  display: none !important;
}

body.single-product .casf-product-gallery-card .casf-custom-gallery-nav:disabled,
body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-nav:disabled {
  opacity: .38 !important;
  cursor: not-allowed !important;
}

@media (max-width: 980px) {
  body.single-product .casf-product-gallery-card .casf-custom-gallery-main,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main {
    min-height: 380px !important;
  }
}

@media (max-width: 640px) {
  body.single-product .casf-product-gallery-card .casf-custom-gallery-main,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main {
    min-height: 300px !important;
  }

  body.single-product .casf-product-gallery-card .casf-custom-gallery-main-link,
  body.single-product .casf-product-gallery-card .casf-custom-gallery-placeholder,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-main-link,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-placeholder {
    padding: 16px !important;
  }

  body.single-product .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.has-slider,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumbs-wrap.has-slider {
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 8px !important;
  }

  body.single-product .casf-product-gallery-card .casf-custom-gallery-thumbs,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-thumbs {
    grid-auto-columns: calc((100% - 24px) / 4) !important;
    gap: 8px !important;
  }

  body.single-product .casf-product-gallery-card .casf-custom-gallery-nav,
  body.casf-product-page .casf-product-gallery-card .casf-custom-gallery-nav {
    width: 34px !important;
    height: 34px !important;
    font-size: 23px !important;
  }
}


/* v1.0.50 — real enlargement of the visible main image + prevent excess empty space */
body.casf-product-page .casf-product-main {
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr) !important;
}

body.casf-product-page .casf-product-gallery-card {
  padding: 16px !important;
}

body.casf-product-page .casf-custom-gallery {
  gap: 12px !important;
}

body.casf-product-page .casf-custom-gallery-main,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
  min-height: clamp(560px, 46vw, 780px) !important;
}

body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder {
  padding: 8px !important;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
  width: auto !important;
  height: auto !important;
  max-width: 96% !important;
  max-height: 96% !important;
  transform: scale(1.12) !important;
  transform-origin: center center !important;
}

@media (max-width: 980px) {
  body.casf-product-page .casf-product-main {
    grid-template-columns: 1fr !important;
  }

  body.casf-product-page .casf-custom-gallery-main,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
    min-height: min(82vw, 620px) !important;
  }

  body.casf-product-page .casf-custom-gallery-main-image,
  body.casf-product-page .casf-custom-gallery-placeholder img,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
    transform: scale(1.08) !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-custom-gallery-main,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
    min-height: min(88vw, 480px) !important;
  }

  body.casf-product-page .casf-custom-gallery-main-image,
  body.casf-product-page .casf-custom-gallery-placeholder img,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
    transform: scale(1.02) !important;
  }
}


/* v1.0.52 — keep full-size image but restore soft green gradient background */
body.casf-product-page .casf-custom-gallery-main,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
  min-height: clamp(560px, 46vw, 780px) !important;
  background: radial-gradient(circle at top right, rgba(27,156,133,.16), transparent 34%), linear-gradient(135deg, #ECFDF5 0%, #F4FFFB 48%, #FFFFFF 100%) !important;
}

body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-link {
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 22px !important;
}

@media (max-width: 980px) {
  body.casf-product-page .casf-custom-gallery-main,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
    min-height: min(86vw, 620px) !important;
  }
}

@media (max-width: 640px) {
  body.casf-product-page .casf-custom-gallery-main,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
    min-height: min(92vw, 500px) !important;
  }
}


/* v1.0.53 — restore preview-like gallery gradient exactly in spirit: soft mint diagonal, no solid green frame */
body.casf-product-page .casf-custom-gallery-main,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery > .casf-custom-gallery-main.woocommerce-product-gallery__wrapper {
  min-height: clamp(560px, 46vw, 780px) !important;
  background:
    radial-gradient(circle at 82% 18%, rgba(27,156,133,.10) 0%, rgba(27,156,133,0) 32%),
    linear-gradient(135deg, #ECFDF5 0%, #F3FCF8 42%, #FFFFFF 100%) !important;
  border: 1px solid #D8F3EC !important;
}

body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-link {
  background: transparent !important;
  box-shadow: none !important;
  padding: 18px !important;
  border-radius: 22px !important;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 88% !important;
  max-height: 88% !important;
  object-fit: contain !important;
  background: transparent !important;
  transform: scale(1.03) !important;
  border-radius: 0 !important;
}

@media (max-width: 980px) {
  body.casf-product-page .casf-custom-gallery-main-image,
  body.casf-product-page .casf-custom-gallery-placeholder img,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
    max-width: 90% !important;
    max-height: 90% !important;
    transform: scale(1.01) !important;
  }
}


/* v1.0.54 — enlarge only the main product image; gradient from v1.0.53 stays untouched */
body.casf-product-page .casf-custom-gallery-main-link,
body.casf-product-page .casf-custom-gallery-placeholder,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-link {
  padding: 8px !important;
}

body.casf-product-page .casf-custom-gallery-main-image,
body.casf-product-page .casf-custom-gallery-placeholder img,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
  max-width: 96% !important;
  max-height: 96% !important;
  transform: scale(1.08) !important;
  transform-origin: center center !important;
}

@media (max-width: 980px) {
  body.casf-product-page .casf-custom-gallery-main-image,
  body.casf-product-page .casf-custom-gallery-placeholder img,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery .casf-custom-gallery-main-image,
  body.casf-product-page .casf-product-gallery-card > .casf-custom-gallery.woocommerce-product-gallery img.wp-post-image {
    max-width: 96% !important;
    max-height: 96% !important;
    transform: scale(1.04) !important;
  }
}


/* v1.0.55 — desktop main product image exact height cap requested */
@media (min-width: 1200px) {
  body.casf-product-page .casf-product-gallery-card .woocommerce-product-gallery__image img,
  body.casf-product-page .casf-product-gallery-card img.wp-post-image {
    max-height: 500px !important;
  }
}
