/* =============================================
   每日大赛官网 - 温暖治愈·自然生活·人文气息
   www.aer4ps.cn
   ============================================= */

:root {
    --primary:    #8B7355;
    --primary-lt: #D2B48C;
    --accent:     #C8A87A;
    --text:       #4A4A4A;
    --text-lt:    #777;
    --bg:         #FDFBF7;
    --bg-card:    #FFFFFF;
    --border:     #EAE3D8;
    --white:      #FFFFFF;
    --shadow:     0 4px 20px rgba(139,115,85,.08);
    --radius:     10px;
    --transition: .3s ease;
}

/* ---- Reset ---- */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.9;
    font-size:16px;
}
a { text-decoration:none; color:var(--primary); transition:color var(--transition); }
a:hover { color:var(--accent); }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }

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

/* =============================================
   HEADER
   ============================================= */
header {
    background:var(--white);
    box-shadow:0 2px 12px rgba(0,0,0,.06);
    position:sticky; top:0; z-index:200;
}
.header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:76px;
    gap:20px;
}
.logo img { height:52px; width:auto; }

nav ul { display:flex; gap:32px; }
nav a {
    font-size:15px; font-weight:500;
    color:var(--text);
    padding-bottom:4px;
    border-bottom:2px solid transparent;
    transition:color var(--transition), border-color var(--transition);
}
nav a:hover, nav a.active {
    color:var(--primary);
    border-bottom-color:var(--primary);
}

.nav-toggle {
    display:none;
    background:none; border:none;
    font-size:22px; cursor:pointer;
    color:var(--text);
}

/* Search Bar */
.search-bar {
    background:var(--bg);
    border-top:1px solid var(--border);
    padding:10px 0;
}
.search-box {
    display:flex;
    max-width:600px;
    margin:0 auto;
}
.search-box input {
    flex:1;
    padding:10px 18px;
    border:1px solid var(--border);
    border-right:none;
    border-radius:25px 0 0 25px;
    outline:none;
    font-size:14px;
    background:var(--white);
    color:var(--text);
}
.search-box input:focus { border-color:var(--primary-lt); }
.search-box button {
    display:flex; align-items:center; gap:6px;
    padding:10px 22px;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:0 25px 25px 0;
    cursor:pointer;
    font-size:14px;
    transition:background var(--transition);
}
.search-box button:hover { background:var(--accent); }

/* =============================================
   MAIN CONTENT
   ============================================= */
main { padding-bottom:80px; }

/* Section shared */
section { margin-bottom:80px; }
section h2 {
    text-align:center;
    font-size:28px; font-weight:400;
    color:var(--primary);
    margin-bottom:14px;
    letter-spacing:.5px;
}
section h2::after {
    content:'';
    display:block;
    width:50px; height:2px;
    background:var(--primary-lt);
    margin:12px auto 0;
}
.section-sub {
    text-align:center;
    color:var(--text-lt);
    font-size:15px;
    margin-bottom:40px;
}
.update-time {
    text-align:right;
    font-size:13px;
    color:#bbb;
    margin-top:30px;
}

/* Buttons */
.btn-primary {
    display:inline-block;
    padding:13px 36px;
    background:var(--primary);
    color:var(--white);
    border-radius:30px;
    font-size:15px;
    transition:background var(--transition), transform var(--transition);
}
.btn-primary:hover { background:var(--accent); color:var(--white); transform:translateY(-2px); }
.btn-outline {
    display:inline-block;
    padding:11px 32px;
    border:2px solid var(--primary);
    color:var(--primary);
    border-radius:30px;
    font-size:15px;
    transition:all var(--transition);
}
.btn-outline:hover { background:var(--primary); color:var(--white); }

/* =============================================
   BANNER
   ============================================= */
