/*
 * Ficha de producto. Solo tokens de theme.json (--wp--preset--*); las líneas de 1px son
 * la única medida fija.
 */

/* Hero: imagen y resumen en dos columnas; el resto de secciones, a todo el ancho. */
.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
}

@media (min-width: 768px) {
	.single-product div.product {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.single-product div.product > :not(.bcn-ficha__galeria):not(.summary) {
	grid-column: 1 / -1;
}

html body.single-product #content div.product .bcn-ficha__galeria,
html body.single-product #content div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.bcn-ficha__galeria {
	display: grid;
	gap: var(--wp--preset--spacing--10);
	align-content: start;
}

.bcn-ficha__imagen {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: var(--wp--preset--color--blanco);
}

html body .bcn-ficha__imagen img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	border-radius: 0;
}

/* Miniaturas (principal, frontal, dorso). */
.bcn-ficha__miniaturas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--10);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bcn-ficha__miniaturas li {
	margin: 0;
}

.bcn-ficha__miniatura {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding: 0;
	overflow: hidden;
	background-color: var(--wp--preset--color--blanco);
	border: 2px solid transparent;
	border-radius: 0;
	cursor: pointer;
}

.bcn-ficha__miniatura img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.bcn-ficha__miniatura[aria-pressed="true"] {
	border-color: var(--wp--preset--color--negro);
}

.bcn-ficha__miniatura:focus-visible {
	outline: 3px solid var(--wp--preset--color--negro);
	outline-offset: 2px;
}

html body.single-product #content div.product div.summary {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--wp--preset--spacing--20);
}

.single-product .summary .product_title {
	margin: 0;
}

.bcn-ficha__claim {
	margin: 0;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-size: var(--wp--preset--font-size--grande);
	font-weight: 700;
	text-transform: uppercase;
}

.single-product .summary .woocommerce-product-details__short-description p {
	margin: 0;
}

.bcn-ficha__precio {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
}

.bcn-ficha__importe {
	font-size: var(--wp--preset--font-size--titulo-m);
	font-weight: 700;
}

.bcn-ficha__unidades {
	padding-inline-start: var(--wp--preset--spacing--20);
	border-inline-start: 1px solid currentcolor;
	font-weight: 600;
}

/* Cantidad y botón de compra. */
.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
}

html body.single-product #content form.cart div.quantity {
	float: none;
	margin: 0;
	display: flex;
	align-items: stretch;
	border: 1px solid currentcolor;
}

.bcn-cantidad__boton {
	min-width: 3rem;
	padding: 0;
	background: transparent;
	color: inherit;
	border: 0;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--grande);
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

.bcn-cantidad__boton:hover,
.bcn-cantidad__boton:focus-visible {
	background-color: var(--wp--preset--color--negro);
	color: var(--wp--preset--color--blanco);
}

.single-product form.cart .quantity input.qty {
	width: 4rem;
	padding: 0;
	background: transparent;
	color: inherit;
	border: 0;
	border-radius: 0;
	font-weight: 700;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

html body.single-product.woocommerce form.cart button.single_add_to_cart_button.button {
	flex: 1 1 14rem;
	padding: 1em 2em;
	background-color: var(--wp--preset--color--dorado);
	color: var(--wp--preset--color--negro);
	border: 0;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}

html body.single-product.woocommerce form.cart button.single_add_to_cart_button.button:hover,
html body.single-product.woocommerce form.cart button.single_add_to_cart_button.button:focus-visible {
	background-color: var(--wp--preset--color--negro);
	color: var(--wp--preset--color--blanco);
}

.single-product :is(.bcn-cantidad__boton, .single_add_to_cart_button, summary):focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 2px;
}

/* Secciones. */
.bcn-info,
.bcn-detalles,
.bcn-envio {
	padding: var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--crema);
}

.bcn-info__lista {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
	gap: var(--wp--preset--spacing--30);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bcn-info__item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	min-width: 0;
	margin: 0;
}

.bcn-info__icono {
	flex: none;
	width: 3rem;
	height: 3rem;
	color: var(--wp--preset--color--iconos);
}

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

.bcn-info__texto {
	min-width: 0;
	overflow-wrap: anywhere;
}

.bcn-info__nota {
	display: block;
	font-size: var(--wp--preset--font-size--pequena);
}

/* Desplegables. */
.bcn-detalles {
	display: grid;
	gap: var(--wp--preset--spacing--10);
}

.bcn-detalle {
	background-color: var(--wp--preset--color--blanco);
}

.bcn-detalle summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

.bcn-detalle summary::-webkit-details-marker {
	display: none;
}

.bcn-detalle summary::after {
	content: "+";
	font-size: var(--wp--preset--font-size--grande);
	line-height: 1;
}

.bcn-detalle[open] summary::after {
	content: "\2212";
}

.bcn-detalle__cuerpo {
	padding: 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);
}

.bcn-detalle__cuerpo p {
	margin: 0 0 var(--wp--preset--spacing--20);
}

.bcn-detalle__cuerpo .bcn-detalle__sabor {
	margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--grande);
}

.bcn-nutricion {
	width: 100%;
	max-width: 32rem;
	margin: 0 0 var(--wp--preset--spacing--20);
	border-collapse: collapse;
}

.bcn-nutricion caption {
	padding-bottom: var(--wp--preset--spacing--10);
	font-weight: 600;
	text-align: start;
}

.bcn-nutricion th,
.bcn-nutricion td {
	padding: var(--wp--preset--spacing--10) 0;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--crema);
}

.bcn-nutricion th {
	font-weight: 400;
	text-align: start;
}

.bcn-nutricion td {
	font-weight: 600;
	text-align: end;
}

/* También te puede gustar. */
.bcn-sugeridos {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

.bcn-sugeridos__cabecera {
	display: flex;
	flex-direction: column;
}

.bcn-sugeridos__titulo {
	margin: 0;
}

/* Aviso de envío. */
.bcn-envio {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	font-size: var(--wp--preset--font-size--media);
	font-weight: 600;
	text-align: center;
}

.bcn-envio__icono {
	flex: none;
	width: 3rem;
	height: 3rem;
	color: var(--wp--preset--color--negro);
}

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