/* ============================================================
   lnwmold.com —— 联系我们页专属样式 css/page-contact.css
   布局特色：圆角表单大卡 + 右侧三色联系卡叠放（错位偏移）/
             区域胶囊链接 / 成功提示条
   ============================================================ */

.section{ padding:56px 0; }

/* ---------- ① 页头 ---------- */
.ct-hero{ padding:50px 0 10px; max-width:720px; margin:0 auto; }
.ct-hero h1{ margin:14px 0 12px; }
.ct-lead{ font-size:16px; }

/* ---------- ② 主布局 ---------- */
.ct-grid{
  display:grid; grid-template-columns:1.5fr 1fr; gap:36px;
  align-items:start;
}

/* 表单卡 */
.ct-form-card{
  background:var(--white); border-radius:var(--r-xl);
  padding:36px 34px; box-shadow:var(--shadow-l);
  border:2px dashed var(--pink-mid);
}
.ct-form-title{
  display:flex; align-items:center; gap:10px;
  margin-bottom:24px; font-size:22px;
}
.ct-dot{
  width:14px; height:14px; border-radius:50%;
  background:var(--pink); box-shadow:0 0 0 5px var(--pink-soft);
}
.ct-field{ margin-bottom:18px; border:0; padding:0; }
.ct-form-card form{
  display:grid; grid-template-columns:1fr 1fr; column-gap:16px;
}
.ct-span2{ grid-column:1 / -1; }
.ct-field label{
  display:block; font-size:14px; font-weight:700; color:var(--ink); margin-bottom:7px;
}
.ct-field input[type="text"],
.ct-field input[type="tel"],
.ct-field select,
.ct-field textarea{
  width:100%; padding:12px 16px; border-radius:var(--r-s);
  border:2px solid var(--yellow-soft); background:#FFFEF8;
  font-size:15px; color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.ct-field textarea{ resize:vertical; min-height:110px; }
.ct-field input:focus, .ct-field select:focus, .ct-field textarea:focus{
  outline:none; border-color:var(--pink); box-shadow:0 0 0 4px var(--pink-soft);
}
.ct-field legend{
  font-size:14px; font-weight:700; color:var(--ink); margin-bottom:7px; padding:0;
}
.ct-half-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* 选项胶囊（单选） */
.ct-opt-row{ display:flex; flex-wrap:wrap; gap:10px; }
.ct-opt{ cursor:pointer; }
.ct-opt input{ position:absolute; opacity:0; }
.ct-opt span{
  display:inline-block; padding:8px 16px; border-radius:999px;
  font-size:13.5px; font-weight:700; color:var(--body);
  background:var(--cream-2); border:2px dashed transparent;
  transition:all .2s ease;
}
.ct-opt input:checked + span{
  background:linear-gradient(135deg,var(--green),var(--green-deep));
  color:#fff; border-color:transparent;
  box-shadow:0 8px 20px rgba(111,191,115,.3);
}
.ct-opt input:focus-visible + span{ outline:3px dashed var(--yellow); }

.ct-submit{ width:100%; margin-top:6px; }
.ct-success{
  display:flex; align-items:flex-start; gap:10px;
  margin-top:16px; padding:14px 16px;
  background:var(--green-soft); border:2px dashed var(--green);
  border-radius:var(--r-s); font-size:14.5px; color:var(--green-deep); font-weight:700;
}
.ct-success svg{ width:20px; height:20px; flex:none; }

/* 右侧联系卡 */
.ct-side{ display:flex; flex-direction:column; gap:20px; }
.ct-card{
  border-radius:var(--r-l); padding:24px 24px;
  transition:transform .25s ease;
}
.ct-card:hover{ transform:translateY(-4px); }
.ct-card-p{ background:linear-gradient(150deg,var(--pink-soft),#fff 80%); border:3px dashed var(--pink-mid); }
.ct-card-y{ background:linear-gradient(150deg,var(--yellow-soft),#fff 80%); border:3px dashed var(--yellow); }
.ct-card-g{ background:linear-gradient(150deg,var(--green-soft),#fff 80%); border:3px dashed var(--green-mid); }
.ct-card h3{ font-size:16px; margin-bottom:8px; }
.ct-card p{ font-size:13.5px; margin:0; }
.ct-big{
  display:block; font-size:26px; font-weight:800; color:var(--pink-deep);
  letter-spacing:.5px; margin-bottom:6px;
}
.ct-big-sm{ font-size:18px; color:var(--yellow-deep); }
.ct-areas{ line-height:2; }
.ct-areas a{
  display:inline-block; padding:2px 10px; margin:2px;
  background:var(--white); border-radius:999px; font-weight:700;
  font-size:13.5px; color:var(--green-deep);
  transition:background .2s ease;
}
.ct-areas a:hover{ background:var(--green-mid); color:#fff; }
.ct-office{ margin:0; background:var(--white); padding:10px; border-radius:var(--r-m); box-shadow:var(--shadow-s); }
.ct-office img{ border-radius:var(--r-s); width:100%; }
.ct-office figcaption{ text-align:center; font-size:13px; font-weight:700; color:var(--ink); margin-top:8px; }

/* ---------- ③ 底部 CTA ---------- */
.ct-cta{ padding:30px 0; }
.ct-cta-inner{
  text-align:center; border-radius:var(--r-xl);
  background:linear-gradient(135deg,var(--yellow),var(--yellow-deep));
  padding:48px 24px; box-shadow:var(--shadow-s);
}
.ct-cta-inner h2{ color:#fff; margin-bottom:20px; }
.ct-cta-btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }

/* ---------- 响应式 ---------- */
@media (max-width:991.98px){
  .ct-grid{ grid-template-columns:1fr; }
}
@media (max-width:575.98px){
  .section{ padding:40px 0; }
  .ct-form-card{ padding:26px 20px; }
  .ct-form-card form{ grid-template-columns:1fr; }
  .ct-cta-btns .btn{ width:100%; }
}
