/* Custom Footer */
.st-footer {
	overflow-x: hidden;
	background-color: var(--color-bg-dark);
	color: var(--color-text-light);
	padding: var(--spacing-8) 0 var(--spacing-4);
	font-size: 0.875rem;
	border-top: 1px solid var(--color-secondary);
}

.st-footer__top {
	display: grid;
	grid-template-columns: minmax(260px, 1.15fr) repeat(auto-fit, minmax(190px, 1fr));
	gap: var(--spacing-6);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: var(--spacing-6);
	margin-bottom: var(--spacing-4);
}

.st-footer__col {
	padding: var(--spacing-4) 0;
}

@media (min-width: 1024px) {
	.st-footer__col + .st-footer__col {
		padding-left: var(--spacing-6);
		border-left: 1px solid rgba(255, 255, 255, 0.1);
	}
}

.st-footer__logo {
	display: inline-flex;
	align-items: center;
	max-width: 190px;
	margin-bottom: var(--spacing-4);
	padding: 12px 14px;
	border: 1px solid rgba(184, 137, 67, 0.2);
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.92);
}

.st-footer__logo-image {
	display: block;
	width: auto;
	max-width: 160px;
	height: auto;
}

.st-footer__brand-name {
	margin: 0 0 var(--spacing-4);
	color: #fff;
	font-family: var(--font-family-heading);
	font-size: 1.45rem;
	line-height: 1.2;
}

.st-footer__description {
	max-width: 330px;
	margin: 0 0 var(--spacing-4);
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.95rem;
	line-height: 1.7;
}

.st-footer__col-title {
	font-family: var(--font-family-base);
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: var(--spacing-4);
	color: var(--color-secondary);
}

.st-footer__col-title--subsection {
	margin-top: var(--spacing-4);
}

.st-footer__nav {
	list-style: none;
	padding: 0;
	margin: 0;
}

.st-footer__nav li {
	margin-bottom: var(--spacing-2);
}

.st-footer__nav a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: var(--transition-base);
}

.st-footer__nav a:hover {
	color: var(--color-secondary);
}

.st-footer__contact p {
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: var(--spacing-3);
	display: flex;
	align-items: flex-start;
	gap: var(--spacing-3);
	line-height: 1.6;
}

.st-footer__contact-icon {
	flex: 0 0 auto;
	color: var(--color-text-light);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	background: transparent;
	transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.st-footer__contact-icon svg {
	display: none;
	width: 17px;
	height: 17px;
	fill: currentColor !important;
}

.st-footer__contact-icon svg * {
	fill: currentColor !important;
}

.st-footer__contact-icon::before {
	display: block;
	width: 17px;
	height: 17px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
}

.st-footer__contact-icon--map::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 9.6A2.6 2.6 0 1 1 12 6.4a2.6 2.6 0 0 1 0 5.2Z'/%3E%3C/svg%3E");
}

.st-footer__contact-icon--phone::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M6.6 3.4 10 6.8 8 9.2c1.3 2.5 3.3 4.5 5.8 5.8l2.4-2 3.4 3.4-1.2 2.8c-.3.8-1.1 1.2-2 1.1C9.3 19.5 4.5 14.7 3.7 7.6c-.1-.9.3-1.7 1.1-2l1.8-2.2Z'/%3E%3C/svg%3E");
}

.st-footer__contact-icon--whatsapp::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M19.1 4.9A9.8 9.8 0 0 0 3.7 16.7L2.5 21.5l4.9-1.2A9.8 9.8 0 0 0 21.9 12a9.7 9.7 0 0 0-2.8-7.1Zm-7 15a7.8 7.8 0 0 1-4-1.1l-.3-.2-2.9.7.8-2.8-.2-.3a7.8 7.8 0 1 1 6.6 3.7Zm4.3-5.8c-.2-.1-1.4-.7-1.6-.8s-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1a6.4 6.4 0 0 1-3.2-2.8c-.1-.2 0-.4.1-.5l.4-.5c.1-.2.2-.3.3-.5.1-.2 0-.4 0-.5l-.7-1.6c-.2-.4-.4-.4-.6-.4h-.5c-.2 0-.5.1-.7.3-.2.2-.9.9-.9 2.1s.9 2.4 1 2.6a8.8 8.8 0 0 0 3.7 3.4c1.4.6 2 .7 2.7.6.4-.1 1.4-.6 1.6-1.1.2-.5.2-1 .1-1.1l-.4-.2Z'/%3E%3C/svg%3E");
}