.banner { position:relative; margin-bottom:0; }
.banner img {
    width:100%; height:520px;
    object-fit:cover;
}
.banner-overlay {
    position:absolute; inset:0;
    background:linear-gradient(135deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.15) 100%);
    display:flex; align-items:center; justify-content:center;
}
.banner-text {
    text-align:center;
    color:var(--white);
    max-width:900px;
    padding:40px 30px;
}
.banner-text h1 {
    font-size:38px; font-weight:300;
    letter-spacing:3px;
    margin-bottom:16px;
    text-shadow:0 2px 8px rgba(0,0,0,.3);
}
.banner-sub {
    font-size:17px; font-weight:300;
    margin-bottom:36px;
    opacity:.9;
}
.banner-slogans {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-bottom:36px;
    text-align:left;
}
.slogan-item {
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25);
    border-radius:var(--radius);
    padding:16px;
    backdrop-filter:blur(4px);
}
.slogan-item strong { font-size:12px; opacity:.7; display:block; margin-bottom:6px; }
.slogan-item p { font-size:14px; line-height:1.6; }
.slogan-item span { font-size:12px; opacity:.75; }

/* =============================================
   PHILOSOPHY
   ============================================= */
.philosophy { padding:70px 0 0; }
.philosophy .container { max-width:820px; text-align:center; }
.philosophy p {
    font-size:17px;
    color:#666;
    text-indent:2em;
    text-align:left;
    margin-bottom:16px;
}

/* =============================================
   VIDEO CARDS
   ============================================= */
.video-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:28px;
}
.video-card {
    background:var(--bg-card);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:transform var(--transition), box-shadow var(--transition);
}
.video-card:hover {
    transform:translateY(-6px);
    box-shadow:0 12px 32px rgba(139,115,85,.14);
}
.video-thumbnail {
    position:relative;
    height:210px;
    overflow:hidden;
    cursor:pointer;
}
.video-thumbnail img {
    width:100%; height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}
