/* Base / Reset (esto se mantiene igual) */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
  }
  
/* Bloque: Hero */
.hero {
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.5)), url('https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
    background-size: cover;
    background-position: center;
}



.section__title {
    position: relative;
    padding-bottom: 15px;
}

.section__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background-color: #4f9e8d;
}

.section__title--centered::after {
    left: 50%;
    transform: translateX(-50%);
}

/* Bloque: Card */


.card--service {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card--service:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.card--testimonial {
    background-color: #f8f9fa;
    border-left: 4px solid #4f9e8d;
}



/* Bloque: Button */
.button {
    /* Estilos base */
    transition: background-color 0.3s ease;
}

.button--primary {
    background-color: #4f9e8d;
}

.button--primary:hover {
    background-color: #3d7d6e;
}

.button--secondary {
    background-color: #f8b400;
}

.button--secondary:hover {
    background-color: #e09c00;
}

/* Bloque: Footer */
.footer {
    background-color: #2c3e50;
}

.footer--ingenium {
    background-color: #1a252f;
    border-top: 1px solid #2c3e50;
}

.footer__link {
    color: #4f9e8d;
    transition: color 0.3s ease;
    text-decoration: none;
}

.footer__link:hover {
    color: #3d7d6e;
    text-decoration: underline;
}

/* Bloque: Price */
.price {
    background-color: #4f9e8d;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: bold;
    display: inline-block;
}



/* Bloque: Schedule */
.schedule {
    background-color: #f8f9fa;
    border-radius: 10px;
    padding: 20px;
}

.schedule__box {
    margin-top: 15px;
}

/* Bloque: Contact */
.contact {
    background-color: #f8f9fa;
    border-radius: 10px;
    padding: 30px;
    transition: transform 0.3s ease;
}

.contact:hover {
    transform: translateY(-5px);
}



/* Bloque: Location */
.location {
    background-color: #f8f9fa;
    border-radius: 10px;
    padding: 20px;
}

.location__container {
    margin-top: 20px;
}


/**/

        /* Estilos para el carrusel */
        .hero-carousel {
            position: relative;
            overflow: hidden;
            height: 90vh;
            max-height: 800px;
            width: 100%;
        }
 
        .slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1s ease-in-out;
            background-size: contain;
            background-position: center;
            background-repeat: no-repeat;
            opacity: 0;
            transform: scale(1.05);
            
        }
        .slide,
.slide *:not(.hero-btn) {
  pointer-events: none;
}
/* Rehabilitar solo los botones */
.slide .hero-btn {
  pointer-events: auto;
}       
        .slide.active {
            opacity: 1;
            z-index: 1;
            transform: scale(1);
            transition: opacity 0.8s, transform 6s ease;
        }
        
        .slide-content {
            background: rgba(0, 0, 0, 0.5);
        }
        
        .fade-in {
            animation: fadeIn 1s ease-in-out;
        }
        
        .slide-up {
            animation: slideUp 1s ease-in-out;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        @keyframes slideUp {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        
        .indicator {
            transition: all 0.3s ease;
        }
        
        .indicator.active {
            background-color: white;
            transform: scale(1.2);
        }
        .hero-btn {
            position: relative;
            z-index: 9999;
            pointer-events: auto !important;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
            }

        
        .hero-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 25px rgba(0, 0, 0, 0.25);
        }

        @media (min-width: 768px) {
            .hero-carousel {
              height: 100vh;
            }
          }
          
          @media (min-width: 768px) {
            .slide {
              background-size: cover;
            }
          }
          

          