*{box-sizing: border-box; list-style: none; text-decoration: none; margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;}
a{list-style: none; color:var(--secundary);text-decoration: none;}
h1,h2,h3,h4,h5,h6 {margin: 0; padding: 0; }
p {margin: 0;color:var(--color-black); text-align: justify;} h3{color:white;}
h3 {margin: auto; }
ul,li {margin: 0; padding: 0;}
.mapa iframe  {max-width: 100%;width: 100%;}
.w-100{width: 100%!important;}
.mapa{padding: 0!important; max-width: 100%; width: 100%;}

.et_parallax_bg {
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
    /*position: absolute;*/
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}

:root {

    /*---------------------------------------------------------*/
                                /*COLORES*/
    /*---------------------------------------------------------*/
    --color-primary: #1D3557; 
    --color-secundary: #2A9D8F;
    --color-terciary:#D4AF37;
    --color-cuarto:#2F2F2F;
    --color-black:#000000;
    --color-white: #ffffff;
    
    /*---------------------------------------------------------*/
    /*                          TEXTO                          */
    /*---------------------------------------------------------*/
    --font-garamond:"EB Garamond", serif;
    --font-roboto:"Poppins", sans-serif;

}

    /*---------------------------------------------------------*/
    /*                          MÓVIL                          */
    /*---------------------------------------------------------*/


    .primary-button {
        background-color: #2a9d8f;
        color:white;
        padding: 10px 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        z-index: 999;
    }

        .secundary-button {
        background-color: #2a9d8f;
        color:white;
        padding: 10px 10px;
        border-radius: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        z-index: 999;
    }

    .contacto-boton {display: none;}

    .primary-button:hover {background-color: var(--color-terciary);}
    .secundary-button:hover {background-color: var(--color-terciary);}

    .footer-subinfo__copyright {background-color: var(--color-cuarto);
        color: white; display: flex ; justify-content: center; align-items: center; padding-left: 25px; font-size: 14px; padding: 5px 0 3px 20px;}


    .subinfo-copyright_text {    width: 360px; color: white; text-align: center;}
    /*Boton de Whatsapp*/

    .whatsapp-boton-container {width: 60px;height: 60px;position: fixed;bottom: 66px;right: 7px; z-index: 9999;}

    .whatsapp-img {width: 100%; height: 100%;}
    /* Header */

    .filtro {background-color: #00000063; width: 100%; height: 100%; position: absolute; top: 0; left: 0;}
    .filtro-2 {display: none;}

    .cabecera {display:flex; justify-content: space-between;
        position: fixed;
        width: 100%;
        top: 15px;
        
        z-index: 9999;
        /*border-bottom: 2px solid var(--color-primary);*/
    }

    .nav {display: none;}
    .nav.active {display: flex;}

    .menu_link:hover{color: white;}

    .logo-container {width: 100%; display: flex; align-items: center;}
    .logo {width: 165px; margin-left: 25px;}


    .burguer{ 
        width:80px; 
        height: 56px; 
        display: flex; 
        flex-direction: column; 
        justify-content: center; 
        align-items: center; 
        background-color:var(--color-terciary);
        padding-bottom: 5px;
        margin-right: 15px;
    }

    .burguer-sticks { 
        width: 40px; 
        height: 3px; 
        background-color: white; 
        margin-top:5px;
    }

    /* NAVEGADOR */
    @media(max-width: 450px){
        .nav {
            display: none;
            position: absolute;
            top: 57px;
            right: 15px;
            width: 36%;
            height: 215px;
            justify-content: center;
            align-items: center;
            background-color: var(--color-terciary);
            color: white;
            font-size: 21px;
            border-radius: 0 0px 5px 5px;
            box-shadow: 0 0px 10px #00000045;
        }
    
        li.menu_list {
            margin: 10px 0 20px 0;
        }
    }


    .main{margin-top:-1px;}

    /* Portada */

    .portada { max-width:100%;  width: 100%; height:auto; }

    .portada-layout { padding: 0;}

    .portada-desktop {display: none; width: 100%;}
    .portada-movil {display: block; width: 100%; margin-top:58px; height: calc(100vh - 56px);}

    .titulo{ position: absolute; top: 200px; left: 45px; width: 260px; color: white; z-index:10;     font-family: emoji; font-size: 46px; }

    /*Introducción  */

    .cita_container{display: flex; flex-direction: column; justify-content: center; margin-bottom: 60px;}
    .introduccion {max-width:100%;  background-color: var(--color-primary); color:white; padding:50px; margin-top: -13px;}
    .intro-heading-title {font-family: var(--font-garamond); margin-bottom: 10px; font-size: 21px; text-align: center;}
    .intro-titulo {font-family: var(--font-garamond); font-size: 16px; margin-bottom: 30px; text-align: center;}

    .intro-text {font-family: var(--font-roboto); color:white;}

    .javier-img-container{order:-1; margin-bottom: 20px;}
    .javier__img {width: 300px; border: 2px solid var(--color-secundary); border-radius: 10px; }
    /* SERVICIOS WEB */

    .serviciosweb-container {display: flex; flex-direction: column; justify-content: space-between; margin-bottom: 60px; align-items: center; gap: 30px;}
    .servicio__container { display: flex; flex-direction: column; justify-content: space-around; z-index: 999; border: 2px solid var(--color-secundary); border-radius:25px; width: 230px; text-align: center; padding: 10px 20px; background-color: #1a364b;}
    .servicio__container:hover {border: 2px solid #2a9d8f;;}
    .derecho-text{margin: 0 0 10px 0; color: white;}


    /* Servicios */

    .servicio-info-container {display: flex; flex-direction: column;}
    .servicio-link {align-self: flex-end; color: var(--color-primary);}
    .servicio-link:hover{color: var(--color-secundary);}

    .servicios {max-width: 100%; background-size: contain; background-repeat: no-repeat; height: auto!important;}

    
    .derecho-title {font-size: 21px; margin-bottom: 20px; color: white;}
    .servicio-container {padding: 20px 50px;}
    .servicios-img{width: 100%; margin-bottom: 20px;}

    .servicios-title {font-family: var(--font-garamond); margin-bottom: 30px; font-size: 31px; color: white; text-align: center; margin: 40px 0 50px 0;}

    .servicios__title {font-family: var(--font-garamond); font-size: 36px; font-weight: bold; margin:5px 0 40px 0;} 
    .servicio-titulo { margin: 10px 0px 15px 0px; font-family: var(--font-garamond); color: var(--color-primary);}
    .servicio-texto { font-family: var(--font-roboto); color: var(--color-secundary);}
        /* Carrusel */
        #carouselExampleControls {padding: 0;}
        .carousel-img-movil{ width: 100% ;height: auto;}
        .carousel-img-desktop {display: none;}
        .carousel-card { display: flex; align-items: center;}
        .carousel-info {width: 80%; padding: 32px 32px 32px 32px;}
        .carousel-title {font-family: var(--font-garamond); color:var(--color-secundary);font-size: 28px; margin:0 0 20px 0; }
        .carousel-text {font-family: var(--font-roboto); color:var(--color-primary); }
        .carousel-info-boton{ display: flex; justify-content: center;align-items: center;}
        .info-botton { writing-mode: vertical-rl; text-orientation: upright; text-align: center; 
            color: var(--color-primary); 
            font-weight: bold; 
            width: 20%;
            padding: 0 30px 0 0;
            z-index: 9999;
            cursor: pointer;
        }

        .info-botton:hover {color: var(--color-secundary);}

    /* formulario */

    .formulario {
        max-width: 100%;
        background-color: var(--color-primary);
        height: auto;
        padding: 45px;
        }

    form {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
  

    .form__title {margin:0!important; font-family: var(--font-garamond); font-size: 36px; font-weight: bold; margin:5px 0 40px 0!important; } 

    .input-form {width: 100%; margin-bottom:20px!important;}
    .form-info {font-family: var(--font-roboto); color: white; margin-top:20px;}
    .form-control {border-radius: 20px; font-family: var(--font-garamond);}
    .form__text-area {display: flex; flex-direction: column;}
    .input-text-area {border-radius: 20px; padding: 15px; height: 200px; font-family: var(--font-garamond);}

    .btn-form {width: 100%; background-color: var(--color-primary); color: white; padding: 10px; font-family: var(--font-garamond); font-size: 20px; margin-top:15px;}
    .btn-form:active {
        background-color: var(white);
        color: var(--color-primary);
        font-weight: bold;
        font-size: 20px;
    }

    /* Nosotros */

    .cookies{ padding: 40px;}

    .nosotros {padding: 40px;}
    .nosotros-titulo, .colaboradores-titulo {font-family: var(--font-garamond);margin-bottom: 30px;color: var(--color-primary);text-align: center;}

    .nosotros-titulo {text-align: center;}
    .colaboradores-titulo { text-align: center; font-size: 36px; margin-top: 50px; }

    .profile-img{width: 360px; margin-bottom: 20px;}

    .profile-container { display: flex ; flex-direction: column; justify-content: center; align-items: center; }

    .prof-1 {order:1;}
    .prof-2 {order:2;}


    /* Footer */
    footer {
    background-color: var(--color-primary); 
    color: white;
    }

    .logo-footer-img {width: 250px;}

    .footer-subinfo__pepedesign {
    justify-content: center;
    padding: 10px 0;
    display: flex;
    align-items: center;
    background-color: var(--color-cuarto);
    }

    .subinfo-pepedesign_text {
    margin-right: 10px;
    }

    .footer-info-container {
    background-color: var(--color-cuarto);
    border-bottom: 6px solid var(--color-secundary);
    display: flex;
    flex-direction: column;
    padding: 60px 0 20px 0;
    }

    .footer-logo {
    display: flex;
    justify-content: center;
    margin: 0 0 40px 0;
    }

    .footer-menu {
    display: flex;
    flex-direction: column;
    }

    .footer-menu__titulo {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    text-align: left;
    }

    .footer-menu__titulo::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: white;
    margin-top: 6px;
    }

    .footer__list {
    margin: 10px 0;
    }

    .footer-list-direccion {
    width: 310px;
    margin: 0 auto;
    }

    .nosotros-container,
    .servicios-container,
    .contacto-container,
    .politicas-container {
    position: relative;
    margin-bottom: 40px;
    text-align: center;
    }

    .footer-subinfo {
    display: flex;
    flex-direction: column;
    padding: 0;
    }

    .footer-subinfo__pepedesign__rrss {
    width: 44%;
    display: flex;
    justify-content: space-around;
    }

    .subinfo-pepedesign_text {
    font-size: 14px;
    font-family: var(--font-garamond);
    color: white;
    }

    ul.subinfo__politicas {
    padding: 10px 0;
    display: flex;
    justify-content: space-around;
    background-color: var(--color-terciary);
    }

    /* ✅ CORRECCIÓN DE ALINEACIÓN CONTACTO EN MÓVIL */
    .contacto-listado a {
    display: inline-block !important;
    text-align: center;
    }

    .contacto-listado img {
    display: inline;
    vertical-align: middle;
    margin-right: 5px;
    }


    /*INFO*/

    .info-section{
        max-width: 700px;
        margin: 0 auto;
    }

    /*FAQ*/

    .faq-section {
        max-width: 700px;
        margin: 0 auto;
      }
  
      .faq-item {
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        margin-bottom: 1rem;
        overflow: hidden;
        transition: all 0.3s ease;
      }
  
      .faq-question {
        cursor: pointer;
        padding: 1rem;
        font-weight: bold;
        background: #f1f1f1;
        position: relative;
      }
  
      .faq-question::after {
        content: '+';
        position: absolute;
        right: 1rem;
        font-size: 1.2rem;
        transition: transform 0.3s ease;
      }
  
      .faq-item.active .faq-question::after {
        content: '−';
      }
  
      .faq-answer {
        display: none;
        padding: 1rem;
        background: white;
        border-top: 1px solid #eee;
      }
  
      .faq-item.active .faq-answer {
        display: block;
      }

    /* TEXTOS de PÁGINAS DE SERVICIOS */


    /*---------------------------------------------------------*/
    /*                       ESCRITORIO                        */
    /*---------------------------------------------------------*/

 /*-------------------------------*/
@media(min-width: 768px){

    .whatsapp-boton-container{width: 60px; height: 60px; position: fixed; bottom: 50px; right: 50px;}
    .contacto-boton {display: flex;}

    .filtro-2 {
        display: block;
        width: 100%; height: 100%;
        background: linear-gradient(180deg, #00000063, rgba(255, 255, 255, 1) 100%);
        width: 100%; height: 100%; position: absolute; top: 0; left: 0;
    }


    /* header */

    .cabecera{padding-right: 15px;}
    

    .logo-container {width: 36%;}
    .logo {width: 215px; margin-left:20px;}
    .burguer { display: none;}
    .menu__nav {
        display: flex;
        width: 100%;
        justify-content: space-evenly;

    }
    .nav { display: flex;
        flex-direction: row;
        width: 64%;
        justify-content: end;
    }

    .menu {width: 440px; display: flex; border-radius: 2px 0px 0 24px; align-items: end; padding: 21px 10px 15px 10px; background-color: var(--color-primary); color: white;}
    .menu_link {cursor: pointer; font-weight: bold; color: white; font-weight: 400;}
    .menu_link:hover {color: var(--color-secundary);}

    /* HOMEPAGE */

    .portada {width: 100%; height: auto; margin-top: 65px;}
    .portada-layout {margin: 0; padding: 0;}

    .portada-desktop {display: block; height: calc(100vh - 65px);}
    .portada-movil {display: none;}

    .carousel-img-movil {display: none;}
    .carousel-img-desktop{ display: block; width: 100% ;height: 460px;}
    .servicios {max-width: 100%!important; margin: 0 auto!important; padding: 40px!important;}

    .titulo{ width: 620px;}


    /* Nosotros */

    .profile-container {display:flex; flex-direction: row;}

    .javier-img-container{order:1; display: flex; justify-content: center; margin-bottom: 0;}
    .javier__img {width: 400px;}

    .cita_container {flex-direction: row; align-items: center;}

    .prof-1 {order:2;}
    .prof-2 {order:1;}

    .nosotros {padding: 110px;}

    /* Servicios */
    .servicio-container{
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 40px 20px;
        gap: 20px;
    }

    .servicio__container {border: 2px solid rgba(255, 0, 0, 0);}

    .serviciosweb-container { flex-direction: row; align-items: normal; z-index: 999;}

    .servicio-info-container{width: 50%; display: flex; flex-direction: column;}

    .servicios-img {width: 230px;margin-bottom: 0px;}
    
    .info-botton { writing-mode: horizontal-tb; cursor: pointer;}
    /* Formulario */

    form {justify-content: space-evenly;}

    .form__title {width: 265px; font-size: 50px; }
    .form-control {width: 100%; padding: 10px;}

    .btn-form{cursor: pointer; border: 1px solid white;}
    .btn-form:hover {background-color: var(--color-secundary); color:white;}


    /* footer */

    .footer-info-container {flex-direction: row; justify-content: space-around; padding:40px 0;}
    .footer-subinfo__pepedesign { justify-content: flex-end; }
    .logo-footer-img {width: 273px;}

    .footer-menu {
        display: flex;
        flex-direction: row;
        justify-content: space-evenly;
        align-items: center;
        gap: 90px;
    }

    .footer-menu__titulo {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    }

    .footer-menu__titulo::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: white;
    margin-top: 6px;
    }

    .contacto-container, .politicas-container {margin:0;}

    .footer-logo {margin: 0;}


    /* POLITICA DE COOKIES */

    .cookies {padding: 80px 110px;}

    /* ----------------- */

    .nosotros-listado, .servicios-listado, .contacto-listado, .politicas-listado {padding: 10px 0 0 0;}

    .footer-subinfo {flex-direction: row;}
    .footer-subinfo__pepedesign, .footer-subinfo__politicas {    width: 100%;}
    ul.subinfo__politicas { padding: 10px 0; display: flex; justify-content: center; background-color: var(--color-terciary); gap: 20px;}
    .footer-subinfo__pepedesign__rrss {width: 25%; display: flex; justify-content: center; gap: 10px; }

    form { flex-direction: row;}
    .form__title {width: 265px;}

}
