.elementor-103 .elementor-element.elementor-element-3dcb5d5{--display:flex;--min-height:291px;}.elementor-103 .elementor-element.elementor-element-3dcb5d5.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-082845c{--e-image-carousel-slides-to-show:1;}.elementor-103 .elementor-element.elementor-element-082845c.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-103 .elementor-element.elementor-element-307611b{--spacer-size:50px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-103 .elementor-element.elementor-element-1f0afa3{text-align:center;}.elementor-103 .elementor-element.elementor-element-1f0afa3 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-weight:600;text-transform:uppercase;color:#F02C8B;}.elementor-103 .elementor-element.elementor-element-2d64c5e{--display:flex;}.elementor-103 .elementor-element.elementor-element-2d64c5e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-cc29bcb{--display:flex;}.elementor-103 .elementor-element.elementor-element-ac93ca0.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-ac93ca0 img{border-radius:20px 20px 20px 20px;}.elementor-103 .elementor-element.elementor-element-ac93ca0 .widget-image-caption{color:#FF4699;font-family:"Roboto", Sans-serif;font-weight:400;font-style:normal;}.elementor-103 .elementor-element.elementor-element-eac81dc{--display:flex;}.elementor-103 .elementor-element.elementor-element-12bad3d img{border-radius:20px 20px 20px 20px;}.elementor-103 .elementor-element.elementor-element-12bad3d .widget-image-caption{color:#FF4699;font-family:"Roboto", Sans-serif;font-weight:400;font-style:normal;}.elementor-103 .elementor-element.elementor-element-a37c150{--display:flex;}.elementor-103 .elementor-element.elementor-element-fb8738a img{border-radius:20px 20px 20px 20px;}.elementor-103 .elementor-element.elementor-element-fb8738a .widget-image-caption{color:#FF4699;font-family:"Roboto", Sans-serif;font-weight:400;font-style:normal;}.elementor-103 .elementor-element.elementor-element-c3020dc{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;}.elementor-103 .elementor-element.elementor-element-76db7b4{--display:flex;}.elementor-103 .elementor-element.elementor-element-76db7b4.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-c07bb1f{--display:flex;}.elementor-103 .elementor-element.elementor-element-688085c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-688085c .widget-image-caption{color:#FF4699;font-family:"Roboto", Sans-serif;font-weight:400;font-style:normal;}.elementor-103 .elementor-element.elementor-element-465b83d{--display:flex;}.elementor-103 .elementor-element.elementor-element-eae1f5e .widget-image-caption{color:#FF4699;font-family:"Roboto", Sans-serif;font-weight:400;font-style:normal;}.elementor-103 .elementor-element.elementor-element-02e38f3{--display:flex;}.elementor-103 .elementor-element.elementor-element-d3f77a7 .widget-image-caption{color:#FF4699;font-family:"Roboto", Sans-serif;font-weight:400;font-style:normal;}.elementor-103 .elementor-element.elementor-element-4aa0ce8{--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;}.elementor-103 .elementor-element.elementor-element-fc613d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-a1201bb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-562658c{text-align:center;}.elementor-103 .elementor-element.elementor-element-562658c .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-weight:600;text-transform:uppercase;color:#F02C8B;}.elementor-103 .elementor-element.elementor-element-e40bc9f.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-103 .elementor-element.elementor-element-2e5454a .elementor-button{background-color:#FF4699;font-family:"Work Sans", Sans-serif;font-weight:500;border-radius:193px 193px 193px 193px;}.elementor-103 .elementor-element.elementor-element-2e5454a > .elementor-widget-container{margin:20px 0px 50px 0px;padding:0px 0px 0px 0px;}.elementor-103 .elementor-element.elementor-element-4485fd3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-51d9662{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-611e6c2{text-align:center;}.elementor-103 .elementor-element.elementor-element-611e6c2 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-weight:600;text-transform:uppercase;color:#F02C8B;}.elementor-103 .elementor-element.elementor-element-736f64c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-b9c144d .elementor-button{background-color:#FF4699;font-family:"Work Sans", Sans-serif;font-weight:500;border-radius:193px 193px 193px 193px;}.elementor-103 .elementor-element.elementor-element-b9c144d > .elementor-widget-container{margin:20px 0px 50px 0px;padding:0px 0px 0px 0px;}.elementor-103 .elementor-element.elementor-element-2cdba6d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-e63d5cf{text-align:center;}.elementor-103 .elementor-element.elementor-element-e63d5cf .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-weight:600;text-transform:uppercase;color:#F02C8B;}.elementor-103 .elementor-element.elementor-element-99ab18b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-103 .elementor-element.elementor-element-99ab18b.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-d0c020d.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-d5b21bf .elementor-button{background-color:#FF4699;font-family:"Work Sans", Sans-serif;font-weight:500;border-radius:193px 193px 193px 193px;}.elementor-103 .elementor-element.elementor-element-d5b21bf > .elementor-widget-container{margin:20px 0px 50px 0px;padding:0px 0px 0px 0px;}.elementor-103 .elementor-element.elementor-element-66a266b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-bbe1226{text-align:center;}.elementor-103 .elementor-element.elementor-element-bbe1226 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-weight:600;text-transform:uppercase;color:#F02C8B;}.elementor-103 .elementor-element.elementor-element-050754a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-103 .elementor-element.elementor-element-050754a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-95a0a68.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-7664318 .elementor-button{background-color:#FF4699;font-family:"Work Sans", Sans-serif;font-weight:500;border-radius:193px 193px 193px 193px;}.elementor-103 .elementor-element.elementor-element-7664318 > .elementor-widget-container{margin:20px 0px 50px 0px;padding:0px 0px 0px 0px;}.elementor-103 .elementor-element.elementor-element-bebafd3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-1db2eca{text-align:center;}.elementor-103 .elementor-element.elementor-element-1db2eca .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-weight:600;text-transform:uppercase;color:#F02C8B;}.elementor-103 .elementor-element.elementor-element-b760a8e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-00d3d31.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-92d4324 .elementor-button{background-color:#FF4699;font-family:"Work Sans", Sans-serif;font-weight:500;border-radius:193px 193px 193px 193px;}.elementor-103 .elementor-element.elementor-element-92d4324 > .elementor-widget-container{margin:20px 0px 50px 0px;padding:0px 0px 0px 0px;}.elementor-103 .elementor-element.elementor-element-166d88d{--display:flex;--margin-top:0px;--margin-bottom:-80px;--margin-left:0px;--margin-right:0px;--padding-top:47px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-premium-addon-instagram-feed .premium-insta-heart{color:var( --e-global-color-primary );}.elementor-widget-premium-addon-instagram-feed .premium-insta-likes{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-premium-addon-instagram-feed .premium-insta-comment{color:var( --e-global-color-primary );}.elementor-widget-premium-addon-instagram-feed .premium-insta-comments{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-premium-addon-instagram-feed .premium-insta-image-caption{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-premium-addon-instagram-feed .premium-instafeed-container .slick-arrow{color:var( --e-global-color-primary );background-color:var( --e-global-color-secondary );}.elementor-widget-premium-addon-instagram-feed .premium-instafeed-container .slick-arrow svg, .elementor-widget-premium-addon-instagram-feed .premium-instafeed-container .slick-arrow svg path{fill:var( --e-global-color-primary );}.elementor-widget-premium-addon-instagram-feed .premium-instafeed-container .slick-arrow:hover{color:var( --e-global-color-primary );background-color:var( --e-global-color-secondary );}.elementor-widget-premium-addon-instagram-feed .premium-instafeed-container .slick-arrow:hover svg, .elementor-widget-premium-addon-instagram-feed .premium-instafeed-container .slick-arrow:hover svg path{fill:var( --e-global-color-primary );}.elementor-widget-premium-addon-instagram-feed .premium-instafeed-sharer{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-premium-addon-instagram-feed .premium-instafeed-share-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-insta-feed{width:33.33%;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-insta-img-wrap img{height:300px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-instafeed-container a.carousel-arrow.carousel-next{right:8px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-instafeed-container a.carousel-arrow.carousel-prev{left:8px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-insta-img-wrap{border-radius:0px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-insta-feed-wrap:hover .premium-insta-img-wrap{border-radius:0px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-instafeed-container{border-style:solid;border-radius:0px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-instafeed-container .slick-arrow{color:#FF4699;background-color:#FFD4F1;border-radius:100px;padding:0px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-instafeed-container .slick-arrow svg, .elementor-103 .elementor-element.elementor-element-e44f59c .premium-instafeed-container .slick-arrow svg path{fill:#FF4699;}.elementor-103 .elementor-element.elementor-element-d930094{width:100%;max-width:100%;}.elementor-103 .elementor-element.elementor-element-d930094 > .elementor-widget-container{--e-transform-scale:1;}@media(min-width:768px){.elementor-103 .elementor-element.elementor-element-2d64c5e{--width:100%;}.elementor-103 .elementor-element.elementor-element-76db7b4{--width:100%;}.elementor-103 .elementor-element.elementor-element-99ab18b{--width:91.334%;}.elementor-103 .elementor-element.elementor-element-050754a{--width:91.334%;}.elementor-103 .elementor-element.elementor-element-166d88d{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-103 .elementor-element.elementor-element-3dcb5d5{--width:730px;}.elementor-103 .elementor-element.elementor-element-99ab18b{--width:777.719px;}.elementor-103 .elementor-element.elementor-element-050754a{--width:777.719px;}}@media(max-width:1024px){.elementor-103 .elementor-element.elementor-element-082845c{width:var( --container-widget-width, 964.587px );max-width:964.587px;--container-widget-width:964.587px;--container-widget-flex-grow:0;}.elementor-103 .elementor-element.elementor-element-c3020dc{--e-n-carousel-swiper-slides-to-display:2;}.elementor-103 .elementor-element.elementor-element-4aa0ce8{--e-n-carousel-swiper-slides-to-display:2;}.elementor-103 .elementor-element.elementor-element-e40bc9f{width:var( --container-widget-width, 918px );max-width:918px;--container-widget-width:918px;--container-widget-flex-grow:0;}.elementor-103 .elementor-element.elementor-element-736f64c{width:var( --container-widget-width, 918px );max-width:918px;--container-widget-width:918px;--container-widget-flex-grow:0;}.elementor-103 .elementor-element.elementor-element-d0c020d{width:var( --container-widget-width, 918px );max-width:918px;--container-widget-width:918px;--container-widget-flex-grow:0;}.elementor-103 .elementor-element.elementor-element-95a0a68{width:var( --container-widget-width, 918px );max-width:918px;--container-widget-width:918px;--container-widget-flex-grow:0;}.elementor-103 .elementor-element.elementor-element-00d3d31{width:var( --container-widget-width, 918px );max-width:918px;--container-widget-width:918px;--container-widget-flex-grow:0;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-insta-feed{width:50%;}}@media(max-width:767px){.elementor-103 .elementor-element.elementor-element-3dcb5d5{--width:500px;}.elementor-103 .elementor-element.elementor-element-082845c{--e-image-carousel-slides-to-show:1;}.elementor-103 .elementor-element.elementor-element-307611b{--spacer-size:33px;}.elementor-103 .elementor-element.elementor-element-1f0afa3{text-align:center;}.elementor-103 .elementor-element.elementor-element-1f0afa3 .elementor-heading-title{font-size:30px;}.elementor-103 .elementor-element.elementor-element-2d64c5e{--min-height:0px;}.elementor-103 .elementor-element.elementor-element-ac93ca0{width:var( --container-widget-width, 252px );max-width:252px;--container-widget-width:252px;--container-widget-flex-grow:0;}.elementor-103 .elementor-element.elementor-element-ac93ca0 img{border-radius:60px 60px 60px 60px;}.elementor-103 .elementor-element.elementor-element-12bad3d img{border-radius:50px 50px 50px 50px;}.elementor-103 .elementor-element.elementor-element-fb8738a > .elementor-widget-container{border-radius:15px 15px 15px 15px;}.elementor-103 .elementor-element.elementor-element-fb8738a img{border-radius:50px 50px 50px 50px;}.elementor-103 .elementor-element.elementor-element-c3020dc{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:-10px;}.elementor-103 .elementor-element.elementor-element-76db7b4{--min-height:0px;}.elementor-103 .elementor-element.elementor-element-688085c{width:var( --container-widget-width, 252px );max-width:252px;--container-widget-width:252px;--container-widget-flex-grow:0;}.elementor-103 .elementor-element.elementor-element-688085c img{border-radius:60px 60px 60px 60px;}.elementor-103 .elementor-element.elementor-element-eae1f5e img{border-radius:50px 50px 50px 50px;}.elementor-103 .elementor-element.elementor-element-d3f77a7 > .elementor-widget-container{border-radius:15px 15px 15px 15px;}.elementor-103 .elementor-element.elementor-element-d3f77a7 img{border-radius:50px 50px 50px 50px;}.elementor-103 .elementor-element.elementor-element-4aa0ce8{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:-10px;}.elementor-103 .elementor-element.elementor-element-562658c{text-align:center;}.elementor-103 .elementor-element.elementor-element-562658c .elementor-heading-title{font-size:30px;}.elementor-103 .elementor-element.elementor-element-611e6c2{text-align:center;}.elementor-103 .elementor-element.elementor-element-611e6c2 .elementor-heading-title{font-size:30px;}.elementor-103 .elementor-element.elementor-element-e63d5cf{text-align:center;}.elementor-103 .elementor-element.elementor-element-e63d5cf .elementor-heading-title{font-size:30px;}.elementor-103 .elementor-element.elementor-element-99ab18b{--width:399px;--min-height:297px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--border-radius:0px 0px 0px 0px;}.elementor-103 .elementor-element.elementor-element-bbe1226{text-align:center;}.elementor-103 .elementor-element.elementor-element-bbe1226 .elementor-heading-title{font-size:30px;}.elementor-103 .elementor-element.elementor-element-050754a{--width:399px;--min-height:297px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--border-radius:0px 0px 0px 0px;}.elementor-103 .elementor-element.elementor-element-1db2eca{text-align:center;}.elementor-103 .elementor-element.elementor-element-1db2eca .elementor-heading-title{font-size:30px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-insta-feed{width:100%;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-insta-img-wrap img{height:416px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-instafeed-container a.carousel-arrow.carousel-next{right:0px;}.elementor-103 .elementor-element.elementor-element-e44f59c .premium-instafeed-container a.carousel-arrow.carousel-prev{left:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-e40bc9f *//* === Slider container === */
/* Desktop: Grid for 4 products */
.shopify-product-slider {
  display: grid; /* Explicitly set to grid for desktop */
  grid-template-columns: repeat(4, 1fr); /* 4 equal columns for desktop */
  gap: 0.5rem; /* Consistent gap between grid items */
  padding: 0; /* Removed 1rem horizontal padding for desktop */
  margin: 0;
  list-style: none;
  /* Ensure no lingering flex/scroll properties from lower breakpoints */
  overflow-x: unset; /* Ensure no horizontal scrolling on desktop */
  scroll-snap-type: none; /* Ensure no scroll snapping on desktop */
  -webkit-overflow-scrolling: auto; /* Revert to default scrolling behavior */
}

/* NEW RULE: Hide any items beyond the 4th child for desktop */
.shopify-product-slider > *:nth-child(n+5) {
    display: none;
}

.shopify-product-slider::-webkit-scrollbar {
  display: none; /* Keep scrollbar hidden */
}

/* === Card width === */
/* Desktop: Card naturally fits grid (no specific flex-basis needed) */
.shopify-product-card {
  display: flex;
  flex-direction: column;
  /* No scroll-snap-align as it's a grid */
}

/* === View All Card === */
/* Desktop: Fits in grid like other cards (but will be hidden by the above rule if it's the 5th or later item) */
.view-all-card {
  display: flex;
  align-items: center;
  justify-content: center;
  /* No scroll-snap-align as it's a grid */
}

/* Tablet: 3 products horizontal slider */
@media (max-width: 1024px) {
  .shopify-product-slider {
    display: flex; /* Back to flex for tablet slider */
    overflow-x: auto; /* Enable horizontal scrolling */
    scroll-snap-type: x mandatory; /* Enable scroll snapping */
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem; /* Ensure gap is consistent for slider */
    padding: 0 1rem; /* Re-add 1rem horizontal padding for tablet slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* 3 items with 0.5rem gap (2 gaps = 1rem) */
    scroll-snap-align: start; /* Enable scroll snapping for cards */
  }

  .view-all-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* Same width as product card for consistency */
    scroll-snap-align: start;
  }
}

