/*
 * AMSA Group – elegant re-skin layer.
 * Loads after all theme/kit styles. Palette: warm beige, brown, soft pastels.
 * Typography: Cormorant Garamond (headings) + EB Garamond (body),
 * Great Vibes script accents are kept from the kit.
 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap');

/* ---------- palette ---------- */
:root,
body.elementor-kit-9 {
	--amsa-espresso: #4a3a2a;
	--amsa-brown: #6e573f;
	--amsa-camel: #b09372;
	--amsa-beige: #d9c9b2;
	--amsa-cream: #faf6ef;
	--amsa-ivory: #f4ecdf;
	--amsa-blush: #e8d8cf;

	--e-global-color-primary: #4a3a2a;
	--e-global-color-secondary: #6e573f;
	--e-global-color-text: #6d6156;
	--e-global-color-accent: #b09372;
	--e-global-color-light-green: #f8f2e9;
	--e-global-color-extra-light-green: #f4ecdf;
	--e-global-color-soft-green: #eee3d2;
	--e-global-color-light-grayish-cyan: #f5efe6;
	--e-global-color-grayish-blue: #d9cdbb;
	--e-global-color-dark-grayish-blue: #c3b4a0;
	--e-global-color-light-grayish-blue: #f7f2ea;
	--e-global-color-very-light-grayish-blue: #faf6ef;
	--e-global-color-very-light-gray: #f0e9df;
	--e-global-color-light-gray: #d6cbbc;

	/* typography globals (Great Vibes stays as the primary/script face) */
	--e-global-typography-secondary-font-family: 'Cormorant Garamond';
	--e-global-typography-text-font-family: 'EB Garamond';
	--e-global-typography-accent-font-family: 'EB Garamond';
}

/* ---------- base typography ---------- */
body {
	background-color: var(--amsa-cream);
	font-family: 'EB Garamond', 'Lora', Georgia, serif;
	color: #6d6156;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
	font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
	letter-spacing: .01em;
	color: var(--amsa-espresso);
}
p, li, .elementor-widget-text-editor {
	font-family: 'EB Garamond', Georgia, serif;
}
html { scroll-behavior: smooth; }
::selection { background: var(--amsa-beige); color: var(--amsa-espresso); }

/* ---------- header: airy, translucent, hides on scroll down ---------- */
.navbar-area {
	background: rgba(250, 246, 239, .9) !important;
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(74, 58, 42, .08);
	box-shadow: none !important;
	transition: transform .5s cubic-bezier(.33, 1, .5, 1), background .4s ease, box-shadow .4s ease;
	position: sticky;
	top: 0;
	z-index: 999;
}
.navbar-area.amsa-nav-hidden { transform: translateY(-100%); }
.navbar-area.amsa-nav-scrolled {
	background: rgba(250, 246, 239, .97) !important;
	box-shadow: 0 12px 32px -18px rgba(74, 58, 42, .28) !important;
}
.navbar-area .navbar-nav .menu-item > a {
	font-family: 'EB Garamond', serif !important;
	font-size: 13px !important;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--amsa-espresso) !important;
	position: relative;
	transition: color .3s ease;
}
.navbar-area .navbar-nav .menu-item > a::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -4px;
	width: 0;
	height: 1px;
	background: var(--amsa-camel);
	transition: width .35s ease, left .35s ease;
}
.navbar-area .navbar-nav .menu-item > a:hover,
.navbar-area .navbar-nav .current-menu-item > a { color: var(--amsa-camel) !important; }
.navbar-area .navbar-nav .menu-item > a:hover::after,
.navbar-area .navbar-nav .current-menu-item > a::after { width: 100%; left: 0; }

