/* ADM Propiedades — frontend */

.admpp-bloque,
.admpp-inicio,
.admpp-banner,
.admpp-buscador,
.admpp-ficha-publica,
.admpp-tickets {
	--admpp-tinta: #000000;
	--admpp-papel: #ffffff;
	--admpp-lienzo: #f4f4f2;
	--admpp-linea: #dcdcd6;
	--admpp-acento: #dfb702;
	--admpp-acento-fuerte: #b69502;
	/* Texto que va encima del acento: se recalcula según su luminancia. */
	--admpp-sobre-acento: #000000;
	--admpp-sobre-tinta: #ffffff;
	--admpp-alerta: #a8432c;
	--admpp-tenue: #6b6b64;
	--admpp-radio: 6px;
	--admpp-radio-grande: 10px;
	--admpp-sombra: 0 1px 2px rgba(0, 0, 0, 0.06), 0 6px 18px rgba(0, 0, 0, 0.08);
	--admpp-sombra-alta: 0 2px 4px rgba(0, 0, 0, 0.08), 0 14px 34px rgba(0, 0, 0, 0.16);
	/* Una sola altura para campos y botones, para que las filas cuadren. */
	--admpp-alto-control: 44px;
	--admpp-pad-control: 0 14px;
	--admpp-foco: 0 0 0 3px color-mix(in srgb, var(--admpp-acento) 35%, transparent);
	--admpp-transicion: 0.16s cubic-bezier(0.4, 0, 0.2, 1);
	color: var(--admpp-tinta);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

/* Los titulares del plugin se marcan más que el texto corrido. */
.admpp-bloque h2,
.admpp-bloque h3,
.admpp-ficha-publica h1,
.admpp-ficha-publica h2,
.admpp-ficha-publica h3,
.admpp-tickets h2 {
	font-weight: 700;
	letter-spacing: -0.015em;
}

.admpp-bloque *,
.admpp-inicio *,
.admpp-banner *,
.admpp-buscador *,
.admpp-ficha-publica *,
.admpp-tickets * {
	box-sizing: border-box;
}

/* --- Filtros --- */

.admpp-filtros {
	background: var(--admpp-papel);
	border: 0;
	border-radius: var(--admpp-radio-grande);
	box-shadow: var(--admpp-sombra);
	padding: 20px 22px;
	margin-bottom: 26px;
}

.admpp-filtros-fila {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
}

.admpp-campo-buscar {
	position: relative;
	flex: 2 1 260px;
}

.admpp-campo-buscar input[type="search"] {
	padding-left: 42px;
}

.admpp-campo-buscar::after {
	content: "";
	position: absolute;
	left: 15px;
	bottom: 14px;
	width: 16px;
	height: 16px;
	pointer-events: none;
	background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5' fill='none' stroke='%236b6b64' stroke-width='1.8'/%3E%3Cpath d='M12.8 12.8 17 17' stroke='%236b6b64' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.admpp-campo-filtro {
	flex: 1 1 150px;
}

.admpp-filtros label {
	display: block;
	margin-bottom: 5px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
}

/* Todos los campos del plugin comparten la misma forma. */
.admpp-filtros input[type="search"],
.admpp-filtros input[type="number"],
.admpp-filtros select,
.admpp-form input[type="text"],
.admpp-form input[type="email"],
.admpp-form input[type="tel"],
.admpp-form input[type="password"],
.admpp-form input[type="number"],
.admpp-form input[type="search"],
.admpp-form select,
.admpp-buscador select,
.admpp-buscador input[type="number"] {
	width: 100%;
	height: var(--admpp-alto-control);
	padding: var(--admpp-pad-control);
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
	color: var(--admpp-tinta);
	font: inherit;
	line-height: 1.3;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color var(--admpp-transicion), box-shadow var(--admpp-transicion), background-color var(--admpp-transicion);
}

.admpp-form textarea {
	padding: 12px 14px;
	transition: border-color var(--admpp-transicion), box-shadow var(--admpp-transicion);
}

/* Flecha propia, para que se vea igual en todos los navegadores. */
.admpp-filtros select,
.admpp-form select,
.admpp-buscador select {
	padding-right: 38px;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%236b6b64' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px 8px;
	cursor: pointer;
}

.admpp-filtros input:hover,
.admpp-filtros select:hover,
.admpp-form input:hover,
.admpp-form select:hover,
.admpp-form textarea:hover,
.admpp-buscador select:hover,
.admpp-buscador input:hover {
	border-color: color-mix(in srgb, var(--admpp-tinta) 35%, var(--admpp-linea));
}

.admpp-filtros input:focus,
.admpp-filtros select:focus,
.admpp-form input:focus,
.admpp-form select:focus,
.admpp-form textarea:focus,
.admpp-buscador select:focus,
.admpp-buscador input:focus {
	border-color: var(--admpp-acento);
	box-shadow: var(--admpp-foco);
	outline: none;
}

/* El teclado siempre deja rastro visible, aunque el ratón no. */
.admpp-bloque a:focus-visible,
.admpp-bloque button:focus-visible,
.admpp-ficha-publica a:focus-visible,
.admpp-ficha-publica button:focus-visible,
.admpp-tickets button:focus-visible {
	outline: 2px solid var(--admpp-acento);
	outline-offset: 2px;
	border-radius: var(--admpp-radio);
}

.admpp-filtros input::placeholder,
.admpp-form input::placeholder,
.admpp-form textarea::placeholder {
	color: color-mix(in srgb, var(--admpp-tenue) 70%, transparent);
}

/* El aspa de los campos de búsqueda, que Safari pinta a su manera. */
.admpp-filtros input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	width: 15px;
	height: 15px;
	cursor: pointer;
	background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' fill='none' stroke='%236b6b64' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.admpp-mas-filtros {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: var(--admpp-alto-control);
	padding: var(--admpp-pad-control);
	border: 1px solid var(--admpp-tinta);
	border-radius: var(--admpp-radio);
	background: transparent;
	color: var(--admpp-tinta);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--admpp-transicion), color var(--admpp-transicion);
}

.admpp-mas-filtros::after {
	content: "";
	width: 11px;
	height: 7px;
	background: currentColor;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transition: transform var(--admpp-transicion);
}

.admpp-mas-filtros:hover {
	background: color-mix(in srgb, var(--admpp-tinta) 8%, transparent);
}

.admpp-mas-filtros[aria-expanded="true"] {
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
}

.admpp-mas-filtros[aria-expanded="true"]::after {
	transform: rotate(180deg);
}

.admpp-filtros-avanzado {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--admpp-linea);
}

.admpp-filtros-avanzado[hidden] {
	display: none;
}

.admpp-filtros-rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
}

.admpp-caracts {
	margin: 16px 0 0;
	padding: 0;
	border: 0;
}

.admpp-caracts legend {
	padding: 0;
	margin-bottom: 10px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
}

.admpp-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 7px 7px 0;
	padding: 8px 14px;
	border: 1px solid var(--admpp-linea);
	border-radius: 999px;
	background: var(--admpp-papel);
	font-size: 0.86rem;
	line-height: 1.2;
	cursor: pointer;
	user-select: none;
	transition: border-color var(--admpp-transicion), background-color var(--admpp-transicion),
		color var(--admpp-transicion), transform var(--admpp-transicion);
}

.admpp-chip:hover {
	border-color: var(--admpp-tinta);
	transform: translateY(-1px);
}

/* La casilla se sustituye por una marca propia. */
.admpp-chip input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.admpp-chip::before {
	content: "";
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	border: 1.5px solid var(--admpp-linea);
	border-radius: 4px;
	background: var(--admpp-papel) no-repeat center / 10px 8px;
	transition: border-color var(--admpp-transicion), background-color var(--admpp-transicion);
}

.admpp-chip:has(input:checked) {
	border-color: var(--admpp-acento);
	background: color-mix(in srgb, var(--admpp-acento) 16%, var(--admpp-papel));
	color: var(--admpp-tinta);
	font-weight: 650;
}

.admpp-chip:has(input:checked)::before {
	border-color: var(--admpp-acento);
	background-color: var(--admpp-acento);
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.2 3.2L11 1.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.admpp-chip:has(input:focus-visible) {
	outline: 2px solid var(--admpp-acento);
	outline-offset: 2px;
}

.admpp-filtros-pie {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--admpp-linea);
}

.admpp-resumen {
	margin: 0;
	flex: 1 1 auto;
	font-weight: 700;
	font-size: 0.95rem;
}

.admpp-limpiar {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: var(--admpp-radio);
	background: none;
	color: var(--admpp-tenue);
	font: inherit;
	font-size: 0.87rem;
	cursor: pointer;
	transition: background-color var(--admpp-transicion), color var(--admpp-transicion), border-color var(--admpp-transicion);
}

.admpp-limpiar::before {
	content: "";
	width: 13px;
	height: 13px;
	background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' fill='none' stroke='%236b6b64' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.admpp-limpiar:hover {
	border-color: var(--admpp-linea);
	background: var(--admpp-lienzo);
	color: var(--admpp-tinta);
}

/* --- Rejilla de resultados --- */

.admpp-rejilla {
	display: grid;
	/* Como mucho 4 por fila aunque la página vaya a todo lo ancho; mínimo 280px por tarjeta. */
	grid-template-columns: repeat(auto-fill, minmax(max(min(100%, 280px), calc((100% - 3 * 26px) / 4)), 1fr));
	gap: 26px;
	transition: opacity 0.18s ease;
}

