/* Aishariya prototype — glue for the spliced-in sections + the gendered feed.
 *
 * Spine: priyangaa (hero shell, bento, footer, header) — its site.css carries
 * the type scale, palette and reveal keyframes.
 * Spliced: a gender switcher, then a two-pane feed (Women = sarees from
 * priyangaa, Men = panjabis from ilyn) covering categories + product rails +
 * banner. Bento onward is shared. Every spliced component is scoped here in
 * priyangaa's type / palette / spacing so no foreign stylesheet is loaded.
 */

@font-face { font-family: "Futura Md BT"; src: url("../fonts/FuturaMDBT-c60176cd.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "Futura Bk BT"; src: url("../fonts/FUTUBK-cb1e3d3d.ttf") format("truetype"); font-display: swap; }

:root {
  --aish-green: #2a4540;
  --aish-maroon: #86271a;
  --aish-gold: #fbca09;
  --aish-cream: #fffae9;
  --aish-ink: #0f0f0f;
  --aish-pad-desk: 60px;
  --aish-pad-mob: 32px;
  --aish-head: "Futura Md BT", "Tenor Sans", serif;
  --aish-body: "Futura Bk BT", Montserrat, sans-serif;
  --aish-radius: 4px;
  --aish-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------------------------------------------------------------- hero */
.hero-slider__static { position: relative; width: 100%; }
.hero-slider__static .hero-slider__slide { display: block; }

/* ---------------------------------- image strips (pattern / colors) */
.aish-strip { padding: var(--aish-pad-desk) 0; }
.aish-strip--light { background: #fff; }
.aish-strip--cream { background: var(--aish-cream); }
.aish-strip__head { text-align: center; margin-bottom: 28px; padding: 0 20px; }
.aish-strip__title {
  margin: 0;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: clamp(18px, 2vw, 26px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--aish-green);
}
.aish-strip__row {
  display: flex;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* old Edge */
}
.aish-strip__row::-webkit-scrollbar { display: none; }   /* WebKit */
.aish-strip__card {
  flex: 0 0 auto;
  text-decoration: none;
}
.aish-strip__media { display: block; width: 100%; }
.aish-strip__media img { display: block; transition: transform 0.7s var(--aish-ease); }

/* --- Shop by Pattern : mirror wforwoman desktop exactly.
 *     The PNGs carry their own transparent padding — that is what makes the
 *     staggered white gaps in the reference. So they are shown at natural
 *     height, never cropped, five across and centred. --- */
.aish-strip--pattern .aish-strip__row {
  justify-content: center;
  gap: 0;
  overflow-x: hidden;
  padding: 0 20px;
}
.aish-strip--pattern .aish-strip__card { flex: 0 0 20%; max-width: 15%; transition: transform 0.3s ease; }
.aish-strip--pattern .aish-strip__media { overflow: visible; background: none; }
.aish-strip--pattern .aish-strip__media img { width: 100%; height: auto; }
.aish-strip--pattern .aish-strip__label {
  display: block;
  margin-top: 4px;
  text-align: center;
  font-family: var(--aish-head);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #333;
}

/* --- Shop by Colors : fixed cards, horizontal touch-scroll, no scrollbar --- */
.aish-strip--colors .aish-strip__row {
  gap: 28px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 6px clamp(16px, 3vw, 48px) 10px;
}
.aish-strip--colors .aish-strip__card {
  width: 280px;
  scroll-snap-align: start;
  transition: transform 0.35s var(--aish-ease), box-shadow 0.35s ease;
}
.aish-strip--colors .aish-strip__media {
  width: 280px;
  height: 420px;
  overflow: hidden;
  border-radius: 4px;
  background: #f7f3ee;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.aish-strip--colors .aish-strip__media img { width: 100%; height: 100%; object-fit: cover; }
.aish-strip--colors .aish-strip__card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12); }
.aish-strip--colors .aish-strip__card:hover .aish-strip__media img { transform: scale(1.04); }

@media (max-width: 767px) {
  .aish-strip { padding: var(--aish-pad-mob) 0; }
  /* pattern falls back to a snap-scroll rail on small screens */
  .aish-strip--pattern .aish-strip__row {
    justify-content: flex-start;
    overflow-x: auto;
    gap: 2px;
    padding: 0 16px;
    scroll-snap-type: x mandatory;
  }
  .aish-strip--pattern .aish-strip__card { flex: 0 0 82%; max-width: 82%; scroll-snap-align: center; }
  .aish-strip--colors .aish-strip__card,
  .aish-strip--colors .aish-strip__media { width: 70vw; }
  .aish-strip--colors .aish-strip__media { height: 105vw; }
}

/* --------------------------------------------------------- categories */
.aish-cats { padding: var(--aish-pad-desk) 0; }
.aish-cats--light { background: #fff; }
.aish-cats--cream { background: var(--aish-cream); }
.aish-cats__head { text-align: center; margin-bottom: 28px; padding: 0 20px; }
.aish-cats__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 0;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: clamp(18px, 2vw, 26px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--aish-green);
}
.aish-cats__title::before,
.aish-cats__title::after {
  content: "";
  flex: 0 1 320px;
  height: 1px;
  background: var(--aish-green);
}
.aish-cats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
.aish-cats__card { position: relative; display: block; overflow: hidden; text-decoration: none; }
.aish-cats__media { position: relative; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; }
.aish-cats__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform 0.6s var(--aish-ease);
}
.aish-cats__card:hover .aish-cats__media img { transform: scale(1.06); }
.aish-cats__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 15, 15, 0.55) 0%, rgba(15, 15, 15, 0) 45%);
  pointer-events: none;
}
.aish-cats__label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  z-index: 1;
  margin: 0;
  text-align: center;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.06em;
  color: #fff;
}

