/*
 * The producer page's table tiles: the floor plan's cutout (inc/mwf-producer-map.php,
 * owner 2026-10-07). Loaded after the plugin's producer.css on producer requests only.
 * A tile (.whp-spot, a column) ends with the map: the room lit on the drawing, the
 * table's dot with its shield where the owner placed it, a caption that names the
 * room and leads into the digital catalogue.
 */
.whp .whp-map {
	display: block;
	order: 10;
	width: 100%;
	margin: 14px 0 0;
	border: 1px solid rgba(205, 173, 89, .55);
	border-radius: 16px;
	overflow: hidden;
	background: #2a1518 radial-gradient(ellipse at 50% 40%, rgba(125, 42, 50, .55), transparent 72%);
	color: inherit;
	text-decoration: none;
	text-align: left;
	box-shadow: 0 18px 36px -24px rgba(0, 0, 0, .85);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
a.whp-map:hover,
a.whp-map:focus-visible { transform: translateY(-2px); border-color: var(--whp-gold, #cdad59); box-shadow: 0 26px 44px -24px rgba(0, 0, 0, .95); }
a.whp-map:focus-visible { outline: 2px solid var(--whp-gold, #cdad59); outline-offset: 2px; }
.whp .whp-map-svg { display: block; width: 100%; aspect-ratio: 4 / 3; }
/* a group's further tables in a room already drawn: the caption alone, same link */
.whp .whp-map--mini { margin-top: 10px; background: rgba(0, 0, 0, .22); box-shadow: none; }
.whp .whp-map--mini .whp-map-cap { border-top: 0; background: none; }
.whp .whp-map-walls { opacity: .82; }
.whp .whp-map-room {
	fill: rgba(205, 173, 89, .88);
	fill-rule: evenodd;
	stroke: #f1e4b8;
	stroke-width: 1.2px;
	vector-effect: non-scaling-stroke;
}
.whp .whp-map-pin { filter: drop-shadow(0 1.5px 2.5px rgba(0, 0, 0, .5)); }
.whp .whp-map-halo {
	fill: #f1e4b8;
	opacity: .55;
	transform-box: fill-box;
	transform-origin: center;
	animation: whp-map-pulse 1.6s ease-out infinite;
}
.whp .whp-map-dot { fill: #f1e4b8; stroke: #28191b; stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.whp .whp-map-rim { fill: none; stroke: #cdad59; stroke-width: 4.5px; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.whp .whp-map-shield { fill: #f1e4b8; stroke: #28191b; stroke-width: 1.2px; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.whp .whp-map-pin text { fill: #28191b; font-family: var(--whp-sans, sans-serif); font-weight: 700; letter-spacing: .02em; }
.whp .whp-map-cap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 3px 10px;
	padding: 9px 12px 10px;
	border-top: 1px solid rgba(205, 173, 89, .35);
	background: rgba(0, 0, 0, .28);
	font: 700 .68rem/1.35 var(--whp-sans, sans-serif);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(244, 239, 228, .82);
}
.whp .whp-map-cap > span { white-space: nowrap; }
.whp .whp-map-cap b { color: #fff; }
.whp .whp-map-cap i { flex: 0 0 auto; font-style: normal; color: var(--whp-gold, #cdad59); white-space: nowrap; }
@keyframes whp-map-pulse {
	0% { transform: scale(1); opacity: .6; }
	100% { transform: scale(2.6); opacity: 0; }
}
/* The bar's way back (owner, 2026-10-19): the theme's «Catalogo» (.mwfp-back, to the
   producer's stand in the digital catalogue) where the plugin's «Espositori» was, first
   in the row. The plugin prints «Espositori» as the bar's first link, with none of the
   other buttons' classes (is-primary = the website, mwfn-bar = the notebook; Condividi
   is a <button>). It steps aside only where «Catalogo» is there, so a page cached
   before it keeps its way back. Without :has() (Safari < 15.4, Chrome < 105,
   Firefox < 121) both show, «Catalogo» first: one button more, nothing lost. */
.whp-bar:has(> .mwfp-back) > a.whp-bar-btn:first-child:not(.is-primary, .mwfn-bar, .mwfp-back) { display: none; }
.whp-bar > .mwfp-back { order: -1; }
@media (prefers-reduced-motion: reduce) {
	.whp .whp-map { transition: none; }
	.whp .whp-map-halo { animation: none; opacity: .35; transform: scale(1.8); }
}
