   /*------------------------------------------------------------------
VARIABLES
-------------------------------------------------------------------*/

   /*  :root {
       --primario: #2995A1;
   } */

   /*   body {
       height: 100%;
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
       font-smoothing: antialiased;
       font-family: 'Montserrat', sans-serif;
       font-weight: 500;
   }

   h1,
   h2,
   h3,
   h4,
   h5,
   h6 {

       font-family: "Playfair Display", sans-serif;

   }


   p {
       font-size: 20px;
   }
 */
   /* Variables de Color (Tonos Azules Minimalistas) */
   :root {
       --blue-dark: #16396c;
       /* Azul profundo corporativo */
       --blue-primary: #38879e;
       /* Azul principal */
       --blue-light: #59A5D8;
       /* Azul acento / CTA */
       --bg-light: #F4F9F9;
       /* Fondo gris/azulado muy claro */
       --text-dark: #1A1A1A;
       --white: #FFFFFF;
   }

   body {
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
       font-smoothing: antialiased;
       font-family: 'Inter', sans-serif;
       color: var(--text-dark);
       background-color: var(--white);
       overflow-x: hidden;
   }

   h1,
   h2,
   h3 {
       font-weight: 600;
       color: var(--blue-dark);
   }

   p {
       font-weight: 300;
       line-height: 1.7;
       color: #4A4A4A;
   }

   .w-logo {
       width: 80px;
   }

   @media (min-width: 1200px) {
       .w-logo {
           width: 200px;
       }

   }

   /* Navbar Sticky & Elegante */
   .navbar-custom {
       background-color: rgba(255, 255, 255, 0.95);
       backdrop-filter: blur(10px);
       box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
       transition: all 0.3s ease;
       padding: 15px 0;
   }

   .brand-logo {
       font-weight: 800;
       font-size: 1.5rem;
       color: var(--blue-dark);
       text-decoration: none;
       letter-spacing: -0.5px;
   }

   /* Botón Hamburguesa Custom */
   .menu-toggle {
       cursor: pointer;
       z-index: 1050;
       position: relative;
       background: none;
       border: none;
       color: var(--blue-dark);
       font-size: 2rem;
   }

   /* Overlay Menu (Mobile Elegante) */
   .overlay-menu {
       position: fixed;
       top: 0;
       left: 0;
       width: 100%;
       height: 100vh;
       background-color: var(--blue-dark);
       display: flex;
       align-items: center;
       justify-content: center;
       opacity: 0;
       visibility: hidden;
       transition: all 0.4s ease-in-out;
       z-index: 1040;
   }

   .overlay-menu.active {
       opacity: 1;
       visibility: visible;
   }

   .overlay-nav {
       list-style: none;
       padding: 0;
       text-align: center;
   }

   .overlay-nav li {
       margin: 20px 0;
       transform: translateY(20px);
       opacity: 0;
       transition: all 0.4s ease;
   }

   .overlay-menu.active .overlay-nav li {
       transform: translateY(0);
       opacity: 1;
   }

   /* Staggered delay for menu items */
   .overlay-menu.active .overlay-nav li:nth-child(1) {
       transition-delay: 0.1s;
   }

   .overlay-menu.active .overlay-nav li:nth-child(2) {
       transition-delay: 0.2s;
   }

   .overlay-menu.active .overlay-nav li:nth-child(3) {
       transition-delay: 0.3s;
   }

   .overlay-menu.active .overlay-nav li:nth-child(4) {
       transition-delay: 0.4s;
   }

   .overlay-nav a {
       color: var(--white);
       font-size: 2rem;
       text-decoration: none;
       font-weight: 300;
       transition: color 0.3s ease;
   }

   .overlay-nav a:hover {
       color: var(--blue-light);
   }


   .desktop-nav li {
       margin-left: 30px;
   }

   .desktop-nav a {
       text-decoration: none;
       color: var(--blue-dark);
       font-weight: 400;
       font-size: 1rem;
       transition: color 0.3s;
   }

   .desktop-nav a:hover {
       color: var(--blue-light);
   }

   /* Botón de cierre dentro del overlay móvil */
   .overlay-menu .close-overlay {
       position: absolute;
       top: 25px;
       right: 30px;
       background: none;
       border: none;
       color: var(--white);
       font-size: 2.5rem;
       cursor: pointer;
       z-index: 1060;
       /* Por encima de la lista */
       opacity: 0.8;
       transition: opacity 0.3s;
   }

   .overlay-menu .close-overlay:hover {
       opacity: 1;
   }



   /* ✅ AJUSTE COMPLETO DEL HERO: Centrado, texto y legibilidad */
   .hero {
       height: 70vh;
       /* Imagen de fondo de alta calidad (laboratorio/química) */
       background-image: url('../img/header-actifarm.webp');
       background-position: center;
       background-size: cover;
       background-repeat: no-repeat;
       display: flex;
       align-items: center;
       /* Centrado vertical */
       justify-content: center;
       /* Centrado horizontal */
       position: relative;
       color: var(--white);
       overflow: hidden;
   }

   /* Overlay oscuro para mejorar contraste del texto */
   .hero-overlay {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       /* Gradiente sutil: más oscuro en el centro para el texto */
       background: radial-gradient(circle, rgba(11, 37, 69, 0.7) 0%, rgba(11, 37, 69, 0.85) 100%);
       z-index: 1;
   }

   /* Contenedor del contenido por encima del overlay */
   .hero-content {
       position: relative;
       z-index: 2;
       padding-top: 80px;
       /* Espacio para el navbar sticky */
   }

   /* Estilos del Titular (H1) */
   .hero-title {
       font-size: 3.5rem;
       /* Tamaño grande para escritorio */
       font-weight: 800;
       letter-spacing: -1px;
       line-height: 1.1;
       color: var(--white);
       text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
       /* Sombra sutil para profundidad */
   }

   /* Estilos del Subtitular */
   .hero-subtitle {
       font-size: 1.25rem;
       font-weight: 300;
       color: rgba(255, 255, 255, 0.9);
       max-width: 700px;
       margin-left: auto;
       margin-right: auto;
       line-height: 1.6;
   }

   /* ✅ RESPONSIVE: Ajustes de texto para móviles */
   @media (max-width: 768px) {
       .hero-title {
           font-size: 2.2rem;
           /* Más pequeño en móvil */
           line-height: 1.2;
       }

       .hero-subtitle {
           font-size: 1.1rem;
           padding: 0 15px;
       }
   }


   /* Propiedades compartidas para garantizar el mismo tamaño */
   .btn-custom,
   .btn-custom-2 {
       padding: 15px 40px;
       /* Mismo padding para ambos */
       font-size: 1.1rem;
       border-radius: 50px;
       text-decoration: none;
       font-weight: 600;
       letter-spacing: 1px;
       transition: all 0.3s ease;
       box-shadow: 0 10px 20px rgba(89, 165, 216, 0.3);
       border: 2px solid transparent;
       display: inline-block;
       text-align: center;
   }

   /* Colores base para ambos */
   .btn-custom,
   .btn-custom-2 {
       background-color: var(--blue-light);
       color: var(--white);
   }

   /* Hover específico para btn-custom (Hero) */
   .btn-custom:hover {
       background-color: transparent;
       border-color: var(--white);
       color: var(--white);
       transform: translateY(-3px);
       box-shadow: 0 15px 25px rgba(0, 0, 0, 0.2);
   }

   /* Hover específico para btn-custom-2 (Formulario) */
   .btn-custom-2:hover {
       background-color: var(--blue-dark);
       border-color: var(--blue-dark);
       color: var(--white);
       transform: translateY(-3px);
       box-shadow: 0 15px 25px rgba(0, 0, 0, 0.2);
   }

   /* Sections General */
   section {
       padding: 100px 0;
   }

   .bg-light-blue {
       background-color: var(--bg-light);
   }

   .section-title {
       font-size: 2.5rem;
       margin-bottom: 2rem;
       position: relative;
       display: inline-block;
   }

   .section-title::after {
       content: '';
       position: absolute;
       left: 0;
       bottom: -10px;
       width: 50px;
       height: 3px;
       background-color: var(--blue-light);
   }

   /* Cards Catálogo */
   .catalog-card {
       background: var(--white);
       border: none;
       border-radius: 0;
       transition: all 0.3s ease;
       height: 100%;
       padding: 40px 30px;
       box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
       border-bottom: 4px solid transparent;
   }

   .catalog-card:hover {
       transform: translateY(-10px);
       box-shadow: 0 15px 30px rgba(11, 37, 69, 0.1);
       border-bottom: 4px solid var(--blue-light);
   }

   .icon-box {
       font-size: 3rem;
       color: var(--blue-light);
       margin-bottom: 20px;
   }

   /* Footer / Contacto */
   footer {
       background-color: var(--blue-dark);
       color: var(--white);
       padding: 80px 0 40px;
   }

   footer h4 {
       color: var(--white);
       margin-bottom: 1.5rem;
       font-weight: 400;
   }

   .contact-link {
       color: var(--bg-light);
       text-decoration: none;
       transition: color 0.3s;
       display: flex;
       align-items: center;
       margin-bottom: 15px;
       font-weight: 300;
   }

   .contact-link:hover {
       color: var(--blue-light);
   }

   .contact-link iconify-icon {
       margin-right: 15px;
       font-size: 1.2rem;
       color: var(--blue-light);
   }

   /* ✅ ESTILOS PARA FORMULARIO Y MAPA */
   .contact-card {
       background-color: var(--white);
       padding: 40px;
       border-radius: 12px;
       box-shadow: 0 10px 30px rgba(11, 37, 69, 0.05);
       height: 100%;
   }

   .custom-input {
       border: 1px solid #E2E8F0;
       border-radius: 6px;
       padding: 14px 18px;
       font-size: 0.95rem;
       font-weight: 300;
       color: var(--text-dark);
       background-color: #F8FAFC;
       transition: all 0.3s ease;
   }

   .custom-input::placeholder {
       color: #94A3B8;
   }

   .custom-input:focus {
       background-color: var(--white);
       border-color: var(--blue-light);
       box-shadow: 0 0 0 4px rgba(89, 165, 216, 0.15);
       outline: none;
   }

   textarea.custom-input {
       resize: vertical;
   }

   .map-container {
       height: 100%;
       min-height: 400px;
       border-radius: 12px;
       overflow: hidden;
       box-shadow: 0 10px 30px rgba(11, 37, 69, 0.05);
       position: relative;
   }

   .map-container iframe {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       object-fit: cover;
   }

   /* Ajuste para dispositivos móviles */
   @media (max-width: 991px) {
       .map-container {
           min-height: 350px;
       }
   }

   /* ✅ Centrar todo el contenido del Footer en móviles */
   @media (max-width: 767px) {
       #contacto {
           text-align: center;
       }

       /* Centrar los enlaces que usan flexbox (iconos + texto) */
       #contacto .contact-link {
           justify-content: center;
       }
   }


   /* ✅ ESTILOS PARA EL BOTÓN FLOTANTE */
   .floating-mail-btn {
       position: fixed;
       bottom: 30px;
       /* Distancia desde abajo */
       right: 30px;
       /* Distancia desde la derecha */
       width: 60px;
       height: 60px;
       background-color: var(--blue-light);
       /* Color principal definido en :root */
       color: var(--white);
       border-radius: 50%;
       /* Lo hace circular */
       display: flex;
       align-items: center;
       justify-content: center;
       text-decoration: none;
       /* Quita el subrayado del enlace */
       box-shadow: 0 5px 15px rgba(11, 37, 69, 0.2);
       /* Sombra suave corporativa */
       z-index: 1030;
       /* Se asegura de estar por encima del contenido, pero debajo del menú overlay móvil si se abre */
       transition: all 0.3s ease-in-out;
       cursor: pointer;
   }

   /* Tamaño del icono dentro del círculo */
   .floating-mail-btn iconify-icon {
       font-size: 1.8rem;
       display: flex;
   }

   /* Efectos al pasar el mouse (Hover) */
   .floating-mail-btn:hover {
       background-color: var(--blue-dark);
       /* Cambia al azul oscuro en hover */
       color: var(--white);
       transform: translateY(-5px) scale(1.05);
       /* Se eleva y agranda ligeramente */
       box-shadow: 0 8px 20px rgba(11, 37, 69, 0.3);
       /* Sombra más pronunciada en hover */
   }

   /* Ajustes responsivos para pantallas muy pequeñas */
   @media (max-width: 576px) {
       .floating-mail-btn {
           width: 50px;
           height: 50px;
           bottom: 20px;
           right: 20px;
       }

       .floating-mail-btn iconify-icon {
           font-size: 1.5rem;
       }
   }