:root{
	--booking-c-object: var(--primary);
	--booking-c-package-lighter: #e2edf1;
	--booking-c-package: #a5dbf3;
	--booking-c-package-darker: #4d99be;

	--booking-c-error: #ff0000;
	--booking-c-success: #28af38;

	--w-price-wrapper: 200px;

	--booking-radius: 8px;
}

.f-secondary{font-family: var(--font_secondary);}

.c-object{color: var(--booking-c-object);}
.c-package{color: var(--booking-c-package);}
.c-package-darker{color: var(--booking-c-package-darker);}
.c-success{color: var(--booking-c-success);}





.booking-results{
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	font-size: 13px;
}
.booking-results .badge{
	letter-spacing: 0;
}
.booking-results .f-h3{
	font-size: 30px;
}
.booking-results .f-h5{
	font-size: 16px;
}
.booking-results .f-h6{
	font-size: 14px;
}
.booking-results .col-content .title{
	font-size: 16px;
	font-weight: 600;
	font-family: var(--font_secondary);
	text-transform: none;
}

.booking-results .items .btn-default{
	min-width: 0!important;
	letter-spacing: 1px;
	margin: 0!important;
	height: 36px;
	font-size: 11px;
	padding: 0 12px!important;
}
.booking-results .items .btn-default::before{
	display: none!important;
}
.booking-results .items .btn-default:hover{
	letter-spacing: 1px!important;
}

.booking-results .icon-items > div{
	display: flex;
	align-items: center;
	color: var(--gray-300);
	font-size: var(--f-size-xs);
	cursor: default;
}
.booking-results .icon-items > div i{
	margin-right: 3px;
	font-size: 14px;
}
.booking-results .icon-items > div span{
	line-height: 1;
}


.booking-results .badges-parameters-wrapper{padding-right: 105px;}
.booking-results .badge{text-transform: uppercase;font-weight: 500;border-radius: calc(var(--booking-radius) * 0.5);margin: 0 4px 4px 0;cursor:default;}
.booking-results .badge.object{background-color: var(--booking-c-object);}
.booking-results .badge.package{background-color: var(--booking-c-package);color: var(--dark);}
.booking-results .badge.transparent{padding-left: 0;padding-right: 0;}

.btn-default.btn-underline{
	background-color: transparent!important;
	border: 0;
	border-bottom: 1px solid var(--dark)!important;
	padding-left: 0!important;
	padding-right: 0!important;
	color: var(--dark)!important;
	display: inline-flex;
	align-items: center;
	font-size: var(--f-size-xs);
	font-weight: 600;
	letter-spacing: 0;
	border-radius: 0!important;
}
.btn-default.btn-underline i{
	font-size: var(--f-size-main);
	margin-right: 3px;
}

.label-text-active{display: none;}

.booking-results .btn-default.active .label-text-default{display: none;}
.booking-results .btn-default.active .label-text-active{display: inline-block;}
.booking-results .btn-default.active{
	background-color: transparent!important;
	border-color: var(--primary)!important;
	color: var(--dark)!important;
}



.booking-results .btn-default.package{
	border-color: var(--primary)!important;
	background-color: var(--primary)!important;
	color: #fff!important;
}
.booking-results .btn-default.package:hover{
	border-color: var(--primary-darker)!important;
	background-color: var(--primary-darker)!important;
	color: #fff!important;
}
.booking-results .btn-default.package.active{
	background-color: transparent!important;
	border-color: var(--primary)!important;
	color: var(--dark)!important;
}
.booking-results .btn-default.package.active:hover{
	border-color: var(--primary-darker)!important;
	background-color: var(--primary-darker)!important;
	color: #fff!important;
}

.booking-results .btn-default.add-to-cart{
	background-color: var(--primary)!important;
	border-color: var(--primary)!important;
	color: #fff!important;
	outline: none;
}
.booking-results .btn-default.add-to-cart:hover{
	background-color: var(--primary-darker)!important;
	border-color: var(--primary-darker)!important;
	color: #fff!important;
}


.booking-results .btn-default.active{
	color: var(--dark);
	background-color: transparent;
}
.booking-results .btn-default.active:hover{
	background-color: var(--primary);
	color: #fff;
	border-color: var(--primary);
}




.booking-results .btn-default.package.add-to-cart{
	outline: 1px solid var(--booking-c-package);
    border: 2px solid #fff;
}
.booking-results .btn-default.package.add-to-cart:hover{
	outline: 1px solid var(--booking-c-package-darker);
    border: 2px solid var(--booking-c-package-darker);
    color: #fff;
}







.page-booking{
	background-color: var(--light);
}


.booking-results .counter .button{
	width: 32px;
    min-width: 32px;
    height: 32px;
}
.booking-results .counter .button.dec{
    border-radius: calc(var(--booking-radius) * 0.5) 0 0 calc(var(--booking-radius) * 0.5);
}
.booking-results .counter .button.inc{
    border-radius: 0 calc(var(--booking-radius) * 0.5) calc(var(--booking-radius) * 0.5) 0;
}

.booking-results .counter input{
	width: 32px;
    min-width: 32px;
    height: 32px;
}

/* dropdowns */
.booking-results .dropdown-menu{
    padding: 0;
    width: 280px;
    font-size: var(--f-size-main);
    border: 0;
    border-radius: var(--booking-radius);
    background-color: transparent;
}
.booking-results .dropdown-menu-content{
	width: 100%;
    border-radius: var(--booking-radius);
    border: 1px solid var(--gray-100);
    box-shadow: 0 3px 15px -2px rgba(0, 0, 0, .2);
    background-color: #fff;
    animation: menuFadeUp .3s;
}
@keyframes menuFadeUp {
	0%   {transform: translateY(10px);opacity: 0;}
	100% {transform: translateY(0px);opacity: 1;}
}
.booking-results .dropdown-menu .section{
    padding: 5px;
    border-bottom: 1px solid var(--gray-100);
}
.booking-results .dropdown-menu .inner{
    padding: var(--size-xs);
}

