/* ==========================================================================
   Ayulanka custom footer — colours come from Appearance → Footer Settings
   (CSS variables set inline on .ayu-footer).
   ========================================================================== */
html body footer.ayu-footer.ayu-footer {
	--ayu-f-bg: #010101;
	--ayu-f-text: #bdb8ae;
	--ayu-f-head: #ffffff;
	--ayu-f-accent: #c9a45c;
	--ayu-f-line: rgba(255, 255, 255, .1);
	position: relative !important;
	z-index: 1 !important;
	background: var(--ayu-f-bg) !important;
	color: var(--ayu-f-text) !important;
	font-size: 17px !important;
	line-height: 1.6 !important;
	-webkit-font-smoothing: antialiased !important; }
html body footer.ayu-footer.ayu-footer,
html body footer.ayu-footer.ayu-footer * {
	font-family: "EB Garamond", Garamond, Georgia, serif !important;
	box-sizing: border-box !important; }
html body footer.ayu-footer.ayu-footer p,
html body footer.ayu-footer.ayu-footer ul,
html body footer.ayu-footer.ayu-footer dl,
html body footer.ayu-footer.ayu-footer dd { margin: 0 !important; padding: 0 !important; }
html body footer.ayu-footer.ayu-footer ul { list-style: none !important; }
/* Reset: stop theme rules (even !important ones) leaking into footer text */
html body footer.ayu-footer.ayu-footer :is(div, nav, p, span, ul, ol, li, dl, dt, dd, strong, b, em, i, small, label, h1, h2, h3, h4, h5, h6) {
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
	text-shadow: none !important;
	list-style: none !important;
}
html body footer.ayu-footer.ayu-footer a {
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
}
html body footer.ayu-footer.ayu-footer a {
	color: var(--ayu-f-text) !important;
	text-decoration: none !important;
	transition: color .25s ease !important; }
html body footer.ayu-footer.ayu-footer a:hover,
html body footer.ayu-footer.ayu-footer a:focus-visible { color: var(--ayu-f-accent) !important; }
html body footer.ayu-footer.ayu-footer a:focus-visible { outline: 1px solid var(--ayu-f-accent) !important; outline-offset: 3px !important; }
html body footer.ayu-footer.ayu-footer svg { flex: none !important; display: block !important; }

html body footer.ayu-footer.ayu-footer .ayu-f-wrap {
	width: 100% !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding: 0 32px !important; }

