/*
 * MÈRE — reinicio.
 * Réplica exacta del preflight de Tailwind v4.3 (capa "base" que usa Lovable)
 * más la base de marca de src/styles.css.
 *
 * Va dentro de una capa de cascada: cualquier regla sin capa (base.css, marca.css,
 * WooCommerce, Elementor, Mercado Pago) le gana siempre, igual que las utilidades
 * de Tailwind le ganan al preflight. Así los estilos :where() de base.css, con
 * especificidad 0, sí pisan este reinicio.
 */

@layer mere-reset;

@layer mere-reset {
	*,
	::after,
	::before,
	::backdrop {
		box-sizing: border-box;
		border: 0 solid;
		margin: 0;
		padding: 0;
	}

	::file-selector-button {
		box-sizing: border-box;
		border: 0 solid;
		margin: 0;
		padding: 0;
	}

	html,
	:host {
		-webkit-text-size-adjust: 100%;
		tab-size: 4;
		line-height: 1.5;
		font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
		font-feature-settings: var(--default-font-feature-settings, normal);
		font-variation-settings: var(--default-font-variation-settings, normal);
		-webkit-tap-highlight-color: transparent;
	}

	hr {
		height: 0;
		color: inherit;
		border-top-width: 1px;
	}

	abbr:where([title]) {
		-webkit-text-decoration: underline dotted;
		text-decoration: underline dotted;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-size: inherit;
		font-weight: inherit;
	}

	a {
		color: inherit;
		-webkit-text-decoration: inherit;
		text-decoration: inherit;
	}

	b,
	strong {
		font-weight: bolder;
	}

	code,
	kbd,
	samp,
	pre {
		font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
		font-feature-settings: var(--default-mono-font-feature-settings, normal);
		font-variation-settings: var(--default-mono-font-variation-settings, normal);
		font-size: 1em;
	}

	small {
		font-size: 80%;
	}

	sub,
	sup {
		vertical-align: baseline;
		font-size: 75%;
		line-height: 0;
		position: relative;
	}

	sub {
		bottom: -0.25em;
	}

	sup {
		top: -0.5em;
	}

	table {
		text-indent: 0;
		border-color: inherit;
		border-collapse: collapse;
	}

	:-moz-focusring:where(:not(iframe)) {
		outline: auto;
	}

	progress {
		vertical-align: baseline;
	}

	summary {
		display: list-item;
	}

	ol,
	ul,
	menu {
		list-style: none;
	}

	img,
	svg,
	video,
	canvas,
	audio,
	iframe,
	embed,
	object {
		vertical-align: middle;
		display: block;
	}

	img,
	video {
		max-width: 100%;
		height: auto;
	}

	button,
	input,
	select,
	optgroup,
	textarea {
		font: inherit;
		font-feature-settings: inherit;
		font-variation-settings: inherit;
		letter-spacing: inherit;
		color: inherit;
		opacity: 1;
		background-color: #0000;
		border-radius: 0;
	}

	::file-selector-button {
		font: inherit;
		font-feature-settings: inherit;
		font-variation-settings: inherit;
		letter-spacing: inherit;
		color: inherit;
		opacity: 1;
		background-color: #0000;
		border-radius: 0;
	}

	:where(select:is([multiple], [size])) optgroup {
		font-weight: bolder;
	}

	:where(select:is([multiple], [size])) optgroup option {
		padding-inline-start: 20px;
	}

	::file-selector-button {
		margin-inline-end: 4px;
	}

	::placeholder {
		opacity: 1;
	}

	@supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
		::placeholder {
			color: currentColor;
		}

		@supports (color: color-mix(in lab, red, red)) {
			::placeholder {
				color: color-mix(in oklab, currentcolor 50%, transparent);
			}
		}
	}

	textarea {
		resize: vertical;
	}

	::-webkit-search-decoration {
		-webkit-appearance: none;
	}

	::-webkit-date-and-time-value {
		min-height: 1lh;
		text-align: inherit;
	}

	::-webkit-datetime-edit {
		display: inline-flex;
	}

	::-webkit-datetime-edit-fields-wrapper {
		padding: 0;
	}

	::-webkit-datetime-edit {
		padding-block: 0;
	}

	::-webkit-datetime-edit-year-field {
		padding-block: 0;
	}

	::-webkit-datetime-edit-month-field {
		padding-block: 0;
	}

	::-webkit-datetime-edit-day-field {
		padding-block: 0;
	}

	::-webkit-datetime-edit-hour-field {
		padding-block: 0;
	}

	::-webkit-datetime-edit-minute-field {
		padding-block: 0;
	}

	::-webkit-datetime-edit-second-field {
		padding-block: 0;
	}

	::-webkit-datetime-edit-millisecond-field {
		padding-block: 0;
	}

	::-webkit-datetime-edit-meridiem-field {
		padding-block: 0;
	}

	::-webkit-calendar-picker-indicator {
		line-height: 1;
	}

	:-moz-ui-invalid {
		box-shadow: none;
	}

	button,
	input:where([type="button"], [type="reset"], [type="submit"]) {
		appearance: button;
	}

	::file-selector-button {
		appearance: button;
	}

	::-webkit-inner-spin-button {
		height: auto;
	}

	::-webkit-outer-spin-button {
		height: auto;
	}

	[hidden]:where(:not([hidden="until-found"])) {
		display: none !important;
	}

	/* Base de marca (src/styles.css @layer base). */
	* {
		border-color: var(--color-border, #e2d7c4);
	}

	html {
		scroll-behavior: smooth;
	}

	body {
		background-color: var(--color-crema, #f6efe2);
		color: var(--color-foreground, #2b2118);
		font-family: var(--fuente-cuerpo, "Raleway", sans-serif);
		-webkit-font-smoothing: antialiased;
	}

	:focus-visible {
		outline: 3px solid var(--terracota, #c4441f);
		outline-offset: 3px;
	}
}