/* ------------------------------------------------------- product rails */
.aish-rail { padding: var(--aish-pad-desk) 0; }
.aish-rail--light { background: #fff; }
.aish-rail--cream { background: var(--aish-cream); }
.aish-rail__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 0 clamp(16px, 3vw, 48px);
  margin-bottom: 28px;
}
.aish-rail__title {
  margin: 0;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: clamp(22px, 2.6vw, 40px);
  line-height: 1.15;
  color: var(--aish-green);
}
.aish-rail__link {
  flex-shrink: 0;
  font-family: var(--aish-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: var(--aish-maroon);
}
.aish-rail__viewport { overflow: hidden; padding: 0 clamp(16px, 3vw, 48px); }
.aish-rail__viewport .swiper-wrapper { display: flex; }
.aish-rail__viewport:not(.swiper-initialized) .swiper-slide {
  flex: 0 0 clamp(60%, 22vw, 22%);
  margin-right: 24px;
}
.aish-card { height: auto; }
.aish-card__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 4px;
  background: #f2ede0;
}
.aish-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.6s ease, transform 0.9s ease;
}
.aish-card__img--back { opacity: 0; }
.aish-card__media:hover .aish-card__img--front { opacity: 0; }
.aish-card__media:hover .aish-card__img--back { opacity: 1; transform: scale(1.04); }
.aish-card__atc {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 16px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 4px;
  background: rgba(20, 20, 20, 0.42);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  font-family: var(--aish-body);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.35s var(--aish-ease), transform 0.35s var(--aish-ease), background 0.3s ease;
}
.aish-card__atc svg { width: 15px; height: 15px; flex: none; }
.aish-card__media:hover .aish-card__atc {
  opacity: 1;
  transform: translateY(0);
}
.aish-card__atc:hover {
  background: rgba(20, 20, 20, 0.56);
}
.aish-card__info { padding: 14px 2px 2px; }
.aish-card__name {
  margin: 0 0 6px;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.3;
  color: var(--aish-ink);
}
.aish-card__name a { color: inherit; text-decoration: none; }
.aish-card__price {
  margin: 0;
  font-family: var(--aish-body);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: var(--aish-green);
}

/* -------------------------------------------------------- new arrivals */
.aish-new { padding: var(--aish-pad-desk) 0; background: #fff; }
.aish-new__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
  margin-bottom: 28px;
  padding: 0 clamp(16px, 3vw, 48px);
}
.aish-new__title {
  margin: 0;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: clamp(20px, 2.2vw, 28px);
  letter-spacing: 0.04em;
  color: #404040;
}
.aish-new__nav { display: flex; align-items: center; gap: 8px; flex: none; }
.aish-new__nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(15, 15, 15, 0.18);
  border-radius: 50%;
  background: #fff;
  color: #404040;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.aish-new__nav-btn svg { width: 16px; height: 16px; }
