/*
Theme Name: Study Future (学未教育)
Theme URI: https://studyfuture.cn
Author: Antigravity & User
Description: 学未教育 - 高保真定稿风格主题，包含双主色调设计风格（#FF9800, #1A56A8）及高保真原型图首页、关于学未、前沿观点三大完整页面。
Version: 1.1.4
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: study-future
*/

/* ================= 蓝橙双主色调 ================= */
:root {
    --primary-orange: #FF9800;   
    --primary-blue: #1A56A8;     
    --accent-red: #FF5722;       
    --light-bg: #F4F7FB;         
    --accent-dark: #1E293B;      
    --text-dark: #334155;        
    --text-light: #94A3B8;       
    --bg-white: #FFFFFF;
    --border-light: rgba(26, 86, 168, 0.15);
    --form-bg: #FFF9F2; /* 底部表单的暖米色背景 */
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    background-color: var(--light-bg);
    color: var(--text-dark);
    font-family: 'Inter', -apple-system, "PingFang SC", sans-serif;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
h1, h2, h3, h4, .serif-text { font-family: 'Noto Serif SC', 'Cinzel', serif; }
a { text-decoration: none; color: inherit; transition: all 0.3s ease; }

.container { max-width: 1240px; margin: 0 auto; padding: 0 40px; }
.section { padding: 60px 0; }

/* 国际范双语标题 */
.section-header-wrap {
    display: flex; justify-content: space-between; align-items: flex-end;
    margin-bottom: 40px; border-bottom: 1px solid var(--border-light); padding-bottom: 15px;
}
.section-header { text-align: left; }
.section-header .en-title {
    font-family: 'Cinzel', serif; color: var(--primary-orange); font-size: 13px;
    letter-spacing: 3px; text-transform: uppercase; display: block; margin-bottom: 5px;
}
.section-header .cn-title {
    font-size: 32px; font-weight: 600; color: var(--primary-blue); position: relative;
}
.section-header .cn-title::after {
    content: ''; position: absolute; bottom: -16px; left: 0;
    width: 50px; height: 3px; background-color: var(--primary-orange); border-radius: 2px;
}
.view-more { font-size: 14px; color: var(--text-light); display: flex; align-items: center; gap: 5px; }
.view-more:hover { color: var(--primary-orange); }

/* ================= 顶部导航 ================= */
header {
    background-color: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border-light); position: sticky; top: 0; z-index: 1000;
}
.header-inner { height: 80px; display: flex; justify-content: space-between; align-items: center; }
.logo-box a { display: flex; align-items: center; gap: 8px; }
.logo-box img { height: 55px; width: auto; object-fit: contain; display: block; }
.logo-fallback { display: none; font-size: 24px; font-weight: 700; color: var(--primary-blue); font-family: 'Noto Serif SC', serif; }

.nav-menu { display: flex; gap: 40px; }
.nav-menu a { font-size: 15px; font-weight: 500; color: var(--accent-dark); position: relative; }
.nav-menu > a,
.nav-menu > .nav-dropdown-wrap > a { cursor: pointer; }
.nav-menu a:hover,
.nav-menu a.active,
.nav-menu > .nav-dropdown-wrap:hover > a { color: var(--primary-blue); }
.nav-menu a.highlight { color: var(--accent-red); font-weight: 600; }
.nav-menu a::after {
    content: ''; position: absolute; bottom: -5px; left: 50%;
    transform: translateX(-50%); width: 0; height: 2px;
    background-color: var(--primary-orange); transition: width 0.3s ease;
}
.nav-menu > a.highlight::after { background-color: var(--accent-red); }
.nav-menu a.active::after,
.nav-menu a:hover::after,
.nav-menu > .nav-dropdown-wrap:hover > a::after { width: 100%; }
		/* 闪动的热线 - 弹跳+光晕效果 */
@keyframes bounceGlow {
    0%, 100% { transform: translateY(0); box-shadow: 0 0 0 0 rgba(255, 152, 0, 0.4); }
    50% { transform: translateY(-5px); box-shadow: 0 0 0 15px rgba(255, 152  , 0, 0); }
}
.hotline-top {
    background: #FF9800;
    color: #fff;
    padding: 10px 24px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 14px;
    text-align: center;
    animation: bounceGlow 2s infinite;
    cursor: pointer;
}
.mobile-menu-toggle {
    display: none; width: 42px; height: 42px; padding: 9px; border: 1px solid var(--border-light);
    border-radius: 9px; background: #fff; cursor: pointer; flex-direction: column;
    align-items: center; justify-content: center; gap: 5px;
}
.mobile-menu-toggle span { width: 20px; height: 2px; border-radius: 2px; background: var(--primary-blue); transition: transform 0.25s ease, opacity 0.25s ease; }
.mobile-menu-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-menu-toggle.is-active span:nth-child(2) { opacity: 0; }
.mobile-menu-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ===== Mega Dropdown ===== */
.nav-dropdown-wrap { position: relative; }
.nav-dropdown-wrap > a .arrow-down {
    display: inline-block; width: 0; height: 0;
    border-left: 4px solid transparent; border-right: 4px solid transparent;
    border-top: 5px solid currentColor; margin-left: 5px; vertical-align: middle;
    transition: transform 0.3s;
}
.nav-dropdown-wrap:hover > a .arrow-down { transform: rotate(180deg); }