/* ---------- buttons: quiet, bordered, serif smallcaps ---------- */
.elementor-button,
.talk_btn,
button[type="submit"],
input[type="submit"],
.wpcf7-submit {
	font-family: 'EB Garamond', serif !important;
	letter-spacing: .18em !important;
	text-transform: uppercase;
	font-size: 13px !important;
	background-color: transparent !important;
	color: var(--amsa-espresso) !important;
	border: 1px solid var(--amsa-espresso) !important;
	border-radius: 0 !important;
	padding: 14px 34px;
	transition: background-color .4s ease, color .4s ease, border-color .4s ease, transform .3s ease !important;
}
.elementor-button:hover,
.talk_btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.wpcf7-submit:hover {
	background-color: var(--amsa-espresso) !important;
	color: var(--amsa-cream) !important;
	transform: translateY(-2px);
}

.elementor-button, .talk_btn { white-space: normal; }
.elementor-button { padding: 15px 36px !important; }
.elementor-button .elementor-button-content-wrapper { gap: 10px; align-items: center; }
.elementor-button .elementor-button-icon { display: inline-flex; align-items: center; }

/* eyebrow labels ("About Amsa", "Amsa Group Services"), site-wide:
   bold, dark, title case — the script font's capitals read as lowercase,
   so use a clear serif instead */
h5.elementor-heading-title {
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	letter-spacing: .12em;
	text-transform: capitalize;
	line-height: 1.4;
	color: var(--amsa-espresso) !important;
}
@media (max-width: 576px) {
	.elementor-button,
	.talk_btn,
	button[type="submit"],
	input[type="submit"],
	.wpcf7-submit {
		letter-spacing: .1em !important;
		padding: 12px 22px;
		font-size: 12px !important;
	}
}

/* hero section: keep the button clear of the next section's wave divider,
   even on short viewports where the fixed hero height runs out of room */
.e-con-inner:has(> .elementor-background-video-container) {
	padding-top: 185px !important;
	padding-block-start: 185px !important;
	padding-bottom: 90px !important;
	padding-block-end: 90px !important;
	height: auto !important;
	min-height: 0;
}
@media (max-width: 767px) {
	.e-con-inner:has(> .elementor-background-video-container) {
		padding-top: 130px !important;
		padding-block-start: 130px !important;
	}
}

/* soft gradient over the hero video so light text stays readable */
.elementor-background-video-container::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(28, 20, 13, .55) 0%, rgba(28, 20, 13, .25) 45%, rgba(28, 20, 13, .05) 75%);
	pointer-events: none;
}

/* partner logo strip: uniform size, quiet presentation */
img[src*="2026/06/images-1"],
img[src*="2026/06/images-2"],
img[src*="2026/06/images-3"],
img[src*="2026/06/images.png"],
img[src*="371113100"] {
	height: 92px !important;
	width: auto !important;
	object-fit: contain;
	opacity: .85;
	transition: opacity .3s ease, transform .3s ease;
}
img[src*="2026/06/images-1"]:hover,
img[src*="2026/06/images-2"]:hover,
img[src*="2026/06/images-3"]:hover,
img[src*="2026/06/images.png"]:hover,
img[src*="371113100"]:hover {
	opacity: 1;
	transform: translateY(-3px);
}

/* buttons that sit on a dark/video background go light */
.e-con:has(> .elementor-background-video-container) .elementor-button,
.e-con-inner:has(> .elementor-background-video-container) .elementor-button,
.elementor-element:has(> .elementor-background-video-container) .elementor-button {
	color: #faf6ef !important;
	border-color: #faf6ef !important;
}
.e-con:has(> .elementor-background-video-container) .elementor-button:hover,
.e-con-inner:has(> .elementor-background-video-container) .elementor-button:hover,
.elementor-element:has(> .elementor-background-video-container) .elementor-button:hover {
	background-color: #faf6ef !important;
	color: var(--amsa-espresso) !important;
}
/* header Contact button: theme forces white text; ours must win on the cream bar */
.navbar-area .nav-link.talk_btn,
.navbar-area .navbar-nav .nav-link.talk_btn {
	color: var(--amsa-espresso) !important;
	border: 1px solid var(--amsa-espresso) !important;
	background-color: transparent !important;
}
.navbar-area .nav-link.talk_btn:hover,
.navbar-area .navbar-nav .nav-link.talk_btn:hover {
	background-color: var(--amsa-espresso) !important;
	color: #faf6ef !important;
}