.aish-new__nav-btn:hover { background: var(--aish-green); border-color: var(--aish-green); color: #fff; }
.aish-new__nav-btn.swiper-button-disabled { opacity: 0.35; cursor: default; pointer-events: none; }
.aish-new__frame { padding: 0 clamp(16px, 3vw, 48px); }
.aish-new__viewport { overflow: hidden; }
.aish-new__viewport .swiper-wrapper { display: flex; }
.aish-new__viewport:not(.swiper-initialized) .swiper-slide {
  flex: 0 0 clamp(58%, 20vw, 20%);
  margin-right: 20px;
}
.aish-new__card { position: relative; height: auto; }
.aish-new__wish {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 25px;
  height: 23px;
  color: rgba(15, 15, 15, 0.55);
  cursor: pointer;
  transition: color 0.25s ease;
}
.aish-new__wish svg { width: 100%; height: 100%; display: block; }
.aish-new__wish:hover { color: var(--aish-maroon); }
.aish-new__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--aish-radius);
  background: #f2ede0;
}
.aish-new__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.aish-new__media:hover img { transform: scale(1.05); }
.aish-new__media:hover .aish-card__atc { opacity: 1; transform: translateY(0); }
.aish-new__info { padding: 14px 2px 2px; }
.aish-new__name {
  margin: 0 0 6px;
  font-family: var(--aish-body);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #404040;
}
.aish-new__name a { color: inherit; text-decoration: none; }
.aish-new__price {
  margin: 0;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: 15px;
  color: #404040;
}

/* -------------------------------------------------------------- banner */
.aish-banner { display: block; background: var(--aish-cream); }
.aish-banner__link { display: block; }
.aish-banner__link img { display: block; width: 100%; height: auto; }
.aish-banner__link img.aish-banner__img--mobile { display: none; }
@media (max-width: 767px) {
  .aish-banner__link img.aish-banner__img--desktop { display: none; }
  .aish-banner__link img.aish-banner__img--mobile { display: block; }
}

/* ------------------------------------------------------------- lehenga saga */
.aish-saga { padding: var(--aish-pad-desk) 0; background: #fff; text-align: center; }
.aish-saga__title {
  margin: 0 0 28px;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: clamp(20px, 2.2vw, 28px);
  letter-spacing: 0.04em;
  color: var(--aish-green);
}
.aish-saga__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: space-around;
  padding: 0 clamp(16px, 3vw, 48px);
}
.aish-saga__main { position: relative; width: 100%; }
.aish-saga__subs { width: 100%; }
.aish-saga__subrow { display: grid; grid-template-columns: auto auto; gap: 1rem; }
.aish-saga__sub { position: relative; width: 100%; overflow: hidden; }
@media (min-width: 768px) {
  .aish-saga__main { width: 49%; }
  .aish-saga__subs { width: 49.3%; }
}
.aish-saga__zoom { overflow: hidden; }
.aish-saga__zoom img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.aish-saga__zoom:hover img { transform: scale(1.2); }
.aish-saga__maintext,
.aish-saga__subtext {
  position: absolute;
  bottom: 10%;
  left: 0;
  right: 0;
  z-index: 5;
  width: 100%;
  text-align: center;
  font-family: "Futura Md BT", var(--aish-head);
  font-size: 0.75rem;
  font-weight: 400;
  color: #fff;
}
@media (min-width: 768px) { .aish-saga__maintext { font-size: 1rem; } .aish-saga__subtext { font-size: 1rem; } }
@media (min-width: 1024px) { .aish-saga__maintext, .aish-saga__subtext { font-size: 0.875rem; } }
.aish-saga__maintext a,
.aish-saga__subtext a { color: rgb(195, 171, 153); text-decoration: none; cursor: pointer; }
.aish-saga__maintext a:hover,
.aish-saga__subtext a:hover { color: rgb(214, 194, 180); }

