/*
Theme Name: villacicada
Theme URI: 
Author: villacicada
Author URI: #
Description: villacicada
Version: 1.0
*/
.about--page-image {
	height:350px;
	object-fit:cover;
}
.highlights_nearby--single img {
	height:200px;
	width:100%;
	object-fit:cover;
}
.highlights_nearby--single .small.mb-1 {
	padding-inline:10px;
}
.single--villa-gallery__image {
	height:70svh;
	object-fit:cover;
	width:100%;
}
.template--nearby-header.text-dark {
	padding: 3rem 20px;
}
.template--nearby-header.text-dark > div {
	max-width:850px;
	margin:auto;
}
body.page-template-template-the-villa .mfp-wrap {
	z-index:2001;
}
.vertical-center {
	min-height:100svh;
}
.gradient-edge-bottom {
	display:none;
}

body.home #main section:first-child .swiper-inner::before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000;
	opacity:.2;
}

@media(min-width:1281px) {
	.fs-120 {
		font-size:80px;
	}
}

header > div {
	padding-block: 10px;
}
.scroll-down {
	margin-top: -135px;
}
header.smaller {
	background-color:#fff;
}
header.smaller #mainmenu a {
	color:#000;
}
.bg-color-op-1,
footer {
	background: #FFFAF0;
}
.bg-light {
	background-color: #fff !important;
}
footer a {
	color: #000;
}
.subfooter {
	color: #000;
}
.sw-overlay {
	background: rgba(0, 0, 0, .3) !important;
}
* {
	--btn-hover-bg:#000;
}
.gradient-edge-top {
	background:unset !important;
}
footer h4, footer h4, footer h5, footer h6 {
	color:#000;
}
span.wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}
header.header-mobile {
	background: #fff !important;
}