.mega-dropdown {
    position: absolute; top: 100%; left: 50%;
    width: 420px; height: 350px; background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
    border: 1px solid #E8EDF2; border-top: 3px solid var(--primary-orange);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    transform: translateX(-50%) translateY(8px);
    z-index: 999; display: flex;
    padding: 0; overflow: hidden;
}
.nav-dropdown-wrap:hover .mega-dropdown {
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

/* Left: tag list */
.mega-left {
    width: 120px; min-width: 120px;
    background: #FAFBFC; border-right: 1px solid #EAEEF3;
    height: 100%; padding: 6px 0; flex-shrink: 0; overflow-y: auto;
}
.mega-left .mega-tag {
    display: block; padding: 9px 24px; line-height: 1.7;
    font-size: 15px; color: var(--text-dark);
    cursor: pointer; transition: all 0.2s; border-left: 3px solid transparent;
    font-weight: 400;
}
.mega-left .mega-tag:hover,
.mega-left .mega-tag.active {
    background: #fff; color: var(--accent-dark);
    border-left-color: var(--primary-orange); font-weight: 600;
}

/* Right: article grid */
.mega-right {
    flex: 1; height: 100%; padding: 12px 18px; min-height: 0; overflow: hidden;
}
.mega-panel { display: none; height: 100%; }
.mega-panel.active { display: flex; flex-direction: column; }
.mega-panel-grid {
    display: grid; grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(4, 60px); gap: 6px;
}
.mega-article {
    display: flex; align-items: center; gap: 12px;
    height: 60px; padding: 8px 14px; border-radius: 8px; overflow: hidden;
    transition: background 0.2s;
}
.mega-article:hover { background: #F4F7FB; }
.mega-article .ma-icon {
    width: 40px; height: 40px; border-radius: 6px;
    background: var(--primary-blue); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700; flex-shrink: 0;
    font-family: 'Inter', sans-serif; letter-spacing: 0.5px;
}
.mega-article .ma-info { flex: 1; min-width: 0; }
.mega-article .ma-title {
    font-size: 15px; font-weight: 600; color: var(--accent-dark);
    line-height: 1.4; overflow: hidden; margin-bottom: 3px;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
}
.mega-article .ma-sub {
    font-size: 12px; line-height: 1.35; color: var(--text-light);
}
/* 前沿观点：仅显示分类链接的紧凑下拉菜单 */
.insights-simple-dropdown {
    width: 140px; height: auto; padding: 8px;
    flex-direction: column; gap: 2px; overflow: hidden;
    border-radius: 0 0 10px 10px;
}
.insights-simple-dropdown .insights-category-link {
    position: relative; display: flex; align-items: center; justify-content: space-between;
    width: 100%; padding: 11px 14px; border-radius: 7px;
    color: var(--text-dark); font-size: 15px; font-weight: 500; line-height: 1.5;
    transition: background 0.2s ease, color 0.2s ease;
}
.insights-simple-dropdown .insights-category-link::after { display: none !important; }
.insights-simple-dropdown .insights-category-link b {
    color: var(--text-light); font-size: 14px; transition: transform 0.2s ease, color 0.2s ease;
}
.insights-simple-dropdown .insights-category-link:hover,
.insights-simple-dropdown .insights-category-link.active {
    background: #FFF8ED; color: var(--primary-orange);
}
.insights-simple-dropdown .insights-category-link:hover b,
.insights-simple-dropdown .insights-category-link.active b {
    color: var(--primary-orange); transform: translateX(2px);
}

/* ================= 多图滚动 Banner ================= */
.banner-carousel {
    position: relative; width: 100%; height: 480px; overflow: hidden;
    background-color: var(--accent-dark); margin-bottom: 50px;
}
.carousel-inner {
    display: flex; width: 100%; height: 100%;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.carousel-item {
    flex: 0 0 100%; height: 100%; position: relative;
    background-size: cover; background-position: center;
    display: flex; align-items: center; justify-content: center;
}
.carousel-overlay {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%); z-index: 1;
}
.carousel-caption {
    position: relative; z-index: 2; text-align: center; color: var(--bg-white);
    max-width: 800px; padding: 0 20px;
}
.carousel-caption h2 {
    font-family: 'Noto Serif SC', serif; font-size: 52px; font-weight: 600;
    letter-spacing: 4px; margin-bottom: 15px; 
			text-shadow: 0 0 15px rgba(255, 255, 255, 0.9), 0 0 5px rgba(255, 255, 255, 1);
}
.carousel-caption p { 
			font-size: 20px; font-weight: 300; letter-spacing: 2px; opacity: 0.9; 
			text-shadow: 0 0 15px rgba(255, 255, 255, 0.9), 0 0 5px rgba(255, 255, 255, 1);
		}

.carousel-indicators {
    position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%);
    display: flex; gap: 12px; z-index: 10;
}
.dot {
    width: 12px; height: 12px; background-color: rgba(255,255,255,0.4);
    border-radius: 50%; cursor: pointer; transition: all 0.3s ease;
}
.dot.active, .dot:hover { background-color: var(--primary-orange); transform: scale(1.2); }

.carousel-control {
    position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px;
    background: rgba(0,0,0,0.3); color: white; display: flex; align-items: center; justify-content: center;
    font-size: 24px; cursor: pointer; border-radius: 50%; z-index: 10; transition: all 0.3s; user-select: none;
}
.carousel-control:hover { background: var(--primary-blue); }
.carousel-control.prev { left: 30px; }
.carousel-control.next { right: 30px; }

/* ================= 1. 专业/院校 (网格布局) ================= */
.grid-layout-special {
    display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: auto auto; gap: 20px;
}
.grid-box {
    background: var(--bg-white); padding: 30px; border-radius: 8px;
    border: 1px solid var(--border-light); transition: all 0.3s ease; position: relative;
}
.grid-box:hover { box-shadow: 0 15px 35px rgba(26, 86, 168, 0.1); border-color: var(--primary-blue); }
.grid-box h3 { font-size: 20px; color: var(--primary-blue); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.type-icon {
    width: 32px; height: 32px; background: rgba(255, 152, 0, 0.15);
    color: var(--primary-orange); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 16px;
}

.poster-box {
    grid-column: 1 / 2; grid-row: 1 / 3;
    background: var(--bg-white); display: block; padding: 0; min-height: 0; aspect-ratio: 2 / 3; overflow: hidden; align-self: start;
}
.majors-poster-image { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }

.online-box { grid-column: 2 / 4; grid-row: 1 / 2; }
.online-box .list-container { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; }
.equiv-box { grid-column: 2 / 3; grid-row: 2 / 3; }
.train-box { grid-column: 3 / 4; grid-row: 2 / 3; }

.line-item {
    padding: 12px 0; border-bottom: 1px dashed #E2E8F0; color: var(--text-dark);
    display: flex; justify-content: space-between; align-items: center; cursor: pointer; transition: all 0.3s; font-size: 14px;
}
.line-item:hover { color: var(--primary-orange); padding-left: 5px; }
.line-item::after { content: '→'; opacity: 0.5; }
.line-item:last-child { border-bottom: none; }

/* ================= 2. 招生简章 ================= */
.major-tag { display: flex; gap: 15px; margin-bottom: 30px; flex-wrap: wrap; }
.major-tag span {
    padding: 8px 24px; background: var(--bg-white); border: 1px solid #E2E8F0;
    border-radius: 50px; font-size: 15px; cursor: pointer; transition: all 0.3s; color: var(--text-dark);
}
.major-tag span:hover, .major-tag span.active {
    background: var(--primary-blue); color: var(--bg-white);
    border-color: var(--primary-blue); box-shadow: 0 4px 10px rgba(26, 86, 168, 0.2);
}
.major-tag span.more-tag { background: transparent; border: none; color: var(--primary-orange); font-weight: 600; box-shadow: none; }

.tab-content { display: none; }
.tab-content.active-tab { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; animation: fadeIn 0.4s ease forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.article-left { min-width: 0; }
.featured-guide { display: flex; flex-direction: column; height: 100%; min-height: 360px; color: inherit; }
.featured-guide-image {
    height: 220px; flex: 0 0 220px; background-position: center; background-size: cover;
    transition: transform 0.45s ease;
}
.featured-guide:hover .featured-guide-image { transform: scale(1.025); }
.featured-guide-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 22px 24px 20px; background: var(--bg-white); z-index: 1; }
.featured-guide-badge {
    display: inline-flex; padding: 4px 11px; margin-bottom: 12px; border-radius: 999px;
    background: rgba(255, 152, 0, 0.13); color: #D97706; font-size: 12px; font-weight: 700; letter-spacing: 1px;
}
.featured-guide h3 { margin: 0 0 18px; color: var(--accent-dark); font-size: 20px; line-height: 1.55; }
.featured-guide-link { margin-top: auto; color: var(--primary-blue); font-size: 14px; font-weight: 600; }
.featured-guide-link b { margin-left: 4px; color: var(--primary-orange); font-size: 16px; }
.article-right { display: flex; flex-direction: column; justify-content: flex-start; }
.article-item { padding: 15px 0; border-bottom: 1px solid #E2E8F0; cursor: pointer; transition: all 0.3s; }
.article-item:hover h4 { color: var(--primary-orange); }
.article-item h4 { font-size: 18px; margin-bottom: 8px; color: var(--accent-dark); font-family: 'Inter', sans-serif; }
.article-item p { font-size: 13px; color: var(--text-light); display: flex; justify-content: space-between; }

/* ================= 3. 前沿观点 ================= */
.view-wrap { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 20px; }
.view-card {
    height: 280px; padding: 25px; display: flex; flex-direction: column;
    justify-content: flex-end; background-color: var(--accent-dark); background-position: center; background-size: cover;
    position: relative; border-radius: 8px; border: none;
}
.view-card.large {
    color: var(--bg-white); border: none;
}
.view-card h4 { font-size: 18px; line-height: 1.4; z-index: 2; color: var(--bg-white); text-shadow: 0 2px 8px rgba(0,0,0,0.35); }
.view-card.large h4 { font-size: 24px; font-family: 'Noto Serif SC', serif; color: var(--bg-white); }
.footnote { font-size: 12px; color: var(--text-light); margin-top: 15px; font-style: italic; }
.footnote span { color: var(--primary-blue); }

/* ================= 4. 学员风采 ================= */
.scroll-wrapper { position: relative; width: 100%; display: flex; align-items: center; }
.scroll-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px; border-radius: 50%; background: var(--bg-white);
    border: 1px solid var(--border-light); color: var(--primary-blue);
    font-size: 18px; cursor: pointer; z-index: 10; display: flex;
    align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    transition: all 0.3s;
}
.scroll-btn:hover { background: var(--primary-blue); color: var(--bg-white); }
.scroll-btn.prev-btn { left: -22px; }
.scroll-btn.next-btn { right: -22px; }

.student-row {
    display: flex; gap: 20px; overflow-x: auto; scroll-behavior: smooth;
    padding: 10px 0; width: 100%; scrollbar-width: none; -ms-overflow-style: none;
}
.student-row::-webkit-scrollbar { display: none; }

.student-box {
    flex: 0 0 280px; height: 320px; background-color: #E2E8F0; background-size: cover;
    background-position: center; display: flex; align-items: flex-end; padding: 15px;
    border-radius: 8px; border: 1px solid var(--border-light); transition: all 0.3s;
}
.student-box:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(26, 86, 168, 0.15); }
.student-box h5 {
    background: rgba(255,255,255,0.95); padding: 10px 15px; border-radius: 4px;
    font-size: 14px; color: var(--primary-blue); width: 100%; text-align: center; font-weight: 600;
    line-height: 1.55; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; line-clamp: 2;
}
.sb-1 { background-image: url('https://images.unsplash.com/photo-1523240795612-9a054b0db644?auto=format&fit=crop&w=400&q=80'); }
.sb-2 { background-image: url('https://images.unsplash.com/photo-1511629091441-ee46146481b6?auto=format&fit=crop&w=400&q=80'); }
.sb-3 { background-image: url('https://images.unsplash.com/photo-1523580494112-071d412157d1?auto=format&fit=crop&w=400&q=80'); }
.sb-4 { background-image: url('https://images.unsplash.com/photo-1541339907198-e08756dedf3f?auto=format&fit=crop&w=400&q=80'); }
.sb-5 { background-image: url('https://images.unsplash.com/photo-1577896851231-70ef18881754?auto=format&fit=crop&w=400&q=80'); }

/* ================= 5. 学未新闻 ================= */
.news-wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.news-wrap .news-card {
    height: 100%; min-height: 310px; padding: 0; display: flex; flex-direction: column;
    justify-content: flex-start; border-top: 3px solid transparent; background: var(--bg-white);
    border-radius: 8px; border: 1px solid var(--border-light); transition: all 0.3s;
}
.news-wrap .news-card:hover { border-top-color: var(--primary-blue); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }
.home-news-image { width: 100%; height: 125px; flex: 0 0 125px; overflow: hidden; background: #E2E8F0; }
.home-news-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.45s ease; }
.news-wrap .news-card:hover .home-news-image img { transform: scale(1.045); }
.home-news-content { display: flex; flex: 1; flex-direction: column; padding: 18px 20px 20px; }
.news-wrap .news-card p.date { font-size: 12px; color: var(--primary-orange); margin-bottom: 5px; font-family: 'Cinzel'; }
.news-wrap .news-card h4 { font-size: 16px; color: var(--accent-dark); line-height: 1.5; }
.home-news-excerpt { margin-top: 10px; color: var(--text-light); font-size: 14px; }

/* ================= 6. 服务优势 ================= */
.service-title {
    text-align: center; font-family: 'Noto Serif SC', serif;
    font-size: 32px; font-weight: 600; color: var(--primary-blue); margin-bottom: 50px;
}
.service-grid-new {
    display: grid; grid-template-columns: repeat(4, 1fr);
    box-shadow: 0 10px 30px rgba(0,0,0,0.06); border-radius: 8px; overflow: hidden; background: var(--bg-white);
}
.sg-img { height: 260px; background-size: cover; background-position: center; }
.sg-text {
    height: 260px; background: #F4F8FC; padding: 30px 20px;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-align: center; position: relative;
}
.sg-text h4 { color: var(--primary-blue); font-size: 20px; margin-bottom: 15px; font-weight: 600; }
.sg-text p { font-size: 13px; color: var(--text-dark); line-height: 1.7; }
.sg-text::after {
    content: ''; position: absolute; top: 50%; transform: translateY(-50%);
    border-width: 12px; border-style: solid; z-index: 2;
}
.sg-text.point-left::after { left: -24px; border-color: transparent #F4F8FC transparent transparent; }
.sg-text.point-right::after { right: -24px; border-color: transparent transparent transparent #F4F8FC; }

/* ================= 侧边栏 (按照设计图重构为一体化胶囊悬浮窗) ================= */
.side-widget {
    position: fixed;
    right: 0;
    top: 70%;
    transform: translateY(-50%);
    background: var(--primary-blue); /* 深邃蓝色底 */
    border-radius: 12px 0 0 12px;
    width: 86px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    box-shadow: 0 10px 30px rgba(26, 86, 168, 0.4);
    z-index: 9999;
}
.widget-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--primary-orange); /* 橙色文字和图标 */
    cursor: pointer;
    position: relative;
    width: 100%;
    padding: 10px 0;
    transition: all 0.3s;
}
.widget-consult-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: inherit;
    text-decoration: none;
}
.widget-item:hover {
    background: rgba(255, 255, 255, 0.08);
}
.widget-item svg {
    width: 32px;
    height: 32px;
    margin-bottom: 8px;
}
.widget-item span {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
}
/* 中间的橙色渐变分割线 */
.widget-divider {
    width: 50px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--primary-orange), transparent);
    margin: 15px 0;
}

