/* NIVAH — reference-inspired staggered category carousel.
   Alternating rounded portrait cards, bottom labels, seamless continuous horizontal loop.
   A pair of 6-category cycles creates an EVEN 12-card repeat, so alternating
   card heights keep their alignment across every loop boundary. */
.section.nivah-categories-section{
  padding-top:42px;
  padding-bottom:28px;
  background:#fff;
  overflow:hidden;
}
.nivah-categories-section .section-heading{margin-bottom:20px}
.nivah-category-stage{
  --category-visible:4.15;
  --category-offset:54px;
  --category-card-height:clamp(260px,25vw,340px);
  height:calc(var(--category-card-height) + var(--category-offset) + 25px);
  width:min(1460px,calc(100% - 36px));
  margin:0 auto;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  -webkit-mask-image:linear-gradient(90deg,transparent,black 2.2%,black 97.8%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 2.2%,black 97.8%,transparent);
}
.nivah-category-track{
  width:calc(100% * 36 / var(--category-visible));
  display:flex;
  flex-wrap:nowrap;
  height:100%;
  animation:nivahCategoryStaggerSlide 30s linear infinite;
  transform:translate3d(-33.333333%,0,0);
  will-change:transform;
}
.nivah-category-slide{
  flex:0 0 calc(100% / 36);
  width:calc(100% / 36);
  height:100%;
  min-width:0;
  padding:0 clamp(7px,.7vw,12px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.nivah-category-slide:nth-child(odd){
  padding-top:var(--category-offset);
}
.nivah-category-slide:nth-child(even){
  padding-top:5px;
}
.nivah-category-tile,
.nivah-category-tile:hover{
  width:100%;
  height:var(--category-card-height);
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:clamp(17px,2vw,27px) !important;
  border:0 !important;
  background:#e9e5df;
  box-shadow:none !important;
  transform:none !important;
  transition:filter .5s ease;
  will-change:auto;
  outline-offset:3px;
}
.nivah-category-tile:focus-visible{
  outline:3px solid #b8996b;
}
.nivah-category-photo{
  display:block;
  width:100%;
  height:100% !important;
  position:relative;
  overflow:hidden;
  border-radius:inherit;
  background:#e9e5df;
}
.nivah-category-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:inherit;
  transition:transform .85s cubic-bezier(.2,.8,.2,1),filter .7s ease;
}
.nivah-category-photo::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,
    transparent 31%,
    rgba(9,10,10,.04) 55%,
    rgba(12,11,10,.29) 75%,
    rgba(11,10,9,.70) 100%) !important;
  opacity:1;
}
.nivah-category-tile:hover img{
  transform:scale(1.045);
  filter:saturate(1.08);
}
.nivah-category-label,
.nivah-category-tile:hover .nivah-category-label{
  position:absolute;
  z-index:3;
  bottom:0;
  top:auto !important;
  left:0;
  right:0;
  width:100%;
  max-width:none;
  min-height:58px;
  padding:13px 13px 17px !important;
  transform:none !important;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  color:#fff !important;
  font-family:Manrope,Arial,sans-serif;
  font-size:clamp(12px,1.16vw,16px);
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.28;
  text-shadow:0 2px 9px rgba(0,0,0,.4);
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  white-space:normal;
  pointer-events:none;
}
.nivah-category-hint{margin-top:3px}
@keyframes nivahCategoryStaggerSlide{
  from{transform:translate3d(-33.333333%,0,0)}
  to{transform:translate3d(-66.666667%,0,0)}
}
@media (hover:hover){
  .nivah-category-stage:hover .nivah-category-track{
    animation-play-state:paused !important;
  }
}
.nivah-category-stage:focus-within .nivah-category-track{
  animation-play-state:paused !important;
}
@media(min-width:801px) and (max-width:1199px){
  .nivah-category-stage{
    --category-visible:3.4;
    --category-offset:46px;
    --category-card-height:clamp(240px,32vw,305px);
    width:calc(100% - 24px);
  }
  .nivah-category-photo{height:100% !important}
}
@media (max-width:800px){
  .section.nivah-categories-section{padding-top:29px;padding-bottom:24px}
  .nivah-categories-section .section-heading{margin-bottom:13px}
  .nivah-category-stage{
    --category-visible:2.32;
    --category-offset:34px;
    --category-card-height:clamp(190px,56vw,265px);
    width:100%;
    height:calc(var(--category-card-height) + var(--category-offset) + 14px);
  }
  .nivah-category-track{animation-duration:24s}
  .nivah-category-slide{padding:0 6px}
  .nivah-category-slide:nth-child(even){padding-top:4px}
  .nivah-category-tile,
  .nivah-category-tile:hover{
    border-radius:18px !important;
    height:var(--category-card-height);
  }
  .nivah-category-photo{height:100% !important}
  .nivah-category-label,
  .nivah-category-tile:hover .nivah-category-label{
    font-size:clamp(11px,3.15vw,14px);
    min-height:42px;
    padding:8px 8px 11px !important;
  }
  .nivah-category-hint{margin-top:2px}
}
@media(max-width:370px){
  .nivah-category-stage{--category-visible:2.15;--category-card-height:184px}
  .nivah-category-label,.nivah-category-tile:hover .nivah-category-label{
    font-size:11px;
  }
}
@media(prefers-reduced-motion:reduce){
  .nivah-category-track{
    animation:none !important;
    transform:translate3d(-33.333333%,0,0) !important;
    will-change:auto;
  }
  .nivah-category-photo img{transition:none !important}
}
