:root{
    --primary:#baf4df;
    --dark:#18355b;
    --white:#ffffff;
    --hover:#20c997;
}

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

body{
    font-family:Arial,sans-serif;
}

/*==================================
            NAVBAR
===================================*/

.navbar-custom{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent;
    z-index: 9999;
    padding: 18px 0;
}


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

.nav-container{
    max-width:1320px;
    margin:auto;
    padding:0 20px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    position:relative;
}

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

.logo{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo img{
    width:70px;
    height:70px;
    object-fit:contain;
    display:block;
    transition:.3s ease;
}

.logo:hover img{
    transform:scale(1.08);
}

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

.menu{
    list-style:none;
    display:flex;
    gap:35px;
    align-items:center;
    margin:0;
    padding:0;
}

.menu li{
    list-style:none;
}

.menu a{
    text-decoration:none;
    color:white;
    font-weight:600;
    position:relative;
    transition:.3s;
    padding:10px 0;
}

.menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:2px;
    background:var(--hover);
    transition:.3s;
}

.menu a:hover{
    color:white;
}

.menu a:hover::after{
    width:100%;
}

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

.actions{
    display:flex;
    align-items:center;
    gap:18px;
}

.search{
    border:none;
    background:none;
    font-size:20px;
    cursor:pointer;
    color:var(--dark);
    transition:.3s;
}

.search:hover{
    color:var(--hover);
}

.btn-book{
    text-decoration:none;
    background:var(--primary);
    color:var(--dark);
    padding:13px 28px;
    border-radius:12px;
    font-weight:bold;
    transition:.3s;
}

.btn-book:hover{
    background:var(--hover);
    color:#fff;
    transform:translateY(-3px);
}

/*==================================
        HAMBURGUESA
===================================*/

.toggle{
    display:none;
    background:none;
    border:none;
    font-size:30px;
    cursor:pointer;
    color:var(--dark);
}

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

@media (max-width:991px){

    .toggle{
        display:block;
    }

    .logo{
        font-size:30px;
    }

    /* Contenedor para menú y acciones en móvil */
    .nav-container{
        flex-wrap:wrap;
    }

    .menu{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:#fff;
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        border-radius:0 0 15px 15px;
        overflow:hidden;
        max-height:0;
        opacity:0;
        visibility:hidden;
        transition:all 0.35s ease;
        box-shadow:0 12px 30px rgba(0,0,0,.12);
        z-index:9998;
        padding:0;
        margin:0;
    }

    .menu.active{
        max-height:600px;
        opacity:1;
        visibility:visible;
        padding:10px 0;
    }

    .menu li{
        width:100%;
    }

    .menu li a{
        display:block;
        width:100%;
        padding:15px 25px;
        border-bottom:1px solid #ececec;
    }

    .menu li:last-child a{
        border-bottom:none;
    }

    /* Actions en móvil - ahora independiente */
    .actions{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:15px;
        width:100%;
        padding:0 20px;
        margin-top:0;
        overflow:hidden;
        max-height:0;
        opacity:0;
        visibility:hidden;
        transition:all 0.35s ease;
        position:absolute;
        top:calc(100% + 300px); /* Ajusta según la altura del menú */
        left:0;
        background:#fff;
        border-radius:0 0 15px 15px;
        box-shadow:0 12px 30px rgba(0,0,0,.12);
    }

    .actions.active{
        max-height:250px;
        opacity:1;
        visibility:visible;
        padding:20px;
    }

    .btn-book{
        width:100%;
        text-align:center;
        padding:13px 20px;
    }

    .search{
        width:100%;
        text-align:center;
        padding:10px;
    }
}

/* Ajuste para pantallas muy pequeñas */
@media (max-width:480px){
    .logo{
        font-size:24px;
    }
    
    .toggle{
        font-size:24px;
    }
}


.logo img{
    width: 250px;
    height: 250px;
}