#bf-wrapper {
	display: block !important;
	width: 100%;
	background-color: #f5c000;
	transition: all .4s ease !important;
	z-index: 100;
}
@media (min-width: 768px) {
	#bf-wrapper .container,
	#bf-wrapper .row,
	#bf-wrapper [class*=col] {
		padding: 0px;
	}
}

@media (max-width: 643px) {
	#bf-wrapper {
		display: none !important;
		visibility: hidden !important;
	}
}
section#section-bf {
	padding: 0 !important;
}
#bf-wrapper.notvisible {
	/*opacity: 0 !important;*/
	-webkit-transform: translateY(-100%) !important;
	-ms-transform: translateY(-100%) !important;
	transform: translateY(-100%) !important;
	transition: all .4s ease !important;
}
#head-bf {
	text-align: center;
	clear: both;
	position: relative;
	z-index: 100;
	color: #000;
	margin: 0;
	padding: 0;
	background: transparent;
}
#head-bf .ring {
	max-width: 33px;
}
#head-bf .mandatory{
	border:2px solid #f00;
}
#head-bf .form-inline .form-group {
	margin: 4px 4px;
}
#head-bf .form-inline .input-group {
    border-radius: 4px;
}
@media(min-width:768px){
	#head-bf .form-inline .form-control-dtp{
		max-width: 100px;
	}
	#head-bf .form-inline .form-group {
		padding: 0px 4px; 
		margin: 0px;
	}
}
#head-bf input {
	padding-left: 5px !important;
	padding-right: 5px !important;
}

#head-bf input::-webkit-input-placeholder { /* WebKit browsers */
	line-height: 1.5em;
	padding-left: 5px !important;
	padding-right: 5px !important;
}
#head-bf input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	line-height: 1.5em;
	padding-left: 5px !important;
	padding-right: 5px !important;
}
#head-bf input::-moz-placeholder { /* Mozilla Firefox 19+ */
	line-height: 1.5em;
	padding-left: 5px !important;
	padding-right: 5px !important;
}
#head-bf input:-ms-input-placeholder { /* Internet Explorer 10+ */
  	line-height: 1.5em;
	padding-left: 5px !important;
	padding-right: 5px !important;
}
#head-bf input.submit,
#head-bf input.submit:active,
#head-bf input.submit:focus,
#head-bf input.submit:visited{
	text-transform: uppercase;
	color: #fff!important;
	background-color: #DC3068!important;
	padding: 0px 25px !important;
	font-size: 16px;
	line-height: 23px;
	text-decoration: none !important;
	transition: all 0.5s ease;
	outline: 0 !important;
	border: 2px solid #DC3068!important;
	border-radius: 4px;
	font-weight: 500!important;
	cursor: pointer;
}
#head-bf input.submit:hover {
	background-color: #fff!important;
	color: #DC3068!important;
}
#head-bf .input-group-addon { 
	background: transparent;
	font-size: 16px;
	color: #000;
	border: none;
}
#head-bf input,
#head-bf select {
	-webkit-border-radius: 0;
	border-radius: 0;
	color: #000;
	height: 40px;
	background: #fff;
    border: none;
	padding: 5px 15px !important;
    border-radius: 4px;
}
.text-error{
	color:#ff0000;
}
.border-error{
	border:2px solid #ff0000;
}
@media(max-width:767px){
	.search-container{float:left;}
}
.form-control {
	/* padding: 6px 2px 6px 2px!important; */
	padding: 5px 12px !important;
}
#arrivo {
	min-width: 90px;
}
#adulti {
	min-width: 40px;
}

.error{
	margin-top:10px;
	margin-bottom:10px;
	padding:10px 20px;
	background-color:#F2DEDE;
}

/* [REQ] Required */
/*================*/

.hidden {
  display: none !important;
  visibility: hidden !important;
}

/* [FOR] Form */
/*============*/
#bfFusionForm{
	padding: 10px 0px;
}
#bfFusionForm .form-control{
	font-size: 13px !important;
}
/*
#bfFusionForm select.form-control {
	 max-width: 100px; 
}*/
#bfFusionForm .form-control[readonly]{
	cursor: pointer;
	background-color: #fff;
}

#bfFusionForm .input-group-addon {
	color: #555;
	text-align: center;
	background-color: #eee;
	border: 1px solid #ccc;
	border-left: none;
	border-radius: 0px;
	padding: 6px 8px;
}

#bfFusionForm .btn{
	width: auto !important;
	box-shadow: none !important;
}

