/**
* Theme Name: Amoja Child
* Description: This is a child theme of Amoja, generated by Merlin WP.
* Author: <a href="https://wpopal.com/">Opalthemes</a>
* Template: amoja
* Version: 1.5.2
*/

/* Hide BA Book Everything search — enquiries only, no online booking form. */
.elementor-element-b522449.elementor-widget-babe-search-form,
.elementor-widget-babe-search-form,
.babe_search_form,
#search_form {
	display: none !important;
}

/* Coastal palette — boutique, quieter. */
:root {
	--vat-navy: #0a3a5c;
	--vat-deep: #003264;
	--vat-turquoise: #2ec4b6;
	--vat-sand: #f7f4ec;
	--vat-forest: #284614;
	--vat-sunset: #c96b3a;
	--vat-ink: #123844;
	--vat-muted: #5a6b72;
	--vat-space: clamp(72px, 10vw, 140px);
}

/* Keep imported gallery thumbnails even in Amoja's 4-column grid. */
.elementor-widget-amoja-image-carousel .swiper-slide img,
.elementor-widget-amoja-image-carousel.image-gallery-layout-yes img,
.image-gallery-layout-yes .swiper-slide img {
	width: 100%;
	height: 280px;
	object-fit: cover;
}

@media (max-width: 767px) {
	.elementor-widget-amoja-image-carousel .swiper-slide img,
	.elementor-widget-amoja-image-carousel.image-gallery-layout-yes img,
	.image-gallery-layout-yes .swiper-slide img {
		height: 200px;
	}
}

/* Logo sizing to match Amoja demo proportions. */
.elementor-widget-amoja_sitelogo .hfe-site-logo-img,
.elementor-widget-amoja_sitelogo img,
.elementor-widget-theme-site-logo img,
.custom-logo {
	max-height: 44px;
	width: auto !important;
	height: auto !important;
}

/* Sharper hero: light overlay so photography reads. */
.elementor-87 .elementor-element-ae8fa7a::before,
.elementor-87 .vat-hero::before {
	opacity: 0.26 !important;
	background: linear-gradient(
		180deg,
		rgba(18, 56, 68, 0.35) 0%,
		rgba(18, 56, 68, 0.12) 42%,
		rgba(18, 56, 68, 0.38) 100%
	) !important;
}

.elementor-87 .vat-hero,
.elementor-87 .elementor-element-ae8fa7a {
	min-height: 92vh !important;
	padding-top: clamp(72px, 12vh, 140px) !important;
	padding-bottom: clamp(72px, 12vh, 140px) !important;
}

.elementor-87 .vat-hero .elementor-heading-title {
	letter-spacing: -0.02em;
}

.elementor-87 .vat-hero-cta .elementor-button,
.elementor-87 .elementor-element-b522449 .elementor-button {
	display: inline-flex !important;
	background-color: var(--vat-sunset) !important;
	border-color: var(--vat-sunset) !important;
	color: #fff !important;
	padding: 16px 36px !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 13px !important;
	margin-top: 28px;
}

.elementor-87 .vat-hero-cta .elementor-button:hover,
.elementor-87 .elementor-element-b522449 .elementor-button:hover {
	background-color: #b35c30 !important;
	border-color: #b35c30 !important;
}

/* Secondary full-bleed band (wrecks / wildlife). */
.elementor-87 .elementor-element-102ffe9::before,
.elementor-87 .vat-stats-band::before {
	opacity: 0.3 !important;
	background: rgba(18, 56, 68, 0.4) !important;
}

/* Primary filled CTAs: sunset coral from the sailboat dusk shot. */
.elementor-button-info,
.elementor-button-success,
.babe_search_form .submit button,
.babe_search_form button[type="submit"],
.elementor-element-ae8fa7a .elementor-button,
.elementor-location-header .elementor-button {
	background-color: var(--vat-sunset) !important;
	border-color: var(--vat-sunset) !important;
	color: #fff !important;
}

.elementor-button-info:hover,
.babe_search_form .submit button:hover,
.elementor-location-header .elementor-button:hover {
	background-color: #c9652f !important;
	border-color: #c9652f !important;
	color: #fff !important;
}

/* Ensure header logo area doesn't collapse. */
.elementor-143 .elementor-element-4cc7be7 {
	min-width: 200px;
}

/**
 * Failsafe for Elementor 4 + Amoja entrance animations.
 * JS normally removes this; if it fails, content must still show.
 */