.booking-results .dropdown-menu .num-item{
    width: 100%;
    height: 30px;
    position: relative;
    border: 1px solid var(--primary);
    cursor: pointer;
    transition: background-color .3s, color .3s;
    border-radius: calc(var(--booking-radius) * 0.5);
}
.booking-results .dropdown-menu input:checked ~ .num-item{
    background-color: var(--primary);
}
.booking-results .dropdown-menu .num-item span {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 20px;
    text-align: center;
    height: 20px;
    line-height: 20px;
    font-weight: 500;
    color: var(--primary);
    font-size: var(--f-size-xs);
}
.booking-results .dropdown-menu input:checked ~ .num-item span {
    color: #fff;
}
.booking-results .dropdown-menu .num-item{
    width: 100%;
    height: 36px;
    position: relative;
    border: 1px solid var(--primary);
    cursor: pointer;
    transition: background-color .3s, color .3s;
    border-radius: calc(var(--booking-radius) * 0.5);
}
.booking-results .dropdown-menu input:checked ~ .num-item{
    background-color: var(--primary);
}
.booking-results .dropdown-menu .num-item span {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 20px;
    text-align: center;
    height: 20px;
    line-height: 20px;
    font-weight: 500;
    color: var(--primary);
    font-size: var(--f-size-xs);
}
.booking-results .dropdown-menu input:checked ~ .num-item span {
    color: #fff;
}
.booking-results .dropdown-menu .num-item.remove {
    border-color: var(--primary);
    background-color: var(--primary);
    height: auto;
    padding: 8px;
    text-align: center;
    margin-top: 4px;
}
.booking-results .dropdown-menu .num-item.remove b {
    color: #fff;
    font-size: var(--f-size-xs);
    font-weight: 500;
}
.booking-results ._extrabed-wrapper .dropdown-menu {
    min-width: 180px;
    padding: 10px;
}
.booking-results ._extrabed-wrapper .dropdown-menu .section {
    padding: 0;
}
.booking-results ._extrabed-wrapper .dropdown-menu .handle-counter {
    margin: 0;
}
.booking-results ._extrabed-wrapper .dropdown-menu label{
    line-height: 1;
    width: 100%;
    display: block;
}
/* end */




.header-reservation-panel .hotel-doublepicker .dropdown-menu{
	width: 630px;
	left: 0!important;
	border: none!important;
	box-shadow: 0 3px 15px -2px rgba(0,0,0,.15);
}
.header-reservation-panel .hotel-doublepicker .datepicker__months:before{
	visibility: visible!important;
	display: block!important;
}
.header-reservation-panel .hotel-doublepicker .datepicker__month--month2{
	border-left: none;
}
.header-reservation-panel .hotel-doublepicker .datepicker__month-day{
	padding: 8px 6px 22px!important;
}

.datepicker__month-day .tl{width: 10px!important;height: 10px!important;}
.datepicker__month-day .br{width: 10px!important;height: 10px!important;}


.header-reservation-panel .section.inset-button .button.sm{
	min-width: 110px;
}
.header-reservation-panel .section.inset-button.hotel-doublepicker .button{
	flex-direction: row;
    justify-content: center;
    align-items: center;
}
.hotel-doublepicker .button .date-wrapper:first-child{
	margin-right: var(--size-xs);
}
.hotel-doublepicker .date-wrapper{
	display: flex;
	align-items: center;
}
.hotel-doublepicker .date-wrapper .daynum{
	font-size: var(--f-size-h2);
	line-height: 1;
	font-weight: 700;
	width: 42px;
	text-align: right;
	margin-right: var(--size-xs);
}
.hotel-doublepicker .date-wrapper .daytext{
	text-transform: uppercase;
	font-weight: 700;
	font-size: var(--f-size-sm);
	min-width: 77px;
}
.hotel-doublepicker .date-wrapper .month-year{
	text-transform: uppercase;
	font-size: var(--f-size-xs);
}

.header-reservation-panel .section.submit{border-radius: 0 var(--booking-radius) var(--booking-radius) 0;}
.header-reservation-panel .section:first-child{border-radius: var(--booking-radius) 0 0 var(--booking-radius);}
.header-reservation-panel .custom-dropdown .dropdown-menu{border-radius: var(--booking-radius);}