.admpp-rejilla[aria-busy="true"] {
	opacity: 0.45;
}

.admpp-tarjeta {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--admpp-papel);
	border-radius: var(--admpp-radio-grande);
	box-shadow: var(--admpp-sombra);
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.admpp-tarjeta:hover,
.admpp-tarjeta:focus-within {
	transform: translateY(-4px);
	box-shadow: var(--admpp-sombra-alta);
}

.admpp-tarjeta.es-destacada {
	box-shadow: var(--admpp-sombra), 0 0 0 2px var(--admpp-acento);
}

/* Imagen y todo lo que va encima */

.admpp-tarjeta-medio {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--admpp-lienzo);
	overflow: hidden;
}

.admpp-tarjeta-foto {
	display: block;
	width: 100%;
	height: 100%;
}

.admpp-tarjeta-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.admpp-tarjeta:hover .admpp-tarjeta-foto img {
	transform: scale(1.05);
}

.admpp-tarjeta-medio::after {
	content: "";
	position: absolute;
	inset: 65% 0 0;
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.35));
	pointer-events: none;
}

.admpp-sin-foto {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--admpp-tenue);
	font-size: 0.88rem;
}

.admpp-tarjeta-etiquetas {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-width: calc(100% - 68px);
}

.admpp-etiqueta {
	display: inline-block;
	padding: 5px 11px;
	border-radius: 4px;
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	line-height: 1.3;
}

.admpp-etiqueta.es-tipo {
	background: rgba(255, 255, 255, 0.92);
	color: var(--admpp-tinta);
}

.admpp-etiqueta.es-destacada {
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
}

.admpp-tarjeta-fotos {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 9px;
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 0.76rem;
	font-weight: 600;
}

.admpp-tarjeta-fotos svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.admpp-tarjeta-precio {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 6px;
	margin: 2px 0 0;
	color: var(--admpp-tinta);
	font-size: 1.32rem;
	font-weight: 750;
	line-height: 1.2;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}

.admpp-precio-antes,
.admpp-precio-despues {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--admpp-tenue);
}

.admpp-precio-antes {
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 0.72rem;
}

.admpp-precio-grande .admpp-precio-despues {
	font-size: 0.55em;
}

/* Tira de fotos adicionales */

.admpp-tarjeta-tiras {
	display: grid;
	/* Siempre cinco columnas: con una o dos fotos la miniatura ya no se estira a lo ancho. */
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 3px;
	padding: 3px;
	background: var(--admpp-lienzo);
}

.admpp-tarjeta-tira {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	padding: 0;
	border: 0;
	background: var(--admpp-lienzo);
	cursor: pointer;
	overflow: hidden;
}

.admpp-tarjeta-tira img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0.88;
	transition: opacity 0.15s ease, transform 0.3s ease;
}

.admpp-tarjeta-tira:hover img,
.admpp-tarjeta-tira:focus-visible img {
	opacity: 1;
	transform: scale(1.06);
}

.admpp-tarjeta-tira.es-actual::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 2px solid var(--admpp-acento);
	pointer-events: none;
}

.admpp-tarjeta-tira.es-actual img {
	opacity: 1;
}

.admpp-tarjeta-tira.es-mas {
	display: grid;
	place-items: center;
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
}

.admpp-tarjeta-tira.es-mas:hover,
.admpp-tarjeta-tira.es-mas:focus-visible {
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
}

@media (prefers-reduced-motion: reduce) {
	.admpp-tarjeta-tira img {
		transition: none;
	}
}

/* Cuerpo */

.admpp-tarjeta-cuerpo {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 17px 14px;
	flex: 1 1 auto;
}

