/* ===== Premium Mobile Header ===== */
@media (max-width: 480px) {
  /* Header background */
  .header-main {
    position: relative !important;
  }
  .header-main,
  .new-header {
    background-color: #fcd14e !important;
    /* padding: 12px 16px 14px !important; */
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  }

  /* Logo */
  .store-logo {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .store-logo img {
    height: 42px !important;
    width: auto !important;
    object-fit: contain;
    background: transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  /* Delivery information */
  .header-top-right {
    position: absolute !important;
    left: 60px !important;
    top: 8px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .location-text {
    color: #2d2415 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .location-address,
  .location-subtitle {
    color: rgba(45, 36, 21, 0.85) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin-top: 2px !important;
  }

  .location-dropdown-icon {
    color: #2d2415 !important;
  }

  /* Menu icon */
  .lucide-menu,
  .app-bar-main svg {
    color: #2d2415 !important;
    width: 22px !important;
    height: 22px !important;
  }

  /* Header action icons */
  .header-top-left {
    position: absolute !important;
    right: 16px !important;
    top: 10px !important;
    display: flex;
    align-items: center;
    gap: 12px !important;
  }

  /* Search section */
  .search-shell {
    margin-top: 16px !important;
  }

  .search-box {
    background: #fdf7e8 !important;
    border: 1px solid #d9c48f !important;
    border-radius: 18px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  }

  .search-field .search-input {
    color: #3d3d3d !important;
    font-size: 14px !important;
  }

  .search-field .search-input::placeholder {
    color: #6d6d6d !important;
  }

  .search-container:before,
  .search-container svg {
    color: #5a4c2a !important;
    background: transparent !important;
  }

  /* Category spacing */
  .min-h-screen .page-container .grid.grid-cols-2.gap-6 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .min-h-screen .page-container .grid-cols-2 .bg-white {
    padding: 6px 4px !important;
    border-radius: 16px !important;
  }

  .min-h-screen .page-container .grid-cols-2 .bg-white a img {
    border-radius: 18px !important;
  }

  .recommended-theme-card-grid h3,
  .min-h-screen .page-container .grid-cols-2 .bg-white h3 {
    font-size: 11px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  /* Search padding */
  .app-bar {
    padding-bottom: 10px !important;
  }
}

/* Premium desktop logo */
.desktop-store-logo img {
  margin: 0 !important;
  height: 52px !important;
  object-fit: contain;
}

/* Premium search styling */
.search-box {
  border: 1px solid #d9c48f !important;
  border-radius: 18px !important;
}

/* Softer category images 
.cat-card .cat-card-img-rounded {
  border-radius: 18px !important;
}
*/
/* Footer icons */
.vertical-soc-cont .sh-social-icon {
  border-radius: 50% !important;
}

.title-punchline {
  font-weight: 600 !important;
}

@media (max-width: 1023px) {
  .category-icon {
    height: 75px !important;
    width: 75px !important;
    object-fit: contain !important;
  }
}
main:has(.hero-banner-root) {
  display: flex;
  flex-direction: column;
}
main:has(.hero-banner-root) .section:has(.ubb-testimonials-section) {
  order: 1;
}

#related-products-section h3.text-sm.font-semibold.mb-4 {
  visibility: hidden !important;
  position: relative;
}

#related-products-section h3.text-sm.font-semibold.mb-4::after {
  content: "You May Also Need";
  visibility: visible;
  position: absolute;
  left: 0;
  top: 0;
}
.header-categories {
  display: none;
}
.min-h-screen .page-container .mb-12 {
  display: none !important;
}
.min-h-screen .page-container .lg\:mt-16 {
  display: none !important;
}

@media (max-width: 767px) {
  .floating-cart-button {
    bottom: 117px !important;
  }
}
.floating-cart-button {
  background: #ff326a !important;
}
.product-card {
  position: relative;
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 16px !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  /* reserve room for the add-to-cart bar pinned to the card bottom */
  padding-bottom: 58px !important;
  transition:
    transform 0.18s,
    box-shadow 0.18s,
    border-color 0.18s;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 38px rgba(38, 50, 56, 0.13);
  border-color: #e2d3c6;
}

/* Image on white, contained (theme used object-fit:cover on a tinted box).
   The container is made non-positioned + non-clipping so the add button can
   anchor to the CARD bottom; the <a> link becomes the image box instead. */
.product-card-image-container {
  position: static !important;
  overflow: visible !important;
  background: #fff !important;
  border: none !important;
  border-bottom: 1px solid #ececec !important;
  border-radius: 0 !important;
  aspect-ratio: auto !important; /* collapse to the link's height (theme forced 4/5) */
  height: auto !important;
}
.product-card-link {
  position: relative !important;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
}
.product-card-image {
  object-fit: contain !important;
  padding: 8px !important;
  background: #fff;
}
.product-card {
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  transition: opacity 0.3s ease;
  padding-bottom: 58px;
}

/* Add button ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ full-width orange "Add to cart" bar pinned to the card bottom,
   with a cart icon injected via a data: URI (no sprite is published). */
.product-card-add-button {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 8px !important;
  top: auto !important;
  width: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #eb4d79 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 0 !important;
  text-transform: none !important;
  box-shadow: 0 4px 12px rgba(236, 90, 30, 0.3);
}

.product-card-add-button::after {
  content: "Add to cart";
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}
.product-card-add-button:hover {
  filter: brightness(1.07);
}

/* Quantity stepper (shown once the item is in the cart) ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â match the add button:
   a full-width orange bar pinned to the card bottom with white - / value / +. */
.product-card-quantity-selector {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 8px !important;
  top: auto !important;
  width: auto !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #eb4d79 !important;
  border-radius: 10px !important;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(236, 90, 30, 0.3);
}
.product-card-quantity-btn {
  background: transparent !important;
  color: #fff !important;
  border: none !important;
  width: 44px !important;
  height: 100% !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer;
}
.product-card-quantity-btn:hover {
  background: rgba(255, 255, 255, 0.16) !important;
}
.product-card-quantity-value {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  flex: 1 1 auto;
  text-align: center;
}

/* Discount ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ green badge, top-left over the image */
.product-card-discount-amount {
  position: absolute !important;
  top: 10px;
  left: 10px;
  z-index: 4;
  background: linear-gradient(135deg, #22a75c, #1c8a4a);
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 4px 9px;
  border-radius: 7px;
  box-shadow: 0 4px 10px rgba(28, 138, 74, 0.3);
}
.product-card-wishlist {
  right: 8px !important;
  position: absolute;
  left: auto !important;
  top: 8px;
  z-index: 6;
}

/* Price row: dark bold price + strikethrough MRP (theme showed price as a green pill) */
.product-card-price {
  background: transparent !important;
  color: #263238 !important;
  border: none !important;
  padding: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  box-shadow: none !important; /* theme left a green offset shadow that looked like an underline */
}
.product-card-mrp-price {
  color: #6b7280 !important;
  text-decoration: line-through;
  font-size: 12.5px !important;
}
/* theme adds a 20x1px line after the discount (rendered as stray dashes on the badge) */
.product-card-discount-amount::after {
  display: none !important;
}

.product-card-info {
  padding: 12px 12px 0 !important;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

/* Reference order: title first, then price, then the variant chip
   (the theme renders price above the title). Tight spacing for a compact card. */
.product-card-name-link {
  order: 1;
  margin-bottom: 4px;
}
.product-card-pricing {
  order: 2;
  margin: 0 !important;
}
.product-card-variant-chip {
  order: 3;
}
.product-swiper-slide {
  height: auto !important;
}
.product-swiper-slide .scroll-animate-item,
.recommended-theme-mode-grid .scroll-animate-item {
  height: 100% !important;
}
.product-card {
  height: 100% !important;
}
.header-main {
  background-color: #fcd14e !important;
}
.desktop-header-main {
  background-color: #fcd14e !important;
}
.desktop-header {
  background-color: #fcd14e !important;
}
.product-detail-add-to-cart-button.universal-btn-style {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  background: #eb4d79 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  box-shadow: 0 4px 12px rgba(236, 90, 30, 0.3) !important;
  cursor: pointer;
  transition:
    filter 0.2s ease,
    transform 0.2s ease;
}

.product-detail-add-to-cart-button.universal-btn-style:hover {
  filter: brightness(1.07);
}
.nav-item .nav-link,
.nav-item svg {
  color: #ffffff !important;
}
.badge-icon-count {
  background-color: #e43726 !important;
  color: #fff !important;
}
.product-detail-quantity-selector {
  align-items: center;
  background-color: #ec4899 !important;
}
.product-detail-cart-icon-btn.has-cart-items {
  justify-content: flex-start;
  min-width: 56px !important;
  width: 50px !important;
}
.product-detail-cart-label {
  display: none;
}

@media (max-width: 768px) {
  .header-search {
    margin-top: 20px;
  }
}

@media (max-width: 768px) {
  .header-search-box,
  .header-search-trigger {
    border-radius: 16px;
  }
}

/* Title box — uniform on all viewports (stops horizontal overflow/overlap) */
.sh-ge-collect .banner-content.banner-content-outside {
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
}
.sh-ge-collect .banner-content-inner,
.sh-ge-collect .banner-title {
  width: 100% !important;
}
.sh-ge-collect .banner-title {
  margin: 0 !important;
  padding: 0 2px !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  text-overflow: ellipsis;
  box-sizing: border-box;
}

/* Mobile / tablet: compact uniform image box + small title */
@media (max-width: 1023px) {
  .sh-ge-collect .banner-image-container,
  .sh-ge-collect .banner-collection {
    height: 108px !important;
  }
  .sh-ge-collect .banner-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  .sh-ge-collect .banner-title {
    height: 34px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}

/* Desktop: big uniform image box (maps show large but stay aligned) */
@media (min-width: 1024px) {
  .sh-ge-collect .banner-image-container,
  .sh-ge-collect .banner-collection {
    height: 240px !important;
  }
  .sh-ge-collect .banner-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  .sh-ge-collect .banner-title {
    height: 32px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 1;
  }
}

/* ============================================================
   District (State / City) collection — single-row horizontal
   scroll on desktop AND mobile.
   - The heading (first child) stays a full-width block on its
     own line.
   - The 13 map cards become an inline-block row that never
     wraps, so as many as fit are shown and the rest scroll.
   - The scrollbar is hidden on all engines.
   Trick: display:block + white-space:nowrap on the section keeps
   block-level children (heading) on their own line while the
   inline-block cards flow horizontally in one non-wrapping row.
   Selector uses this collection's stable class; if the section is
   recreated and the hash changes, swap it for `section.sh-ge-collect`.
   ============================================================ */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 {
  display: block !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  /* clip to the screen width and scroll INSIDE — without these the section
     (a flex item in <main>) grows to its content width and makes the whole
     page scroll sideways on mobile */
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  /* hide scrollbar — Firefox / old IE-Edge */
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
/* hide scrollbar — Chrome / Safari / new Edge */
section.sh-ge-collect-6a8fd3db1921b074aaff8383::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Heading row: keep it full width on its own line above the maps.
   position:sticky + left:0 pins the heading/sub-heading so ONLY the
   card track scrolls horizontally — the heading never moves. */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 > div:first-child {
  display: block !important;
  white-space: normal !important;
  width: 100% !important;
  position: sticky !important;
  left: 0 !important;
  z-index: 2 !important;
}

/* Each map card: fixed-width inline-block cell in the scroll row */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 > .section-item {
  display: inline-block !important;
  white-space: normal !important;
  vertical-align: top !important;
  width: 150px !important;
  max-width: none !important;
  margin: 0 6px !important;
}
section.sh-ge-collect-6a8fd3db1921b074aaff8383 > .section-item:first-of-type {
  margin-left: 0 !important;
}

/* Compact, uniform map image box for the scroll row (clip any spill) */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-image-container,
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-collection {
  height: 150px !important;
  overflow: hidden !important;
}

/* Keep the label box within the card and center it */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-content,
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-content-outside,
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-content-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* District label: fits the card width, wraps to 2 lines instead of
   spilling over neighbouring cards */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-title {
  width: 100% !important;
  max-width: 100% !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  box-sizing: border-box;
}

/* Mobile: smaller cells so a few peek in and the rest scroll */
@media (max-width: 767px) {
  section.sh-ge-collect-6a8fd3db1921b074aaff8383 > .section-item {
    width: 104px !important;
    margin: 0 5px !important;
  }
  section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-image-container,
  section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-collection {
    height: 96px !important;
  }
  section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-title {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }
}
