/*
Theme Name: Der Alpenwirt
Template: logistic69

	Gruen: #87bf45;

*/

/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-display: auto;
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/open-sans-v15-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('../fonts/open-sans-v15-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v15-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v15-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v15-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v15-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-display: auto;
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../fonts/open-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v15-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* alice-regular - latin */
@font-face {
  font-family: 'Alice';
  font-display: auto;
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/alice-v9-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Alice Regular'), local('Alice-Regular'),
       url('../fonts/alice-v9-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/alice-v9-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/alice-v9-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/alice-v9-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/alice-v9-latin-regular.svg#Alice') format('svg'); /* Legacy iOS */
}
/* euphoria-script-regular - latin */
@font-face {
  font-family: 'Euphoria Script';
  font-display: auto;
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/euphoria-script-v6-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Euphoria Script'), local('EuphoriaScript-Regular'),
       url('../fonts/euphoria-script-v6-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/euphoria-script-v6-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/euphoria-script-v6-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/euphoria-script-v6-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/euphoria-script-v6-latin-regular.svg#EuphoriaScript') format('svg'); /* Legacy iOS */
}

/* GENERAL STYLING
=================================================================================== */
body {
	color: #333;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
	font-weight: 300;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.3 !important;
	font-weight: normal;
}
h1, h2 {
	font-family: Alice !important;
	font-weight: 400 !important;
}
h6 {
	font-family: 'Euphoria Script' !important;
	font-weight: 400 !important;
}
p {
	color: #333;
	font-weight: 400 !important;
}
p:empty {
	margin-bottom: 0;
	padding-bottom: 0;
}
ul.sf-menu a,
div.sf-menu ul a {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
	font-size: 16px;
}
/* Headerleiste Social/Shop */
.mt-h-20 .mt-mt .mt-m-social-left {
	height: 0;
	padding: 0 !important;
}
/* FORMULAR + BUTTONS
=================================================================================== */
input[type="submit"]:disabled,
input[type="submit"]:disabled:hover {
	border: solid 1px #ccc;
	background-color: #ccc;
	color: #fff;
	cursor: default;
}
#resavio-form {
	color: #444;
}
#resavio-form input[type="submit"] {
	background-color: inherit !important;
	color: #87bf45 !important;
	border: 2px solid #87bf45 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	-webkit-transition: all 400ms ease-out !important;
	-moz-transition: all 400ms ease-out !important;
	-ms-transition: all 400ms ease-out !important;
	-o-transition: all 400ms ease-out !important;
	transition: all 400ms ease-out !important;
}
#resavio-form input[type="submit"]:hover {
	background-color: #87bf45 !important;
	color: #fff !important;
	border-color: #87bf45 !important;
}
#resavio-form .form-feld {
	float: left;
	margin-right: 14px;
}
#resavio-form .form-feld span {
	display: block;
	margin: 14px 0 8px 2px;
}

/* Seiten
=================================================================================== */
.mt_title_heading {
	display: none;
}
#mb-content {
	padding-bottom: 0;
	padding-top: 0;
}
.mt_article {
    margin-bottom: 0;
}
#pgc-2-2-0, #pgc-2-4-0, #pgc-2-5-0, #pgc-2-6-0 {
    margin-bottom: 0 !important;
}
/* OpenStreetMap: Kontakt */
.mapsmarker .lmm-panel {
	display: none;
}
.page-id-1867 #header-title {
	height: 280px;
	background-size: cover;
}

/* Media queries
------------------------------------------------------------------------------------ */
@media screen and (min-width: 800px) {
	.page-id-1867 #header-title {
		height: 868px;
	}
	.divider {
		clear: both;
		display: block;
		margin-bottom: 8px;
		padding-top: 8px;
		width: 100%;
	}
	.last {
		clear: right;
		margin-right: 0 !important;
	}
	.two-columns-one {
		width: 48.75%;
		float: left;
		margin-bottom: 0;
		margin-right: 2.5%;
		position: relative;
	}
}
@media (min-width:1200px) {
	.mt-m-frame .mt-mm {
		background-color: rgba(0, 0, 0, .5) !important;
	}
	/* Logo: Menu Mitte - beim scrollen Menu mit Logo zusammenziehen (.mt-down wird gesetzt) */
	.mt-m-frame .mt-mm .mt-m-col2 {
		width: 2.5%;
	}
}
@media (min-width:1400px) {
	.container {
		width: 1370px;
	}
}



