/** Shopify CDN: Minification failed

Line 4159:0 Unexpected "}"

**/
/* CLNF PDP overrides — synced via git/CLI as clnf-product-pdp.css (avoids Shopify “generated asset” lock on product-custom.css). */

:root {
  --font-primary--family: 'Magzo_Alt';
}

.wc_review_head {
  display: none;
}

/* Global: force notify element to look like button when visible - handles app rendering as <a> link */
#pw_notify_popup_open {
  text-decoration: none !important;
  -webkit-appearance: button !important;
  appearance: button !important;
  cursor: pointer !important;
  width: fit-content !important;
  align-items: center;
  padding: 10px 30px;
}

.custom-swatch-box {
  max-width: 380px;
}

.pw_model_popup-content {
  margin: auto !important;
}

/* Constrain product gallery swiper – prevent excessive space and layout snap */
.product-medias__main .swiper-container {
  overflow: hidden;
  aspect-ratio: 1;
}

.product-medias__main .swiper-wrapper {
  min-height: 0;
}

/* Subscriptions app block – prevent theme form-vertical from conflicting with app's custom radio design.
   Theme's .form-vertical input[type="radio"] (border, display) causes dual radio appearance.
   App uses custom_radio_button with custom visual; native input visually hidden, label remains clickable. */
.form-vertical .clnf-shopify-subscriptions-root .plan_card input[type="radio"],
.form-vertical .clnf-shopify-subscriptions-root .group_list_item.custom_radio_button input[type="radio"],
.form-vertical .clnf-shopify-subscriptions-root div[id*="subscriptions_app_block"] input[type="radio"],
.form-vertical .plan_card input[type="radio"],
.form-vertical .group_list_item.custom_radio_button input[type="radio"],
.form-vertical div[id*="subscriptions_app_block"] input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: none !important;
  background: transparent !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

/*
 * subscription-plans-by-customer.liquid replaces the app block but keeps the same shopify-block-* wrapper id
 * (e.g. subscriptions_app_block_*). The sr-only rules above apply to any descendant radio — which hides our
 * snippet's native inputs. Restore visible radios only inside the custom snippet.
 */
.form-vertical .clnf-shopify-subscriptions-root .subscription-plans-by-customer input[type="radio"],
#AddToCartForm .clnf-shopify-subscriptions-root .subscription-plans-by-customer input[type="radio"] {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0.4rem 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  appearance: auto !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Theme .form-vertical / rte list styles add bullets; Shopify Subscriptions uses ul/li for frequencies. */
.form-vertical .clnf-shopify-subscriptions-root div[id*="subscriptions_app_block"] ul,
.form-vertical .clnf-shopify-subscriptions-root div[id*="subscriptions_app_block"] ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 0 0.75em !important;
}

.form-vertical .clnf-shopify-subscriptions-root div[id*="subscriptions_app_block"] li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

/* Custom Liquid subscription snippet uses <ul class="subscription-plan-list"> — same bullet reset as app block. */
.form-vertical .clnf-shopify-subscriptions-root .subscription-plans-by-customer .subscription-plan-list,
.form-vertical .clnf-shopify-subscriptions-root .subscription-plans-by-customer ul.subscription-plan-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 0 0.75em !important;
}

.form-vertical .clnf-shopify-subscriptions-root .subscription-plans-by-customer .subscription-plan-list li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

/*
 * PDP float trap (product-custom.css ~L1008+): .swatches-wrapper floats left 22%/30% and
 * .paymentButtonsWrapper floats right 78%/70%. The subscription block is the next sibling in #AddToCartForm.
 * Without clear + full width, it flows in the narrow strip between those floats — skinny "Purchase options"
 * beside Notify. Plain CSS layout, not Vue; Vue mount only changes height/content of the floated columns.
 */
#AddToCartForm .clnf-shopify-subscriptions-root {
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  display: flow-root;
  box-sizing: border-box;
  margin-top: 1rem;
}

/*
 * Upnova (product-volume-upsell), PW Stock Notify, Vitals Trust, etc.: same float trap as subscriptions,
 * but these blocks render *above* the gated subscriptions wrapper — they must clear the quantity + ATC floats.
 */
#AddToCartForm .paymentButtonsWrapper~div[id^="shopify-block-"] {
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  display: flow-root;
  box-sizing: border-box;
}

/* Upnova volume-upsell: collapse wrapper when app renders nothing visible */
#AddToCartForm [id^="shopify-block-upnova_product_volume_upsell"]:empty,
#AddToCartForm [id^="shopify-block-upnova_product_volume_upsell"]:has(> :empty:only-child) {
  display: none !important;
}

#AddToCartForm [id^="shopify-block-upnova_product_volume_upsell"],
.upez-product-volume-upsell,
upnova-widget {
  font-size: 16px !important;
  min-height: 0 !important;
  margin-top: 24px !important;
  display: block !important;
  clear: both !important;
}

/* Force correct font sizes inside Upnova volume upsell's Shadow DOM using ::part */
upnova-widget::part(blue-berry-container),
upnova-widget::part(blue-berry-tiers),
upnova-widget::part(blue-berry-tier-card),
upnova-widget::part(blue-berry-tier-left),
upnova-widget::part(blue-berry-tier-right),
[id^="upez-product-volume"]::part(blue-berry-container),
[id^="upez-product-volume"]::part(blue-berry-tiers),
[id^="upez-product-volume"]::part(blue-berry-tier-card),
[id^="upez-product-volume"]::part(blue-berry-tier-left),
[id^="upez-product-volume"]::part(blue-berry-tier-right) {
  font-size: 16px !important;
}

/* Explicitly style the title part to be 18px */
upnova-widget::part(blue-berry-tier-title),
[id^="upez-product-volume"]::part(blue-berry-tier-title) {
  font-size: 18px !important;
}

/*
 * After Vue mounts, only one variant fieldset should show. Theme/fieldset display rules must not override
 * the snippet’s hidden state (fixes “duplicate” cards once JS settles).
 */
#AddToCartForm .clnf-shopify-subscriptions-root .subscription-plans-fieldset.subscription-plans-by-customer--hidden,
#AddToCartForm .clnf-shopify-subscriptions-root .subscription-plans-fieldset[hidden] {
  display: none !important;
}

/* Subscriptions modal/popover: avoid sticky buy-column clipping (stacking / overflow). */
.product-form-vue .grid__item.product-sticky .clnf-shopify-subscriptions-root,
wetheme-product-form .clnf-shopify-subscriptions-root {
  overflow: visible;
}

/* One visible slide; .product-medias__primary must track Swiper activeIndex (product-custom.js) */
.images-product-wrapper .product-media-swiper .swiper-slide {
  display: none;
}

.images-product-wrapper .product-media-swiper .swiper-slide.product-medias__primary {
  display: block;
}

.images-product-wrapper .product-media-swiper:not(:has(.swiper-slide.product-medias__primary)) .swiper-slide:first-child {
  display: block !important;
}

/* PDP gallery: force clickability – override theme.min.css, custom.css, GemPages, Swiper */
.images-product-wrapper .product-medias__thumbnail,
.images-product-wrapper .product-medias__thumbnail *,
.images-product-wrapper .product-medias__thumbnails,
.images-product-wrapper .product-medias__thumbnails *,
.images-product-wrapper .swiper-pagination,
.images-product-wrapper .swiper-pagination-bullet {
  pointer-events: auto !important;
  cursor: pointer;
}

/* Ensure gallery container is not blocked by parent pointer-events */
.images-product-wrapper .product-images-container {
  pointer-events: auto;
}

/* Contain parent-nav so inner-nav (arrows) does not overlay thumbnails */
.images-product-wrapper .parent-nav {
  position: relative;
}

.product-details-wrapper {
  position: relative;
}

@media only screen and (max-width: 768px) {
  .custom-swatch-box {
    max-width: 295px;
  }
}

.inner-nav {
  z-index: 2 !important;
}

.paymentButtonsWrapper,
#ShopNowContainer .paymentButtonsWrappe {
  position: relative;
  z-index: 1;
  margin-top: 42px;
}

/* Buy row above app embeds (e.g. Smile) that render later in the same form column */
#AddToCartForm .paymentButtonsWrapper.pkp {
  z-index: 25;
}

/* Ensure delivery promise container is visible - more specific targeting */
.paymentButtonsWrapper .delivery-promise__promise-container,
#ShopNowContainer .paymentButtonsWrappe .delivery-promise__promise-container {
  position: relative;
  z-index: 5;
  margin-top: 12px;
  min-height: 20px;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* More aggressive targeting for delivery promise container */
.delivery-promise__promise-container {
  position: relative !important;
  z-index: 5 !important;
  margin-top: 12px !important;
  margin-left: 0 !important;
  min-height: 20px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  width: 100% !important;
  height: auto !important;
  text-align: center !important;
}

.after_added {
  display: none;
}

.swatches-wrapper {
  position: relative;
  z-index: 2;
}

/* PDP quantity: one consistent bordered control on every product (theme.min.css + apps can fight on cascade order) */
#AddToCartForm .js-qty input.js-qty__num,
#AddToCartForm #Quantity,
#AddToCartForm #Quantity--mobile-atc {
  border: 2px solid var(--secondary-btn-bg-color) !important;
  border-radius: var(--border-radius);
  box-sizing: border-box;
}

/* Vitals Trust (vtl-tb-*): same column as ATC (70/78% float split); center badge row like the button */
.paymentButtonsWrapper .vtl-tb-main-widget {
  width: 100%;
  max-width: 100%;
  clear: both;
  text-align: center;
  margin-top: 0.75rem;
}

.paymentButtonsWrapper .vtl-tb-main-widget__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 0.5rem 0.75rem;
  width: 100%;
}

.favBtn {
  box-shadow: 0 49.7119px 92.4873px rgb(100 99 105 / 47%);
  border-radius: 104.048px;
  font-weight: 400;
  color: #fff;
  display: inline-block;
  padding: 10px 30px;
  text-transform: none;
  letter-spacing: 1px;
  font-size: 12px;
  line-height: 1.42;
  min-height: 44px;
  margin: 0 10px 10px 0;
  word-wrap: break-word;
  white-space: normal;
  cursor: pointer;
  background-color: var(--primary-btn-bg-color);
}

/* Exclude sprout spout product page from white text rule */
body:not(#the-sprout-spout) #AddToCartText {
  font-weight: 500;
  font-size: 15px;
  color: #FFFFFF;
}

.active--favorites {
  color: var(--primary-btn-bg-hover-color);
}

.fill {
  display: none;
}

.active--favorites .fill {
  display: inherit;
  color: var(--secondary-btn-bg-color);
}

.active--favorites:hover .fill {

  color: var(--primary-btn-bg-color);
}

.active--favorites .not-fill {
  display: none;
}

.heart-design {
  font-size: 16px;
  margin-left: 5px;
}

.js-qty__adjust--plus-mobile {
  right: 5px;
}

.js-qty__adjust--minus-mobile {
  left: 5px;
}

@media(max-width:768px) {

  .fa-plus:before,
  .fa-minus:before {
    font-size: 14px;
  }


  .blog-posts-wrapper {
    padding: 70px 0 !important;
  }

  .qty-wrapper-mob label {
    text-transform: uppercase;
    margin: 0 0 5px 0;
    display: inline-block;
  }
}

.tag-box {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.tooltip {
  position: relative;
}

.tag_parent {
  border: 1px solid var(--secondary-btn-bg-color);
  box-sizing: border-box;
  filter: drop-shadow(0px 29px 45px rgba(100, 99, 105, 0.24));
  border-radius: var(--border-radius);
  padding: 10px 15px;
  margin-right: 10px;
  margin-bottom: 10px;
}

.pounce {
  text-align: center;
  width: 100%;
}

.swatch {
  position: relative;
}

.hello.product__meta--sku {
  position: absolute;
}

.current-sku {
  font-weight: 600;
}

.hidden-skuname {
  display: none;
}

#ProductPrice {
  font-family: var(--main-body-font)
}

.imzoom {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: 999999 !important;
  cursor: pointer;
  pointer-events: auto !important;
}

.zoom-red {
  height: 40px;
  width: 40px;
  display: block;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 100%;
  color: #fff;
  border: 2px solid var(--primary-btn-bg-color);
  background-color: var(--primary-btn-bg-color);
  transition: all .2s ease-in-out;
  transition: all .15s ease-in-out 0s;
  z-index: 99999 !important;
  pointer-events: auto !important;
}

.zoom-red svg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  transform: scale(1.3);
}

.zoom-red svg path {
  fill: #fff;
}

.inner-nav {
  position: absolute;
  /* bottom: 47%; */
  right: 0;
  left: auto;
  z-index: 99999 !important;
  display: flex;
  gap: 10px;
  pointer-events: auto !important;
}

.flex-prev {
  transform: rotate(180deg);
}

.arrow-custom {
  padding: 15px;
  display: flex;
  align-items: center;
  stroke: #fff;
  fill: #fff;
  cursor: pointer;
  justify-content: center;
  border-radius: 100%;
  background-color: var(--primary-btn-bg-color);
  transition: all .2s ease-in-out;
}