/* ---------- CTA band ---------- */
html body footer.ayu-footer.ayu-footer .ayu-f-cta {
	position: relative !important;
	border-bottom: 1px solid var(--ayu-f-line) !important;
	background:
		radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--ayu-f-accent) 14%, transparent) 0%, transparent 55%),
		var(--ayu-f-bg) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-cta-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 40px !important;
	padding-top: 64px !important;
	padding-bottom: 64px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-cta-copy { max-width: 640px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-eyebrow {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-bottom: 12px !important;
	color: var(--ayu-f-accent) !important;
	font-size: 14px !important;
	font-style: italic !important;
	letter-spacing: .04em !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-eyebrow::before {
	content: "" !important;
	width: 36px !important;
	height: 1px !important;
	background: currentColor !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-cta-title {
	color: var(--ayu-f-head) !important;
	font-size: clamp(30px, 3.4vw, 44px) !important;
	font-weight: 400 !important;
	line-height: 1.12 !important;
	letter-spacing: -.005em !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-cta-text {
	margin-top: 14px !important;
	font-size: 18px !important;
	max-width: 54ch !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 16px 30px !important;
	border: 1px solid var(--ayu-f-accent) !important;
	color: var(--ayu-f-head) !important;
	font-size: 14px !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	background: linear-gradient(var(--ayu-f-accent), var(--ayu-f-accent)) left / 0 100% no-repeat !important;
	transition: background-size .35s ease, color .35s ease !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-btn:hover,
html body footer.ayu-footer.ayu-footer .ayu-f-btn:focus-visible {
	background-size: 100% 100% !important;
	color: var(--ayu-f-bg) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-btn svg { transition: transform .3s ease !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-btn:hover svg { transform: translateX(4px) !important; }

/* ---------- Main grid ---------- */
html body footer.ayu-footer.ayu-footer .ayu-f-main { padding: 72px 0 56px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-grid {
	display: grid !important;
	grid-template-columns: 1.25fr 1.3fr 1fr 1.25fr !important;
	gap: 56px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-title {
	margin-bottom: 22px !important;
	color: var(--ayu-f-accent) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important; }

/* Brand */
html body footer.ayu-footer.ayu-footer .ayu-f-brand-title {
	color: var(--ayu-f-head) !important;
	font-size: 28px !important;
	line-height: 1.15 !important;
	letter-spacing: .02em !important;
	margin-bottom: 14px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-brand-text { font-size: 16.5px !important; max-width: 34ch !important; }

html body footer.ayu-footer.ayu-footer .ayu-f-social {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 26px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-social a {
	display: grid !important;
	place-items: center !important;
	width: 40px !important;
	height: 40px !important;
	border: 1px solid rgba(255, 255, 255, .22) !important;
	border-radius: 50% !important;
	color: var(--ayu-f-head) !important;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-social a:hover,
html body footer.ayu-footer.ayu-footer .ayu-f-social a:focus-visible {
	background: var(--ayu-f-accent) !important;
	border-color: var(--ayu-f-accent) !important;
	color: var(--ayu-f-bg) !important;
	transform: translateY(-2px) !important; }

html body footer.ayu-footer.ayu-footer .ayu-f-partner {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	margin-top: 32px !important;
	padding-top: 24px !important;
	border-top: 1px solid var(--ayu-f-line) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-partner-label {
	font-size: 14px !important;
	font-style: italic !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-partner img {
	display: block !important;
	width: 96px !important;
	height: auto !important;
	padding: 6px !important;
	background: #fff !important;
	border-radius: 2px !important; }

/* Link lists */
html body footer.ayu-footer.ayu-footer .ayu-f-links li { margin: 0 !important; padding: 0 !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-links li::before,
html body footer.ayu-footer.ayu-footer .ayu-f-links li::after { display: none !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-links a {
	position: relative !important;
	display: inline-block !important;
	padding: 5px 0 !important;
	font-size: 15px !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	line-height: 1.4 !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-links a::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	bottom: 3px !important;
	width: 100% !important;
	height: 1px !important;
	background: var(--ayu-f-accent) !important;
	transform: scaleX(0) !important;
	transform-origin: left !important;
	transition: transform .3s ease !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-links a:hover::after,
html body footer.ayu-footer.ayu-footer .ayu-f-links a:focus-visible::after { transform: scaleX(1) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-links .current-menu-item > a { color: var(--ayu-f-head) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-explore .ayu-f-links {
	column-count: 2 !important;
	column-gap: 28px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-explore .ayu-f-links li { break-inside: avoid !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-note a { font-style: italic !important; font-size: 15px !important; }

/* Hours */
html body footer.ayu-footer.ayu-footer .ayu-f-hours-block { margin-top: 40px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-hours > div {
	display: flex !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 8px 0 !important;
	border-bottom: 1px solid var(--ayu-f-line) !important;
	font-size: 16px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-hours > div:first-child { padding-top: 0 !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-hours dt { font-weight: 400 !important; color: var(--ayu-f-text) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-hours dd { color: var(--ayu-f-head) !important; text-align: right !important; }

/* Contact */
html body footer.ayu-footer.ayu-footer .ayu-f-contact-list li {
	display: flex !important;
	gap: 14px !important;
	align-items: flex-start !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-size: 16.5px !important;
	line-height: 1.5 !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-contact-list li::before { display: none !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-contact-list svg {
	margin-top: 3px !important;
	color: var(--ayu-f-accent) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-contact-list strong {
	display: block !important;
	color: var(--ayu-f-head) !important;
	font-weight: 500 !important;
	margin-bottom: 2px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-contact-list a { word-break: break-word !important; }

/* ---------- Bottom bar ---------- */
html body footer.ayu-footer.ayu-footer .ayu-f-bottom { border-top: 1px solid var(--ayu-f-line) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-bottom-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 8px 24px !important;
	padding-top: 22px !important;
	padding-bottom: 22px !important;
	font-size: 15px !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-credit a { color: var(--ayu-f-head) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-credit a:hover { color: var(--ayu-f-accent) !important; }
html body footer.ayu-footer.ayu-footer .ayu-f-heart { color: #e0475b !important; }

/* ---------- Responsive ---------- */
@media only screen and (max-width: 1100px) {
	html body footer.ayu-footer.ayu-footer .ayu-f-grid { grid-template-columns: 1fr 1fr !important; gap: 48px 40px !important; }
}
@media only screen and (max-width: 768px) {
	html body footer.ayu-footer.ayu-footer .ayu-f-wrap { padding: 0 20px !important; }
	html body footer.ayu-footer.ayu-footer .ayu-f-cta-inner { flex-direction: column !important; align-items: flex-start !important; gap: 28px !important; padding-top: 48px !important; padding-bottom: 48px !important; }
	html body footer.ayu-footer.ayu-footer .ayu-f-btn { white-space: normal !important; }
	html body footer.ayu-footer.ayu-footer .ayu-f-main { padding: 52px 0 36px !important; }
	html body footer.ayu-footer.ayu-footer .ayu-f-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
	html body footer.ayu-footer.ayu-footer .ayu-f-brand-text { max-width: none !important; }
	html body footer.ayu-footer.ayu-footer .ayu-f-bottom-inner { flex-direction: column !important; align-items: flex-start !important; }
}

/* Keep the parent's back-to-top button above the dark footer */
#eltd-back-to-top { z-index: 10 !important; }

@media (prefers-reduced-motion: reduce) {
	html body footer.ayu-footer.ayu-footer *,
html body footer.ayu-footer.ayu-footer *::after { transition: none !important; }
}
