/*
 * wh-exhibitors 1.26.0 — the producer page (/espositori/<slug>/, it/de/en),
 * the page the table-sign QR opens. Built for a phone held upright first
 * (owner, 2026-09-29: "this page will be visited by almost everyone on
 * mobile"); larger screens get a two-column layout from 900px.
 *
 *   .whp-hero     dark full-bleed: logo on a light plate (its own colours),
 *                 name, region, tagline, the products' WH Award medals
 *   .whp-where    the table(s): number large, room, sezione and days
 *   .whp-wines    the products, re-laid so a name keeps most of the width
 *                 (medal + colour stacked on the left, style icons stacked on
 *                 the right — on the name's row, the owner's row rule)
 *   .whp-side     «L'azienda» (description + facts) and «Contatti»
 *   .whp-story    the story, a swipeable photo strip, the video link
 *   .whp-bar      all exhibitors · website · share, in the thumb's reach
 *   .whp-sheet    1.33.0 — the share sheet: the card, then each way to send it
 *
 * Loaded in the <head> after the plugin's exhibitors.css (a dependency), so
 * the page never paints unstyled. Fonts: the site's own Libre Baskerville and
 * Raleway (fonts-martel-raleway-libre.css, every page).
 */

.whp {
	--whp-wine: #671e26;
	--whp-wine-mid: #4a161d;
	--whp-deep: #28191b;
	--whp-gold: #cdad59;
	--whp-gold-dark: #8c6d1f;
	--whp-gold-light: #f1e4b8;
	--whp-cream: #f4efe4;
	--whp-paper: #fbf8f1;
	--whp-ink: #2a1d10;
	--whp-muted: #7a6645;
	--whp-line: rgba(205, 173, 89, .35);
	--whp-serif: 'Libre Baskerville', Baskerville, Georgia, 'Times New Roman', serif;
	--whp-sans: 'Raleway', system-ui, -apple-system, 'Segoe UI', sans-serif;
	display: block;
	min-height: 60vh;
	padding: 0 0 28px;
	color: var(--whp-cream);
	/* the festival's wine ground: the pre-rendered wave art of the event pages over the same ramp */
	background-color: var(--whp-deep);
	background-image: url(/core/bg/mwfe-ground-wine-m.webp), linear-gradient(175deg, #671e26 0%, #4a161d 32%, #2f1a1c 64%, #28191b 100%);
	background-position: center top, center;
	background-size: 100% auto, 100% 100%;
	background-repeat: no-repeat;
	-webkit-text-size-adjust: 100%;
	overflow-x: clip;
}
.whp *,
.whp *::before,
.whp *::after { box-sizing: border-box; }
.whp .whp-ico { width: 20px; height: 20px; flex: 0 0 20px; }

/* ------------------------------------------------------------------ hero */
.whp-hero { padding: 6px 20px 34px; text-align: center; }
.whp-crumbs { text-align: left; }
.whp-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 8px 2px;
	font: 700 .72rem/1 var(--whp-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--whp-gold);
	text-decoration: none;
}
.whp-back .whp-ico { width: 18px; height: 18px; flex-basis: 18px; }
.whp-kicker {
	margin: 10px 0 0;
	font: 700 .7rem/1.5 var(--whp-sans);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(241, 228, 184, .72);
}
.whp-logo {
	display: grid;
	place-items: center;
	width: 124px;
	height: 124px;
	margin: 20px auto 0;
	padding: 14px;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 22px 44px -20px rgba(0, 0, 0, .75), 0 0 0 1px rgba(205, 173, 89, .45);
}
.whp-logo img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.whp-name {
	margin: 20px 0 0;
	font: 700 clamp(1.85rem, 8.4vw, 3.2rem)/1.12 var(--whp-serif);
	letter-spacing: -.01em;
	color: var(--whp-cream);
	text-wrap: balance;
	overflow-wrap: anywhere;
}
.whp-meta {
	margin: 10px 0 0;
	font: 700 .72rem/1.4 var(--whp-sans);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--whp-gold);
}
.whp-tagline {
	max-width: 30ch;
	margin: 14px auto 0;
	font: italic 1.02rem/1.55 var(--whp-serif);
	color: rgba(244, 239, 228, .9);
	text-wrap: balance;
}
.whp-awards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}
.whp-awards li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 13px 5px 5px;
	border: 1px solid rgba(205, 173, 89, .45);
	border-radius: 999px;
	background: rgba(244, 239, 228, .08);
	font: 700 .78rem/1 var(--whp-sans);
	color: var(--whp-cream);
}
.whp-awards img { width: 30px; height: 30px; object-fit: contain; }
.whp-award-n { font-size: 1rem; color: var(--whp-gold-light); }
.whp-award-t { letter-spacing: .04em; }

