/**
 * Pidelio — estilos del tema (mobile-first).
 *
 * Los valores de diseño vienen de theme.json (variables --wp--preset--* y --wp--custom--*).
 * Para adaptar el tema a otro local basta con cambiar theme.json, no este archivo.
 */

/* ---------- Alias de tokens ---------- */
:root {
	--c-canvas: var(--wp--preset--color--canvas);
	--c-surface: var(--wp--preset--color--surface);
	--c-surface-alt: var(--wp--preset--color--surface-alt);
	--c-line: var(--wp--preset--color--line);
	--c-ink: var(--wp--preset--color--ink);
	--c-ink-muted: var(--wp--preset--color--ink-muted);
	--c-primary: var(--wp--preset--color--primary);
	--c-primary-strong: var(--wp--preset--color--primary-strong);
	--c-on-primary: var(--wp--preset--color--on-primary);
	--c-secondary: var(--wp--preset--color--secondary);
	--c-accent: var(--wp--preset--color--accent);
	--c-dark: var(--wp--preset--color--contrast-bg);
	--c-dark-ink: var(--wp--preset--color--contrast-ink);
	--c-dark-muted: var(--wp--preset--color--contrast-muted);

	--f-display: var(--wp--preset--font-family--display);
	--f-body: var(--wp--preset--font-family--body);

	--fs-xs: var(--wp--preset--font-size--xs);
	--fs-sm: var(--wp--preset--font-size--sm);
	--fs-md: var(--wp--preset--font-size--md);
	--fs-lg: var(--wp--preset--font-size--lg);
	--fs-xl: var(--wp--preset--font-size--xl);
	--fs-display: var(--wp--preset--font-size--display);

	--sp-2xs: var(--wp--preset--spacing--2-xs);
	--sp-xs: var(--wp--preset--spacing--xs);
	--sp-sm: var(--wp--preset--spacing--sm);
	--sp-md: var(--wp--preset--spacing--md);
	--sp-lg: var(--wp--preset--spacing--lg);
	--sp-xl: var(--wp--preset--spacing--xl);
	--sp-2xl: var(--wp--preset--spacing--2-xl);

	--radius-sm: var(--wp--custom--radius--sm);
	--radius-md: var(--wp--custom--radius--md);
	--radius-lg: var(--wp--custom--radius--lg);
	--radius-pill: var(--wp--custom--radius--pill);
	--shadow-card: var(--wp--custom--shadow--card);
	--shadow-raised: var(--wp--custom--shadow--raised);

	--container: var(--wp--custom--layout--container);
	--gutter: var(--wp--custom--layout--gutter);
	--header-h: var(--wp--custom--layout--header-height);
	--catnav-h: var(--wp--custom--layout--category-nav-height);

	--t-fast: var(--wp--custom--motion--fast);
	--t-base: var(--wp--custom--motion--base);
	--ease: var(--wp--custom--motion--easing);

	--focus-ring: 0 0 0 3px var(--c-canvas), 0 0 0 6px var(--c-primary);
}

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

body,
h1,
h2,
h3,
p,
ul,
figure {
	margin: 0;
}

ul[class] {
	padding: 0;
	list-style: none;
}

img,
svg {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

button {
	font: inherit;
	color: inherit;
}

/* ---------- Base ---------- */
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	min-height: 100vh;
	background: var(--c-canvas);
	color: var(--c-ink);
	font-family: var(--f-body);
	font-size: var(--fs-md);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3 {
	font-family: var(--f-display);
	font-weight: 750;
	line-height: 1.1;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

a {
	color: var(--c-primary);
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--c-primary-strong);
}

:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
	border-radius: var(--radius-sm);
}

::selection {
	background: var(--c-accent);
	color: var(--c-ink);
}

.icon {
	width: 1.25em;
	height: 1.25em;
	flex: none;
}

/* ---------- Layout ---------- */
.container {
	width: min(100% - 2 * var(--gutter), var(--container));
	margin-inline: auto;
}

.site-main {
	display: block;
}

.site-main:focus {
	outline: none;
}

.entry-wrap {
	max-width: 48rem;
	padding-block: var(--sp-xl) var(--sp-2xl);
}

.entry-wrap--page {
	max-width: var(--container);
}

.entry + .entry {
	margin-top: var(--sp-xl);
	padding-top: var(--sp-xl);
	border-top: 1px solid var(--c-line);
}

.page-title,
.entry__title {
	font-size: var(--fs-xl);
	margin-bottom: var(--sp-md);
}

.entry__content > * + * {
	margin-top: var(--sp-md);
}

