/* ======================================================
   PAGE CONTACT
====================================================== */
.contact-hero { padding: 48px 32px 0; text-align: center; }
.contact-hero h1 { font-size: var(--text-3xl); margin: 14px 0 8px; }
.contact-hero p { color: var(--color-text-muted); font-size: var(--text-md); max-width: 560px; margin: 0 auto; }

.contact-layout { max-width: var(--container-max); margin: 0 auto; padding: 36px 32px 60px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: start; }

.contact-form-card { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 28px; }
.contact-form-card h2 { font-size: var(--text-lg); margin-bottom: 4px; }
.contact-form-card .form-sub { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0 0 22px; }
.contact-form-grid { display: flex; flex-direction: column; gap: 16px; }
.contact-form-grid textarea {
  width: 100%; box-sizing: border-box; padding: 11px 14px; font-family: var(--font-body); font-size: var(--text-base);
  border: 1px solid var(--color-border); border-radius: var(--radius-sm); resize: vertical; outline: none;
}
.contact-form-grid textarea:focus { border-color: var(--color-focus-ring); box-shadow: 0 0 0 3px rgba(232,135,30,0.15); }
.contact-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.contact-info-list { display: flex; flex-direction: column; gap: 14px; }
.contact-info-card { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 18px 20px; display: flex; gap: 14px; align-items: flex-start; }
.contact-info-card h4 { font-size: var(--text-sm); margin-bottom: 3px; }
.contact-info-card p { font-size: var(--text-sm); color: var(--color-text-body); margin: 0; }
.contact-info-card a.link { color: var(--color-primary-active); font-weight: 600; }
.contact-info-card .icon-tile .bi { font-size: 20px; }
.contact-hours-row { display: flex; justify-content: space-between; font-size: 13px; color: var(--color-text-body); padding: 6px 0; border-top: 1px solid var(--color-border-soft); }
.contact-hours-row:first-of-type { border-top: none; }

.contact-map { height: 200px; border-radius: var(--radius-lg); background: var(--nadia-cream-200); background-image: radial-gradient(var(--nadia-ink-200) 1.5px, transparent 1.5px); background-size: 20px 20px; display: flex; align-items: center; justify-content: center; color: var(--color-text-muted); font-size: 13px; border: 1px dashed var(--color-border); text-align: center; padding: 16px; }

@media (max-width: 900px) {
  .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .contact-row-2 { grid-template-columns: 1fr; }
}
