/* ---- header.css ---- */

/* ADDED NEAR THE TOP TO FORCE NO HORIZONTAL SCROLL */
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden !important;
}

/* Ensure images shrink on small screens */
img {
  max-width: 100%;
  height: auto;
}

/* -------------------------------------------------------
   Reset & Base
-------------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: 'Poppins', sans-serif;
  background: #f7f7f7;
}

/* Primary Color */
:root {
  --ks-primary: #008000; /* primary green color */
  --transition-speed: 0.3s;
  --ease-func: cubic-bezier(0.4, 0, 0.2, 1);
}

/* -------------------------------------------------------
   HEADER WRAPPER
-------------------------------------------------------- */
.ks-header {
  width: 100%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  position: -webkit-sticky; /* <-- ADDED for older Safari */
  position: sticky;
  top: 0;
  z-index: 9999;
}

/* ============ HEADER TOP (Desktop) ============ */
.ks-header-top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 20px;
  position: relative;
  flex-wrap: nowrap;
  overflow: visible;
}

/* Hamburger (Mobile Only) */
.ks-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  margin-right: 15px;
}
.ks-hamburger span {
  width: 24px;
  height: 2px;
  background: #333;
  display: block;
}

/* Logo */
.ks-logo-area {
  display: flex;
  align-items: center;
}
.ks-logo-area img {
  height: 60px;
  width: auto;
  transition: height 0.3s;
}

/* Search (Desktop) */
.ks-search-area {
  flex: 1;
  justify-content: center;
  margin: 0 20px;
  position: relative;
}
.ks-search-container {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1500px;
  background: #f2f2f2;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}
.ks-search-input {
  flex: 1;
  height: 48px;
  border: none;
  outline: none;
  padding: 0 15px;
  font-size: 1rem;
  background: transparent;
}
.ks-search-input::placeholder {
  color: #999;
}
.ks-search-btn {
  width: 48px;
  height: 48px;
  border: none;
  background: none;
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
  color: var(--ks-primary);
}
.ks-search-btn:hover {
  color: #333;
}
.ks-search-mic {
  width: 44px;
  height: 48px;
  border: none;
  background: none;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease, transform 0.2s ease;
  color: #666;
}
.ks-search-mic:hover {
  color: #333;
}
.ks-search-mic.is-listening {
  color: #d93025;
  animation: ksSearchMicPulse 1.1s ease-in-out infinite;
}
.ks-voice-search-status {
  position: absolute;
  top: calc(100% + 10px);
  right: 12px;
  max-width: 280px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(34, 34, 34, 0.94);
  color: #fff;
  font-size: 0.88rem;
  line-height: 1.35;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 10020;
}
.ks-voice-search-status.show {
  opacity: 1;
  transform: translateY(0);
}
.ks-voice-search-status.is-error {
  background: rgba(180, 39, 39, 0.96);
}
.ks-voice-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(7, 18, 13, 0.46);
  backdrop-filter: blur(3px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
  z-index: 100000;
}
.ks-voice-modal.show {
  opacity: 1;
  pointer-events: auto;
}
.ks-voice-modal-card {
  position: relative;
  width: min(420px, calc(100vw - 28px));
  padding: 28px 24px 24px;
  border-radius: 26px;
  background: linear-gradient(180deg, #fff 0%, #f7fbf8 100%);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.28);
  color: #162033;
  text-align: center;
  transform: translateY(8px) scale(0.98);
  transition: transform 0.18s ease;
  overflow: hidden;
}
.ks-voice-modal.show .ks-voice-modal-card {
  transform: translateY(0) scale(1);
}
.ks-voice-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f1f5f3;
  color: #111827;
  cursor: pointer;
  font-size: 1rem;
}
.ks-voice-modal-icon {
  position: relative;
  width: 92px;
  height: 92px;
  margin: 10px auto 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: radial-gradient(circle at 35% 30%, #24b35a, #087a32 70%);
  box-shadow: 0 15px 34px rgba(8, 122, 50, 0.28);
  font-size: 2rem;
}
.ks-voice-modal-icon span {
  position: absolute;
  inset: -12px;
  border: 2px solid rgba(8, 122, 50, 0.24);
  border-radius: 50%;
  animation: ksVoiceRipple 1.45s ease-out infinite;
}
.ks-voice-modal-icon span + span {
  animation-delay: 0.55s;
}
.ks-voice-modal-card h3 {
  margin: 0 38px 8px;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.ks-voice-modal-card p {
  margin: 0 auto 10px;
  color: #253044;
  line-height: 1.35;
  font-size: 2rem;
  font-weight: 800;
}
.ks-voice-hint {
  margin: 0 auto 18px;
  max-width: 310px;
  color: #778197;
  font-size: 0.95rem;
  line-height: 1.4;
}
.ks-voice-transcript {
  display: none;
  margin: 0 auto 18px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #eef8f1;
  color: #0b5f2a;
  font-weight: 700;
  max-width: 320px;
}
.ks-voice-transcript.show {
  display: block;
}
.ks-voice-cancel {
  display: block;
  margin: 0 auto;
  padding: 11px 24px;
  border: 1px solid #d9dee7;
  border-radius: 999px;
  background: #fff;
  color: #222;
  cursor: pointer;
  font-weight: 700;
  min-width: 128px;
}
.ks-voice-cancel:hover,
.ks-voice-modal-close:hover {
  background: #f3f6f8;
}
@keyframes ksVoicePulse {
  0%, 100% { box-shadow: 0 0 0 8px rgba(11, 122, 50, 0.12); }
  50% { box-shadow: 0 0 0 14px rgba(11, 122, 50, 0.04); }
}
@keyframes ksVoiceRipple {
  0% { transform: scale(0.82); opacity: 0.85; }
  100% { transform: scale(1.32); opacity: 0; }
}
@media (max-width: 640px) {
  .ks-voice-modal {
    align-items: flex-end;
    padding: 12px;
  }
  .ks-voice-modal-card {
    width: 100%;
    min-height: 58vh;
    border-radius: 28px 28px 18px 18px;
    padding: 34px 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .ks-voice-modal-icon {
    width: 108px;
    height: 108px;
    font-size: 2.25rem;
  }
  .ks-voice-modal-card h3 {
    font-size: 1.25rem;
  }
  .ks-voice-modal-card p {
    font-size: 2.35rem;
  }
  .ks-voice-cancel {
    margin-top: 8px;
  }
}
@keyframes ksSearchMicPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.12); }
}

/* Search Results Container */
#searchResults {
  position: absolute;
  top: 48px;
  left: 0;
  width: 100%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  max-height: 300px;
  overflow-y: auto;
  z-index: 10000;
}

/* Right Links (Desktop + Mobile) */
.ks-right-links {
  display: flex;
  align-items: center;
  gap: 20px;
}
.ks-divider {
  width: 1px;
  height: 20px;
  background: #ccc;
}
.ks-seller-btn,
.ks-app-link {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
  transition: color 0.2s;
}
.ks-seller-btn i,
.ks-app-link i {
  color: var(--ks-primary);
}
.ks-seller-btn:hover,
.ks-app-link:hover {
  color: var(--ks-primary);
}

/* Cart Link */
.cart-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #333;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  transition: color 0.2s;
}
.cart-link:hover {
  color: var(--ks-primary);
}
.cart-link i {
  color: var(--ks-primary);
  font-size: 1.2rem;
}
.cart-top {
  display: flex;
  align-items: center;
  gap: 6px;
}
.cart-amount {
  font-size: 0.85rem;
  margin-top: 2px;
}

/* My Account replaced with icon + 'Login' */
.ks-account-area {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ks-account-area i {
  font-size: 1.1rem;
  color: var(--ks-primary);
}
.ks-account-area span {
  font-size: 0.9rem;
  color: #333;
  font-weight: 600;
}

/* Account Popover */
.ks-account-popover {
  position: absolute;
  top: 110%;
  left: 0;
  width: 220px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  padding: 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 9999;
}
.ks-account-popover.show {
  opacity: 1;
  pointer-events: auto;
}
.ks-account-popover p {
  margin-bottom: 10px;
  font-size: 0.85rem;
  color: #444;
}
.ks-login-btn {
  width: 100%;
  padding: 6px 12px;
  border: none;
  border-radius: 4px;
  background: var(--ks-primary);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 8px;
}
.ks-login-btn:hover {
  background: #006400;
}
.ks-new-user {
  font-size: 0.85rem;
  color: #666;
  text-align: center;
}
.ks-new-user a {
  color: var(--ks-primary);
  text-decoration: none;
}
.ks-new-user a:hover {
  text-decoration: underline;
}

/* NAV BAR & Mega Menu (Desktop) */
.ks-nav-bar {
  background: #fff;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.ks-nav-items {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 20px;
  list-style: none;
  justify-content: center;
}
.ks-nav-items li {
  position: relative;
}
.ks-nav-items a {
  display: flex;
  align-items: center;
  padding: 10px 0;
  color: #333;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: color 0.2s;
}
.ks-nav-items a:hover {
  color: var(--ks-primary);
}
.ks-nav-items li.has-dropdown > a::after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 6px;
  font-size: 0.75rem;
  color: #666;
  transition: transform 0.2s;
}
.ks-nav-items li.has-dropdown:hover > a::after {
  transform: rotate(180deg);
}
.ks-mega-menu {
  position: absolute;
  top: 40px;
  left: 30%;
  width: 600px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 15px;
  display: none;
  z-index: 999;
  transform: translateX(-30%);
}
@media (max-width: 768px) {
  .ks-mega-menu {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
  }
}
.ks-mega-menu h4 {
  margin-bottom: 10px;
  font-size: 1rem;
  color: #333;
}
.ks-mega-menu .mega-columns {
  display: flex;
  gap: 20px;
}
.ks-mega-menu .mega-column {
  flex: 1;
}
.ks-mega-menu .mega-column ul {
  list-style: none;
  padding: 0;
}
.ks-mega-menu .mega-column ul li {
  margin-bottom: 2px;
}
.ks-mega-menu .mega-column ul li a {
  color: #555;
  font-size: 0.9rem;
  transition: color 0.2s;
}
.ks-mega-menu .mega-column ul li a:hover {
  color: var(--ks-primary);
}
.ks-nav-items li:hover .ks-mega-menu {
  display: block;
}

/* ============ MOBILE STYLES ============ */
@media (max-width: 768px) {
  .ks-header-top {
    flex-wrap: wrap !important;
  }
  .ks-hamburger {
    display: flex;
  }
  .ks-logo-area img {
    height: 48px;
  }
  .ks-search-area {
    order: 3;
    width: 100%;
    margin: 10px 0 4px 0;
    
  }
  .ks-nav-bar {
    display: none;
  }
  .ks-right-links {
    display: none !important;
  }
  .ks-mobile-icons {
    display: flex !important;
    margin-left: auto;
    gap: 12px;
  }
}
.ks-mobile-icons {
  display: none;
  align-items: center;
}
.vertical-line {
  width: 1px;
  height: 20px;
  background: #ccc;
}

/* SIDE-DRAWER (Mobile Nav) */
.ks-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  display: none;
  z-index: 9998;
}
.ks-overlay.show {
  display: block;
}
.ks-nav-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 80%;
  max-width: 320px;
  height: 100%;
  background: #fff;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  z-index: 9999;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform var(--transition-speed) var(--ease-func);
}

  .ks-nav-drawer .ks-menu-level ul li {
    padding: 6px 0;   /* pehle 10px 0 tha, ab 6px 0 kar diya */
  }
.ks-nav-drawer.show {
  transform: translateX(0);
}
.ks-drawer-content {
  position: relative;
  width: 100%;
  height: 100%;
}
.ks-menu-level {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow-y: auto;
  transform: translateX(0);
  transition: transform var(--transition-speed) var(--ease-func);
}
.ks-menu-level.hidden-right {
  transform: translateX(100%);
}
.ks-menu-level.hidden-left {
  transform: translateX(-100%);
}
.ks-nav-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  border-bottom: 1px solid #eee;
}
.ks-nav-drawer-header h3 {
  font-size: 1.1rem;
  color: #333;
}
.ks-drawer-close {
  font-size: 1.3rem;
  color: #333;
  cursor: pointer;
  background: none;
  border: none;
}
.ks-drawer-close:hover {
  color: var(--ks-primary);
}
.ks-sub-header {
  justify-content: flex-start;
  gap: 10px;
}
.ks-sub-header .ks-back-btn {
  background: none;
  border: none;
  font-size: 1rem;
  color: #333;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.ks-sub-header .ks-back-btn i {
  margin-right: 6px;
  font-size: 1.1rem;
}
.ks-sub-header .ks-back-btn:hover {
  color: var(--ks-primary);
}
.ks-menu-level ul {
  list-style: none;
  margin: 0;
  padding: 0 20px;
}
.ks-menu-level ul li {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #eee;
  padding: 10px 0;
  justify-content: space-between;
}
.no-sub i {
  display: none;
}
.ks-menu-level ul li a {
  color: #333;
  text-decoration: none;
  font-weight: 500;
   display: flex;
  align-items: center;
  /* arrow ko right me push karne ke liye */
  justify-content: space-between;
  /* pura row cover kare */
  width: 100%;
  /* agar padding alag ho to adjust kar lo */
  padding: 2px 6px;
}

.ks-menu-level ul li a .ks-arrow-btn {
  margin-left: auto;
}
.ks-menu-level ul li a:hover {
  color: var(--ks-primary);
}
.ks-arrow-btn {
  color: #333;
  font-size: 1rem;
  cursor: pointer;
  margin-left: 10px;
}
.ks-arrow-btn:hover {
  color: var(--ks-primary);
}

/* Additional fix to anchor popover on the right so it's not cut off. */
.ks-account-popover {
  left: auto !important;
  right: 0 !important;
  transform: none !important;
}

/* Extra fix for popover clipping */
.ks-right-links,
.ks-account-area {
  overflow: visible !important;
  position: relative !important;
  z-index: 9999 !important;
}

/* -------------------------------------------------------
   CART DRAWER STYLING
-------------------------------------------------------- */
.cart-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 380px;
  height: 100%;
  background: #fff;
  box-shadow: -3px 0 10px rgba(0,0,0,0.15);
  z-index: 9999;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
}
.cart-drawer.show {
  right: 0;
}
.cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: #fafafa;
  border-bottom: 1px solid #ddd;
}
.cart-header h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.cart-header .close-cart {
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  color: #333;
  transition: color 0.2s;
}
.cart-header .close-cart:hover {
  color: #000;
}
#cartItemsContainer {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}
.cart-item {
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  display: flex;
  gap: 0.75rem;
}
.cart-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.cart-item img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
}
.cart-item-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cart-item-title {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 4px;
}
.cart-item-variant {
  font-size: 0.85rem;
  color: #777;
  margin-bottom: 6px;
}
.cart-item-price {
  font-size: 0.9rem;
  color: #444;
  margin-bottom: 0.5rem;
}
.cart-item-price s {
  color: #999;
  margin-left: 6px;
  font-size: 0.85rem;
}
.cart-item-qty {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cart-item-qty button {
  border: none;
  background: #f0f0f0;
  cursor: pointer;
  padding: 4px 10px;
  font-size: 0.9rem;
  border-radius: 4px;
  transition: background 0.2s;
}
.cart-item-qty button:hover {
  background: #e0e0e0;
}
.cart-footer {
  border-top: 1px solid #ddd;
  padding: 1rem;
}
.cart-subtotal {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
}
.cart-terms {
  margin-bottom: 1rem;
}
.cart-terms label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  margin-bottom: 6px;
  cursor: pointer;
}
.cart-terms input[type="checkbox"] {
  transform: scale(1.2);
  cursor: pointer;
}
.cart-terms input[type="checkbox"]:checked {
  accent-color: #1c7c54;
}
.cart-disclaimer {
  font-size: 0.8rem;
  color: #666;
  line-height: 1.3;
  margin-bottom: 1rem;
}
.cart-disclaimer a {
  color: #007bff;
  text-decoration: underline;
}
.shipping-note {
  font-size: 0.85rem;
  color: #777;
  margin-top: 1rem;
}
/* GREEN PLACE ORDER BUTTON */
.cart-checkout-btn {
  width: 100%;
  padding: 0.75rem;
  background-color: #008000; /* Updated to green */
  color: #fff;
  border: none;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}
.cart-checkout-btn:hover {
  background-color: #006400; /* Darker green on hover */
}
.cart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  display: none;
  z-index: 9998;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cart-overlay.show {
  display: block;
  opacity: 1;
}
/* Slightly adjusted position for the .cart-badge so it sits higher */
.cart-badge {
  position: absolute;
  top: -16px;
  right: -8px;
  background-color: #1c7c54;
  color: #fff;
  border-radius: 50%;
  font-size: 0.8rem;
  padding: 2px 6px;
  min-width: 20px;
  text-align: center;
  font-weight: 600;
  display: none; /* Hide by default when count is 0 */
}

/* MOBILE RESPONSIVE CART DRAWER */
@media (max-width: 768px) {
  .cart-drawer {
    width: 100% !important;
    box-shadow: none !important;
  }
  .cart-drawer.show {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
    overflow-y: auto !important;
  }
}

/* MOBILE BADGE FIX */
@media (max-width: 768px) {
  #cartBadgeMobile.cart-badge {
    top: -16px;
    right: -8px;
  }
}

/* BOTTOM SHEET STYLE FOR LOGIN ON MOBILE */
@media (max-width: 768px) {
  .ks-account-popover {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 12px 12px 0 0 !important;
    box-shadow: 0 -2px 6px rgba(0,0,0,0.2) !important;
    transform: translateY(100%);
    transition: transform 0.3s ease-in-out;
    opacity: 1 !important;
    pointer-events: auto !important;
    top: auto !important;
    z-index: 10000 !important;
  }
  .ks-account-popover.show {
    transform: translateY(0);
  }
  .ks-account-popover p {
    text-align: center;
  }
  .ks-account-popover .ks-login-btn {
    display: block;
    margin: 0 auto 8px auto;
  }
}

/* USER DRAWER */
.ks-user-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  display: none;
  z-index: 9998;
}
.ks-user-overlay.show {
  display: block;
}

.ks-user-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 80%;
  max-width: 300px;
  height: 100%;
  background: #fff;
  box-shadow: -3px 0 10px rgba(0,0,0,0.15);
  z-index: 9999;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
}
.ks-user-drawer.show {
  right: 0;
}

.ks-user-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
}
.ks-user-drawer-header img {
  height: 32px;
  width: auto;
}
.ks-user-drawer-close {
  background: none;
  border: none;
  font-size: 1.3rem;
  cursor: pointer;
  color: #333;
}
.ks-user-drawer-close:hover {
  color: var(--ks-primary);
}

.ks-user-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ks-user-menu li a {
  display: block;
  padding: 0.75rem 1rem;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
  font-size: 0.95rem;
  font-weight: 500;
}
.ks-user-menu li a:hover {
  background: #f7f7f7;
}

/* Hide the login popover on mobile by default */
@media (max-width: 768px) {
  #loginPopover {
    display: none !important;
  }
}

/* Force sticky header on mobile */
@media (max-width: 768px) {
  .ks-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
  }
  body {
    /* at least 130px; grows to the real fixed-header height measured by includes/header.php */
    padding-top: max(130px, var(--ksHeaderH, 0px));
  }
}

html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden !important;
}

/* Ensure images shrink on small screens */
img {
  max-width: 100%;
  height: auto;
}

/* -------------------------------------------------------
   Reset & Base
-------------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: 'Poppins', sans-serif;
  background: #f7f7f7;
}

/* Primary Color */
:root {
  --ks-primary: #008000; /* primary green color */
  --transition-speed: 0.3s;
  --ease-func: cubic-bezier(0.4, 0, 0.2, 1);
}

/* -------------------------------------------------------
   HEADER WRAPPER
-------------------------------------------------------- */
.ks-header {
  width: 100%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  position: -webkit-sticky; /* <-- ADDED for older Safari */
  position: sticky;
  top: 0;
  z-index: 9999;
}

