/* --- ESTILOS GENERALES --- */
.servicios-section {
    padding: 100px 0;
    background-color: #ffffff; /* Color de fondo por si falla la imagen */
    overflow: hidden;
    position: relative;

    /* --- IMAGEN PARA ESCRITORIO (POR DEFECTO) --- */
    background-image: url('../images/servicios/Fondo_servicio.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
	
}

#timeline-svg {
    width: 100%;
    height: auto;
}

/* --- ESTILOS CAJAS DE SERVICIO --- */
.service-bg {
    fill: #000000;
    transition: fill 0.3s ease;
}
.service-text {
    font-family: 'Ubuntu', sans-serif;
    fill: #ffffff;
    font-weight: 500;
    transition: fill 0.3s ease;
}

/* --- ESTILOS PARA ENLACES Y HOVER --- */
.timeline-point-link {
    cursor: pointer;
}
.timeline-point-link:hover .service-bg {
    fill: #ffd500;
}
.timeline-point-link:hover .service-text {
    fill: #000000;
}

/* --- LÓGICA DE ANIMACIÓN --- */
#timeline-path {
    stroke-dasharray: var(--path-length);
    stroke-dashoffset: var(--path-length);
    transition: stroke-dashoffset 4s ease-out;
}
.timeline-point {
    opacity: 0;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
#timeline-svg.start-animation #timeline-path {
    stroke-dashoffset: 0;
}
#timeline-svg.start-animation .timeline-point {
    opacity: 1;
    transform: none;
}


/* --- NUEVA REGLA AÑADIDA PARA LOS ICONOS --- */
/* Esta regla selecciona todas las imágenes dentro de los puntos de la animación */
.timeline-point image {
    /* Recorta la imagen en forma de círculo perfecto */
    clip-path: circle(50%);
}





/* ==========================================================================
   NUEVOS ESTILOS PARA LA VENTANA MODAL
   ========================================================================== */

/* Fondo oscuro semitransparente */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Contenedor de la ventana */
.modal-window {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9); /* Empieza un poco más pequeña */
    background: #1c1c1c; /* Un gris muy oscuro en lugar de negro puro */
    padding: 40px;
    border-radius: 10px;
    z-index: 1001;
    width: 90%;
    max-width: 500px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.4);
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

/* Párrafo de descripción */
.modal-description {
    font-family: 'Ubuntu', sans-serif;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 30px 0;
}

/* Botón "VER PROYECTOS" */
.modal-button {
    display: inline-block;
    padding: 12px 25px;
    background-color: #000000;
    color: #ffffff;
    font-family: 'Ubuntu', sans-serif;
    font-weight: 700;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
    border: 2px solid #ffd500;
}

.modal-button:hover {
    background-color: #ffd500;
    color: #000000;
}

/* Botón de cierre "X" */
.modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    color: #888;
    font-size: 28px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.modal-close:hover {
    color: #ffffff;
}

/* Clase que activa la visibilidad de la modal */
body.modal-is-open .modal-overlay,
body.modal-is-open .modal-window {
    opacity: 1;
    visibility: visible;
}
body.modal-is-open .modal-window {
    transform: translate(-50%, -50%) scale(1); /* Vuelve a su tamaño normal */
}

/* ==========================================================================
   ESTILOS RESPONSIVE
   ========================================================================== */
@media (max-width: 768px) {
    .timeline-point { transform: translateX(-80px); }
    .servicios-section { overflow: visible; }
    .service-text { font-size: 22px; }
    
    .modal-window {
        padding: 30px 20px;
    }
    .modal-description {
        font-size: 14px;
    }
	.servicios-section {
        background-image: url('../images/servicios/Fondo_servicio_movil.jpg');
        /* No necesitas repetir background-size, position, etc.,
           a menos que quieras que cambien específicamente para móvil */
    }
}

@media (min-width: 769px) {
    .timeline-point { transform: translateY(40px); }
    .service-text { font-size: 16px; }
}









/* ==========================================================================
   NUEVOS ESTILOS PARA LA SECCIÓN DE REFERENTES
   ========================================================================== */
/*.referente-carousel-section {
    padding: 60px 0 80px 0;
    background-color: #f4f4f4; 
    position: relative;
    
    
    background-image: url('../images/referentes/fondo_escritorio.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
		
}*/

/* ==========================================================================
   NUEVOS ESTILOS PARA LA SECCIÓN DE LINEA CREATIVA
   ========================================================================== */
/*.summary-section {
    padding: 60px 20px;
    background-color: #ffffff; 
	
	padding: 60px 20px;
    background-color: #ffffff; 
    position: relative; 

    
    background-image: url('../images/creative/fondo_creative.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}*/


/*@media (max-width: 768px) {
   
	.referente-carousel-section {
        background-image: url('../images/referentes/fondo_movil.jpg');
    }
	.summary-section {
        background-image: url('../images/creative/fondo_creative_movil.jpg');
    }
}*/