/* =============================================================
   Automania — contact.css
   Contact page: two-column layout, form card, contact details,
   static map placeholder and form alert states.
   ============================================================= */

.contact-head { padding-block: clamp(16px, 3vw, 28px) var(--space-lg); }

.contact-layout {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(20px, 3vw, 44px);
  align-items: start;
}

/* ---- Form card ---- */
.contact-card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-sm);
  padding: clamp(20px, 3vw, 36px);
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
}

/* ---- Alert states ---- */
.contact-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  margin-block-end: var(--space-md);
}
.contact-alert[hidden] { display: none; }
.contact-alert--success { background: var(--color-success-bg); color: var(--color-success); }
.contact-alert--error   { background: var(--color-danger-bg);  color: var(--color-danger); }

/* ---- Contact info ---- */
.contact-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.contact-info__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}
.contact-info__icon {
  flex: 0 0 auto;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: var(--radius-circle);
  background: var(--color-primary-mist);
  color: var(--color-primary);
  font-size: var(--fs-base);
}
.contact-info__label {
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--color-text-muted);
}
.contact-info__value {
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-text);
}
a.contact-info__value { transition: color var(--transition-fast); }
a.contact-info__value:hover { color: var(--color-primary); }

/* ---- Map placeholder ---- */
.contact-map {
  display: grid;
  place-items: center;
  gap: var(--space-xs);
  aspect-ratio: 16 / 10;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  color: var(--color-text-faint);
}
.contact-map i { font-size: var(--fs-2xl); color: var(--color-primary); }
.contact-map span { font-size: var(--fs-sm); }

/* Space the contact-info block from the map below it */
.contact-layout > aside {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 44px);
}

@media (max-width: 991.98px) {
  .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .contact-form__row { grid-template-columns: 1fr; }
}
