/* kblat.com 主题轻量补丁 — 移动端安全区与加载态 */

.app-shell {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.site-outlet {
  flex: 1 1 auto;
}

.cinema-header {
  padding-top: env(safe-area-inset-top, 0);
}

.nj-footer__bottom {
  padding-bottom: max(12px, env(safe-area-inset-bottom, 0));
}

/* ===== 商务合作：会飞的小飞机 + ABABSEO（无胶囊 / 无链接） ===== */
.nj-footer__contact {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.nj-footer__contact-label {
  font-size: 0.86rem;
  color: var(--royale-muted, #6b6889);
  letter-spacing: 0.02em;
}

.ababseo-fly {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 0;
  padding: 0;
  user-select: none;
  cursor: default;
}

.ababseo-fly__plane {
  display: inline-flex;
  filter: drop-shadow(0 4px 8px rgba(139, 92, 246, 0.35));
  animation: ababseoFly 3.2s ease-in-out infinite;
  transform-origin: center;
}

.ababseo-fly__text {
  font-weight: 900;
  font-size: 1.12rem;
  letter-spacing: 0.14em;
  background: linear-gradient(92deg, #a78bfa 0%, #8b5cf6 45%, #f59e0b 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: ababseoPulse 3.2s ease-in-out infinite;
}

@keyframes ababseoFly {
  0% {
    transform: translate(0, 0) rotate(-4deg);
  }
  25% {
    transform: translate(6px, -6px) rotate(2deg);
  }
  50% {
    transform: translate(12px, -2px) rotate(-3deg);
  }
  75% {
    transform: translate(5px, -7px) rotate(3deg);
  }
  100% {
    transform: translate(0, 0) rotate(-4deg);
  }
}

@keyframes ababseoPulse {
  0%,
  100% {
    opacity: 0.9;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ababseo-fly__plane,
  .ababseo-fly__text {
    animation: none;
  }
}

/* 防止移动端横向溢出 */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.container {
  width: 100%;
  box-sizing: border-box;
}

img,
video {
  max-width: 100%;
}

@media (max-width: 768px) {
  .cinema-header__titles span {
    display: none;
  }

  .cinema-header__inner {
    flex-wrap: wrap;
    gap: 8px 12px;
  }

  .cinema-header__search {
    order: 3;
    flex: 1 1 100%;
  }

  .cq-card-grid--xxsz-home,
  .cq-card-grid--dense {
    gap: 12px;
  }

  .nj-play-actions {
    flex-wrap: wrap;
  }

  .detail-hero__cta {
    flex-wrap: wrap;
    gap: 10px;
  }

  .nj-footer__contact {
    flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .cq-card-grid,
  .cq-card-grid--dense,
  .cq-card-grid--xxsz-home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fh-billboard__title,
  .fh-billboard__title--xxsz-site {
    font-size: clamp(1.5rem, 7vw, 2rem);
  }

  .nj-sort-tabs {
    flex-wrap: wrap;
  }

  .nj-tag-cloud {
    gap: 8px;
  }

  .ababseo-fly__text {
    font-size: 1rem;
  }
}