.arrow-custom:hover,
.zoom-red:hover,
.favBtn:hover {
  background-color: var(--secondary-btn-bg-hover-color);
  transform: scale(1.1);
}

.flex-prev.arrow-custom:hover {
  transform: rotate(180deg) scale(1.1);
}

.zoom-red:hover {
  border: 2px solid var(--secondary-btn-bg-hover-color);
}

.swatch-items-wrapper {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  padding-top: 22px;
  /* Make room for sale badge overflow */
}

.sale-badge-new {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  background: #CE8886;
  justify-content: center;
  border-radius: 50%;
  font-size: 12px;
  color: #FFFFFF;
  position: absolute;
  top: -20px;
  right: -18px;
}

.swatch-element:hover .sale-badge-new {
  visibility: visible;
}

/* watch more section css */
.watch-inner-row {
  padding: 70px 0;
}

.watch-heading h3 {
  font-style: normal;
  font-weight: bold;
  font-size: 38px;
  line-height: 20px;
  letter-spacing: -0.5px;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 45px;
}

.video-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.drop-colunm {
  flex: 0 0 calc(33.333% - 20px);
  min-width: 300px;
  max-width: 400px;
  box-sizing: border-box;
  margin: 8px;
}

.video-column {
  background: #fff;
  border: 1.76574px solid #fff;
  box-sizing: border-box;
  box-shadow: 10px 26px 25px rgb(27 49 66 / 4%);
  /* backdrop-filter: blur(12.3602px); */
  border-radius: 56px;
  padding: 15px;
}

.video-heading-section {
  text-align: center;
  padding: 20px 55px;
}

/* Mobile responsive styles for video section - Horizontal Card Slider */
@media (max-width: 768px) {
  .video-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-bottom: 20px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    scrollbar-width: none !important;
  }

  .drop-colunm {
    flex: 0 0 84% !important;
    width: 84% !important;
    max-width: 84% !important;
    min-width: 280px !important;
    scroll-snap-align: center !important;
    margin: 0 !important;
  }

  .video-heading-section {
    padding: 15px 20px;
  }
}

/* you may also like  */
.round-edge {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  display: block;
  border-radius: 51% 49% 0% 0% / 54% 54% 46% 46%;
  bottom: -70px;
}

.product-page-related-products {
  overflow: hidden;
}

.product-recommendations__slideshow .grid-recommend .grid-view-item {
  position: relative;
  text-align: center;
  margin-bottom: 0 !important;
  box-shadow: 10px 26px 25px #1b31420a;
  padding: 20px;
  border-radius: 35px;
  background-color: #fff;
  width: 100%;
}

.product-recommendations__slideshow .grid-recommend {
  border-radius: 110px;
  margin: 30px 10px;
  background-color: #fff;
  box-shadow: 0 19px #1b31420d;
  padding: 0;
  /*   max-width:32%; */
}

/* Product titles in "You may also like" section - black */
.product-page-related-products .product-recommendations__slideshow .product-grid--title,
.product-page-related-products .product-recommendations__slideshow .product-grid--title.landingscaping,
.product-page-related-products .product-recommendations__slideshow .product-grid--title a,
.product-page-related-products .product-recommendations__slideshow .product-grid--title.landingscaping a,
.product-page-related-products .product-recommendations__slideshow .product-grid--title a:link,
.product-page-related-products .product-recommendations__slideshow .product-grid--title.landingscaping a:link,
.product-page-related-products .product-recommendations__slideshow .product-grid--title a:visited,
.product-page-related-products .product-recommendations__slideshow .product-grid--title.landingscaping a:visited,
.product-page-related-products .product-recommendations__slideshow .product-grid--title a:active,
.product-page-related-products .product-recommendations__slideshow .product-grid--title.landingscaping a:active {
  color: #000000 !important;
}

.product-page-related-products .product-recommendations__slideshow .product-grid--title a:hover,
.product-page-related-products .product-recommendations__slideshow .product-grid--title.landingscaping a:hover {
  color: #000000 !important;
  opacity: 0.8;
}

#recently-viewed-products .grid__item {
  border-radius: 110px;
  margin: 30px 10px;
  background-color: #fff;
  box-shadow: 0 19px #1b31420d;
  padding: 0;
}

#recently-viewed-products .grid-view-item {
  position: relative;
  text-align: center;
  margin-bottom: 0 !important;
  box-shadow: 10px 26px 25px #1b31420a;
  padding: 20px;
  border-radius: 35px;
  background-color: #fff;
  width: 100%;
}

/* Product titles in "Recently viewed" section - black */
#recently-viewed-products .product-grid--title,
#recently-viewed-products .product-grid--title.landingscaping,
#recently-viewed-products .product-grid--title a,
#recently-viewed-products .product-grid--title.landingscaping a,
#recently-viewed-products .product-grid--title a:link,
#recently-viewed-products .product-grid--title.landingscaping a:link,
#recently-viewed-products .product-grid--title a:visited,
#recently-viewed-products .product-grid--title.landingscaping a:visited,
#recently-viewed-products .product-grid--title a:active,
#recently-viewed-products .product-grid--title.landingscaping a:active {
  color: #000000 !important;
}

#recently-viewed-products .product-grid--title a:hover,
#recently-viewed-products .product-grid--title.landingscaping a:hover {
  color: #000000 !important;
  opacity: 0.8;
}

/* Vitals Recently Viewed product titles - black */
.vtl-product-card__title-inner,
a.vtl-product-card__title,
a.vtl-product-card__title p,
a.vtl-product-card__title .vtl-product-card__title-inner,
#AddToCartForm .vtl-rv-main-widget .vtl-product-card__title,
#AddToCartForm .vtl-rv-main-widget .vtl-product-card__title p,
#AddToCartForm .vtl-rv-main-widget .vtl-product-card__title .vtl-product-card__title-inner,
.vtl-rv-main-widget .vtl-product-card__title,
.vtl-rv-main-widget .vtl-product-card__title p,
.vtl-rv-main-widget .vtl-product-card__title .vtl-product-card__title-inner {
  color: #000000 !important;
}

/* custom add to cart css start   */
.product-page-related-products .quick-add-wrapper {
  margin: 20px 0;
}

.addtocartform {
  /*     margin: 23px 0!important; */
  position: inherit;
  /* bottom: 12px; */
  width: 100%;
}

._flex {
  display: -webkit-flex !important;
  display: flex !important;
  justify-content: center;
}

.button_flex-basis {
  flex-basis: 60px !important;
}

.product-type-btn {
  font-size: 16px;
  padding: 5px 18px;
  height: 45px;
  margin: 0 7px;
}

._bg-white {
  background-color: #fff !important;
}

._boxShadow--big {
  box-shadow: 0 3px 8px #0003, 0 0 0 1px #00000014;
}

._cursor-default {
  cursor: default !important;
}

._p1 {
  padding: 10px !important;
}

._w100 {
  width: 100% !important;
}

._noBoxShadow {
  box-shadow: none !important;
}

._mb075 {
  margin-bottom: 7.5px !important;
}

._px1 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

._py1 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.product-type-btn {
  font-size: 16px;
  padding: 5px 18px;
  height: 45px;
  margin: 0 7px;
}

.Btn-gray.Btn--white {
  border-radius: 0 100px 100px 0;
}

.Btn--gray.add_to_cat_options {
  border-radius: 0 100px 100px 0;
}

.Btn--gray {
  color: #fff;
  font-weight: 100;
  border-radius: 100px;
  font-weight: 400;
  font-style: normal;
  letter-spacing: .4px;
  background-color: var(--primary-btn-bg-color);
  border: none;
  outline: none;
}

.qty-btnopen {
  border-radius: 100px 0px 0px 100px;
  border: none;
  font-size: 14px;
  height: 38px;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  background-color: #fafafa;
  color: #1f2933;
  font-size: 1em;
  padding: 5px 10px;
  width: 100%;
}

.icon-chevron-down:before {
  content: "▼";
  font-size: 10px;
  color: #000;
}

[class*=" icon-"],
[class^=icon-] {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
  vertical-align: inherits;
}

button.Btn.Btn--white.qty-btnopen.product-type-btn.btn_qty_hover {
  height: 45px;
  margin-top: 0;
}

.Underlay {
  display: none;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background-color: #0000004d;
}

.QuickcQty {
  position: absolute;
  z-index: 9999;
  top: 0;
  left: -1px;
  right: -1px;
  display: none;
  border-radius: 35px !important;
}

.FormItem-cnumber {
  padding: 5px;
}

.QuickcQty .Btn--gray {
  max-width: 90%;
  margin: 0 auto;
}

.QuickcQty ._flex {
  max-width: 95%;
  margin: 0 auto;
}

.QuickcQty ._flex input {
  border-radius: 100px 0 0 100px;
  border: none;
  background-color: #fafafa;
  color: #1f2933;
  font-size: 1em;
  padding: 5px 10px;
  width: 100%;
  outline: none;
  text-indent: 2px;
}

.QuickcQty .customqty-addcart {
  border-radius: 0 100px 100px 0;
}

.product-page-related-products .swiper-container {
  padding-bottom: 100px;
}

/* custom add to cart css ends   */

.wc_review_btn {
  background-color: #EFCAC9 !important;
  font-weight: bold;
  border-radius: 104.048px;
}

.wc_icon_color svg path:not(.wc_icon_color.wc_icon_empty path, .wc_icon_color.wc_icon_empty polygon) {
  fill: #F5A623 !important;
  stroke-width: 39px;
}

.wc_graph_value .wc_graph_bar_color {
  background-color: #A4D2C5 !important;
}

.wc_graph_value .wc_graph_bar,
.wc_graph_value .wc_graph_bar_color {
  border-radius: 40px;
}

.wc_select_drop {
  border-radius: 104.048px !important;
}

.wc_review_top_title {
  padding-top: 15px;
  border-top: 1px solid #e6e6e6;
}

.aspect-ratio img,
.aspect-ratio svg {
  border-radius: 20px;
}

@media(min-width:769px) {
  .swatches-wrapper {
    width: 22%;
    float: left;
  }

  .paymentButtonsWrapper {
    width: 78%;
    float: right;
    margin-top: 42px;
  }

  .paymentButtonsWrapper #AddToCart--main,
  .paymentButtonsWrapper #AddToCart--sticky,
  .paymentButtonsWrapper .js-product-atc-btn {
    width: 70%;
    margin: 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .product__meta {
    clear: both;
    padding-top: 20px;
    border-top: 1px solid #eee;
    margin-top: 30px;
  }

}

@media(max-width:768px) {
  .swatches-wrapper {
    width: 30%;
    float: left;
  }

  .paymentButtonsWrapper {
    width: 70%;
    float: right;
    margin-top: 42px;
  }

  .hello.product__meta--sku {
    position: absolute;
    right: 0;
  }

  .parent-nav {
    position: relative;
    top: 15px;
  }

  .inner-nav {
    right: 0;
    z-index: 1 !important;
  }

  .product-page-related-products .swiper-button--next,
  .product-page-related-products .swiper-button--prev {
    display: none;
  }

  .round-edge {
    border-radius: 50% 50% 0% 0% / 43% 47% 10% 52%;
  }
}

/* PDP: theme.min.css styles #AddToCart; default product template uses #AddToCart--main / #AddToCart--sticky */
#AddToCart--main,
#AddToCart--sticky {
  border-radius: var(--alt-btn-border-radius);
  font-weight: var(--alt-btn-font-weight);
  font-style: var(--alt-btn-font-style);
  background: var(--primary-btn-bg-color);
  color: var(--primary-btn-text-color);
  transition: all 0.2s ease-in-out;
  display: inline-block;
  padding: 10px 35px;
  text-transform: var(--button-text-case);
  letter-spacing: 1px;
  font-size: var(--button-font-size-px);
  line-height: 1.42;
  min-height: 44px;
  margin: 0 0 10px 0;
  word-wrap: break-word;
  white-space: normal;
  width: 100%;
}

#AddToCart--main:active:not([disabled]),
#AddToCart--main:focus:not([disabled]),
#AddToCart--main:hover:not([disabled]),
#AddToCart--sticky:active:not([disabled]),
#AddToCart--sticky:focus:not([disabled]),
#AddToCart--sticky:hover:not([disabled]) {
  background: var(--primary-btn-bg-hover-color);
  color: var(--primary-btn-text-hover-color);
}

#AddToCart--main:hover,
#AddToCart--sticky:hover {
  background: var(--primary-btn-bg-hover-color);
  color: var(--primary-btn-text-hover-color);
}

.paymentButtonsWrapper #AddToCart--main.add-to-cart--secondary:not(.disabled),
.paymentButtonsWrapper #AddToCart--sticky.add-to-cart--secondary:not(.disabled) {
  background: var(--secondary-btn-bg-color);
  color: var(--secondary-btn-text-color);
  transition: color 0.25s ease-in-out, background 0.25s ease-in-out;
}

.paymentButtonsWrapper #AddToCart--main.add-to-cart--secondary:not(.disabled):hover,
.paymentButtonsWrapper #AddToCart--sticky.add-to-cart--secondary:not(.disabled):hover {
  background: var(--secondary-btn-bg-hover-color);
  color: var(--secondary-btn-bg-text-hover-color);
}

