/* ===== 内页横幅 ===== */
.page-banner {background: linear-gradient(135deg, #0b1a33 0%, #1a3a7a 50%, #2563eb 100%);color: #fff;padding: 60px 0 50px;position: relative;overflow: hidden;}
.page-banner::after {content: '';position: absolute;right: -100px;top: -100px;width: 400px;height: 400px;background: rgba(255,255,255,0.04);border-radius: 50%;}
.page-banner .container {position: relative;z-index: 2;}
.page-banner h1 {font-size: 40px;font-weight: 700;margin-bottom: 10px;}
.page-banner p {font-size: 18px;opacity: 0.85;max-width: 600px;}
.page-banner .breadcrumb {margin-top: 16px;font-size: 14px;opacity: 0.7;}
.page-banner .breadcrumb a {color: #fff;opacity: 0.7;text-decoration: none;}
.page-banner .breadcrumb a:hover {opacity: 1;}
.page-banner .breadcrumb span {margin: 0 6px;}
/* ===== 联系主体 ===== */
.contact-main {padding: 60px 0 80px;background-color: #f7f9fc;}
.contact-wrap {display: flex;gap: 30px;align-items: flex-start;flex-wrap: wrap;}
.contact-form {flex: 1 1 600px;background: #ffffff;padding: 40px 36px;border-radius: 16px;box-shadow: 0 4px 20px rgba(26, 41, 66, 0.06);}
.form-header {margin-bottom: 30px;border-bottom: 1px solid #f0f3f8;padding-bottom: 18px;}
.form-header h3 {font-size: 24px;color: #1a2942;font-weight: 600;margin: 0 0 8px;}
.form-header .sub {color: #6b7280;font-size: 15px;margin: 0;}
.contact-form .form-group {margin-bottom: 22px;}
.contact-form label {display: block;font-size: 15px;font-weight: 500;color: #2d3748;margin-bottom: 6px;}
.contact-form label .required {color: #ef4444;margin-left: 3px;}
.contact-form input,.contact-form textarea,.contact-form select {width: 100%;padding: 13px 16px;border: 1px solid #e2e8f0;border-radius: 10px;font-size: 15px;outline: none;transition: all 0.25s ease;background-color: #fbfdff;}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus {border-color: #2563eb;box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);background-color: #fff;}
.contact-form textarea {min-height: 130px;resize: vertical;line-height: 1.6;}
.contact-form .form-row {display: grid;grid-template-columns: 1fr 1fr;gap: 20px;}
.contact-form .submit-btn {width: 100%;padding: 14px;background: linear-gradient(135deg, #2563eb, #1d4ed8);color: #ffffff;border: none;border-radius: 10px;font-size: 16px;font-weight: 600;cursor: pointer;transition: all 0.3s ease;letter-spacing: 0.5px;margin-top: 5px;}
.contact-form .submit-btn:hover {background: linear-gradient(135deg, #1d4ed8, #1e40af);transform: translateY(-2px);box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25);}
.contact-form .submit-btn:active {transform: translateY(0);}
.contact-form .form-tip {font-size: 13px;color: #718096;margin-top: 12px;text-align: center;line-height: 1.5;}
.info-card {margin-top: 32px;padding-top: 24px;border-top: 1px solid #f0f3f8;}
.info-card h4 {display: flex;align-items: center;gap: 8px;font-size: 18px;color: #1a2942;margin: 0 0 14px;}
.contact-form .map-placeholder {border-radius: 12px;height: 300px;overflow: hidden;border: 1px solid #e2e8f0;}
.contact-form .map-placeholder img {width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.4s ease;}
.contact-form .map-placeholder img:hover {transform: scale(1.03);}
.contact-info {flex: 1 1 320px;min-width: 320px;}
.contact-info .info-card {background: #fff;border-radius: 16px;padding: 30px;box-shadow: 0 4px 20px rgba(26, 41, 66, 0.06);margin-bottom: 24px;border: none;}
.contact-info .info-card h4 {display: flex;align-items: center;gap: 8px;font-size: 18px;color: #1a2942;margin-bottom: 20px;padding-bottom: 12px;border-bottom: 2px solid #2563eb;}
.contact-info .info-item {display: flex;gap: 14px;margin-bottom: 18px;align-items: flex-start;}
.contact-info .info-item:last-child {margin-bottom: 0;}
.contact-info .info-item .icon {font-size: 24px;flex-shrink: 0;width: 32px;text-align: center;line-height: 1.2;}
.contact-info .info-item .text {font-size: 15px;color: #555;line-height: 1.8;}
.contact-info .info-item .text strong {color: #1a2942;font-weight: 500;font-size: 16px;}
/* ===== 响应式适配 ===== */
@media screen and (max-width: 992px) {
.contact-wrap {gap: 25px;}
.contact-form,.contact-info {flex: 1 1 100%;}
.contact-info {min-width: 100%;}
.page-banner h1 {font-size: 34px;}
}
@media screen and (max-width: 768px) {
.nav-list {position: fixed;top: 0;left: -100%;width: 80%;max-width: 320px;height: 100%;background: #fff;flex-direction: column;padding: 80px 30px 30px;box-shadow: 4px 0 20px rgba(0,0,0,0.15);transition: left 0.35s ease;gap: 0;overflow-y: auto;z-index: 1001;}
.nav-list.active {left: 0;}
.nav-list li a {display: block;padding: 14px 0;border-bottom: 1px solid #f0f0f0;font-size: 17px;}
.nav-list li a::after {display: none;}
.menu-btn {display: flex;}
.menu-overlay.active {display: block;}
.page-banner {padding: 45px 0 35px;}
.page-banner h1 {font-size: 28px;}
.page-banner p {font-size: 15px;}
.contact-main {padding: 40px 0 50px;}
.contact-form {padding: 28px 20px;border-radius: 12px;}
.form-header h3 {font-size: 22px;}
.contact-form .form-row {grid-template-columns: 1fr;gap: 22px;}
.contact-info .info-card {padding: 22px 20px;border-radius: 12px;}
.contact-banner h3 {font-size: 26px;}
.tel-num {font-size: 28px;}
.contact-btns a {width: 85%;text-align: center;}
}
@media screen and (max-width: 480px) {
.page-banner h1 {font-size: 24px;}
.contact-form {padding: 24px 16px;}
.form-header h3 {font-size: 20px;}
.submit-btn {font-size: 15px !important;}
.map-placeholder {height: 280px !important;}
.contact-banner h3 {font-size: 22px;}
.tel-num {font-size: 24px;}
.footer-wrap {gap: 20px;}
}