/* Prevent padding/border from increasing element width unexpectedly */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html,
body {
  width: 100%;
  overflow-x: hidden; /* safety net - still fix the real cause below */
}
img,
iframe {
  max-width: 100%;
}

:root {
  --primary-color: #003366;
  --accent-color: rgba(39, 39, 246, 0.7);
  --hover-color: rgba(0, 51, 102, 0.3);
  --text-color: #2b2b3f;
  --transition: all 0.3s ease;
}

/* Hero section styling */
.hero4 {
  position: relative;
  padding: 80px 0;
  background: linear-gradient(
    135deg,
    var(--primary-color),
    var(--accent-color)
  );
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 51, 102, 0.15);
}

.hero4::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1));
}

.welcome2 {
  position: relative;
  z-index: 1;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.welcome2 h1 {
  font-size: 3rem;
  margin-bottom: 1rem;
  background: linear-gradient(45deg, #fff, #e0e0e0);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.welcome2 h2 {
  font-size: 1.5rem;
  color: rgba(255, 255, 255, 0.9);
}

.welcome2::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.8),
    transparent
  );
  animation: shimmer 3s ease-in-out infinite;
}

/* Form styling */
#form {
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 51, 102, 0.1);
  padding: 40px;
  margin: 40px auto;
  background: white;
  max-width: 1000px;
}

.form-control {
  border: 2px solid rgba(0, 51, 102, 0.1);
  border-radius: 10px;
  padding: 12px;
  transition: all 0.3s ease;
}

.form-control:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 0.2rem rgba(76, 175, 80, 0.25);
}

/* New button styles */
.nb-submit-btn,
.nb-email-btn {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    var(--accent-color),
    var(--primary-color)
  );
  color: white;
  border: none;
  padding: 12px 40px;
  border-radius: 30px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 51, 102, 0.2);
  text-decoration: none;
  font-size: 1.25rem;
}

.nb-submit-btn::before,
.nb-email-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  transition: 0.5s;
}

.nb-submit-btn:hover::before,
.nb-email-btn:hover::before {
  left: 100%;
}

.nb-submit-btn:hover,
.nb-email-btn:hover {
  transform: translateY(-3px);
  color: white;
  box-shadow: 0 6px 20px rgba(0, 51, 102, 0.3);
  background: linear-gradient(
    135deg,
    var(--primary-color),
    var(--accent-color)
  );
}

/* Chat section */
/* Chat section */
.chat-outer-container {
  position: relative;
  background: rgba(30, 90, 160, 0.5); /* Soft blue with transparency */
  background: linear-gradient(
    135deg,
    rgba(10, 70, 140, 0.5),
    /* Deep ocean blue */ rgba(50, 130, 200, 0.5) /* Sky blue */
  ); /* Gradient with transparency */
  border-radius: 20px;
  padding: 20px; /* Increased padding for a more spacious feel */
  margin: 40px auto;
  max-width: 1000px;
  box-shadow: none; /* Remove shadow to eliminate the white line */
}

.chat-inner-container {
  background: white; /* Keep the inner container white */
  border-radius: 18px; /* Slightly smaller radius for the inner container */
  padding: 40px;
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
  box-shadow: 0 4px 15px rgba(0, 51, 102, 0.1); /* Add shadow for depth */
}

/* Chat title */
.chat-inner-container h1 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  background: linear-gradient(45deg, #4caf50, #003366);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

/* Chat content */
.chat-inner-container p {
  font-size: 1.2rem;
  color: var(--text-color);
  margin: 10px 0;
}

/* Icon containers */
.icon-container {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(
    255,
    255,
    255,
    0.8
  ); /* Slightly transparent for a fun look */
  border-radius: 50%;
  box-shadow: 0 4px 15px rgba(0, 51, 102, 0.15);
  transition: all 0.3s ease;
  margin: 0 10px; /* Space between icons */
}

.icon-container:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0, 51, 102, 0.25);
}

.icon-container img {
  width: 35px;
  height: 35px;
  transition: transform 0.3s ease;
}

.icon-container:hover img {
  transform: scale(1.1);
}

/* Email button styles */
.nb-email-btn {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    var(--accent-color),
    var(--primary-color)
  );
  color: white;
  border: none;
  padding: 12px 40px;
  border-radius: 30px;
  transition: all 0.3s ease; /* Adjusted for smoother transition */
  box-shadow: 0 4px 15px rgba(0, 51, 102, 0.2);
  font-size: 1.25rem;
}

.nb-email-btn:hover {
  transform: scale(1.05); /* Slightly zoom in on hover */
  box-shadow: 0 6px 20px rgba(0, 51, 102, 0.3);
}

/* Success message */
.success-message {
  color: var(--accent-color);
  padding: 10px;
  border-radius: 10px;
  background: rgba(76, 175, 80, 0.1);
  margin-top: 20px;
  transition: all 0.3s ease;
}

.location-title {
  text-align: center;
  font-size: 40px;
  margin: 30px;
}
.maps-container {
  margin-bottom: 20px; /* Add 20px space at the bottom */
}

/* Animations */
@keyframes shimmer {
  0% {
    transform: translateX(-150%);
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  80% {
    opacity: 1;
  }

  100% {
    transform: translateX(150%);
    opacity: 0;
  }
}

@keyframes gradientShift {
  0% {
    opacity: 0.5;
    transform: translateX(-50%);
  }

  50% {
    opacity: 0.8;
    transform: translateX(0);
  }

  100% {
    opacity: 0.5;
    transform: translateX(50%);
  }
}

@keyframes borderGlow {
  0%,
  100% {
    opacity: 0.2;
    filter: blur(8px);
  }

  50% {
    opacity: 0.5;
    filter: blur(12px);
  }
}

/* Media queries */
@media (max-width: 768px) {
  .welcome2 h1 {
    font-size: 2rem;
  }

  .welcome2 h2 {
    font-size: 1.2rem;
  }

  #form {
    padding: 20px;
    margin: 20px;
  }

  #form h2 {
    font-size: 2.5rem;
  }

  .chat-inner-container h1 {
    font-size: 2rem;
  }
}

/* MAP section – aligned and responsive */
.maps-container {
  width: 100%;
  padding: 0 20px; /* spacing from screen edges on mobile */
  box-sizing: border-box;
}

.map-wrap {
  width: 100%;
  max-width: 1000px; /* same width as form & chat */
  margin: 0 auto 20px; /* centered */
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
}

.map-wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
