 /* RESET GENERAL */
 
 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }
 
 body {
     font-family: "Poppins", sans-serif;
     color: #333;
     background-color: #fff;
     line-height: 1.6;
 }
 /* ------------------------------ */
 /* HEADER */
 /* ------------------------------ */
 
 .header {
     background: #111;
     color: #fff;
     padding: 10px 0;
 }
 
 .header .container {
     width: 90%;
 }
 
 .header h1 {
     font-size: 1rem;
     letter-spacing: 1px;
 }
 
 .header .icons span {
     margin-left: 10px;
     cursor: pointer;
 }
 
 .header h1 img {
     height: 40px;
     width: auto;
     margin-right: 10px;
     vertical-align: middle;
 }
 /* ------------------------------ */
 /* HERO - Banner Principal */
 /* ------------------------------ */
 
 .hero {
     background: url("../img/banner1.webp") center/cover no-repeat;
     height: 70vh;
     min-height: 600px;
     position: relative;
     width: 100%;
 }
 
 .hero .overlay {
     background: rgba(0, 0, 0, 0.5);
     height: 100%;
     display: flex;
     align-items: center;
     padding-left: 10%;
 }
 
 .hero-text {
     color: #fff;
     max-width: 650px;
 }
 
 .hero-text h2 {
     font-size: 2rem;
     margin: 10px 0;
     font-weight: 700;
 }
 
 .hero-text .btn {
     margin-top: 15px;
     font-weight: bold;
 }
 
 .hero-text .phone a {
     color: #fff;
     font-weight: bold;
     text-decoration: underline;
 }
 /* ------------------------------ */
 /* SOBRE NOSOTROS */
 /* ------------------------------ */
 
 .about {
     text-align: center;
     padding: 60px 10%;
 }
 
 .about h2 {
     color: #6e7c5e;
     margin-bottom: 40px;
 }
 
 .about-grid {
     display: flex;
     justify-content: center;
     flex-wrap: wrap;
     gap: 25px;
 }
 
 .custom-card {
     max-width: 300px;
     padding: 15px;
 }
 
 .custom-card img {
     width: 100%;
     height: 250px;
     object-fit: cover;
     border-radius: 8px;
 }
 
 .custom-card h3 {
     margin-top: 15px;
     color: #444;
 }
 
 .custom-card p {
     font-size: 0.9rem;
     color: #555;
 }
 /* ------------------------------ */
 /* GALERÍA / CARRUSEL */
 /* ------------------------------ */
 
 .gallery {
     text-align: center;
     padding: 60px 10%;
 }
 
 .gallery h2 {
     margin-bottom: 30px;
     color: #6e7c5e;
 }
 /* Imágenes completas sin recortar */
 
 .carousel-item img {
     width: 100%;
     height: auto;
     max-height: 70vh;
     object-fit: contain;
     background: #f5f5f5;
     border-radius: 10px;
     padding: 10px;
 }
 /* Miniaturas */
 
 .thumbs-container {
     display: flex;
     justify-content: center;
     gap: 10px;
 }
 
 .thumbs-container .thumb {
     width: 80px;
     height: 60px;
     object-fit: cover;
     border-radius: 5px;
     cursor: pointer;
     opacity: .6;
     transition: .3s;
 }
 
 .thumbs-container .thumb:hover,
 .thumbs-container .thumb.active {
     opacity: 1;
     transform: scale(1.05);
 }
 /* ------------------------------ */
 /* FOOTER */
 /* ------------------------------ */
 
 .footer {
     padding: 60px 20px;
     text-align: center;
 }
 
 .footer h2 {
     color: #6e7c5e;
     margin-bottom: 25px;
 }
 
 .footer a {
     text-decoration: none;
 }
 /* ------------------------------ */
 /* RESPONSIVE */
 /* ------------------------------ */
 
 @media (max-width: 768px) {
     .hero {
         height: 50vh;
         min-height: 400px;
     }
     .custom-card img {
         height: 200px;
     }
     .carousel-item img {
         max-height: 50vh;
     }
 }