/* Equipment catalog: the hangar's equipment plates, built on the tokens in site.css.
   tools/encode-website-catalog.py crops each model tightly around its whole
   turntable sweep, so the stage can fit any shape and stand it on the ring. */
.catalog-page main{padding-block:28px 72px}

/* Intro and the spec plate */
.catalog-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:end;gap:24px 48px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.catalog-intro h1{text-transform:uppercase;letter-spacing:.02em}
.catalog-intro .lead{max-width:52ch;margin:14px 0 10px}
.catalog-note{max-width:62ch;margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
.catalog-note a{margin-left:4px;font-weight:600;text-decoration:none}
.catalog-spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0;padding:16px 18px;border:1px solid var(--edge);border-top:2px solid var(--cyan);border-radius:4px;background:#0a1b21ed}
.catalog-spec dt{font:10px/1.3 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.catalog-spec dd{margin:3px 0 0;font:600 14px/1.35 var(--font)}

/* Search and the segmented category control */
.catalog-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px 16px;margin:28px 0 0}
.catalog-search{flex:1 1 280px}
.catalog-search>span{display:block;margin-bottom:8px;font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--label)}
.catalog-search input{width:100%;min-height:44px;padding:0 14px;border:1px solid var(--edge);border-radius:6px;background:#0a1b21ed;color:var(--text);font:15px var(--font)}
.catalog-search input::placeholder{color:#8ea3a1}
.catalog-search input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.catalog-filters{display:flex;margin:0;padding:0;border:1px solid var(--edge);border-radius:6px;background:#0a1b21ed;overflow:hidden}
.catalog-filters label{position:relative;cursor:pointer}
.catalog-filters label+label{border-left:1px solid #4b6b6c60}
.catalog-filters input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.catalog-filters span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;font:600 12px/1 var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);transition:background .12s}
.catalog-filters label:hover span{background:#26464b80;color:var(--text)}
.catalog-filters input:checked+span{background:#17333a;color:var(--cyan);box-shadow:inset 0 -2px var(--cyan)}
.catalog-filters input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:-3px}
#catalog-results{flex-basis:100%;margin:0;font:11px/1.6 var(--mono);color:var(--muted)}
.catalog-preview-note{margin:12px 0 0;font-size:13px;color:var(--muted)}
.catalog-preview-note strong{color:var(--text)}

/* Sections and cards */
.equipment-section{padding-top:56px}
.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.equipment-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;scroll-margin-top:24px;border:1px solid #ffffff20;border-radius:8px;background:var(--plate-hi)}
.equipment-card:target{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}
.equipment-stage{position:relative;isolation:isolate;display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);aspect-ratio:16/10;padding:46px 13% 9%;overflow:hidden;border-bottom:1px solid #ffffff14;background:radial-gradient(ellipse 55% 60% at 50% 52%,#4b9ca02e,transparent 72%),linear-gradient(#0e252b,#091a1f)}
/* Turntable floor ring, echoing the hangar platform on the homepage. */
.equipment-stage::before{content:'';position:absolute;z-index:-1;left:22%;right:22%;bottom:3%;height:13%;border:1px solid #30474b;border-radius:50%;background:radial-gradient(closest-side,#00000059,transparent)}
.equipment-stage>img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 12px 12px #0009)}
.equipment-slot{position:absolute;left:10px;top:10px;padding:5px 7px;border:1px solid #aaccc340;background:#06171dcc;color:#dfefea;font:10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.preview-toggle{position:absolute;right:10px;top:10px;min-height:28px;padding:0 10px;border:1px solid #73c5bfaf;border-radius:4px;background:#0b1d23e6;color:#b9fff1;font:600 11px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .12s}
.preview-toggle:hover{background:#17333a}
.preview-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.preview-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.equipment-body{display:flex;flex-direction:column;gap:14px;flex:1;padding:16px 18px 18px}
.equipment-type{margin:0 0 4px;font:10px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.equipment-card h3{font:700 19px/1.25 var(--font);letter-spacing:0}
.equipment-card h3 a{color:var(--text);text-decoration:none}
.equipment-card h3 a:hover{color:var(--cyan)}
.equipment-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0;padding:12px 0;border-block:1px solid #4b6b6c50}
.equipment-stats div{min-width:0}
.equipment-stats div:last-child:nth-child(odd){grid-column:1/-1}
.equipment-stats dt{font:10px/1.3 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.equipment-stats dd{margin:3px 0 0;font:600 16px/1.3 var(--font);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.equipment-skill h4{margin:0 0 6px;font:600 13px/1.4 var(--font);color:var(--amber)}
.equipment-skill p{margin:0 0 8px;font-size:13px;line-height:1.6;color:var(--muted)}
.equipment-skill p:last-child{margin:0}
.equipment-skill strong{margin-right:6px;font:10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
/* The footer is pinned to the card bottom so prices line up across a row. */
.equipment-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:auto;padding-top:12px;border-top:1px solid #4b6b6c50}
.equipment-variants{display:flex;flex-wrap:wrap;gap:6px}
.equipment-variants span{padding:5px 8px;border:1px solid var(--edge);border-radius:4px;font:600 12px/1.2 var(--font)}
.equipment-variants b,.equipment-price b{margin-left:6px;font-weight:500;color:var(--warm)}
.equipment-price{margin:0;font-size:12px;color:var(--muted)}
.equipment-foot>a{font-size:12px;font-weight:600;text-decoration:none}

.catalog-empty{margin:32px 0 0;padding:40px;border:1px dashed var(--edge);border-radius:6px;text-align:center;color:var(--muted)}
.catalog-page .deploy-bar{margin-top:56px}
.catalog-page .deploy-bar p{max-width:62ch}
[hidden]{display:none!important}

@media(max-width:1000px){
  .catalog-intro{grid-template-columns:1fr;align-items:start}
  .equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .catalog-page main{padding-block:20px 48px}
  .catalog-filters{width:100%}
  .catalog-filters label{flex:1}
  .catalog-filters span{padding:0 6px;font-size:11px;letter-spacing:.03em}
  .equipment-section{padding-top:44px}
  .equipment-grid{grid-template-columns:1fr}
  .catalog-page .deploy-bar{margin-top:44px}
}