/* Contenido editorial de WordPress */
.alignleft {
	float: left;
	margin: 0 var(--sp-md) var(--sp-sm) 0;
}

.alignright {
	float: right;
	margin: 0 0 var(--sp-sm) var(--sp-md);
}

.aligncenter {
	display: block;
	margin-inline: auto;
}

.wp-caption,
.gallery-caption,
.wp-caption-text {
	color: var(--c-ink-muted);
	font-size: var(--fs-sm);
}

.sticky,
.bypostauthor {
	position: relative;
}

/* ---------- Componentes ---------- */

/* Aviso de demostración */
.demo-notice {
	background: var(--c-dark);
	color: var(--c-dark-ink);
	font-size: var(--fs-xs);
	line-height: 1.4;
	text-align: center;
	padding-block: var(--sp-xs);
}

/* Botones */
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--sp-xs);
	min-height: 2.75rem;
	padding: 0.625rem 1.125rem;
	border: 2px solid transparent;
	border-radius: var(--radius-pill);
	font-family: var(--f-body);
	font-size: var(--fs-sm);
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}

.button:active {
	transform: scale(0.97);
}

.button--primary,
.button--add {
	background: var(--c-primary);
	color: var(--c-on-primary);
}

.button--primary:hover,
.button--add:hover {
	background: var(--c-primary-strong);
	color: var(--c-on-primary);
}

.button--lg {
	min-height: 3.25rem;
	padding-inline: 1.75rem;
	font-size: var(--fs-md);
}

.button--add {
	padding-inline: 0.875rem 1rem;
}

.button--add .icon {
	width: 1.125rem;
	height: 1.125rem;
	stroke-width: 2.4;
}

.button--ghost {
	background: transparent;
	border-color: var(--c-line);
	color: var(--c-ink);
}

.button--ghost:hover {
	border-color: var(--c-ink);
	color: var(--c-ink);
}

.icon-button {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-pill);
	background: var(--c-surface);
	color: var(--c-ink);
	cursor: pointer;
	transition: border-color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);
}

.icon-button:hover {
	border-color: var(--c-ink);
	color: var(--c-ink);
}

/* Encabezado */
.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: color-mix(in srgb, var(--c-canvas) 92%, transparent);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--c-line);
}

.admin-bar .site-header {
	top: var(--wp-admin--admin-bar--height, 0px);
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: var(--sp-sm);
	min-height: var(--header-h);
}

.site-brand,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-xs);
	margin-right: auto;
	color: var(--c-ink);
	text-decoration: none;
}

.custom-logo {
	max-height: 2.75rem;
	width: auto;
}

.site-brand__mark {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: var(--radius-md);
	background: var(--c-primary);
	color: var(--c-on-primary);
	font-family: var(--f-display);
	font-size: 1.25rem;
	font-weight: 800;
}

.site-brand__name {
	font-family: var(--f-display);
	font-size: 1.25rem;
	font-weight: 750;
	letter-spacing: -0.02em;
}

.icon-button__close,
[aria-expanded="true"] .icon-button__open {
	display: none;
}

[aria-expanded="true"] .icon-button__close {
	display: inline;
}

.site-nav {
	display: none;
	position: absolute;
	inset: 100% 0 auto;
	background: var(--c-canvas);
	border-bottom: 1px solid var(--c-line);
	box-shadow: var(--shadow-raised);
}

.site-nav.is-open {
	display: block;
}

.site-nav__list {
	width: min(100% - 2 * var(--gutter), var(--container));
	margin-inline: auto;
	padding-block: var(--sp-xs) var(--sp-md);
}

.site-nav__list a {
	display: flex;
	align-items: center;
	min-height: 3rem;
	color: var(--c-ink);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid var(--c-line);
}

.site-nav__list li:last-child a {
	border-bottom: 0;
}

.cart-button__count {
	position: absolute;
	top: -0.25rem;
	right: -0.25rem;
	min-width: 1.25rem;
	height: 1.25rem;
	padding-inline: 0.3rem;
	border-radius: var(--radius-pill);
	background: var(--c-primary);
	color: var(--c-on-primary);
	font-size: 0.75rem;
	font-weight: 800;
	line-height: 1.25rem;
	text-align: center;
}

/* Hero */
.hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(120% 80% at 85% 100%, color-mix(in srgb, var(--c-accent) 26%, transparent), transparent 60%),
		var(--c-dark);
	color: var(--c-dark-ink);
}

.hero__inner {
	display: grid;
	gap: var(--sp-md);
	padding-top: var(--sp-xl);
}