@media only screen and (max-width: 992px) {
	header.header-mobile #mainmenu a.menu-item,
	#menu-btn {
		color:#000;
	}
	.header-col-mid #mainmenu {
		top:155px !important;
	}
}
div#inq--form-wrapper {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9999;
	background-color: #fff;
	width: 665px;
	border-radius: 10px;
	overflow: hidden;
	padding: 25px;
}
.inq--form-flex {
	display:flex;
	row-gap: 20px;
	flex-direction:column;
}
.inq--form-grid {
	display:grid;
}
.inq--form-grid > .single {
	display:flex;
	flex-direction:column;
}
.inq--form-grid.grid-3-columns {
	grid-template-columns:repeat(3, 1fr);
	column-gap:40px;
}
.inq--form-grid > .single label {
	font-size: 14px;
	color: #000;
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
}
.inq--form-grid > .single .single--inner .single--input input {
	display: block;
	border: 1px solid #000;
	border-radius: 10px;
	width: 100%;
	height: 45px;
	box-shadow: none;
	font-size:14px;
	outline: none;
	padding: 20px;
}
.inq--form-grid > .single label span {
	font-weight: 400;
	font-size: 80%;
}
.inq--form-grid > .single .single--inner.quantity--wrapper {
	position: relative;
}
.inq--form-grid > .single .single--inner.quantity--wrapper > span {
	position: absolute;
	top: 50%;
	transform: translateY(calc(-50%));
	z-index: 1;
	cursor: pointer;
	width: 25px;
	height: 25px;
	text-align: center;
	font-size: 18px;
	line-height: 1;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #000;
	transition:all ease-in-out 250ms;
}
.inq--form-grid > .single .single--inner.quantity--wrapper > span.disabled {
	opacity:.25;
	pointer-events:none;
}
.inq--form-grid > .single .single--inner.quantity--wrapper > span.minus {
	left:10px;
}
.inq--form-grid > .single .single--inner.quantity--wrapper > span.plus {
	right:10px;
}
.inq--form-grid > .single .single--inner.quantity--wrapper .single--input input {
	text-align:center;
	pointer-events:none;
	-webkit-appearance:textfield;
	appearance:textfield;
}
.inq--form-grid > .single .single--inner .single--input input::-webkit-inner-spin-button, 
.inq--form-grid > .single .single--inner .single--input input::-webkit-outer-spin-button { 
	-webkit-appearance: none; 
	margin: 0; 
}
.inq--form-grid > .single button {
	display: block;
	margin-top: 10px;
	width: 100%;
	background: var(--primary-color);
	color: var(--btn-color);
	border: 1px solid var(--primary-color);
	transition: all ease-in-out 250ms;
	cursor: pointer;
	padding: 10px;
	font-size: 18px;
	text-transform: uppercase;
	text-align: center;
	border-radius: 10px;
	overflow: hidden;
}
#inq--form-overlay {
	position: fixed;
	top: 0;
	left: 0;
	height:100%;
	width:100%;
	z-index: 9998;
	background-color: rgba(0, 0, 0, .3);
	cursor:pointer;
}
.inq--form-grid > .single button:hover {
	background-color:#b07e50ab;
}
.inq--form-grid > .single.value--inner {
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	color: #000;
	font-weight:400;
	line-height: 1;
}
.inq--form-grid > .single.value--inner span.currency,
.inq--form-grid > .single.value--inner span#inq--value {
	font-size: 20px;
	line-height: 1;
	font-weight: 700;
}
.inq--form-grid > .single.value--inner span#inq--value {
	margin-left: 5px;
}
.inq--form-grid.value--wrapper {
	margin-top: 10px;
}
body.page-template-default:not(.woocommerce-page) div#default--page,
body.woocommerce-page div#default--page {
	padding-block: 135px 80px;
	max-width: 720px;
	margin: auto;
	padding-inline: 35px;
}
.wp-block-woocommerce-checkout-order-summary-totals-block,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block.wc-block-components-totals-wrapper,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description h3.wc-block-components-product-name,
.wc-block-components-order-summary-item__image,
span.wc-block-components-address-form__address_2-toggle,
a.wc-block-components-checkout-return-to-cart-button {
	display: none !important;
}
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
	background: var(--primary-color);
	color: var(--btn-color);
	font-family: var(--btn-font-family);
	font-size: var(--btn-font-size);
	font-weight: var(--btn-font-weight);
	letter-spacing: var(--btn-letter-spacing);
	padding: var(--btn-padding);
	text-decoration: var(--btn-text-decoration);
	text-transform: var(--btn-text-transform);
	border-radius: var(--btn-rounded);
	-moz-border-radius: var(--btn-rounded);
	-webkit-border-radius: var(--btn-rounded);
	border: none;
	position: relative;
	display: inline-block;
	text-align: center;
	outline: 0;
	max-width: max-content;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
	padding-left: 0 !important;
}
@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(176, 126, 80, 1);
	}

	70% {
		box-shadow: 0 0 0 10px rgba(176, 126, 80, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(176, 126, 80, 0);
	}
}
#toggle--inq {
	position: fixed;
	bottom: 65px;
	left: 25px;
	z-index: 9997;
	border-radius: 50%;
	animation: pulse 2s infinite;
	box-shadow: 0 0 0 0 var(--primary-color);
	background-color: var(--primary-color);
	color: #fff !important;
	width: 120px;
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	text-align: center;
	line-height: 1.5;
	padding-top:10px;
	font-weight: 700;
	cursor:pointer;
	font-size: 15px;
	text-transform: uppercase;
}
body.logged-in #toggle--inq {
	display:flex !important;
}
.thank--text {
	max-width: 580px;
	margin: auto;
	text-align: center;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.5;
}
div#thank--page {
	min-height: 600px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 70px 25px 0;
}
#footer--map iframe {
	width:100%;
	height:100%;
	display:block;
}
div#footer--map {
	height: 470px;
	width: 100%;
}

