@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


:root {
    --h1-font-size: 2.25rem;
    --h3-font-size: 1.25rem;
    --descripcion-font-size: 1rem;
    --small-font-size: .875rem;
    --smaller-font-size: .813rem;

    /* --color-bg: #fadac4; */
    --color-bg: #ffccaa;
    --color-text: #5e3609;
    --color-hover: #c9802e;

    --color-bg-btn: #f0d1c4;
    --color-border-btn: #6b3e0a;
    --color-text-btn: #462807;
    --color-shadow-btn-hover: #3b3b3b;

    /* --color-bg-promo-card: #eeeeee; */
    --color-bg-promo-card: #f0ddd1;

    --color-bg-service-card: #f9f9f9;


}

/* Reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Poppins", sans-serif;
    background: rgb(227, 186, 141);
    background: radial-gradient(circle, rgba(227, 186, 141, 1) 0%, rgba(170, 117, 58, 1) 100%);
}

a {
    text-decoration: none;
}

/* ========== Scroll Bar ========== */
body {
    --sb-track-color: #f9f9f9;
    --sb-thumb-color: #6b3e0a;
    --sb-size: 10px;
}

body::-webkit-scrollbar {
    width: var(--sb-size)
}

body::-webkit-scrollbar-track {
    background: var(--sb-track-color);
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 5px;
}

body::-webkit-scrollbar-thumb {
    background: var(--sb-thumb-color);
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
    border-radius: 5px;

}

@supports not selector(::-webkit-scrollbar) {
    body {
        scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
    }
}



/* ===== Boton de whatsapp flotante ===== */
.whatsapp-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #25D366;
    color: white;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s;
    z-index: 1500;
}

.whatsapp-btn:hover {
    transform: scale(1.1);
}

.whatsapp-btn i {
    font-size: 35px;
}

/* Logo de fondo */
.logoFondo {
    width: 10%;
    position: fixed;
    bottom: 0;
    left: 1rem;

}


/* ========== Header styles ========== */
header {
    position: fixed;
    width: 100%;
    z-index: 1200;
    background: #ffe9da;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 5%;
}

/* Logo texto header */
.logo {
    font-size: 1.8rem;
    font-weight: bold;
    color: #7a5d5d;
    text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .2), 0 20px 20px rgba(0, 0, 0, .15);
}

.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    cursor: pointer;
    z-index: 1001;
}

.hamburger span {
    display: block;
    height: 3px;
    width: 100%;
    background-color: #7a5d5d;
    transition: all .3s ease;
}

.nav-links {
    display: flex;
    list-style: none;
    gap: 1.5rem;
}

.nav-link {
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    color: #2c1810;
    transition: color .3s;
}

.nav-link:hover,
.nav-link.active {
    color: #7a5d5d;
}

.nav-link.active {
    text-decoration: underline;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}


/* seccion inicio */
.inicio-section {
    padding: 2rem;
}

/* Contenedor que organiza las dos tarjetas */
.cards-container {
    display: grid;
    /*por defecto 1 columna para celulares*/
    grid-template-columns: 1fr;
    grid-gap: 2rem;
    max-width: 1200px;
    /*centra horizontalmente*/
    margin: 0 auto;
    justify-items: center;
}

/* cada tarjeta */
.spa-container {
    width: 100%;
    height: 340px;
    /*Limite para pantallas grandes*/
    max-width: 1000px;
    /*para que los elementos internos absolute sean relativos a la tarjeta*/
    position: relative;
    overflow: hidden;
    transition: .3s;
}

.spa-container:hover {
    /* transform: translateY(1px); */
    z-index: 10;
    filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.6));
}

.spa-container-hover-effect {
    opacity: 80%;
}

/* Ajustar la altura interna segun contenido, quitar heights fijos */
.spa-content {
    height: 340px;
    display: flex;
    position: relative;
    border-radius: 30px;
    overflow: hidden;
}

/* Imagen */
.spa-img {
    width: 50%;
    height: auto;
    object-fit: cover;
}

/* Para la segunda imagen colocarla a la derecha */
.imgCardDos {
    /* cambiar el orden dentro del flex */
    order: 2;
}