#bfFusionForm .has-error .form-control[readonly] {
	cursor: pointer;
	background-color: #F04C3E;
}

#bfFusionForm .has-error .form-control[readonly]::-webkit-input-placeholder{
	color:#000;
}

/* [BCA] Bootstrap datepicker/calendar */
/*=====================================*/
.datepickerbutton{
	cursor:pointer;
}
.table-condensed .picker-switch{
	text-align:center;
}
.table-condensed:hover{
	cursor:pointer !important;
}
.table-condensed .disabled{
	color:#CCCCCC;
}
.table-condensed .active{
	background-color:#DC3068;
	color:#fff;
	border-radius:4px;
}
.table-condensed .today{
	border-bottom:1px solid #DC3068;
}
.date {
	background: #fff;
}
.date > input{
	cursor:pointer !important;
}
@media (min-width: 768px) {
	div .date{
		/* max-width: 145px; */
		float: left;
	}
}

/* [BOV] Bootstrap overrides */
/*===========================*/
.has-error .form-control{
	background-color:#F04C3E;
}
.form-group label{
	display: inline-block;
	font-weight: normal;
}
select{
	cursor:pointer;
}


/* [Stefano] Bootstrap overrides */
.form-group{
	margin: 0 10px!important;
}
.form-group:not(:last-child) {
    border-radius: 4px;
    background-color: #fff;
    padding:5px 10px!important;
}
.form-group label.label-style{
	color:#000;
	font-size: 16px;
	line-height: 1.2;
	display: block;
	text-align: left;
}
#head-bf input:not(.submit) {
    display: inline-block;
    max-width: 90%;
    box-shadow: none;
	padding: 0 !important;
	height: 40px;
}
#head-bf select{
	box-shadow: none;
	padding: 0 !important;
	text-align: left;
	width: 100%;
	height: 40px;
}
#head-bf .input-group-addon {
vertical-align: sub;
line-height: 1;
    display: inline-block;
}
#head-bf input.submit, #head-bf input.submit:active, #head-bf input.submit:focus, #head-bf input.submit:visited {
    padding: 19px 25px !important;
    height: auto!important;
}

/* css per pagine struttura e appartamenti */

.sidebar-booking-akai-style #head-bf .container{
padding: 0!important;
width: 100%!important;
}

.sidebar-booking-akai-style #head-bf .container{
padding: 0;
}

.sidebar-booking-akai-style #head-bf .form-inline .form-group {
    width: 100%;
    margin: 0 0 10px 0!important;
	border-bottom: 1px solid #ccc;
	border-radius: 0;
}
.sidebar-booking-akai-style #head-bf .form-inline .form-group:last-child {
    width: 100%;
    margin: 0!important;
	border: 0!important;
}
.sidebar-booking-akai-style #head-bf .form-inline .input-group {
    width: 100%;
}

.sidebar-booking-akai-style  #head-bf input.submit, #head-bf input.submit:active, #head-bf input.submit:focus, #head-bf input.submit:visited {
    padding: 10px 25px !important;
    margin-top:15px!important;
}

/* css per pagine struttura e appartamenti per sticky booking banner*/
.sidebar-wrapper.banner-top-position {
	position: absolute;
    width: max-content;
	top: -230px;
	left: 50%;
	transform: translateX(-50%);
    max-width: 1440px;
}
.sidebar-wrapper.banner-top-position .sidebar-sticky{
	min-height: auto;
}
.sidebar-wrapper.banner-top-position .sidebar-sticky .sidebar-booking-akai-style #head-bf .form-inline .form-group {
    width: auto!important;
	/*border: 0!important;*/
	margin: 0 10px!important;
}

.sidebar-wrapper.banner-top-position .sidebar-sticky .elementor-widget-heading{
	display: none;
}

@media only screen and (max-width: 1024px) {
	.sidebar-wrapper.banner-top-position {
		width: calc(100% - 40px);
		top: -250px;
		max-width: 1440px;
	}
}
@media only screen and (max-width: 768px) {
	.sidebar-wrapper.banner-top-position {
		top: -32vh;
		width: auto;

	}
}

/* [SB2026] Hero SimpleBooking layout */
#booking-form,
#booking-form * {
	box-sizing: border-box;
}

