/* 模板 1-3 布局对齐 · 跨端兼容 · SEO 条溢出修复 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

video {
  width: 100%;
  background: #000;
}

.container,
.nav-wrap,
.page-main {
  width: 100%;
  max-width: 100%;
}

/* —— SEO 顶栏 —— */
.seo-top-strip__text,
.mg-top-strip__text,
.nc-top-strip__text,
.footer-seo-bar__inner,
.footer-mg__seo .container,
.footer-nc__seo .container {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* —— 模板1 ink-crimson —— */
.skin-ink-crimson .nav-wrap--primary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.skin-ink-crimson .nav-search {
  min-width: 0;
  flex: 1 1 200px;
  max-width: 100%;
}

.skin-ink-crimson .nav-search input[type="search"] {
  min-width: 0;
  width: 100%;
}

.skin-ink-crimson .brand-tagline {
  display: block;
  max-width: min(28ch, 100%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skin-ink-crimson .movie-grid,
.skin-ink-crimson .filter-panel {
  width: 100%;
}

.skin-ink-crimson .filter-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.skin-ink-crimson .filter-panel input,
.skin-ink-crimson .filter-panel select {
  min-width: 0;
  flex: 1 1 140px;
  max-width: 100%;
}

.skin-ink-crimson .detail-hero {
  display: grid;
  grid-template-columns: minmax(120px, 220px) 1fr;
  gap: 1.25rem;
  align-items: start;
}

@media (max-width: 720px) {
  .skin-ink-crimson .detail-hero {
    grid-template-columns: 1fr;
  }
}

/* —— 模板2 ocean-teal portal —— */
body.skin-ocean-teal .header-mg__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

body.skin-ocean-teal .header-mg__search {
  min-width: 0;
  flex: 1 1 200px;
  max-width: 100%;
}

body.skin-ocean-teal .header-mg__search input {
  min-width: 0;
  width: 100%;
}

body.skin-ocean-teal .header-mg__brand-text {
  min-width: 0;
}

body.skin-ocean-teal .header-mg__tagline {
  display: block;
  max-width: min(32ch, 100%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.skin-ocean-teal .header-mg__nav.header-main-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: center;
}

body.skin-ocean-teal .header-mg__nav .header-main-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  color: var(--mg-text-soft, #94a3b8);
  text-decoration: none;
  font-size: 0.9rem;
  white-space: nowrap;
}

body.skin-ocean-teal .header-mg__nav .header-main-nav__link:hover,
body.skin-ocean-teal .header-mg__nav .header-main-nav__link--active {
  color: var(--mg-gold-light, #5eead4);
  background: rgba(45, 212, 191, 0.1);
}

body.skin-ocean-teal .header-mg__cats-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

body.skin-ocean-teal .hero-mg__inner {
  grid-template-columns: 1fr;
}

@media (min-width: 900px) {
  body.skin-ocean-teal .hero-mg__inner {
    grid-template-columns: 1.1fr 0.9fr;
  }
}

body.skin-ocean-teal .cq-card-grid,
body.skin-ocean-teal .mg-poster-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: 0.75rem !important;
  width: 100%;
}

body.skin-ocean-teal .cq-block__head,
body.skin-ocean-teal .section-head--tight {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

body.skin-ocean-teal .cq-block__sub,
body.skin-ocean-teal .section-sub {
  margin: 0.25rem 0 0;
  max-width: 52ch;
  line-height: 1.55;
  word-break: break-word;
}

body.skin-ocean-teal .footer-mg__intro,
body.skin-ocean-teal .footer-mg__tags span {
  overflow-wrap: anywhere;
  line-height: 1.55;
}

body.skin-ocean-teal .filter-row--mg {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* —— 模板3 dawn-coral portal —— */
body.skin-dawn-coral .header-nc {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

body.skin-dawn-coral .header-nc__search {
  min-width: 0;
  flex: 1 1 180px;
  max-width: 100%;
}

body.skin-dawn-coral .header-nc__search input {
  min-width: 0;
  width: 100%;
}

body.skin-dawn-coral .header-nc__sub {
  display: block;
  max-width: min(32ch, 100%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.skin-dawn-coral .header-nc__cats-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

body.skin-dawn-coral .detail-hero--nc .detail-hero__inner {
  display: grid;
  grid-template-columns: minmax(120px, 200px) 1fr;
  gap: 1rem;
  align-items: start;
}

@media (max-width: 720px) {
  body.skin-dawn-coral .detail-hero--nc .detail-hero__inner {
    grid-template-columns: 1fr;
  }
}

body.skin-dawn-coral .detail-info-grid--wide {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem;
}

body.skin-dawn-coral .cq-card-grid--wall,
body.skin-dawn-coral .cq-card-grid--dense {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: 0.75rem !important;
}

body.skin-dawn-coral .home-tuyona__stack .cq-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  overflow: visible !important;
  flex-wrap: wrap !important;
}

body.skin-dawn-coral .tuy-card__title,
body.skin-dawn-coral .tuy-card__desc {
  word-break: break-word;
  line-height: 1.45;
}

body.skin-dawn-coral .footer-nc__intro,
body.skin-dawn-coral .footer-nc__pills span {
  overflow-wrap: anywhere;
  line-height: 1.55;
}

/* 压制 site.css neon 深色与 dawn-coral 冲突 */
body.skin-dawn-coral.skin-neon-club,
body.skin-dawn-coral {
  background: var(--nc-bg, #fff8f3) !important;
  color: var(--nc-text, #1e293b) !important;
}

body.skin-dawn-coral .site-header--nc,
body.skin-dawn-coral .page-panel,
body.skin-dawn-coral .fsp-hl-card,
body.skin-dawn-coral .tuy-card {
  color: inherit;
}

/* —— 通用卡片与页头 —— */
.tuy-card,
.fsp-hl-card,
.movie-card {
  min-width: 0;
}

.tuy-card__media img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.page-hero h1,
.vod-page-hero h1,
.detail-hero h1 {
  line-height: 1.3;
  word-break: break-word;
}

.breadcrumb {
  flex-wrap: wrap;
  gap: 0.25rem;
}

@media (max-width: 480px) {
  .header-mg__actions,
  .header-nc__tools {
    width: 100%;
    justify-content: flex-start;
  }
}

.play-info-tip {
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  line-height: 1.6;
  opacity: 0.85;
  overflow-wrap: anywhere;
}
