/*!
Theme Name: 960 Maldives
Theme URI:
Author: Zemez
Author URI:
Description: 960 Maldives theme.
Template: kava
Version: 1.0.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kava-child
*/


img {
  display: block;
  vertical-align: top;
}


/* Booking form on Villa/Room popup */

.booking-form hr.wp-block-separator {
    border-top: 1px solid !important;
	margin: 16px 0 !important;
}

.unit-counter .jet-form-builder-repeater__items { counter-reset: unit; }

.unit-counter .jet-form-builder-repeater__row{
  flex-direction: column;
  align-items: stretch;
}

.unit-counter .jet-form-builder-repeater__row::before{
  counter-increment: unit;
  content: "Unit " counter(unit) ":";
  display: block;
  font-weight: 600;
  margin: 0 0 .5rem;
}

.unit-counter .jet-form-builder-repeater__item::before{
  counter-increment: unit;
  content: "Unit " counter(unit) ":";
  display: block;
  font-weight: 600;
  margin: 0 0 .5rem;
}

.booking-form input[type='text'], .booking-form input[type='email'], .booking-form input[type='url'], .booking-form input[type='password'], .booking-form input[type='search'], .booking-form input[type='number'], .booking-form input[type='tel'], .booking-form input[type='range'], .booking-form input[type='date'], .booking-form input[type='month'], .booking-form .booking-form input[type='week'], .booking-form input[type='time'], .booking-form input[type='datetime'], .booking-form input[type='datetime-local'], .booking-form select, .booking-form textarea {
    border: 1px solid #d9d9d9 !important;
    -webkit-border-radius: 0px !important;
    border-radius: 0px !important;
}

.booking-form :where(.wp-block-columns.is-layout-flex) {
    gap: 0em;
}

.booking-form .field-type-radio-field .jet-form-builder__field-label.for-radio :checked+span,
.booking-form .jet-form-builder__label-text:nth-last-of-type(2),
.booking-form .jet-form-builder__calculated-field,
.booking-form .jet-form-builder__label {
	font-weight: 500 !important;
}

.booking-form .total-price .jet-form-builder__label-text, 
.booking-form .total-price .jet-form-builder__calculated-field {
	color: var(--e-global-color-primary) !important;
    font-size: var(--e-global-typography-secondary-font-size) !important;
    font-weight: var(--e-global-typography-secondary-font-weight) !important;
    text-transform: var(--e-global-typography-secondary-text-transform) !important;
    line-height: var(--e-global-typography-secondary-line-height) !important;	
}

.booking-form .wp-block-columns {
    margin-bottom: 0 !important;
}



/* Booking form on Single property page (Holizontal form) */

.booking-horizontal-form form.jet-form-builder {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
	justify-content: space-between;
}

.booking-horizontal-form form.jet-form-builder .jet-form-builder-row {
	padding: 0;
}

.booking-horizontal-form form.jet-form-builder .jet-form-builder-row input.jet-abaf-field__input,
.booking-filter-form .date-range .jet-date-period__datepicker-button {
  	background: url('/wp-content/uploads/2025/05/checkin-out.svg') no-repeat 10px center;
  	background-size: 26px;
}

.booking-horizontal-form form.jet-form-builder .jet-form-builder-row .jet-form-builder__field-wrap input.travellers,
.booking-filter-form .travellers .jet-smart-filters-select .jet-select__control {
  	background: url('/wp-content/uploads/2020/01/user-not-logged-in.svg') no-repeat 10px center;
  	background-size: 26px;
}

.booking-horizontal-form form.jet-form-builder .jet-form-builder-row .jet-form-builder__field-wrap select.room-types,
.booking-filter-form .property-types .jet-smart-filters-select .jet-select__control {
  	background: url('/wp-content/uploads/2025/05/villa-room.svg') no-repeat 10px center;
  	background-size: 26px;
}

.booking-filter-form .date-range .jet-date-period__datepicker-button,
.booking-filter-form .travellers .jet-smart-filters-select .jet-select__control,
.booking-filter-form .property-types .jet-smart-filters-select .jet-select__control {
	padding-left: 46px !important;
}

.booking-horizontal-form .jet-sm-gb-wrapper {
	width: 26.5%;
}