#booking-form {
	--bf-text: #151515;
	--bf-text-soft: #5f5c57;
	--bf-surface: rgba(255, 255, 255, 0.98);
	--bf-border: rgba(21, 21, 21, 0.12);
	--bf-accent: #cab06f;
	--bf-accent-hover: #b89d59;
	--bf-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
	--bf-layout-gap: 16px 18px;
	--bf-form-gap: 16px;
	--bf-benefits-gap: 10px 24px;
	--bf-container-padding: 22px 24px 24px;
	--bf-benefit-size: 15px;
	--bf-benefit-icon-size: 16px;
	--bf-label-size: 11px;
	--bf-label-top: 16px;
	--bf-field-height: 86px;
	--bf-field-padding-top: 36px;
	--bf-field-padding-side: 18px;
	--bf-field-padding-bottom: 16px;
	--bf-date-gap: 12px;
	--bf-date-stack-gap: 3px;
	--bf-value-size: 15px;
	--bf-date-size: 30px;
	--bf-month-size: 15px;
	--bf-meta-size: 12px;
	--bf-guests-size: 27px;
	--bf-icon-box: 16px;
	--bf-icon-arrow-size: 12px;
	--bf-button-height: 86px;
	--bf-button-padding-y: 18px;
	--bf-button-padding-x: 20px;
	--bf-button-font-size: 13px;
	--bf-footer-gap: 8px 14px;
	--bf-footer-size: 15px;
	--bf-quote-margin-top: 18px;
	--bf-panel-width: 420px;
	--bf-panel-min-width: 340px;
	--bf-panel-padding: 18px;
	--bf-panel-gap: 14px;
	--bf-panel-title-size: 13px;
	--bf-panel-text-size: 12px;
	--bf-panel-button-size: 11px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 270px);
	align-items: end;
	gap: var(--bf-layout-gap);
	width: min(100%, 1440px);
	margin: 0 auto;
	padding: var(--bf-container-padding);
	color: #fff;
	font-family: "Karla", sans-serif;
}

#booking-form .booking-form__benefits {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bf-benefits-gap);
}

#booking-form .booking-form__benefit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var(--bf-benefit-size);
	font-weight: 600;
	line-height: 1.2;
	text-shadow: 0 3px 12px rgba(0, 0, 0, 0.28);
}

#booking-form .booking-form__benefit i {
	font-size: var(--bf-benefit-icon-size);
	color: #fff;
}

#booking-form #sb-container,
#booking-form #sb-container .sb,
#booking-form #sb-container #sb-container_sb__form {
	width: 100%;
}

#booking-form #sb-container .sb {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

#booking-form #sb-container #sb-container_sb__form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--bf-form-gap);
}

#booking-form #sb-container .sb__dates {
	order: 1;
	display: flex;
	flex: 1 1 560px;
	gap: var(--bf-form-gap);
	min-width: 0;
}

#booking-form #sb-container .sb__dates > .sb__form-field {
	flex: 1 1 0;
	min-width: 0;
}

#booking-form #sb-container .sb__property {
	order: 2;
	flex: 0 1 255px;
	min-width: 220px;
}

#booking-form #sb-container .sb__guests-rooms {
	order: 3;
	flex: 0 1 160px;
	min-width: 140px;
	position: relative;
}

#booking-form #sb-container .sb__btn--verify {
	order: 4;
	flex: 0 1 270px;
	width: 100%;
}

#booking-form #sb-container .sb__footer {
	order: 5;
	flex: 1 1 100%;
	margin-top: 2px;
}

#booking-form #sb-container .sb__form-field {
	position: relative;
	width: 100%;
}

#booking-form #sb-container .sb__form-field-label {
	position: absolute;
	top: var(--bf-label-top);
	left: var(--bf-field-padding-side);
	z-index: 2;
	margin: 0;
	font-size: var(--bf-label-size);
	font-weight: 500;
	line-height: 1.2;
	color: var(--bf-text) !important;
	text-shadow: none;
	pointer-events: none;
}

#booking-form #sb-container .sb__form-field-input,
#booking-form .booking-form__rooms-trigger {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	min-height: var(--bf-field-height);
	padding: var(--bf-field-padding-top) var(--bf-field-padding-side) var(--bf-field-padding-bottom);
	background: var(--bf-surface) !important;
	border: 1px solid var(--bf-border) !important;
	border-radius: 0 !important;
	box-shadow: var(--bf-shadow) !important;
	color: var(--bf-text) !important;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

#booking-form #sb-container .sb__form-field-input:hover,
#booking-form #sb-container .sb__form-field-input:focus,
#booking-form #sb-container .sb__form-field-input:focus-within,
#booking-form .booking-form__rooms-trigger:hover,
#booking-form .booking-form__rooms-trigger:focus,
#booking-form .booking-form__rooms-trigger:focus-visible {
	border-color: var(--bf-accent) !important;
	box-shadow: 0 20px 36px rgba(0, 0, 0, 0.18) !important;
	outline: 0;
}

