.woocommerce-product-gallery__image {
  pointer-events: none; /* Disable zoom hover effect */
}

/* Zoom-icon trigger replaced by AbrProductGalleryClick.js, which makes the
   whole main image clickable to open the same lightbox. */
.woocommerce-product-gallery__trigger {
  display: none;
}

/* Stripe's own "pay later" Affirm messaging widget (FunnelKit gateway
   plugin) duplicates the page's own, correctly-styled Affirm text near the
   price -- and renders in a cross-origin iframe that can't inherit the
   site's font, so it always shows in the browser default (serif) instead
   of Poppins. Hidden in favor of the theme's own Affirm messaging. */
.fkwcs_paylater_messaging {
  display: none !important;
}

.wc-block-components-product-sale-badge {
  display: none!important;
}

/* Filter/ordering dropdown */
.woocommerce-ordering {
  display: flex;
  justify-content: flex-end; 
  margin-bottom: 20px;
}

.woocommerce-ordering .orderby {
  appearance: none; 
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 10px 15px;
  font-size: 14px;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.3s ease;
}

.woocommerce-ordering .orderby {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M212.7 363.3c6.2 6.2 16.4 6.2 22.6 0l160-160c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 329.4 75.3 180.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l160 160z"/></svg>');

  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
}

.woocommerce-ordering .orderby:hover {
  border-color: #aaa;
  background-color: #fff;
}

.woocommerce-ordering .orderby:focus {
  outline: none;
}




/* Products block and Related Products block */
ul.wc-block-product-template__responsive {
  grid-gap: clamp(15px, 3.3vw, 30px);
  min-width: 330px;
}

ul.wc-block-product-template__responsive.columns-3 {
  grid-template-columns: repeat(auto-fill,minmax(max(150px,calc(33.33333% - 30px)),1fr));
}

ul.wc-block-product-template__responsive.columns-4 {
  grid-template-columns: repeat(auto-fill,minmax(max(150px,calc(25% - 23px)),1fr));
}

.woocommerce ul .wc-block-components-product-image {
  overflow: hidden;
  border-radius: 8px;
}

.woocommerce ul li.product img {
  transition: transform 0.3s ease;
  border-radius: 8px;
}

.woocommerce ul li.product:hover img {
  transform: scale(1.03);
}

.woocommerce ul li.product h3 {
  font-weight: 500!important;
}

.woocommerce ul .wc-block-components-product-price {
  display: flex;
  gap: 12px;
  align-items: center;
}

.woocommerce ul .wc-block-components-product-price ins {
  order:-1;
  text-decoration: none;
  font-weight: 600;
  font-size: 18px;
}

.woocommerce ul .wc-block-components-product-price del {
  font-size: 13px;
}


/* ? */
.wp-block-post-template.is-flex-container.columns-4>li {
  width: calc(25% - 23px);
}
.wp-block-post-template.is-flex-container {
  gap: 30px;
}






/*breadcrumbs*/
.woocommerce .woocommerce-breadcrumb {
  margin:0!important;
}




/* Single Product page */
.woocommerce .wp-block-woocommerce-product-image-gallery span.onsale {
  display: none;
}

.woocommerce .wp-block-woocommerce-product-image-gallery {
  clear: both;
  max-width: 725px;
  position: relative;
}

.woocommerce-product-gallery > .flex-viewport {
  border-radius: 8px;
}

.woocommerce-product-gallery ol {
  display: flex;
  gap: 16px;
  margin-top: 28px!important;
}

.woocommerce-product-gallery ol li {
  border-radius: 8px;
  overflow: hidden;
}

.wp-block-add-to-cart-form .quantity {
  display: none!important;
}

.wp-block-woocommerce-product-details .woocommerce-Tabs-panel h2 {
  display: none;
}

.woocommerce div.product form.cart {
  margin-bottom: 1em;
}

/* Single Product page - bullets */
.woocommerce-Tabs-panel--description ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top:28px;
}

.woocommerce-Tabs-panel--description ul li {
  position: relative;
  padding-left: 35px;
  margin: 12px 0;
}