#AddToCart--main.add-to-cart--secondary.disabled,
#AddToCart--sticky.add-to-cart--secondary.disabled {
  background: var(--secondary-btn-bg-color);
  color: var(--secondary-btn-text-color);
}

#AddToCart--main.add-to-cart--secondary.disabled:hover,
#AddToCart--sticky.add-to-cart--secondary.disabled:hover {
  background: var(--secondary-btn-bg-color);
  color: var(--secondary-btn-text-color);
}

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

  .paymentButtonsWrapper #AddToCart--main,
  .paymentButtonsWrapper #AddToCart--sticky,
  .paymentButtonsWrapper .shopify-payment-button {
    width: 100%;
    max-width: 300px;
  }
}

@media screen and (min-width: 480px) {

  .paymentButtonsWrapper #AddToCart--main,
  .paymentButtonsWrapper #AddToCart--sticky {
    flex-grow: 1;
  }
}

#AddToCart--main.disabled,
#AddToCart--sticky.disabled {
  padding: 5px 35px;
}

/* Prop 65 (product form block + optional section) */
.prop-65-warning__line {
  margin: 0.5rem 0;
  font-size: var(--base-font-size, 14px);
  line-height: 1.45;
}

.prop-65-warning__trigger {
  text-decoration: underline;
  font-weight: 600;
  color: var(--color-link, #2c5c75);
}

.prop-65-warning__trigger:hover {
  opacity: 0.9;
}

/* Block modal: full-screen backdrop; grid centers the card with even inset on all sides */
.prop-65-warning__overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  padding: clamp(1rem, 4vmin, 1.75rem);
  padding-top: max(clamp(1rem, 4vmin, 1.75rem), env(safe-area-inset-top, 0px));
  padding-right: max(clamp(1rem, 4vmin, 1.75rem), env(safe-area-inset-right, 0px));
  padding-bottom: max(clamp(1rem, 4vmin, 1.75rem), env(safe-area-inset-bottom, 0px));
  padding-left: max(clamp(1rem, 4vmin, 1.75rem), env(safe-area-inset-left, 0px));
  background: rgba(0, 0, 0, 0.5);
  direction: ltr;
}

.prop-65-warning__overlay[hidden] {
  display: none !important;
}

.prop-65-warning__overlay.is-open {
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
}

.prop-65-warning__overlay.is-open .prop-65-warning__dialog {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: min(36rem, 100%);
  max-width: 36rem;
  max-height: min(90vh, calc(100dvh - 2 * clamp(1rem, 4vmin, 1.75rem)));
  justify-self: center !important;
  align-self: center !important;
}

.prop-65-warning__dialog {
  position: relative;
  background: #fff;
  border-radius: 10px;
  overflow: auto;
  padding: 1.5rem 1.25rem;
  text-align: center;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.prop-65-warning__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.prop-65-warning__title {
  flex: 1;
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.3;
  text-align: center;
}

.prop-65-warning__close {
  flex-shrink: 0;
  border: none;
  background: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.15rem 0.35rem;
  color: inherit;
}

.prop-65-warning__body {
  text-align: left;
  margin-bottom: 1rem;
}

.prop-65-warning__message {
  margin: 0 0 1rem;
  line-height: 1.55;
}

.prop-65-warning__link-wrap {
  text-align: center;
  margin: 0 0 1rem;
}

.prop-65-warning__footer {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.prop-65-warning__print {
  background: #28a745;
  color: #fff;
  border: none;
  padding: 0.65rem 1.25rem;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
}

.prop-65-warning__print:hover {
  filter: brightness(1.05);
}

.prop-65-warning__external {
  word-break: break-all;
}

/* Legacy Prop 65 section — grid centers the white card; spacing from viewport via padding */
#prop-65-modal-overlay.prop-65-modal-overlay.show {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  z-index: 10001 !important;
  box-sizing: border-box !important;
  padding: clamp(1rem, 4vmin, 1.75rem) !important;
  padding-top: max(clamp(1rem, 4vmin, 1.75rem), env(safe-area-inset-top, 0px)) !important;
  padding-right: max(clamp(1rem, 4vmin, 1.75rem), env(safe-area-inset-right, 0px)) !important;
  padding-bottom: max(clamp(1rem, 4vmin, 1.75rem), env(safe-area-inset-bottom, 0px)) !important;
  padding-left: max(clamp(1rem, 4vmin, 1.75rem), env(safe-area-inset-left, 0px)) !important;
  opacity: 1 !important;
  direction: ltr !important;
}

#prop-65-modal-overlay.prop-65-modal-overlay.show .prop-65-modal {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  width: min(500px, 100%) !important;
  max-width: 500px !important;
  max-height: min(80vh, calc(100dvh - 2 * clamp(1rem, 4vmin, 1.75rem))) !important;
  margin: 0 !important;
  justify-self: center !important;
  align-self: center !important;
}

/* Legacy modal: center p65.gov link row + print button (section inline CSS used text-align right on footer) */
#prop-65-modal-overlay .prop-65-modal-content>p {
  text-align: center !important;
}

#prop-65-modal-overlay .prop-65-modal-footer {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* ==========================================================================
   PDP per-size price cards ("Save $X (Y%)") — NATIVE swatch rendering.
   Replaces the old ConvertCart injection (experiment 41101678). Markup is
   rendered server-side in snippets/swatch.liquid: a weight/size option (every
   value is lb/oz) gets .swatch-items-wrapper.cc-size-mode and each
   .swatch-element gets .cc-card. The active card is driven purely by its
   checked hidden radio via :has() — no JS.
   ========================================================================== */

/* Widen + space the swatch box only when it's in card mode (scoped via :has). */
.custom-swatch-box.swatch.clearfix:has(.swatch-items-wrapper.cc-size-mode) {
  /* Was 80px — legacy room for the old sale-badge overflow, which cc-size-mode resets
     (padding-top:0 below). The .cc-card layout needs no extra room, so 80px was dead air
     between the reviews and the SIZE selector. Tightened to a normal section gap. */
  margin-top: 16px !important;
  max-width: 100% !important;
}

.custom-swatch-box.swatch.clearfix:has(.swatch-items-wrapper.cc-size-mode) .header {
  width: auto;
}

.swatch-items-wrapper.cc-size-mode {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 5px;
  padding-top: 0;
  /* override default .swatch-items-wrapper padding-top */
}

.swatch-items-wrapper.cc-size-mode .swatch-element.cc-card {
  display: flex;
  flex-direction: column;
  background: #fafafa;
  position: relative;
  text-align: center;
  min-width: 135px;
  border: 1px solid #a4d2c5;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0;
  padding: 0;
}

/* Full-card click target: transparent <label for> overlay (see swatch.liquid). Makes the entire
   card select its variant via native label activation, not just the .cc-header strip — fixes
   variant switching and lets sold-out cards reach Vue's soldOut state (notify link). */
.swatch-items-wrapper.cc-size-mode .swatch-element.cc-card .cc-card-hit {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  z-index: 2;
}

.cc-size-mode .cc-card .cc-header {
  font-family: "Sweet SansPro Regular";
  font-weight: 700;
  font-size: 12px;
  background: #a4d2c5;
  color: #3f685d;
  text-align: center;
  padding: 5px 0;
  line-height: normal;
  margin: 0;
  display: block;
  width: 100%;
  border: 0;
  cursor: pointer;
}

.cc-size-mode .cc-card .cc-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 8px 5px;
}

.cc-size-mode .cc-card .cc-price {
  font-family: "Sweet SansPro Regular";
  font-weight: 700;
  font-size: 18px;
  color: #404147;
  line-height: 14px;
  margin-bottom: 5px;
}

.cc-size-mode .cc-card .cc-oz {
  font-family: "Sweet SansPro Regular";
  font-weight: 400;
  font-size: 11px;
  line-height: normal;
  color: #404147;
  width: auto;
  text-align: center;
}

.cc-size-mode .cc-card .cc-divider {
  height: 1px;
  width: 100%;
  background: #dbdbdb;
}

.cc-size-mode .cc-card .cc-saving {
  font-family: "Sweet SansPro Regular";
  font-weight: 400;
  font-size: 11px;
  line-height: normal;
  color: #4b9641;
  padding: 4px 5px;
}

/* Active = the card whose hidden radio is checked (Vue keeps :checked in sync). */
.cc-size-mode .cc-card:has(input:checked) {
  border: 2px solid #3f685d;
}

.cc-size-mode .cc-card:has(input:checked) .cc-header {
  background: #3f685d;
  color: #fff;
}

/* Sold out */
.cc-size-mode .cc-card.soldout {
  opacity: 0.7;
}

.cc-size-mode .cc-card.soldout .cc-header {
  background: #e5e5e5;
  color: #888;
}

.cc-size-mode .cc-card.soldout .cc-price {
  color: #888;
}

.cc-size-mode .cc-card .cc-soldout-text {
  font-size: 10px;
  color: #888;
  margin-top: 4px;
  font-weight: 500;
}

@media screen and (max-width: 1200px) {
  .cc-size-mode .cc-card {
    min-width: 110px;
  }

  .cc-size-mode .cc-card .cc-header {
    font-size: 11px;
  }

  .cc-size-mode .cc-card .cc-price {
    font-size: 17px;
  }

  .cc-size-mode .cc-card .cc-oz {
    font-size: 10px;
  }

  .cc-size-mode .cc-card .cc-saving {
    font-size: 9px;
    padding: 4px 2px;
  }
}

/* ==========================================================================
   B2B "Case pricing" badge (template--product.liquid, under the price block).
   Shown only to Wholesale-tagged customers on products with quantity price
   breaks. Pistachio pill (#EDF6F3) to match the ConvertCart UI on the same PDP,
   with dark-green text/border for contrast on the white page. Pure CSS, no JS.
   ========================================================================== */
.wholesale-messaging {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 10px 0 0;
  padding: 7px 14px;
  background: #edf6f3;
  color: #3f685d;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.2px;
  border: 1px solid #a4d2c5;
  border-radius: 6px;
}

.wholesale-messaging__icon {
  flex-shrink: 0;
}

.wholesale-messaging__qty {
  font-weight: 800;
}

@media screen and (max-width: 900px) {
  .custom-swatch-box.swatch.clearfix:has(.swatch-items-wrapper.cc-size-mode) {
    margin-top: 12px !important;
  }

  .swatch-items-wrapper.cc-size-mode {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    padding-bottom: 6px;
    position: relative;
    scrollbar-width: none;
  }

  .swatch-items-wrapper.cc-size-mode::-webkit-scrollbar {
    display: none;
  }

  .cc-size-mode .cc-card {
    flex: 0 0 auto;
    min-width: 110px;
  }

  .cc-size-mode .cc-card .cc-header {
    font-size: 11px;
    padding: 4px 0;
  }

  .cc-size-mode .cc-card .cc-body {
    padding: 6px 4px;
  }

  .cc-size-mode .cc-card .cc-price {
    font-size: 14px;
    line-height: 12px;
  }

  .cc-size-mode .cc-card .cc-oz {
    font-size: 10px;
  }

  .cc-size-mode .cc-card .cc-saving {
    font-size: 9px;
    padding: 2px 2px;
  }
}

/*Checked card state for Horizon label elements */
.variant-option__button-label:not(.cc-card):has(input:checked) {
  border-color: var(--primary-btn-bg-color) !important;
  background-color: var(--primary-btn-bg-color) !important;
  color: #ffffff !important;
}

.variant-option__button-label:not(.cc-card):has(input:checked) .cc-header,
.variant-option__button-label:not(.cc-card):has(input:checked) .cc-price,
.variant-option__button-label:not(.cc-card):has(input:checked) .pounce,
.variant-option__button-label:not(.cc-card):has(input:checked) .cc-saving {
  color: #ffffff !important;
}

/* Add to Cart Button Override to match Old CLNF Theme */
.add-to-cart-button,
button[id^="BuyButtons-ProductSubmitButton-"] {
  background-color: var(--primary-btn-bg-color) !important;
  color: #ffffff !important;
  border-radius: 9999px !important;
  /* Capsule/pill shape */
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 12px 30px !important;
  min-height: 48px !important;
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  transition: all 0.2s ease-in-out !important;
  text-transform: none !important;
  width: auto !important;
  min-width: 200px !important;
}

.add-to-cart-button:hover,
button[id^="BuyButtons-ProductSubmitButton-"]:hover {
  filter: brightness(1.1) !important;
  transform: scale(1.02) !important;
}

/* Hide the shopping bag icon inside Add to Cart button to match old style */
.add-to-cart-button .add-to-cart-icon,
button[id^="BuyButtons-ProductSubmitButton-"] .add-to-cart-icon {
  display: none !important;
}

/* Ensure the button text is visible and styled */
.add-to-cart-button .add-to-cart-text__content,
button[id^="BuyButtons-ProductSubmitButton-"] .add-to-cart-text__content {
  display: inline !important;
  visibility: visible !important;
  font-size: inherit !important;
  color: inherit !important;
}