/* Mobile: 2 products horizontal slider */
@media (max-width: 767px) {
  .shopify-product-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem;
    padding: 0 1rem; /* Re-add 1rem horizontal padding for mobile slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* 2 items with 0.5rem gap (1 gap = 0.5rem) */
    scroll-snap-align: start;
  }

  .view-all-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* Same width as product card */
    scroll-snap-align: start;
  }
}

/* --- The rest of your CSS remains unchanged --- */

.view-all-button {
  color: #f93d99;
  font-weight: 600;
  font-size: 14px;
  padding: 1rem;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.view-all-button:hover {
  background: #f93d99;
  color: #fff;
}

/* === Card layout (matches Shopify card--standard card--media) === */
.card--standard {
  background: none;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  flex-grow: 1; /* Allows card content to expand */
  display: flex;
  flex-direction: column;
}

.card__inner.ratio {
  position: relative;
  width: 100%;
  padding-top: var(--ratio-percent, 125%);
  overflow: visible;
  flex-grow: 1; /* Ensures image area grows */
}

/* === Image container === */
.card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px; /* More rounded corners */
  overflow: hidden;
}
.media {
  width: 100%;
  height: 100%;
  position: relative;
}
.media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}
.media img + img {
  opacity: 0;
  z-index: 2;
}
.media:hover img:first-of-type {
  opacity: 0;
}
.media:hover img + img {
  opacity: 1;
}

