/**
 * Vietnamese Contact Page Styles
 * 越南语联系页面样式
 * 
 * Design: Bright, vibrant, green/orange color scheme
 * Target: .lang-vi body class
 * 
 * This stylesheet applies Vietnamese design aesthetics to the contact page
 * using green (#008000) as primary color and orange (#ff8c00) as accent color.
 */

/* ============================================================================
   Hero Banner Section - 英雄横幅区域
   完全匹配产品页面的 Banner 效果
   ============================================================================ */

/* 越南语页面的 Hero Banner 使用绿色橙色渐变 */
.lang-vi .page-hero {
    color: #ffffff !important;
    padding: 100px 0 !important;
    position: relative !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* 默认渐变背景（仅当没有背景图片时显示） */
.lang-vi .page-hero:not([style*="background-image"]) {
    background: linear-gradient(135deg, #008000 0%, #ff8c00 100%) !important;
}

/* 如果有背景图片，使用图片并添加深色遮罩层以确保文字可读 */
.lang-vi .page-hero[style*="background-image"] {
    /* 背景图片会通过内联样式设置，这里不需要覆盖 */
    background-blend-mode: overlay !important;
}

.lang-vi .page-hero[style*="background-image"]::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(0, 128, 0, 0.7) 0%, rgba(255, 140, 0, 0.7) 100%) !important;
    z-index: 1 !important;
}

.lang-vi .page-hero .container {
    position: relative !important;
    z-index: 2 !important;
}

.lang-vi .page-title {
    color: #ffffff !important;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3) !important;
    font-size: 3rem !important;
    font-weight: 800 !important;
    margin-bottom: 20px !important;
}

.lang-vi .page-subtitle {
    color: #ffffff !important;
    opacity: 0.95 !important;
    font-size: 1.3rem !important;
    line-height: 1.6 !important;
}

/* ============================================================================
   Contact Content Section - 联系内容区域
   ============================================================================ */

