/* ═══════════════════════════════════════════
   title.css — glitch heading + tag pills
═══════════════════════════════════════════ */

/* ── Wrapper ── */
.title-wrap {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -62%);
  z-index: var(--z-ui);
  user-select: none;
  text-align: center;
}

/* ── Main glitch heading ── */
.glitch-title {
  position: relative;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(44px, 6.5vw, 90px);
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--clr-white);
  text-transform: uppercase;
  text-shadow: 0 0 30px rgba(255, 255, 255, 0.12);
}

.title-white {
  color: var(--clr-white);
}

.title-pink {
  color: var(--clr-pink);
  text-shadow:
    0 0 18px rgba(255, 30, 100, 0.9),
    0 0 50px rgba(255, 30, 100, 0.40);
}

/* ── Glitch ghost layers ── */
.glitch-title::before,
.glitch-title::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  pointer-events: none;
}

.glitch-title::before {
  color: var(--clr-cyan);
  left: 2px;
  opacity: 0;
  animation: glitch-a 4.0s steps(1) infinite;
}

.glitch-title::after {
  color: var(--clr-magenta);
  left: -2px;
  opacity: 0;
  animation: glitch-b 3.2s steps(1) infinite;
}

@keyframes glitch-a {
  0%, 90%   { opacity: 0; clip-path: none;    transform: none; }
  91%       { opacity: 0.7; clip-path: polygon(0 15%, 100% 15%, 100% 35%, 0 35%); transform: translateX(-3px) skewX(-4deg); }
  93%       { opacity: 0.3; transform: translateX(3px); }
  96%       { opacity: 0.6; clip-path: polygon(0 55%, 100% 55%, 100% 75%, 0 75%); }
  98%, 100% { opacity: 0; transform: none; }
}

@keyframes glitch-b {
  0%, 84%   { opacity: 0; transform: none; }
  85%       { opacity: 0.6; clip-path: polygon(0 40%, 100% 40%, 100% 60%, 0 60%); transform: translateX(4px) skewX(3deg); }
  88%       { opacity: 0.2; transform: translateX(-3px); }
  91%, 100% { opacity: 0; transform: none; }
}

/* ── Subtitle tag pills ── */
.subtitle-tags {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
  justify-content: center;
}

.tag {
  font-family: var(--font-mono);
  font-size: clamp(10px, 1.1vw, 13px);
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.50);
  padding: 3px 11px;
  border-radius: 2px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(4px);
  transition: color 0.3s, border-color 0.3s, background 0.3s;
}

.tag:hover {
  color: var(--clr-pink);
  border-color: rgba(255, 30, 100, 0.45);
  background:   rgba(255, 30, 100, 0.06);
}

/* ═══════════════════════════════════════════
   MOBILE — заголовок и теги
═══════════════════════════════════════════ */
@media (max-width: 600px) {
  .title-wrap {
    top: 38%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100vw - 32px);
    display: flex;
    flex-direction: column;
    align-items: center;   /* центрирует все дочерние по горизонтали */
  }

  .glitch-title {
    font-size: clamp(32px, 11vw, 52px);
    letter-spacing: 0.03em;
    text-align: center;
    width: 100%;
  }

  .subtitle-tags {
    gap: 7px;
    margin-top: 12px;
    justify-content: center;
    width: 100%;
  }

  .tag {
    font-size: 10px;
    padding: 3px 8px;
  }
}