/* ==========================================================================
   PROEKTI.CSS — SHARKLAB 2026 project ARCHIVE / listing page
   Extends tokens from sharklab.css + components from proekt.css.
   ========================================================================== */

.sh-plist__head{padding:72px 56px 40px;text-align:center}
.sh-plist__head .sh-chip2{font-size:16px;padding:11px 24px;letter-spacing:1.1px}
.sh-plist__title{font-size:clamp(36px,5vw,60px);font-weight:800;letter-spacing:-1px;margin:0 0 18px}
.sh-plist__vote{margin-top:14px!important;font-size:14.5px!important;color:var(--cream)!important;opacity:.85}
.sh-plist__lede{font-size:16.5px;line-height:1.65;color:var(--muted);max-width:60ch;margin:0 auto}

.sh-plist__filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:36px}
.sh-plist__search{position:relative;max-width:480px;margin:26px auto 0}
.sh-plist__search svg{position:absolute;left:20px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted-2);pointer-events:none}
.sh-plist__search input{
  width:100%;font-family:inherit;font-size:15px;font-weight:500;color:var(--cream);
  background:var(--ink-2);border:1px solid var(--line-dark);border-radius:999px;
  padding:15px 22px 15px 50px;outline:none;transition:border-color .2s,box-shadow .2s;
}
.sh-plist__search input::placeholder{color:var(--muted-2)}
.sh-plist__search input:focus{border-color:rgba(200,85,61,.6);box-shadow:0 0 0 3px rgba(200,85,61,.15)}
.sh-plist__search input::-webkit-search-cancel-button{filter:invert(.7)}
.sh-plist__filters{margin-top:36px}

.sh-plist__filter{
  font-family:inherit;font-weight:700;font-size:13px;letter-spacing:.3px;color:var(--muted);
  background:transparent;border:1px solid var(--line-dark);border-radius:999px;
  padding:11px 22px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.sh-plist__filter span{color:var(--muted-2);margin-left:6px}
.sh-plist__filter:hover{border-color:rgba(200,85,61,.5);color:var(--cream)}
.sh-plist__filter.is-active{background:var(--rust);border-color:var(--rust);color:var(--ink)}
.sh-plist__filter.is-active span{color:rgba(20,3,3,.6)}

.sh-plist__grid{
  padding:56px 56px 96px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;
}

.sh-pcard{
  display:flex;flex-direction:column;
  background:var(--ink-2);border:1px solid var(--line-dark);
  clip-path:var(--notch);
  overflow:hidden;
  transition:transform .25s cubic-bezier(.19,1,.22,1),border-color .25s,box-shadow .25s;
}
.sh-root .sh-pcard:hover{transform:translateY(-6px);border-color:rgba(200,85,61,.45);box-shadow:0 22px 44px rgba(0,0,0,.4)}

.sh-pcard__thumb{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.sh-pcard__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.sh-root .sh-pcard:hover .sh-pcard__thumb img{transform:scale(1.06)}
.sh-pcard__thumb::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,3,3,0) 55%,rgba(20,3,3,.75) 100%);
}
.sh-pcard__play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:68px;height:68px;border-radius:50%;
  background:rgba(20,3,3,.55);backdrop-filter:blur(2px);
  color:var(--cream);display:flex;align-items:center;justify-content:center;
  z-index:1;transition:background .2s,transform .2s;
}
.sh-pcard__play svg{width:26px;height:26px;margin-left:3px}
.sh-root .sh-pcard:hover .sh-pcard__play{background:var(--rust);color:var(--ink);transform:translate(-50%,-50%) scale(1.08)}
.sh-pcard__stage{
  position:absolute;top:18px;right:18px;z-index:1;
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(20,3,3,.72);border:1px solid rgba(243,235,226,.25);
  color:var(--cream);font-size:12.5px;font-weight:800;letter-spacing:.6px;
  padding:8px 15px;border-radius:999px;
}
.sh-pcard__stage--winner{background:linear-gradient(100deg,var(--rust),#E08A6E);border-color:transparent;color:var(--ink)}

.sh-pcard__body{padding:32px 34px 36px;display:flex;flex-direction:column;flex:1}
.sh-pcard__chips{margin-bottom:16px}
.sh-chip2--sm{padding:6px 14px;font-size:11.5px;letter-spacing:.5px}
.sh-pcard__body h3{font-size:27px;font-weight:800;letter-spacing:-.3px;margin:0 0 14px;color:var(--cream)}
.sh-pcard__body p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 22px;flex:1}
.sh-pcard__team{font-size:13.5px;font-weight:700;letter-spacing:.2px;color:var(--muted-2);padding-top:18px;border-top:1px solid var(--line-dark)}

.sh-plist__empty{text-align:center;color:var(--muted);padding:0 56px 96px;font-size:15px}

/* filtering: hide non-matching cards */
.sh-pcard.is-hidden{display:none}

@media (max-width:720px){
  .sh-plist__head{padding:56px 24px 32px}
  .sh-plist__grid{grid-template-columns:1fr;padding:40px 24px 72px}
}
