/*
 * Bloque «Retirá hoy en N de M sucursales» de la ficha de producto
 * (GSR_Pickup_Availability_Block). Es autocontenido: no depende de ningún
 * otro plugin ni de variables del tema.
 *
 * TODAS las reglas cuelgan de `.gsr-pickup-availability` y ninguna usa
 * `!important`. Woodmart estiliza los `button` con más especificidad que una
 * clase suelta (en otro plugin le dio 42 px de alto, sin borde y en
 * mayúsculas a un botón): por eso el botón de resumen repite su estado en
 * cada pseudo-clase, y los estilos calculados se verifican en el navegador.
 *
 * Valores copiados de `glee-brand/assets/tokens.css`: si cambia un token, se
 * cambia allá primero y después acá. Radio 0, sin sombras, filas de 56 px
 * (lista) y 64 px (resumen), foco visible, contraste mínimo 4,5:1.
 * Los íconos son Material Symbols (outlined) como máscara SVG.
 */
.gsr-pickup-availability {
	--gsr-pa-primary: #392869;
	--gsr-pa-ink: #161616;
	--gsr-pa-ink-muted: #5b5663;
	--gsr-pa-surface: #f4f4f4;
	--gsr-pa-line: #dddddd;
	--gsr-pa-success: #459647;
	--gsr-pa-warning: #e0b252;
	--gsr-pa-info: #4d93d1;
	--gsr-pa-icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-480q33 0 56.5-23.5T560-560q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 33 23.5 56.5T480-480Zm0 294q122-112 181-203.5T720-552q0-109-69.5-178.5T480-800q-101 0-170.5 69.5T240-552q0 71 59 162.5T480-186Zm0 106Q319-217 239.5-334.5T160-552q0-150 96.5-239T480-880q127 0 223.5 89T800-552q0 100-79.5 217.5T480-80Zm0-480Z'/%3E%3C/svg%3E");
	--gsr-pa-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E");
	--gsr-pa-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z'/%3E%3C/svg%3E");
	--gsr-pa-icon-without-stock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M280-440h400v-80H280v80ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E");
	--gsr-pa-icon-warning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z'/%3E%3C/svg%3E");
	--gsr-pa-icon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E");

	/* Alto fijo de la zona: la ficha no se mueve al llegar el dato. */
	box-sizing: border-box;
	min-height: 64px;
	margin: 0;
	padding: 0;
	color: var(--gsr-pa-ink);
	font-family: "Lato", Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
}

.gsr-pickup-availability *,
.gsr-pickup-availability *::before,
.gsr-pickup-availability *::after {
	box-sizing: border-box;
}

/* Fila de resumen (botón) y fila de estado (consultando, elegí una opción). */
.gsr-pickup-availability .gsr-pickup-availability__summary,
.gsr-pickup-availability .gsr-pickup-availability__status {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 64px;
	margin: 0;
	padding: 8px 0;
	border: 0;
	border-top: 1px solid var(--gsr-pa-line);
	border-bottom: 1px solid var(--gsr-pa-line);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--gsr-pa-ink);
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	text-decoration: none;
}

.gsr-pickup-availability .gsr-pickup-availability__summary {
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.gsr-pickup-availability .gsr-pickup-availability__summary:hover,
.gsr-pickup-availability .gsr-pickup-availability__summary:active,
.gsr-pickup-availability .gsr-pickup-availability__summary:focus {
	border-color: var(--gsr-pa-line);
	background: transparent;
	box-shadow: none;
	color: var(--gsr-pa-ink);
}

.gsr-pickup-availability .gsr-pickup-availability__summary:focus-visible {
	outline: 2px solid var(--gsr-pa-primary);
	outline-offset: 2px;
}

/* Abierto, la lista pone su propio borde superior: el resumen no lo duplica. */
.gsr-pickup-availability .gsr-pickup-availability__summary[aria-expanded="true"] {
	border-bottom-color: transparent;
}

.gsr-pickup-availability .gsr-pickup-availability__summary[aria-expanded="true"] .gsr-pickup-availability__icon--chevron {
	transform: rotate(180deg);
}

.gsr-pickup-availability .gsr-pickup-availability__text {
	display: block;
	flex: 1;
	min-width: 0;
}

.gsr-pickup-availability .gsr-pickup-availability__title {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--gsr-pa-ink);
}

.gsr-pickup-availability .gsr-pickup-availability__detail {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--gsr-pa-ink-muted);
}

