/** AUROME base typography, layout and interaction defaults. */
.aurome-storefront,
.aurome-storefront *,
.aurome-storefront *::before,
.aurome-storefront *::after {
	box-sizing: border-box;
}

.aurome-storefront h1,
.aurome-storefront h2,
.aurome-storefront h3,
.aurome-storefront h4,
.aurome-storefront h5,
.aurome-storefront h6 {
	color: var(--aurome-ink);
	font-family: var(--aurome-serif);
}

.aurome-storefront h1,
.aurome-storefront h2 {
	font-weight: 500;
	line-height: 1.2;
}

.aurome-storefront h1 {
	font: var(--aurome-type-display);
	letter-spacing: var(--aurome-display-tracking);
}

.aurome-storefront h2 {
	font: var(--aurome-type-section);
}

.aurome-storefront a {
	color: var(--aurome-accent);
}

.aurome-storefront a:hover {
	color: var(--aurome-accent-hover);
}

.aurome-storefront :focus-visible {
	outline: 2px solid var(--aurome-eyebrow);
	outline-offset: 4px;
}

.aurome-storefront .aurome-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--aurome-container-max);
	margin-inline: auto;
	padding-inline: 16px;
}

/* Keep Astra's document/content hooks while neutralizing its negative row gutters. */
.aurome-storefront .site-content .ast-row {
	width: 100%;
	margin-inline: 0;
}

html {
	scroll-padding-top: calc(var(--aurome-shell-height, 64px) + var(--aurome-admin-offset, 0px));
}

.aurome-storefront input,
.aurome-storefront select,
.aurome-storefront textarea {
	font: var(--aurome-type-body);
}

.aurome-storefront button {
	font: var(--aurome-type-control);
}

/* Use the bundled real italic for semantic emphasis; never synthesize a face. */
.aurome-storefront em,
.aurome-storefront i:not([class]) {
	font-family: var(--aurome-serif);
	font-style: italic;
}

.aurome-storefront button,
.aurome-storefront input[type="search"] {
	min-height: 44px;
}

@media (min-width: 768px) {
	.aurome-storefront .aurome-container {
		padding-inline: 24px;
	}
}