.hotel-doublepicker .date-wrapper{
	padding-top: 13px;
	position: relative;
}
.hotel-doublepicker .date-wrapper .label{
	position: absolute;
	top: 0;
	left: 0;
	font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-300);
    font-size: 8px;
}
.hotel-doublepicker .date-wrapper .daynum{
	font-size: 24px;
	text-align: left;
	width: 30px;
}
.hotel-doublepicker .date-wrapper .daytext{
	font-size: 9px;
	font-weight: normal;
	color: var(--gray-300);
	text-transform: initial;
	min-width: 68px;
}
.hotel-doublepicker .date-wrapper .month-year{
    text-transform: initial;
    font-size: var(--f-size-xs);
    font-weight: 600;
    line-height: 1;
}
.hotel-doublepicker .date-spacer{
    margin-right: var(--size-sm);
    color: var(--gray-300);
    width: 30px;
    min-width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.hotel-doublepicker .date-spacer svg{
	width: 22px;
	z-index: 3;
	position: relative;
}
.hotel-doublepicker .date-spacer::before{
	content: "";
	position: absolute;
	left: 15px;
	top: -15px;
	height: 60px;
	width: 1px;
	background-color: var(--gray-100);
	z-index: 1;
}
.hotel-doublepicker .date-spacer::after{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: var(--light);
	z-index: 2;
	border-radius: 50%;
}


.dropdown-menu.filter-list .dropdown-item{
	cursor: default;
}
.dropdown-menu.filter-list label{
	position: relative;
	display: block;
	cursor: pointer;
}
.dropdown-menu.filter-list input{
	position: absolute;
	top: -1px;
}
.dropdown-menu.filter-list .description{
	padding-left: 30px;
	user-select: none;
}

.selected-badges{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.selected-badges .spacer{
	border-left: 1px solid var(--gray-200);
    margin-left: var(--size-xs);
    letter-spacing: 0;
    padding: 0;
}
.selected-badges span{
	margin-left: var(--size-xs);
	white-space: nowrap;
}
.selected-badges span:first-child{
	margin-left: 0;
}







.booking-results .items .item{
	background-color: #fff;
	margin-bottom: var(--size-xs);
	box-shadow: 0px 5px 5px rgba(0, 0, 0, .03);
	transition: margin-bottom .3s;
	border-radius: var(--booking-radius);
}
.booking-results .items .item.active{
	margin-bottom: var(--size-sm);
}
.booking-results .items .item-main{
	padding: 12px;
	padding-right: 1rem;
}
.booking-results .items .item-main > .row{
	flex-wrap: nowrap;
}

.booking-results .fix-right-wrapper{
	width: var(--w-price-wrapper);
	padding-left: 1.5rem;
}
.booking-results .fix-right-wrapper.border-left{
	border-left: 2px dashed var(--gray-100);
}
.booking-results .fix-right-wrapper .btn-default{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	margin-top: 8px!important;
}

.booking-results .items .item [data-fs]{
	cursor: pointer;
}
.booking-results .items .item .media-wrapper{
	width: 280px;
	min-width: 280px;
	position: relative;
	padding-bottom: 70%;
	height: 0;
}
.booking-results .items .item-subitems > .room > .item-main .media-wrapper{
	width: 240px;
	min-width: 240px;
}
.booking-results .items .item .media-wrapper .swiper{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.booking-results .items .item .media-wrapper .swiper-slide{
	height: 100%;
}
.booking-results .items .item .media-wrapper .swiper-slide img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.booking-results .items .item .col-media .media-wrapper{
	border-radius: var(--booking-radius);
	overflow: hidden;
}
.booking-results .items .item .media-wrapper > div:first-child, .booking-results .items .item .media-wrapper > .img-wrapper{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.booking-results .items .item .media-wrapper img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.booking-results .items .item .media-wrapper .slider-arrow{
	width: 30px;
    height: 30px;
    border-radius: 30px;
    text-align: center;
    display: flex!important;
    align-items: center;
    background: #fff;
    box-shadow: 0px 5px 10px rgb(0, 0, 0, .08);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    cursor: pointer;
    justify-content: center;
	background-color: rgba(0,0,0,0.4);
	border: 0;
	z-index: 5;
}
.booking-results .items .item .media-wrapper .slider-arrow i{
	color: #fff;
	font-size: 18px;
}
.booking-results .items .item .media-wrapper .prev{
	left: var(--size-xs);
}
.booking-results .items .item .media-wrapper .next{
	right: var(--size-xs);
}
.booking-results .items .item .media-wrapper .slick-list{
	height: 100%;
}
.booking-results .items .item .media-wrapper .slick-track{
	height: 100%;
}
.booking-results .items .item .media-wrapper .slider{
	margin-bottom: 0;
}
.booking-results .items .item .media-wrapper .slider .slick-dots{
	position: absolute;
	left: var(--size-xs);
	right: var(--size-xs);
	bottom: var(--size-xs);
}
.booking-results .items .item .media-wrapper .slider .slick-dots li{
	width: 12px;
	height: 12px;
}
.booking-results .items .item .media-wrapper .slider .slick-dots li button{
	width: 12px;
	height: 12px;
}
.booking-results .items .item .media-wrapper .slider .slick-dots li button:before{
	width: 6px;
    height: 6px;
    border: 0;
    background-color: #fff;
    opacity: 0.5;
}
.booking-results .items .item .media-wrapper .slider .slick-dots li.slick-active button:before{
	opacity: 1;
}
.booking-results .items .item .media-wrapper .badges-wrapper{
	position: absolute;
	top: var(--size-xs);
	left: var(--size-xs);
	right: var(--size-xs);
	z-index: 1;
	pointer-events: none;
}
.booking-results .items .item .media-wrapper .badges-wrapper .badge{
	background-color: var(--primary);
	color: #fff;
}

.booking-results .col-content{
	display: flex;
	flex-direction: column;
	padding-top: var(--size-xs);
	padding-bottom: var(--size-xs);
}


.booking-results .col-content .parameters{
	position: absolute;
	top: 0;
	right: 0;
}


.booking-results .col-content .title{
	font-size: var(--f-size-h5);
	font-weight: 500;
	font-family: var(--font_secondary);
}


.booking-results .col-pricing .price-wrapper-block{
	height: 100%;
	border-left: 2px dashed var(--gray-100);
	display: flex;
	align-items: center;
}
.booking-results .col-pricing .price-wrapper-block > div{
	width: 100%;
}

.booking-results .col-pricing .price-wrapper{
	display: flex;
	align-items: center;
	justify-content: center;
}
.booking-results .price{
	font-family: var(--font_secondary);
}
.booking-results .col-pricing .price-wrapper i{
	color: var(--gray-200);
	margin-right: var(--size-xs);
}
.booking-results .col-pricing .price-original{
	font-family: var(--font_secondary);
	text-align: center;
	text-decoration: line-through;
	color: var(--booking-c-error);
	margin-bottom: 4px;
}
.booking-results .col-pricing .price-info{
	text-align: center;
	margin-top: var(--size-xs);
	text-transform: uppercase;
	font-size: var(--f-size-xs);
	font-weight: 600;
}
.booking-results .col-pricing .btn-default{
	margin-top: var(--size-sm);
}






.booking-results .items .item-offers{
	padding: var(--size-xs) 0 var(--size-xs) 0;
	border-top: 2px solid var(--light);
	display: none;
}
.booking-results .items .room .item-offers{
	border-top: 0;
}

.booking-results .main-offers ._item{
	padding: var(--size-xs) 1.5rem;
	border-bottom: 1px solid var(--light);
}
.booking-results .main-offers ._item:last-child{
	border-bottom: 0;
}
.booking-results .main-offers ._item ._main .row{
	align-items: center;
}
.booking-results .main-offers ._item ._main .col{
	display: flex;
	align-items: center;
}
.booking-results .main-offers ._item ._main .shape{
	width: 15px;
	min-width: 15px;
	height: 15px;
	border-radius: 5px;
	background-color: var(--primary);
	margin-right: var(--size-xs);
}
.booking-results .main-offers ._item ._main ._title{
	font-family: var(--font_secondary);
	font-size: var(--f-size-h5);
	font-weight: 500;
}

.booking-results .main-offers ._item ._book_items_wrapper{
	padding-top: var(--size-xs);
	padding-bottom: 0;
	display: none;
}
.booking-results .room .main-offers ._item ._book_items_wrapper{
	padding-top: 0;
}
.booking-results .main-offers ._item ._book_items ._book{
	background-color: var(--light);
	padding: var(--size-xs) 0 var(--size-xs) var(--size-sm);
	margin-bottom: var(--size-xs);
	position: relative;
	border-radius: var(--booking-radius);
}
.booking-results .main-offers ._item ._book_items ._book:last-child{
	margin-bottom: 0;
}
.booking-results .main-offers ._item ._book_items ._book .row{
	align-items: center;
}
.booking-results .main-offers ._item ._book_items ._book .col-num .num{
	text-align: center;
	line-height: 1;
	font-weight: 700;
	font-size: var(--f-size-h6);
}
.booking-results .main-offers ._item ._book_items ._book .col-num ._label{
	margin: 0;
}

.booking-results .main-offers ._item ._book_items ._book ._adults-wrapper{
	display: flex;
	align-items: center;
}
.booking-results .main-offers ._item ._book_items ._book ._label{
	text-transform: uppercase;
	font-size: var(--f-size-xs);
	font-weight: 700;
	margin-right: var(--size-sm);
	line-height: 1;
}

.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .button{
	height: 32px;
    background-color: transparent;
    border: 1px solid var(--gray-300);
    line-height: 1;
    font-size: var(--f-size-xs);
    text-transform: uppercase;
    font-weight: 600;
    min-width: 90px;
    text-align: left;
    display: flex;
    align-items: center;
    padding: 0 var(--size-xs);
    border-radius: var(--booking-radius);
}
.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .button::after{
	margin-left: auto;
}
.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .dropdown{
	margin-right: calc(var(--size-xs) * 0.5);
}
.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .remove{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background-color: var(--primary);
	color: #fff;
}
.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .remove i{
	font-size: var(--f-size-h6);
	margin-right: 5px;
}
.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .remove b{
	font-weight: 500;
	font-size: var(--f-size-xs);
	line-height: 1;
}
.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .add-extrabed{
	height: 32px;
}
.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .add-extrabed.hidden{
	display: none;
}

.booking-results .main-offers ._item ._book_items ._book > .remove{
	position: absolute;
	top: 0;
	right: var(--size-xs);
	bottom: 0;
	margin: auto;
	font-size: 24px;
	height: 24px;
	width: 24px;
	line-height: 1;
	color: var(--gray-300);
	transition: color .3s;
	cursor: pointer;
}
.booking-results .main-offers ._item ._book_items ._book > .remove:hover{
	color: var(--dark);
}
.booking-results .main-offers ._item ._book_items ._book:first-child > .remove{
	display: none;
}



.booking-results .main-offers ._item ._book_summary{
	padding-top: var(--size-xs);
}
.booking-results .main-offers ._item ._book_summary .row{
	align-items: center;
}
.booking-results .main-offers ._item ._book_summary .price{
	width: 130px;
}
.booking-results .main-offers ._item ._book_summary ._info{
	margin-left: auto;
	font-size: var(--f-size-xs);
	text-align: right;
	text-transform: uppercase;
}
.booking-results .main-offers ._item ._book_summary ._info b{
	font-weight: 400;
}
.booking-results .main-offers ._item ._book_summary ._info i{
	font-style: normal;
}
.booking-results .main-offers ._item ._book_summary ._info span{
	font-weight: 700;
}

.booking-results .item-subitems:not(.rooms){
	border-top: 2px solid var(--booking-c-package-lighter);
	margin-top: var(--size-xs);
}
.booking-results .items .item-subitems > .room > .item-main .media-wrapper{
	width: 240px!important;
	min-width: 240px!important;
	padding-bottom: 85%;
	height: 0;
	position: relative;
}
.booking-results .items .item-subitems .price .f-h3{
	font-size: 24px;
}
.booking-results .items .item-subitems .col-pricing .price-info{
	font-size: 11px;
}
.booking-results .items .item-subitems .col-content .title{
	font-size: 15px;
}

.booking-results .item-subitems > .package,.booking-results .item-subitems > .room{
	padding: var(--size-xs) 0 var(--size-xs) var(--size-xs);
	border-bottom: 1px solid  var(--gray-100);
}
.booking-results .item-subitems > .package:last-child,.booking-results .item-subitems > .room:last-child{
	border-bottom: 0;
	padding-bottom: 0;
}


.booking-results .package .main-offers ._item{
	padding-top: 0;
	padding-bottom: 0;
}
.booking-results .package .main-offers ._item ._book_items_wrapper{
	padding-top: var(--size-sm);
    padding-bottom: var(--size-xs);
}


.booking-results .items .package .item-main, .booking-results .items .room .item-main{
	padding-bottom: 0;
}



.booking-results [data-bs-toggle="modal"]{cursor: pointer;}
.booking-results .modal .modal-header{padding: 0;}
.booking-results .modal .modal-body{padding: var(--size-md);}
.booking-results .items .item .modal .media-wrapper{
	width: 100%!important;
	min-width: 100%!important;
	height: auto;
	max-height: none;
	overflow: hidden;
	padding-bottom: 0;
}
.booking-results .items .item .modal .media-wrapper .swiper{
	position: relative;
	width: 100%;
}
.booking-results .items .item .modal .media-wrapper .swiper-wrapper{
	height: auto;
}
.booking-results .items .item .modal .media-wrapper .swiper-slide{
	width: 100%!important;
	height: auto;
}
.booking-results .items .item .modal .media-wrapper img{
	width: 100%;
	height: auto;
	max-height: 450px;
	object-fit: cover;
}

.booking-results .modal hr{
	border-color: var(--gray-100);
	opacity: 1;
}
.booking-results .modal .card{
	border-radius: var(--booking-radius);
	border-color: var(--gray-100);
	margin-bottom: var(--size-sm);
	padding: 1.25rem;
	box-shadow: 0px 3px 10px -3px rgba(0, 0, 0, .1);
}
.booking-results .modal .card:last-child{
	margin-bottom: 0;
}

.booking-results .modal .card.points div{
    position: relative;
    padding-left: 16px;
    display: flex;
    align-items: center;
    margin-bottom: 2px;
}
.booking-results .modal .card.points div:last-child{
	margin-bottom: 0;
}
.booking-results .modal .card.points div::before{
	content:"";
    width: 8px;
    min-width: 8px;
    height: 8px;
    border-radius: 3px;
    background-color: var(--primary);
    margin-right: var(--size-xs);
    position: absolute;
    top: 5px;
    left: 0;
    margin: auto;
}

.booking-results .items .item-subitems .modal .media-wrapper{padding-bottom: 0!important;height: auto!important;min-width: 100%!important;width: 100%!important;}

.booking-results .no-results .similar-item a{
	background-color: #fff;
	border-radius: var(--booking-radius);
	display: inline-block;
	padding: var(--size-xs);
}







@media (max-width: 1199.98px){

}

@media (max-width: 991.98px){
	:root{
		--w-price-wrapper: 180px;
	}

	.booking-results .price .f-h3{font-size: var(--f-size-h4);}
	.booking-results .fix-right-wrapper{padding-left: 1rem;}
	.booking-results .col-content .title{font-size: var(--f-size-h6);}
	.booking-results .col-content .longdesc{font-size: var(--f-size-sm);}
	.booking-results .items .item-main{padding-right: var(--size-sm);}
	.booking-results .items .item .media-wrapper{width: 200px;}
	.booking-results .main-offers ._item{padding: var(--size-xs) var(--size-sm);}
	.booking-results .items .item-subitems .media-wrapper{padding-bottom: 70%;}
	.booking-results .main-offers ._item ._book_items ._book{padding:var(--size-xs) 0 var(--size-xs) var(--size-xs);}
	.booking-results .main-offers ._item ._book_items ._book ._label{margin-right: var(--size-xs);}
	.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper .button{min-width: 86px;}
	.booking-results ._book .price{font-size: var(--f-size-h5);}
	.booking-results ._book_summary .price{font-size: var(--f-size-h5);}
	.booking-results .main-offers ._item ._book_summary .price{width: 110px;}
	.booking-results .main-offers ._item ._book_items ._book > .remove{font-size: 18px;height: 18px;width: 18px;}
}

@media (max-width: 767.98px){
	:root{
		--w-price-wrapper: 150px;
	}

	.booking-results .btn-default{padding-left: var(--size-xs);padding-right: var(--size-xs);}

	.booking-results .items .item .media-wrapper{width: 150px;padding-bottom: 75%;}

	.booking-results .price .f-h3{font-size: var(--f-size-h5);}
	.booking-results .main-offers ._item ._book_summary .price{width: 100%;}
	.booking-results .package .main-offers ._item ._book_summary{padding-top: var(--size-sm);}

	.booking-results .main-offers ._item ._book_items ._book{padding: var(--size-sm);}
	.booking-results .main-offers ._item ._book_items ._book .col-num{display: flex;}
	.booking-results .main-offers ._item ._book_items ._book .col-num *{font-size: var(--f-size-main)!important;line-height: 1;}
	.booking-results .main-offers ._item ._book_items ._book .col-num ._label{margin-left: 4px;}
	.booking-results .main-offers ._item ._book_items ._book ._adults-wrapper .counter{margin-left: auto;}
	.booking-results .main-offers ._item ._book_items ._book:not(.as-object) ._adults-wrapper{
		border-top: 2px solid #fff;
		padding-top: var(--size-xs);
	}
	.booking-results .package .main-offers ._item ._book_items ._book:not(.as-object) ._adults-wrapper{border-top: 0;padding-top: 0;}
	.booking-results .item-subitems.rooms .main-offers ._item ._book_items ._book:not(.as-object) ._adults-wrapper{border-top: 0;padding-top: 0;}

	.booking-results .main-offers ._item ._book_items ._book ._extrabed-wrapper ._label{width: 100%;margin-bottom: var(--size-xs);}
	.booking-results ._book .price{width: 100%;text-align: center;padding:0;border-top: 2px solid #fff;padding-top: var(--size-xs);text-align: right!important;}
	.booking-results .main-offers ._item ._book_items ._book > .remove{bottom: initial;top: 13px;right: var(--size-sm);}
	.booking-results .col-content .longdesc{font-size: var(--f-size-xs);}



	.header-reservation-panel .hotel-doublepicker .dropdown-menu{width: 630px;left: 0 !important;}



	.booking-results .items .item-main .col-pricing{width: 100%;display: flex;margin-top: var(--size-xs);}
	.booking-results .items .item-main .col-pricing .fix-right-wrapper{
		width: 100%;
		margin-left: auto;
		border:0;
		border-top: 2px dashed var(--gray-100);
		padding-left: 0;
		padding-top: var(--size-xs);

	}
	.booking-results .items .item-main .col-pricing .fix-right-wrapper .price-main-info{margin-left: auto;margin-right: var(--size-sm);}
	.booking-results .items .item-main .col-pricing .fix-right-wrapper > div{display: flex;align-items: center;}
	.booking-results .col-pricing .btn-default{margin-top: 0;}
	.booking-results .btn-default:not(.btn-underline):not(.add-to-cart){width: 134px;}
	.booking-results .btn-default.add-to-cart{width: 100%;text-align: center;}
	.booking-results .price .f-h3{font-size: 18px;line-height: 1;}
	.booking-results .col-pricing .price-original{text-align: right;font-size: var(--f-size-sm);}
	.booking-results .col-pricing .price-info{font-size: 10px;color: var(--gray-300);margin-top: 4px;text-align: right;}
	.booking-results .main-offers ._item ._main ._title{font-size: var(--f-size-main);}
	.booking-results ._book .price{font-size: var(--f-size-h6);}
	.booking-results .items .item-main{padding-right: var(--size-xs);}
	.booking-results .main-offers ._item{padding:var(--size-xs);}
}

@media (max-width: 620px){
	
}

@media (max-width: 575.98px){
	.badge{font-size: 10px;padding: 4px 8px;}

	.booking-results .main-offers ._item ._book_items ._book{padding: calc(var(--size-xs) + 2px) var(--size-xs);}
	.booking-results .main-offers ._item ._book_items ._book > .remove{top: 7px;right: var(--size-xs);}

	.booking-results .main-offers ._item ._book_summary ._info{font-size: 10px;text-transform: initial;}
	.booking-results .items .item .media-wrapper{width: 125px;}
	.booking-results .col-content .title{font-size: var(--f-size-h5);}

	.hotel-doublepicker .date-wrapper .daynum{width: 26px;}
	.hotel-doublepicker .date-wrapper .daytext{min-width: 62px;}
	.header-reservation-panel .section.inset-button.hotel-doublepicker .button{justify-content: left;}
	.header-reservation-panel .section.inset-button .button{padding-right: var(--size-sm);}
	.header-reservation-panel .section.inset-button .button .indicator{right: var(--size-sm);}
	.header-reservation-panel .section.section-filter{border-top: 1px solid var(--gray-100);}

	.selected-badges{text-align: left!important;justify-content: initial;}
	.selected-badges span.bold{width: 100%;margin-bottom: var(--size-xs);}
	.selected-badges span:not(.bold){background-color: var(--primary);color:#fff;padding: 4px 8px;font-size: 10px;margin: 0 4px 4px 0;border-radius: calc(var(--booking-radius) * 0.5);}
	.selected-badges .spacer{display: none;}

	.booking-results .items .item .media-wrapper .slider-arrow{display: none!important;}

	.booking-results .fix-right-wrapper .btn-default:not(.sm){padding-top:calc(var(--size-xs) + 4px);padding-bottom:calc(var(--size-xs) + 4px);}

	.header-reservation-panel .section.submit{border-radius: 0 0 var(--booking-radius) var(--booking-radius);}
	.header-reservation-panel .section:first-child{border-radius: var(--booking-radius) var(--booking-radius) 0 0;}
	.header-reservation-panel .section{border-left: 0;}

	.hotel-doublepicker .date-spacer::before{height: 50px;top: -10px;}

}

@media (max-width: 480px){
	.header-reservation-panel .hotel-doublepicker .dropdown-menu{width: 100%;}

	.hotel-doublepicker .date-wrapper{width: 50%;}

	.booking-results .items .item .media-wrapper{width: 100px;}
}

@media (max-width: 450px){
	.booking-results .items .item .col-media{width: 100%;}
	.booking-results .items .item .col-media .media-wrapper{width: 100%;padding-bottom: 56.25%;}

	.header-reservation-panel .section.inset-button .button .indicator{display: none;}
}


/* Storno terms collapsible section in package detail modal */
.storno-terms-section { margin-top: 1.5rem; border-top: 1px solid var(--gray-100, #eee); padding-top: 1rem; }
.storno-terms-toggle { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; padding: 0.5rem 0; font-size: var(--f-size-sm, 14px); font-weight: 500; color: var(--gray-400, #666); transition: color 0.2s; }
.storno-terms-toggle:hover { color: var(--dark, #333); }
.storno-terms-toggle i:first-child { font-size: 18px; }
.storno-chevron { margin-left: auto; transition: transform 0.2s; font-size: 14px; }
.storno-terms-section.open .storno-chevron { transform: rotate(180deg); }
.storno-terms-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; font-size: var(--f-size-sm, 13px); color: var(--gray-400, #666); line-height: 1.6; }
.storno-terms-section.open .storno-terms-content { max-height: 600px; padding-top: 0.75rem; }
.storno-terms-content p { margin-bottom: 0.5rem; }

/* Storno standalone modal (from package card) */
.modal.fade .modal-content.storno-modal-content { border-radius: 12px; overflow: hidden; }
.modal.fade .modal-content.storno-modal-content .modal-header { border-bottom: 1px solid #eee; padding: 16px 24px; }
.modal.fade .modal-content.storno-modal-content .modal-header h6 { margin: 0; font-weight: 600; font-size: 16px; }
.modal.fade .modal-content.storno-modal-content .modal-body { padding: 24px; font-size: 14px; line-height: 1.7; color: #444; }
.modal.fade .modal-content.storno-modal-content .modal-body p { margin-bottom: 0.75rem; }
.modal.fade .modal-content.storno-modal-content .modal-body a { color: var(--primary, #1a73e8); }


/* Package detail modal - limit image height */
.modal-package .modal-header .media-wrapper { max-height: 280px; overflow: hidden; }
.modal-package .modal-header .media-wrapper img { width: 100%; height: 280px; object-fit: cover; }

/* Hide duplicate price in summary when only 1 room */
.booking-results .single-room-price-hide { display: none; }


/* ============================================
   "V inom termíne" — Alternative Packages Section
   ============================================ */

.alternative-dates-wrapper {
	margin-top: var(--size-md, 32px);
	padding: var(--size-sm, 16px) 0;
}

/* List layout info line */
.alternative-list-info {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 4px;
}
.alternative-list-info span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.alternative-list-info i {
	font-size: 14px;
}

.alternative-dates-heading {
	font-size: var(--f-size-h4, 20px);
	font-weight: 600;
	font-family: var(--font_secondary, inherit);
	margin-bottom: var(--size-sm, 16px);
	color: var(--dark, #333);
}
.alternative-dates-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--size-sm, 16px);
}
.alternative-card {
	background-color: #fff;
	border-radius: var(--booking-radius, 8px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s, transform 0.15s;
}
.alternative-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}
.alternative-card-hidden {
	display: none;
}
.alternative-card-image {
	width: 100%;
	height: 160px;
	overflow: hidden;
}
.alternative-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.alternative-card-body {
	padding: var(--size-sm, 16px);
	display: flex;
	flex-direction: column;
	flex: 1;
}
.alternative-card-title {
	font-size: var(--f-size-h6, 16px);
	font-weight: 600;
	font-family: var(--font_secondary, inherit);
	margin-bottom: 8px;
	color: var(--dark, #333);
	line-height: 1.3;
}
.alternative-card-info {
	margin-bottom: 10px;
}
.alternative-card-info-item {
	display: flex;
	align-items: center;
	font-size: var(--f-size-xs, 12px);
	color: var(--gray-300, #999);
	margin-bottom: 4px;
	line-height: 1.4;
}
.alternative-card-info-item i {
	margin-right: 6px;
	font-size: 14px;
	color: var(--gray-300, #999);
}
.alternative-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
	margin-top: auto;
}
.alternative-card-endsell,
.alternative-card-minlos {
	font-size: var(--f-size-xs, 12px);
	color: var(--gray-400, #666);
	background-color: var(--light, #f5f5f5);
	padding: 3px 8px;
	border-radius: calc(var(--booking-radius, 8px) * 0.5);
	font-weight: 500;
}
.alternative-card-action {
	margin-top: auto;
}
.alternative-card-action .btn-alternative-dates {
	width: 100%;
	text-align: center;
	padding: 8px 16px;
	font-size: var(--f-size-sm, 13px);
	font-weight: 600;
	border-radius: var(--booking-radius, 8px);
	background-color: var(--primary, #1a73e8);
	color: #fff;
	border: 1px solid var(--primary, #1a73e8);
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}
.alternative-card-action .btn-alternative-dates:hover {
	background-color: var(--primary-darker, #1557b0);
	border-color: var(--primary-darker, #1557b0);
}
.alternative-dates-showmore {
	text-align: center;
	margin-top: var(--size-sm, 16px);
}
.alternative-dates-showmore .btn-show-more-alternatives {
	padding: 10px 32px;
	font-size: var(--f-size-sm, 13px);
	font-weight: 600;
	border-radius: var(--booking-radius, 8px);
	background-color: transparent;
	color: var(--dark, #333);
	border: 1px solid var(--gray-200, #ddd);
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}
.alternative-dates-showmore .btn-show-more-alternatives:hover {
	background-color: var(--light, #f5f5f5);
	border-color: var(--gray-300, #999);
}

/* Responsive — Alternative Packages */
@media (max-width: 991.98px) {
	.alternative-dates-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767.98px) {
	.alternative-dates-cards {
		grid-template-columns: 1fr;
	}
	.alternative-card-image {
		height: 140px;
	}
}
@media (max-width: 575.98px) {
	.alternative-dates-wrapper {
		margin-top: var(--size-sm, 16px);
	}
	.alternative-dates-heading {
		font-size: var(--f-size-h5, 18px);
	}
	.alternative-card-body {
		padding: var(--size-xs, 12px);
	}
}


/* ============================================
   "Alternatívne termíny" — Empty Results Section
   ============================================ */

.empty-results-alternatives-wrapper {
	margin-top: var(--size-md, 32px);
	padding: var(--size-sm, 16px) 0;
}
.empty-results-alternatives-heading {
	font-size: var(--f-size-h4, 20px);
	font-weight: 600;
	font-family: var(--font_secondary, inherit);
	margin-bottom: var(--size-xs, 12px);
	color: var(--dark, #333);
}
.empty-results-alternatives-message {
	margin-bottom: var(--size-sm, 16px);
	padding: var(--size-sm, 16px);
	background-color: #fff3cd;
	border-radius: var(--booking-radius, 8px);
	border: 1px solid #ffc107;
}
.empty-results-alternatives-message p {
	margin: 0 0 4px 0;
	font-size: var(--f-size-sm, 13px);
	color: #664d03;
	line-height: 1.5;
}
.empty-results-alternatives-message p:last-child {
	margin-bottom: 0;
}
.empty-results-alternatives-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--size-xs, 12px);
}
.empty-results-alt-card {
	background-color: #fff;
	border-radius: var(--booking-radius, 8px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	padding: var(--size-sm, 16px);
	cursor: pointer;
	transition: box-shadow 0.2s, transform 0.15s, border-color 0.2s;
	border: 1px solid var(--gray-100, #eee);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.empty-results-alt-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
	border-color: var(--primary, #1a73e8);
}
.empty-results-alt-card-date {
	display: flex;
	flex-direction: column;
}
.empty-results-alt-card-date .alt-card-day {
	font-size: var(--f-size-xs, 12px);
	color: var(--gray-300, #999);
	text-transform: capitalize;
	font-weight: 500;
}
.empty-results-alt-card-date .alt-card-checkin {
	font-size: var(--f-size-h6, 16px);
	font-weight: 600;
	color: var(--dark, #333);
}
.empty-results-alt-card-details {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: var(--f-size-xs, 12px);
	color: var(--gray-400, #666);
}
.empty-results-alt-card-details .alt-card-checkout {
	font-weight: 500;
}
.empty-results-alt-card-details .alt-card-nights {
	background-color: var(--light, #f5f5f5);
	padding: 2px 6px;
	border-radius: calc(var(--booking-radius, 8px) * 0.5);
	font-weight: 500;
}
.empty-results-alt-card-price {
	margin-top: auto;
	padding-top: 8px;
	border-top: 1px solid var(--gray-100, #eee);
}
.empty-results-alt-card-price span {
	font-size: var(--f-size-sm, 13px);
	font-weight: 600;
	color: var(--primary, #1a73e8);
}

/* Responsive — Empty Results Alternatives */
@media (max-width: 575.98px) {
	.empty-results-alternatives-wrapper {
		margin-top: var(--size-sm, 16px);
	}
	.empty-results-alternatives-heading {
		font-size: var(--f-size-h5, 18px);
	}
	.empty-results-alternatives-cards {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	.empty-results-alt-card {
		padding: var(--size-xs, 12px);
	}
}
@media (max-width: 400px) {
	.empty-results-alternatives-cards {
		grid-template-columns: 1fr;
	}
}


/* ============================================
   Calendar Modal — Package Available Dates
   ============================================ */

/* Body lock when modal is open */
.bcm-body-locked {
	overflow: hidden;
}

/* Overlay */
.bcm-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	padding: 20px;
}
.bcm-overlay.bcm-visible {
	opacity: 1;
}

/* Modal container */
.bcm-modal {
	background-color: #fff;
	border-radius: var(--booking-radius, 8px);
	width: 100%;
	max-width: 860px;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	transform: translateY(20px);
	transition: transform 0.3s ease;
}
.bcm-visible .bcm-modal {
	transform: translateY(0);
}

/* Header */
.bcm-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 16px 24px;
	border-bottom: 1px solid var(--gray-100, #eee);
}
.bcm-header-text {
	flex: 1;
	min-width: 0;
}
.bcm-title {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--font_secondary, inherit);
}
.bcm-subtitle {
	margin-top: 2px;
	font-size: 13px;
	color: var(--gray-400, #666);
	font-weight: 400;
}
.bcm-close {
	background: none;
	border: none;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: var(--gray-300, #999);
	padding: 0 4px;
	transition: color 0.2s;
}
.bcm-close:hover {
	color: var(--dark, #333);
}

/* Body */
.bcm-body {
	padding: 20px 24px;
}

/* Loading state */
.bcm-loading {
	text-align: center;
	padding: 40px 20px;
	color: var(--gray-300, #999);
	font-size: 14px;
}

/* Error state */
.bcm-error {
	text-align: center;
	padding: 40px 20px;
}
.bcm-error p {
	color: var(--booking-c-error, #ff0000);
	margin-bottom: 16px;
}
.bcm-retry {
	cursor: pointer;
}

/* Calendar wrapper with side arrows */
.bcm-calendar-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}
.bcm-calendar-wrapper .bcm-calendars {
	flex: 1;
	min-width: 0;
}

/* Navigation arrows on sides */
.bcm-nav-prev,
.bcm-nav-next {
	background: none;
	border: 1px solid var(--gray-100, #eee);
	border-radius: 50%;
	width: 36px;
	min-width: 36px;
	height: 36px;
	font-size: 20px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dark, #333);
	transition: background-color 0.2s, border-color 0.2s;
}
.bcm-nav-prev:hover,
.bcm-nav-next:hover {
	background-color: var(--light, #f5f5f5);
	border-color: var(--gray-200, #ddd);
}

/* Dual-month grid */
.bcm-calendars {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

/* Single month */
.bcm-month {
	min-width: 0;
}
.bcm-month-header {
	text-align: center;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 8px;
	color: var(--dark, #333);
}

/* Day names row */
.bcm-day-names {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
	margin-bottom: 4px;
}
.bcm-day-name {
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	color: var(--gray-300, #999);
	padding: 4px 0;
	text-transform: uppercase;
}

/* Days grid */
.bcm-days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}

/* Day cell */
.bcm-day {
	position: relative;
	text-align: center;
	padding: 6px 2px;
	min-height: 48px;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: background-color 0.15s, transform 0.1s;
}
.bcm-day-empty {
	pointer-events: none;
}
.bcm-day-num {
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	display: block;
}
.bcm-day-price {
	font-size: 9px;
	line-height: 1;
	margin-top: 3px;
	display: block;
	white-space: nowrap;
}

/* Available day (clickable check-in) */
.bcm-day-available {
	background-color: #e8f5e9;
	cursor: pointer;
	color: #2e7d32;
}
.bcm-day-available:hover {
	background-color: #c8e6c9;
	transform: scale(1.05);
}
.bcm-day-available .bcm-day-price {
	color: #388e3c;
}

/* Available but no check-in allowed */
.bcm-day-available-no-checkin {
	background-color: #f1f8e9;
	color: #558b2f;
	cursor: default;
}
.bcm-day-available-no-checkin .bcm-day-price {
	color: #689f38;
}

/* Unavailable day */
.bcm-day-unavailable {
	background-color: var(--light, #f5f5f5);
	color: var(--gray-200, #ccc);
	cursor: default;
}

/* Past day */
.bcm-day-past {
	background-color: transparent;
	color: var(--gray-200, #ccc);
	cursor: default;
}
.bcm-day-past:hover {
	transform: none;
}

/* Selected check-in */
.bcm-day-checkin {
	background-color: var(--primary, #1a73e8) !important;
	color: #fff !important;
	border-radius: 4px 0 0 4px;
}
.bcm-day-checkin .bcm-day-price {
	color: rgba(255, 255, 255, 0.8) !important;
}

/* Selected check-out */
.bcm-day-checkout {
	background-color: var(--primary, #1a73e8) !important;
	color: #fff !important;
	border-radius: 0 4px 4px 0;
}
.bcm-day-checkout .bcm-day-price {
	color: rgba(255, 255, 255, 0.8) !important;
}

/* Days in selected range */
.bcm-day-in-range {
	background-color: rgba(26, 115, 232, 0.15) !important;
	color: var(--primary, #1a73e8) !important;
	border-radius: 0;
}
.bcm-day-in-range .bcm-day-price {
	color: var(--primary, #1a73e8) !important;
}

/* Error feedback on day */
.bcm-day-error {
	background-color: #ffebee !important;
	color: var(--booking-c-error, #ff0000) !important;
	animation: bcm-shake 0.3s ease;
}
@keyframes bcm-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-3px); }
	75% { transform: translateX(3px); }
}

/* Footer */
.bcm-footer {
	padding: 16px 24px;
	border-top: 1px solid var(--gray-100, #eee);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.bcm-selection-info {
	font-size: 13px;
	color: var(--dark, #333);
}
.bcm-info-dates strong {
	font-weight: 600;
}
.bcm-error-text {
	color: var(--booking-c-error, #ff0000);
	font-size: 12px;
}
.bcm-confirm {
	background-color: var(--primary, #1a73e8);
	color: #fff;
	border: none;
	border-radius: var(--booking-radius, 8px);
	padding: 10px 24px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s, opacity 0.2s;
	white-space: nowrap;
}
.bcm-confirm:hover:not(:disabled) {
	background-color: var(--primary-darker, #1557b0);
}
.bcm-confirm:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Responsive — single column on mobile */
@media (max-width: 600px) {
	.bcm-modal {
		max-width: 100%;
		max-height: 95vh;
		border-radius: var(--booking-radius, 8px) var(--booking-radius, 8px) 0 0;
	}
	.bcm-calendars {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.bcm-body {
		padding: 16px;
	}
	.bcm-header {
		padding: 12px 16px;
	}
	.bcm-footer {
		padding: 12px 16px;
		flex-direction: column;
		align-items: stretch;
	}
	.bcm-confirm {
		width: 100%;
		text-align: center;
	}
	.bcm-day {
		min-height: 42px;
		padding: 4px 1px;
	}
	.bcm-day-price {
		font-size: 8px;
	}
	.bcm-nav-title {
		font-size: 12px;
	}
}


/* Mobile responsive fixes for booking page */
@media (max-width: 767.98px) {
	.booking-results .items .item {
		flex-wrap: wrap;
	}
	.booking-results .items .item-main > .row {
		flex-wrap: wrap !important;
	}
	.booking-results .items .item .col-media,
	.booking-results .items .item-main .col-media {
		width: 100% !important;
		flex: 0 0 100%;
		max-width: 100%;
	}
	.booking-results .items .item .col-media .media-wrapper,
	.booking-results .items .item-main .col-media .media-wrapper {
		width: 100% !important;
		min-width: 0 !important;
		padding-bottom: 45% !important;
	}
	.booking-results .items .item-subitems > .room > .item-main .media-wrapper {
		width: 100% !important;
		min-width: 0 !important;
		padding-bottom: 45% !important;
	}
	.booking-results .items .item-subitems > .room > .item-main > .row {
		flex-wrap: wrap !important;
	}
	.booking-results .items .item-subitems .col-media {
		width: 100% !important;
		flex: 0 0 100%;
		max-width: 100%;
	}
	.booking-results .items .item .col-content,
	.booking-results .items .item-main .col-content {
		width: 100%;
		flex: 0 0 100%;
		max-width: 100%;
		padding: var(--size-sm) 0 0;
	}
	.booking-results .items .item-main .col-pricing {
		width: 100%;
	}
	.header-reservation-panel {
		flex-wrap: wrap;
	}
	.header-reservation-panel .section {
		flex: 1 1 100%;
		border-left: 0;
		border-top: 1px solid var(--gray-100);
	}
	.header-reservation-panel .section:first-child {
		border-top: 0;
	}
	.header-reservation-panel .hotel-doublepicker .dropdown-menu {
		width: 100% !important;
		left: 0 !important;
		right: 0 !important;
	}
	.booking-results {
		overflow-x: hidden;
	}
	.alternative-dates-cards {
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
	}
	.alternative-card {
		min-width: 0 !important;
	}
	.empty-results-alternatives-cards {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
	}
}

@media (max-width: 480px) {
	.alternative-dates-cards {
		grid-template-columns: 1fr !important;
	}
	.empty-results-alternatives-cards {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.booking-results .items .item-main {
		padding: var(--size-xs);
	}
	.booking-results .items .item-package {
		padding: var(--size-xs);
	}
	.booking-results .main-offers ._item ._main {
		flex-wrap: wrap;
	}
	.booking-results .main-offers ._item ._main .col-media {
		width: 100%;
	}
	.booking-results .main-offers ._item ._main .col-media .media-wrapper {
		width: 100%;
		padding-bottom: 56.25%;
	}
}


/* Alternative dates section separation */
.alternative-dates-wrapper,
.empty-results-alternatives-wrapper,
#alternative-dates-section,
#empty-results-alternatives {
	margin-top: var(--size-lg, 60px);
	padding-top: var(--size-md, 30px);
}


/* Package detail modal responsive */
@media (max-width: 767.98px) {
	.modal-package .modal-header > div[style*="height:320px"] {
		height: 220px !important;
	}
	.modal-package .modal-header div[style*="width:90px"] {
		display: none !important;
	}
	.modal-package .modal-body div[style*="justify-content:space-between"] {
		flex-direction: column !important;
	}
	.modal-package .modal-body div[style*="justify-content:space-between"] > div[style*="text-align:right"] {
		text-align: left !important;
		display: flex;
		align-items: baseline;
		gap: 6px;
		margin-top: 4px;
	}
	.modal-package .modal-body .f-h3 {
		font-size: 20px !important;
	}
}


/* Show more button in alternative dates */
.btn-show-more-alternatives {
	border: 2px solid var(--primary) !important;
	color: var(--primary) !important;
	background: transparent !important;
}
.btn-show-more-alternatives:hover {
	background: var(--primary) !important;
	color: #fff !important;
}


/* Calendar modal responsive */
@media (max-width: 480px) {
	.bcm-modal {
		border-radius: 0;
		max-height: 100vh;
		margin: 0;
	}
	.bcm-overlay {
		padding: 0;
		align-items: stretch;
	}
	.bcm-header {
		padding: 16px;
	}
	.bcm-body {
		padding: 0 4px;
	}
	.bcm-day-price {
		font-size: 7px;
		white-space: normal;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.bcm-day {
		padding: 4px 1px;
		min-height: 42px;
	}
	.bcm-day-num {
		font-size: 12px;
	}
	.bcm-month-header h5 {
		font-size: 14px;
	}
	.bcm-footer {
		padding: 12px 16px;
		text-align: center;
	}
	.bcm-footer .bcm-confirm {
		width: 100%;
		display: block;
		margin: 0 auto;
	}
	.bcm-calendar-wrapper {
		padding: 0 !important;
	}
}


/* Alternative dates card button centered on mobile */
@media (max-width: 575.98px) {
	.alternative-card-action {
		text-align: center;
	}
	.alternative-card-action .btn-default {
		width: 100%;
	}
}


/* Booking "Rezervovať" button full width on mobile */
@media (max-width: 575.98px) {
	.booking-results .main-offers ._item .btn-default.add-to-cart {
		width: 100% !important;
		text-align: center;
	}
	.booking-results .items .item-subitems .price .f-h3 {
		font-size: 14px !important;
		font-weight: bold;
	}
}
