/* Lost Morals — global */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body.lostmorals-theme {
	font-family: var(--lm-font-body);
	color: var(--lm-ink);
	background: var(--lm-paper);
	-webkit-font-smoothing: antialiased;
}

body.lostmorals-theme h1,
body.lostmorals-theme h2,
body.lostmorals-theme h3,
body.lostmorals-theme h4,
.lm-heading,
.lm-hero__title,
.lm-finale__title,
.lm-manifesto blockquote,
.lm-hero__brand-text {
	font-family: var(--lm-font-display);
	letter-spacing: -0.03em;
}

/* Header/footer handled by chrome.css */

/* Woo buttons */
.lostmorals-theme .button,
.lostmorals-theme .ast-button,
.lostmorals-theme button.button,
.lostmorals-theme .woocommerce a.button,
.lostmorals-theme .woocommerce button.button,
.lostmorals-theme .woocommerce input.button,
.lostmorals-theme .woocommerce #respond input#submit {
	background-color: var(--lm-ink) !important;
	border-color: var(--lm-ink) !important;
	color: #fff !important;
	border-radius: 2px !important;
	font-family: var(--lm-font-body);
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	font-size: 0.78rem !important;
	transition: background 0.2s ease, transform 0.2s ease;
}

.lostmorals-theme .button:hover,
.lostmorals-theme .woocommerce a.button:hover,
.lostmorals-theme .woocommerce button.button:hover {
	background-color: var(--lm-signal) !important;
	border-color: var(--lm-signal) !important;
}

.lostmorals-theme .woocommerce span.onsale {
	background: var(--lm-signal) !important;
	border-radius: 0 !important;
}

/* Atoms */
.lm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.95rem 1.4rem;
	border: 1.5px solid transparent;
	border-radius: 2px;
	font-family: var(--lm-font-body);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.lm-btn--signal {
	background: var(--lm-signal);
	color: #fff !important;
	border-color: var(--lm-signal);
}

.lm-btn--signal:hover {
	background: var(--lm-signal-deep);
	border-color: var(--lm-signal-deep);
	transform: translateY(-2px);
}

.lm-btn--ghost {
	background: transparent;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.45);
}

.lm-btn--ghost:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.06);
}

.lm-btn--dark {
	background: var(--lm-ink);
	color: #fff !important;
	border-color: var(--lm-ink);
}

.lm-btn--dark:hover {
	background: var(--lm-signal);
	border-color: var(--lm-signal);
	transform: translateY(-2px);
}

.lm-textlink {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lm-ink) !important;
	text-decoration: none !important;
	border-bottom: 2px solid var(--lm-signal);
	padding-bottom: 0.15rem;
	transition: color 0.2s ease;
}

.lm-textlink:hover {
	color: var(--lm-signal) !important;
}

.lm-kicker {
	margin: 0 0 0.75rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--lm-signal);
}

.lm-kicker--light {
	color: rgba(255, 255, 255, 0.55);
}

.lm-heading {
	margin: 0;
	font-size: clamp(1.7rem, 3.8vw, 2.75rem);
	font-weight: 700;
	line-height: 1.08;
	color: var(--lm-ink);
}

/* Full-bleed homepage shell */
body.lostmorals-home .site-content,
body.lostmorals-home #content,
body.lostmorals-home .ast-container,
body.lostmorals-home .site-content > .ast-container {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.lostmorals-home .site-content,
body.lostmorals-home #primary,
body.lostmorals-home .content-area {
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
	width: 100% !important;
}

/* Keep Astra from greying out homepage hero headings */
body.lostmorals-home .lm-hero h1,
body.lostmorals-home .lm-hero .lm-hero__title,
body.lostmorals-home .lm-hero .lm-hero__title-line,
body.lostmorals-home .lm-hero .lm-hero__brand-text,
body.lostmorals-home .lm-hero .lm-hero__lede {
	color: #ffffff !important;
}

body.lostmorals-home .lm-hero .lm-hero__title-line--accent {
	color: #ff4d4a !important;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