/* 弹出层统一样式 */
.widget-popout {
    position: absolute;
    right: 96px; /* 距离右侧的宽度 */
    top: 50%;
    transform: translateY(-50%);
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    white-space: nowrap;
    color: var(--text-dark);
}
.widget-item:hover .widget-popout {
    opacity: 1;
    visibility: visible;
    right: 105px; /* 悬浮时向左滑出 */
}
/* 弹出层的小箭头 */
.widget-popout::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -6px;
    transform: translateY(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    background: var(--bg-white);
    border-top: 1px solid var(--border-light);
    border-right: 1px solid var(--border-light);
}

/* 在线咨询弹出内容 */
.popout-questions { display: flex; flex-direction: column; gap: 5px; text-align: left; }
.popout-questions a { font-size: 14px; padding: 10px 15px; color: var(--text-dark); border-radius: 4px; transition: 0.2s; }
.popout-questions a:hover { background: var(--light-bg); color: var(--primary-blue); font-weight: 600; }

/* 电话咨询弹出内容 */
.popout-phone { font-family: 'Cinzel', serif; font-size: 22px; font-weight: 700; color: var(--primary-orange); padding: 10px 20px; }

/* ================= 7. 底部表单 (按照设计稿 1:1 重构) ================= */
.faq-area {
    background-color: var(--form-bg);
    padding: 80px 0;
}
.faq-title {
    text-align: center; font-size: 32px; font-family: 'Noto Serif SC', serif;
    color: var(--accent-dark); margin-bottom: 60px; letter-spacing: 2px;
}
.faq-title img { max-width: 400px; height: auto; }
.faq-title span { color: var(--primary-orange); }

