/* ========================================
   影视传媒网站 - 主样式表
   配色方案：深紫+玫红+金色
   ======================================== */

/* CSS Reset & Base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --clr-bg:#0d0a14;
  --clr-surface:#16121f;
  --clr-surface2:#1e1829;
  --clr-primary:#c23066;
  --clr-primary-light:#e8457a;
  --clr-accent:#f0b030;
  --clr-accent2:#ff6b35;
  --clr-text:#e8e0f0;
  --clr-text-muted:#9a8fb0;
  --clr-border:#2a2240;
  --font-main:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;
  --font-heading:'Noto Serif SC','STSong',serif;
  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:20px;
  --shadow-card:0 4px 24px rgba(0,0,0,.4);
  --shadow-glow:0 0 20px rgba(194,48,102,.3);
  --max-w:1140px;
  --gap:1.25rem;
}

html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-main);
  background:var(--clr-bg);
  color:var(--clr-text);
  line-height:1.75;
  overflow-x:hidden;
  min-height:100vh;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--clr-primary-light);text-decoration:none;transition:color .2s}
a:hover{color:var(--clr-accent)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.3;color:#fff}
h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:1rem}
h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:.8rem}
h3{font-size:clamp(1.1rem,2.5vw,1.5rem);margin-bottom:.6rem}
p{margin-bottom:1rem}
ul,ol{padding-left:1.2em}

/* Utility */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gap)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.text-center{text-align:center}
.text-accent{color:var(--clr-accent)}
.text-primary{color:var(--clr-primary-light)}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}

/* ===== HEADER / NAV ===== */
.site-header{
  background:linear-gradient(180deg,var(--clr-surface) 0%,transparent 100%);
  padding:1rem 0;
  position:relative;
  z-index:100;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.75rem;
}
.site-logo img{height:44px;width:auto}
.nav-toggle{
  display:none;
  background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;padding:.25rem;
}
.main-nav ul{
  display:flex;
  list-style:none;
  gap:.15rem;
  flex-wrap:wrap;
}
.main-nav a{
  display:block;
  padding:.5rem .85rem;
  color:var(--clr-text);
  font-size:.92rem;
  border-radius:var(--radius-sm);
  transition:background .2s,color .2s;
  white-space:nowrap;
}
.main-nav a:hover,.main-nav a.active{
  background:var(--clr-primary);
  color:#fff;
}

/* Mobile Nav */
@media(max-width:768px){
  .nav-toggle{display:block}
  .main-nav{
    display:none;
    width:100%;
    order:3;
  }
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:0}
  .main-nav a{padding:.7rem 1rem;border-bottom:1px solid var(--clr-border)}
}

/* ===== HERO ===== */
.hero-section{
  position:relative;
  overflow:hidden;
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  filter:brightness(.45) saturate(1.2);
  z-index:0;
}
.hero-content{
  position:relative;z-index:2;
  text-align:center;
  padding:3rem var(--gap);
  max-width:720px;
}
.hero-content h1{
  font-size:clamp(2rem,5vw,3.2rem);
  text-shadow:0 2px 16px rgba(0,0,0,.6);
  margin-bottom:.75rem;
}
.hero-content p{
  font-size:1.1rem;
  color:var(--clr-text-muted);
  margin-bottom:1.5rem;
}

/* Video Player Module */
.video-player-wrap{
  position:relative;
  width:100%;
  max-width:720px;
  margin:0 auto 2rem;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:#000;
  aspect-ratio:16/9;
}
.video-player-wrap video{
  width:100%;height:100%;
  object-fit:cover;
}
.video-poster-overlay{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.45);
  cursor:pointer;
  transition:background .3s;
}
.video-poster-overlay:hover{background:rgba(0,0,0,.25)}
.video-poster-overlay img{width:72px;height:72px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}
.video-poster-overlay.hidden{display:none}

/* ===== BREADCRUMB ===== */
.breadcrumb{
  padding:.75rem 0;
  font-size:.85rem;
  color:var(--clr-text-muted);
}
.breadcrumb a{color:var(--clr-text-muted)}
.breadcrumb a:hover{color:var(--clr-primary-light)}
.breadcrumb span{margin:0 .4rem;opacity:.5}

/* ===== SECTION ===== */
.section{padding:3rem 0}
.section-alt{background:var(--clr-surface)}
.section-title{
  text-align:center;
  margin-bottom:2rem;
  position:relative;
}
.section-title::after{
  content:'';display:block;
  width:60px;height:3px;
  background:linear-gradient(90deg,var(--clr-primary),var(--clr-accent));
  margin:.6rem auto 0;
  border-radius:2px;
}

