/*
Theme Name:   Bw KidXtore Child
Theme URI:    https://kidxtore.bzotech.com/intro/
Author:       The BZOTech
Author URI:   #
Description:  KidXtore is a very cute WooCommerce theme with eye-catching designs and colorful colors. It is the ideal WordPress theme for e-commerce websites or businesses that sell goods for babies and kids.
Template:     bw-kidxtore
Version:      1.5
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags:         baby store wordpress theme, kids store wordpress theme, wordpress baby theme, wordpress kid shop theme, baby store woocommerce theme, kids store woocommerce theme, elementor theme, woocommerce theme, wordpress theme
Text Domain:  bw-kidxtore-child
*/

/* Transparent background for category slider thumbnails */
.item-slider-global-style2 .adv-thumb-link-cate img {
  background-color: transparent !important;
}

/* Responsive columns for ALL marquee sliders (any widget, any style).
   The theme's marquee mode uses Swiper slidesPerView:"auto" and never sets
   slide widths or breakpoints, so slides size to their content. The child
   script js/marquee-touch.js computes the column count per slider (from its
   data-items / data-items-mobile / data-items-tablet / data-items-laptop
   attributes, with 2/3/4/5 fallbacks) and exposes it as --alwajba-cols.
   The media-query fallbacks below match that scheme before JS runs. */
.elbzotech-swiper-slider[data-slidertype="marquee"] .swiper-slide {
  width: calc(100% / var(--alwajba-cols, 6) - var(--alwajba-gap, 0px) * (var(--alwajba-cols, 6) - 1) / var(--alwajba-cols, 6));
}

.elbzotech-wrapper-slider-global-style2.slider-type-marquee .adv-thumb-link-cate img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1200px) {
  .elbzotech-swiper-slider[data-slidertype="marquee"] .swiper-slide {
    width: calc(100% / var(--alwajba-cols, 5) - var(--alwajba-gap, 0px) * (var(--alwajba-cols, 5) - 1) / var(--alwajba-cols, 5));
  }
}

@media (max-width: 1024px) {
  .elbzotech-swiper-slider[data-slidertype="marquee"] .swiper-slide {
    width: calc(100% / var(--alwajba-cols, 4) - var(--alwajba-gap, 0px) * (var(--alwajba-cols, 4) - 1) / var(--alwajba-cols, 4));
  }
}

@media (max-width: 768px) {
  .elbzotech-swiper-slider[data-slidertype="marquee"] .swiper-slide {
    width: calc(100% / var(--alwajba-cols, 3) - var(--alwajba-gap, 0px) * (var(--alwajba-cols, 3) - 1) / var(--alwajba-cols, 3));
  }
}

@media (max-width: 480px) {
  .elbzotech-swiper-slider[data-slidertype="marquee"] .swiper-slide {
    width: calc(100% / var(--alwajba-cols, 2) - var(--alwajba-gap, 0px) * (var(--alwajba-cols, 2) - 1) / var(--alwajba-cols, 2));
  }
}

/* ==========================================================================
   Slider Advanced (Global) widget — base look.
   Everything here is a default only: per-item settings (inline styles) and
   the widget's Style tab controls (Box item / Button sections) override it.
   ========================================================================== */
.alwajba-slider-advanced .wslider-item {
  background: #fff;
  box-sizing: border-box;
}

.alwajba-slider-advanced-item {
  height: 100%;
  padding: 15px 15px 22px;
}

.alwajba-slider-advanced-item .info {
  padding-top: 10px;
}

.alwajba-slider-advanced-item .alwajba-item-btn {
  display: inline-block;
  padding: 12px 28px;
  margin-top: 12px;
  line-height: 1.2;
  font-weight: 600;
  background: #111;
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
}