/* the actions: a bar fixed at the bottom on phones, inline under the hero above 900px */
.whp-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	display: flex;
	gap: 8px;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
	background: rgba(32, 19, 22, .92);
	-webkit-backdrop-filter: blur(14px) saturate(1.2);
	backdrop-filter: blur(14px) saturate(1.2);
	border-top: 1px solid rgba(205, 173, 89, .35);
	box-shadow: 0 -12px 30px -18px rgba(0, 0, 0, .8);
}
/* on a phone: the native bottom-bar pattern, icon over a short label — no label is ever cut */
.whp-bar-btn {
	flex: 1 1 0;
	min-width: 0;
	min-height: 56px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 6px 4px;
	border: 1px solid rgba(205, 173, 89, .45);
	border-radius: 14px;
	background: rgba(244, 239, 228, .06);
	font: 700 .74rem/1.1 var(--whp-sans);
	letter-spacing: .03em;
	color: var(--whp-cream);
	text-decoration: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background .2s, filter .2s;
}
.whp-bar-btn[hidden] { display: none; }
.whp-bar-btn .whp-ico { width: 22px; height: 22px; flex: 0 0 auto; }
.whp-bar-btn span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.whp-bar-btn:active { filter: brightness(.88); } /* never a scale on touch (owner) */
.whp-bar-btn.is-primary { background: var(--whp-gold); border-color: var(--whp-gold); color: var(--whp-deep); }
.whp-bar-btn.is-done { background: #2e6b3f; border-color: #2e6b3f; color: #fff; }
.whp-bar-btn:focus-visible,
.whp-back:focus-visible,
.whp-row:focus-visible,
.whp-video:focus-visible,
.whp-more:focus-visible { outline: 2px solid var(--whp-gold); outline-offset: 2px; }
@media (max-width: 899px) {
	/* the bar covers nothing: the page ends above it */
	body.wh-producer-page { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
	/* the site header scrolls away with the page: a portrait screen keeps its height for the producer */
	body.wh-producer-page header.header { position: relative; }
}

/* ------------------------------------------------------------ content */
.whp-content { padding: 0 12px; }
.whp-h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font: 700 1.28rem/1.25 var(--whp-serif);
	color: var(--whp-wine);
}
.whp-h2--light { color: var(--whp-cream); }
.whp-count {
	display: inline-grid;
	place-items: center;
	min-width: 26px;
	height: 26px;
	padding: 0 8px;
	border-radius: 999px;
	background: rgba(205, 173, 89, .24);
	font: 700 .78rem/1 var(--whp-sans);
	color: var(--whp-gold-dark);
}
.whp-panel {
	margin: 0 0 14px;
	padding: 20px 16px;
	border-radius: 22px;
	background: var(--whp-paper);
	color: var(--whp-ink);
	box-shadow: 0 26px 50px -32px rgba(0, 0, 0, .85);
}

/* where to find us */
.whp-where { margin: 0 0 16px; }
.whp-where-h {
	margin: 0 0 10px;
	font: 700 .7rem/1.3 var(--whp-sans);
	letter-spacing: .28em;
	text-transform: uppercase;
	text-align: center;
	color: var(--whp-gold);
}
.whp-spots {
	display: grid;
	grid-template-columns: repeat(var(--whp-cols, 1), minmax(0, 1fr));
	gap: 10px;
}
.whp-spot {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px 10px 18px;
	border: 1px solid rgba(205, 173, 89, .6);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(205, 173, 89, .2) 0%, rgba(205, 173, 89, .06) 100%);
	text-align: center;
}
.whp-spot-label {
	font: 700 .7rem/1 var(--whp-sans);
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--whp-gold);
}
.whp-spot-num {
	display: block;
	margin: 8px 0 4px;
	font: 700 3rem/1 var(--whp-serif);
	color: var(--whp-gold-light);
	font-variant-numeric: lining-nums;
}
.whp-spot-num--text { font-size: 1.5rem; line-height: 1.2; overflow-wrap: anywhere; }
.whp-spot-place { font: 700 1rem/1.3 var(--whp-sans); color: var(--whp-cream); overflow-wrap: anywhere; }
.whp-spot-sez { display: block; margin-top: 6px; font: 500 .72rem/1.4 var(--whp-sans); color: rgba(244, 239, 228, .72); }
.whp-spot-sez b { font-weight: 700; color: rgba(244, 239, 228, .92); }