.booking-horizontal-form .jet-sm-gb-wrapper.jet-sm-gb-470ed0f0-39fd-4ea3-8e3c-639352c30ddd {
	width: 17%;
}

.booking-horizontal-form form.jet-form-builder .jet-form-builder__field:not(.checkradio-field):not(.range-field):not(.jet-form-builder-repeater):not(.wysiwyg-field) {
	padding: 12px 20px 12px 46px !important;
}

.booking-filter-form .jet-date-period__datepicker {
    width: 100%;
}

.booking-horizontal-form form.jet-form-builder input.jet-abaf-field__input.jet-form-builder__field::placeholder,
.booking-horizontal-form form.jet-form-builder input.jet-form-builder__field.text-field.travellers::placeholder {
  	color: var(--e-global-color-text);

}

.booking-horizontal-form form.jet-form-builder .jet-form-builder__field:not(.checkradio-field):not(.range-field):not(.jet-form-builder-repeater):not(.wysiwyg-field),
.booking-filter-form .jet-select__control {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.booking-filter-form .jet-date-period__datepicker-button svg {
	display: none;
}


/* Booking form on Homepage */

.booking-form-homepage input.jet-date-range__control::placeholder {
  	color: var(--e-global-color-77e02bd);
}










.listing-grid .jet-listing-grid__slider .jet-slick-dots li {
	border: 1px solid var(--e-global-color-secondary);
}

.listing-grid .jet-listing-grid__slider-icon,
.listing-picture .jet-listing-dynamic-field .jet-engine-arrow,
.listing-picture .jet-listing-grid__slider-icon {
	border-radius: 50% 50% 50% 50%;
}

.listing-picture .jet-listing-dynamic-field .jet-engine-arrow {
	margin-left: 12px;
	margin-right: 12px;
}

.listing-details ul {
	margin: 0;
}

.listing-details ul li {
	list-style: none;
}

.listing-details h3 {
	line-height: 1em !important;
}

.listing-details h3, .listing-details h4 {
	margin: 0;
}

.listing-details .jet-check-list__item {
    padding: 0;
}

.listing-details .jet-listing-dynamic-field__content h4 {
	font-size: var(--e-global-typography-b9cb82c-font-size);
    font-weight: var(--e-global-typography-b9cb82c-font-weight);
	margin-bottom: 4px;
}

.listing-details p {
	margin-block-end: 0px !important;
}






.textmiddle {
    font-size: var(--e-global-typography-40c8325-font-size);
    font-weight: var(--e-global-typography-40c8325-font-weight);
}

.textsmall {
	font-size: var(--e-global-typography-81d7e61-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
	color: var(--e-global-color-text);
}



.price-singlepage-listinggrid {
	line-height: 1.3em;
}

.price-singlepage-listinggrid span {
	font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
}

.price-mapitem span {
	font-size: var(--e-global-typography-40c8325-font-size);
    font-weight: var(--e-global-typography-40c8325-font-weight);
}




.listing-details h3 a.jet-listing-dynamic-link__link {
  	line-height: 1.2em !important;
}

/* Highlight bullet list on card*/
/* One UL → 4 + 4 equal columns */
.je-card-bullets {
	margin: 0;
	padding: 0;
  	display: grid;
  	grid-template-columns: 1fr 1fr;          /* equal columns */
  	grid-template-rows: repeat(4, 1.45em);   /* fixed row height to line up rows */
  	grid-auto-flow: column;                  /* fill down left, then right */
  	gap: 1px 24px;
  	font-size: var(--e-global-typography-0fec796-font-size);
	line-height: 1.45;
}

.je-card-bullets li {
	list-style: disc !important;
  	position: relative;
	margin-left: 12px;
  	white-space: nowrap;
	
	text-overflow: ellipsis;  /* keep one line */
}


.similar-property .je-card-bullets {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-auto-flow: row;
    gap: 2px 12px;
}






.highlights .jet-check-list__item {
	padding: 0;
}

.villa-listing-price span {
	font-weight: var(--e-global-typography-40c8325-font-weight) !important;
}

.villa-listing-cta .elementor-button-icon svg {
    width: 26px;
}

.overview .elementor-icon-box-title {
	border-bottom: 1px solid rgba(31, 177, 101, 0.5);
}

.content-text strong,
.amenities strong,
.amenities2 strong {
	font-weight: 400 !important;
}

.content-text2 h2 {
	margin-bottom: 0px;
}

.content-text p,
.content-text2 p {
	text-align: justify;
}

.content-text ul,
.content-text2 ul {
	list-style: none;
	margin-left: 0px;
}

.content-text2 h2,
.content-text2 ul {
	padding: 0 8.5%;
}

.content-text li p,
.content-text2 li p {
	text-align: left;
}


/* Two Columns on Cabin details */
.two-columns-2 {
  	display: grid;
  	grid-template-columns: repeat(2, minmax(0, 1fr));
  	gap: 16px; /* row+column gap */
}

@media (max-width: 767px) {
  	.two-columns-2 {
		grid-template-columns: 1fr; }
}


/* align icon + content to the top */
.amenities .jet-check-list__item,
.amenities2 .jet-listing-dynamic-field__inline-wrap,
.amenities2 .jet-listing-dynamic-terms {
	display: flex; 
  	align-items: flex-start !important;
}

.jet-check-list__item .jet-listing-dynamic-field__icon {
    align-self: flex-start;
}

.amenities .jet-listing-dynamic-field__icon,
.amenities2 .jet-listing-dynamic-field__icon,
body:not(.rtl) .amenities2 .jet-listing-dynamic-terms__icon {
    margin-top: 9px !important;
}



.table-content table,
table.schedule-table {
	width: 100%;
	margin-bottom: 32px;
}

.table-content td {
	padding: 6px;
	text-align: center;
	border: 1px solid var(--e-global-color-7af54c6);
}

.table-content th {
	padding: 6px;
	border: 1px solid var(--e-global-color-7af54c6);
	color: var(--e-global-color-primary);
	text-align: center;
	background-color: var(--e-global-color-034feaa);
	font-weight: 300;
}

.table-content strong {
	font-weight: 400;
	color: var(--e-global-color-primary);
}
















.two-columns .elementor-widget-container {
  	-webkit-column-count: 2 !important;
  	-moz-column-count: 2 !important;
  	column-count: 2 !important;

  	-webkit-column-width: auto !important;
  	-moz-column-width: auto !important;
  	column-width: auto !important;

  	-webkit-column-gap: 48px !important;
  	-moz-column-gap: 48px !important;
  	column-gap: 48px !important;

  	-webkit-column-fill: auto !important;
  	-moz-column-fill: auto !important;
  	column-fill: auto !important;

  	-webkit-column-rule: initial;
  	column-rule: initial;
}

@media (max-width:1024px){
  .two-columns .elementor-widget-container {
    -webkit-column-count: 1 !important;
    -moz-column-count: 1 !important;
    column-count: 1 !important;
  }
}

.two-columns h3 {
  	margin: 0 0 .25rem;
  	-webkit-column-break-after: avoid;
  	break-after: avoid-column;
}

.two-columns h3 + p {
  	margin: 0 0 1rem;
  	-webkit-column-break-before: avoid;
  	break-before: avoid-column;
  	-webkit-column-break-inside: avoid;
  	break-inside: avoid-column; /* don't split the paragraph itself */
}

.two-columns,
.two-columns p {
  	text-align: left !important;
  	hyphens: auto;
  	-webkit-hyphens: auto;
  	overflow-wrap: break-word;
}

.amenities h3 {
	font-family: var(--e-global-typography-primary-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-primary-font-size) !important;
    font-weight: var(--e-global-typography-primary-font-weight) !important;
	color: var(--e-global-color-text) !important;
	margin: 0 0 12px 0;
}

.amenities .jet-check-list__item {
	padding: 0;
}

.listing-details .jet-check-list {
	align-items: flex-start;
}

.booking-form .jet-form-builder__fields-group {
    gap: 0.1em 0.7em !important;
}

.booking-form .jet-form-builder-row {
    column-gap: 12px;
}

.normal-transform-weight .jet-unfold__button {
	text-transform: none !important;
}

.paragraph-none-margin-bottom p {
	margin-bottom: 0px !important
}

/* Number of room filter */
.room-filter .jet-radio-list__decorator {
	display: none;
}

.all-rooms.elementor-widget-jet-smart-filters-remove-filters {
    display: block !important;
}

.all-rooms .jet-remove-all-filters.hide {
    display: flex !important;
}

#toTop {
    right: 16px !important;
	bottom: 16px !important;
}

#toTop:before {
    font-size: 32px !important;
    border-radius: 32px;
    border: 2px solid var(--e-global-color-accent);
    padding: 0 6px;
	color: var(--e-global-color-accent);
	background-color: var(--e-global-color-77e02bd);
}

