/* ==================== Header ==================== */
.contact-header {
    height: 45vh;
    min-height: 350px;
    background-color: var(--bg-dark);
    padding-top: var(--nav-height);
    background-image: linear-gradient(135deg, #0f172a 0%, #334155 100%);
}

/* ==================== 叠加布局微调 ==================== */
.contact-section-overlap {
    margin-top: -100px; /* 让卡片向上浮动，盖住一部分 Header */
    padding-bottom: 100px;
}

/* ==================== 左侧：深色信息区 ==================== */
.contact-pattern-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(255,255,255,0.1) 1px, transparent 1px);
    background-size: 30px 30px;
    opacity: 0.3;
    z-index: 1;
}

.btn-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.btn-icon:hover {
    background-color: #fff;
    color: var(--bg-dark);
    transform: translateY(-3px);
}

/* ==================== 右侧：表单样式 ==================== */
.form-floating > .form-control,
.form-floating > .form-select {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.form-floating > .form-control:focus,
.form-floating > .form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.1);
}

.form-floating > label {
    color: #94a3b8;
}

/* ==================== 地图 ==================== */
.object-fit-cover {
    object-fit: cover;
}

/* 响应式适配 */
@media (max-width: 991px) {
    .contact-section-overlap {
        margin-top: 0;
        padding-top: 50px;
    }
    
    /* 移动端取消圆角，占满全宽 */
    .row.rounded-5 {
        border-radius: 0 !important;
    }
}