#booking-form #sb-container .sb__form-field-date-number,
#booking-form #sb-container .sb__form-field-property,
#booking-form .booking-form__rooms-value {
	display: block;
	font-size: var(--bf-value-size);
	font-weight: 700;
	line-height: 1.15;
	color: var(--bf-text) !important;
}

#booking-form #sb-container .sb__form-field-property,
#booking-form .booking-form__rooms-value {
	max-width: calc(100% - 30px);
	padding-right: 8px;
}

#booking-form #sb-container .sb__dates .sb__form-field-input {
	gap: var(--bf-date-gap);
}

#booking-form #sb-container .sb__dates .sb__form-field-date-number {
	flex: 0 0 auto;
	min-width: 2ch;
	font-size: var(--bf-date-size);
	line-height: 1;
}

#booking-form #sb-container .sb__form-field-date-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--bf-date-stack-gap);
	min-width: 0;
}

#booking-form #sb-container .sb__form-field-month-year,
#booking-form #sb-container .sb__form-field-weekday,
#booking-form #sb-container .sb__form-field-guests,
#booking-form #sb-container .sb__form-field-rooms {
	font-size: var(--bf-meta-size);
	line-height: 1.2;
}

#booking-form #sb-container .sb__form-field-month-year {
	font-size: var(--bf-month-size);
	font-weight: 700;
	color: var(--bf-text) !important;
	text-transform: capitalize;
}

#booking-form #sb-container .sb__form-field-weekday,
#booking-form #sb-container .sb__form-field-guests,
#booking-form #sb-container .sb__form-field-rooms {
	color: var(--bf-text-soft) !important;
	text-transform: capitalize;
}

#booking-form #sb-container .sb__form-field-icon,
#booking-form .booking-form__rooms-icon {
	margin-left: auto;
	flex: 0 0 auto;
	width: var(--bf-icon-box);
	height: var(--bf-icon-box);
}

#booking-form #sb-container .sb__form-field-icon svg {
	display: none;
}

#booking-form #sb-container .sb__form-field-icon::before,
#booking-form .booking-form__rooms-icon::before {
	content: "";
	display: block;
	width: var(--bf-icon-arrow-size);
	height: var(--bf-icon-arrow-size);
	border-right: 2px solid var(--bf-text);
	border-bottom: 2px solid var(--bf-text);
	transform: rotate(45deg);
	transform-origin: center;
}

#booking-form #sb-container .booking-form__proxy-ready .sb__form-field-input {
	display: none !important;
}

#booking-form .booking-form__rooms-trigger {
	cursor: pointer;
	text-align: left;
	font: inherit;
	appearance: none;
}

#booking-form #sb-container .sb__guests-rooms .sb__form-field-input {
	align-items: flex-end;
	padding-right: calc(var(--bf-field-padding-side) + 28px);
}

#booking-form #sb-container .sb__guests-rooms .sb__form-field-date-number {
	font-size: var(--bf-guests-size);
	line-height: 1;
}

#booking-form #sb-container .sb__guests-rooms .sb__form-field-date-wrapper {
	display: none;
}

#booking-form #sb-container .sb__guests-rooms .sb__form-field-icon {
	position: absolute;
	top: 50%;
	right: var(--bf-field-padding-side);
	transform: translateY(-50%);
	margin-left: 0;
}

#booking-form #sb-container .sb__btn--verify,
#booking-form #bfPreventivo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: var(--bf-button-height);
	padding: var(--bf-button-padding-y) var(--bf-button-padding-x);
	border: 1px solid transparent;
	border-radius: 0;
	font-family: "Karla", sans-serif;
	font-size: var(--bf-button-font-size);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	box-shadow: var(--bf-shadow);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

#booking-form #sb-container .sb__btn--verify {
	background: var(--bf-accent) !important;
	border-color: var(--bf-accent) !important;
	color: #fff !important;
}

#booking-form #bfPreventivo {
	align-self: self-start;
	background: var(--bf-surface);
	border-color: var(--bf-border);
	color: var(--bf-text);
	margin-top: var(--bf-quote-margin-top);
}

#booking-form #sb-container .sb__btn--verify:hover,
#booking-form #sb-container .sb__btn--verify:focus,
#booking-form #bfPreventivo:hover,
#booking-form #bfPreventivo:focus {
	transform: translateY(-1px);
	outline: 0;
}

