/* =================================================================
   CONTACT — page-specific styles
   ================================================================= */

.contact-split{ display:flex; flex-wrap:wrap; gap: var(--sp-xl); align-items:flex-start; }
.contact-split__info{ flex: 1 1 360px; min-width: 0; }
.contact-split__form{ flex: 1.3 1 460px; min-width: 0; }

.info-block{ margin-bottom: var(--sp-lg); }
.info-block h3{ margin-bottom: 1rem; }
.info-row{ display:flex; gap: 1rem; align-items:flex-start; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.info-row:last-child{ border-bottom:none; }
.info-row svg{ width:20px; height:20px; color: var(--accent); flex-shrink:0; margin-top:2px; }
.info-row h4{ font-size:0.95rem; margin-bottom:0.25rem; }
.info-row p{ font-size:0.9rem; color: var(--muted); margin:0; line-height:1.6; }
.info-row a{ color: var(--ink-soft); transition: color 0.3s ease; }
.info-row a:hover{ color: var(--accent); }

.hours-table{ width:100%; border-collapse: collapse; margin-top: 0.5rem; }
.hours-table tr{ border-bottom: 1px solid var(--border); }
.hours-table tr:last-child{ border-bottom:none; }
.hours-table td{ padding: 0.6rem 0; font-size:0.89rem; }
.hours-table td:first-child{ color: var(--muted); }
.hours-table td:last-child{ text-align:right; font-weight:600; color: var(--ink); }

.contact-form-card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--sp-lg);
}
.contact-form-card__head{ display:flex; justify-content:space-between; align-items:baseline; padding-bottom: 1rem; margin-bottom: 1.4rem; border-bottom: 1px solid var(--border); }
.contact-form-card__head h3{ margin:0; }
.contact-form-card__head span{
  font-size:0.72rem; font-weight:700; letter-spacing:0.03em; color:#fff;
  background: var(--grad-amber); padding: 0.35rem 0.75rem; border-radius: var(--radius-pill);
  box-shadow: 0 4px 12px rgba(234,88,12,0.25);
}

.form-row{ display:flex; flex-wrap:wrap; gap: 1rem; margin-bottom: 1.1rem; }
.form-group{ flex: 1 1 220px; min-width: 0; }
.form-group.full{ flex-basis: 100%; }
.form-group label{ display:block; font-family: var(--f-display); font-size:0.78rem; font-weight:600; color: var(--muted); margin-bottom: 0.5rem; }
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding: 0.8rem 1rem;
  border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  background: var(--bg-alt); color: var(--ink); font-size:0.95rem;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{ border-color: var(--accent); background: var(--surface); }
.form-group textarea{ resize: vertical; min-height: 110px; }
.form-group select{ cursor:pointer; }

.form-submit{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-top: 0.4rem; }
.form-note{ font-size:0.8rem; color: var(--muted); }

.form-success{ display:none; text-align:center; padding: var(--sp-xl) var(--sp-md); }
.form-success.visible{ display:block; }
.form-success svg{
  width:48px; height:48px; padding:14px; box-sizing:border-box; color:#fff;
  background: var(--grad-success); border-radius:50%;
  box-shadow: 0 8px 20px rgba(22,163,74,0.3), inset 0 1px 1px rgba(255,255,255,0.4), inset 0 -3px 6px rgba(0,0,0,0.14);
  margin: 0 auto var(--sp-md);
}
.form-success h3{ margin-bottom:0.5rem; }
.form-success p{ color: var(--muted); }

@media (max-width: 900px){
  .contact-split__info, .contact-split__form{ flex-basis: 100%; }
}

.map-frame{ border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md); height: 420px; border:1px solid var(--border); }
.map-frame iframe{ width:100%; height:100%; border:0; display:block; }
@media (max-width: 600px){
  .map-frame{ height: 300px; }
}
