/*==================================================
MAGGIE SALÓN
Autor: ChatGPT
===================================================*/


/*==============================
RESET
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Manrope';
    font-size:16px;
    color:#555;
    background:#fff;
    overflow-x:hidden;
    line-height:1.6;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}


/*==============================
VARIABLES
==============================*/

:root{

    --principal:#8f868d;
    --texto:#555555;
    --titulo:#51474d;
    --blanco:#ffffff;
    --gris:#f6f6f6;

    --transition:.35s ease;

}


/*==============================
CONTENEDOR
==============================*/

.container{

    width:92%;
    max-width:1300px;
    margin:auto;

}


/*==============================
TIPOGRAFÍA
==============================*/

h1,
h2,
h3,
h4{

    font-family:'Cormorant Garamond',serif;
    font-weight:400;
    color:var(--titulo);

}

h2{

    font-size:46px;
    letter-spacing:2px;
    margin-bottom:30px;
    text-align:center;

}

p{

    color:#666;
    font-size:17px;

}


/*==============================
HEADER
==============================*/

#header{

    position:fixed;
    top:0;
    left:0;

    width:100%;

    z-index:1000;

    transition:.4s;

    padding:25px 0;

}


/* cuando haga scroll */

#header.active{

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(10px);

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    padding:15px 0;

}


.header-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

}


/*==============================
LOGO
==============================*/

.logo img{

    width:180px;

    transition:.3s;

}


/*==============================
MENU
==============================*/

#menu ul{

    display:flex;

    gap:45px;

}


#menu a{

    color:#ffffff;

    font-family:'Cormorant Garamond',serif;

    font-size:20px;

    letter-spacing:1px;

    position:relative;

    transition:.3s;
	text-transform:uppercase;

}


/* cambia a oscuro al hacer scroll */

#header.active #menu a{

    color:#555;

}


#menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:1px;

    background:#fff;

    transition:.3s;

}


#header.active #menu a::after{

    background:var(--principal);

}
/* Logo cambia a color oscuro al hacer scroll */
#header.active .logo img{
    filter: brightness(0)
            saturate(100%)
            invert(86%)
            sepia(16%)
            saturate(622%)
            hue-rotate(292deg)
            brightness(93%)
            contrast(93%);
}

#menu a:hover::after{

    width:100%;

}
.equis {
  position: relative;
  width: 50px;
  height: 50px;
}

.equis::before, .equis::after {
  content: "";
  position: absolute;
  top: 23px; /* Posiciona la línea en el centro */
  left: 0;
  width: 100%;
  height: 4px; /* Grosor de la línea */
  background-color: black;
}

.equis::before {
  transform: rotate(45deg);
}

.equis::after {
  transform: rotate(-45deg);
}


/*==============================
REDES
==============================*/

.social{

    display:flex;

    gap:18px;

}


.social a{

    color:#fff;

    font-size:17px;

    transition:.3s;

}


#header.active .social a{

    color:#555;

}


.social a:hover{

    color:var(--principal);

}


/*==============================
MENU MOBILE
==============================*/
.menu-mobile{
    display:none;
    cursor:pointer;
    position: relative;
    z-index: 1001; /* Para que esté por encima del menú desplegado */
}

.menu-mobile span{
    display:block;
    width:30px;
    height:3px;
    margin:6px;
    background:#fff;
    /* Cambiamos la transición para que incluya transform y opacity */
    transition: all 0.3s ease; 
}

#header.active .menu-mobile span{
    background:#555;
}

/* ==========================================
ANIMACIÓN DE HAMBURGUESA A "X" (CIERRE)
========================================== */
/* Cuando el menú está abierto (el JS agrega la clase .open) */
.menu-mobile.open span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
    background: #555; /* Color oscuro para que se vea en fondo blanco */
}

.menu-mobile.open span:nth-child(2) {
    opacity: 0; /* Ocultamos la línea del medio */
}

.menu-mobile.open span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
    background: #555; /* Color oscuro para que se vea en fondo blanco */
}


/*==================================================
SLIDER
==================================================*/
.hero-slider{
    width:100%;
    height:100vh;
    overflow:hidden;
    position:relative;
}

.slide{
    position:absolute;
    inset:0;

    opacity:0;

    transition:
        opacity 1.8s cubic-bezier(.4,0,.2,1);

    z-index:1;
}

.slide.active{
    opacity:1;
    z-index:2;
}

.slide img{

    width:100%;
    height:100%;
    object-fit:cover;

    transform:scale(1);

    transition:
        transform 7s linear,
        opacity 1.8s ease;

}




/*==================================================
EFECTO ZOOM LENTO
==================================================*/

.slide.active img{

    transform:scale(1.05);

}


@keyframes zoomSlider{

    from{

        transform:scale(1);

    }

    to{

        transform:scale(1.08);

    }

}


/*==================================================
FLECHAS
==================================================*/

.prev,
.next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    color:#fff;

    font-size:40px;

    cursor:pointer;

    transition:.35s;

    z-index:5;

}