.st-footer__contact-icon--email::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm8 7.4L4.8 7H4v.4l8 6 8-6V7h-.8L12 12.4Z'/%3E%3C/svg%3E");
}

.st-footer__contact p:hover .st-footer__contact-icon,
.st-footer__contact p:focus-within .st-footer__contact-icon {
	border-color: var(--color-secondary);
	color: var(--color-secondary);
}

.st-footer__contact p:hover .st-footer__contact-icon--map::before,
.st-footer__contact p:focus-within .st-footer__contact-icon--map::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23b88943' d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 9.6A2.6 2.6 0 1 1 12 6.4a2.6 2.6 0 0 1 0 5.2Z'/%3E%3C/svg%3E");
}

.st-footer__contact p:hover .st-footer__contact-icon--phone::before,
.st-footer__contact p:focus-within .st-footer__contact-icon--phone::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23b88943' d='M6.6 3.4 10 6.8 8 9.2c1.3 2.5 3.3 4.5 5.8 5.8l2.4-2 3.4 3.4-1.2 2.8c-.3.8-1.1 1.2-2 1.1C9.3 19.5 4.5 14.7 3.7 7.6c-.1-.9.3-1.7 1.1-2l1.8-2.2Z'/%3E%3C/svg%3E");
}

.st-footer__contact p:hover .st-footer__contact-icon--whatsapp::before,
.st-footer__contact p:focus-within .st-footer__contact-icon--whatsapp::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23b88943' d='M19.1 4.9A9.8 9.8 0 0 0 3.7 16.7L2.5 21.5l4.9-1.2A9.8 9.8 0 0 0 21.9 12a9.7 9.7 0 0 0-2.8-7.1Zm-7 15a7.8 7.8 0 0 1-4-1.1l-.3-.2-2.9.7.8-2.8-.2-.3a7.8 7.8 0 1 1 6.6 3.7Zm4.3-5.8c-.2-.1-1.4-.7-1.6-.8s-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1a6.4 6.4 0 0 1-3.2-2.8c-.1-.2 0-.4.1-.5l.4-.5c.1-.2.2-.3.3-.5.1-.2 0-.4 0-.5l-.7-1.6c-.2-.4-.4-.4-.6-.4h-.5c-.2 0-.5.1-.7.3-.2.2-.9.9-.9 2.1s.9 2.4 1 2.6a8.8 8.8 0 0 0 3.7 3.4c1.4.6 2 .7 2.7.6.4-.1 1.4-.6 1.6-1.1.2-.5.2-1 .1-1.1l-.4-.2Z'/%3E%3C/svg%3E");
}

.st-footer__contact p:hover .st-footer__contact-icon--email::before,
.st-footer__contact p:focus-within .st-footer__contact-icon--email::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23b88943' d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm8 7.4L4.8 7H4v.4l8 6 8-6V7h-.8L12 12.4Z'/%3E%3C/svg%3E");
}

.st-footer__contact a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: var(--transition-base);
}

.st-footer__contact a:hover {
	color: var(--color-secondary);
}

.st-footer__social {
	display: flex;
	gap: var(--spacing-2);
	margin-top: var(--spacing-4);
}

.st-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: var(--color-text-light);
	font-size: 1rem;
	transition: var(--transition-base);
}

.st-footer__social svg {
	display: block;
	width: 17px;
	height: 17px;
	fill: currentColor;
}

.st-footer__social a:hover {
	border-color: var(--color-secondary);
	color: var(--color-secondary);
}

.st-footer__bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--spacing-4);
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8rem;
}

.st-footer__legal-nav .st-footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-4);
}

.st-footer__legal-nav .st-footer__nav li {
	margin: 0;
}

@media (min-width: 768px) {
	.st-footer__bottom {
		flex-direction: row;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.st-footer {
		padding-top: var(--spacing-6);
	}

	.st-footer__top {
		grid-template-columns: 1fr;
		gap: var(--spacing-4);
	}

	.st-footer__col {
		min-width: 0;
	}

	.st-footer__description,
	.st-footer__nav a,
	.st-footer__contact p {
		overflow-wrap: anywhere;
	}

	.st-footer__col + .st-footer__col {
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}
}