/* Consultando: la línea gris reserva el lugar del texto que va a llegar. */
.gsr-pickup-availability .gsr-pickup-availability__skeleton {
	display: block;
	width: 70%;
	height: 14px;
	margin: 6px 0 0;
	background: var(--gsr-pa-surface);
}

.gsr-pickup-availability .gsr-pickup-availability__visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Íconos: máscara SVG que toma el color del texto (`currentColor`). */
.gsr-pickup-availability .gsr-pickup-availability__icon {
	display: inline-block;
	flex: none;
	width: 24px;
	height: 24px;
	background-color: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	color: var(--gsr-pa-primary);
}

.gsr-pickup-availability .gsr-pickup-availability__icon--muted {
	color: var(--gsr-pa-ink-muted);
}

.gsr-pickup-availability .gsr-pickup-availability__icon--pin {
	-webkit-mask-image: var(--gsr-pa-icon-pin);
	mask-image: var(--gsr-pa-icon-pin);
}

.gsr-pickup-availability .gsr-pickup-availability__icon--chevron {
	-webkit-mask-image: var(--gsr-pa-icon-chevron);
	mask-image: var(--gsr-pa-icon-chevron);
}

/* Lista por sucursal. */
.gsr-pickup-availability .gsr-pickup-availability__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gsr-pickup-availability .gsr-pickup-availability__item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	margin: 0;
	padding: 8px 0;
	border-top: 1px solid var(--gsr-pa-line);
	list-style: none;
}

.gsr-pickup-availability .gsr-pickup-availability__item:last-child {
	border-bottom: 1px solid var(--gsr-pa-line);
}

.gsr-pickup-availability .gsr-pickup-availability__branch-name {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--gsr-pa-ink);
}

.gsr-pickup-availability .gsr-pickup-availability__branch-address {
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--gsr-pa-ink-muted);
}

.gsr-pickup-availability .gsr-pickup-availability__units {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--gsr-pa-ink);
}

.gsr-pickup-availability .gsr-pickup-availability__units .gsr-pickup-availability__icon {
	width: 20px;
	height: 20px;
	color: var(--gsr-pa-success);
	-webkit-mask-image: var(--gsr-pa-icon-check);
	mask-image: var(--gsr-pa-icon-check);
}

/* Sin stock: la fila se atenúa con el color de texto secundario, no con opacidad. */
.gsr-pickup-availability .gsr-pickup-availability__item--without-units .gsr-pickup-availability__branch-name,
.gsr-pickup-availability .gsr-pickup-availability__item--without-units .gsr-pickup-availability__units {
	font-weight: 400;
	color: var(--gsr-pa-ink-muted);
}

.gsr-pickup-availability .gsr-pickup-availability__item--without-units .gsr-pickup-availability__units .gsr-pickup-availability__icon {
	color: var(--gsr-pa-ink-muted);
	-webkit-mask-image: var(--gsr-pa-icon-without-stock);
	mask-image: var(--gsr-pa-icon-without-stock);
}

/* Avisos: el estado va en el borde y el ícono; el texto queda en tinta. */
.gsr-pickup-availability .gsr-pickup-availability__notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 64px;
	margin: 0;
	padding: 12px 16px;
	border: 2px solid var(--gsr-pa-info);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--gsr-pa-ink);
}

.gsr-pickup-availability .gsr-pickup-availability__notice .gsr-pickup-availability__icon {
	margin-top: 2px;
	color: var(--gsr-pa-info);
	-webkit-mask-image: var(--gsr-pa-icon-info);
	mask-image: var(--gsr-pa-icon-info);
}

.gsr-pickup-availability .gsr-pickup-availability__notice .gsr-pickup-availability__detail {
	color: var(--gsr-pa-ink);
}

.gsr-pickup-availability .gsr-pickup-availability__notice--warning {
	border-color: var(--gsr-pa-warning);
}

.gsr-pickup-availability .gsr-pickup-availability__notice--warning .gsr-pickup-availability__icon {
	color: var(--gsr-pa-warning);
	-webkit-mask-image: var(--gsr-pa-icon-warning);
	mask-image: var(--gsr-pa-icon-warning);
}

/*
 * Va al final a propósito: tiene la misma especificidad que los `display` de
 * arriba (fila, aviso, ícono) y solo gana si viene después. El tema también
 * puede darle `display` a spans, botones y listas: `hidden` tiene que ganar siempre.
 */
.gsr-pickup-availability [hidden] {
	display: none;
}