#booking-form #sb-container .sb__btn--verify:hover,
#booking-form #sb-container .sb__btn--verify:focus {
	background: #0D154E !important;
	border-color: #0D154E !important;
	color: #fff !important;
}

#booking-form #bfPreventivo:hover,
#booking-form #bfPreventivo:focus {
	background: var(--bf-accent);
	border-color: var(--bf-accent);
	color: #fff;
}

#booking-form #sb-container .sb__footer-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bf-footer-gap);
	align-items: center;
	float:none;
}

#booking-form #sb-container .sb__footer-promo-wrapper,
#booking-form #sb-container .sb__footer-link {
	font-size: var(--bf-footer-size);
	line-height: 1.4;
	color: #fff !important;
	text-shadow: 0 3px 12px rgba(0, 0, 0, 0.28);
}

#booking-form #sb-container .sb__footer-link svg {
	display: none;
}

#booking-form #sb-container .sb__footer-link--promo-value {
	color: #fff;
}

#booking-form #sb-container .sb__guests {
	top: calc(100% + 10px);
	right: 0;
	left: auto !important;
	width: min(var(--bf-panel-width), calc(100vw - 32px)) !important;
	min-width: min(var(--bf-panel-min-width), calc(100vw - 32px)) !important;
	max-width: calc(100vw - 32px);
	padding: var(--bf-panel-padding);
	background: var(--bf-surface) !important;
	border: 1px solid var(--bf-border) !important;
	box-shadow: var(--bf-shadow) !important;
	color: var(--bf-text) !important;
}

#booking-form #sb-container .sb__guests [role="region"] {
	display: grid;
	gap: var(--bf-panel-gap);
}

#booking-form #sb-container .sb__guests-room {
	display: grid;
	gap: 12px;
}

#booking-form #sb-container .sb__guests-room-header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(21, 21, 21, 0.1);
}

#booking-form #sb-container .sb__guests-room-label {
	font-size: var(--bf-panel-title-size);
	font-weight: 700;
	line-height: 1.2;
	color: var(--bf-text) !important;
}

#booking-form #sb-container .sb__guests-room-header-divider {
	flex: 1 1 auto;
	height: 1px;
	background: rgba(21, 21, 21, 0.1);
}

#booking-form #sb-container .sb__guests-add-room {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 10px;
	border: 1px solid rgba(202, 176, 111, 0.35);
	background: rgba(202, 176, 111, 0.12) !important;
	box-shadow: none !important;
	color: var(--bf-accent) !important;
	font-size: var(--bf-panel-button-size);
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

#booking-form #sb-container .sb__guests-add-room:hover,
#booking-form #sb-container .sb__guests-add-room:focus {
	background: rgba(202, 176, 111, 0.2) !important;
	color: var(--bf-accent-hover) !important;
	outline: 0;
}
#booking-form #sb-container .sb__guests-add-room .icon {
	width: 20px!important;
	position: relative!important;
}
#booking-form #sb-container .sb__guests .sb__guests-adults,
#booking-form #sb-container .sb__guests .sb__guests-children {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
}

#booking-form #sb-container .sb__guests .sb__guests-adults-label,
#booking-form #sb-container .sb__guests .sb__guests-children-label {
	font-size: var(--bf-panel-text-size);
	font-weight: 600;
	line-height: 1.3;
	color: var(--bf-text) !important;
}

#booking-form #sb-container .sb__guests .sb__guests-counter {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}
/*
#booking-form #sb-container .sb__guests .sb__guests-counter svg,
#booking-form #sb-container .sb__guests .sb__guests-add-room svg {
	width: 18px;
	height: 18px;
	color: inherit !important;
}

#booking-form #sb-container .sb__guests .sb__guests-counter svg {
	padding: 3px;
	border: 1px solid rgba(202, 176, 111, 0.35);
	border-radius: 50%;
	background: #fff;
	color: var(--bf-accent) !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

#booking-form #sb-container .sb__guests .sb__guests-counter svg:hover,
#booking-form #sb-container .sb__guests .sb__guests-counter svg:focus {
	background: rgba(202, 176, 111, 0.12);
	border-color: var(--bf-accent);
	color: var(--bf-accent-hover) !important;
	outline: 0;
}
*/
#booking-form #sb-container .sb__guests .sb__guests-counter .sb__guests-counter--disabled {
	border-color: rgba(21, 21, 21, 0.12);
	color: rgba(95, 92, 87, 0.55) !important;
	opacity: 0.65;
	background: rgba(255, 255, 255, 0.7);
}

#booking-form #sb-container .sb__guests .sb__panel-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid rgba(21, 21, 21, 0.1);
}

