/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
/*general styles*/
.elementor-widget-woocommerce-cart .woocommerce{
	font-family:var(--e-global-typography-12bab43-font-family);
}
.upload-btn-wrapper {
    position: relative;
    overflow: hidden;
}
.thwcfe-checkout-file-btn {
  
    width: 100%;
    position: absolute;
    left: 0;
    margin-top: -10%;
    top: 0;
    opacity: 0;
}
.woocommerce td.product-name dl.variation p{
	display:inline-block;
}
form select {
  appearance: none;
  @supports (appearance: base-select) {
    &,
    &::picker(select) {
      appearance: base-select;
    }
  }
}

form select {
  display: flex;
  justify-content: space-between;
  min-width: 300px;
  align-items: center;
  padding-block: 18px;
  padding-inline: 10px 30px;
  border-radius: 12px;
	margin-bottom:15px;
	border:0;
  cursor: pointer;
  background: #F6F6F6
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23000' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E%0A")
    right 10px center / 20px no-repeat;
  @supports (appearance: base-select) {
    padding-inline: 18px;
    background-image: none;
    &::picker-icon {
      content: "";
      width: 20px;
      height: 20px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23000' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E%0A");
      transition: rotate 0.2s ease-out;
    }
    &:open::picker-icon {
      rotate: 180deg;
    }
    &::picker(select) {
      padding: 0;
      margin: 5px 0;
      border: 2px solid #999;
      background: white;
      border-radius: 12px;
      opacity: 0;
      height: 0;
      overflow: clip;
      transition: height 0.5s ease-out, opacity 0.5s ease-out, overlay 0.5s,
        display 0.5s;

      transition-behavior: allow-discrete;
    }
    &:open::picker(select) {
      opacity: 1;
      height: calc-size(auto, size);
      overflow: auto;
      @starting-style {
        opacity: 0;
        height: 0;
      }
    }
    option {
      padding: 15px;
      
      cursor: pointer;
      transition-property: color, background;
      transition-duration: 0.2s;
      transition-timing-function: ease-out;
      &:where(:hover, :focus, :active) {
        background: var(--e-global-color-7f5c032);
        color: white;
      }
      &:checked {
        background: #999;
        color: #FFF;
      }
      &::checkmark {
        display: none;
      }
      &:first-child {
        border: 0;
      }
    }
  }
}
@media screen and (max-width: 575px) {
    body.user-registration-page #user-registration:not(.user-registration-MyAccount), body.user-registration-page .user-registration:not(.user-registration-MyAccount), body.user-registration-membership_page_user-registration-login-forms #user-registration:not(.user-registration-MyAccount), body.user-registration-membership_page_user-registration-login-forms .user-registration:not(.user-registration-MyAccount) {
        padding:20px 10px;
    }

