/* 玫瑰 主题 - 基于 backyardcows.com 视觉风格 */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;800;900&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    --byc-primary: #8d1c41;
    --byc-primary-dark: #4a0e23;
    --byc-accent: #ec4899;
    --byc-gradient1: #ec4899;
    --byc-gradient2: #f472b6;
    --byc-bg: #ffffff;
    --byc-sub-bg: #f7f7fd;
    --byc-text: #2b044d;
    --byc-text2: #707b8e;
    --byc-border: #e5e7eb;
    --byc-dark1: #4a0e22;
    --byc-dark2: #8d1c41;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Nunito', 'PingFang SC', 'Microsoft YaHei', sans-serif; color: var(--byc-text); background: var(--byc-bg); line-height: 1.6; }

/* ========== Header ========== */
.byc-header { background: linear-gradient(to right, var(--byc-gradient1), var(--byc-gradient2)); position: sticky; top: 0; z-index: 999; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.byc-header .navbar { padding: 10px 0; }
.byc-header .navbar-brand img { max-height: 60px; max-width: 100px; }
.byc-header .nav-link { color: #fff; font-weight: 500; padding: 0.5rem 1rem; transition: 0.3s; }
.byc-header .nav-link:hover { background-color: rgba(255,255,255,0.15); border-radius: 4px; }
.byc-header .btn-outline-light { color: #fff; border-color: #fff; font-weight: 500; transition: 0.3s; }
.byc-header .btn-outline-light:hover { background-color: #fff; color: var(--byc-gradient1); box-shadow: 0 2px 6px rgba(0,0,0,0.2); }

/* ========== Hero ========== */
.byc-hero { background: linear-gradient(135deg, var(--byc-gradient1), var(--byc-gradient2)); color: #fff; padding: 80px 20px; text-align: center; position: relative; overflow: hidden; }
.byc-hero::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%); animation: pulse 15s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.1); opacity: 0.8; } }
.byc-hero-card { position: relative; z-index: 2; max-width: 800px; margin: 0 auto; }
.byc-hero-card img { max-width: 100%; height: auto; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.byc-hero h1 { font-size: 2.5rem; font-weight: 700; margin: 1.5rem 0 1rem; }
.byc-hero p { font-size: 1.1rem; opacity: 0.95; margin-bottom: 2rem; }
.byc-hero .btn-hero-primary, .byc-hero .btn-hero-secondary { padding: 12px 28px; border-radius: 8px; font-weight: 600; transition: 0.3s; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.byc-hero .btn-hero-primary { background: #fff; color: var(--byc-gradient1); }
.byc-hero .btn-hero-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,255,255,0.3); }
.byc-hero .btn-hero-secondary { background: transparent; color: #fff; border: 2px solid #fff; }
.byc-hero .btn-hero-secondary:hover { background: #fff; color: var(--byc-gradient1); }

/* ========== Why Us ========== */
.byc-whyus { padding: 80px 0; background: var(--byc-sub-bg); }
.byc-whyus-header { text-align: center; margin-bottom: 3rem; }
.byc-whyus-header p { color: var(--byc-primary); font-weight: 700; font-size: 1.1rem; margin-bottom: 0.5rem; }
.byc-whyus-header h2 { font-size: 2rem; font-weight: 700; color: var(--byc-text); }
.byc-whyus-card { background: #fff; border-radius: 16px; padding: 2rem; box-shadow: 0 4px 15px rgba(0,0,0,0.05); transition: 0.3s; height: 100%; }
.byc-whyus-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); }
.byc-whyus-card .icon-circle { width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(135deg, var(--byc-gradient1), var(--byc-gradient2)); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.5rem; flex-shrink: 0; }
.byc-whyus-card h5 { font-weight: 700; margin: 1rem 0 0.5rem; color: var(--byc-text); }
.byc-whyus-card p { color: var(--byc-text2); margin: 0; font-size: 0.95rem; }

/* ========== Departments Tab ========== */
.byc-departments { padding: 80px 0; background: #fff; }
.byc-dept-header { text-align: center; margin-bottom: 3rem; }
.byc-dept-header h2 { font-size: 2rem; font-weight: 700; margin-bottom: 0.5rem; }
.byc-dept-header p { color: var(--byc-text2); }
.byc-dept-tabs { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 3rem; }
.byc-dept-tab { padding: 10px 24px; border-radius: 8px; background: var(--byc-sub-bg); color: var(--byc-text); font-weight: 600; cursor: pointer; transition: 0.3s; border: 2px solid transparent; }
.byc-dept-tab.active, .byc-dept-tab:hover { background: linear-gradient(135deg, var(--byc-gradient1), var(--byc-gradient2)); color: #fff; border-color: var(--byc-gradient1); }
.byc-dept-content { display: none; }
.byc-dept-content.active { display: flex; gap: 3rem; align-items: center; }
.byc-dept-text { flex: 1; }
.byc-dept-text h3 { font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; color: var(--byc-primary); }
.byc-dept-text p { color: var(--byc-text2); line-height: 1.8; }
.byc-dept-image { flex: 1; }
.byc-dept-image img { width: 100%; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); }

/* ========== Update ========== */
.byc-update { padding: 80px 0; background: var(--byc-sub-bg); }
.byc-update h2 { font-size: 2rem; font-weight: 700; text-align: center; margin-bottom: 3rem; }
.byc-update-timeline { position: relative; padding-left: 2rem; }
.byc-update-timeline::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(to bottom, var(--byc-gradient1), var(--byc-gradient2)); }
.byc-update-item { position: relative; padding: 1.5rem; margin-bottom: 2rem; background: #fff; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.byc-update-item::before { content: ''; position: absolute; left: -2.5rem; top: 2rem; width: 16px; height: 16px; border-radius: 50%; background: var(--byc-gradient1); border: 3px solid #fff; box-shadow: 0 0 0 3px var(--byc-gradient1); }
.byc-update-item h4 { font-weight: 700; color: var(--byc-primary); margin-bottom: 0.5rem; }
.byc-update-item ul { padding-left: 1.5rem; color: var(--byc-text2); }
.byc-update-item ul li { margin-bottom: 0.3rem; }

/* ========== App Download ========== */
.byc-app { padding: 80px 0; background: #fff; position: relative; }
.byc-app-content { display: flex; gap: 3rem; align-items: center; }
.byc-app-text { flex: 1; }
.byc-app-text h2 { font-size: 2rem; font-weight: 700; margin-bottom: 1rem; }
.byc-app-text p { color: var(--byc-text2); margin-bottom: 1.5rem; }
.byc-app-text ul { list-style: none; padding: 0; margin-bottom: 2rem; }
.byc-app-text ul li { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.8rem; color: var(--byc-text2); }
.byc-app-text ul li i { color: var(--byc-accent); font-size: 1.2rem; }
.byc-app-buttons { display: flex; gap: 1rem; flex-wrap: wrap; }
.byc-app-buttons .btn { padding: 10px 24px; border-radius: 8px; font-weight: 600; transition: 0.3s; }
.byc-app-buttons .btn-primary { background: linear-gradient(135deg, var(--byc-gradient1), var(--byc-gradient2)); color: #fff; border: none; }
.byc-app-buttons .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.2); }
.byc-app-buttons .btn-outline-dark { background: transparent; color: var(--byc-text); border: 2px solid var(--byc-text); }
.byc-app-buttons .btn-outline-dark:hover { background: var(--byc-text); color: #fff; }
.byc-app-image { flex: 1; text-align: center; }
.byc-app-image img { max-width: 100%; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }

/* ========== News ========== */
.byc-news { padding: 80px 0; background: var(--byc-sub-bg); }
.byc-news-header { text-align: center; margin-bottom: 3rem; }
.byc-news-header h2 { font-size: 2rem; font-weight: 700; margin-bottom: 0.5rem; }
.byc-news-header p { color: var(--byc-text2); }
.byc-news-swiper { padding-bottom: 3rem; }
.byc-news-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.05); transition: 0.3s; height: 100%; display: flex; flex-direction: column; }
.byc-news-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); }
.byc-news-card img { width: 100%; height: 200px; object-fit: cover; }
.byc-news-card-content { padding: 1.5rem; flex-grow: 1; display: flex; flex-direction: column; }
.byc-news-card-content h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: 0.8rem; color: var(--byc-text); }
.byc-news-card-content p { color: var(--byc-text2); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
.byc-news-card-footer { display: flex; justify-content: space-between; align-items: center; }
.byc-news-card-footer time { color: var(--byc-text2); font-size: 0.85rem; }
.byc-news-card-footer a { color: var(--byc-primary); font-weight: 600; text-decoration: none; transition: 0.3s; }
.byc-news-card-footer a:hover { color: var(--byc-accent); }

/* ========== Footer ========== */
.byc-footer { background: linear-gradient(135deg, var(--byc-dark1), var(--byc-dark2)); color: #fff; padding: 60px 0 30px; position: relative; }
.byc-footer::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.85); z-index: 1; }
.byc-footer .container { position: relative; z-index: 2; }
.byc-footer h6 { font-weight: 700; text-transform: uppercase; margin-bottom: 1rem; }
.byc-footer h6 i { margin-right: 0.5rem; }
.byc-footer ul { list-style: none; padding: 0; }
.byc-footer ul li { margin-bottom: 0.5rem; }
.byc-footer ul li a { color: rgba(255,255,255,0.7); text-decoration: none; transition: 0.3s; }
.byc-footer ul li a:hover { color: #fff; }
.byc-footer .copyright { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1.5rem; margin-top: 2rem; text-align: center; color: rgba(255,255,255,0.6); font-size: 0.9rem; }

/* ========== Responsive ========== */
@media (max-width: 768px) {
    .byc-hero h1 { font-size: 1.8rem; }
    .byc-hero p { font-size: 1rem; }
    .byc-dept-content.active { flex-direction: column; }
    .byc-app-content { flex-direction: column; }
    .byc-news-swiper { padding-bottom: 2rem; }
}
