/*
 * base.css — Espresso Bar theme
 *
 * Site-wide resets and base styles.
 * Design tokens come from theme.json; reference them here
 * as --wp--preset--* variables rather than hard-coded values.
 *
 * Self-hosted fonts are loaded via theme.json fontFace entries
 * (see assets/fonts/ for woff2 files).
 */

/* ─── Reset ─────────────────────────────────── */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* ─── Base typography ────────────────────────── */
body {
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3 {
	font-optical-sizing: auto;
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

/* ─── Images ────────────────────────────────── */
img,
svg {
	display: block;
	max-width: 100%;
}

/* ─── Focus ─────────────────────────────────── */
:focus-visible {
	outline: 2px solid var(--wp--preset--color--rosso);
	outline-offset: 2px;
}

/* ─── Skip link ──────────────────────────────── */
.skip-link {
	position: absolute;
	top: -9999px;
	left: 0;
	z-index: 9999;
	background: var(--wp--preset--color--rosso);
	color: var(--wp--preset--color--crema);
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-decoration: none;
	text-transform: uppercase;
	padding: 0.75rem 1.5rem;
}

.skip-link:focus {
	top: 0;
}

/* ─── Site header ────────────────────────────── */
.site-header {
	z-index: 100;
	border-bottom: 1px solid rgba(43, 23, 17, 0.1);
}

/* ─── Buttons (supplement theme.json element styles) ── */
.wp-block-button__link {
	border-radius: 1px !important;
	letter-spacing: 0.14em;
}

/* ─── Numeric alignment ──────────────────────── */
.price,
.woocommerce-Price-amount {
	font-variant-numeric: tabular-nums;
}