.form-box {
    background: var(--bg-white);
    border-radius: 12px;
    padding: 60px 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04);
    max-width: 1060px;
    margin: 0 auto;
}
/* 表单左侧输入区 */
.form-left { flex: 1.1; }
.form-item { margin-bottom: 25px; }
.form-item label {
    display: block; font-size: 12px; color: #888;
    margin-bottom: 10px; letter-spacing: 1px;
    font-family: 'Inter', sans-serif;
}
.form-item input {
    width: 100%; padding: 16px 20px;
    border: 1px solid #EAEAEA; border-radius: 6px;
    background: #FAFAFA; font-size: 15px; color: var(--text-dark);
    outline: none; transition: border 0.3s;
}
.form-item input::placeholder { color: #BBB; }
.form-item input:focus { border-color: var(--primary-orange); background: var(--bg-white); }

/* 表单右侧文案区 */
.form-right { flex: 0.9; }
.form-right h3 {
    font-size: 42px; line-height: 1.4; font-family: 'Noto Serif SC', serif;
    color: var(--accent-dark); margin-bottom: 25px; font-weight: 900;
}
.form-right p {
    font-size: 15px; color: var(--text-dark);
    margin-bottom: 40px; line-height: 1.8;
}
.submit-btn {
    background: var(--primary-orange); color: var(--bg-white);
    border: none; padding: 18px 0; width: 240px;
    border-radius: 4px; cursor: pointer; font-size: 16px; 
    font-weight: 600; letter-spacing: 1px; transition: 0.3s;
}
.submit-btn:hover { background: #E68A00; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(255, 152, 0, 0.2); }

/* ================= 8. 页脚信息 (按照设计稿排版) ================= */
footer {
    background-color: var(--bg-white);
    padding: 60px 0 50px;
}
.footer-inner {
    display: flex; justify-content: space-between; align-items: flex-start;
}
/* 左侧信息 */
.footer-info h2 {
    font-family: 'Noto Serif SC', serif; font-size: 28px; font-weight: 900;
    color: var(--accent-dark); margin-bottom: 30px; letter-spacing: 1px;
}
.footer-info p {
    font-size: 14px; color: #666; margin-bottom: 12px;
    display: flex; align-items: center;
}
.footer-info p span { display: inline-block; width: 20px; color: #999; }
.footer-copyright {
    margin-top: 40px; font-size: 12px; color: #C0C0C0; font-family: 'Inter', sans-serif;
}
/* 右侧二维码网格 */
.qr-grid-wrapper {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}
.qr-block { text-align: center; }
.qr-block h4 {
    font-size: 15px; font-weight: 600; color: var(--accent-dark);
    margin-bottom: 15px; letter-spacing: 1px;
}
.qr-box {
    width: 140px; height: 140px;
    background: #FAFAFA; border: 1px solid #F0F0F0;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; color: #CCC; border-radius: 4px;
}
.qr-box img { width: 120px; height: 120px; }

/* ================= 关于学未页 ================= */

/* ================= 顶部全宽 Banner (图片不遮盖) ================= */
.top-intro {
    position: relative;
    width: 100%;
    height: 520px;
    border-radius: 0;
    overflow: hidden;
    background: url('/wp-content/themes/study-future/images/guanyuxuewei_banner.jpg') center/cover no-repeat;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.top-intro::before {
    content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 45%;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
}
.intro-text-box {
    position: absolute;
    bottom: 60px;
    left: max(40px, calc((100vw - 1240px) / 2 + 40px));
    width: calc(100% - 80px);
    max-width: 520px;
    padding: 40px;
    color: var(--bg-white);
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}
.intro-text-box h3 { font-size: 28px; font-weight: 700; margin-bottom: 15px; color: var(--primary-orange); font-family: 'Noto Serif SC', serif; }
.intro-text-box p { font-size: 15px; line-height: 1.8; opacity: 0.95; }

/* ================= 愿景+价值观 ================= */
.vision-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 20px;
}
.vision-card {
    background: var(--primary-blue);
    color: var(--bg-white);
    padding: 50px 40px;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 15px 30px rgba(26, 86, 168, 0.2);
}
/* 卡片右上角的大号英文水印 */
.vision-card::after {
    position: absolute; right: -10px; top: -20px; font-family: 'Cinzel', serif;
    font-size: 120px; font-weight: 700; color: rgba(255,255,255,0.05); z-index: 1; pointer-events: none;
}
.vision-card:nth-child(1)::after { content: 'V'; }
.vision-card:nth-child(2)::after { content: 'C'; }

.v-tag {
    display: inline-block; background: var(--primary-orange); color: var(--bg-white);
    font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 50px;
    margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; position: relative; z-index: 2;
}
.vision-card h4 {
    font-size: 26px; font-family: 'Noto Serif SC', serif; margin-bottom: 20px;
    line-height: 1.4; position: relative; z-index: 2;
}
.vision-card p {
    font-family: 'Inter', sans-serif; font-size: 14px; color: rgba(255,255,255,0.7);
    line-height: 1.6; position: relative; z-index: 2;
}

/* ================= 服务特色 (带多图闪动) ================= */
.service-layout {
    display: grid;
    grid-template-columns: 280px 1fr; /* 适配线稿中的左侧栏+右侧内容 */
    gap: 50px;
    align-items: center;
}
.service-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-left: 2px solid #E2E8F0;
    margin-left: 20px;
}
.service-item {
    position: relative;
    padding: 30px 0 30px 30px;
    cursor: pointer;
    transition: all 0.3s;
}
.service-item::before {
    content: ''; position: absolute; left: -7px; top: 38px; width: 12px; height: 12px;
    background: #E2E8F0; border-radius: 50%; transition: all 0.3s;
}
.service-item:hover::before {
    background: var(--primary-orange); box-shadow: 0 0 10px rgba(255,152,0,0.5);
}
.service-item .num {
    position: absolute; left: -60px; top: 25px; font-family: 'Cinzel', serif;
    font-size: 28px; font-weight: 700; color: var(--border-light); transition: 0.3s;
}
.service-item:hover .num { color: var(--primary-blue); }
.service-item h4 { font-size: 18px; color: var(--accent-dark); margin-bottom: 5px; transition: 0.3s; }
.service-item:hover h4 { color: var(--primary-orange); }
.service-item p { font-size: 14px; color: var(--text-light); }

/* 多国图片闪动效果 */
@keyframes flashBackgrounds {
    0%, 18% { background-image: url('images/about-flash-111.jpg'); }
    20%, 38% { background-image: url('images/about-flash-222.jpg'); }
    40%, 58% { background-image: url('images/about-flash-333.jpg'); }
    60%, 78% { background-image: url('images/about-flash-444.jpg'); }
    80%, 98% { background-image: url('images/about-flash-555.png'); }
    100% { background-image: url('images/about-flash-111.jpg'); }
}
.multi-country-box {
    height: 400px;
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(26, 86, 168, 0.15);
    position: relative;
    overflow: hidden;
    /* 应用动画背景 */
    animation: flashBackgrounds 12s infinite;
    background-size: cover;
    background-position: center;
    transition: background-image 0.5s ease-in-out;
}
.multi-country-box::before {
    content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 50%;
    background: linear-gradient(to top, rgba(26, 86, 168, 0.8), transparent);
}
.mc-tag {
    position: absolute; right: 30px; top: 30px; background: rgba(255, 255, 255, 0.9);
    color: var(--primary-blue); padding: 8px 20px; border-radius: 50px;
    font-size: 14px; font-weight: 600; box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.mc-content {
    position: absolute; bottom: 30px; left: 30px; color: var(--bg-white);
}
.mc-content h4 { font-size: 28px; font-family: 'Noto Serif SC', serif; margin-bottom: 10px; }
.mc-content .mc-line { width: 40px; height: 3px; background: var(--primary-orange); border-radius: 2px; margin-bottom: 15px; }

/* ================= 团队介绍与游学照片 ================= */
.team-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}
.team-card {
    height: 350px;
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}
.team-card h3 { font-size: 28px; color: var(--primary-blue); font-family: 'Noto Serif SC', serif; margin-bottom: 20px; }
.team-card p { font-size: 15px; color: var(--text-dark); line-height: 1.8; margin-bottom: 15px; }

.video-box {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 15px 30px rgba(26, 86, 168, 0.15);
    background: url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?auto=format&fit=crop&w=800&q=80') center/cover;
}
.video-box video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.play-btn {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 70px; height: 70px; background: rgba(255, 152, 0, 0.9);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    cursor: pointer; box-shadow: 0 0 0 10px rgba(255, 152, 0, 0.3); transition: all 0.3s;
}
.play-btn:hover { transform: translate(-50%, -50%) scale(1.1); background: var(--primary-orange); }
.play-btn::after {
    content: ''; display: block; border-style: solid; border-width: 10px 0 10px 18px;
    border-color: transparent transparent transparent var(--bg-white); margin-left: 5px;
}

/* 游学照片墙 */
.photo-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 40px;
}
.photo-item {
    height: 200px;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    transition: all 0.3s;
    cursor: pointer;
}
.photo-item:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(26, 86, 168, 0.15); }
.photo-item:nth-child(1) { background-image: url('images/about-gallery-1.jpg'); }
.photo-item:nth-child(2) { background-image: url('images/about-gallery-2.jpg'); }
.photo-item:nth-child(3) { background-image: url('images/about-gallery-3.jpg'); }
.photo-item:nth-child(4) { background-image: url('images/about-gallery-4.jpg'); }

