/* ============================================================================
   contact-v3-page.css —— 联系我们 v3
   复用 home-v3.css（.sec/.sec-head/.pv-hero/.pv-facts）与 contact.css 的表单样式
   ========================================================================== */

.ct3-actions{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}

/* --- 联系方式 + 表单 --- */
.ct3-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(26px,4vw,60px);align-items:start}
.ct3-info{border-top:1px solid var(--line-l);
  /* 2026-10-20 P1-01 收尾：grid 子项默认 min-width:auto，
     长邮箱/地址会反向撑破 minmax(0,1fr) 列。置 0 允许收缩。 */
  min-width:0}
.ct3-item{padding:15px 0;border-bottom:1px solid var(--line-l)}
.ct3-item h4{margin:0 0 6px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--tx-l-3);font-weight:500}
.ct3-item p{margin:0;font-size:14px;line-height:1.7;color:var(--tx-l)}
.ct3-item p.en{font-size:12.5px;color:var(--tx-l-2);margin-top:3px;letter-spacing:.01em}
.ct3-item a{color:inherit;text-decoration:none;transition:color .2s}
.ct3-item a:hover{color:var(--accent-deep)}

.ct3-form{
  min-width:0;   /* 2026-10-20 P1-01 收尾，同上 */
  background:#FDFBF6;border:1px solid var(--line-l);border-radius:8px;
  padding:clamp(22px,3vw,34px);
}
.ct3-form-title{margin:0;font-size:18px;font-weight:600;color:var(--tx-l)}
.ct3-form-desc{margin:7px 0 20px;font-size:13px;color:var(--tx-l-3)}
.ct3-submit{width:100%;margin-top:6px;padding:14px;justify-content:center;
  background:var(--accent);color:#14100A!important;border-color:var(--accent);font-weight:600}
.ct3-submit:hover{background:#E0C98A;color:#14100A!important}

/* 表单控件：在骨白底上压深一档，保证对比度 */
.ct3-form .form-label{color:var(--tx-l-2);font-size:12.5px}
/* 2026-10-19 修：base.css 里 html[data-theme="darkgold"] .form-input（0,2,1）
   压过了 .ct3-form .form-input（0,2,0），导致输入文字是暖白 #E8E3D8、
   铺在白底上几乎看不见。加 .ct3-page 前缀抬到 0,3,0。 */
.ct3-page .ct3-form .form-input,
.ct3-page .ct3-form .form-select,
.ct3-page .ct3-form .form-textarea{
  background:#fff;border:1px solid rgba(58,48,26,.22);color:var(--tx-l);
  border-radius:4px;
}
.ct3-page .ct3-form .form-input:focus,
.ct3-page .ct3-form .form-select:focus,
.ct3-page .ct3-form .form-textarea:focus{
  border-color:var(--accent-deep);box-shadow:0 0 0 3px rgba(201,175,108,.16);outline:0;
}
.ct3-page .ct3-form .form-input::placeholder,
.ct3-page .ct3-form .form-textarea::placeholder{color:#9A9184}
.ct3-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct3-form .form-group{margin-bottom:14px}
.ct3-form .form-textarea{min-height:120px}

/* --- 地图 / 相册 --- */
/* ============================================================================
   2026-10-19 · 工厂位置重新布局
   ----------------------------------------------------------------------------
   改前：align-items:start → 左右两栏各自撑高，底边对不齐；
        右侧两张图各按 16:10 自算高度，加图注后更高，整块参差。
   改后：整块固定行高（桌面 460），左地图与右侧两图同高；
        右侧两图用 grid-template-rows:1fr 1fr 平分，图注改为压在图上的小标签。
   ========================================================================== */
.ct3-map-grid{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  gap:14px;align-items:stretch;grid-auto-rows:460px;
}
.ct3-map-grid.is-single{grid-template-columns:1fr}
.ct3-map{border:1px solid var(--line-l);border-radius:12px;overflow:hidden;height:100%;background:#08090B}
.ct3-map > *{border-radius:12px}
.ct3-shots{display:grid;grid-template-rows:1fr 1fr;gap:14px;height:100%}
.ct3-shots figure{
  margin:0;position:relative;border:1px solid var(--line-l);border-radius:12px;
  overflow:hidden;background:#08090B;min-height:0;
}
.ct3-shots img{width:100%;height:100%;object-fit:cover;display:block}
/* 图注压在图底，不再单独占一行高度 */
.ct3-shots figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:#EDE8DA;
  background:linear-gradient(to top,rgba(6,7,10,.82),rgba(6,7,10,0));
}

@media (max-width:900px){
  /* 2026-10-20 审计修复 P1-01（根因）：
     原为 1fr，即 minmax(auto, 1fr)。栅格列的 auto 最小值取内容最小宽度，
     英文版邮箱/地址/长句使其达 496px，列无法收缩，整页被撑到 516px。
     改为 minmax(0, 1fr) 后列宽上限为容器宽。
     仅影响 ≤900px 堆叠布局；桌面双列不受影响。 */
  .ct3-grid{grid-template-columns:minmax(0,1fr)}
  .ct3-map-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .ct3-map{min-height:300px}
  .ct3-shots{grid-template-rows:auto;height:auto}
  .ct3-shots figure{min-height:220px}
  .ct3-form .form-row{grid-template-columns:minmax(0,1fr)}
}

/* 2026-10-19：各类「索取/询价」按钮都锚到 #contact-form，防止被固定导航遮住 */
#contact-form{scroll-margin-top:calc(var(--nav-h, 72px) + 20px)}

/* 地图容器行内写死 height:400px，卡片是 460 → 底部会露出黑底，这里让它撑满 */
.ct3-map #hrwMap, .ct3-map > div{height:100% !important}

/* ==================================================================
   2026-10-20 审计修复 P1-01 最终收尾
   ------------------------------------------------------------------
   Playwright 逐层二分定位到的真实元凶：
     .ct3-form > .contact-form > button.btn.btn-solid
   英文文案 "Send requirements · we will get back to ..." 较长，
   而 .btn 是 white-space:nowrap + height:46px 固定高，
   按钮被文字撑到 304px，反向撑破 348px 的栅格 → 整页 369px。

   对策：仅窄屏允许按钮文字换行，高度改为自适应。
   影响面：只有「≤520px 视口 + 按钮文字超长」才会触发，
   桌面端与中文站（文案短，本就换不了行）视觉不变。
   ================================================================== */
@media (max-width:520px){
  .contact-form .btn,
  .ct3-form .btn{
    white-space:normal;       /* 允许换行，消除 304px 的内容宽 */
    height:auto;
    min-height:46px;
    padding:12px 18px;
    line-height:1.35;
    text-align:center;
    max-width:100%;
    box-sizing:border-box;
  }
  .contact-form .btn svg{flex:0 0 auto}
  /* 输入框也防止被长 placeholder 撑破 */
  .contact-form input,
  .contact-form textarea,
  .contact-form select{max-width:100%;box-sizing:border-box}
}
