/* ============================================
   51视频 - 影视传媒与动漫社区 主样式表
   原创配色：星空紫 #7B2FBE / 樱花粉 #FF6B9D / 深邃蓝 #0D1B2A
   ============================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;background:#0D1B2A;color:#E0E0E0;line-height:1.7;overflow-x:hidden}
a{color:#FF6B9D;text-decoration:none;transition:color .3s}
a:hover{color:#7B2FBE}
img,video{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:#fff}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
/* --- Header --- */
.hd-wrap{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(13,27,42,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(123,47,190,.2);transition:background .3s}
.hd-inner{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1200px;margin:0 auto;padding:0 20px}
.hd-logo{display:flex;align-items:center;gap:10px}
.hd-logo img{height:40px;width:auto}
.hd-logo span{font-size:1.2rem;font-weight:800;background:linear-gradient(135deg,#7B2FBE,#FF6B9D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hd-nav{display:flex;align-items:center;gap:4px}
.hd-nav a{padding:7px 13px;border-radius:6px;font-size:.88rem;color:#bbb;transition:all .3s;white-space:nowrap}
.hd-nav a:hover,.hd-nav a.on{color:#fff;background:rgba(123,47,190,.2)}
.hd-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.hd-toggle span{display:block;width:22px;height:2px;background:#FF6B9D;border-radius:2px;transition:all .3s}
/* --- Search --- */
.sk-bar{background:rgba(13,27,42,.7);padding:12px 0;border-bottom:1px solid rgba(123,47,190,.1)}
.sk-bar .container{display:flex;justify-content:center}
.sk-form{display:flex;max-width:560px;width:100%;border-radius:28px;overflow:hidden;border:2px solid rgba(123,47,190,.3);transition:border-color .3s}
.sk-form:focus-within{border-color:#7B2FBE}
.sk-form input{flex:1;padding:9px 18px;background:rgba(13,27,42,.5);border:none;color:#eee;font-size:.92rem;outline:none}
.sk-form input::placeholder{color:#666}
.sk-form button{padding:9px 22px;background:linear-gradient(135deg,#7B2FBE,#FF6B9D);border:none;color:#fff;font-size:.88rem;cursor:pointer;transition:opacity .3s}
.sk-form button:hover{opacity:.85}
/* --- Hero Banner --- */
.bn-hero{position:relative;width:100%;min-height:500px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:64px}
.bn-hero .bn-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.5)}
.bn-hero .bn-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,27,42,.2) 0%,rgba(13,27,42,.88) 100%)}
.bn-body{position:relative;z-index:2;text-align:center;padding:36px 20px;max-width:780px}
.bn-body h1{font-size:2.5rem;margin-bottom:14px;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.bn-body h1 .hl{background:linear-gradient(135deg,#7B2FBE,#FF6B9D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.bn-body p{font-size:1.05rem;color:#ccc;margin-bottom:22px;line-height:1.8}
.bn-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:14px}
.bn-tags span{padding:5px 14px;border-radius:18px;background:rgba(123,47,190,.15);color:#FF6B9D;font-size:.82rem;border:1px solid rgba(123,47,190,.25)}
/* --- Section Title --- */
.sec-title{text-align:center;margin-bottom:36px}
.sec-title h2{font-size:1.8rem;margin-bottom:8px}
.sec-title h2 .hl{color:#FF6B9D}
.sec-title p{color:#999;font-size:.95rem}
section{padding:52px 0}
section:nth-child(even){background:rgba(123,47,190,.04)}
/* --- Video Card Grid --- */
.vd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.vd-card{background:rgba(20,35,55,.7);border-radius:12px;overflow:hidden;border:1px solid rgba(123,47,190,.12);transition:transform .3s,box-shadow .3s}
.vd-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(123,47,190,.18)}
.vd-card .thumb{position:relative;width:100%;padding-top:56.25%;overflow:hidden;cursor:pointer}
.vd-card .thumb video,.vd-card .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vd-card .thumb .pbtn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;background:rgba(123,47,190,.75);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;pointer-events:none}
.vd-card .thumb .pbtn::after{content:"";border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:4px}
.vd-card:hover .thumb .pbtn{opacity:1}
.vd-card .thumb .dur{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem}
.vd-card .vd-info{padding:14px}
.vd-card .vd-info h3{font-size:.95rem;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vd-card .vd-info .vd-desc{font-size:.82rem;color:#999;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vd-card .vd-info .vd-meta{display:flex;justify-content:space-between;font-size:.78rem;color:#777}
.vd-card .vd-info .vd-meta .likes{color:#FF6B9D}
/* --- Module Grid --- */
.md-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.md-card{background:rgba(20,35,55,.6);border-radius:12px;padding:28px 22px;border:1px solid rgba(123,47,190,.1);transition:transform .3s,border-color .3s;text-align:center}
.md-card:hover{transform:translateY(-3px);border-color:rgba(255,107,157,.3)}
.md-card .md-icon{font-size:2.2rem;margin-bottom:12px}
.md-card h3{font-size:1rem;margin-bottom:8px;color:#fff}
.md-card p{font-size:.85rem;color:#999;line-height:1.6}
/* --- Expert Grid --- */
.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.ex-card{background:rgba(20,35,55,.7);border-radius:12px;overflow:hidden;border:1px solid rgba(123,47,190,.1);transition:transform .3s}
.ex-card:hover{transform:translateY(-3px)}
.ex-card .ex-img{width:100%;height:200px;object-fit:cover}
.ex-card .ex-body{padding:16px}
.ex-card .ex-body h3{font-size:1rem;margin-bottom:4px}
.ex-card .ex-body .ex-role{color:#FF6B9D;font-size:.82rem;margin-bottom:8px}
.ex-card .ex-body p{font-size:.82rem;color:#999;margin-bottom:10px}
.ex-card .ex-body .ex-links{display:flex;gap:8px}
.ex-card .ex-body .ex-links a{padding:5px 12px;border-radius:6px;font-size:.78rem;border:1px solid rgba(123,47,190,.3);color:#FF6B9D;transition:all .3s}
.ex-card .ex-body .ex-links a:hover{background:rgba(123,47,190,.15)}
/* --- FAQ --- */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid rgba(123,47,190,.12);padding:16px 0}
.faq-q{font-size:1rem;font-weight:600;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-q .arrow{transition:transform .3s;color:#FF6B9D;font-size:1.2rem}
.faq-item.open .faq-q .arrow{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0}
.faq-item.open .faq-a{max-height:500px;padding:12px 0 0}
.faq-a p{font-size:.9rem;color:#bbb;line-height:1.7}
/* --- Review --- */
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.rv-card{background:rgba(20,35,55,.6);border-radius:12px;padding:22px;border:1px solid rgba(123,47,190,.1)}
.rv-card .rv-stars{color:#FFD700;margin-bottom:8px;font-size:.9rem}
.rv-card .rv-text{font-size:.88rem;color:#ccc;line-height:1.7;margin-bottom:12px;font-style:italic}
.rv-card .rv-user{display:flex;align-items:center;gap:10px}
.rv-card .rv-user .rv-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7B2FBE,#FF6B9D);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;font-weight:700}
.rv-card .rv-user .rv-name{font-size:.82rem;color:#999}
/* --- Partner Wall --- */
.pw-wall{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;padding:20px 0}
.pw-item{background:rgba(20,35,55,.5);border-radius:10px;padding:16px 28px;border:1px solid rgba(123,47,190,.1);font-size:.9rem;color:#bbb;transition:border-color .3s}
.pw-item:hover{border-color:rgba(255,107,157,.3)}
/* --- Contact --- */
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.ct-card{background:rgba(20,35,55,.6);border-radius:12px;padding:24px;border:1px solid rgba(123,47,190,.1);text-align:center}
.ct-card h3{font-size:1rem;margin-bottom:10px;color:#FF6B9D}
.ct-card p{font-size:.85rem;color:#bbb;line-height:1.8}
.ct-card img{max-width:140px;margin:10px auto 0;border-radius:8px}
/* --- HowTo --- */
.ht-steps{max-width:700px;margin:0 auto;counter-reset:step}
.ht-step{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid rgba(123,47,190,.08)}
.ht-step::before{counter-increment:step;content:counter(step);flex-shrink:0;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7B2FBE,#FF6B9D);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem}
.ht-step div h3{font-size:.95rem;margin-bottom:4px;color:#fff}
.ht-step div p{font-size:.85rem;color:#999}
/* --- Share --- */
.sh-bar{display:flex;justify-content:center;gap:12px;padding:16px 0}
.sh-btn{padding:8px 18px;border-radius:20px;font-size:.82rem;border:1px solid rgba(123,47,190,.2);color:#ccc;transition:all .3s;cursor:pointer}
.sh-btn:hover{background:rgba(123,47,190,.15);color:#FF6B9D;border-color:#FF6B9D}
/* --- EEAT --- */
.eeat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.eeat-card{background:rgba(20,35,55,.5);border-radius:10px;padding:20px;border:1px solid rgba(123,47,190,.08);text-align:center}
.eeat-card h4{color:#FF6B9D;margin-bottom:6px;font-size:.95rem}
.eeat-card p{font-size:.82rem;color:#999}
/* --- Breadcrumb --- */
.bc-nav{padding:10px 0;font-size:.82rem;color:#777}
.bc-nav a{color:#FF6B9D}
.bc-nav span{margin:0 6px;color:#555}
/* --- Inner Hero --- */
.in-hero{background:linear-gradient(135deg,rgba(123,47,190,.15),rgba(255,107,157,.08));padding:48px 0 36px;margin-top:64px;text-align:center}
.in-hero h1{font-size:2rem;margin-bottom:10px}
.in-hero p{color:#999;font-size:.95rem}
/* --- Buttons --- */
.btn-p{display:inline-block;padding:10px 24px;border-radius:24px;background:linear-gradient(135deg,#7B2FBE,#FF6B9D);color:#fff;font-size:.9rem;transition:opacity .3s;border:none;cursor:pointer}
.btn-p:hover{opacity:.85}
.btn-o{display:inline-block;padding:10px 24px;border-radius:24px;border:1px solid rgba(123,47,190,.4);color:#FF6B9D;font-size:.9rem;transition:all .3s;cursor:pointer;background:transparent}
.btn-o:hover{background:rgba(123,47,190,.1)}
/* --- Footer --- */
.ft-wrap{background:rgba(8,18,30,.95);border-top:1px solid rgba(123,47,190,.15);padding:40px 0 20px}
.ft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;margin-bottom:24px}
.ft-col h4{font-size:.95rem;color:#FF6B9D;margin-bottom:12px}
.ft-col p,.ft-col a{font-size:.82rem;color:#999;line-height:2}
.ft-col a:hover{color:#FF6B9D}
.ft-bottom{text-align:center;padding-top:20px;border-top:1px solid rgba(123,47,190,.1);font-size:.8rem;color:#666}
.ft-bottom .up-time{color:#FF6B9D;margin-top:6px}
.ft-bottom .ft-logo{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}
.ft-bottom .ft-logo img{height:30px}
/* --- Responsive --- */
@media(max-width:768px){
  .hd-nav{position:fixed;top:64px;left:0;width:100%;background:rgba(13,27,42,.98);flex-direction:column;padding:16px;gap:4px;transform:translateY(-120%);transition:transform .35s;z-index:999}
  .hd-nav.open{transform:translateY(0)}
  .hd-toggle{display:flex}
  .bn-body h1{font-size:1.8rem}
  .vd-grid,.md-grid,.ex-grid,.rv-grid,.ct-grid,.eeat-grid{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr}
  section{padding:36px 0}
}
@media(max-width:480px){
  .ft-grid{grid-template-columns:1fr}
  .bn-body h1{font-size:1.5rem}
  .hd-logo span{font-size:1rem}
}