#booking-form #sb-container .sb__guests .sb__btn {
	min-height: 38px;
	padding: 10px 14px;
	border: 1px solid transparent;
	box-shadow: none !important;
	font-size: var(--bf-panel-button-size);
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

#booking-form #sb-container .sb__guests .sb__btn--secondary {
	background: #fff !important;
	border-color: var(--bf-border) !important;
	color: var(--bf-text) !important;
}

#booking-form #sb-container .sb__guests .sb__btn--secondary:hover,
#booking-form #sb-container .sb__guests .sb__btn--secondary:focus {
	border-color: var(--bf-accent) !important;
	color: var(--bf-accent) !important;
	background: #fff !important;
	outline: 0;
}

#booking-form #sb-container .sb__guests .sb__btn--primary {
	background: var(--bf-accent) !important;
	border-color: var(--bf-accent) !important;
	color: #fff !important;
}

#booking-form #sb-container .sb__guests .sb__btn--primary:hover,
#booking-form #sb-container .sb__guests .sb__btn--primary:focus {
	background: var(--bf-accent-hover) !important;
	border-color: var(--bf-accent-hover) !important;
	color: #fff !important;
	outline: 0;
}

#booking-form #sb-container .sb__guests select {
	width: 100%;
	min-height: 38px;
	margin-top: 8px;
	padding: 0 12px;
	border: 1px solid var(--bf-border);
	background: #fff;
	color: var(--bf-text);
	font-size: var(--bf-panel-text-size);
}

#booking-form #sb-container .sb__calendar,
#booking-form #sb-container .sb__guests,
#booking-form #sb-container .sb__footer-promo {
	z-index: 999;
}

@media only screen and (max-width: 1350px) {
	#booking-form {
		--bf-layout-gap: 14px 16px;
		--bf-form-gap: 14px;
		--bf-benefits-gap: 8px 18px;
		--bf-container-padding: 20px 20px 22px;
		--bf-benefit-size: 11px;
		--bf-field-height: 82px;
		--bf-field-padding-top: 34px;
		--bf-field-padding-side: 16px;
		--bf-field-padding-bottom: 14px;
		--bf-value-size: 14px;
		--bf-date-size: 28px;
		--bf-month-size: 14px;
		--bf-meta-size: 11px;
		--bf-guests-size: 24px;
		--bf-button-height: 82px;
		--bf-button-padding-y: 16px;
		--bf-button-padding-x: 18px;
		--bf-button-font-size: 12px;
		--bf-footer-size: 10px;
		--bf-quote-margin-top: 0px;
		--bf-panel-width: 390px;
		--bf-panel-min-width: 320px;
		--bf-panel-padding: 16px;
		--bf-panel-gap: 12px;
		--bf-panel-title-size: 12px;
		--bf-panel-text-size: 11px;
		--bf-panel-button-size: 10px;
		grid-template-columns: minmax(0, 1fr);
	}

	#booking-form #bfPreventivo {
		max-width: 270px;
	}
}

@media only screen and (max-width: 1120px) {
	#booking-form {
		--bf-field-height: 78px;
		--bf-date-size: 26px;
		--bf-guests-size: 22px;
		--bf-button-height: 78px;
	}

	#booking-form #sb-container .sb__dates {
		flex: 1 1 100%;
	}

	#booking-form #sb-container .sb__property {
		flex: 1 1 240px;
	}

	#booking-form #sb-container .sb__guests-rooms {
		flex: 0 1 180px;
	}

	#booking-form #sb-container .sb__btn--verify,
	#booking-form #bfPreventivo {
		min-height: var(--bf-button-height);
	}
}