/* ---------------------------------------------------------------- bento */
.aish-bento { padding: 48px 0; min-height: 200px; background: #f7f2eb; }
.aish-bento__container { padding: 0 clamp(16px, 3vw, 48px); }
.aish-bento__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 400px;
  gap: 16px;
  grid-auto-flow: dense;
}
.aish-bento__item { position: relative; box-sizing: border-box; }
.aish-bento__item--normal { grid-row: span 1; }
.aish-bento__item--tall { grid-row: span 2; }
.aish-bento__card { position: relative; display: block; width: 100%; height: 100%; text-align: center; text-decoration: none; }
.aish-bento__zoom { position: relative; width: 100%; height: 100%; overflow: hidden; }
.aish-bento__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.aish-bento__zoom:hover .aish-bento__img { transform: scale(1.2); }
.aish-bento__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10%;
  z-index: 5;
  width: 100%;
  text-align: center;
  font-family: "Futura Md BT", var(--aish-head);
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
}
@media (max-width: 968px) {
  .aish-bento__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 350px; gap: 12px; }
}
@media (max-width: 767px) {
  .aish-bento { padding: 32px 0; }
  .aish-bento__grid { grid-auto-rows: 300px; gap: 12px; }
  .aish-bento__item--tall { grid-area: span 1 / span 2; }
  .aish-bento__caption { font-size: 0.875rem; }
}

