
.detail-page{max-width:900px;margin:0 auto;padding:28px 20px 70px}.detail-hero{padding:50px 30px;background:linear-gradient(130deg,#f5ede2,#faf6f0);border:1px solid #e8ded2;border-radius:24px;text-align:center}.detail-eyebrow{color:#8b5e3c;font-weight:700;letter-spacing:.08em}.detail-hero h1{font-size:clamp(1.6rem,4.5vw,2.8rem);margin:16px auto;color:#1f1f1f;line-height:1.5}.detail-hero p{line-height:2;color:#5a5a5a;max-width:690px;margin:0 auto 24px}.detail-section{padding:36px 4px;border-bottom:1px solid #e8ded2}.detail-section h2{font-size:clamp(1.25rem,3vw,1.8rem);margin-bottom:18px;color:#8b5e3c}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-tile{background:#fff;border:1px solid #e8ded2;border-radius:14px;padding:18px;line-height:1.7}.detail-section p{line-height:1.9}.detail-nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:20px auto 0}.detail-nav a{color:#8b5e3c;text-decoration:underline;text-underline-offset:4px}.detail-cta{margin-top:30px;text-align:center}.detail-cta .btn-primary{display:inline-block;margin:8px}.detail-footer{text-align:center;padding:26px 16px;color:#b8b8b8;background:#1f1f1f}.detail-footer a{color:#f5ede2}.detail-hero .btn-primary{display:inline-block}.detail-hero .btn-secondary{display:inline-block}@media(max-width:560px){.detail-grid{grid-template-columns:1fr}.detail-hero{padding:30px 16px}.detail-page{padding:16px 14px 45px}}

/* Wider service pages with a responsive, editorial photo layout */
@media (min-width: 1025px) {
 .detail-page { max-width: 1120px; padding-left: 30px; padding-right: 30px; }
 .detail-hero { padding: 62px 58px; }
 .detail-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
}
.detail-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0 12px; }
.detail-photo { margin:0; border-radius:16px; overflow:hidden; background:#f4ede4; border:1px solid #e8ded2; }
.detail-photo img { width:100%; height:230px; object-fit:cover; display:block; }
.detail-photo figcaption { padding:12px 14px; color:#68584b; font-size:.9rem; line-height:1.6; }
.detail-photo.is-missing { display:none; }
@media (max-width: 680px) { .detail-gallery {grid-template-columns:1fr 1fr; gap:10px;} .detail-photo img {height:155px;} }
@media (max-width: 420px) { .detail-gallery {grid-template-columns:1fr;} .detail-photo img {height:205px;} }

.process-list {
  counter-reset: step;
  list-style: none;
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 18px 0 0;
}
.process-list li {
  counter-increment: step;
  position: relative;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 14px 16px 14px 52px;
  line-height: 1.7;
  font-size: clamp(.78rem,1.2vw,.95rem);
}
.process-list li::before {
  content: counter(step);
  position: absolute;
  left: 14px; top: 14px;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem;
}

/* ============================================================
   詢問表單（新版）
   ============================================================ */
.inquiry-wrap{
  background:linear-gradient(135deg,#fffdf9,#faf6f0);
  border:1px solid #e8ded2;
  border-radius:20px;
  padding:clamp(18px,3vw,32px);
  margin-top:18px;
}
.inquiry-head{margin-bottom:clamp(14px,2vw,20px);}
.inquiry-head h3{
  font-size:clamp(1rem,2vw,1.3rem);
  font-weight:900;
  color:#1F1F1F;
  margin-bottom:6px;
}
.inquiry-head p{
  font-size:clamp(.72rem,1.1vw,.9rem);
  color:#5A5A5A;
  line-height:1.7;
}
.inquiry-quick{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:10px;
  font-size:clamp(.7rem,1vw,.86rem);
}
.inquiry-quick a{
  color:#8B5E3C;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

.inquiry-form{display:grid;gap:clamp(12px,1.8vw,16px);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.8vw,16px);}
.form-field{display:flex;flex-direction:column;gap:6px;}
.form-field label{
  font-size:clamp(.72rem,1.05vw,.88rem);
  font-weight:700;
  color:#1F1F1F;
  display:flex;
  align-items:center;
  gap:4px;
}
.form-field .req{color:#C0392B;font-size:.9em;}
.form-field .hint{font-size:clamp(.62rem,.9vw,.76rem);color:#8B8B8B;font-weight:400;}
.form-field input,
.form-field select,
.form-field textarea{
  font:inherit;
  font-size:clamp(.78rem,1.1vw,.92rem);
  padding:clamp(9px,1.2vw,12px) clamp(10px,1.4vw,14px);
  border:1.5px solid #e8ded2;
  border-radius:10px;
  background:#fff;
  color:#1F1F1F;
  transition:border-color .2s, box-shadow .2s;
  width:100%;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:none;
  border-color:#B8895A;
  box-shadow:0 0 0 3px rgba(184,137,90,.18);
}
.form-field textarea{resize:vertical;min-height:90px;}
.form-field select{
  appearance:none;
  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 1l5 5 5-5' stroke='%238B5E3C' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:38px;
}
.form-field .error-msg{
  font-size:clamp(.62rem,.9vw,.76rem);
  color:#C0392B;
  display:none;
}
.form-field.has-error .error-msg{display:block;}
.form-field.has-error input,
.form-field.has-error select,
.form-field.has-error textarea{border-color:#C0392B;}

.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px;height:1px;
  overflow:hidden;
}

.inquiry-submit{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:4px;
}
.inquiry-submit .btn-primary{min-width:clamp(140px,30vw,220px);}
.submit-note{font-size:clamp(.62rem,.9vw,.76rem);color:#8B8B8B;line-height:1.5;}

.inquiry-status{
  display:none;
  padding:clamp(12px,2vw,16px);
  border-radius:12px;
  font-size:clamp(.74rem,1.1vw,.9rem);
  line-height:1.7;
  margin-top:8px;
}
.inquiry-status.is-success{
  display:block;
  background:#EAF6EC;
  border:1px solid #B9DFC0;
  color:#256B36;
}
.inquiry-status.is-error{
  display:block;
  background:#FDECEC;
  border:1px solid #F0B9B9;
  color:#A12B2B;
}
.inquiry-status a{color:inherit;font-weight:700;text-decoration:underline;}

@media(max-width:560px){
  .form-row{grid-template-columns:1fr;}
  .inquiry-submit .btn-primary{width:100%;min-width:0;}
}