/* Theme Style Customizer 
=================================================================================== */
.mt-footer-1{ background: #161616!important; } 
.mt-footer-1 { background-size: cover!important; } 		
.mt-footer-2  #sub-footer p, .mt-footer-2  #sub-footer{ color: #b5b5b5!important; } 
/*.mt-footer-2 { background-image:url('./uploads/2019/02/alpenchalet_footerholz.jpg')!important; } */
.scrollToTop{ background: #8c8c8c!important; }
.scrollToTop:hover{ background: #8ec64b!important; }
.scrollToTop{ color: #ffffff!important; }
.scrollToTop:hover{ color: #ffffff!important; } 

.mt-shortcode-separator.default, .mt_point { background: #7fa803; width: px!important; height: px!important}

.mt-m-small:hover,
.mt-search-1 i:hover { color: !important}

.mt-modal-menu ul a:hover{ color: #7fa803!important}

.mt_title_last_world, .entry-title a .mt_title_last_world, #header-title .mt-meta a:hover { color: #7fa803!important}

blockquote,
.mt_coust_box:hover,
.mt_coust_result:hover,
.mt_cost_mesage:hover { border-color:#7fa803!important; }


.mt-fixed-fix.mt-fixed.mt-down .mt-m-frame.mt-desctop .mt-mm img {  height:  60px!important; } 
.mt-h-5 .mt-m-frame.mt-desctop .mt-mm { border-bottom: 4px solid #7fa803!important; }

.menu_categories ul.menu li.current-menu-item a,
.menu_categories ul.menu li a:hover,
.menu_categories ul.menu li.current-menu-item li a:hover,
.mt_quote_style,
.menu_categories ul li a:hover { border-color: #7fa803!important; color: #7fa803!important;}

.mt_seperator_2 .mt-shortcode-separator.default,
.mt_seperator_3 .mt-shortcode-separator.default { border-color:#7fa803; }


.mt_footer_parallax_on.layout_style_border #footer_wrap,
.mt_header_parallax_on.layout_style_border .mt-header,
.layout_style_border .mt_wrap { border-color:; }


.mt-m-button a { background:!important;  }
.mt-h-10 .mt-m-phone-left i,
.mt-h-10 .mt-m-mail-left i { color:#7fa803; }
.mt-h-9 .mt-mm,
.mt-h-15 .mt-mm,
.mt-h-19 .mt-mm,
.mt-h-54 .mt-mm,
.mt-h-55 .mt-mm { border-color:#7fa803; }

.mt-h-49 ul.sf-menu li.current-cat > a, 
.mt-h-49 div.sf-menu ul li.current-cat > a, 
.mt-h-49 ul.sf-menu li.current-menu-item > a, 
.mt-h-49 div.sf-menu ul li.current-menu-item > a, 
.mt-h-49 ul.sf-menu li.current_page_item > a, 
.mt-h-49 div.sf-menu ul li.current_page_item > a, 
.mt-h-49 ul.sf-menu li.current-menu-ancestor > a, 
.mt-h-49 div.sf-menu ul li.current-menu-ancestor > a, 
.mt-h-49 ul.sf-menu li a:hover, 
.mt-h-49 div.sf-menu ul li a:hover,

.mt-h-39 ul.sf-menu li.current-cat > a, 
.mt-h-39 div.sf-menu ul li.current-cat > a, 
.mt-h-39 ul.sf-menu li.current-menu-item > a, 
.mt-h-39 div.sf-menu ul li.current-menu-item > a, 
.mt-h-39 ul.sf-menu li.current_page_item > a, 
.mt-h-39 div.sf-menu ul li.current_page_item > a, 
.mt-h-39 ul.sf-menu li.current-menu-ancestor > a, 
.mt-h-39 div.sf-menu ul li.current-menu-ancestor > a, 
.mt-h-39 ul.sf-menu li a:hover, 
.mt-h-39 div.sf-menu ul li a:hover{
 
	color:!important; 
}

.mt-h-52 ul.sf-menu li.current-cat > a, 
.mt-h-52 div.sf-menu ul li.current-cat > a, 
.mt-h-52 ul.sf-menu li.current-menu-item > a, 
.mt-h-52 div.sf-menu ul li.current-menu-item > a, 
.mt-h-52 ul.sf-menu li.current_page_item > a, 
.mt-h-52 div.sf-menu ul li.current_page_item > a, 
.mt-h-52 ul.sf-menu li.current-menu-ancestor > a, 
.mt-h-52 div.sf-menu ul li.current-menu-ancestor > a, 
.mt-h-52 ul.sf-menu li a:hover, 
.mt-h-52 div.sf-menu ul li a:hover,
.mt-h-11 ul.sf-menu li.current-cat > a, 
.mt-h-11 div.sf-menu ul li.current-cat > a, 
.mt-h-11 ul.sf-menu li.current-menu-item > a, 
.mt-h-11 div.sf-menu ul li.current-menu-item > a, 
.mt-h-11 ul.sf-menu li.current_page_item > a, 
.mt-h-11 div.sf-menu ul li.current_page_item > a, 
.mt-h-11 ul.sf-menu li.current-menu-ancestor > a, 
.mt-h-11 div.sf-menu ul li.current-menu-ancestor > a, 
.mt-h-11 ul.sf-menu li a:hover, 
.mt-h-11 div.sf-menu ul li a:hover,
.mt-h-12 ul.sf-menu li.current-cat > a, 
.mt-h-12 div.sf-menu ul li.current-cat > a, 
.mt-h-12 ul.sf-menu li.current-menu-item > a, 
.mt-h-12 div.sf-menu ul li.current-menu-item > a, 
.mt-h-12 ul.sf-menu li.current_page_item > a, 
.mt-h-12 div.sf-menu ul li.current_page_item > a, 
.mt-h-12 ul.sf-menu li.current-menu-ancestor > a, 
.mt-h-12 div.sf-menu ul li.current-menu-ancestor > a, 
.mt-h-12 ul.sf-menu li a:hover, 
.mt-h-12 div.sf-menu ul li a:hover,
.mt-h-25 ul.sf-menu li.current-cat > a, 
.mt-h-25 div.sf-menu ul li.current-cat > a, 
.mt-h-25 ul.sf-menu li.current-menu-item > a, 
.mt-h-25 div.sf-menu ul li.current-menu-item > a, 
.mt-h-25 ul.sf-menu li.current_page_item > a, 
.mt-h-25 div.sf-menu ul li.current_page_item > a, 
.mt-h-25 ul.sf-menu li.current-menu-ancestor > a, 
.mt-h-25 div.sf-menu ul li.current-menu-ancestor > a, 
.mt-h-25 ul.sf-menu li a:hover, 
.mt-h-25 div.sf-menu ul li a:hover,
.mt-h-2 ul.sf-menu li.current-cat > a, .mt-h-2 div.sf-menu ul li.current-cat > a, .mt-h-2 ul.sf-menu li.current-menu-item > a, .mt-h-2 div.sf-menu ul li.current-menu-item > a, .mt-h-2 ul.sf-menu li.current_page_item > a, .mt-h-2 div.sf-menu ul li.current_page_item > a, .mt-h-2 ul.sf-menu li.current-menu-ancestor > a, .mt-h-2 div.sf-menu ul li.current-menu-ancestor > a, .mt-h-2 ul.sf-menu li a:hover, .mt-h-2 div.sf-menu ul li a:hover{
 
	background:; color:#fff!important;
}

.mt-h-13 ul.sf-menu li.current-cat > a, 
.mt-h-13 div.sf-menu ul li.current-cat > a, 
.mt-h-13 ul.sf-menu li.current-menu-item > a, 
.mt-h-13 div.sf-menu ul li.current-menu-item > a, 
.mt-h-13 ul.sf-menu li.current_page_item > a, 
.mt-h-13 div.sf-menu ul li.current_page_item > a, 
.mt-h-13 ul.sf-menu li.current-menu-ancestor > a, 
.mt-h-13 div.sf-menu ul li.current-menu-ancestor > a, 
.mt-h-13 ul.sf-menu li a:hover, 
.mt-h-13 div.sf-menu ul li a:hover{
	border-color:!important;
}

.mt-h-38 ul.sf-menu li.current-cat > a, 
.mt-h-38 div.sf-menu ul li.current-cat > a, 
.mt-h-38 ul.sf-menu li.current-menu-item > a, 
.mt-h-38 div.sf-menu ul li.current-menu-item > a, 
.mt-h-38 ul.sf-menu li.current_page_item > a, 
.mt-h-38 div.sf-menu ul li.current_page_item > a, 
.mt-h-38 ul.sf-menu li.current-menu-ancestor > a, 
.mt-h-38 div.sf-menu ul li.current-menu-ancestor > a, 
.mt-h-38 ul.sf-menu li a:hover, 
.mt-h-38 div.sf-menu ul li a:hover{
	border-color:!important;
}

.mt-h-61 .mt-dark .mt-social li a:hover,
.mt-h-66 .mt-dark .mt-social li a:hover,
.mt-h-64 .mt-dark .mt-social li a:hover{
	color:#7fa803!important;
}

.mt-search-3:hover { color:#7fa803!important; }

.mt-search-post-frame:hover h4 { color:#7fa803!important; }
.mt-mobile-area ul li a:hover { color: #7fa803!important; }


.wpcf7-submit,
#mb-content .wpcf7-submit { background-color: #7fa803!important; } 

/* Woocommerce style */

.onsale { background-color: #7fa803!important; } 
span.current { color: #7fa803!important; } 

.mt-m-left-off .mt-g-light  ul.sf-menu li li a:hover,
.mt-m-left-off .mt-g-light  div.sf-menu ul li li a:hover,
.mt-m-left-off .mt-g-light  ul.sf-menu .mega-menu-4 li li a:hover,
.mt-m-left-off .mt-g-light  div.sf-menu .mega-menu-4 ul li li a:hover,
.mt-m-left-off .mt-g-dark  ul.sf-menu .mega-menu-4 li li a:hover,
.mt-m-left-off .mt-g-dark  div.sf-menu .mega-menu-4 ul li li a:hover,
.mt-m-left-off  ul.sf-menu .mega-menu-4 li li a:hover,
.mt-m-left-off  div.sf-menu .mega-menu-4 ul li li a:hover,

.mt-m-left-off .mt-g-light  ul.sf-menu .mega-menu-2 li li a:hover,
.mt-m-left-off .mt-g-light  div.sf-menu .mega-menu-2 ul li li a:hover,
.mt-m-left-off .mt-g-dark  ul.sf-menu .mega-menu-2 li li a:hover,
.mt-m-left-off .mt-g-dark  div.sf-menu .mega-menu-2 ul li li a:hover,
.mt-m-left-off  ul.sf-menu .mega-menu-2 li li a:hover,
.mt-m-left-off  div.sf-menu .mega-menu-2 ul li li a:hover,

.mt-m-left-off .mt-g-light  ul.sf-menu .mega-menu-3 li li a:hover,
.mt-m-left-off .mt-g-light  div.sf-menu .mega-menu-3 ul li li a:hover,
.mt-m-left-off .mt-g-dark  ul.sf-menu .mega-menu-3 li li a:hover,
.mt-m-left-off .mt-g-dark  div.sf-menu .mega-menu-3 ul li li a:hover,
.mt-m-left-off  ul.sf-menu .mega-menu-3 li li a:hover,
.mt-m-left-off  div.sf-menu .mega-menu-3 ul li li a:hover,

.mt-m-left-off .mt-g-light  ul.sf-menu .mega-menu-5 li li a:hover,
.mt-m-left-off .mt-g-light  div.sf-menu .mega-menu-5 ul li li a:hover,
.mt-m-left-off .mt-g-dark  ul.sf-menu .mega-menu-5 li li a:hover,
.mt-m-left-off .mt-g-dark  div.sf-menu .mega-menu-5 ul li li a:hover,
.mt-m-left-off  ul.sf-menu .mega-menu-5 li li a:hover,
.mt-m-left-off  div.sf-menu .mega-menu-5 ul li li a:hover,

.mt-m-left-off .mt-g-light  ul.sf-menu .mega-menu-6 li li a:hover,
.mt-m-left-off .mt-g-light  div.sf-menu .mega-menu-6 ul li li a:hover,
.mt-m-left-off .mt-g-dark  ul.sf-menu .mega-menu-6 li li a:hover,
.mt-m-left-off .mt-g-dark  div.sf-menu .mega-menu-6 ul li li a:hover,
.mt-m-left-off  ul.sf-menu .mega-menu-6 li li a:hover,
.mt-m-left-off  div.sf-menu .mega-menu-6 ul li li a:hover,

.mt-m-left-off .mt-g-dark  ul.sf-menu li a:hover,
.mt-m-left-off .mt-g-dark  div.sf-menu ul li a:hover { color:!important; }

.mt-m-left-off .mt-g-light ul.sf-menu li.current-cat > a, div.sf-menu ul li.current-cat > a,
.mt-m-left-off .mt-g-light ul.sf-menu li.current-menu-item > a, div.sf-menu ul li.current-menu-item > a,
.mt-m-left-off .mt-g-light ul.sf-menu li.current_page_item > a, div.sf-menu ul li.current_page_item > a,
.mt-m-left-off .mt-g-light ul.sf-menu li.current-menu-ancestor > a, div.sf-menu ul  li.current-menu-ancestor > a,
.mt-m-left-off .mt-g-light ul.sf-menu li a:hover, div.sf-menu ul li a:hover,
.mt-m-left-off .mt-g-light ul.sf-menu li.current-cat > .mt_button_link_frame a, div.sf-menu ul li.current-cat > .mt_button_link_frame a,
.mt-m-left-off .mt-g-light ul.sf-menu li.current-menu-item > .mt_button_link_frame a, div.sf-menu ul li.current-menu-item > .mt_button_link_frame a,
.mt-m-left-off .mt-g-light ul.sf-menu li.current_page_item > .mt_button_link_frame a, div.sf-menu ul li.current_page_item > .mt_button_link_frame a,
.mt-m-left-off .mt-g-light ul.sf-menu li.current-menu-ancestor > .mt_button_link_frame a, div.sf-menu ul  li.current-menu-ancestor > .mt_button_link_frame a,
.mt-m-left-off .mt-g-light ul.sf-menu li .mt_button_link_frame a:hover, div.sf-menu ul li a:hover { color:!important; }

.mt-m-left-off .mt-g-dark ul.sf-menu li.current-cat > a, div.sf-menu ul li.current-cat > a,
.mt-m-left-off .mt-g-dark ul.sf-menu li.current-menu-item > a, div.sf-menu ul li.current-menu-item > a,
.mt-m-left-off .mt-g-dark ul.sf-menu li.current_page_item > a, div.sf-menu ul li.current_page_item > a,
.mt-m-left-off .mt-g-dark ul.sf-menu li.current-menu-ancestor > a, div.sf-menu ul  li.current-menu-ancestor > a,
.mt-m-left-off .mt-g-dark ul.sf-menu li a:hover, div.sf-menu ul li a:hover,
.mt-m-left-off .mt-g-dark ul.sf-menu li.current-cat > .mt_button_link_frame a, div.sf-menu ul li.current-cat > .mt_button_link_frame a,
.mt-m-left-off .mt-g-dark ul.sf-menu li.current-menu-item > .mt_button_link_frame a, div.sf-menu ul li.current-menu-item > .mt_button_link_frame a,
.mt-m-left-off .mt-g-dark ul.sf-menu li.current_page_item > .mt_button_link_frame a, div.sf-menu ul li.current_page_item > .mt_button_link_frame a,
.mt-m-left-off .mt-g-dark ul.sf-menu li.current-menu-ancestor > .mt_button_link_frame a, div.sf-menu ul  li.current-menu-ancestor > .mt_button_link_frame a,
.mt-m-left-off .mt-g-dark ul.sf-menu li .mt_button_link_frame a:hover, div.sf-menu ul li a:hover { color:!important; }

.mt-m ul.sf-menu li li.current-cat > a, 
.mt-m div.sf-menu ul li li.current-cat > a, 
.mt-m ul.sf-menu li li.current-menu-item > a, 
.mt-m div.sf-menu ul li li.current-menu-item > a, 
.mt-m ul.sf-menu li li.current_page_item > a, 
.mt-m div.sf-menu ul li li.current_page_item > a, 
.mt-m ul.sf-menu li li.current-menu-ancestor > a, 
.mt-m div.sf-menu ul li li.current-menu-ancestor > a, 
.mt-m ul.sf-menu li li a:hover, 
.mt-m div.sf-menu ul li li a:hover,
.mt-m ul.sf-menu li li.current-cat > .mt_button_link_frame a, 
.mt-m div.sf-menu ul li li.current-cat > .mt_button_link_frame a, 
.mt-m ul.sf-menu li li.current-menu-item > .mt_button_link_frame a, 
.mt-m div.sf-menu ul li li.current-menu-item > .mt_button_link_frame a, 
.mt-m ul.sf-menu li li.current_page_item > .mt_button_link_frame a, 
.mt-m div.sf-menu ul li li.current_page_item > .mt_button_link_frame a, 
.mt-m ul.sf-menu li li.current-menu-ancestor > .mt_button_link_frame a, 
.mt-m div.sf-menu ul li li.current-menu-ancestor > .mt_button_link_frame a, 
.mt-m ul.sf-menu li li .mt_button_link_frame a:hover, 
.mt-m div.sf-menu ul li li .mt_button_link_frame a:hover{ color:!important;}

/* other style */

.cl-effect-11 a,
.cl-effect-11 a::before { border-top-color: #7fa803!important;  }


.cl-effect-10 a::before,
.cl-effect-13 a:hover,
.cl-effect-13 a:focus,
.cl-effect-17 a::before,
.cl-effect-21 a:hover,
.cl-effect-21 a:focus { color: #7fa803!important;  }

.cl-effect-13 a:hover::before,
.cl-effect-13 a:focus::before {
	color: #7fa803!important; 
	text-shadow: 10px 0 #7fa803 , -10px 0 #7fa803!important; 
}

.cl-effect-2 a:hover { color: white!important; }

.csstransforms3d .cl-effect-2 a span::before,
.cl-effect-6 a::before,
.cl-effect-6 a::after,
.cl-effect-7 a::before,
.cl-effect-7 a::after,
.cl-effect-9 a::before,
.cl-effect-9 a::after,
.cl-effect-14 a::before,
.cl-effect-14 a::after,
.cl-effect-17 a::after,
.cl-effect-18 a::before,
.cl-effect-18 a::after,
.cl-effect-19 a span,
.csstransforms3d .cl-effect-19 a span::before 
.cl-effect-19 a:hover span,
.cl-effect-19 a:focus span,
.csstransforms3d .cl-effect-19 a:hover span::before,
.csstransforms3d .cl-effect-19 a:focus span::before,
.cl-effect-21 a::before,
.cl-effect-21 a::after { background-color: #7fa803!important;  }


.mt_donation_button,
.mt_sc_post_in_2:hover {  background-color: #7fa803; }

	
#mb_home_button_home, #mb_home_button:hover,
ul.sf-menu li.current-cat > a, div.sf-menu ul li.current-cat > a,
ul.sf-menu li.current-menu-item > a, div.sf-menu ul li.current-menu-item > a,
ul.sf-menu li.current_page_item > a, div.sf-menu ul li.current_page_item > a,
ul.sf-menu li.current-menu-ancestor > a, div.sf-menu ul  li.current-menu-ancestor > a,
ul.sf-menu li a:hover, div.sf-menu ul li a:hover,
.single-post #nav ul li.blogbutton a,
.single-portfolio #nav ul li.portfoliobutton a,
.mt_style_header_2 .sf-menu ul li.current-cat > a, 
.mt_style_header_2 .sf-menu ul li.current_page_item > a, 
.mt_style_header_2 .sf-menu ul li.current-menu-item > a,
.mt_style_header_2 .sf-menu ul li a:hover,
.mt_style_header_2 .sf-menu ul li.current-menu-ancestor > a,
.mt_style_header_3 .sf-menu ul li.current-cat > a, 
.mt_style_header_3 .sf-menu ul li.current_page_item > a, 
.mt_style_header_3 .sf-menu ul li.current-menu-item > a,
.mt_style_header_3 .sf-menu ul li a:hover,
.mt_style_header_3 .sf-menu ul li.current-menu-ancestor > a{ 
	border-top-color: ;
	color: !important;
}

.mt_style_header_2 .sf-menu li.current-cat > a, 
.mt_style_header_2 .sf-menu li.current_page_item > a, 
.mt_style_header_2 .sf-menu li.current-menu-item > a,
.mt_style_header_2 .sf-menu li a:hover,
.mt_style_header_2 .sf-menu li.current-menu-ancestor > a{ 
	color: ;
	
} 

.mt_style_header_3 .sf-menu li.current-cat > a, 
.mt_style_header_3 .sf-menu li.current_page_item > a, 
.mt_style_header_3 .sf-menu li.current-menu-item > a,
.mt_style_header_3 .sf-menu li a:hover,
.mt_style_header_3 .sf-menu li.current-menu-ancestor > a{ 
	background-color: ;
	color: white!important
} 

ul.sf-menu li.current-cat > a, div.sf-menu ul li.current-cat > a,
ul.sf-menu li.current-menu-item > a, div.sf-menu ul li.current-menu-item > a,
ul.sf-menu li.current_page_item > a, div.sf-menu ul li.current_page_item > a,
ul.sf-menu li.current-menu-ancestor > a, div.sf-menu ul  li.current-menu-ancestor > a,
ul.sf-menu li a:hover, div.sf-menu ul li a:hover { border-color: !important;}

.mt-dark ul.sf-menu li.current-cat > a, div.sf-menu ul li.current-cat > a,
.mt-dark ul.sf-menu li.current-menu-item > a, div.sf-menu ul li.current-menu-item > a,
.mt-dark ul.sf-menu li.current_page_item > a, div.sf-menu ul li.current_page_item > a,
.mt-dark ul.sf-menu li.current-menu-ancestor > a, div.sf-menu ul  li.current-menu-ancestor > a,
.mt-dark ul.sf-menu li a:hover, div.sf-menu ul li a:hover { border-color: !important;}

ul.sf-menu li.current-cat > a, div.sf-menu ul li.current-cat > a,
ul.sf-menu li.current-menu-item > a, div.sf-menu ul li.current-menu-item > a,
ul.sf-menu li.current_page_item > a, div.sf-menu ul li.current_page_item > a,
ul.sf-menu li.current-menu-ancestor > a, div.sf-menu ul  li.current-menu-ancestor > a,
ul.sf-menu li a:hover, div.sf-menu ul li a:hover {color: !important;}


ul.sf-menu li.current-cat .mt_button_link_frame > a, 
div.sf-menu ul li.current-cat .mt_button_link_frame > a,
ul.sf-menu li.current-menu-item .mt_button_link_frame > a, 
div.sf-menu ul li.current-menu-item .mt_button_link_frame > a,
ul.sf-menu li.current_page_item .mt_button_link_frame > a, 
div.sf-menu ul li.current_page_item .mt_button_link_frame > a,
ul.sf-menu li.current-menu-ancestor .mt_button_link_frame > a, 
div.sf-menu ul  li.current-menu-ancestor .mt_button_link_frame > a,
ul.sf-menu li .mt_button_link_frame a:hover, div.sf-menu ul li .mt_button_link_frame a:hover {color: !important;}

.mt-dark ul.sf-menu li.current-cat .mt_button_link_frame > a, 
.mt-dark div.sf-menu ul li.current-cat .mt_button_link_frame > a,
.mt-dark ul.sf-menu li.current-menu-item .mt_button_link_frame > a, 
.mt-dark div.sf-menu ul li.current-menu-item .mt_button_link_frame > a,
.mt-dark ul.sf-menu li.current_page_item .mt_button_link_frame > a, 
.mt-dark div.sf-menu ul li.current_page_item .mt_button_link_frame > a,
.mt-dark ul.sf-menu li.current-menu-ancestor .mt_button_link_frame > a, 
.mt-dark div.sf-menu ul  li.current-menu-ancestor .mt_button_link_frame > a,
.mt-dark ul.sf-menu li .mt_button_link_frame a:hover, div.sf-menu ul li .mt_button_link_frame a:hover {color: !important;}


a:hover,
input:hover,
#full-page-home div div ul li a:hover, 
.menu_categories ul li ul li a:hover, 
#full-page-home div div ul li ul li a:hover,
.meta-date-blog a:hover, 
.meta-category-blog a:hover, 
.meta-author-blog a:hover, 
.meta-tags-blog a:hover, 
.meta-comment-blog a:hover,
.line-breadcrumb-ultra p a:hover,
.line-title-ultra p a:hover,
.comment-author.vcard a:hover,
#title-right-single a div:hover,
.reply a:hover,
.logged-in-as a:hover,
#post-link-button a:hover,
.homepage-blog-post-meta a:hover,
.search-input:hover,
ul#filter a:hover,
.portfolio_link:hover,
.more-link-2 a:hover, 
.more-diva-2 a:hover,
.entry-title a:hover,
ul#filterm li.current a,
ul#filterm li a:hover,
.menu_categories .current-cat a,
.menu_categories ul li a:hover,
.footer_widget_midle ul li a:hover,
p.price .amount { color: #7fa803!important; }


ul.sf-menu ul li.current-cat > a, div.sf-menu ul ul li.current-cat > a,
ul.sf-menu ul li.current_page_item > a, div.sf-menu ul ul li.current_page_item > a,
ul.sf-menu ul li.current-menu-item > a, div.sf-menu ul ul li.current-menu-item > a,
ul.sf-menu ul li.current-menu-ancestor > a, div.sf-menu ul ul li.current-menu-ancestor > a,
ul.sf-menu ul ul li.current-cat > a, div.sf-menu ul ul ul li.current-cat > a,
ul.sf-menu ul ul li.current-menu-item > a, div.sf-menu ul ul ul li.current-menu-item > a,
ul.sf-menu ul ul li.current_page_item > a, div.sf-menu ul ul ul li.current_page_item > a,
ul.sf-menu ul ul li.current-menu-ancestor > a, div.sf-menu ul ul ul li.current-menu-ancestor > a,
ul.sf-menu ul li a:hover, div.sf-menu ul ul li a:hover {
	border-bottom-color: #7fa803;
	color: !important;
}

.post-format-image, .post-format-image-quote, .post-format-image-video, .post-format-image-image, .post-format-image-link, .post-format-image-gallery,
.ewd_form input[type="submit"]:hover,
#tribe-bar-form .tribe-bar-submit input[type=submit],
.tribe-events-read-more:hover,
.tribe-events-nav-left a:hover,
.tribe-events-list .tribe-events-event-cost span,
.tribe-events-cost,
.tribe-events-back a:hover,
.tribe-events-nav-previous a:hover,
.tribe-events-nav-next a:hover,
.tribe-events-widget-link a:hover,
table.tribe-events-calendar th,
#easy_widget_form .easy-submit .easybutton,
#easyFrontendFormular .easy-button,
#showCalender td.calendar-cell.calendar-cell-empty,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.woocommerce-message a:hover,
.button.wc-forward:hover { 
	background-color: #7fa803!important; color:white!important;
}

.wpb_button:hover,
#mb-content .form-submit #submit,
.progress-striped .bar,
.grid figcaption a.mt-cpt-link {  background-color: #7fa803!important; }

.wpb_button:hover,
.mt_donation_button,
.more-link.mt-donate-link span,
.ewd_form input[type="submit"]:hover,
.grid figcaption a.mt-cpt-link,
#tribe-bar-form .tribe-bar-submit input[type=submit],
.tribe-events-read-more:hover,
.tribe-events-nav-left a:hover,
.tribe-events-back a:hover,
.tribe-events-nav-previous a:hover,
.tribe-events-nav-next a:hover,
.tribe-events-widget-link a:hover,
#tribe-events-content table.tribe-events-calendar,
#tribe-events-content .tribe-events-calendar td,
#easy_widget_form .easy-submit .easybutton,
#easyFrontendFormular input.easy-button {  border-color: #7fa803!important; }

.mt-scroll-top i,
#footer .mt-scroll-top p,
.mt-icon-normal,
ul.sf-menu .mt-hightlight-button.current-menu-item a:hover,
.mt-cpt-social i:hover,
#sub-footer a:hover,
.mt-social li a:hover,
.woocommerce-info a,
#header-title .woocommerce-breadcrumb a:hover,
#header-title #breadcrumb-style a:hover { color: #7fa803!important; }


.port-file-3 .more-link span:hover,
.entry-meta .more-link:hover span,
#mb-content .form-submit #submit:hover,
.more-link.mt-donate-link span:hover,
.wpcf7-submit:hover,
#mb-content .wpcf7-submit:hover,
.grid figcaption a.mt-cpt-link:hover,
.glass-title a:hover,
.glass-arrows:hover, 
.glass-arrows-right:hover, 
.glass-arrows-pause:hover, 
.glass-arrows-play:hover,
.nav-previous a:hover,
.nav-next a:hover,
.mt-shortcode-icon-text.mt-icon-hover:hover i { 
	color: #7fa803!important; 
	border-color: #7fa803!important; 
}
.mt-shortcode-icon-text.mt-icon-hover:hover i { background: white!important; }

.mt-m-phone2-right span { color: #7fa803!important; }
/*#header-title { background-image:url('./uploads/2018/12/alpenchalet-bayrischzell-hausberge.jpg')!important;}*/
#header-title { background-repeat:no-repeat!important;}#header-title { background-size:3000!important;}.nav li a strongs, #title-button, .nivo-caption-bg h1, .tp-simpleresponsive .caption, .mega_dropdown .post_title, .mt-blog-quote-text p, .mt_ptag, .mt-top-video-link, .mt_button_holder, 
        h1,h2,h3,h4,h5,h6,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a, .entry-title p, #tribe-bar-form label,.mt_mobile_header_select select {font-family: 'Lato', sans-serif;}ul.sf-menu a, div.sf-menu ul a, .mt-left-menu a, .mt-m-phone-right-2 {font-family: 'Lato', sans-serif;}body {font-family: 'Lato', sans-serif;}


h1 { font-size:48px!important; }
h2 { font-size:35px!important; }
h6 { font-size:30px!important; }
p { font-size:16px!important; } 


/* BUTTONS */

.port-file-3 .more-link span:hover,
.entry-meta .more-link span:hover,
#mb-content .form-submit #submit:hover,
.more-link.mt-donate-link span:hover,
.wpcf7-submit:hover,
#mb-content .wpcf7-submit:hover,
.grid figcaption a.mt-cpt-link:hover,
.glass-title a:hover,
.glass-arrows:hover, 
.glass-arrows-right:hover, 
.glass-arrows-pause:hover, 
.glass-arrows-play:hover,
.nav-previous a:hover,
.nav-next a:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.mt-shortcode-button:hover,
ul.sf-menu .mt-hightlight-button a:hover,
.woocommerce .button:hover,
.widget_shopping_cart_content .button:hover,
.woocommerce .button.checkout-button,
.added_to_cart:hover,
.menu_categories #searchform #searchsubmit,
.woocommerce .addresses a.edit:hover,
.mt-more-link:hover{  
	background-color: #7fa803!important;
	color: white!important; 
	border-color: #7fa803!important;
}

.port-file-3 .more-link span,
.entry-meta .more-link span,
#mb-content .form-submit #submit,
.more-link.mt-donate-link span,
.wpcf7-submit,
#mb-content .wpcf7-submit,
.grid figcaption a.mt-cpt-link,
.glass-title a,
.glass-arrows, 
.glass-arrows-right, 
.glass-arrows-pause, 
.glass-arrows-play,
.nav-previous a,
.nav-next a,
.single_add_to_cart_button,
.add_to_cart_button,
ul.sf-menu .mt-hightlight-button a,
.widget_shopping_cart_content .button,
.woocommerce .button,
.woocommerce .button.checkout-button:hover,
.added_to_cart,
.menu_categories #searchform #searchsubmit:hover,
.woocommerce .addresses a.edit,
.mt-more-link {  
	background-color:  inherit!important;
	color: #7fa803!important; 
	border-color: #7fa803!important;
}

.mt_logo_class{ padding-top:20px; padding-bottom:20px }


/* KONTAKTSEITE
=================================================================================== */
.alpenchalet-contact {
  padding: 70px 0 50px;
}
.ac-page-title {
  font-family: Alice, serif !important;
  font-size: 38px;
  color: #c8b99a;
  text-align: center;
  margin-bottom: 50px;
  font-weight: 400 !important;
}

/* Grid: Form links, Sidebar rechts */
.ac-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  max-width: 900px;
  margin: 0 auto;
  align-items: start;
}

/* Cards */
.ac-card {
  border: 1px solid rgba(200,185,154,.3);
  border-radius: 12px;
  padding: 36px;
  background: transparent;
}

/* Form-Card */
.ac-card-form {
  max-width: 420px;
}
.ac-card-title {
  font-family: Alice, serif !important;
  font-size: 26px;
  color: #c8b99a;
  margin-bottom: 6px;
  font-weight: 400 !important;
}
.ac-card-subtitle {
  font-size: 14px;
  color: #999;
  margin-bottom: 28px;
  line-height: 1.5;
}

/* Fields */
.ac-field {
  margin-bottom: 18px;
}
.ac-field input[type="text"],
.ac-field select {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid rgba(200,185,154,.4);
  border-radius: 50px;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  color: #ddd;
  background: rgba(255,255,255,.05);
  transition: border-color .25s, background .25s;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.ac-field input[type="text"]::placeholder {
  color: #888;
}
.ac-field input[type="text"]:focus,
.ac-field select:focus {
  outline: none;
  border-color: #c8b99a;
  background: rgba(255,255,255,.08);
}
.ac-field select,
#ac-contact-form select {
  cursor: pointer;
  color: #888 !important;
  background: rgba(255,255,255,.05) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px;
  border: 1px solid rgba(200,185,154,.4) !important;
  border-radius: 50px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}
.ac-field select option {
  background: #4a4540;
  color: #ddd;
  padding: 8px;
}

/* Captcha */
.ac-captcha-field {
  margin-top: 4px;
}
.ac-captcha-label {
  display: block;
  font-size: 13px;
  color: #c8b99a;
  margin-bottom: 8px;
  line-height: 1.5;
}
.ac-captcha-error {
  color: #e74c3c;
  font-size: 13px;
  margin-top: 8px;
}

/* Buttons */
.ac-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 14px 28px;
  border: none;
  border-radius: 50px;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .25s, transform .1s, box-shadow .25s;
  text-decoration: none;
  box-sizing: border-box;
  margin-top: 10px;
  letter-spacing: .3px;
}
.ac-btn:active {
  transform: scale(.97);
}
.ac-btn-whatsapp {
  background-color: #25D366;
  color: #fff;
  box-shadow: 0 4px 16px rgba(37,211,102,.25);
}
.ac-btn-whatsapp:hover {
  background-color: #1fb855;
  box-shadow: 0 6px 24px rgba(37,211,102,.35);
}
.ac-btn-email {
  background-color: #87bf45;
  color: #fff;
  box-shadow: 0 4px 16px rgba(135,191,69,.2);
}
.ac-btn-email:hover {
  background-color: #6a9a2e;
}

/* Sidebar Cards */
.ac-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ac-card-heading {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 12px;
  font-weight: 600 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 12px;
}
.ac-contact-name {
  font-size: 16px;
  color: #ccc;
  margin-bottom: 10px;
}

/* Phone row: number + WhatsApp icon */
.ac-phone-row {
  display: flex;
  align-items: center;
  gap: 14px;
}
.ac-phone-number {
  font-size: 17px;
  color: #ddd;
  text-decoration: none;
  font-weight: 400;
  letter-spacing: .3px;
  transition: color .2s;
}
.ac-phone-number:hover {
  color: #fff;
}
.ac-wa-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s;
}
.ac-wa-icon:hover {
  transform: scale(1.15);
}
.ac-wa-icon svg {
  display: block;
}

/* Anreise */
.ac-card-anreise p {
  color: #bbb;
  line-height: 1.8;
  font-size: 14px;
  margin-bottom: 14px;
}
.ac-hint {
  font-size: 13px;
  color: #888;
}
.ac-route-buttons {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}
.ac-route-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border: 1px solid rgba(200,185,154,.35);
  border-radius: 50px;
  color: #c8b99a;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  transition: background .2s, color .2s, border-color .2s;
}
.ac-route-btn:hover {
  background: rgba(200,185,154,.12);
  color: #ddd;
  border-color: rgba(200,185,154,.55);
}

/* Map */
.ac-map {
  line-height: 0;
  margin: 0 -15px;
  position: relative;
}
.ac-map iframe,
.ac-map .aweos-iframe iframe {
  display: block;
  width: 100%;
  filter: brightness(.7) contrast(1.1) sepia(.35) hue-rotate(-5deg) saturate(.6);
}
.ac-map .aweos-iframe {
  filter: brightness(.7) contrast(1.1) sepia(.35) hue-rotate(-5deg) saturate(.6);
}
.mt-padding-layout:has(.alpenchalet-contact) {
  padding-bottom: 0 !important;
}

/* Responsive: Kontaktseite */
@media screen and (max-width: 860px) {
  .ac-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 16px;
  }
  .ac-card-form {
    max-width: 100%;
  }
  .alpenchalet-contact {
    padding: 30px 0 20px;
  }
  .alpenchalet-contact .container {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    width: 100%;
  }
  .ac-page-title {
    font-size: 28px;
    margin-bottom: 24px;
    padding: 0 16px;
  }
  .ac-card {
    padding: 20px 16px;
    border-radius: 0;
    border-left: none;
    border-right: none;
  }
  .ac-card-form {
    border-radius: 0;
    padding: 24px 16px;
    border-left: none;
    border-right: none;
  }
  .ac-section {
    margin-left: 0;
    margin-right: 0;
  }
  .ac-anreise {
    padding: 0 16px;
  }
}

/* STICKY MOBILE BUTTON "Jetzt buchen"
=================================================================================== */
.ac-sticky-book {
  display: none;
}
@media screen and (max-width: 768px) {
  .ac-sticky-book {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    padding: 10px 16px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(22, 22, 22, .95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(200,185,154,.2);
  }
  .ac-sticky-book a {
    display: block;
    text-align: center;
    padding: 14px 24px;
    background: #87bf45;
    color: #fff !important;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    letter-spacing: .5px;
    box-shadow: 0 4px 16px rgba(135,191,69,.3);
    transition: background .2s;
  }
  .ac-sticky-book a:hover {
    background: #6a9a2e;
  }
  /* Extra bottom padding on body so footer isn't hidden behind sticky */
  body {
    padding-bottom: 70px;
  }
}

/* SWIPE SLIDER
=================================================================================== */
.ac-swiper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  user-select: none;
  -webkit-user-select: none;
}
.ac-swiper-track {
  display: flex;
  height: 100%;
  will-change: transform;
}
.ac-swiper-slide {
  flex: 0 0 100%;
  height: 100%;
}
.ac-swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.ac-swiper-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 2;
}
.ac-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  cursor: pointer;
  transition: background .2s;
}
.ac-dot-active {
  background: #fff;
}

/* UNTERKUNFT-AUSWAHL MODAL
=================================================================================== */
.ac-modal-choose {
  max-width: 480px;
}
.ac-choose-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ac-choose-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  border: 1px solid rgba(200,185,154,.2);
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
  background: rgba(255,255,255,.03);
}
.ac-choose-card:hover {
  border-color: rgba(200,185,154,.4);
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
.ac-choose-img {
  flex: 0 0 140px;
  overflow: hidden;
  position: relative;
}
.ac-choose-img img,
.ac-choose-img .n2-ss-slider {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ac-choose-info {
  flex: 1;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ac-choose-info h3 {
  font-family: Alice, serif !important;
  font-size: 18px;
  color: #c8b99a;
  margin: 0 0 4px;
  font-weight: 400 !important;
}
.ac-choose-info p {
  font-size: 13px;
  color: #999;
  margin: 0;
}
.ac-choose-badge {
  display: inline-block;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #c8b99a;
  background: rgba(200,185,154,.12);
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: .3px;
}
.ac-choose-inquiry {
  opacity: .85;
}
.ac-choose-inquiry:hover {
  opacity: 1;
}

@media screen and (max-width: 480px) {
  .ac-modal-choose {
    max-width: 100%;
  }
  .ac-choose-img {
    flex: 0 0 110px;
  }
  .ac-choose-info {
    padding: 12px 14px;
  }
  .ac-choose-info h3 {
    font-size: 16px;
  }
}

/* KONTAKT: WhatsApp select dunkle Schrift fixen */
#ac-contact-form select,
#ac-anliegen {
  color: #bbb !important;
}
#ac-contact-form select option {
  color: #ddd !important;
  background: #4a4540 !important;
}

/* BUCHUNGSSEITE
=================================================================================== */
.ac-booking-page {
  padding: 70px 0 40px;
}
.ac-booking-intro {
  text-align: center;
  color: #999;
  font-size: 15px;
  max-width: 600px;
  margin: -30px auto 50px;
  line-height: 1.6;
}
.ac-booking-intro a {
  color: #c8b99a;
  text-decoration: underline;
}

/* Price Stack: Vertical cards */
.ac-price-stack {
  max-width: 900px;
  margin: 0 auto 50px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* Price Card: Horizontal layout (image left, content right) */
.ac-price-card {
  display: flex;
  flex-direction: row;
  border: 1px solid rgba(200,185,154,.2);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,.03);
  transition: border-color .3s, box-shadow .3s;
}
.ac-price-card:hover {
  border-color: rgba(200,185,154,.4);
  box-shadow: 0 4px 24px rgba(0,0,0,.1);
}
.ac-price-featured {
  border-color: rgba(135,191,69,.3);
}

/* Card Slider */
.ac-price-slider {
  flex: 0 0 380px;
  position: relative;
  overflow: hidden;
  border-radius: 16px 0 0 16px;
}
.ac-price-slider .n2-ss-slider {
  border-radius: 0 !important;
}
.ac-price-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ac-price-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 10;
  background: rgba(135,191,69,.9);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 20px;
}

/* Card Content */
.ac-price-content {
  flex: 1;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
}

/* Header inside content */
.ac-price-header {
  margin-bottom: 16px;
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}
.ac-price-header h2 {
  font-family: Alice, serif !important;
  font-size: 26px;
  color: #c8b99a;
  margin: 0;
  font-weight: 400 !important;
}
.ac-price-amount {
  font-family: Alice, serif;
  font-size: 28px;
  color: #ddd;
}
.ac-price-amount span {
  font-size: 14px;
  color: #888;
}

/* Info Table */
.ac-info-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 8px;
  background: rgba(200,185,154,.06);
  border-radius: 10px;
  overflow: hidden;
}
.ac-info-table td {
  padding: 10px 14px;
  font-size: 13px;
  border-bottom: 1px solid rgba(200,185,154,.08);
  vertical-align: top;
}
.ac-info-table tr:last-child td {
  border-bottom: none;
}
.ac-info-table td:first-child {
  color: #999;
  width: 35%;
  font-weight: 500;
}
.ac-info-table td:last-child {
  color: #ccc;
}

/* Includes */
.ac-includes h4 {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #888;
  margin: 14px 0 8px;
}
.ac-includes ul {
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
}
.ac-includes ul li {
  padding-left: 14px;
  position: relative;
  font-size: 12px;
  color: #aaa;
}
.ac-includes ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #87bf45;
}

/* Terms */
.ac-terms {
  margin-top: auto;
  padding-top: 8px;
}
.ac-terms p {
  font-size: 11px;
  color: #777;
  margin-bottom: 2px;
  line-height: 1.5;
}
.ac-terms strong {
  color: #999;
}

/* CTA Button */
.ac-btn-cta {
  display: inline-block;
  margin-top: 16px;
  padding: 13px 36px;
  background: linear-gradient(135deg, #87bf45, #6a9a2e);
  color: #fff !important;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50px;
  text-align: center;
  transition: box-shadow .25s, transform .15s;
  box-shadow: 0 4px 16px rgba(135,191,69,.25);
  letter-spacing: .3px;
}
.ac-btn-cta:hover {
  box-shadow: 0 6px 24px rgba(135,191,69,.4);
  transform: translateY(-1px);
}

/* Auf Anfrage Card + Button */
.ac-price-inquiry {
  opacity: .9;
}
.ac-btn-inquiry {
  background: linear-gradient(135deg, #c8b99a, #a89670) !important;
  box-shadow: 0 4px 16px rgba(200,185,154,.2) !important;
}
.ac-btn-inquiry:hover {
  box-shadow: 0 6px 24px rgba(200,185,154,.35) !important;
}

/* Fine Print */
.ac-fine-print {
  text-align: center;
  font-size: 12px;
  color: #777;
  max-width: 700px;
  margin: 0 auto 60px;
  line-height: 1.6;
}

/* Booking Modal Overlay */
.ac-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999999;
  background: rgba(30,28,26,.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  align-items: flex-start;
  justify-content: center;
  padding: 40px 24px;
  overflow-y: auto;
}
.ac-modal-overlay.ac-modal-open {
  display: flex;
}
.ac-modal {
  background: #2e2b28;
  border: 1px solid rgba(200,185,154,.2);
  border-radius: 20px;
  max-width: 860px;
  width: 100%;
  position: relative;
  padding: 0;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  overflow: hidden;
}
.ac-modal-header {
  padding: 24px 32px 16px;
  border-bottom: 1px solid rgba(200,185,154,.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ac-modal-header h2 {
  font-family: Alice, serif !important;
  font-size: 22px;
  color: #c8b99a;
  margin: 0;
  font-weight: 400 !important;
}
.ac-modal-close,
button.ac-modal-close {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: rgba(200,185,154,.1) !important;
  border: 1px solid rgba(200,185,154,.2) !important;
  color: #c8b99a !important;
  font-size: 20px !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50% !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .2s, color .2s;
  flex-shrink: 0;
  padding: 0 !important;
  line-height: 1;
  z-index: 10;
}
.ac-modal-close:hover,
button.ac-modal-close:hover {
  background: rgba(200,185,154,.25) !important;
  color: #fff !important;
}
.ac-modal-body {
  padding: 24px 32px 32px;
}
/* Modal Hero Image Slider */
.ac-modal-hero {
  height: 200px;
  overflow: hidden;
}
.ac-modal-hero .ac-swiper {
  height: 200px;
}

.ac-modal-body .smoobu-booking-tool-container iframe {
  width: 100% !important;
  min-height: 580px;
  border: 0 !important;
  border-radius: 12px;
}
@media screen and (max-width: 600px) {
  .ac-modal {
    border-radius: 16px;
    margin: 0;
  }
  .ac-modal-header {
    padding: 16px 20px 12px;
  }
  .ac-modal-body {
    padding: 16px 16px 20px;
  }
  .ac-modal-overlay {
    padding: 16px 10px;
  }
}

/* Booking Contact */
.ac-booking-contact {
  text-align: center;
  font-size: 14px;
  color: #888;
  margin-bottom: 40px;
}
.ac-booking-contact a {
  color: #c8b99a;
  text-decoration: underline;
}

/* Responsive: Buchungsseite */
@media screen and (max-width: 860px) {
  .ac-booking-page {
    padding: 30px 0 20px;
  }
  .ac-booking-page .container {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    max-width: 100%;
  }
  .ac-price-stack {
    max-width: 100%;
    gap: 14px;
    padding: 0;
    margin: 0 0 30px;
  }
  .ac-price-card {
    flex-direction: column;
    border-radius: 0;
    border-left: none;
    border-right: none;
  }
  .ac-price-slider {
    flex: none;
    height: 280px;
    border-radius: 0;
  }
  .ac-price-content {
    padding: 16px;
  }
  .ac-price-header {
    flex-direction: column;
    gap: 4px;
  }
  .ac-price-header h2 {
    font-size: 22px;
  }
  .ac-price-amount {
    font-size: 24px;
  }
  .ac-info-table td {
    padding: 7px 10px;
    font-size: 12px;
  }
  .ac-btn-cta {
    display: block;
    text-align: center;
    padding: 14px 24px;
  }
  .ac-includes ul {
    flex-direction: column;
    gap: 2px;
  }
  .ac-booking-intro {
    padding: 0 12px;
  }
  .ac-fine-print {
    padding: 0 12px;
  }
  .ac-includes ul {
    flex-direction: column;
    gap: 2px;
  }
}


/* =================================================================
   CUSTOM BOOKING FORM — Smoobu Direct API
   ================================================================= */

/* ── Container ───────────────────────────────────────────────── */
.acb-form {
  padding: 24px 0 0;
  font-family: 'Open Sans', 'Manrope', sans-serif;
  color: #ddd;
}
.acb-form *,
.acb-form *::before,
.acb-form *::after {
  box-sizing: border-box;
}

/* ── Steps ───────────────────────────────────────────────────── */
.acb-step { transition: opacity .3s ease; }
.acb-hidden { display: none !important; }
.acb-active { display: block; }

.acb-step-label {
  font-family: 'Alice', Georgia, serif;
  font-size: 1.15rem;
  color: #c8b99a;
  margin-bottom: 18px;
  letter-spacing: .02em;
}

/* ── Grid rows ───────────────────────────────────────────────── */
.acb-row {
  display: flex;
  gap: 14px;
}
.acb-half  { flex: 1 1 50%; }
.acb-third { flex: 0 0 30%; }
.acb-twothird { flex: 1 1 70%; }

.acb-field {
  margin-bottom: 16px;
}
.acb-field label {
  display: block;
  font-size: .82rem;
  color: #aaa;
  margin-bottom: 6px;
  font-weight: 400;
}

/* ── Inputs ──────────────────────────────────────────────────── */
.acb-input {
  width: 100%;
  padding: 12px 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(200,185,154,.3);
  border-radius: 12px;
  color: #eee;
  font-size: .95rem;
  font-family: 'Open Sans', 'Manrope', sans-serif;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  -webkit-appearance: none;
  appearance: none;
}
.acb-input:focus {
  border-color: #c8b99a;
  box-shadow: 0 0 0 3px rgba(200,185,154,.15);
}
.acb-input::placeholder {
  color: #777;
}

/* Date inputs — custom styling */
.acb-input[type="date"] {
  cursor: pointer;
  position: relative;
}
.acb-input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(.7) sepia(.3) hue-rotate(10deg);
  cursor: pointer;
}

/* Select styling */
select.acb-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c8b99a' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
}

/* Textarea */
textarea.acb-input {
  resize: vertical;
  min-height: 80px;
}

/* ── Price display ───────────────────────────────────────────── */
.acb-price-display {
  margin: 20px 0 8px;
  min-height: 60px;
}
.acb-price-loader {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #aaa;
  font-size: .9rem;
}
.acb-price-big {
  font-family: 'Alice', Georgia, serif;
  font-size: 2rem;
  font-weight: 700;
  color: #c8b99a;
  line-height: 1.2;
}
.acb-price-meta {
  font-size: .88rem;
  color: #aaa;
  margin-top: 4px;
}
.acb-price-error {
  background: rgba(220,50,50,.12);
  border: 1px solid rgba(220,50,50,.3);
  color: #f77;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: .9rem;
  line-height: 1.5;
}

/* ── Buttons ─────────────────────────────────────────────────── */
.acb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  border: none;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 600;
  font-family: 'Open Sans', 'Manrope', sans-serif;
  cursor: pointer;
  transition: transform .15s, opacity .2s, box-shadow .2s;
  text-decoration: none;
}
.acb-btn:active {
  transform: scale(.97);
}

.acb-btn-next,
.acb-btn-submit {
  width: 100%;
  margin-top: 8px;
  background: linear-gradient(135deg, #87bf45, #6a9a2e);
  color: #fff;
  box-shadow: 0 4px 18px rgba(106,154,46,.3);
}
.acb-btn-next:hover:not(:disabled),
.acb-btn-submit:hover:not(:disabled) {
  box-shadow: 0 6px 24px rgba(106,154,46,.45);
  transform: translateY(-1px);
}
.acb-btn-next:disabled,
.acb-btn-submit:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.acb-btn-back {
  background: rgba(255,255,255,.08);
  color: #ccc;
  border: 1px solid rgba(200,185,154,.25);
}
.acb-btn-back:hover {
  background: rgba(255,255,255,.12);
}

.acb-btn-close {
  background: linear-gradient(135deg, #87bf45, #6a9a2e);
  color: #fff;
  margin-top: 12px;
  padding: 12px 40px;
}

.acb-actions {
  display: flex;
  gap: 12px;
  margin-top: 6px;
}
.acb-actions .acb-btn-back { flex: 0 0 auto; }
.acb-actions .acb-btn-submit { flex: 1; }

/* ── Summary box ─────────────────────────────────────────────── */
.acb-summary {
  background: rgba(200,185,154,.07);
  border: 1px solid rgba(200,185,154,.2);
  border-radius: 14px;
  padding: 18px 20px;
  margin: 6px 0 18px;
}
.acb-summary-line {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
  font-size: .9rem;
}
.acb-summary-line span { color: #aaa; }
.acb-summary-line strong { color: #ddd; }
.acb-summary-total {
  border-top: 1px solid rgba(200,185,154,.2);
  margin-top: 8px;
  padding-top: 12px;
}
.acb-summary-total strong {
  color: #c8b99a;
  font-size: 1.15rem;
}

/* ── AGB checkbox ────────────────────────────────────────────── */
.acb-terms-check {
  margin-bottom: 18px;
}
.acb-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .85rem !important;
  color: #aaa !important;
  cursor: pointer;
  line-height: 1.5;
}
.acb-checkbox-label input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: #87bf45;
  cursor: pointer;
}
.acb-checkbox-label a {
  color: #c8b99a;
  text-decoration: underline;
}

/* ── Submit error ────────────────────────────────────────────── */
.acb-submit-error {
  background: rgba(220,50,50,.12);
  border: 1px solid rgba(220,50,50,.3);
  color: #f77;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: .88rem;
  margin-top: 14px;
  line-height: 1.5;
}

/* ── Spinner ─────────────────────────────────────────────────── */
.acb-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid rgba(200,185,154,.2);
  border-top-color: #c8b99a;
  border-radius: 50%;
  animation: acbSpin .7s linear infinite;
  flex-shrink: 0;
}
.acb-spinner-lg {
  width: 44px;
  height: 44px;
  border-width: 4px;
}
@keyframes acbSpin {
  to { transform: rotate(360deg); }
}

/* ── Loading step ────────────────────────────────────────────── */
.acb-loading-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.acb-loading-wrap p {
  margin-top: 18px;
  color: #aaa;
  font-size: .95rem;
}

/* ── Success step ────────────────────────────────────────────── */
.acb-success-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 20px;
}
.acb-success-wrap h3 {
  font-family: 'Alice', Georgia, serif;
  color: #c8b99a;
  font-size: 1.5rem;
  margin: 18px 0 12px;
}
.acb-success-details {
  color: #ddd;
  font-size: .95rem;
  line-height: 1.7;
  margin-bottom: 6px;
}
.acb-success-info {
  color: #aaa;
  font-size: .85rem;
  margin-bottom: 10px;
}
.acb-booking-id {
  display: inline-block;
  background: rgba(200,185,154,.12);
  padding: 4px 14px;
  border-radius: 8px;
  font-size: .82rem;
  color: #c8b99a;
  margin-top: 4px;
}

/* ── Checkmark animation ─────────────────────────────────────── */
.acb-checkmark {
  width: 72px;
  height: 72px;
}
.acb-checkmark svg {
  width: 100%;
  height: 100%;
}
.acb-checkmark circle {
  stroke: #87bf45;
  stroke-width: 2;
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  animation: acbCircle .6s ease-in-out forwards;
}
.acb-checkmark path {
  stroke: #87bf45;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: acbCheck .35s ease-in-out .4s forwards;
}
@keyframes acbCircle {
  to { stroke-dashoffset: 0; }
}
@keyframes acbCheck {
  to { stroke-dashoffset: 0; }
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 600px) {
  .acb-row {
    flex-direction: column;
    gap: 0;
  }
  .acb-half, .acb-third, .acb-twothird {
    flex: 1 1 100%;
  }
  .acb-price-big {
    font-size: 1.6rem;
  }
  .acb-btn {
    padding: 13px 24px;
    font-size: .95rem;
  }
  .acb-actions {
    flex-direction: column-reverse;
  }
  .acb-actions .acb-btn {
    width: 100%;
  }
  .acb-summary-line {
    font-size: .85rem;
  }
  .acb-form {
    padding: 16px 0 0;
  }
}


/* BUCHUNGSFORMULAR v2 (Smoobu API)
=================================================================================== */
.ac-booking-form {
  color: #ddd;
}

/* Guest count top bar */
.ac-bf-guest-top {
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(200,185,154,.15);
}
.ac-bf-guest-label {
  display: block;
  font-family: Alice, serif;
  font-size: 16px;
  color: #c8b99a;
  margin-bottom: 8px;
}
.ac-bf-guest-row {
  display: flex;
  align-items: center;
  gap: 14px;
}
.ac-bf-guest-input {
  width: 80px;
  padding: 10px 14px;
  border: 1px solid rgba(200,185,154,.3);
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  color: #ddd;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: textfield;
}
.ac-bf-guest-input:focus {
  outline: none;
  border-color: #c8b99a;
  background: rgba(255,255,255,.08);
}
.ac-bf-guest-input::-webkit-inner-spin-button,
.ac-bf-guest-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ac-bf-guest-hint {
  font-size: 13px;
  color: #87bf45;
  flex: 1;
}

/* Month tile bar (horizontal scroll + touch swipe) */
.ac-bf-month-bar {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
  margin-bottom: 16px;
  scrollbar-width: none;
  scroll-behavior: smooth;
  touch-action: pan-x;
}
.ac-bf-month-bar::-webkit-scrollbar { display: none; }
.ac-bf-month-tile {
  flex: 0 0 auto;
  padding: 8px 14px;
  background: rgba(200,185,154,.06);
  border: 1px solid rgba(200,185,154,.15);
  border-radius: 50px;
  color: #999;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}
.ac-bf-month-tile:hover { background: rgba(200,185,154,.12); color: #c8b99a; }
.ac-bf-month-tile.active {
  background: rgba(135,191,69,.15);
  border-color: #87bf45;
  color: #87bf45;
  font-weight: 600;
}

/* Main loading */
.ac-bf-main-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  gap: 12px;
  color: #c8b99a;
  font-size: 14px;
}

/* Month group headers (for weekend/midweek lists) */
.ac-bf-month-group {
  margin-bottom: 20px;
}
.ac-bf-month-header {
  font-family: Alice, serif;
  font-size: 16px;
  color: #c8b99a;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(200,185,154,.15);
}

/* Next available header */
.ac-bf-next-header {
  width: 100%;
  font-family: Alice, serif;
  font-size: 16px;
  color: #c8b99a;
  margin-bottom: 10px;
}

/* Slot grid layout */
.ac-bf-slot-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Error inline (different from form error) */
.ac-bf-error-inline {
  color: #e74c3c;
  text-align: center;
  padding: 16px;
  font-size: 14px;
}

/* Date row */
.ac-bf-dates {
  display: flex;
  gap: 14px;
  margin-bottom: 20px;
}
.ac-bf-dates > div { flex: 1; }
.ac-bf-dates label,
.ac-bf-field label {
  display: block;
  font-size: 12px;
  color: #aaa;
  margin-bottom: 5px;
  font-weight: 500;
}
.ac-bf-dates input,
.ac-bf-field input,
.ac-bf-field select,
.ac-bf-field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(200,185,154,.3);
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  color: #ddd;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  box-sizing: border-box;
  transition: border-color .2s;
  -webkit-appearance: none;
}
.ac-bf-dates input:focus,
.ac-bf-field input:focus,
.ac-bf-field select:focus,
.ac-bf-field textarea:focus {
  outline: none;
  border-color: #c8b99a;
  background: rgba(255,255,255,.08);
}
input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(.7);
}

/* Two-column rows */
.ac-bf-row {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
}
.ac-bf-row > .ac-bf-field { flex: 1; }
.ac-bf-field { margin-bottom: 14px; }
.ac-bf-field textarea {
  min-height: 60px;
  resize: vertical;
}
.ac-bf-field select option {
  background: #3a3632;
  color: #ddd;
}

/* Price display */
.ac-bf-price-box {
  background: rgba(200,185,154,.08);
  border: 1px solid rgba(200,185,154,.2);
  border-radius: 14px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
}
.ac-bf-price-amount {
  font-family: Alice, serif;
  font-size: 32px;
  color: #c8b99a;
  margin-bottom: 4px;
}
.ac-bf-price-detail {
  font-size: 13px;
  color: #999;
}
.ac-bf-unavailable {
  color: #e74c3c;
  text-align: center;
  padding: 16px;
  font-size: 14px;
}

/* Buttons */
.ac-bf-btn {
  display: block;
  width: 100%;
  padding: 14px 28px;
  border: none;
  border-radius: 50px;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: box-shadow .25s, transform .15s, background .2s;
  text-align: center;
  letter-spacing: .3px;
  margin-top: 10px;
}
.ac-bf-btn-primary {
  background: linear-gradient(135deg, #87bf45, #6a9a2e);
  color: #fff;
  box-shadow: 0 4px 16px rgba(135,191,69,.25);
}
.ac-bf-btn-primary:hover {
  box-shadow: 0 6px 24px rgba(135,191,69,.4);
  transform: translateY(-1px);
}
.ac-bf-btn-primary:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}
.ac-bf-btn-back {
  background: transparent;
  color: #c8b99a;
  border: 1px solid rgba(200,185,154,.3);
  margin-top: 8px;
}
.ac-bf-btn-back:hover {
  background: rgba(200,185,154,.1);
}

/* Loading spinner */
.ac-bf-loading {
  text-align: center;
  padding: 30px;
  color: #c8b99a;
}
.ac-bf-spinner {
  display: inline-block;
  width: 28px;
  height: 28px;
  border: 3px solid rgba(200,185,154,.2);
  border-top-color: #c8b99a;
  border-radius: 50%;
  animation: ac-spin .7s linear infinite;
  margin-bottom: 10px;
}
@keyframes ac-spin {
  to { transform: rotate(360deg); }
}

/* Success */
.ac-bf-success {
  text-align: center;
  padding: 30px 20px;
}
.ac-bf-success-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #87bf45, #6a9a2e);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
.ac-bf-success-icon svg {
  width: 30px;
  height: 30px;
  stroke: #fff;
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ac-bf-success h3 {
  font-family: Alice, serif !important;
  font-size: 22px;
  color: #c8b99a;
  margin-bottom: 8px;
  font-weight: 400 !important;
}
.ac-bf-success p {
  color: #999;
  font-size: 14px;
  line-height: 1.6;
}

/* Error */
.ac-bf-error {
  background: rgba(231,76,60,.1);
  border: 1px solid rgba(231,76,60,.3);
  border-radius: 10px;
  padding: 12px 16px;
  color: #e74c3c;
  font-size: 13px;
  margin-bottom: 14px;
}

/* Responsive */
@media screen and (max-width: 500px) {
  .ac-bf-row {
    flex-direction: column;
    gap: 0;
  }
  .ac-bf-dates {
    flex-direction: column;
    gap: 0;
  }
}

/* Date input fix: helle Schrift wenn selektiert */
.ac-bf-dates input[type="date"],
.ac-bf-field input[type="date"] {
  color: #ddd !important;
  color-scheme: dark;
}
.ac-bf-dates input[type="date"]::-webkit-datetime-edit {
  color: #ddd;
}
.ac-bf-dates input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(.7);
  cursor: pointer;
}

/* Suggest cards */
.ac-bf-suggestions h4 {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 10px;
}
.ac-bf-suggest-grid {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}
.ac-bf-suggest-card {
  flex: 0 0 auto;
  min-width: 160px;
  background: rgba(200,185,154,.06);
  border: 1px solid rgba(200,185,154,.2);
  border-radius: 12px;
  padding: 14px 16px;
  cursor: pointer;
  transition: border-color .2s, background .2s;
  text-align: left;
  font-family: 'Open Sans', Arial, sans-serif;
  color: #ddd;
}
.ac-bf-suggest-card:hover,
.ac-bf-suggest-card.active {
  border-color: #87bf45;
  background: rgba(135,191,69,.08);
}
.ac-bf-suggest-dates {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #c8b99a;
  margin-bottom: 4px;
}
.ac-bf-suggest-nights {
  display: block;
  font-size: 12px;
  color: #999;
}
.ac-bf-suggest-price {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #ddd;
  margin-top: 6px;
}

/* Payment note in price box */
.ac-bf-price-payment {
  font-size: 12px;
  color: #c8b99a;
  margin-top: 8px;
  font-weight: 500;
}

/* Legal checkbox */
.ac-bf-legal {
  margin: 18px 0 14px;
}
.ac-bf-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 12px;
  color: #999;
  line-height: 1.5;
}
.ac-bf-checkbox input[type="checkbox"] {
  margin-top: 2px;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  accent-color: #87bf45;
}
.ac-bf-checkbox a {
  color: #c8b99a;
  text-decoration: underline;
}
.ac-bf-legal-note {
  text-align: center;
  font-size: 11px;
  color: #777;
  margin-top: 10px;
}

/* Success details table */
.ac-bf-success-details {
  margin: 16px 0;
  display: inline-block;
  text-align: left;
}
.ac-bf-success-details table {
  border-collapse: collapse;
}
.ac-bf-success-details td {
  padding: 6px 14px 6px 0;
  font-size: 14px;
  color: #bbb;
  border-bottom: 1px solid rgba(200,185,154,.1);
}
.ac-bf-success-details td:last-child {
  color: #ddd;
}
.ac-bf-success-payment {
  font-size: 13px;
  color: #c8b99a;
  font-weight: 500;
  margin: 12px 0;
}

@media screen and (max-width: 500px) {
  .ac-bf-suggest-grid {
    gap: 8px;
  }
  .ac-bf-suggest-card {
    min-width: 140px;
    padding: 10px 12px;
  }
}

/* Buchungsmodi-Buttons */
.ac-bf-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.ac-bf-mode {
  flex: 1 1 auto;
  padding: 10px 14px;
  background: rgba(200,185,154,.06);
  border: 1px solid rgba(200,185,154,.2);
  border-radius: 50px;
  color: #c8b99a;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s;
  text-align: center;
}
.ac-bf-mode:hover { background: rgba(200,185,154,.12); }
.ac-bf-mode.active {
  background: rgba(135,191,69,.15);
  border-color: #87bf45;
  color: #87bf45;
  font-weight: 600;
}

/* (Month select replaced by .ac-bf-month-bar tiles above) */

/* Slot Cards */
.ac-bf-slots {
  margin-bottom: 18px;
}
.ac-bf-slot {
  flex: 1 1 calc(50% - 5px);
  min-width: 150px;
  background: rgba(200,185,154,.05);
  border: 1px solid rgba(200,185,154,.2);
  border-radius: 14px;
  padding: 14px 16px;
  cursor: pointer;
  transition: all .2s;
  text-align: left;
  font-family: 'Open Sans', Arial, sans-serif;
  color: #ddd;
}
.ac-bf-slot:hover { border-color: rgba(200,185,154,.4); background: rgba(200,185,154,.08); }
.ac-bf-slot.active { border-color: #87bf45; background: rgba(135,191,69,.1); }
.ac-bf-slot-day {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: #87bf45;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 2px;
}
.ac-bf-slot-date {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #c8b99a;
  margin-bottom: 2px;
}
.ac-bf-slot-info {
  display: block;
  font-size: 12px;
  color: #888;
}
.ac-bf-slot-price {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #ddd;
  margin-top: 6px;
}
.ac-bf-no-avail {
  color: #999;
  font-size: 14px;
  text-align: center;
  padding: 20px 0;
}

/* Cross-Sell */
.ac-bf-cross-box {
  margin: 16px 0;
  padding: 16px;
  background: rgba(200,185,154,.05);
  border: 1px solid rgba(200,185,154,.15);
  border-radius: 14px;
}
.ac-bf-cross-box h4 {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #c8b99a;
  margin-bottom: 10px;
}
.ac-bf-cross-card {
  display: block;
  padding: 10px 14px;
  border: 1px solid rgba(200,185,154,.15);
  border-radius: 10px;
  margin-bottom: 8px;
  text-decoration: none;
  transition: all .2s;
}
.ac-bf-cross-card:hover {
  border-color: #87bf45;
  background: rgba(135,191,69,.05);
}
.ac-bf-cross-card strong {
  display: block;
  color: #c8b99a;
  font-size: 14px;
  margin-bottom: 2px;
}
.ac-bf-cross-card span {
  font-size: 12px;
  color: #999;
}

/* Select Fix: dark background + rounded */
.ac-bf-field select,
.ac-bf-form select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(200,185,154,.3) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.05) !important;
  color: #ddd !important;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23888' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px;
  box-sizing: border-box;
}
.ac-bf-field select option,
.ac-bf-form select option {
  background: #3a3632 !important;
  color: #ddd !important;
}

@media screen and (max-width: 500px) {
  .ac-bf-modes { gap: 6px; }
  .ac-bf-mode { font-size: 11px; padding: 7px 10px; }
  .ac-bf-slot-grid { flex-direction: column; }
  .ac-bf-slot { flex: none; }
  .ac-bf-guest-row { flex-direction: column; align-items: flex-start; gap: 8px; }
  .ac-bf-guest-input { width: 100%; }
  .ac-bf-month-tile { font-size: 11px; padding: 6px 10px; }
}

/* CUSTOM CALENDAR
=================================================================================== */
.ac-cal {
  margin-bottom: 16px;
}
.ac-cal-header {
  text-align: center;
  font-family: Alice, serif;
  font-size: 18px;
  color: #c8b99a;
  margin-bottom: 12px;
}
.ac-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}
.ac-cal-head {
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: #888;
  padding: 6px 0;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.ac-cal-cell {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  position: relative;
  font-size: 13px;
  min-height: 48px;
  transition: all .15s;
}
.ac-cal-empty {
  background: transparent;
}
.ac-cal-day {
  font-weight: 600;
  line-height: 1;
}
.ac-cal-price {
  font-size: 9px;
  color: #87bf45;
  margin-top: 2px;
  font-weight: 500;
}
.ac-cal-x {
  font-size: 14px;
  color: #c0392b;
  font-weight: 700;
  line-height: 1;
  margin-top: 1px;
}

/* Past days */
.ac-cal-past {
  color: #555;
  cursor: default;
}
.ac-cal-past .ac-cal-day { color: #555; }

/* Booked / unavailable */
.ac-cal-booked {
  background: rgba(192,57,43,.08);
  color: #888;
  cursor: not-allowed;
}
.ac-cal-booked .ac-cal-day { color: #888; }

/* Available */
.ac-cal-avail {
  background: rgba(200,185,154,.06);
  color: #ddd;
  cursor: pointer;
  border: 1px solid transparent;
}
.ac-cal-avail:hover {
  background: rgba(200,185,154,.15);
  border-color: rgba(200,185,154,.3);
}

/* Selected range */
.ac-cal-sel-start {
  background: #87bf45 !important;
  color: #fff !important;
  border-color: #87bf45 !important;
}
.ac-cal-sel-start .ac-cal-day { color: #fff; }
.ac-cal-sel-start .ac-cal-price { color: rgba(255,255,255,.7); }

.ac-cal-sel-end {
  background: #6a9a2e !important;
  color: #fff !important;
  border-color: #6a9a2e !important;
}
.ac-cal-sel-end .ac-cal-day { color: #fff; }
.ac-cal-sel-end .ac-cal-price { color: rgba(255,255,255,.7); }

.ac-cal-sel-range {
  background: rgba(135,191,69,.12) !important;
  border-color: rgba(135,191,69,.2) !important;
}

/* Selection display */
.ac-bf-cal-selected {
  text-align: center;
  padding: 8px 0;
  font-size: 14px;
  color: #c8b99a;
  min-height: 20px;
}
.ac-bf-cal-selected strong {
  color: #ddd;
}

@media screen and (max-width: 500px) {
  .ac-cal-cell {
    min-height: 40px;
    border-radius: 8px;
  }
  .ac-cal-price {
    font-size: 8px;
  }
  .ac-cal-grid {
    gap: 3px;
  }
}

/* Hint when no slots in selected month */
.ac-bf-hint {
  text-align: center;
  font-size: 13px;
  color: #c8b99a;
  margin-top: 8px;
}
.ac-bf-hint strong {
  color: #87bf45;
}

/* Calendar navigation arrows */
.ac-cal-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.ac-cal-prev, .ac-cal-next {
  background: transparent;
  border: none;
  color: #c8b99a;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .2s;
  flex-shrink: 0;
  padding: 0;
}
.ac-cal-prev:hover, .ac-cal-next:hover {
  color: #fff;
}

/* Slot Discount Badge */
.ac-bf-slot-discount {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #87bf45;
  margin-top: 4px;
  letter-spacing: .3px;
}

/* Better Calendar Styling */
.ac-cal {
  background: rgba(200,185,154,.04);
  border: 1px solid rgba(200,185,154,.12);
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 16px;
}
.ac-cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 0 4px;
}
.ac-cal-header span {
  font-family: Alice, serif;
  font-size: 18px;
  color: #c8b99a;
  font-weight: 400;
}
.ac-cal-prev, .ac-cal-next {
  background: transparent !important;
  border: none !important;
  color: #c8b99a !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  font-size: 24px !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color .2s;
  padding: 0 !important;
}
.ac-cal-prev:hover, .ac-cal-next:hover {
  color: #fff !important;
}
.ac-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px;
}
.ac-cal-head {
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: #666;
  padding: 4px 0 8px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.ac-cal-cell {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  position: relative;
  min-height: 44px;
  transition: all .15s;
  border: 1px solid transparent;
}
.ac-cal-day {
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
}
.ac-cal-price {
  font-size: 8px;
  color: #87bf45;
  margin-top: 2px;
  font-weight: 600;
  opacity: .8;
}
.ac-cal-x {
  font-size: 12px;
  color: #c0392b;
  font-weight: 700;
  opacity: .6;
}
.ac-cal-past {
  color: #444;
}
.ac-cal-past .ac-cal-day { color: #444; }
.ac-cal-booked {
  background: rgba(192,57,43,.05);
  color: #666;
}
.ac-cal-booked .ac-cal-day { color: #666; }
.ac-cal-avail {
  background: rgba(200,185,154,.04);
  color: #ddd;
  cursor: pointer;
}
.ac-cal-avail:hover {
  background: rgba(200,185,154,.12);
  border-color: rgba(200,185,154,.25);
}
.ac-cal-sel-start {
  background: #87bf45 !important;
  color: #fff !important;
  border-color: #87bf45 !important;
}
.ac-cal-sel-start .ac-cal-day { color: #fff; }
.ac-cal-sel-start .ac-cal-price { color: rgba(255,255,255,.7); }
.ac-cal-sel-end {
  background: #6a9a2e !important;
  color: #fff !important;
  border-color: #6a9a2e !important;
}
.ac-cal-sel-end .ac-cal-day { color: #fff; }
.ac-cal-sel-end .ac-cal-price { color: rgba(255,255,255,.7); }
.ac-cal-sel-range {
  background: rgba(135,191,69,.1) !important;
  border-color: rgba(135,191,69,.15) !important;
}

/* Better slot cards - no white boxes */
.ac-bf-slot {
  background: rgba(200,185,154,.04) !important;
  border: 1px solid rgba(200,185,154,.15) !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  color: #ddd !important;
  text-align: left !important;
  font-family: 'Open Sans', Arial, sans-serif !important;
  cursor: pointer;
  transition: all .2s !important;
}
.ac-bf-slot:hover {
  border-color: rgba(200,185,154,.35) !important;
  background: rgba(200,185,154,.08) !important;
}
.ac-bf-slot.active {
  border-color: #87bf45 !important;
  background: rgba(135,191,69,.08) !important;
}

/* Cross-sell prominent */
.ac-bf-cross-prominent h3 {
  font-family: Alice, serif !important;
  font-size: 16px;
  color: #c8b99a;
  margin-bottom: 10px;
  font-weight: 400 !important;
}

@media (max-width: 500px) {
  .ac-cal-cell { min-height: 38px; border-radius: 8px; }
  .ac-cal-day { font-size: 12px; }
  .ac-cal-price { font-size: 7px; }
  .ac-cal { padding: 10px; border-radius: 12px; }
}

/* UX 4: Weekend calendar tint */
.ac-cal-weekend.ac-cal-avail {
  background: rgba(135,191,69,.06);
}
.ac-cal-weekend.ac-cal-booked {
  background: rgba(192,57,43,.08);
}

/* Combo booking banner */
.ac-bf-combo-banner {
  background: rgba(135,191,69,.1);
  border: 1px solid rgba(135,191,69,.25);
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 14px;
  text-align: center;
}
.ac-bf-combo-label {
  display: block;
  font-family: Alice, serif;
  font-size: 15px;
  color: #87bf45;
  font-weight: 400;
  margin-bottom: 2px;
}
.ac-bf-combo-names {
  display: block;
  font-size: 12px;
  color: #c8b99a;
}

/* Per-person price on slot cards */
.ac-bf-slot-pp {
  display: block;
  font-size: 11px;
  color: #87bf45;
  margin-top: 2px;
  font-weight: 500;
}

/* Per-person price in price box */
.ac-bf-price-pp {
  font-size: 14px;
  color: #87bf45;
  margin-top: 6px;
  font-weight: 600;
}

/* Combo booking label in price box */
.ac-bf-price-label {
  font-size: 13px;
  color: #c8b99a;
  margin-bottom: 8px;
  font-weight: 500;
}

/* Cross-sell alternatives for weekends */
.ac-bf-cross-alt {
  padding: 8px 12px;
  border: 1px solid rgba(200,185,154,.15);
  border-radius: 10px;
  margin-bottom: 6px;
}
.ac-bf-cross-alt strong {
  display: block;
  color: #c8b99a;
  font-size: 13px;
  margin-bottom: 2px;
}
.ac-bf-cross-alt span {
  font-size: 12px;
  color: #999;
}

/* Calendar drag-to-select preview */
.ac-cal-drag-preview {
  background: rgba(135,191,69,.25) !important;
  border-color: #87bf45 !important;
  transform: scale(1.06);
  box-shadow: 0 0 8px rgba(135,191,69,.3);
}
.ac-cal-drag-preview .ac-cal-day {
  color: #fff !important;
}
.ac-cal-drag-preview .ac-cal-price {
  color: rgba(255,255,255,.7) !important;
}

/* Wide slot layout: full-width cards stacked */
.ac-bf-wide {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
}
.ac-bf-wide > .ac-bf-slot {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Legacy 2x2 grid (kept for backward compat) */
.ac-bf-3col {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ac-bf-3col > * {
  width: 100%;
  min-width: 0;
  min-height: 120px;
  box-sizing: border-box;
}

/* Calendar hint card (bottom-right) */
.ac-bf-cal-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  border: 1px solid rgba(200,185,154,.15);
  border-radius: 14px;
  text-align: center;
  gap: 10px;
  cursor: pointer;
  transition: border-color .2s, background .2s;
  min-height: 100px;
}
.ac-bf-cal-hint:hover {
  border-color: rgba(200,185,154,.35);
  background: rgba(200,185,154,.04);
}
.ac-bf-cal-hint span {
  font-size: 13px;
  color: #999;
  line-height: 1.4;
}
/* Removed ::before emoji — SVG is inline in JS */
.ac-bf-cal-hint-btn,
button.ac-bf-cal-hint-btn {
  background: rgba(200,185,154,.1) !important;
  border: 1px solid rgba(200,185,154,.25) !important;
  border-radius: 50px !important;
  color: #c8b99a !important;
  font-size: 13px !important;
  font-weight: 500;
  padding: 8px 16px;
  cursor: pointer;
  font-family: 'Open Sans', Arial, sans-serif;
  transition: all .2s;
}
.ac-bf-cal-hint-btn:hover {
  background: rgba(200,185,154,.2);
  color: #ddd;
}

/* Price inline: total + per person on one line */
.ac-bf-price-box {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 8px 20px;
  padding: 20px;
  margin-top: 16px;
}
.ac-bf-price-amount {
  font-family: Alice, serif;
  font-size: 28px;
  color: #c8b99a;
}
.ac-bf-pp {
  font-size: 14px;
  color: #999;
}

@media (max-width: 500px) {
  .ac-bf-3col {
    grid-template-columns: 1fr;
  }
}

/* GLOBAL: Reset ALL buttons in booking modal - NO white backgrounds ever */
.ac-modal button,
.ac-booking-form button,
.ac-bf-form button {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  border: none !important;
  color: inherit;
  font-family: inherit;
  cursor: pointer;
  padding: 0;
  margin: 0;
}
/* Re-apply specific button styles after reset */
.ac-modal .ac-bf-mode {
  background: rgba(200,185,154,.06) !important;
  border: 1px solid rgba(200,185,154,.2) !important;
  padding: 10px 14px !important;
  color: #c8b99a !important;
}
.ac-modal .ac-bf-mode.active {
  background: rgba(135,191,69,.15) !important;
  border-color: #87bf45 !important;
  color: #87bf45 !important;
}
.ac-modal .ac-bf-slot {
  background: rgba(200,185,154,.03) !important;
  border: 1px solid rgba(200,185,154,.15) !important;
  padding: 14px 16px 12px !important;
  color: #ddd !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.ac-modal .ac-bf-slot:hover {
  border-color: rgba(200,185,154,.35) !important;
  background: rgba(200,185,154,.08) !important;
}
.ac-modal .ac-bf-slot.active {
  border-color: #87bf45 !important;
  background: rgba(135,191,69,.08) !important;
}
.ac-modal .ac-bf-submit {
  background: linear-gradient(135deg, #87bf45, #6a9a2e) !important;
  color: #fff !important;
  padding: 14px 28px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
}
.ac-modal .ac-bf-cal-hint-btn {
  background: rgba(200,185,154,.1) !important;
  border: 1px solid rgba(200,185,154,.25) !important;
  border-radius: 50px !important;
  color: #c8b99a !important;
  padding: 8px 16px !important;
}
.ac-modal .ac-bf-month-tile {
  background: rgba(200,185,154,.06) !important;
  border: 1px solid rgba(200,185,154,.2) !important;
  color: #999 !important;
  padding: 6px 14px !important;
}
.ac-modal .ac-bf-month-tile.active {
  background: rgba(135,191,69,.15) !important;
  border-color: #87bf45 !important;
  color: #87bf45 !important;
}

/* Price row: total + per person per night side by side */
.ac-bf-price-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.ac-bf-price-ppn,
.ac-bf-slot-ppn {
  font-size: 12px;
  color: #87bf45;
  font-weight: 500;
}
.ac-bf-slot-ppn {
  display: block;
  margin-top: 2px;
}

/* Context-based cross-sell below slot grid */
.ac-bf-context-cross-wrap {
  margin-top: 12px;
}
.ac-bf-context-cross {
  font-size: 13px;
  color: #999;
  line-height: 1.6;
  padding: 6px 0;
}
.ac-bf-context-label {
  color: #aaa;
}
.ac-bf-cross-link {
  color: #87bf45 !important;
  text-decoration: none;
  cursor: pointer;
  font-weight: 500;
  transition: color .2s;
}
.ac-bf-cross-link:hover {
  color: #a3d95f !important;
  text-decoration: underline;
}
.ac-bf-context-sep {
  color: #666;
  margin: 0 2px;
}
.ac-bf-context-next {
  color: #aaa;
  font-size: 13px;
}
.ac-bf-context-next strong {
  color: #c8b99a;
}

/* TARGETED: No white backgrounds in modals — reset only browser-default button/div backgrounds */
.ac-modal-overlay button,
.ac-booking-form button {
  background-color: transparent;
}
/* Re-apply the backgrounds that ARE needed */
.ac-modal {
  background: #2e2b28 !important;
}
.ac-modal-overlay {
  background: rgba(30,28,26,.85) !important;
}
.ac-modal .ac-bf-submit,
.ac-booking-form .ac-bf-submit {
  background: linear-gradient(135deg, #87bf45, #6a9a2e) !important;
}
.ac-modal .ac-bf-mode {
  background: rgba(200,185,154,.06) !important;
}
.ac-modal .ac-bf-mode.active {
  background: rgba(135,191,69,.15) !important;
}
.ac-modal .ac-bf-slot,
.ac-booking-form .ac-bf-slot {
  background: rgba(200,185,154,.04) !important;
}
.ac-modal .ac-bf-slot:hover,
.ac-booking-form .ac-bf-slot:hover {
  background: rgba(200,185,154,.08) !important;
}
.ac-modal .ac-bf-slot.active,
.ac-booking-form .ac-bf-slot.active {
  background: rgba(135,191,69,.08) !important;
}
.ac-modal .ac-bf-month-tile {
  background: rgba(200,185,154,.06) !important;
}
.ac-modal .ac-bf-month-tile.active {
  background: rgba(135,191,69,.15) !important;
}
.ac-modal .ac-bf-price-box,
.ac-booking-form .ac-bf-price-box {
  background: rgba(200,185,154,.08) !important;
}
.ac-modal .ac-bf-combo-banner {
  background: rgba(135,191,69,.1) !important;
}
.ac-modal .ac-bf-cross-box,
.ac-booking-form .ac-bf-cross-box {
  background: rgba(200,185,154,.05) !important;
}
.ac-modal .ac-bf-error,
.ac-booking-form .ac-bf-error {
  background: rgba(231,76,60,.1) !important;
}
.ac-modal .ac-bf-success-icon {
  background: linear-gradient(135deg, #87bf45, #6a9a2e) !important;
}
.ac-modal .ac-cal,
.ac-booking-form .ac-cal {
  background: rgba(200,185,154,.04) !important;
}
.ac-modal .ac-cal-avail,
.ac-booking-form .ac-cal-avail {
  background: rgba(200,185,154,.04) !important;
}
.ac-modal .ac-cal-avail:hover,
.ac-booking-form .ac-cal-avail:hover {
  background: rgba(200,185,154,.12) !important;
}
.ac-modal .ac-cal-booked,
.ac-booking-form .ac-cal-booked {
  background: rgba(192,57,43,.05) !important;
}
.ac-modal .ac-cal-sel-start,
.ac-booking-form .ac-cal-sel-start {
  background: #87bf45 !important;
}
.ac-modal .ac-cal-sel-end,
.ac-booking-form .ac-cal-sel-end {
  background: #6a9a2e !important;
}
.ac-modal .ac-cal-sel-range,
.ac-booking-form .ac-cal-sel-range {
  background: rgba(135,191,69,.1) !important;
}
.ac-modal .ac-cal-drag-preview,
.ac-booking-form .ac-cal-drag-preview {
  background: rgba(135,191,69,.25) !important;
}
.ac-modal .ac-bf-guest-input,
.ac-booking-form .ac-bf-guest-input {
  background: rgba(255,255,255,.05) !important;
}
.ac-modal .ac-bf-cal-hint-btn {
  background: rgba(200,185,154,.1) !important;
}
.ac-modal .ac-cal-weekend.ac-cal-avail {
  background: rgba(135,191,69,.06) !important;
}
.ac-modal .ac-cal-weekend.ac-cal-booked {
  background: rgba(192,57,43,.08) !important;
}

/* Guest capacity warning + suggestions */
.ac-bf-guest-warn {
  display: block;
  color: #e74c3c;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 4px;
}
.ac-bf-guest-suggest {
  display: block;
  color: #c8b99a;
  font-size: 12px;
  margin-bottom: 4px;
}
.ac-bf-guest-link {
  display: inline-block;
  color: #87bf45 !important;
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline !important;
  cursor: pointer;
  margin-right: 8px;
}
.ac-bf-guest-link:hover {
  color: #a5d96a !important;
}
.ac-bf-guest-combo {
  display: inline-block;
  color: #c8b99a;
  font-size: 12px;
  margin-right: 8px;
}
.ac-bf-guest-ok {
  color: #87bf45;
  font-size: 13px;
}

.ac-bf-cal-icon {
  font-size: 28px;
  display: block;
  margin-bottom: 4px;
}

/* Cross-sell as clickable cards */
.ac-bf-cross-cards-header {
  font-size: 13px;
  color: #999;
  margin: 14px 0 8px;
}
.ac-bf-cross-cards {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ac-bf-cross-card {
  flex: 1 1 calc(50% - 5px);
  min-width: 140px;
  padding: 14px 16px !important;
  border: 1px solid rgba(200,185,154,.15) !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  display: block;
  transition: all .2s;
  cursor: pointer;
  -webkit-appearance: none !important;
  appearance: none !important;
  background: rgba(200,185,154,.04) !important;
}
.ac-bf-cross-card:hover {
  border-color: #87bf45 !important;
  background: rgba(135,191,69,.06) !important;
}
.ac-bf-cross-card strong {
  display: block;
  color: #c8b99a;
  font-size: 14px;
  margin-bottom: 4px;
}
.ac-bf-cross-card span {
  display: block;
  font-size: 12px;
  color: #999;
}
.ac-bf-cross-ppn {
  color: #87bf45 !important;
  font-weight: 500;
}
.ac-bf-context-next {
  font-size: 13px;
  color: #999;
  margin-top: 10px;
}
.ac-bf-context-next strong {
  color: #87bf45;
  cursor: pointer;
}

/* ═══════════════════════════════════════════════════════════════════
   REDESIGN v3 — Stepper, Segmented, Slot Cards, Cross-Sell, Price
   ═══════════════════════════════════════════════════════════════════ */

/* ── Stepper (replaces number input) ── */
.ac-bf-guest-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ac-bf-guest-top .ac-bf-guest-label {
  text-align: center;
  width: 100%;
}
.ac-bf-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 8px 0 10px;
  width: 100%;
}
.ac-bf-stepper-btn {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(200,185,154,.3) !important;
  background: rgba(200,185,154,.08) !important;
  color: #c8b99a !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .2s;
  -webkit-appearance: none !important;
  appearance: none !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.ac-bf-stepper-btn:hover {
  background: rgba(200,185,154,.18) !important;
  border-color: #c8b99a !important;
  color: #fff !important;
}
.ac-bf-stepper-btn:active {
  transform: scale(.92);
}
.ac-bf-stepper-value {
  width: 64px;
  text-align: center;
  font-family: Alice, serif;
  font-size: 36px;
  font-weight: 400;
  color: #ddd;
  line-height: 1;
}

/* Capacity bar */
.ac-bf-capacity-bar {
  width: 100%;
  height: 4px;
  background: rgba(200,185,154,.1);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 6px;
}
.ac-bf-capacity-fill {
  height: 100%;
  background: #87bf45;
  border-radius: 2px;
  transition: width .3s ease, background .3s ease;
}
.ac-bf-capacity-label {
  display: block;
  text-align: center;
  font-size: 11px;
  color: #87bf45;
  margin-bottom: 4px;
  width: 100%;
}
.ac-bf-guest-top .ac-bf-guest-hint {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 4px;
}

/* ── Segmented Control (Mode buttons) ── */
.ac-bf-segmented {
  display: flex !important;
  gap: 0 !important;
  background: rgba(200,185,154,.06);
  border: 1px solid rgba(200,185,154,.15);
  border-radius: 14px;
  padding: 3px;
  overflow: hidden;
}
.ac-bf-segmented .ac-bf-mode {
  flex: 1 1 0 !important;
  border: none !important;
  border-radius: 11px !important;
  padding: 9px 6px !important;
  background: transparent !important;
  color: #999 !important;
  font-size: 12px !important;
  font-weight: 500;
  transition: all .2s;
  text-align: center;
  white-space: nowrap;
}
.ac-bf-segmented .ac-bf-mode:hover {
  color: #c8b99a !important;
  background: rgba(200,185,154,.08) !important;
}
.ac-bf-segmented .ac-bf-mode.active {
  background: rgba(135,191,69,.15) !important;
  color: #87bf45 !important;
  font-weight: 600;
  box-shadow: 0 1px 4px rgba(0,0,0,.15);
}

/* Re-override modal's nuclear button reset for segmented */
.ac-modal .ac-bf-segmented .ac-bf-mode {
  background: transparent !important;
  border: none !important;
}
.ac-modal .ac-bf-segmented .ac-bf-mode.active {
  background: rgba(135,191,69,.15) !important;
}
.ac-modal .ac-bf-segmented .ac-bf-mode:hover {
  background: rgba(200,185,154,.08) !important;
}

/* ── Redesigned Slot Cards — wide horizontal layout ── */
.ac-bf-slot {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 16px 20px 14px !important;
  border: 1px solid rgba(200,185,154,.15) !important;
  border-radius: 14px !important;
  background: rgba(200,185,154,.03) !important;
  transition: all .2s;
  text-align: left !important;
  position: relative;
  overflow: hidden;
}
.ac-bf-wide .ac-bf-slot {
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
  flex-wrap: wrap;
}
.ac-bf-wide .ac-bf-slot-top {
  flex: 0 0 auto;
  min-width: 140px;
}
.ac-bf-wide .ac-bf-slot-range {
  display: none !important;
}
.ac-bf-wide .ac-bf-slot-prices {
  flex: 1;
  justify-content: flex-end;
  text-align: right;
}
.ac-bf-wide .ac-bf-slot-discount-bar {
  flex-basis: 100%;
  margin: 6px -20px -14px;
}
.ac-bf-slot:hover {
  border-color: rgba(200,185,154,.35) !important;
  background: rgba(200,185,154,.06) !important;
}
.ac-bf-slot.active {
  border-color: #87bf45 !important;
  border-left: 3px solid #87bf45 !important;
  background: rgba(135,191,69,.06) !important;
  box-shadow: 0 0 16px rgba(135,191,69,.1);
}

/* Slot top row: badge + nights pill */
.ac-bf-slot-top {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px;
  width: 100%;
}
.ac-bf-slot-badge {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.ac-bf-slot-dow {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #87bf45;
}
.ac-bf-slot-daynum {
  font-family: Alice, serif;
  font-size: 16px;
  color: #c8b99a;
  font-weight: 400;
}
.ac-bf-slot-nights-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 50px;
  border: 1px solid rgba(135,191,69,.3);
  background: rgba(135,191,69,.08) !important;
  font-size: 11px;
  font-weight: 600;
  color: #87bf45;
  white-space: nowrap;
}

/* Slot date range */
.ac-bf-slot-range {
  font-size: 12px;
  color: #888;
  letter-spacing: .2px;
}

/* Slot prices */
.ac-bf-slot-prices {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-top: 2px;
}
.ac-bf-slot-ppn {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #ddd !important;
  display: inline !important;
  margin: 0 !important;
}
.ac-bf-slot-ppn small {
  font-size: 11px;
  font-weight: 400;
  color: #888;
}
.ac-bf-slot-total {
  font-size: 11px;
  color: #777;
  white-space: nowrap;
}

/* Slot discount bar */
.ac-bf-slot-discount-bar {
  margin: 4px -16px -12px;
  padding: 5px 16px;
  background: rgba(135,191,69,.12) !important;
  font-size: 11px;
  font-weight: 700;
  color: #87bf45;
  letter-spacing: .3px;
  text-align: center;
}

/* Kill old ::before emoji from WP style.css */
.ac-bf-cal-hint::before {
  content: none !important;
  display: none !important;
}

/* ── Kalender-Hint Bar (below slots) ── */
.ac-bf-cal-hint-bar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px !important;
  border: 2px dashed rgba(200,185,154,.15) !important;
  border-radius: 12px !important;
  margin-top: 10px;
  min-height: auto !important;
  cursor: pointer;
  transition: all .3s;
}
.ac-bf-cal-hint-bar:hover {
  border-color: rgba(200,185,154,.35) !important;
  background: rgba(200,185,154,.04) !important;
}
.ac-bf-cal-hint-bar span {
  font-size: 13px !important;
  color: #999 !important;
}

/* ── Kalender-Hint Card (legacy 4th position) ── */
.ac-bf-cal-hint {
  border: 2px dashed rgba(200,185,154,.2) !important;
  border-radius: 14px !important;
  background: transparent !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all .3s;
  padding: 20px 16px;
  min-height: 100px;
}
.ac-bf-cal-hint:hover {
  border-color: rgba(200,185,154,.4) !important;
  background: rgba(200,185,154,.04) !important;
}
.ac-bf-cal-hint svg {
  animation: ac-pulse-icon 2s ease-in-out infinite;
}
@keyframes ac-pulse-icon {
  0%, 100% { opacity: .6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
}
.ac-bf-cal-hint span {
  font-size: 12px !important;
  color: #999 !important;
  line-height: 1.3;
}

/* ── Skeleton Loader ── */
.ac-bf-skeleton {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.ac-bf-skeleton-card {
  height: 110px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(200,185,154,.04) 25%, rgba(200,185,154,.1) 50%, rgba(200,185,154,.04) 75%);
  background-size: 200% 100%;
  animation: ac-shimmer 1.5s ease-in-out infinite;
}
@keyframes ac-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.ac-bf-loading-text {
  display: block;
  text-align: center;
  font-size: 13px;
  color: #888;
}
.ac-bf-main-loading {
  padding: 20px 0 !important;
}

/* ── Redesigned Cross-Sell Section ── */
.ac-bf-cross-section {
  margin-top: 16px;
}
.ac-bf-cross-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,185,154,.25), transparent);
  margin-bottom: 16px;
}
.ac-bf-cross-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.ac-bf-cross-header span {
  font-family: Alice, serif;
  font-size: 15px;
  color: #c8b99a;
}
.ac-bf-cross-date-label {
  font-size: 12px;
  color: #888;
  margin-bottom: 10px;
}
.ac-bf-cross-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* Override old cross-card styles for new layout — large prominent cards */
.ac-bf-cross-section .ac-bf-cross-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 16px !important;
  border: 1px solid rgba(200,185,154,.15) !important;
  border-radius: 16px !important;
  text-decoration: none !important;
  transition: all .25s;
  cursor: pointer;
  background: rgba(200,185,154,.04) !important;
  min-width: 0 !important;
  flex: none !important;
  width: 100% !important;
}
.ac-bf-cross-section .ac-bf-cross-card:hover {
  border-color: #87bf45 !important;
  background: rgba(135,191,69,.04) !important;
}
.ac-bf-cross-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(200,185,154,.1) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Alice, serif;
  font-size: 20px;
  color: #c8b99a;
  flex-shrink: 0;
}

/* Image slider in cross-sell cards — large prominent */
.ac-bf-cross-slider {
  width: 110px;
  height: 110px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
.ac-bf-cross-slide {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .5s ease;
}
.ac-bf-cross-slide.active {
  opacity: 1;
}
.ac-bf-cross-dots {
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 4px;
  z-index: 2;
}
.ac-bf-cross-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  transition: background .2s;
  cursor: pointer;
}
.ac-bf-cross-dot.active {
  background: #fff;
}
.ac-bf-cross-info {
  flex: 1;
  min-width: 0;
}
.ac-bf-cross-info strong {
  display: block !important;
  font-size: 14px !important;
  color: #c8b99a !important;
  margin-bottom: 2px !important;
}
.ac-bf-cross-cap {
  display: block !important;
  font-size: 11px !important;
  color: #777 !important;
}
.ac-bf-cross-price {
  display: block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #87bf45 !important;
  margin-top: 2px;
}
.ac-bf-cross-arrow {
  flex-shrink: 0;
  opacity: .5;
  transition: opacity .2s, transform .2s;
}
.ac-bf-cross-section .ac-bf-cross-card:hover .ac-bf-cross-arrow {
  opacity: 1;
  transform: translateX(3px);
}

/* ── Redesigned Price Box (Split Layout) ── */
.ac-bf-price-split {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(200,185,154,.2) !important;
  border-radius: 16px !important;
  margin: 20px 0;
}
.ac-bf-price-combo {
  width: 100%;
  padding: 10px 20px;
  font-size: 12px;
  color: #c8b99a;
  border-bottom: 1px solid rgba(200,185,154,.1);
  background: rgba(135,191,69,.05) !important;
}
.ac-bf-price-left {
  flex: 1 1 45%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(200,185,154,.1);
}
.ac-bf-price-right {
  flex: 1 1 45%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ac-bf-price-split .ac-bf-price-amount {
  font-family: Alice, serif;
  font-size: 30px;
  color: #c8b99a;
  line-height: 1.1;
  margin: 0;
}
.ac-bf-price-ppn-big {
  font-family: Alice, serif;
  font-size: 26px;
  color: #ddd;
  line-height: 1.1;
}
.ac-bf-price-sub {
  font-size: 11px;
  color: #888;
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.ac-bf-price-split .ac-bf-price-detail {
  font-size: 12px;
  color: #999;
  margin-top: 6px;
}
.ac-bf-price-footer {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  border-top: 1px solid rgba(200,185,154,.1);
  font-size: 12px;
  color: #999;
}

/* ── Section Titles ── */
.ac-bf-section-title {
  font-family: Alice, serif;
  font-size: 16px;
  color: #c8b99a;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(200,185,154,.15);
}

/* ── Unavailable state with icon ── */
.ac-bf-unavailable {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #e74c3c;
  text-align: center;
  padding: 20px 16px;
  font-size: 14px;
}

/* Re-apply modal overrides for new components */
.ac-modal .ac-bf-stepper-btn {
  background: rgba(200,185,154,.08) !important;
  border: 1px solid rgba(200,185,154,.3) !important;
}
.ac-modal .ac-bf-stepper-btn:hover {
  background: rgba(200,185,154,.18) !important;
}
.ac-modal .ac-bf-slot-nights-pill {
  background: rgba(135,191,69,.08) !important;
}
.ac-modal .ac-bf-slot-discount-bar {
  background: rgba(135,191,69,.12) !important;
}
.ac-modal .ac-bf-cross-icon {
  background: rgba(200,185,154,.1) !important;
}
.ac-modal .ac-bf-price-split {
  background: rgba(200,185,154,.04) !important;
}
.ac-modal .ac-bf-price-combo {
  background: rgba(135,191,69,.05) !important;
}
.ac-modal .ac-bf-cross-section .ac-bf-cross-card {
  background: rgba(200,185,154,.03) !important;
}
.ac-modal .ac-bf-cross-section .ac-bf-cross-card:hover {
  background: rgba(135,191,69,.04) !important;
}
.ac-modal .ac-bf-cross-slider {
  background: rgba(200,185,154,.08) !important;
}
.ac-modal .ac-bf-skeleton-card {
  background: linear-gradient(90deg, rgba(200,185,154,.04) 25%, rgba(200,185,154,.1) 50%, rgba(200,185,154,.04) 75%) !important;
  background-size: 200% 100%;
}
.ac-modal .ac-bf-capacity-bar {
  background: rgba(200,185,154,.1) !important;
}

/* ── Mobile Responsive for Redesign ── */
@media (max-width: 500px) {
  .ac-bf-segmented .ac-bf-mode {
    font-size: 10px !important;
    padding: 7px 4px !important;
  }
  .ac-bf-stepper-btn {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
  }
  .ac-bf-stepper-value {
    font-size: 30px;
    width: 52px;
  }
  .ac-bf-price-split {
    flex-direction: column;
  }
  .ac-bf-price-left {
    border-right: none;
    border-bottom: 1px solid rgba(200,185,154,.1);
    padding: 16px;
    text-align: center;
  }
  .ac-bf-price-right {
    padding: 16px;
    text-align: center;
  }
  .ac-bf-slot-prices {
    flex-direction: column;
    gap: 2px;
  }
  .ac-bf-cross-section .ac-bf-cross-card {
    gap: 10px;
    padding: 12px !important;
  }
  .ac-bf-cross-icon {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
  .ac-bf-skeleton {
    grid-template-columns: 1fr;
  }
}
