/* 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;
}

/* -------------------------------------------------------
   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: 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 {
    padding-top: 130px; /* Approx header + nav 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:8px;
  background:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  display:none;                       /* shown from JS               */
  overflow:hidden;                    /* keep inner list clipped     */
  position:absolute;
  top:100%;
  left:0;
  z-index:3000;                       /* sits above header           */
}

/* 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 1fr 80px;   /* thumb | title | price */
    column-gap:12px;
    align-items:center;
    padding:10px 12px 10px 12px;
    /* NEW → gap for the orange badge so price stays visible */
    padding-right:90px;                    /* ≈ badge-width + 12 px */
    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{
    text-align:right;
    font-weight:600;
    white-space:nowrap;
    margin-right:6px;      /* NEW – micro-gap before the badge */
}
.ks-suggest-price s{               /* strike-through MRP */
  font-weight:400;
  font-size:0.80rem;
  margin-left:4px;
  color:#999;
}

/* %-OFF badge (kept absolute) ------------------------------------- */
.ks-suggest-badge{
  position:absolute;
  top:50%;right:10px;
  transform:translateY(-50%);
  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 */
  }

  /* --- 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 {
  -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-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;
}