/* ===== CARD GRID ===== */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:var(--gap);
}
.card{
  background:var(--clr-surface2);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:transform .25s,box-shadow .25s;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-glow);
}
.card-img{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/10;
}
.card-img img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .4s;
}
.card:hover .card-img img{transform:scale(1.06)}
.card-body{padding:1rem 1.15rem}
.card-body h3{font-size:1.05rem;margin-bottom:.4rem}
.card-body p{font-size:.88rem;color:var(--clr-text-muted);margin-bottom:.5rem}

/* Rating Stars */
.stars{color:var(--clr-accent);font-size:1rem;letter-spacing:2px}
.stars .empty{color:var(--clr-border)}

/* ===== MOVIE CARDS (Vertical) ===== */
.movie-scroll{
  display:flex;
  gap:var(--gap);
  overflow-x:auto;
  padding-bottom:1rem;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.movie-scroll::-webkit-scrollbar{height:6px}
.movie-scroll::-webkit-scrollbar-thumb{background:var(--clr-primary);border-radius:3px}
.movie-card{
  flex:0 0 180px;
  scroll-snap-align:start;
  background:var(--clr-surface2);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:transform .25s;
}
.movie-card:hover{transform:scale(1.04)}
.movie-card img{width:100%;aspect-ratio:5/7;object-fit:cover}
.movie-card-info{padding:.7rem .8rem}
.movie-card-info h4{font-size:.9rem;margin-bottom:.25rem}
.movie-card-info .stars{font-size:.8rem}

/* ===== ABOUT / TEXT BLOCK ===== */
.text-block{
  max-width:800px;
  margin:0 auto;
  font-size:1rem;
  line-height:1.85;
}
.text-block h2{margin-top:1.5rem}

/* ===== RECRUIT ===== */
.recruit-section{
  background:linear-gradient(135deg,#1a1030 0%,#2a1540 50%,#1a1030 100%);
  border:1px solid var(--clr-border);
  border-radius:var(--radius-lg);
  padding:2.5rem;
  margin:2rem 0;
  text-align:center;
}
.recruit-section h2{color:var(--clr-accent)}
.recruit-badges{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:1.5rem;
}
.recruit-badge{
  background:var(--clr-surface);
  padding:.6rem 1.2rem;
  border-radius:var(--radius-sm);
  font-size:.9rem;
  border:1px solid var(--clr-border);
}

/* ===== CASE STUDY ===== */
.case-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:var(--gap);
}
.case-item{
  background:var(--clr-surface2);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-card);
}
.case-item img{width:100%;aspect-ratio:3/2;object-fit:cover}
.case-item-body{padding:1.15rem}

/* ===== PAYMENT ===== */
.payment-methods{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  justify-content:center;
  align-items:center;
}
.payment-methods img{height:48px;width:auto;border-radius:var(--radius-sm)}

/* ===== FAQ ===== */
.faq-list{max-width:760px;margin:0 auto}
.faq-item{
  border-bottom:1px solid var(--clr-border);
  padding:1rem 0;
}
.faq-q{
  font-weight:700;
  font-size:1.05rem;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#fff;
}
.faq-q::after{
  content:'+';
  font-size:1.4rem;
  color:var(--clr-primary-light);
  transition:transform .3s;
}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease,padding .35s;
  color:var(--clr-text-muted);
  font-size:.95rem;
  line-height:1.7;
}
.faq-item.open .faq-a{
  max-height:600px;
  padding-top:.75rem;
}

/* ===== REVIEWS ===== */
.review-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:var(--gap);
}
.review-card{
  background:var(--clr-surface2);
  border-radius:var(--radius-md);
  padding:1.25rem;
  box-shadow:var(--shadow-card);
}
.review-header{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-bottom:.75rem;
}
.review-avatar{
  width:48px;height:48px;
  border-radius:50%;
  object-fit:cover;
}
.review-meta{font-size:.8rem;color:var(--clr-text-muted)}
.review-text{font-size:.92rem;line-height:1.7}

/* ===== SUPPORT ===== */
.support-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:var(--gap);
}
.support-card{
  background:var(--clr-surface2);
  border-radius:var(--radius-md);
  padding:1.5rem;
  text-align:center;
  box-shadow:var(--shadow-card);
  border:1px solid var(--clr-border);
}
.support-icon{
  font-size:2rem;
  margin-bottom:.75rem;
  display:block;
}