.hero__eyebrow {
	color: var(--c-accent);
	font-size: var(--fs-xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.hero__title {
	margin-top: var(--sp-xs);
	font-size: var(--fs-display);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.03em;
	max-width: 14ch;
}

.hero__text {
	margin-top: var(--sp-md);
	max-width: 38ch;
	color: var(--c-dark-muted);
	font-size: var(--fs-lg);
}

.hero__actions {
	margin-top: var(--sp-lg);
}

.hero .button--primary {
	box-shadow: 0 8px 24px color-mix(in srgb, var(--c-primary) 45%, transparent);
}

.hero :focus-visible {
	box-shadow: 0 0 0 3px var(--c-dark), 0 0 0 6px var(--c-accent);
}

.hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-xs);
	margin-top: var(--sp-lg);
	font-size: var(--fs-sm);
}

.hero__facts li {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-xs);
	padding: 0.375rem 0.75rem;
	border: 1px solid color-mix(in srgb, var(--c-dark-ink) 22%, transparent);
	border-radius: var(--radius-pill);
	color: var(--c-dark-ink);
}

.hero__facts .icon {
	color: var(--c-accent);
}

/* La pizza asoma por abajo en móvil para no alargar el hero. */
.hero__media {
	justify-self: center;
	width: min(72vw, 20rem);
	height: 8.5rem;
	overflow: hidden;
}

.hero__media img {
	width: 100%;
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.35));
}

@media (prefers-reduced-motion: no-preference) {
	.hero__media img {
		animation: pidelio-float 9s var(--ease) infinite alternate;
	}
}

@keyframes pidelio-float {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(14deg);
	}
}

/* Navegación por categorías */
.category-nav {
	position: sticky;
	top: var(--header-h);
	z-index: 30;
	background: color-mix(in srgb, var(--c-canvas) 94%, transparent);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--c-line);
}

.admin-bar .category-nav {
	top: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 0px));
}

.category-nav__list {
	display: flex;
	gap: var(--sp-xs);
	min-height: var(--catnav-h);
	align-items: center;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scroll-padding-inline: var(--gutter);
	scrollbar-width: none;
	margin-inline: calc(-1 * var(--gutter));
	padding-inline: var(--gutter);
}

.category-nav__list::-webkit-scrollbar {
	display: none;
}

.category-nav__list li {
	flex: none;
	scroll-snap-align: start;
}

.chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 2.75rem;
	padding: 0.5rem 1rem;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-pill);
	background: var(--c-surface);
	color: var(--c-ink);
	font-weight: 650;
	font-size: var(--fs-sm);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}

.chip:hover {
	border-color: var(--c-ink);
	color: var(--c-ink);
}

.chip__count {
	color: var(--c-ink-muted);
	font-size: var(--fs-xs);
	font-weight: 600;
}

.chip[aria-current="true"] {
	background: var(--c-ink);
	border-color: var(--c-ink);
	color: var(--c-canvas);
}

.chip[aria-current="true"] .chip__count {
	color: var(--c-dark-muted);
}

/* Menú */
.menu__body {
	padding-block: var(--sp-lg) var(--sp-2xl);
}

.callout {
	display: flex;
	gap: var(--sp-sm);
	align-items: flex-start;
	padding: var(--sp-sm) var(--sp-md);
	border: 1px dashed color-mix(in srgb, var(--c-ink) 30%, transparent);
	border-radius: var(--radius-md);
	background: var(--c-surface-alt);
	color: var(--c-ink);
	font-size: var(--fs-sm);
}

.callout .icon {
	margin-top: 0.1rem;
	color: var(--c-primary);
}

.menu-section {
	padding-top: var(--sp-xl);
	scroll-margin-top: calc(var(--header-h) + var(--catnav-h) + var(--sp-xs));
}

.admin-bar .menu-section {
	scroll-margin-top: calc(var(--header-h) + var(--catnav-h) + var(--sp-xs) + var(--wp-admin--admin-bar--height, 0px));
}

.menu-section__header {
	margin-bottom: var(--sp-md);
}

.menu-section__title {
	font-size: var(--fs-xl);
}

.menu-section__description {
	margin-top: var(--sp-2xs);
	color: var(--c-ink-muted);
}

.product-grid {
	display: grid;
	gap: var(--sp-sm);
}

/* Tarjeta de producto: horizontal, pensada para pedir con el pulgar. */
.product-card {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--sp-md);
	height: 100%;
	padding: var(--sp-md);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	background: var(--c-surface);
	box-shadow: var(--shadow-card);
	transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}

.product-card__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.product-card__title {
	font-size: var(--fs-lg);
	font-weight: 700;
}

.product-card__description {
	margin-top: var(--sp-2xs);
	color: var(--c-ink-muted);
	font-size: var(--fs-sm);
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.product-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2xs);
	margin-top: var(--sp-xs);
}