/* the products — the catalogue's rows, laid out for a portrait screen (1.30.0:
   the medal on a round plate at the left, the name and the grapes, then the
   style and process icons as NAMED chips under them — wh_exhibitors_icon_tags()
   — instead of two columns of bare icons) */
.whp .whp-list { --text-primary: var(--whp-ink); --text-muted: var(--whp-muted); }
.whp .whp-list .wh-catalogue-row { margin: 0 -8px; padding: 16px 8px; border-bottom: 0; border-radius: 14px; align-items: flex-start; transition: background .2s; }
.whp .whp-list .wh-catalogue-row + .wh-catalogue-row { border-top: 1px solid var(--whp-line); border-radius: 0 0 14px 14px; }
.whp .whp-list .wh-catalogue-row__strip { display: flex; align-items: flex-start; gap: 14px; }
.whp .whp-list .wh-catalogue-row__icons-left { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.whp .whp-list .wh-catalogue-row--tags .wh-catalogue-row__icons-right { display: none; }
.whp .whp-list .wh-catalogue-row__award-slot {
	display: grid;
	place-items: center;
	flex-basis: 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 35%, #fff 0%, #f6efdc 70%, #efe3c4 100%);
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .55), 0 6px 14px -8px rgba(0, 0, 0, .5);
}
.whp .whp-list .wh-catalogue-row__award-slot[aria-hidden="true"] { background: none; box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .25); }
.whp .whp-list .wh-catalogue-row__icon { width: 26px; height: 26px; }
/* the medal is a link to the award site: the whole 46px plate is its target */
.whp .whp-list .wh-catalogue-row__award { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; }
.whp .whp-list .wh-catalogue-row__award .wh-catalogue-row__icon { width: 36px; height: 36px; }
.whp .whp-list .wh-catalogue-row__title-block { flex: 1 1 auto; min-width: 0; }
.whp .whp-list .wh-catalogue-row__title { font: 700 1.04rem/1.36 var(--whp-serif); color: var(--whp-ink); overflow-wrap: anywhere; }
.whp .whp-list .wh-catalogue-row__secondary { margin-top: 4px; font: 500 .84rem/1.4 var(--whp-sans); color: var(--whp-muted); }
.whp .whp-list .wh-catalogue-row__link { border-bottom-color: rgba(140, 109, 31, .55); }
.whp .whp-list .wh-catalogue-row__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
.whp .whp-list .wh-catalogue-row__tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	padding: 3px 11px 3px 5px;
	border: 1px solid var(--whp-line);
	border-radius: 999px;
	background: #fff;
	font: 600 .72rem/1.15 var(--whp-sans);
	letter-spacing: .02em;
	color: var(--whp-ink);
}
.whp .whp-list .wh-catalogue-row__tag .wh-catalogue-row__icon { width: 20px; height: 20px; }
.whp .whp-list .wh-catalogue-divider { margin: 26px 0 6px; }
.whp .whp-list .wh-catalogue-group:first-child > .wh-catalogue-divider { margin-top: 0; }
.whp .whp-list .wh-catalogue-divider__label { font: 700 .72rem/1.35 var(--whp-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--whp-gold-dark); }
@media (hover: hover) {
	.whp .whp-list .wh-catalogue-row:hover { background: rgba(205, 173, 89, .09); }
	.whp .whp-list .wh-catalogue-row__award:hover .wh-catalogue-row__icon { transform: scale(1.06); }
	.whp .whp-list .wh-catalogue-row__award .wh-catalogue-row__icon { transition: transform .2s; }
}
/* 1.31.1 — the vintage heads the name as a small line of its own (render.php
   splits «2022 …» / «S.A. …» on these pages); the arrow stays with the last word */