.elementor-invisible {
	visibility: visible !important;
}

/* ------------------------------------------------------------------
 * Professional content sections (injected long-form copy)
 * ------------------------------------------------------------------ */
.vat-section.e-con {
	--vat-content-max: 920px;
	width: 100% !important;
	max-width: 100% !important;
}

.vat-section.e-con > .e-con-inner,
.vat-section.e-con.e-con-boxed > .e-con-inner {
	max-width: 1140px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.vat-section .elementor-widget-heading,
.vat-section .elementor-widget-text-editor,
.vat-section .elementor-widget-icon-list,
.vat-section .elementor-widget-image,
.vat-section .elementor-widget-button {
	width: 100% !important;
	max-width: 100%;
}

.vat-section .vat-section-title .elementor-heading-title,
.vat-section > .e-con-inner > .elementor-widget-heading:first-child .elementor-heading-title,
.vat-map-section .elementor-heading-title,
.vat-rates-section .elementor-heading-title,
.vat-villa-content .elementor-widget-heading .elementor-heading-title,
.vat-directions .elementor-widget-heading .elementor-heading-title {
	font-family: "Ortica Linear", Georgia, serif !important;
	font-weight: 300 !important;
	font-size: clamp(28px, 3.2vw, 42px) !important;
	line-height: 1.2 !important;
	color: #153D4B !important;
	max-width: 100%;
}

.vat-section .vat-section-subtitle .elementor-heading-title,
.vat-section h3.elementor-heading-title,
.vat-section h4.elementor-heading-title {
	font-size: clamp(22px, 2.5vw, 28px) !important;
	line-height: 1.3 !important;
	margin-top: 0.5em;
	color: #153D4B;
	max-width: var(--vat-content-max);
}

.vat-section .elementor-widget-text-editor,
.vat-prose {
	font-family: Jost, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.75;
	color: #4a5c63;
	max-width: var(--vat-content-max);
}

.vat-section .elementor-widget-text-editor p {
	margin-bottom: 1em;
}

.vat-section .elementor-widget-text-editor ul,
.vat-section .elementor-widget-text-editor ol {
	padding-left: 1.25em;
	margin-bottom: 1.25em;
}

.vat-section .elementor-widget-text-editor li {
	margin-bottom: 0.4em;
}

/* Amenity lists as clean two-column checks */
.vat-amenity-list .elementor-icon-list-items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem 2rem;
}

@media (max-width: 767px) {
	.vat-amenity-list .elementor-icon-list-items {
		grid-template-columns: 1fr;
	}
}

.vat-amenity-list .elementor-icon-list-text {
	font-family: Jost, Helvetica, Arial, sans-serif;
	color: #153D4B;
}

.vat-floorplan img {
	max-width: 100%;
	height: auto;
	border: 1px solid #E0DFD8;
	background: #fff;
	padding: 12px;
}

/* Rates block on Home */
.vat-rates-section {
	border-top: 1px solid #E0DFD8;
	border-bottom: 1px solid #E0DFD8;
}

.vat-rates-section .elementor-heading-title {
	letter-spacing: -0.02em;
}

.vat-rates-section .elementor-button {
	margin-top: 0.5rem;
}

/* Map section */
.vat-map-section img {
	max-width: 720px;
	width: 100%;
	height: auto;
	border: 1px solid #E0DFD8;
}

/* Directions: readable operational content */
.vat-directions .vat-prose,
.vat-directions .elementor-widget-text-editor {
	max-width: 900px;
}

.vat-directions h2.elementor-heading-title {
	font-size: 40px;
	margin-bottom: 0.4em;
}

.vat-directions h4.elementor-heading-title {
	font-size: 20px;
	margin-top: 1.75em;
	color: var(--vat-sunset);
	text-transform: none;
	letter-spacing: 0;
}

/* Activity / offer cards: let Tangalooma photos fill the frame. */
.elementor-widget-amoja-tabimage-effect img,
.elementor-widget-amoja-imgbox-carousel img {
	object-fit: cover;
}

/* Soft sand band behind long-form intro copy. */
.vat-section.vat-rates-section,
.elementor-87 .vat-rates-section {
	background-color: var(--vat-sand);
}

/* Villa content breathing room */
.vat-villa-content .elementor-widget:not(:last-child) {
	margin-bottom: 8px;
}

.vat-villa-booking {
	border-top: 1px solid #E0DFD8;
}