/* ---------- imagery: soft, slow, alive ---------- */
.elementor-widget-image img,
.gallery-section img,
.product-category-box img,
.services-box img {
	transition: transform 1.2s cubic-bezier(.2, .6, .2, 1), filter .6s ease;
}
.elementor-widget-image:hover img,
.gallery-section .image-wrapper:hover img,
.product-category-box:hover img,
.services-box:hover img {
	transform: scale(1.045);
}
.elementor-widget-image img { border-radius: 2px; }

/* ---------- sliders: smooth, pausable, with arrows ---------- */
.carousel-item {
	transition: transform 1.1s cubic-bezier(.33, 1, .38, 1) !important;
}
.carousel-control-prev,
.carousel-control-next {
	width: 46px;
	height: 46px;
	top: 50%;
	transform: translateY(-50%);
	border: 1px solid var(--amsa-camel);
	border-radius: 50%;
	background: rgba(250, 246, 239, .85);
	opacity: .85;
	transition: opacity .3s ease, background .3s ease;
}
.carousel-control-prev { left: -8px; }
.carousel-control-next { right: -8px; }
.carousel-control-prev:hover,
.carousel-control-next:hover { opacity: 1; background: var(--amsa-cream); }
.carousel-control-prev-icon,
.carousel-control-next-icon {
	filter: brightness(.35) sepia(.4);
	width: 18px;
	height: 18px;
}
.owl-nav button.owl-prev,
.owl-nav button.owl-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border: 1px solid var(--amsa-camel) !important;
	border-radius: 50%;
	background: rgba(250, 246, 239, .92) !important;
	color: var(--amsa-espresso) !important;
	font-size: 22px !important;
	line-height: 1 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .3s ease, color .3s ease;
	z-index: 5;
}
.owl-nav button.owl-prev { left: -12px; }
.owl-nav button.owl-next { right: -12px; }
.owl-nav button.owl-prev:hover,
.owl-nav button.owl-next:hover {
	background: var(--amsa-espresso) !important;
	color: var(--amsa-cream) !important;
}
.owl-carousel { position: relative; }
.owl-carousel .owl-stage { transition-timing-function: cubic-bezier(.33, 1, .38, 1) !important; }
.owl-dots .owl-dot span { background: var(--amsa-beige) !important; }
.owl-dots .owl-dot.active span { background: var(--amsa-camel) !important; }

/* ---------- services: full grid, no slider ---------- */
.home-3-service-section .owl-carousel {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 30px;
	width: auto !important;
	padding-bottom: 28px;
	align-items: stretch;
}
/* equal, aligned cards: uniform cropped image height and full-height boxes */
.home-3-service-section .service-box {
	height: 100%;
	display: flex;
	flex-direction: column;
}
.home-3-service-section .service-box > figure.icons-fig,
.home-3-service-section .service-box > figure:first-child {
	margin: 0;
}
.home-3-service-section .service-box > figure.icons-fig img,
.home-3-service-section .service-box > figure:first-child img {
	width: 100% !important;
	height: 300px !important;
	object-fit: cover;
}
.home-3-service-section .service-box .content {
	flex: 1 1 auto;
}
@media (max-width: 576px) {
	.home-3-service-section .service-box > figure.icons-fig img,
	.home-3-service-section .service-box > figure:first-child img {
		height: 240px !important;
	}
}
.home-3-service-section .owl-carousel > * { width: auto !important; }
.home-3-service-section .owl-nav,
.home-3-service-section .owl-dots { display: none !important; }
@media (max-width: 576px) {
	.home-3-service-section .owl-carousel { grid-template-columns: 1fr; }
}

/* ---------- gallery lightbox: show the image large ---------- */
.lightbox img {
	max-width: 92vw !important;
	max-height: 86vh !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .5);
}

/* ---------- remove clipart doodles site-wide (hearts, birds/tulips, rings)
   per client; mandala ornaments are kept ---------- */
