/* CSS để căn chỉnh social icons trong footer */

/* Căn giữa social icons container */
.social-icons-container {
  text-align: center;
  margin: 20px 0;
}

/* Style cho từng social icon */
.social-icon {
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin: 0 10px;
  text-decoration: none;
  transition: transform 0.3s ease;
  text-align: center;
  line-height: 50px;
}

/* Hover effect */
.social-icon:hover {
  transform: scale(1.1);
}

/* Màu sắc cho từng loại icon */
.facebook-icon {
  background-color: #3b5998;
}

.instagram-icon {
  background-color: #e4405f;
}

.google-icon {
  background-color: #dd4b39;
}

/* Style cho SVG icons */
.social-icon svg {
  width: 24px;
  height: 24px;
  fill: white;
  vertical-align: middle;
}

/* Responsive design */
@media (max-width: 768px) {
  .social-icon {
    width: 45px;
    height: 45px;
    margin: 0 8px;
    line-height: 45px;
  }

  .social-icon svg {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 480px) {
  .social-icon {
    width: 40px;
    height: 40px;
    margin: 0 5px;
    line-height: 40px;
  }

  .social-icon svg {
    width: 18px;
    height: 18px;
  }
}

/* Căn chỉnh footer columns */
.elementor-element-78f5931 .elementor-container {
  text-align: center;
}

.elementor-element-4ab03a0c,
.elementor-element-820d200,
.elementor-element-5363e654 {
  text-align: center;
}

/* Căn chỉnh Elementor social icons nếu có */
.elementor-social-icons-wrapper.elementor-grid {
  justify-content: center !important;
  gap: 15px !important;
  display: flex !important;
  flex-wrap: wrap !important;
}

.elementor-social-icon {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.3s ease !important;
  margin: 5px !important;
}

.elementor-social-icon:hover {
  transform: scale(1.1) !important;
}

.elementor-social-icon svg {
  width: 24px !important;
  height: 24px !important;
  fill: white !important;
}

/* Căn chỉnh widget container của social icons */
.elementor-element-64f3d4f .elementor-widget-container {
  text-align: center !important;
}

/* Căn chỉnh grid items */
.elementor-grid-item {
  display: inline-flex !important;
  justify-content: center !important;
}

/* Google Maps Styling */
.google-maps-container {
  margin-bottom: 20px;
}

.google-maps-container iframe {
  width: 100%;
  height: 200px;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease;
}

.google-maps-container iframe:hover {
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Maps heading styling */
.elementor-element-maps-widget h5 {
  color: #fff !important;
  margin-bottom: 15px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* Responsive styling for mobile devices */
@media (max-width: 768px) {
  .google-maps-container iframe {
    height: 180px;
    border-radius: 6px;
  }

  .elementor-element-maps-widget h5 {
    font-size: 15px !important;
  }
}

@media (max-width: 480px) {
  .google-maps-container iframe {
    height: 160px;
    border-radius: 4px;
  }

  .elementor-element-maps-widget h5 {
    font-size: 14px !important;
    margin-bottom: 12px !important;
  }
}