/* === Badge === */
.badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 12px;
  color: #fff;
  text-transform: uppercase;
  z-index: 3;
}
.badge.sale {
  background: #f93d99;
}
.badge.sold-out {
  background: #444;
}

/* === Product info below === */
.shopify-product-info {
  margin-top: 0; /* No margin between image and info */
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* Allows the info block to fill available vertical space */
  align-items: center; /* Centers content horizontally */
  padding-top: 0; /* Removed padding-top to bring content up */
}

.shopify-title {
  font-size: 14px;
  margin-bottom: 0.3rem; /* No margin between title and price */
}

.shopify-price {
  font-size: 13px;
  min-height: 32px; /* Consistent height for price block */
  line-height: 1.2; /* Consistent line-height */
  margin-bottom: 0; /* No margin below price block */
}

.price-old {
  text-decoration: line-through;
  color: #999;
  display: block; /* Ensures it takes its own line */
}
.price-new {
  color: #f93d99;
  font-weight: bold;
  display: block;
  font-size: 16px;/* Ensures it takes its own line */
}

/* === Add to cart button === */
.add-button {
  display: inline-block;
  margin-top: 0.5rem; /* Space after price block and before button */
  border: 1.5px solid #f93d99;
  padding: 6px 20px;
  border-radius: 40px;
  color: #f93d99;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.add-button:hover {
  background: #f93d99;
  color: #fff;
}
.add-button.disabled {
  border-color: #ccc; /* Border remains light gray as per existing disabled style */
  background: #f93d99; /* #A90052 with 50% opacity */
  color: #fff; /* White text for contrast */
  pointer-events: none;
}