.whp .whp-list .wh-catalogue-row__vintage {
	display: block;
	margin: 0 0 3px;
	font: 700 .7rem/1.3 var(--whp-sans);
	letter-spacing: .2em;
	color: var(--whp-gold-dark);
	font-variant-numeric: lining-nums;
}
.whp .whp-list .wh-catalogue-row__link::after { content: "\00a0\2197"; }
/* 1.31.5 — the type icon and the vintage of the phone card's first line: shown there only */
.whp .whp-list .wh-catalogue-row__type,
.whp .whp-list .wh-catalogue-row__head-vintage { display: none; }
/* 1.31.0 — a wine's actions: the visitor's note (the theme's notebook puts its
   button here) and, where the portale has it, the wine's shop. On a phone each
   wine is a card with its actions as a bar along its foot — two equal halves
   when both are there; one alone sits in the middle, as wide as its words and
   never less than a half (1.31.2, 1.31.3); from 700px a column of round
   buttons at the right. */
.whp .whp-list .wh-catalogue-row__actions:empty { display: none; }
.whp .whp-list .wh-catalogue-row__shop {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	border-radius: 12px;
	box-shadow: inset 0 0 0 1px rgba(140, 109, 31, .5);
	background: #fff;
	font: 700 .72rem/1.2 var(--whp-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--whp-wine);
	-webkit-tap-highlight-color: transparent;
}
.whp .whp-list .wh-catalogue-row__shop svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--whp-gold-dark); }
.whp .whp-list .wh-catalogue-row__shop:focus-visible { outline: 2px solid var(--whp-gold-dark); outline-offset: 3px; }
@media (max-width: 699px) {
	/* the card stacks (1.31.4, owner 2026-10-15: «move the award and the
	   vintage onto a single row, and make the product name its own full width
	   row … same full width applied to the following rows»): the medal and
	   the vintage on the card's first line, then the name, the grapes and the
	   chips across the card's whole width, the actions bar at its foot. The
	   producer page's cards only: the catalogue's own rows keep the medal and
	   the name on one line (owner, 2026-08-27). */
	.whp .whp-list .wh-catalogue-row {
		position: relative;
		display: block;
		margin: 0;
		padding: 14px 14px 12px;
		border-radius: 16px;
		background: #fff;
		box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .34), 0 12px 24px -20px rgba(40, 25, 27, .5);
	}
	.whp .whp-list .wh-catalogue-row + .wh-catalogue-row { margin-top: 10px; border-top: 0; border-radius: 16px; }
	.whp .whp-list .wh-catalogue-row__strip { display: block; }
	/* the first line: the medal, the type (1.31.5, owner: «insert it between
	   award and vintage same height as the award»), the vintage */
	.whp .whp-list .wh-catalogue-row__icons-left { flex-direction: row; align-items: center; gap: 12px; height: 40px; margin: 0 0 10px; }
	.whp .whp-list .wh-catalogue-row__type { display: flex; align-items: center; height: 40px; }
	.whp .whp-list .wh-catalogue-row__type .wh-catalogue-row__icon { width: auto; max-width: 56px; height: 40px; }
	.whp .whp-list .wh-catalogue-row__tag--type { display: none; }
	/* a wine with no medal, no type and no vintage has no first line */
	.whp .whp-list .wh-catalogue-row:not(:has(.wh-catalogue-row__head-vintage)):not(:has(.wh-catalogue-row__type)):has(.wh-catalogue-row__award-slot[aria-hidden="true"]) .wh-catalogue-row__icons-left { display: none; }
	.whp .whp-list .wh-catalogue-row__award-slot { flex-basis: 40px; width: 40px; height: 40px; }
	.whp .whp-list .wh-catalogue-row__award .wh-catalogue-row__icon { width: 32px; height: 32px; }
	.whp .whp-list .wh-catalogue-row__icon { width: 22px; height: 22px; }
	/* the vintage on that line, in the serif, sized to stand beside the medal
	   (owner: «vintage can be resized»; the medal keeps its size); the title
	   keeps its own copy for the text only (the notebook and screen readers
	   read the name whole) */
	.whp .whp-list .wh-catalogue-row__head-vintage {
		display: block;
		font: 700 1.25rem/1 var(--whp-serif);
		letter-spacing: .04em;
		color: var(--whp-gold-dark);
		font-variant-numeric: lining-nums;
		white-space: nowrap;
	}
	.whp .whp-list .wh-catalogue-row__vintage { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	/* the name with the card's whole width, two sizes up, its lines balanced */
	.whp .whp-list .wh-catalogue-row__title { font-size: 1.2rem; line-height: 1.28; text-wrap: balance; }
	.whp .whp-list .wh-catalogue-row__secondary { margin-top: 4px; font-size: .8rem; }
	/* the chips: smaller and closer, so most wines keep them on one line */
	.whp .whp-list .wh-catalogue-row__tags { gap: 5px; margin-top: 8px; }
	.whp .whp-list .wh-catalogue-row__tag { gap: 5px; min-height: 26px; padding: 2px 9px 2px 4px; font-size: .68rem; }
	.whp .whp-list .wh-catalogue-row__tag .wh-catalogue-row__icon { width: 16px; height: 16px; }
	/* two equal columns, whatever each button's own padding; a button alone
	   sits in the middle, as wide as its words («Ricorda questo vino») and at
	   least a half — never stretched over the whole bar (owner, 2026-10-15:
	   «massively oversized») */
	.whp .whp-list .wh-catalogue-row__actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid var(--whp-line);
	}
	.whp .whp-list .wh-catalogue-row__actions > * { box-sizing: border-box; min-width: 0; }
	.whp .whp-list .wh-catalogue-row__actions > :only-child { grid-column: 1 / -1; justify-self: center; width: auto; min-width: calc((100% - 8px) / 2); max-width: 100%; }
	/* 1.31.7 — three in the bar (the note, «Nel diario», a shop): thirds */
	.whp .whp-list .wh-catalogue-row__actions:has(> :nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 700px) {
	.whp .whp-list .wh-catalogue-row:has(> .wh-catalogue-row__actions:not(:empty)) { display: flex; align-items: flex-start; gap: 14px; }
	.whp .whp-list .wh-catalogue-row > .wh-catalogue-row__strip { flex: 1 1 auto; min-width: 0; }
	.whp .whp-list .wh-catalogue-row__actions { flex: 0 0 auto; display: flex; flex-direction: column; gap: 8px; }
	.whp .whp-list .wh-catalogue-row__shop { width: 46px; min-height: 46px; height: 46px; border-radius: 50%; }
	.whp .whp-list .wh-catalogue-row__shop-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (hover: hover) {
	.whp .whp-list .wh-catalogue-row__shop:hover { box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .95); background: rgba(205, 173, 89, .1); }
}