/* ------------------------------------------------- new arrivals promo grid */
.aish-newarr { padding: var(--aish-pad-desk) 0; background: #fff; }
.aish-newarr__inner {
  display: flex;
  align-items: stretch;
  gap: 20px;
  padding: 0 clamp(16px, 3vw, 48px);
}
.aish-newarr__promo {
  position: relative;
  display: flex;
  flex: 0 0 32%;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  border-radius: var(--aish-radius);
}
.aish-newarr__promo img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.aish-newarr__shopbtn {
  position: relative;
  z-index: 2;
  margin-bottom: 40px;
  padding: 14px 32px;
  border-radius: var(--aish-radius);
  background: var(--aish-gold);
  color: var(--aish-ink);
  font-family: var(--aish-body);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.aish-newarr__shopbtn:hover { opacity: 0.85; }
.aish-newarr__products { flex: 1 1 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-content: start; }
.aish-newarr__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1080 / 1403;
  overflow: hidden;
  border-radius: var(--aish-radius);
  background: #f2ede0;
}
.aish-newarr__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.aish-newarr__img--front {
  z-index: 2;
  clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
  -webkit-clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
  transition: clip-path 0.6s cubic-bezier(0.75, -0.01, 0, 1.22), -webkit-clip-path 0.6s cubic-bezier(0.75, -0.01, 0, 1.22);
  will-change: clip-path;
}
.aish-newarr__img--back { z-index: 1; }
.aish-newarr__media:hover .aish-newarr__img--front {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
.aish-newarr__media:hover .aish-card__atc { opacity: 1; transform: translateY(0); }
.aish-newarr__badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}
.aish-newarr__badge {
  padding: 3px 6px;
  font-family: var(--aish-body);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
}
.aish-newarr__badge--sold { background: var(--aish-maroon); }
.aish-newarr__badge--save { background: var(--aish-green); }
.aish-newarr__info { padding: 12px 2px 2px; }
.aish-newarr__name {
  margin: 0 0 4px;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.3;
  color: var(--aish-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aish-newarr__name a { color: inherit; text-decoration: none; }
.aish-newarr__price {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  font-family: var(--aish-body);
  font-size: 12px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.aish-newarr__price-new { font-weight: 600; color: var(--aish-ink); }
.aish-newarr__price s { font-weight: 400; font-size: 11px; color: rgba(15, 15, 15, 0.4); }
@media (max-width: 1024px) {
  .aish-newarr__products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .aish-newarr { padding: var(--aish-pad-mob) 0; }
  .aish-newarr__inner { flex-direction: column; }
  .aish-newarr__promo { aspect-ratio: 16 / 9; flex: none; }
}

/* --------------------------------------------------- seasons streaming banner */
.aish-seasons { padding: var(--aish-pad-desk) 0; background: #fff; }
.aish-seasons__banner { position: relative; padding: 0 clamp(16px, 3vw, 48px); }
.aish-seasons__viewport { position: relative; overflow: hidden; aspect-ratio: 1920 / 620; }
.aish-seasons__viewport .swiper-wrapper { transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important; }
.aish-seasons__viewport .swiper-wrapper { height: 100%; }
.aish-seasons__viewport .swiper-slide { height: 100%; }
.aish-seasons__slide { display: block; width: 100%; height: 100%; }
.aish-seasons__slide picture,
.aish-seasons__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) {
  .aish-seasons__viewport { aspect-ratio: 4 / 5; }
}
.aish-seasons__nav {
  position: absolute;
  right: calc(clamp(16px, 3vw, 48px) + 16px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.aish-seasons__nav-btn {
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  cursor: pointer;
  transition: background 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.aish-seasons__nav-btn svg { width: 18px; height: 18px; }
.aish-seasons__nav-btn:hover { background: rgba(0, 0, 0, 0.8); transform: scale(1.08); }
.aish-seasons__nav-btn:active { transform: scale(0.92); }
.aish-seasons__nav-btn.swiper-button-disabled { opacity: 0.4; cursor: default; }

/* --------------------------------------------------------- shop by category */
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 400; src: url("../fonts/XRXV3I6Li01BKofINeaBTMnFcQ-7792af05.woff2") format("woff2"); font-display: swap; }

.aish-shopcat { font-family: Nunito, sans-serif; background: #fff; }
.aish-shopcat { padding: var(--aish-pad-desk) 0; }
.aish-shopcat__title {
  margin: 0 0 15px;
  padding: 0 clamp(16px, 3vw, 48px);
  text-align: left;
  font-family: Nunito, sans-serif;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgb(51, 51, 51);
}
.aish-shopcat__frame { padding: 0 clamp(16px, 3vw, 48px); }
.aish-shopcat__viewport { position: relative; overflow: hidden; }
.aish-shopcat__viewport .swiper-wrapper { display: flex; }
.aish-shopcat__viewport:not(.swiper-initialized) .swiper-slide { flex: 0 0 clamp(46%, 15vw, 15%); margin-right: 16px; }
.aish-shopcat__box {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  text-decoration: none;
}
.aish-shopcat__box img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aish-shopcat__label {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  font-family: Nunito, sans-serif;
  font-weight: 500;
  font-size: 20px;
  color: #fff;
  white-space: nowrap;
}
.aish-shopcat__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.6);
  color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}
.aish-shopcat__arrow svg { width: 16px; height: 16px; }
.aish-shopcat__arrow--prev { left: 10px; }
.aish-shopcat__arrow--next { right: 10px; }
.aish-shopcat__arrow.swiper-button-disabled { background: rgba(255, 255, 255, 0.2); cursor: default; }
@media (max-width: 767px) {
  .aish-shopcat { padding: var(--aish-pad-mob) 0; }
  .aish-shopcat__title { font-size: 18px; }
  .aish-shopcat__label { font-size: 16px; }
}

/* --------------------------------------------------------- watch and shop */
.aish-watch { padding: var(--aish-pad-desk) 0; background: #fff; }
.aish-watch__title {
  margin: 0 0 20px;
  padding: 0 clamp(16px, 3vw, 48px);
  text-align: left;
  font-family: var(--aish-head);
  font-weight: 400;
  font-size: 23px;
  color: rgb(64, 64, 64);
}
.aish-watch__row { position: relative; padding: 0 clamp(16px, 3vw, 48px); }
.aish-watch__viewport { overflow: hidden; }
.aish-watch__viewport .swiper-wrapper { display: flex; }
.aish-watch__viewport:not(.swiper-initialized) .swiper-slide { flex: 0 0 clamp(58%, 20vw, 220px); margin-right: 16px; }
.aish-watch__card {
  position: relative;
  aspect-ratio: 9 / 16;
  border-radius: 8px;
  overflow: hidden;
  background: #f2f2f2;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.aish-watch__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.aish-watch__wish {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.85);
  color: rgba(15, 15, 15, 0.6);
  cursor: pointer;
  transition: color 0.25s ease, transform 0.25s ease;
}
.aish-watch__wish svg { width: 15px; height: 16px; }
.aish-watch__wish:hover { transform: scale(1.08); }
.aish-watch__wish.is-liked { color: var(--aish-maroon); }
.aish-watch__wish.is-liked svg { fill: var(--aish-maroon); }
.aish-watch__actions {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0));
}
.aish-watch__atc,
.aish-watch__view {
  display: block;
  padding: 9px 10px;
  border-radius: 4px;
  text-align: center;
  font-family: var(--aish-body);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity 0.25s ease;
}
.aish-watch__atc { background: #fff; color: var(--aish-ink); }
.aish-watch__view { background: rgba(255, 255, 255, 0.15); color: #fff; border: 1px solid rgba(255, 255, 255, 0.6); }
.aish-watch__atc:hover,
.aish-watch__view:hover { opacity: 0.85; }
.aish-watch__arrow {
  position: absolute;
  right: clamp(16px, 3vw, 48px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  cursor: pointer;
  transition: background 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.aish-watch__arrow svg { width: 15px; height: 15px; }
.aish-watch__arrow:hover { background: rgba(0, 0, 0, 0.75); }
.aish-watch__arrow.swiper-button-disabled { opacity: 0.35; cursor: default; }

/* ------------------------------------------------------------- header logo */
.header-layout--center-left {
  justify-content: center;
  background: var(--aish-cream);
  padding: 10px 0 !important;
}
.header-layout--center-left .header-item--navigation,
.header-layout--center-left .header-item--icons { display: none; }
.header-layout--center-left .site-header__logo a,
.header-layout--center-left .site-header__logo .logo--inverted { width: 60px !important; }
#SiteHeader { min-height: 0; }
/* header no longer needs to float over the hero (nav/icons moved to .aish-catbar) —
   put it back in normal flow so it reserves real space instead of overlapping
   whatever comes after it */
#HeaderWrapper { position: relative !important; top: auto !important; }

/* --------------------------------------------------------------- category bar */
.aish-catbar { position: relative; z-index: 30; background: var(--aish-green); }
.aish-catbar__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 12px clamp(16px, 3vw, 48px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.aish-catbar__cats { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); flex-wrap: wrap; }
.aish-catbar__cats a {
  font-family: var(--aish-body);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--aish-cream);
  text-decoration: none;
  opacity: 0.9;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}
.aish-catbar__cats a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }
.aish-catbar__icons { display: flex; align-items: center; gap: 18px; flex: none; }
.aish-catbar__icons a,
.aish-catbar__icons button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--aish-cream);
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.aish-catbar__icons svg { width: 100%; height: 100%; }
.aish-catbar__icons a:hover,
.aish-catbar__icons button:hover { opacity: 0.75; }
@media (max-width: 767px) {
  .aish-catbar__cats { overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap; }
  .aish-catbar__cats::-webkit-scrollbar { display: none; }
  .aish-catbar__icons { gap: 14px; }
}

.ftr-tlpc__terms-link {
  margin-left: 8px;
  padding-left: 9px;
  border-left: 1px solid currentColor;
  opacity: 0.6;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s ease;
}
.ftr-tlpc__terms-link:hover { opacity: 1; }

/* ------------------------------------------------------------- side drawers */
.drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 900;
  background: rgba(15, 15, 15, 0.45);
  backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s var(--aish-ease), visibility 0.5s var(--aish-ease);
}
.drawer-overlay.is-visible { opacity: 1; visibility: visible; }

.drawer {
  position: fixed;
  top: 0;
  height: 100vh;
  height: 100dvh;
  width: min(440px, 92vw);
  background: #fff;
  z-index: 950;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.18);
  transition: transform 0.6s var(--aish-ease);
  will-change: transform;
}
.drawer--right { right: 0; transform: translateX(100%); }
.drawer--left { left: 0; transform: translateX(-100%); }
.drawer.is-open { transform: translateX(0); }

.drawer__contents { display: flex; flex-direction: column; height: 100%; }
.drawer__fixed-header { flex: none; border-bottom: 1px solid rgba(15, 15, 15, 0.08); }
.drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px; }
.drawer__title {
  margin: 0;
  font-family: var(--aish-head);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aish-ink);
}
.drawer__close-button { background: none; border: 0; padding: 6px; cursor: pointer; color: var(--aish-ink); display: flex; }
.drawer__close-button svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 4; }
.drawer__close-button .icon__fallback-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.drawer__inner { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.drawer__scrollable { flex: 1; overflow-y: auto; padding: 20px 24px; }
.drawer__footer { flex: none; padding: 18px 24px 24px; border-top: 1px solid rgba(15, 15, 15, 0.08); }
.drawer__cart-empty {
  display: none;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  text-align: center;
  font-family: var(--aish-body);
  font-size: 14px;
  color: rgba(15, 15, 15, 0.55);
}
.drawer.is-empty .drawer__inner { display: none; }
.drawer.is-empty .drawer__cart-empty { display: flex; }

.cart__item-sub { display: flex; align-items: center; justify-content: space-between; font-family: var(--aish-body); font-size: 14px; padding: 8px 0; }
.cart__item-row.hide { display: none; }
.cart__item-row.text-center { text-align: center; color: rgba(15, 15, 15, 0.5); font-size: 12px; padding-top: 10px; }
.ajaxcart__subtotal { color: var(--aish-ink); font-weight: 600; }

.cart__checkout-wrapper .btn {
  width: 100%;
  padding: 15px;
  border: 0;
  border-radius: 4px;
  background: var(--aish-green);
  color: #fff;
  font-family: var(--aish-body);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s ease;
}
.cart__checkout-wrapper .btn:hover { background: var(--aish-maroon); }

body.drawer-open { overflow: hidden; }

.aish-cart-row { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid rgba(15, 15, 15, 0.08); }
.aish-cart-row__img { width: 74px; height: 92px; object-fit: cover; border-radius: 4px; flex: none; background: #f2ede0; }
.aish-cart-row__body { flex: 1; min-width: 0; }
.aish-cart-row__name { margin: 0 0 6px; font-family: var(--aish-head); font-size: 14px; font-weight: 400; line-height: 1.3; color: var(--aish-ink); }
.aish-cart-row__price { margin: 0 0 10px; font-family: var(--aish-body); font-size: 13px; font-weight: 600; color: var(--aish-green); }

.aish-cart-row__size {
  display: block;
  width: 100%;
  margin-bottom: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(15, 15, 15, 0.18);
  border-radius: 4px;
  background: #fff;
  font-family: var(--aish-body);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--aish-ink);
}

.aish-cart-row__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.aish-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(15, 15, 15, 0.18);
  border-radius: 4px;
  overflow: hidden;
}
.aish-qty__btn {
  width: 28px;
  height: 30px;
  border: 0;
  background: #fff;
  color: var(--aish-ink);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease;
}
.aish-qty__btn:hover { background: var(--aish-cream); }
.aish-qty__input {
  width: 32px;
  height: 30px;
  border: 0;
  border-left: 1px solid rgba(15, 15, 15, 0.12);
  border-right: 1px solid rgba(15, 15, 15, 0.12);
  text-align: center;
  font-family: var(--aish-body);
  font-size: 12px;
  color: var(--aish-ink);
}
.aish-cart-row__remove {
  border: 0;
  background: none;
  padding: 0;
  font-family: var(--aish-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aish-maroon);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ------------------------------------------------------- bottom nav (mobile/tablet) */
.aish-bnav {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 500;
  background: var(--aish-cream);
  border-top: 1px solid rgba(15, 15, 15, 0.08);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
  padding: 8px 0 max(8px, env(safe-area-inset-bottom));
}
.aish-bnav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex: 1 1 0;
  text-align: center;
  font-family: var(--aish-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--aish-green);
  text-decoration: none;
}
.aish-bnav__icon { position: relative; display: block; width: 24px; height: 24px; }
.aish-bnav__icon svg { width: 100%; height: 100%; display: block; }
.aish-bnav__icon--cart { overflow: visible; }
.aish-bnav__badge {
  position: absolute;
  top: -4px;
  right: -8px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--aish-maroon);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  line-height: 15px;
  text-align: center;
}
.aish-bnav__label { line-height: 1; }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1024px) {
  .aish-cats__title::before,
  .aish-cats__title::after { flex-basis: 120px; }
  .aish-bnav { display: flex; }
  body { padding-bottom: 62px; }
}
@media (max-width: 767px) {
  .aish-cats,
  .aish-rail { padding: var(--aish-pad-mob) 0; }
  .aish-cats__grid { grid-template-columns: repeat(2, 1fr); }
  .aish-cats__title { gap: 14px; }
  .aish-cats__title::before,
  .aish-cats__title::after { flex-basis: 40px; }
  .aish-rail__viewport:not(.swiper-initialized) .swiper-slide { flex-basis: 62%; margin-right: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .aish-card__img,
  .aish-cats__media img { transition: none !important; }
}