.overview .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon {
    margin-inline: inherit !important;
}





/* Homepage */

.filter-top .jet-range__slider {
	margin: 0 0 10px !important;
}

.property-type-filter .jet-color-image-list__button,
.property-type-filter .jet-color-image-list__decorator,
.property-type-filter .jet-filters-counter {
	display: block;
}

.why-choose-us .elementor-icon svg {
    height: auto !important;
}


/***************
 Equal cards + pinned CTA + no overlap (Elementor + JetEngine)
****************/

.jet-listing-grid .slick-slide > div { 
	height: 100%;
}

.card-equal { height: 100%; }
.card-equal > .e-con-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card-body {
  --container-widget-flex-grow: 1;
  flex: 1 1 auto !important;
}

.card-cta { margin-top: auto; }

.card-body .elementor-widget-text-editor {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}




























/* Map listing page */
.vertical-scrollbar {
  	max-height: 100vh;
  	overflow-y: auto;
}

body.page-id-1811,
body.page-id-11350,
#elementor-popup-modal-11576 .dialog-message,
#elementor-popup-modal-11559 .dialog-message,
#elementor-popup-modal-11658 .dialog-message{
	overflow-y: hidden;
}




@media (max-width: 1066px) and (min-width: 963px) {
	.booking-horizontal-form .jet-sm-gb-wrapper {
		width: 25.5%;
	}

	.booking-horizontal-form .jet-sm-gb-wrapper.jet-sm-gb-470ed0f0-39fd-4ea3-8e3c-639352c30ddd {
		width: 19.6%;
	}
}