/* the vintages of a miniverticale: equal chips in even rows */
.whp .whp-list .minivertical-annate { display: grid; grid-template-columns: repeat(auto-fit, minmax(58px, 1fr)); gap: 8px; margin-top: 12px; }
.whp .whp-list .minivertical-annate h6 { grid-column: 1 / -1; margin: 0 0 4px; letter-spacing: .3em; }
.whp .whp-list .minivertical-annate a,
.whp .whp-list .minivertical-annate span { display: block; min-height: 44px; padding: 12px 0; font-size: .9rem; line-height: 1.2; text-align: center; }

/* «L'azienda» and «Contatti» */
.whp-text { font: 400 1rem/1.7 var(--whp-serif); color: var(--whp-ink); overflow-wrap: anywhere; }
.whp-text p { margin: 0 0 .9em; }
.whp-text p:last-child { margin-bottom: 0; }
.whp-text--light { color: rgba(244, 239, 228, .92); }
.whp-text.is-clamped {
	max-height: 10.2em;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
}
.whp-more {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	background: none;
	font: 700 .74rem/1 var(--whp-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--whp-gold-dark);
	cursor: pointer;
}
.whp-story .whp-more { color: var(--whp-gold); }
.whp-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 18px 0 0;
}
.whp-about > .whp-h2 + .whp-facts { margin-top: 0; }
.whp-fact {
	min-width: 0;
	padding: 13px 13px 14px;
	border: 1px solid var(--whp-line);
	border-top: 2px solid rgba(205, 173, 89, .7);
	border-radius: 14px;
	background: linear-gradient(180deg, #fff 0%, #fbf6ea 100%);
	box-shadow: 0 10px 20px -16px rgba(0, 0, 0, .35);
}
.whp-fact:last-child:nth-child(odd) { grid-column: 1 / -1; }
.whp-fact dt {
	font: 700 .66rem/1.35 var(--whp-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--whp-muted);
}
.whp-fact dd { margin: 7px 0 0; font: 700 1.04rem/1.3 var(--whp-serif); color: var(--whp-wine); overflow-wrap: anywhere; }
.whp-rows { margin: 0; padding: 0; list-style: none; }
.whp-rows li + li { border-top: 1px solid var(--whp-line); }
.whp-row {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 62px;
	margin: 0 -8px;
	padding: 10px 8px;
	border-radius: 12px;
	color: var(--whp-ink);
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(205, 173, 89, .2);
	transition: background .2s;
}
a.whp-row:hover { background: rgba(205, 173, 89, .1); }
a.whp-row:hover .whp-ico--chevron { transform: translateX(3px); }
.whp-row .whp-ico--chevron { transition: transform .2s; }
.whp-row > .whp-ico:first-child {
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	padding: 10px;
	border-radius: 12px;
	background: linear-gradient(160deg, rgba(205, 173, 89, .3), rgba(205, 173, 89, .12));
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .35);
	color: var(--whp-gold-dark);
}
.whp-row-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 auto; }
.whp-row-label { font: 700 .7rem/1.3 var(--whp-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--whp-muted); }
.whp-row-value { font: 700 .98rem/1.35 var(--whp-serif); color: var(--whp-ink); overflow-wrap: anywhere; }
.whp-row .whp-ico--chevron { width: 18px; height: 18px; flex-basis: 18px; margin-left: auto; color: var(--whp-gold-dark); }

