/*
 * Lienzo, cabecera y pie de página. Solo tokens de theme.json (--wp--preset--*).
 * GeneratePress pinta cajas blancas sobre fondo gris; aquí se pasa a fondo crema a todo el ancho.
 */

html body,
html body .site-content {
	background-color: var(--wp--preset--color--crema);
}

html body.separate-containers .inside-article,
html body.separate-containers .comments-area,
html body.separate-containers .page-header,
html body.separate-containers .paging-navigation {
	background-color: transparent;
}

html body .grid-container {
	max-width: var(--wp--style--global--wide-size);
}

html body.separate-containers .site-main > * {
	margin-bottom: 0;
}

/* Cabecera. */
html body .site-header {
	background-color: var(--wp--preset--color--crema);
}

html body .site-header .inside-header {
	padding-block: var(--wp--preset--spacing--20);
}

.site-logo img {
	display: block;
	width: auto;
	height: 2.25rem;
	max-width: 100%;
	border-radius: 0;
}

html body .main-navigation,
html body .main-navigation ul ul,
html body .main-navigation .main-nav ul li a {
	background-color: transparent;
}

html body .main-navigation .main-nav ul li a {
	padding-inline: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--negro);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--pequena);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 2.5rem;
}

/* Elemento activo: subrayado dorado (el dorado sobre crema no cumple contraste como texto). */
html body .main-navigation .main-nav ul li.current-menu-item > a,
html body .main-navigation .main-nav ul li.current-menu-ancestor > a,
html body .main-navigation .main-nav ul li a:hover,
html body .main-navigation .main-nav ul li a:focus-visible {
	color: var(--wp--preset--color--negro);
	background-color: transparent;
	box-shadow: inset 0 -0.2rem 0 var(--wp--preset--color--dorado);
}

html body .main-navigation .menu-bar-items {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding-inline-start: var(--wp--preset--spacing--20);
}

.bcn-carrito {
	position: relative;
	display: inline-flex;
	color: var(--wp--preset--color--negro);
	line-height: 1;
	text-decoration: none;
}

.bcn-carrito:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 4px;
}

.bcn-carrito__cantidad {
	position: absolute;
	inset-block-start: -0.4rem;
	inset-inline-end: -0.6rem;
	display: grid;
	place-items: center;
	min-width: 1.25rem;
	height: 1.25rem;
	padding-inline: 0.25rem;
	background-color: var(--wp--preset--color--dorado);
	border-radius: 999px;
	color: var(--wp--preset--color--negro);
	font-size: var(--wp--preset--font-size--pequena);
	font-weight: 700;
}

.bcn-idioma {
	font-size: var(--wp--preset--font-size--pequena);
	font-weight: 600;
}

/* Pie. */
html body .site-footer {
	background-color: var(--wp--preset--color--blanco);
}

.bcn-pie {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
}

.bcn-pie__marcas {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	padding-bottom: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--crema);
}

@media (min-width: 900px) {
	.bcn-pie__marcas {
		grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	}
}

.bcn-pie__logo img,
.bcn-pie__marca img {
	display: block;
	width: auto;
	height: 2.25rem;
	max-width: 100%;
	border-radius: 0;
}

.bcn-pie__marca p {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--pequena);
}

.bcn-redes {
	display: flex;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bcn-red {
	display: inline-flex;
}

.bcn-red__icono {
	display: block;
	width: 1.75rem;
	height: 1.75rem;
	color: var(--wp--preset--color--negro);
}

.bcn-red__icono svg {
	display: block;
	width: 100%;
	height: 100%;
}

.bcn-pie__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	padding-top: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--pequena);
}

.bcn-legal {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bcn-legal a,
.bcn-pie a {
	color: var(--wp--preset--color--negro);
	font-weight: 500;
}

.bcn-pie__copyright {
	margin: 0;
}

/*
 * Móvil: los bloques «ancho amplio» de WordPress llevan un margen negativo de 30 px pensado para un contenedor
 * con relleno lateral; en pantallas estrechas dejaban el texto pegado al borde. Se alinean con el margen normal.
 */
@media (max-width: 767px) {
	html body .entry-content > .alignwide {
		max-width: 100%;
		margin-inline: 0;
	}
}