@media (max-width: 962px) and (min-width: 822px) {
	.booking-horizontal-form .jet-sm-gb-wrapper {
		width: 24%;
	}

	.booking-horizontal-form .jet-sm-gb-wrapper.jet-sm-gb-470ed0f0-39fd-4ea3-8e3c-639352c30ddd {
		width: 23%;
	}
}

@media (max-width: 821px) and (min-width: 768px) {
	.booking-horizontal-form .jet-sm-gb-wrapper {
		width: 25%;
	}

	.booking-horizontal-form .jet-sm-gb-wrapper.jet-sm-gb-470ed0f0-39fd-4ea3-8e3c-639352c30ddd {
		width: 20%;
	}
}


@media only screen and (max-width: 767px) {
	.booking-horizontal-form .jet-sm-gb-wrapper,
	.booking-horizontal-form .jet-sm-gb-wrapper.jet-sm-gb-470ed0f0-39fd-4ea3-8e3c-639352c30ddd{
		width: 100%;
	}
	
	.booking-horizontal-form form.jet-form-builder .jet-form-builder__field:not(.checkradio-field):not(.range-field):not(.jet-form-builder-repeater):not(.wysiwyg-field),
	.booking-horizontal-form form.jet-form-builder .jet-form-builder__submit-wrap {
        width: 100% !important;
		margin-bottom: 12px
    }
	
	.booking-horizontal-form form.jet-form-builder {
    	display: block;
	}
	
	.booking-horizontal-form .elementor-widget-jet-form-builder-form {
		width: 100%;
	}
	
	.amenities .jet-check-list__item {
    	padding-bottom: 12px;
	}
	
	.similar-property .listing-details .amenities .jet-check-list__item {
    	padding-bottom: 2px;
	}
	
  	.jet-check-list__item {
    	align-items: flex-start !important;
  	}

  	.jet-check-list__item .jet-listing-dynamic-field__icon {
    	align-self: flex-start !important;
    	margin-top: 6px;
  	}
	
	.listing-details .highlights-item img {
		margin-right: 16px;
  		width: 22px;
	}
	
	.overview-details .elementor-widget-icon-box .elementor-widget-container {
		margin-top: 4px !important;
		
	}
	
	.highlights-grid {
    	grid-template-columns: 1fr;
		gap: 2px 8px;
  	}
	
	.content-text2 ul {
		padding: 0;
	}
}