/**
 * Typography — scale brand e element defaults.
 *
 * @package lavventura
 */

@layer base {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-family: var(--font-display);
		line-height: var(--line-height-headings);
		letter-spacing: var(--letter-spacing-headings);
		font-weight: 500;
		color: var(--color-text);
		text-wrap: balance;
	}

	h1 {
		font-size: var(--font-size-display);
		line-height: var(--line-height-display);
		letter-spacing: var(--letter-spacing-display);
		font-weight: 400;
	}

	h2 { font-size: var(--font-size-h1); }
	h3 { font-size: var(--font-size-h2); }
	h4 { font-size: var(--font-size-h3); }
	h5 { font-size: var(--font-size-h4); }
	h6 {
		font-size: var(--font-size-body);
		text-transform: uppercase;
		letter-spacing: var(--letter-spacing-caps);
		font-family: var(--font-body);
	}

	p {
		font-family: var(--font-body);
		font-size: var(--font-size-body);
		line-height: var(--line-height-body);
		max-width: var(--container-narrow);
		text-wrap: pretty;
	}

	.lv-lead {
		font-size: var(--font-size-lead);
		line-height: 1.45;
		max-width: var(--container-narrow);
	}

	.lv-display {
		font-family: var(--font-display);
		font-size: var(--font-size-display);
		line-height: var(--line-height-display);
		letter-spacing: var(--letter-spacing-display);
		font-weight: 400;
	}

	.lv-eyebrow {
		font-family: var(--font-body);
		font-size: var(--font-size-caption);
		text-transform: uppercase;
		letter-spacing: var(--letter-spacing-caps);
		font-weight: 600;
		color: var(--color-accent);
	}

	.lv-caption {
		font-family: var(--font-body);
		font-size: var(--font-size-caption);
		line-height: var(--line-height-ui);
		color: var(--color-text-muted);
	}

	/* Italic per poesia retro-etichetta vino */
	.lv-poesia {
		font-family: var(--font-body);
		font-style: italic;
		font-size: var(--font-size-lead);
		line-height: 1.55;
		text-wrap: pretty;
	}

	strong,
	b {
		font-weight: 600;
	}

	em,
	i {
		font-style: italic;
	}

	ul,
	ol {
		font-family: var(--font-body);
		line-height: var(--line-height-body);
		padding-inline-start: 1.5em;
	}

	li + li {
		margin-top: var(--space-2xs);
	}

	dl {
		display: grid;
		grid-template-columns: max-content 1fr;
		gap: var(--space-2xs) var(--space-s);
	}

	dt {
		font-family: var(--font-body);
		font-size: var(--font-size-small);
		text-transform: uppercase;
		letter-spacing: var(--letter-spacing-ui);
		color: var(--color-text-muted);
	}

	dd {
		font-family: var(--font-body);
	}
}
