/* Home page: hero slider, features, category tiles, product slider, offer bar */
.features{background:var(--cream-2);border-bottom:1px solid rgba(178,116,44,.15)}
.features__list{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0}
.features__list li{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 12px;color:var(--gold-700)}
.features__list li+li{border-left:1px solid rgba(178,116,44,.35)}
.features__list .ico{width:2.6em;height:2.6em;stroke-width:1.3}
.features__list strong{display:block;font-family:var(--serif);font-size:1rem;color:var(--maroon-text);font-weight:600}
.features__list span{font-size:.98rem;color:#6b3a2e}
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px}
.col-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.tile{position:relative;display:block;border-radius:var(--radius);overflow:hidden;background:var(--gold-200);box-shadow:0 6px 16px rgba(90,7,24,.22);transition:transform .25s,box-shadow .25s}
.tile:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(90,7,24,.3)}
.tile img{width:100%;aspect-ratio:178/130;object-fit:cover}
.tile--wide img{aspect-ratio:230/102}
.tile span{display:block;text-align:center;padding:9px 8px;font-family:var(--serif);font-weight:600;color:#3a1410;font-size:1.05rem;background:linear-gradient(180deg,var(--gold-200),#e9c27d)}
.offers{background:var(--wine-700);color:var(--gold-200);border-top:1px solid rgba(234,173,80,.4)}
.offers__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.offers__item{display:flex;align-items:center;gap:14px;flex:1;line-height:1.25;font-size:1.02rem}
.offers__item+.offers__item{border-left:1px solid rgba(234,173,80,.35);padding-left:20px}
.offers__item .ico{width:2.4em;height:2.4em;color:var(--gold-400);stroke-width:1.3}
@media (max-width:900px){
  .features__list{grid-template-columns:repeat(2,1fr);row-gap:18px}
  .features__list li:nth-child(3){border-left:0}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .col-grid{grid-template-columns:repeat(2,1fr)}
  .offers__inner{flex-wrap:wrap;justify-content:center}
  .offers__item{flex:1 1 40%}
  .offers__item:nth-child(3){border-left:0;padding-left:0}
  .offers__inner .btn{margin-top:6px}
}
@media (max-width:520px){
  .features__list{grid-template-columns:1fr}
  .features__list li{justify-content:flex-start;border-left:0 !important;padding-left:20px}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .cat-grid .tile:last-child{grid-column:1/-1}
  .offers__item{flex:1 1 100%;border-left:0 !important;padding-left:0 !important}
}

/* ---------- Hero slider ---------- */
.hero{position:relative;display:grid;overflow:hidden;min-height:clamp(330px,34vw,480px);background:radial-gradient(120% 140% at 20% 50%,var(--wine-500),var(--wine-600) 45%,#3a0410)}
.hero__slide{grid-area:1/1;position:relative;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.hero__slide.is-active{opacity:1;visibility:visible;transition:opacity .9s ease}
.hero__media{position:absolute;inset:0 0 0 auto;width:64%;overflow:hidden}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:65% 50%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%);mask-image:linear-gradient(90deg,transparent 0,#000 28%)}
.hero__slide.is-active .hero__media img{animation:kenburns 8s ease-out both}
.hero__text{position:relative;z-index:2;padding:40px 0 60px}
.hero__text>*{max-width:34rem}
.hero__kicker{font-family:var(--serif);letter-spacing:.42em;text-transform:uppercase;font-size:1.05rem;color:var(--gold-200);opacity:.9}
.hero h1,.hero h2{font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,5.2vw,3.9rem);line-height:1.05;margin:6px 0 14px;
  background:linear-gradient(180deg,#f6d58b,#c8893a);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__rule{display:flex;align-items:center;gap:10px;max-width:250px;color:var(--gold-400);margin-bottom:14px}
.hero__rule::before,.hero__rule::after{content:"";flex:1;height:1px;background:var(--gold-500)}
.hero__sub{font-size:1.35rem;color:var(--gold-200);margin-bottom:20px}
.hero__slide.is-active .hero__text>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero__slide.is-active .hero__text>:nth-child(2){animation-delay:.12s}
.hero__slide.is-active .hero__text>:nth-child(3){animation-delay:.24s}
.hero__slide.is-active .hero__text>:nth-child(4){animation-delay:.36s}
.hero__slide.is-active .hero__text>:nth-child(5){animation-delay:.48s}
.hero__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(60,5,20,.7);color:var(--gold-200);cursor:pointer;transition:background .2s}
.hero__arrow--prev{left:16px}.hero__arrow--next{right:16px}
.hero__arrow:hover{background:var(--wine-500)}
.hero__dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.hero__dots button{position:relative;width:11px;height:11px;padding:0;border:0;border-radius:6px;background:rgba(250,235,203,.5);cursor:pointer;transition:width .3s,background .3s}
.hero__dots button::after{content:"";position:absolute;inset:-8px}
.hero__dots button.is-active{width:28px;background:var(--gold-400)}
@keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* ---------- Image motion ---------- */
.tile img,.product__img img,.story__img img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tile:hover img{transform:scale(1.09)}
.banner img{animation:drift 14s ease-in-out infinite}
@keyframes drift{0%,100%{transform:scale(1.02) translateX(0)}50%{transform:scale(1.07) translateX(-8px)}}

/* ---------- New arrivals product slider ---------- */
.slider{position:relative}
.slider__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 26px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.slider__track::-webkit-scrollbar{display:none}
.slider__track:focus-visible{outline-offset:-2px}
.slider__btn{position:absolute;top:36%;z-index:3;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:linear-gradient(180deg,var(--gold-100),var(--gold-500));color:var(--wine-800);box-shadow:0 4px 12px rgba(0,0,0,.35);transition:transform .2s,filter .2s}
.slider__btn:hover{filter:brightness(1.08);transform:scale(1.07)}
.slider__btn--prev{left:-10px}.slider__btn--next{right:-10px}
.product{position:relative;flex:0 0 calc((100% - 54px)/4);scroll-snap-align:start;background:linear-gradient(180deg,#fff7ea,var(--gold-200));border:1px solid rgba(178,116,44,.45);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 16px rgba(90,7,24,.16);transition:transform .3s,box-shadow .3s}
.product:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(90,7,24,.28)}
.product__img{position:relative;display:block;overflow:hidden;background:var(--wine-700)}
.product__img img{width:100%;aspect-ratio:1/1;object-fit:cover}
.product:hover .product__img img{transform:scale(1.08)}
.product__tag{position:absolute;left:12px;top:12px;padding:3px 12px;border-radius:999px;font:500 .75rem var(--ui);color:#3a0610;background:linear-gradient(180deg,var(--gold-100),var(--gold-400))}
.product__wish{position:absolute;right:10px;top:10px;width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:rgba(64,1,15,.75);color:var(--gold-200);transition:background .2s,color .2s,transform .2s}
.product__wish:hover{transform:scale(1.1)}
.product__wish[aria-pressed="true"]{background:var(--gold-400);color:var(--wine-800)}
.product__wish[aria-pressed="true"] .ico{fill:currentColor}
.product__body{padding:14px 16px 18px;text-align:center}
.product__cat{font-family:var(--ui);font-size:.78rem;color:var(--gold-700);margin-bottom:2px}
.product h3{font-family:var(--serif);font-weight:600;font-size:1.05rem;line-height:1.3;margin-bottom:6px;min-height:2.6em}
.product__price{font-family:var(--serif);font-weight:600;font-size:1.15rem;margin-bottom:12px}
.product__price s{font-weight:400;font-size:.95rem;color:#8a5a50;margin-left:6px}
.product__add{padding:.55em 1.4em;font-size:.95rem;border:0}
.product__add.is-added{filter:saturate(.7)}

@media (max-width:1100px){
  .product{flex-basis:calc((100% - 36px)/3)}
}
@media (max-width:900px){
  .hero__arrow{width:36px;height:36px}
}
@media (max-width:680px){
  .hero__slide{display:block}
  .hero__media{position:relative;width:100%;height:230px}
  .hero__media img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 35%);mask-image:linear-gradient(180deg,transparent 0,#000 35%)}
  .hero__text{padding:0 0 52px;margin-top:-34px;text-align:center}
  .hero__text>*{margin-inline:auto}
  .hero__arrow{display:none}
  .product{flex-basis:calc((100% - 14px)/2)}
  .slider__track{gap:14px}
  .slider__btn{width:38px;height:38px;top:30%}
  .slider__btn--prev{left:2px}.slider__btn--next{right:2px}
}
@media (max-width:460px){
  .product{flex-basis:76%}
  .product h3{font-size:1rem}
}