.admpp-tarjeta-titulo {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 650;
	line-height: 1.35;
	letter-spacing: -0.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.admpp-tarjeta-titulo a {
	color: inherit;
	text-decoration: none;
}

.admpp-tarjeta-titulo a:hover,
.admpp-tarjeta-titulo a:focus-visible {
	color: var(--admpp-acento-fuerte);
}

.admpp-lugar {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	margin: 0;
	color: var(--admpp-tenue);
	font-size: 0.86rem;
	line-height: 1.4;
}

.admpp-lugar svg {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	margin-top: 2px;
	fill: none;
	stroke: var(--admpp-acento-fuerte);
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.admpp-tarjeta-extracto {
	margin: 0;
	color: var(--admpp-tenue);
	font-size: 0.85rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.admpp-specs {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: auto 0 0;
	padding: 12px 0 0;
	border-top: 1px solid var(--admpp-linea);
}

.admpp-specs li {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 0 11px;
	border-left: 1px solid var(--admpp-linea);
	font-size: 0.82rem;
	color: var(--admpp-tenue);
	line-height: 1.2;
}

.admpp-specs li:first-child {
	padding-left: 0;
	border-left: 0;
}

.admpp-specs svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: var(--admpp-tinta);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 0.75;
}

.admpp-specs b {
	color: var(--admpp-tinta);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

/* En tarjetas estrechas el texto sobra: basta el icono y el número. */
.admpp-spec-texto {
	display: none;
}

.admpp-specs li[title] {
	cursor: help;
}

/* Pie con el agente */

.admpp-tarjeta-pie {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 11px 17px;
	border-top: 1px solid var(--admpp-linea);
	background: var(--admpp-lienzo);
}

.admpp-tarjeta-agente {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.admpp-tarjeta-agente img,
.admpp-tarjeta-agente .admpp-agente-iniciales {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	object-fit: cover;
	font-size: 0.7rem;
}

.admpp-tarjeta-agente-nombre {
	font-size: 0.82rem;
	color: var(--admpp-tenue);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.admpp-tarjeta-codigo {
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--admpp-tenue);
	white-space: nowrap;
}

@media (min-width: 420px) {
	.admpp-spec-texto {
		display: inline;
	}

	.admpp-specs li {
		font-size: 0.8rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.admpp-tarjeta,
	.admpp-tarjeta-foto img {
		transition: none;
	}

	.admpp-tarjeta:hover {
		transform: none;
	}
}
/* --- Paginación --- */

.admpp-paginacion {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 24px;
}

.admpp-paginacion:empty {
	display: none;
}

.admpp-paginacion:empty {
	display: none;
}

.admpp-pagina {
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	font-weight: 600;
	transition: background-color var(--admpp-transicion), border-color var(--admpp-transicion), color var(--admpp-transicion);
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
	color: inherit;
	font: inherit;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}

.admpp-pagina:hover {
	border-color: var(--admpp-tinta);
	background: var(--admpp-lienzo);
}

.admpp-pagina.es-actual {
	background: var(--admpp-tinta);
	border-color: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
}

/* --- Mapa --- */

.admpp-mapa {
	height: 420px;
	margin-bottom: 22px;
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	overflow: hidden;
	z-index: 0;
}

.admpp-mapa-ficha {
	height: 340px;
	margin-bottom: 0;
}

.admpp-popup-titulo {
	display: block;
	font-weight: 600;
	margin-bottom: 2px;
}

.admpp-popup-precio {
	display: block;
	font-variant-numeric: tabular-nums;
	color: var(--admpp-tinta);
	font-weight: 600;
}

.admpp-popup img {
	width: 100%;
	height: 92px;
	object-fit: cover;
	border-radius: 4px;
	margin-bottom: 6px;
	display: block;
}

/* --- Ficha --- */

.admpp-galeria-principal {
	border-radius: var(--admpp-radio-grande);
	overflow: hidden;
	box-shadow: var(--admpp-sombra);
	margin: 0 0 8px;
	border-radius: var(--admpp-radio);
	overflow: hidden;
	background: var(--admpp-lienzo);
}

.admpp-galeria-principal img {
	width: 100%;
	max-height: 540px;
	object-fit: cover;
	display: block;
}

.admpp-galeria-tiras {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 4px;
}

.admpp-tira {
	border-radius: var(--admpp-radio);
	overflow: hidden;
	transition: opacity 0.15s ease, transform 0.15s ease;
	flex: 0 0 auto;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 4px;
	background: none;
	cursor: pointer;
	line-height: 0;
	overflow: hidden;
}

.admpp-tira img {
	width: 84px;
	height: 62px;
	object-fit: cover;
	display: block;
}

.admpp-tira:hover {
	transform: translateY(-2px);
}

.admpp-tira.es-actual {
	border-color: var(--admpp-acento);
}

.admpp-ficha-columnas {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	margin-top: 24px;
}

@media (min-width: 900px) {
	.admpp-ficha-columnas {
		grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
	}

	.admpp-ficha-lateral {
		position: sticky;
		top: 24px;
		align-self: start;
	}
}

.admpp-cabecera {
	padding-bottom: 16px;
	border-bottom: 2px solid var(--admpp-tinta);
}

.admpp-datos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 1px;
	margin: 22px 0;
	padding: 0;
	background: var(--admpp-linea);
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	overflow: hidden;
}

.admpp-dato {
	background: var(--admpp-papel);
	padding: 12px 14px;
}

.admpp-dato dt {
	font-size: 0.78rem;
	color: var(--admpp-tenue);
	margin: 0 0 2px;
}

.admpp-dato dd {
	margin: 0;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.admpp-seccion {
	margin: 28px 0;
}

.admpp-seccion h2,
.admpp-panel h2 {
	margin: 0 0 12px;
	font-size: 1.12rem;
	font-weight: 650;
	letter-spacing: -0.01em;
}

.admpp-caract-lista {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 6px 16px;
	margin: 0;
	padding: 0;
}

.admpp-caract-lista li {
	position: relative;
	padding-left: 20px;
}

.admpp-caract-lista li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--admpp-acento);
}

.admpp-nota {
	margin: 0 0 10px;
	font-size: 0.88rem;
	color: var(--admpp-tenue);
}

/* --- Paneles y formularios --- */

.admpp-panel {
	box-shadow: var(--admpp-sombra);
	padding: 20px;
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
	margin-bottom: 20px;
}

.admpp-panel-suave {
	background: var(--admpp-lienzo);
}

.admpp-asesor {
	margin: -4px 0 12px;
	color: var(--admpp-tenue);
}

.admpp-form-doble {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0 14px;
}

.admpp-campo-form {
	margin: 0 0 13px;
}

.admpp-campo-form label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.78rem;
	font-weight: 650;
	color: var(--admpp-tinta);
}

.admpp-form textarea {
	width: 100%;
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
	color: inherit;
	font: inherit;
	line-height: 1.5;
}

.admpp-form textarea {
	resize: vertical;
}

.admpp-trampa {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* --- Botones ---
   Una sola base y cuatro variantes. Todos con la altura de los campos,
   para que en una fila de filtros todo quede alineado. */

.admpp-boton {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: var(--admpp-alto-control);
	padding: var(--admpp-pad-control);
	border: 1px solid var(--admpp-acento);
	border-radius: var(--admpp-radio);
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
	font: inherit;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	transition: background-color var(--admpp-transicion), border-color var(--admpp-transicion),
		color var(--admpp-transicion), box-shadow var(--admpp-transicion), transform var(--admpp-transicion);
}

.admpp-boton:hover {
	background: var(--admpp-acento-fuerte);
	border-color: var(--admpp-acento-fuerte);
	color: var(--admpp-sobre-acento);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
	transform: translateY(-1px);
}

.admpp-boton:active {
	transform: translateY(0);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

.admpp-boton[disabled],
.admpp-boton[aria-disabled="true"] {
	opacity: 0.6;
	cursor: progress;
	transform: none;
	box-shadow: none;
}

/* Contorno: acciones secundarias. */
.admpp-boton-suave {
	background: transparent;
	color: var(--admpp-tinta);
	border-color: var(--admpp-linea);
	box-shadow: none;
}

.admpp-boton-suave:hover {
	background: var(--admpp-lienzo);
	border-color: var(--admpp-tinta);
	color: var(--admpp-tinta);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Oscuro: la acción principal de un panel. */
.admpp-boton-oscuro {
	background: var(--admpp-tinta);
	border-color: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
}

.admpp-boton-oscuro:hover {
	background: var(--admpp-acento);
	border-color: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
}

/* Menudo: dentro de tablas y tarjetas. */
.admpp-boton-menudo {
	height: 36px;
	padding: 0 13px;
	font-size: 0.83rem;
}

.admpp-boton-ancho {
	display: flex;
	width: 100%;
}

.admpp-boton-wa {
	display: block;
	margin-bottom: 16px;
}

.admpp-aviso {
	margin: 12px 0 0;
	font-size: 0.88rem;
	line-height: 1.5;
	min-height: 1px;
}

.admpp-aviso:not(:empty) {
	padding: 10px 14px;
	border-radius: var(--admpp-radio);
	border-left: 3px solid var(--admpp-linea);
	background: var(--admpp-lienzo);
}

.admpp-aviso.es-bien:not(:empty) {
	border-left-color: #1e8e5a;
	background: color-mix(in srgb, #1e8e5a 10%, var(--admpp-papel));
}

.admpp-aviso.es-mal:not(:empty) {
	border-left-color: var(--admpp-alerta);
	background: color-mix(in srgb, var(--admpp-alerta) 10%, var(--admpp-papel));
}

.admpp-aviso:empty {
	margin: 0;
}

.admpp-aviso.es-error {
	color: var(--admpp-alerta);
}

.admpp-aviso.es-ok {
	color: var(--admpp-acento-fuerte);
}

/* --- Tickets --- */

.admpp-tickets {
	display: grid;
	gap: 20px;
}

@media (min-width: 860px) {
	.admpp-tickets {
		grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr);
		align-items: start;
	}
}

.admpp-resultado-ticket {
	margin-top: 14px;
	padding: 14px;
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
}

.admpp-resultado-ticket[hidden] {
	display: none;
}

.admpp-estado-pildora {
	display: inline-block;
	padding: 3px 11px;
	border-radius: 999px;
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
	font-size: 0.8rem;
}

@media (prefers-reduced-motion: reduce) {
	.admpp-rejilla {
		transition: none;
	}
}

/* --- Ficha: cabecera, migas y acciones --- */

.admpp-migas {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
	font-size: 0.84rem;
	color: var(--admpp-tenue);
}

.admpp-migas a {
	color: inherit;
}

.admpp-ficha-cabecera {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
	justify-content: space-between;
	padding-bottom: 20px;
	margin-bottom: 24px;
	border-bottom: 2px solid var(--admpp-acento);
}

.admpp-ficha-cabecera-texto {
	flex: 1 1 300px;
	min-width: 0;
}

.admpp-ficha-cabecera-precio {
	flex: 0 0 auto;
	text-align: right;
}

.admpp-chips-fijos {
	margin: 0 0 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.admpp-chip-fijo {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 4px;
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.admpp-chip-fijo-suave {
	background: var(--admpp-lienzo);
	color: var(--admpp-tinta);
	border: 1px solid var(--admpp-linea);
}

.admpp-ficha-titulo {
	margin: 0 0 8px;
	font-size: clamp(1.6rem, 3.6vw, 2.25rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.admpp-ficha-lugar {
	margin: 0;
	color: var(--admpp-tenue);
	font-size: 0.95rem;
}

.admpp-acciones-ficha {
	margin: 10px 0 0;
	display: flex;
	gap: 12px;
	justify-content: flex-end;
}

.admpp-accion {
	border: 0;
	background: none;
	padding: 0;
	color: var(--admpp-tenue);
	font: inherit;
	font-size: 0.85rem;
	text-decoration: underline;
	cursor: pointer;
}

/* --- Resumen de iconos --- */

.admpp-resumen-iconos {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0 0 22px;
	padding: 18px 22px;
	border: 0;
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-papel);
	box-shadow: var(--admpp-sombra);
}

.admpp-resumen-icono {
	flex: 1 1 auto;
	padding: 0 18px;
	border-left: 1px solid var(--admpp-linea);
	font-size: 0.88rem;
	color: var(--admpp-tenue);
}

.admpp-resumen-icono:first-child {
	padding-left: 0;
	border-left: 0;
}

.admpp-resumen-icono b {
	display: block;
	font-size: 1.3rem;
	color: var(--admpp-tinta);
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

/* --- Bloques plegables --- */

.admpp-bloque-ficha {
	margin: 0 0 22px;
	padding: 22px 24px;
	border: 0;
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-papel);
	box-shadow: var(--admpp-sombra);
}

.admpp-bloque-ficha > h2 {
	position: relative;
	margin: 0 0 16px;
	padding-left: 12px;
	font-size: 1.1rem;
	font-weight: 700;
}

.admpp-bloque-ficha > h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	bottom: 0.15em;
	width: 4px;
	border-radius: 2px;
	background: var(--admpp-acento);
}

.admpp-plegable > h2 {
	padding-left: 12px;
}

.admpp-plegable > h2 {
	margin: 0;
}

.admpp-plegable-boton {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	font-weight: 650;
	text-align: left;
	cursor: pointer;
}

.admpp-plegable-boton::after {
	content: "−";
	font-size: 1.1rem;
	color: var(--admpp-tenue);
}

.admpp-plegable-boton[aria-expanded="false"]::after {
	content: "+";
}

.admpp-plegable-cuerpo {
	padding-top: 14px;
}

.admpp-plegable-cuerpo[hidden] {
	display: none;
}

.admpp-plegable .admpp-datos {
	margin: 0;
}

/* --- Panel del agente --- */

.admpp-agente-cabecera {
	display: flex;
	gap: 12px;
	align-items: center;
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px solid var(--admpp-linea);
}

.admpp-agente-foto {
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.admpp-agente-iniciales {
	display: grid;
	place-items: center;
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.admpp-agente-iniciales-grande {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 0;
	font-size: 2rem;
}

.admpp-agente-nombre {
	margin: 0;
	font-size: 1rem;
	font-weight: 650;
}

.admpp-agente-nombre a {
	color: inherit;
	text-decoration: none;
}

.admpp-agente-nombre a:hover,
.admpp-agente-nombre a:focus-visible {
	text-decoration: underline;
}

.admpp-agente-cargo {
	margin: 2px 0 0;
	font-size: 0.85rem;
	color: var(--admpp-tenue);
}

.admpp-agente-botones {
	display: flex;
	gap: 8px;
	margin: 14px 0 0;
}

.admpp-agente-botones .admpp-boton {
	flex: 1 1 0;
}

/* --- Panel de la empresa --- */

.admpp-panel-empresa {
	text-align: center;
}

.admpp-empresa-logo {
	max-width: 170px;
	height: auto;
	margin: 0 auto 12px;
	display: block;
}

.admpp-empresa-nombre {
	margin: 0 0 10px;
	font-weight: 650;
}

.admpp-empresa-datos {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
	color: var(--admpp-tenue);
}

.admpp-empresa-datos li {
	margin-bottom: 5px;
}

.admpp-empresa-datos a {
	color: inherit;
}

/* --- Rejilla de agentes --- */

.admpp-agentes-rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
}

.admpp-agente-tarjeta {
	background: var(--admpp-papel);
	border: 0;
	border-radius: var(--admpp-radio-grande);
	box-shadow: var(--admpp-sombra);
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.admpp-agente-tarjeta:hover,
.admpp-agente-tarjeta:focus-within {
	transform: translateY(-4px);
	box-shadow: var(--admpp-sombra-alta);
}

.admpp-agente-retrato {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--admpp-lienzo);
	overflow: hidden;
}

.admpp-agente-retrato img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.admpp-agente-cuerpo {
	padding: 14px 15px 16px;
}

.admpp-agente-contacto {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	font-size: 0.86rem;
	color: var(--admpp-tenue);
}

.admpp-agente-contacto li {
	margin-bottom: 4px;
}

.admpp-agente-contacto a {
	color: inherit;
}

.admpp-agente-redes {
	margin: 10px 0 0;
	display: flex;
	gap: 10px;
	font-size: 0.82rem;
}

.admpp-similares .admpp-rejilla {
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 18px;
}

@media print {
	.admpp-ficha-lateral,
	.admpp-acciones-ficha,
	.admpp-similares,
	.admpp-galeria-tiras,
	.admpp-migas {
		display: none !important;
	}
}

/* --- Buscador suelto --- */

.admpp-bloque-titulo {
	margin: 0 0 16px;
	font-size: 1.4rem;
	letter-spacing: -0.01em;
}

.admpp-buscador {
	padding: 20px;
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
}

.admpp-buscador-titulo {
	margin: 0 0 14px;
	font-size: 1.05rem;
	font-weight: 650;
}

.admpp-buscador .admpp-campo-form {
	margin-bottom: 12px;
}

.admpp-buscador-precio {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

/* --- Favoritos --- */

.admpp-favorito {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	color: var(--admpp-tinta);
	cursor: pointer;
	transition: transform 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.admpp-favorito svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: fill 0.15s ease;
}

.admpp-favorito:hover,
.admpp-favorito:focus-visible {
	transform: scale(1.12);
	color: var(--admpp-alerta);
}

.admpp-favorito[aria-pressed="true"] {
	color: var(--admpp-alerta);
}

.admpp-favorito[aria-pressed="true"] svg {
	fill: var(--admpp-alerta);
}

.admpp-favoritos-vacio {
	padding: 30px;
	text-align: center;
	border: 1px dashed var(--admpp-linea);
	border-radius: var(--admpp-radio);
	color: var(--admpp-tenue);
}

.admpp-contador-favoritos:empty {
	display: none;
}

.admpp-contador-favoritos {
	display: inline-block;
	min-width: 20px;
	padding: 1px 6px;
	border-radius: 999px;
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
	font-size: 0.78rem;
	font-weight: 700;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.admpp-favorito {
		transition: none;
	}
}

/* --- Marcadores con precio --- */

.admpp-pin {
	background: none;
	border: 0;
}

.admpp-pin-burbuja {
	display: inline-block;
	transform: translate(-50%, -140%);
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
	font-size: 0.78rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

.admpp-pin-burbuja.es-difuso {
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
}

.admpp-pin-burbuja::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -4px;
	width: 8px;
	height: 8px;
	transform: translateX(-50%) rotate(45deg);
	background: inherit;
}

.admpp-mapa .marker-cluster div {
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
	font-weight: 700;
}

.admpp-mapa .marker-cluster {
	background: color-mix(in srgb, var(--admpp-tinta) 35%, transparent);
}

/* --- Banner de cabecera --- */

.admpp-banner {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: var(--admpp-banner-alto, 520px);
	padding: 40px 22px 110px;
	overflow: hidden;
	background: var(--admpp-tinta);
	color: #fff;
	text-align: center;
}

.admpp-banner.es-izquierda {
	text-align: left;
	align-items: flex-start;
}

.admpp-banner-fondos,
.admpp-banner-velo {
	position: absolute;
	inset: 0;
}

.admpp-banner-fondo {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 0.9s ease;
}

.admpp-banner-fondo.es-actual {
	opacity: 1;
}

.admpp-banner-velo {
	background: linear-gradient(
		to bottom,
		color-mix(in srgb, var(--admpp-tinta) 42%, transparent) 0%,
		color-mix(in srgb, var(--admpp-tinta) 30%, transparent) 42%,
		color-mix(in srgb, var(--admpp-tinta) 82%, transparent) 100%
	);
}

.admpp-banner-contenido {
	position: relative;
	z-index: 2;
	max-width: 780px;
	margin: 0 auto;
}

.admpp-banner.es-izquierda .admpp-banner-contenido {
	margin: 0;
}

.admpp-banner-titulo {
	margin: 0 0 10px;
	font-size: clamp(2rem, 5.5vw, 3.6rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #fff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

.admpp-banner-subtitulo {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.88);
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.admpp-banner-accion {
	margin: 20px 0 0;
}

.admpp-banner-buscador {
	position: absolute;
	left: 50%;
	bottom: 24px;
	z-index: 3;
	width: min(1100px, calc(100% - 44px));
	transform: translateX(-50%);
}

.admpp-banner-puntos {
	position: absolute;
	right: 20px;
	top: 20px;
	z-index: 3;
	display: flex;
	gap: 8px;
}

.admpp-banner-punto {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
	cursor: pointer;
}

.admpp-banner-punto.es-actual {
	background: var(--admpp-acento);
	transform: scale(1.2);
}

/* --- Buscador en modo barra --- */

.admpp-buscador.es-barra {
	border-radius: var(--admpp-radio-grande);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(200px, 1.2fr) auto;
	gap: 12px;
	align-items: end;
	padding: 16px 18px;
	border: 0;
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
	box-shadow: 0 10px 34px rgba(0, 0, 0, 0.26);
}

.admpp-buscador.es-barra .admpp-campo-form {
	margin: 0;
	min-width: 0;
}

.admpp-buscador label {
	display: block;
	margin-bottom: 5px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
}

.admpp-buscador select,
.admpp-buscador input[type="number"] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
	font: inherit;
	color: var(--admpp-tinta);
}

.admpp-buscador select:focus,
.admpp-buscador input:focus {
	border-color: var(--admpp-acento);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--admpp-acento) 28%, transparent);
	outline: none;
}

.admpp-buscador-pestana {
	grid-column: 1 / -1;
	justify-self: start;
	margin: -30px 0 6px;
	padding: 9px 18px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22);
	border-radius: var(--admpp-radio);
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
	font-size: 0.86rem;
	font-weight: 650;
}

.admpp-buscador-rango label {
	display: block;
	margin-bottom: 4px;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--admpp-tinta);
}

.admpp-buscador-rango input[type="range"] {
	width: 100%;
	accent-color: var(--admpp-acento);
}

.admpp-buscador.es-barra .admpp-boton {
	white-space: nowrap;
	padding: 0 22px;
}

@media (max-width: 860px) {
	.admpp-buscador.es-barra {
		grid-template-columns: 1fr 1fr;
	}

	.admpp-buscador.es-barra .admpp-buscador-rango,
	.admpp-buscador.es-barra .admpp-boton {
		grid-column: 1 / -1;
	}

	.admpp-banner {
		padding-bottom: 30px;
	}

	.admpp-banner-buscador {
		position: static;
		width: 100%;
		margin-top: 26px;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.admpp-banner-fondo {
		transition: none;
	}
}

/* --- Página de inicio --- */

.admpp-inicio-seccion {
	margin: 46px 0 0;
}

.admpp-inicio-seccion:first-child {
	margin-top: 0;
}

.admpp-inicio-cabecera {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: baseline;
	justify-content: space-between;
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom: 2px solid var(--admpp-acento);
}

.admpp-inicio-cabecera h2 {
	margin: 0;
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.admpp-inicio-vertodas {
	font-size: 0.88rem;
	font-weight: 650;
	color: var(--admpp-tinta);
	text-decoration: none;
	white-space: nowrap;
}

.admpp-inicio-vertodas::after {
	content: " →";
}

.admpp-inicio-vertodas:hover,
.admpp-inicio-vertodas:focus-visible {
	text-decoration: underline;
}

.admpp-inicio-descripcion {
	margin: -8px 0 18px;
	color: var(--admpp-tenue);
}

/* El banner va a lo ancho aunque el tema meta la página en una caja. */
.admpp-inicio > .admpp-banner {
	margin-bottom: 40px;
}

/* --- Proyectos --- */

.admpp-etiqueta.es-proyecto {
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
}

.admpp-desde {
	font-size: 0.68em;
	font-weight: 600;
	opacity: 0.85;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.admpp-proyecto-cuenta {
	margin: auto 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--admpp-linea);
	font-size: 0.85rem;
	font-weight: 650;
	color: var(--admpp-acento-fuerte);
}

.admpp-tabla-envoltura {
	overflow-x: auto;
	margin: 0 -4px;
	padding: 0 4px;
}

.admpp-tabla-unidades {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.admpp-tabla-unidades th,
.admpp-tabla-unidades td {
	padding: 11px 12px;
	text-align: left;
	border-bottom: 1px solid var(--admpp-linea);
	white-space: nowrap;
}

.admpp-tabla-unidades thead th {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
	border-bottom: 2px solid var(--admpp-acento);
}

.admpp-tabla-unidades tbody tr:hover {
	background: var(--admpp-lienzo);
}

.admpp-tabla-unidades tbody th {
	font-weight: 700;
}

.admpp-tabla-unidades tbody th a {
	color: inherit;
	text-decoration: none;
}

.admpp-tabla-unidades tbody th a:hover {
	color: var(--admpp-acento-fuerte);
	text-decoration: underline;
}

.admpp-celda-precio {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.admpp-proyecto-aviso {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 22px;
	padding: 13px 18px;
	border-left: 4px solid var(--admpp-acento);
	border-radius: var(--admpp-radio);
	background: var(--admpp-lienzo);
	font-size: 0.9rem;
}

/* --- Visor de fotos a pantalla completa --- */

.admpp-galeria-lupa {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border: 0;
	border-radius: var(--admpp-radio);
	background: rgba(0, 0, 0, 0.62);
	color: #fff;
	font: inherit;
	font-size: 0.84rem;
	font-weight: 650;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.admpp-galeria-lupa:hover,
.admpp-galeria-lupa:focus-visible {
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
}

.admpp-galeria-lupa svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.admpp-sin-desplazar {
	overflow: hidden;
}

.admpp-visor {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 20px;
	background: rgba(0, 0, 0, 0.94);
	animation: admpp-aparecer 0.18s ease;
}

@keyframes admpp-aparecer {
	from { opacity: 0; }
	to { opacity: 1; }
}

.admpp-visor-marco {
	margin: 0;
	max-width: min(1400px, 100%);
	max-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.admpp-visor-marco img {
	max-width: 100%;
	max-height: calc(100vh - 110px);
	object-fit: contain;
	display: block;
	border-radius: 4px;
}

.admpp-visor-flecha,
.admpp-visor-cerrar {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.admpp-visor-flecha:hover,
.admpp-visor-flecha:focus-visible,
.admpp-visor-cerrar:hover,
.admpp-visor-cerrar:focus-visible {
	background: var(--admpp-acento, #dfb702);
	color: #000;
}

.admpp-visor-flecha svg,
.admpp-visor-cerrar svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.admpp-visor-cerrar {
	position: absolute;
	top: 18px;
	right: 18px;
}

.admpp-visor-cuenta {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	padding: 5px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 0.84rem;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
	.admpp-visor-flecha {
		position: absolute;
		bottom: 18px;
	}

	.admpp-visor-flecha.es-antes {
		left: 18px;
	}

	.admpp-visor-flecha.es-despues {
		right: 18px;
	}

	.admpp-visor-cuenta {
		bottom: 30px;
	}
}

/* --- Video y recorrido incrustados --- */

.admpp-video {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--admpp-radio);
	overflow: hidden;
	background: var(--admpp-tinta);
}

.admpp-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	.admpp-visor {
		animation: none;
	}
}

/* --- Botón flotante de WhatsApp --- */

.admpp-wa-flotante {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9990;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 13px 18px 13px 15px;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	font-family: inherit;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.admpp-wa-flotante:hover,
.admpp-wa-flotante:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
	color: #fff;
}

.admpp-wa-flotante svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
	flex: 0 0 auto;
}

@media (max-width: 640px) {
	.admpp-wa-flotante {
		right: 16px;
		bottom: 16px;
		padding: 14px;
	}

	.admpp-wa-texto {
		display: none;
	}
}

@media print {
	.admpp-wa-flotante {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.admpp-wa-flotante {
		transition: none;
	}
}

/* --- Contacto directo al agente --- */

.admpp-boton-whatsapp {
	background: #25d366;
	border-color: #25d366;
	color: #fff;
}

.admpp-boton-whatsapp:hover,
.admpp-boton-whatsapp:focus-visible {
	background: #1eb455;
	border-color: #1eb455;
	color: #fff;
}

.admpp-boton svg {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.admpp-boton-whatsapp svg {
	fill: currentColor;
	stroke: none;
}

.admpp-tarjeta-contacto {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	padding: 0 17px 14px;
}

.admpp-tarjeta-contacto .admpp-boton {
	height: 38px;
	padding: 0 10px;
	font-size: 0.83rem;
	gap: 6px;
}

.admpp-tarjeta-contacto .admpp-boton svg {
	width: 15px;
	height: 15px;
}

.admpp-agente-botones {
	flex-wrap: wrap;
}

.admpp-agente-botones .admpp-boton {
	height: 40px;
	padding: 0 12px;
	font-size: 0.86rem;
	gap: 6px;
}

.admpp-agente-nota {
	margin: 8px 0 0;
	font-size: 0.8rem;
	color: var(--admpp-tenue);
	text-align: center;
}

/* En tarjetas muy estrechas, los botones se apilan. */
@media (max-width: 360px) {
	.admpp-tarjeta-contacto {
		grid-template-columns: 1fr;
	}
}

/* --- Páginas automáticas de zona y tipo --- */

.admpp-archivo {
	max-width: 1180px;
	margin: 0 auto;
	padding: 34px 22px 60px;
}

.admpp-archivo-cabecera {
	margin-bottom: 26px;
	padding-bottom: 18px;
	border-bottom: 2px solid var(--admpp-acento);
}

.admpp-archivo-cabecera h1 {
	margin: 0 0 8px;
	font-size: clamp(1.6rem, 4vw, 2.3rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.admpp-archivo-texto {
	margin: 0;
	max-width: 70ch;
	color: var(--admpp-tenue);
}

.admpp-archivo-enlaces {
	margin-top: 46px;
	padding-top: 24px;
	border-top: 1px solid var(--admpp-linea);
}

.admpp-archivo-enlaces h2 {
	margin: 0 0 14px;
	font-size: 1.1rem;
}

.admpp-archivo-enlaces ul,
.admpp-indice-zona ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.admpp-archivo-enlaces a,
.admpp-indice-zona a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 13px;
	border: 1px solid var(--admpp-linea);
	border-radius: 999px;
	background: var(--admpp-papel);
	color: var(--admpp-tinta);
	font-size: 0.86rem;
	text-decoration: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.admpp-archivo-enlaces a:hover,
.admpp-indice-zona a:hover,
.admpp-archivo-enlaces a:focus-visible,
.admpp-indice-zona a:focus-visible {
	border-color: var(--admpp-acento);
	background: color-mix(in srgb, var(--admpp-acento) 14%, var(--admpp-papel));
}

.admpp-archivo-enlaces a span,
.admpp-indice-zona a span {
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--admpp-lienzo);
	font-size: 0.76rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.admpp-indice-rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 26px;
}

.admpp-indice-zona h3 {
	margin: 0 0 10px;
	padding-bottom: 7px;
	border-bottom: 2px solid var(--admpp-acento);
	font-size: 1rem;
}

.admpp-indice-zona ul {
	flex-direction: column;
	gap: 6px;
}

.admpp-indice-zona a {
	justify-content: space-between;
	border-radius: var(--admpp-radio);
}

/* --- Formularios largos: captación y alerta --- */

.admpp-grupo-campos {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.admpp-grupo-campos legend {
	padding: 0 0 10px;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
}

.admpp-campos-fila {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
}

.admpp-campos-fila .admpp-campo-form {
	margin: 0;
}

.admpp-fotos-elegidas:empty {
	display: none;
}

.admpp-fotos-elegidas {
	margin: 8px 0 0;
	padding: 8px 12px;
	border-radius: var(--admpp-radio);
	background: var(--admpp-lienzo);
	font-size: 0.85rem;
	color: var(--admpp-tenue);
}

.admpp-ayuda {
	display: block;
	margin-top: 6px;
	font-size: 0.82rem;
	color: var(--admpp-tenue);
}

.admpp-publica .admpp-panel,
.admpp-alerta .admpp-panel {
	max-width: 780px;
}

.admpp-alerta .admpp-panel {
	background: var(--admpp-lienzo);
}

/* --- Detalles finales de los controles --- */

/* Mientras se filtra, la rejilla se atenúa y el cursor lo dice. */
.admpp-rejilla[aria-busy="true"] {
	pointer-events: none;
	cursor: progress;
}

/* Los números no enseñan las flechitas del navegador: estorban. */
.admpp-filtros input[type="number"]::-webkit-outer-spin-button,
.admpp-filtros input[type="number"]::-webkit-inner-spin-button,
.admpp-form input[type="number"]::-webkit-outer-spin-button,
.admpp-form input[type="number"]::-webkit-inner-spin-button,
.admpp-buscador input[type="number"]::-webkit-outer-spin-button,
.admpp-buscador input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.admpp-filtros input[type="number"],
.admpp-form input[type="number"],
.admpp-buscador input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}

/* Un campo obligatorio que quedó mal se marca solo al salir de él. */
.admpp-form input:user-invalid,
.admpp-form textarea:user-invalid {
	border-color: var(--admpp-alerta);
}

.admpp-form input:user-invalid:focus,
.admpp-form textarea:user-invalid:focus {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--admpp-alerta) 25%, transparent);
}

/* El campo trampa no ocupa sitio ni se puede enfocar sin querer. */
.admpp-trampa {
	position: absolute !important;
	left: -9999px !important;
}

/* En pantallas pequeñas los controles crecen: el dedo necesita más área. */
@media (max-width: 640px) {
	.admpp-filtros {
		padding: 16px;
	}

	.admpp-filtros-fila {
		gap: 10px;
	}

	.admpp-campo-buscar,
	.admpp-campo-filtro {
		flex: 1 1 100%;
	}

	.admpp-mas-filtros,
	.admpp-filtros-pie .admpp-boton {
		width: 100%;
		justify-content: center;
	}

	.admpp-filtros-pie {
		flex-direction: column;
		align-items: stretch;
	}

	.admpp-limpiar {
		justify-content: center;
	}
}

/* Quien pide menos movimiento, no lo tiene. */
@media (prefers-reduced-motion: reduce) {
	.admpp-boton,
	.admpp-chip,
	.admpp-pagina,
	.admpp-limpiar,
	.admpp-mas-filtros,
	.admpp-mas-filtros::after,
	.admpp-filtros input,
	.admpp-filtros select,
	.admpp-form input,
	.admpp-form select,
	.admpp-form textarea {
		transition: none;
	}

	.admpp-boton:hover,
	.admpp-chip:hover {
		transform: none;
	}
}


/* ==========================================================================
   Blindaje frente a los estilos del tema
   Muchos temas (y los de bloques de WordPress) pintan todos los <button> con
   su color de acento rosado, borde y relleno. Aquí se devuelven los botones
   del plugin a su aspecto propio.
   ========================================================================== */

.admpp-tarjeta button.admpp-tarjeta-tira,
.admpp-tarjeta a.admpp-tarjeta-tira {
	-webkit-appearance: none !important;
	appearance: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0;
	background: var(--admpp-lienzo) !important;
	box-shadow: none !important;
	color: inherit;
	line-height: 1;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.admpp-tarjeta a.admpp-tarjeta-tira.es-mas {
	background: var(--admpp-tinta) !important;
	color: var(--admpp-sobre-tinta) !important;
	font-size: 0.85rem;
}

.admpp-tarjeta a.admpp-tarjeta-tira.es-mas:hover,
.admpp-tarjeta a.admpp-tarjeta-tira.es-mas:focus-visible {
	background: var(--admpp-acento) !important;
	color: var(--admpp-sobre-acento) !important;
}

.admpp-tarjeta .admpp-tarjeta-tira img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	object-fit: cover;
}

.admpp-tarjeta button.admpp-tarjeta-tira:focus-visible {
	outline: 2px solid var(--admpp-acento) !important;
	outline-offset: -2px;
}

button.admpp-favorito,
.admpp-bloque button.admpp-favorito,
.admpp-ficha-publica button.admpp-favorito {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.94) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
	color: var(--admpp-tinta) !important;
	line-height: 1 !important;
}

button.admpp-favorito:hover,
button.admpp-favorito:focus-visible,
button.admpp-favorito[aria-pressed="true"] {
	color: var(--admpp-alerta) !important;
	background: #fff !important;
}

.admpp-tarjeta .admpp-tarjeta-foto img {
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
}

/* Botones y enlaces-botón del plugin: sin el rosado ni los bordes del tema. */
.admpp-bloque button:not(.admpp-favorito):not(.admpp-tarjeta-tira),
.admpp-ficha-publica button:not(.admpp-favorito):not(.admpp-tarjeta-tira),
.admpp-tickets button {
	box-shadow: none;
	text-transform: none;
	letter-spacing: normal;
}

.admpp-bloque button:focus,
.admpp-ficha-publica button:focus,
.admpp-bloque a:focus,
.admpp-ficha-publica a:focus {
	outline-color: var(--admpp-acento);
}

.admpp-bloque a.admpp-boton,
.admpp-ficha-publica a.admpp-boton,
.admpp-tarjeta a.admpp-boton {
	text-decoration: none !important;
	box-shadow: none !important;
}

.admpp-tarjeta-titulo a,
.admpp-tarjeta-titulo a:visited {
	color: var(--admpp-tinta) !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.admpp-tarjeta-titulo a:hover,
.admpp-tarjeta-titulo a:focus-visible {
	color: var(--admpp-acento-fuerte) !important;
}

/* Botones <button> del plugin: mismos colores que los enlaces-botón aunque el tema los pinte. */
button.admpp-boton {
	-webkit-appearance: none;
	appearance: none;
	height: var(--admpp-alto-control) !important;
	min-height: 0 !important;
	padding: var(--admpp-pad-control) !important;
	border: 1px solid var(--admpp-acento) !important;
	border-radius: var(--admpp-radio) !important;
	background: var(--admpp-acento) !important;
	color: var(--admpp-sobre-acento) !important;
	font-family: inherit !important;
	text-transform: none !important;
}

button.admpp-boton:hover,
button.admpp-boton:focus-visible {
	background: var(--admpp-acento-fuerte) !important;
	border-color: var(--admpp-acento-fuerte) !important;
}

button.admpp-boton.admpp-boton-suave {
	background: transparent !important;
	border-color: var(--admpp-linea) !important;
	color: var(--admpp-tinta) !important;
}

button.admpp-boton.admpp-boton-suave:hover {
	background: var(--admpp-lienzo) !important;
	border-color: var(--admpp-tinta) !important;
}

button.admpp-boton.admpp-boton-oscuro {
	background: var(--admpp-tinta) !important;
	border-color: var(--admpp-tinta) !important;
	color: var(--admpp-sobre-tinta) !important;
}

button.admpp-boton.admpp-boton-oscuro:hover {
	background: var(--admpp-acento) !important;
	border-color: var(--admpp-acento) !important;
	color: var(--admpp-sobre-acento) !important;
}

button.admpp-boton.admpp-boton-menudo {
	height: 36px !important;
	padding: 0 13px !important;
}

/* Otros botones del plugin con más peso que los estilos de <button> del tema. */
button.admpp-mas-filtros.admpp-mas-filtros {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: var(--admpp-alto-control);
	padding: var(--admpp-pad-control);
	border: 1px solid var(--admpp-tinta);
	border-radius: var(--admpp-radio);
	background: transparent;
	color: var(--admpp-tinta);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--admpp-transicion), color var(--admpp-transicion);
}

button.admpp-mas-filtros.admpp-mas-filtros::after {
	content: "";
	width: 11px;
	height: 7px;
	background: currentColor;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transition: transform var(--admpp-transicion);
}

button.admpp-mas-filtros.admpp-mas-filtros:hover {
	background: color-mix(in srgb, var(--admpp-tinta) 8%, transparent);
}

button.admpp-mas-filtros.admpp-mas-filtros[aria-expanded="true"] {
	background: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
}

button.admpp-mas-filtros.admpp-mas-filtros[aria-expanded="true"]::after {
	transform: rotate(180deg);
}

button.admpp-limpiar.admpp-limpiar {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: var(--admpp-radio);
	background: none;
	color: var(--admpp-tenue);
	font: inherit;
	font-size: 0.87rem;
	cursor: pointer;
	transition: background-color var(--admpp-transicion), color var(--admpp-transicion), border-color var(--admpp-transicion);
}

button.admpp-limpiar.admpp-limpiar::before {
	content: "";
	width: 13px;
	height: 13px;
	background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' fill='none' stroke='%236b6b64' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

button.admpp-limpiar.admpp-limpiar:hover {
	border-color: var(--admpp-linea);
	background: var(--admpp-lienzo);
	color: var(--admpp-tinta);
}

button.admpp-pagina.admpp-pagina {
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	font-weight: 600;
	transition: background-color var(--admpp-transicion), border-color var(--admpp-transicion), color var(--admpp-transicion);
	border: 1px solid var(--admpp-linea);
	border-radius: var(--admpp-radio);
	background: var(--admpp-papel);
	color: inherit;
	font: inherit;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}

button.admpp-pagina.admpp-pagina:hover {
	border-color: var(--admpp-tinta);
	background: var(--admpp-lienzo);
}

button.admpp-pagina.admpp-pagina.es-actual {
	background: var(--admpp-tinta);
	border-color: var(--admpp-tinta);
	color: var(--admpp-sobre-tinta);
}

button.admpp-tira.admpp-tira {
	border-radius: var(--admpp-radio);
	overflow: hidden;
	transition: opacity 0.15s ease, transform 0.15s ease;
	flex: 0 0 auto;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 4px;
	background: none;
	cursor: pointer;
	line-height: 0;
	overflow: hidden;
}

button.admpp-tira.admpp-tira img {
	width: 84px;
	height: 62px;
	object-fit: cover;
	display: block;
}

button.admpp-tira.admpp-tira:hover {
	transform: translateY(-2px);
}

button.admpp-tira.admpp-tira.es-actual {
	border-color: var(--admpp-acento);
}

button.admpp-accion.admpp-accion {
	border: 0;
	background: none;
	padding: 0;
	color: var(--admpp-tenue);
	font: inherit;
	font-size: 0.85rem;
	text-decoration: underline;
	cursor: pointer;
}

button.admpp-plegable-boton.admpp-plegable-boton {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	font-weight: 650;
	text-align: left;
	cursor: pointer;
}

button.admpp-plegable-boton.admpp-plegable-boton::after {
	content: "−";
	font-size: 1.1rem;
	color: var(--admpp-tenue);
}

button.admpp-plegable-boton.admpp-plegable-boton[aria-expanded="false"]::after {
	content: "+";
}

button.admpp-galeria-lupa.admpp-galeria-lupa {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border: 0;
	border-radius: var(--admpp-radio);
	background: rgba(0, 0, 0, 0.62);
	color: #fff;
	font: inherit;
	font-size: 0.84rem;
	font-weight: 650;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

button.admpp-galeria-lupa.admpp-galeria-lupa:hover,
button.admpp-galeria-lupa.admpp-galeria-lupa:focus-visible {
	background: var(--admpp-acento);
	color: var(--admpp-sobre-acento);
}

button.admpp-galeria-lupa.admpp-galeria-lupa svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

button.admpp-limpiar.admpp-limpiar {
		justify-content: center;
	}

button.admpp-mas-filtros,
button.admpp-limpiar,
button.admpp-pagina,
button.admpp-tira,
button.admpp-accion,
button.admpp-plegable-boton,
button.admpp-galeria-lupa {
	-webkit-appearance: none;
	appearance: none;
	min-height: 0;
	box-shadow: none;
	text-transform: none;
	letter-spacing: normal;
	font-family: inherit;
}

@media (max-width: 640px) {
	button.admpp-mas-filtros.admpp-mas-filtros {
		width: 100%;
		justify-content: center;
	}

	button.admpp-limpiar.admpp-limpiar {
		justify-content: center;
	}
}


/* ==========================================================================
   Orden de la portada y de los listados a todo lo ancho
   ========================================================================== */

/* Los listados no se estiran de borde a borde en páginas a todo lo ancho. */
.admpp-bloque {
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
}

.admpp-inicio {
	width: 100%;
}

.admpp-inicio .admpp-bloque {
	max-width: none;
}

/* Contenido de la portada centrado; el banner sí va de lado a lado. */
.admpp-inicio-contenido {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px 56px;
}

.admpp-inicio-seccion {
	margin: 56px 0 0;
}

.admpp-inicio-seccion:first-child {
	margin-top: 8px;
}

/* En la portada: 3 por fila, 2 en tableta, 1 en móvil. */
.admpp-inicio .admpp-rejilla {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

@media (max-width: 1000px) {
	.admpp-inicio .admpp-rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (max-width: 640px) {
	.admpp-inicio .admpp-rejilla {
		grid-template-columns: minmax(0, 1fr);
	}

	.admpp-inicio-contenido {
		padding: 0 14px 40px;
	}
}

/* Tarjetas de la misma fila con la misma altura y las partes alineadas. */
.admpp-rejilla > .admpp-tarjeta {
	height: 100%;
}

.admpp-tarjeta-titulo {
	min-height: 2.7em;
}

.admpp-lugar span {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Si la tarjeta no tiene miniaturas, se reserva el mismo hueco para que no descuadre. */
.admpp-tarjeta-tiras.es-vacia {
	visibility: hidden;
}

.admpp-tarjeta-tiras.es-vacia::before {
	content: "";
	display: block;
	aspect-ratio: 4 / 3;
}

/* --- Banner: sin imagen se ve oscuro y ordenado, no gris claro --- */

.admpp-banner {
	background: var(--admpp-tinta);
	color: #fff;
	padding-bottom: 150px;
}

.admpp-inicio > .admpp-banner {
	margin-bottom: 0;
}

.admpp-banner:not(:has(.admpp-banner-fondo)) {
	background:
		radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--admpp-acento) 22%, transparent), transparent 55%),
		var(--admpp-tinta);
}

.admpp-banner-titulo {
	color: #fff !important;
}

/* --- Buscador en barra: dos filas limpias --- */

.admpp-buscador.es-barra {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px 16px;
	padding: 22px 22px 20px;
	color: var(--admpp-tinta);
	text-align: left;
}

.admpp-buscador.es-barra .admpp-buscador-pestana {
	grid-column: 1 / -1;
	margin: -38px 0 4px;
}

.admpp-buscador.es-barra .admpp-buscador-rango {
	grid-column: 1 / span 4;
	align-self: center;
}

.admpp-buscador.es-barra button.admpp-boton {
	grid-column: 5;
	width: 100%;
}

.admpp-buscador label,
.admpp-buscador-rango label {
	color: var(--admpp-tenue) !important;
	text-shadow: none !important;
}

.admpp-buscador select,
.admpp-buscador input[type="number"] {
	height: var(--admpp-alto-control);
	color: var(--admpp-tinta) !important;
	background-color: var(--admpp-papel) !important;
	text-shadow: none;
}

@media (max-width: 860px) {
	.admpp-banner {
		padding-bottom: 30px;
	}

	.admpp-buscador.es-barra {
		grid-template-columns: 1fr 1fr;
	}

	.admpp-buscador.es-barra .admpp-buscador-rango,
	.admpp-buscador.es-barra button.admpp-boton {
		grid-column: 1 / -1;
	}

	.admpp-buscador.es-barra .admpp-buscador-pestana {
		margin-top: 0;
	}
}

/* Usuario y clave del formulario de tickets */
.admpp-acceso {
	margin: 4px 0 14px;
	padding: 14px 16px 2px;
	border: 1px solid var(--admpp-linea);
	border-left: 3px solid var(--admpp-acento);
	border-radius: var(--admpp-radio);
	background: var(--admpp-lienzo);
}

.admpp-acceso legend {
	padding: 0 6px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
}

.admpp-form input[type="password"] {
	width: 100%;
}

/* ==========================================================================
   Nosotros y Contacto ([adm_nosotros], [adm_contacto])
   ========================================================================== */

.admpp-nosotros,
.admpp-contacto {
	padding: 48px 20px 64px;
}

.admpp-seccion-cabecera {
	max-width: 720px;
	margin: 0 0 32px;
}

.admpp-antetitulo {
	display: inline-block;
	margin: 0 0 10px;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--admpp-acento);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
}

.admpp-bloque .admpp-seccion-titulo {
	margin: 0 0 10px;
	font-size: clamp(1.9rem, 4vw, 2.7rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--admpp-tinta);
}

.admpp-seccion-intro {
	margin: 0;
	font-size: 1.08rem;
	color: var(--admpp-tenue);
}

/* --- Contacto --- */

.admpp-contacto-rejilla {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
	gap: 28px;
	align-items: start;
}

.admpp-contacto-datos {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.admpp-bloque .admpp-dato {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 18px;
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-papel);
	box-shadow: var(--admpp-sombra);
	color: var(--admpp-tinta);
	text-decoration: none;
	line-height: 1.45;
	transition: transform var(--admpp-transicion), box-shadow var(--admpp-transicion);
}

.admpp-bloque a.admpp-dato:hover {
	transform: translateY(-2px);
	box-shadow: var(--admpp-sombra-alta);
}

.admpp-dato small {
	display: block;
	margin-bottom: 2px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
}

.admpp-dato-linea {
	display: block;
}

.admpp-dato-icono {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: var(--admpp-tinta);
	color: var(--admpp-acento);
}

.admpp-dato-icono svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.admpp-dato.es-whatsapp .admpp-dato-icono {
	background: #25d366;
	color: #fff;
}

.admpp-contacto-caja {
	padding: 28px;
	border: 0;
	border-radius: var(--admpp-radio-grande);
	border-top: 4px solid var(--admpp-acento);
}

.admpp-contacto-caja h2 {
	margin: 0 0 18px;
	font-size: 1.35rem;
}

.admpp-contacto-acepta {
	margin: 2px 0 16px;
	font-size: 0.85rem;
	color: var(--admpp-tenue);
}

.admpp-contacto-acepta label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	cursor: pointer;
}

.admpp-contacto-acepta input {
	margin-top: 3px;
	accent-color: var(--admpp-acento);
}

.admpp-contacto-mapa {
	margin-top: 32px;
	border-radius: var(--admpp-radio-grande);
	overflow: hidden;
	box-shadow: var(--admpp-sombra);
	line-height: 0;
}

.admpp-contacto-mapa iframe {
	width: 100%;
	height: 380px;
	border: 0;
}

.admpp-contacto-suelto {
	padding: 24px;
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-papel);
	box-shadow: var(--admpp-sombra);
}

.admpp-contacto-form-titulo {
	margin: 0 0 16px;
	font-size: 1.35rem;
}

/* --- Nosotros --- */

.admpp-nosotros {
	padding-top: 24px;
}

.admpp-nos-hero {
	padding: 56px 48px 40px;
	border-radius: var(--admpp-radio-grande);
	background:
		radial-gradient(circle at 85% 0%, color-mix(in srgb, var(--admpp-acento) 20%, transparent), transparent 50%),
		var(--admpp-tinta);
	color: #fff;
}

.admpp-nos-hero .admpp-antetitulo {
	color: var(--admpp-acento);
}

.admpp-bloque .admpp-nos-hero-titulo {
	max-width: 860px;
	margin: 0 0 16px;
	font-size: clamp(2rem, 4.6vw, 3.3rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: #fff;
}

.admpp-nos-hero-texto {
	max-width: 760px;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.78);
}

.admpp-nos-cifras {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0;
	margin: 40px 0 0;
	padding: 28px 0 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.admpp-nos-cifras li {
	padding: 4px 20px;
	border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.admpp-nos-cifras li:first-child {
	padding-left: 0;
	border-left: 0;
}

.admpp-nos-cifras strong {
	display: block;
	font-size: 2.3rem;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--admpp-acento);
}

.admpp-nos-cifras span {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.72);
}

.admpp-nos-seccion {
	margin-top: 64px;
}

.admpp-bloque .admpp-nos-h2 {
	margin: 0 0 6px;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.admpp-nos-sub {
	margin: 0 0 22px;
	font-size: 1.02rem;
	color: var(--admpp-tenue);
}

.admpp-nos-cuerpo {
	font-size: 1rem;
	line-height: 1.8;
	color: color-mix(in srgb, var(--admpp-tinta) 80%, transparent);
}

.admpp-nos-cuerpo p {
	margin: 0 0 16px;
}

.admpp-nos-cuerpo p:last-child {
	margin-bottom: 0;
}

/* ¿Quiénes somos? */
.admpp-nos-quienes {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
}

.admpp-nos-col-lado {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.admpp-nos-imagen {
	margin: 0;
}

.admpp-nos-imagen img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--admpp-radio-grande);
	box-shadow: var(--admpp-sombra-alta);
}

.admpp-nos-cita {
	margin: 0;
	padding: 32px 30px;
	border: 0;
	border-left: 4px solid var(--admpp-acento);
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-papel);
	box-shadow: var(--admpp-sombra);
	quotes: none;
}

.admpp-nos-cita::before,
.admpp-nos-cita::after {
	content: none;
}

.admpp-nos-cita-num {
	margin: 0 0 10px;
	font-size: 4rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--admpp-tinta);
}

.admpp-nos-cita-num span {
	margin-left: 6px;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--admpp-acento-fuerte);
}

.admpp-nos-cita-texto {
	margin: 0 0 14px;
	font-size: 1.08rem;
	font-style: italic;
	line-height: 1.6;
	color: var(--admpp-tinta);
}

.admpp-nos-cita footer {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--admpp-tenue);
}

/* Una nueva etapa */
.admpp-nos-etapa {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: 48px;
	padding: 44px 40px;
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-papel);
	box-shadow: var(--admpp-sombra);
}

/* Misión y visión */
.admpp-nos-mv {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px;
}

.admpp-nos-mv-tarjeta {
	position: relative;
	padding: 30px 28px;
	border-top: 4px solid var(--admpp-acento);
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-papel);
	box-shadow: var(--admpp-sombra);
}

.admpp-nos-mv-etiqueta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--admpp-tenue);
}

.admpp-nos-mv-etiqueta span {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: var(--admpp-tinta);
	color: var(--admpp-acento);
	font-size: 0.85rem;
	letter-spacing: 0;
}

.admpp-bloque .admpp-nos-mv-tarjeta h3 {
	margin: 0 0 10px;
	font-size: 1.35rem;
	font-weight: 800;
}

.admpp-nos-mv-tarjeta p:last-child {
	margin: 0;
	line-height: 1.7;
	color: var(--admpp-tenue);
}

.admpp-nos-valores {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
	margin-top: 22px;
}

.admpp-nos-valores article {
	padding: 22px;
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-papel);
	box-shadow: var(--admpp-sombra);
}

.admpp-nos-valores h3 {
	margin: 0 0 6px;
	font-size: 1.05rem;
}

.admpp-nos-valores p {
	margin: 0;
	font-size: 0.92rem;
	color: var(--admpp-tenue);
}

/* Contacto al final */
.admpp-nos-contacto {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	margin-top: 64px;
	padding: 44px 40px;
	border-radius: var(--admpp-radio-grande);
	background: var(--admpp-tinta);
	color: #fff;
}

.admpp-nos-contacto .admpp-antetitulo {
	color: var(--admpp-acento);
}

.admpp-bloque .admpp-nos-contacto h2 {
	margin: 0 0 10px;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.2;
	color: #fff;
}

.admpp-nos-contacto-texto > p {
	margin: 0 0 22px;
	color: rgba(255, 255, 255, 0.75);
}

.admpp-nos-contacto-botones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.admpp-bloque a.admpp-boton-contorno-claro {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

.admpp-bloque a.admpp-boton-contorno-claro:hover {
	background: #25d366;
	border-color: #25d366;
	color: #fff;
}

.admpp-nos-contacto-datos {
	margin: 0;
	padding: 0;
	list-style: none;
}

.admpp-nos-contacto-datos li {
	padding: 12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.admpp-nos-contacto-datos li:last-child {
	border-bottom: 0;
}

.admpp-nos-contacto-datos small {
	display: block;
	margin-bottom: 2px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--admpp-acento);
}

.admpp-nos-contacto-datos a,
.admpp-nos-contacto-datos span {
	color: #fff;
	text-decoration: none;
	line-height: 1.5;
}

.admpp-nos-contacto-datos a:hover {
	color: var(--admpp-acento);
}

@media (max-width: 860px) {
	.admpp-contacto-rejilla,
	.admpp-nos-quienes,
	.admpp-nos-etapa,
	.admpp-nos-contacto {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}

	.admpp-nos-hero,
	.admpp-nos-etapa,
	.admpp-nos-contacto {
		padding: 32px 22px;
	}

	.admpp-nos-cifras {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 20px;
	}

	.admpp-nos-cifras li:nth-child(odd) {
		padding-left: 0;
		border-left: 0;
	}

	.admpp-nos-seccion,
	.admpp-nos-contacto {
		margin-top: 44px;
	}

	.admpp-nosotros,
	.admpp-contacto {
		padding: 24px 14px 48px;
	}

	.admpp-contacto-caja {
		padding: 20px;
	}
}

/* Pie del tema sin el «All rights reserved»: que no quede un hueco vacío. */
.site-footer .copyright p:empty,
.site-footer .copyright:empty {
	display: none;
}

/* --- 1.14: amenidades con icono --- */

.admpp-caract-lista.con-iconos {
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 12px 20px;
}

.admpp-caract-lista.con-iconos li {
	display: flex;
	align-items: center;
	gap: 11px;
	padding-left: 0;
	line-height: 1.3;
}

.admpp-caract-lista.con-iconos li::before {
	content: none;
}

.admpp-caract-icono {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--admpp-acento) 16%, transparent);
	color: var(--admpp-tinta);
}

