/*--------------------- Responsive (Start) ---------------------*/

/*----- Adjust styling for medium screens -----*/
@media (max-width: 991px){

    /* Adjust font size for medium screens */
    html{
        font-size: 55%;
    }
    
    /* Customize scrollbar for the navbar */
    .navbar::-webkit-scrollbar{
        width: 0.8rem;
    }

    .navbar::-webkit-scrollbar-thumb{
        border-radius: 1rem;
        background: var(--secondary-color);
    }

    .navbar::-webkit-scrollbar-track{
        background: transparent;
    }

    /* Responsive layout for blog grid and list */
    .blog.grid, .blog.list{
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
    }

}

/*----- Adjust styling for Small Screens -----*/
@media (max-width: 768px) {

    /* Adjust padding for header */
    .header{
        padding: 2rem;
    }
    
    /* Adjust padding for sections */
    section{
        padding: 3rem 2rem;
    }

    /* Make home content full width */
    .home .content {
        width: 100%;
    }

    /* Adjust padding for footer */
    .footer{
        padding: 0rem 2rem;
    }

    /* Show the menu bar button in the header */
    .header #menubar{
        display: initial;
    }

    /* Hide the navbar in the header */
    .header .navbar {
        display: none;
    }

    /* Reverse the flex wrap order for shop items */
    .shop {
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
    }

    /* Adjust the position of next and previous buttons in the testimonial slider */
    .testimonial-slider .swiper-button-next {
        right: 0rem;
    }
      
    .testimonial-slider .swiper-button-prev {
        left: 0rem;
    }

    /* Adjust padding for the testimonial slider */
    .testimonial-slider {
        padding: 2rem 8rem 4rem 8rem;
    }

    /* Style and position the mobile menu */
    .mobile-menu {
        display: block;
        position: fixed;
        top: 0;
        left: -110%;
        height: 100%;
        width: 30rem;
        z-index: 10000;
        overflow-y: auto;
        max-height: 100%;
        background: var(--main-color);
    }

    /* Show the mobile menu when active and add a box shadow overlay */
    .mobile-menu.active {
        left: 0;
        -webkit-box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.7);
                box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.7);
    }

    /* Customize scrollbar appearance for the mobile menu */
    .mobile-menu::-webkit-scrollbar{
        width: 0.8rem;
    }

    .mobile-menu::-webkit-scrollbar-thumb{
        border-radius: 1rem;
        background-color: var(--secondary-color);
    }

    .mobile-menu::-webkit-scrollbar-track{
        background: var(--white);
    }

    /* Mobile menu Close button */
    .mobile-menu #close-side-bar {
        position: absolute;
        top: 1rem;
        right: 2rem;
        font-size: 4rem;
        cursor: pointer;
        color: var(--white);
    }

    /* Mobile menu Close button, On Hover */
    .mobile-menu #close-side-bar:hover {
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
        color: var(--secondary-color);
    }

    
    /* Mobile menu navbar */
    .mobile-menu .mobile-navbar {
        padding-top: 8rem;
    }

    
    /* Mobile menu Navbar button */
    .mobile-menu .mobile-navbar .nav-btn{
        border-bottom: 0.1rem solid var(--white);
        background-color: var(--secondary-color);
        color: var(--white);
        font-size: 2rem;
        cursor: pointer;    
        width: 100%;
        padding: 2rem 1rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;

    }

    /* Hide the sub-navigation links by default */
    .mobile-menu .mobile-navbar .nav-link .sub-nav-link {
        display: none;
        padding-left: 2rem;
        padding-bottom: 1rem;
        background: var(--light-brown);    
        -webkit-transition: all 0s;
        -moz-transition: all 0s;
        -o-transition: all 0s;
        transition: all 0s;

    }

    /* Sub-navigation links */
    .mobile-menu .mobile-navbar .nav-link .sub-nav-link a{
        color: var(--black);
        display: block;
        padding: 1rem 0rem;
        font-size: 1.8rem;
        border-bottom: 0.1rem solid var(--black);
    }

    /* Change the color and border of the sub-navigation links, On hover */
    .mobile-menu .mobile-navbar .nav-link .sub-nav-link a:hover{
        color: var(--secondary-color);
        border-color: var(--secondary-color);
    }

}

/*----- Adjust styling for Extra Small Screens -----*/
@media (max-width: 450px) {

    /* Adjust font size for better readability on extra small screens */
    html {
        font-size: 50%;
    }

    /* Adjust padding for header on extra small screens */
    .header{
        padding: 1rem;
    }

    /* Adjust padding for sections on extra small screens */
    section{
        padding: 3rem 1rem;
    }

    /* Adjust padding for footer on extra small screens */
    .footer{
        padding: 0rem 1rem;
    }

    /* Wrap product items in a list view on extra small screens */
    .shop .product-container.list .product-item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    /* Adjust image height and width for product items in list view */
    .shop .product-container.list .product-item .image{
        min-height: 15rem; 
        width: 100%;
    }

    /* Adjust image sizing for product items in list view on extra small screens */
    .shop .product-container.list .product-item .image img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    /* Adjust width for input box in booking table on extra small screens */
    .reservation .booking-table .input-box .box {
        width: 100%;
    }

    /* Adjust width for cart total section on extra small screens */
    .cart-total {
        width: 100%;
    }

    /* Adjust width of Form Input box inside input box container on extra small screens */
    .form .input-box .box {
        width: 100%;
    }
}

/*--------------------- Responsive (End) ---------------------*/