/* =====================================================================
   VAKEZO — The Rail (showroom page)
   Jewellery hangs from a gold rail; tap a piece to bring it forward.
   Product photos are on white, so mix-blend-mode:multiply drops the white.
   ===================================================================== */
.showroom{background:radial-gradient(120% 70% at 50% 0%,#FFFDF9 0%,#F5EFE8 55%,#EFE6DC 100%);overflow:hidden}
.sr-intro{text-align:center;padding:var(--s-4) var(--gutter) var(--s-2)}
.sr-intro>*{margin-left:auto;margin-right:auto;text-align:center}
.sr-eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--c-accent-ink);margin:0 auto .4rem;max-width:none}
.sr-intro h1{font-family:var(--f-display);font-weight:500;font-size:clamp(2rem,4.5vw,3.2rem);margin:0;color:var(--c-ink)}
.sr-sub{margin:.5rem auto 0;color:var(--c-muted);font-size:.98rem}

.sr-rack{position:relative;padding:var(--s-3) 0 var(--s-2)}
.sr-rack__title{font-family:var(--f-body);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--c-muted);text-align:center;margin:0 0 .6rem}

/* The rail */
.sr-rail{position:relative;--item-w:150px;--drop:300px}
.sr-rail--ears{--item-w:130px;--drop:170px}
.sr-bar{position:absolute;left:4%;right:4%;top:14px;height:9px;border-radius:9px;z-index:2;
  background:linear-gradient(180deg,#F7E3A6 0%,#D9B25F 35%,#A9802E 70%,#7E5B1C 100%);
  box-shadow:0 6px 14px rgba(80,50,10,.18),inset 0 1px 0 rgba(255,255,255,.7)}
.sr-bar::before,.sr-bar::after{content:"";position:absolute;top:-6px;width:20px;height:20px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#F7E3A6,#A9802E 70%,#6F4F16)}
.sr-bar::before{left:-10px}.sr-bar::after{right:-10px}

.sr-items{position:relative;display:flex;justify-content:flex-start;align-items:flex-start;gap:clamp(.25rem,1.2vw,1.2rem);
  padding:0 6% 24px;min-height:calc(var(--drop) + 104px);overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sr-items::-webkit-scrollbar{display:none}
.sr-items>:first-child{margin-left:auto}.sr-items>:last-child{margin-right:auto}

.sr-item{position:relative;flex:0 0 var(--item-w);height:calc(var(--drop) + 70px);padding:0;border:0;background:none;cursor:pointer;
  scroll-snap-align:center;transform-origin:50% 18px;transition:transform .45s var(--ease),filter .35s,opacity .35s}
.sr-item::before{ /* hook on the rail */
  content:"";position:absolute;top:8px;left:50%;width:16px;height:20px;margin-left:-8px;border:3px solid #B88E3C;border-bottom:0;
  border-radius:10px 10px 0 0;z-index:3}
.sr-item img{position:absolute;top:24px;left:50%;width:100%;height:var(--drop);object-fit:contain;object-position:top center;
  transform:translateX(-50%);pointer-events:none;user-select:none;filter:drop-shadow(0 6px 8px rgba(80,50,20,.16))}
.sr-item img.is-plain{mix-blend-mode:multiply;filter:none}
.sr-rail--ears .sr-item img{object-position:top center}
.sr-item__name{position:absolute;left:0;right:0;bottom:0;font-size:.68rem;letter-spacing:.06em;color:var(--c-muted);text-align:center;
  opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;line-height:1.3}
.sr-item.is-sold img{opacity:.35;filter:grayscale(.6)}
.sr-item.is-sold::after{content:"Sold out";position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);font-size:.65rem;
  letter-spacing:.15em;text-transform:uppercase;background:var(--c-plum);color:var(--c-on-plum);padding:.25rem .5rem}

@media (hover:hover){
  .sr-items:hover .sr-item{opacity:.55}
  .sr-items:hover .sr-item:hover{opacity:1;transform:scale(1.14);z-index:4;animation:sr-sway 1.6s ease-in-out infinite}
  .sr-item:hover .sr-item__name{opacity:1;transform:none}
}
.sr-item:focus-visible{outline:2px solid var(--c-accent);outline-offset:4px}
@keyframes sr-sway{0%,100%{rotate:-1.6deg}50%{rotate:1.6deg}}

/* Ticker band */
.sr-marquee{background:var(--c-plum);color:#E9CF93;overflow:hidden;white-space:nowrap;border-block:1px solid #5b3a52;margin-top:var(--s-3)}
.sr-marquee__track{display:inline-block;padding:.75rem 0;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;animation:sr-tick 47s linear infinite}
.sr-marquee__track b{color:#fff;font-weight:600}
@keyframes sr-tick{to{transform:translateX(-50%)}}

/* Focus stage (opened piece) */
.sr-stage{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(245,239,232,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:sr-fade .35s var(--ease)}
.sr-stage[hidden]{display:none}
@keyframes sr-fade{from{opacity:0}}
.sr-close{position:absolute;top:calc(var(--header-h) + 8px);right:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--c-line);
  background:#fff;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--c-ink)}
.sr-stage__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,4vw,3.5rem);align-items:center;
  width:min(980px,92vw);animation:sr-rise .5s var(--ease)}
@keyframes sr-rise{from{transform:translateY(24px) scale(.96);opacity:0}}
.sr-stage__hang{position:relative;height:min(62vh,520px);display:flex;justify-content:center;transform-origin:50% 0;animation:sr-swing 2.4s var(--ease) 1}
@keyframes sr-swing{0%{rotate:4deg}35%{rotate:-2.5deg}65%{rotate:1.2deg}100%{rotate:0}}
.sr-stage__hook{display:none}
.sr-stage__img{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:top center;filter:drop-shadow(0 14px 18px rgba(80,50,20,.18))}
.sr-stage__img.is-plain{filter:none;border-radius:14px}
.sr-stage__hang.is-worn .sr-stage__img{filter:none;border-radius:14px;box-shadow:0 18px 40px rgba(59,31,51,.18);object-fit:cover;width:100%}
.sr-tags{position:absolute;top:18%;right:4%;display:flex;gap:.35rem;transform-origin:50% -30px;animation:sr-tag 2.2s ease-in-out infinite}
.sr-tags::before{content:"";position:absolute;top:-30px;left:50%;width:1px;height:30px;background:#9b8a7c}
.sr-tag{display:inline-block;writing-mode:vertical-rl;padding:.7rem .35rem;font-size:.66rem;letter-spacing:.2em;border-radius:3px 3px 6px 6px;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.sr-tag--dark{background:var(--c-plum);color:#E9CF93}
.sr-tag--price{background:#D8BFA0;color:var(--c-ink);font-weight:600;letter-spacing:.08em}
@keyframes sr-tag{0%,100%{rotate:-3deg}50%{rotate:3deg}}

.sr-stage__info{text-align:center}
.sr-name{font-family:var(--f-body);font-weight:600;font-size:clamp(1rem,1.8vw,1.25rem);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .9rem;color:var(--c-ink)}
.sr-toggle{display:inline-flex;border:1px solid var(--c-ink);border-radius:999px;padding:3px;gap:3px;margin-bottom:1rem}
.sr-toggle button{border:0;background:none;border-radius:999px;padding:.35rem 1rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--c-ink)}
.sr-toggle button.is-on{background:var(--c-ink);color:#fff}
.sr-toggle button[disabled]{opacity:.35;cursor:default}
.sr-cod{font-size:.92rem;color:#1F5E3A;margin:0 0 1.1rem}
.sr-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
.sr-actions .btn{min-width:170px}

@media (max-width:760px){
  .sr-rail{--item-w:118px;--drop:230px}
  .sr-rail--ears{--item-w:104px;--drop:130px}
  .sr-items{padding:0 12vw}
  .sr-item__name{opacity:1;transform:none}
  .sr-stage{align-items:flex-start;overflow-y:auto}
  .sr-stage__inner{grid-template-columns:1fr;gap:1rem;padding:calc(var(--header-h) + 64px) 0 2rem}
  .sr-stage__hang{height:40vh}
  .sr-actions .btn{flex:1 1 140px;min-width:0}
}
@media (prefers-reduced-motion:reduce){
  .sr-item,.sr-stage__hang,.sr-tags,.sr-marquee__track,.sr-stage__inner{animation:none!important;transition:none!important}
}

/* ---- Scroll arrows on the rails ---- */
.sr-arrow{position:absolute;top:calc(50% + 10px);transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;
  border:1px solid var(--c-line);background:rgba(255,255,255,.92);color:var(--c-ink);font-size:1.9rem;line-height:1;cursor:pointer;
  box-shadow:0 6px 16px rgba(59,31,51,.14);display:grid;place-items:center;padding-bottom:4px;transition:opacity .25s,transform .25s}
.sr-arrow:hover{transform:translateY(-50%) scale(1.08)}
.sr-arrow--prev{left:12px}.sr-arrow--next{right:12px}
.sr-arrow.is-off{opacity:0;pointer-events:none}
.sr-items{cursor:grab}
.sr-items:active{cursor:grabbing}
.sr-items{scroll-snap-type:none}

/* ---- Prev/next inside the opened piece ---- */
.sr-stage__inner{position:relative}
.sr-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid var(--c-line);
  background:#fff;color:var(--c-ink);font-size:2.1rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding-bottom:5px;
  box-shadow:0 8px 20px rgba(59,31,51,.14);z-index:3}
.sr-nav--prev{left:-70px}.sr-nav--next{right:-70px}
.sr-count{position:absolute;left:0;right:0;bottom:-2.2rem;text-align:center;font-size:.75rem;letter-spacing:.2em;color:var(--c-muted);margin:0}
.sr-stage__hang{touch-action:pan-y;user-select:none}
.sr-stage__hang.slide-l{animation:sr-in-l .45s var(--ease)!important}
.sr-stage__hang.slide-r{animation:sr-in-r .45s var(--ease)!important}
@keyframes sr-in-l{from{opacity:0;transform:translateX(60px)}}
@keyframes sr-in-r{from{opacity:0;transform:translateX(-60px)}}
@media (max-width:1120px){.sr-nav--prev{left:-8px}.sr-nav--next{right:-8px}}
@media (max-width:760px){
  .sr-arrow{width:38px;height:38px;font-size:1.6rem}
  .sr-arrow--prev{left:6px}.sr-arrow--next{right:6px}
  .sr-nav{top:calc(var(--header-h) + 64px + 20vh);width:44px;height:44px;font-size:1.8rem}
  .sr-nav--prev{left:2px}.sr-nav--next{right:2px}
  .sr-count{position:static;margin-top:.8rem}
}

/* =====================================================================
   v5 — side-on rail (like a clothes rack): every piece hangs turned to the
   side; the one you point at (phone: the one in the middle) turns to face you.
   ===================================================================== */
.sr-rail{--slot:58px}
.sr-rail--ears{--slot:50px}
.sr-items{gap:0;perspective:1100px;padding-left:max(6%, calc(50% - var(--item-w) / 2));padding-right:max(6%, calc(50% - var(--item-w) / 2))}
.sr-items>:first-child,.sr-items>:last-child{margin:0}
.sr-item{flex:0 0 var(--slot);transition:flex-basis .55s var(--ease),opacity .35s;transform:none!important;animation:none!important;opacity:1!important;z-index:1}
.sr-item.is-front{flex-basis:var(--item-w);z-index:5}
.sr-face{position:absolute;top:24px;left:50%;width:var(--item-w);height:var(--drop);margin-left:calc(var(--item-w) / -2);
  transform-origin:50% 0;transform:rotateY(72deg);transform-style:preserve-3d;transition:transform .6s var(--ease),filter .4s;
  filter:brightness(.92) saturate(.9)}
.sr-face img{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;transform:none}
.sr-item.is-front .sr-face{transform:rotateY(0) scale(1.06);filter:none;animation:sr-sway 2.4s ease-in-out .6s infinite}
.sr-item__name{bottom:0;opacity:0!important;width:var(--item-w);left:50%;right:auto;margin-left:calc(var(--item-w) / -2)}
.sr-item.is-front .sr-item__name{opacity:1!important;transform:none}
/* little price tag on each hanger, like a shop */
.sr-ptag{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:4;background:#fff;color:var(--c-ink);border:1px solid var(--c-line);
  font-size:.58rem;font-weight:600;letter-spacing:.04em;padding:.12rem .3rem;border-radius:3px;white-space:nowrap;box-shadow:0 2px 5px rgba(0,0,0,.08);
  transition:transform .5s var(--ease),opacity .3s}
.sr-item.is-front .sr-ptag{transform:translate(calc(var(--item-w) / 2 - 10px), 4px) rotate(8deg);background:var(--c-plum);color:#E9CF93;border-color:var(--c-plum)}
.sr-item.is-sold .sr-face{opacity:.4}
.sr-item.is-sold::after{z-index:6}
@media (hover:hover){
  .sr-items:hover .sr-item,.sr-items:hover .sr-item:hover{opacity:1;transform:none;animation:none}
}
@media (max-width:760px){
  .sr-rail{--slot:46px}
  .sr-rail--ears{--slot:40px}
  .sr-items{padding-left:calc(50% - var(--item-w) / 2);padding-right:calc(50% - var(--item-w) / 2)}
}
@media (prefers-reduced-motion:reduce){.sr-face,.sr-item{transition:none!important;animation:none!important}}
/* desktop: rail sits centred when it fits, starts at the left when it is longer */
@media (min-width:761px){
  .sr-items{padding-left:6%;padding-right:6%}
  .sr-items>:first-child{margin-left:auto}.sr-items>:last-child{margin-right:auto}
}
.sr-close{z-index:20}
/* Home page copy of the rail */
.sr-home{padding-bottom:var(--s-3)}
.sr-home .sr-intro h2{font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,4vw,2.8rem);margin:0;color:var(--c-ink)}
.sr-home__more{text-align:center;margin:var(--s-1) 0 0}
/* Sold out: keep the piece clearly visible, small badge under the price tag */
.sr-item.is-sold img{opacity:1!important;filter:none!important}
.sr-item.is-sold .sr-face{opacity:1;filter:saturate(.75) brightness(.97)}
.sr-item.is-sold.is-front .sr-face{filter:saturate(.85)}
.sr-item.is-sold::after{top:52px;transform:translateX(-50%);font-size:.5rem;letter-spacing:.12em;padding:.15rem .3rem;white-space:nowrap;line-height:1.2}