/* ===== CTA BUTTON ===== */
.btn-cta{
  display:inline-block;
  padding:.75rem 2rem;
  background:linear-gradient(135deg,var(--clr-primary),var(--clr-accent2));
  color:#fff;
  font-weight:700;
  font-size:1rem;
  border-radius:var(--radius-md);
  border:none;
  cursor:pointer;
  transition:transform .2s,box-shadow .2s;
  text-align:center;
}
.btn-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(194,48,102,.4);
  color:#fff;
}

/* ===== FOOTER ===== */
.site-footer{
  background:var(--clr-surface);
  border-top:1px solid var(--clr-border);
  padding:2.5rem 0 1.5rem;
  margin-top:3rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:2rem;
  margin-bottom:2rem;
}
.footer-col h4{
  color:var(--clr-accent);
  font-size:.95rem;
  margin-bottom:.75rem;
  font-family:var(--font-main);
}
.footer-col ul{list-style:none;padding:0}
.footer-col li{margin-bottom:.4rem}
.footer-col a{color:var(--clr-text-muted);font-size:.88rem}
.footer-col a:hover{color:var(--clr-primary-light)}
.footer-social{
  display:flex;
  gap:.6rem;
  margin-top:.5rem;
}
.footer-social img{width:32px;height:32px;border-radius:50%;transition:transform .2s}
.footer-social img:hover{transform:scale(1.15)}
.footer-bottom{
  text-align:center;
  padding-top:1.5rem;
  border-top:1px solid var(--clr-border);
  font-size:.82rem;
  color:var(--clr-text-muted);
}
.footer-payments{
  display:flex;
  gap:.5rem;
  justify-content:center;
  flex-wrap:wrap;
  margin:.75rem 0;
}
.footer-payments img{height:32px;border-radius:4px}
.footer-age{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:.5rem;
}
.footer-age img{width:36px;height:36px}

/* ===== APP DOWNLOAD PAGE ===== */
.app-hero{
  text-align:center;
  padding:3rem var(--gap);
}
.app-hero img{
  max-width:260px;
  margin:0 auto 1.5rem;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-glow);
}
.app-features{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:var(--gap);
  margin:2rem 0;
}
.app-feature{
  background:var(--clr-surface2);
  padding:1.5rem;
  border-radius:var(--radius-md);
  text-align:center;
  box-shadow:var(--shadow-card);
}
.app-feature-icon{font-size:2.2rem;margin-bottom:.5rem;display:block}
.qr-wrap{
  text-align:center;
  margin:2rem 0;
}
.qr-wrap img{
  width:180px;height:180px;
  margin:0 auto;
  border-radius:var(--radius-sm);
  border:3px solid var(--clr-accent);
}

/* ===== INNER PAGE ===== */
.inner-hero{
  position:relative;
  min-height:280px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.inner-hero-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  filter:brightness(.35);
}
.inner-hero-content{
  position:relative;z-index:2;
  padding:2rem var(--gap);
}
.detail-content{
  max-width:800px;
  margin:0 auto;
  padding:2rem 0;
}
.detail-content img{
  border-radius:var(--radius-md);
  margin:1.5rem 0;
}
.detail-sidebar{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:2rem;
}
@media(max-width:768px){
  .detail-sidebar{grid-template-columns:1fr}
}
.sidebar-widget{
  background:var(--clr-surface2);
  border-radius:var(--radius-md);
  padding:1.25rem;
  margin-bottom:var(--gap);
  box-shadow:var(--shadow-card);
}
.sidebar-widget h4{
  font-size:.95rem;
  margin-bottom:.75rem;
  color:var(--clr-accent);
}

/* ===== RESPONSIBLE ===== */
.responsible-box{
  background:linear-gradient(135deg,#1a1520,#201828);
  border:1px solid var(--clr-border);
  border-radius:var(--radius-md);
  padding:2rem;
  margin:2rem 0;
}

/* ===== ANIMATIONS ===== */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
.anim-fade{
  opacity:0;
  animation:fadeUp .6s ease forwards;
}
.anim-delay-1{animation-delay:.1s}
.anim-delay-2{animation-delay:.2s}
.anim-delay-3{animation-delay:.3s}

/* ===== PRINT ===== */
@media print{
  .site-header,.site-footer,.nav-toggle{display:none}
  body{background:#fff;color:#000}
}
