/* éqlibre · Puntos de venta */
.eqpv {
	--eqpv-verde: #74aa9d;
	--eqpv-verde-claro: #b9ddd3;
	--eqpv-rosa: #e8b8a6;
	--eqpv-linea: #2b2b2b;
	--eqpv-fondo: #fff;
	--eqpv-sticky-top: 0px; /* ajusta si la cabecera del tema es fija */
	font-family: Barlow, sans-serif;
	color: var(--eqpv-verde);
}
.eqpv *, .eqpv *::before, .eqpv *::after { box-sizing: border-box; }
.eqpv [hidden] { display: none !important; }
.eqpv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: -1px; padding: 0; border: 0; }

/* ---------- Barra: buscador + provincias ---------- */
.eqpv-toolbar {
	position: sticky;
	top: var(--eqpv-sticky-top);
	z-index: 20;
	background: var(--eqpv-fondo);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 24px;
	padding: 18px 0 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid rgba(116, 170, 157, .3);
}
body.admin-bar .eqpv-toolbar { top: calc(var(--eqpv-sticky-top) + 32px); }

.eqpv-search { position: relative; flex: 1 1 300px; max-width: 420px; }
.eqpv-search svg {
	position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
	width: 18px; height: 18px; fill: none; stroke: var(--eqpv-verde); stroke-width: 2.2; stroke-linecap: round;
	pointer-events: none;
}
.eqpv .eqpv-search input[type="search"] {
	width: 100%; height: 46px; margin: 0;
	padding: 0 18px 0 44px;
	border: 1.5px solid var(--eqpv-verde); border-radius: 999px;
	background: #fff; color: var(--eqpv-verde);
	font: 600 15px/1 Barlow, sans-serif;
	box-shadow: none; -webkit-appearance: none; appearance: none;
}
.eqpv .eqpv-search input::placeholder { color: var(--eqpv-verde); opacity: .65; }
.eqpv .eqpv-search input:focus { outline: none; border-color: var(--eqpv-verde); box-shadow: 0 0 0 3px rgba(116, 170, 157, .25); }

.eqpv-chips { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 100%; }
.eqpv button.eqpv-chip {
	margin: 0; padding: 8px 14px;
	border: 1.5px solid var(--eqpv-verde); border-radius: 999px;
	background: #fff; color: var(--eqpv-verde);
	font: 700 13px/1 Barlow, sans-serif; letter-spacing: .03em; text-transform: uppercase;
	white-space: nowrap; cursor: pointer; box-shadow: none;
	transition: background-color .15s, color .15s;
}
.eqpv button.eqpv-chip span { font-weight: 600; opacity: .65; margin-left: 3px; }
.eqpv button.eqpv-chip:hover { background: rgba(116, 170, 157, .12); color: var(--eqpv-verde); }
.eqpv button.eqpv-chip.is-active { background: var(--eqpv-verde); color: #fff; }
.eqpv button.eqpv-chip.is-active span { opacity: .85; }
.eqpv button.eqpv-chip:focus-visible,
.eqpv a:focus-visible,
.eqpv button.eqpv-reset:focus-visible { outline: 2px solid var(--eqpv-rosa); outline-offset: 2px; }

/* ---------- Provincias ---------- */
.eqpv-prov {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	margin: 0 0 48px;
	scroll-margin-top: 140px;
}
.eqpv .eqpv-prov-title {
	position: sticky;
	top: calc(var(--eqpv-sticky-top) + 150px);
	align-self: start;
	margin: 0; padding: 32px 24px 0 0;
	font: 700 30px/1.2 Barlow, sans-serif;
	color: var(--eqpv-verde); text-transform: uppercase; letter-spacing: 0;
}
.eqpv-list { border-left: 4px solid var(--eqpv-verde-claro); padding-left: 24px; }

/* ---------- Ficha ---------- */
.eqpv-item {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	padding: 32px 0;
	border-bottom: 1px solid var(--eqpv-linea);
}
.eqpv-logo { display: flex; align-items: center; justify-content: center; }
.eqpv .eqpv-logo img {
	display: block; width: auto; height: auto;
	max-width: 150px; max-height: 120px;
	object-fit: contain; border-radius: 10px;
}
.eqpv .eqpv-name {
	position: relative;
	margin: 0 0 12px; padding: 0 0 10px;
	font: 700 22px/1.25 Barlow, sans-serif;
	color: var(--eqpv-verde); text-transform: uppercase; letter-spacing: 0;
}
.eqpv .eqpv-name::after {
	content: ""; position: absolute; left: 0; bottom: 0;
	width: 150px; height: 1px; background: var(--eqpv-linea);
}
.eqpv .eqpv-info p {
	margin: 0;
	font: 600 13px/1.65 Barlow, sans-serif;
	color: var(--eqpv-verde);
}
.eqpv .eqpv-loc { text-transform: uppercase; }
.eqpv .eqpv-info a { color: inherit; text-decoration: none; }
.eqpv .eqpv-info a:hover { text-decoration: underline; text-underline-offset: 2px; }
.eqpv .eqpv-map { white-space: nowrap; }

/* ---------- Sin resultados ---------- */
.eqpv-empty {
	margin: 32px 0 48px; padding: 28px 32px;
	border-left: 4px solid var(--eqpv-rosa);
	background: rgba(232, 184, 166, .12);
}
.eqpv-empty p { margin: 0 0 8px; font: 600 16px/1.5 Barlow, sans-serif; color: var(--eqpv-verde); }
.eqpv-empty a { color: inherit; text-decoration: underline; }
.eqpv button.eqpv-reset {
	margin-top: 8px; padding: 10px 18px;
	border: 0; border-radius: 999px;
	background: var(--eqpv-verde); color: #fff;
	font: 700 13px/1 Barlow, sans-serif; text-transform: uppercase; letter-spacing: .03em;
	cursor: pointer;
}
.eqpv-empty-static { font: 600 16px/1.5 Barlow, sans-serif; }

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	.eqpv-prov { grid-template-columns: 170px minmax(0, 1fr); }
	.eqpv .eqpv-prov-title { font-size: 24px; }
}

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
	body.admin-bar .eqpv-toolbar { top: var(--eqpv-sticky-top); }
	.eqpv-toolbar { gap: 12px; padding: 12px 0; }
	.eqpv-search { max-width: none; }
	.eqpv-chips {
		flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		margin: 0 -16px; padding: 2px 16px;
	}
	.eqpv-chips::-webkit-scrollbar { display: none; }

	.eqpv-prov { grid-template-columns: 1fr; margin-bottom: 32px; scroll-margin-top: 150px; }
	.eqpv .eqpv-prov-title { position: static; padding: 8px 0 4px; font-size: 22px; }
	.eqpv-list { padding-left: 16px; }
	.eqpv-item { grid-template-columns: 76px minmax(0, 1fr); gap: 16px; align-items: start; padding: 22px 0; }
	.eqpv .eqpv-logo img { max-width: 76px; max-height: 76px; }
	.eqpv .eqpv-name { font-size: 18px; }
	.eqpv .eqpv-name::after { width: 90px; }
	.eqpv .eqpv-info p { font-size: 14px; }
}

.eqpv-toolbar.is-stuck { box-shadow: 0 8px 16px -12px rgba(0, 0, 0, .25); }