.view-all-card .card {
  border-radius: 30px;
  background: #FFF0F3;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.view-all-card .view-all-anchor {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #f93d99;
  color: white;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.2s ease;
}

.view-all-card .view-all-anchor:hover {
  background: #f93d99;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-736f64c *//* === Slider container === */
/* Desktop: Grid for 4 products */
.shopify-product-slider {
  display: grid; /* Explicitly set to grid for desktop */
  grid-template-columns: repeat(4, 1fr); /* 4 equal columns for desktop */
  gap: 0.5rem; /* Consistent gap between grid items */
  padding: 0; /* Removed 1rem horizontal padding for desktop */
  margin: 0;
  list-style: none;
  /* Ensure no lingering flex/scroll properties from lower breakpoints */
  overflow-x: unset; /* Ensure no horizontal scrolling on desktop */
  scroll-snap-type: none; /* Ensure no scroll snapping on desktop */
  -webkit-overflow-scrolling: auto; /* Revert to default scrolling behavior */
}

/* NEW RULE: Hide any items beyond the 4th child for desktop */
.shopify-product-slider > *:nth-child(n+5) {
    display: none;
}

.shopify-product-slider::-webkit-scrollbar {
  display: none; /* Keep scrollbar hidden */
}

/* === Card width === */
/* Desktop: Card naturally fits grid (no specific flex-basis needed) */
.shopify-product-card {
  display: flex;
  flex-direction: column;
  /* No scroll-snap-align as it's a grid */
}

/* === View All Card === */
/* Desktop: Fits in grid like other cards (but will be hidden by the above rule if it's the 5th or later item) */
.view-all-card {
  display: flex;
  align-items: center;
  justify-content: center;
  /* No scroll-snap-align as it's a grid */
}

/* Tablet: 3 products horizontal slider */
@media (max-width: 1024px) {
  .shopify-product-slider {
    display: flex; /* Back to flex for tablet slider */
    overflow-x: auto; /* Enable horizontal scrolling */
    scroll-snap-type: x mandatory; /* Enable scroll snapping */
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem; /* Ensure gap is consistent for slider */
    padding: 0 1rem; /* Re-add 1rem horizontal padding for tablet slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* 3 items with 0.5rem gap (2 gaps = 1rem) */
    scroll-snap-align: start; /* Enable scroll snapping for cards */
  }

  .view-all-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* Same width as product card for consistency */
    scroll-snap-align: start;
  }
}

