/* Блок главной «Подборки по темам» — стопка карточек на CSS sticky (без JS):
   каждая карточка прилипает чуть ниже предыдущей, после последней страница едет дальше.
   Фон карточки — тайл подборки повторами, поэтому превью 500×500 остаётся чётким на любом размере. */
.vg-stack{--top:88px;--step:14px;padding-block:clamp(56px,9vw,120px);border-top:1px solid #ececec}
.vg-stack-head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(20px,3vw,36px)}
.vg-stack-eyebrow{font-family:var(--font-meta);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#d30805}
.vg-stack h2{font-family:var(--font-ui);font-weight:500;font-size:clamp(30px,3.4vw,48px);line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance}
.vg-stack-list{margin:0;padding:0;list-style:none}
.vg-stack-list li{position:sticky;top:calc(var(--top) + var(--i) * var(--step))}
.vg-stack-list li+li{margin-top:28px}
.vg-stack-card{display:flex;align-items:flex-end;height:clamp(320px,32vw,440px);border-radius:18px;overflow:hidden;background-color:#f2f2f2;background-size:240px 240px;background-repeat:repeat;box-shadow:0 -1px 0 rgba(0,0,0,.04),0 -10px 30px rgba(0,0,0,.06);color:#111;text-decoration:none}
.vg-stack-panel{display:flex;align-items:center;gap:20px;margin:20px;padding:18px 20px 18px 22px;border-radius:14px;background:#fff;max-width:calc(100% - 40px);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.vg-stack-card h3{margin:0 0 4px;font-family:var(--font-ui);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.15;letter-spacing:-.01em}
.vg-stack-count{display:block;font-size:14px;color:#666}
.vg-stack-arrow{flex:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid #e3e3e3;border-radius:50%;transition:background .2s,border-color .2s,color .2s}
.vg-stack-arrow svg{width:18px;height:18px}
.vg-stack-card:hover .vg-stack-panel{transform:translateY(-4px)}
.vg-stack-card:hover .vg-stack-arrow{background:#111;border-color:#111;color:#fff}
.vg-stack-card:focus-visible{outline:2px solid #666;outline-offset:3px}
@media(max-width:759px){
  .vg-stack{--top:72px;--step:10px;padding-block:56px}
  .vg-stack h2{font-size:26px}
  .vg-stack-list li+li{margin-top:20px}
  .vg-stack-card{height:300px;border-radius:14px;background-size:180px 180px}
  .vg-stack-panel{margin:12px;padding:14px 14px 14px 16px;gap:14px;max-width:calc(100% - 24px)}
  .vg-stack-arrow{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){.vg-stack-panel{transition:none}}