.woocommerce-Tabs-panel--description ul li::after {
  content: url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22 width%3D%2220%22 height%3D%2220%22 viewBox%3D%220%200%2030%2030%22%3E%3Cdefs%3E%3CclipPath id%3D%22clip-path%22%3E%3Crect width%3D%2230%22 height%3D%2230%22 fill%3D%22%23f7821e%22/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path%3D%22url(%23clip-path)%22%3E%3Cpath d%3D%22M15%2C0A15%2C15%2C0%2C1%2C0%2C30%2C14.964%2C15.007%2C15.007%2C0%2C0%2C0%2C15%2C0m7%2C13.012-7.788%2C7.807a2.088%2C2.088%2C0%2C0%2C1-3.029%2C0l-3.894-3.9a2.234%2C2.234%2C0%2C0%2C1%2C0-3.036%2C2.22%2C2.22%2C0%2C0%2C1%2C3.029%2C0l2.38%2C2.386%2C6.274-6.289A2.144%2C2.144%2C0%2C0%2C1%2C22%2C13.012%22 fill%3D%22%230a957d%22/%3E%3C/g%3E%3C/svg%3E');
  position: absolute;
  left: 0;
  top: 50%;
  transform:translateY(-50%);
  height: 20px;
  width: 20px;
}

/* Single Product page - right column (.abr-product-info)*/
.woocommerce .abr-product-info > *{
  margin-block-start: 18px;
}

.woocommerce .abr-product-info .wc-block-components-product-price {
  display: flex;
  gap: 12px;
  align-items: center;
}

.woocommerce .abr-product-info .wc-block-components-product-price ins {
  order:-1;
  text-decoration: none;
  font-weight: 600;
}

.woocommerce .abr-product-info .wc-block-components-product-price del {
  font-size: 18px;
}






/*php products*/
ul.products {
  display: flex;
  column-gap:30px;
  row-gap:30px;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 24px;
}

ul.products > li {
  flex: 0 0 calc(25% - 23px);
}

@media(max-width:900px) {
  ul.products {
    flex-wrap: wrap;
  }

  ul.products > li {
    flex: 0 0 calc(50% - 16px);
  }
}


@media(max-width:480px) {
  ul.products {
    column-gap:15px;
  }

  ul.products > li {
    /*
    flex: 0 0 100%;
    */
    flex: 0 0 calc(50% - 8px);
  }
}


ul.products > li:hover img.attachment-woocommerce_thumbnail{
opacity: 0.8;
}