.alwajba-slider-advanced-item .alwajba-item-btn i,
.alwajba-slider-advanced-item .alwajba-item-btn svg {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

.alwajba-slider-advanced-item .alwajba-item-btn.icon-after i,
.alwajba-slider-advanced-item .alwajba-item-btn.icon-after svg {
  margin-left: 8px;
}

.alwajba-slider-advanced-item .alwajba-item-btn.icon-before i,
.alwajba-slider-advanced-item .alwajba-item-btn.icon-before svg {
  margin-right: 8px;
}

/* Age Group filter — tick-box style multi-select (matches theme checkbox look) */
.alwajba-age-filter li a.load-shop-ajax {
  position: relative;
  display: inline-block;
  padding-left: 26px;
  line-height: 20px;
}

.alwajba-age-filter li a.load-shop-ajax::before {
  content: "";
  width: 16px;
  height: 16px;
  background: #f5f5f5;
  border: 1px solid #727272;
  border-radius: 3px;
  position: absolute;
  left: 0;
  top: 2px;
  font-family: 'Line Awesome Free';
  font-weight: 900;
  text-align: center;
  font-size: 13px;
  line-height: 16px;
  color: #fff;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.alwajba-age-filter li a.load-shop-ajax.active::before {
  content: "\f00c";
  background: var(--bzo-main-color);
  border-color: var(--bzo-main-color);
}

/* Alwajba product-card purchase button. */
.item-product .product-extra-link a.addcart-link.add_to_cart_button {
  position: absolute !important;
  top: auto !important;
  right: 12px !important;
  bottom: 8px !important;
  left: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #0757a8 0%, #0875cf 100%) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(7, 87, 168, 0.34);
  font-size: 0 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  overflow: hidden;
  z-index: 4;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}
.item-product .product-extra-link a.addcart-link.add_to_cart_button i {
  margin: 0 !important;
  font-size: 21px !important;
  line-height: 1 !important;
}
.item-product .product-extra-link a.addcart-link.add_to_cart_button::after {
  display: none !important;
  content: none !important;
}
.item-product .product-extra-link a.addcart-link.add_to_cart_button:hover,
.item-product .product-extra-link a.addcart-link.add_to_cart_button:focus-visible {
  border-color: #fff !important;
  background: linear-gradient(135deg, #f43f8c 0%, #ff6ca8 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 23px rgba(244, 63, 140, 0.38);
  transform: translateY(-3px) scale(1.05) !important;
}
.item-product .product-extra-link a.addcart-link.add_to_cart_button.loading i {
  animation: alwajba-cart-pulse .7s ease-in-out infinite alternate;
}
.item-product .product-extra-link a.addcart-link.add_to_cart_button.added i::before {
  content: "\f00c";
  font-family: "Line Awesome Free";
  font-weight: 900;
}
.item-product .product-extra-link a.addcart-link.add_to_cart_button:focus-visible {
  outline: 3px solid rgba(244, 63, 140, 0.32);
  outline-offset: 3px;
}
@keyframes alwajba-cart-pulse {
  from { transform: scale(.82); opacity: .55; }
  to { transform: scale(1.08); opacity: 1; }
}
@media (max-width: 767px) {
  .item-product .product-extra-link > a:not(.addcart-link) {
    display: none !important;
  }
  .item-product .product-extra-link a.addcart-link.add_to_cart_button {
    right: 8px !important;
    bottom: 6px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
  }
  .item-product .product-extra-link a.addcart-link.add_to_cart_button i {
    font-size: 19px !important;
  }
}


/* Alwajba: keep WhatsApp above the mobile navigation. */
@media (max-width: 767px) {
  .ra-wa-btn {
    bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ==========================================================================
   Equal Height Product Cards (Sliders & Grids)
   ========================================================================== */

/* Swiper Sliders: allow slides to stretch equally in height */
.elbzotech-wrapper-slider-product .swiper-wrapper,
.elbzotech-swiper-slider .swiper-wrapper {
  display: flex !important;
  align-items: stretch !important;
}

.elbzotech-wrapper-slider-product .swiper-slide,
.elbzotech-swiper-slider .swiper-slide {
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Catalog / Shop Grids: ensure row items stretch equally */
.products .product,
.woocommerce ul.products li.product,
.list-col-item[class*="item-grid-product"] {
  display: flex !important;
  flex-direction: column !important;
}

/* Card Container: stretches to full slide/column height */
.item-product,
.item-grid-product- .item-product,
[class*="item-grid-product"] .item-product,
.woocommerce ul.products li.product .item-product {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Product thumbnail stays fixed at the top */
.item-product .product-thumb {
  flex-shrink: 0 !important;
  width: 100% !important;
}

/* Product Info: fills remaining space */
.item-product .product-info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  justify-content: flex-start !important;
  padding: 14px 10px !important;
  box-sizing: border-box !important;
}

/* Rating */
.item-product .product-info .wrap-rating {
  flex-shrink: 0 !important;
  margin-bottom: 6px !important;
}

/* Title: Equalized min-height (2 lines) and clean 2-line clamp */
.item-product .product-info .product-title {
  margin: 0 0 8px !important;
  line-height: 24px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex-grow: 1 !important;
}

.item-product .product-info .product-title a,
.item-product .product-info .product-title a.color-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 24px !important;
  word-break: break-word;
}

/* Price: Aligns consistently at the bottom of the card */
.item-product .product-info .product-price {
  margin-top: auto !important;
  flex-shrink: 0 !important;
}

/* ==========================================================================
   Hero Slider: Flush with header & zero gap on page load/refresh
   ========================================================================== */
.main-elementor-template-theme > .post-1853 > .elementor-1853 > .elementor-element-32c0a83 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.wp-block-themepunch-revslider,
sr7-module#SR7_1_1 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

sr7-module#SR7_1_1 sr7-content {
  top: 0 !important;
}

sr7-module#SR7_1_1 sr7-slide {
  top: 0 !important;
}


/* Performance fix (2026-10-14): sections with Elementor entrance animations
   (.elementor-invisible = visibility:hidden) must not depend on JS-delayed
   Elementor frontend to become visible. Reveal immediately; the fadeIn
   opacity keyframes still animate normally. */
.elementor-invisible {
  visibility: visible !important;
}

/* Hide Exclusive Offer demo block on single product pages */
.append-content-summary {
  display: none !important;
}