/* Mobile: 2 products horizontal slider */
@media (max-width: 767px) {
  .shopify-product-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem;
    padding: 0 1rem; /* Re-add 1rem horizontal padding for mobile slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* 2 items with 0.5rem gap (1 gap = 0.5rem) */
    scroll-snap-align: start;
  }

  .view-all-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* Same width as product card */
    scroll-snap-align: start;
  }
}

/* --- The rest of your CSS remains unchanged --- */

.view-all-button {
  color: #f93d99;
  font-weight: 600;
  font-size: 14px;
  padding: 1rem;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.view-all-button:hover {
  background: #f93d99;
  color: #fff;
}

/* === Card layout (matches Shopify card--standard card--media) === */
.card--standard {
  background: none;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  flex-grow: 1; /* Allows card content to expand */
  display: flex;
  flex-direction: column;
}

.card__inner.ratio {
  position: relative;
  width: 100%;
  padding-top: var(--ratio-percent, 125%);
  overflow: visible;
  flex-grow: 1; /* Ensures image area grows */
}

/* === Image container === */
.card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px; /* More rounded corners */
  overflow: hidden;
}
.media {
  width: 100%;
  height: 100%;
  position: relative;
}
.media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}
.media img + img {
  opacity: 0;
  z-index: 2;
}
.media:hover img:first-of-type {
  opacity: 0;
}
.media:hover img + img {
  opacity: 1;
}

/* === Badge === */
.badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 12px;
  color: #fff;
  text-transform: uppercase;
  z-index: 3;
}
.badge.sale {
  background: #f93d99;
}
.badge.sold-out {
  background: #444;
}

/* === Product info below === */
.shopify-product-info {
  margin-top: 0; /* No margin between image and info */
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* Allows the info block to fill available vertical space */
  align-items: center; /* Centers content horizontally */
  padding-top: 0; /* Removed padding-top to bring content up */
}

.shopify-title {
  font-size: 14px;
  margin-bottom: 0.3rem; /* No margin between title and price */
}

.shopify-price {
  font-size: 13px;
  min-height: 32px; /* Consistent height for price block */
  line-height: 1.2; /* Consistent line-height */
  margin-bottom: 0; /* No margin below price block */
}

.price-old {
  text-decoration: line-through;
  color: #999;
  display: block; /* Ensures it takes its own line */
}
.price-new {
  color: #f93d99;
  font-weight: bold;
  display: block;
  font-size: 16px;/* Ensures it takes its own line */
}

/* === Add to cart button === */
.add-button {
  display: inline-block;
  margin-top: 0.5rem; /* Space after price block and before button */
  border: 1.5px solid #f93d99;
  padding: 6px 20px;
  border-radius: 40px;
  color: #f93d99;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.add-button:hover {
  background: #f93d99;
  color: #fff;
}
.add-button.disabled {
  border-color: #ccc; /* Border remains light gray as per existing disabled style */
  background: #f93d99; /* #A90052 with 50% opacity */
  color: #fff; /* White text for contrast */
  pointer-events: none;
}

.view-all-card .card {
  border-radius: 30px;
  background: #FFF0F3;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.view-all-card .view-all-anchor {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #f93d99;
  color: white;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.2s ease;
}