ul.products img.attachment-woocommerce_thumbnail {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

ul.products h2 {
  font-style: normal;
  font-weight: 500;
  font-size: var(--wp--preset--font-size--medium) !important;
  text-transform: capitalize;
  margin-top: 12px;
}

ul.products a {
  text-decoration: none!important;
  color:var(--wp--preset--color--text-1);
}

ul.products a.add_to_cart_button {
  display: none;
}

ul.products span.onsale {
  display: none;
}

ul.products .price {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
}

ul.products .price ins {
  order:-1;
  text-decoration: none;
  font-weight: 600;
  font-size: 18px;
}

ul.products .price del {
  font-size: 13px;
}





/*gutenberg-block products*/
.products-block-post-template h3.wp-block-post-title {
  font-weight: 500;
}




/*cart */


.woocommerce-cart h1.wp-block-post-title {
  max-width: 1452px!important;
}

table.wc-block-cart-items thead tr {
  background-color: var(--wp--preset--color--background);
}

table.wc-block-cart-items thead tr th {
  visibility: visible!important;
  padding-top: 20px!important;
  padding-bottom: 20px!important;
}

table.wc-block-cart-items tbody td:nth-child(2) {
  padding-left: clamp(3px, 2.2vw, 33px)!important;
}



table.wc-block-cart-items .wc-block-components-sale-badge {
  display: none;
}

.wc-block-cart-item__wrap a {
  text-decoration: none;
  color:var(--wp--preset--color--text-1);
  font-size: clamp(16px, 1.2vw, 18px);
  font-weight: 500;
}

.wc-block-cart-item__wrap .wc-block-components-product-price {
  display: flex;
  gap: 12px;
  align-items: center;
}

.wc-block-cart-item__wrap .wc-block-components-product-price ins {
  order:-1;
  text-decoration: none;
  font-weight: 400;
  font-size: 16px;
  margin-left:0;
}

.wc-block-cart-item__wrap .wc-block-components-product-price del {
  font-size: 13px;
  display: none;
}

.wc-block-cart-item__wrap ul.wc-block-components-product-details {
  font-size: clamp(14px, 1vw, 15px);
  border: 1px solid lightgray;
  border-radius: 20px;
  padding: 20px;
  margin-top: 20px;
}

.wc-block-cart-item__wrap ul.wc-block-components-product-details > li {
  margin: 10px 0;
  display: flex;
}

.wc-block-cart-item__wrap ul.wc-block-components-product-details > li:first-child {
  margin-top: 0;
}

.wc-block-cart-item__wrap ul.wc-block-components-product-details > li:last-child {
  margin-bottom: 0;
}

.wc-block-cart-item__wrap ul.wc-block-components-product-details > li > span{
  flex:1;
}

.wc-block-cart-items__row {
  position: relative;
}





.storeitherefornow ul.wc-block-components-product-details {
  
}

@media(max-width:1120px) {
  .wc-block-cart-item__wrap ul.wc-block-components-product-details {
    /*
    width: 120%;
    left: -10px;
    */
    width: 152%;
    position: relative;
    left: -92px;
  }
  .wc-block-cart-item__wrap ul.wc-block-components-product-details > li > span:last-child{
    text-align: right;
  }

}


.wc-block-cart-item__wrap ul.wc-block-components-product-details.abr-woo-cart-product-details-ul-clonedx {
  position: absolute;
  top: 97px;
  left: 0;
  background-color: #fff;
  width: calc(100vw - 50px);
  box-sizing: border-box;
  
  display: none;
}

@media(max-width:757px) {

  .wc-block-cart-item__wrap ul.wc-block-components-product-details {
    position: absolute;
    top: 97px;
    left: 0;
    background-color: #fff;
    width: calc(100vw - 50px);
    box-sizing: border-box;

  }

  .wc-block-cart-item__wrap ul.wc-block-components-product-details.abr-woo-cart-product-details-ul-clonedx {
    display: block;
  }

}

.wc-block-cart-item__wrap ul.wc-block-components-product-details .wc-block-components-product-details__name {
  font-weight: 500;
}


.wc-block-cart-item__wrap .wc-block-components-quantity-selector__input {
  font-weight: 600!important;
  font-size: 15px!important;
  padding: 13px 0;
}

.wc-block-cart__sidebar {
  padding: clamp(17px, 1.6vw, 25px) clamp(20px, 2.2vw, 33px);
  border: 1px solid #c9cfd6;
  border-radius: 20px;
  height: max-content;
}

@media(max-width:757px) {
  .is-medium.wc-block-components-sidebar-layout .wc-block-components-sidebar {

  }

  .is-small.wc-block-components-sidebar-layout .wc-block-components-sidebar {

  }
  .wc-block-cart__sidebar {
    border:none;
  }

  .wc-block-components-radio-control .wc-block-components-radio-control__input {
    left: 4px!important;
  }
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item {
  padding-left: 0!important;
  padding-right: 0!important;
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon {
  padding-left: 0!important;
  padding-right: 0!important;
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-shipping-rates-control__package {
  padding-left: 0!important;
  padding-right: 0!important;
}

.wc-block-components-totals-wrapper:first-of-type {
  border-top:0;
}

.wc-block-cart__totals-title {
  font-size: 18px!important;
}

.wc-block-cart__submit {
  margin-top: 15px;
}



/*success alert*/
.wc-block-components-notice-banner.is-success>svg {
  background-color: var(--wp--preset--color--accent-1);
}

.wc-block-components-notice-banner.is-info>svg {
  background-color: var(--wp--preset--color--secondary);
}


@media(max-width:768px){
  .wp-block-woocommerce-product-details ul.tabs.wc-tabs {
    display: flex;
    flex-wrap: wrap;
    row-gap: 7px;
  }

  .wp-block-woocommerce-product-details ul.tabs.wc-tabs > li {
    flex: 0 0 calc(50% - 2px);
    border-color: lightgray;
    border-left: 2px solid lightgray;
    display: flex!important;
    align-items: center;
  }

  html body .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li {
    border-color: lightgray;
    border-left: 2px solid lightgray;
  }
}

.wc-block-cart-item__remove-link {
  position: relative;
  padding-left: 21px!important;
}

.wc-block-cart-item__remove-link:first-of-type::before{
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="14px" viewBox="0 0 448 512"><path d="M135.2 17.7C140.6 6.8 151.7 0 163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm96 64c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16z"/></svg>');
  position: absolute;
  top: 1px;
  left: 0;
}

.wc-block-cart-item__remove-link:nth-of-type(2)::before{
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="14px" viewBox="0 0 512 512"><path d="M94 187.1C120.8 124.1 183.3 80 256 80c39.7 0 77.8 15.8 105.9 43.9L414.1 176 360 176c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24l0-112c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 54.1L395.9 89.9C358.8 52.8 308.5 32 256 32C163.4 32 83.9 88.2 49.8 168.3c-5.2 12.2 .5 26.3 12.7 31.5s26.3-.5 31.5-12.7zm368 157c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6C391 388.1 328.6 432 256 432c-39.7 0-77.8-15.8-105.9-43.9L97.9 336l54.1 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L40 288c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-54.1 52.1 52.1C153.2 459.2 203.5 480 256 480c92.5 0 171.8-56 206-135.9z"/></svg>');
  position: absolute;
  top: 1px;
  left: 0;
}

@media(max-width:480px) {
  .wc-block-cart-item__remove-link:nth-of-type(2){
   display: none!important;
  }

}



.wp-block-woocommerce-order-confirmation-totals-wrapper h3,
.wp-block-woocommerce-order-confirmation-shipping-wrapper h3,
.wp-block-woocommerce-order-confirmation-billing-wrapper h3

{
  font-size: clamp(18px, 1.6vw, 24px)!important;
}




/* Newest Products Woo-Gutenberg Block */


.wp-block-product-new.wc-block-product-new a.wc-block-grid__product-link {
  display: block;
  width: 100%;
  text-decoration: none;
  color: var(--wp--preset--color--text-1);
}

.wp-block-product-new.wc-block-product-new div.wc-block-grid__product-image{
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}

.wp-block-product-new.wc-block-product-new img.attachment-woocommerce_thumbnail {
  border-radius: 8px;
}

.wp-block-product-new.wc-block-product-new .wc-block-grid__product-onsale {
  display: none;
}


.wp-block-product-new.wc-block-product-new .wc-block-grid__product-title {
  font-size: clamp(16px, 1.4vw, 20px)!important;
  font-weight: 500!important;
  text-align: left;
}



.wp-block-product-new.wc-block-product-new .wc-block-grid__product-price {
  display: flex;
  gap: 12px;
  align-items: center;
}

.wp-block-product-new.wc-block-product-new .wc-block-grid__product-price ins {
  order: -1;
  text-decoration: none;
  font-weight: 600;
  font-size: 18px;
}

.woocommerce-form-login {
  margin-right: auto!important;
  margin-left: auto!important;
  max-width: 430px;
  padding: clamp(20px, 2vw, 30px)!important;
  background-color: #f7f7f7;
  margin-bottom: 45px!important;
}



.woocommerce-ResetPassword {
  margin-right: auto!important;
  margin-left: auto!important;
  max-width: 640px;
  padding: 80px 0!important;

}

.woocommerce-account .woocommerce > h2:first-of-type {
  margin-top: 33px!important;
  margin-right: auto!important;
  margin-left: auto!important;
  max-width: 430px;
}

/* --- Layout-shift fixes (2026-09-17, speed baseline work) -----------------------
   The Affirm "as low as" line is a bare "-" until Affirm's script fills it, and it
   grew by ~24px when it did, pushing everything below it down. Its final height is
   reserved up front; the :has(*) rule hands the space back the moment Affirm has
   put its own markup in, so nothing is reserved twice.
   The other half of this page's layout jump is the product gallery, and it is held
   by js/website/main.js - CSS could not do it. Two CSS attempts were measured and
   dropped: hiding the pre-slider quarter-width images (CLS 0.259 -> 0.375, the area
   then starts shorter than it ends), and a fixed aspect-ratio box (fixed the cover
   page, clipped the thumbnails off lifter pages, whose photos are a different shape). */
.affirm-as-low-as {
  min-height: 25px;
}
@media (max-width: 781px) {
  .affirm-as-low-as {
    min-height: 46px;
  }
}
.affirm-as-low-as:has(*) {
  min-height: 0;
}