/* Quantity Selector Override to match user screenshot */
.quantity-selector {
  border: 1px solid #a4d2c5 !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  width: 105px !important;
  max-width: 105px !important;
  height: 45px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 5px !important;
  overflow: hidden !important;
}

.quantity-selector :is(.quantity-minus, .quantity-plus) {
  color: #8c8c8c !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  width: 30px !important;
  height: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 30px !important;
}

.quantity-selector :is(.quantity-minus, .quantity-plus):hover {
  color: #3f685d !important;
  background-color: transparent !important;
}

.quantity-selector input[type="number"] {
  color: #242424 !important;
  font-family: "Baloo 2", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  width: 35px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
  height: 45px !important;
}

.quantity-label {
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 8px !important;
}

/* Product Title Font Override */
.product-details h1,
.quick-add-modal__content h1,
.view-product-title a,
.product-header a {
  font-family: "Magzo_Alt", "Magzo", serif !important;
  font-size: 32px !important;
  font-weight: normal !important;
  color: #1f2933 !important;
  text-transform: none !important;
}

/* Re-order PDP elements to match original design using absolute positioning on desktop */
@media screen and (min-width: 750px) {
  .group-block-content {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    gap: 0 !important;
  }

  /* Left-aligned top blocks should leave space on the right for Share + SKU */
  .group-block-content>.shopify-block:has(h1),
  .group-block-content>h1,
  .group-block-content>.shopify-block:has(.product-title-block),
  .group-block-content>.product-title-block,
  .group-block-content>.shopify-block:has([ref="productTitleLink"]),
  .group-block-content>.shopify-block:has(h3),
  .group-block-content>.shopify-block:has(.rating-wrapper),
  .group-block-content>.rating-wrapper,
  .group-block-content>[id*="rivyo-reviews-badge"],
  .group-block-content>.shopify-block:has([class*="rivyo"]),
  .group-block-content>.shopify-block:has(.wc_product_review_badge) {
    padding-right: 120px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  /* Share Button Block - Absolute Right */
  .group-block-content>.shopify-block:has(.product-share-block),
  .group-block-content>.product-share-block {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    margin: 0 !important;
    z-index: 10 !important;
  }

  /* SKU Block - Absolute Right below Share button */
  .group-block-content>.shopify-block:has(product-sku-component),
  .group-block-content>product-sku-component {
    position: absolute !important;
    right: 0 !important;
    top: 48px !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 10 !important;
  }
}

/* Size Card Styling for New Theme */
fieldset.cc-size-mode {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 20px !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

fieldset.cc-size-mode legend {
  display: block !important;
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #404147 !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  letter-spacing: 0.5px !important;
  border: none !important;
  padding: 0 !important;
}

.cc-size-mode .cc-card {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  position: relative !important;
  text-align: center !important;
  min-width: 150px !important;
  border: 1px solid #a4d2c5 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
}

.cc-size-mode .cc-card .cc-header {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  background: #a4d2c5 !important;
  color: #3f685d !important;
  text-align: center !important;
  padding: 6px 0 !important;
  line-height: normal !important;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  cursor: pointer;
}

.cc-size-mode .cc-card .cc-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 10px 5px !important;
}

.cc-size-mode .cc-card .cc-price {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #404147 !important;
  line-height: 1.2 !important;
  margin-bottom: 4px !important;
}

.cc-size-mode .cc-card .cc-oz {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  line-height: normal !important;
  color: #718096 !important;
  width: auto !important;
  text-align: center !important;
}

.cc-size-mode .cc-card .cc-divider {
  height: 1px !important;
  width: 100% !important;
  background: #dbdbdb !important;
  margin: 0 !important;
}

.cc-size-mode .cc-card .cc-saving {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  line-height: normal !important;
  color: #4b9641 !important;
  padding: 6px 5px !important;
  background-color: #f7fafc !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Checked Card styles */
.cc-size-mode .cc-card:has(input:checked) {
  border: 2px solid #3f685d !important;
  background-color: #ffffff !important;
}

.cc-size-mode .cc-card:has(input:checked) .cc-header {
  background: #3f685d !important;
  color: #ffffff !important;
}

.cc-size-mode .cc-card:has(input:checked) .cc-saving {
  background-color: #f7fafc !important;
}

/* Hide native input and focus styles */
.cc-size-mode .cc-card input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* Price block styling */
product-price {
  display: block !important;
  margin-top: 15px !important;
  margin-bottom: 0 !important;
}

product-price .price {
  font-size: 32px !important;
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-weight: bold !important;
  color: #1f2933 !important;
}

product-price .installments,
product-price .payment-terms,
product-price form.payment-terms,
product-price shopify-payment-terms {
  display: none !important;
}

/* Free Shipping Threshold Message */
.free-shipping-threshold-message {
  font-family: var(--font-body--family), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #333333 !important;
  margin-top: 15px !important;
  margin-bottom: 15px !important;
  padding: 0 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}

.free-shipping-threshold-message .threshold-amount {
  color: #ff0000 !important;
  font-weight: 400 !important;
}

.free-shipping-threshold-message .free-shipping-qualified {
  color: #2e7d32 !important;
  font-weight: 700 !important;
}


product-price .installments a,
product-price .payment-terms a,
product-price form.payment-terms a {
  text-decoration: underline !important;
  color: inherit !important;
  font-weight: 600 !important;
}

/* Quantity and ATC horizontal alignment */
.product-form-buttons {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 15px !important;
  width: 100% !important;
  flex-wrap: wrap !important;
  margin-top: 15px !important;
}

.product-form-buttons .quantity-selector-wrapper {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.product-form-buttons add-to-cart-component {
  flex: 1 1 auto !important;
  margin: 0 !important;
  display: inline-block !important;
  max-width: 240px !important;
  width: 100% !important;
}

@media screen and (max-width: 749px) {
  .product-form-buttons add-to-cart-component {
    max-width: none !important;
  }
}

.product-form-buttons add-to-cart-component button {
  width: 100% !important;
  height: 45px !important;
  background-color: #3f685d !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 99px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  cursor: pointer !important;
  transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.15s ease, box-shadow 0.25s ease !important;
  margin-bottom: 0px !important;
}

@media screen and (max-width: 749px) {
  .product-form-buttons add-to-cart-component button {
    font-size: 14px !important;
  }
}

.product-form-buttons add-to-cart-component button:hover {
  background-color: var(--color-primary-button-hover-background) !important;
  color: var(--color-primary-button-hover-text) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.25) !important;
}

.product-form-buttons add-to-cart-component button:active {
  transform: translateY(1px) !important;
  box-shadow: 0 2px 4px rgba(63, 104, 93, 0.1) !important;
}

/* Hide default button decorations inside size cards */
.variant-option__button-label.cc-card::before,
.variant-option__button-label.cc-card::after,
.cc-size-mode .cc-card::before,
.cc-size-mode .cc-card::after,
.cc-card::before,
.cc-card::after,
.cc-card .variant-option__button-label__pill,
.cc-card .variant-option__button-label__text {
  display: none !important;
  content: none !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

/* Hide default title block inside nested group blocks */
.product-details .group-block-content>.group-block .text-block:has(h1),
.product-details .group-block-content>.group-block h1,
.product-details .group-block .group-block h1,
.product-details .group-block .group-block .text-block {
  display: none !important;
}



/* Custom Header Layout (Title, Rating, Share, SKU) */
.product-custom-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  width: 100% !important;
  gap: 20px !important;
  margin-bottom: 10px !important;
  flex-wrap: nowrap !important;
}

.product-custom-header__left {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: flex-start !important;
}

.product-custom-header__title {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #404147 !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.product-custom-header__reviews {
  display: block !important;
  margin: 0 !important;
  min-height: 20px !important;
}

.product-custom-header__right {
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 12px !important;
  text-align: right !important;
}

.product-custom-header__share {
  display: flex !important;
  justify-content: flex-end !important;
}

.product-share-button__icon {
  width: 20px !important;
  height: 20px !important;
  stroke: #161616 !important;
  fill: none !important;
}

.product-share-button__icon * {
  stroke: #161616 !important;
  stroke-width: 2px !important;
}

.product-custom-header__sku {
  display: block !important;
}

@media screen and (max-width: 749px) {
  .product-custom-header {
    flex-direction: column !important;
    gap: 15px !important;
  }

  .product-custom-header__right {
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
    flex-direction: row-reverse !important;
    justify-content: space-between !important;
  }

  .product-custom-header__sku {
    align-items: flex-start !important;
    text-align: left !important;
  }
}

/* Whitelist Custom Header in Quick-Add Modal to bypass theme's display:none override */
.quick-add-modal__content .product-details .product-custom-header {
  display: flex !important;
}

.quick-add-modal__content .product-details .product-custom-header__left {
  display: flex !important;
}

.quick-add-modal__content .product-details .product-custom-header__right {
  display: flex !important;
}

.quick-add-modal__content .product-details .product-custom-header__title {
  display: block !important;
}

.quick-add-modal__content .product-details .product-custom-header__reviews {
  display: block !important;
}

.quick-add-modal__content .product-details .product-custom-header__reviews * {
  display: inline-block !important;
}

.quick-add-modal__content .product-details .rivyo-mock-badge-wrapper {
  display: inline-flex !important;
}

.quick-add-modal__content .product-details .rivyo-mock-tooltip {
  display: none !important;
}

.quick-add-modal__content .product-details .rivyo-mock-badge-wrapper:hover .rivyo-mock-tooltip {
  display: block !important;
}

.quick-add-modal__content .product-details .product-custom-header__share {
  display: flex !important;
}

.quick-add-modal__content .product-details .product-share-button {
  display: inline-block !important;
}

.quick-add-modal__content .product-details .product-share-button__btn {
  display: flex !important;
}

.quick-add-modal__content .product-details .product-share-button__icon {
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  stroke: #161616 !important;
  fill: none !important;
}

.quick-add-modal__content .product-details .product-share-button__icon * {
  display: revert !important;
  stroke: #161616 !important;
  stroke-width: 2px !important;
}

.quick-add-modal__content .product-details .product-custom-header__sku {
  display: block !important;
}

.quick-add-modal__content .product-details .product-sku-stack-wrapper {
  display: flex !important;
}

.quick-add-modal__content .product-details .product-sku-stack-item {
  display: block !important;
}

.quick-add-modal__content .product-details .product-sku-stack-item .product-sku-stack-label {
  display: none !important;
}

.quick-add-modal__content .product-details .product-sku-stack-item.is-active .product-sku-stack-label {
  display: inline !important;
}

.quick-add-modal__content .product-details .product-sku-stack-item .product-sku-stack-value {
  display: inline !important;
}

/* Hide duplicate/unwanted title links in the quick add modal */
.quick-add-modal__content .product-details .view-product-title {
  display: none !important;
}

/* Ensure the price block is visible in the quick-add modal */
.quick-add-modal__content .product-details product-price {
  display: block !important;
}

/* Ensure the country of origin block is visible in the quick-add modal */
.quick-add-modal__content .product-details .country-of-origin-wrapper {
  display: flex !important;
}

/* Whitelist the new elements to bypass modal's display: none override */
.quick-add-modal__content .product-details .clnf-recently-bought-wrapper {
  display: flex !important;
}

.quick-add-modal__content .product-details .clp-points-box {
  display: block !important;
}

.quick-add-modal__content .product-details .clnf-trust-badges-wrapper {
  display: block !important;
}

/* Specific component display configurations (without hardcoded order, relying on customizer DOM order) */
.country-of-origin-wrapper,
.quick-add-modal__content .product-details .country-of-origin-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: #565656 !important;
  border-top: 1px solid #e2e2e2 !important;
  border-bottom: 1px solid #e2e2e2 !important;
  padding: 12px 0 !important;
  margin: 8px 0 10px 0 !important;
  width: 100% !important;
}

/* Hide accelerated checkout (dynamic payment buttons like Buy with Shop Pay) inside buy-buttons block */
.buy-buttons-block .accelerated-checkout-block,
.buy-buttons-block shopify-accelerated-checkout,
.buy-buttons-block .shopify-payment-button {
  display: none !important;
}

/* Make Rivyo rating stars smaller globally and ensure perfect clipping alignment */
.rivyo-instant-badge svg,
.rivyo-mock-badge-wrapper svg {
  width: 18px !important;
  height: 18px !important;
}

.wc_product_review_badge .rivyoReviewRatingIcon,
.rivyo-instant-badge .rivyoReviewRatingIcon {
  width: 18px !important;
  height: 18px !important;
  position: relative !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

.wc_product_review_badge .rivyoReviewRatingIcon svg,
.rivyo-instant-badge .rivyoReviewRatingIcon svg {
  width: 18px !important;
  height: 18px !important;
  max-width: none !important;
  display: block !important;
}

.wc_product_review_badge .rivyoReviewFill,
.rivyo-instant-badge .rivyoReviewFill {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  display: block !important;
}

.wc_product_review_badge .rivyoReviewEmpty,
.rivyo-instant-badge .rivyoReviewEmpty {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* Align Rivyo stars and text on the same line to reduce spacing */
.wc_product_review_badge .rivyoReviewWidget {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.wc_product_review_badge .rivyoReviewIcon {
  display: inline-flex !important;
  gap: 2px !important;
}

.wc_product_review_badge .rivyoReviewAverage,
.wc_product_review_badge .rivyoReviewCount {
  font-size: 13px !important;
  line-height: 1 !important;
  display: inline-block !important;
  margin-top: 0 !important;
  margin-left: 2px !important;
  color: #4b5563 !important;
}

.rivyo-instant-badge span,
.rivyo-mock-badge-wrapper span,
.wc_product_review_badge>span {
  font-size: 11px !important;
}

/* Fix empty stars: give all SVG star paths a light grey fill by default */
.wc_product_review_badge svg path:not([fill*="url"]),
.wc_product_review_badge svg polygon:not([fill*="url"]),
.wc_product_review_badge svg rect:not([fill*="url"]) {
  fill: #d1d5db !important;
  stroke: none !important;
}

/* Allow paths inside SVGs with an explicit fill attribute to inherit that fill color (e.g. #FFD152) */
.wc_product_review_badge svg[fill] path:not([fill*="url"]),
.wc_product_review_badge svg[fill] polygon:not([fill*="url"]),
.wc_product_review_badge svg[fill] rect:not([fill*="url"]) {
  fill: inherit !important;
}

/* Restore yellow/gold for any star container marked as filled */
.wc_product_review_badge .wc_star_filled svg path:not([fill*="url"]),
.wc_product_review_badge .wc_star_filled svg polygon:not([fill*="url"]),
.wc_product_review_badge .filled svg path:not([fill*="url"]),
.wc_product_review_badge .filled svg polygon:not([fill*="url"]),
.wc_product_review_badge svg.wc_star_filled path:not([fill*="url"]),
.wc_product_review_badge [class*="star_filled"] svg path:not([fill*="url"]),
.wc_product_review_badge [class*="star-filled"] svg path:not([fill*="url"]),
.wc_product_review_badge [class*="filled"] svg path:not([fill*="url"]) {
  fill: #f59e0b !important;
  stroke: none !important;
}

/* Target Rivyo's inline color style on SVG elements */
.wc_product_review_badge svg[style*="color:#f"] path:not([fill*="url"]),
.wc_product_review_badge svg[style*="color: #f"] path:not([fill*="url"]),
.wc_product_review_badge svg[style*="color"][style*="rgb"] path:not([fill*="url"]),
.wc_product_review_badge svg[style*="color:#f3"] path:not([fill*="url"]),
.wc_product_review_badge svg[style*="color:orange"] path:not([fill*="url"]),
.wc_product_review_badge svg[style*="color:#F"] path:not([fill*="url"]) {
  fill: #f59e0b !important;
  stroke: none !important;
}

/* Allow paths inside SVGs with a gradient fill (partial/half stars) to inherit the gradient fill */
.wc_product_review_badge svg[fill*="url"] path,
.wc_product_review_badge svg[fill*="url"] polygon,
.wc_product_review_badge svg[fill^="url"] path,
.wc_product_review_badge svg[fill^="url"] polygon {
  fill: inherit !important;
}

/* Ensure the empty background star of partial/half stars stays grey (uses high-specificity selectors to override gold rules) */
.wc_product_review_badge .rivyoReviewRatingIcon .rivyoReviewEmpty svg[style*="color"][style*="rgb"] path,
.wc_product_review_badge .rivyoReviewRatingIcon .rivyoReviewEmpty svg[style*="color"][style*="rgb"] polygon,
.wc_product_review_badge .rivyoReviewRatingIcon .rivyoReviewEmpty svg[fill] path,
.wc_product_review_badge .rivyoReviewRatingIcon .rivyoReviewEmpty svg[fill] polygon,
.wc_product_review_badge .rivyoReviewRatingIcon .rivyoReviewEmpty svg path,
.wc_product_review_badge .rivyoReviewRatingIcon .rivyoReviewEmpty svg polygon,
.wc_product_review_badge .rivyoReviewRatingIcon .rivyoReviewEmpty svg rect {
  fill: #d1d5db !important;
  stroke: none !important;
}


/* Mock Rivyo Tooltip Popover Styles */
.rivyo-mock-badge-wrapper {
  position: relative;
}

.rivyo-mock-badge-wrapper:hover .rivyo-mock-tooltip {
  display: block !important;
}

.rivyo-mock-tooltip {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  border-radius: 4px !important;
  padding: 15px !important;
  width: 260px !important;
  z-index: 10000 !important;
  text-transform: none !important;
}

.rivyo-mock-tooltip .rivyo-mock-tooltip-arrow {
  position: absolute;
  top: -6px;
  left: 30px;
  width: 10px;
  height: 10px;
  background: #ffffff !important;
  border-left: 1px solid #e0e0e0 !important;
  border-top: 1px solid #e0e0e0 !important;
  transform: rotate(45deg);
  z-index: 10001;
}

.rivyo-mock-tooltip .rivyo-mock-tooltip-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #333333 !important;
  margin-bottom: 12px !important;
  text-align: center !important;
}

.rivyo-mock-tooltip .rivyo-mock-tooltip-rows {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
}

.rivyo-mock-tooltip .rivyo-mock-tooltip-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  font-size: 13px !important;
  color: #555555 !important;
  width: 100% !important;
}

.rivyo-mock-tooltip .rivyo-mock-star-num {
  width: 12px !important;
  font-weight: 500 !important;
  display: inline-block !important;
}

.rivyo-mock-tooltip .rivyo-mock-tooltip-row svg {
  width: 12px !important;
  height: 12px !important;
  margin: 0 8px 0 4px !important;
  display: inline-block !important;
}

.rivyo-mock-tooltip .rivyo-mock-progress-bar-container {
  flex-grow: 1 !important;
  min-width: 100px !important;
  height: 8px !important;
  background: #eeeeee !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  margin-right: 10px !important;
  display: block !important;
}

.rivyo-mock-tooltip .rivyo-mock-progress-bar-filled {
  height: 100% !important;
  background: #9bc5b9 !important;
  border-radius: 4px !important;
  display: block !important;
}

.rivyo-mock-tooltip .rivyo-mock-pct-num {
  width: 35px !important;
  text-align: right !important;
  font-weight: 500 !important;
  color: #555555 !important;
  display: inline-block !important;
}

.rivyo-mock-tooltip .rivyo-mock-pct-num.empty {
  color: #999999 !important;
}

/* Constrain PDP Main Content Container max-width to match Home Page (.clnf-container: 1240px) */
.product-information__grid,
.product-recommendations,
.product-page-related-products,
.product-recommendations .animate-pulse {
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  .product-information__grid {
    display: flex !important;
    flex-direction: column !important;
  }

  .product-information__grid .product-details,
  .cc-customReco-container {
    width: 100% !important;
  }
}

.country-life-plus-cta-section,
.country-life-plus-cta-section .clnf-container,
.country-life-plus-cta-section>div {
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Set Magzo_Alt font family strictly for PDP Main Product Title */
p[role="heading"],
.product-details p[role="heading"],
.product-information p[role="heading"],
._product-details p[role="heading"],
.product-details h1,
.product-information h1,
.product-details [class*="product-title"],
.product-information [class*="product-title"],
.view-product-title p,
.view-product-title {
  font-family: 'Magzo_Alt', 'Magzo', serif !important;
}

@media screen and (min-width: 750px) {

  p[role="heading"],
  .product-details p[role="heading"],
  .product-information p[role="heading"],
  ._product-details p[role="heading"],
  .product-details h1,
  .product-information h1,
  .product-details [class*="product-title"],
  .product-information [class*="product-title"],
  .view-product-title p,
  .view-product-title {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
}

/* Ensure ancestor sections do not block sticky scrolling and outer container is block */
.product-information {
  display: block !important;
}

html,
body,
main,
#MainContent,
.shopify-section,
.product-information,
.product-information__grid,
.product-information-wrapper,
.shopify-section-group-main-content {
  overflow: visible !important;
}

@media screen and (min-width: 750px) {

  .product-information__grid,
  .product-information__grid:not(.product-information--media-none),
  [data-product-grid-content] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 48px !important;
    position: relative !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .product-information__media,
  .product-information__grid>*:first-child {
    flex: 1 1 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
  }

  /* Sticky Right Side Column on PDP */
  .product-details,
  product-details-component,
  ._product-details,
  .product-information__grid>*:nth-child(2),
  .product-information__grid>.product-details,
  .product-information__grid>product-details-component,
  .product-information__grid>._product-details,
  .product-information__grid>[data-block-type="_product-details"],
  .product-information__grid [data-testid="product-information-details"] {
    flex: 1 1 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 20px !important;
    z-index: 100 !important;
    align-self: flex-start !important;
    height: fit-content !important;
  }

  /* Expand inner group block to 100% width of column to remove right white gap */
  .product-details>.group-block,
  .product-details .group-block,
  .product-details .group-block-content,
  [data-testid="product-information-details"] .group-block,
  [data-testid="group-block"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Product Image Section Styling — matching Old CLNF Gallery with Tailwind CSS */
media-gallery {
  border-radius: 0 !important;
  position: relative !important;
  z-index: 1000 !important;
}

/* Remove grey background and card border on main product image */
.product-information__media .product-media-container {
  border-radius: 0 !important;
  overflow: visible !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-height: 520px !important;
}

.product-information__media .product-media-container img {
  border-radius: 0 !important;
  object-fit: contain !important;
  background-color: transparent !important;
  max-height: 520px !important;
}

/* Old CLNF PDP Gallery Controls Bar (Zoom left, Arrows right) */
.clnf-gallery-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 15px !important;
  margin-bottom: 20px !important;
  position: relative !important;
  z-index: 99999 !important;
  pointer-events: auto !important;
}

.clnf-gallery-bar .zoom-red,
.clnf-gallery-bar .arrow-custom {
  width: 42px !important;
  height: 42px !important;
  border-radius: 9999px !important;
  background-color: #3f685d !important;
  color: #ffffff !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease-in-out !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
  z-index: 99999 !important;
  position: relative !important;
  pointer-events: auto !important;
}

.clnf-gallery-bar .zoom-red:hover,
.clnf-gallery-bar .arrow-custom:hover {
  transform: scale(1.1) !important;
  background-color: #2d4c44 !important;
}

.clnf-gallery-bar .inner-nav {
  display: flex !important;
  gap: 10px !important;
}

/* Hide default theme overlaid slideshow arrows */
media-gallery slideshow-arrows {
  display: none !important;
}

/* Thumbnail Navigation Styling - Clean borderless image thumbnails matching Old CLNF */
.slideshow-controls__thumbnails-container {
  width: 100% !important;
  overflow-x: auto !important;
  margin-top: 20px !important;
}

.slideshow-controls__thumbnails {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

slideshow-controls .slideshow-control,
.slideshow-controls__thumbnail {
  width: calc((100% - 48px) / 4) !important;
  height: auto !important;
  aspect-ratio: 1 / 1.2 !important;
  flex: 0 0 calc((100% - 48px) / 4) !important;
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out !important;
  opacity: 0.85 !important;
}

slideshow-controls .slideshow-control:hover,
.slideshow-controls__thumbnail:hover {
  transform: scale(1.05) !important;
  opacity: 1 !important;
}

slideshow-controls .slideshow-control[aria-selected="true"],
.slideshow-controls__thumbnail[aria-selected="true"] {
  opacity: 1 !important;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

slideshow-controls .slideshow-control img,
.slideshow-controls__thumbnail img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 4px !important;
  object-fit: contain !important;
  background: transparent !important;
}

.clnf-gallery-bar .flex-prev {
  transform: none !important;
}

/* Make sure the customizer App Block is visible since we removed the hardcoded badge */
#shopify-block-rivyo-reviews-badge,
.product-details [id*="rivyo-reviews-badge"],
.group-block-content [id*="rivyo-reviews-badge"] {
  display: block !important;
}

/* Make sure the reviews badge under the product title is visible */
.product-custom-header__reviews {
  display: block !important;
  margin-top: 4px !important;
  min-height: 20px !important;
}

/* Disable stickiness of the product image gallery */
media-gallery.sticky-content {
  position: relative !important;
  top: auto !important;
}

/* Custom PDP Description Tabs styling */
.pdp-custom-tabs-container {
  width: 100% !important;
  margin-top: 24px !important;
  box-sizing: border-box !important;
}

/* ========================================
   VITALS APP TAB OVERRIDE - Prevent Vitals
   from injecting its own tab navigation
   ======================================== */

/* Hide Vitals tab headers completely */
.vt-tabs,
.vitals-tabs-container>ul.vt-tabs,
.vt-accordion {
  display: none !important;
}

/* Ensure Vitals tab content panels stay visible and occupy full space */
.vitals-tabs-container .vt-tab-content,
.vt-panel {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

.pdp-tabs-headers {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  padding-bottom: 10px !important;
}

.pdp-tab-btn {
  font-family: "Baloo 2", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #4b5563 !important;
  background-color: #f3f4f6 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 18px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.pdp-tab-btn:hover {
  background-color: #e5e7eb !important;
  color: #1f2937 !important;
}

.pdp-tab-btn.is-active {
  background-color: transparent !important;
  color: #111827 !important;
  font-weight: 600 !important;
  cursor: default !important;
}

/* Only remove left padding for the first tab button when active to align with content */
.pdp-tab-btn:first-child.is-active {
  padding-left: 0 !important;
}

.pdp-tab-panel {
  display: none !important;
  font-family: "Baloo 2", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #374151 !important;
}

.pdp-tab-panel.is-active {
  display: block !important;
}

/* Restore description heading styles inside tab panels */
.pdp-tab-panel h1,
.pdp-tab-panel h2 {
  font-family: "Magzo_Alt", serif !important;
  font-size: 28px !important;
  font-weight: bold !important;
  color: #1f2937 !important;
  line-height: 1.2 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.75rem !important;
  display: block !important;
}

.pdp-tab-panel h3 {
  font-family: "Baloo 2", sans-serif !important;
  font-size: 20px !important;
  font-weight: bold !important;
  color: #1f2937 !important;
  line-height: 1.3 !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
}

.pdp-tab-panel h4 {
  font-family: "Baloo 2", sans-serif !important;
  font-size: 17px !important;
  font-weight: bold !important;
  color: #1f2937 !important;
  line-height: 1.3 !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
}

/* Custom Favorites/Wishlist button styles */
.wishlist_btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  /* Prevent stretch in flex layouts */
  max-width: max-content !important;
  /* Ensure it only takes up width of content */
  background-color: transparent !important;
  border: 1px solid #3f685d !important;
  border-radius: 99px !important;
  color: #3f685d !important;
  font-family: "Baloo 2", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 10px 28px !important;
  cursor: pointer !important;
  transition: all 0.2s ease-in-out !important;
  margin-top: 16px !important;
  width: auto !important;
}

.wishlist_btn:hover {
  background-color: rgba(63, 104, 93, 0.05) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(63, 104, 93, 0.1) !important;
}

.wishlist_btn:active {
  transform: translateY(1px) !important;
}

.fill {
  display: none !important;
}

.active--favorites {
  color: #3f685d !important;
}

.active--favorites .fill {
  display: inherit !important;
}

.active--favorites .not-fill {
  display: none !important;
}

.product-metadata-type {
  font-family: "Baloo 2", sans-serif !important;
  font-size: 16px !important;
  color: #242424 !important;
  margin-top: 24px !important;
}

.product-metadata-type strong {
  font-weight: 700 !important;
}

.product-metadata-type span {
  color: #4b5563 !important;
  font-weight: normal !important;
  margin-left: 4px !important;
}

/* Fix Rivyo Reviews SVG/star icon layout sizing conflicts */
.rivyoReviewWidget svg,
#wc_review_section svg,
.wc-reviews-list svg,
[class*="rivyo"] svg,
[id*="rivyo"] svg,
.wc_star_cls,
img.wc_star {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Ensure Rivyo review photos, user profile avatars, and thumbnail images render at proper size */
.wc_review_item_thumbnail_item,
.wc_review_image_thumb {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  position: relative !important;
  display: inline-block !important;
}

.wc_review_item_thumbnail_item img,
.wc_review_image_thumb img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

#wc_all_review_page .wc_user_profile_img,
#wc_all_review_page .wc_review_user_img,
.wc_user_profile_img,
.wc_review_user_img {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  border-radius: 50% !important;
  display: inline-block !important;
  overflow: hidden !important;
}

#wc_all_review_page .wc_user_profile_img img,
#wc_all_review_page .wc_review_user_img img,
.wc_user_profile_img img,
.wc_review_user_img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* Allow the average rating star container/SVG to scale naturally */
.rivyoReviewWidget .wc_reviews_all_left svg,
.rivyoReviewWidget .wc_reviews_all_left img,
#wc_review_section .wc_reviews_all_left svg,
#wc_review_section .wc_reviews_all_left img,
.rivyoReviewWidget [class*="average"] svg,
.rivyoReviewWidget [class*="average"] img,
#wc_review_section [class*="average"] svg,
#wc_review_section [class*="average"] img {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
}

/* Specific sizing for ratings stars (svg and img) */
.rivyoReviewWidget .wc-reviews-stars svg,
.rivyoReviewWidget .wc-reviews-stars img,
#wc_review_section .wc-reviews-stars svg,
#wc_review_section .wc-reviews-stars img,
.wc-reviews-list .wc-reviews-stars svg,
.wc-reviews-list .wc-reviews-stars img,
.rivyo-instant-badge svg,
.rivyo-instant-badge img,
.rivyo-badge svg,
.rivyo-badge img {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  display: inline-block !important;
}

/* Specific sizing for checkmark inside verified review badges (svg and img) */
.rivyoReviewWidget .wc_reviews_all_check svg,
.rivyoReviewWidget .wc_reviews_all_check img,
.rivyoReviewWidget .wc-verified-icon svg,
.rivyoReviewWidget .wc-verified-icon img,
#wc_review_section [class*="verified"] svg,
#wc_review_section [class*="verified"] img,
.wc-reviews-list [class*="verified"] svg,
.wc-reviews-list [class*="verified"] img {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  display: inline-block !important;
}

/* Ensure horizontal flex layouts inside ratings distribution blocks and rows */
.rivyoReviewWidget .wc_reviews_all_row_right,
.rivyoReviewWidget .wc_reviews_all_row_left,
.rivyoReviewWidget .wc_reviews_all_star,
.rivyoReviewWidget .wc_reviews_all_check,
.rivyoReviewWidget .wc-verified-icon,
.rivyoReviewWidget .wc-reviews-stars,
.rivyoReviewWidget [class*="star-container"],
.rivyoReviewWidget [class*="stars-row"],
.rivyoReviewWidget .wc_reviews_all_row,
#wc_review_section .wc_reviews_all_row_right,
#wc_review_section .wc_reviews_all_row_left,
#wc_review_section .wc_reviews_all_star,
#wc_review_section .wc_reviews_all_check,
#wc_review_section .wc-verified-icon,
#wc_review_section .wc-reviews-stars,
#wc_review_section [class*="star-container"],
#wc_review_section [class*="stars-row"],
#wc_review_section .wc_reviews_all_row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Force flex display for nested stars elements */
.rivyoReviewWidget .wc_reviews_all_star,
#wc_review_section .wc_reviews_all_star,
.rivyoReviewWidget [class*="star-container"],
#wc_review_section [class*="star-container"] {
  display: inline-flex !important;
}

/* Constrain Customer Reviews widget to standard page width and center it */
.rivyoReviewWidget:not(.wc_rivyo_marked),
#wc_review_section {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 48px !important;
  margin-bottom: 48px !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}

/* Reset full-width breakout styling inside Rivyo Reviews */
.rivyoReviewWidget *,
#wc_review_section * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.rivyoReviewWidget .wc-reviews-list,
.rivyoReviewWidget [class*="list"],
.rivyoReviewWidget [class*="grid"],
.rivyoReviewWidget [class*="row"],
#wc_review_section .wc-reviews-list,
#wc_review_section [class*="list"],
#wc_review_section [class*="grid"],
#wc_review_section [class*="row"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 0 !important;
  right: 0 !important;
  position: relative !important;
}

/* Customer Reviews Rating Graph Bars Width */
#wc_review_section .wc_graph_bar,
.rivyoReviewWidget .wc_graph_bar,
.wc_reviews_summary_graph .wc_graph_bar,
.wc_review_summary_graph .wc_graph_bar {
  width: 220px !important;
  max-width: 220px !important;
  min-width: 0 !important;
  flex-shrink: 1 !important;
  flex-grow: 0 !important;
}

@media screen and (max-width: 749px) {
  .shopify-section:has(#wc_review_section) .wrapper-padded,
  .shopify-section:has(.rivyoReviewWidget) .wrapper-padded,
  #shopify-section-template--28126545838264__rivyo_reviews_section .wrapper-padded,
  div:has(> #wc_review_section).wrapper-padded,
  #shopify-section-template--28126545838264__rivyo_reviews_section,
  .shopify-section:has(#wc_review_section),
  .shopify-section:has(.rivyoReviewWidget),
  #wc_review_section,
  .rivyoReviewWidget,
  .wc_review_section,
  .wc_product_review_section,
  [id*="wc_review"],
  [id*="rivyo_reviews"] {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  #wc_review_section *,
  .rivyoReviewWidget *,
  .wc_review_section * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #wc_review_section .wc_graph_bar,
  .rivyoReviewWidget .wc_graph_bar,
  .wc_reviews_summary_graph .wc_graph_bar,
  .wc_review_summary_graph .wc_graph_bar {
    width: 120px !important;
    max-width: 120px !important;
    min-width: 80px !important;
    flex-shrink: 1 !important;
  }

  .wc_star_graph_line {
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
}

/* Constrain the ratings graph bar track in the hover popup only */
.wc_product_badge_hover .wc_graph_bar {
  width: 120px !important;
  max-width: 120px !important;
  min-width: 0 !important;
  flex-shrink: 1 !important;
  flex-grow: 0 !important;
}

/* Keep the fill bar at 100% of the constrained track (percentage comes via inline style) */
.wc_graph_bar_color {
  max-width: 100% !important;
}

/* Make each rating row tight — no space-between stretching */
.wc_star_graph_line {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
}

/* Pull the count number directly next to the bar with no extra margin */
.wc_graph_per_count {
  margin-left: 4px !important;
  flex-shrink: 0 !important;
}

/* Wrap the graph rows in a block so they don't inherit full-width flex */
.wc_review_summary_graph,
.wc_reviews_summary_graph {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  width: auto !important;
}

/* ============================================================
   "Customer Reviews" heading above Rivyo reviews section ONLY
   ============================================================ */
/* Explicitly disable ::before on the product header rating badge */
.product-details ::before,
._product-details ::before,
product-info ::before,
.product-info ::before,
[id*="main"] #wc_review_section::before,
[id*="main"] .rivyoReviewWidget::before {
  content: none !important;
  display: none !important;
}


.wc_review_head .wc_review_title h2 {
   display: block !important;
  font-family: var(--font-primary--family, Georgia, serif) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #2d2d2d !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 16px !important;
}

/* Inject "Customer Reviews" heading ONLY on the main bottom review section */
/* #shopify-section-template--28126545838264__rivyo_reviews_section #wc_review_section::before,
.shopify-section:has(#wc_review_section):not(:has(.product-details)):not(:has(_product-details)) #wc_review_section::before {
  content: "Customer Reviews" !important;
  display: block !important;
  font-family: var(--font-primary--family, Georgia, serif) !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: #2d2d2d !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 16px !important;
} */



/* Aggressively remove extra margin/padding around rating badge in product header */
[id*="rivyo-reviews-badge"],
.shopify-app-block:has([class*="badge"]),
.product-details [class*="badge"],
.product-details [class*="wc_"],
.product-details [class*="rivyo"],
._product-details [class*="badge"],
._product-details [class*="wc_"],
._product-details [class*="rivyo"],
product-info [class*="badge"],
product-info [class*="wc_"],
product-info [class*="rivyo"],
.wc_product_review_badge,
.wc_product_review_badge_inner,
.wc_badge_main_content,
.wc_star_badge,
.wc_review_badge,
[class*="wc_badge"],
[class*="wc_product_review_badge"] {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Reduce container block spacing for the badge */
[id*="rivyo-reviews-badge"] {
  margin-top: 8px !important;
  margin-bottom: 12px !important;
}


/* Constrain Country Life Plus CTA section to page max-width */
.country-life-plus-cta-section,
.shopify-section:has(.country-life-plus-cta) {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  box-sizing: border-box !important;
}

/* Hide Vitals wishlist overlay button on product media gallery images */
product-media-gallery .vitals-wishlist-product,
product-media-gallery [class*="wishlist"],
product-media-gallery [class*="vtl-wish"],
product-media-gallery [class*="vitals-wish"],
product-media-gallery shopify-app-block,
product-media-gallery .shopify-app-block {
  display: none !important;
}

/* ============================================================
   "Customers Also Bought" Product Recommendations Styling
   (Matches old theme design: soft grey container, white cards, green buttons)
   ============================================================ */
.shopify-section:has(product-recommendations),
.shopify-section:has(.product-recommendations),
product-recommendations,
.product-recommendations {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  width: 100%;
}

/* Inner grey background card wrapper for Theme recommendations */
product-recommendations>div,
.product-recommendations>div,
.shopify-section:has(product-recommendations)>div {
  background-color: #f3f4f6 !important;
  /* Soft light grey card background */
  border-radius: 20px !important;
  padding: 32px 24px !important;
  box-sizing: border-box !important;
  margin-top: 36px !important;
  margin-bottom: 36px !important;
}

/* Header title "Customers Also Bought" & "Trending Products" */
product-recommendations h3,
.product-recommendations h3,
product-recommendations [class*="header"] h3,
.ccReco-main-title,
.cc-reco-title,
.ccReco-title,
.ccReco-sliderRow-title,
.ccReco-main-section h2,
.ccReco-main-section h3,
.cc-productReco h2,
.cc-productReco h3 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-align: center !important;
  font-family: var(--font-primary--family, Georgia, serif) !important;
  font-size: 2.25rem !important;
  /* Increased heading size */
  font-weight: 700 !important;
  color: #2d2d2d !important;
  margin-bottom: 24px !important;
  margin-top: 12px !important;
  width: 100% !important;
}

/* Individual Product Cards in Theme Recommendations */
product-recommendations _product-card,
product-recommendations .product-card,
product-recommendations [class*="product-card"],
.product-recommendations _product-card,
.product-recommendations [class*="product-card"] {
  background-color: #ffffff !important;
  /* Pure white card */
  border-radius: 16px !important;
  padding: 16px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Center product title and price text inside recommendation cards, reduce title font size */
product-recommendations product-title,
product-recommendations [class*="title"],
.product-recommendations [class*="title"] {
  text-align: center !important;
  justify-content: center !important;
  width: 100% !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #2d2d2d !important;
  margin-top: 10px !important;
  margin-bottom: 6px !important;
  font-family: var(--font-primary--family, Georgia, serif) !important;
}

product-recommendations price,
product-recommendations [class*="price"],
.product-recommendations [class*="price"] {
  text-align: center !important;
  justify-content: center !important;
  width: 100% !important;
  font-size: 15px !important;
}

/* Green "Choose Options" Pill Button on Theme cards */


/* Typography override for product title block to fix font size 0 issue */
[ref="productTitleLink"],
[ref="productTitleLink"] *,
.shopify-block:has([ref="productTitleLink"]) *,
.shopify-block:has([ref="productTitleLink"]) {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #404147 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}

/* High-specificity margin spacing override for the stars review badge block */
.group-block-content>[id*="rivyo-reviews-badge"],
.group-block-content>.shopify-block:has([class*="rivyo"]),
.group-block-content>.shopify-app-block:has([id*="rivyo"]) {
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  display: block !important;
  position: relative !important;
  z-index: 20 !important;
}

/* Revert blanket zero margin/padding overrides inside the Rivyo hover popover to restore app dropdown layout */
.product-details .group-block-content .wc_product_badge_hover,
.product-details .group-block-content .wc_product_badge_hover * {
  margin: revert !important;
  padding: revert !important;
}

body .product-details .wc_product_badge_hover,
body .product-details .wc_product_review_badge .wc_product_badge_hover,
body .product-details .rivyoReviewWidget .wc_product_badge_hover {
  width: 320px !important;
  min-width: 320px !important;
  max-width: none !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}

body .product-details .wc_badge_main_content,
body .product-details .wc_product_review_badge .wc_badge_main_content,
body .product-details .rivyoReviewWidget .wc_badge_main_content {
  width: 320px !important;
  min-width: 320px !important;
  max-width: none !important;
  padding: 15px 15px 24px 15px !important;
  box-sizing: border-box !important;
}

/* Force show the reviews badge popover on hover, overriding general snize hide rules */
.shopify-block:has([class*="rivyo"]):hover .wc_product_badge_hover,
[id*="rivyo-reviews-badge"]:hover .wc_product_badge_hover,
.rivyoReviewWidget:hover .wc_product_badge_hover,
.wc_product_review_badge:hover .wc_product_badge_hover {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.product-title-block {
  padding-right: 120px !important;
  box-sizing: border-box !important;
}

/* Collection cards review stars */
.wc_review_badge_wrap {
  width: 84px !important;
  height: 15px !important;
  display: inline-block !important;
  position: relative !important;
}

.wc_review_badge_star svg,
.wc_review_badge_wrap svg {
  height: 15px !important;
  width: 84px !important;
  min-width: 84px !important;
  min-height: 15px !important;
  max-width: none !important;
  display: block !important;
}


/* Vitals Stock Scarcity position at top above product title */
.product-details>div,
.product-details .group-block-content {
  display: flex !important;
  flex-direction: column !important;
}

.product-details div[id*="vitals-stock"],
.product-details div[id*="vitals_stock"],
.product-details .vitals-stock-scarcity,
.product-details [class*="vitals-stock"],
.product-details [class*="stock-scarcity"],
.product-details [data-vitals-module*="stock"] {
  order: -100 !important;
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}

.product-details [data-block-type="title"],
.product-details .product-title-block,
.product-details .view-product-title {
  order: -90 !important;
}

/* Vitals Stock Scarcity Notice Fix */
.product-details div[class*="vitals-stock"]:not(style),
.product-details div[class*="stock-scarcity"]:not(style),
.product-details [class*="stock-scarcity"]:not(style),
.product-details [class*="vtl-su"]:not(style),
.product-details .vtl-su-main-widget:not(style) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
  order: -100 !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.vtl-su-main-widget__dot {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  margin: 0 8px 0 0 !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}

.vtl-su-main-widget__dot-element {
  position: relative !important;
  width: 12px !important;
  height: 12px !important;
  background-color: #ff534e !important;
  border-radius: 50% !important;
  display: block !important;
}

.vtl-su-main-widget__dot-element::before,
.vtl-su-main-widget__dot .vtl-su-main-widget__dot-element::before {
  content: "" !important;
  position: absolute !important;
  top: -3px !important;
  left: -3px !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background-color: rgba(255, 83, 78, 0.4) !important;
  margin: 0 !important;
  display: block !important;
  animation: vtl-su-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important;
  pointer-events: none !important;
}

.vtl-su-main-widget__text,
.vtl-su-main-widget__content,
.vtl-su-main-widget__message,
[class*="vtl-su"] span,
[class*="vtl-su"] p {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  white-space: normal !important;
  color: #ff534e !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* Force ALL style tags inside PDP and Vitals to remain hidden */
style,
style[class],
.product-details style,
[class*="vtl-su"] style,
.vtl-su-main-widget style,
style.vtlsM-stock-scarcity-traits,
style[class*="vtls"],
style[class*="stock"] {
  display: none !important;
}

@keyframes vtl-su-pulse {
  0% {
    transform: scale(0.6);
    opacity: 0.8;
  }

  50% {
    transform: scale(1.4);
    opacity: 0;
  }

  100% {
    transform: scale(0.6);
    opacity: 0;
  }
}

.product-details .vtl-su-main-widget__dot .vtl-su-main-widget__dot-element {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 12px !important;
  height: 12px !important;
}

/* -------------------------------------------------------------
 * MOBILE-ONLY HEADER ROW LAYOUT OVERRIDES (max-width: 749px)
 * Matching Old CLNF Theme Reference Image
 * ------------------------------------------------------------- */
@media screen and (max-width: 749px) {
  /* Hide How To Use button inside details column on mobile (already present in top media tab bar) */
  .variant-htu-btn,
  .how_to_use_btn {
    display: none !important;
  }

  .clnf-mobile-br {
    display: inline !important;
  }

  /* Force Row flex on Title + Share Row on Mobile */
  .clnf-pdp-title-share-row.clnf-pdp-title-share-row,
  .product-details .clnf-pdp-title-share-row,
  .group-block-content .clnf-pdp-title-share-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    clear: both !important;
  }

  /* Prevent theme 100% width on direct child block wrappers */
  .clnf-pdp-title-share-row > div,
  .clnf-pdp-title-share-row > .shopify-block,
  .clnf-pdp-title-share-row > *:first-child {
    width: auto !important;
    max-width: calc(100% - 50px) !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  .clnf-pdp-title-share-row > div:last-child,
  .clnf-pdp-title-share-row > .shopify-block:last-child,
  .clnf-pdp-title-share-row > *:last-child {
    width: 44px !important;
    max-width: 44px !important;
    min-width: 44px !important;
    flex: 0 0 44px !important;
    margin-left: auto !important;
    align-self: flex-start !important;
    margin-top: 2px !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
  }

  .clnf-pdp-title-share-row p[role="heading"],
  .clnf-pdp-title-share-row .product-title-block h1,
  .clnf-pdp-title-share-row .product-title-block p,
  .clnf-pdp-title-share-row .product-title-block a,
  .clnf-pdp-title-share-row [data-block-type="product-title"] {
    font-family: "Magzo_Alt", "Magzo", serif, var(--font-heading-family) !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    color: #2c3e35 !important;
    letter-spacing: -0.2px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  .clnf-pdp-title-share-row .product-share-button__btn {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    border: 1px solid #d1d5db !important;
    background-color: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    cursor: pointer !important;
  }

  /* Force Row flex on Rating + SKU Row on Mobile */
  .clnf-pdp-rating-sku-row.clnf-pdp-rating-sku-row,
  .product-details .clnf-pdp-rating-sku-row,
  .group-block-content .clnf-pdp-rating-sku-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    margin-top: -12px !important;
    margin-bottom: 4px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    clear: both !important;
  }

  .clnf-pdp-rating-sku-row > div,
  .clnf-pdp-rating-sku-row > .shopify-block,
  .clnf-pdp-rating-sku-row > *:first-child {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .clnf-pdp-rating-sku-row > div:last-child,
  .clnf-pdp-rating-sku-row > .shopify-block:last-child,
  .clnf-pdp-rating-sku-row > *:last-child {
    width: auto !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    text-align: right !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide Empty Shopify App Blocks that generate empty grid rows */
  .product-details .shopify-app-block:empty,
  .product-details .shopify-block:empty,
  .product-details [class*="shopify-app-block"]:empty,
  .product-details [id*="shopify-block"]:empty,
  .product-details .shopify-app-block:has(> :empty:only-child),
  .product-details .shopify-block:has(> :empty:only-child),
  .product-details [id*="pw_stock_notify"]:empty,
  .product-details [id*="upnova_product_volume"]:empty,
  .product-details [id*="vitals_trust"]:empty,
  .product-details [id*="vitals_recently"]:empty,
  .group-block-content .shopify-app-block:empty,
  .group-block-content .shopify-block:empty,
  .group-block-content [class*="shopify-app-block"]:empty,
  .group-block-content [id*="shopify-block"]:empty,
  .group-block-content .shopify-app-block:has(> :empty:only-child),
  .group-block-content .shopify-block:has(> :empty:only-child) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    border: none !important;
    overflow: hidden !important;
  }

  /* Mobile Details Column Block Gap & Spacing Refinements */
  .product-details,
  .product-details .group-block-content,
  .group-block-content,
  [data-testid="product-information-details"] .group-block-content {
    gap: 0 !important;
  }

  .product-details .group-block-content > *:not(.recently-viewed-block):not(:has(.recently-viewed-block)):not(.how_to_use_btn):not(:has(.how_to_use_btn)):not([class*="how_to_use"]):not([data-block-type*="how-to-use"]),
  .product-details .group-block-content > .shopify-block:not(:has(.recently-viewed-block)):not(:has(.how_to_use_btn)),
  .product-details > .group-block > .group-block-content > *:not(:has(.recently-viewed-block)):not(:has(.how_to_use_btn)) {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
  }

  /* 1. Variant Picker (size cards 5lb / 25lb) spacing */
  .product-details [data-block-type="variant-picker"],
  .product-details .variant-option,
  .product-details fieldset.variant-option,
  .product-details .variant-main-picker {
    margin-top: 6px !important;
    margin-bottom: 10px !important;
  }

  /* 2. Price block top and bottom spacing */
  .product-details [data-block-type="price"],
  .product-details .product-price-block,
  .product-details .price,
  .product-details .price-wrapper {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }

  /* Free shipping notice / progress bar */
  .product-details [class*="free-shipping"],
  .product-details [class*="shipping-notice"],
  .product-details .free-shipping-bar {
    margin-top: 2px !important;
    margin-bottom: 8px !important;
  }

  /* 3. Location / Country of origin block ("From: United States") */
  .product-details [data-block-type="location"],
  .product-details [data-block-type="icon-with-text"],
  .product-details [class*="location"],
  .product-details .icon-with-text,
  .group-block-content .icon-with-text {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* Horizontal rule lines */
  .product-details hr,
  .product-details .group-block-content hr {
    margin-top: 4px !important;
    margin-bottom: 2px !important;
  }

  /* 4. Convert Cart "360 people bought" / Stock scarcity badge (cc-SF-sold-section) */
  .cc-SF-sold-section,
  .cc-SF-root,
  .cc-SF-content,
  [class*="cc-SF"],
  [class*="cc-SF-"],
  .product-details [class*="bought"],
  .product-details [class*="scarcity"],
  .product-details [class*="vtl-su"],
  .product-details [data-convert-cart],
  .product-details [class*="convertcart"],
  .product-details [class*="cc-bought"],
  .product-details [id*="convertcart"],
  .product-details [id*="cc-bought"],
  .product-details .convertcart-bought-together,
  .product-details .vtl-su-main-widget,
  .product-details .clnf-recently-bought-wrapper,
  .group-block-content .clnf-recently-bought-wrapper,
  .product-details .shopify-block:has(.clnf-recently-bought-wrapper),
  .group-block-content > .shopify-block:has(.clnf-recently-bought-wrapper),
  .product-details .shopify-block:has([class*="bought"]),
  .group-block-content > div:has([class*="bought"]),
  .product-details div:has(> [class*="bought"]) {
    margin-top: 8px !important;
    margin-bottom: 6px !important;
  }

  .cc-SF-sold-section,
  .clnf-recently-bought-wrapper {
    padding: 6px 10px !important;
  }

  /* Quantity & Buy buttons / Add to Cart */
  .product-details [data-block-type="buy-buttons"],
  .product-details [data-block-type="quantity-selector"],
  .product-details .product-form,
  .product-details product-form,
  .product-details .product-form__buttons,
  .product-details .product-form-buttons,
  .product-details .product-form-buttons.spacing-style,
  .group-block-content .product-form-buttons,
  .product-details [ref="productFormButtons"],
  div.product-form-buttons,
  .product-details .shopify-block:has(product-form),
  .group-block-content > .shopify-block:has(product-form) {
    margin-top: 4px !important;
    margin-bottom: 6px !important;
    padding-top: 0 !important;
  }

  .product-details .quantity-selector-wrapper,
  .product-details .quantity-label,
  .product-details [data-block-type="quantity-selector"] {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
  }

  /* 5. Volume discount / Bundle pricing box ("Most Popular Save 5%") */
  .product-details [data-block-type="volume-pricing"],
  .product-details [class*="volume-pricing"],
  .product-details [class*="bundle"],
  .product-details [class*="tiered-pricing"],
  .product-details .volume-pricing-wrapper {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }

  /* 1.2 Slide Carousel Width for "Continue Shopping" / Recently Viewed on Mobile */
  .recently-viewed-block .recently-viewed-item-wrapper,
  .recently-viewed-item-wrapper,
  [id*="recently-viewed"] [class*="-item"],
  [id*="recently-viewed"] [class*="slide"],
  .recently-viewed-block [class*="slide"] {
    width: 82% !important;
    min-width: 82% !important;
    max-width: 82% !important;
    flex: 0 0 82% !important;
  }

  .recently-viewed-block,
  [id*="recently-viewed-block"],
  .product-details .recently-viewed-block,
  .product-details .group-block-content > .shopify-block:has(.recently-viewed-block),
  .product-details .group-block-content > div:has(.recently-viewed-block),
  .shopify-block:has(.recently-viewed-block) {
    margin-top: 16px !important;
    margin-bottom: 28px !important;
  }

  .how_to_use_btn,
  .product-details .how_to_use_btn,
  .group-block-content .how_to_use_btn,
  .product-details .group-block-content > .shopify-block:has(.how_to_use_btn),
  .product-details .group-block-content > div:has(.how_to_use_btn),
  .shopify-block:has(.how_to_use_btn),
  div:has(> .how_to_use_btn),
  [data-block-type*="how-to-use"],
  [class*="how_to_use"] {
    margin-top: 36px !important;
    margin-bottom: 16px !important;
  }

  /* Mobile Description Accordions */
  .pdp-description-tabs-mobile,
  .pdp-description-tabs-mobile .clnf-description-tabs-container,
  .pdp-description-tabs-mobile .pdp-custom-tabs-container,
  .product-details .pdp-custom-tabs-container,
  .group-block-content .pdp-custom-tabs-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .clnf-mobile-pdp-accordion {
    display: block !important;
    width: 100% !important;
    margin-top: 2px !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    clear: both !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding-bottom: 6px !important;
  }

  .clnf-pdp-accordion-summary {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    cursor: pointer !important;
    list-style: none !important;
    padding: 4px 0 !important;
    user-select: none !important;
  }

  .clnf-pdp-accordion-summary::-webkit-details-marker {
    display: none !important;
  }

  .clnf-accordion-arrow {
    transition: transform 0.2s ease !important;
    transform: rotate(-90deg) !important;
    flex-shrink: 0 !important;
  }

  .clnf-mobile-pdp-accordion[open] .clnf-accordion-arrow {
    transform: rotate(0deg) !important;
  }

  .clnf-pdp-accordion-content {
    padding-top: 8px !important;
    padding-bottom: 6px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #374151 !important;
  }
}

  /* Media Gallery Container & Overlay Controls on Mobile */
  media-gallery {
    position: relative !important;
    display: block !important;
  }

  media-gallery .slideshow-container,
  media-gallery [data-testid="slideshow-container"] {
    position: relative !important;
  }

  /* Hide default theme zoom controls and zoom-dialog button on mobile */
  zoom-dialog button,
  media-gallery zoom-dialog,
  media-gallery .slideshow-control--zoom,
  media-gallery [class*="zoom-button"],
  media-gallery button[aria-label*="zoom"],
  media-gallery button[aria-label*="Zoom"],
  media-gallery [data-action="zoom"] {
    display: none !important;
  }

  /* Overlay Buttons (Zoom on bottom-left, Prev/Next on bottom-right) */
  .clnf-gallery-bar {
    position: absolute !important;
    bottom: 56px !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    z-index: 25 !important;
    pointer-events: none !important;
  }

  .clnf-gallery-bar .imzoom,
  .clnf-gallery-bar .inner-nav {
    pointer-events: auto !important;
  }

  .clnf-gallery-bar .zoom-red {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background-color: #3f685d !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
    cursor: pointer !important;
  }

  .clnf-gallery-bar .inner-nav {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .clnf-gallery-bar .arrow-custom {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background-color: #3f685d !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
    cursor: pointer !important;
  }

  /* Media Tab Bar (Images | How To Use) directly beneath image box - Mobile Only */
  @media screen and (max-width: 749px) {
    .clnf-pdp-media-tabs {
      display: flex !important;
      width: 100% !important;
      height: 46px !important;
      margin-top: 4px !important;
      margin-bottom: 16px !important;
      border-top: 1px solid #e5e7eb !important;
      border-bottom: 1px solid #e5e7eb !important;
      background: #ffffff !important;
    }

    .clnf-pdp-media-tab {
      flex: 1 1 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 8px !important;
      font-size: 15px !important;
      font-weight: 500 !important;
      cursor: pointer !important;
      border: none !important;
      background-color: #ffffff !important;
      color: #111827 !important;
      transition: background-color 0.2s ease, color 0.2s ease !important;
    }

    .clnf-pdp-media-tab span {
      font-weight: 500 !important;
      background: transparent !important;
      color: inherit !important;
      display: inline !important;
      border: none !important;
      box-shadow: none !important;
    }

    .clnf-pdp-media-tab--htu {
      border-left: 1px solid #e5e7eb !important;
    }

    .clnf-pdp-media-tab.is-active,
    .clnf-pdp-media-tab.clnf-tab-active {
      background-color: #3f685d !important;
      color: #ffffff !important;
    }
  }
}

@media screen and (min-width: 750px), screen and (min-width: 768px), screen and (min-width: 992px), screen and (min-width: 1024px) {
  html body .clnf-pdp-media-tabs,
  html body .clnf-pdp-media-tab,
  html body .clnf-pdp-media-tab--images,
  html body .clnf-pdp-media-tab--htu,
  .product-information .clnf-pdp-media-tabs,
  .product-media-container .clnf-pdp-media-tabs,
  media-gallery .clnf-pdp-media-tabs,
  .clnf-mobile-pdp-description-accordion,
  .clnf-mobile-br,
  .clnf-gallery-bar,
  .clnf-pdp-media-tabs,
  .clnf-pdp-media-tab,
  .clnf-pdp-media-tab--images,
  .clnf-pdp-media-tab--htu,
  .pdp-description-tabs-mobile {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    pointer-events: none !important;
  }
}

/* Mobile Full Bleed for "How to use it" Watch More Section */
@media screen and (max-width: 749px) {
  #shopify-section-template--28126545838264__watch_more_product,
  .shopify-section:has(#watch-more-section),
  #watch-more-section.watch-more,
  .watch-more {
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .watch-more .wrapper-4 {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .watch-more .watch-inner-row {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Position Floating Zoom Button & Gallery Arrow Controls inside Main Image Container */
  slideshow-component,
  slideshow-container,
  media-gallery {
    position: relative !important;
  }

  slideshow-container .clnf-gallery-bar,
  .clnf-gallery-bar {
    position: absolute !important;
    top: auto !important;
    bottom: 12px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin: 0 !important;
    pointer-events: none !important;
    z-index: 25 !important;
  }

  .clnf-gallery-bar button,
  .clnf-gallery-bar .imzoom,
  .clnf-gallery-bar .inner-nav,
  .clnf-gallery-bar .arrow-custom,
  .clnf-gallery-bar .zoom-red {
    pointer-events: auto !important;
  }

  media-gallery zoom-dialog-button,
  media-gallery [data-zoom-dialog-trigger],
  media-gallery .product-media-container--zoomable > button,
  media-gallery .zoom-dialog-button,
  .product-media-container--zoomable > button,
  [data-zoom-dialog-trigger],
  zoom-dialog-button {
    bottom: 95px !important;
    top: auto !important;
    z-index: 10 !important;
  }

  media-gallery slideshow-controls,
  media-gallery .slideshow-controls,
  media-gallery .slideshow-controls__arrows,
  media-gallery slideshow-arrows,
  media-gallery .slideshow-control--prev,
  media-gallery .slideshow-control--next,
  slideshow-controls[controls-on-media] {
    bottom: 95px !important;
    top: auto !important;
    z-index: 10 !important;
  }

  /* Reduce gap between media section and product title block on mobile */
  media-gallery,
  .product-information__media,
  .product__media-wrapper,
  .product-media-container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .product-information__info,
  .product__info-wrapper,
  .product-information-content,
  .product-information-content-container,
  .product-details,
  ._product-details,
  product-details-component,
  [data-block-type="_product-details"],
  [data-testid="product-information-details"],
  .product-information__grid > *:nth-child(2),
  .product-details > .group-block,
  .product-details .group-block-content,
  ._product-details > .group-block,
  ._product-details .group-block-content,
  .group-block,
  .group-block-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Ensure gallery action buttons pin inside main image container on desktop & mobile with highest z-index */
slideshow-container {
  position: relative !important;
}

slideshow-slides,
.product-media-gallery__slideshow,
.product-media-container--image,
.clnf-zoom-window {
  z-index: 1 !important;
}

.clnf-gallery-bar {
  position: absolute !important;
  top: auto !important;
  bottom: 24px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  margin: 0 !important;
  pointer-events: none !important;
  z-index: 999999 !important;
}

.clnf-gallery-bar button,
.clnf-gallery-bar .imzoom,
.clnf-gallery-bar .inner-nav,
.clnf-gallery-bar .arrow-custom,
.clnf-gallery-bar .zoom-red,
.clnf-gallery-bar .flex-prev,
.clnf-gallery-bar .flex-next {
  pointer-events: auto !important;
  z-index: 999999 !important;
  position: relative !important;
}

@media screen and (max-width: 749px) {
  .clnf-gallery-bar {
    bottom: 90px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* Full PDP Accordion Mode (Long-Term Product Template) */
.clnf-full-pdp-accordion {
  display: block !important;
  width: 100% !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 14px 0 !important;
  margin: 0 !important;
}

.clnf-full-pdp-summary {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none !important;
  padding: 4px 0 !important;
}

.clnf-full-pdp-summary::-webkit-details-marker,
.clnf-full-pdp-summary::marker {
  display: none !important;
  content: "" !important;
}

.clnf-full-pdp-summary > span {
  display: inline-block !important;
}

.clnf-full-pdp-accordion .clnf-accordion-arrow {
  transition: transform 0.2s ease !important;
  transform: rotate(0deg) !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
  color: #6b7280 !important;
}

.clnf-full-pdp-accordion[open] .clnf-accordion-arrow {
  transform: rotate(180deg) !important;
}

.clnf-pdp-accordion-content {
  padding-top: 12px !important;
  padding-bottom: 16px !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #374151 !important;
}

.clnf-pdp-accordion-content ul,
.clnf-pdp-accordion-content ol {
  padding-left: 24px !important;
  margin-top: 8px !important;
  margin-bottom: 8px !important;
  list-style-position: outside !important;
}

.clnf-pdp-accordion-content li {
  margin-bottom: 6px !important;
  padding-left: 4px !important;
}

/* Ensure secondary hover images in recommendation & product cards have solid white background */
.product-recommendations img.absolute,
.resource-card__image--secondary,
.product-card .resource-card__image--secondary {
  background-color: #ffffff !important;
}

/* Swiper Disabled & Locked Navigation Button Styles */
.swiper-button-disabled,
.swiper-button--prev.swiper-button-disabled,
.swiper-button--next.swiper-button-disabled,
[class*="swiper-button"].swiper-button-disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

.swiper-button-lock,
.swiper-button--prev.swiper-button-lock,
.swiper-button--next.swiper-button-lock,
[class*="swiper-button"].swiper-button-lock {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   Sprout Spout PDP Price Block (Compare price + discount diff + current price)
   ========================================================================== */
.sprout-spout-price-box {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  margin: 0 0 10px 0 !important;
  line-height: normal !important;
}

.sprout-spout-price-top {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1.2 !important;
  margin-bottom: 5px !important;
}

.sprout-spout-compare-at {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: red !important;
  text-decoration: line-through !important;
  text-decoration-color: red !important;
}

.sprout-spout-discount-diff {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #404147 !important;
  text-decoration: none !important;
}

.sprout-spout-price-bottom {
  display: flex !important;
  align-items: baseline !important;
  line-height: 1 !important;
}

.sprout-spout-current-price {
  font-family: "Sweet SansPro Regular", sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #404147 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.1 !important;
}