/* Stock catalogue — grid, filters, tree sheet */

.stocklayout{display:grid;grid-template-columns:262px minmax(0,1fr);
  gap:clamp(24px,4vw,52px);align-items:start;padding-block:clamp(34px,4.5vw,60px) 100px}
@media(max-width:900px){.stocklayout{grid-template-columns:1fr;gap:6px}}

/* --- name search --- */
.namehunt{background:var(--wash);border:1px solid var(--wash-dp);border-radius:var(--radius);
  padding:24px 26px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:30px}
.namehunt .t{max-width:36ch}
.namehunt .t b{display:block;font-family:var(--display);font-size:1.28rem;
  font-weight:var(--display-weight);letter-spacing:var(--display-track);margin-bottom:4px}
.namehunt .t span{font-size:14.3px;color:#4a5c50}
.namehunt input{flex:1;min-width:230px;font:inherit;font-size:16.5px;padding:15px 18px;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.namehunt input:focus{outline:0;border-color:var(--forest);box-shadow:0 0 0 3px rgba(8,69,41,.1)}

/* --- filters --- */
.filters{position:sticky;top:116px}
@media(max-width:900px){
  .filters{position:static;border:1px solid var(--line);border-radius:var(--radius);
    padding:0 20px;margin-bottom:22px;background:var(--white)}
  .filters > summary{list-style:none;cursor:pointer;padding:17px 0;font-weight:600;font-size:15px;
    display:flex;align-items:center}
  .filters > summary::-webkit-details-marker{display:none}
  .filters > summary::after{content:'';margin-left:auto;width:9px;height:9px;
    border-right:1.5px solid var(--moss);border-bottom:1.5px solid var(--moss);
    transform:rotate(45deg);transition:transform .3s}
  .filters[open] > summary::after{transform:rotate(-135deg)}
  .filters .fbody{padding-bottom:18px}
}
@media(min-width:901px){.filters > summary{display:none}}
.fgrp{border-bottom:1px solid var(--line-soft);padding-bottom:18px;margin-bottom:18px}
.fgrp:last-child{border:0;margin-bottom:0}
.fgrp h3{font-family:var(--sans);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--sage);margin-bottom:13px;font-weight:400}
.ck{display:flex;align-items:center;gap:10px;font-size:14.6px;padding:5px 0;cursor:pointer;
  color:#4a5c50;transition:color .2s}
.ck:hover{color:var(--ink)}
.ck input{accent-color:var(--forest);width:15px;height:15px;margin:0;flex:none}
.ck .n{margin-left:auto;font-size:12px;color:var(--sage);font-variant-numeric:tabular-nums}
.rangeval{font-size:14px;color:#4a5c50;margin-bottom:9px;font-variant-numeric:tabular-nums}
.rangeval b{color:var(--forest)}
input[type=range]{width:100%;accent-color:var(--forest)}
.clearall{background:none;border:0;padding:0;color:var(--moss);font-size:13.6px;
  text-decoration:underline;text-underline-offset:3px}

/* --- toolbar --- */
.stocktools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.stocktools .cnt{font-size:14.6px;color:#4a5c50}
.stocktools .cnt b{color:var(--ink);font-weight:600}
.stocktools select{margin-left:auto;font:inherit;font-size:14px;padding:9px 13px;
  border:1px solid var(--line);border-radius:9px;background:var(--white)}

/* --- cards --- */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:clamp(14px,2vw,26px)}
.tcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  text-align:left;padding:0;color:inherit;display:flex;flex-direction:column;width:100%;
  transition:transform .38s var(--ease),box-shadow .38s var(--ease),border-color .38s}
.tcard:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(10,28,18,.13);
  border-color:var(--wash-dp)}
.tcard:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
.tcard__img{position:relative;aspect-ratio:4/3.5;overflow:hidden;
  background:linear-gradient(165deg,#eaf0e8,#d4dfd2);display:flex;align-items:flex-end;
  justify-content:center}
/* direct child only — a descendant selector here also caught the play-badge
   icon and scaled it to 76% of the badge. */
.tcard__img > svg{width:76%;height:88%;transition:transform .55s var(--ease)}
.tcard:hover .tcard__img > svg{transform:scale(1.05)}
.chip-vid svg{width:9px;height:10px;margin-left:1px}
.tcard.is-sold .tcard__img{filter:saturate(.35) opacity(.75)}
.chip-st{position:absolute;top:11px;left:11px;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;padding:5px 9px;border-radius:5px;
  background:var(--forest);color:#fff}
.chip-st.res{background:#8a6a2c}
.chip-st.gnd{background:#8c5a34}
.chip-st.sold{background:#67706a}
.chip-asp{position:absolute;top:11px;right:11px;font-size:10px;font-weight:700;padding:5px 9px;
  border-radius:5px;background:rgba(255,255,255,.94);color:var(--moss)}
.chip-vid{position:absolute;bottom:11px;right:11px;width:26px;height:26px;border-radius:50%;
  background:rgba(10,28,18,.72);color:#fff;display:grid;place-items:center;font-size:9px}
.tcard__b{padding:15px 16px 17px}
.tcard__b .nm{font-family:var(--display);font-size:1.3rem;font-weight:var(--display-weight);
  letter-spacing:var(--display-track);line-height:1.12}
.tcard__b .sp{font-size:13.4px;color:var(--sage);margin-top:3px}
.tcard__m{display:flex;gap:7px;margin-top:11px;font-size:12.4px;color:#4a5c50;
  font-variant-numeric:tabular-nums;align-items:center;flex-wrap:wrap}
.tcard__m span{background:var(--wash);padding:3px 8px;border-radius:5px}

.noresult{padding:70px 24px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);
  color:#4a5c50}
.noresult h3{margin-bottom:10px}

/* --- detail sheet --- */
.sheetwrap{position:fixed;inset:0;z-index:200;display:none;overflow-y:auto;
  background:rgba(6,26,16,.62);backdrop-filter:blur(3px);padding:clamp(0px,4vh,44px) clamp(0px,3vw,24px)}
.sheetwrap.open{display:block}
.sheet{background:var(--white);border-radius:var(--radius);max-width:1000px;margin-inline:auto;
  overflow:hidden;position:relative;box-shadow:0 30px 90px rgba(0,0,0,.34)}
.sheet__grid{display:grid;grid-template-columns:1.02fr 1fr}
@media(max-width:820px){.sheet__grid{grid-template-columns:1fr}}
.sheet__gal{background:linear-gradient(165deg,#eaf0e8,#d2ded0);padding:clamp(20px,3vw,30px);
  display:flex;flex-direction:column}
.sheet__hero{flex:1;display:flex;align-items:flex-end;justify-content:center;min-height:260px}
.sheet__hero > svg{width:74%;max-height:330px;height:100%}
.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:18px}
.thumbs div{aspect-ratio:1;border-radius:7px;background:rgba(255,255,255,.62);
  border:1px solid rgba(0,0,0,.06);display:grid;place-items:center;text-align:center;
  font-size:8px;font-weight:700;letter-spacing:.05em;color:var(--sage);padding:4px;line-height:1.25}
.thumbs div.on{background:var(--white);border-color:var(--forest);color:var(--forest)}
.sheet__info{padding:clamp(24px,3.4vw,42px)}
.sheet__eye{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--moss);
  font-weight:400}
.sheet__info h2{font-size:clamp(2.1rem,3.6vw,3.2rem);margin:10px 0 5px;line-height:.94}
.sheet__bot{font-style:italic;color:var(--sage);font-size:14.4px;margin-bottom:20px}
.vidbar{display:flex;align-items:center;gap:12px;background:var(--forest-dp);color:#dbe6da;
  border-radius:11px;padding:14px 16px;font-size:13.8px;margin-bottom:20px}
.vidbar .play{width:29px;height:29px;border-radius:50%;background:var(--moss);color:#fff;
  display:grid;place-items:center;flex:none;font-size:10px}
table.spec{width:100%;border-collapse:collapse;font-size:14.6px;margin-bottom:20px}
table.spec td{padding:9px 0;border-bottom:1px solid var(--line-soft)}
table.spec td:first-child{color:var(--sage);width:46%}
table.spec td:last-child{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.aspnote{background:var(--wash);border-left:2px solid var(--moss);border-radius:0;
  padding:14px 16px;font-size:14.2px;line-height:1.62;color:#3d5145;margin-bottom:20px}
.aspnote b{display:block;color:var(--forest);margin-bottom:3px;font-size:13px;
  letter-spacing:.06em;text-transform:uppercase}
.storynote{border-left:3px solid var(--wash-dp);padding-left:15px;font-size:14.6px;
  color:#4a5c50;font-style:italic;margin-bottom:24px}
.sheet .btn{width:100%;justify-content:center}
.sheet__sub{text-align:center;font-size:13px;color:var(--sage);margin-top:11px;line-height:1.55}
.sheetx{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.94);border:1px solid var(--line);color:var(--ink);
  display:grid;place-items:center;font-size:20px;line-height:1;z-index:5}
.sheetx:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