.view-all-card .view-all-anchor:hover {
  background: #f93d99;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d0c020d *//* === Slider container === */
/* Desktop: Grid for 4 products */
.shopify-product-slider {
  display: grid; /* Explicitly set to grid for desktop */
  grid-template-columns: repeat(4, 1fr); /* 4 equal columns for desktop */
  gap: 0.5rem; /* Consistent gap between grid items */
  padding: 0; /* Removed 1rem horizontal padding for desktop */
  margin: 0;
  list-style: none;
  /* Ensure no lingering flex/scroll properties from lower breakpoints */
  overflow-x: unset; /* Ensure no horizontal scrolling on desktop */
  scroll-snap-type: none; /* Ensure no scroll snapping on desktop */
  -webkit-overflow-scrolling: auto; /* Revert to default scrolling behavior */
}

/* NEW RULE: Hide any items beyond the 4th child for desktop */
.shopify-product-slider > *:nth-child(n+5) {
    display: none;
}

.shopify-product-slider::-webkit-scrollbar {
  display: none; /* Keep scrollbar hidden */
}

/* === Card width === */
/* Desktop: Card naturally fits grid (no specific flex-basis needed) */
.shopify-product-card {
  display: flex;
  flex-direction: column;
  /* No scroll-snap-align as it's a grid */
}

/* === View All Card === */
/* Desktop: Fits in grid like other cards (but will be hidden by the above rule if it's the 5th or later item) */
.view-all-card {
  display: flex;
  align-items: center;
  justify-content: center;
  /* No scroll-snap-align as it's a grid */
}

/* Tablet: 3 products horizontal slider */
@media (max-width: 1024px) {
  .shopify-product-slider {
    display: flex; /* Back to flex for tablet slider */
    overflow-x: auto; /* Enable horizontal scrolling */
    scroll-snap-type: x mandatory; /* Enable scroll snapping */
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem; /* Ensure gap is consistent for slider */
    padding: 0 1rem; /* Re-add 1rem horizontal padding for tablet slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* 3 items with 0.5rem gap (2 gaps = 1rem) */
    scroll-snap-align: start; /* Enable scroll snapping for cards */
  }

  .view-all-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* Same width as product card for consistency */
    scroll-snap-align: start;
  }
}

/* Mobile: 2 products horizontal slider */
@media (max-width: 767px) {
  .shopify-product-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem;
    padding: 0 1rem; /* Re-add 1rem horizontal padding for mobile slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* 2 items with 0.5rem gap (1 gap = 0.5rem) */
    scroll-snap-align: start;
  }

  .view-all-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* Same width as product card */
    scroll-snap-align: start;
  }
}

/* --- The rest of your CSS remains unchanged --- */

.view-all-button {
  color: #f93d99;
  font-weight: 600;
  font-size: 14px;
  padding: 1rem;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.view-all-button:hover {
  background: #f93d99;
  color: #fff;
}

/* === Card layout (matches Shopify card--standard card--media) === */
.card--standard {
  background: none;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  flex-grow: 1; /* Allows card content to expand */
  display: flex;
  flex-direction: column;
}

.card__inner.ratio {
  position: relative;
  width: 100%;
  padding-top: var(--ratio-percent, 125%);
  overflow: visible;
  flex-grow: 1; /* Ensures image area grows */
}

/* === Image container === */
.card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px; /* More rounded corners */
  overflow: hidden;
}
.media {
  width: 100%;
  height: 100%;
  position: relative;
}
.media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}
.media img + img {
  opacity: 0;
  z-index: 2;
}
.media:hover img:first-of-type {
  opacity: 0;
}
.media:hover img + img {
  opacity: 1;
}

/* === Badge === */
.badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 12px;
  color: #fff;
  text-transform: uppercase;
  z-index: 3;
}
.badge.sale {
  background: #f93d99;
}
.badge.sold-out {
  background: #444;
}

/* === Product info below === */
.shopify-product-info {
  margin-top: 0; /* No margin between image and info */
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* Allows the info block to fill available vertical space */
  align-items: center; /* Centers content horizontally */
  padding-top: 0; /* Removed padding-top to bring content up */
}

.shopify-title {
  font-size: 14px;
  margin-bottom: 0.3rem; /* No margin between title and price */
}

.shopify-price {
  font-size: 13px;
  min-height: 32px; /* Consistent height for price block */
  line-height: 1.2; /* Consistent line-height */
  margin-bottom: 0; /* No margin below price block */
}

.price-old {
  text-decoration: line-through;
  color: #999;
  display: block; /* Ensures it takes its own line */
}
.price-new {
  color: #f93d99;
  font-weight: bold;
  display: block;
  font-size: 16px;/* Ensures it takes its own line */
}

/* === Add to cart button === */
.add-button {
  display: inline-block;
  margin-top: 0.5rem; /* Space after price block and before button */
  border: 1.5px solid #f93d99;
  padding: 6px 20px;
  border-radius: 40px;
  color: #f93d99;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.add-button:hover {
  background: #f93d99;
  color: #fff;
}
.add-button.disabled {
  border-color: #ccc; /* Border remains light gray as per existing disabled style */
  background: #f93d99; /* #A90052 with 50% opacity */
  color: #fff; /* White text for contrast */
  pointer-events: none;
}

.view-all-card .card {
  border-radius: 30px;
  background: #FFF0F3;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.view-all-card .view-all-anchor {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #f93d99;
  color: white;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.2s ease;
}