.prev{

    left:25px;

}


.next{

    right:25px;

}


.prev:hover,
.next:hover{

    background:rgba(255,255,255,.9);

    color:#555;

}


/*==================================================
FONDO OSCURO DEL SLIDER
==================================================*/

.hero-slider::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.15);

    z-index:3;

}


/*==================================================
ESPACIADO GENERAL
==================================================*/

section{

    padding:100px 0;

}


/*==================================================
BOTONES
==================================================*/

.btn{

    display:inline-block;

    padding:15px 45px;

    border:1px solid #fff;

    color:#fff;

    transition:.35s;

    letter-spacing:1px;

    font-size:17px;

}


.btn:hover{

    background:#fff;

    color:#555;

}


.btn2{

    display:inline-block;

    padding:15px 45px;

    border:1px solid #7c767c;

    color:#7c767c;

    transition:.35s;

    letter-spacing:1px;

    font-size:17px;
	max-width:250px;

}


.btn2:hover{

    background:#7c767c;

    color:#fff;

}






/*==================================================
NOSOTROS
==================================================*/

.about{

    background:#fff;

    text-align:center;

}

.about .container{

    max-width:950px;

}

.about h2{

    margin-bottom:35px;

}

.about p{

    font-size:15px;

    line-height:1.8;

    color:#6b6b6b;

    margin-bottom:25px;

    font-weight:300;

}


/*==================================================
SERVICIOS
==================================================*/

.services{

    background:#ffffff;

}

.services h2{

    margin-bottom:70px;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:40px;

    align-items:start;

}

.service{

    text-align:center;

    padding:20px;

    transition:.35s;

    cursor:pointer;

}

.service img{

    width:145px;

    margin:auto;

    transition:.45s;

    filter:grayscale(100%);

}

.service h3{

    margin-top:25px;

    font-size:30px;

    color:#6a6467;

}

.service p{

    font-size:16px;

    margin-top:8px;

    color:#7b7b7b;

}

.service:hover{

    transform:translateY(-12px);

}

.service:hover img{

    transform:scale(1.08);

    filter:grayscale(0%);

}

.service:hover h3{

    color:var(--principal);

}

.service:hover p{

    color:#444;

}


/*==================================================
LINEA DECORATIVA
==================================================*/

.services h2::after,
.gallery h2::after,
.about h2::after{

    content:"";

    display:block;

    width:80px;

    height:2px;

    background:var(--principal);

    margin:18px auto 0;

}


/*==================================================
GALERIA
==================================================*/

.gallery{

    background:#fafafa;

}

.gallery h2{

    margin-bottom:70px;

}

.gallery-slider{

    position:relative;

    overflow:hidden;

    width:100%;

}

.gallery-track{

    display:flex;

    gap:25px;

    transition:.5s;

}

.gallery-track img{

    width:calc((100% - 50px)/3);

    height:430px;

    object-fit:cover;

    border-radius:8px;

    transition:.45s;

    flex-shrink:0;

    cursor:pointer;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

}

.gallery-track img:hover{

    transform:scale(1.04);

    box-shadow:0 20px 40px rgba(0,0,0,.18);

}


/*==================================================
BOTONES GALERIA
==================================================*/

.gallery-prev,
.gallery-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:58px;

    height:58px;

    border:none;

    border-radius:50%;

    background:transparent;

    color:#fff;

    font-size:34px;

    cursor:pointer;

    transition:.35s;

    z-index:20;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

}

.gallery-prev{

    left:-10px;

}

.gallery-next{

    right:-10px;

}

.gallery-prev:hover,
.gallery-next:hover{

    background:transparent;

    color:#fff;

}


/*==================================================
EFECTO OVER DE LAS IMAGENES
==================================================*/

.gallery-track img{

    position:relative;

}

.gallery-track img:hover{

    filter:brightness(1.05);

}


/*==================================================
ANIMACION
==================================================*/

