    /*
    Theme Name: Spiria
    Theme URI: https://xarxala.es
    Author: Xarxala Digital
    Author URI: https://xarxala.es
    Description: Tema personalizado para Spiria, compatible con Elementor.
    Version: 1.0
    License: GNU General Public License v2 or later
    License URI: https://www.gnu.org/licenses/gpl-2.0.html
    Text Domain: spiria
    */


    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    body {
        background-color: #131313;
        font-family: 'Barlow', sans-serif;
        color: white;
        font-size: 16px;
    }

    /* 🔵 Estilos para el preloader */
    body.no-scroll {
        overflow: hidden;
    }
    /* 🔄 Preloader: Cubre toda la pantalla */
    #preloader {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: black; /* Fondo de seguridad */
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 9999;
        transition: opacity 0.8s ease-out, visibility 0.8s linear;
    }

    .search-results-page {
        padding: 100px 20px;
        color: white;
        font-family: 'Barlow', sans-serif;
    }

    .search-results-page h1 {
        font-family: 'Oswald', sans-serif;
        font-weight: 300;
        margin-bottom: 40px;
    }

    .search-results-list {
        list-style: none;
        padding: 0;
    }

    .search-results-list li {
        margin-bottom: 30px;
    }

    .search-results-list a {
        color: #DDD0C0;
        font-size: 22px;
        font-weight: bold;
        text-decoration: none;
    }

    .search-results-list p {
        color: #ccc;
        font-size: 16px;
        margin-top: 5px;
    }


    /* 🖼️ Imagen dentro del preloader */
    #preloader img {
        width: 100%; /* Asegura que la imagen cubra horizontalmente */
        height: 100%; /* Asegura que la imagen cubra verticalmente */
        object-fit: cover; /* Ajusta la imagen sin distorsión */
    }

    /* 🔥 Ocultar con fundido */
    #preloader.preloader-hidden {
        opacity: 0;
        visibility: hidden;
    }

    /* 🔲 Web en negro al inicio */
    #content {
        opacity: 0;
        background: black;
        min-height: 100vh; /* Asegurar que la pantalla se mantenga ocupada */
        transition: opacity 2s ease-in-out;
    }






    .header {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 25px;
        background: rgba(0, 0, 0, 0.75);;
        position: fixed;
        width: 100%;
        height: 70px;
        top: 0;
        left: 0;
        z-index: 1005;
        border-bottom: 1px solid #FBD4BB;
    }
    .header-container {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 1200px;
        position: relative;
        z-index: 1003;
    }

	.logo {
        margin-top: 3px;
    }

    .search-icon, .menu-toggle {
        position: absolute;
        width: 24px;
        height: 24px;
        cursor: pointer;
        transition: all 0.3s ease-in-out;
        z-index: 1004;
    }
    .search-icon {
        left: calc(50% - 250px - 24px);
    }
    .menu-toggle {
        right: calc(50% - 250px - 24px);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 24px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    .menu-toggle div {
        background: #FBD4BB;
        height: 1px;
        width: 100%;
        position: absolute;
        transition: transform 0.3s ease-in-out;
    }
    .menu-toggle div:first-child {
        transform: translateY(-5px);
        
    }
    .menu-toggle div:last-child {
        transform: translateY(5px);
        
    }
    .menu-toggle.active div:first-child {
        transform: translateY(0) rotate(45deg);
    }
    .menu-toggle.active div:last-child {
        transform: translateY(0) rotate(-45deg);
    }



    .menu, .search-box {
        position: fixed;
        top: 70px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        background: rgba(0, 0, 0, 0.60);
        /* backdrop-filter: blur(10px); */
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 40px 0;
        opacity: 0;
        visibility: hidden;
        display: flex; /* Mantén el flex siempre para evitar "parpadeos" */
        z-index: 1000;
        transition: opacity 0.3s ease-in-out, visibility 0s linear 0.3s;
    }

    .menu.active, .search-box.active {
        opacity: 1;
        visibility: visible;
        display: flex;
        transition: opacity 0.3s ease-in-out, visibility 0s linear 0s;
    }


    .search-form input::-webkit-search-decoration,
    .search-form input::-webkit-search-cancel-button {
        display: none;
    }


    .search-box {
        width: 100%;
        height: 70px;
        padding: 0px;
        /* background: black; */
        background: rgba(0, 0, 0, 0.6);
        display: flex;
        align-items: center;
        border-radius: 0;
        /* border: 1px solid #333;  */
        position: fixed;
        visibility: hidden;
        display: none;
        z-index: 1005;
    }

    .search-form {
        display: flex;
        align-items: center;
        width: 100%;
        /* max-width: 800px; 
        padding: 0 20px; */
    }

    .search-box input {
        font-family: 'Buttershine Serif'; font-weight: normal; font-style: normal;
        text-transform: uppercase;
        width: 100%; /* Ocupará todo el espacio menos el del botón */
        height: 70px;
        padding: 8px;
        font-size: 40px;
        text-align: center;
        border: 0px; /* Borde gris oscuro */
        background: black;
        color: white;
        outline: none;
        border-radius: 0;
        padding: 0px 50px 0px 50px;
        /* padding-right: 150px;  */
    }
    .search-box input::placeholder {
        color: rgba(255, 255, 255, 0.5); /* Blanco con 50% de opacidad */
    }
    

    .search-box button {
        background: none;
        border: none;
        cursor: pointer;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 15px; /* Separación de 10px respecto al borde derecho del input */
        width: 30px;
        height: 30px;
    }

    .search-box button .arrow-line {
        position: absolute;
        width: 25px; /* Tamaño de la flecha aumentado */
        height: 1px; /* Grosor de la línea */
        background: #FBD4BB;
        transition: transform 0.3s ease-in-out;
    }

    .search-box button .top {
        transform: rotate(40deg) translateY(-9.6px); /* Ajuste para evitar cruce en la punta */
    }

    .search-box button .bottom {
        transform: rotate(-40deg) translateY(9.6px);
    }

    .menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .menu-items {
        display: flex;
        align-items: center;
        gap: 30px;
    }

    .menu .language-selector {
        font-family: 'Oswald'; font-weight: 300; font-style: normal;
        color:#DDD0C0;
    }

    .menu a {
        font-family: 'Oswald';
        font-weight: 300;
        font-style: normal;
        color: #DDD0C0;
        font-size: 30px;
        text-decoration: none;
        text-transform: uppercase;
        position: relative;
        padding-bottom: 5px;
        /* transition: all 0.3s ease-in-out; */
        transition: font-weight 0.3s ease-in-out, font-style 0.3s ease-in-out;
    }

    .menu a:hover, .menu a.active {
        font-weight: bold;
    }

    .menu-items .current-menu-item a {
        font-weight: bold;
    }

    .language-selector {
        text-align: center;
        margin-top: 20px;
        font-size: 14px;
    }
    .language-selector a {
        font-size: 14px !important;
    }

    .photo-credit {
        font-family: 'Oswald' !important; 
        font-weight: 300 !important; 
        font-style: normal !important;
        position: absolute !important;
        bottom: 10px;
        left: 10px;
        padding: 5px 10px;
        color: white !important;
        font-size: 16px;
    }



    /* Estilos generales para la sección de héroe */
    .hero-section {
        position: relative;
        height: 100vh; /* Ocupa toda la pantalla */
        display: flex;
        justify-content: center;
        align-items: flex-end; /* Alinea el contenido más abajo */
        padding-bottom: 5%;
        text-align: center;
        background-size: cover; /* Asegura que la imagen cubra toda la sección */
        background-position: center;
        background-repeat: no-repeat;
    }

    /* Estilos para el título principal */
    .hero-section .elementor-widget-heading:first-child h2 {
        font-family: 'Buttershine', serif;
        font-size: 48px; /* Tamaño fijo en escritorio */
        font-weight: normal;
        color: #F5E4D0; /* Color similar al diseño */
        margin-bottom: -10px;
    }

    /* Estilos para el subtítulo */
    .hero-section .elementor-widget-heading:nth-child(2) h3 {
        font-family: 'Oswald', sans-serif;
        font-size: 24px; /* Tamaño fijo en escritorio */
        font-weight: bold;
        color: #C5B299;
        margin-bottom: 20px;
    }

    /* Estilos para el texto */
    .hero-section .elementor-widget-text-editor {
        font-family: 'Barlow', sans-serif;
        font-size: 16px; /* Tamaño fijo en escritorio */
        color: white;
        max-width: 60%;
        margin: 0 auto;
        line-height: 1.2;
    }

    /* Negrita en color personalizado */
    .hero-section strong,
    .hero-section b {
        color: #DDD0C0;
        font-weight: 600;
    }



    /* Estilos generales para el bloque de icono */
    #experienced_team .elementor-icon-box-wrapper {
        display: flex;
        align-items: top;
        /* align-items: center; */
        gap: 20px; /* Espacio entre el icono y el texto */
        color: white;
        max-width: 800px; /* Ajusta según el diseño */
        margin: 0 auto;
    }

    /* Estilos para el icono */
    #experienced_team .elementor-icon-box-icon {
        width: 60px; /* Tamaño del contenedor del icono */
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        /* background-color: rgba(255, 255, 255, 0.2); */
        /* border-radius: 50%; */
        padding: 15px;
    }

    /* Tamaño del icono dentro del contenedor */
    #experienced_team .elementor-icon-box-icon .elementor-icon svg {
        width: 60px;
        height: 60px;
        fill: white;
    }

    /* Título del bloque */
    #experienced_team .elementor-icon-box-title {
        font-family: 'Oswald', sans-serif;
        font-size: 22px;
        font-weight: bold;
        color: white;
        /* text-transform: uppercase; */
        margin-bottom: 5px;
    }

    /* Párrafo de descripción */
    #experienced_team .elementor-icon-box-description {
        /* font-family: 'Barlow', sans-serif; */
        /* font-size: 16px; */
        /* font-weight: 300;  */
        /* line-height: 1.2; */
        color: white;
        margin: 0;
    }

    #experienced_team .elementor-widget-container {
        
        color: white;
        
    }


    .list-tab ul strong,
        .list-tab ul  b {
            color: #DDD0C0;
            font-weight: 600;
        }

    /* Estilos para la lista dentro de list-tab */
    .list-tab ul {
        list-style: none; /* Elimina los estilos predeterminados */
        padding-left: 0; /* Elimina el padding por defecto */
        margin-left: 0; /* Elimina márgenes extras */
        color: white; /* Color de texto */
    }

    /* Estilos para los ítems de la lista */
    .list-tab ul li {
        position: relative;
        padding-left: 20px; /* Espacio para el guion */
        
        
        
    }

    /* Agregar el guion antes de cada ítem */
    .list-tab ul li::before {
        content: "-";
        position: absolute;
        left: 0;
        top: 0;
        color: white; /* Asegura que el guion sea visible */
    }

    /* Estilos para la sublista */
    .list-tab ul ul {
        padding-left: 25px; /* Tabulación de la sublista */
        margin-top: 5px;
    }

    /* Sublista - mantiene el mismo formato con el guion */
    .list-tab ul ul li::before {
        content: "-"; /* Mantiene el guion en la sublista */
        left: 0;
    }











    /* Contenedor principal */
    .scroll-section {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
        padding: 50px 0;
    }

    /* Cada bloque dentro de la sección */
    .scroll-item {
        flex: 1;
        text-align: center;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* Contenedor de la imagen */
    .scroll-item .elementor-widget-container {
        position: relative;
        width: 100%;
        overflow: hidden;
    }

    /* Ajuste de imagen */
    .scroll-item img {
        width: 100%;
        display: block;
        object-fit: cover;
    }

    /* Título sobre la imagen */
    .scroll-item .image-title {
        position: absolute;
        bottom: 8px;
        left: 8px;
        font-family: 'Buttershine', serif !important;
        font-size: 16px;
        font-weight: normal;
        /* padding: 5px 5px; */
        display: inline-block;
    }

    /* Título debajo de la imagen */
    .scroll-item .below-title h3 {
        font-family: 'Oswald', sans-serif !important;
        font-size: 18px;
        font-weight: 300; /* Light */
        color: black;
        margin-top: 0px;
        /* text-transform: uppercase; */
    }

    /* Texto descriptivo */
    .scroll-item .text-content p {
        font-family: 'Barlow', sans-serif !important;
        font-size: 16px;
        font-weight: 300;
        color: #333;
        max-width: 90%;
        text-align: left; /* Ajuste de alineación */
        padding: 0;
        margin: 5px 0 0 0;
        line-height: 1.2;
    }








    /* 🌟 SECCIÓN PRINCIPAL */
    .full-screen-section {
        position: relative;
        height: 100vh; /* Ocupa toda la pantalla */
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 5%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        color: white !important;
    }

    .full-screen-section p{
        color: white;
    }

    .full-screen-section p strong,
    .full-screen-section p b {
        color: #DDD0C0;
        font-weight: 600;
    }
   
    .full-screen-section-white p strong,
    .full-screen-section-white p b {
        color: white !important;
        font-weight: 600;
    }

    /* 🏗 CONTENEDOR INTERNO */
    .full-screen-section .e-con-inner {
        display: flex;
        width: 100%;
        max-width: 1400px; /* Ajuste de ancho máximo */
    }

    .full-screen-section h3.elementor-icon-box-title{
        color: white;
        font-weight: 300 !important;
    }

    .full-screen-section h3.elementor-icon-box-title strong,
    .full-screen-section h3.elementor-icon-box-title b {
        color: #DDD0C0;
        font-weight: 600 !important;
    }

    .full-screen-section-light {
        position: relative;
        height: 100vh; /* Ocupa toda la pantalla */
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 5%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        color: #3E3936 !important;
    }

    .full-screen-section-light p{
        color: #3E3936;
    }

    .full-screen-section-light p strong,
    .full-screen-section-light p b {
        color: #3E3936;
        font-weight: 600;
    }

    /* 🏗 CONTENEDOR INTERNO */
    .full-screen-section-light .e-con-inner {
        display: flex;
        width: 100%;
        max-width: 1400px; /* Ajuste de ancho máximo */
    }

    .full-screen-section-light h3.elementor-icon-box-title{
        color: #3E3936;
        font-weight: 300 !important;
    }

    .full-screen-section-light h3.elementor-icon-box-title strong,
    .full-screen-section-light h3.elementor-icon-box-title b {
        color: #3E3936;
        font-weight: 600 !important;
    }




    /* 📌 COLUMNA IZQUIERDA (Título Vertical) */
    .vertical-title-container {
        flex: 0.2; /* Ocupará menos espacio */
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    /* 🖋 SVG del título vertical */
    .vertical-title {
        width: auto;
        /* height: 80%; */
        max-height: 90vh; /* No más alto que la pantalla */
        object-fit: contain;
    }

    /* 📄 CONTENEDOR DERECHO (Título + Texto) */
    .content-container {
        flex: 0.8;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: left;
        /* padding-left: 50px; */
    }

    /* 🏷 TÍTULO PRINCIPAL */
    .section-title {
        font-family: 'Oswald', sans-serif !important;
        font-size: 22px;
        color: #DDD0C0 !important;
        /* font-weight: bold; */
        margin-bottom: 30px;
        
    }

    .section-title-v2 {
        font-family: 'Oswald', sans-serif !important;
        font-size: 18px;
        color: white !important;
        /* font-weight: bold; */
        margin-bottom: 30px; 
    }

    .section-title-v2 strong,
    .section-title-v2 b {
        color: #DDD0C0;
        font-weight: 600;
    }
    
    .section-title-v2-white strong,
    .section-title-v2-white b {
        color: white !important;
        font-weight: 600;
    }

    .section-title-v2-light {
        font-family: 'Oswald', sans-serif !important;
        font-size: 18px;
        color: #3E3936 !important;
        /* font-weight: bold; */
        margin-bottom: 30px; 
    }

    .section-title-v2-light strong,
    .section-title-v2-light b {
        color: #3E3936;
        font-weight: 600;
    }

    @media (max-width: 768px) {
        .section-title-v2 {
            font-size: 16px;
        }
        .section-title {   
            font-size: 18px;
        }
    }
    /* 🏗 CONTENEDOR GRID (Distribuye el contenido en 3 columnas) */
    .content-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
        width: 100%;
    }

    /* 📜 BLOQUES DE TEXTO AUTOMÁTICOS (Hijos dentro de .content-grid) */
    .content-grid > * {
        font-family: 'Barlow', sans-serif !important;
        color: white !important;
        font-size: 16px;
        font-weight: 300;
        line-height: 1.2;
        text-align: left;
    }

    .content-grid > * strong,
    .content-grid b {
        color: #DDD0C0;
        font-weight: 600;
    }

    .content-grid a{
        color: #DDD0C0;
    }










   /* ========================= */
/* FOOTER GENERAL */
/* ========================= */
.site-footer {
    background: white;
    color: black;
    padding: 50px 20px 20px;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
  }
  
  /* Por defecto: mostramos la versión desktop, ocultamos la móvil */
  .footer-desktop {
    display: block;
  }
  .footer-mobile {
    display: none;
  }
  
  /* Contenedor principal de la versión escritorio */
  .footer-main {
    max-width: 850px;
    margin: 0 auto 0px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  
  /* =========== Columna izquierda (Menú) =========== */
  .footer-left {
    display: flex;
    flex-direction: column;
  }
  
  /* Menú principal */
  .footer-menu .footer-nav {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .footer-menu .footer-nav li {
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: bold;  
    text-transform: uppercase;
    margin-bottom: 5px;
    cursor: pointer;
  }
  .footer-menu .footer-nav li a {
    text-decoration: none;
    color: black;
  }
  /* Submenú al hover */
  .footer-menu .footer-nav .sub-menu {
    display: none;
    font-weight: 300 !important;  
    font-style: normal;
    padding-left: 15px;
    list-style: none;
  }
  .footer-nav .sub-menu li {
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    line-height: 14px;
    font-weight: 300 !important; /* Submenú en peso ligero (300) */
    text-transform: uppercase;
    padding: 3px 0;
}
  .footer-menu .footer-nav li:hover .sub-menu {
    display: block;
  }
  
  /* =========== Columna central (Redes, Logo, ©) =========== */
  .footer-center {
    display: flex;
    flex-direction: column;
    align-items: center;      /* centrado horizontal */
    text-align: center;
  }
  
  /* Redes centradas */
  .footer-social {
    display: flex;
    gap: 10px;
    margin-bottom: 50px;
    justify-content: center;
  }
  .footer-social img {
    width: 24px;
    height: 24px;
  }
  
  /* Logo escritorio */
  .footer-logo img {
    max-height: 40px;
    display: block;
    margin: 0 auto;
  }
  
  /* Copyright */
  .footer-copy {
    margin-top: 10px;
    font-size: 14px;
  }
  
  /* =========== Columna derecha (Contacto) =========== */
  .footer-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end; /* a la derecha */
  }
  .footer-contact p {
    margin: 4px 0;
    text-align: right;
  }
  .footer-contact a {
    text-decoration: none;
    color: black;
  }
  
  /* =========== Footer Legal (común) =========== */
  .footer-legal {
    text-align: center;
    margin-top: 20px;
  }
  .footer-legal-menu .footer-legal-nav {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .footer-legal-menu .footer-legal-nav li {
    display: inline-block;
    margin: 0 10px;
    font-size: 12px;
  }
  .footer-legal-menu .footer-legal-nav a {
    color: black;
    text-decoration: none;
  }
  
  /* ========================= */
  /* VERSIÓN MÓVIL */
  /* ========================= */
  .footer-mobile {
    max-width: 1100px;
    margin: 0 auto 20px;
  }
  
  .footer-mobile .footer-row {
    display: flex;
    /* align-items: center; */
    justify-content: space-between;
    margin-bottom: 15px;
  }
  
  .footer-mobile .footer-top {
    align-items: start;
  }
  .footer-mobile .footer-bottom {
    align-items: end;
  }



  
  /* Menú móvil */
  .footer-menu-mobile .footer-nav {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .footer-menu-mobile .footer-nav li {
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 5px;
  }
  .footer-menu-mobile .footer-nav li a {
    text-decoration: none;
    color: black;
  }
  /* Submenú al hover */
  .footer-menu-mobile .footer-nav .sub-menu {
    display: none;
    padding-left: 15px;
    list-style: none;
  }
  .footer-menu-mobile .footer-nav li:hover .sub-menu {
    display: block;
  }
  
  /* Redes móvil */
  .footer-social-mobile {
    display: flex;
    gap: 10px;
  }
  
  /* Logo móvil */
  .footer-logo-mobile img {
    max-height: 40px;
    display: block;
  }
  
  /* Contacto + © en la misma columna en móvil */
  .footer-contact-mobile p {
    margin: 4px 0;
    text-align: right;
  }
  .footer-contact-mobile a {
    text-decoration: none;
    color: black;
  }
  
  /* © en móvil */
  .footer-copy-mobile {
    margin-top: 8px; /* pequeño espacio */
    font-size: 14px;
  }
  
  /* ========================= */
  /* MEDIA QUERIES */
  /* ========================= */
  @media (max-width: 768px) {
    /* Ocultamos desktop, mostramos mobile */
    .footer-desktop {
      display: none;
    }
    .footer-mobile {
      display: block;
    }
  }
  






   


   
    /* ==============================
    FORMULARIO DE CONTACTO
    ============================== */

    .contact-section form.wpcf7-form {
        max-width: 600px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 20px;
        font-family: 'Barlow', sans-serif;
        color: white;
    }

    .contact-section form.wpcf7-form input[type="text"],
    .contact-section form.wpcf7-form input[type="email"],
    .contact-section form.wpcf7-form textarea {
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid #DDD0C0;
        color: white;
        font-size: 16px;
        font-family: 'Barlow', sans-serif;
        padding: 15px;
        width: 100%;
        border-radius: 0;
        outline: none;
        transition: background 0.3s, border-color 0.3s;
    }

    .contact-section form.wpcf7-form input::placeholder,
    .contact-section form.wpcf7-form textarea::placeholder {
        color: #aaa;
    }

    .contact-section form.wpcf7-form input:focus,
    .contact-section form.wpcf7-form textarea:focus {
        border-color: #FBD4BB;
        background: rgba(255, 255, 255, 0.2);
    }

    .contact-section form.wpcf7-form textarea {
        resize: none;
        height: 150px;
    }

    /* Checkbox (consent) */
    .contact-section .wpcf7-list-item-label {
        font-size: 14px;
        color: white;
        font-weight: 300;
        line-height: 1.5;
    }

    .contact-section .wpcf7-list-item {
        margin-left: 0px !important;
    }

    .contact-section input[type="checkbox"] {
        accent-color: #FBD4BB;
        margin-right: 10px;
    }

    /* Botón */
    .contact-section input[type="submit"] {
        background-color: #FBD4BB;
        color: black;
        font-family: 'Oswald', sans-serif;
        font-size: 16px;
        text-transform: uppercase;
        padding: 15px 30px;
        border: none;
        cursor: pointer;
        transition: background-color 0.3s ease, color 0.3s ease;
        align-self: flex-start;
    }

    .contact-section input[type="submit"]:hover {
        background-color: #fff;
        color: #131313;
    }

    /* Mensajes */
    .contact-section .wpcf7-response-output {
        margin-top: 20px;
        font-size: 14px;
        color: #DDD0C0;
        font-style: italic;
    }

    /* Spinner */
    .contact-section .wpcf7-spinner {
        display: inline-block;
        margin-left: 10px;
    }

    /* Mobile */
    /* @media (max-width: 768px) {
        .contact-section form.wpcf7-form {
            padding: 0 20px;
        }
    } */

    /* 🟢 MENSAJE DE ÉXITO (Formulario enviado correctamente) */
    form.wpcf7-form.sent .wpcf7-response-output {
        color: #AEE9D1 !important;
        background-color: rgba(174, 233, 209, 0.1) !important;
        border-left: 4px solid #AEE9D1 !important;
        font-family: 'Barlow', sans-serif !important;
        font-size: 16px !important;
        padding: 15px 20px !important;
        margin-top: 20px;
        border-radius: 4px;
        opacity: 0;
        transform: translateY(10px);
        animation: fadeInMsg 0.5s ease forwards;
    }

    /* 🔴 MENSAJES DE ERROR (campos incorrectos, email mal, etc) */
    form.wpcf7-form.invalid .wpcf7-response-output,
    form.wpcf7-form.unaccepted .wpcf7-response-output,
    form.wpcf7-form.payment-required .wpcf7-response-output {
        color: #ff8a8a !important;
        background-color: rgba(255, 138, 138, 0.1) !important;
        border-left: 4px solid #ff8a8a !important;
        font-family: 'Barlow', sans-serif !important;
        font-size: 16px !important;
        padding: 15px 20px !important;
        margin-top: 20px;
        border-radius: 4px;
        opacity: 0;
        transform: translateY(10px);
        animation: fadeInMsg 0.5s ease forwards;
    }

    /* 🟡 MENSAJES INFORMATIVOS (faltan aceptaciones o marcado como spam) */
    form.wpcf7-form.spam .wpcf7-response-output,
    form.wpcf7-form.aborted .wpcf7-response-output {
        color: #FBD4BB !important;
        background-color: rgba(251, 212, 187, 0.1) !important;
        border-left: 4px solid #FBD4BB !important;
        font-family: 'Barlow', sans-serif !important;
        font-size: 16px !important;
        padding: 15px 20px !important;
        margin-top: 20px;
        border-radius: 4px;
        opacity: 0;
        transform: translateY(10px);
        animation: fadeInMsg 0.5s ease forwards;
    }

    /* 🎬 ANIMACIÓN DE ENTRADA */
    @keyframes fadeInMsg {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* 💡 Desactiva estilos conflictivos base si es necesario */
    .wpcf7 .wpcf7-response-output {
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }





    
    


    #team h2 {
        
        font-family: 'Oswald', sans-serif !important;
    }




    @media (max-width: 768px) {
    
        #vertical-title-container .e-con.e-con>.e-con-inner>.elementor-widget, .elementor.elementor .e-con>.elementor-widget{
            width: 100% !important;
        }
        #team h2 {
            font-size: 1em !important;
        }
        #team h2 + p {
            display: none;
        }
        .header-container {
            width: 100%;
            padding: 0 20px;
        }
        .search-icon {
            left: 20px;
        }
        .menu-toggle {
            right: 20px;
        }
        .menu {
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            background: rgba(0, 0, 0, 0.8);
            /* backdrop-filter: blur(15px); */
            max-width: none;
            transform: none;
        }
        .menu-items {
            flex-direction: column;
        }



        .hero-section {
            height: auto;
            padding: 15% 5%;
        }

        .hero-section .elementor-widget-heading:first-child h2 {
            font-size: 38px; /* Tamaño fijo en móvil */
        }

        .hero-section .elementor-widget-heading:nth-child(2) h3 {
            font-size: 24px; /* Tamaño fijo en móvil */
        }

        .hero-section .elementor-widget-text-editor {
            font-size: 16px; /* Tamaño fijo en móvil */
            max-width: 90%;
        }

    



        .scroll-section {
            flex-direction: column;
            align-items: center;
            gap: 40px;
        }

        .scroll-item {
            width: 100%;
        }

        .scroll-item .image-title h2 {
            font-size: 20px;
            bottom: 10px;
            left: 10px;
            padding: 8px 12px;
        }

        .scroll-item .below-title h2 {
            font-size: 18px;
        }

        .scroll-item .text-content p {
            font-size: 14px;
        }






        .full-screen-section {
            height: auto;
            padding: 10% 5%;
        }

        .full-screen-section .e-con-inner {
            flex-direction: column;
            align-items: center;
        }

        /* .vertical-title-container {
            display: none !important;
            
        } */

        .vertical-title {
            height: auto;
            width: 60%;
        }

        .content-container {
            order: 2;
            flex: 1;
            text-align: center;
            padding: 0;
        }

        /* Grid cambia a 1 columna en móvil */
        .content-grid {
            grid-template-columns: 1fr;
            gap: 20px;
        }



        #experienced_team .elementor-icon-box-wrapper {
            flex-direction: column;
            text-align: left !important;
            gap: 15px;
        }

        #experienced_team .elementor-icon-box-icon {
            width: 50px;
            height: 50px;
            padding: 10px;
        }

        #experienced_team .elementor-icon-box-icon .elementor-icon svg {
            width: 60px;
            height: 60px;
        }

        #experienced_team .elementor-icon-box-title {
            font-size: 20px;
        }

        #experienced_team .elementor-icon-box-description {
            font-size: 14px;
        }
        
    }

    .error-404 {
        min-height: 80vh;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 100px 20px;
        background-color: #131313;
        color: white;
    }

    .error-404 .container {
        max-width: 800px;
        margin: 0 auto;
    }

    .error-404 .error-title {
        font-family: 'Oswald', sans-serif;
        font-size: 48px;
        font-weight: bold;
        color: #FBD4BB;
        margin-bottom: 20px;
    }

    .error-404 .error-description {
        font-family: 'Barlow', sans-serif;
        font-size: 18px;
        font-weight: 300;
        margin-bottom: 30px;
    }

    .error-back-home {
        display: inline-block;
        padding: 12px 25px;
        background-color: #FBD4BB;
        color: #131313;
        font-family: 'Oswald', sans-serif;
        text-decoration: none;
        font-weight: bold;
        transition: background 0.3s;
    }

    .error-back-home:hover {
        background-color: #e0b59d;
    }