.view-all-card .view-all-anchor:hover {
  background: #f93d99;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-95a0a68 *//* === Slider container === */
/* Desktop: Grid for 4 products */
.shopify-product-slider {
  display: grid; /* Explicitly set to grid for desktop */
  grid-template-columns: repeat(4, 1fr); /* 4 equal columns for desktop */
  gap: 0.5rem; /* Consistent gap between grid items */
  padding: 0; /* Removed 1rem horizontal padding for desktop */
  margin: 0;
  list-style: none;
  /* Ensure no lingering flex/scroll properties from lower breakpoints */
  overflow-x: unset; /* Ensure no horizontal scrolling on desktop */
  scroll-snap-type: none; /* Ensure no scroll snapping on desktop */
  -webkit-overflow-scrolling: auto; /* Revert to default scrolling behavior */
}

/* NEW RULE: Hide any items beyond the 4th child for desktop */
.shopify-product-slider > *:nth-child(n+5) {
    display: none;
}

.shopify-product-slider::-webkit-scrollbar {
  display: none; /* Keep scrollbar hidden */
}

/* === Card width === */
/* Desktop: Card naturally fits grid (no specific flex-basis needed) */
.shopify-product-card {
  display: flex;
  flex-direction: column;
  /* No scroll-snap-align as it's a grid */
}

/* === View All Card === */
/* Desktop: Fits in grid like other cards (but will be hidden by the above rule if it's the 5th or later item) */
.view-all-card {
  display: flex;
  align-items: center;
  justify-content: center;
  /* No scroll-snap-align as it's a grid */
}

/* Tablet: 3 products horizontal slider */
@media (max-width: 1024px) {
  .shopify-product-slider {
    display: flex; /* Back to flex for tablet slider */
    overflow-x: auto; /* Enable horizontal scrolling */
    scroll-snap-type: x mandatory; /* Enable scroll snapping */
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem; /* Ensure gap is consistent for slider */
    padding: 0 1rem; /* Re-add 1rem horizontal padding for tablet slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* 3 items with 0.5rem gap (2 gaps = 1rem) */
    scroll-snap-align: start; /* Enable scroll snapping for cards */
  }

  .view-all-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* Same width as product card for consistency */
    scroll-snap-align: start;
  }
}

/* Mobile: 2 products horizontal slider */
@media (max-width: 767px) {
  .shopify-product-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem;
    padding: 0 1rem; /* Re-add 1rem horizontal padding for mobile slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* 2 items with 0.5rem gap (1 gap = 0.5rem) */
    scroll-snap-align: start;
  }

  .view-all-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* Same width as product card */
    scroll-snap-align: start;
  }
}

/* --- The rest of your CSS remains unchanged --- */

.view-all-button {
  color: #A90052;
  font-weight: 600;
  font-size: 14px;
  padding: 1rem;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.view-all-button:hover {
  background: #A90052;
  color: #fff;
}

/* === Card layout (matches Shopify card--standard card--media) === */
.card--standard {
  background: none;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  flex-grow: 1; /* Allows card content to expand */
  display: flex;
  flex-direction: column;
}

.card__inner.ratio {
  position: relative;
  width: 100%;
  padding-top: var(--ratio-percent, 125%);
  overflow: visible;
  flex-grow: 1; /* Ensures image area grows */
}

/* === Image container === */
.card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px; /* More rounded corners */
  overflow: hidden;
}
.media {
  width: 100%;
  height: 100%;
  position: relative;
}
.media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}
.media img + img {
  opacity: 0;
  z-index: 2;
}
.media:hover img:first-of-type {
  opacity: 0;
}
.media:hover img + img {
  opacity: 1;
}

/* === Badge === */
.badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 12px;
  color: #fff;
  text-transform: uppercase;
  z-index: 3;
}
.badge.sale {
  background: #A90052;
}
.badge.sold-out {
  background: #444;
}

/* === Product info below === */
.shopify-product-info {
  margin-top: 0; /* No margin between image and info */
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* Allows the info block to fill available vertical space */
  align-items: center; /* Centers content horizontally */
  padding-top: 0; /* Removed padding-top to bring content up */
}

.shopify-title {
  font-size: 14px;
  margin-bottom: 0.3rem; /* No margin between title and price */
}

.shopify-price {
  font-size: 13px;
  min-height: 32px; /* Consistent height for price block */
  line-height: 1.2; /* Consistent line-height */
  margin-bottom: 0; /* No margin below price block */
}

.price-old {
  text-decoration: line-through;
  color: #999;
  display: block; /* Ensures it takes its own line */
}
.price-new {
  color: #A90052;
  font-weight: bold;
  display: block;
  font-size: 16px;/* Ensures it takes its own line */
}

/* === Add to cart button === */
.add-button {
  display: inline-block;
  margin-top: 0.5rem; /* Space after price block and before button */
  border: 1.5px solid #A90052;
  padding: 6px 20px;
  border-radius: 40px;
  color: #A90052;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.add-button:hover {
  background: #A90052;
  color: #fff;
}
.add-button.disabled {
  border-color: #ccc; /* Border remains light gray as per existing disabled style */
  background: rgba(169, 0, 82, 0.5); /* #A90052 with 50% opacity */
  color: #fff; /* White text for contrast */
  pointer-events: none;
}

.view-all-card .card {
  border-radius: 30px;
  background: #FFF0F3;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.view-all-card .view-all-anchor {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #A90052;
  color: white;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.2s ease;
}

