/* ===== Contact page styles ===== */
.contact-wrap{ padding-block:clamp(40px,5vw,72px) clamp(56px,7vw,100px); }
.contact-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,52px); align-items:start; }

/* form card */
.form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:clamp(24px,3vw,40px); box-shadow:var(--shadow); }
.form-card > h2{ font-size:clamp(1.6rem,2.6vw,2.1rem); }
.form-card .sub{ margin:.5rem 0 1.6rem; color:var(--ink-2); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem 1.2rem; }
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field.full{ grid-column:1 / -1; }
.field label{ font-family:var(--font-head); font-weight:600; font-size:.92rem; color:var(--ink); }
.field label .req{ color:var(--orange-deep); }
.field input, .field select, .field textarea{
  font-family:var(--font-body); font-size:1rem; color:var(--ink);
  background:var(--bg); border:1.5px solid var(--line); border-radius:11px; padding:.78rem .9rem;
  transition:border-color .15s, box-shadow .15s; width:100%;
}
.field textarea{ resize:vertical; min-height:120px; }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--blue); box-shadow:0 0 0 3px oklch(0.52 0.13 250 / .14);
}
.field.has-error input, .field.has-error select, .field.has-error textarea{ border-color:oklch(0.58 0.2 25); box-shadow:0 0 0 3px oklch(0.58 0.2 25 / .12); }
.field-error{ font-size:.82rem; color:oklch(0.55 0.2 25); min-height:1px; }
.form-actions{ margin-top:1.5rem; display:flex; flex-direction:column; gap:.7rem; }
.form-note{ font-size:.84rem; color:var(--ink-3); text-align:center; }

.form-success{ text-align:center; padding:1rem 0 .5rem; }
.form-success .fs-ic{ width:72px; height:72px; border-radius:50%; background:var(--blue-tint); color:var(--blue); display:flex; align-items:center; justify-content:center; margin:0 auto 1.2rem; }
.form-success .fs-ic svg{ width:38px; height:38px; }
.form-success h3{ font-size:1.5rem; margin-bottom:.5rem; }
.form-success p{ max-width:36ch; margin-inline:auto; }

/* contact detail column */
.contact-aside{ display:flex; flex-direction:column; gap:1.2rem; }
.detail-card{ background:var(--dark); color:#fff; border-radius:var(--radius-lg); padding:clamp(24px,3vw,34px); }
.detail-card h3{ color:#fff; font-size:1.3rem; margin-bottom:1.3rem; }
.detail-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:1.1rem; }
.detail-list li{ display:flex; gap:.9rem; align-items:flex-start; }
.detail-list .d-ic{ width:44px; height:44px; border-radius:12px; background:oklch(1 0 0 / .08); display:flex; align-items:center; justify-content:center; flex:none; }
.detail-list .d-ic svg{ width:22px; height:22px; color:var(--orange); }
.detail-list .d-meta span{ display:block; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:oklch(0.72 0.012 255); margin-bottom:.15rem; }
.detail-list .d-meta a, .detail-list .d-meta strong{ font-family:var(--font-head); font-weight:700; font-size:1.12rem; color:#fff; }
.detail-list .d-meta a:hover{ color:var(--orange); }
.detail-list .d-meta p{ margin:0; color:oklch(0.82 0.01 255); font-size:.95rem; }

.map-card{ border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm); background:#fff; }
.map-card iframe{ display:block; width:100%; height:300px; border:0; }
.map-card .map-foot{ display:flex; align-items:center; gap:.6rem; padding:.95rem 1.2rem; font-size:.95rem; color:var(--ink-2); }
.map-card .map-foot svg{ width:18px; height:18px; color:var(--orange-deep); flex:none; }

/* areas + hours mini row */
.contact-extra{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,32px); margin-top:clamp(32px,4vw,52px); }
.extra-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(22px,2.5vw,30px); box-shadow:var(--shadow-sm); }
.extra-card h3{ font-size:1.25rem; margin-bottom:1rem; }
.hours-row{ display:flex; justify-content:space-between; padding:.55rem 0; border-bottom:1px solid var(--line-2); font-size:.98rem; }
.hours-row:last-child{ border-bottom:0; }
.hours-row span:first-child{ color:var(--ink-2); }
.hours-row span:last-child{ font-family:var(--font-head); font-weight:600; color:var(--ink); }
.hours-row.emph span:last-child{ color:var(--orange-deep); }
.area-pills{ display:flex; flex-wrap:wrap; gap:.5rem; }
.area-pills .area-chip{ font-size:.95rem; padding:.55em .95em; box-shadow:none; }

@media (max-width: 920px){
  .contact-grid{ grid-template-columns:1fr; }
  .contact-extra{ grid-template-columns:1fr; }
}
@media (max-width: 520px){
  .form-grid{ grid-template-columns:1fr; }
}
