/* ================================================================
   DFExpress Contact Page Styles - 联系我们页面样式
   ================================================================
   Purpose: 联系我们页面的专属样式
   Principle: 单一职责原则 - 仅负责联系页面样式
   Created: 2025-10-23
   ================================================================ */

/* {{CHENGQI:
   Action: Created
   Timestamp: [2025-10-23 15:55:00 +08:00]
   Reason: Per P1-LD-008 创建联系页面专属样式
   Principle_Applied: Single Responsibility, KISS
   Optimization: 创建清晰的表单和联系信息布局
   Architectural_Note (AR): CMS迁移时保持不变
}} */

/* ================================================================
   联系页面Hero
   ================================================================ */
.contact-hero {
    background: linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);
    color: var(--color-white);
    padding: var(--space-xl) 0;
    text-align: center;
}

.contact-hero h1 {
    font-size: var(--font-size-3xl);
    margin-bottom: var(--space-sm);
    font-weight: 600;
}

.contact-hero p {
    font-size: var(--font-size-lg);
    opacity: 0.9;
}

/* ================================================================
   联系内容区域
   ================================================================ */
.contact-content {
    padding: var(--space-xl) 0;
    background: var(--color-white);
}

.contact-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
}

/* ================================================================
   联系表单
   ================================================================ */
.contact-form-section {
    background: var(--color-white);
}

.contact-form-section h2 {
    font-size: var(--font-size-2xl);
    color: var(--color-black);
    margin-bottom: var(--space-md);
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.contact-form .form-group {
    margin-bottom: var(--space-sm);
}

.contact-form textarea.form-control {
    min-height: 150px;
    resize: vertical;
}

.contact-form .btn-primary {
    width: 100%;
    justify-content: center;
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-size-lg);
}

/* 表单验证样式 */
.form-control:invalid:not(:placeholder-shown) {
    border-color: var(--color-danger);
}

.form-control:valid:not(:placeholder-shown) {
    border-color: var(--color-success);
}

/* ================================================================
   联系信息卡片
   ================================================================ */
.contact-info-section {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.contact-info-section h2 {
    font-size: var(--font-size-2xl);
    color: var(--color-black);
    margin-bottom: var(--space-md);
}

.contact-card {
    background: var(--color-gray-light);
    padding: var(--space-md);
    border-radius: var(--border-radius-lg);
    border-left: 4px solid var(--primary-color);
    transition: var(--transition-normal);
}

.contact-card:hover {
    transform: translateX(5px);
    box-shadow: var(--shadow-sm);
}

.contact-card-header {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);
}

.contact-card-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    font-size: 1.5rem;
}

.contact-card h3 {
    color: var(--color-black);
    font-size: var(--font-size-lg);
    margin: 0;
}

.contact-card-body {
    padding-left: 62px;
}

.contact-card-body p {
    color: var(--color-gray);
    margin-bottom: var(--space-xs);
    line-height: 1.6;
}

.contact-card-body p:last-child {
    margin-bottom: 0;
}

.contact-card-body a {
    color: var(--primary-color);
    text-decoration: none;
    transition: var(--transition-fast);
}

.contact-card-body a:hover {
    text-decoration: underline;
}

/* ================================================================
   社交媒体区域
   ================================================================ */
.social-section {
    padding: var(--space-xl) 0;
    background: var(--color-gray-light);
    text-align: center;
}

.social-section h2 {
    font-size: var(--font-size-2xl);
    color: var(--color-black);
    margin-bottom: var(--space-md);
}

.social-links {
    display: flex;
    justify-content: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.social-link {
    width: 60px;
    height: 60px;
    background: var(--color-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 1.5rem;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: var(--transition-normal);
}

.social-link:hover {
    background: linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);
    color: var(--color-white);
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

/* 不同社交媒体的颜色（悬停时） */
.social-link.facebook:hover {
    background: #1877f2;
}

.social-link.twitter:hover {
    background: #1da1f2;
}

.social-link.linkedin:hover {
    background: #0077b5;
}

.social-link.instagram:hover {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

/* ================================================================
   地图区域（占位符）
   ================================================================ */
.map-section {
    padding: var(--space-xl) 0;
    background: var(--color-white);
}

.map-placeholder {
    width: 100%;
    height: 400px;
    background: var(--color-gray-light);
    border-radius: var(--border-radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gray);
    font-size: var(--font-size-lg);
    border: 2px dashed var(--color-border);
}

/* ================================================================
   响应式设计
   ================================================================ */
@media (max-width: 768px) {
    .contact-hero h1 {
        font-size: var(--font-size-2xl);
    }
    
    .contact-wrapper {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }
    
    .contact-card-body {
        padding-left: 0;
        margin-top: var(--space-xs);
    }
    
    .contact-card-header {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .contact-hero {
        padding: var(--space-lg) 0;
    }
    
    .contact-hero h1 {
        font-size: var(--font-size-xl);
    }
    
    .social-link {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
    }
    
    .map-placeholder {
        height: 300px;
    }
}