.about,
.services,
.gallery{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*==================================================
ESPACIADOS
==================================================*/

.about{

    padding-top:110px;

    padding-bottom:40px;

}

.services{

    padding-top:40px;

    padding-bottom:90px;

}

.gallery{

    padding-top:50px;

    padding-bottom:90px;

}


/*==================================================
SOMBRAS
==================================================*/

.service{

    border-radius:15px;

}

.service:hover{

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}


/*==================================================
TRANSICIONES
==================================================*/

.service,
.service img,
.service h3,
.gallery-track img,
.gallery-prev,
.gallery-next{

    transition:all .35s ease;

}
/*==================================================
CONTACTO
==================================================*/

.contact{

    background:#ffffff;

    padding:110px 0;

}

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.contact-info h2{

    text-align:left;

    margin-bottom:20px;

}

.contact-info h2::after{

    margin:20px 0 0;

}

.contact-info h4{

    font-size:28px;

    margin-top:30px;

    margin-bottom:10px;

    color:var(--principal);

}

.contact-info p{

    font-size:15px;

    color:#6b6b6b;

    line-height:1.2;

}

.contact-photo{

    overflow:hidden;

    border-radius:20px;

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.contact-photo img{

    width:100%;

    height:450px;

    object-fit:cover;

    transition:.8s;

}

.contact-photo:hover img{

    transform:scale(1.08);

}


/*==================================================
PARALLAX
==================================================*/

.parallax{

    position:relative;

    height:650px;

    background:url("../img/parallax.jpg") center center;

    background-size:cover;

    background-repeat:no-repeat;

    background-attachment:fixed;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}

.parallax::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

}

.parallax .overlay{

    position:relative;

    z-index:10;

    text-align:center;

    color:#fff;

}

.parallax h2{

    color:#fff;

    font-size:64px;

    margin-bottom:20px;

    letter-spacing:2px;

}

.parallax p{

    color:#fff;

    font-size:22px;

    margin-bottom:45px;

    font-weight:300;

}

.parallax .btn{

    border:2px solid #fff;

    padding:16px 55px;

    font-size:18px;

}

.parallax .btn:hover{

    background:#fff;

    color:#444;

}



/*==================================================
PARALLAX-1
==================================================*/

.parallax-1{

    position:relative;

    height:650px;

    background:url("../img/parallax-1.jpg") center center;

    background-size:cover;

    background-repeat:no-repeat;

    background-attachment:fixed;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}

.parallax-1::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

}

.parallax-1 .overlay{

    position:relative;

    z-index:10;

    text-align:center;

    color:#fff;

}

.parallax-1 h2{

    color:#fff;

    font-size:64px;

    margin-bottom:20px;

    letter-spacing:2px;

}

.parallax-1 p{

    color:#fff;

    font-size:22px;

    margin-bottom:45px;

    font-weight:300;

}

.parallax-1 .btn{

    border:2px solid #fff;

    padding:16px 55px;

    font-size:18px;

}

.parallax-1 .btn:hover{

    background:#fff;

    color:#444;

}







/*==================================================
FOOTER
==================================================*/

footer{

    background:#2f2f2f;

    color:#fff;

    text-align:center;

    padding:70px 0 40px;

}

footer img{

    width:170px;

    margin:auto;

    margin-bottom:35px;

}

.footer-social{

    display:flex;

    justify-content:center;

    gap:22px;

    margin-bottom:35px;

}

.footer-social a{

    width:48px;

    height:48px;

    border:1px solid rgba(255,255,255,.35);

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    transition:.35s;

}

.footer-social a:hover{

    background:var(--principal);

    border-color:var(--principal);

    transform:translateY(-4px);

}

footer p{

    color:#cfcfcf;

    font-size:15px;

}


/*==================================================
WHATSAPP
==================================================*/

.whatsapp{

    position:fixed;

    right:35px;

    bottom:35px;

    width:68px;

    height:68px;

    z-index:999;

    transition:.35s;

}

.whatsapp img{

    width:100%;

    filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));

}

.whatsapp:hover{

    transform:scale(1.12);

}


/*==================================================
ANIMACIONES GENERALES
==================================================*/

.contact,
.parallax,
footer{

    animation:fadeSection .8s ease;

}

@keyframes fadeSection{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#ececec;

}

::-webkit-scrollbar-thumb{

    background:var(--principal);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#6c646a;

}


/*==================================================
SELECCIÓN DE TEXTO
==================================================*/

::selection{

    background:var(--principal);

    color:#fff;

}


/*==================================================
FOCUS
==================================================*/

button,
a{

    outline:none;

}


/*==================================================
IMÁGENES
==================================================*/

img{

    user-select:none;

    -webkit-user-drag:none;

}


/*==================================================
FIN STYLE.CSS
==================================================*/

/*==================================================
BANNER INTERIOR
==================================================*/

.page-banner{

    margin:0;
    padding:0;
    height:680px;
    overflow:hidden;
    position:relative;

}

.page-banner img{

    width:100%;
    height:100%;
    object-fit:cover;

}


/*==================================================
SERVICIO INTERIOR
==================================================*/

.service-detail{

    padding:90px 0 110px;
    background:#fff;

}

.service-detail h1{

    text-align:center;
    font-size:48px;
    font-weight:400;
    letter-spacing:1px;
    color:#6b6468;
    margin-bottom:70px;

}

.service-content{

    display:grid;
    grid-template-columns:1fr 500px;
    gap:70px;
    align-items:center;

}

.service-text h3{

    font-size:34px;
    color:#6d656a;
    margin-bottom:18px;
    margin-top:35px;

}

.service-text h3:first-child{

    margin-top:0;

}

.service-text p{

    font-size:15px;
    line-height:1.9;
    color:#666;

}

.service-image{

    overflow:hidden;
    border-radius:8px;

}

.service-image img{

    width:100%;
    transition:.6s;

}

.service-image:hover img{

    transform:scale(1.05);

}