.ur-frontend-form.login{
    padding:20px;
}
    
}
/* Add your custom styles here */
.bv_booking .mphb-calendar .mphb-datepicker-minimal.datepick, 
.bv_booking .datepick-popup .mphb-datepicker-minimal.datepick{
	width:100% !important;
	font-size:16px;
}
.bv_booking .mphb-calendar .mphb-datepicker-minimal .datepick-nav,
.bv_booking .datepick-popup .mphb-datepicker-minimal .datepick-nav{
	border-radius:10px 10px 0 0;
	padding:10px;
}
.bv_booking .mphb-calendar .datepick-month td{
	padding:7px 2px;
}
.bv_booking .mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td a, 
.bv_booking .mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td span{
	padding:7px;
	border-radius:7px;
}
.bv_booking .mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-ctrl{
	border-radius: 0 0 10px 10px;
	padding:10px;
}
.bv_form input[type="text"]{
	border:1px solid transparent;
	outline:none;
	background:#F6F6F6;
	border-radius:12px;
	text-align:center;
	height:60px;
}
.bv_form input[type="text"]:focus{
	border-color:#202656;
}
.bv_form input[type="submit"].button{
	background:#202656;
	color:#FFF;
	border:none;
	border-radius:12px;
	height:60px;
}
.bv_form input[type="submit"].button:hover{
	background:#222222;
}
.bv_booking .mphb-selectable-date--check-in{
	border:1px solid #24dd00;
}
.bv_booking .mphb-mark-as-unavailable--check-in {
	background: #a90000 !important;
}
.bv_booking .mphb-selectable-date--check-out{
	border:1px solid var(--e-global-color-7f5c032);
}
/*Search result page*/
.bv_search .mphb-room-type{
	overflow: hidden;
    display: block;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
    border-radius: 12px;
    padding: 15px;
}
.bv_search .mphb-room-type .post-thumbnail{
	float:left;
	display:block;
	margin:0 35px 0 0;
}
.bv_search .mphb-room-type .post-thumbnail a{
	display:block;
	border-radius:12px;
	overflow:hidden;
	width:350px;
	height:250px;
}
.bv_search .mphb-room-type p{
	margin:15px 0;
}
.bv_search.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-rooms-reservation-message-wrapper .mphb-remove-from-reservation{
	background: #fb0000;
	color: #FFF;
	padding: 7px 10px;
	font-size:14px;
	border-radius: 7px;
}
@media screen and (max-width:1024px){
	.bv_search{
		text-align:center;
	}
	.bv_search .mphb-room-type{
		max-width:380px;
		margin:0 auto;
	}
	.bv_search .mphb-room-type .post-thumbnail{
		margin:0 0 25px 0;
		float:none;
	}
	.bv_search .mphb-room-type .post-thumbnail a{
		width:100%;
	}
	.bv_search.mphb_sc_search_results-wrapper .mphb-reservation-cart .mphb-reservation-details,
	.bv_search.mphb_sc_search_results-wrapper .mphb-reservation-cart .mphb-confirm-reservation,
	.bv_search.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-rooms-reservation-message-wrapper .mphb-remove-from-reservation,
	.bv_checkoutform .mphb-booking-details .mphb-check-in-date,
	.bv_checkoutform .mphb-booking-details .mphb-check-out-date{
		float:none;
	}
	.bv_search.mphb_sc_search_results-wrapper .mphb-reservation-cart .mphb-cart-message{
		margin:20px 0;
	}
	.bv_search .mphb-confirm-reservation{
		margin-top:15px;
	}
}
/*checkout page*/
.bv_checkoutform .mphb-booking-details{
	border:1px solid #EEE;
	padding:45px 20px;
	border-radius:12px;
	position:relative;
}
.bv_checkoutform .mphb-booking-details .mphb-check-in-date,
.bv_checkoutform .mphb-booking-details .mphb-check-out-date {
   display:inline-block;
    background: #4bd900;
    padding: 15px 40px;
	color:#FFF;
    border-radius: 12px;    
}
.bv_checkoutform .mphb-booking-details .mphb-check-out-date {
	background: #d9001c;
	margin-left:25px;
}
.bv_checkoutform .mphb-booking-details .mphb-check-in-date>span:first-child,
.bv_checkoutform .mphb-booking-details .mphb-check-out-date >span:first-child{
	display:block;
	text-align:center;
	margin-bottom:10px;
	font-size:18px;
}
.bv_checkoutform .mphb-booking-details .mphb-reserve-rooms-details {
    clear: both;
	margin-top:25px;
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );
	grid-gap: 2em;
}
.bv_checkoutform .mphb-booking-details .mphb-reserve-rooms-details ,
.bv_checkoutform  .mphb-price-breakdown-dates,
.bv_checkoutform  .mphb-price-breakdown-date{
	display:none;
}
.bv_checkoutform input[type="text"],
.bv_checkoutform input[type="email"],
.bv_checkoutform .bv_input input,
.bv_checkoutform .bv_input textarea{
	border:1px solid transparent;
	outline:none;
	background:#F6F6F6;
	border-radius:12px;
	min-height:60px;
}
.bv_checkoutform .bv_upload input{
	border:1px solid transparent;
	padding:15px;
	background:#F6F6F6;
	border-radius:12px;
	width:100%;
}
.bv_checkoutform input[type="text"]:focus,
.bv_checkoutform input[type="email"]:focus,
.bv_checkoutform .bv_input input:focus,
.bv_checkoutform .bv_input textarea:focus{
	border-color:#202656;
}
.bv_checkoutform .bv_upload >span{
	font-size:12px;
	color:#999999;
	margin-bottom:10px;
}
.bv_checkoutform .mphb-booking-details .mphb-guest-name-wrapper{
	margin:40px 0;
}
.bv_checkoutform  label{
	color: var(--e-global-color-7f5c032);
	margin-bottom:10px;
	font-size:16px;
}
.bv_checkoutform .mphb-booking-details .mphb-services-details-title{
	font-size:18px;
	color: var(--e-global-color-dd438ae);
}
.bv_checkoutform .mphb-booking-details .mphb_sc_checkout-services-list{
	display: grid ;
	grid-template-columns: repeat( auto-fit, minmax(150px, 1fr) );
	column-gap: 10px;
  	row-gap: 15px;
	padding:10px;
}
.bv_checkoutform .mphb-booking-details .mphb-room-details {
    /* background: #f7f7f7; */
    padding: 25px 45px;
    border-radius: 24px;
    margin-top: 40px;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.03);
}
.bv_checkoutform .mphb-booking-details .mphb-room-details .mphb-room-number{
	font-size:18px;
	color: var(--e-global-color-b4f433f);
}
.bv_checkoutform .mphb-room-price-breakdown-wrapper,
.bv_checkoutform .mphb-checkout-section{
	border:1px solid #EEE;
	padding:45px 20px;
	border-radius:12px;
	position:relative;
	margin-bottom:35px;
}
.bv_checkoutform .mphb-booking-details .mphb-booking-details-title,
.bv_checkoutform .mphb-room-price-breakdown-wrapper .mphb-price-breakdown-title,
.bv_checkoutform .mphb-checkout-section .mphb-customer-details-title,
.bv_checkoutform .mphb-checkout-section .mphb-gateway-chooser-title{
	font-size: 16px;
    margin: 0;
    background: #FFF;
    padding: 15px;
    border: 1px solid #EEE;
    border-radius: 10px;
    top: -30px;
    position: absolute;
    left: 40px;
    min-width: 250px;
	color: var(--e-global-color-7f5c032);
    text-align: center;
}
.bv_checkoutform table tbody>tr:nth-child(odd)>td,
.bv_checkoutform table tbody>tr:nth-child(odd)>th,
.bv_checkoutform table td, 
.bv_checkoutform table th,
.bv_checkoutform table tbody tr:hover>td, 
.bv_checkoutform table tbody tr:hover>th{
	border:0;
}