.video-card:hover .video-thumbnail img { transform:scale(1.06); }
.play-btn {
    position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%);
    width:62px; height:62px;
    background:rgba(255,255,255,.88);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--primary);
    opacity:0;
    transition:opacity var(--transition), transform var(--transition);
    pointer-events:none;
}
.play-btn:hover { transform:translate(-50%,-50%) scale(1.1); }
.video-badge {
    position:absolute; top:12px; left:12px;
    background:var(--primary);
    color:var(--white);
    font-size:12px;
    padding:3px 10px;
    border-radius:20px;
}
.video-info { padding:20px; }
.video-info h3 { font-size:17px; font-weight:500; margin-bottom:8px; }
.video-info h3 a { color:var(--text); }
.video-info h3 a:hover { color:var(--primary); }
.video-meta { font-size:13px; color:#aaa; margin-bottom:8px; }
.video-desc { font-size:14px; color:#666; margin-bottom:14px; line-height:1.7; }
.tags { display:flex; flex-wrap:wrap; gap:6px; }
.tag {
    display:inline-block;
    padding:3px 10px;
    background:var(--bg);
    color:var(--primary);
    font-size:12px;
    border-radius:4px;
    border:1px solid var(--border);
}
.section-more { text-align:center; margin-top:40px; }

/* Video Filter */
.video-filter {
    display:flex; flex-wrap:wrap; gap:10px;
    margin-bottom:32px;
}
.filter-btn {
    padding:8px 22px;
    border:1px solid var(--border);
    background:var(--white);
    color:var(--text-lt);
    border-radius:20px;
    cursor:pointer;
    font-size:14px;
    transition:all var(--transition);
}
.filter-btn:hover, .filter-btn.active {
    background:var(--primary);
    color:var(--white);
    border-color:var(--primary);
}

/* =============================================
   STATS
   ============================================= */
.stats {
    background:linear-gradient(135deg, #f5ede0 0%, #fdf8f2 100%);
    padding:60px 0;
    margin-bottom:80px;
}
.stats-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    text-align:center;
}
.stat-item { padding:30px 10px; }
.stat-num {
    display:block;
    font-size:40px; font-weight:700;
    color:var(--primary);
    margin-bottom:8px;
}
.stat-label { font-size:15px; color:var(--text-lt); }

/* =============================================
   CRAFTSMEN
   ============================================= */
.craftsman-list {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:48px;
    text-align:center;
}
.craftsman-item img {
    width:180px; height:180px;
    border-radius:50%;
    object-fit:cover;
    margin:0 auto 20px;
    border:5px solid var(--white);
    box-shadow:0 6px 20px rgba(139,115,85,.15);
}
.craftsman-item h3 { color:var(--primary); margin-bottom:12px; font-size:18px; }
.craftsman-item p { color:#666; font-size:15px; line-height:1.8; }

/* =============================================
   MEDIA
   ============================================= */
.media-list {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:24px;
}
.media-item {
    background:var(--bg-card);
    border-radius:var(--radius);
    padding:28px;
    border-left:4px solid var(--primary-lt);
    box-shadow:var(--shadow);
}
.media-item h4 { color:var(--primary); margin-bottom:10px; font-size:16px; }
.media-item p { color:#666; font-size:15px; font-style:italic; line-height:1.7; }

/* =============================================
   JOIN
   ============================================= */
.join {
    background:var(--bg);
    text-align:center;
    padding:60px 0;
}
.join .container { max-width:800px; }
.join p { color:#666; margin-bottom:36px; font-size:16px; }
.join-channels {
    display:flex; flex-wrap:wrap;
    justify-content:center;
    gap:16px;
    margin-bottom:36px;
}
.channel-item {
    display:flex; align-items:center; gap:8px;
    background:var(--white);
    padding:12px 22px;
    border-radius:30px;
    box-shadow:var(--shadow);
    font-size:14px;
}
.channel-icon { font-size:20px; }

/* =============================================
   REVIEWS
   ============================================= */
.review-list {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:20px;
}
.review-item {
    background:var(--bg-card);
    padding:28px;
    border-radius:var(--radius);
    border-left:4px solid var(--primary-lt);
    box-shadow:var(--shadow);
}
.review-stars { color:#F4A62A; font-size:16px; margin-bottom:10px; }
.review-item p { font-style:italic; color:#555; font-size:15px; line-height:1.8; margin-bottom:12px; }
.review-item cite { font-size:13px; color:#aaa; font-style:normal; }

/* =============================================
   FAQ
   ============================================= */
.faq-list { max-width:820px; margin:0 auto; }
.faq-item {
    background:var(--bg-card);
    border-radius:var(--radius);
    margin-bottom:14px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
.faq-item summary {
    padding:20px 24px;
    cursor:pointer;
    list-style:none;
    display:flex; align-items:center; justify-content:space-between;
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary h3 {
    font-size:16px; font-weight:500;
    color:var(--primary);
    margin:0;
}
.faq-item summary::after {
    content:'+';
    font-size:22px;
    color:var(--primary-lt);
    transition:transform var(--transition);
}
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-item p {
    padding:0 24px 20px;
    color:#666; font-size:15px; line-height:1.8;
}
.faq-item a { color:var(--primary); text-decoration:underline; }

/* =============================================
   CONTACT CTA
   ============================================= */
.contact-cta {
    background:linear-gradient(135deg,#f5ede0 0%,#fdf8f2 100%);
    padding:60px 0;
    text-align:center;
}
.contact-cta .container { max-width:900px; }
.contact-cta p { color:#666; margin-bottom:36px; }
.contact-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:36px;
}
.contact-item {
    background:var(--white);
    padding:30px 20px;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}
.contact-icon { font-size:28px; margin-bottom:12px; }
.contact-item h3, .contact-item h4 {
    color:var(--primary);
    margin-bottom:10px;
    font-size:16px;
}
.contact-item p { color:#666; font-size:15px; }
.contact-item small { font-size:13px; color:#aaa; }

/* =============================================
   ABOUT PAGE
   ============================================= */
.about-story { padding-top:20px; }
.about-story .container { max-width:860px; }
.about-story h1 {
    font-size:32px; font-weight:400;
    color:var(--primary);
    margin-bottom:28px;
    text-align:center;
}
.about-story p {
    font-size:16px; color:#555;
    text-indent:2em;
    margin-bottom:18px;
    line-height:1.9;
}
.about-story img {
    width:100%; border-radius:var(--radius);
    margin-top:30px;
    box-shadow:var(--shadow);
}

/* =============================================
   CONTACT PAGE
   ============================================= */
.contact-info { padding-top:20px; }
.contact-info .container { max-width:900px; }
.contact-info h1 {
    font-size:32px; font-weight:400;
    color:var(--primary);
    margin-bottom:20px;
    text-align:center;
}
.contact-info > .container > p {
    text-align:center; color:#666;
    margin-bottom:48px;
}
.contact-details {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:24px;
    margin-bottom:60px;
}

/* Social Share */
.social-share { text-align:center; }
.social-share h3 { color:var(--primary); margin-bottom:20px; font-size:20px; }
.social-list {
    display:flex; flex-wrap:wrap;
    justify-content:center;
    gap:14px;
}
.social-item {
    display:flex; align-items:center; gap:8px;
    padding:12px 22px;
    background:var(--white);
    border-radius:30px;
    box-shadow:var(--shadow);
    font-size:14px;
    color:var(--text);
    transition:all var(--transition);
    border:1px solid var(--border);
}
.social-item:hover {
    background:var(--primary);
    color:var(--white);
    border-color:var(--primary);
    transform:translateY(-2px);
}
.social-icon { font-size:18px; }

/* =============================================
   BREADCRUMB
   ============================================= */
.breadcrumb {
    padding:16px 0;
    font-size:14px;
    color:#aaa;
    border-bottom:1px solid var(--border);
    margin-bottom:40px;
}
.breadcrumb a { color:#888; }
.breadcrumb a:hover { color:var(--primary); }
.breadcrumb span { color:var(--primary); margin:0 6px; }

/* =============================================
   FOOTER
   ============================================= */
footer {
    background:var(--white);
    border-top:1px solid var(--border);
    padding:50px 0 30px;
}
.footer-top {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;
    margin-bottom:40px;
    padding-bottom:40px;
    border-bottom:1px solid var(--border);
}
.footer-brand img { height:44px; width:auto; margin-bottom:14px; }
.footer-brand p { font-size:14px; color:#888; line-height:1.8; }
.footer-links h4, .footer-social h4 {
    font-size:15px; font-weight:600;
    color:var(--primary);
    margin-bottom:16px;
}
.footer-links ul li, .footer-social ul li { margin-bottom:10px; }
.footer-links a, .footer-social a {
    font-size:14px; color:#888;
}
.footer-links a:hover, .footer-social a:hover { color:var(--primary); }
.footer-bottom {
    text-align:center;
}
.footer-bottom p { font-size:13px; color:#bbb; margin-bottom:5px; }
.footer-bottom a { color:#aaa; }
.footer-bottom a:hover { color:var(--primary); }

/* =============================================
   VIDEO LIST PAGE
   ============================================= */
.video-list { padding-top:20px; }
.video-list h1 {
    font-size:30px; font-weight:400;
    color:var(--primary);
    margin-bottom:14px;
    text-align:center;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width:900px) {
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .contact-grid { grid-template-columns:1fr; }
    .footer-top { grid-template-columns:1fr 1fr; }
    .footer-brand { grid-column:1/-1; }
    .banner-slogans { grid-template-columns:1fr; }
}

@media (max-width:768px) {
    .header-inner { flex-wrap:wrap; height:auto; padding:14px 0; }
    nav { display:none; width:100%; }
    nav.open { display:block; }
    nav ul { flex-direction:column; gap:0; }
    nav a { display:block; padding:12px 0; border-bottom:1px solid var(--border); }
    nav a.active, nav a:hover { border-bottom-color:var(--primary); }
    .nav-toggle { display:block; }

    .banner img { height:320px; }
    .banner-text h1 { font-size:24px; }
    .banner-sub { font-size:14px; }
    .banner-slogans { display:none; }

    .video-grid { grid-template-columns:1fr; }
    .craftsman-list { grid-template-columns:1fr; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .footer-top { grid-template-columns:1fr; }
    .contact-details { grid-template-columns:1fr; }
}

@media (max-width:480px) {
    .stats-grid { grid-template-columns:1fr 1fr; }
    .stat-num { font-size:30px; }
    section h2 { font-size:22px; }
    .banner-text h1 { font-size:20px; }
}