/* Prevent home hero headline clipping */
.elementor-87 .elementor-element-b6cea25 {
	max-width: min(720px, 90vw) !important;
	width: auto !important;
}

.elementor-87 .elementor-element-b6cea25 .elementor-heading-title {
	font-size: clamp(36px, 6.5vw, 72px) !important;
	line-height: 1.05 !important;
	overflow-wrap: normal;
	word-break: normal;
	white-space: normal;
}

/* Page title in breadcrumb heroes — keep readable, avoid overflow */
.amoja-title,
h1.amoja-title {
	font-size: clamp(40px, 6vw, 72px) !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em;
	max-width: 90vw;
	margin-left: auto;
	margin-right: auto;
}

.breadcrumb {
	max-width: min(1140px, 92vw);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

.breadcrumb .amoja-breadcrumb,
.breadcrumb .breadcrumbs {
	font-size: 13px;
	letter-spacing: 0.04em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

/* Fullscreen menu: keep every link the same size (Contact was stuck at 24px). */
.elementor-3115 .elementor-menu-background-wrapper .menu-title a,
.elementor-3115 .menu-link {
	font-size: 42px !important;
	line-height: 1.43 !important;
	letter-spacing: -1px !important;
}

@media (max-width: 1024px) {
	.elementor-3115 .elementor-menu-background-wrapper .menu-title a,
	.elementor-3115 .menu-link {
		font-size: 24px !important;
	}
}

@media (max-width: 1100px) {
	.elementor-143 .elementor-nav-menu--main .elementor-item {
		font-size: 13px;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
}

/* Gallery captions under images when present */
.elementor-widget-amoja-image-carousel figcaption,
.elementor-widget-amoja-image-carousel .swiper-slide .caption {
	font-family: Jost, Helvetica, Arial, sans-serif;
	font-size: 13px;
	color: #838A8D;
	margin-top: 8px;
	text-align: center;
}

/* ------------------------------------------------------------------
 * Professional polish
 * ------------------------------------------------------------------ */

/* Failsafe: old small map block (duplicate of Getting Here). */
.vat-map-section,
.elementor-87 .elementor-element-54fc49a {
	display: none !important;
}

/* Welcome feature photo: fill the frame cleanly. */
.elementor-87 .elementor-element-6b7aa93 img,
.elementor-87 .elementor-element-6b7aa93 .elementor-widget-container img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 767px) {
	.elementor-87 .elementor-element-6b7aa93 img,
	.elementor-87 .elementor-element-6b7aa93 .elementor-widget-container img {
		min-height: 280px;
	}
}

/* Villa listing card: sharper crop, calmer overlay. */
.elementor-87 .elementor-element-5563c9c .babe_items .item-thumb,
.elementor-87 .babe_items .item-thumb {
	overflow: hidden;
}

.elementor-87 .babe_items .item-thumb img,
.elementor-87 .babe_items .item .img-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: none !important;
	filter: none;
}

.elementor-87 .babe_items .item-title,
.elementor-87 .babe_items .item-title a {
	font-family: "Ortica Linear", Georgia, serif !important;
	font-weight: 300 !important;
	letter-spacing: -0.02em;
}

/* Page title heroes: darker overlay so titles stay crisp. */
.breadcrumb,
.amoja-breadcrumb-wrapper {
	background-size: cover !important;
	background-position: center !important;
}

/* Content rhythm */
.vat-section .elementor-widget-text-editor,
.vat-prose {
	color: var(--vat-muted);
}

.vat-section .vat-section-title .elementor-heading-title,
.vat-rates-section .elementor-heading-title,
.vat-villa-content .elementor-widget-heading .elementor-heading-title {
	color: var(--vat-ink) !important;
}

/* Outline CTAs stay refined; filled CTAs use sunset. */
.elementor-button-link .elementor-button,
.elementor-button[class*="outline"] {
	letter-spacing: 0.06em;
}

/* Dining / offer cards: consistent photo crop */
.elementor-widget-amoja-imgbox-carousel .box-image,
.elementor-widget-amoja-tabimage-effect .tabimage-item-content {
	background-size: cover !important;
	background-position: center !important;
}

.elementor-widget-amoja-imgbox-carousel img,
.elementor-widget-amoja-tabimage-effect img {
	object-fit: cover;
	width: 100%;
}

/* Header primary nav labels */
.elementor-143 .elementor-nav-menu--main .elementor-item,
.elementor-143 .hfe-nav-menu .menu-item a,
.elementor-location-header .elementor-nav-menu a {
	white-space: nowrap;
	font-size: 14px;
}

/* ------------------------------------------------------------------
 * Boutique homepage
 * ------------------------------------------------------------------ */

.vat-hide,
.elementor-87 .elementor-element-74f224c,
.elementor-87 .elementor-element-5563c9c {
	display: none !important;
}

/* Welcome: editorial, less card chrome */
.elementor-87 .vat-welcome,
.elementor-87 .elementor-element-6423438 {
	background-color: var(--vat-sand) !important;
	padding-top: var(--vat-space) !important;
	padding-bottom: var(--vat-space) !important;
}

.elementor-87 .vat-welcome .elementor-heading-title {
	color: var(--vat-ink) !important;
}

.elementor-87 .vat-welcome-media,
.elementor-87 .elementor-element-26945dc,
.elementor-87 .elementor-element-f9fa16e {
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

/* Kill floating white card / semi-circle chrome on welcome photo */
.elementor-87 .vat-welcome-media::before,
.elementor-87 .vat-welcome-media::after,
.elementor-87 .elementor-element-26945dc::before,
.elementor-87 .elementor-element-26945dc::after,
.elementor-87 .elementor-element-f9fa16e::before,
.elementor-87 .elementor-element-f9fa16e::after,
.elementor-87 .vat-welcome .elementor-widget-image::after {
	display: none !important;
	content: none !important;
	background: none !important;
}

.elementor-87 .vat-welcome-photo img,
.elementor-87 .elementor-element-6b7aa93 img {
	min-height: 520px !important;
	border-radius: 2px;
	width: 100%;
	object-fit: cover;
}

.elementor-87 .elementor-element-162d71a {
	display: none !important; /* Tripadvisor badge clutter on welcome card */
}

.elementor-87 .elementor-element-a5cf6c0 .elementor-heading-title {
	font-family: Jost, Helvetica, Arial, sans-serif !important;
	font-size: clamp(16px, 1.35vw, 18px) !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	color: var(--vat-muted) !important;
	max-width: 34em;
	white-space: pre-line;
}

.elementor-87 .elementor-element-7e4b0ad .elementor-button {
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 12px !important;
	margin-top: 28px !important;
	background: transparent !important;
	border: 1px solid var(--vat-ink) !important;
	color: var(--vat-ink) !important;
}

.elementor-87 .elementor-element-7e4b0ad .elementor-button:hover {
	background: var(--vat-ink) !important;
	color: #fff !important;
}

/* Villa feature band — replaces BABE card */
.elementor-87 .vat-villa-feature,
.elementor-87 .elementor-element-5ac142a {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 560px !important;
	background-image: url("/wp-content/uploads/2026/09/villa-balcony-ocean-view.jpg") !important;
	background-position: center center !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
}

.elementor-87 .vat-villa-feature::before,
.elementor-87 .elementor-element-5ac142a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(18, 56, 68, 0.42);
	pointer-events: none;
	z-index: 0;
}

.elementor-87 .vat-villa-feature > .e-con-inner,
.elementor-87 .elementor-element-5ac142a > .e-con-inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.elementor-87 .vat-villa-feature .elementor-heading-title,
.elementor-87 .elementor-element-5ac142a .elementor-heading-title {
	color: #fff !important;
}

.elementor-87 .vat-villa-feature .elementor-element-64ab0de .elementor-heading-title {
	font-size: clamp(36px, 5vw, 64px) !important;
	font-weight: 300 !important;
	letter-spacing: -0.03em;
	margin-bottom: 0.4em;
}

.elementor-87 .vat-villa-feature .elementor-element-a1715b8 .elementor-heading-title {
	font-size: 13px !important;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	opacity: 0.85;
}

.elementor-87 .vat-villa-feature .elementor-element-0916e46,
.elementor-87 .vat-villa-feature .elementor-element-55e5d4a,
.elementor-87 .elementor-element-55e5d4a,
.elementor-87 .elementor-element-6ce8a8c,
.elementor-87 .elementor-element-0916e46 {
	display: none !important;
}

.elementor-87 .vat-villa-feature .elementor-element-2cfafdb .elementor-button {
	background: var(--vat-sunset) !important;
	border-color: var(--vat-sunset) !important;
	color: #fff !important;
	padding: 14px 32px !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 12px !important;
	margin-top: 24px;
}

/* Section labels quieter — soft-pedal 01/02/03 hotel numbering */
.elementor-87 .vat-section-label .elementor-heading-title {
	font-size: 12px !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase;
	opacity: 0.55;
	font-weight: 500 !important;
	color: var(--vat-muted) !important;
}

.elementor-87 .elementor-element-26b2503 .elementor-heading-title,
.elementor-87 .elementor-element-37cb3e9 .elementor-heading-title,
.elementor-87 .elementor-element-86da0e7 .elementor-heading-title,
.elementor-87 .elementor-element-f4c23cc .elementor-heading-title,
.elementor-87 .elementor-element-cf440a3 .elementor-heading-title,
.elementor-87 .elementor-element-09c5fa3 .elementor-heading-title {
	font-size: 11px !important;
	letter-spacing: 0.18em !important;
	opacity: 0.45;
}

/* Island Life: stop absolute "Do it all" overlay colliding with activity titles */
.elementor-87 .elementor-element-eff79b7 {
	display: none !important;
}

.elementor-87 .elementor-element-369789f {
	display: flex !important;
	padding-top: clamp(48px, 6vw, 96px) !important;
	padding-bottom: clamp(24px, 3vw, 48px) !important;
}

.elementor-87 .elementor-element-369789f.elementor-hidden-desktop,
.elementor-87 .elementor-element-369789f.elementor-hidden-tablet,
.elementor-87 .elementor-element-369789f.elementor-hidden-mobile {
	display: flex !important;
}

.elementor-87 .elementor-element-fee5144 .elementor-heading-title {
	line-height: 1.2 !important;
}

.elementor-87 .elementor-element-5f2822e {
	position: relative;
	padding-top: 0 !important;
}

.elementor-87 .elementor-element-584d902 {
	position: relative;
	z-index: 1;
}

/* Activities / dining calm */
.elementor-87 .elementor-element-584d902 .tabimage-item-content {
	min-height: 420px;
}

.elementor-87 .elementor-element-24c129a .elementor-imgbox-wrapper {
	box-shadow: none !important;
	border: none !important;
}

.elementor-87 .elementor-element-24c129a .elementor-icon-box-content {
	padding: 28px 8px 12px !important;
}

/* Rates band */
.elementor-87 .vat-rates-section {
	background-color: var(--vat-sand) !important;
	border: none !important;
	padding-top: var(--vat-space);
	padding-bottom: var(--vat-space);
}

.elementor-87 .vat-rates-section .elementor-heading-title {
	letter-spacing: -0.02em;
}

/* Stats quieter */
.elementor-87 .vat-stats-band .elementor-counter-number-wrapper {
	font-size: clamp(48px, 6vw, 72px) !important;
	opacity: 0.95;
}

.elementor-87 .vat-stats-band .elementor-heading-title {
	font-size: 15px !important;
	letter-spacing: 0.04em;
	opacity: 0.9;
}

/* Offers: less hotel-promo energy */
.elementor-87 .vat-offers .elementor-imgbox-title {
	font-family: "Ortica Linear", Georgia, serif !important;
	font-weight: 300 !important;
}

/* Boutique motion */
@keyframes vat-rise {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.elementor-87 .vat-hero .elementor-element-a577a4b,
.elementor-87 .vat-hero .elementor-element-b6cea25,
.elementor-87 .vat-hero-cta,
.elementor-87 .elementor-element-b522449.elementor-widget-button {
	animation: vat-rise 0.9s ease both;
}

.elementor-87 .vat-hero .elementor-element-b6cea25 {
	animation-delay: 0.12s;
}

.elementor-87 .vat-hero-cta,
.elementor-87 .elementor-element-b522449.elementor-widget-button {
	animation-delay: 0.28s;
}

.elementor-87 .vat-welcome-photo {
	animation: vat-rise 1s ease both;
	animation-delay: 0.15s;
}

@media (prefers-reduced-motion: reduce) {
	.elementor-87 .vat-hero .elementor-element-a577a4b,
	.elementor-87 .vat-hero .elementor-element-b6cea25,
	.elementor-87 .vat-hero-cta,
	.elementor-87 .elementor-element-b522449.elementor-widget-button,
	.elementor-87 .vat-welcome-photo {
		animation: none !important;
	}
}

@media (max-width: 767px) {
	.elementor-87 .vat-welcome-photo img,
	.elementor-87 .elementor-element-6b7aa93 img {
		min-height: 300px !important;
	}

	.elementor-87 .vat-villa-feature,
	.elementor-87 .elementor-element-5ac142a {
		min-height: 420px !important;
	}
}