.bv_checkoutform table >tfoot th{
	background:var(--e-global-color-7f5c032);
	color:#FFF;
	text-align:start;
}
.bv_checkoutform .mphb-customer-details {
	display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2rem;
}


.bv_checkoutform .mphb-total-price{
	text-align:end;
}
.bv_checkoutform .mphb-reservation-submitted-title{
	text-align:center; 
}
.bv_checkoutform .mphb_sc_checkout-success-reservation-message{
	text-align:center;
	color:#4bd900;
}
.bv_checkoutform .mphb-terms-and-conditions-link{
	color:#999;
	text-decoration:underline;
}
/*Account Page*/
.bv_account  .mphb-account-menu{
	float:none;
	width:auto;
	margin-bottom:15px;
	grid-template-columns: 1fr 1fr;
}
.bv_account  .mphb-account-menu ul{
	padding:0;
	margin:0;
	list-style:none;
	display:grid;
	grid-gap: 15px;
	grid-template-columns: repeat( auto-fit, minmax(75px, 1fr) );
	
}
.bv_account  .mphb-account-menu ul li a{
	display:block;
	border:1px solid #EEE;
	border-radius:7px;
	padding:10px;
	font-size:15px;
	text-align:center;
	color:var(--e-global-color-7f5c032);
}
.bv_account  .mphb-account-menu ul li a:hover{
	background:var(--e-global-color-7f5c032);
	color:#FFF;
}
.bv_account .mphb-account-content{
	float:none;
	width:auto;
	border:1px solid #EEE;
	border-radius:7px;
	padding:30px 45px;
}
.bv_account .mphb-login-form input[type="text"],
.bv_account .mphb-login-form input[type="password"],
.bv_account .mphb-account-details-form input[type="text"],
.bv_account .mphb-account-details-form input[type="email"],
.bv_account .mphb-account-details-form input[type="password"]{
	border:1px solid transparent;
	outline:none;
	background:#F6F6F6;
	border-radius:12px;
	min-height:60px;
	margin-bottom:15px;
}
.bv_account .mphb-login-form .button,
.bv_account .mphb-account-details-form .button{
	margin:15px 0;
}
.bv_account .mphb-account-details{
	display:grid;
	grid-gap: 15px;
	grid-template-columns: repeat( auto-fit, minmax(500px, 1fr) );
}
.bv_account .mphb-account-change-password{
	margin-top:40px;
	padding-top:30px;
	border-top:1px solid #EEE;
}
.bv_account .mphb-account-change-password .mphb-account-old-password{
	margin-top:40px;
}
.bv_account .mphb-data-incorrect,
.bv_account .mphb-data-success{
	background: #ef2d2d;
    padding: 20px;
    border-radius: 12px;
    margin: 15px 0;
    color: #FFF;
}
.bv_account .mphb-data-success {
    background: #69df00;
}
/*reservation page*/
.bv_confirm.mphb_sc_booking_confirmation .mphb-booking-details-section .mphb-booking-details{
	border:1px solid #EEE;
	padding: 25px;
    padding-bottom: 0;
    margin-bottom: 25px;
    border-radius: 12px;
}
@media screen and (min-width:1024px){
	.bv_checkoutform .mphb-customer-details .mphb-customer-note{
		grid-column-end: 3;
		grid-column-start: 1;
	}
	.bv_checkoutform .mphb-customer-details .mphb-required-fields-tip{
		margin-bottom:25px;
		grid-column-end: 3;
		grid-column-start: 1;
	}
}
@media screen and (max-width:1024px){
	.bv_search{
		text-align:center;
	}
	.bv_search .mphb-room-type{
		max-width:380px;
		margin:0 auto;
	}
	.bv_search .mphb-room-type .post-thumbnail{
		margin:0 0 25px 0;
		float:none;
	}
	.bv_search .mphb-room-type .post-thumbnail a{
		width:100%;
	}
	.bv_search.mphb_sc_search_results-wrapper .mphb-reservation-cart .mphb-reservation-details,
	.bv_search.mphb_sc_search_results-wrapper .mphb-reservation-cart .mphb-confirm-reservation,
	.bv_search.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-rooms-reservation-message-wrapper .mphb-remove-from-reservation,
	.bv_checkoutform .mphb-booking-details .mphb-check-in-date,
	.bv_checkoutform .mphb-booking-details .mphb-check-out-date{
		float:none;
	}
	.bv_search.mphb_sc_search_results-wrapper .mphb-reservation-cart .mphb-cart-message{
		margin:20px 0;
	}
	.bv_search .mphb-confirm-reservation{
		margin-top:15px;
	}
	.bv_checkoutform .mphb-customer-details{
		grid-template-columns: 1fr;
	}
	.bv_checkoutform .mphb-booking-details .mphb-booking-details-title,
	.bv_checkoutform .mphb-room-price-breakdown-wrapper .mphb-price-breakdown-title,
	.bv_checkoutform .mphb-checkout-section .mphb-customer-details-title,
	.bv_checkoutform .mphb-checkout-section .mphb-gateway-chooser-title{
		min-width:150px;
	}
	.bv_checkoutform .mphb-total-price{
		text-align:center;
	}
	.bv_checkoutform .mphb_sc_checkout-submit-wrapper{
		text-align: center;
    	margin-top: 25px;
	}
	
}
.alert{
	position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
	color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff;
}
.woocommerce table.my_account_bookings,
.woocommerce .shop_table.booking_details{
	padding:var(--sections-padding,16px 30px);
}
.select2-container .select2-selection--multiple{
	min-height:45px;
}
.yith-wcbk-booking-search-form__row--submit .yith-wcbk-booking-search-form__row__content{
	max-width:100%;
	text-align: center;
    margin-top: 20px;
} 
.yith-wcbk-booking-search-form__fields{
	text-align:center;
}
.yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__row__label{
	margin-bottom:10px;
}
.yith-wcbk-booking-search-form.yith-wcbk-booking-search-form--horizontal-layout button.yith-wcbk-booking-search-form-submit{
	width:100%;
}
input.yith-wcbk-date-picker{
	left:0;
}
/*bv filter Styles*/
.bv-chalet-filter-form {
    max-width: 780px;
    margin: 10px auto;
    padding: 22px 26px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Labels */
.bv-form-group label {
    font-size: 14px;
    font-weight: 600;
    color: #1e2a5a;
    margin-bottom: 5px;
    display: block;
}

/* Select */
.bv-chalet-filter-form select {
    height: 42px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1px solid #e4e7ec;
    background: #f9fafb;
    font-size: 13px;
}

/* Amenities */
.bv-amenities-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bv-amenity-checkbox {
    padding: 7px 14px;
    border-radius: 30px;
    border: 1px solid #e6e8ec;
    background: #f4f6fb;
    font-size: 12px;
    cursor: pointer;
    transition: 0.2s;
}

.bv-amenity-checkbox input {
    display: none;
}

.bv-amenity-checkbox:hover {
    border-color: #253b8a;
    background: #eef2ff;
}

.bv-amenity-checkbox:has(input:checked) {
    background: #253b8a;
    color: #fff;
    border-color: #253b8a;
}

/* Dates Section */

.bv-dates-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.bv-date-group label {
    font-size: 13px;
    margin-bottom: 4px;
}

.bv-date-group input {
    height: 40px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid #e4e7ec;
    font-size: 13px;
}

/* Button */
.bv-search-btn {
    height: 44px;
    border-radius: 12px;
    background: #253b8a;
    color: #fff;
    border: none;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: 0.2s;
}

.bv-search-btn:hover {
    background: #1a2d6b;
}
/* Fix for Mac rendering differences */
.bv-amenities-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0; /* Remove whitespace between inline elements */
}

