/* ==========================================================================
   HERO BANNER CAROUSEL & FLOATING PINNED LOGO WITH SLIM OFFER BAR
   Ultra-HD Image Rendering & Urdu Descenders Padding Fix
   ========================================================================== */

/* Top Hero Banner Container (Full width, no navbar above it) */
.hero-banner-wrap{
  position:relative;
  width:100%;
  overflow:visible; /* Allows logo to hang/overlap at bottom center */
  background:#1E1B18;
  margin-bottom:12px;
}

.hero-carousel-container{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:0 0 24px 24px;
  box-shadow:0 8px 24px rgba(0,0,0,0.18);
}

.hero-carousel{
  display:flex;
  width:100%;
  transition:transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  touch-action:pan-y;
}

.carousel-slide{
  min-width:100%;
  position:relative;
  cursor:pointer;
  aspect-ratio:16/9;
  max-height:240px;
  background:#111;
}

.carousel-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:crisp-edges;
  filter:contrast(1.04) brightness(1.02);
}

.carousel-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.28) 60%, transparent 100%);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:14px 16px 24px;
  color:#fff;
}

.carousel-tag{
  align-self:flex-start;
  background:var(--orange);
  color:#fff;
  font-size:10px;
  font-weight:900;
  padding:3px 9px;
  border-radius:10px;
  margin-bottom:4px;
  text-transform:uppercase;
  letter-spacing:0.5px;
  box-shadow:0 2px 6px rgba(0,0,0,0.3);
}

.carousel-title{
  font-size:16.5px;
  font-weight:900;
  text-shadow:0 2px 4px rgba(0,0,0,0.7);
  letter-spacing:-0.2px;
}

.carousel-subtitle{
  font-size:12px;
  opacity:0.95;
  margin-top:2px;
  text-shadow:0 1px 3px rgba(0,0,0,0.6);
}

.carousel-dots{
  position:absolute;
  bottom:8px;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  gap:6px;
  z-index:10;
}

.carousel-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(255,255,255,0.45);
  transition:all 0.25s ease;
  cursor:pointer;
}

.carousel-dot.active{
  background:var(--orange);
  width:20px;
  border-radius:10px;
}

/* ==========================================================================
   CENTER-DOWN OVERLAPPING LOGO (PINNED ON SCROLL)
   ========================================================================== */
.hero-logo-anchor{
  position:absolute;
  bottom:-40px;
  left:50%;
  transform:translateX(-50%);
  z-index:26;
  transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.main-brand-logo{
  width:84px;
  height:84px;
  border-radius:50%;
  border:4px solid #fff;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,0.22);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  cursor:pointer;
  transition:transform 0.25s ease, width 0.25s ease, height 0.25s ease;
}

.main-brand-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Fixed Centered Logo in Screen Header */
.hero-logo-anchor.is-pinned{
  position:fixed;
  top:6px;
  bottom:auto;
  left:50%;
  transform:translateX(-50%);
  z-index:42;
}

.hero-logo-anchor.is-pinned .main-brand-logo{
  width:46px;
  height:46px;
  border:2.5px solid var(--orange);
  box-shadow:0 3px 10px rgba(0,0,0,0.18);
}

/* ==========================================================================
   SLIM OFFER BAR / TEXT BAR
   FIXED: Bottom clipping of Urdu Nastaliq letters resolved with proper padding
   ========================================================================== */
.slim-offer-bar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  max-width:540px;
  margin:0 auto;
  min-height:64px; /* Dynamic height instead of fixed 58px */
  background:rgba(255,255,255,0.98);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
  box-shadow:0 3px 14px rgba(0,0,0,0.07);
  z-index:35;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transform:translateY(-100%);
  opacity:0;
  transition:transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
  pointer-events:none;
}

.slim-offer-bar.visible{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}

.slim-bar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:5px 14px 2px;
  height:38px;
}

.slim-bar-left, .slim-bar-right{
  flex:1;
  display:flex;
  align-items:center;
}
.slim-bar-right{justify-content:flex-end}

/* Offer Marquee / Running Ticker (Cleaned for Nastaliq descenders) */
.slim-offer-ticker{
  background:linear-gradient(90deg, #F5A12E 0%, #D97706 100%);
  color:#fff;
  font-size:11.5px;
  font-weight:700;
  text-align:center;
  padding:3px 10px 4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:0.2px;
  line-height:1.6;
}

/* Urdu Language Specific Clearance for Nastaliq letters like ے, ر, ی */
body.ur .slim-offer-bar{
  min-height:76px;
  height:auto;
  padding-bottom:3px;
}

body.ur .slim-offer-ticker{
  font-size:13px;
  line-height:2.2 !important; /* Essential for Nastaliq vertical descenders */
  padding:4px 14px 6px;
  overflow:visible !important; /* Ensures descenders never get cut off at bottom */
}

/* Slim Buttons */
.slim-btn{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:5px 12px;
  font-size:12px;
  font-weight:700;
  color:var(--ink);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.slim-cart-btn{
  position:relative;
  background:var(--orange-light);
  border-color:var(--orange);
  color:var(--orange-d);
}
.slim-cart-count{
  position:absolute;
  top:-5px;
  inset-inline-end:-5px;
  background:var(--danger);
  color:#fff;
  font-size:9.5px;
  font-weight:900;
  border-radius:10px;
  padding:1px 5px;
  display:none;
}
