/* RESET GENERAL */
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
}

html { 
    scroll-behavior: smooth; 
}

body { 
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; 
    background-color: #fff; 
    color: #444; 
    line-height: 1.6;
}

/* --- BOTÓN WHATSAPP FLOTANTE --- */
.whatsapp-float {
    position: fixed; 
    width: 60px; 
    height: 60px; 
    bottom: 40px; 
    right: 40px;
    background-color: #25d366; /* Verde oficial de WhatsApp */
    border-radius: 50px; 
    z-index: 9999; /* Valor altísimo para que siempre esté al frente */
    display: flex; 
    align-items: center; 
    justify-content: center;
    box-shadow: 2px 2px 15px rgba(0,0,0,0.4); 
    transition: all 0.3s ease;
    text-decoration: none;
}

.whatsapp-float:hover { 
    transform: scale(1.1); 
    background-color: #128c7e; 
}

.whatsapp-float img { 
    width: 35px; 
    height: 35px; 
    display: block;
}

/* --- SECCIÓN 1: INICIO --- */
.main-container { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    min-height: 100vh; 
    padding: 20px; 
    gap: 60px; 
}

.text-block { text-align: center; }
.main-logo { width: 100px; margin-bottom: 10px; }
.brand-text h1 { font-size: 22px; font-weight: normal; margin-bottom: 2px; color: #333; }
.tagline { color: #00a98f; font-size: 14px; margin-bottom: 25px; letter-spacing: 1px; }
.info-text p { margin-bottom: 20px; font-size: 15px; color: #777; }
.menu-vertical { display: flex; flex-direction: column; gap: 12px; }
.menu-vertical a { color: #00a98f; text-decoration: none; font-weight: bold; font-size: 13px; letter-spacing: 1px; }
.image-block img { height: 500px; width: auto; filter: grayscale(100%); }

/* --- FILOSOFÍA --- */
.filosofia-container { padding: 100px 10%; display: flex; justify-content: center; }
.filo-content { display: flex; align-items: center; gap: 50px; max-width: 1200px; }
.filo-text { flex: 1; text-align: right; }
.filo-titulo { color: #00a98f; letter-spacing: 4px; margin-bottom: 30px; font-weight: bold; }
.filo-lista { list-style: none; }
.filo-lista li { margin-bottom: 15px; position: relative; padding-right: 25px; font-size: 15px; }
.filo-lista li::after { content: "•"; color: #000; position: absolute; right: 0; font-size: 20px; top: -2px; }
.filo-image { flex: 1.2; }
.filo-image img { width: 100%; height: auto; filter: grayscale(100%); }

/* --- BLOQUES DE CONTENIDO (WORKZONE, ETC) --- */
.workzone-container { padding: 100px 8%; background-color: #fff; }
.workzone-header { display: flex; align-items: center; gap: 20px; margin-bottom: 40px; }
.workzone-titulo { color: #00a98f; font-size: 24px; font-weight: bold; letter-spacing: 2px; }
.linea-verde { flex-grow: 1; height: 1px; background-color: #00a98f; }
.workzone-titles { display: flex; justify-content: space-between; margin-bottom: 20px; color: #00a98f; }
.workzone-titles h3 { font-weight: 300; font-size: 18px; flex: 1; text-align: center; }

.image-wrapper { position: relative; width: 100%; }
.full-width-img { width: 100%; height: auto; filter: grayscale(100%); display: block; }
.img-label { position: absolute; bottom: 20px; color: white; font-size: 14px; text-shadow: 1px 1px 4px rgba(0,0,0,0.8); }
.label-left { left: 5%; } 
.label-center { left: 38%; } 
.label-right { left: 71%; }

/* --- NOSOTROS --- */
.nosotros-container { padding: 100px 10%; display: flex; justify-content: center; }
.nosotros-content { display: flex; align-items: center; gap: 60px; max-width: 1200px; }
.nosotros-text { flex: 1; }
.nosotros-titulo { color: #00a98f; letter-spacing: 4px; margin-bottom: 30px; font-weight: bold; }
.nosotros-descripcion p { margin-bottom: 25px; font-size: 16px; color: #555; }
.nosotros-image-container { flex: 1.5; height: 500px; overflow: hidden; }
.nosotros-img-crop { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); }

/* --- GALERÍA & FORMULARIO --- */
.full-image-section { padding: 60px 8%; text-align: center; }
.full-img { width: 100%; max-width: 1200px; filter: grayscale(100%); }

.contacto-content { max-width: 600px; margin: 0 auto; }
.contacto-form { display: flex; flex-direction: column; gap: 20px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group label { font-size: 14px; font-weight: bold; color: #777; }
.form-group input, .form-group textarea { padding: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; }
.btn-enviar { background-color: #00a98f; color: white; border: none; padding: 15px; font-weight: bold; letter-spacing: 1px; cursor: pointer; transition: 0.3s; }
.btn-enviar:hover { background-color: #007d6a; }

/* --- FOOTER --- */
.footer-final-simple { padding: 80px 8%; border-top: 1px solid #eee; background-color: #fff; }
.footer-container { display: flex; max-width: 1400px; margin: 0 auto; justify-content: space-between; align-items: center; }
.footer-col-text { flex: 0 0 300px; }
.f-logo-top { width: 80px; margin-bottom: 20px; }
.f-brand h2 { font-size: 24px; font-weight: normal; margin: 0; }
.f-brand h3 { color: #00a98f; font-size: 16px; margin-bottom: 25px; font-weight: normal; }
.f-datos p { font-size: 14px; color: #666; margin: 3px 0; }
.f-logo-bottom { width: 140px; margin-top: 40px; }
.footer-col-image { flex: 1; display: flex; justify-content: flex-end; padding-left: 50px; }
.img-completa { max-width: 100%; height: auto; filter: grayscale(100%); }

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
    .main-container, .filo-content, .nosotros-content, .footer-container { flex-direction: column; text-align: center; }
    .image-block img { height: 350px; margin-top: 30px; }
    .filo-text { text-align: center; }
    .footer-col-image { padding-left: 0; margin-top: 50px; }
    .whatsapp-float { bottom: 20px; right: 20px; width: 50px; height: 50px; }
}