/* ============================================================
   Cylocybe — Category archive additions.
   Rides on cylocybe-landing.css (the .feat/.card homepage design
   system, scoped under .reel). This file only adds the archive-only
   bits: hero background-art slot, format showcase, quick-jump nav,
   the search/filter toolbar, and swap-friendly placeholder blocks.
   Loaded on is_product_category() (see functions.php).
   ============================================================ */

/* hero with optional background art */
.reel .cyloa-hero{position:relative;overflow:hidden;padding-top:var(--hero-top)}
.reel .cyloa-hero__art{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.30;z-index:0}
.reel .cyloa-hero__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.82) 70%,#000 100%)}
.reel .cyloa-hero .feat__inner{position:relative;z-index:1}
/* category hero type = the shared page-header tokens (style.css). Scoped to
   .cyloa-hero so the homepage's .feat__* chapters keep their own scale. */
.reel .cyloa-hero .feat__eye{font-size:var(--hero-eye-size);letter-spacing:var(--hero-eye-track);margin-bottom:var(--hero-eye-gap)}
.reel .cyloa-hero .feat__h{font-size:var(--hero-h1-size);line-height:var(--hero-h1-line);letter-spacing:var(--hero-h1-track);margin:0 0 var(--hero-h1-gap)}
.reel .cyloa-hero .feat__lede{font-size:var(--hero-lede-size);line-height:var(--hero-lede-line)}

/* quick-jump anchor nav (chip styling cloned from .formatnav) */
.reel .cyloa-jump{display:flex;flex-wrap:wrap;gap:.7rem;margin:2.5rem 0 0}
.reel .cyloa-jump a{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:2px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03);color:var(--soft);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;transition:border-color .25s,color .25s,background .25s}
.reel .cyloa-jump a:hover{border-color:rgba(255,154,82,.55);color:var(--ink)}

/* format showcase (anchor targets for the quick-jump nav) */
.reel .cyloa-showcase{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:4vh}
@media(max-width:820px){.reel .cyloa-showcase{grid-template-columns:1fr}}
.reel .cyloa-show{background:rgba(20,12,30,.5);border:1px solid rgba(255,255,255,.06);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:86px;transition:border-color .35s}
.reel .cyloa-show:hover{border-color:rgba(255,154,82,.32)}
.reel .cyloa-show__body{padding:1.5rem 1.6rem 1.8rem}
.reel .cyloa-show h3{font-family:var(--display);font-style:italic;font-weight:700;font-size:1.55rem;margin:0 0 .5rem;color:var(--ink)}
.reel .cyloa-show p{color:var(--soft);font-size:1.02rem;line-height:1.55;margin:0}
.reel .cyloa-show__keeps{display:inline-block;margin:0 0 .7rem;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--orange)}

/* image slot + swap-friendly placeholder.
   Set a real image by giving .cyloa-shot a style="background-image:url(...)".
   With none, the .cyloa-ph placeholder shows what photo belongs there. */
.reel .cyloa-shot{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#0a0a0a;position:relative}
.reel .cyloa-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:repeating-linear-gradient(45deg,#15101d,#15101d 14px,#1b1426 14px,#1b1426 28px);
  color:var(--orange);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;padding:1rem;line-height:1.6}
.reel .cyloa-ph small{display:block;color:rgba(255,255,255,.4);letter-spacing:.12em;margin-top:.4rem;font-weight:400}

/* hero background-art placeholder (when no hero image set) */
.reel .cyloa-hero__art.is-ph{opacity:1;background:repeating-linear-gradient(45deg,#0d0a14,#0d0a14 18px,#120e1b 18px,#120e1b 36px)}
.reel .cyloa-hero__art.is-ph::after{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.8))}

/* strains toolbar (live search + in-stock toggle) */
.reel .cyloa-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:3.5vh 0 1vh}
.reel .cyloa-search{flex:1;min-width:240px;display:flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:2px;padding:.6rem 1rem}
.reel .cyloa-search svg{width:15px;height:15px;flex:none;opacity:.5}
/* kill the previous theme's default input chrome so only the .cyloa-search container shows */
.reel .cyloa-search input,
.reel .cyloa-search input[type="search"]{flex:1;width:100%;background:transparent !important;border:0 !important;box-shadow:none !important;outline:none !important;border-radius:0 !important;color:var(--ink) !important;font:inherit;font-size:.95rem;padding:0 !important;margin:0 !important;height:auto !important;min-height:0 !important;line-height:1.4}
.reel .cyloa-search input:focus,
.reel .cyloa-search input[type="search"]:focus{background:transparent !important;border:0 !important;box-shadow:none !important;outline:none !important}
.reel .cyloa-search input::placeholder{color:var(--mute)}
.reel .cyloa-search input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:13px;width:13px;background:linear-gradient(45deg,transparent 45%,var(--mute) 45%,var(--mute) 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--mute) 45%,var(--mute) 55%,transparent 55%);cursor:pointer}
.reel .cyloa-search:focus-within{border-color:rgba(255,154,82,.5)}
.reel .cyloa-pill{padding:.6rem 1.15rem;border-radius:2px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--soft);font:inherit;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.reel .cyloa-pill:hover{border-color:rgba(255,154,82,.5);color:var(--ink)}
.reel .cyloa-pill[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#1a0d06}
.reel .cyloa-count{color:var(--mute);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-left:auto}
.reel .cyloa-archive .card[hidden],.reel .card[hidden]{display:none}
.reel .cyloa-noresults{display:none;padding:5vh 0;color:var(--mute);font-size:1.05rem}

/* cross-links to sibling categories (cubensis <-> exotic etc.) */
.reel .cyloa-cross{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem;margin-top:3vh}
.reel .cyloa-crosslink{display:flex;flex-direction:column;gap:.45rem;padding:1.7rem 1.9rem;border:1px solid rgba(255,154,82,.4);border-radius:3px;background:rgba(20,12,30,.5);text-decoration:none;transition:background .25s,border-color .25s,transform .25s}
.reel .cyloa-crosslink:hover{background:rgba(255,154,82,.08);border-color:var(--orange);transform:translateY(-4px)}
.reel .cyloa-crosslink__nm{font-family:var(--display);font-style:italic;font-weight:700;font-size:1.5rem;color:var(--ink)}
.reel .cyloa-crosslink__sub{color:var(--soft);font-size:.98rem;line-height:1.45}
.reel .cyloa-crosslink__cta{margin-top:.3rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--orange)}

/* Out-of-stock badge on catalogue cards (note 183722): shoppers see it before clicking in. */
.reel a.card[data-instock="0"] .card__art-img{opacity:.5}
.reel a.card[data-instock="0"] .card__name{color:var(--soft)}
.reel .card__oos{position:absolute;top:.55rem;left:.55rem;z-index:3;background:rgba(8,8,10,.82);color:#ffb4b4;border:1px solid rgba(255,90,90,.55);border-radius:999px;padding:.28rem .72rem;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