/* the story, the photos, the video */
.whp-story { margin: 8px 4px 0; padding: 14px 4px 6px; }
.whp-photos {
	display: flex;
	gap: 10px;
	margin: 18px -16px 0;
	padding: 0 16px 6px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 16px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.whp-photos::-webkit-scrollbar { display: none; }
.whp-photos li { flex: 0 0 82%; scroll-snap-align: start; }
.whp-photos li:only-child { flex-basis: 100%; }
.whp-photos a { display: block; border-radius: 18px; overflow: hidden; box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .9); }
.whp-photos img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: rgba(244, 239, 228, .08); }
.whp-video {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	margin: 18px 0 0;
	border: 1px solid var(--whp-gold);
	border-radius: 16px;
	font: 700 .8rem/1 var(--whp-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--whp-gold-light);
	text-decoration: none;
}
.whp-video .whp-ico { fill: currentColor; }

/* ------------------------------------------------------ larger screens */
@media (min-width: 600px) {
	.whp-content { padding: 0 24px; }
	.whp-panel { padding: 26px 26px 22px; }
	.whp-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.whp-fact:last-child:nth-child(odd) { grid-column: auto; }
	.whp-photos li { flex-basis: 46%; }
}
@media (min-width: 900px) {
	.whp { padding-bottom: 60px; background-image: url(/core/bg/mwfe-ground-wine.webp), linear-gradient(175deg, #671e26 0%, #4a161d 32%, #2f1a1c 64%, #28191b 100%); }
	.whp-hero { max-width: 980px; margin: 0 auto; padding: 18px 24px 44px; }
	.whp-logo { width: 150px; height: 150px; border-radius: 30px; }
	.whp-bar {
		position: static;
		justify-content: center;
		max-width: 640px;
		margin: 30px auto 0;
		padding: 0;
		background: none;
		border: 0;
		box-shadow: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.whp-bar-btn {
		flex: 0 1 auto;
		flex-direction: row;
		gap: 10px;
		min-width: 176px;
		min-height: 50px;
		padding: 0 22px;
		font-size: .76rem;
		letter-spacing: .1em;
		text-transform: uppercase;
	}
	.whp-bar-btn .whp-ico { width: 20px; height: 20px; }
	.whp-bar-btn:hover { background: rgba(244, 239, 228, .14); }
	.whp-bar-btn.is-primary:hover { background: #d8bb6c; }
	.whp-content {
		display: grid;
		grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
		gap: 0 22px;
		align-items: start;
		max-width: 1180px;
		margin: 0 auto;
	}
	.whp-where { grid-column: 1 / -1; width: 100%; margin: 0 0 22px; }
	.whp-spots { max-width: calc(var(--whp-cols, 1) * 340px + (var(--whp-cols, 1) - 1) * 12px); margin: 0 auto; }
	.whp-wines { grid-column: 1; }
	.whp-side { grid-column: 2; }
	.whp-content:not(:has(> .whp-wines)) > .whp-side { grid-column: 1 / -1; }
	.whp-story { grid-column: 1 / -1; margin: 18px 0 0; }
	.whp-story .whp-text { max-width: 72ch; }
	.whp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.whp-fact:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.whp-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 20px 0 0; padding: 0; overflow: visible; }
	.whp-photos li { flex: none; }
	.whp-video { display: inline-flex; padding: 0 28px; }
}

@media (prefers-reduced-motion: reduce) {
	.whp-bar-btn { transition: none; }
}

/* ------------------------------------------------------------ 1.27.0 — the group page
   /espositori/<group>/ (includes/producer-page.php wh_exhibitors_render_group_page):
   «Dove trovarci» names who sits at each table; one panel per table holds a
   section per company — logo plate, name, region, Enologo, website, what it
   pours. A company's section is the landing point of its own page and of its
   table sign's QR (…/<group>/#<company>): it flashes gold once on arrival. */
.whp-spot-who { display: block; margin-top: 8px; font: 700 .86rem/1.3 var(--whp-serif); color: var(--whp-cream); overflow-wrap: anywhere; }
.whp-spot-who + .whp-spot-who { margin-top: 3px; }
.whp-seat-h { flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.whp-seat-label { font: 700 .7rem/1 var(--whp-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--whp-gold-dark); }
.whp-seat-num { font: 700 1.9rem/1 var(--whp-serif); color: var(--whp-wine); font-variant-numeric: lining-nums; }
.whp-seat-place { font: 700 .92rem/1.2 var(--whp-sans); color: var(--whp-ink); }
.whp-member { padding: 0 0 18px; scroll-margin-top: 16px; }
.whp-member + .whp-member { padding-top: 18px; border-top: 1px solid var(--whp-line); }
.whp-member:last-child { padding-bottom: 0; }
.whp-member-head { display: flex; align-items: center; gap: 14px; margin: 0 0 12px; }
.whp-member-logo { display: grid; place-items: center; flex: 0 0 64px; width: 64px; height: 64px; padding: 6px; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px rgba(205, 173, 89, .45); }
.whp-member-logo img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.whp-member-info { min-width: 0; }
.whp-member-name { margin: 0; font: 700 1.12rem/1.25 var(--whp-serif); color: var(--whp-wine); overflow-wrap: anywhere; }
.whp-member-meta { margin: 3px 0 0; font: 700 .7rem/1.3 var(--whp-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--whp-gold-dark); }
.whp-member-fact { margin: 4px 0 0; font: 500 .84rem/1.4 var(--whp-sans); color: var(--whp-muted); }
.whp-member-fact span { font-weight: 700; }
.whp-member-site { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin-top: 2px; font: 700 .82rem/1 var(--whp-sans); color: var(--whp-gold-dark); text-decoration: none; }
.whp-member-site .whp-ico { width: 16px; height: 16px; flex: 0 0 16px; }
.whp-member:target { animation: whp-member-flash 2.8s ease-out 1; border-radius: 14px; }
@keyframes whp-member-flash {
	0%, 30% { box-shadow: 0 0 0 4px rgba(205, 173, 89, .5); background: rgba(205, 173, 89, .14); }
	100% { box-shadow: 0 0 0 4px rgba(205, 173, 89, 0); background: rgba(205, 173, 89, 0); }
}
@media (min-width: 900px) {
	.whp-seats { grid-column: 1; }
	.whp--group .whp-content > .whp-side { grid-column: 2; }
	.whp-content:not(:has(> .whp-side)) > .whp-seats { grid-column: 1 / -1; width: 100%; max-width: 860px; margin: 0 auto; }
	/* the site header stays on top of a large screen: land below it */
	.whp-member { scroll-margin-top: calc(14vh + 16px); }
}
@media (prefers-reduced-motion: reduce) {
	.whp-member:target { animation: none; background: rgba(205, 173, 89, .12); }
}

/* ------------------------------------------------------------------ share sheet (1.33.0)
 * includes/share.php prints it hidden at the end of the page; producer.js
 * moves it under <body> and opens it. A bottom sheet on a phone, a centred
 * panel from 720px; every word in the middle. Its own colours (it lives
 * outside .whp, where the page's custom properties are).
 */
.whp-sheet {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-align: center;
	-webkit-text-size-adjust: 100%;
}
.whp-sheet[hidden] { display: none; }
.whp-sheet *,
.whp-sheet *::before,
.whp-sheet *::after { box-sizing: border-box; }
.whp-sheet-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(14, 7, 8, .68);
	opacity: 0;
	transition: opacity .28s ease;
}
.whp-sheet-panel {
	position: relative;
	width: 100%;
	max-width: 480px;
	max-height: calc(100% - 24px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 22px 18px calc(18px + env(safe-area-inset-bottom, 0px));
	border-radius: 22px 22px 0 0;
	background: linear-gradient(175deg, #4a161d 0%, #2f1a1c 55%, #28191b 100%);
	box-shadow: 0 -24px 60px -28px rgba(0, 0, 0, .9), inset 0 0 0 1px rgba(205, 173, 89, .32);
	color: #f4efe4;
	transform: translateY(100%);
	transition: transform .34s cubic-bezier(.2, .8, .2, 1);
}
.whp-sheet.is-open .whp-sheet-backdrop { opacity: 1; }
.whp-sheet.is-open .whp-sheet-panel { transform: none; }
.whp-sheet-h {
	margin: 0;
	font: 700 .72rem/1.4 'Raleway', system-ui, -apple-system, 'Segoe UI', sans-serif;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: #cdad59;
}
.whp-sheet-card { margin: 14px 0 0; }
.whp-sheet-card img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 630;
	border-radius: 12px;
	background: #28191b;
	box-shadow: 0 14px 30px -18px rgba(0, 0, 0, .9), 0 0 0 1px rgba(205, 173, 89, .4);
}
.whp-sheet-card figcaption {
	margin: 8px 0 0;
	font: 700 .62rem/1.4 'Raleway', system-ui, -apple-system, 'Segoe UI', sans-serif;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(241, 228, 184, .62);
}
.whp-sheet-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}
.whp-sheet-grid li { display: flex; margin: 0; padding: 0; }
.whp-sheet-grid li::before { content: none; }
/* a lone last way: half the width, in the middle (owner's rule) */
.whp-sheet-grid li:last-child:nth-child(odd) { grid-column: 1 / -1; justify-content: center; }
.whp-sheet-grid li:last-child:nth-child(odd) .whp-sheet-btn { flex: 0 0 calc(50% - 5px); }
.whp-sheet-btn {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid rgba(205, 173, 89, .38);
	border-radius: 14px;
	background: rgba(0, 0, 0, .2);
	color: #f4efe4;
	font: 700 .74rem/1.15 'Raleway', system-ui, -apple-system, 'Segoe UI', sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background .2s, border-color .2s;
}
.whp-sheet-btn .whp-ico { width: 22px; height: 22px; flex: 0 0 22px; }
.whp-sheet-btn--more .whp-ico { color: #cdad59; fill: none; stroke: currentColor; }
.whp-sheet-btn:hover { background: rgba(205, 173, 89, .12); border-color: rgba(205, 173, 89, .7); color: #f4efe4; }
.whp-sheet-btn:active { background: rgba(205, 173, 89, .22); }
.whp-sheet-btn.is-done { background: #2e6b3f; border-color: #2e6b3f; color: #fff; }
.whp-sheet-close {
	display: block;
	width: calc(50% - 5px);
	min-height: 46px;
	margin: 16px auto 0;
	padding: 10px 12px;
	border: 1px solid rgba(205, 173, 89, .5);
	border-radius: 14px;
	background: transparent;
	color: #f1e4b8;
	font: 700 .72rem/1 'Raleway', system-ui, -apple-system, 'Segoe UI', sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.whp-sheet-close:hover,
.whp-sheet-close:active { background: rgba(205, 173, 89, .14); }
.whp-sheet-btn:focus-visible,
.whp-sheet-close:focus-visible { outline: 2px solid #cdad59; outline-offset: 2px; }
@media (min-width: 720px) {
	.whp-sheet { align-items: center; padding: 24px; }
	.whp-sheet-panel {
		max-height: calc(100% - 48px);
		padding: 26px 24px 22px;
		border-radius: 22px;
		opacity: 0;
		transform: translateY(18px);
		transition: transform .3s cubic-bezier(.2, .8, .2, 1), opacity .3s ease;
	}
	.whp-sheet.is-open .whp-sheet-panel { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.whp-sheet-backdrop,
	.whp-sheet-panel { transition: none; }
}
