@media only screen and (max-width: 1280px) {
 

} 

@media screen and (max-width: 1199px) {
	.product {
		width: calc((100% - 20px) / 2);
	}
}

@media only screen and (max-width: 1024px) {
    .header__menu {
        display: none;
    }

    .header-btn--search {
        padding-right: 24px;
    }

    .header__menu-btn {
        display: block;
    } 

    .header__mobile-menu {
        position: absolute;
        right: 0;
        top: calc(100% + 1px);
        background: #fff;
        width: 100%;
        max-width: 400px;
        /* padding: 20px 20px; */
        /* height: auto; */
        max-height: calc(100vh - 57px);        
        overflow: auto;
        box-shadow: 0 5px 7px rgba(31,31,36,.12);
    }

    .menu.menu--header-mobile {
        flex-direction: column;
        gap: 0;
    }

    .menu__elem--mobile:not(:last-child) {
        border-bottom: 1px solid #D4D4D8;
    }

    .menu__link--mobile {
        padding: 15px 20px;
        width: 100%;
        display: block;
    }

    .header__bottom {
        display: none;
    }

    .container {
        padding: 0 24px;
    }

}

@media only screen and (max-width: 991px) { 
    .footer__row {
        gap: 40px 0;
    }

    .footer__col--wide {
        max-width: 100%;
    }

	.booking__meals-wrapper {
		flex-direction: column;	
	}
	
	.booking__tabs {
		width: 100%;
		flex-direction: row;
	}

	.booking__pills {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.booking__tabs-group {
		width: calc((100% - 32px*3) / 4);
	}
	
	.booking__tab-content {
		flex: unset;
		border-top: 1px solid #D4D4D8;
		border-left: 0;
		padding-left: 0;
		padding-top: 20px;
	}
	
	.product {
		width: calc((100% - 2*20px) / 3);
		/* padding: 20px 10px; */
	}


    .cart-content {
        flex-direction: column;
        gap: 40px;
    }

    .cart-content__col {
        width: 100%;
    }

}



@media only screen and (max-width: 768px) { 
 

}   

@media only screen and (max-width: 767px) { 
    .page-title {
        font-size: 40px;
        margin-bottom: 24px;
    }

    .go-top {
        width: 75px;
        height: 75px;
        right: -120px;
    }

    .go-top.go-top--show {
        right: 45px;
    }


    .filter {
		padding: 20px 20px;
	}	
	
	.filter__row {
		gap: 20px;
	}	

    .route {
        padding: 20px 20px;
    }

	.booking__tables {
		padding: 20px 20px;
	}

	.booking__tabs-group {
		width: calc((100% - 32px*2) / 3);
	}
	
	.product {
		width: calc((100% - 20px) / 2);
		/* padding: 10px 10px; */
	}

    .cart-content__col-inner {
        padding-top: 10px;
    }
}

@media only screen and (max-width: 600px) { 
    .header__box {
        justify-content: flex-end;
    }

    .header__site-title {
        display: none;
    }

    .header-btn--login {
        padding-left: 0;
    }

    .header-btn__title {
        display: none;
    }


	.route__line-title {
		display: block;
	}

    /* .route__title {
        flex-wrap: wrap;
    } */

    .route__train-stations {
        flex-wrap: wrap;
    }

    .route__row {
        gap: 15px;
    }

    .route__row-group {
        width: calc((100% - 15px) / 2);
    }


    .filter__row {
        flex-direction: column;
        gap: 30px;
        /* overflow: hidden; */
    }

    .filter__input {
        /* flex: unset; */
        max-width: 100%;
        /* -webkit-appearance: none;
        appearance: none;
        max-width: 100%; */
    }

    /* .filter__input::-webkit-date-and-time-value {
        text-align: left;
    }
      
    .filter__input::-webkit-inner-spin-button,
    .filter__input::-webkit-calendar-picker-indicator {
        margin: 0;
    }     */
    
    .booking__tabs-group {
		width: calc((100% - 32px) / 2);
	}

	.product__overlay {
		padding: 12px;
	}  

    .route {
        gap: 20px;
    }
    
    .route__bottom-content {
        font-size: 16px;
    }

    .cart-content__cart-wrapper {
        gap: 20px;
    }

}   

@media only screen and (max-width: 480px) { 
    .header__logo {
        padding-right: 15px;
        width: 90px;
    }

    .header__box {
        padding: 12px 0 12px 15px;
    }

    .header__links-elem {
        padding-right: 15px;
        padding-left: 15px;
    }

    .header-btn__title {
        display: none;
    }
   

    .section--booking {
        padding-top: 40px;
        padding-bottom: 55px;
    }

    .container-fluid {
        padding: 0 16px;
    }    

    .container {
        padding: 0 16px;
    } 
    
    .footer {
        gap: 50px;
        padding-bottom: 100px;
    }

    .footer__info-link--phone {
        font-size: 24px;
    }

    .go-top {
        width: 60px;
        height: 60px;
        bottom: 30px;
        right: -90px;
    }
    
    .go-top--show {
        right: 30px;
    }

    .page-title {
        font-size: 32px;
        margin-bottom: 16px;
    }

    .filter__btn {
        width: 100%;
    }

    .route {
        padding: 15px 10px;
    }

    .route__title {
        font-size: 12px;
    }

    .route__time {
        font-size: 26px;
    }

    .route__line-title {
        font-size: 10px;
        padding: 2px 8px;
    }

    .booking__tables {
		padding: 15px 10px;
	}

    .booking__tabs-group {
		width: 100%;
	}

	.product-modal__modal-header {
		padding: 20px;
	}

	.product-modal__modal-body {
		padding: 20px 20px;
	}

    .cart-content__cart {
        padding: 15px 10px;
    }


}

@media screen and (max-width: 479px) {
	.product {
		width: 100%;
	}

	.product-modal__attributes {
		gap: 15px;
	}

	.product-modal__list {
		flex-direction: column;
		gap: 5px;
	}

	.product-modal__list-title {
		width: 100%;
	}	

	.product-modal__list-value {
		flex: unset;
	}

    .route__bottom {
        flex-direction: column;
    }
    
    .border-vertical {
        display: none;
        /* border-left: 0;
        border-top: 1px solid #E4E4E7; */
    }

    .woocommerce form .form-row--half {
        width: 100%;
    }
}

@media only screen and (max-width: 375px) { 
    .page-title {
        font-size: 24px;
    }    

    .booking__hours-wrapper {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	}
   
    .mini-cart {
		max-width: calc(100% - 20px);
		right: 10px;
		bottom: 10px;
	}

    .cart-content__title {
        font-size: 20px;
    }
}

@media only screen and (max-width: 320px) { 
     
   
}
