/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  font-family: Arial, sans-serif;
  background-color: #253546;
  padding: 20px;
}

/* Layout container */
.contact-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  align-items: stretch;
}

/* Base card style */
.contact-card {
  width: calc((100% - (20px * (var(--columns, 1) - 1))) / var(--columns, 1));
  border: 4px solid #fff;
  border-radius: 15px;
  overflow: hidden;
  display: flex;
}

.contact-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  padding: 15px;
  width: 100%;
}

/* Logo */
.logo-container {
  flex: 0 0 auto;
}

.logo-container img {
  width: 40px;
  height: 40px;
}

/* Emoji container */
.emoji-container {
  flex: 0 0 auto;
  font-size: 40px;
  line-height: 1;
}

/* Info section */
.contact-info {
  margin-left: 15px;
}

.contact-info p {
  font-size: 1em;
}

/* Info grid layout */
.info-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 20px;
}

.info-grid span:nth-child(odd) {
  font-weight: bold;
}

.contact-card.whatsapp {
  background: linear-gradient(to bottom, #25D366, #128C7E);
  color: #fff;
}

.contact-card.email {
  background: linear-gradient(to bottom, #4A90D9, #2E5C8A);
  color: #fff;
}

.contact-card.info {
  background: linear-gradient(to bottom, #6B7280, #4B5563);
  color: #fff;
}

.contact-card.whatsapp:hover {
  background: linear-gradient(to bottom, #128C7E, #25D366);
}

.contact-card.email:hover {
  background: linear-gradient(to bottom, #2E5C8A, #4A90D9);
}

/* --- Responsive widths --- */

@media (max-width: 719px) {
  .contact-card {
      --columns: 1;
  }
}

@media (min-width: 720px) and (max-width: 1079px) {
  .contact-card {
      --columns: 2;
  }
}

@media (min-width: 1080px) {
  .contact-card {
      --columns: 3;
  }
}
