/* Isolated Shop by Category release asset.
   Native links on every viewport, touch snap on phones. */
.std-category-rail { position:relative; overflow:hidden; padding:clamp(4rem,7vw,6.5rem) 0; border-bottom:1px solid var(--line); background:radial-gradient(ellipse 62% 90% at 50% -20%,rgba(212,165,116,0.1),transparent 68%),linear-gradient(180deg,var(--bg-2),var(--bg)); }
.std-category-rail::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:0.16; background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px); background-size:44px 44px; -webkit-mask-image:linear-gradient(to bottom,#000,transparent 74%); mask-image:linear-gradient(to bottom,#000,transparent 74%); }
.std-category-rail .std-wrap { position:relative; }
.std-category-head { display:grid; grid-template-columns:minmax(220px,0.85fr) minmax(280px,1fr) auto; align-items:end; gap:clamp(1.2rem,3vw,3rem); margin-bottom:clamp(2rem,4vw,3.2rem); }
.std-category-head .std-eyebrow { margin:0 0 0.7rem; color:var(--gold-bright); }
.std-category-head h2 { margin:0; font-size:clamp(2rem,4vw,3.25rem); }
.std-category-head__copy { max-width:46ch; margin:0; color:var(--ink-mid); line-height:1.65; text-wrap:pretty; }
.std-category-all { min-height:44px; display:inline-flex; align-items:center; gap:0.45rem; color:var(--gold-bright); font-size:0.88rem; font-weight:650; text-decoration:none; white-space:nowrap; }
.std-category-all span { transition:transform 240ms cubic-bezier(.16,1,.3,1); }
.std-category-all:hover span { transform:translateX(4px); }
.std-category-all:focus-visible { border-radius:6px; outline:3px solid var(--gold-bright); outline-offset:4px; }
.std-category-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(0.75rem,1.4vw,1.2rem); }
.std-category-card { --cat-accent:#ecca9c; --cat-glow:rgba(212,165,116,0.28); position:relative; isolation:isolate; min-width:0; min-height:260px; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:radial-gradient(circle at 50% 32%,var(--cat-glow),transparent 56%),var(--surface); box-shadow:0 24px 46px -36px rgba(0,0,0,0.95); color:var(--ink); text-decoration:none; transform:translateZ(0); transition:transform 360ms cubic-bezier(.16,1,.3,1),border-color 300ms,box-shadow 360ms; }
.std-category-card[data-category-world="edibles"] { --cat-accent:#7ed897; --cat-glow:rgba(79,175,107,0.3); }
.std-category-card[data-category-world="mushroom"] { --cat-accent:#ed7467; --cat-glow:rgba(192,54,43,0.32); }
.std-category-card[data-category-world="vapes"] { --cat-accent:#ecca9c; --cat-glow:rgba(212,165,116,0.34); }
.std-category-card[data-category-world="tinctures"] { --cat-accent:#f0b85c; --cat-glow:rgba(217,154,60,0.31); }
.std-category-card[data-category-world="topicals"] { --cat-accent:#6fd3e3; --cat-glow:rgba(47,159,184,0.31); }
.std-category-card[data-category-world="capsules"] { --cat-accent:#b69aed; --cat-glow:rgba(138,106,208,0.32); }
.std-category-card[data-category-world="pets"] { --cat-accent:#70dac7; --cat-glow:rgba(63,174,155,0.31); }
.std-category-card[data-category-world="collections"] { --cat-accent:#efb48b; --cat-glow:rgba(212,128,92,0.31); }
.std-category-card__media { position:absolute; z-index:-2; inset:0; display:grid; place-items:start center; padding:0.55rem 0.4rem 5.2rem; }
.std-category-card__image { width:94%; height:100%; object-fit:contain; filter:drop-shadow(0 18px 24px rgba(0,0,0,0.56)); transform:translateY(2px) scale(0.93); transition:transform 560ms cubic-bezier(.16,1,.3,1),filter 560ms; }
.std-category-card__fallback { width:72%; aspect-ratio:1; margin-top:10%; border:1px solid color-mix(in srgb,var(--cat-accent) 42%,transparent); border-radius:50%; box-shadow:0 0 0 18px color-mix(in srgb,var(--cat-accent) 5%,transparent),0 0 54px var(--cat-glow); }
.std-category-card__shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent 26%,rgba(8,9,10,0.14) 47%,rgba(8,9,10,0.94) 78%,#08090a 100%); }
.std-category-card__body { position:absolute; inset:auto 0 0; display:flex; flex-direction:column; min-height:44%; padding:1rem 1rem 1.05rem; }
.std-category-card__description { display:block; overflow:hidden; margin:0 0 0.36rem; color:var(--cat-accent); font-size:0.61rem; font-weight:700; letter-spacing:0.1em; line-height:1.35; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.std-category-card strong { display:block; color:#f3efe6; font-size:clamp(0.93rem,1.22vw,1.08rem); font-weight:680; letter-spacing:-0.018em; line-height:1.08; text-wrap:balance; }
.std-category-card__meta { display:flex; align-items:end; justify-content:space-between; gap:0.5rem; margin-top:auto; padding-top:0.8rem; color:#a69f91; font-size:0.68rem; line-height:1.2; }
.std-category-card__arrow { width:28px; height:28px; display:grid; place-items:center; flex:none; border:1px solid rgba(255,255,255,0.16); border-radius:50%; color:var(--cat-accent); transition:transform 260ms cubic-bezier(.16,1,.3,1),border-color 260ms,background 260ms; }
.std-category-card:hover { z-index:2; transform:translateY(-7px); border-color:color-mix(in srgb,var(--cat-accent) 48%,transparent); box-shadow:0 34px 64px -36px rgba(0,0,0,0.98),0 0 34px -24px var(--cat-accent); }
.std-category-card:hover .std-category-card__image { transform:translateY(-4px) scale(1); filter:drop-shadow(0 22px 27px rgba(0,0,0,0.65)); }
.std-category-card:hover .std-category-card__arrow { transform:translateX(3px); border-color:var(--cat-accent); background:var(--cat-glow); }
.std-category-card:focus-visible { z-index:3; outline:3px solid var(--cat-accent); outline-offset:4px; }

@media (max-width:1120px) {
  .std-category-head { grid-template-columns:1fr 1fr; }
  .std-category-all { grid-column:2; justify-self:start; }
  .std-category-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .std-category-card { min-height:230px; aspect-ratio:16/9; }
  .std-category-card__media { place-items:center 66%; padding:0.5rem 40% 0.5rem 0.5rem; }
  .std-category-card__body { width:57%; min-height:100%; justify-content:flex-end; }
  .std-category-card__shade { background:linear-gradient(90deg,rgba(8,9,10,0.97) 0%,rgba(8,9,10,0.88) 46%,rgba(8,9,10,0.18) 76%,transparent 100%); }
}

@media (max-width:760px) {
  .std-category-rail { padding:3.7rem 0 3.4rem; }
  .std-category-head { display:flex; align-items:flex-start; flex-direction:column; gap:0.9rem; margin-bottom:1.8rem; }
  .std-category-head__copy { font-size:0.95rem; }
  .std-category-all { margin-top:0.15rem; }
  .std-category-track { display:flex; gap:0.85rem; overflow-x:auto; margin-right:calc(-1 * max(clamp(1.2rem,4vw,2.5rem),env(safe-area-inset-right,0px))); margin-left:calc(-1 * max(clamp(1.2rem,4vw,2.5rem),env(safe-area-inset-left,0px))); padding:0.3rem max(clamp(1.2rem,4vw,2.5rem),env(safe-area-inset-right,0px)) 1.1rem max(clamp(1.2rem,4vw,2.5rem),env(safe-area-inset-left,0px)); overscroll-behavior-inline:contain; scroll-padding-inline:max(clamp(1.2rem,4vw,2.5rem),env(safe-area-inset-left,0px)); scroll-snap-type:x mandatory; scrollbar-color:rgba(212,165,116,0.45) transparent; scrollbar-width:thin; }
  .std-category-card { flex:0 0 min(72vw,285px); min-height:340px; aspect-ratio:4/5; scroll-snap-align:start; }
  .std-category-card__media { place-items:start center; padding:0.65rem 0.4rem 4.5rem; }
  .std-category-card__body { width:auto; min-height:44%; justify-content:initial; }
  .std-category-card__shade { background:linear-gradient(180deg,transparent 26%,rgba(8,9,10,0.14) 47%,rgba(8,9,10,0.94) 78%,#08090a 100%); }
  .std-category-card strong { font-size:1.2rem; }
  .std-category-card__description { font-size:0.66rem; }
  .std-category-card:hover { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  .std-category-card,.std-category-card__image,.std-category-card__arrow,.std-category-all span { transition:none!important; }
  .std-category-card:hover,.std-category-card:hover .std-category-card__image,.std-category-card:hover .std-category-card__arrow { transform:none!important; }
}
