/* ============================================
   糖心vlog - 原创样式表
   品牌色系：糖心粉 #FF6B9D / 深玫红 #C44569 / 暖金 #F8B500
   ============================================ */

/* --- Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;color:#2D2D3A;background:#FFF5F7;line-height:1.7;overflow-x:hidden}
a{color:#C44569;text-decoration:none;transition:color .3s}
a:hover{color:#FF6B9D}
img{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:#1A1A2E}

/* --- Container --- */
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.section-padding{padding:70px 0}

/* --- Header / Nav --- */
.site-header{background:#fff;box-shadow:0 2px 16px rgba(26,26,46,.06);position:sticky;top:0;z-index:1000;transition:box-shadow .3s}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo-wrap{display:flex;align-items:center;gap:10px}
.logo-wrap img{height:42px;width:auto}
.logo-text{font-size:1.25rem;font-weight:800;color:#C44569;letter-spacing:1px}
.main-nav{display:flex;align-items:center;gap:6px}
.main-nav a{padding:8px 16px;border-radius:8px;font-size:.95rem;font-weight:500;color:#2D2D3A;transition:all .3s}
.main-nav a:hover,.main-nav a.active{background:linear-gradient(135deg,#FF6B9D,#C44569);color:#fff}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.nav-toggle span{width:24px;height:2px;background:#2D2D3A;border-radius:2px;transition:all .3s}

/* --- Search Bar --- */
.search-bar{background:linear-gradient(135deg,#FF6B9D22,#F8B50022);padding:14px 0}
.search-wrap{display:flex;align-items:center;max-width:600px;margin:0 auto;background:#fff;border-radius:40px;overflow:hidden;box-shadow:0 2px 12px rgba(255,107,157,.12)}
.search-wrap input{flex:1;border:none;outline:none;padding:12px 24px;font-size:.95rem;background:transparent;color:#2D2D3A}
.search-wrap button{background:linear-gradient(135deg,#FF6B9D,#C44569);border:none;color:#fff;padding:12px 28px;cursor:pointer;font-size:.95rem;font-weight:600;transition:opacity .3s}
.search-wrap button:hover{opacity:.85}

/* --- Hero Banner --- */
.hero{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#1A1A2E}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.55);transition:transform 8s ease}
.hero:hover .hero-bg{transform:scale(1.04)}
.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:40px 20px}
.hero h1{font-size:2.8rem;margin-bottom:16px;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.hero h1 em{font-style:normal;color:#F8B500}
.hero p{font-size:1.15rem;max-width:640px;margin:0 auto 28px;opacity:.92;line-height:1.8}
.hero-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px}
.hero-tags span{background:rgba(255,255,255,.15);backdrop-filter:blur(6px);padding:6px 18px;border-radius:20px;font-size:.85rem;border:1px solid rgba(255,255,255,.2)}
.btn-primary{display:inline-block;background:linear-gradient(135deg,#FF6B9D,#C44569);color:#fff;padding:14px 36px;border-radius:30px;font-weight:600;font-size:1rem;transition:all .3s;box-shadow:0 4px 20px rgba(196,69,105,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(196,69,105,.45);color:#fff}
.btn-outline{display:inline-block;border:2px solid #fff;color:#fff;padding:12px 32px;border-radius:30px;font-weight:600;font-size:1rem;transition:all .3s;margin-left:12px}
.btn-outline:hover{background:#fff;color:#C44569}

/* --- Section Titles --- */
.section-title{text-align:center;margin-bottom:48px}
.section-title h2{font-size:2rem;margin-bottom:10px;position:relative;display:inline-block}
.section-title h2::after{content:"";display:block;width:60px;height:4px;background:linear-gradient(135deg,#FF6B9D,#F8B500);border-radius:4px;margin:12px auto 0}
.section-title p{color:#6B6B80;font-size:1rem;max-width:560px;margin:0 auto}

/* --- Video Cards Grid --- */
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.video-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(26,26,46,.06);transition:all .35s;position:relative}
.video-card:hover{transform:translateY(-6px);box-shadow:0 12px 36px rgba(255,107,157,.15)}
.video-thumb{position:relative;padding-top:56.25%;overflow:hidden;background:#1A1A2E}
.video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.video-card:hover .video-thumb img{transform:scale(1.06)}
.play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .35s;background:rgba(26,26,46,.35)}
.video-card:hover .play-btn{opacity:1}
.play-btn svg{width:56px;height:56px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}
.video-duration{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem}
.video-info{padding:16px}
.video-info h3{font-size:1rem;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.video-meta{display:flex;align-items:center;gap:14px;color:#6B6B80;font-size:.82rem}
.video-meta span{display:flex;align-items:center;gap:4px}
.video-tag{display:inline-block;background:#FF6B9D15;color:#C44569;padding:3px 10px;border-radius:12px;font-size:.75rem;margin-top:8px}

/* --- Service / Feature Cards --- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.feature-card{background:#fff;border-radius:16px;padding:32px 24px;text-align:center;box-shadow:0 4px 20px rgba(26,26,46,.05);transition:all .35s;border:1px solid transparent}
.feature-card:hover{border-color:#FF6B9D;transform:translateY(-4px);box-shadow:0 8px 30px rgba(255,107,157,.12)}
.feature-icon{width:64px;height:64px;margin:0 auto 18px;background:linear-gradient(135deg,#FF6B9D22,#F8B50022);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.feature-card h3{font-size:1.1rem;margin-bottom:10px}
.feature-card p{color:#6B6B80;font-size:.9rem;line-height:1.6}

/* --- Expert Section --- */
.expert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.expert-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(26,26,46,.06);transition:all .35s;text-align:center}
.expert-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(255,107,157,.12)}
.expert-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;margin:24px auto 14px;border:3px solid #FF6B9D}
.expert-card h3{font-size:1.05rem;margin-bottom:4px}
.expert-role{color:#C44569;font-size:.85rem;margin-bottom:10px}
.expert-desc{color:#6B6B80;font-size:.85rem;padding:0 20px 8px;line-height:1.6}
.expert-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:0 16px 16px}
.expert-tags span{background:#FF6B9D12;color:#C44569;padding:3px 10px;border-radius:10px;font-size:.75rem}
.expert-actions{display:flex;justify-content:center;gap:10px;padding:0 16px 20px}
.expert-actions a{padding:8px 18px;border-radius:20px;font-size:.82rem;font-weight:500}
.btn-sm-primary{background:linear-gradient(135deg,#FF6B9D,#C44569);color:#fff}
.btn-sm-outline{border:1px solid #C44569;color:#C44569}
.btn-sm-outline:hover{background:#C44569;color:#fff}

/* --- Brand Wall --- */
.brand-wall{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:36px;padding:20px 0}
.brand-wall-item{width:120px;height:60px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(26,26,46,.05);padding:10px;filter:grayscale(.6);opacity:.7;transition:all .3s}
.brand-wall-item:hover{filter:grayscale(0);opacity:1}

/* --- FAQ Section --- */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:#fff;border-radius:12px;margin-bottom:14px;box-shadow:0 2px 12px rgba(26,26,46,.04);overflow:hidden}
.faq-q{padding:18px 24px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .3s}
.faq-q:hover{background:#FF6B9D08}
.faq-q::after{content:"+";font-size:1.4rem;color:#C44569;transition:transform .3s}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;padding:0 24px;color:#6B6B80;font-size:.92rem;line-height:1.7}
.faq-item.open .faq-a{max-height:300px;padding:0 24px 18px}

/* --- Reviews --- */
.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.review-card{background:#fff;border-radius:16px;padding:28px 24px;box-shadow:0 4px 20px rgba(26,26,46,.05);position:relative}
.review-card::before{content:"\201C";position:absolute;top:12px;left:18px;font-size:3rem;color:#FF6B9D30;font-family:Georgia,serif;line-height:1}
.review-stars{color:#F8B500;margin-bottom:10px;font-size:1rem;letter-spacing:2px}
.review-text{color:#2D2D3A;font-size:.92rem;line-height:1.7;margin-bottom:14px}
.review-author{display:flex;align-items:center;gap:10px}
.review-author-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#FF6B9D,#F8B500);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem}
.review-author-info{font-size:.85rem}
.review-author-info strong{display:block;color:#1A1A2E}
.review-author-info span{color:#6B6B80}

/* --- Contact Section --- */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}
.contact-card{background:#fff;border-radius:16px;padding:28px 24px;text-align:center;box-shadow:0 4px 20px rgba(26,26,46,.05)}
.contact-card h4{font-size:1.05rem;margin-bottom:12px;color:#C44569}
.contact-card p{color:#6B6B80;font-size:.9rem;line-height:1.6}
.contact-card img{max-width:160px;margin:12px auto 0;border-radius:8px}

/* --- How-To Guide --- */
.howto-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;margin-top:28px}
.howto-step{text-align:center;padding:24px 16px}
.step-num{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#FF6B9D,#C44569);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;margin:0 auto 14px}
.howto-step h4{font-size:1rem;margin-bottom:8px}
.howto-step p{color:#6B6B80;font-size:.85rem;line-height:1.6}

/* --- Footer --- */
.site-footer{background:#1A1A2E;color:#fff;padding:50px 0 0}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px;margin-bottom:36px}
.footer-col h4{font-size:1.05rem;margin-bottom:16px;position:relative;padding-bottom:10px}
.footer-col h4::after{content:"";position:absolute;bottom:0;left:0;width:36px;height:3px;background:linear-gradient(135deg,#FF6B9D,#F8B500);border-radius:3px}
.footer-col p,.footer-col a{color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.8}
.footer-col a:hover{color:#FF6B9D}
.footer-col ul li{margin-bottom:8px}
.footer-col img{border-radius:8px;margin-top:8px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;text-align:center;color:rgba(255,255,255,.5);font-size:.85rem}
.footer-bottom a{color:#FF6B9D}

/* --- Social Share --- */
.share-bar{display:flex;justify-content:center;gap:14px;padding:20px 0}
.share-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;transition:all .3s;cursor:pointer}
.share-btn:hover{transform:translateY(-3px)}
.share-wechat{background:#07C160}
.share-weibo{background:#E6162D}
.share-douyin{background:#161823}
.share-bilibili{background:#00A1D6}

/* --- Breadcrumb --- */
.breadcrumb{padding:14px 0;font-size:.85rem;color:#6B6B80}
.breadcrumb a{color:#C44569}
.breadcrumb span{margin:0 6px;color:#aaa}

/* --- Dark Section --- */
.dark-section{background:#1A1A2E;color:#fff}
.dark-section .section-title h2{color:#fff}
.dark-section .section-title p{color:rgba(255,255,255,.7)}

/* --- Lazy Load --- */
img[data-src]{opacity:0;transition:opacity .5s}
img.loaded{opacity:1}

/* --- Responsive --- */
@media(max-width:768px){
  .header-inner{flex-wrap:wrap}
  .main-nav{display:none;width:100%;flex-direction:column;padding:10px 0;gap:4px}
  .main-nav.open{display:flex}
  .nav-toggle{display:flex}
  .hero{min-height:380px}
  .hero h1{font-size:1.8rem}
  .hero p{font-size:.95rem}
  .video-grid,.feature-grid,.expert-grid,.review-grid,.contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .section-padding{padding:40px 0}
  .section-title h2{font-size:1.5rem}
  .btn-outline{margin-left:0;margin-top:10px}
  .hero-content .btn-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
  .brand-wall{gap:18px}
  .brand-wall-item{width:90px;height:45px}
}

/* --- Animations --- */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.fade-in{opacity:0;transform:translateY(30px);transition:all .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* --- Today Video Pick --- */
.today-video-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 24px rgba(26,26,46,.06)}
.today-video-player{position:relative;background:#1A1A2E;border-radius:16px 0 0 16px;overflow:hidden}
.today-video-player video{width:100%;display:block;border-radius:16px 0 0 16px}
.today-video-info{padding:28px 28px 28px 0}
.today-video-info h3{font-size:1.15rem;margin-bottom:10px;color:#1A1A2E}
.today-meta{color:#6B6B80;font-size:.82rem;margin-bottom:14px}
.today-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.today-tags span{background:#FF6B9D12;color:#C44569;padding:4px 12px;border-radius:14px;font-size:.78rem}
@media(max-width:768px){
  .today-video-wrap{grid-template-columns:1fr}
  .today-video-player{border-radius:16px 16px 0 0}
  .today-video-player video{border-radius:16px 16px 0 0}
  .today-video-info{padding:20px}
}

/* --- Utility --- */
.text-center{text-align:center}
.text-pink{color:#FF6B9D}
.text-gold{color:#F8B500}
.bg-light{background:#FFF5F7}
.bg-white{background:#fff}
.mt-20{margin-top:20px}
.mb-20{margin-bottom:20px}
.pt-20{padding-top:20px}
.pb-20{padding-bottom:20px}
