/* ==========================================================================
   LS FOOTWEAR — GLOBAL DESIGN SYSTEM
   ========================================================================== */
:root {
	--ls-wine: #4A0008; --ls-wine-2: #650D19; --ls-wine-dark: #290006;
	--ls-gold: #D4AF37; --ls-gold-light: #F3DFA2; --ls-cream: #FFF6E8;
	--ls-peach: #F5C6AA; --ls-coral: #E87565; --ls-white: #FFFFFF;
	--ls-bg-light: #FAF7F2; --ls-text: #242020; --ls-text-muted: #6B5B5B;
	--ls-font-heading: 'Playfair Display', Georgia, serif;
	--ls-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--ls-font-nav: 'Montserrat', 'Inter', sans-serif;
	--ls-container: 1320px;
	--ls-gutter: clamp(16px, 4vw, 40px);
	--ls-ease: cubic-bezier(.22, .8, .3, 1);
}

/* ---- Hide Astra's own header/footer remnants ---- */
body.ls-theme #masthead,
body.ls-theme #colophon,
body.ls-theme .ast-above-header-wrap,
body.ls-theme .ast-mobile-header-wrap,
body.ls-theme .main-header-bar-wrap { display: none !important; }

body.ls-theme { -webkit-font-smoothing: antialiased; }

/* ---- Home page: strip Astra's container, widths and backgrounds ---- */
body.ls-home-page,
body.ls-home-page #page,
body.ls-home-page #content { background: var(--ls-bg-light) !important; }

body.ls-home-page .site-content > .ast-container,
body.ls-home-page #content > .ast-container {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---- Container ---- */
.ls-container {
	width: min(var(--ls-container), calc(100% - (var(--ls-gutter) * 2)));
	margin-inline: auto;
}

/* ---- Buttons ---- */
body.ls-theme .ls-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	min-height: 54px; padding: 0 30px; margin: 0;
	border: 2px solid transparent; border-radius: 999px;
	font-family: var(--ls-font-nav) !important; font-size: 13px; font-weight: 700;
	letter-spacing: .1em; text-transform: uppercase; line-height: 1;
	text-decoration: none !important; cursor: pointer; box-shadow: none;
	transition: transform .35s var(--ls-ease), box-shadow .35s ease, background-color .3s ease, color .3s ease, border-color .3s ease;
}
body.ls-theme .ls-btn:hover { transform: translateY(-3px); }

body.ls-theme .ls-btn--gold {
	background: linear-gradient(135deg, #D4AF37 0%, #F3DFA2 100%) !important;
	color: var(--ls-wine-dark) !important;
	box-shadow: 0 10px 26px rgba(212, 175, 55, .35);
}
body.ls-theme .ls-btn--gold:hover {
	color: var(--ls-wine-dark) !important;
	box-shadow: 0 0 0 5px rgba(212, 175, 55, .22), 0 16px 38px rgba(212, 175, 55, .55);
}
body.ls-theme .ls-btn--ghost {
	background: transparent !important; color: var(--ls-gold-light) !important;
	border-color: rgba(243, 223, 162, .55);
}
body.ls-theme .ls-btn--ghost:hover {
	background: rgba(243, 223, 162, .12) !important; border-color: var(--ls-gold); color: #fff !important;
}
body.ls-theme .ls-btn--wine {
	background: var(--ls-wine) !important; color: var(--ls-gold-light) !important;
	box-shadow: 0 10px 26px rgba(74, 0, 8, .35);
}
body.ls-theme .ls-btn--wine:hover {
	color: #fff !important; box-shadow: 0 0 0 5px rgba(74, 0, 8, .18), 0 16px 38px rgba(74, 0, 8, .5);
}
body.ls-theme .ls-btn:focus-visible { outline: 3px solid var(--ls-gold); outline-offset: 3px; }

/* ---- Scroll reveal (only active when JS is present) ---- */
html.ls-js .ls-reveal {
	opacity: 0; transform: translateY(36px);
	transition: opacity .85s var(--ls-ease) var(--ls-delay, 0ms), transform .85s var(--ls-ease) var(--ls-delay, 0ms);
}
html.ls-js .ls-reveal--zoom { transform: scale(.94) translateY(20px); }
html.ls-js .ls-reveal.is-visible { opacity: 1; transform: none; }

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .001ms !important; animation-iteration-count: 1 !important;
		transition-duration: .001ms !important; scroll-behavior: auto !important;
	}
	html.ls-js .ls-reveal { opacity: 1 !important; transform: none !important; }
}