.admpp-caract-icono .admpp-icono {
	width: 19px;
	height: 19px;
}

/* --- 1.14: la descripción respira --- */

.admpp-ficha-publica .admpp-descripcion {
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.admpp-ficha-publica .admpp-descripcion > :first-child {
	margin-top: 0;
}

.admpp-ficha-publica .admpp-descripcion > :last-child {
	margin-bottom: 0;
}

.admpp-ficha-publica .admpp-descripcion p {
	margin: 0 0 1.05em;
}

.admpp-ficha-publica .admpp-descripcion h1,
.admpp-ficha-publica .admpp-descripcion h2,
.admpp-ficha-publica .admpp-descripcion h3,
.admpp-ficha-publica .admpp-descripcion h4 {
	margin: 1.8em 0 0.6em;
	padding: 0;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.01em;
}

.admpp-ficha-publica .admpp-descripcion h1 {
	font-size: 1.3rem;
}

.admpp-ficha-publica .admpp-descripcion h3,
.admpp-ficha-publica .admpp-descripcion h4 {
	font-size: 1.04rem;
}

.admpp-ficha-publica .admpp-descripcion ul,
.admpp-ficha-publica .admpp-descripcion ol {
	margin: 0 0 1.2em;
	padding-left: 1.3em;
}

.admpp-ficha-publica .admpp-descripcion li {
	margin: 0 0 0.5em;
	padding-left: 0.2em;
}

.admpp-ficha-publica .admpp-descripcion li > p {
	margin: 0;
}

.admpp-ficha-publica .admpp-descripcion li::marker {
	color: var(--admpp-acento-fuerte);
}

.admpp-ficha-publica .admpp-descripcion hr {
	margin: 1.8em 0;
	border: 0;
	border-top: 1px solid var(--admpp-linea);
}

.admpp-ficha-publica .admpp-descripcion img {
	max-width: 100%;
	height: auto;
	border-radius: var(--admpp-radio);
}

@media (max-width: 600px) {
	.admpp-bloque-ficha {
		padding: 18px 16px;
	}
}

/* --- 1.14: galería más rápida, con flechas --- */

.admpp-galeria-principal {
	position: relative;
}

.admpp-galeria-principal img {
	transition: opacity 0.18s ease;
}

.admpp-galeria.esta-cargando .admpp-galeria-principal img {
	opacity: 0.55;
}

.admpp-galeria.esta-cargando .admpp-galeria-principal::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border: 3px solid rgba(255, 255, 255, 0.55);
	border-top-color: #fff;
	border-radius: 50%;
	animation: admpp-girar 0.7s linear infinite;
	z-index: 2;
}