/* 通用悬浮效果 */
.hover-card {
    background: var(--bg-white); border-radius: 8px; border: 1px solid var(--border-light);
    overflow: hidden; transition: all 0.3s ease;
}
.hover-card:hover {
    transform: translateY(-5px); box-shadow: 0 15px 30px rgba(26, 86, 168, 0.1);
    border-color: var(--primary-blue);
}

/* ================= 前沿观点页 ================= */

/* ================= 内页 Banner ================= */
.inner-banner {
    width: 100%; height: 300px;
    background: linear-gradient(rgba(26, 86, 168, 0.7), rgba(30, 41, 59, 0.8)), url('/wp-content/themes/study-future/images/qianyanguandian_banner.jpg') center/cover;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    color: var(--bg-white); margin-bottom: 50px; text-align: center;
}
.inner-banner h1 { font-size: 42px; font-weight: 600; letter-spacing: 4px; margin-bottom: 10px; }
.inner-banner p { font-family: 'Cinzel', serif; font-size: 16px; color: var(--primary-orange); letter-spacing: 6px; }

/* ================= 页面主体布局 (左栏220px + 右栏1fr) ================= */
.page-content {
    display: grid;
    grid-template-columns: 240px 1fr; /* 线稿中为220px，此处微调至240px以获得更好排版呼吸感 */
    gap: 40px;
    margin-bottom: 80px;
}