.card-badge {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-radius: 10px;
	width:100%;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* .card-badge:hover {
transform: translateY(-3px);
box-shadow: 0 12px 30px rgba(2, 6, 23, 0.18);
} */

.card-badge .text {
	font-size: 14px;
	line-height: 1.4;
}

.card-badge .small {
	display: block;
	font-size: 12px;
	opacity: 0.9;
	margin-top: 2px;
}
.card-badge.luxury {
	background: var(--primary-color);
	color: #fff;
}
.card-badge.luxury .text strong { 
	color: #fff;
}
div#inq--form-badge {
	margin-bottom: 20px;
}
.card-badge.luxury .small {
	color: #fff;
}
.card-badge.luxury svg circle {
	fill:#fff;
}
.testimonials--single {
	background-color: #FFFAF0;
	padding: 20px;
	color: #000;
	border-radius:10px;
	overflow:hidden;
}
.testimonials--single-cols {
	display:flex;
	column-gap:25px;
}
.testimonials--single-col__left {
	min-width:50px;
	min-height:50px;
	max-width:50px;
	max-height:50px;
	border-radius:50%;
	font-weight:bold;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	background-color:#fff;
	color: var(--primary-color);
}
.testimonial--title {
	font-weight:600;
	font-size:18px;
}
.testimonials--single-col__left p:last-child {
	margin-bottom:0;
}
#testimonials--slider .owl-stage-outer {
	margin-bottom:20px;
}
span#inq--loading {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, .5);
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	transition:all linear 400ms;
}
div#inq--form-wrapper:not(.loading) span#inq--loading {
	opacity:0;
	pointer-events:none;
}
span#inq--loading svg {
	width: 50px;
	height: 50px;
}
@media(max-width:767px) {
	div#footer--map  {
		height:350px;
	}
	.subfooter .col-md-6 {
		text-align: center;
	}
	#toggle--inq {
		width:95px;
		height:95px;
		font-size:12px;
	}
	.inq--form-flex {
		row-gap: 15px;
	}
	.inq--form-grid.grid-3-columns {
		row-gap: 15px;
		grid-template-columns: 1fr;
	}
	div#inq--form-wrapper {
		width: 90vw;
		max-width: 340px;
	}
	body.page-template-default:not(.woocommerce-page) div#default--page,
	body.woocommerce-page div#default--page {
		padding-block: 165px 40px;
	}
	div#thank--page {
		min-height: 500px;
		padding-top: 120px;
	}
	.thank--text {
		font-size: 22px;
	}
	.testimonials--single-col__left {
		display:none;
	}
	div#inq--form-wrapper {
		top: 50px;
		left: 5vw;
		margin: auto;
		transform: unset;
		overflow-x: hidden;
		overflow-y: auto;
		max-height: calc(100svh - 100px);
	}
}


body.page-template-default #mainmenu >li>a {
	color:#000 !important;
}
.wc-block-components-express-payment.wc-block-components-express-payment--checkout, .wc-block-components-express-payment-continue-rule.wc-block-components-express-payment-continue-rule--checkout {
	display: none !important;
} 

p#billing_address_2_field {
	display:none !important;
}
form.checkout.woocommerce-checkout .col-1,
form.checkout.woocommerce-checkout .col-2 {
	width:100%;
	max-width:100%;
	flex:unset;
}
.woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
}
p#order_comments_field,
.woocommerce-billing-fields__field-wrapper p {
	display:flex;
	flex-direction:column;

}
.select2-container--default .select2-selection--single,
.woocommerce-billing-fields__field-wrapper p input,
p#order_comments_field textarea,
.woocommerce-billing-fields__field-wrapper p select {
	display:block;
	width:100%;
	outline:none !important;
	border:1px solid #ddd !important;
	border-radius:10px !important;
	overflow:hidden;
	padding:10px !important;
	height:50px;
}
p#order_comments_field textarea {
	height:170px;
	resize:none;
	margin-top:10px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	top:12px !important;
}
.payment-plan-option label {
	cursor: pointer;
	padding: 10px;
	border-radius: 10px;
	overflow: hidden;
	line-height:1.3;
	font-size:19px;
	transition: all ease-in-out 250ms;
	border:1px solid #ddd !important;
}
.payment-plan-option label input {
	display:none;
}
h3#order_review_heading {
	margin-top:20px;
}
table.shop_table.woocommerce-checkout-review-order-table {
	width: 100%;
	max-width: 100%;
	display: flex		;
	flex-direction: column;
	row-gap: 16px;
}
.payment-plan-option > label:has(input:checked) {
	background-color:var(--primary-color);
	color:#fff;
}
.ppc-button-wrapper {
	margin-top: 20px;
}
table.shop_table.woocommerce-checkout-review-order-table dl.variation {
	line-height:1.4;
	color:var(--body-font-color) !important;
	margin-top:-40px;
	position:relative;
	z-index:1;
	width:100%;
	max-width:100%;
}
table.shop_table.woocommerce-checkout-review-order-table dl.variation p {
	margin:0 !important;
}
th.product-total,
table.shop_table.woocommerce-checkout-review-order-table tfoot td,
td.product-total {
	text-align: right;
}
table.shop_table.woocommerce-checkout-review-order-table td.product-name strong {
	display: none;
}
table.shop_table.woocommerce-checkout-review-order-table td.product-name {
	color:transparent;
	width: 100%;
	max-width: 100%;
	display: block;
}
table.shop_table.woocommerce-checkout-review-order-table td.product-name .variation dd {
	display: block;
	margin: -45px 0 0 auto;
	text-align: right;
	width: 100%;
}
table.shop_table.woocommerce-checkout-review-order-table thead {
	display: none;
}

