/*index*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Space Mono", monospace;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 15px;
}

body {
    height: 100vh;
    width: 100%;
    cursor: none;
}

.container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/*CURSOR*/
.cursor-trail {
  position: fixed;
  width: 16px;
  height: 16px;
  background: rgba(126, 252, 255, 0.2);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  box-shadow: 0 0 10px rgba(126, 252, 255, 0.35); 
  transform: translate(-50%, -50%);
  animation: fadeOut 0.7s ease-out forwards;
}

#emoji-cursor {
    position: fixed;
    font-size: 24px;
    pointer-events: none;
    z-index: 10000;
    transform: translate(-50%, -50%);
    transition: transform 0.05s linear;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    transform: scale(1) translate(-50%, -50%);
  }
  100% {
    opacity: 0;
    transform: scale(2.2) translate(-50%, -50%);
  }
}
/*HEADER*/
#top {
    background-color: #88a7d0;
    display: flex;
    justify-content: space-between;
    padding: 10px 0 20px 50px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1)
}

#top h1 {
    display: flex;
    align-items: center;
    font-size: 2rem;
}

#top i {
    width: 20px;
    font-size: 25px;
}

h1 {
    font-family: "Space Grotesk", sans-serif;
    color: rgb(73, 72, 72);
}

.title {
    text-decoration: none;
    font-size: 30px;
    color: rgb(73, 72, 72);
}

/* Home button styles */
.home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-left: 1rem;
    margin-right: 10px;
    padding-right: 6px;
    background-color: #FF4700;
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.home-button i {
    font-size: 1rem;
}

.home-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.2);
    background-color: #e24000;
}

/* Mobile tweaks: keep size tappable */
@media screen and (max-width: 768px) {
    .home-button {
        width: 40px;
        height: 40px;
        border-radius: 10px;
    }
    .home-button i {
        font-size: 1.1rem;
    }
}

/*añadido*/
/*input*/
label #btn-menu,
label #cancel {
    float: right;
    line-height: 80px;
    margin-right: 40px;
    cursor: pointer;
    display: none;
}

#check {
    display: none;
}

/*fin añadido*/

.menu {
    display: flex;
    gap: 10px;
    padding: 0;
    margin-right: 45px;
}

.menu-item {
    padding: 10px;
    list-style: none;
}

.menu-item img {
    height: 70px;
    margin-bottom: 5px;
}

.menu-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: black;
    text-align: center;
    font-size: 13px;
}

.menu-item a:hover {
    color: white;
    cursor: none;
}

/*SECTIONS*/
.container-section {
    flex: 1;
    text-align: center;
    position: relative;
    /* background: linear-gradient(to bottom, #fff0f5, #ffe4e1, #f0fff0); */
    background: #f4f9f4;
}

section img {
    width: 400px;
    height: 300px;
    border-radius: 10px;
}

/*--- que-es-section ---*/
.que-es-section {
    text-align: center;
    position: relative;
    padding: 70px 8%;
}

/*añadido --- opcional*/
#typewriter::after {
    content: "|";
    animation: blink 1s infinite;
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/*fin añadido*/

.que-es-section h2 {
    font-size: 30px;
    padding: 0 0 50px 0;
}

.gift {
    width: 100%;
}

.que-es-paragraph {
    padding-top: 40px;
    line-height: 35px;
}

/*--- donde-section ---*/
.donde-section {
    padding: 20px 8%;
}

h3 {
    padding: 40px 0;
    font-size: 25px;
}

.donde-box {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 50px;
}

