
/* ===== CONTACT SECTION ===== */
.contact-section {
  padding: 60px 15px;
  background: #f9fbf8;
}

.contact-container {
  max-width: 1100px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}

/* LEFT SIDE */
.contact-text {
  flex: 1 1 200px;
}

.contact-text h2 {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  color: #243E70;
  margin-bottom: 16px;
}

.contact-text p {
  font-size: 14px;
  color: #555;
  margin-bottom: 20px;
  line-height: 1.6;
}

/* CONTACT LIST */
.contact-info {
  list-style: none;
  padding: 0;
}

.contact-info li {
  font-size: 14px;
  color: #1a1a1a;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  word-break: break-word; /* mobile fix */
}

.contact-info i {
  color: #E63946;
}

/* LINKS */
.contact-info a {
  text-decoration: none;
  color: inherit;
}

.contact-info a:hover {
  color: #E63946;
}

/* RIGHT SIDE (MAP) */
.contact-image {
  flex: 1 1 200px;
  width: 100%;
}

/* 🔥 IMPORTANT MAP FIX */
.contact-image iframe {
  width: 100%;
  height: 350px;
  border-radius: 12px;
  border: 0;
}

/* SOCIAL ICONS */
.contact-social {
  margin-top: 20px;
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.contact-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: #E63946;
  color: #fff;
  border-radius: 50%;
  font-size: 16px;
  transition: 0.3s;
  text-decoration: none;
}

.contact-social a:hover {
  background: linear-gradient(135deg, #E63946, #F77F00);
  transform: translateY(-3px);
}

/* ===== TABLET ===== */
@media (max-width: 992px) {
  .contact-container {
    gap: 30px;
  }

  .contact-text h2 {
    font-size: 28px;
  }

  .contact-image iframe {
    height: 300px;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .contact-container {
    flex-direction: column;
    text-align: center;
  }

  .contact-text {
    width: 100%;
  }

  .contact-text p {
    text-align: center;
  }

  .contact-info li {
    justify-content: center;
  }

  .contact-social {
    justify-content: center;
  }

  .contact-image iframe {
    height: 250px;
  }
}

/* ===== SMALL MOBILE ===== */
@media (max-width: 480px) {
  .contact-text h2 {
    font-size: 24px;
  }

  .contact-image iframe {
    height: 220px;
  }
}

/* ===== EXTRA FIX ===== */
body {
  overflow-x: hidden;
}