@keyframes admpp-girar {
	to {
		transform: rotate(360deg);
	}
}

button.admpp-galeria-flecha.admpp-galeria-flecha {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: -22px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #111;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
	cursor: pointer;
	opacity: 0.9;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

button.admpp-galeria-flecha.es-anterior {
	left: 12px;
}

button.admpp-galeria-flecha.es-siguiente {
	right: 12px;
}

button.admpp-galeria-flecha.admpp-galeria-flecha:hover,
button.admpp-galeria-flecha.admpp-galeria-flecha:focus-visible {
	opacity: 1;
	transform: scale(1.06);
	background: #fff;
	color: #111;
}

button.admpp-galeria-flecha.admpp-galeria-flecha:focus-visible {
	outline: 2px solid var(--admpp-acento);
	outline-offset: 2px;
}

button.admpp-galeria-flecha svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (max-width: 600px) {
	button.admpp-galeria-flecha.admpp-galeria-flecha {
		width: 38px;
		height: 38px;
		margin-top: -19px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.admpp-galeria-principal img,
	button.admpp-galeria-flecha.admpp-galeria-flecha {
		transition: none;
	}

	.admpp-galeria.esta-cargando .admpp-galeria-principal::after {
		animation-duration: 2s;
	}
}

@media print {
	button.admpp-galeria-flecha {
		display: none !important;
	}
}

.admpp-ficha-publica .admpp-descripcion ul.admpp-lista-emoji {
	padding-left: 0;
	list-style: none;
}

.admpp-ficha-publica .admpp-descripcion ul.admpp-lista-emoji li {
	padding-left: 0;
}