/* degradado superpuesto */
.spa-degrade {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Para que no interfiera con el clic */
    pointer-events: none;
    border-radius: 30px;
    background: linear-gradient(to left, #ffeedb, #ffeedb, #ffeedb, rgba(255, 238, 219, 0.10), rgba(255, 238, 219, 0));
}

.degradeCardDos {
    background: linear-gradient(to right, #a38665, #a2896d, #b69978, #c2a48376, #ffeedb00);
}

/* Contenedor de texto */
.spa-info {
    /* Flex para colocar el contenido en columna */
    display: flex;
    flex-direction: column;
    /* gap: 1rem; */

    /* Rellenar la otra mitad del contenedor */
    width: 50%;
    padding: 2rem;
    /* Para ubicar el boton */
    position: relative;
}

/* titulo */
.spa-title {
    font-family: "Poppins";
    font-size: 2.8rem;
    font-weight: 600;
    margin: 20px 0 0 20px;
    padding-bottom: 20px;
    color: #483528;
}

.titleCardDos {
    color: #fdf7ee;
}

/* ul */
.spa-items {
    display: grid;
    grid-template-columns: repeat(3, 155px);
    font-size: 16px;
}

/* ul segunda tarjeta */
.itemsCardDos {
    grid-template-columns: repeat(3, 210px);
    padding-left: 10px;
    column-gap: 12px;
}

/* li */
.spa-item {
    font-family: "Inter";
    font-weight: 500;
    color: #483528;
}

/* li segunda tarjeta */
.itemCardDos {
    color: #fdf7ee;
}

/* boton generico */
.btn {
    margin: 0;
    padding: 0.8em 1em;
    outline: none;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border: none;
    text-transform: uppercase;
    background-color: #483528;
    border-radius: 10px;
    color: #fff;
    font-weight: 300;
    font-size: 18px;
    font-family: inherit;
    z-index: 0;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.02, 0.01, 0.47, 1);
}

.btn:hover {
    animation: storm 0.7s ease-in-out both;
    animation-delay: 0.06s;
}

.btn::before,
.btn::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    transition: transform 0.15s cubic-bezier(0.02, 0.01, 0.47, 1), opacity 0.15s cubic-bezier(0.02, 0.01, 0.47, 1);
    z-index: -1;
    transform: translate(100%, -25%) translate3d(0, 0, 0);
}

.btn:hover::before,
.btn:hover::after {
    opacity: 0.15;
    transition: transform 0.3s cubic-bezier(0.02, 0.01, 0.47, 1), opacity 0.3s cubic-bezier(0.02, 0.01, 0.47, 1);
}

.btn:hover::before {
    transform: translate3d(50%, 0, 0) scale(0.9);
}

.btn:hover::after {
    transform: translate(50%, 0) scale(1.1);
}


/* ========== RESPONSIVE ========== */

/* pantallas grandes */
@media (min-width: 992px) {
    .cards-container {
        display: grid;
        grid-template-columns: 1fr;
        position: relative;
    }

    .spa-container {
        grid-column: 1/2;
        grid-row: 1/2;
    }

    .spa-container-1 {
        z-index: 1;
        transform: translate(-100px, 30px);
    }

    .spa-container-2 {
        z-index: 2;
        transform: translate(90px, 340px);
    }

    .spa-info {
        height: 300px;
    }

    .btn-spa {
        position: absolute;
        bottom: 10px;
        right: 20px;
    }

    .btn-estetica {
        position: absolute;
        bottom: -10px;
        left: 20px;
    }
}

/* pantallas hasta 768px */
@media (max-width: 768px) {
    .spa-container {
        height: auto;
    }

    .spa-content {
        height: auto;
        flex-direction: column;
    }

    .spa-img {
        width: auto;
    }

    .spa-degrade {
        background: linear-gradient(to top, #ffeedb, #ffeedb, #ffeedb, rgba(255, 238, 219, 0.10), rgba(255, 238, 219, 0));
    }

    .spa-info {
        width: 100%;
        padding: 1rem;
        align-items: center;
        gap: 1rem;
    }

    .spa-title {
        font-size: 1.8rem;
    }

    .spa-items {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 15px;
    }

    .imgCardDos {
        order: 1;
    }

    .infoCardDos {
        order: 2;
    }

    .degradeCardDos {
        background: linear-gradient(to top, #ffeedb, #ffeedb, #ffeedb, rgba(255, 238, 219, 0.10), rgba(255, 238, 219, 0));
    }

    .titleCardDos {
        color: #483528;
    }

    .itemCardDos {
        color: #483528;
    }

    .logoFondo {
        display: none;
    }

}

/* pantallas entre 769px y 991px */
@media (min-width: 769px) and (max-width: 991px) {
    .spa-container {
        height: auto;
    }

    .spa-content {
        height: auto;
    }

    .spa-img {
        width: 50%;
    }

    .spa-info {
        width: 50%;
        padding: 1.5rem;
    }

    .spa-items {
        grid-template-columns: repeat(3, 1fr);
    }

    .logoFondo {
        width: 25%;
        left: 50%;
        transform: translate(-50%);
    }
}

