/* ==========================================================================
   SITE FOOTER + floating WhatsApp
   ========================================================================== */

.sm-footer {
	background: linear-gradient(180deg, #1B1B1B, #141414);
	color: #cfc9bf;
	font-family: var(--sm-font-body, 'Inter', sans-serif);
}

.sm-footer * {
	box-sizing: border-box;
}

.sm-footer__inner {
	max-width: var(--sm-container, 1280px);
	margin: 0 auto;
	padding: 64px var(--sm-gutter, 40px) 44px;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 40px;
}

/* --------------------------------------------------------------------------
   About column
   -------------------------------------------------------------------------- */

.sm-foot__logo {
	display: flex;
	align-items: center;
	gap: 13px;
	text-decoration: none;
	margin-bottom: 18px;
	color: var(--sm-gold, #C9A15B);
}

.sm-foot__logo .sm-logo__text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.sm-foot__logo .sm-logo__title {
	font-family: var(--sm-font-head, serif);
	font-weight: 700;
	font-size: 22px;
	color: #fff;
}

.sm-foot__logo .sm-logo__sub {
	font-size: 10.5px;
	letter-spacing: .4px;
	color: #9a948a;
}

.sm-foot__logo:has(.sm-logo__img) .sm-logo__text {
	display: none;
}

.sm-foot__desc {
	font-size: 13.5px;
	line-height: 1.7;
	color: #a8a299;
	max-width: 320px;
	margin: 0 0 20px;
}

.sm-foot__social {
	display: flex;
	gap: 12px;
}

.sm-foot__social a {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--sm-gold-40, rgba(201, 161, 91, .4));
	color: #cfc9bf;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	text-decoration: none;
	transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}

.sm-foot__social a:hover {
	background: var(--sm-gold, #C9A15B);
	border-color: var(--sm-gold, #C9A15B);
	color: #1b1b1b;
	transform: translateY(-3px);
}

/* --------------------------------------------------------------------------
   Link columns
   -------------------------------------------------------------------------- */

.sm-foot__title {
	font-family: var(--sm-font-head, serif);
	font-weight: 700;
	font-size: 21px;
	color: var(--sm-gold, #C9A15B);
	margin: 0 0 18px;
	position: relative;
	padding-bottom: 10px;
}

.sm-foot__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 38px;
	height: 2px;
	background: var(--sm-gold, #C9A15B);
}

.sm-foot__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sm-foot__list li {
	margin-bottom: 11px;
}

.sm-foot__list a,
.sm-foot__contact span {
	color: #a8a299;
	text-decoration: none;
	font-size: 13.5px;
	transition: color .3s ease, padding .3s ease;
}

.sm-foot__list li a:hover {
	color: var(--sm-gold, #C9A15B);
	padding-left: 5px;
}

.sm-foot__contact li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
}

.sm-foot__contact i {
	color: var(--sm-gold, #C9A15B);
	font-size: 14px;
	margin-top: 3px;
	flex: 0 0 auto;
}

/* --------------------------------------------------------------------------
   Bottom bar
   -------------------------------------------------------------------------- */

.sm-footer__bottom {
	border-top: 1px solid var(--sm-gold-16, rgba(201, 161, 91, .18));
}

.sm-footer__bottom-inner {
	max-width: var(--sm-container, 1280px);
	margin: 0 auto;
	padding: 20px var(--sm-gutter, 40px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}

.sm-footer__bottom p {
	font-size: 12.5px;
	color: #8f897f;
	margin: 0;
}

.sm-foot__legal-list {
	display: flex;
	align-items: center;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sm-foot__legal-list li + li::before {
	content: "|";
	color: #4d4940;
	margin-right: 12px;
}

.sm-foot__legal-list a {
	font-size: 12.5px;
	color: #8f897f;
	text-decoration: none;
	transition: color .3s ease;
}

.sm-foot__legal-list a:hover {
	color: var(--sm-gold, #C9A15B);
}

/* --------------------------------------------------------------------------
   Floating WhatsApp
   -------------------------------------------------------------------------- */

.sm-whatsapp {
	position: fixed;
	bottom: 26px;
	right: 26px;
	z-index: var(--sm-z-float, 8900);
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25D366;
	color: #fff;
	font-size: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-shadow: 0 10px 26px rgba(37, 211, 102, .5);
	animation: smFloaty 4s ease-in-out infinite;
}

.sm-whatsapp:hover {
	color: #fff;
}

@keyframes smFloaty {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-14px); }
}

@media (prefers-reduced-motion: reduce) {
	.sm-whatsapp {
		animation: none;
	}
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 992px) {
	.sm-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: 34px;
		padding: 50px var(--sm-gutter-sm, 26px) 36px;
	}
}

@media (max-width: 560px) {
	.sm-footer__inner {
		grid-template-columns: 1fr;
	}

	.sm-footer__bottom-inner {
		flex-direction: column;
		text-align: center;
		padding: 20px var(--sm-gutter-sm, 26px);
	}

	.sm-whatsapp {
		bottom: 18px;
		right: 18px;
		width: 50px;
		height: 50px;
		font-size: 25px;
	}
}


/* --------------------------------------------------------------------------
   Mobile action bar

   Call / WhatsApp / Book, fixed to the bottom of the viewport on phones. It
   replaces the floating WhatsApp bubble at this size rather than competing
   with it, and the body gets bottom padding so it never covers content.
   -------------------------------------------------------------------------- */

.sm-actionbar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 960;
	display: none;
	background: #fff;
	border-top: 1px solid var(--sm-gold-16, rgba(201, 161, 91, .16));
	box-shadow: 0 -6px 24px rgba(27, 27, 27, .12);
	/* Clear the iOS home indicator / Chrome's bottom chrome. */
	padding-bottom: env(safe-area-inset-bottom, 0px);
}

.sm-actionbar__item {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 9px 6px 8px;
	text-decoration: none;
	font-family: var(--sm-font-btn, sans-serif);
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1.2;
	letter-spacing: .02em;
	color: var(--sm-charcoal, #1B1B1B);
	background: #fff;
	border: 0;
	border-left: 1px solid rgba(27, 27, 27, .07);
	transition: background .25s ease, color .25s ease;
	/* A comfortable thumb target on every phone. */
	min-height: 56px;
}

.sm-actionbar__item:first-child {
	border-left: 0;
}

.sm-actionbar__item i,
.sm-actionbar__item svg {
	font-size: 19px;
	line-height: 1;
}

.sm-actionbar__item span {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.sm-actionbar__item--call { color: var(--sm-burgundy, #5A2F33); }
.sm-actionbar__item--wa   { color: #1FA855; }

.sm-actionbar__item--book {
	background: var(--sm-burgundy, #5A2F33);
	color: #fff;
	border-left-color: transparent;
}

.sm-actionbar__item--call:active { background: var(--sm-gold-08, rgba(201, 161, 91, .08)); }
.sm-actionbar__item--wa:active   { background: rgba(31, 168, 85, .1); }
.sm-actionbar__item--book:active { background: var(--sm-burgundy-deep, #3E1F22); }

@media (max-width: 767px) {
	.sm-actionbar {
		display: flex;
	}

	/* One persistent WhatsApp affordance, not two. */
	.sm-whatsapp {
		display: none;
	}

	/* Keep the bar from sitting on top of the last section or the footer. */
	body {
		padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
	}
}

/* The editor needs the viewport bottom for its own controls. */
.elementor-editor-active .sm-actionbar,
.elementor-editor-preview .sm-actionbar {
	display: none;
}