.badge {
	padding: 0.125rem 0.5rem;
	border-radius: var(--radius-pill);
	background: color-mix(in srgb, var(--c-secondary) 12%, var(--c-surface));
	color: var(--c-secondary);
	font-size: var(--fs-xs);
	font-weight: 700;
}

.product-card__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-xs);
	margin-top: auto;
	padding-top: var(--sp-sm);
}

.product-card__price {
	font-size: var(--fs-lg);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.product-card__price del {
	color: var(--c-ink-muted);
	font-weight: 500;
	font-size: var(--fs-sm);
}

.product-card__price ins {
	text-decoration: none;
}

.product-card__media {
	width: 6.5rem;
	aspect-ratio: 1;
	border-radius: var(--radius-md);
	background: var(--c-surface-alt);
	overflow: hidden;
}

.product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Estados del botón oficial de WooCommerce (add-to-cart.js añade .loading y .added) */
.button--add.loading {
	opacity: 0.75;
	pointer-events: none;
}

.button--add.loading .icon {
	animation: pidelio-spin 0.8s linear infinite;
}

.button--add.added {
	background: var(--c-secondary);
}

@keyframes pidelio-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Enlace "Ver carrito" que WooCommerce agrega junto al botón tras añadir.
   En móvil se oculta: la barra inferior cumple esa función. */
.product-card__footer .added_to_cart {
	display: none;
	align-items: center;
	min-height: 2.75rem;
	color: var(--c-primary);
	font-size: var(--fs-sm);
	font-weight: 700;
}

/* Avisos de WooCommerce en la portada */
.pidelio-notices:not(:has(*:not(.woocommerce-notices-wrapper))) {
	display: none;
}

.pidelio-notices {
	margin-bottom: var(--sp-md);
}

.pidelio-notices .woocommerce-message,
.pidelio-notices .woocommerce-info,
.pidelio-notices .woocommerce-error {
	margin: 0;
	border-radius: var(--radius-md);
	font-size: var(--fs-sm);
}

/* Páginas de WooCommerce con plantilla PHP (tienda, categorías, producto) */
.entry-wrap--shop {
	max-width: var(--container);
}

.entry-wrap--shop .woocommerce-products-header__title,
.entry-wrap--shop .product_title {
	font-size: var(--fs-xl);
	margin-bottom: var(--sp-md);
}

.entry-wrap--shop .price,
.entry-wrap--shop ul.products li.product .price {
	color: var(--c-ink);
	font-weight: 700;
}

.entry-wrap--shop ul.products li.product .button,
.entry-wrap--shop .single_add_to_cart_button {
	border-radius: var(--radius-pill);
	background: var(--c-primary);
	color: var(--c-on-primary);
}

/* Barra de carrito (móvil) */
.cart-bar {
	position: fixed;
	inset: auto var(--sp-sm) calc(var(--sp-sm) + env(safe-area-inset-bottom)) var(--sp-sm);
	z-index: 35;
	display: flex;
	align-items: center;
	gap: var(--sp-sm);
	min-height: 3.5rem;
	padding: var(--sp-sm) var(--sp-md);
	border-radius: var(--radius-lg);
	background: var(--c-ink);
	color: var(--c-canvas);
	box-shadow: var(--shadow-raised);
	font-weight: 700;
	text-decoration: none;
}

a.cart-bar:hover {
	color: var(--c-canvas);
}

.cart-bar__count {
	display: grid;
	place-items: center;
	min-width: 1.75rem;
	height: 1.75rem;
	border-radius: var(--radius-pill);
	background: var(--c-primary);
	color: var(--c-on-primary);
	font-size: var(--fs-sm);
}

.cart-bar__total {
	margin-left: auto;
}

.cart-bar.is-preview {
	min-height: 3rem;
	background: var(--c-surface);
	border: 1px dashed color-mix(in srgb, var(--c-ink) 35%, transparent);
	color: var(--c-ink-muted);
	font-size: var(--fs-xs);
	font-weight: 600;
	box-shadow: var(--shadow-card);
}

.cart-bar.is-preview .icon {
	color: var(--c-ink);
}

.home .site-footer {
	padding-bottom: calc(5.5rem + env(safe-area-inset-bottom));
}

/* Aviso flotante (vista de demostración) */
.toast {
	position: fixed;
	left: 50%;
	bottom: calc(5rem + env(safe-area-inset-bottom));
	z-index: 50;
	width: min(100% - 2 * var(--gutter), 26rem);
	padding: var(--sp-sm) var(--sp-md);
	border-radius: var(--radius-md);
	background: var(--c-ink);
	color: var(--c-canvas);
	font-size: var(--fs-sm);
	box-shadow: var(--shadow-raised);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 0.75rem);
	transition: opacity var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}