table.shop_table.woocommerce-checkout-review-order-table td.product-name .variation dt {
	margin-block: 18px;
	border-bottom: 1px solid;
	padding-bottom: 5px;
}
form.checkout.woocommerce-checkout h3 {
	border-bottom: 1px solid rgba(0, 0, 0, .5);
	padding-bottom: 5px;
	margin-block: 25px;
}
table.shop_table.woocommerce-checkout-review-order-table tbody td.product-total {
	display: none;
}
table.shop_table.woocommerce-checkout-review-order-table tbody tr.cart_item {
	display: flex;
	max-width: 100%;
	width: 100%;
}
table.shop_table.woocommerce-checkout-review-order-table tbody {
	display: flex;
	width: 100%;
}
table.shop_table.woocommerce-checkout-review-order-table tfoot tr {
	display: flex;
	width: 100%;
	margin-bottom: 10px;
	justify-content: space-between;
}











@media(max-width:767px) {
	.woocommerce-billing-fields__field-wrapper {
		grid-template-columns:1fr;
	}
	body.page-template-default:not(.woocommerce-page) div#default--page,
	body.woocommerce-page div#default--page {
		padding-inline:20px;
	}

	form.checkout.woocommerce-checkout h3 {
		font-size: 22px;
	}
}







.circle-badge.gradient {
	position: fixed;
	border-radius: 50px;
	padding: 12px;
	max-width: 170px;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: transform 0.2s;
	flex-direction: column;
	bottom: 25px;
	right: 25px;
	background: #FFFAF0;
	border: 1px solid var(--primary-color);
	overflow: hidden;
	color: #000;
	font-weight: bolder;
	row-gap: 3px;
	z-index: 9997;
	animation: pulse 2s infinite;
	line-height: 1;
}
.circle-badge.gradient span span {
	font-size:11px;
	line-height: 1.4;
}
.circle-badge.gradient span {
	line-height:inherit;
}
.circle-badge svg {
	width: 24px;
	height: 24px;
}
.circle-badge.gradient path {
	fill:#000;
}
.circle-badge.gradient > span {
	display: flex;
	flex-direction: column;
	row-gap: 2px;
}
ul#languages---menu {
	display: flex;
	list-style: none;
	column-gap: 10px;
	margin-right: 25px;
	align-self: center;
	margin-top: 10px;
}


@media(max-width:767px) {
	#toggle--inq {
		left:15px;
	}
	.circle-badge.gradient {
		right:15px;
	}
	ul#languages---menu {
		margin-right: -30px;
		margin-top: 14px;
	}
}