/* ========= 左侧边栏 ========= */
.sidebar {
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 30px 0;
    height: fit-content;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}
.sidebar h3 {
    font-size: 20px;
    color: var(--primary-blue);
    padding: 0 30px 20px;
    margin-bottom: 10px;
    border-bottom: 1px solid #E2E8F0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.sidebar h3::before {
    content: ''; display: block; width: 4px; height: 18px;
    background: var(--primary-orange); border-radius: 2px;
}
.sidebar-menu { list-style: none; }
.sidebar-menu li a {
    display: block;
    padding: 14px 30px;
    font-size: 15px;
    color: var(--text-dark);
    transition: all 0.3s;
    position: relative;
}
.sidebar-menu li a::before {
    content: '›'; position: absolute; right: 30px; opacity: 0;
    transform: translateX(-10px); transition: all 0.3s; color: var(--primary-orange); font-size: 18px;
}
.sidebar-menu li a:hover, .sidebar-menu li a.active {
    background: #F4F8FC;
    color: var(--primary-blue);
    font-weight: 600;
}
.sidebar-menu li a:hover::before, .sidebar-menu li a.active::before {
    opacity: 1; transform: translateX(0);
}

/* ========= 右侧卡片区 ========= */
.content-area h3 {
    font-size: 26px;
    color: var(--accent-dark);
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #E2E8F0;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.news-card {
    display: flex;
    flex-direction: column;
    background: var(--bg-white);
    border-radius: 8px;
    border: 1px solid #E2E8F0;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}
.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(26, 86, 168, 0.1);
    border-color: var(--primary-blue);
}
.card-img-box {
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: #E2E8F0;
}
.card-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.news-card:hover .card-img-box img {
    transform: scale(1.08);
}
.card-info {
    padding: 20px;
    display: flex;
    flex-direction: column;
}
.card-date {
    font-family: 'Cinzel', serif;
    font-size: 13px;
    color: var(--primary-orange);
    margin-bottom: 10px;
    font-weight: 600;
}
.card-title {
    font-family: 'Inter', "PingFang SC", sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--accent-dark);
    margin-bottom: 10px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 限制2行文字 */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.card-desc {
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 限制摘要为2行，完美替代线稿中的3条横线视觉感 */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 分页器 */
.pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 50px;
}
.page-num {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background: var(--bg-white); border: 1px solid #E2E8F0;
    border-radius: 4px; font-size: 14px; color: var(--text-dark);
    cursor: pointer; transition: 0.3s;
}
.page-num:hover, .page-num.active {
    background: var(--primary-blue); color: var(--bg-white); border-color: var(--primary-blue);
}

/* ================= 详情 / 分类页 ================= */

.single-article-wrap {
    max-width: 960px;
    margin: 40px auto 80px;
    background: var(--bg-white);
    padding: 50px 60px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(26, 86, 168, 0.08);
    border: 1px solid var(--border-light);
}
.single-breadcrumb {
    font-size: 14px;
    color: var(--text-light);
    margin-bottom: 25px;
}
.single-breadcrumb a { color: var(--primary-blue); }
.single-breadcrumb a:hover { color: var(--primary-orange); }
.single-title {
    font-size: 34px; font-weight: 700; color: var(--primary-blue);
    line-height: 1.4; margin-bottom: 20px; font-family: 'Noto Serif SC', serif;
}
.single-meta {
    display: flex; gap: 24px; font-size: 14px; color: var(--text-light);
    border-bottom: 1px solid #E2E8F0; padding-bottom: 20px; margin-bottom: 35px;
}
.single-meta span { color: var(--accent-dark); }
.single-featured-img {
    width: 100%; max-height: 460px; object-fit: cover; border-radius: 8px; margin-bottom: 35px;
}
.single-content { font-size: 17px; line-height: 2; color: var(--text-dark); }
.single-content p { margin-bottom: 22px; }
.single-content h2, .single-content h3 {
    color: var(--primary-blue); margin: 30px 0 15px; font-family: 'Noto Serif SC', serif;
}
.single-tags { margin-top: 40px; padding-top: 25px; border-top: 1px solid #E2E8F0; }
.single-tags span {
    display: inline-block; padding: 6px 16px; background: var(--light-bg);
    color: var(--primary-blue); border-radius: 50px; font-size: 13px; margin-right: 10px;
}
.archive-wrap { max-width: 1100px; margin: 40px auto 80px; }
.archive-header {
    background: var(--bg-white); padding: 40px; border-radius: 12px;
    border: 1px solid var(--border-light); margin-bottom: 40px;
}
.archive-title { font-size: 30px; color: var(--primary-blue); font-family: 'Noto Serif SC', serif; }
.archive-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }

