.gy-stores-wrap {
    position: relative;
    width: 100vw;
    left: 50%;
    margin-left: -50vw;
    padding: 40px 60px 60px;
    background: #fff;
    box-sizing: border-box;
}
.gy-stores-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px;
    max-width: 1300px;
    margin: 0 auto;
}
.gy-store-card {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 4px 20px rgba(0,0,0,.06);
    text-align: left;
    display: flex;
    flex-direction: column;
}
.gy-store-pin { margin-bottom: 14px; }
.gy-store-name { font-size: 20px; font-weight: 700; color: #222; margin: 0 0 6px; }
.gy-store-addr { font-size: 14px; color: #777; margin: 0 0 20px; }
.gy-store-hours {
    list-style: none; padding: 0; margin: 0 0 24px;
    border-top: 1px solid #f0f0f0; padding-top: 16px; flex: 1;
}
.gy-store-hours li {
    display: flex; justify-content: space-between;
    padding: 5px 0; font-size: 13px; color: #444;
    border-bottom: 1px solid #fafafa;
}
.gy-store-hours li span:first-child { font-weight: 600; color: #333; }
.gy-store-btn {
    display: inline-block; background: #f0a500; color: #fff;
    padding: 11px 28px; border-radius: 6px; font-weight: 700;
    font-size: 14px; text-decoration: none; transition: background .3s;
    align-self: flex-start;
}
.gy-store-btn:hover { background: #d4920a; }
@media (max-width: 640px) {
    .gy-stores-grid { grid-template-columns: 1fr !important; }
    .gy-stores-wrap { padding: 40px 20px; }
}

/* Force version 4 - inline grid override */
.gy-stores-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px;}
.gy-featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;padding:0 20px 40px;}
.gy-feat-card{display:block;text-decoration:none;color:#222;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #f0f0f0;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s;}
.gy-feat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.10);}
.gy-feat-thumb{width:100%;aspect-ratio:3/4;overflow:hidden;background:#fafafa;}
.gy-feat-img{width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important;display:block;}
.gy-feat-info{padding:16px;}
.gy-feat-name{font-size:15px;font-weight:600;margin:0 0 8px;color:#222;}
.gy-feat-link{font-size:13px;color:#f0a500;font-weight:600;}
@media(max-width:768px){.gy-featured-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.gy-featured-grid{grid-template-columns:1fr;}}

/* === Carousel container CSS (recovered from Hostinger inline styles) === */
.gy-feat-wrap{display:block!important;width:100%!important;max-width:1140px!important;margin:0 auto!important;padding:0 50px!important;box-sizing:border-box!important;position:relative;}
.gy-feat-viewport{overflow:hidden;width:100%;}
.gy-feat-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1);}
.gy-feat-prev,.gy-feat-next{position:absolute;top:40%;transform:translateY(-50%);background:#fff;border:2px solid #f0a500;color:#f0a500;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;display:flex!important;align-items:center;justify-content:center;z-index:10;padding:0;transition:all .3s;}
.gy-feat-prev{left:0;}
.gy-feat-next{right:0;}
.gy-feat-prev:hover,.gy-feat-next:hover{background:#f0a500;color:#fff;}
.gy-feat-wrap,.gy-stores-wrap{padding-left:16px!important;padding-right:16px!important;}

/* === Stores wrap override (recovered from Hostinger inline styles) — undoes full-bleed trick that breaks inside Elementor container === */
.gy-stores-wrap{display:block!important;width:100%!important;max-width:1140px!important;margin:0 auto!important;padding:40px 20px!important;box-sizing:border-box!important;left:0!important;}
.gy-stores-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important;width:100%!important;}
@media (max-width: 768px){
  .gy-stores-grid{grid-template-columns:1fr!important;}
  .gy-stores-wrap{padding-left:16px!important;padding-right:16px!important;}
}

/* === Card + image overrides — match Hostinger's flex/absolute layout so transitions don't jitter === */
.gy-feat-card{display:block!important;flex-shrink:0!important;padding:0 10px!important;box-sizing:border-box!important;}
.gy-feat-thumb{position:relative!important;border-radius:8px;}
.gy-feat-img{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important;}
.gy-feat-info{padding:14px 4px;}
.gy-feat-name{font-size:14px;}
.gy-feat-link{font-size:12px;}

/* === Spacing: gap above Featured Items heading (between category tiles row and Featured Items section) === */
.elementor-element-fcab8f5 { margin-top: 60px !important; }

/* === Widen carousel to align with category-tile row above === */
.elementor-element-6ce9c50,
.elementor-element-6ce9c50 > .e-con-inner,
.elementor-element-fcab8f5,
.elementor-element-fcab8f5 > .e-con-inner { max-width: 1340px !important; }
.gy-feat-wrap { max-width: 1340px !important; }

/* Re-center widened Elementor containers */
.elementor-element-6ce9c50,
.elementor-element-fcab8f5 { margin-left: auto !important; margin-right: auto !important; }

/* Tighten spacing around "Come visit us in-store" heading section */
.elementor-element-a294357,
.elementor-element-a294357 > .e-con-inner,
.elementor-element-9ed14df,
.elementor-element-9ed14df > .e-con-inner {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.gy-stores-wrap {
  padding-top: 10px !important;
  padding-bottom: 20px !important;
}

/* Align "Come visit us in-store" heading container with "Featured Items" (both 1340px, centered) */
.elementor-element-a294357,
.elementor-element-a294357 > .e-con-inner,
.elementor-element-9ed14df,
.elementor-element-9ed14df > .e-con-inner {
  max-width: 1340px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Aggressively close gap between carousel and "Come visit us" heading */
.elementor-element-6ce9c50,
.elementor-element-6ce9c50 > .e-con-inner,
.elementor-element-58291bc,
.elementor-element-58291bc > .elementor-widget-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.elementor-element-a294357 {
  margin-top: -100px !important;
}
.gy-feat-wrap { margin-bottom: 0 !important; }

/* Pull category tile row up under the hero banner */
.elementor-element-b45c6b1,
.elementor-element-b45c6b1 > .e-con-inner { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.elementor-element-b70785b { padding-top: 0 !important; margin-top: -40px !important; }

/* Reduce gap between each category heading (Boys/Girls/Baby/Accessories) and its image */
.elementor-element-aeacd03,
.elementor-element-0a49ff5,
.elementor-element-4575632,
.elementor-element-08d18db { gap: 4px !important; }
.elementor-element-70fd04d,
.elementor-element-bba5a0c,
.elementor-element-4fdafec,
.elementor-element-ef67b4f,
.elementor-element-70fd04d > .elementor-widget-container,
.elementor-element-bba5a0c > .elementor-widget-container,
.elementor-element-4fdafec > .elementor-widget-container,
.elementor-element-ef67b4f > .elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.elementor-element-d2b5d01,
.elementor-element-6df4f9b,
.elementor-element-9d8e4d2,
.elementor-element-05e33dc { margin-top: 0 !important; padding-top: 0 !important; }

/* Undo the category-row pull-up so headings sit on white below hero */
.elementor-element-b70785b { margin-top: 0 !important; }

/* Shrink category tile photos so they fit on screen */
.elementor-element-d2b5d01 img,
.elementor-element-6df4f9b img,
.elementor-element-9d8e4d2 img,
.elementor-element-05e33dc img {
  max-height: 320px !important;
  height: 320px !important;
  width: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
}

/* Move category row a bit down from hero, center subjects in crop */
.elementor-element-b70785b { margin-top: 30px !important; }
.elementor-element-d2b5d01 img,
.elementor-element-6df4f9b img,
.elementor-element-9d8e4d2 img,
.elementor-element-05e33dc img {
  object-position: center 30% !important;
}

/* Restore category tile images to full natural size (undo cropping) */
.elementor-element-d2b5d01 img,
.elementor-element-6df4f9b img,
.elementor-element-9d8e4d2 img,
.elementor-element-05e33dc img {
  max-height: none !important;
  height: auto !important;
  width: 100% !important;
  object-fit: initial !important;
  object-position: initial !important;
}

/* Widen Featured Items section AND carousel to align with category row and use more width */
.elementor-element-6ce9c50,
.elementor-element-6ce9c50 > .e-con-inner,
.elementor-element-fcab8f5,
.elementor-element-fcab8f5 > .e-con-inner,
.elementor-element-a294357,
.elementor-element-a294357 > .e-con-inner,
.elementor-element-9ed14df,
.elementor-element-9ed14df > .e-con-inner {
  max-width: 1500px !important;
}
.gy-feat-wrap { max-width: 1500px !important; }

/* === Shrink WooCommerce category page banner (~33% reduction) === */
.elementor-element-e21b60e,
.elementor-element-e21b60e > .e-con-inner {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
  min-height: 0 !important;
}
.elementor-element-e21b60e img {
  max-height: 180px !important;
  width: auto !important;
  height: auto !important;
}

/* === Show 4 products per row on category/shop pages (was 3) === */
@media (min-width: 992px) {
  .list-3-item {
    width: 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }
}

/* === Stores grid: 4 columns on desktop, 2 on tablet, 1 on mobile === */
.gy-stores-grid { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 1100px) {
  .gy-stores-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .gy-stores-grid { grid-template-columns: 1fr !important; }
}

/* === "And many more on the way!" coming-soon card === */
.gy-store-card--soon {
  background: linear-gradient(135deg, #fff5e6 0%, #ffe4c2 100%) !important;
  text-align: center;
  align-items: center !important;
  justify-content: space-between;
  border: 2px dashed #f0a500 !important;
}
.gy-store-soon-icon { margin: 8px 0 18px; line-height: 0; }
.gy-store-soon-icon svg { filter: drop-shadow(0 2px 6px rgba(240,165,0,.25)); }
.gy-store-card--soon .gy-store-name {
  font-size: 20px;
  color: #d4920a;
  margin: 0 0 12px;
  line-height: 1.3;
}
.gy-store-soon-msg {
  font-size: 13px;
  color: #6b6b6b;
  line-height: 1.6;
  margin: 0 0 22px;
  padding: 0 4px;
}
.gy-store-soon-badge {
  display: inline-block;
  background: #fff;
  color: #f0a500;
  border: 2px solid #f0a500;
  padding: 9px 22px;
  border-radius: 22px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  align-self: center;
}

/* === Cap main product image to ~3/5 (60%) of viewport height === */
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery .mid img,
.woocommerce-product-gallery img.wp-post-image {
  max-height: 60vh !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
}
.woocommerce-product-gallery__image {
  text-align: center;
}

/* Ensure all 4 store cards (3 stores + 1 coming-soon) sit in the SAME row.
   Higher-specificity selector + wider wrap so they fit comfortably. */
.gy-stores-wrap { max-width: 1500px !important; }
.gy-stores-wrap .gy-stores-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
@media (max-width: 991px) {
  .gy-stores-wrap .gy-stores-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .gy-stores-wrap .gy-stores-grid { grid-template-columns: 1fr !important; }
}
.gy-store-card { padding: 24px 20px !important; }

/* Shrink home-page section headings ("Featured Items" + "Come visit us in-store!") by ~3 sizes */
.elementor-element-d50e562 h2,
.elementor-element-9dffab4 h2,
.elementor-element-d50e562 .elbzotech-heading-global,
.elementor-element-9dffab4 .elbzotech-heading-global {
  font-size: 28px !important;
  line-height: 1.3 !important;
}

/* Hide empty rating stars on product listings + single product pages */
.woocommerce .star-rating,
.woocommerce .product .star-rating,
.woocommerce .products .product .star-rating,
.product .star-rating,
.star-rating,
.bzotech-rating,
.product-rating,
.woocommerce-product-rating {
  display: none !important;
}

/* Correct selector — Bzotech uses .wrap-rating, not .star-rating */
.wrap-rating,
ul.wrap-rating,
.list-inline-block.wrap-rating,
.product-rating {
  display: none !important;
}

/* Stronger reduction (~33%) for the category archive banner — applies to Girls, Boys, Baby, Accessories (same Elementor template) */
.elementor-element-e21b60e,
.elementor-element-e21b60e > .e-con-inner {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  min-height: 0 !important;
}
.elementor-element-e21b60e img {
  max-height: 130px !important;
  width: auto !important;
  height: auto !important;
}
.elementor-element-e21b60e h2,
.elementor-element-e21b60e .elbzotech-heading-global {
  font-size: 36px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.elementor-element-e21b60e .elbzotech-bread-crumb-global {
  margin-top: 4px !important;
}

/* === Product page space-efficient layout ===
   Left column: gallery (image + thumbs)
   Right column: summary (title/price/cart/tags) then Description tabs stacked below
   Uses display: contents to flatten .bzotech-row and let parent grid place its children directly. */
@media (min-width: 992px) {
  body.single-product .product .product-detail {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 24px 40px !important;
    align-items: start !important;
  }
  body.single-product .product .product-detail > .bzotech-row {
    display: contents !important;
  }
  body.single-product .product .product-detail > .bzotech-row > .bzotech-col-md-6:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    max-width: 100% !important;
    width: 100% !important;
    flex: none !important;
  }
  body.single-product .product .product-detail > .bzotech-row > .bzotech-col-md-6:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    max-width: 100% !important;
    width: 100% !important;
    flex: none !important;
  }
  body.single-product .product .product-detail > .detail-product-tabs {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
    padding-top: 16px !important;
    border-top: 1px solid #eee;
  }
}

/* === v8.5: Correct product page grid — the .detail-product-tabs is a SIBLING of .product-detail (not a child), so the grid must be on .product, with .product-detail + .bzotech-row both flattened via display:contents. === */
@media (min-width: 992px) {
  body.single-product .product.type-product {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 24px 40px !important;
    align-items: start !important;
  }
  body.single-product .product.type-product > .product-detail,
  body.single-product .product.type-product > .product-detail > .bzotech-row {
    display: contents !important;
  }
  body.single-product .product.type-product .bzotech-col-md-6:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    max-width: 100% !important;
    width: 100% !important;
    flex: none !important;
  }
  body.single-product .product.type-product .bzotech-col-md-6:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    max-width: 100% !important;
    width: 100% !important;
    flex: none !important;
  }
  body.single-product .product.type-product > .detail-product-tabs {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
    padding-top: 16px !important;
    border-top: 1px solid #eee;
  }
  body.single-product .product.type-product > .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}

/* Hide wishlist (heart) link in header */
.elementor-repeater-item-db891cf,
a[href$="/wishlist/"] .icon-heart-shape-outline,
a[href$="/wishlist/"].item-link {
  display: none !important;
}

/* === Whimsical background decorations on home page (pastel stars / hearts / clouds / sparkles / flower) === */
body.home { position: relative; }
/* Ensure all home-page content paints above the decorations */


/* === v8.9: Expand whimsical decorations to ALL pages + add crown, butterfly, bow, wand, polka dots, rainbow === */
body { position: relative; }
body::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.3;
  background-image:
    /* 1 — gold star top-left */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f0a500' d='M12 2l3 7 7.5.6-5.7 4.8 1.8 7.3L12 17.8 5.4 21.7l1.8-7.3L1.5 9.6 9 9z'/></svg>"),
    /* 2 — pink heart top-right */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ff8da1' d='M12 21s-7-4.5-7-10a4 4 0 017-2.5A4 4 0 0119 11c0 5.5-7 10-7 10z'/></svg>"),
    /* 3 — pastel blue cloud left */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23a8d5f0' d='M19 14a4 4 0 00-3.5-4 5 5 0 00-9.7 1.5A3.5 3.5 0 006 18h13a4 4 0 000-4z'/></svg>"),
    /* 4 — gold 4-point sparkle right */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ffc857' d='M12 2l1.2 9.3L22 12l-8.8.7L12 22l-1.2-9.3L2 12l8.8-.7z'/></svg>"),
    /* 5 — pink flower left */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='5.5' r='3' fill='%23ff9ec4'/><circle cx='12' cy='18.5' r='3' fill='%23ff9ec4'/><circle cx='5.5' cy='12' r='3' fill='%23ff9ec4'/><circle cx='18.5' cy='12' r='3' fill='%23ff9ec4'/><circle cx='12' cy='12' r='2.5' fill='%23ffd966'/></svg>"),
    /* 6 — purple star right */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23c5b3e6' d='M12 2l3 7 7.5.6-5.7 4.8 1.8 7.3L12 17.8 5.4 21.7l1.8-7.3L1.5 9.6 9 9z'/></svg>"),
    /* 7 — gold princess crown */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ffc857' stroke='%23d4920a' stroke-width='0.5' d='M2 9l4 2 3-5 3 4 3-4 3 5 4-2v9H2z'/><circle cx='6' cy='10' r='1' fill='%23ff8da1'/><circle cx='12' cy='8' r='1' fill='%23ff8da1'/><circle cx='18' cy='10' r='1' fill='%23ff8da1'/></svg>"),
    /* 8 — pink bow */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ff8da1' d='M3 8c-1 0-2 2-2 4s1 4 2 4l6-4z'/><path fill='%23ff8da1' d='M21 8c1 0 2 2 2 4s-1 4-2 4l-6-4z'/><ellipse cx='12' cy='12' rx='3' ry='3.5' fill='%23d4729b'/><path d='M11 15v6M13 15v6' stroke='%23ff8da1' stroke-width='2' stroke-linecap='round'/></svg>"),
    /* 9 — magic wand */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><line x1='3' y1='21' x2='14' y2='10' stroke='%23a8d5f0' stroke-width='2' stroke-linecap='round'/><path fill='%23ffd966' d='M18 3l1.4 4L24 8.5 19.4 10 18 14 16.6 10 12 8.5 16.6 7z'/></svg>"),
    /* 10 — butterfly */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ffa8d4' d='M12 12c-2.5-3-6-4.5-9-2 .5 4 4.5 6 9 5z'/><path fill='%23ffa8d4' d='M12 12c2.5-3 6-4.5 9-2-.5 4-4.5 6-9 5z'/><path fill='%23ff8da1' d='M12 12c-2 1-3.5 3.5-2.5 7 2.8 0 5-2 4.5-6z'/><path fill='%23ff8da1' d='M12 12c2 1 3.5 3.5 2.5 7-2.8 0-5-2-4.5-6z'/><ellipse cx='12' cy='12' rx='0.7' ry='4' fill='%234a3a5a'/></svg>"),
    /* 11 — polka dot */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><circle cx='5' cy='5' r='3.5' fill='%23ffc857'/></svg>"),
    /* 12 — mini rainbow */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'><path d='M2 14a10 10 0 0120 0' fill='none' stroke='%23ff8da1' stroke-width='2.2'/><path d='M5 14a7 7 0 0114 0' fill='none' stroke='%23ffc857' stroke-width='2.2'/><path d='M8 14a4 4 0 018 0' fill='none' stroke='%23a8d5f0' stroke-width='2.2'/></svg>"),
    /* 13 — small pink heart */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ff8da1' d='M12 21s-7-4.5-7-10a4 4 0 017-2.5A4 4 0 0119 11c0 5.5-7 10-7 10z'/></svg>"),
    /* 14 — gold sparkle */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ffc857' d='M12 2l1.2 9.3L22 12l-8.8.7L12 22l-1.2-9.3L2 12l8.8-.7z'/></svg>");
  background-repeat: no-repeat;
  background-size: 50px, 36px, 75px, 40px, 55px, 44px, 60px, 50px, 55px, 60px, 22px, 65px, 28px, 32px;
  background-position:
    -200% -200%,
    96% 8%,
    6% 16%,
    93% 22%,
    4% 34%,
    95% 38%,
    7% 50%,
    94% 54%,
    3% 66%,
    96% 70%,
    8% 82%,
    -200% -200%,
    5% 94%,
    96% 97%;
}


/* === Mobile: arrange Boys/Girls/Baby/Accessories in a 2x2 grid + cap their image height === */
@media (max-width: 767px) {
  /* Force the parent row to wrap horizontally instead of stacking */
  .elementor-element-b70785b {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  /* The 4 category tiles → 2 per row */
  .elementor-element-aeacd03,
  .elementor-element-0a49ff5,
  .elementor-element-4575632,
  .elementor-element-08d18db {
    flex: 0 0 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    box-sizing: border-box !important;
  }
  /* Non-tile sections (Featured Items heading, carousel, Come visit us heading) stay full width */
  .elementor-element-fcab8f5,
  .elementor-element-6ce9c50,
  .elementor-element-a294357 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  /* Cap each tile photo so they fit the smaller cells */
  .elementor-element-d2b5d01 img,
  .elementor-element-6df4f9b img,
  .elementor-element-9d8e4d2 img,
  .elementor-element-05e33dc img {
    max-height: 240px !important;
    height: 240px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
  }
}

/* === v9.3: Extra whimsical layer on HOME PAGE only (body.home::after) === */
body.home::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.28;
  background-image:
    /* tiny pink balloon */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><ellipse cx='12' cy='10' rx='5' ry='6.5' fill='%23ffa8d4'/><path d='M12 16.5 L11.3 17.2 L12.7 17.2 Z' fill='%23ffa8d4'/><path d='M12 17.2 Q13 20 11 23' stroke='%23bbb' stroke-width='0.35' fill='none' stroke-linecap='round'/></svg>"),
    /* cupcake */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5e6d3' d='M6 13h12l-2 8H8z'/><path fill='%23ffa8d4' d='M6 13c0-4 2-7 6-7s6 3 6 7z'/><circle cx='12' cy='4.5' r='1.2' fill='%23ff6b9d'/></svg>"),
    /* twinkle 4-point star */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ffd966' d='M12 3l1.2 8.3L21 12l-7.8.7L12 21l-1.2-8.3L3 12l7.8-.7z'/></svg>"),
    /* pastel blue dot */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><circle cx='5' cy='5' r='4' fill='%23a8d5f0'/></svg>"),
    /* small bow (blue) */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23a8d5f0' d='M3 10c-1 0-2 1-2 2s1 2 2 2l5-2z'/><path fill='%23a8d5f0' d='M21 10c1 0 2 1 2 2s-1 2-2 2l-5-2z'/><circle cx='12' cy='12' r='2.5' fill='%237aabc8'/></svg>"),
    /* tiny mushroom (whimsy!) */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ff8da1' d='M4 11a8 8 0 0116 0H4z'/><circle cx='9' cy='8.5' r='1.3' fill='%23fff'/><circle cx='15' cy='8.5' r='1.3' fill='%23fff'/><rect x='10' y='11' width='4' height='9' fill='%23f5e6d3' rx='1'/></svg>"),
    /* music note (whimsy) */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23c5b3e6' d='M9 18a2.5 2.5 0 105 0V4h4V2h-6v13a2.5 2.5 0 00-3 3z'/></svg>"),
    /* tiny pink 5-point star */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ffa8d4' d='M12 3l2.3 5.9 6.2.5-4.7 4.1 1.5 6L12 16.7 6.7 19.5l1.5-6-4.7-4.1 6.2-.5z'/></svg>"),
    /* small rainbow (mid-page) */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'><path d='M2 14a10 10 0 0120 0' fill='none' stroke='%23ff8da1' stroke-width='2'/><path d='M5 14a7 7 0 0114 0' fill='none' stroke='%23ffd966' stroke-width='2'/><path d='M8 14a4 4 0 018 0' fill='none' stroke='%23a8d5f0' stroke-width='2'/></svg>"),
    /* tiny gold sparkle */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ffc857' d='M12 4l1 7 7 1-7 1-1 7-1-7-7-1 7-1z'/></svg>");
  background-repeat: no-repeat;
  background-size: 40px, 42px, 32px, 18px, 38px, 46px, 36px, 28px, 50px, 26px;
  background-position:
    -200% -200%,
    -200% -200%,
    28% 26%,
    68% 30%,
    14% 44%,
    82% 46%,
    24% 60%,
    78% 64%,
    -200% -200%,
    80% 90%;
}

/* Hide the mobile-only legacy text-editor duplicates of the store info (replaced by gy_stores shortcode grid) */
.elementor-element-46f1f6f { display: none !important; }

/* === v9.6: Mobile 2x2 category grid — HIGHER SPECIFICITY override (chained .elementor-element class to beat Elementor's mobile width rules) === */
@media (max-width: 767px) {
  body .elementor-element.elementor-element-b70785b {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  body .elementor-element.elementor-element-aeacd03,
  body .elementor-element.elementor-element-0a49ff5,
  body .elementor-element.elementor-element-4575632,
  body .elementor-element.elementor-element-08d18db {
    flex: 0 0 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body .elementor-element.elementor-element-fcab8f5,
  body .elementor-element.elementor-element-6ce9c50,
  body .elementor-element.elementor-element-a294357 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* v9.7: Reliably tuck whimsical decorations BEHIND all page content.
   Strategy: make body bg transparent (move solid color to html) and drop
   the ::before / ::after to z-index: -1 so they paint behind everything. */
html { background-color: #fff; }
body { background-color: transparent !important; }
body::before, body.home::after {
  z-index: -1 !important;
}

/* About page: shrink the company-description paragraphs */
.elementor-element-34dffcd .elbzotech-text-editor-global,
.elementor-element-34dffcd .elbzotech-text-editor-global p,
.elementor-element-34dffcd .elbzotech-text-editor-global span,
body.page-id-956 .elbzotech-text-editor-global,
body.page-id-956 .elbzotech-text-editor-global p,
body.page-id-956 .elbzotech-text-editor-global span {
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* === v9.9: Mobile 2x2 with EVERY property covered. Elementor may be using CSS vars like --flex-basis. === */
@media (max-width: 767px) {
  body .elementor-element.elementor-element-b70785b.e-flex {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    --flex-direction: row !important;
    --flex-wrap: wrap !important;
    gap: 8px !important;
  }
  body .elementor-element.elementor-element-aeacd03,
  body .elementor-element.elementor-element-0a49ff5,
  body .elementor-element.elementor-element-4575632,
  body .elementor-element.elementor-element-08d18db {
    flex: 0 0 calc(50% - 4px) !important;
    flex-basis: calc(50% - 4px) !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    min-width: 0 !important;
    --width: calc(50% - 4px) !important;
    --container-widget-width: calc(50% - 4px) !important;
    box-sizing: border-box !important;
  }
}

/* Mobile: hide the duplicate page-title h2 in the page banner (Elementor archive header).
   Leaves only the 'Home > [page]' breadcrumb visible — matches desktop's intent. */
@media (max-width: 767px) {
  .elementor-element-71c7632 { display: none !important; }
}

/* Mobile: undo the desktop -100px pull-up on 'Come visit us in-store' and add a small gap above it */
@media (max-width: 767px) {
  .elementor-element-a294357 { margin-top: 80px !important; }
}

/* Hide the Phone icon in the mobile bottom nav; flex layout will auto-redistribute remaining icons */
.elementor-element-e0e3a72 { display: none !important; }

/* Reduce gap above 'Related products' on product pages */
.single-related-product { margin-top: -80px !important; padding-top: 0 !important; }
.single-related-product .title-related-product { margin-top: 0 !important; padding-top: 0 !important; margin-bottom: 16px !important; }

/* Category / shop thumbnails: never crop the clothing. Show full image (contain), centered, on white. Applies to front AND back (hover) images. */
.product-thumb {
  aspect-ratio: 1 / 1 !important;
  background: #fff !important;
  overflow: hidden !important;
}
.product-thumb img,
.product-thumb img.wp-post-image,
.product-thumb .rotate-thumb img,
.product-thumb-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 6% !important;
  box-sizing: border-box !important;
  background: #fff !important;
}