@media(max-width:1550px) and (min-width:1025px) {
	header > .container {
		max-width: 95vw;
	}
}
.thank--text p:last-child {
	font-size: 90%;
	line-height: 1.3;
}
.extras--wrapper.inq--form-grid > .single .single--inner.checkbox--wrapper .single--input input {
	width: 20px;
	height: 20px;
	appearance: none;
	display: block;
	-webkit-appearance: none;
	padding: 0;
	border-radius: 5px;
	text-align:center;
	transition:all ease-in-out 250ms;
	cursor:pointer;
}
.extras--wrapper.inq--form-grid > .single .single--inner.checkbox--wrapper .single--input input::after {
	content:'';
	text-align:center;
	display:block;
	width:100%;
	padding-top:3px;
	height:100%;
	color:#fff;
}
.extras--wrapper.inq--form-grid > .single .single--inner.checkbox--wrapper .single--input input:checked {
	background-color:var(--primary-color);
	border-color:var(--primary-color);
}
.extras--wrapper.inq--form-grid > .single .single--inner.checkbox--wrapper .single--input input:checked::after {
	content:'✓';
}
.extras--wrapper.inq--form-grid > .single .single--inner.checkbox--wrapper {
	display:flex;
	align-items:center;
	column-gap:6px;
	line-height:1;
	font-weight:bold;
}
body.logged-in .inq--form-grid.extras--wrapper.grid-3-columns {
	display:grid !important;
	row-gap:20px;
}
@media(min-width:768px) {
	.inq--form-grid > .single.extras--toggle {
		grid-column:span 3;
	}
	.inq--form-grid > .single.extras--toggle label {
		margin-block:5px 10px;
		font-size: 19px;
	}
}
.inq--form-grid > .single.extras--toggle label {
	max-width: max-content;
	/*     border: 1px solid #000;
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	padding: 2px 10px;
	box-shadow: none; */
	color:var(--primary-color);
	cursor: pointer;
	font-size: 16px;
	transition:all ease-in-out 250ms;
}
.inq--form-grid > .single.extras--toggle label:hover {
	opacity:.8;
}
body.home .swiper-inner {
	background-position:center !important;
}
div#wrapper section.onetap-container-toggle button {
	top: 50% !important;
	transform: translateY(-50%) !important;
}
div#wrapper section.onetap-container-toggle .onetap-toggle {
	z-index: 9997 !important;
}
@media only screen and (max-width: 992px) {
	nav.onetap-accessibility {
		height:unset !important;
	}
}
@media(max-width:767px) {
	div#wrapper section.onetap-container-toggle button img {
		max-width: 45px;
		max-height: 45px;
		padding: 10px !important;
	}
}
.social-icons {
	visibility:hidden;
	opacity:0;
	pointer-events:none;
}
#default--page .default--page-title {
	display:none;
}
body.page-template-default:not(.woocommerce-page) div#default--page .default--page-title {
	display:block;
	text-align:center;
	margin-bottom:30px;
	font-size: 2rem;
}
@media(max-width:767px) {
	body.page-template-default:not(.woocommerce-page) div#default--page .default--page-title {
		font-size: 1.7rem;
	}
}

div#payment ul.wc_payment_methods p:last-child {
	margin-bottom:0;
}
div#payment ul.wc_payment_methods {
	display: flex;
	flex-direction: column;
	list-style: none;
	padding-left: 0;
	row-gap:10px;
}
div#payment ul.wc_payment_methods li label {
	font-weight:700;
}
button#place_order {
	background: var(--primary-color);
	color: var(--btn-color);
	font-family: var(--btn-font-family);
	font-size: var(--btn-font-size);
	font-weight: var(--btn-font-weight);
	letter-spacing: var(--btn-letter-spacing);
	padding: var(--btn-padding);
	text-decoration: var(--btn-text-decoration);
	text-transform: var(--btn-text-transform);
	border-radius: var(--btn-rounded);
	-moz-border-radius: var(--btn-rounded);
	-webkit-border-radius: var(--btn-rounded);
	border: none;
	position: relative;
	text-align: center;
	outline: 0;
	margin: 30px auto 0;
	display: block;
	border:1px solid var(--primary-color);
	cursor:pointer;
	transition:all ease-in-out 250ms;
}
button#place_order:hover {
	background-color:transparent;
	color:var(--primary-color);
}
ul li p:last-child {
	margin-bottom:0;
}
section.onetap-container-toggle {
	padding: 0 !important;
}
.useful--links {
	text-align:center;
	margin-top:50px;
	line-height: 1;
	margin-bottom: 0;
}
ul#footer---menu {
	padding:0;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-block: 15px 30px;
	column-gap: 12px;
}
@media(max-width:767px) {
	ul#footer---menu {
		flex-direction: column;
	}
}

.shop_table.woocommerce-checkout-review-order-table tfoot {
	display: flex;
	flex-direction: column;
}
.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
	order: 1;
}
.shop_table.woocommerce-checkout-review-order-table tfoot tr.fee:nth-child(2) {
	order: 3;
}
.shop_table.woocommerce-checkout-review-order-table tfoot tr.fee:nth-child(3) {
	order: 2;
}
.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total {
	order:4;
}
div#payment ul.wc_payment_methods li.wc_payment_method.payment_method_ppcp-gateway label[for="payment_method_ppcp-gateway"]::after {
    content: '(+5% PayPal Fees)';
}