.donde-list {
    text-align: left;
    background-color: #dae7f9ed;
    padding: 0 20px;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.donde-list li {
    list-style: none;
    line-height: 25px;
    margin: 17px 0;
}

/*Carousel */
.carousel-container {
    position: relative;/*prueba*/
    width: 400px;
    height: 300px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.carousel-track-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.carousel-track {
    display: flex;
    transition: transform 0.5s ease;
    list-style: none;
    padding: 0;
    margin: 0;
}

.carousel-track li {
    flex: 0 0 100%;
    max-width: 100%;
}

.carousel-track img {
    object-fit: cover;
    border-radius: 10px;

    display: block;
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.1);
    border: none;
    font-size: 2rem;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 50%;
    z-index: 2;
}

.carousel-btn.prev{
    left: 10px;
}

.carousel-btn.next{
    right: 10px;
}


/*--- para-que-section ---*/
.para-que-section {
    padding: 20px 8% 0 8%;
}

.box-cont-para-que {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 50px;
}

.para-que-list {
    text-align: left;

    background-color: #dae7f9ed;
    padding: 0 20px;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.box-cont-para-que li {
    list-style: none;
    line-height: 25px;
    margin: 17px 0;
}

/*Botones*/
.buttons {
    width: 100%;
    padding: 50px 0 30px 0;
    cursor: none;
}

.btn i {
    font-size: 30px;
    color: rgb(73, 72, 72);
    /*prueba cambiar color*/
    transition: color 0.3s;
}

.btn i:hover {
    transform: scale(1.2);
    color: #7398c4;
    cursor: none;
}

.btn-right {
    display: block;
    margin: 0 auto;
    text-align: center;
    cursor: none;
}

.btn-up {
    position: absolute;
    bottom: 30px;
    right: 24px;

}

/*FOOTER*/
footer {
    background: linear-gradient(to right, #d6e0ef, #b5c8e0, #88a7d0, #5f7ea8, #3c5c82);
    background-size: cover;
    text-align: center;
}

footer p {
    margin-top: 10px;
    color: black;
}

footer p:first-child {
    padding-top: 20px;
}

.logo-fem-coders {
    height: 50px;
    margin-bottom: 20px;
}

/*--- RESPONSIVE ---*/
@media only screen and (max-width: 945px) {

    /*768px, 607px para el .container-section*/
    #top {
        font-size: 55%;
        position: relative;
        z-index: 1;
    }

    label #btn-menu {
        display: block;
    }

    .menu-item .menu-links {
        display: none;
    }

    .menu {
        display: block;
        position: absolute;
        width: 100%;
        box-sizing: border-box;
        top: 100%;
        left: 0;
        display: none;
        text-align: center;
        transition: all .5s;
        z-index: 100;
    }

    .top .menu li {
        display: block;
        margin: 50px 0;
        line-height: 30px;
    }

    .menu li a {
        font-size: 20px;
    }

    .menu-item {
        background: #c4d4e9;
    }

    .menu-item:hover {
        background-color: #c8cdd1;
    }

    #check:checked~.menu {
        display: block;
    }

    label #cancel {
        display: none;
    }

    #check:checked~ul {
        width: 100%;
    }

    #check:checked~label #btn-menu {
        display: none;
    }

    #check:checked~label #cancel {
        display: block;
    }

    .que-es-section {
        padding-top: 120px;
    }

    @media only screen and (max-width: 870px) {
        .donde-box {
            flex-wrap: wrap;
            flex-direction: column-reverse;
        }

        .donde-list,
        .para-que-list {
            width: 600px;
        }

        .box-cont-para-que {
            flex-wrap: wrap;
            flex-direction: column;
        }

        @media only screen and (max-width: 678px) {

            .donde-list,
            .para-que-list {
                width: 500px;
            }

            @media only screen and (max-width: 565px) {

                .donde-list,
                .para-que-list {
                    width: 400px;
                }

                @media only screen and (max-width: 455px) {

                    .donde-list,
                    .donde-img,
                    .para-que-list,
                    .para-img {
                        width: 350px;
                    }
                    .carousel-container {
                        width: 300px;
                    }

                    @media only screen and (max-width: 405px) {
                        .title {
                            font-size: 29px;
                        }

                        .donde-img,
                        .para-img {
                            height: 250px;
                        }

                        .donde-list,
                        .donde-img,
                        .para-que-list,
                        .para-img {
                            width: 320px;
                        }

                        footer{
                            padding: 0 20px;/*prueba*/
                        }

                        @media only screen and (max-width: 365px) {
                            .title {
                                font-size: 27px;
                            }

                            .donde-img,
                            .para-img {
                                height: 230px;
                            }

                            .donde-list,
                            .donde-img,
                            .para-que-list,
                            .para-img {
                                width: 300px;
                            }
                        }
                    }
                }
            }
        }
    }
}