/* ===== 页面标题区 ===== */
.page-header {
  position: relative;
  padding: 160px 0 80px;
  text-align: center;
  overflow: hidden;
}

.page-header-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(196, 162, 101, 0.08) 0%, transparent 60%),
    linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
  z-index: 0;
}

.page-header .container {
  position: relative;
  z-index: 1;
}

.page-header h1 {
  font-family: var(--font-serif);
  font-size: 2.8rem;
  font-weight: 600;
  color: var(--color-dark);
  letter-spacing: 8px;
  margin-bottom: 12px;
}

.page-header p {
  font-size: 1rem;
  color: var(--color-text-muted);
  letter-spacing: 4px;
  text-transform: uppercase;
}

/* ===== 联系信息 ===== */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 60px;
  align-items: start;
}

.contact-desc {
  color: var(--color-text-secondary);
  line-height: 1.9;
  margin-bottom: 36px;
}

.contact-items {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.contact-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--bg-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--color-primary);
  font-weight: 500;
  flex-shrink: 0;
  border: 1px solid var(--color-border);
}

.contact-detail h4 {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin-bottom: 4px;
  font-weight: 400;
  letter-spacing: 1px;
}

.contact-detail p {
  font-size: 1rem;
  color: var(--color-dark);
  font-weight: 500;
}

/* ===== 联系表单 ===== */
.contact-form-wrap {
  position: sticky;
  top: 100px;
}

.contact-form {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 40px;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}

.contact-form h3 {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  color: var(--color-dark);
  margin-bottom: 8px;
  letter-spacing: 2px;
}

.contact-form > p {
  font-size: 0.9rem;
  color: var(--color-text-secondary);
  margin-bottom: 28px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.form-group {
  margin-bottom: 16px;
}

.form-group label {
  display: block;
  font-size: 0.85rem;
  color: var(--color-text-secondary);
  margin-bottom: 6px;
  letter-spacing: 1px;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--bg-primary);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--color-text);
  transition: var(--transition);
  outline: none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--color-gold);
  box-shadow: 0 0 0 3px rgba(196, 162, 101, 0.1);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: var(--color-text-muted);
}

/* --- 输入框 / 下拉框高度对齐 ---
   手机端（iOS Safari）下拉框明显比输入框矮：select 默认走系统原生控件渲染，
   高度算法与 input 不同（桌面端 Blink/WebKit 恰好一致，所以只在手机上露馅）。
   两条对策缺一不可：
   ① appearance:none 去掉原生外观 → select 退回标准 CSS 盒模型，与 input 同算法；
   ② 统一显式 line-height → 两者撑出同一个内容高度（不写死 height，避免大字体被裁）。 */
.form-group input,
.form-group select {
  line-height: 1.5;
  /* 保底高度：0.95rem × 1.5 + 上下 padding 24px + border 2px ≈ 48.8px，
     写 48px 是「不矮于」的下限（不写死 height，大字体时仍能撑开不裁字）。 */
  min-height: 48px;
}

.form-group select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* 自绘下拉箭头（内联 SVG，免额外请求），色取 --color-primary #8B6F47 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%238B6F47' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  padding-right: 42px;
  cursor: pointer;
}

/* 说明：这里刻意不给 select:invalid 单独着色（让占位文案变灰那种做法）。
   iOS Safari 各版本对 select 的 :invalid 失效时机不一致，一旦不失效，
   用户会看到「已选中的值仍是灰色」，像没选中一样 —— 风险大于收益，不做。 */

.form-group textarea {
  resize: vertical;
  min-height: 100px;
}

/* ===== 合作模式 ===== */
.coop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.coop-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 36px 24px;
  border: 1px solid var(--color-border);
  transition: var(--transition);
}

.coop-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.coop-num {
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-gold-light);
  margin-bottom: 16px;
  line-height: 1;
}

.coop-card h3 {
  font-size: 1.15rem;
  color: var(--color-dark);
  margin-bottom: 12px;
  letter-spacing: 1px;
}

.coop-card > p {
  font-size: 0.9rem;
  color: var(--color-text-secondary);
  line-height: 1.8;
  margin-bottom: 20px;
}

.coop-card ul {
  list-style: none;
}

.coop-card ul li {
  padding: 6px 0;
  font-size: 0.85rem;
  color: var(--color-text-secondary);
  position: relative;
  padding-left: 16px;
  border-bottom: 1px dashed var(--color-border);
}

.coop-card ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--color-gold);
}

/* ===== 提交失败提示 ===== */
.form-error {
  background: #fdf3f2;
  border: 1px solid #f0c9c4;
  border-left: 3px solid #c0392b;
  border-radius: 6px;
  color: #8c2b20;
  font-size: 0.88rem;
  line-height: 1.7;
  padding: 12px 16px;
  margin-bottom: 18px;
}

.form-error strong {
  color: #c0392b;
}

/* ===== 隐私说明 ===== */
.form-privacy {
  font-size: 0.78rem;
  color: var(--color-text-secondary);
  opacity: 0.75;
  line-height: 1.7;
  margin-top: 12px;
  text-align: center;
}

/* ===== 成功提示 ===== */
.form-success {
  text-align: center;
  padding: 40px 20px;
}

.form-success-icon {
  font-size: 3rem;
  color: var(--color-gold);
  margin-bottom: 16px;
}

.form-success h3 {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  color: var(--color-dark);
  margin-bottom: 8px;
}

.form-success p {
  font-size: 0.95rem;
  color: var(--color-text-secondary);
}

/* ===== 响应式 ===== */
@media (max-width: 1024px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .contact-form-wrap {
    position: relative;
    top: 0;
  }

  .coop-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .page-header h1 {
    font-size: 2rem;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .coop-grid {
    grid-template-columns: 1fr;
  }

  .contact-form {
    padding: 28px 20px;
  }
}