.bv-amenity-checkbox {
    font-size: 12px; /* Reset font size */
    display: inline-flex;
    align-items: center;
    margin: 0; /* Remove any default margins */
    line-height: 1; /* Consistent line height */
}

/* Ensure consistent box model */
.bv-chalet-filter-form * {
    box-sizing: border-box;
}

/* Fix for any potential whitespace issues */
.bv-form-group,
.bv-row-dates,
.bv-dates-container,
.bv-date-group {
    line-height: 1;
    margin: 0;
    padding: 0;
}

/* Reset any browser-specific spacing */
select, input, button {
    line-height: normal;
    margin: 0;
}
/* Target Safari on Mac specifically */
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution: 0.001dpcm) { 
    .bv-chalet-filter-form {
        margin: 8px auto; /* Slightly adjusted for Safari */
        padding: 20px 24px; /* Slightly adjusted padding */
        line-height: 1;
    }
    
    /* Reset any extra spacing in Safari */
    .bv-chalet-filter-form select,
    .bv-chalet-filter-form input,
    .bv-chalet-filter-form button {
        margin: 0;
        -webkit-appearance: none;
        appearance: none;
    }
}

/* Target all Mac browsers (WebKit) */
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { 
    .bv-chalet-filter-form {
        margin: 8px auto;
    }
}