.toast:empty {
	visibility: hidden;
}

.toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

/* Pie */
.site-footer {
	background: var(--c-dark);
	color: var(--c-dark-muted);
	font-size: var(--fs-sm);
}

.site-footer a {
	color: var(--c-dark-ink);
}

.site-footer__grid {
	display: grid;
	gap: var(--sp-lg);
	padding-block: var(--sp-xl);
}

.site-footer__name {
	color: var(--c-dark-ink);
	font-family: var(--f-display);
	font-size: var(--fs-xl);
	font-weight: 750;
	letter-spacing: -0.02em;
}

.site-footer__tagline {
	margin-top: var(--sp-2xs);
}

.site-footer__title {
	margin-bottom: var(--sp-xs);
	color: var(--c-accent);
	font-family: var(--f-body);
	font-size: var(--fs-xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.site-footer__list li + li {
	margin-top: var(--sp-2xs);
}

.site-footer__list--icons li {
	display: flex;
	gap: var(--sp-xs);
	align-items: flex-start;
}

.site-footer__list--icons .icon {
	margin-top: 0.1rem;
	color: var(--c-accent);
}

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--sp-xs);
	padding-block: var(--sp-md);
	border-top: 1px solid color-mix(in srgb, var(--c-dark-ink) 14%, transparent);
	font-size: var(--fs-xs);
}

.site-footer__platform {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-xs);
}

.pidelio-mark {
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 0.25rem 0.25rem 0.25rem 0;
	background: var(--c-accent);
}

/* 404 */
.empty-state {
	text-align: center;
}

.empty-state__code {
	color: var(--c-primary);
	font-family: var(--f-display);
	font-size: var(--fs-display);
	font-weight: 800;
	line-height: 1;
}

.empty-state .button {
	margin-top: var(--sp-lg);
}

/* ---------- Tablet (≥ 48em / 768 px) ---------- */
@media (min-width: 48em) {
	.product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--sp-md);
	}

	.product-card__media {
		width: 7.5rem;
	}

	.site-footer__grid {
		grid-template-columns: 1.4fr 1fr 1fr;
	}

	.hero__media {
		height: 12rem;
	}
}

/* ---------- Escritorio (≥ 60em / 960 px) ---------- */
@media (min-width: 60em) {
	.site-header__toggle {
		display: none;
	}

	.site-nav {
		display: block;
		position: static;
		background: none;
		border: 0;
		box-shadow: none;
	}

	.site-nav__list {
		display: flex;
		gap: var(--sp-xs);
		width: auto;
		padding: 0;
	}

	.site-nav__list a {
		min-height: 2.75rem;
		padding-inline: var(--sp-sm);
		border: 0;
		border-radius: var(--radius-pill);
	}

	.site-nav__list a:hover {
		background: var(--c-surface-alt);
	}

	.category-nav__list {
		margin-inline: 0;
		padding-inline: 0;
	}

	.hero__inner {
		grid-template-columns: 1.1fr 0.9fr;
		align-items: center;
		min-height: 34rem;
		padding-block: var(--sp-2xl);
	}

	.hero__media {
		width: 100%;
		max-width: 34rem;
		height: auto;
		overflow: visible;
		margin-right: -4rem;
		justify-self: end;
	}

	.cart-bar {
		display: none;
	}

	.product-card__footer .added_to_cart {
		display: inline-flex;
	}

	.home .site-footer {
		padding-bottom: 0;
	}

	.toast {
		bottom: var(--sp-lg);
	}

	@media (hover: hover) and (prefers-reduced-motion: no-preference) {
		.product-card:hover {
			transform: translateY(-2px);
			box-shadow: var(--shadow-raised);
		}
	}
}

/* ---------- Escritorio amplio (≥ 75em / 1200 px) ---------- */
@media (min-width: 75em) {
	.product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Aviso de tienda de WooCommerce (modo demo) */
.woocommerce-store-notice,
p.demo_store {
	background: var(--c-dark) !important;
	color: var(--c-dark-ink) !important;
	font-size: var(--fs-xs);
}

/* ---------- Utilidades ---------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed !important;
	top: var(--sp-sm);
	left: var(--sp-sm);
	z-index: 100;
	width: auto;
	height: auto;
	margin: 0;
	padding: var(--sp-sm) var(--sp-md);
	clip-path: none;
	background: var(--c-ink);
	color: var(--c-canvas);
	border-radius: var(--radius-md);
	text-decoration: none;
}

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