.elementor-13778 .elementor-element.elementor-element-9067e61{--display:flex;--padding-top:0%;--padding-bottom:0%;--padding-left:4%;--padding-right:4%;}/* Start custom CSS for html, class: .elementor-element-16b206a */.search-cate {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background-color: #fff;
    max-width: 500px;
    margin: 35px 0px;
}

.search-cate img {
  width: 16px;
  height: 16px;
  flex-shrink: 0;               /* keep icon size fixed */
  opacity: 0.6;                 /* subtle look like in screenshot */
}

.search-cate input {
  border: none;
  outline: none;
  flex: 1;                      /* take up all remaining space */
  font-size: 16px;
  font-family: inherit;
  color: #111827;               /* dark grey text */
}

.search-cate input::placeholder {
  color: #6b7280;               /* muted placeholder color */
}


.cate-pro-img {
    aspect-ratio: 3 / 3;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    margin-bottom: 12px;
}
.gift-block {
    background: none;
    aspect-ratio: 6 / 4;
}

 .products-row {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 20px;
      align-items: stretch;
    }
    .cate-custom { font-family: "Inter Tight", Sans-serif; }
    .product-card { width: 100%; border: 1px solid #e5e7eb; border-radius: 12px; padding: 14px; background:#fff; }
    .product-card h2 { margin: 8px 0 0; font-weight: 400; color: #667085; font-size: 16px; }
    .product-card h4 { margin: 12px 0 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    height: 55px; }
    .product-card h5 { margin: 10px 0; font-size: 16px; font-weight: 600; font-family: "Inter Tight", Sans-serif; }
    .card-link { margin: 0; gap: 6px; }
     img.pro-img { border-radius: 7px; object-fit: contain; width: 100%; height: 100%; }
     
     .add-to-cart { display: flex; align-items: center; margin: 0; gap: 6px; color: #101828; font-size: 18px; font-weight: 500; }
     
     .gift-product {
    padding: 8px 12px 14px 12px;
}

.cate-custom h5 span {
    font-weight: 400;
}
.cate-filters ul {
    display: flex;
    margin: 0px;
    gap: 10px;
}
.cate-name li {
    list-style: none;
}
.cate-name ul li a {
    border: 1px solid #e3e3e3;
    padding: 11px 18px;
    border-radius: 20px;
    color: #667085;
    font-size: 17px;
    font-weight: 500;
    transition: 0.5s ease all;
}
.cate-name ul li a:hover {
    /* background-color: #ccc; */
    border: 1px solid #101828;
    color: #101828;
}
.cate-tag {
    display: flex;
    margin: 25px 0px;
    gap: 14px;
}
.cate-tag div {
    background-color: #F2F4F7;
    padding: 7px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 20px;
    color: #667085;
    font-weight: 500;
    transition: 0.5s ease all;
}
.cate-tag div:hover {
    background-color: #eae1f9;
}
.cate-heading h3 {
    margin: 0px;
    font-size: 32px;
    font-weight: 500;
    color: #101828;
}
.cate-heading p {
    margin: 10px 0px 0px;
    font-size: 20px;
    line-height: 30px;
    color: #667085;
}
.cate-heading {
    margin: 30px 0px;
}
.cate-blocks {
    display: flex;
    align-items: center;
    gap: 12px;
}
.left-filter-sidebar button {
    display: flex;
    align-items: center;
    border-radius: 5px;
    border: 1px solid #e5e5e5;
    background-color: white;
    color: #242424;
    gap: 5px;
    padding: 11px 18px;
}
.left-filter-sidebar button:hover {
    border-radius: 5px;
    background-color: #f2ecff;
    color: #000;
}


.cate-title{
    margin-bottom: 20px;
    margin-top: 50px;
}
.icon-heading {
    display: flex;
    gap: 5px;
   align-items: center;
     font-family: "Inter Tight", Sans-serif;
}
.icon-heading h3{
     font-family: "Inter Tight", Sans-serif;
     font-weight: 500;
     font-size: 28px;
     margin: 0px;
}
.cate-title p{
    margin: 3px 0px 0px;
    font-size: 20px;
    color: #667085;
}
.icon-heading img {
    width: 28px;
}



  /* actions row */
  .actions{display:flex;align-items:center;gap:25px;margin-top:12px}

  /* pill stepper */
  .qty-stepper {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 6px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
}
  .qty-stepper .btn-step{
    width:40px;height:40px;display:grid;place-items:center;border:0;
    border-radius:12px;background:#f2f4f7;box-shadow:0 1px 2px rgba(16,24,40,.06);
    font-size:20px;line-height:1;cursor:pointer
  }
  .qty-stepper .btn-step:active{transform:translateY(1px) scale(.98)}
  .qty-stepper .qty{
    width:2.2ch;text-align:center;font-size:18px;font-weight:500;color:#111827;
    border:0;background:transparent
  }

  /* add button (feel free to keep your own styles) */

 


 /* Skeleton shimmer */
  .skel {
    position: relative;
    overflow: hidden;
    background: #f2f4f7;
    border-radius: 10px;
  }
  .skel::before{
    content:"";
    position:absolute; inset:0;
    background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.6) 50%, transparent 70%);
    transform: translateX(-100%);
    animation: skel-shimmer 1.2s ease-in-out infinite;
  }
  @keyframes skel-shimmer { to { transform: translateX(100%); } }

  /* Skeleton card layout (mirrors your product card) */
  .product-card.is-skeleton { pointer-events: none; }
  .product-card.is-skeleton .cate-pro-img { height: 220px; margin-bottom: 10px; }
  .skel-line { height: 14px; margin: 10px 0; }
  .skel-btn  { height: 38px; border-radius: 8px; margin-top: 8px; }

  /* widths to vary lines */
  .w-40{ width:40%; } .w-60{ width:60%; } .w-80{ width:80%; }

  /* keep add-to-cart clickable above overlay links if you use them elsewhere */
  .product-card .add-to-cart{ position:relative; z-index: 1; }




#gift-widget .add-btn,
#gift-widget .btn-step {
  all: unset;                 /* wipe all author styles (theme/Elementor) */
  -webkit-appearance: none;
  appearance: none;
  text-decoration: none;
  font: inherit;
  color: inherit;
}