.lang-vi .contact-content {
    background: linear-gradient(to bottom, #f8fff8 0%, #ffffff 100%) !important;
    padding: 60px 0 !important;
}

.lang-vi .contact-grid {
    display: grid !important;
    grid-template-columns: 1.5fr 1fr !important;
    gap: 40px !important;
    margin-top: 40px !important;
}

/* ============================================================================
   Contact Form Section - 联系表单区域
   ============================================================================ */

.lang-vi .contact-form-wrapper {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 40px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border: 2px solid #e8f5e9 !important;
}

.lang-vi .contact-form-wrapper h2 {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #008000 !important;
    margin-bottom: 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.lang-vi .contact-form-wrapper h2::before {
    content: '\f466' !important;
    font-family: 'dashicons' !important;
    font-size: 2rem !important;
    color: #ff8c00 !important;
}

.lang-vi .contact-form-wrapper > p {
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: #555 !important;
    margin-bottom: 30px !important;
}

/* Form Input Fields with Green Focus States and Rounded Corners */
.lang-vi .contact-form .form-group {
    margin-bottom: 24px !important;
}

.lang-vi .contact-form label {
    display: block !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin-bottom: 8px !important;
}

.lang-vi .contact-form .required {
    color: #ff8c00 !important;
}

.lang-vi .contact-form input[type="text"],
.lang-vi .contact-form input[type="email"],
.lang-vi .contact-form input[type="tel"],
.lang-vi .contact-form textarea {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    color: #1a1a1a !important;
    background: #ffffff !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.lang-vi .contact-form input[type="text"]:focus,
.lang-vi .contact-form input[type="email"]:focus,
.lang-vi .contact-form input[type="tel"]:focus,
.lang-vi .contact-form textarea:focus {
    outline: none !important;
    border-color: #008000 !important;
    box-shadow: 0 0 0 3px rgba(0, 128, 0, 0.1), 0 4px 12px rgba(0, 128, 0, 0.15) !important;
    background: #f8fff8 !important;
}

.lang-vi .contact-form textarea {
    resize: vertical !important;
    min-height: 150px !important;
}

.lang-vi .contact-form .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

/* Submit Button with Orange Gradient Background and Hover Effects */
.lang-vi .contact-form .btn-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 16px 40px !important;
    background: linear-gradient(135deg, #ff8c00 0%, #ff7700 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 25px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(255, 140, 0, 0.3) !important;
    min-height: 44px !important;
}

.lang-vi .contact-form .btn-submit:hover {
    background: linear-gradient(135deg, #ff7700 0%, #ff6600 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 140, 0, 0.5) !important;
}

.lang-vi .contact-form .btn-submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 4px 15px rgba(255, 140, 0, 0.3) !important;
}

.lang-vi .contact-form .btn-submit:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Form Validation Message Styling */
.lang-vi .contact-form .form-message {
    margin-top: 20px !important;
    padding: 16px 20px !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    display: none !important;
}

.lang-vi .contact-form .form-message.success {
    display: block !important;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%) !important;
    color: #008000 !important;
    border: 2px solid #008000 !important;
}

.lang-vi .contact-form .form-message.error {
    display: block !important;
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%) !important;
    color: #ff8c00 !important;
    border: 2px solid #ff8c00 !important;
}

.lang-vi .contact-form .form-message::before {
    font-family: 'dashicons' !important;
    font-size: 1.2rem !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

.lang-vi .contact-form .form-message.success::before {
    content: '\f147' !important;
}

.lang-vi .contact-form .form-message.error::before {
    content: '\f534' !important;
}

/* ============================================================================
   Contact Information Cards Section - 联系信息卡片区域
   ============================================================================ */

.lang-vi .contact-info-wrapper {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 40px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border: 2px solid #e8f5e9 !important;
}

.lang-vi .contact-info-wrapper h2 {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #008000 !important;
    margin-bottom: 30px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.lang-vi .contact-info-wrapper h2::before {
    content: '\f348' !important;
    font-family: 'dashicons' !important;
    font-size: 2rem !important;
    color: #ff8c00 !important;
}

.lang-vi .contact-info-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

/* Contact Information Cards with Shadows and Rounded Corners */
.lang-vi .contact-info-item {
    display: flex !important;
    gap: 16px !important;
    padding: 20px !important;
    background: linear-gradient(135deg, #f8fff8 0%, #ffffff 100%) !important;
    border-radius: 12px !important;
    border: 2px solid #e8f5e9 !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    transition: all 0.3s ease !important;
}

.lang-vi .contact-info-item:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 6px 20px rgba(0, 128, 0, 0.12) !important;
    border-color: #008000 !important;
}

/* Icon Styling for Contact Info Items */
.lang-vi .contact-icon {
    flex-shrink: 0 !important;
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #008000 0%, #00a000 100%) !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 12px rgba(0, 128, 0, 0.3) !important;
}

.lang-vi .contact-icon .dashicons,
.lang-vi .contact-icon i {
    font-size: 1.5rem !important;
    width: 1.5rem !important;
    height: 1.5rem !important;
    color: #ffffff !important;
}

.lang-vi .contact-details {
    flex: 1 !important;
}

.lang-vi .contact-details h3 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 8px !important;
}

.lang-vi .contact-details p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin: 0 !important;
}

.lang-vi .contact-details a {
    color: #008000 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

.lang-vi .contact-details a:hover {
    color: #ff8c00 !important;
    text-decoration: underline !important;
}

/* ============================================================================
   Responsive Design - 响应式设计
   ============================================================================ */

/* Tablet - 平板设备 (768px - 1024px) */
@media (max-width: 1024px) {
    .lang-vi .page-hero {
        padding: 80px 0 !important;
    }
    
    .lang-vi .page-title {
        font-size: 2.5rem !important;
    }
    
    .lang-vi .page-subtitle {
        font-size: 1.2rem !important;
    }
    
    .lang-vi .contact-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    
    .lang-vi .contact-form-wrapper,
    .lang-vi .contact-info-wrapper {
        padding: 30px !important;
    }
}

/* Mobile - 手机设备 (<768px) */
@media (max-width: 768px) {
    .lang-vi .page-hero {
        padding: 60px 0 !important;
    }
    
    .lang-vi .page-title {
        font-size: 2rem !important;
    }
    
    .lang-vi .page-subtitle {
        font-size: 1.1rem !important;
    }
    
    .lang-vi .contact-content {
        padding: 40px 0 !important;
    }
    
    .lang-vi .contact-grid {
        gap: 24px !important;
    }
    
    .lang-vi .contact-form-wrapper,
    .lang-vi .contact-info-wrapper {
        padding: 24px !important;
    }
    
    .lang-vi .contact-form-wrapper h2,
    .lang-vi .contact-info-wrapper h2 {
        font-size: 1.6rem !important;
    }
    
    .lang-vi .contact-form .form-row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
    
    .lang-vi .contact-form input[type="text"],
    .lang-vi .contact-form input[type="email"],
    .lang-vi .contact-form input[type="tel"],
    .lang-vi .contact-form textarea {
        padding: 12px 16px !important;
        font-size: 0.95rem !important;
    }
    
    .lang-vi .contact-form .btn-submit {
        width: 100% !important;
        padding: 14px 32px !important;
        font-size: 1rem !important;
        min-height: 48px !important;
    }
    
    .lang-vi .contact-info-item {
        padding: 16px !important;
    }
    
    .lang-vi .contact-icon {
        width: 44px !important;
        height: 44px !important;
    }
    
    .lang-vi .contact-icon .dashicons,
    .lang-vi .contact-icon i {
        font-size: 1.3rem !important;
        width: 1.3rem !important;
        height: 1.3rem !important;
    }
    
    .lang-vi .contact-details h3 {
        font-size: 1rem !important;
    }
    
    .lang-vi .contact-details p {
        font-size: 0.9rem !important;
    }
}