/* ================= 7. 权威合作与资质认证 (.cert-grid) ================= */
.cert-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 35px;
}
.cert-item {
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 32px 24px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-blue);
    box-shadow: 0 10px 25px rgba(26, 86, 168, 0.04);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 105px;
    line-height: 1.6;
}
.cert-item:hover {
    transform: translateY(-6px);
    border-color: var(--primary-orange);
    box-shadow: 0 16px 32px rgba(255, 152, 0, 0.15);
    color: var(--primary-orange);
}

/* ================= 8. 底部咨询留资横幅 (.bottom-banner) ================= */
.bottom-banner {
    background: linear-gradient(135deg, #1E293B 0%, #0F172A 100%);
    color: #FFFFFF;
    padding: 75px 0;
    margin-top: 50px;
    border-top: 4px solid var(--primary-orange);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.15);
}
.bb-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
}
.bb-left {
    flex: 1.1;
}
.bb-left h2 {
    font-size: 36px;
    font-family: 'Noto Serif SC', serif;
    color: #FFFFFF;
    margin-bottom: 18px;
    font-weight: 700;
    letter-spacing: 1px;
}
.bb-left p {
    font-size: 16px;
    color: #94A3B8;
    line-height: 1.8;
    margin-bottom: 30px;
}
.bb-phone-box {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 152, 0, 0.15);
    border: 1px solid rgba(255, 152, 0, 0.4);
    padding: 14px 28px;
    border-radius: 50px;
    font-size: 16px;
    color: #FFFFFF;
}
.bb-phone-box strong {
    color: var(--primary-orange);
    font-size: 22px;
    font-weight: 700;
}
.bb-right {
    flex: 0.9;
    max-width: 460px;
    width: 100%;
}
.consult-form {
    background: #FFFFFF;
    padding: 38px 42px;
    border-radius: 14px;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.35);
    color: var(--text-dark);
}
.consult-form h3 {
    font-size: 24px;
    color: var(--primary-blue);
    margin-bottom: 24px;
    text-align: center;
    font-family: 'Noto Serif SC', serif;
    font-weight: 700;
}
.consult-form .input-group {
    margin-bottom: 16px;
}
.consult-form input,
.consult-form select {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 15px;
    color: var(--text-dark);
    background: #F8FAFC;
    outline: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
}
.consult-form input:focus,
.consult-form select:focus {
    border-color: var(--primary-blue);
    background: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(26, 86, 168, 0.12);
}
.consult-form .submit-btn {
    width: 100%;
    padding: 16px;
    background: var(--primary-orange);
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
    letter-spacing: 1px;
}
.consult-form .submit-btn:hover {
    background: #E68A00;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(255, 152, 0, 0.25);
}
.consult-form .form-tip {
    text-align: center;
    font-size: 13px;
    color: #94A3B8;
    margin-top: 16px;
}
/* ================= 响应式：平板与移动端 ================= */
@media (max-width: 992px) {
    html, body { max-width: 100%; overflow-x: hidden; }
    img { max-width: 100%; }
    .container { padding-left: 24px; padding-right: 24px; }
    .section { padding: 50px 0; }

    .header-inner { position: relative; height: 68px; gap: 12px; }
    .logo-box img { height: 46px; }
    .nav-menu {
        position: absolute; top: calc(100% + 1px); left: 24px; right: 24px;
        display: none; flex-direction: column; gap: 0; padding: 10px;
        background: rgba(255,255,255,0.98); border: 1px solid var(--border-light);
        border-radius: 0 0 12px 12px; box-shadow: 0 18px 36px rgba(15,23,42,0.14);
        max-height: calc(100vh - 88px); overflow-y: auto; z-index: 1001;
    }
    .nav-menu.is-open { display: flex; }
    .nav-menu > a, .nav-menu > .nav-dropdown-wrap > a {
        display: block; padding: 13px 14px; border-bottom: 1px solid #EEF2F7;
        font-size: 15px; line-height: 1.5;
    }
    .nav-menu > a:last-child { border-bottom: 0; }
    .nav-menu a::after { display: none; }
    .nav-dropdown-wrap { width: 100%; }
    .mega-dropdown { display: none !important; }
    .hotline-top { margin-left: auto; padding: 8px 12px; font-size: 12px; animation: none; white-space: nowrap; box-shadow: none; }
    .mobile-menu-toggle { display: flex; flex: 0 0 42px; }
    .side-widget { display: none; }

    .banner-carousel { height: 360px; margin-bottom: 30px; }
    .carousel-caption h2 { font-size: 36px; letter-spacing: 2px; }
    .carousel-caption p { font-size: 16px; letter-spacing: 1px; }
    .carousel-control { width: 42px; height: 42px; font-size: 20px; }
    .carousel-control.prev { left: 18px; }
    .carousel-control.next { right: 18px; }

    .grid-layout-special { grid-template-columns: 1fr 1fr; gap: 18px; }
    .poster-box { grid-column: 1; grid-row: 1 / 3; }
    .online-box { grid-column: 2; grid-row: 1; }
    .online-box .list-container { grid-template-columns: 1fr; }
    .equiv-box { grid-column: 2; grid-row: 2; }
    .train-box { grid-column: 1 / -1; grid-row: 3; }

    .tab-content.active-tab { grid-template-columns: 1fr; gap: 24px; }
    .featured-guide { min-height: 0; }
    .featured-guide-image { height: 280px; flex-basis: 280px; }

    .view-wrap { grid-template-columns: 1fr 1fr; }
    .view-card.large { grid-column: 1 / -1; }
    .news-wrap { grid-template-columns: 1fr 1fr; gap: 20px; }
    .news-wrap .news-card:last-child { grid-column: 1 / -1; }
    .service-grid-new { grid-template-columns: repeat(2, 1fr); }

    .faq-area { padding: 60px 0; }
    .faq-title { margin-bottom: 40px; }
    .form-box { max-width: 680px; padding: 42px; flex-direction: column; align-items: stretch; gap: 34px; }
    .form-right h3 { font-size: 34px; }
    .form-right p br { display: none; }
    .submit-btn { width: 100%; }

    .footer-inner { flex-direction: column; gap: 42px; }
    .qr-grid-wrapper { width: 100%; max-width: 340px; grid-template-columns: repeat(2, 1fr); }
    .cert-grid { grid-template-columns: repeat(2, 1fr); }
    .bb-container { padding: 0 24px; flex-direction: column; text-align: center; }
}

