/* --- CONFIGURACIÓN GENERAL --- */
body { font-family: 'Segoe UI', sans-serif; margin: 0; line-height: 1.6; color: #333; background-color: #f4f7f6; scroll-behavior: smooth; }

/* --- NAVEGACIÓN --- */
header { background: #2c3e50; color: white; padding: 1rem 0; position: fixed; width: 100%; top: 0; z-index: 1000; }
nav { display: flex; justify-content: space-around; align-items: center; max-width: 1100px; margin: auto; }
nav a { color: white; text-decoration: none; font-weight: bold; margin: 0 15px; }

/* --- BANNER PRINCIPAL --- */
.page-banner {
    background: linear-gradient(rgba(44, 62, 80, 0.7), rgba(192, 57, 43, 0.5)), 
                url('https://www.barahona.es/ARCHIVO/fotografias/noticias/1596478413_596478174-obras-y-reformas-en-ciudad-real-barahona-4.jpg');
    background-size: cover;
    background-position: center;
    height: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    margin-top: 50px;
}

/* --- SECCIÓN TEXTOS --- */
/* --- SECCIÓN TEXTOS (FORZAR 2x2 EN CARPINTERÍA) --- */
.content-section { 
    max-width: 900px; /* Reducimos un poco el ancho total para que el cuadrado quede más centrado y bonito */
    margin: 40px auto; 
    padding: 0 20px; 
}
.service-list { 
    display: grid !important; 
    /* Forzamos 2 columnas iguales */
    grid-template-columns: repeat(2, 1fr) !important; 
    gap: 25px !important; 
    margin-top: 30px; 
}
.service-item { background: white; padding: 25px; border-left: 5px solid #a3522e; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); transition: transform 0.3s; }
.service-item:hover { transform: scale(1.02); }
.service-item h3 { margin-top: 0; color: #2c3e50; }

/* IMPORTANTE: Para que en el móvil no se vea minúsculo, 
   hacemos que vuelva a 1 columna si la pantalla es estrecha */
@media (max-width: 700px) {
    .service-list {
        grid-template-columns: 1fr !important;
    }
}

/* --- CARRUSEL ADAPTADO --- */
.trabajos-fotos { background: #2c3e50; padding: 60px 20px; color: white; text-align: center; }
.carousel-container {
    position: relative; max-width: 850px; height: 450px; margin: 30px auto;
    overflow: hidden; border-radius: 12px; background: #000; box-shadow: 0 15px 35px rgba(0,0,0,0.4);
}
.carousel-track { display: flex; height: 100%; transition: transform 0.5s ease-in-out; }
.carousel-slide { min-width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; }
.carousel-slide img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* --- VÍDEOS IGUALES --- */
.video-section { padding: 60px 20px; max-width: 1000px; margin: auto; text-align: center; }
.video-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; margin-top: 30px; }
video { 
    width: 100%; 
    aspect-ratio: 16 / 9; 
    object-fit: cover; 
    border-radius: 12px; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.2); 
    background: #000; 
}

/* --- BOTONES --- */
.carousel-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(230, 126, 34, 0.9); color: white; border: none;
    width: 45px; height: 45px; cursor: pointer; font-size: 20px; z-index: 10; border-radius: 50%;
}
.prev { left: 15px; } .next { right: 15px; }

footer { background: #2c3e50; color: white; text-align: center; padding: 25px 0; margin-top: 50px; }