/* ============ HEADER TOP (Desktop) ============ */
.ks-header-top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 20px;
  position: relative;
  flex-wrap: nowrap;
  overflow: visible;
}

/* Hamburger (Mobile Only) */
.ks-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  margin-right: 15px;
}
.ks-hamburger span {
  width: 24px;
  height: 2px;
  background: #333;
  display: block;
}

/* Logo */
.ks-logo-area {
  display: flex;
  align-items: center;
}
.ks-logo-area img {
  height: 60px;
  width: auto;
  transition: height 0.3s;
}

/* Search (Desktop) */
.ks-search-area {
  flex: 1;
  justify-content: center;
  margin: 0 20px;
  position: relative;
}
.ks-search-container {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1500px;
  background: #f2f2f2;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}
.ks-search-input {
  flex: 1;
  height: 48px;
  border: none;
  outline: none;
  padding: 0 15px;
  font-size: 1rem;
  background: transparent;
}
.ks-search-input::placeholder {
  color: #999;
}
.ks-search-btn {
  width: 48px;
  height: 48px;
  border: none;
  background: none;
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
  color: var(--ks-primary);
}
.ks-search-btn:hover {
  color: #333;
}

/* Search Results Container */
#searchResults {
  position: absolute;
  top: 48px;
  left: 0;
  width: 100%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  max-height: 300px;
  overflow-y: auto;
  z-index: 10000;
}

/* Right Links (Desktop + Mobile) */
.ks-right-links {
  display: flex;
  align-items: center;
  gap: 20px;
}
.ks-divider {
  width: 1px;
  height: 20px;
  background: #ccc;
}
.ks-seller-btn,
.ks-app-link {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
  transition: color 0.2s;
}
.ks-seller-btn i,
.ks-app-link i {
  color: var(--ks-primary);
}
.ks-seller-btn:hover,
.ks-app-link:hover {
  color: var(--ks-primary);
}

/* Cart Link */
.cart-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #333;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  transition: color 0.2s;
}
.cart-link:hover {
  color: var(--ks-primary);
}
.cart-link i {
  color: var(--ks-primary);
  font-size: 1.2rem;
}
.cart-top {
  display: flex;
  align-items: center;
  gap: 6px;
}
.cart-amount {
  font-size: 0.85rem;
  margin-top: 2px;
}

/* My Account replaced with icon + 'Login' */
.ks-account-area {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ks-account-area i {
  font-size: 1.1rem;
  color: var(--ks-primary);
}
.ks-account-area span {
  font-size: 0.9rem;
  color: #333;
  font-weight: 600;
}

/* Account Popover */
.ks-account-popover {
  position: absolute;
  top: 110%;
  left: 0;
  width: 220px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  padding: 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 9999;
}
.ks-account-popover.show {
  opacity: 1;
  pointer-events: auto;
}
.ks-account-popover p {
  margin-bottom: 10px;
  font-size: 0.85rem;
  color: #444;
}
.ks-login-btn {
  width: 100%;
  padding: 6px 12px;
  border: none;
  border-radius: 4px;
  background: var(--ks-primary);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 8px;
}
.ks-login-btn:hover {
  background: #006400;
}
.ks-new-user {
  font-size: 0.85rem;
  color: #666;
  text-align: center;
}
.ks-new-user a {
  color: var(--ks-primary);
  text-decoration: none;
}
.ks-new-user a:hover {
  text-decoration: underline;
}

/* NAV BAR & Mega Menu (Desktop) */
.ks-nav-bar {
  background: #fff;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.ks-nav-items {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 20px;
  list-style: none;
  justify-content: center;
}
.ks-nav-items li {
  position: relative;
}
.ks-nav-items a {
  display: flex;
  align-items: center;
  padding: 10px 0;
  color: #333;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: color 0.2s;
}
.ks-nav-items a:hover {
  color: var(--ks-primary);
}
.ks-nav-items li.has-dropdown > a::after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 6px;
  font-size: 0.75rem;
  color: #666;
  transition: transform 0.2s;
}
.ks-nav-items li.has-dropdown:hover > a::after {
  transform: rotate(180deg);
}
.ks-mega-menu{
  position:fixed;                         /* ← key change            */
  top:calc(var(--ksHeaderH,100px) + 1px); /* sits right under header */
  left:50%;
  transform:translateX(-50%);
  width:650px;                            /* default width           */
  max-width:calc(100vw - 24px);           /* 12 px margin each side  */
  background:#fff;
  border:1px solid #ddd;
  border-radius:6px;
  padding:15px;
  box-shadow:0 4px 10px rgba(0,0,0,.1);
  display:none;
  z-index:999;
}

/* Seeds panel only – wider but still fully centred */
li.seeds-menu .ks-mega-menu{width:950px;}


/* Compact look ------------------------------------------------- */
.ks-mega-menu .mega-columns{display:flex;gap:14px;}  /* tighter col gap */
.ks-mega-menu .mega-column ul li{margin-bottom:0;}
.ks-mega-menu .mega-column ul li a{line-height:1.25;}

/* General spacing & reset */
.ks-mega-menu .mega-column ul   {margin:0; padding:0; list-style:none;}
.ks-mega-menu .mega-column ul li{margin:4px 0; line-height:1.35;}

/* Sub-links */
.ks-mega-menu .mega-column ul li a{
  display:block;
  font-size:0.9rem;
  color:#555;                   /* normal */
  text-decoration:none;
  transition:color .2s;
}

/* Hover / focus effect */
.ks-mega-menu .mega-column ul li a:hover{
  color:var(--ks-primary);      /* same green everywhere */
}

/* Optional: underline heading style for all panels */
.ks-mega-menu h4{
  margin:0 0 12px;
  font-size:1rem;
  font-weight:600;
  color:#333;
  text-transform:uppercase;
  border-bottom:1px solid #eee;
  padding-bottom:4px;
}

/* ===== VEG-SEEDS twin-list ================================== */
.veg-cols{                     /* wrapper holds the two ULs   */
  display:flex;                /* side-by-side lists          */
  gap:40px;                    /* horizontal space            */
}
.veg-cols ul{
  list-style:none;
  margin:0;
  padding:0;
  min-width:0;                 /* allow flex items to shrink  */
}
.veg-cols li{margin:4px 0;}
.veg-cols a{
  display:block;
  font-size:.9rem;
  color:#555;
  transition:color .2s;

  /* 🚀 NEW – keep to one line */
  white-space:nowrap;          /* never wrap */
  overflow:hidden;             /* clip overflow */
  text-overflow:ellipsis;      /* add “…”      */
}
.veg-cols a:hover{color:var(--ks-primary);}



/* Remove fake headings in “no-heading” columns */
.mega-column.no-heading h4{display:none;}

li.crop-menu .ks-mega-menu{
  width:950px;                 /* desktop – same width as Seeds */
}

li.crop-menu .ks-mega-menu            { width: 820px; }   /* 950px  → 820px */
li.crop-menu .ks-mega-menu .mega-columns{
  gap: 22px;                                              /* 40px   → 22px */
}

/* keep it fluid on small screens */
@media (max-width:1024px){
  li.crop-menu .ks-mega-menu{
    width:calc(100vw - 24px);  /* 12-12 px side margin */
  }
}

li.nutrition-menu .ks-mega-menu{
  width:350px;          /* same width as other single-column panels   */
  left:46%;             /* anchor in the middle of the viewport       */
  transform:translateX(-50%); /* pull back by half its own width      */
}

li.tools-menu .ks-mega-menu{
  width:650px;              /* Same width as other one-column panels */
  left:50%;                 /* Anchor in the horizontal centre       */
  transform:translateX(-50%);/* Pull back by half its own width      */
}

li.tools-menu .mega-column.no-heading{
  /* 1 rem text (≈16px) + 12px bottom-margin + 4px underline = 32px */
  padding-top: 32px;       /* tweak ±2 px if you prefer tighter/looser */
}

/* ----------------------------------------------------
   Farming Tools  -- 2-column layout spacing tweaks
----------------------------------------------------- */
li.tools-menu .ks-mega-menu        { width: 650px; } 
.tools-menu .mega-columns          { gap: 60px; }   
.tools-menu .mega-column ul li     { margin: 4px 0; }

.seeds-menu .mega-column.no-heading{
    padding-top:0;      /* keep both columns perfectly aligned */
}



/* Hide fake headings */
.mega-column.no-heading h4{display:none;}
@media (max-width: 768px) {
  .ks-mega-menu {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
  }
}
.ks-mega-menu h4 {
  margin-bottom: 10px;
  font-size: 1rem;
  color: #333;
}

.ks-mega-menu .mega-column {
  flex: 1;
}
.ks-mega-menu .mega-column ul {
  list-style: none;
  padding: 0;
}
.ks-mega-menu .mega-column ul li {
  margin-bottom: 2px;
}
.ks-mega-menu .mega-column ul li a {
  color: #555;
  font-size: 0.9rem;
  transition: color 0.2s;
}
.ks-mega-menu .mega-column ul li a:hover {
  color: var(--ks-primary);
}
.ks-nav-items li:hover .ks-mega-menu {
  display: block;
}

/* ============ MOBILE STYLES ============ */
@media (max-width: 768px) {
  .ks-header-top {
    flex-wrap: wrap !important;
  }
  .ks-hamburger {
    display: flex;
  }
  .ks-logo-area img {
    height: 48px;
  }
  .ks-search-area {
    order: 3;
    width: 100%;
    margin: 10px 0 4px 0;
    
  }
  .ks-nav-bar {
    display: none;
  }
  .ks-right-links {
    display: none !important;
  }
  .ks-mobile-icons {
    display: flex !important;
    margin-left: auto;
    gap: 12px;
  }
}
.ks-mobile-icons {
  display: none;
  align-items: center;
}
.vertical-line {
  width: 1px;
  height: 20px;
  background: #ccc;
}

/* SIDE-DRAWER (Mobile Nav) */
.ks-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  display: none;
  z-index: 9998;
}
.ks-overlay.show {
  display: block;
}
.ks-nav-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 80%;
  max-width: 320px;
  height: 100%;
  background: #fff;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  z-index: 9999;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform var(--transition-speed) var(--ease-func);
}

  .ks-nav-drawer .ks-menu-level ul li {
    padding: 6px 0;   /* pehle 10px 0 tha, ab 6px 0 kar diya */
  }
.ks-nav-drawer.show {
  transform: translateX(0);
}
.ks-drawer-content {
  position: relative;
  width: 100%;
  height: 100%;
}
.ks-menu-level {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow-y: auto;
  transform: translateX(0);
  transition: transform var(--transition-speed) var(--ease-func);
}
.ks-menu-level.hidden-right {
  transform: translateX(100%);
}
.ks-menu-level.hidden-left {
  transform: translateX(-100%);
}
.ks-nav-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  border-bottom: 1px solid #eee;
}
.ks-nav-drawer-header h3 {
  font-size: 1.1rem;
  color: #333;
}

.ks-nav-drawer-header h3 a,   /* generic selector */
.drawer-title{                /* explicit helper class */
  color:#333;             /* neutral dark grey/black  */
  text-decoration:none;   /* remove underline         */
  font-weight:600;        /* keep bold                */
}
.ks-nav-drawer-header h3 a:hover,
.drawer-title:hover{
  color:#008000;          /* turn green when hovered  */
}

.ks-drawer-close {
  font-size: 1.3rem;
  color: #333;
  cursor: pointer;
  background: none;
  border: none;
}
.ks-drawer-close:hover {
  color: var(--ks-primary);
}
.ks-sub-header {
  justify-content: flex-start;
  gap: 10px;
}
.ks-sub-header .ks-back-btn {
  background: none;
  border: none;
  font-size: 1rem;
  color: #333;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.ks-sub-header .ks-back-btn i {
  margin-right: 6px;
  font-size: 1.1rem;
}
.ks-sub-header .ks-back-btn:hover {
  color: var(--ks-primary);
}
.ks-menu-level ul {
  list-style: none;
  margin: 0;
  padding: 0 20px;
}
.ks-menu-level ul li {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #eee;
  padding: 10px 0;
  justify-content: space-between;
}
.no-sub i {
  display: none;
}
.ks-menu-level ul li a {
  color: #333;
  text-decoration: none;
  font-weight: 500;
   display: flex;
  align-items: center;
  /* arrow ko right me push karne ke liye */
  justify-content: space-between;
  /* pura row cover kare */
  width: 100%;
  /* agar padding alag ho to adjust kar lo */
  padding: 2px 6px;
}

.ks-menu-level ul li a .ks-arrow-btn {
  margin-left: auto;
}
.ks-menu-level ul li a:hover {
  color: var(--ks-primary);
}
.ks-arrow-btn {
  color: #333;
  font-size: 1rem;
  cursor: pointer;
  margin-left: 10px;
}
.ks-arrow-btn:hover {
  color: var(--ks-primary);
}

/* Additional fix to anchor popover on the right so it's not cut off. */
.ks-account-popover {
  left: auto !important;
  right: 0 !important;
  transform: none !important;
}

/* Extra fix for popover clipping */
.ks-right-links,
.ks-account-area {
  overflow: visible !important;
  position: relative !important;
  z-index: 9999 !important;
}

/* -------------------------------------------------------
   CART DRAWER STYLING
-------------------------------------------------------- */
.cart-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 380px;
  height: 100%;
  background: #fff;
  box-shadow: -3px 0 10px rgba(0,0,0,0.15);
  z-index: 9999;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
}
.cart-drawer.show {
  right: 0;
}
.cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: #fafafa;
  border-bottom: 1px solid #ddd;
}
.cart-header h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.cart-header .close-cart {
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  color: #333;
  transition: color 0.2s;
}
.cart-header .close-cart:hover {
  color: #000;
}
#cartItemsContainer {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}
.cart-item {
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  display: flex;
  gap: 0.75rem;
}
.cart-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.cart-item img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
}
.cart-item-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cart-item-title {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 4px;
}
.cart-item-variant {
  font-size: 0.85rem;
  color: #777;
  margin-bottom: 6px;
}
.cart-item-price {
  font-size: 0.9rem;
  color: #444;
  margin-bottom: 0.5rem;
}
.cart-item-price s {
  color: #999;
  margin-left: 6px;
  font-size: 0.85rem;
}
.cart-item-qty {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cart-item-qty button {
  border: none;
  background: #f0f0f0;
  cursor: pointer;
  padding: 4px 10px;
  font-size: 0.9rem;
  border-radius: 4px;
  transition: background 0.2s;
}
.cart-item-qty button:hover {
  background: #e0e0e0;
}
.cart-footer {
  border-top: 1px solid #ddd;
  padding: 1rem;
}
.cart-subtotal {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
}
.cart-terms {
  margin-bottom: 1rem;
}
.cart-terms label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  margin-bottom: 6px;
  cursor: pointer;
}
.cart-terms input[type="checkbox"] {
  transform: scale(1.2);
  cursor: pointer;
}
.cart-terms input[type="checkbox"]:checked {
  accent-color: #1c7c54;
}
.cart-disclaimer {
  font-size: 0.8rem;
  color: #666;
  line-height: 1.3;
  margin-bottom: 1rem;
}
.cart-disclaimer a {
  color: #007bff;
  text-decoration: underline;
}
.shipping-note {
  font-size: 0.85rem;
  color: #777;
  margin-top: 1rem;
}
/* GREEN PLACE ORDER BUTTON */
.cart-checkout-btn {
  width: 100%;
  padding: 0.75rem;
  background-color: #008000; /* Updated to green */
  color: #fff;
  border: none;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}
.cart-checkout-btn:hover {
  background-color: #006400; /* Darker green on hover */
}
.cart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  display: none;
  z-index: 9998;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cart-overlay.show {
  display: block;
  opacity: 1;
}
/* Slightly adjusted position for the .cart-badge so it sits higher */
.cart-badge {
  position: absolute;
  top: -16px;
  right: -8px;
  background-color: #1c7c54;
  color: #fff;
  border-radius: 50%;
  font-size: 0.8rem;
  padding: 2px 6px;
  min-width: 20px;
  text-align: center;
  font-weight: 600;
  display: none; /* Hide by default when count is 0 */
}

/* MOBILE RESPONSIVE CART DRAWER */
@media (max-width: 768px) {
  .cart-drawer {
    width: 100% !important;
    box-shadow: none !important;
  }
  .cart-drawer.show {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
    overflow-y: auto !important;
  }
}

/* MOBILE BADGE FIX */
@media (max-width: 768px) {
  #cartBadgeMobile.cart-badge {
    top: -16px;
    right: -8px;
  }
}

/* BOTTOM SHEET STYLE FOR LOGIN ON MOBILE */
@media (max-width: 768px) {
  .ks-account-popover {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 12px 12px 0 0 !important;
    box-shadow: 0 -2px 6px rgba(0,0,0,0.2) !important;
    transform: translateY(100%);
    transition: transform 0.3s ease-in-out;
    opacity: 1 !important;
    pointer-events: auto !important;
    top: auto !important;
    z-index: 10000 !important;
  }
  .ks-account-popover.show {
    transform: translateY(0);
  }
  .ks-account-popover p {
    text-align: center;
  }
  .ks-account-popover .ks-login-btn {
    display: block;
    margin: 0 auto 8px auto;
  }
}

/* USER DRAWER */
.ks-user-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  display: none;
  z-index: 9998;
}
.ks-user-overlay.show {
  display: block;
}

.ks-user-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 80%;
  max-width: 300px;
  height: 100%;
  background: #fff;
  box-shadow: -3px 0 10px rgba(0,0,0,0.15);
  z-index: 9999;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
}
.ks-user-drawer.show {
  right: 0;
}

.ks-user-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
}
.ks-user-drawer-header img {
  height: 32px;
  width: auto;
}
.ks-user-drawer-close {
  background: none;
  border: none;
  font-size: 1.3rem;
  cursor: pointer;
  color: #333;
}
.ks-user-drawer-close:hover {
  color: var(--ks-primary);
}

.ks-user-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ks-user-menu li a {
  display: block;
  padding: 0.75rem 1rem;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
  font-size: 0.95rem;
  font-weight: 500;
}
.ks-user-menu li a:hover {
  background: #f7f7f7;
}

/* Hide the login popover on mobile by default */
@media (max-width: 768px) {
  #loginPopover {
    display: none !important;
  }
}

/* Force sticky header on mobile */
@media (max-width: 768px) {
  .ks-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
  }
  body {
    padding-top: max(130px, var(--ksHeaderH, 0px)); /* grows to the real fixed-header height */
  }
}



  /* header.css */


  /* Mobile / tablet: sticky */
  .ks-header{
    position: sticky;
    top: 0;
    z-index: 1000;
    background:#fff;
    transition: box-shadow 0.25s ease;
  }
  .ks-header.scrolled{box-shadow:0 2px 6px rgba(0,0,0,.12);}

  /* Desktop (≥1024 px): fixed */
  @media (min-width:1024px){
    .ks-header{
      position: fixed !important;
      left:0; right:0;
    }
    /* Push page content down so it’s not hidden */
    body{padding-top:var(--ksHeaderH,120px);}
  }
  
  /* ---------- Cart empty-state ---------- */
