/* Meme kit page: builds on buy.css (header, hero, windows, buttons, footer). */
.kit-hero { min-height: 540px; }
.kit-stack { position: relative; height: 470px; }
.kit-stack img { position: absolute; width: 62%; height: auto; border: 3px solid var(--paper); box-shadow: 8px 8px 0 var(--pink); }
.kit-stack img:nth-child(1) { left: 2%; top: 40px; transform: rotate(-7deg); }
.kit-stack img:nth-child(2) { left: 36%; top: 0; transform: rotate(5deg); box-shadow: 8px 8px 0 var(--acid); }
.kit-stack img:nth-child(3) { left: 20%; top: 170px; transform: rotate(-2deg); box-shadow: 8px 8px 0 var(--cyan); }

.kit-section { padding-top: 83px; }
.kit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 22px; }
.kit-item, .kit-clip { margin: 0; border: 1px solid var(--line); background: #10120f; }
.kit-thumb { display: block; overflow: hidden; }
.kit-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; transition: transform .2s ease; }
.kit-thumb:hover img, .kit-thumb:focus-visible img { transform: scale(1.04); }
.kit-item figcaption, .kit-clip figcaption { display: grid; gap: 4px; padding: 12px 14px 14px; }
.kit-item b, .kit-clip b { font: 20px/1 Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; letter-spacing: -.01em; color: var(--paper); }
.kit-item span, .kit-clip span { font-size: 11px; line-height: 1.4; color: var(--muted); }
.kit-item figcaption a, .kit-clip figcaption a { justify-self: start; margin-top: 6px; color: var(--acid); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-decoration: none; border-bottom: 2px solid var(--acid); }
.kit-item figcaption a:hover, .kit-clip figcaption a:hover { color: var(--pink); border-color: var(--pink); }

.kit-clips { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 22px; align-items: start; }
.kit-clip video { display: block; width: 100%; aspect-ratio: 9 / 16; background: var(--black); object-fit: cover; }
.kit-clip.wide video { aspect-ratio: 16 / 9; }

.kit-rules { margin-bottom: 90px; }
.kit-rule-list { margin: 0; padding: 26px 28px 8px 50px; display: grid; gap: 12px; font-size: 14px; }
.kit-rule-list b { color: var(--acid); }
.kit-rule-actions { display: flex; flex-wrap: wrap; gap: 16px; padding: 18px 28px 28px; }
.kit-rule-actions .action-button { min-width: 260px; }
.kit-logo { background: var(--pink); border-color: var(--pink); }

@media (max-width: 860px) {
  .kit-stack { display: none; }
  .kit-clips { grid-template-columns: 1fr 1fr; }
  .kit-clip.wide { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .kit-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .kit-item b { font-size: 16px; }
  .kit-item span { display: none; }
  .kit-rule-list { padding-left: 38px; }
  .kit-rule-actions .action-button { min-width: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .kit-thumb img { transition: none; } }
