/* Reveal */
.js-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.js-reveal.is-in { opacity: 1; transform: translateY(0); }

/* Editorial duo: MOVED to avl-editorial-duo-fixed.css (locked) */
/* Category tiles */
.home-category-tiles { padding: 44px 0; }
.home-category-tiles__header { margin-bottom: 16px; }
.home-category-tiles__title { margin: 0; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; }
.home-category-tiles__subtitle { margin: 8px 0 0; opacity: .85; }

.home-category-tiles__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.home-category-tiles__item { text-decoration: none; color: inherit; display: grid; gap: 10px; }
.home-category-tiles__imgwrap { border-radius: 10px; overflow: hidden; }
.home-category-tiles__img { width: 100%; height: auto; display: block; transition: transform .5s ease; }
.home-category-tiles__item:hover .home-category-tiles__img { transform: scale(1.03); }
.home-category-tiles__name { font-weight: 750; text-transform: uppercase; letter-spacing: .4px; }

@media (min-width: 992px) {
  .home-category-tiles__grid { grid-template-columns: repeat(3, 1fr); }
}
/* Home products carousel (LN-ish) */
.home-products-carousel--ln {
  padding: 32px 0;
  background: #fff;
  color: #111;
}

.home-products-carousel--ln .home-products-carousel__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin: 0 0 14px 0;
}

.home-products-carousel--ln .home-products-carousel__title{
  margin:0;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 22px;
  line-height: 1.1;
}

.home-products-carousel--ln .home-products-carousel__viewall{
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  font-size: 12px;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.home-products-carousel--ln .home-products-carousel__track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding: 0 0 10px 0;
}

.home-products-carousel--ln .home-products-carousel__item{
  flex: 0 0 calc((100% - 16px) / 2);
  scroll-snap-align: start;
}

@media (min-width: 768px){
  .home-products-carousel--ln .home-products-carousel__item{
    flex-basis: calc((100% - 16px * 3) / 4);
  }
}

.home-products-carousel--ln .home-products-carousel__card{
  display:block;
  text-decoration:none;
  color:inherit;
}

.home-products-carousel--ln .home-products-carousel__media{
  background:#ededed;
  padding: 18px;
  aspect-ratio: 1 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.home-products-carousel--ln .home-products-carousel__img{
  width:100%;
  height:100%;
  object-fit: contain;
  display:block;
}

.home-products-carousel--ln .home-products-carousel__meta{
  padding: 10px 2px 0 2px;
}

.home-products-carousel--ln .home-products-carousel__name{
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: 12px;
  line-height: 1.25;
}

.home-products-carousel--ln .home-products-carousel__price{
  margin-top: 6px;
  font-size: 12px;
  opacity: .9;
}

/* Scrollbar suave */
.home-products-carousel--ln .home-products-carousel__track::-webkit-scrollbar{
  height: 10px;
}
.home-products-carousel--ln .home-products-carousel__track::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.2);
  border-radius: 999px;
}
.home-products-carousel--ln .home-products-carousel__track::-webkit-scrollbar-track{
  background: rgba(0,0,0,.06);
}

/* =========================================================
   Avelan LN: Stagger reveal for product carousels
   - JS assigns: .av-stagger-item + (.av-stagger-pre -> .av-stagger-in)
   - Speed: set data-av-stagger-step on the carousel section, or edit DEFAULT_STEP_MS in the tpl script.
========================================================= */
.home-products-carousel .av-stagger-item {
  opacity: 1;
  transform: none;
  filter: none;
  will-change: opacity, transform, filter;
  transition: opacity 0.55s ease, transform 0.75s cubic-bezier(.2, .8, .2, 1), filter 0.75s ease;
}
.home-products-carousel .av-stagger-item.av-stagger-pre {
  opacity: 0;
  transform: translateY(14px) scale(.985);
  filter: blur(1px);
}
@media (prefers-reduced-motion: reduce) {
  .home-products-carousel .av-stagger-item {
    transition: none !important;
  }
  .home-products-carousel .av-stagger-item.av-stagger-pre {
    opacity: 1;
    transform: none;
    filter: none;
  }
}

