/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */

.contact-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}

.contact-card-lg {
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  text-align: left;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.contact-card-lg .cc-icon {
  width: 50px; height: 50px;
  border-radius: var(--radius-sm);
  background: rgba(229,9,20,0.1);
  border: 1px solid rgba(229,9,20,0.3);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--space-sm);
  transition: transform var(--dur-med) var(--ease-out);
}
.contact-card-lg:hover .cc-icon { transform: scale(1.1) rotate(-6deg); }
.contact-card-lg .cc-icon svg { width: 24px; height: 24px; stroke: var(--red); }
.contact-card-lg h3 { font-size: 1.1rem; text-transform: none; font-family: var(--font-body); font-weight: 700; margin-bottom: 0.4em; }
.contact-card-lg .cc-value { font-family: var(--font-mono); color: var(--white); font-size: 0.95rem; margin-bottom: 0.6em; display: block; }
.contact-card-lg p { font-size: 0.85rem; margin-bottom: var(--space-sm); }
.contact-card-lg .cc-link {
  margin-top: auto;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--red);
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}

@media (max-width: 1024px) { .contact-cards-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .contact-cards-grid { grid-template-columns: 1fr; } }

/* ---------- Full contact form ---------- */
.full-form-card { padding: var(--space-lg); border-radius: var(--radius-lg); }
@media (max-width: 700px) { .full-form-card { padding: var(--space-md); } }

/* ---------- Map placeholder ---------- */
.map-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--grey-line);
  aspect-ratio: 16/7;
}
.map-frame iframe { width: 100%; height: 100%; border: 0; filter: grayscale(0.3) invert(0.92) contrast(0.9); }