img[src*="body_bird"],
img[src*="hearts.png"],
img[src*="Banner_ring"],
.elementor-widget-image:has(> .elementor-widget-container > img[src*="body_bird"]),
.elementor-widget-image:has(img[src*="hearts.png"]),
.elementor-widget-image:has(img[src*="Banner_ring"]) {
	display: none !important;
}

/* ---------- reservation popup dialog ---------- */
.amsa-modal-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(47, 38, 32, .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity .35s ease;
	padding: 20px;
}
.amsa-modal-backdrop.amsa-open { opacity: 1; }
.amsa-modal {
	background: var(--amsa-cream, #faf6ef);
	max-width: 560px;
	width: 100%;
	max-height: 88vh;
	overflow-y: auto;
	padding: 44px 40px 36px;
	position: relative;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
	transform: translateY(14px);
	transition: transform .35s cubic-bezier(.33, 1, .5, 1);
}
.amsa-modal-backdrop.amsa-open .amsa-modal { transform: none; }
.amsa-modal-close {
	position: absolute !important;
	top: 10px !important;
	right: 12px !important;
	width: 34px !important;
	height: 34px !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 24px !important;
	line-height: 1 !important;
	color: var(--amsa-espresso, #4a3a2a) !important;
	cursor: pointer;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	letter-spacing: 0 !important;
	transform: none !important;
}
.amsa-modal-close:hover {
	background: var(--amsa-ivory, #f4ecdf) !important;
	color: var(--amsa-espresso, #4a3a2a) !important;
}
/* the theme form prints an icon under each label — noise in the dialog */
.amsa-modal .icons-form,
.amsa-modal .wpcf7 i[class*="fa-"] {
	display: none !important;
}
.amsa-modal h3 {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 30px;
	margin: 0 0 6px;
	text-align: center;
}
.amsa-modal .amsa-modal-sub {
	text-align: center;
	font-size: 15px;
	margin-bottom: 22px;
	color: var(--amsa-brown, #6e573f);
}
.amsa-modal .wpcf7 input:not([type="submit"]),
.amsa-modal .wpcf7 select,
.amsa-modal .wpcf7 textarea {
	width: 100%;
	border: 1px solid var(--amsa-beige, #d9c9b2);
	background: #fff;
	padding: 11px 14px;
	margin-bottom: 6px;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 15px;
	color: var(--amsa-espresso, #4a3a2a);
}
.amsa-modal .wpcf7 input[type="submit"] { width: 100%; margin-top: 8px; }
.amsa-modal-loading { text-align: center; padding: 30px 0; color: var(--amsa-brown, #6e573f); }

/* footer address block: drop the white card + circle backdrop graphic */
.elementor-element-4311492::before {
	display: none !important;
	content: none !important;
	background: none !important;
}

/* ---------- Elementor icon-list safety net ----------
   Elementor's conditional CSS loading skips widget-icon-list.min.css on pages
   whose own content has no icon-list widget, breaking the footer template
   (giant chevron SVGs, stray list bullets). Replicate the core rules here. */
.elementor-icon-list-items,
.elementor-icon-list-items li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.elementor-icon-list-item {
	display: flex;
	align-items: center;
	font-size: inherit;
}
.elementor-icon-list-item a {
	display: flex;
	align-items: center;
}
.elementor-icon-list-icon {
	display: flex;
	align-items: center;
}
.elementor-icon-list-icon svg {
	width: var(--e-icon-list-icon-size, 1em);
	height: var(--e-icon-list-icon-size, 1em);
	margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0);
}
.elementor-icon-list-icon + .elementor-icon-list-text {
	align-self: center;
	padding-left: 5px;
}

/* ---------- misc softening ---------- */
.animated { animation-duration: 1.15s; }
a { transition: color .3s ease; }
footer, .footer-section { background-color: #2f2620; }
.slicknav_menu { background: var(--amsa-cream) !important; }
.slicknav_menu a { color: var(--amsa-espresso) !important; font-family: 'EB Garamond', serif !important; letter-spacing: .12em; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--amsa-ivory); }
::-webkit-scrollbar-thumb { background: var(--amsa-beige); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--amsa-camel); }