@media only screen and (max-width: 991px) {
	#booking-form {
		--bf-layout-gap: 12px;
		--bf-form-gap: 12px;
		--bf-benefits-gap: 8px 14px;
		--bf-container-padding: 14px 14px 18px;
		--bf-benefit-size: 15px;
		--bf-benefit-icon-size: 14px;
		--bf-label-size: 10px;
		--bf-label-top: 12px;
		--bf-field-height: 70px;
		--bf-field-padding-top: 28px;
		--bf-field-padding-side: 14px;
		--bf-field-padding-bottom: 12px;
		--bf-date-gap: 10px;
		--bf-date-stack-gap: 2px;
		--bf-value-size: 13px;
		--bf-date-size: 24px;
		--bf-month-size: 13px;
		--bf-meta-size: 11px;
		--bf-guests-size: 22px;
		--bf-icon-box: 14px;
		--bf-icon-arrow-size: 10px;
		--bf-button-height: 70px;
		--bf-button-padding-y: 14px;
		--bf-button-padding-x: 16px;
		--bf-button-font-size: 15px;
		--bf-footer-gap: 6px 10px;
		--bf-footer-size: 15px;
		--bf-panel-width: 100%;
		--bf-panel-min-width: 0px;
		--bf-panel-padding: 14px;
		--bf-panel-gap: 10px;
		--bf-panel-title-size: 11px;
		--bf-panel-text-size: 10px;
		--bf-panel-button-size: 10px;
	}

	#booking-form #sb-container #sb-container_sb__form,
	#booking-form #sb-container .sb__dates {
		flex-direction: column;
	}

	#booking-form #sb-container .sb__dates,
	#booking-form #sb-container .sb__property,
	#booking-form #sb-container .sb__guests-rooms,
	#booking-form #sb-container .sb__btn--verify,
	#booking-form #bfPreventivo {
		flex: 1 1 100%;
		min-width: 0;
		max-width: 100%;
		width: 100%;
		padding: 0 !important;
	}

	#booking-form #sb-container .sb__guests {
		right: 0;
		left: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100%;
	}

	#booking-form #sb-container .sb__guests .sb__panel-actions {
		flex-wrap: wrap;
	}

	#booking-form #sb-container .sb__guests .sb__panel-actions .sb__btn {
		flex: 1 1 100%;
	}
}