@media (max-width: 768px) {
    .container { padding-left: 18px; padding-right: 18px; }
    .section { padding: 40px 0; }
    .section-header-wrap { margin-bottom: 26px; padding-bottom: 12px; gap: 14px; }
    .section-header .en-title { font-size: 11px; letter-spacing: 2px; }
    .section-header .cn-title { font-size: 26px; }
    .section-header .cn-title::after { bottom: -13px; width: 42px; }
    .view-more { flex: 0 0 auto; font-size: 13px; white-space: nowrap; }

    .header-inner { padding-left: 16px; padding-right: 16px; }
    .nav-menu { left: 16px; right: 16px; }
    .logo-box img { width: auto; max-width: 116px; height: 43px; }
    .hotline-top { padding: 7px 9px; font-size: 11px; }

    .banner-carousel { height: 280px; margin-bottom: 22px; }
    .carousel-item { background-position: center; }
    .carousel-control { width: 36px; height: 36px; font-size: 18px; }
    .carousel-control.prev { left: 12px; }
    .carousel-control.next { right: 12px; }
    .carousel-indicators { bottom: 16px; gap: 9px; }
    .dot { width: 9px; height: 9px; }

    .grid-layout-special { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .poster-box, .online-box, .equiv-box, .train-box { grid-column: auto; grid-row: auto; }
    .poster-box { min-height: 0; aspect-ratio: 2 / 3; }
    .poster-box .majors-poster-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
    .grid-box { padding: 22px 20px; }
    .grid-box h3 { margin-bottom: 12px; font-size: 18px; }
    .online-box .list-container { grid-template-columns: 1fr; }
    .line-item { padding: 11px 0; line-height: 1.55; }

    .major-tag {
        flex-wrap: nowrap; gap: 8px; margin-bottom: 22px; padding-bottom: 4px;
        max-width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    }
    .major-tag::-webkit-scrollbar { display: none; }
    .major-tag span { flex: 0 0 auto; padding: 7px 17px; font-size: 14px; }
    .tab-content.active-tab { gap: 20px; }
    .featured-guide-image { height: 210px; flex-basis: 210px; }
    .featured-guide-body { padding: 18px 20px; }
    .featured-guide h3 { font-size: 18px; }
    .article-item { padding: 13px 0; }
    .article-item h4 { font-size: 16px; margin-bottom: 5px; }
    .article-item p { flex-direction: column; gap: 2px; }

    .view-wrap { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .view-card, .view-card.large { grid-column: auto; height: 210px; padding: 20px; }
    .view-card.large { height: 240px; }
    .view-card.large h4 { font-size: 21px; }
    .view-card.large p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }

    .scroll-btn { display: none; }
    .student-row { gap: 14px; padding: 4px 0 12px; scroll-snap-type: x mandatory; }
    .student-box { flex-basis: min(78vw, 280px); height: 300px; scroll-snap-align: start; }

    .news-wrap { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .news-wrap .news-card, .news-wrap .news-card:last-child { grid-column: auto; min-height: 0; }
    .home-news-image { height: 132px; flex-basis: 132px; }

    .service-title { font-size: 25px; line-height: 1.45; margin-bottom: 28px; }
    .service-grid-new { grid-template-columns: minmax(0, 1fr); border-radius: 10px; }
    .sg-img { height: 175px; }
    .sg-text { height: auto; min-height: 170px; padding: 28px 22px; }
    .sg-text::after { display: none; }
    .service-grid-new > :nth-child(1) { order: 1; }
    .service-grid-new > :nth-child(2) { order: 2; }
    .service-grid-new > :nth-child(3) { order: 3; }
    .service-grid-new > :nth-child(4) { order: 4; }
    .service-grid-new > :nth-child(6) { order: 5; }
    .service-grid-new > :nth-child(5) { order: 6; }
    .service-grid-new > :nth-child(8) { order: 7; }
    .service-grid-new > :nth-child(7) { order: 8; }

    .faq-area { padding: 48px 0; }
    .faq-title { margin-bottom: 28px; }
    .faq-title img { width: 260px; max-width: 82vw; }
    .form-box { display: grid; grid-template-columns: minmax(0, 1fr); padding: 28px 20px; gap: 0; border-radius: 10px; }
    .form-right { display: contents; }
    .form-right h3, .form-right p { order: 1; }
    .form-left { order: 2; margin-top: 22px; }
    .form-right .submit-btn { order: 3; margin-top: 8px; }
    .form-right #sfFormMsg { order: 4; }
    .form-item { margin-bottom: 18px; }
    .form-item input { padding: 14px 15px; }
    .form-right h3 { font-size: 28px; margin-bottom: 16px; }
    .form-right p { margin-bottom: 24px; font-size: 14px; }

    footer { padding: 46px 0 34px; }
    .footer-inner { gap: 34px; }
    .footer-info h2 { font-size: 24px; margin-bottom: 22px; }
    .footer-info p { align-items: flex-start; line-height: 1.65; overflow-wrap: anywhere; }
    .footer-copyright { margin-top: 28px; line-height: 1.7; }
    .qr-grid-wrapper { max-width: 280px; gap: 22px 30px; }
    .qr-box { width: 92px; height: 92px; min-height: 92px; margin: 0 auto; }
    .qr-box img { width: 74px; height: 74px; }
    .cert-grid { grid-template-columns: 1fr; }
    .bb-container { padding: 0 18px; }
}

@media (max-width: 420px) {
    .header-inner { gap: 8px; }
    .logo-box img { max-width: 108px; }
    .hotline-top { padding: 7px 8px; font-size: 10px; }
    .mobile-menu-toggle { width: 40px; height: 40px; flex-basis: 40px; }
    .banner-carousel { height: 260px; }
}