.empty-cart-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
  text-align:center;
  color:#333;
}
.empty-cart-img{
  width:140px;
  height:auto;
  margin-bottom:20px;
}
.empty-cart-state h4{margin:0 0 6px;font-size:1.25rem;font-weight:600;}
.empty-cart-state p{margin:0 0 20px;font-size:0.95rem;color:#666;}
.shop-now-btn{
  background:#0a8b00;
  color:#fff;
  border:none;
  border-radius:6px;
  padding:10px 26px;
  font-size:1rem;
  font-weight:600;
  cursor:pointer;
  transition:background .25s;
}
.shop-now-btn:hover{background:#076d00;}
.empty-cart-icon{font-size:72px;color:#0a8b00;margin-bottom:20px;}

.ks-suggest-box{
  width:100%;
  border:1px solid #e0e0e0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.14);
  display:none;                       /* shown from JS               */
  overflow:hidden;                    /* keep inner list clipped     */
  position:absolute;
  top:100%;
  left:0;
  z-index:3000;                       /* sits above header           */
}

.ks-search-discovery{
  padding:14px 16px 18px;
  background:#fff;
}
.ks-search-discovery-section + .ks-search-discovery-section{
  margin-top:18px;
}
.ks-search-discovery-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:9px;
  color:#64748b;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ks-search-clear-recent{
  border:0;
  background:transparent;
  color:#64748b;
  font-size:.78rem;
  cursor:pointer;
  padding:2px 4px;
}
.ks-search-clear-recent:hover{color:#0a8b00}
.ks-search-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.ks-search-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 13px;
  border:1px solid #bbf7d0;
  border-radius:999px;
  background:#eafbf0;
  color:#166534;
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ks-search-chip:hover{
  background:#dcfce7;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(22,101,52,.12);
}
.ks-search-chip i{
  font-size:.78rem;
  color:#15803d;
}

/* Reset the inner list -------------------------------------------- */
.ks-suggest-box ul{
  list-style:none;
  margin:0;
  padding:0;
}

/* ==================================================================
   ITEM  – desktop & tablet
   =================================================================*/
.ks-suggest-box li{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 90px 58px; /* thumb | title | price | discount */
    column-gap:12px;
    align-items:center;
    padding:10px 12px;
    /* NEW → gap for the orange badge so price stays visible */
    position:relative;
    cursor:pointer;
}

/* Hover / keyboard selection */
.ks-suggest-box li:hover,
.ks-suggest-box li.active{background:#f0f9f0;}

/* --- Thumbnail, title & prices ---------------------------------- */
.ks-suggest-thumb{                 /* 40 × 40 fixed thumb */
  grid-column:1;
  width:40px;
  height:40px;
  border-radius:4px;
  object-fit:cover;
}

.ks-suggest-title{                 /* never overlaps price  */
  grid-column:2;
  font-weight:600;
  font-size:0.95rem;
  line-height:1.3;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.ks-suggest-price{
    grid-column:3;
    text-align:left;
    font-weight:600;
    white-space:nowrap;
}
.ks-suggest-price s{               /* strike-through MRP */
  font-weight:400;
  font-size:0.80rem;
  margin-left:4px;
  color:#999;
}

/* %-OFF badge ------------------------------------------------------ */
.ks-suggest-badge{
  grid-column:4;
  justify-self:end;
  background:#ff8a00;
  color:#fff;
  font-size:0.7rem;
  font-weight:600;
  padding:2px 6px;
  border-radius:4px;
  white-space:nowrap;
}

/* ===== MOBILE (≤480px) – Polished suggestion list ===== */
@media (max-width:480px){

  /* --- dropdown container: soft card --- */
  .ks-suggest-box{
    border:none;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
    padding:4px 0;                 /* inner breathing */
  }
  .ks-search-discovery{
    padding:12px 12px 14px;
  }
  .ks-search-discovery-section + .ks-search-discovery-section{
    margin-top:14px;
  }
  .ks-search-chip-row{
    gap:8px;
  }
  .ks-search-chip{
    min-height:32px;
    padding:6px 11px;
    font-size:.82rem;
  }

  /* --- one row (card-feel) --- */
  .ks-suggest-box li{
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 16px;             /* 48 px tap target */
    background:#fff;
    border-bottom:1px solid #f2f2f2;
  }
  .ks-suggest-box li:last-child{border-bottom:none;}
  .ks-suggest-box li:hover,
  .ks-suggest-box li.active{background:#f6fff6;}  /* tap feedback */

  /* --- thumbnail (bigger) --- */
  .ks-suggest-thumb{
    flex:0 0 48px;
    width:48px;
    height:48px;
    border-radius:6px;
    object-fit:cover;
  }

  /* --- title (max-2 lines) --- */
  .ks-suggest-title{
    flex:1 1 auto;
    font-size:.95rem;
    font-weight:600;
    line-height:1.35;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  /* --- price block --- */
  .ks-suggest-price{
    flex:0 0 auto;
    font-weight:700;
    text-align:right;
    white-space:nowrap;
    margin-left:4px;
  }
  .ks-suggest-price s{
    display:block;
    font-size:.80rem;
    font-weight:500;
    color:#888;
  }

  /* --- %-OFF badge (hidden on mobile) --- */
  .ks-suggest-badge{
    display:none !important;   /* hide discount badge on phones */
  }
}


/* “view all” CTA --------------------------------------------- */
.ks-view-all{
  display:block;
  padding:10px 0;
  background:#0a8b00;
  color:#fff;
  font-weight:600;
  text-align:center;
  border-top:1px solid #e0e0e0;
  text-decoration:none;
}
.ks-view-all:hover{
  background:#066d00;
}

/* ============================================================
   EXTRA FIX – let the dropdown escape header limits
   (parent containers were clipping it).  Keep at end!
=========================================================== */
.ks-header-top,
.ks-search-container{
  overflow:visible !important;   /* dropdown is no longer cut */
}
.ks-search-container{
  position:relative;             /* stacking context for z-index */
  z-index:3100;                  /* over mega-menu etc.        */
}

/* ===== Account dropdown styles ===== */
.ks-account-area.ks-user-menu{position:relative;cursor:pointer;}
.ks-account-area.ks-user-menu i.fa-angle-down{margin-left:4px;font-size:.8rem;}
/* NEW – no gap + invisible hover-bridge */
.ks-account-area.ks-user-menu{
  position:relative;                 /* anchor for the list */
}

/* dropdown box */
.ks-user-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 4px);              /* sits 4 px lower, no gap */
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:6px;
  min-width:160px;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  list-style:none;
  margin:0;
  padding:6px 0;
  display:none;                      /* default hidden */
  z-index:10000;                     /* stay above everything */
}

/* keep it open while hovering
   – over the button, the list *or* any child of the list */
.ks-account-area.ks-user-menu:hover .ks-user-dropdown,
.ks-account-area.ks-user-menu:focus-within .ks-user-dropdown{
  display:block;
}

/* ► invisible strip exactly over the gap
     so pointer never “leaves” the menu while moving down */
.ks-account-area.ks-user-menu::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:6px;                        /* same 4 px + a small buffer */
}

.ks-user-dropdown li a{
  display:block;padding:8px 14px;font-size:.95rem;
  color:#333;text-decoration:none;
}
.ks-user-dropdown li a:hover{background:#f5f5f5;}
/* show on hover (desktop only) */
@media (min-width:1024px){
  .ks-account-area.ks-user-menu:hover .ks-user-dropdown{display:block;}
}

/* ==== User Drawer (mobile) =================================== */
.ks-user-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(1px);
  opacity:0;visibility:hidden;
  transition:opacity .25s;
  z-index:11000;
}
.ks-user-drawer{
  position:fixed;top:0;right:0;height:100%;width:280px;
  background:#fff;border-left:1px solid #e0e0e0;
  transform:translateX(100%);transition:transform .3s ease;
  display:flex;flex-direction:column;z-index:11001;
}
.ks-user-drawer.show        {transform:none;}
.ks-user-overlay.show       {opacity:1;visibility:visible;}

.ks-user-drawer-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid #f0f0f0;
}
.ks-drawer-logo{height:26px;width:auto;}
.ks-drawer-close{background:none;border:none;font-size:1.3rem;cursor:pointer;}

.ks-user-info{
  padding:18px;border-bottom:1px solid #f0f0f0;
  display:flex;flex-direction:column;gap:4px;font-size:.9rem;
}
.ks-user-links{list-style:none;margin:0;padding:0;}
.ks-user-links li a{
  display:block;padding:12px 20px;font-size:.95rem;
  color:#333;text-decoration:none;
}
.ks-user-links li a:hover{background:#f5f5f5;}
.ks-logout{color:#d9534f;}
/* desktop में drawer नहीं दिखेगा */
@media (min-width:768px){.ks-user-drawer,.ks-user-overlay{display:none!important;}}

/* Back arrow on inner pages */
.ks-back-btn{
  font-size:1.65rem;        /* same visual weight as hamburger */
  padding:12px 10px;        /* hit area, keep it tappable     */
  cursor:pointer;
  display:flex;
  align-items:center;
}

@media (min-width: 768px){
  .ks-only-mobile{
    display: none !important;   /* force-hide on bigger screens  */
  }
}

/* ================= MOBILE TWEAKS ================= */
@media (max-width:480px){        /* phones only */
  /* hide decimals (.00) */
  .ks-decimal{display:none;}

  .ks-suggest-price{
  white-space:normal;         /* allow wrapping on phones */
}

.ks-suggest-price s{          /* strike-through price */
  display:block;              /* appears under the main price */
  font-size:.8rem;            /* slightly bigger for readability */
  color:#777;
  margin-top:2px;             /* small gap */
}
}

.no-anim{
  transition:none !important;
}

/* === FIX: remove blue focus ring from search input + button + container ===
   Note: Button focus ring was making the whole grey box look blue. */
.ks-search-input,
.ks-search-btn,
.ks-search-mic {
  -webkit-appearance: none;
}

/* kill focus ring on input, button, and container focus-within */
.ks-search-input:focus,
.ks-search-input:focus-visible,
.ks-search-btn:focus,
.ks-search-btn:focus-visible,
.ks-search-mic:focus,
.ks-search-mic:focus-visible,
.ks-search-container:focus-within {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Firefox inner focus border on buttons */
.ks-search-btn::-moz-focus-inner {
  border: 0 !important;
}

/* belt-and-suspenders: if any child inside container gets focus */
.ks-search-container *:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* HOMEPAGE: header search par focus ring hatao */
.ks-header :is(input, button, a, [tabindex]):focus,
.ks-header :is(input, button, a, [tabindex]):focus-visible,
.ks-header .ks-search-container:focus-within {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* ==============================================================
   ETHNICHAAT HEADER — compact premium redesign
   Font: Jost (clean, highly legible, fashion-friendly)
   ============================================================= */
:root {
  --eh-maroon: #8f0c2d;
  --eh-maroon-deep: #69051f;
  --eh-gold: #b8843c;
  --eh-gold-soft: #e6cfa7;
  --eh-ink: #1f1a17;
  --eh-text: #3a312c;
  --eh-muted: #857870;
  --eh-cream: #fffaf3;
  --eh-line: #efe1cb;
  --eh-sans: 'Jost', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

.ks-header {
  position: relative;
  z-index: 1000;
  width: 100%;
  background: var(--eh-cream);
  border-bottom: 1px solid var(--eh-line);
  box-shadow: 0 4px 18px rgba(83, 26, 20, .06);
  font-family: var(--eh-sans);
  color: var(--eh-ink);
  -webkit-font-smoothing: antialiased;
}
.ks-header i,
.ks-header .fa-solid,
.ks-header .fa-regular { color: inherit; }

/* ---- Utility bar ---- */
.eh-utility-bar {
  color: #fff6ea;
  background: linear-gradient(100deg, var(--eh-maroon-deep), #9c0e33 55%, #6f061f);
}
.eh-utility-inner {
  width: min(100% - 48px, 1600px);
  min-height: 36px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  font-family: var(--eh-sans);
  font-size: 13.5px;
  font-weight: 400;
  letter-spacing: .02em;
}
.eh-utility-inner > span,
.eh-utility-links,
.eh-utility-links a { display: flex; align-items: center; }
.eh-utility-inner > span { gap: 8px; }
.eh-utility-inner i { color: #f0c97c !important; font-size: 13px; }
.eh-heritage { justify-self: center; font-weight: 500; }
.eh-utility-links { justify-self: end; gap: 0; }
.eh-utility-links a {
  gap: 7px;
  padding: 0 14px;
  color: inherit;
  text-decoration: none;
  border-left: 1px solid rgba(240, 201, 124, .35);
  white-space: nowrap;
  transition: color .2s ease;
}
.eh-utility-links a:first-child { border-left: 0; }
.eh-utility-links a:last-child { padding-right: 0; }
.eh-utility-links a:hover { color: #f5d798; }

/* ---- Main row: logo | search | actions ---- */
.ks-header .ks-header-top {
  width: min(100% - 48px, 1600px);
  min-height: 0;
  height: auto;
  margin: 0 auto;
  padding: 10px 0;
  display: grid;
  grid-template-columns: 260px minmax(360px, 700px) auto;
  grid-template-rows: auto;
  justify-content: space-between;
  align-items: center;
  gap: 0 32px;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.ks-header .ks-logo-area {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  grid-column: 1;
  grid-row: 1;
}
.ks-header .ks-logo-area a { display: block; width: 100%; }
.ks-header .ks-logo-area img {
  display: block;
  width: 100%;
  max-width: 280px;
  height: 88px;
  margin: -10px 0;
  object-fit: contain;
  object-position: left center;
}
.ks-header .ks-search-area { width: 100%; grid-column: 2; grid-row: 1; }
.ks-header .ks-search-area form { width: 100%; }
.ks-header .ks-search-container {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  border: 1px solid #e0cba9 !important;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(124, 68, 31, .05) !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.ks-header .ks-search-container:hover { border-color: #d3b27f !important; }
.ks-header .ks-search-container:focus-within {
  border-color: var(--eh-maroon) !important;
  box-shadow: 0 0 0 3px rgba(143, 12, 45, .1) !important;
}
.ks-header .ks-search-container::before {
  content: '\f002';
  flex: 0 0 auto;
  margin-left: 20px;
  color: var(--eh-muted);
  font-family: 'Font Awesome 6 Free';
  font-size: 16px;
  font-weight: 900;
}
.ks-header .ks-search-input {
  min-width: 0;
  flex: 1;
  height: 46px;
  padding: 0 12px;
  color: var(--eh-ink);
  background: transparent;
  border: 0 !important;
  outline: none;
  font-family: var(--eh-sans);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
}
.ks-header .ks-search-input::placeholder { color: #958980; opacity: 1; }
.ks-header .ks-search-mic {
  position: static;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  color: var(--eh-muted);
  background: transparent;
  transform: none;
}
.ks-header .ks-search-mic:hover { color: var(--eh-maroon); }
.ks-header .ks-search-btn {
  position: static;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin-right: 4px;
  color: #fff;
  background: var(--eh-maroon);
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  transition: background .2s ease;
}
.ks-header .ks-search-btn:hover { background: var(--eh-maroon-deep); }
.ks-header .ks-search-btn i::before { content: '\f061'; }

/* ---- Account / wishlist / cart ---- */
.ks-header .ks-right-links {
  grid-column: 3;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  height: auto;
}
.ks-header .ks-divider { display: none; }
.ks-header .ks-account-area,
.ks-header .eh-wishlist-link,
.ks-header .cart-link {
  min-width: 64px;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--eh-text);
  border-radius: 10px;
  font-family: var(--eh-sans);
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, background .2s ease;
}
.ks-header .ks-account-area span,
.ks-header .cart-link span { color: inherit; font-size: inherit; font-weight: inherit; }
.ks-header .ks-account-area > i:first-child,
.ks-header .eh-wishlist-link > i,
.ks-header .cart-link i { font-size: 21px; color: inherit !important; }
.ks-header .ks-account-area > i.fa-angle-down { display: none; }
.ks-header .ks-account-area:hover,
.ks-header .eh-wishlist-link:hover,
.ks-header .cart-link:hover { color: var(--eh-maroon); background: #f7ece0; }
.ks-header .cart-top { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.ks-header .cart-top > span { margin-left: 0 !important; }
.ks-header .cart-badge {
  top: -8px;
  right: -11px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border: 2px solid var(--eh-cream);
  background: var(--eh-maroon);
  color: #fff;
  font: 600 10px/14px var(--eh-sans);
}
.ks-header .ks-user-dropdown { top: 58px; font-family: var(--eh-sans); }

/* ---- Category nav ---- */
.eh-nav-bar {
  height: 46px;
  padding: 0 24px;
  background: #fff;
  border-top: 1px solid var(--eh-line);
}
.eh-nav-bar > ul {
  width: min(100%, 1600px);
  height: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 6px;
  list-style: none;
}
.eh-nav-bar li { display: flex; align-items: center; }
.eh-nav-bar a {
  position: relative;
  height: 100%;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  color: var(--eh-text);
  font-family: var(--eh-sans);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .01em;
  text-decoration: none;
  transition: color .2s ease;
}
.eh-nav-bar a i { font-size: 10px; opacity: .55; transition: transform .2s ease; }
.eh-nav-bar a:hover i { transform: rotate(180deg); opacity: 1; }
.eh-nav-bar a::after {
  content: '';
  position: absolute;
  right: 14px;
  bottom: 0;
  left: 14px;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--eh-maroon);
  transform: scaleX(0);
  transition: transform .25s ease;
}
.eh-nav-bar a:hover,
.eh-nav-bar a.is-active { color: var(--eh-maroon); }
.eh-nav-bar a:hover::after,
.eh-nav-bar a.is-active::after { transform: scaleX(1); }
.eh-nav-bar .eh-sale-link { color: #c2185b; font-weight: 600; }
.eh-nav-message {
  margin-left: auto;
  gap: 8px;
  padding-left: 20px;
  color: var(--eh-gold);
  border-left: 1px solid var(--eh-line);
  font-family: var(--eh-sans);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}
.eh-nav-message br { display: none; }
.eh-nav-message i { color: var(--eh-gold) !important; font-size: 16px; }
.ks-legacy-nav,
.ks-legacy-drawer { display: none !important; }

/* ---- Mobile drawer ---- */
.eh-mobile-drawer { background: var(--eh-cream); font-family: var(--eh-sans); }
.eh-mobile-drawer .ks-nav-drawer-header {
  min-height: 70px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--eh-line);
}
.eh-mobile-drawer .ks-nav-drawer-header img { width: 170px; height: 52px; object-fit: contain; object-position: left center; }
.eh-mobile-drawer .ks-drawer-close { color: var(--eh-maroon); background: #f7eade; }
.eh-mobile-kicker { padding: 14px 20px 6px; color: var(--eh-gold); font: 500 12px/1.3 var(--eh-sans); letter-spacing: .12em; text-transform: uppercase; }
.eh-mobile-menu { margin: 0; padding: 0 20px 30px; list-style: none; }
.eh-mobile-menu li { border-bottom: 1px solid var(--eh-line); }
.eh-mobile-menu a { display: flex; align-items: center; justify-content: space-between; padding: 14px 2px; color: var(--eh-ink); font: 500 16px/1.2 var(--eh-sans); text-decoration: none; }
.eh-mobile-menu a i { color: #b59468; font-size: 11px; }
.eh-mobile-menu .eh-sale-link { color: #c2185b; }

@media (max-width: 1280px) {
  .eh-utility-inner { grid-template-columns: 1fr auto; }
  .eh-heritage { display: none !important; }
  .ks-header .ks-header-top { grid-template-columns: 210px minmax(300px, 1fr) auto; gap: 0 20px; }
  .ks-header .ks-logo-area img { height: 76px; margin: -8px 0; }
  .eh-nav-bar a { padding: 0 10px; font-size: 14.5px; }
  .eh-nav-message { display: none !important; }
}

@media (max-width: 900px) {
  .eh-utility-inner { width: min(100% - 28px, 820px); min-height: 32px; grid-template-columns: 1fr auto; font-size: 12.5px; }
  .eh-utility-links a { display: none; }
  .eh-utility-links a:first-child { display: flex; border: 0; padding: 0; }
  .ks-header .ks-header-top {
    width: 100%;
    padding: 8px 14px 10px;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    grid-template-rows: 48px 44px;
    gap: 8px 12px;
  }
  .ks-header .ks-hamburger,
  .ks-header .ks-only-mobile { grid-column: 1; grid-row: 1; align-self: center; }
  .ks-header .ks-hamburger span { background: var(--eh-maroon); }
  .ks-header .ks-logo-area { grid-column: 2; grid-row: 1; justify-content: center; }
  .ks-header .ks-logo-area a { width: min(100%, 200px); }
  .ks-header .ks-logo-area img { width: 100%; height: 54px; margin: -4px 0; object-position: center; }
  .ks-header .ks-mobile-icons { grid-column: 3; grid-row: 1; display: flex; color: var(--eh-ink); gap: 10px; }
  .ks-header .ks-mobile-icons i { font-size: 20px; color: var(--eh-ink) !important; }
  .ks-header .ks-search-area { grid-column: 1 / -1; grid-row: 2; }
  .ks-header .ks-search-container { height: 44px; }
  .ks-header .ks-search-container::before { margin-left: 16px; font-size: 14px; }
  .ks-header .ks-search-input { height: 42px; font-size: 15px; }
  .ks-header .ks-search-mic { flex-basis: 32px; width: 32px; height: 32px; }
  .ks-header .ks-search-btn { flex-basis: 36px; width: 36px; height: 36px; }
  .ks-header .ks-right-links,
  .eh-nav-bar { display: none !important; }
  .ks-header .vertical-line { background: var(--eh-line); }
}

@media (max-width: 480px) {
  .eh-utility-inner { width: calc(100% - 20px); display: flex; justify-content: center; }
  .eh-utility-inner > span { font-size: 12px; }
  .eh-utility-links { display: none; }
  .ks-header .ks-header-top { padding: 6px 10px 10px; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 6px 8px; }
  .ks-header .ks-logo-area a { width: min(100%, 170px); }
  .ks-header .ks-logo-area img { height: 50px; }
  .ks-header .ks-mobile-icons { gap: 7px; }
  .ks-header .ks-mobile-icons .vertical-line { margin: 0 2px; }
  .ks-header .ks-search-input { padding: 0 8px; font-size: 15px; }
  .ks-header .ks-search-container::before { margin-left: 14px; }
}

/* ==============================================================
   HERITAGE ORNAMENTS — mandala + lotus (shared with footer)
   Images: /assets/images/footer/{mandala-half,lotus,sparkle}.svg
   ============================================================= */
.eh-utility-bar {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    url('/assets/images/footer/mandala-half.svg') left center / auto 260% no-repeat,
    radial-gradient(ellipse at 50% 0%, #a3143b 0%, transparent 70%),
    linear-gradient(100deg, #5e0419, #8a0c2c 50%, #5e0419);
}
.eh-utility-bar::after {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -1;
  width: 50%;
  background: url('/assets/images/footer/mandala-half.svg') left center / auto 260% no-repeat;
  transform: scaleX(-1);
  pointer-events: none;
}
.eh-utility-inner { width: min(100% - 180px, 1500px); min-height: 40px; }
.eh-heritage {
  gap: 10px !important;
  color: #fbe3c4;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px;
  font-style: italic;
  font-weight: 600;
  letter-spacing: .01em;
}
.eh-u-lotus { width: 24px; height: 18px; filter: brightness(1.3); }
.eh-u-spark,
.eh-nav-bar .eh-nav-message::before {
  display: inline-block;
  width: 9px;
  height: 9px;
  background: url('/assets/images/footer/sparkle.svg') center / contain no-repeat;
  opacity: .9;
}
.eh-utility-links a { border-left: 0; position: relative; }
.eh-utility-links a + a::before {
  content: '';
  position: absolute;
  left: -4px;
  top: calc(50% - 4px);
  width: 8px;
  height: 8px;
  background: url('/assets/images/footer/sparkle.svg') center / contain no-repeat;
}

/* Main row: faint mandala watermark on the edges */
.ks-header { position: relative; }
.ks-header .ks-header-top { position: relative; }
.ks-header::before,
.ks-header::after {
  content: '';
  position: absolute;
  top: 40px;
  bottom: 46px;
  z-index: -1;
  width: 110px;
  background: url('/assets/images/footer/mandala-half.svg') left center / auto 180% no-repeat;
  opacity: .14;
  pointer-events: none;
}
.ks-header::before { left: 0; }
.ks-header::after { right: 0; transform: scaleX(-1); }

/* Nav: gold hairline with a centre lotus feel + lotus message */
.eh-nav-bar {
  position: relative;
  border-top: 0;
  background: #fff;
}
.eh-nav-bar::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #dcb57c 20%, #dcb57c 80%, transparent);
}
.eh-nav-bar .eh-nav-message {
  gap: 10px;
  color: #9b6526;
  border-left: 1px solid #ecd9bd;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  font-style: italic;
  font-weight: 600;
}
.eh-nav-bar .eh-nav-message::before { content: none; }
.eh-nav-lotus { width: 28px; height: 21px; }
.eh-nav-bar a.is-active::after,
.eh-nav-bar a:hover::after { background: linear-gradient(90deg, var(--eh-maroon), #b8843c); }

@media (max-width: 1280px) {
  .eh-utility-inner { width: min(100% - 120px, 1500px); }
}
@media (max-width: 900px) {
  .eh-utility-bar { background-size: auto 200%, auto, auto; }
  .eh-utility-bar::after { background-size: auto 200%; }
  .eh-utility-inner { width: min(100% - 80px, 820px); }
  .ks-header::before,
  .ks-header::after { display: none; }
}
@media (max-width: 480px) {
  .eh-utility-inner { width: calc(100% - 60px); }
}

/* ==============================================================
   CART DRAWER — EthnicHaat heritage style
   (markup: includes/header.php; items are rendered by page JS with the
    shared .cart-item classes, so their inline styles are overridden here)
   ============================================================= */
#cartDrawer.eh-cart {
  width: 420px;
  max-width: 100vw;
  background: #fbf6ee;
  box-shadow: -18px 0 50px rgba(60, 4, 20, .28);
  font-family: 'Jost', 'Segoe UI', system-ui, sans-serif;
  color: #2a211d;
  z-index: 10001;
}
.eh-cart .cart-header {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 14px 18px 14px 20px;
  border: 0;
  color: #fff;
  background:
    url('/assets/images/footer/mandala-half.svg') right -70px center / auto 230% no-repeat,
    linear-gradient(100deg, #5e0419, #8a0c2c 60%, #6f061f);
}
.eh-cart-lotus { width: 34px; height: auto; filter: brightness(1.35); }
.eh-cart .cart-header h3 {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #fff;
  font: 600 26px/1 'Cormorant Garamond', Georgia, serif;
}
.eh-cart-count {
  padding: 5px 10px;
  color: #5e0419;
  background: #f3d58f;
  border-radius: 999px;
  font: 600 12px/1 'Jost', sans-serif;
  letter-spacing: .04em;
  white-space: nowrap;
}
.eh-cart .cart-header .close-cart {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(243, 213, 143, .45);
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.eh-cart .cart-header .close-cart:hover { color: #fff; background: rgba(255, 255, 255, .26); transform: rotate(90deg); }

/* free-shipping meter */
.eh-ship-meter { padding: 12px 20px 14px; background: #fff8ec; border-bottom: 1px solid #ecdcc3; }
.eh-ship-meter[hidden] { display: none; }
.eh-ship-meter p { margin: 0 0 8px; color: #4a3f39; font-size: 13.5px; }
.eh-ship-meter strong { color: #8f0c2d; }
.eh-ship-track { height: 7px; overflow: hidden; background: #efe1cb; border-radius: 999px; }
.eh-ship-track span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #c99550, #8f0c2d); border-radius: inherit; transition: width .4s ease; }
.eh-ship-meter.is-done p,
.eh-ship-meter.is-done strong { color: #1e7a45; }
.eh-ship-meter.is-done .eh-ship-track span { background: linear-gradient(90deg, #3aa56a, #1e7a45); }

/* items */
.eh-cart #cartItemsContainer { padding: 16px !important; }
.eh-cart .cart-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 12px;
  padding: 12px;
  background: #fff;
  border: 1px solid #ecdcc3;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(60, 20, 10, .05);
}
.eh-cart .cart-item:last-child { margin-bottom: 0; border-bottom: 1px solid #ecdcc3; }
.eh-cart .cart-item > img {
  flex: 0 0 76px;
  width: 76px !important;
  height: 92px !important;
  object-fit: cover;
  border-radius: 10px !important;
  background: #f6ecdd;
}
.eh-cart .cart-mobile-qty-badge { display: none !important; }
.eh-cart .cart-item-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.eh-cart .cart-item-title { color: #2a211d; font: 500 15px/1.35 'Jost', sans-serif; }
.eh-cart .cart-item-title > span { float: right; margin-left: 10px; color: #8f0c2d; font-weight: 600 !important; }
.eh-cart .cart-item-variant {
  align-self: flex-start;
  padding: 3px 9px;
  color: #6b5a4f !important;
  background: #f7eee1;
  border-radius: 999px;
  font-size: 12px !important;
}
.eh-cart .cart-item-price { color: #4a3f39; font-size: 13.5px; font-weight: 500; }
.eh-cart .cart-item-price s { margin-left: 6px; color: #9b8f86; font-size: 12.5px; }
.eh-cart .cart-item-qty { display: flex; align-items: center; gap: 0; margin-top: 4px; }
.eh-cart .cart-item-qty > button:nth-of-type(1),
.eh-cart .cart-item-qty > button:nth-of-type(2) {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #8f0c2d;
  background: #fff;
  border: 1px solid #e3caa6;
  font: 600 16px/1 'Jost', sans-serif;
  cursor: pointer;
  transition: background .2s ease;
}
.eh-cart .cart-item-qty > button:nth-of-type(1) { border-radius: 999px 0 0 999px; }
.eh-cart .cart-item-qty > button:nth-of-type(2) { border-radius: 0 999px 999px 0; }
.eh-cart .cart-item-qty > button:nth-of-type(1):hover,
.eh-cart .cart-item-qty > button:nth-of-type(2):hover { background: #fbf1e2; }
.eh-cart .cart-item-qty > span {
  min-width: 38px;
  height: 32px;
  display: grid;
  place-items: center;
  border-top: 1px solid #e3caa6;
  border-bottom: 1px solid #e3caa6;
  font-weight: 600;
}
.eh-cart .cart-item-qty > button:nth-of-type(3) {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  margin-left: auto !important;
  color: #9b8f86;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: color .2s ease, background .2s ease;
}
.eh-cart .cart-item-qty > button:nth-of-type(3):hover { color: #8f0c2d; background: #fbeaea; }

/* empty state */
.eh-cart .empty-cart-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 20px;
  text-align: center;
}
.eh-cart .empty-cart-state::before {
  content: '';
  width: 150px;
  height: 150px;
  margin-bottom: 22px;
  border-radius: 50%;
  background:
    url('/assets/images/footer/lotus.svg') center 58% / 64px no-repeat,
    url('/assets/images/footer/mandala-half.svg') right center / auto 100% no-repeat,
    radial-gradient(circle, #fff8ec 0%, #f3e3c8 100%);
  box-shadow: inset 0 0 0 6px #fff, 0 10px 26px rgba(94, 4, 25, .12);
}
.eh-cart .empty-cart-icon { display: none !important; }
.eh-cart .empty-cart-state h4 { margin: 0 0 8px; color: #8f0c2d; font: 600 28px/1.1 'Cormorant Garamond', Georgia, serif; }
.eh-cart .empty-cart-state p { margin: 0 0 24px; color: #7a6c63; font-size: 15px; }
.eh-cart .shop-now-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 30px;
  color: #fff;
  background: linear-gradient(145deg, #a3143b, #5e0419);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(143, 12, 45, .25);
  font: 500 15px/1 'Jost', sans-serif;
  letter-spacing: .02em;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.eh-cart .shop-now-btn::after { content: '\2192'; }
.eh-cart .shop-now-btn:hover { background: linear-gradient(145deg, #a3143b, #5e0419); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(143, 12, 45, .32); }

/* footer */
.eh-cart .cart-footer {
  padding: 16px 20px 18px;
  background: #fff;
  border-top: 1px solid #ecdcc3;
  box-shadow: 0 -10px 24px rgba(60, 20, 10, .06);
}
.eh-cart .cart-subtotal {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 0 10px;
  color: #2a211d;
  font: 600 22px/1 'Cormorant Garamond', Georgia, serif;
}
.eh-cart .cart-subtotal > span:last-child { color: #8f0c2d; font: 600 20px/1 'Jost', sans-serif; }
.eh-cart .cart-terms label { display: flex; align-items: center; gap: 8px; color: #4a3f39; font-size: 13px; }
.eh-cart .cart-terms input[type="checkbox"] { width: 16px; height: 16px; accent-color: #8f0c2d; }
.eh-cart .cart-terms a,
.eh-cart .cart-disclaimer a { color: #8f0c2d; }
.eh-cart .cart-disclaimer { margin: 6px 0 12px; color: #8a7a6e; font-size: 11.5px; line-height: 1.45; }
.eh-cart .cart-checkout-btn {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
  background: linear-gradient(145deg, #a3143b, #5e0419);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(143, 12, 45, .28);
  font: 500 16px/1 'Jost', sans-serif;
  letter-spacing: .03em;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.eh-cart .cart-checkout-btn:hover:not(:disabled) { background: linear-gradient(145deg, #a3143b, #5e0419); transform: translateY(-2px); box-shadow: 0 14px 28px rgba(143, 12, 45, .34); }
.eh-cart .cart-checkout-btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.eh-cart .cart-checkout-btn i { color: #f3d58f; font-size: 13px; }
.eh-cart .shipping-note { margin: 10px 0 0; color: #8a7a6e; font-size: 12px; text-align: center; }
.eh-cart-trust {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #ecdcc3;
  color: #6b5a4f;
  font-size: 11.5px;
}
.eh-cart-trust span { display: flex; align-items: center; gap: 5px; }
.eh-cart-trust i { color: #b8843c; }

.cart-overlay.show { background: rgba(40, 4, 14, .45); backdrop-filter: blur(3px); }

@media (max-width: 480px) {
  #cartDrawer.eh-cart { width: 100vw; }
  .eh-cart .cart-header h3 { font-size: 23px; }
  .eh-cart .cart-item > img { flex-basis: 66px; width: 66px !important; height: 80px !important; }
  .eh-cart-trust { font-size: 10.5px; }
}

/* ---- footer.css ---- */

/***************************
  Footer Styles (footer.css)
  This file controls all footer styling.
****************************/

/* Footer Wrapper */
.ks-footer {
  --ks-green:#0f8b45;
  --ks-green-dark:#063f25;
  --ks-green-soft:#ecfff3;
  --ks-ink:#10251a;
  --ks-muted:#66786e;
  --ks-line:rgba(15,139,69,.14);
  --ks-card:#ffffff;
  color:var(--ks-ink);
  margin-top:44px;
  padding-top:24px;
  border-top:1px solid var(--ks-line);
  background:
    radial-gradient(720px 240px at 12% 0%, rgba(15,139,69,.10), transparent 66%),
    linear-gradient(180deg,#fbfffc 0%,#f4faf6 100%);
}

/* Container (4-Column Grid) */
.ks-footer-container {
  width:min(1200px,92vw);
  margin:0 auto;
  padding:28px;
  display:grid;
  grid-template-columns:1.25fr .92fr .92fr 1.08fr;
  gap:28px;
  border:1px solid var(--ks-line);
  border-radius:30px;
  background:rgba(255,255,255,.86);
  box-shadow:0 24px 70px rgba(8,34,22,.08);
}

/* Footer Columns common styling */
.ks-footer-col { display:flex; flex-direction:column; gap:10px; min-width:0; }
.ks-footer-col h3,
.ks-acc-head span {
  font-size:1.04rem;
  font-weight:800;
  margin:0 0 10px;
  color:var(--ks-green-dark);
  letter-spacing:-.01em;
}

/* Brand Section */
.footer-logo { max-width:170px; margin-bottom:12px; }
.brand-desc {
  font-size:.94rem;
  line-height:1.65;
  margin:0 0 14px;
  color:#4c6257;
}
.ks-footer-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start}

/* Download App Button */
.ks-download-app-btn,
.ks-seller-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  border-radius:999px;
  font-weight:800;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ks-download-app-btn{
  color:#fff;
  background:linear-gradient(135deg,var(--ks-green),#16b865);
  padding:10px 16px;
  box-shadow:0 14px 28px rgba(15,139,69,.24);
}
.ks-download-app-btn i{font-size:1.25rem}
.ks-download-app-btn small{display:block;font-size:.68rem;line-height:1;opacity:.88;font-weight:700}
.ks-download-app-btn span{line-height:1.05}
.ks-seller-link{
  color:#0b7540;
  background:#f1fff6;
  border:1px solid #bfe9ce;
  padding:9px 14px;
}
.ks-download-app-btn:hover,
.ks-seller-link:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(15,139,69,.18)}

/* Quick Links & Top Categories */
.links-col ul,.categories-col ul{ list-style:none; padding:0; margin:0; }
.links-col ul li,.categories-col ul li{ margin-bottom:7px; }
.links-col ul li a,.categories-col ul li a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  color:#3b5147;
  font-size:.94rem;
  transition:color .18s ease, transform .18s ease;
}
.links-col ul li a i,.categories-col ul li a i{
  color:#16a057 !important;
  font-size:.75rem;
}
.links-col ul li a:hover,.categories-col ul li a:hover{
  color:var(--ks-green);
  transform:translateX(2px);
}

/* Follow Us */
.follow-us{
  margin-top:18px;
  padding-top:16px;
  border-top:1px dashed var(--ks-line);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.follow-us h3{ margin:0; font-size:1rem; color:var(--ks-green-dark); font-weight:800; }
.social-list{ display:flex; gap:10px; list-style:none; margin:0; padding:0; }
.social-list li a{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:14px; font-size:1rem;
  transition:transform .18s ease, box-shadow .18s ease; color:#fff;
  box-shadow:0 12px 24px rgba(8,34,22,.10);
}
.social-list li a.facebook{ background-color:#4267B2; }
.social-list li a.instagram{ background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af); }
.social-list li a.twitter{ background-color:#1DA1F2; }
.social-list li a.linkedin{ background-color:#0A66C2; }
.social-list li a i{ color:#fff !important; }
.social-list li a:hover{ transform:translateY(-2px); box-shadow:0 16px 30px rgba(8,34,22,.18); }

/* Subscribe & Contact */
.stay-updated{
  padding:16px;
  border-radius:22px;
  background:linear-gradient(135deg,#f0fff5,#ffffff);
  border:1px solid #d7efdf;
}
.stay-updated p{ font-size:.9rem; margin:0 0 12px; color:#5b7066; line-height:1.55; }
.ks-subscribe-form{ display:flex; flex-direction:column; gap:8px; }
.input-wrapper{ display:flex; background:#fff; border:1px solid #cfe2d6; border-radius:999px; overflow:hidden; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
.input-wrapper input[type="email"]{
  flex:1; min-width:0; padding:12px 14px; border:0;
  outline:none; font-size:.94rem; background:transparent;
}
.input-wrapper button{
  background:var(--ks-green); border:none; color:#fff; width:44px;
  cursor:pointer; font-size:1rem; transition:background-color .18s ease;
}
.input-wrapper button:hover{ background-color:#08723a; }

.subscribe-msg{ font-size:.85rem; color:var(--ks-green); }
.contact-info{margin-top:14px}
.contact-info p{ font-size:.93rem; margin:0 0 10px; color:#4a6055; line-height:1.55; }
.footer-address{
  padding:14px;
  border-radius:18px;
  background:#fff;
  border:1px solid #e2eee6;
}
.footer-contact-line{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.footer-contact-line i{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  flex:0 0 32px;
  border-radius:11px;
  color:#fff;
  background:var(--ks-green);
}
.footer-contact-line span{display:flex;flex-direction:column;gap:1px}
.contact-info a{ color:#1d4730; text-decoration:none; transition:color .18s ease; }
.contact-info a:hover{ color:var(--ks-green); }

/* Footer Bottom */
.ks-footer-bottom{
  width:min(1200px,92vw);
  margin:18px auto 18px;
  color:#d8f7e4;
  background:linear-gradient(135deg,#063f25,#0f8b45);
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 22px;
}
.ks-footer-bottom p{ font-size:.86rem; margin:0; }
.ks-footer-bottom-links{display:flex;gap:14px;flex-wrap:wrap}
.ks-footer-bottom-links a{color:#fff;text-decoration:none;opacity:.88}
.ks-footer-bottom-links a:hover{opacity:1;text-decoration:underline}

/* Responsive */
@media (max-width:992px){
  .ks-footer-container{ grid-template-columns:repeat(2,1fr); padding:22px; }
}
@media (max-width:600px){
  .ks-footer{margin-top:32px;padding-top:18px}
  .ks-footer-container{ grid-template-columns:1fr; gap:12px; padding:18px; border-radius:24px; }
  .ks-footer-col{ gap:8px; }
  .ks-footer-col h3{ margin-bottom:8px; }
  .footer-logo{max-width:150px}
  .brand-desc{font-size:.9rem}
  .ks-footer-bottom{
    border-radius:18px;
    display:flex;
    justify-content:center;
    text-align:center;
    margin:14px auto calc(78px + env(safe-area-inset-bottom));
    padding:13px 16px;
  }
  .ks-footer-bottom-links{display:none}
}

/* ============================================================
   Floating Help Widget (WhatsApp + Contact) — base styles
============================================================ */
.ksw-widget{
  position:fixed; right:18px; bottom:22px; z-index:11000;
  font-family:inherit; isolation:isolate; transform:translateZ(0); pointer-events:auto;
}
@media (max-width:768px){
  .ksw-widget{ right:calc(14px + env(safe-area-inset-right));
               bottom:calc(84px + env(safe-area-inset-bottom)); }
}
@media (max-width:480px){
  .ksw-widget{ right:calc(12px + env(safe-area-inset-right));
               bottom:calc(92px + env(safe-area-inset-bottom)); }
}
.ksw-toggle{
  width:48px; height:48px; border-radius:50%; border:none; cursor:pointer;
  display:grid; place-items:center; background:#148537; color:#fff;
  box-shadow:0 5px 12px rgba(0,0,0,.18); overflow:hidden;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
.ksw-toggle:focus{ outline:3px solid rgba(20,133,55,.35); }
.ksw-widget svg{
  width:24px !important; height:24px !important;
  max-width:none !important; max-height:none !important;
  min-width:24px !important; min-height:24px !important;
  display:inline-block !important; position:static !important; float:none !important;
  color:currentColor; vertical-align:middle !important;
}
.ksw-toggle svg{ width:22px !important; height:22px !important; color:#fff; }
.ksw-widget svg path{ fill:currentColor !important; }
.ksw-panel{
  position:absolute; right:0; bottom:58px;
  display:flex; flex-direction:column; gap:8px;
  opacity:0; transform:translateY(8px); pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.ksw-widget.ksw-open .ksw-panel{ opacity:1; transform:translateY(0); pointer-events:auto; }
.ksw-item{
  display:inline-flex; align-items:center; flex-wrap:nowrap;
  gap:8px; white-space:nowrap; width:auto; text-decoration:none; border-radius:999px; background:#fff;
  height:36px; padding:6px 10px 6px 6px; box-shadow:0 6px 18px rgba(0,0,0,.15); font-weight:600; color:#222; line-height:1;
}
.ksw-item:hover{ transform:translateY(-1px); }
.ksw-ico{ width:26px; height:26px; border-radius:50%; display:grid; place-items:center; flex:0 0 26px; overflow:hidden; }
.ksw-ico svg{ width:15px !important; height:15px !important; color:#fff; }
.ksw-whatsapp .ksw-ico{ background:#25D366; }
.ksw-contact  .ksw-ico{ background:#148537; }
.ksw-item > span:last-child{ display:inline-block !important; font-size:12.5px !important; line-height:1 !important; white-space:nowrap !important; color:#222 !important; }
@media (max-width:480px){
  .ksw-item{ height:34px; }
  .ksw-ico{ width:24px; height:24px; }
  .ksw-ico svg{ width:14px !important; height:14px !important; }
  .ksw-item > span:last-child{ font-size:12px !important; }
}
@media (prefers-reduced-motion:reduce){
  .ksw-panel,.ksw-item{ transition:none !important; }
}

/* ============================================================
   Mobile accordion (Quick Links & Top Categories)
   - Smaller gaps, smooth open/close on mobile
   - Desktop stays fully open
============================================================ */
.ks-accordion .ks-acc-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ks-accordion .ks-acc-toggle{
  display:none; background:#fff; border:1px solid #e5e7eb; color:#374151;
  width:30px; height:30px; border-radius:8px; cursor:pointer;
}
.ks-accordion .ks-acc-body{ margin:0; padding:0; overflow:visible; max-height:none; } /* desktop default */
@media (max-width:768px){
  .ks-accordion .ks-acc-toggle{ display:inline-grid; place-items:center; }
  .ks-accordion .ks-acc-head{ padding:8px 0; } /* tighter */
  .ks-accordion .ks-acc-head .fa-angle-down{ transition:transform .2s ease; }
  /* collapsed by default on mobile; JS toggles max-height inline */
  .ks-accordion .ks-acc-body{ overflow:hidden; max-height:0; }
  .ks-accordion.open .ks-acc-head .fa-angle-down{ transform:rotate(180deg); }
}

/* ============================================================
   Bottom Navigation (mobile) – premium look
============================================================ */
.ks-only-mobile{ display:none; }
@media (max-width:768px){ .ks-only-mobile{ display:block; } }

.ks-bottom-nav{
  position:fixed; left:0; right:0; bottom:0; height:62px;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-top:1px solid #e5e7eb;
  box-shadow:0 -8px 24px rgba(0,0,0,.08);
  display:none; z-index:10500;
  grid-template-columns:repeat(4,1fr); align-items:center;
}
.ks-bottom-nav .ks-bnav-item{
  appearance:none; background:none; border:none; cursor:pointer;
  height:62px; width:100%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:6px; position:relative;
  font-size:12px; color:#4b5563; text-decoration:none; letter-spacing:.2px;
}
.ks-bottom-nav .ks-bnav-item i{ font-size:22px; line-height:1; position:relative; z-index:1; }
.ks-bottom-nav .ks-bnav-item span{ position:relative; z-index:1; }

/* Active: brand color + soft circular pill behind icon */
.ks-bottom-nav .ks-bnav-item.active{ color:#148537; font-weight:600; }
.ks-bottom-nav .ks-bnav-item.active i{ color:#148537; }
.ks-bottom-nav .ks-bnav-item.active::before{
  content:""; position:absolute; top:8px; width:40px; height:40px;
  border-radius:50%; background:rgba(20,133,55,.12);
  box-shadow:0 2px 10px rgba(20,133,55,.18);
  z-index:0;
}

/* Cart badge */
.ks-bnav-badge{
  position:absolute; top:6px; right:26%;
  min-width:16px; height:16px; border-radius:10px; padding:0 4px;
  background:#ef4444; color:#fff; font-style:normal; font-size:11px;
  display:inline-grid; place-items:center; line-height:1;
}

/* Show on mobile + give page bottom spacing so nothing hides behind it */
@media (max-width:768px){
  .ks-bottom-nav{ display:grid; }
  body.has-bottom-nav{ padding-bottom: 82px; } /* space for strip + safe area */
}

/* Mobile copyright strip: show only the copyright text, not extra links. */
@media (max-width:768px){
  .ks-footer-bottom{
    display:flex;
    justify-content:center;
    text-align:center;
    margin-bottom:calc(78px + env(safe-area-inset-bottom));
    border-radius:18px;
  }
  .ks-footer-bottom-links{ display:none; }
}

/* With bottom nav, bring the widget closer (no overlap, lower than before) */
body.has-bottom-nav #ksw-widget{
  bottom: calc(66px + env(safe-area-inset-bottom)) !important;
}

/* ==============================================================
   ETHNICHAAT FOOTER — heritage design (lotus + mandala ornaments)
   Fonts: Cormorant Garamond (headings), EB Garamond (text),
          Great Vibes (hashtag)
   Images: /assets/images/footer/{lotus,sparkle,mandala-half}.svg
   ============================================================= */
.eh-footer {
  --eh-maroon: #8f0c2d;
  --eh-maroon-deep: #5e0419;
  --eh-gold: #b8843c;
  --eh-gold-light: #e7bf78;
  --eh-cream: #fbf6ee;
  --eh-ink: #2a211d;
  --eh-text: #4a3f39;
  --eh-muted: #8a7a6e;
  --eh-line: #e8d6ba;
  --eh-head: 'Cormorant Garamond', Georgia, serif;
  --eh-body: 'EB Garamond', Georgia, serif;
  --eh-script: 'Great Vibes', cursive;
  --eh-mandala: url('/assets/images/footer/mandala-half.svg');
  --eh-lotus: url('/assets/images/footer/lotus.svg');
  --eh-spark: url('/assets/images/footer/sparkle.svg');
  position: relative;
  margin-top: 56px;
  padding: 0;
  overflow: hidden;
  color: var(--eh-ink);
  border: 0;
  background: var(--eh-cream);
  font-family: var(--eh-body);
  -webkit-font-smoothing: antialiased;
}
.eh-footer::before,
.eh-footer::after { content: none; }
.eh-footer i { color: inherit; }

/* Shared maroon band with mandala corners */
.eh-footer-community,
.eh-footer .ks-footer-bottom {
  position: relative;
  isolation: isolate;
  color: #fff4ea;
  background:
    var(--eh-mandala) left center / auto 150% no-repeat,
    radial-gradient(ellipse at 50% 0%, #a3143b 0%, transparent 70%),
    linear-gradient(100deg, var(--eh-maroon-deep), #8a0c2c 50%, var(--eh-maroon-deep));
}
.eh-footer-community::after,
.eh-footer .ks-footer-bottom::after {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -1;
  width: 50%;
  background: var(--eh-mandala) left center / auto 150% no-repeat;
  transform: scaleX(-1);
  transform-origin: center;
  pointer-events: none;
}
.eh-footer-community::after,
.eh-footer .ks-footer-bottom::after { background-position: left center; }

/* ---- Community / newsletter ---- */
.eh-community-inner {
  width: min(100% - 220px, 1500px);
  min-height: 128px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto minmax(300px, 440px) auto;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}
.eh-community-copy { display: flex; align-items: center; gap: 26px; min-width: 0; }
.eh-community-lotus { width: 62px; height: auto; padding-right: 26px; border-right: 1px solid rgba(231,191,120,.6); box-sizing: content-box; filter: brightness(1.25); }
.eh-community-copy h2 { margin: 0 0 4px; color: #fff; font: 500 clamp(28px, 2.2vw, 38px)/1.05 var(--eh-head); letter-spacing: -.01em; white-space: nowrap; }
.eh-community-copy p { margin: 0; color: #f4d9d6; font-size: 17px; line-height: 1.4; }
.eh-community-form { position: relative; display: block; margin: 0; }
.eh-community-form .input-wrapper {
  height: 60px;
  display: flex;
  align-items: center;
  padding: 5px;
  overflow: hidden;
  border: 1px solid var(--eh-gold-light);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(40, 2, 12, .28);
}
.eh-community-form .input-wrapper > i { flex: 0 0 auto; margin-left: 16px; color: var(--eh-maroon) !important; font-size: 20px; }
.eh-community-form .input-wrapper input[type='email'] {
  flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 0; outline: none; background: transparent;
  color: var(--eh-ink); font: 400 17px/1 var(--eh-body);
}
.eh-community-form .input-wrapper input::placeholder { color: #93857b; opacity: 1; }
.eh-community-form .input-wrapper button {
  width: auto; height: 48px; display: inline-flex; align-items: center; gap: 10px; padding: 0 24px;
  color: #fff; border: 0; border-radius: 999px;
  background: linear-gradient(145deg, #c99550, #9a6424);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 12px rgba(120, 70, 20, .3);
  font: 500 18px/1 var(--eh-body); cursor: pointer;
  transition: filter .2s ease, transform .2s ease;
}
.eh-community-form .input-wrapper button i { color: #fff !important; font-size: 14px; transition: transform .2s ease; }
.eh-community-form .input-wrapper button:hover { filter: brightness(1.08); }
.eh-community-form .input-wrapper button:hover i { transform: translateX(3px); }
.eh-community-form .subscribe-msg { position: absolute; top: calc(100% + 6px); left: 16px; color: #ffe2a8; font: 500 14px/1.2 var(--eh-body); }
.eh-community-perks { display: flex; align-items: center; gap: 16px; padding-left: 30px; border-left: 1px solid rgba(231,191,120,.45); }
.eh-community-perks > span { min-width: 70px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.eh-community-perks i { color: var(--eh-gold-light) !important; font-size: 24px; }
.eh-community-perks img { width: 32px; height: 24px; filter: brightness(1.3); }
.eh-community-perks small { color: #ffeadf; font-size: 15px; line-height: 1.1; }
.eh-sparkle { display: inline-block; width: 14px; height: 14px; background: var(--eh-spark) center / contain no-repeat; }

/* ---- Main area ---- */
.eh-footer .eh-footer-main {
  position: relative;
  width: min(100% - 80px, 1600px);
  margin: 0 auto;
  padding: 52px 0 40px;
  display: grid;
  grid-template-columns: minmax(280px, 1.45fr) repeat(4, minmax(0, 1fr)) minmax(250px, 1.3fr);
  gap: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.eh-footer .eh-footer-main::before,
.eh-footer .eh-footer-main::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 160px;
  background: var(--eh-mandala) left center / auto 100% no-repeat;
  opacity: .16;
  pointer-events: none;
}
.eh-footer .eh-footer-main::before { left: -40px; }
.eh-footer .eh-footer-main::after { right: -40px; transform: scaleX(-1); }

.eh-footer .ks-footer-col { position: relative; min-width: 0; gap: 0; padding: 0 28px; border-left: 1px solid var(--eh-line); }
.eh-footer .ks-footer-col:first-child { padding: 0 44px 0 0; border-left: 0; }
.eh-footer .ks-footer-col:last-child { padding-right: 0; }
/* small sparkle at the foot of each divider */
.eh-footer .eh-link-column::after {
  content: '';
  position: absolute;
  right: -8px; bottom: -6px;
  width: 16px; height: 16px;
  background: var(--eh-spark) center / contain no-repeat;
  opacity: .8;
}

.eh-footer .footer-logo {
  display: block; width: 100%; max-width: 380px; height: 130px;
  margin: -14px 0 16px -6px; object-fit: contain; object-position: left center;
}
.eh-footer .brand-desc { max-width: 420px; margin: 0; color: var(--eh-text); font-size: 18px; line-height: 1.5; }
.eh-ornament-rule { position: relative; max-width: 420px; height: 20px; margin: 22px 0 12px; display: flex; justify-content: center; }
.eh-ornament-rule::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, #d9b27a 15%, #d9b27a 85%, transparent); }
.eh-ornament-rule img { position: relative; width: 30px; height: 20px; padding: 0 10px; background: var(--eh-cream); box-sizing: content-box; }
.eh-brand-promise { max-width: 420px; margin: 0; color: #a1672a; font: italic 500 clamp(18px, 1.35vw, 22px)/1.2 var(--eh-head); text-align: center; white-space: nowrap; }

.eh-footer .ks-footer-col > h3:not(.ks-acc-head),
.eh-footer .ks-acc-head span {
  position: relative;
  display: block;
  margin: 0 0 22px;
  padding: 0 0 12px;
  color: var(--eh-maroon);
  font: 700 clamp(19px, 1.4vw, 23px)/1.15 var(--eh-head);
  white-space: nowrap;
  letter-spacing: 0;
  text-transform: none;
}
.eh-footer .ks-footer-col > h3:not(.ks-acc-head)::before,
.eh-footer .ks-acc-head span::before {
  content: '';
  display: block;
  width: 34px; height: 26px;
  margin-bottom: 12px;
  background: var(--eh-lotus) left center / contain no-repeat;
}
.eh-footer .ks-footer-col > h3:not(.ks-acc-head)::after,
.eh-footer .ks-acc-head span::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 120px; max-width: 100%; height: 1px;
  background: linear-gradient(90deg, #d2a468, transparent);
}
.eh-footer .ks-acc-head { display: block; margin: 0; padding: 0; font-size: inherit; }
.eh-footer .ks-acc-head::before, .eh-footer .ks-acc-head::after { content: none !important; }
.eh-footer .links-col ul { margin: 0; padding: 0; list-style: none; }
.eh-footer .links-col ul li { margin: 0 0 10px; }
.eh-footer .links-col ul li a {
  position: relative;
  display: inline-block;
  color: var(--eh-text);
  font: 400 18px/1.3 var(--eh-body);
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}
.eh-footer .links-col ul li a::after {
  content: '';
  position: absolute; left: 0; right: 0; bottom: -1px;
  height: 1px; background: var(--eh-gold);
  transform: scaleX(0); transform-origin: left;
  transition: transform .25s ease;
}
.eh-footer .links-col ul li a:hover { color: var(--eh-maroon); transform: translateX(3px); }
.eh-footer .links-col ul li a:hover::after { transform: scaleX(1); }
.eh-footer .links-col ul li a.eh-sale-link { color: var(--eh-maroon); font-weight: 600; }

.eh-footer .social-list { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 22px; padding: 0; list-style: none; }
.eh-footer .social-list li a {
  width: 40px; height: 40px; display: inline-grid; place-items: center;
  color: #fff; border-radius: 50%; font-size: 17px;
  box-shadow: 0 4px 10px rgba(60, 20, 10, .15);
  transition: transform .2s ease, box-shadow .2s ease;
}
.eh-footer .social-list li a i { color: #fff !important; }
.eh-footer .social-list li a.instagram { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.eh-footer .social-list li a.facebook { background: #1877f2; }
.eh-footer .social-list li a.pinterest { background: #e60023; }
.eh-footer .social-list li a.youtube { background: #ff0000; }
.eh-footer .social-list li a.whatsapp { background: #25d366; }
.eh-footer .social-list li a:hover { transform: translateY(-3px); box-shadow: 0 8px 18px rgba(60, 20, 10, .25); }
.eh-contact-lines { display: flex; flex-direction: column; gap: 12px; }
.eh-contact-lines a { display: flex; align-items: center; gap: 14px; color: var(--eh-ink); font: 400 17.5px/1.2 var(--eh-body); text-decoration: none; word-break: break-word; transition: color .2s ease; }
.eh-contact-lines a:hover { color: var(--eh-maroon); }
.eh-contact-lines i { width: 22px; color: var(--eh-maroon) !important; font-size: 19px; text-align: center; }
.eh-footer-connect .eh-ornament-rule { margin-top: 24px; }
.eh-artisan-tag { margin: 0; color: #a1672a; font: 400 clamp(22px, 1.8vw, 30px)/1.2 var(--eh-script); text-align: center; white-space: nowrap; }

/* ---- Trust strip ---- */
.eh-trust-strip { position: relative; border-top: 1px solid var(--eh-line); background: #fffdf9; }
.eh-trust-inner {
  width: min(100% - 80px, 1600px);
  min-height: 94px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
}
.eh-trust-inner > div { position: relative; display: flex; align-items: center; justify-content: center; gap: 20px; padding: 14px 24px; min-width: 0; }
.eh-trust-inner > div + div::before {
  content: '';
  position: absolute; left: 0; top: 22%; bottom: 22%;
  width: 1px; background: linear-gradient(transparent, #d9b27a, transparent);
}
.eh-trust-inner > div + div::after {
  content: '';
  position: absolute; left: -4px; top: calc(50% - 4px);
  width: 8px; height: 8px;
  background: #c9974f;
  transform: rotate(45deg) scale(.6);
}
.eh-trust-inner svg {
  flex: 0 0 52px; width: 52px; height: 52px;
  fill: none; stroke: #a9702e; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .3s ease;
}
.eh-trust-inner > div:hover svg { transform: translateY(-3px); }
.eh-trust-inner span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.eh-trust-inner strong { color: var(--eh-ink); font: 500 19px/1.15 var(--eh-body); }
.eh-trust-inner small { color: var(--eh-muted); font: 500 12px/1.2 var(--eh-body); letter-spacing: .14em; text-transform: uppercase; }

/* ---- Bottom bar ---- */
.eh-footer .ks-footer-bottom {
  width: 100%;
  min-height: 72px;
  margin: 0;
  padding: 14px max(150px, calc((100% - 1500px) / 2));
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
  border-radius: 0;
  font-size: 17px;
}
.eh-footer .ks-footer-bottom p { margin: 0; font-size: inherit; }
.eh-footer .ks-footer-bottom-links { justify-self: start; display: flex; align-items: center; gap: 0; }
.eh-footer .ks-footer-bottom-links a { padding: 0 20px; color: #ffe8dc; border-left: 1px solid rgba(231,191,120,.5); opacity: 1; text-decoration: none; transition: color .2s ease; }
.eh-footer .ks-footer-bottom-links a:hover { color: var(--eh-gold-light); text-decoration: none; }
.eh-bottom-promise { display: flex; align-items: center; gap: 20px; color: #f6dcc6; font: italic 500 22px/1 var(--eh-head) !important; }
.eh-bottom-promise img { width: 36px; height: 27px; padding-right: 20px; border-right: 1px solid rgba(231,191,120,.5); box-sizing: content-box; filter: brightness(1.3); }

/* ---- Responsive ---- */
@media (max-width: 1400px) {
  .eh-community-copy h2 { white-space: normal; }
  .eh-community-inner { width: min(100% - 140px, 1500px); grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); }
  .eh-community-perks { display: none; }
  .eh-footer .eh-footer-main { grid-template-columns: minmax(260px, 1.5fr) repeat(4, minmax(130px, 1fr)) minmax(220px, 1.2fr); }
  .eh-footer .ks-footer-col { padding: 0 20px; }
  .eh-footer .ks-footer-col:first-child { padding-right: 30px; }
  .eh-footer .footer-logo { height: 110px; }
  .eh-footer .ks-footer-col h3,
  .eh-footer .ks-acc-head span { font-size: 21px; }
  .eh-footer .links-col ul li a { font-size: 17px; }
  .eh-trust-inner strong { font-size: 17px; }
  .eh-trust-inner > div { gap: 14px; padding: 14px 14px; }
  .eh-trust-inner svg { flex-basis: 44px; width: 44px; height: 44px; }
  .eh-footer .ks-footer-bottom { padding: 14px 90px; gap: 20px; }
  .eh-bottom-promise { display: none !important; }
  .eh-footer .ks-footer-bottom { grid-template-columns: auto 1fr; }
}

@media (max-width: 1100px) {
  .eh-footer .eh-footer-main { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
  .eh-footer .eh-footer-brand { grid-column: 1 / -1; padding: 0 !important; }
  .eh-footer .ks-footer-col:nth-child(2),
  .eh-footer .ks-footer-col:nth-child(5) { border-left: 0; padding-left: 0; }
  .eh-footer .eh-link-column::after { content: none; }
  .eh-trust-inner { grid-template-columns: repeat(2, 1fr); padding: 10px 0; }
  .eh-trust-inner > div { justify-content: flex-start; }
  .eh-trust-inner > div:nth-child(3)::before,
  .eh-trust-inner > div:nth-child(3)::after { content: none; }
}

@media (max-width: 768px) {
  .eh-footer { margin-top: 36px; }
  .eh-footer-community,
  .eh-footer .ks-footer-bottom { background: radial-gradient(ellipse at 50% 0%, #a3143b 0%, transparent 70%), linear-gradient(100deg, var(--eh-maroon-deep), #8a0c2c 50%, var(--eh-maroon-deep)); }
  .eh-footer-community::after,
  .eh-footer .ks-footer-bottom::after { width: 100%; background-size: auto 100%; opacity: .22; }
  .eh-footer-community::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--eh-mandala) left center / auto 100% no-repeat; opacity: .22; pointer-events: none; }
  .eh-community-inner { width: calc(100% - 32px); min-height: auto; padding: 30px 0; display: flex; flex-direction: column; align-items: stretch; gap: 20px; text-align: center; }
  .eh-community-copy { flex-direction: column; gap: 12px; }
  .eh-community-lotus { width: 48px; padding: 0; border: 0; }
  .eh-community-copy h2 { font-size: 28px; }
  .eh-community-copy p { font-size: 16px; }
  .eh-community-form .input-wrapper { height: 56px; }
  .eh-community-form .input-wrapper input[type='email'] { height: 44px; font-size: 16px; padding: 0 10px; }
  .eh-community-form .input-wrapper button { height: 44px; padding: 0 16px; font-size: 16px; }
  .eh-community-form .input-wrapper button i { display: none; }

  .eh-footer .eh-footer-main { width: calc(100% - 32px); padding: 30px 0 20px; display: block; }
  .eh-footer .eh-footer-main::before,
  .eh-footer .eh-footer-main::after { display: none; }
  .eh-footer .ks-footer-col,
  .eh-footer .ks-footer-col:first-child { padding: 0; border-left: 0; }
  .eh-footer .eh-footer-brand { padding-bottom: 26px !important; text-align: center; }
  .eh-footer .footer-logo { max-width: 280px; height: 100px; margin: -10px auto 10px; object-position: center; }
  .eh-footer .brand-desc { margin: 0 auto; font-size: 17px; }
  .eh-ornament-rule { margin-left: auto; margin-right: auto; }
  .eh-brand-promise { margin: 0 auto; }
  .eh-footer .eh-link-column { border-top: 1px solid var(--eh-line); }
  .eh-footer .ks-accordion .ks-acc-head { min-height: 58px; padding: 0; display: flex; align-items: center; justify-content: space-between; }
  .eh-footer .ks-accordion .ks-acc-head span { display: flex; align-items: center; margin: 0; padding: 0; font-size: 21px; }
  .eh-footer .ks-accordion .ks-acc-head span::before { width: 26px; height: 20px; margin: 0 12px 0 0; }
  .eh-footer .ks-accordion .ks-acc-head span::after { display: none; }
  .eh-footer .ks-accordion .ks-acc-toggle { width: 34px; height: 34px; display: inline-grid; color: var(--eh-maroon); border: 1px solid #e3caa6; border-radius: 50%; background: #fff9ef; }
  .eh-footer .ks-accordion .ks-acc-body { padding: 0 0 0 38px; }
  .eh-footer .ks-accordion.open .ks-acc-body { padding-bottom: 12px; }
  .eh-footer .links-col ul li { margin-bottom: 12px; }
  .eh-footer-connect { padding-top: 26px !important; border-top: 1px solid var(--eh-line) !important; text-align: center; }
  .eh-footer-connect > h3::before { margin: 0 auto 10px; background-position: center; }
  .eh-footer-connect > h3::after { left: 50%; transform: translateX(-50%); background: linear-gradient(90deg, transparent, #d2a468, transparent); }
  .eh-footer .social-list { justify-content: center; }
  .eh-contact-lines { align-items: center; }

  .eh-trust-inner { width: calc(100% - 32px); grid-template-columns: 1fr; padding: 12px 0; }
  .eh-trust-inner > div { padding: 14px 4px; border-top: 1px solid #f0e3d1; }
  .eh-trust-inner > div:first-child { border-top: 0; }
  .eh-trust-inner > div + div::before,
  .eh-trust-inner > div + div::after { content: none; }
  .eh-trust-inner svg { flex-basis: 44px; width: 44px; height: 44px; }

  .eh-footer .ks-footer-bottom { min-height: auto; margin: 0 0 calc(62px + env(safe-area-inset-bottom)); padding: 20px 18px; display: flex; flex-direction: column; justify-content: center; gap: 6px; text-align: center; font-size: 16px; }
  .eh-footer .ks-footer-bottom-links { display: none; }
}

/* Connect column: keep socials on one row + long email inside the column */
.eh-footer .eh-footer-connect .social-list { flex-wrap: nowrap; gap: 8px; }
.eh-footer .eh-footer-connect .social-list li a { width: 36px; height: 36px; font-size: 15px; }
.eh-footer .eh-contact-lines a { font-size: 16px; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 1400px) {
  .eh-footer .eh-footer-connect .social-list { gap: 6px; }
  .eh-footer .eh-footer-connect .social-list li a { width: 32px; height: 32px; font-size: 14px; }
  .eh-footer .eh-contact-lines a { font-size: 15px; gap: 10px; }
}
@media (max-width: 768px) {
  .eh-footer .eh-footer-connect .social-list { flex-wrap: wrap; gap: 12px; }
  .eh-footer .eh-footer-connect .social-list li a { width: 40px; height: 40px; font-size: 17px; }
}

/* ---- search.css ---- */
 /* Basic resets + font */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    body {
      font-family: 'Poppins', sans-serif;
      background: #f9f9f9;
      color: #333;
    }
    a {
      color: inherit;
      text-decoration: none;
    }

    /* Container for the results page */
    .search-container {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 20px;
      background: #fff;  /* white bg + round corners as requested */
      border-radius: 8px;
    }

    /* Title area */
    .search-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      margin-bottom: 20px;
    }
    .search-header h1 {
      font-size: 1.5rem;
      font-weight: 600;
      margin-right: 10px;
    }

    /* sort form styling */
    .sort-form {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-left: auto; /* we keep the inline style, but also add a class for further styling if needed */
    }
    .sort-label {
      font-size: 0.9rem;
      font-weight: 500;
      color: #333;
    }
    .sort-select {
      border: 1px solid #ccc;
      border-radius: 4px;
      background: #fff;
      font-size: 0.9rem;
      padding: 4px 10px;
      cursor: pointer;
    }
    .sort-select:focus {
      outline: none;
      border-color: #66afe9;
      box-shadow: 0 0 0 3px rgba(102,175,233,0.2);
    }

    .results-info {
      font-size: 0.95rem;
      color: #555;
      margin-bottom: 20px;
    }

    /* Card grid: bigger min width on desktop; 2-per-row on mobile */
    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 20px;
    }
    @media (max-width: 576px) {
      .card-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    /* Product card */
    .product-card {
      background: #fff;
      border: 1px solid #eee;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 2px 4px rgba(0,0,0,0.08);
      position: relative;
      transition: box-shadow 0.3s ease;
    }
    .product-card:hover {
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }
    .product-card img {
      width: 100%;
      height: 180px;
      object-fit: cover;
      display: block;
    }
    @media (min-width: 992px) {
      .product-card img {
        height: 240px;
      }
    }

    .product-card-body {
      padding: 10px;
    }
    .product-title {
      font-size: 0.95rem;
      font-weight: 500;
      color: #222;
      margin-bottom: 8px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      display: block;
    }

    .price-row {
      font-size: 1rem;
      font-weight: 600;
      color: #222;
      margin-bottom: 4px;
    }
    .price-row s {
      color: #888;
      font-weight: normal;
      margin-left: 6px;
    }

    .discount-row {
      font-size: 0.85rem;
      color: #388e3c;
      margin-bottom: 8px;
    }

    .discount-badge {
      position: absolute;
      top: 10px;
      left: 10px;
      background: #ff8a00;
      color: #fff;
      font-weight: 600;
      font-size: 0.75rem;
      padding: 3px 6px;
      border-radius: 4px;
    }

    /* Size row with a dropdown to trigger popup */
    .size-row {
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .size-label {
      font-size: 0.9rem;
      color: #555;
    }
    .size-button {
      padding: 4px 10px;
      border: 1px solid #ccc;
      border-radius: 4px;
      background: #fff;
      font-size: 0.9rem;
      cursor: pointer;
      position: relative;
      display: inline-flex;
      align-items: center;
    }
    .size-button:hover {
      background: #f5f5f5;
    }
    .size-button i {
      margin-left: 4px;
      font-size: 0.8rem;
    }

    /* The size overlay/popup */
    .size-overlay {
      display: none;
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0,0,0,0.4);
      z-index: 9999;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }
    .size-overlay.show {
      display: flex;
    }
    .size-popup {
      background: #fff;
      border-radius: 8px;
      padding: 20px;
      width: 380px;  /* slightly bigger width for the popup */
      max-height: 80vh;
      overflow-y: auto;
      position: relative;
    }

    .size-popup .popup-header {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 12px;
    }
    .size-popup .popup-header img {
      width: 60px; height: 60px;
      object-fit: cover;
      border-radius: 4px;
    }
    .popup-product-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 4px;
    }
    .close-btn {
      position: absolute;
      top: 10px; right: 10px;
      background: none;
      border: none;
      font-size: 1.2rem;
      cursor: pointer;
      color: #333;
    }

    /* We'll place "Go to Cart" button here in the header. Initially hidden. */
    .go-cart-btn-header {
      display: none; /* shown once any item is added */
      margin-top: 6px;
      background: #008000;
      color: #fff;
      border: none;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 0.75rem;
      cursor: pointer;
    }
    .go-cart-btn-header:hover {
      background: #006400;
    }

    .size-popup h4 {
      font-size: 0.95rem;
      margin-bottom: 10px;
      font-weight: 600;
    }
    .size-popup ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .size-popup li {
      padding: 8px;
      border-bottom: 1px solid #eee;
      display: flex;
      flex-direction: column; 
      gap: 4px; 
    }
    .size-popup li .variant-top-line {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .variant-name {
      color: #333;
      font-weight: 500;
    }
    .variant-right {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: nowrap; /* keep them on one line on mobile */
    }
    .size-price-row {
      display: flex;
      align-items: center; 
      gap: 8px;
      flex-wrap: nowrap; /* single row for discount + add to cart */
    }
    .variant-price {
      font-weight: 600;
      font-size: 0.9rem;
    }
    .variant-price s {
      color: #888;
      margin-left: 6px;
      font-weight: normal;
      font-size: 0.85rem;
    }
    .variant-discount {
      background: #ff8a00;
      color: #fff;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 2px 5px;
      border-radius: 4px;
    }
    .add-to-cart-btn {
      background: #008000;
      color: #fff;
      border: none;
      padding: 6px 14px;
      border-radius: 4px;
      font-size: 0.8rem;
      cursor: pointer;
    }
    .add-to-cart-btn:hover {
      background: #006400;
    }
    .sold-out-btn {
      background: #ccc;
      color: #666;
      cursor: not-allowed;
    }

    /* quantity container if user clicks "Add to Cart" */
    .qty-container {
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .qty-btn {
      background: #eee;
      border: none;
      padding: 4px 8px;
      border-radius: 4px;
      cursor: pointer;
      font-size: 0.85rem;
    }
    .qty-btn:hover {
      background: #ddd;
    }
    .qty-label {
      font-weight: 600;
      min-width: 20px;
      text-align: center;
    }
    .trash-btn {
      background: #eee;
      border: none;
      padding: 4px 8px;
      border-radius: 4px;
      cursor: pointer;
      font-size: 0.85rem;
    }
    .trash-btn:hover {
      background: #ddd;
    }

    /* --- ONLY FOR MOBILE VIEW: keep Save % and Add to Cart on one line --- */
    @media (max-width: 576px) {
      .size-price-row {
        flex-wrap: nowrap !important;
      }
      .variant-discount,
      .cart-btn-slot {
        white-space: nowrap;
      }
    }
    
    
        /* =======================================================
       POPUP polish etc. (unchanged)
       ======================================================= */
    :root{
      --ks-green:#1b8f1a;
      --ks-green-dark:#157213;
      --ks-border:#ececec;
      --ks-filter-footer-h:72px; /* used for drawer body bottom padding */
    }
    .size-overlay{
      position:fixed; inset:0;
      background:rgba(0,0,0,.42);
      backdrop-filter:saturate(120%) blur(2px);
      display:none; align-items:center; justify-content:center;
      padding:16px; z-index:1000;
    }
    .size-overlay.show{ display:flex; }

    .size-popup{
      position:relative;
      width:min(700px,94vw);
      max-height:86vh;
      background:#fff; border-radius:16px;
      box-shadow:0 10px 30px rgba(0,0,0,.2);
      overflow:hidden; display:flex; flex-direction:column;
      animation:popIn .18s ease-out;
    }
    @keyframes popIn{ from{transform:scale(.96);opacity:0;} to{transform:scale(1);opacity:1;} }

    .close-btn{
      position:absolute; right:10px; top:10px;
      width:36px; height:36px; border:1px solid #eee; border-radius:999px;
      background:#fff; color:#333; cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      z-index:5;
      box-shadow:0 2px 8px rgba(0,0,0,.08);
    }
    .close-btn:hover{ background:#f7f7f7; }

    .popup-header{
      position:sticky; top:0; z-index:2;
      display:grid; grid-template-columns:64px 1fr max-content;
      gap:12px; align-items:center;
      padding:16px 18px;
      padding-right:64px;
      border-bottom:1px solid var(--ks-border); background:#fff;
    }
    .popup-header img#popupImage{
      width:64px; height:64px; object-fit:cover; border-radius:10px; border:1px solid var(--ks-border);
    }
    .popup-product-title{ font-weight:600; font-size:1.02rem; line-height:1.3; }

    .go-cart-btn-header{
      height:36px; padding:0 14px; border:none; border-radius:10px; cursor:pointer;
      background:var(--ks-green); color:#fff; font-weight:600;
      white-space:nowrap;
    }
    .go-cart-btn-header:hover{ background:var(--ks-green-dark); }

    .size-popup h4{ margin:0; padding:12px 18px; font-size:.95rem; color:#111; border-bottom:1px solid var(--ks-border); }

    #variantList{ list-style:none; margin:0; padding:0; overflow:auto; flex:1; background:#fff; }
    #variantList li{
      display:grid; grid-template-columns:1fr auto;
      gap:10px; align-items:center;
      padding:14px 18px; border-bottom:1px solid #f3f4f6;
    }
    .variant-top-line{ display:flex; align-items:center; gap:8px; min-width:0; }
    .variant-name{ font-weight:600; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .size-price-row{ display:flex; align-items:center; gap:12px; }
    .variant-price{ font-weight:700; font-size:1rem; color:#111; }
    .variant-price s{ margin-left:6px; color:#9aa3af; font-weight:500; font-size:.95rem; }
    .variant-discount{ font-size:.78rem; font-weight:700; padding:4px 8px; border-radius:999px; background:#fff7e6; color:#a35500; border:1px solid #ffe0b2; }
    .cart-btn-slot{ display:flex; align-items:center; }
    .add-to-cart-btn{ height:36px; padding:0 14px; border:none; border-radius:10px; cursor:pointer; background:var(--ks-green); color:#fff; font-weight:700; box-shadow:0 2px 0 rgba(0,0,0,.06); }
    .add-to-cart-btn:hover{ background:var(--ks-green-dark); }
    .add-to-cart-btn.sold-out-btn{ background:#e5e7eb; color:#6b7280; cursor:not-allowed; box-shadow:none; }
    .qty-container{ display:flex; align-items:center; gap:8px; background:#f6f8fa; border:1px solid #e5e7eb; border-radius:10px; height:36px; padding:0 8px; }
    .qty-btn, .trash-btn{ width:28px; height:28px; border:none; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; background:#fff; }
    .qty-btn:hover, .trash-btn:hover{ background:#f0f0f0; }
    .qty-label{ min-width:18px; text-align:center; font-weight:700; }

    /* ===================== HEADER + STICKY CONTROLS ===================== */

    /* Use grid: title block, then controls row spans full width below it */
    .search-header{
      display:grid;
      grid-template-columns: 1fr;
      align-items:center;
      gap:12px; /* default spacing between H1 and controls */
    }
    .search-header h1{ margin:0; }
    /* Make the controls row span full width of header grid */
    .ks-controls-row{ grid-column:1 / -1; }

    /* Controls row layout (Filter left, Sort right) */
.ks-controls-row{
  display:grid;
  align-items:center;
  gap:12px;
  background:#fff;
  /* no grid-template-columns here on purpose */
}

/* DESKTOP (>=769px): make left column only as wide as its content.
   This stops the Filter button from stretching full width. */
@media (min-width:769px){
  .ks-controls-row{
    grid-template-columns: max-content auto; /* left = content, right = flex */
  }
  .ks-controls-row > .ks-filter-toggle-btn{
    justify-self: start;  /* do not stretch the button */
    width: auto;          /* natural width */
  }
}

/* MOBILE (<=768px): keep two columns so Filter + Sort sit side-by-side.
   Sticky styles defined elsewhere will continue to work. */
@media (max-width:768px){
  .ks-controls-row{
    grid-template-columns: auto auto;
  }
}

    /* Sticky behavior + inner padding for edge breathing room */
    @media (max-width:768px){
      /* Reduce H1 → controls gap on mobile (user request) */
      .search-header{ gap:6px; }

      .ks-controls-row{
        position:-webkit-sticky; /* iOS */
        position:sticky;
        top:calc(var(--ks-sticky-top,56px) + env(safe-area-inset-top));

        /* LAYERING FIX:
           Lower z-index so this bar stays BEHIND popups/sheets (size overlay is z-index:1000).
           Previously 3600 caused it to float above everything. */
        z-index:600;

        padding:6px 12px;            /* space from left/right borders */
        box-shadow:0 2px 10px rgba(0,0,0,.08);
        box-sizing:border-box;       /* keep width including padding */
      }
      /* Fixed fallback when sticky is blocked by an ancestor */
      .ks-controls-row.is-fixed{
        position:fixed !important;
        left:var(--ks-fixed-left,0);
        width:var(--ks-fixed-width,100vw);
        right:auto;
        top:calc(var(--ks-sticky-top,56px) + env(safe-area-inset-top));

        /* LAYERING FIX (keep same lower layer here too) */
        z-index:600;

        padding:6px 12px;
        box-sizing:border-box;
      }
      /* Placeholder used only when fixed to prevent layout jump */
      .ks-sticky-ph{ display:block; height:0; }
    }

    /* Sort kept aligned to right side */
    .sort-form{ justify-self:end; margin-left:0 !important; display:flex; align-items:center; gap:8px; }
    .sort-form .sort-select{ height:36px; padding:8px 10px; border-radius:8px; border:1px solid #ddd; }

    .ks-filter-toggle-btn{
      height:36px; display:inline-flex; align-items:center; gap:8px;
      padding:8px 12px; border:1px solid #ddd; border-radius:8px; background:#fff;
      cursor:pointer; font-weight:600;
    }
    .ks-filter-toggle-btn i{ font-size:14px; }

    /* Drawer */
    .ks-filter-panel-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;z-index:3500}
    .ks-filter-panel-backdrop.show{display:block}
    .ks-filter-panel{
      position:fixed;top:0;left:-380px;height:100vh;height:100dvh;width:360px;background:#fff;
      box-shadow:8px 0 24px rgba(0,0,0,.15);transition:left .25s ease;z-index:4000;display:flex;flex-direction:column
    }
    .ks-filter-panel.show{left:0}
    .ks-filter-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee;flex-shrink:0}
    .ks-filter-title{font-weight:700;font-size:16px}
    .ks-filter-close{background:none;border:none;font-size:18px;cursor:pointer}

    .ks-filter-body{
      padding:14px 16px;overflow:auto;flex:1;
      padding-bottom: calc(var(--ks-filter-footer-h) + 20px + env(safe-area-inset-bottom));
    }
    .ks-filter-group{margin-bottom:18px}
    .ks-filter-group h4{font-size:14px;margin:0 0 10px 0;font-weight:700;color:#222}
    .ks-checklist{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}
    .ks-price-row{display:flex;gap:10px}
    .ks-price-row input{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px}

    .ks-filter-footer{
      position:sticky;bottom:0;left:0;right:0;
      border-top:1px solid #eee;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
      background:#fff;display:flex;gap:10px;flex-shrink:0;
      box-shadow:0 -8px 16px rgba(0,0,0,.08);
      min-height:var(--ks-filter-footer-h);
      z-index:1;
    }
    .ks-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:8px;cursor:pointer;text-decoration:none;border:1px solid transparent;font-weight:600;width:50%}
    .ks-btn-primary{background:#16a34a;color:#fff}.ks-btn-primary:hover{background:#128a3e}
    .ks-btn-ghost{background:#fff;color:#333;border-color:#ddd}.ks-btn-ghost:hover{background:#f8f8f8}

    /* Mobile drawer width */
    @media (max-width:768px){
      .ks-filter-panel{ width:92vw; left:-92vw; }
    }

    @media (max-width:480px){
      .size-popup{ width:96vw; }
      .popup-header{
        grid-template-columns:56px 1fr max-content;
        gap:10px; padding:12px 14px; padding-right:58px;
      }
      .go-cart-btn-header{ font-size:.85rem; height:34px; padding:0 12px; white-space:nowrap; }
      #variantList li{ grid-template-columns:1fr; align-items:flex-start; }
      .size-price-row{ justify-content:space-between; width:100%; }
      .close-btn{ right:8px; top:8px; width:34px; height:34px; }
    }
/* ---- category.css ---- */
    /* ---------- Category description (unchanged) ---------- */
    .category-description { margin-top:20px; line-height:1.6; }
    .category-description ul { list-style:disc; margin-left:20px; margin-bottom:10px; }
    .category-description p { margin-bottom:1em; }
    .search-header { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
    .search-header h1 { margin-bottom:2px !important; }
    .search-header nav[aria-label="breadcrumb"] { margin-bottom:2px !important; }
    .search-header nav[aria-label="breadcrumb"] ol li,
    .search-header nav[aria-label="breadcrumb"] ol li a,
    .search-header nav[aria-label="breadcrumb"] ol li span { font-size:0.7rem; }
    @media (max-width:576px){
      .sort-form{ width:100%; margin-left:0 !important; display:flex; justify-content:space-between; margin-top:2px; }
      .sort-label{ font-size:0.9rem; margin-right:6px; }
      .sort-select{ flex:0 0 auto; }
    }
    #sentinel{height:1px;}

    /* =======================================================
       FANCY SIZE POPUP – with fixes for close button + mobile CTA
       ======================================================= */
    :root{
      --ks-green:#1b8f1a;
      --ks-green-dark:#157213;
      --ks-amber:#ff9800;
      --ks-border:#ececec;
      --ks-muted:#667085;
    }

    .size-overlay{
      position:fixed; inset:0;
      background:rgba(0,0,0,.42);
      backdrop-filter:saturate(120%) blur(2px);
      display:none; align-items:center; justify-content:center;
      padding:16px; z-index:1000;
    }
    .size-overlay.show{ display:flex; }

    .size-popup{
      position:relative;                 /* Keep absolute children (close) inside */
      width:min(700px,94vw);
      max-height:86vh;
      background:#fff; border-radius:16px;
      box-shadow:0 10px 30px rgba(0,0,0,.2);
      overflow:hidden; display:flex; flex-direction:column;
      animation:popIn .18s ease-out;
    }
    @keyframes popIn{ from{transform:scale(.96);opacity:0;} to{transform:scale(1);opacity:1;} }

    /* Close button – ensure always visible above sticky header */
    .close-btn{
      position:absolute; right:10px; top:10px;
      width:36px; height:36px; border:1px solid #eee; border-radius:999px;
      background:#fff; color:#333; cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      z-index:5;                              /* Higher than .popup-header (z-index:2) */
      box-shadow:0 2px 8px rgba(0,0,0,.08);
    }
    .close-btn:hover{ background:#f7f7f7; }

    /* Header */
    .popup-header{
      position:sticky; top:0; z-index:2;
      display:grid; grid-template-columns:64px 1fr max-content; /* right fits content */
      gap:12px; align-items:center;
      padding:16px 18px;
      padding-right:64px;                    /* Reserve space so close button never overlaps */
      border-bottom:1px solid var(--ks-border); background:#fff;
    }
    .popup-header img#popupImage{
      width:64px; height:64px; object-fit:cover; border-radius:10px; border:1px solid var(--ks-border);
    }
    .popup-product-title{ font-weight:600; font-size:1.02rem; line-height:1.3; }

    .go-cart-btn-header{
      height:36px; padding:0 14px; border:none; border-radius:10px; cursor:pointer;
      background:var(--ks-green); color:#fff; font-weight:600;
      white-space:nowrap;                    /* Keep in one line */
    }
    .go-cart-btn-header:hover{ background:var(--ks-green-dark); }

    .size-popup h4{
      margin:0; padding:12px 18px; font-size:.95rem; color:#111;
      border-bottom:1px solid var(--ks-border);
    }

    #variantList{ list-style:none; margin:0; padding:0; overflow:auto; flex:1; background:#fff; }

    #variantList li{
      display:grid; grid-template-columns:1fr auto;
      gap:10px; align-items:center;
      padding:14px 18px; border-bottom:1px solid #f3f4f6;
    }

    .variant-top-line{ display:flex; align-items:center; gap:8px; min-width:0; }
    .variant-name{ font-weight:600; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

    .size-price-row{ display:flex; align-items:center; gap:12px; }
    .variant-price{ font-weight:700; font-size:1rem; color:#111; }
    .variant-price s{ margin-left:6px; color:#9aa3af; font-weight:500; font-size:.95rem; }

    .variant-discount{
      font-size:.78rem; font-weight:700;
      padding:4px 8px; border-radius:999px; background:#fff7e6; color:#a35500;
      border:1px solid #ffe0b2;
    }

    .cart-btn-slot{ display:flex; align-items:center; }
    .add-to-cart-btn{
      height:36px; padding:0 14px; border:none; border-radius:10px; cursor:pointer;
      background:var(--ks-green); color:#fff; font-weight:700; box-shadow:0 2px 0 rgba(0,0,0,.06);
    }
    .add-to-cart-btn:hover{ background:var(--ks-green-dark); }
    .add-to-cart-btn.sold-out-btn{ background:#e5e7eb; color:#6b7280; cursor:not-allowed; box-shadow:none; }

    .qty-container{ display:flex; align-items:center; gap:8px; background:#f6f8fa; border:1px solid #e5e7eb; border-radius:10px; height:36px; padding:0 8px; }
    .qty-btn, .trash-btn{ width:28px; height:28px; border:none; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; background:#fff; }
    .qty-btn:hover, .trash-btn:hover{ background:#f0f0f0; }
    .qty-label{ min-width:18px; text-align:center; font-weight:700; }

    /* -------- Mobile-only refinements -------- */
    @media (max-width:480px){
      .size-popup{ width:96vw; }
      .popup-header{
        grid-template-columns:56px 1fr max-content;
        gap:10px;
        padding:12px 14px;
        padding-right:58px;                 /* still keep gap for close button */
      }
      .go-cart-btn-header{
        font-size:.85rem;                   /* smaller text to avoid wrap */
        height:34px;
        padding:0 12px;
        white-space:nowrap;                 /* never break */
      }
      #variantList li{ grid-template-columns:1fr; align-items:flex-start; }
      .size-price-row{ justify-content:space-between; width:100%; }
      .close-btn{ right:8px; top:8px; width:34px; height:34px; } /* fit tight on mobile */
    }
    
    
     :root { --ks-filter-footer-h: 72px; }

    /* ---------- HEADER AREA ---------- */
    .search-header{
      display:grid;
      grid-template-columns: 1fr auto auto;
      align-items:center;
      /* Tighter vertical rhythm: was 12px -> 6px */
      gap:6px; /* reduces the space between breadcrumb and the controls row */
    }
    .search-header h1{ grid-column:1 / -1; margin:0; }
    /* Remove any default spacing on the breadcrumb block */
    .search-header nav{ grid-column:1 / -1; margin:0; padding:0; }

    /* Controls row container */
 
 /* Controls row: keep layout; no extra top margin */
.ks-controls-row{
  grid-column: 1 / -1;                 /* span full width of header grid */
  display:grid;
  align-items:center;
  gap:12px;
  background:#fff;
  margin-top:0;                         /* avoid any extra gap */
}

/* DESKTOP: prevent the Filter button from stretching full width */
@media (min-width: 769px){
  .ks-controls-row{
    /* Left track fits to content (Filter), right track holds Sort form */
    grid-template-columns: max-content auto;
  }
  .ks-controls-row > .ks-filter-toggle-btn{
    justify-self: start;                /* stop grid stretch on desktop */
    width: auto;                        /* natural width only */
  }
}

/* MOBILE: keep the sticky behaviour exactly as before */
@media(max-width:768px){
  .ks-controls-row{
    position: -webkit-sticky;           /* iOS Safari */
    position: sticky;
    top: calc(var(--ks-sticky-top, 56px) + env(safe-area-inset-top));
    z-index: 600;                        /* overlays are 3500/4000 */
    padding:4px 12px;                    /* compact padding */
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
    box-sizing: border-box;

    /* On small screens let both items sit side-by-side naturally */
    grid-template-columns: auto auto;
  }
  /* Fixed fallback when sticky is blocked by an ancestor */
  .ks-controls-row.is-fixed{
    position: fixed !important;
    left: var(--ks-fixed-left, 0);
    width: var(--ks-fixed-width, 100vw);
    right: auto;
    top: calc(var(--ks-sticky-top, 56px) + env(safe-area-inset-top));
    z-index: 600;
    padding:4px 12px;
    box-sizing: border-box;
  }
  .ks-sticky-ph{ display:block; height:0; } /* prevents layout jump */
}


    /* Keep Sort aligned to the right side */
    .sort-form{ justify-self:end; margin-left:0 !important; }
    .sort-form .sort-select{ height:36px; padding:8px 10px; border-radius:8px; border:1px solid #ddd; }

    /* Filter button height matches the select for visual alignment */
    .ks-filter-toggle-btn{
      height:36px;
      display:inline-flex;align-items:center;gap:8px;
      padding:8px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;
      cursor:pointer;font-weight:600;margin-left:12px
    }
    .ks-filter-toggle-btn i{font-size:14px}

    /* Filter drawer + backdrop (unchanged) */
    .ks-filter-panel-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;z-index:3500}
    .ks-filter-panel-backdrop.show{display:block}

    /* LEFT drawer */
    .ks-filter-panel{
      position:fixed;top:0;left:-380px;
      height:100vh; height:100dvh;
      width:360px;background:#fff;
      box-shadow:8px 0 24px rgba(0,0,0,.15);
      transition:left .25s ease;z-index:4000;
      display:flex;flex-direction:column
    }
    .ks-filter-panel.show{left:0}

    .ks-filter-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee;flex-shrink:0}
    .ks-filter-title{font-weight:700;font-size:16px}
    .ks-filter-close{background:none;border:none;font-size:18px;cursor:pointer}

    .ks-filter-body{
      padding:14px 16px;overflow:auto;flex:1;
      padding-bottom: calc(var(--ks-filter-footer-h) + 20px + env(safe-area-inset-bottom));
    }

    .ks-filter-group{margin-bottom:18px}
    .ks-filter-group h4{font-size:14px;margin:0 0 10px 0;font-weight:700;color:#222}
    .ks-checklist{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}
    .ks-price-row{display:flex;gap:10px}
    .ks-price-row input{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px}

    .ks-filter-footer{
      position:sticky;bottom:0;left:0;right:0;
      border-top:1px solid #eee;
      padding:12px 16px calc(12px + env(safe-area-inset-bottom));
      background:#fff;display:flex;gap:10px;flex-shrink:0;
      box-shadow:0 -8px 16px rgba(0,0,0,.08);
      min-height:var(--ks-filter-footer-h);
      z-index:1;
    }

    .ks-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:8px;cursor:pointer;text-decoration:none;border:1px solid transparent;font-weight:600;width:50%}
    .ks-btn-primary{background:#16a34a;color:#fff}.ks-btn-primary:hover{background:#128a3e}
    .ks-btn-ghost{background:#fff;color:#333;border-color:#ddd}.ks-btn-ghost:hover{background:#f8f8f8}

    /* Mobile: drawer width */
    @media(max-width:768px){
      .ks-filter-panel{width:92vw;left:-92vw}
    }
/* ---- browse-eh.css ---- */
/* =====================================================================
   EthnicHaat – Category / browse page (loaded after category.css)
   ===================================================================== */
:root{
  --eh-maroon:#8f0c2d; --eh-maroon-deep:#5e0419; --eh-gold:#b8843c;
  --eh-line:#ece3d6; --eh-ink:#231815; --eh-text:#4a3b33; --eh-muted:#8a7b70;
  --eh-ui:'Jost',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --eh-head:'Cormorant Garamond',Georgia,serif;
  --ks-green:#8f0c2d; --ks-green-dark:#6f061f;
}
body.eh-browse{background:#fff;font-family:var(--eh-ui);color:var(--eh-ink)}
body.eh-browse .search-container{max-width:1240px;padding:20px 20px 48px;border-radius:0;background:transparent;font-family:var(--eh-ui)}
body.eh-browse .search-container *:not(i){font-family:inherit}

/* ---------- heading + breadcrumb ---------- */
body.eh-browse .search-header{display:block !important;margin:0 0 18px}
.eh-cat-hero{padding:0;border:0;background:none}
.eh-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;padding:0;list-style:none;font-size:13.5px;color:var(--eh-muted)}
.eh-crumbs a{color:var(--eh-muted);text-decoration:none}
.eh-crumbs a:hover{color:var(--eh-maroon)}
.eh-crumbs i{font-size:11px;opacity:.7}
.eh-crumbs li:last-child span{color:var(--eh-ink);font-weight:500}
body.eh-browse .search-header h1{margin:0 !important;color:var(--eh-ink);font:600 30px/1.2 var(--eh-ui) !important;letter-spacing:-.01em}

/* ---------- controls ---------- */
body.eh-browse .ks-controls-row{margin-top:14px;padding:10px 0;background:#fff;border-top:1px solid var(--eh-line);border-bottom:1px solid var(--eh-line)}
body.eh-browse .ks-filter-toggle-btn{
  display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;
  border:1px solid #dcd0c0;border-radius:10px;background:#fff;color:var(--eh-ink);
  font:500 15px/1 var(--eh-ui);cursor:pointer;box-shadow:none;transition:border-color .18s,color .18s;
}
body.eh-browse .ks-filter-toggle-btn:hover{border-color:var(--eh-maroon);color:var(--eh-maroon)}
body.eh-browse .ks-filter-toggle-btn i{color:var(--eh-maroon)}
body.eh-browse .sort-select{
  height:40px;padding:0 38px 0 14px;border:1px solid #dcd0c0;border-radius:10px;
  font:500 15px/1 var(--eh-ui);color:var(--eh-ink);cursor:pointer;-webkit-appearance:none;appearance:none;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238f0c2d' stroke-width='1.8'/%3E%3C/svg%3E") right 14px center no-repeat;
}
body.eh-browse .sort-select:focus{border-color:var(--eh-maroon);box-shadow:0 0 0 3px rgba(143,12,45,.10)}

/* ---------- grid ---------- */
body.eh-browse .card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}

/* ---------- card ---------- */
body.eh-browse .eh-pcard{
  position:relative;display:flex;flex-direction:column;min-width:0;
  border:0;border-radius:0;background:#fff;box-shadow:none;overflow:visible;cursor:default;
}
body.eh-browse .eh-pcard:hover{box-shadow:none}
.eh-pcard-media{position:relative;display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#f6efe5}
body.eh-browse .eh-pcard-media img{
  display:block;width:100%;height:100% !important;object-fit:cover;object-position:center top;
  border:0;border-radius:0;transition:transform .45s ease;
}
body.eh-browse .eh-pcard:hover .eh-pcard-media img{transform:scale(1.04)}
body.eh-browse .eh-pcard .discount-badge{
  top:10px;left:10px;z-index:2;padding:4px 8px;border-radius:6px;background:var(--eh-maroon);
  color:#fff;font:600 11.5px/1 var(--eh-ui);letter-spacing:.02em;
}
body.eh-browse .eh-pcard [hidden]{display:none !important}
body.eh-browse .eh-pcard .product-card-body{display:flex;flex-direction:column;gap:6px;padding:10px 2px 0;flex:1}
body.eh-browse .eh-pcard .product-title{
  margin:0;color:var(--eh-ink);font:500 15px/1.35 var(--eh-ui);text-decoration:none;
  white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
body.eh-browse .eh-pcard .product-title:hover{color:var(--eh-maroon)}
body.eh-browse .eh-pcard .price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:0;font:600 16.5px/1.3 var(--eh-ui);color:var(--eh-ink)}
body.eh-browse .eh-pcard .price-row s{margin:0;color:#9d9087;font-size:13.5px;font-weight:400}
.eh-off{color:#c2410c;font-size:13.5px;font-weight:600}

/* colour / size chips */
.eh-opt{display:flex;flex-wrap:wrap;gap:6px}
.eh-chip{
  min-width:34px;height:30px;padding:0 10px;border:1px solid #d9cfc2;border-radius:8px;background:#fff;
  color:var(--eh-text);font:500 13px/1 var(--eh-ui);cursor:pointer;transition:border-color .15s,color .15s,background .15s;
}
.eh-chip:hover{border-color:var(--eh-maroon);color:var(--eh-maroon)}
.eh-chip.is-on{border-color:var(--eh-maroon);background:#fff4f6;color:var(--eh-maroon);box-shadow:inset 0 0 0 1px var(--eh-maroon)}
.eh-chip-size{min-width:34px;padding:0 8px}
.eh-chip.is-out{color:#b9aea5;text-decoration:line-through;border-style:dashed}

/* add to cart */
.eh-cart-slot{display:flex;gap:8px;margin-top:auto;padding-top:4px}
.eh-add{
  flex:1;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1.5px solid var(--eh-maroon);border-radius:10px;background:#fff;color:var(--eh-maroon);
  font:600 14.5px/1 var(--eh-ui);cursor:pointer;transition:background .15s,color .15s;
}
.eh-add:hover{background:var(--eh-maroon);color:#fff}
.eh-add:disabled{border-color:#ddd;color:#9e9e9e;background:#f5f5f5;cursor:not-allowed}
.eh-step{flex:1;height:40px;display:flex;align-items:center;justify-content:space-between;border-radius:10px;background:var(--eh-maroon);color:#fff}
.eh-step span{font:600 14px/1 var(--eh-ui)}
.eh-step button{width:40px;height:40px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:13px}
.eh-go-cart{width:40px;height:40px;flex:0 0 40px;border:1.5px solid var(--eh-maroon);border-radius:10px;background:#fff;color:var(--eh-maroon);cursor:pointer}

body.eh-browse .results-info{padding:40px 20px;border:1px dashed #e3cfae;border-radius:14px;background:#fffaf2;text-align:center;font-size:16px;color:var(--eh-text)}
body.eh-browse .category-description{margin-top:40px;padding:22px 24px;border:1px solid var(--eh-line);border-radius:14px;background:#fffaf4;color:var(--eh-text);font-size:15.5px;line-height:1.75}

/* ---------- filter panel ---------- */
body.eh-browse .ks-filter-panel{font-family:var(--eh-ui)}
body.eh-browse .ks-filter-title{font:600 20px/1.2 var(--eh-ui);color:var(--eh-ink)}
body.eh-browse .ks-filter-group h4{font:600 13px/1.2 var(--eh-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--eh-gold)}
body.eh-browse .ks-checklist label{font-size:15px;color:var(--eh-text)}
body.eh-browse .ks-checklist input{accent-color:var(--eh-maroon)}
body.eh-browse .ks-btn-primary{background:var(--eh-maroon) !important;border-color:var(--eh-maroon) !important;color:#fff !important}
body.eh-browse .ks-btn-ghost{color:var(--eh-maroon) !important;border-color:#e3cfae !important}

/* ---------- responsive ---------- */
@media (max-width:1024px){ body.eh-browse .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:768px){
  body.eh-browse .search-container{padding:12px 12px 32px}
  body.eh-browse .search-header h1{font-size:24px !important}
  body.eh-browse .ks-controls-row{margin-top:10px;padding:8px 0}
  body.eh-browse .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .eh-pcard-media{border-radius:10px}
  body.eh-browse .eh-pcard .product-title{font-size:14px}
  body.eh-browse .eh-pcard .price-row{font-size:15.5px}
  body.eh-browse .eh-pcard .price-row s,.eh-off{font-size:12.5px}
  .eh-chip{height:30px;font-size:12.5px;padding:0 8px}
  .eh-add,.eh-step,.eh-step button,.eh-go-cart{height:38px}
  .eh-add{font-size:13.5px;gap:6px}
  .eh-go-cart{width:38px;flex-basis:38px}
  .eh-step button{width:34px}
  .eh-step span{font-size:13px}
}

/* ---------- v3 polish: rating, swatches, card ---------- */
.eh-rating{display:flex;align-items:center;gap:5px;font:500 13px/1 var(--eh-ui);color:var(--eh-text)}
.eh-rating b{font-weight:600;color:var(--eh-ink)}
.eh-rate-cnt{color:var(--eh-muted)}
.eh-stars{--r:100%;position:relative;display:inline-block;font-size:14px;line-height:1;letter-spacing:1px;color:#e2d8ca;white-space:nowrap}
.eh-stars::before{content:"\2605\2605\2605\2605\2605"}
.eh-stars::after{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;width:var(--r);overflow:hidden;color:#f59e0b}

/* colour swatches (no text) */
.eh-opt[data-group="color"]{gap:8px;align-items:center}
.eh-chip.eh-swatch{
  --sw:#d8cfc4;width:24px;min-width:24px;height:24px;padding:0;border:0;border-radius:50%;
  background:transparent;box-shadow:none;position:relative;
}
.eh-chip.eh-swatch span{
  position:absolute;inset:3px;border-radius:50%;
  background:var(--sw);background-image:var(--sw-img,none);background-size:cover;background-position:center top;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
}
.eh-chip.eh-swatch:hover{border:0;box-shadow:0 0 0 1px #cbbfb2}
.eh-chip.eh-swatch.is-on{background:transparent;box-shadow:0 0 0 2px var(--eh-maroon)}

/* card polish */
body.eh-browse .eh-pcard{padding:8px;border-radius:16px;transition:box-shadow .25s ease,transform .25s ease}
body.eh-browse .eh-pcard:hover{box-shadow:0 14px 34px rgba(60,20,10,.10);transform:translateY(-2px)}
.eh-pcard-media{border-radius:12px}
.eh-pcard-media::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(to top,rgba(0,0,0,.10),transparent);pointer-events:none}
body.eh-browse .eh-pcard .eh-pcard-media img{transition:transform .5s ease,opacity .2s ease}
body.eh-browse .eh-pcard .product-card-body{gap:7px;padding:12px 4px 4px}
body.eh-browse .eh-pcard .product-title{font-size:15px;font-weight:500}
body.eh-browse .eh-pcard .price-row{font-size:17px}
.eh-off{color:#1e7a46;font-weight:600}
.eh-chip-size{height:30px;min-width:36px;border-radius:8px}
.eh-add{border-radius:10px}
@media (max-width:768px){
  body.eh-browse .eh-pcard{padding:0}
  body.eh-browse .eh-pcard:hover{box-shadow:none;transform:none}
  .eh-stars{font-size:12.5px}
  .eh-rating{font-size:12.5px}
  body.eh-browse .eh-pcard .price-row{font-size:15.5px}
}

/* ---------- filter drawer (v2) ---------- */
body.eh-browse .eh-filter-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--eh-maroon);color:#fff;font:600 12px/1 var(--eh-ui)}
body.eh-browse .ks-filter-panel{width:380px;left:-400px;background:#fff}
body.eh-browse .ks-filter-panel.show{left:0}
body.eh-browse .ks-filter-head{padding:16px 20px;border-bottom:1px solid var(--eh-line)}
body.eh-browse .ks-filter-title{font:600 20px/1.2 var(--eh-ui);color:var(--eh-ink)}
body.eh-browse .ks-filter-close{width:36px;height:36px;border-radius:50%;background:#f6efe5;color:var(--eh-ink);font-size:16px}
body.eh-browse .ks-filter-body{padding:4px 20px}
.eh-fg{margin:0 !important;padding:14px 0;border-bottom:1px solid var(--eh-line)}
.eh-fg:last-child{border-bottom:0}
.eh-fg > summary{
  display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;
  font:600 13px/1.2 var(--eh-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--eh-ink);
}
.eh-fg > summary::-webkit-details-marker{display:none}
.eh-fg > summary span{flex:1}
.eh-fg > summary em{min-width:20px;height:20px;display:grid;place-items:center;padding:0 6px;border-radius:999px;background:#fff0f3;color:var(--eh-maroon);font:600 11.5px/1 var(--eh-ui);font-style:normal;letter-spacing:0}
.eh-fg > summary::after{content:"\f078";font:900 11px/1 "Font Awesome 6 Free";color:var(--eh-muted);transition:transform .2s}
.eh-fg[open] > summary::after{transform:rotate(180deg)}
.eh-fg > div{margin-top:12px}

.eh-fg-list{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow:auto}
.eh-check{display:flex;align-items:center;gap:10px;padding:7px 2px;cursor:pointer;color:var(--eh-text);font:400 15px/1.3 var(--eh-ui)}
.eh-check input{width:18px;height:18px;margin:0;accent-color:var(--eh-maroon);flex:0 0 18px}
.eh-check:hover span{color:var(--eh-maroon)}

.eh-fg-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}
.eh-swatch-opt{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;text-align:center}
.eh-swatch-opt input{position:absolute;opacity:0;pointer-events:none}
.eh-swatch-opt i{
  --sw:#d8cfc4;width:36px;height:36px;border-radius:50%;background:var(--sw);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 3px #fff,0 0 0 4px transparent;transition:box-shadow .15s;position:relative;
}
.eh-swatch-opt input:checked + i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 3px #fff,0 0 0 5px var(--eh-maroon)}
.eh-swatch-opt input:checked + i::after{content:"\f00c";position:absolute;inset:0;display:grid;place-items:center;font:900 13px/1 "Font Awesome 6 Free";color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.eh-swatch-opt span{font:400 12.5px/1.2 var(--eh-ui);color:var(--eh-text);word-break:break-word}

.eh-fg-pills{display:flex;flex-wrap:wrap;gap:8px}
.eh-pill{cursor:pointer}
.eh-pill input{position:absolute;opacity:0;pointer-events:none}
.eh-pill span{
  display:inline-grid;place-items:center;min-width:46px;height:38px;padding:0 12px;border:1px solid #d9cfc2;border-radius:10px;
  color:var(--eh-ink);font:500 14px/1 var(--eh-ui);transition:all .15s;
}
.eh-pill:hover span{border-color:var(--eh-maroon)}
.eh-pill input:checked + span{border-color:var(--eh-maroon);background:var(--eh-maroon);color:#fff}

.eh-price-row{display:flex;align-items:flex-end;gap:10px}
.eh-price-row label{flex:1;display:flex;flex-direction:column;gap:4px}
.eh-price-row small{color:var(--eh-muted);font:500 12px/1 var(--eh-ui)}
body.eh-browse .eh-price-row input{height:42px;padding:0 12px;border:1px solid #d9cfc2;border-radius:10px;font:500 15px/1 var(--eh-ui);color:var(--eh-ink);width:100%;box-sizing:border-box}
body.eh-browse .eh-price-row input:focus{outline:none;border-color:var(--eh-maroon);box-shadow:0 0 0 3px rgba(143,12,45,.10)}
.eh-price-dash{padding-bottom:11px;color:var(--eh-muted)}

body.eh-browse .ks-filter-footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--eh-line);box-shadow:0 -10px 20px rgba(60,20,10,.06)}
body.eh-browse .ks-btn{height:46px;border-radius:12px;font:600 15px/1 var(--eh-ui)}
@media (max-width:768px){
  body.eh-browse .ks-filter-panel{width:92vw;left:-94vw}
  body.eh-browse .ks-filter-panel.show{left:0}
  .eh-fg-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}
}
body.eh-browse.has-bottom-nav .ks-filter-footer{bottom:0}   /* drawer sits above the bottom nav, so no lift needed */

/* ---------- colour filter: list with dot + count ---------- */
.eh-color-filter{display:flex;flex-direction:column;gap:0}
.eh-color-filter.is-collapsed .is-extra{display:none}
.eh-color-filter [hidden]{display:none !important}
.eh-color-search{position:relative;margin-bottom:8px}
.eh-color-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--eh-muted);font-size:13px}
body.eh-browse .eh-color-search input{width:100%;height:38px;padding:0 12px 0 34px;border:1px solid #e3d6c2;border-radius:10px;font:400 14px/1 var(--eh-ui);color:var(--eh-ink);box-sizing:border-box;background:#fffdf9}
body.eh-browse .eh-color-search input:focus{outline:none;border-color:var(--eh-maroon)}
.eh-color-row{gap:10px}
.eh-color-row .eh-dot{--sw:#d8cfc4;width:16px;height:16px;flex:0 0 16px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(0,0,0,.10)}
.eh-color-row .eh-dot.is-light{box-shadow:inset 0 0 0 1px #cfc6ba}
.eh-color-row .eh-dot.is-multi{background:conic-gradient(#e53935,#fb8c00,#fdd835,#43a047,#1e88e5,#8e24aa,#e53935)}
.eh-color-row span{flex:0 1 auto}
.eh-color-row small{color:#9d9087;font:400 13px/1 var(--eh-ui)}
.eh-more{align-self:flex-start;margin-top:6px;padding:4px 2px;border:0;background:none;color:var(--eh-maroon);font:500 14.5px/1 var(--eh-ui);cursor:pointer}
.eh-more:hover{text-decoration:underline}

/* ---------- v4: compact card that fits one laptop screen + rating badge on photo ---------- */
.eh-pcard-media{aspect-ratio:10/11}
.eh-rate-badge{
  position:absolute;left:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;
  padding:4px 8px;border-radius:6px;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(0,0,0,.12);
  color:#231815;font:600 12.5px/1 var(--eh-ui);backdrop-filter:blur(4px);
}
.eh-rate-badge i{color:#1e7a46;font-size:10px}
.eh-rate-badge em{font-style:normal;font-weight:500;color:#6b5a50;padding-left:6px;margin-left:2px;border-left:1px solid #d8cdc1}
body.eh-browse .eh-pcard .product-card-body{gap:6px;padding:10px 2px 2px}
body.eh-browse .eh-pcard .product-title{-webkit-line-clamp:1;font-size:15px}
body.eh-browse .eh-pcard .price-row{font-size:16.5px}
.eh-opts-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:0}
.eh-opts-row:empty{display:none}
.eh-opts-row .eh-opt{gap:5px}
.eh-opts-row .eh-opt[data-group="color"]{gap:6px}
.eh-opts-row .eh-opt[data-group="color"] + .eh-opt[data-group="size"]{padding-left:12px;border-left:1px solid var(--eh-line)}
.eh-chip.eh-swatch{width:22px;min-width:22px;height:22px}
.eh-chip.eh-chip-size{height:26px;min-width:30px;padding:0 7px;border-radius:7px;font-size:12.5px}
.eh-cart-slot{padding-top:2px}
.eh-add,.eh-step,.eh-step button,.eh-go-cart{height:38px}
.eh-go-cart{width:38px;flex-basis:38px}
body.eh-browse .card-grid{gap:22px 16px}
body.eh-browse .eh-pcard{padding:6px}
@media (max-width:768px){
  .eh-pcard-media{aspect-ratio:4/5}
  .eh-rate-badge{left:8px;bottom:8px;padding:3px 6px;font-size:11.5px}
  .eh-opts-row .eh-opt[data-group="color"] + .eh-opt[data-group="size"]{padding-left:0;border-left:0}
  .eh-opts-row{gap:6px 8px}
  body.eh-browse .eh-pcard{padding:0}
}

/* ---------- v5: many colours / sizes without growing the card ---------- */
.eh-opts-row{flex-wrap:nowrap;min-width:0}
.eh-opts-row .eh-opt{flex-wrap:nowrap;min-width:0}
.eh-opts-row.is-stacked{flex-direction:column;align-items:stretch;gap:7px}
.eh-opts-row.is-stacked .eh-opt[data-group="color"] + .eh-opt[data-group="size"]{padding-left:0;border-left:0}
/* colours: 5 dots + "+N" */
.eh-opt[data-group="color"] .eh-swatch.is-extra{display:none}
.eh-opt[data-group="color"].is-open{flex-wrap:wrap}
.eh-opt[data-group="color"].is-open .eh-swatch.is-extra{display:inline-block}
.eh-sw-more{
  height:22px;min-width:26px;padding:0 6px;border:1px solid #d9cfc2;border-radius:999px;background:#fff;
  color:var(--eh-text);font:600 11.5px/1 var(--eh-ui);cursor:pointer;flex:0 0 auto;
}
.eh-sw-more:hover{border-color:var(--eh-maroon);color:var(--eh-maroon)}
/* sizes: always one line, swipe sideways when there are many */
.eh-opt[data-group="size"]{
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:1px;
  -webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);
}
.eh-opt[data-group="size"]::-webkit-scrollbar{display:none}
.eh-opt[data-group="size"] .eh-chip{flex:0 0 auto}
/* no fade when the sizes fit */
.eh-opts-row:not(.is-stacked) .eh-opt[data-group="size"],
.eh-opt[data-group="size"].is-fit{-webkit-mask-image:none;mask-image:none}

/* ---------- v6: mobile – colour & size on separate rows, clean Filter | Sort bar ---------- */
@media (max-width:768px){
  .eh-opts-row,.eh-opts-row.is-stacked{flex-direction:column;align-items:flex-start;gap:8px}
  .eh-opts-row .eh-opt[data-group="color"] + .eh-opt[data-group="size"]{padding-left:0;border-left:0}
  .eh-opts-row .eh-opt[data-group="size"]{max-width:100%}

  body.eh-browse .ks-controls-row,
  body.eh-browse .ks-controls-row.is-fixed{
    display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;gap:10px !important;
    margin:10px -12px 0 !important;padding:10px 12px !important;border:0 !important;border-bottom:1px solid var(--eh-line) !important;
    background:#fff !important;box-shadow:0 8px 14px -12px rgba(60,20,10,.25) !important;box-sizing:border-box;
  }
  body.eh-browse .ks-controls-row .ks-filter-toggle-btn{
    width:100% !important;margin:0 !important;justify-content:center;height:44px !important;
    border-radius:12px !important;font-size:15px !important;
  }
  body.eh-browse .ks-controls-row .sort-form{display:block !important;width:100% !important;margin:0 !important;justify-self:stretch !important}
  body.eh-browse .ks-controls-row .sort-label{display:none}
  body.eh-browse .ks-controls-row .sort-select{
    width:100% !important;height:44px !important;border-radius:12px !important;font-size:15px !important;
    padding:0 36px 0 14px !important;text-overflow:ellipsis;
  }
}

/* ---------- v6: all colours in one row that scrolls sideways (no "+N") ---------- */
.eh-opts-row .eh-opt[data-group="color"]{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:3px 2px 4px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.eh-opts-row .eh-opt[data-group="color"]::-webkit-scrollbar{display:none}
.eh-opts-row .eh-opt[data-group="color"] .eh-swatch{flex:0 0 auto;scroll-snap-align:start}
.eh-opts-row .eh-opt[data-group="color"] .eh-swatch.is-extra{display:inline-block}
.eh-opts-row .eh-opt[data-group="color"].is-many{padding-right:18px;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent)}
/* mouse / trackpad screens: a thin scrollbar so colours can be reached without a touch screen */
@media (hover:hover) and (pointer:fine){
  .eh-opts-row .eh-opt[data-group="color"].is-many{scrollbar-width:thin;scrollbar-color:#d9c3a3 transparent;padding-bottom:6px}
  .eh-opts-row .eh-opt[data-group="color"].is-many::-webkit-scrollbar{display:block;height:4px}
  .eh-opts-row .eh-opt[data-group="color"].is-many::-webkit-scrollbar-thumb{background:#d9c3a3;border-radius:4px}
}