.view-all-card .view-all-anchor:hover {
  background: #870041;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-00d3d31 *//* === Slider container === */
/* Desktop: Grid for 4 products */
.shopify-product-slider {
  display: grid; /* Explicitly set to grid for desktop */
  grid-template-columns: repeat(4, 1fr); /* 4 equal columns for desktop */
  gap: 0.5rem; /* Consistent gap between grid items */
  padding: 0; /* Removed 1rem horizontal padding for desktop */
  margin: 0;
  list-style: none;
  /* Ensure no lingering flex/scroll properties from lower breakpoints */
  overflow-x: unset; /* Ensure no horizontal scrolling on desktop */
  scroll-snap-type: none; /* Ensure no scroll snapping on desktop */
  -webkit-overflow-scrolling: auto; /* Revert to default scrolling behavior */
}

/* NEW RULE: Hide any items beyond the 4th child for desktop */
.shopify-product-slider > *:nth-child(n+5) {
    display: none;
}

.shopify-product-slider::-webkit-scrollbar {
  display: none; /* Keep scrollbar hidden */
}

/* === Card width === */
/* Desktop: Card naturally fits grid (no specific flex-basis needed) */
.shopify-product-card {
  display: flex;
  flex-direction: column;
  /* No scroll-snap-align as it's a grid */
}

/* === View All Card === */
/* Desktop: Fits in grid like other cards (but will be hidden by the above rule if it's the 5th or later item) */
.view-all-card {
  display: flex;
  align-items: center;
  justify-content: center;
  /* No scroll-snap-align as it's a grid */
}

/* Tablet: 3 products horizontal slider */
@media (max-width: 1024px) {
  .shopify-product-slider {
    display: flex; /* Back to flex for tablet slider */
    overflow-x: auto; /* Enable horizontal scrolling */
    scroll-snap-type: x mandatory; /* Enable scroll snapping */
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem; /* Ensure gap is consistent for slider */
    padding: 0 1rem; /* Re-add 1rem horizontal padding for tablet slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* 3 items with 0.5rem gap (2 gaps = 1rem) */
    scroll-snap-align: start; /* Enable scroll snapping for cards */
  }

  .view-all-card {
    /* (100% - 2 gaps) / 3 items */
    flex: 0 0 calc((100% - 1rem) / 3); /* Same width as product card for consistency */
    scroll-snap-align: start;
  }
}

/* Mobile: 2 products horizontal slider */
@media (max-width: 767px) {
  .shopify-product-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem;
    padding: 0 1rem; /* Re-add 1rem horizontal padding for mobile slider */
  }

  /* Ensure all children are displayed for slider (undo hide rule) */
  .shopify-product-slider > *:nth-child(n+5) {
    display: flex; /* Or 'block', depending on the element's default display */
  }

  .shopify-product-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* 2 items with 0.5rem gap (1 gap = 0.5rem) */
    scroll-snap-align: start;
  }

  .view-all-card {
    /* (100% - 1 gap) / 2 items */
    flex: 0 0 calc((100% - 0.5rem) / 2); /* Same width as product card */
    scroll-snap-align: start;
  }
}

/* --- The rest of your CSS remains unchanged --- */

.view-all-button {
  color: #f93d99;
  font-weight: 600;
  font-size: 14px;
  padding: 1rem;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.view-all-button:hover {
  background: #f93d99;
  color: #fff;
}

/* === Card layout (matches Shopify card--standard card--media) === */
.card--standard {
  background: none;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  flex-grow: 1; /* Allows card content to expand */
  display: flex;
  flex-direction: column;
}

.card__inner.ratio {
  position: relative;
  width: 100%;
  padding-top: var(--ratio-percent, 125%);
  overflow: visible;
  flex-grow: 1; /* Ensures image area grows */
}

/* === Image container === */
.card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px; /* More rounded corners */
  overflow: hidden;
}
.media {
  width: 100%;
  height: 100%;
  position: relative;
}
.media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}
.media img + img {
  opacity: 0;
  z-index: 2;
}
.media:hover img:first-of-type {
  opacity: 0;
}
.media:hover img + img {
  opacity: 1;
}

/* === Badge === */
.badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 12px;
  color: #fff;
  text-transform: uppercase;
  z-index: 3;
}
.badge.sale {
  background: #f93d99;
}
.badge.sold-out {
  background: #444;
}

/* === Product info below === */
.shopify-product-info {
  margin-top: 0; /* No margin between image and info */
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* Allows the info block to fill available vertical space */
  align-items: center; /* Centers content horizontally */
  padding-top: 0; /* Removed padding-top to bring content up */
}

.shopify-title {
  font-size: 14px;
  margin-bottom: 0.3rem; /* No margin between title and price */
}

.shopify-price {
  font-size: 13px;
  min-height: 32px; /* Consistent height for price block */
  line-height: 1.2; /* Consistent line-height */
  margin-bottom: 0; /* No margin below price block */
}

.price-old {
  text-decoration: line-through;
  color: #999;
  display: block; /* Ensures it takes its own line */
}
.price-new {
  color: #f93d99;
  font-weight: bold;
  display: block;
  font-size: 16px;/* Ensures it takes its own line */
}

/* === Add to cart button === */
.add-button {
  display: inline-block;
  margin-top: 0.5rem; /* Space after price block and before button */
  border: 1.5px solid #f93d99;
  padding: 6px 20px;
  border-radius: 40px;
  color: #f93d99;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.add-button:hover {
  background: #f93d99;
  color: #fff;
}
.add-button.disabled {
  border-color: #ccc; /* Border remains light gray as per existing disabled style */
  background: #f93d99; /* #A90052 with 50% opacity */
  color: #fff; /* White text for contrast */
  pointer-events: none;
}

.view-all-card .card {
  border-radius: 30px;
  background: #FFF0F3;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.view-all-card .view-all-anchor {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #f93d99;
  color: white;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.2s ease;
}

.view-all-card .view-all-anchor:hover {
  background: #f93d99;
}/* End custom CSS */