/* [RM2026] Fixed bottom SimpleBooking override */
@media only screen and (min-width: 1025px) {
	#fixed-bottom-booking-form #booking-form,
	#fixed-bottom-booking-form #booking-form * {
		box-sizing: border-box;
	}

	#fixed-bottom-booking-form #booking-form {
		--bf-text: #151515;
		--bf-text-soft: #5f5c57;
		--bf-surface: #ffffff;
		--bf-border: rgba(13, 21, 78, 0.16);
		--bf-accent: #0D154E;
		--bf-accent-hover: #cab06f;
		--bf-shadow: 0 12px 32px rgba(13, 21, 78, 0.18);
		--bf-layout-gap: 8px;
		--bf-form-gap: 8px;
		--bf-label-size: 10px;
		--bf-label-top: 8px;
		--bf-field-height: 58px;
		--bf-field-padding-top: 24px;
		--bf-field-padding-side: 12px;
		--bf-field-padding-bottom: 8px;
		--bf-date-gap: 8px;
		--bf-date-stack-gap: 0px;
		--bf-value-size: 13px;
		--bf-date-size: 22px;
		--bf-month-size: 12px;
		--bf-meta-size: 10px;
		--bf-guests-size: 20px;
		--bf-icon-box: 12px;
		--bf-icon-arrow-size: 8px;
		--bf-button-height: 58px;
		--bf-button-padding-y: 10px;
		--bf-button-padding-x: 14px;
		--bf-button-font-size: 12px;
		--bf-panel-width: 360px;
		--bf-panel-min-width: 320px;
		--bf-panel-padding: 14px;
		--bf-panel-gap: 10px;
		--bf-panel-title-size: 12px;
		--bf-panel-text-size: 11px;
		--bf-panel-button-size: 10px;
		position: fixed !important;
		right: auto !important;
		bottom: 15px !important;
		left: 50% !important;
		z-index: 99990;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(170px, 210px);
		align-items: stretch;
		gap: var(--bf-layout-gap);
		width: min(calc(100vw - 30px), 1180px);
		max-width: calc(100vw - 30px);
		margin: 0 !important;
		padding: 8px;
		transform: translateX(-50%);
		background: var(--bf-surface);
		border: 1px solid var(--bf-border);
		box-shadow: var(--bf-shadow);
		color: var(--bf-text);
		font-family: var(--font-family-primary, "Karla", sans-serif);
	}

	#fixed-bottom-booking-form #booking-form .booking-form__benefits,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__footer {
		display: none !important;
	}

	#fixed-bottom-booking-form #booking-form #sb-container,
	#fixed-bottom-booking-form #booking-form #sb-container .sb,
	#fixed-bottom-booking-form #booking-form #sb-container #sb-container_sb__form {
		width: 100%;
		height: 100%;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb {
		background: transparent !important;
		box-shadow: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#fixed-bottom-booking-form #booking-form #sb-container #sb-container_sb__form {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: var(--bf-form-gap);
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__dates {
		order: 1;
		display: flex;
		flex: 1 1 360px;
		gap: var(--bf-form-gap);
		min-width: 0;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__dates > .sb__form-field {
		flex: 1 1 0;
		min-width: 0;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__property {
		order: 2;
		flex: 0 1 155px;
		min-width: 130px;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__guests-rooms {
		order: 3;
		flex: 0 1 135px;
		min-width: 120px;
		position: relative;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__btn--verify {
		order: 4;
		flex: 0 1 170px;
		width: 100%;
		min-width: 150px;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-input,
	#fixed-bottom-booking-form #booking-form .booking-form__rooms-trigger {
		min-height: var(--bf-field-height);
		padding: var(--bf-field-padding-top) var(--bf-field-padding-side) var(--bf-field-padding-bottom);
		background: #fff !important;
		border: 1px solid var(--bf-border) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		color: var(--bf-text) !important;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-input:hover,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-input:focus,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-input:focus-within,
	#fixed-bottom-booking-form #booking-form .booking-form__rooms-trigger:hover,
	#fixed-bottom-booking-form #booking-form .booking-form__rooms-trigger:focus,
	#fixed-bottom-booking-form #booking-form .booking-form__rooms-trigger:focus-visible {
		border-color: var(--bf-accent) !important;
		box-shadow: none !important;
		transform: none;
		outline: 0;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-label {
		top: var(--bf-label-top);
		left: var(--bf-field-padding-side);
		font-size: var(--bf-label-size);
		font-weight: 700;
		line-height: 1.1;
		letter-spacing: 0 !important;
		text-transform: uppercase;
		color: var(--bf-text-soft) !important;
		text-shadow: none;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-date-number,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-property,
	#fixed-bottom-booking-form #booking-form .booking-form__rooms-value {
		font-size: var(--bf-value-size);
		font-weight: 700;
		line-height: 1.1;
		color: var(--bf-text) !important;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__dates .sb__form-field-date-number {
		font-size: var(--bf-date-size);
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-month-year {
		font-size: var(--bf-month-size);
		color: var(--bf-text) !important;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-weekday,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-guests,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-rooms {
		font-size: var(--bf-meta-size);
		color: var(--bf-text-soft) !important;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__form-field-icon::before,
	#fixed-bottom-booking-form #booking-form .booking-form__rooms-icon::before {
		border-color: var(--bf-text);
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__btn--verify,
	#fixed-bottom-booking-form #booking-form #bfPreventivo {
		min-height: var(--bf-button-height);
		padding: var(--bf-button-padding-y) var(--bf-button-padding-x);
		border-radius: 0;
		box-shadow: none !important;
		font-family: var(--font-family-buttons, var(--font-family-primary, "Karla", sans-serif));
		font-size: var(--bf-button-font-size);
		font-weight: 700;
		line-height: 1.15;
		letter-spacing: 0 !important;
		text-transform: uppercase;
		white-space: normal;
		transform: none;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__btn--verify {
		background: var(--bf-accent-hover) !important;
		border-color: var(--bf-accent-hover) !important;
		color: #fff !important;
		margin:0 !important;
	}

	#fixed-bottom-booking-form #booking-form #bfPreventivo {
		align-self: stretch;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: 0;
		margin: 0 !important;
		background: #fff;
		border: 1px solid var(--bf-border);
		color: var(--bf-accent);
		text-align: center;
		text-decoration: none !important;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__btn--verify:hover,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__btn--verify:focus {
		background: var(--bf-accent) !important;
		border-color: var(--bf-accent) !important;
		color: #fff !important;
		transform: none;
		outline: 0;
	}

	#fixed-bottom-booking-form #booking-form #bfPreventivo:hover,
	#fixed-bottom-booking-form #booking-form #bfPreventivo:focus {
		background: var(--bf-accent) !important;
		border-color: var(--bf-accent) !important;
		color: #fff !important;
		transform: none;
		outline: 0;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__calendar,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__guests,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__footer-promo {
		z-index: 99991;
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__calendar,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__guests,
	#fixed-bottom-booking-form #booking-form #sb-container .sb__footer-promo {
		top: auto !important;
		bottom: calc(100% + 8px);
	}

	#fixed-bottom-booking-form #booking-form #sb-container .sb__guests {
		right: 0;
		left: auto !important;
		width: min(var(--bf-panel-width), calc(100vw - 30px)) !important;
		min-width: min(var(--bf-panel-min-width), calc(100vw - 30px)) !important;
		max-width: calc(100vw - 30px);
		box-shadow: var(--bf-shadow) !important;
	}
}

@media only screen and (max-width: 1024px) {
	#fixed-bottom-booking-form #booking-form {
		display: none !important;
	}
}
 
