/* Shop page: category orbit fan (moved here from the homepage). */
.cat { position: relative; display: block; overflow: hidden; border: 1px solid var(--rv-line); border-radius: 4px; background: #0a2216; }
.cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cat::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.cat-n { position: absolute; z-index: 2; inset: 14px 16px auto auto; font: 700 .72rem var(--font-display); letter-spacing: .18em; color: var(--rv-amber); }
html[dir="rtl"] .cat-n { inset: 14px auto auto 16px; }
.cat-t { position: absolute; z-index: 2; inset: auto 18px 16px; font: 700 clamp(1.05rem, 1.7vw, 1.45rem) var(--font-display); color: #fff; letter-spacing: -.01em; }
.cat-t::after { content: " \2192"; color: var(--rv-amber); opacity: 0; transition: opacity .3s; }
.cat:hover .cat-t::after { opacity: 1; }
html[dir="rtl"] .cat-t::after { content: " \2190"; }
/* ---------- category orbit fan ---------- */
.fan-stage { position: relative; height: clamp(560px, 86vh, 800px); overflow: hidden; overflow: clip; margin-top: -10px; }
.fan-wheel { position: absolute; inset: 0; z-index: 2; cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.fan-wheel.drag { cursor: grabbing; }
.fan-wheel .cat { position: absolute; left: 0; top: 0; aspect-ratio: auto; border-radius: 14px; transform: none; will-change: transform, opacity; backface-visibility: hidden;
  border: 1px solid var(--rv-line); transition: border-color .4s, box-shadow .4s; visibility: hidden; }
.fan-wheel .cat img { filter: saturate(.8) brightness(.6); transition: filter .5s, transform .9s var(--rv-ease); -webkit-user-drag: none; pointer-events: none; }
.fan-wheel .cat.is-active { border-color: var(--rv-amber); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8), 0 0 0 1px rgba(242, 182, 50, .25); }
.fan-wheel .cat.is-active img { filter: saturate(1.05) brightness(.92); transform: scale(1.04); }
.fan-wheel .cat::after { background: linear-gradient(to top, rgba(4, 16, 11, .95), transparent 58%); }
.fan-wheel .cat-t { font-size: clamp(1rem, 1.5vw, 1.35rem); inset: auto 16px 18px; }
.fan-wheel .cat.is-active .cat-t::after { opacity: 1; }
.fan-ctl { position: absolute; z-index: 3; left: 50%; bottom: clamp(18px, 4vh, 40px); translate: -50% 0; display: flex; align-items: center; gap: 18px; }
.fan-ctl button { width: 46px; height: 46px; display: grid; place-items: center; color: #fff; background: rgba(4, 16, 11, .7); border: 1.5px solid rgba(232, 228, 220, .35); border-radius: 50%; cursor: pointer; transition: border-color .25s, color .25s; }
.fan-ctl button:hover { border-color: var(--rv-amber); color: var(--rv-amber); }
.fan-hint { font: 600 .66rem var(--font-display); letter-spacing: .2em; text-transform: uppercase; color: rgba(232, 228, 220, .5); white-space: nowrap; }
html[dir="rtl"] .fan-hint { letter-spacing: 0; font-size: .85rem; }
html[dir="rtl"] .fan-ctl button svg { transform: scaleX(-1); }
@media (max-width: 760px) { .fan-hint { display: none; } .fan-stage { height: clamp(520px, 78svh, 680px); } }

.shop-fan { position: relative; padding-top: clamp(40px, 6vw, 72px); background: radial-gradient(70% 60% at 50% 60%, #0b2a1c, #04100b); border-bottom: 1px solid var(--rv-line); }
.shop-fan-head { margin-bottom: 0; }
.shop-fan-head h2 { margin-bottom: 0; }
.shop-fan[hidden] { display: none; }

/* the carousel replaces the old category card grid */
#catalogCategoryGrid { display: none !important; }

/* search bar now sits above the carousel; sticky across the whole shop body */
.shop-body { position: relative; }
.shop-body > .catalog-toolbar { position: sticky; top: calc(var(--header-h) - 1px); z-index: 60; margin: 0; max-width: none;
  padding: 12px max(24px, calc((100% - 1180px) / 2 + 24px)); border-bottom: 1px solid var(--rv-line); }
body.hdr-hidden .shop-body > .catalog-toolbar { top: 0; }
@media (max-width: 720px) { .shop-body > .catalog-toolbar { padding: 8px 16px; } }
