/* ===== Reset & Base ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
.contact-page-wrapper {
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, sans-serif;
color: #333;
line-height: 1.6;
overflow-x: hidden;
}
.contact-page-wrapper a { text-decoration: none; color: inherit; }
.contact-page-wrapper .container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* ===== Hero Banner ===== */
.hero-banner {
background: #0a1628;
padding: 100px 20px 80px;
text-align: center;
position: relative;
}
.hero-banner::after {
content: ”;
position: absolute;
bottom: 0; left: 0; right: 0;
height: 60px;
background: linear-gradient(to bottom, #0a1628, #f5f7fa);
}
.hero-banner h1 {
font-size: 48px;
font-weight: 700;
color: #fff;
margin-bottom: 16px;
letter-spacing: -0.5px;
}
.hero-banner p {
font-size: 18px;
color: rgba(255,255,255,0.8);
max-width: 650px;
margin: 0 auto;
line-height: 1.7;
}
/* ===== Contact Info Cards ===== */
.contact-cards-section {
background: #f5f7fa;
padding: 60px 20px 40px;
}
.contact-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
max-width: 1100px;
margin: 0 auto;
}
.contact-card {
background: #fff;
border-radius: 12px;
padding: 36px 24px;
text-align: center;
box-shadow: 0 2px 12px rgba(0,0,0,0.06);
transition: transform 0.3s ease, box-shadow 0.3s ease;
cursor: default;
}
.contact-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.contact-card .card-icon {
font-size: 36px;
color: #07c160;
margin-bottom: 16px;
}
.contact-card h3 {
font-size: 16px;
font-weight: 600;
color: #555;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.contact-card .card-value {
font-size: 15px;
color: #333;
margin-bottom: 6px;
word-break: break-all;
}
.contact-card .card-hint {
font-size: 13px;
color: #999;
}
/* ===== Form + Map Section ===== */
.form-map-section {
padding: 60px 20px;
background: #fff;
}
.form-map-row {
display: flex;
gap: 40px;
max-width: 1200px;
margin: 0 auto;
align-items: stretch;
}
.form-col {
flex: 0 0 58%;
}
.map-col {
flex: 0 0 42%;
}
.form-col h2, .map-col h2 {
font-size: 28px;
font-weight: 700;
color: #0a1628;
margin-bottom: 8px;
}
.form-col .section-subtitle {
font-size: 14px;
color: #888;
margin-bottom: 28px;
}
/* ===== Form Fields ===== */
.contact-form .form-row {
display: flex;
gap: 16px;
margin-bottom: 16px;
}
.contact-form .form-group {
flex: 1;
display: flex;
flex-direction: column;
}
.contact-form .form-group.full {
flex: 1 1 100%;
}
.contact-form label {
font-size: 13px;
font-weight: 600;
color: #555;
margin-bottom: 6px;
}
.contact-form label .required {
color: #e74c3c;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
padding: 12px 14px;
border: 1px solid #ddd;
border-radius: 6px;
font-size: 14px;
font-family: inherit;
color: #333;
background: #fafafa;
transition: border-color 0.3s ease, box-shadow 0.3s ease;
outline: none;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
border-color: #07c160;
box-shadow: 0 0 0 3px rgba(7,193,96,0.1);
background: #fff;
}
.contact-form textarea {
resize: vertical;
min-height: 120px;
}
.contact-form .submit-btn {
background: #07c160;
color: #fff;
border: none;
border-radius: 6px;
padding: 14px 36px;
font-size: 15px;
font-weight: 600;
cursor: pointer;
transition: background 0.3s ease, transform 0.2s ease;
margin-top: 8px;
letter-spacing: 0.3px;
}
.contact-form .submit-btn:hover {
background: #05a650;
transform: translateY(-1px);
}
/* ===== Map ===== */
.map-col .map-wrapper {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 12px rgba(0,0,0,0.08);
height: 100%;
min-height: 480px;
}
.map-col .map-wrapper iframe {
width: 100%;
height: 100%;
min-height: 480px;
border: none;
}
/* ===== WeChat Section ===== */
.wechat-section {
background: #f5f7fa;
padding: 60px 20px;
text-align: center;
}
.wechat-section h2 {
font-size: 28px;
font-weight: 700;
color: #0a1628;
margin-bottom: 8px;
}
.wechat-section .section-subtitle {
font-size: 15px;
color: #888;
margin-bottom: 32px;
}
.wechat-section .qr-wrapper {
display: inline-block;
background: #fff;
padding: 24px;
border-radius: 16px;
box-shadow: 0 2px 16px rgba(0,0,0,0.08);
}
.wechat-section .qr-wrapper img {
width: 200px;
height: 200px;
object-fit: contain;
display: block;
}
.wechat-section .wechat-id {
margin-top: 18px;
font-size: 15px;
color: #555;
font-weight: 500;
}
.wechat-section .wechat-id strong {
color: #07c160;
}
/* ===== FAQ Section ===== */
.faq-section {
padding: 60px 20px 80px;
background: #fff;
}
.faq-section h2 {
font-size: 28px;
font-weight: 700;
color: #0a1628;
text-align: center;
margin-bottom: 8px;
}
.faq-section .section-subtitle {
font-size: 15px;
color: #888;
text-align: center;
margin-bottom: 40px;
}
.faq-list {
max-width: 850px;
margin: 0 auto;
}
.faq-list details {
background: #fafafa;
border: 1px solid #eee;
border-radius: 10px;
margin-bottom: 12px;
transition: all 0.3s ease;
}
.faq-list details[open] {
background: #fff;
border-color: #07c160;
box-shadow: 0 2px 12px rgba(7,193,96,0.08);
}
.faq-list summary {
padding: 18px 24px;
font-size: 15px;
font-weight: 600;
color: #333;
cursor: pointer;
list-style: none;
display: flex;
justify-content: space-between;
align-items: center;
user-select: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
content: ‘+’;
font-size: 20px;
color: #07c160;
font-weight: 400;
transition: transform 0.3s ease;
flex-shrink: 0;
margin-left: 16px;
}
.faq-list details[open] summary::after {
content: ‘−’;
transform: rotate(0deg);
}
.faq-list .faq-answer {
padding: 0 24px 20px;
font-size: 14px;
color: #555;
line-height: 1.8;
}
/* ===== Responsive ===== */
@media (max-width: 768px) {
.hero-banner { padding: 60px 20px 50px; }
.hero-banner h1 { font-size: 32px; }
.hero-banner p { font-size: 15px; }
.contact-cards {
grid-template-columns: 1fr;
gap: 16px;
}
.form-map-row {
flex-direction: column;
}
.form-col, .map-col {
flex: 1 1 100%;
}
.map-col .map-wrapper {
min-height: 350px;
}
.map-col .map-wrapper iframe {
min-height: 350px;
}
.contact-form .form-row {
flex-direction: column;
}
}
Phone
Address
.xdun-b2b-form .form-row { display: flex; gap: 16px; margin-bottom: 16px; }
.xdun-b2b-form .form-row > label { flex: 1; display: flex; flex-direction: column; font-size: 13px; font-weight: 600; color: #555; }
.xdun-b2b-form .form-input, .xdun-b2b-form .form-select, .xdun-b2b-form .form-textarea { margin-top: 6px; padding: 12px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; font-family: inherit; color: #333; background: #fafafa; outline: none; width: 100%; }
.xdun-b2b-form .form-input:focus, .xdun-b2b-form .form-select:focus, .xdun-b2b-form .form-textarea:focus { border-color: #07c160; box-shadow: 0 0 0 3px rgba(7,193,96,0.1); background: #fff; }
.xdun-b2b-form .form-textarea { resize: vertical; min-height: 120px; }
.xdun-b2b-form .submit-btn { background: #07c160; color: #fff; border: none; border-radius: 6px; padding: 14px 36px; font-size: 15px; font-weight: 600; cursor: pointer; margin-top: 8px; }
.xdun-b2b-form .submit-btn:hover { background: #05a650; }
.xdun-b2b-form .wpcf7-response-output { margin-top: 16px; padding: 12px; border-radius: 6px; font-size: 14px; }
.xdun-b2b-form .wpcf7-not-valid-tip { color: #e74c3c; font-size: 13px; margin-top: 4px; }
@media (max-width: 768px) { .xdun-b2b-form .form-row { flex-direction: column; } }
Send Us a Message
Fill out the form below and we will get back to you within 24 hours.
Our Location
Visit us in Shenzhen, China
Connect on WeChat
Scan the QR code to add us
WeChat ID: XdunMedical
Frequently Asked Questions
Quick answers to common questions