/* 2) Your intended styles (safe from theme overrides) */

#gift-widget .add-btn img{ width:20px; height:20px; }

/* quantity stepper buttons */
#gift-widget .btn-step {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    background: #EAECF0 !important;
    border-radius: 8px;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 1px rgba(16, 24, 40, .04);
}
#gift-widget .btn-step:active{ transform: translateY(1px) scale(.98); }

/* focus ring */
#gift-widget .add-btn:focus-visible,
#gift-widget .btn-step:focus-visible{
  outline:2px solid #7c3aed; outline-offset:2px;
}






/* === Category Grid (scoped) === */
.cat-grid{
  --tile-radius: 18px;
  --thumb-radius: 16px;
  --gap: 16px;
  --text: #0f172a;
  --muted:#6b7280;
  display:grid;
  gap: var(--gap);
  grid-template-columns: repeat(auto-fill, minmax(180px,1fr));
}

/* Card is an anchor for full-tile click */
.cat-card{
  display:block;
  text-decoration:none;
  color:var(--text);
  border-radius: var(--tile-radius);
  padding: 6px;                   /* keeps a little white breathing room around the image */
  transition: transform .15s ease, box-shadow .2s ease;
}
.cat-card:focus-visible{
  outline: 2px solid #7c3aed;
  outline-offset: 2px;
  border-radius: calc(var(--tile-radius) + 2px);
}
.cat-card:hover{
  transform: translateY(-2px);
}

/* Image tile */
.cat-thumb{
  position:relative;
  width:100%;
  aspect-ratio: 3 / 3;            /* keeps consistent shape */
  border-radius: var(--thumb-radius);
  overflow:hidden;
  background:#eef2f6;             /* subtle bg behind images */
}
.cat-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit: contain;
}

/* Placeholder state: grey block (no image) */
.cat-thumb.is-empty{
  background: linear-gradient(180deg,#e5e7eb,#e6e9ee);
}

/* Caption row */
.cat-meta{
  display:flex;
  align-items:center;
  justify-content: flex-start;
  gap: 10px;
  padding: 8px 6px 0;
}

.cat-chevron{
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: #6b7280;
}
.cat-card:hover .cat-chevron{ color:#0f172a; }

/* Responsive tweaks */
@media (min-width: 640px){
  .cat-grid{ grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); }
  .bs-cat-title{ font-size: 15px; }
}
@media (min-width: 1024px){
  .cat-grid{ grid-template-columns: repeat(6, 1fr); } /* feel free to adjust column count */
}

.bs-cat-title{
  font-size: 20px;
  font-weight: 500;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}




.store-link { display:inline-flex; align-items:center; padding:.25rem; border-radius:.5rem; }
.store-link img{
  transition: transform .25s ease, filter .25s ease, opacity .25s ease;
  will-change: transform;
}

/* Animate only while hovered/focused */
.store-link:hover img,
.store-link:focus-visible img{
  animation: nudge-right 1.2s cubic-bezier(.2,.6,.2,1) infinite;
  transform: translateX(4px) scale(1.02);
  opacity:.8;                               /* simple “color” shift */
  filter: saturate(1.25) brightness(1.05);  /* gentle tint/brighten */
}

/* Faster repeating nudge */
@keyframes nudge-right{
  0%,60%   { transform:translateX(0) scale(1.02); }
  66%      { transform:translateX(6px) scale(1.02); }
  74%      { transform:translateX(-4px) scale(1.02); }
  82%      { transform:translateX(7px) scale(1.02); }
  90%,100% { transform:translateX(0) scale(1.02); }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  .store-link:hover img,
  .store-link:focus-visible img{ animation:none; transform:none; }
}/* End custom CSS */