/* Styles for the main banner image */
.banner {
    width: 100%;
    height: 60vh; /* Reduced height slightly */
    position: relative; /* Needed for potential overlay or text */
}

.banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Removed brightness filter, image looks good */
    background-position: center;
    background-size: cover;
}

/* Section: About Us Content */
.about-section {
    padding: 60px 20px;
    background-color: #ffffff;
}

.about-container {
    max-width: 900px; /* Constrained width for readability */
    margin: 0 auto;
    font-family: 'Roboto', sans-serif;
    line-height: 1.7; 
    color: #333;
    padding-bottom: 30px;
}

/* Main title for the section (used also in timeline) */
.section-title {
    font-size: 2.5rem;
    color: #f98930;
    text-align: center;
    font-weight: bold;
    margin-bottom: 50px;
    padding-bottom: 10px;
    border-bottom: 3px solid #f98930;
    display: inline-block; /* Adjust border to text */
}

/* Styling for individual text boxes */
.caja {
    margin-bottom: 30px;
    padding: 25px;
    background: #fdfdfd;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    border-left: 5px solid #f98930; /* Accent line */
}

.caja h2.about-title, 
.caja h3.about-title {
    font-size: 1.8rem;
    border-bottom: none; /* Remove double border */
    margin-bottom: 10px;
    padding-bottom: 0;
    display: block; /* Make title full width within the box */
}

.caja p, .caja ul {
    font-size: 1rem;
    color: #444;
}

/* Closing paragraph style */
.about-container > p:last-of-type { /* Target the final paragraph specifically */
    font-size: 1.1rem;
    text-align: center;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
    margin-top: 30px; /* Add some space before it */
}

/* Custom list style for "What moves us?" */
.about-list {
    list-style-type: none; 
    padding-left: 0;
}

.about-list li {
    position: relative;
    padding-left: 30px; 
    margin-bottom: 15px;
    font-size: 1rem;
    line-height: 1.6;
}

.about-list li::before {
    content: '\f00c'; /* FontAwesome check icon */
    font-family: 'Font Awesome 6 Free'; /* Specify FontAwesome font */
    font-weight: 900; /* Use solid style */
    position: absolute;
    left: 0;
    top: 2px; /* Align icon better */
    color: #f98930;
    font-size: 1.1rem;
}

/* Gandhi Quote styling */
.about-quote {
    text-align: center;
    margin: 30px auto 50px auto; 
    max-width: 800px;
    font-style: italic;
    font-size: 1.4em;
    color: #464646;
    border-left: 5px solid #f98930; 
    padding-left: 20px;
    background: #ffffff;
}

.about-quote blockquote {
    margin: 0;
}

.about-quote footer {
    margin-top: 10px;
    font-size: 0.9em;
    color: #777;
    font-style: normal; 
}

/* Facilities Gallery Section */
.facility-reservation-section {
    padding: 60px 20px; 
    background-image: url(../imagenes/Encabezado\ \(1\).png); /* Check path */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.facility-reservation-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    align-items: flex-start; /* Align items to top */
}

.facility-left {
    flex: 1 1 50%; /* Takes up half width, allows shrinking */
    min-width: 300px; 
}

.facility-right {
    flex: 1 1 45%; /* Takes up slightly less than half, allows shrinking */
    padding: 30px; /* More padding */
    border-radius: 8px;
    color: #333; /* Text color for form */
    background-color: #ffffff; 
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    min-width: 300px;
}

.facility-gallery-main img {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
    border: 1px solid #ddd; /* Subtle border */
    display: block; /* Remove potential bottom space */
}

.facility-thumbnails {
    display: flex;
    gap: 10px;
    flex-wrap: wrap; /* Allows thumbnails to wrap */
}

.facility-thumbnails img {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border: 3px solid transparent; /* Thicker border for active state */
    border-radius: 4px;
    cursor: pointer;
    transition: border-color 0.3s, transform 0.2s;
}

.facility-thumbnails img.active,
.facility-thumbnails img:hover {
    border-color: #f98930; 
    transform: scale(1.05);
}

/* Adjust form within facility section */
.facility-right .contact-form h2 {
    color: #f98930; /* Ensure title uses accent color */
    margin-bottom: 15px;
}
.facility-right .contact-form p {
    margin-bottom: 25px;
    color: #555;
}

.facility-right .btn {
    margin-top: 15px;
    display: inline-block;
}

/* Old style, might be unused now */
.letras{
    font-size: 20px;
    color: #f98930;
    line-height: 1.6;
    margin-bottom: 20px
}

/* Accessibility class */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* New Social Icons Section */
.social-links-section {
    padding: 50px 20px;
    background-color: #f9f9f9; /* Light background */
    text-align: center;
}

/* Shared subtitle style */
.subsection-title {
    font-size: 2rem;
    color: #333;
    text-align: center;
    font-weight: 600;
    margin-bottom: 40px;
}

.social-icons-container {
    display: flex;
    justify-content: center;
    gap: 25px; /* Spacing between icons */
}

.social-icon {
    display: inline-flex; /* Use flex to center icon */
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    color: white;
    font-size: 1.8rem; /* Icon size */
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.social-icon:hover {
    transform: translateY(-5px) scale(1.1); /* Lift and scale effect */
    box-shadow: 0 8px 15px rgba(0,0,0,0.2);
}

/* Brand colors */
.social-icon.facebook  { background: #3b5998; }
.social-icon.twitter   { background: #1DA1F2; }
.social-icon.instagram { 
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.social-icon.linkedin  { background: #0077B5; }


/* === Media Queries === */

@media (max-width: 768px) {
  .banner {
    height: 40vh; /* Shorter banner on mobile */
  }

  .about-section {
    padding: 40px 20px;
  }
  
  .section-title { /* Adjust title size for section titles */
      font-size: 2.2rem;
  }
  
  .about-title { /* Adjust title size within .caja */
    font-size: 1.6rem; 
  }
  .caja h2.about-title,
  .caja h3.about-title {
    font-size: 1.6rem;
  }
  .about-quote {
    font-size: 1.1rem;
  }

  /* Stack facility gallery and form */
  .facility-reservation-container {
    flex-direction: column;
  }
  .facility-left, .facility-right {
    flex-basis: 100%; 
    width: 100%;
  }

   /* Adjust social icons section padding */
  .social-links-section {
      padding: 40px 15px;
  }
  .social-icon {
      width: 50px;
      height: 50px;
      font-size: 1.5rem;
  }
   .subsection-title {
       font-size: 1.8rem;
   }
}

@media (max-width: 480px) {
    .section-title {
        font-size: 1.8rem; /* Further reduce title size */
    }
    .about-title { /* Reduce title size inside .caja */
        font-size: 1.4rem;
    }
     .caja h2.about-title,
     .caja h3.about-title {
        font-size: 1.4rem;
    }
    .caja {
        padding: 20px;
    }
    .banner {
        height: 30vh;
    }
    .about-quote {
        font-size: 1rem; /* Smaller quote text */
    }

    .facility-thumbnails img {
        width: 60px;
        height: 45px;
    }
     .social-icons-container {
        gap: 15px; /* Reduce gap between icons */
    }
     .social-icon {
      width: 45px;
      height: 45px;
      font-size: 1.3rem;
  }
    .subsection-title {
       font-size: 1.6rem;
   }
}