/*
 * The visitor notebook on the producer page (js/mwf-notebook.js, 2026-10-14):
 *
 *   .mwfn-row     the note button of every wine row, in its actions: the round
 *                 twin of the medal plate (46px, the same hairline; rated, a
 *                 plate like the medal's with the stars), on a phone a
 *                 labelled button in the bar at the foot of the wine's card
 *   .mwfn-sheet   the panel it opens: a sheet from the bottom on phones, a
 *                 framed card in the middle from 900px; dark wine ground,
 *                 gold stars, the note
 *   .mwfn-toast   the one-time notice of what the notebook remembers
 *   .mwfn-bar     the notebook's button in the producer page's bar, with
 *                 how many wines are noted
 *   .mwfn-acc     the account on the notebook page: the gold-topped card that
 *                 asks to save while the notebook lives on the phone only, a
 *                 quiet one below the list once signed in; the consent sheet
 *                 (18+ and the privacy notice) is a .mwfn-sheet--consent
 *   .mwfn-log     «Il mio taccuino» (page-templates/page-taccuino.php): the
 *                 producer page's wine ground and paper panels, the days as
 *                 dividers, each entry with a plate on the left (stars, QR,
 *                 a page) and a round button on the right (edit, open)
 *
 * The page's own tokens live on .whp (wh-exhibitors producer.css); the panel
 * and the notice hang off <body>, so they carry copies. Only transform and
 * opacity animate; nothing moves with reduced motion.
 */

/* The tokens, the sheets, the buttons, the word at the foot, the catalogue's
   star and the guides' sheet: css/mwf-notebook-core.css (2026-10-16), which
   comes first. */

/* ------------------------------------------------------------ row button */
.whp .mwfn-row {
	position: relative;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .45);
	color: var(--whp-gold-dark, #8c6d1f);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: box-shadow .2s, background-color .2s;
}
.whp .mwfn-row svg { width: 20px; height: 20px; }
.whp .mwfn-row.is-rated {
	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);
	color: var(--whp-wine, #671e26);
}
.whp .mwfn-row.is-rated svg { width: 11px; height: 11px; color: var(--whp-gold-dark, #8c6d1f); }
/* remembered without stars or text (a swipe up, «Fatto»): the medal-like
   plate with a gold check */
.whp .mwfn-row.is-kept {
	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);
	color: var(--whp-gold-dark, #8c6d1f);
}
.whp .mwfn-row-n { font: 700 1.02rem/1 var(--whp-serif, Georgia, serif); font-variant-numeric: lining-nums; }
/* a written note: a gold dot on the rim */
.whp .mwfn-row.has-note::after {
	content: '';
	position: absolute;
	top: 3px;
	right: 3px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--whp-gold, #cdad59);
	box-shadow: 0 0 0 2px var(--whp-paper, #fbf8f1);
}
.whp .mwfn-row:focus-visible { outline: 2px solid var(--whp-gold-dark, #8c6d1f); outline-offset: 3px; }
/* the plate is laid out as before; the labelled version waits for a phone */
.whp .mwfn-row-plate { display: contents; }
.whp .mwfn-row-label { display: none; }
/* on a phone, in the wine's actions bar (wh-exhibitors 1.31.0): a labelled
   button — «Ricorda questo vino», or the stars once rated (a gold dot: a note
   too); beside a shop button the two share the bar equally and it says
   «Ricorda», alone it is as wide as its words and in the middle
   (wh-exhibitors sizes the bar's cells) */
@media (max-width: 699px) {
	.whp .wh-catalogue-row__actions .mwfn-row {
		box-sizing: border-box;
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		height: 46px;
		flex-direction: row;
		gap: 8px;
		padding: 0 14px;
		border-radius: 12px;
		background: #fff;
		box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .6);
		color: var(--whp-wine, #671e26);
	}
	.whp .wh-catalogue-row__actions .mwfn-row-plate { display: none; }
	.whp .wh-catalogue-row__actions .mwfn-row-label { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; }
	.whp .wh-catalogue-row__actions .mwfn-row svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--whp-gold-dark, #8c6d1f); }
	.whp .wh-catalogue-row__actions .mwfn-row-t {
		overflow: hidden;
		font: 700 .72rem/1.2 var(--whp-sans, 'Raleway', system-ui, sans-serif);
		letter-spacing: .12em;
		text-transform: uppercase;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.whp .wh-catalogue-row__actions .mwfn-row-t--short,
	.whp .wh-catalogue-row__actions .mwfn-row:not(:only-child) .mwfn-row-t--long { display: none; }
	.whp .wh-catalogue-row__actions .mwfn-row:not(:only-child) .mwfn-row-t--short { display: block; }
	.whp .wh-catalogue-row__actions .mwfn-row.is-rated,
	.whp .wh-catalogue-row__actions .mwfn-row.is-kept { background: linear-gradient(180deg, #fff 0%, #f6efdc 100%); box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .75); color: var(--whp-wine, #671e26); }
	.whp .wh-catalogue-row__actions .mwfn-row-stars { font: 400 1.1rem/1 var(--whp-serif, Georgia, serif); letter-spacing: .16em; color: var(--whp-gold-dark, #8c6d1f); }
	.whp .wh-catalogue-row__actions .mwfn-row.has-note::after { display: none; }
	.whp .wh-catalogue-row__actions .mwfn-row-dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--whp-gold, #cdad59); box-shadow: 0 0 0 2px #fff; }
}
@media (hover: hover) {
	.whp .mwfn-row:hover { box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .95); background-color: rgba(205, 173, 89, .1); }
	.whp .mwfn-row.is-rated:hover,
	.whp .mwfn-row.is-kept:hover { box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .95), 0 6px 14px -8px rgba(0, 0, 0, .5); }
}

/* «Nel diario» (2026-10-15): beside the button of a wine that has a note, to
   its card in «I miei vini» — a round plate like the note's; on a phone a
   labelled half of the wine's bar */
.whp .mwfn-diary {
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .45);
	color: var(--whp-gold-dark, #8c6d1f);
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	transition: box-shadow .2s, background-color .2s;
}
.whp .mwfn-diary svg { flex: 0 0 auto; width: 20px; height: 20px; }
.whp .mwfn-diary-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.whp .mwfn-diary:focus-visible { outline: 2px solid var(--whp-gold-dark, #8c6d1f); outline-offset: 3px; }
@media (max-width: 699px) {
	.whp .wh-catalogue-row__actions .mwfn-diary {
		width: auto;
		min-width: 0;
		padding: 0 14px;
		border-radius: 12px;
		background: #fff;
		box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .6);
		color: var(--whp-wine, #671e26);
	}
	.whp .wh-catalogue-row__actions .mwfn-diary svg { width: 18px; height: 18px; color: var(--whp-gold-dark, #8c6d1f); }
	.whp .wh-catalogue-row__actions .mwfn-diary-t {
		position: static;
		width: auto;
		height: auto;
		min-width: 0;
		clip: auto;
		font: 700 .72rem/1.2 var(--whp-sans, 'Raleway', system-ui, sans-serif);
		letter-spacing: .12em;
		text-transform: uppercase;
		text-overflow: ellipsis;
	}
	/* three in the bar (a shop too): closer, the stars tighter */
	.whp .wh-catalogue-row__actions:has(> :nth-child(3)) > * { padding: 0 8px; gap: 6px; }
	.whp .wh-catalogue-row__actions:has(> :nth-child(3)) .mwfn-row-stars { font-size: .95rem; letter-spacing: .02em; }
}
@media (hover: hover) {
	.whp .mwfn-diary:hover { box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .95); background-color: rgba(205, 173, 89, .1); }
}

.mwfn-stars { margin: 20px 0 0; padding: 0; border: 0; min-width: 0; text-align: center; }
.mwfn-legend,
.mwfn-label {
	display: block;
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	font: 700 .68rem/1.4 var(--mwfn-sans);
	letter-spacing: .2em;
	text-transform: uppercase;
	text-align: center;
	color: rgba(241, 228, 184, .8);
}
.mwfn-star-row { display: flex; justify-content: center; gap: 4px; }
.mwfn-star {
	position: relative;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-star input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}
.mwfn-star svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: var(--mwfn-gold);
	stroke-width: 1.3;
	stroke-linejoin: round;
	transition: transform .15s, fill .15s;
	pointer-events: none;
}
.mwfn-star.is-on svg { fill: var(--mwfn-gold); }
.mwfn-star input:focus-visible + svg { outline: 2px solid var(--mwfn-gold-light); outline-offset: 4px; border-radius: 8px; }
@media (hover: hover) {
	.mwfn-star:hover svg { transform: scale(1.08); }
}
.mwfn-clear {
	display: block;
	min-height: 44px;
	margin: 2px auto 0;
	padding: 10px 12px;
	border: 0;
	background: none;
	font: 600 .78rem/1.2 var(--mwfn-sans);
	letter-spacing: .04em;
	color: rgba(241, 228, 184, .78);
	text-decoration: underline;
	text-decoration-color: rgba(205, 173, 89, .55);
	text-underline-offset: 3px;
	cursor: pointer;
}
.mwfn-clear[hidden] { display: none; }
.mwfn-stars + .mwfn-clear[hidden] + .mwfn-label { margin-top: 22px; }
.mwfn-label { margin-top: 10px; }

.mwfn-note {
	display: block;
	width: 100%;
	min-height: 128px;
	padding: 12px 14px;
	border: 1px solid rgba(205, 173, 89, .45);
	border-radius: 14px;
	background: rgba(255, 255, 255, .06);
	color: var(--mwfn-cream);
	/* 16px: phones zoom into smaller fields */
	font: 400 1rem/1.55 var(--mwfn-serif);
	resize: vertical;
	-webkit-appearance: none;
	appearance: none;
}
.mwfn-note::placeholder { color: rgba(244, 239, 228, .45); }
.mwfn-note:focus { outline: none; border-color: var(--mwfn-gold); box-shadow: 0 0 0 3px rgba(205, 173, 89, .22); }
.mwfn-meta {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	min-height: 1.4em;
	margin-top: 6px;
	font: 500 .74rem/1.4 var(--mwfn-sans);
	color: rgba(244, 239, 228, .6);
}
.mwfn-status { color: var(--mwfn-gold); opacity: 0; transition: opacity .2s; }
.mwfn-status.is-on { opacity: 1; }
.mwfn-status.is-on::before { content: '✓ '; }
.mwfn-count { margin-left: auto; font-variant-numeric: tabular-nums; }
.mwfn-local {
	margin: 14px 0 0;
	font: 500 .78rem/1.5 var(--mwfn-sans);
	text-align: center;
	color: rgba(244, 239, 228, .66);
}
.mwfn-local.is-warn { color: #f3c98b; }

/* the categories under the note (owner, 2026-10-15): eight icons in two rows
   of four, solid gold; one chosen turns white with a glow behind it. Never a
   word on them but the visitor's own name, once given. */
.mwfn-cats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 14px 0 0;
}
.mwfn-cat {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-width: 0;
	min-height: 62px;
	margin: 0;
	padding: 10px 4px;
	border: 0;
	border-radius: 16px;
	background: rgba(205, 173, 89, .08);
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .32);
	color: var(--mwfn-gold);
	font: inherit;
	cursor: pointer;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
	transition: color .25s, background-color .25s, box-shadow .25s;
}
.mwfn-cat-ico { display: block; width: 32px; height: 32px; fill: currentColor; overflow: visible; transition: filter .25s; }
.mwfn-cat[aria-pressed="true"] {
	color: #fff;
	background: radial-gradient(circle at 50% 46%, rgba(241, 228, 184, .48) 0%, rgba(205, 173, 89, .18) 58%, rgba(205, 173, 89, .1) 80%);
	box-shadow: inset 0 0 0 1px rgba(241, 228, 184, .75), 0 0 22px rgba(241, 228, 184, .32);
}
.mwfn-cat[aria-pressed="true"] .mwfn-cat-ico { filter: drop-shadow(0 0 6px rgba(255, 246, 214, .9)); }
.mwfn-cat-name {
	display: none;
	max-width: 100%;
	overflow: hidden;
	font: 600 .64rem/1.2 var(--mwfn-sans);
	letter-spacing: .02em;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mwfn-cat.has-name .mwfn-cat-name { display: block; }
.mwfn-cat:focus-visible { outline: 2px solid var(--mwfn-gold-light); outline-offset: 2px; }
@media (hover: hover) {
	.mwfn-cat:not([aria-pressed="true"]):not(:disabled):hover { box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .7); }
}

/* ------------------------------------------------- the button in the bar */
.whp-bar-btn.mwfn-bar { position: relative; }
.whp-bar-btn.mwfn-bar .mwfn-bar-n {
	position: absolute;
	top: 5px;
	right: calc(50% - 25px);
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--whp-gold, #cdad59);
	box-shadow: 0 0 0 2px rgba(32, 19, 22, .92);
	font: 700 .68rem/20px var(--whp-sans, sans-serif);
	text-align: center;
	color: var(--whp-deep, #28191b);
	overflow: visible;
}
.whp-bar-btn.mwfn-bar .mwfn-bar-n[hidden] { display: none; }

/* ------------------------------------------------------- the notebook page */
.mwfn-log {
	display: block;
	min-height: 70vh;
	padding: 0 0 2.5rem;
	color: var(--mwfn-cream);
	background-color: var(--mwfn-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;
	overflow-x: clip;
}
@media (min-width: 900px) {
	.mwfn-log { background-image: url(/core/bg/mwfe-ground-wine.webp), linear-gradient(175deg, #671e26 0%, #4a161d 32%, #2f1a1c 64%, #28191b 100%); }
}
.mwfn-log-hero { max-width: 44rem; margin: 0 auto; padding: 2.25rem 1.25rem 2rem; text-align: center; }
.mwfn-log-kicker {
	margin: 0;
	font: 700 .7rem/1.5 var(--mwfn-sans);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(241, 228, 184, .72);
}
.mwfn-log-h1 {
	margin: .9rem 0 0;
	font: 700 clamp(2rem, 9vw, 3.2rem)/1.12 var(--mwfn-serif);
	letter-spacing: -.01em;
	color: var(--mwfn-cream);
	text-wrap: balance;
}
.mwfn-log-lead { max-width: 32rem; margin: .9rem auto 0; font: 500 .98rem/1.6 var(--mwfn-sans); color: rgba(244, 239, 228, .84); }
.mwfn-log-stats {
	display: inline-block;
	margin: 1.25rem 0 0;
	padding: .55rem 1.1rem;
	border: 1px solid rgba(205, 173, 89, .45);
	border-radius: 999px;
	background: rgba(244, 239, 228, .06);
	font: 700 .78rem/1.3 var(--mwfn-sans);
	letter-spacing: .06em;
	color: var(--mwfn-gold-light);
}
.mwfn-log-stats[hidden] { display: none; }

.mwfn-log-body { max-width: 46rem; margin: 0 auto; padding: 0 .75rem; }
.mwfn-log-panel {
	margin: 0 0 .9rem;
	padding: 1.25rem 1rem;
	border-radius: 22px;
	background: var(--mwfn-paper);
	color: var(--mwfn-ink);
	box-shadow: 0 26px 50px -32px rgba(0, 0, 0, .85);
}
.mwfn-log-panel[hidden] { display: none; }
@media (min-width: 600px) { .mwfn-log-panel { padding: 1.6rem 1.75rem; } }
.mwfn-log-h2 { margin: 0 0 .6rem; font: 700 1.28rem/1.25 var(--mwfn-serif); color: var(--mwfn-wine); }
.mwfn-log-text { margin: 0; font: 400 1rem/1.65 var(--mwfn-serif); color: var(--mwfn-ink); }
.mwfn-log-nojs { margin: 0; font: 500 .95rem/1.5 var(--mwfn-sans); color: var(--mwfn-muted); text-align: center; }
.mwfn-log-nojs[hidden] { display: none; }

/* the two views and the filters */
.mwfn-log-tools[hidden],
.mwfn-chips[hidden] { display: none; }
.mwfn-seg {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 4px;
	border: 1px solid var(--mwfn-line);
	border-radius: 16px;
	background: #fff;
}
.mwfn-seg-btn {
	min-height: 44px;
	padding: 8px 10px;
	border: 0;
	border-radius: 12px;
	background: none;
	font: 700 .78rem/1.2 var(--mwfn-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mwfn-muted);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-seg-btn[aria-pressed="true"] { background: var(--mwfn-wine); color: var(--mwfn-cream); }
/* three views (2026-10-15: «Pianifica»): on a phone the words keep to one line */
@media (max-width: 420px) { .mwfn-seg-btn { padding: 8px 4px; letter-spacing: .06em; font-size: .72rem; } }
.mwfn-chips { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: .9rem; }
.mwfn-chip {
	min-height: 40px;
	padding: 6px 16px;
	border: 1px solid var(--mwfn-line);
	border-radius: 999px;
	background: none;
	font: 600 .78rem/1.2 var(--mwfn-sans);
	letter-spacing: .03em;
	color: var(--mwfn-ink);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-chip[aria-pressed="true"] { border-color: var(--mwfn-gold); background: var(--mwfn-gold); color: var(--mwfn-ink); }
.mwfn-seg-btn:focus-visible,
.mwfn-chip:focus-visible,
.mwfn-item a:focus-visible,
.mwfn-item-edit:focus-visible,
.mwfn-log-clear:focus-visible,
.mwfn-log .mwfn-btn:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 3px; }
.mwfn-log-list:focus { outline: none; }

/* the days */
.mwfn-day { margin-top: 1.6rem; }
.mwfn-day-h {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font: 700 .72rem/1.35 var(--mwfn-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mwfn-gold-dark);
}
.mwfn-day-h::after { content: ''; flex: 1 1 auto; height: 1px; background: var(--mwfn-line); }
.mwfn-day-rel { color: var(--mwfn-wine); }
.mwfn-log-list > .mwfn-day-list { margin-top: .6rem; }
.mwfn-log-none { margin: 1.5rem 0 .5rem; font: 500 .92rem/1.5 var(--mwfn-sans); text-align: center; color: var(--mwfn-muted); }

/* one entry: a plate left, the text, a round button right — mirrored */
.mwfn-item {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) 46px;
	align-items: start;
	gap: 14px;
	padding: 16px 0;
}
.mwfn-item + .mwfn-item { border-top: 1px solid var(--mwfn-line); }
.mwfn-item-badge,
.mwfn-item-edit,
.mwfn-item-go {
	width: 46px;
	height: 46px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .45);
	color: var(--mwfn-gold-dark);
}
.mwfn-item-badge svg,
.mwfn-item-edit svg,
.mwfn-item-go svg { width: 20px; height: 20px; }
.mwfn-item-badge.is-rated {
	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);
	color: var(--mwfn-wine);
}
.mwfn-item-badge.is-rated svg { width: 11px; height: 11px; color: var(--mwfn-gold-dark); }
.mwfn-item-badge.is-kept {
	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);
	color: var(--mwfn-gold-dark);
}
.mwfn-item-badge .mwfn-row-n { font: 700 1.02rem/1 var(--mwfn-serif); font-variant-numeric: lining-nums; }
.mwfn-item--visit .mwfn-item-badge { color: var(--mwfn-muted); box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .25); }
.mwfn-item-edit,
.mwfn-item-go {
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	transition: box-shadow .2s, background-color .2s;
}
@media (hover: hover) {
	.mwfn-item-edit:hover,
	.mwfn-item-go:hover { box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .95); background-color: rgba(205, 173, 89, .1); }
}
.mwfn-item-meta { margin: 0; font: 500 .78rem/1.45 var(--mwfn-sans); color: var(--mwfn-muted); }
.mwfn-item-meta time { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--mwfn-ink); }
.mwfn-item-meta a,
.mwfn-item-title a {
	color: var(--mwfn-wine);
	text-decoration: underline;
	text-decoration-color: rgba(140, 109, 31, .45);
	text-decoration-style: dotted;
	text-underline-offset: 3px;
}
.mwfn-item-title { margin: 4px 0 0; font: 700 1.04rem/1.36 var(--mwfn-serif); color: var(--mwfn-ink); overflow-wrap: anywhere; }
.mwfn-item-sub { margin: 4px 0 0; font: 500 .84rem/1.4 var(--mwfn-sans); color: var(--mwfn-muted); }
.mwfn-item-rate { margin: 6px 0 0; font: 400 1rem/1 var(--mwfn-serif); letter-spacing: .12em; color: var(--mwfn-gold-dark); }
.mwfn-item-rate.is-none { font: 600 .74rem/1.3 var(--mwfn-sans); letter-spacing: .04em; color: var(--mwfn-muted); }
.mwfn-item-note {
	margin: 10px 0 0;
	padding: 2px 0 2px 12px;
	border-left: 2px solid rgba(205, 173, 89, .6);
	font: 400 1rem/1.6 var(--mwfn-serif);
	color: var(--mwfn-ink);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
.mwfn-item-where {
	margin: 10px 0 0;
	font: 700 .68rem/1.45 var(--mwfn-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mwfn-gold-dark);
}
/* ------------------------------------------- under a finger (log page) */
/* an entry's face slides left over its actions: its main one, «Elimina» */
.mwfn-item.mwfn-swipeable { display: block; position: relative; overflow: hidden; padding: 0; }
.mwfn-item.mwfn-swipeable > .mwfn-face {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) 46px;
	align-items: start;
	gap: 14px;
	padding: 16px 0;
	background: var(--mwfn-paper);
	touch-action: pan-y;
}
.mwfn-wine.mwfn-swipeable { display: block; position: relative; overflow: hidden; padding: 0; }
.mwfn-wine.mwfn-swipeable > .mwfn-face {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	padding: 16px 16px 14px;
	background: #fff;
	touch-action: pan-y;
}
.mwfn-swipe { position: absolute; top: 0; right: 0; bottom: 0; display: flex; }
.mwfn-swipe-btn {
	position: relative;
	overflow: hidden;
	width: 78px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 6px;
	border: 0;
	font: 700 .62rem/1.2 var(--mwfn-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-swipe-btn svg { width: 22px; height: 22px; }
.mwfn-swipe-go { background: var(--mwfn-gold); color: var(--mwfn-ink); }
.mwfn-swipe-del { background: var(--mwfn-wine); color: var(--mwfn-cream); }
.mwfn-swipe-btn:focus-visible { outline: 2px solid var(--mwfn-gold-light); outline-offset: -4px; }
/* the views' switch and the filters: a pill glides to the one chosen */
.mwfn-seg { position: relative; }
.mwfn-seg-btn { position: relative; z-index: 1; overflow: hidden; transition: color .2s; }
.mwfn-seg.has-pill .mwfn-seg-btn[aria-pressed="true"] { background: none; }
.mwfn-seg-pill { position: absolute; top: 4px; bottom: 4px; left: 4px; width: 0; border-radius: 12px; background: var(--mwfn-wine); }
.mwfn-chips { position: relative; }
.mwfn-chip { position: relative; z-index: 1; overflow: hidden; transition: color .2s, border-color .2s; }
.mwfn-chips.has-pill .mwfn-chip[aria-pressed="true"] { background: none; border-color: transparent; }
.mwfn-chip-pill { position: absolute; left: 0; top: 0; width: 0; height: 0; border-radius: 999px; background: var(--mwfn-gold); }
.mwfn-chips[hidden] { display: none; }
/* a tap leaves a gold ring from the finger; nothing is scaled but the ring */
.mwfn-item-edit,
.mwfn-item-go,
.mwfn-wine-producer,
.mwfn-log .mwfn-btn,
.mwfn-log-clear { position: relative; overflow: hidden; }
.mwfn-ripple {
	position: absolute;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(205, 173, 89, .42) 0%, rgba(205, 173, 89, .16) 52%, rgba(205, 173, 89, 0) 70%);
	pointer-events: none;
}

/* what happened with a wine: noted, opened without a note, on the award site */
.mwfn-item-kind { font-weight: 700; color: var(--mwfn-wine); }
.mwfn-item--open .mwfn-item-badge,
.mwfn-item--award .mwfn-item-badge { color: var(--mwfn-wine); }
.mwfn-item--open .mwfn-item-badge { box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .3); }

/* «I miei vini» by category: a round button unfolds the eight icons (on the
   paper: gold on white; chosen, white with its glow on the wine colour) */
.mwfn-catf { margin-top: .9rem; text-align: center; }
.mwfn-catf[hidden] { display: none; }
/* the filter and, as its twin, the order (owner, 2026-10-17): the latest on
   top, pressed = the best rated first; the pair on the page's axis */
.mwfn-catf-row { display: flex; justify-content: center; gap: 14px; }
.mwfn-catf-toggle,
.mwfn-wsort {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--mwfn-line);
	color: var(--mwfn-gold-dark);
	cursor: pointer;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
	transition: background-color .25s, color .25s, box-shadow .25s;
}
.mwfn-catf-toggle svg,
.mwfn-wsort svg { width: 24px; height: 24px; }
.mwfn-catf-toggle[aria-expanded="true"],
.mwfn-catf-toggle.is-on,
.mwfn-wsort[aria-pressed="true"] { background: var(--mwfn-wine); color: var(--mwfn-gold-light); box-shadow: none; }
.mwfn-catf-n {
	position: absolute;
	top: 2px;
	right: 2px;
	display: grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--mwfn-gold);
	font: 700 .66rem/1 var(--mwfn-sans);
	color: var(--mwfn-ink);
}
.mwfn-catf-n[hidden] { display: none; }
.mwfn-catf-panel { overflow: hidden; }
.mwfn-catf-panel[hidden] { display: none; }
.mwfn-cats--filter { margin: 12px 0 0; }
.mwfn-cats--filter .mwfn-cat { background: #fff; box-shadow: inset 0 0 0 1px var(--mwfn-line); color: var(--mwfn-gold-dark); }
.mwfn-cats--filter .mwfn-cat[aria-pressed="true"] {
	background: radial-gradient(circle at 50% 44%, #8a2e39 0%, var(--mwfn-wine) 55%, var(--mwfn-wine-mid) 100%);
	box-shadow: 0 0 0 1px rgba(205, 173, 89, .6), 0 10px 22px -12px rgba(103, 30, 38, .8);
	color: #fff;
}
.mwfn-cats--filter .mwfn-cat:disabled { opacity: .32; cursor: default; }
.mwfn-catf-cell { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mwfn-cat-input {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 36px;
	padding: 6px 8px;
	border: 1px solid var(--mwfn-line);
	border-radius: 10px;
	background: #fff;
	/* 16px: phones zoom into smaller fields */
	font: 500 16px/1.2 var(--mwfn-sans);
	text-align: center;
	color: var(--mwfn-ink);
}
.mwfn-cat-input:focus { outline: none; border-color: var(--mwfn-gold); box-shadow: 0 0 0 3px rgba(205, 173, 89, .22); }
.mwfn-cat-input[hidden] { display: none; }
.mwfn-catf-name {
	min-height: 40px;
	margin: 12px 0 0;
	padding: 6px 14px;
	border: 0;
	border-radius: 999px;
	background: none;
	font: 700 .72rem/1.2 var(--mwfn-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mwfn-wine);
	cursor: pointer;
	overflow: hidden;
	position: relative;
}
.mwfn-catf-name[hidden] { display: none; }
.mwfn-catf-name[aria-pressed="true"] { background: var(--mwfn-gold); color: var(--mwfn-ink); }
.mwfn-catf-toggle:focus-visible,
.mwfn-wsort:focus-visible,
.mwfn-catf-name:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 3px; }
.mwfn-log-none .mwfn-catf-all { flex: none; display: inline-flex; width: auto; margin-top: .8rem; padding: 10px 22px; }
/* a note's categories on its card and in the diary: small, gold */
.mwfn-item-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 0; color: var(--mwfn-gold-dark); }
.mwfn-item-cat { width: 20px; height: 20px; fill: currentColor; }
/* «I miei vini»: the icons at the left, the stars at the right, one row */
.mwfn-wine-line { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.mwfn-wine-line .mwfn-wine-cats { margin: 0; }
.mwfn-wine .mwfn-wine-line .mwfn-item-rate { margin: 0 0 0 auto; text-align: right; }

/* «I miei vini»: a card per wine with a rating or a note */
.mwfn-wines { display: grid; gap: 14px; margin-top: 1rem; }
@media (min-width: 700px) { .mwfn-wines { grid-template-columns: 1fr 1fr; align-items: start; } }
.mwfn-wine {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 16px 16px 14px;
	border-radius: 18px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .45), 0 18px 32px -26px rgba(40, 25, 27, .55);
}
.mwfn-wine-head { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; align-items: start; }
/* the card «Nel diario» opened the page at: a gold ring a moment (nothing scaled) */
.mwfn-wine { transition: box-shadow .6s; }
.mwfn-wine.is-found { box-shadow: inset 0 0 0 2px var(--mwfn-gold), 0 0 0 6px rgba(205, 173, 89, .28), 0 18px 32px -26px rgba(40, 25, 27, .55); }
.mwfn-wine-title { margin: 4px 0 0; font: 700 1.06rem/1.34 var(--mwfn-serif); color: var(--mwfn-ink); overflow-wrap: anywhere; }
.mwfn-wine .mwfn-item-rate { margin-top: 12px; }
/* the note as written, up to six lines here; all of it in «La mia nota» */
.mwfn-wine-note {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	line-clamp: 6;
	overflow: hidden;
}
.mwfn-wine-producer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 20px;
	column-gap: 10px;
	align-items: center;
	margin: 14px 0 0;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--mwfn-paper);
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .3);
	color: var(--mwfn-ink);
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-wine-pname { grid-column: 1; font: 700 .92rem/1.35 var(--mwfn-serif); color: var(--mwfn-wine); overflow-wrap: anywhere; }
.mwfn-wine-pmeta { grid-column: 1; margin-top: 2px; font: 600 .72rem/1.4 var(--mwfn-sans); letter-spacing: .02em; color: var(--mwfn-muted); }
.mwfn-wine-producer svg { grid-column: 2; grid-row: 1 / span 2; width: 18px; height: 18px; color: var(--mwfn-gold-dark); }
.mwfn-wine-actions { display: flex; gap: 10px; margin-top: 12px; }
.mwfn-wine-actions .mwfn-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.mwfn-wine-actions .mwfn-btn--ghost { color: var(--mwfn-wine); border-color: rgba(140, 109, 31, .45); }
.mwfn-wine-actions .mwfn-btn svg { flex: 0 0 auto; width: 15px; height: 15px; }
@media (hover: hover) {
	.mwfn-wine-producer:hover { box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .8); }
	.mwfn-wine-actions .mwfn-btn--ghost:hover { background: rgba(205, 173, 89, .1); }
}
.mwfn-wine-producer:focus-visible,
.mwfn-wine-actions .mwfn-btn:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 3px; }

/* «Percorso» (owner, 2026-10-15): the tables scanned, room by room on the
   Kurhaus plan — its chip first among the diary's filters, a hairline
   between it and the others */
.mwfn-chip[hidden],
.mwfn-chips-sep[hidden] { display: none; }
.mwfn-chips-sep { flex: 0 0 auto; align-self: center; width: 1px; height: 26px; margin: 0 4px; background: rgba(140, 109, 31, .45); }
/* four chips and the hairline on one line on a phone, in German too */
@media (max-width: 420px) {
	.mwfn-chips { gap: 6px; }
	.mwfn-chips .mwfn-chip { padding: 6px 10px; letter-spacing: 0; }
	.mwfn-chips-sep { margin: 0 1px; }
}
@media (max-width: 380px) {
	.mwfn-chips .mwfn-chip { padding: 6px 8px; }
}
.mwfn-route { margin-top: 1.1rem; }
.mwfn-route-lead { max-width: 30rem; margin: 0 auto; font: 500 .86rem/1.5 var(--mwfn-sans); color: var(--mwfn-muted); text-align: center; text-wrap: balance; }
.mwfn-route-days,
.mwfn-route-rooms { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: .9rem; }
/* the days: small, the wine colour when chosen; the rooms: gold, with how many tables */
.mwfn-route-day { min-height: 34px; padding: 4px 14px; font-size: .74rem; }
.mwfn-route-day[aria-pressed="true"] { border-color: var(--mwfn-wine); background: var(--mwfn-wine); color: var(--mwfn-cream); }
.mwfn-route-room { display: inline-flex; align-items: center; gap: 8px; padding-right: 8px; }
.mwfn-route-room-c {
	min-width: 24px;
	height: 24px;
	padding: 0 7px;
	border-radius: 999px;
	background: rgba(205, 173, 89, .2);
	font: 700 .7rem/24px var(--mwfn-sans);
	font-variant-numeric: tabular-nums;
	color: var(--mwfn-gold-dark);
	text-align: center;
}
.mwfn-route-room[aria-pressed="true"] .mwfn-route-room-c { background: var(--mwfn-wine); color: var(--mwfn-cream); }

/* the room on the plan, as the producer pages' tiles draw it */
.mwfn-route-map {
	margin: 1rem 0 0;
	border: 1px solid rgba(205, 173, 89, .55);
	border-radius: 18px;
	overflow: hidden;
	background: #2a1518 radial-gradient(ellipse at 50% 40%, rgba(125, 42, 50, .55), transparent 72%);
	box-shadow: 0 18px 36px -24px rgba(0, 0, 0, .85);
}
.mwfn-route-stage { position: relative; }
.mwfn-route-svg { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; }
.mwfn-route-walls { opacity: .82; }
.mwfn-route-area { fill: rgba(205, 173, 89, .88); fill-rule: evenodd; stroke: #f1e4b8; stroke-width: 1.2px; vector-effect: non-scaling-stroke; }
/* the way: a wine-coloured line on a cream rim, a chevron for the direction */
.mwfn-route-seg-rim { fill: none; stroke: #f1e4b8; stroke-linecap: round; }
.mwfn-route-seg-line { fill: none; stroke: var(--mwfn-wine); stroke-linecap: round; }
.mwfn-route-arrow { fill: none; stroke: var(--mwfn-wine); stroke-linecap: round; stroke-linejoin: round; }
.mwfn-route-stop { cursor: pointer; outline: none; -webkit-tap-highlight-color: transparent; }
.mwfn-route-hit { fill: transparent; }
.mwfn-route-dot { fill: #f1e4b8; stroke: #28191b; stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.mwfn-route-stop:focus-visible .mwfn-route-dot { stroke: #fff; stroke-width: 3px; }
.mwfn-route-tag { filter: drop-shadow(0 1.5px 2.5px rgba(0, 0, 0, .5)); }
.mwfn-route-rim { fill: none; stroke: #cdad59; stroke-width: 4.5px; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.mwfn-route-shield { fill: #f1e4b8; stroke: #28191b; stroke-width: 1.2px; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.mwfn-route-tag text { fill: #28191b; font-family: var(--mwfn-sans); font-weight: 700; letter-spacing: .02em; }
.mwfn-route-stop:focus-visible .mwfn-route-shield { stroke: #fff; stroke-width: 2px; }
/* the last table of the room breathes */
.mwfn-route-halo { fill: #f1e4b8; opacity: .55; transform-box: fill-box; transform-origin: center; animation: mwfn-route-pulse 1.6s ease-out infinite; }
@keyframes mwfn-route-pulse {
	0% { transform: scale(1); opacity: .6; }
	100% { transform: scale(2.6); opacity: 0; }
}
/* empty until «Mostra percorso» */
.mwfn-route-map:not(.is-shown) .mwfn-route-stop,
.mwfn-route-map:not(.is-shown) .mwfn-route-seg { visibility: hidden; opacity: 0; }
.mwfn-route-veil {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: radial-gradient(ellipse at 50% 50%, rgba(40, 25, 27, .5) 0%, rgba(40, 25, 27, 0) 72%);
}
.mwfn-route-veil[hidden] { display: none; }
.mwfn-log .mwfn-route-show {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	border-radius: 999px;
	box-shadow: 0 16px 30px -12px rgba(0, 0, 0, .85), 0 0 0 1px rgba(241, 228, 184, .55);
}
.mwfn-route-show svg { flex: 0 0 auto; width: 18px; height: 18px; }
.mwfn-route-unplaced {
	max-width: 20rem;
	margin: 0;
	padding: 10px 14px;
	border-radius: 12px;
	background: rgba(40, 25, 27, .8);
	font: 600 .8rem/1.45 var(--mwfn-sans);
	color: var(--mwfn-cream);
	text-align: center;
	text-wrap: balance;
}
.mwfn-route-cap {
	margin: 0;
	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(--mwfn-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(244, 239, 228, .82);
}
.mwfn-route-cap b { color: #fff; }

/* a card per table, in the order of the visits: the number large on a wine
   plate, the producer, the sezione and its days, the room, the origin */
.mwfn-route-list { display: grid; gap: 12px; margin: 1rem 0 0; padding: 0; list-style: none; }
.mwfn-route-item { margin: 0; }
.mwfn-tcard {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 14px;
	padding: 14px;
	border-radius: 18px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .45), 0 18px 32px -26px rgba(40, 25, 27, .55);
	scroll-margin: 96px 0;
	transition: box-shadow .6s;
}
.mwfn-tcard.is-found { box-shadow: inset 0 0 0 2px var(--mwfn-gold), 0 0 0 6px rgba(205, 173, 89, .28), 0 18px 32px -26px rgba(40, 25, 27, .55); }
.mwfn-tcard-table {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	align-self: start;
	min-height: 88px;
	padding: 10px 4px;
	border-radius: 14px;
	background: linear-gradient(175deg, var(--mwfn-wine) 0%, var(--mwfn-wine-mid) 100%);
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .6), 0 10px 18px -12px rgba(40, 25, 27, .7);
	text-align: center;
}
.mwfn-tcard-tl { font: 700 .58rem/1.2 var(--mwfn-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--mwfn-gold-light); }
.mwfn-tcard-tn { margin-top: 6px; font: 700 2.1rem/1 var(--mwfn-serif); font-variant-numeric: lining-nums; color: #fff; overflow-wrap: anywhere; }
.mwfn-tcard-tn.is-long { font-size: 1.35rem; }
.mwfn-tcard-table.is-none .mwfn-tcard-tn { color: var(--mwfn-gold-light); }
.mwfn-tcard-body { min-width: 0; }
.mwfn-tcard-name { margin: 3px 0 0; font: 700 1.08rem/1.32 var(--mwfn-serif); color: var(--mwfn-ink); overflow-wrap: anywhere; text-wrap: balance; }
.mwfn-tcard-sez { margin: 7px 0 0; font: 600 .78rem/1.4 var(--mwfn-sans); color: var(--mwfn-ink); }
.mwfn-tcard-sez b { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mwfn-wine); }
.mwfn-tcard-loc { margin: 5px 0 0; font: 700 .8rem/1.4 var(--mwfn-sans); color: var(--mwfn-gold-dark); }
.mwfn-tcard-origin { margin: 4px 0 0; font: 500 .82rem/1.45 var(--mwfn-sans); color: var(--mwfn-muted); }
/* one button: in the middle, never the full width */
.mwfn-tcard-foot { grid-column: 1 / -1; display: flex; justify-content: center; }
.mwfn-log .mwfn-tcard-go {
	flex: 0 1 auto;
	min-width: calc((100% - 10px) / 2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
}
.mwfn-tcard-go svg { flex: 0 0 auto; width: 15px; height: 15px; }
.mwfn-tcard-go:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 3px; }

/* the view: its title, the days, the plan, the cards in the visitor's order */
.mwfn-plan { margin-top: 1.1rem; }
.mwfn-plan-h { margin: 0; font: 700 1.28rem/1.25 var(--mwfn-serif); color: var(--mwfn-wine); text-align: center; text-wrap: balance; }
.mwfn-plan .mwfn-route-lead { margin-top: .5rem; }
.mwfn-plan-none { margin-top: 1rem; text-align: center; }
.mwfn-plan-days { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: .9rem; }
.mwfn-plan-day { display: inline-flex; align-items: center; gap: 8px; padding-right: 8px; }
.mwfn-plan-day[aria-pressed="true"] .mwfn-route-room-c { background: var(--mwfn-wine); color: var(--mwfn-cream); }
.mwfn-plan-map { position: relative; }
.mwfn-plan-svg { aspect-ratio: 16 / 10; }
.mwfn-plan-floors { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 10px 10px 0; }
.mwfn-log .mwfn-plan-fl { min-height: 34px; padding: 4px 14px; border-color: rgba(205, 173, 89, .45); font-size: .74rem; color: var(--mwfn-cream); }
.mwfn-log .mwfn-plan-fl[aria-pressed="true"] { border-color: var(--mwfn-gold); background: var(--mwfn-gold); color: var(--mwfn-ink); }
.mwfn-plan-stair circle { fill: #28191b; stroke: #f1e4b8; stroke-width: 1.4px; vector-effect: non-scaling-stroke; }
.mwfn-plan-stair path { fill: none; stroke: #f1e4b8; stroke-width: 1.4px; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.mwfn-plan-map:not(.is-shown) .mwfn-plan-stair { visibility: hidden; opacity: 0; }
/* the numbers go once the route has been drawn: the dots stay */
.mwfn-plan-map.is-done .mwfn-route-tag { visibility: hidden; opacity: 0; }
.mwfn-plan-cap { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; }
.mwfn-plan-again {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: linear-gradient(180deg, #e2c77d 0%, var(--mwfn-gold) 100%);
	box-shadow: 0 10px 22px -10px rgba(0, 0, 0, .85);
	color: var(--mwfn-ink);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-plan-again[hidden] { display: none; }
.mwfn-plan-again svg { width: 19px; height: 19px; }
.mwfn-plan-again:focus-visible { outline: 2px solid var(--mwfn-gold-light); outline-offset: 3px; }
.mwfn-plan-list { display: grid; gap: 12px; margin: 1rem 0 0; padding: 0; list-style: none; }
.mwfn-plan-item { position: relative; margin: 0; }
.mwfn-pcard { grid-template-columns: 76px minmax(0, 1fr) 40px; }
.mwfn-pcard .mwfn-tcard-table { position: relative; }
.mwfn-pcard-n {
	position: absolute;
	top: -8px;
	left: -8px;
	min-width: 26px;
	height: 26px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--mwfn-gold);
	box-shadow: 0 0 0 2px #fff;
	font: 700 .74rem/26px var(--mwfn-sans);
	font-variant-numeric: tabular-nums;
	color: var(--mwfn-ink);
	text-align: center;
}
.mwfn-pcard-side { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.mwfn-pcard .mwfn-star-btn { width: 26px; height: 26px; margin-top: 4px; color: var(--mwfn-gold-dark); }
.mwfn-pcard-grip {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: rgba(205, 173, 89, .12);
	color: var(--mwfn-gold-dark);
	cursor: grab;
	touch-action: none;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-pcard-grip svg { width: 20px; height: 20px; }
.mwfn-pcard-grip:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 2px; }
.mwfn-plan-item.is-dragging { z-index: 5; }
.mwfn-plan-item.is-dragging .mwfn-pcard { box-shadow: inset 0 0 0 2px var(--mwfn-gold), 0 26px 44px -22px rgba(40, 25, 27, .7); }
.mwfn-plan-item.is-dragging .mwfn-pcard-grip { cursor: grabbing; background: rgba(205, 173, 89, .3); }
.mwfn-pcard-unplaced { margin: 5px 0 0; font: 600 .74rem/1.4 var(--mwfn-sans); font-style: italic; color: var(--mwfn-muted); }
.mwfn-log .mwfn-plan-more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: fit-content;
	min-width: calc((100% - 10px) / 2);
	margin: 1.1rem auto 0;
	border: 1px solid rgba(140, 109, 31, .45);
	background: none;
	color: var(--mwfn-wine);
	text-decoration: none;
}
.mwfn-plan-more svg { flex: 0 0 auto; width: 15px; height: 15px; }
/* the question before a producer's page: its «Sì» is a link */
.mwfn-sheet--ask .mwfn-ask-go { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }

.mwfn-m-card .mwfn-m-bar,
.mwfn-m-item .mwfn-m-bar { background: rgba(40, 25, 27, .42); }
.mwfn-m-card .mwfn-m-bar.is-thin,
.mwfn-m-item .mwfn-m-bar.is-thin { background: rgba(40, 25, 27, .18); }
/* chips with a gold pill gliding under the chosen one */
.mwfn-m-chips { position: relative; display: flex; flex-wrap: nowrap; justify-content: center; gap: 6px; padding: 4px; }
.mwfn-m-pill { position: absolute; left: 0; top: 4px; bottom: 4px; width: 0; border-radius: 999px; background: var(--mwfn-gold); }
/* cards on the page's paper */
.mwfn-m-list { display: grid; gap: 6px; width: 100%; max-width: 280px; }
.mwfn-m-card {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 12px;
	background: #fbf8f1;
	box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .8);
	color: var(--mwfn-ink);
	text-align: left;
}
.mwfn-m-card.is-lift { z-index: 2; box-shadow: inset 0 0 0 2px var(--mwfn-gold), 0 14px 26px -10px rgba(0, 0, 0, .9); }
.mwfn-m-plate { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--mwfn-wine); font: 700 .85rem/1 var(--mwfn-serif); color: #fff; }
.mwfn-m-plate--big { display: flex; flex-direction: column; justify-content: center; gap: 3px; width: 48px; height: 54px; }
.mwfn-m-plate--big i { font: 700 .42rem/1 var(--mwfn-sans); font-style: normal; letter-spacing: .16em; text-transform: uppercase; color: var(--mwfn-gold-light); }
.mwfn-m-plate--big b { font: 700 1.25rem/1 var(--mwfn-serif); }
.mwfn-m-tcard { width: 100%; max-width: 280px; grid-template-columns: auto minmax(0, 1fr); }
.mwfn-m-grip { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: rgba(205, 173, 89, .14); color: var(--mwfn-gold-dark); }
.mwfn-m-grip svg { width: 14px; height: 14px; }
/* a room of the plan with the route */
.mwfn-m-map { display: block; width: 100%; max-width: 300px; height: auto; border: 1px solid rgba(205, 173, 89, .45); border-radius: 12px; background: #2a1518 radial-gradient(ellipse at 50% 40%, rgba(125, 42, 50, .55), transparent 72%); }
.mwfn-m-room { fill: rgba(205, 173, 89, .82); stroke: #f1e4b8; stroke-width: .6; }
.mwfn-m-lines line { fill: none; stroke: #4a161d; stroke-width: 1.8; stroke-linecap: round; }
.mwfn-m-stop circle { fill: #f1e4b8; stroke: #28191b; stroke-width: .8; }
.mwfn-m-tag rect { fill: #f1e4b8; stroke: #cdad59; stroke-width: .8; }
.mwfn-m-tag text { font: 700 6px/1 var(--mwfn-sans); fill: #28191b; }
/* the diary's pieces */
.mwfn-m-dayh { font: 700 .62rem/1 var(--mwfn-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--mwfn-gold); }
.mwfn-m-item { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; padding: 7px 10px; border-radius: 10px; background: #fbf8f1; color: var(--mwfn-ink); text-align: left; }
.mwfn-m-item--wide { width: 100%; max-width: 280px; grid-template-columns: 28px minmax(0, 1fr) 30px; }
.mwfn-m-badge { display: inline-grid; place-items: center; grid-auto-flow: column; gap: 1px; width: 28px; height: 28px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .55); color: var(--mwfn-gold-dark); }
.mwfn-m-badge svg { width: 13px; height: 13px; }
.mwfn-m-badge.is-rated { background: radial-gradient(circle at 50% 35%, #fff 0%, #f6efdc 70%, #efe3c4 100%); color: var(--mwfn-wine); }
.mwfn-m-badge.is-rated svg { width: 8px; height: 8px; color: var(--mwfn-gold-dark); }
.mwfn-m-n { font: 700 .72rem/1 var(--mwfn-serif); }
.mwfn-m-pen { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .55); color: var(--mwfn-gold-dark); transition: box-shadow .3s; }
.mwfn-m-pen svg { width: 13px; height: 13px; }
.mwfn-m-pen.is-on { box-shadow: inset 0 0 0 2px var(--mwfn-gold), 0 0 0 5px rgba(205, 173, 89, .3); }
.mwfn-m-swipe { position: relative; width: 100%; max-width: 280px; height: 46px; border-radius: 10px; overflow: hidden; background: #2a1518; }
.mwfn-m-acts { position: absolute; top: 0; right: 0; bottom: 0; display: flex; width: 46%; }
.mwfn-m-act { flex: 1 1 0; display: grid; place-items: center; font: 700 .56rem/1.2 var(--mwfn-sans); letter-spacing: .08em; text-transform: uppercase; }
.mwfn-m-act.is-gold { background: var(--mwfn-gold); color: var(--mwfn-ink); }
.mwfn-m-act.is-wine { background: #8a2232; color: var(--mwfn-cream); }
.mwfn-m-face { position: absolute; inset: 0; }
.mwfn-m-finger { position: absolute; top: 50%; left: 78%; z-index: 3; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: rgba(241, 228, 184, .88); box-shadow: 0 0 0 6px rgba(241, 228, 184, .24); opacity: 0; }
/* buttons */
.mwfn-m-btns { display: flex; gap: 8px; width: 100%; max-width: 290px; }
.mwfn-m-btn {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 34px;
	padding: 6px 8px;
	border: 1px solid rgba(205, 173, 89, .5);
	border-radius: 9px;
	font: 700 .56rem/1.2 var(--mwfn-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: center;
	color: var(--mwfn-gold-light);
}
.mwfn-m-btn svg { flex: 0 0 auto; width: 10px; height: 10px; }
.mwfn-m-btn.is-gold { border: 0; background: linear-gradient(180deg, #e2c77d 0%, var(--mwfn-gold) 100%); color: var(--mwfn-ink); }
.mwfn-m-btn.is-wide { flex: none; width: 100%; max-width: 290px; }
/* «I miei vini»: a card, the categories */
.mwfn-m-wine { grid-template-columns: 1fr; gap: 8px; width: 100%; max-width: 270px; }
.mwfn-m-winehead { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; }
.mwfn-m-wineline { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mwfn-m-cats { display: flex; gap: 4px; color: var(--mwfn-gold-dark); }
.mwfn-m-cats svg { width: 18px; height: 18px; }
.mwfn-m-stars { display: flex; gap: 2px; color: var(--mwfn-gold-dark); }
.mwfn-m-st svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.mwfn-m-st svg path { fill: none; }
.mwfn-m-st.is-on svg path { fill: currentColor; }
.mwfn-m-note { display: block; height: 22px; border-left: 2px solid rgba(205, 173, 89, .7); background: linear-gradient(rgba(40, 25, 27, .16), rgba(40, 25, 27, .16)) 8px 4px / 80% 5px no-repeat, linear-gradient(rgba(40, 25, 27, .16), rgba(40, 25, 27, .16)) 8px 14px / 55% 5px no-repeat; }
.mwfn-m-catsbox { display: flex; align-items: center; gap: 14px; }
.mwfn-m-toggle { position: relative; display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .6); color: var(--mwfn-gold); }
.mwfn-m-toggle svg { width: 18px; height: 18px; }
.mwfn-m-count.is-badge { position: absolute; top: -5px; right: -5px; background: var(--mwfn-wine); color: var(--mwfn-cream); transition: opacity .2s; }
.mwfn-m-grid { display: grid; grid-template-columns: repeat(4, 32px); gap: 6px; }
.mwfn-m-cell { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: rgba(205, 173, 89, .12); color: var(--mwfn-gold); transition: color .25s, background-color .25s, filter .25s; }
.mwfn-m-cell svg { width: 21px; height: 21px; }
.mwfn-m-cell.is-on { background: rgba(205, 173, 89, .34); color: #fff; filter: drop-shadow(0 0 6px rgba(255, 255, 255, .55)); }
.mwfn-m-prod { grid-template-columns: minmax(0, 1fr) 20px; width: 100%; max-width: 290px; }
.mwfn-m-go { color: var(--mwfn-gold-dark); }
.mwfn-m-go svg { width: 14px; height: 14px; }
/* «I miei vini» shows the festival: a table's QR, the producer page's card
   with «Ricorda questo vino», the note and the gold check of a swipe up */
.mwfn-m-fest { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; max-width: 300px; }
.mwfn-m-qr { position: relative; flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: #fbf8f1; color: var(--mwfn-ink); overflow: hidden; }
.mwfn-m-qr svg { width: 28px; height: 28px; }
.mwfn-m-scan { position: absolute; left: 4px; right: 4px; top: 7px; height: 2px; border-radius: 2px; background: var(--mwfn-gold); box-shadow: 0 0 6px 1px rgba(205, 173, 89, .8); }
.mwfn-m-fest > .mwfn-m-arrow { flex: 0 0 auto; display: inline-grid; place-items: center; color: var(--mwfn-gold); }
.mwfn-m-fest > .mwfn-m-arrow svg { width: 11px; height: 11px; }
.mwfn-m-wcard {
	flex: 0 1 212px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 9px 11px 8px;
	border-radius: 12px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .45), 0 10px 20px -14px rgba(0, 0, 0, .9);
	color: var(--mwfn-ink);
	text-align: left;
}
.mwfn-m-whead { display: flex; align-items: center; gap: 7px; }
.mwfn-m-wglass { display: inline-grid; place-items: center; color: #d9b400; }
.mwfn-m-wglass svg { width: 16px; height: 16px; }
.mwfn-m-vint { font: 700 .82rem/1 var(--mwfn-serif); color: var(--mwfn-gold-dark); }
.mwfn-m-wcard .mwfn-m-bar { background: rgba(40, 25, 27, .5); }
.mwfn-m-wcard .mwfn-m-bar.is-thin { background: rgba(40, 25, 27, .2); }
.mwfn-m-wchips { display: flex; gap: 5px; }
.mwfn-m-wchips i { display: block; width: 44px; height: 11px; border: 1px solid rgba(205, 173, 89, .45); border-radius: 999px; }
.mwfn-m-wchips i + i { width: 52px; }
.mwfn-m-wfoot { display: flex; justify-content: center; padding-top: 7px; border-top: 1px solid rgba(205, 173, 89, .4); }
.mwfn-m-wbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 24px;
	padding: 4px 12px;
	border-radius: 8px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .6);
	font: 700 .5rem/1.2 var(--mwfn-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mwfn-wine);
	white-space: nowrap;
	transition: background-color .2s, box-shadow .2s;
}
.mwfn-m-wbtn svg { flex: 0 0 auto; width: 10px; height: 10px; color: var(--mwfn-gold-dark); }
.mwfn-m-wbtn.is-on { background: #f6ecd0; box-shadow: inset 0 0 0 1.5px var(--mwfn-gold), 0 0 0 4px rgba(205, 173, 89, .28); }
.mwfn-m-nsheet {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	width: 100%;
	max-width: 236px;
	padding: 9px 12px 10px;
	border: 1px solid rgba(205, 173, 89, .35);
	border-radius: 14px;
	background: linear-gradient(175deg, rgba(125, 42, 50, .55), rgba(40, 20, 22, .6));
	overflow: hidden;
}
.mwfn-m-nstars { display: flex; gap: 6px; color: var(--mwfn-gold); }
.mwfn-m-nstar svg { display: block; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; transition: fill .2s; }
.mwfn-m-nstar.is-on svg { fill: currentColor; }
.mwfn-m-nbox { display: block; width: 100%; height: 28px; padding: 6px 8px; border: 1px solid rgba(205, 173, 89, .45); border-radius: 8px; background: rgba(255, 255, 255, .05); }
.mwfn-m-nbox .mwfn-m-bars { gap: 4px; }
.mwfn-m-nbox .mwfn-m-bar { height: 5px; }
.mwfn-m-nbox .mwfn-m-bar.is-thin { height: 4px; }
.mwfn-m-ncats { display: flex; gap: 6px; }
.mwfn-m-ncat { display: grid; place-items: center; width: 26px; height: 24px; border: 1px solid rgba(205, 173, 89, .4); border-radius: 7px; background: rgba(205, 173, 89, .1); color: var(--mwfn-gold); transition: color .25s, background-color .25s, filter .25s; }
.mwfn-m-ncat svg { width: 16px; height: 16px; }
.mwfn-m-ncat.is-on { background: rgba(205, 173, 89, .34); color: #fff; filter: drop-shadow(0 0 5px rgba(255, 255, 255, .55)); }
.mwfn-m-nfoot { display: flex; gap: 6px; width: 100%; }
.mwfn-m-nfoot .mwfn-m-btn { min-height: 22px; padding: 3px 6px; }
/* swiped up: solid gold, a white check, «Salvato» (as the note's own sheet) */
.mwfn-m-nsaved {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	background: var(--mwfn-gold);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45);
	opacity: 0;
	visibility: hidden;
}
.mwfn-m-nsaved svg { width: 38px; height: 38px; fill: none; stroke: #fff; stroke-width: 4.6; stroke-linecap: round; stroke-linejoin: round; }
.mwfn-m-nsaved b { font: 700 .56rem/1 var(--mwfn-sans); letter-spacing: .22em; text-transform: uppercase; color: #fff; }
.mwfn-m-nsheet .mwfn-m-finger { top: 80%; left: 50%; }

/* «Come funziona» under the page's title */
.mwfn-log-helpline { margin: .9rem 0 0; }
.mwfn-log-help {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 40px;
	padding: 6px 16px 6px 7px;
	border: 1px solid rgba(205, 173, 89, .45);
	border-radius: 999px;
	background: rgba(244, 239, 228, .06);
	font: 700 .74rem/1.2 var(--mwfn-sans);
	letter-spacing: .08em;
	color: var(--mwfn-gold-light);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-log-help::before { content: '?'; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--mwfn-gold); font: 700 .82rem/1 var(--mwfn-serif); color: var(--mwfn-ink); }
.mwfn-log-help[hidden] { display: none; }
.mwfn-log-help:focus-visible { outline: 2px solid var(--mwfn-gold-light); outline-offset: 3px; }

/* the empty notebook */
.mwfn-log-empty { padding: .75rem .25rem; text-align: center; }
.mwfn-log-empty[hidden] { display: none; }
.mwfn-log-empty-h { margin: 0; font: 700 1.28rem/1.3 var(--mwfn-serif); color: var(--mwfn-wine); }
.mwfn-log-empty-p { max-width: 30rem; margin: .7rem auto 0; font: 400 1rem/1.6 var(--mwfn-serif); color: var(--mwfn-ink); }
.mwfn-log-go { display: inline-flex; align-items: center; justify-content: center; max-width: 22rem; width: 100%; margin-top: 1.2rem; text-decoration: none; }

/* keeping it: download, send, remember, clear */
.mwfn-log-actions { display: flex; gap: 10px; margin-top: 1rem; }
.mwfn-btn--line { border: 1px solid rgba(140, 109, 31, .55); background: none; color: var(--mwfn-wine); }

/* «Solo su questo telefono» (owner, 2026-10-16): centred like the account's
   card, a picture over it (drawn by GSAP when it comes into view; still, the
   whole picture), with accounts the three things one gives, «Registrati»
   beside the download; signed in «Le tue note», the PDF beside it. The
   settings under it stay when it is away. */
.mwfn-keep-note { text-align: center; }
.mwfn-keep-note[hidden],
.mwfn-keep-art[hidden],
.mwfn-keep-perks[hidden] { display: none; }
.mwfn-keep-note .mwfn-log-text { max-width: 32rem; margin: 0 auto; }
/* two exact halves (a flex share leaves the outlined one its border wider);
   a lone button is a centred half, never the whole row (owner) */
.mwfn-keep-note .mwfn-log-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 26rem; margin: 1.15rem auto 0; }
.mwfn-keep-note .mwfn-log-actions[data-n="1"] > .mwfn-btn { grid-column: 1 / -1; justify-self: center; width: calc((100% - 10px) / 2); }
.mwfn-keep-note:not([hidden]) ~ .mwfn-switch { margin-top: .5rem; padding-top: .7rem; border-top: 1px solid var(--mwfn-line); }
/* the notice away: the settings alone, no empty line above them */
.mwfn-keep-note[hidden] + .mwfn-log-status:empty { min-height: 0; margin: 0; }
/* signed in (owner, 2026-10-18): «Porta con te il taccuino» — the notebook as
   a PDF on a dark row of its own, a gold button across it; then the percorsi's
   file, out and in, as the row's two halves. No switch, no «Cancella» (the
   profile icon's «Impostazioni» has it). */
.mwfn-keep-pdf {
	display: grid;
	justify-items: center;
	gap: .4rem;
	max-width: 26rem; /* the export | import row's width: one axis, one width */
	margin: 1.25rem auto 0;
	padding: 1.45rem 1.3rem 1.3rem;
	border-radius: 1.1rem;
	background-color: var(--mwfn-deep);
	background-image: linear-gradient(170deg, var(--mwfn-wine) 0%, var(--mwfn-wine-mid) 55%, var(--mwfn-deep) 100%);
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .55), 0 .9rem 1.8rem -1.2rem rgba(40, 25, 27, .7);
	color: var(--mwfn-cream);
	text-align: center;
}
.mwfn-keep-pdf[hidden] { display: none; }
.mwfn-keep-pdf-ico { width: 3rem; height: 3rem; fill: none; stroke: var(--mwfn-gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mwfn-keep-pdf-ico .mwfn-keep-pdf-star { fill: var(--mwfn-gold); stroke: none; }
.mwfn-keep-pdf-h { margin: .15rem 0 0; font: 700 1.18rem/1.3 var(--mwfn-serif); color: var(--mwfn-gold-light); text-wrap: balance; }
.mwfn-keep-pdf-p { max-width: 24rem; margin: 0; font: 500 .9rem/1.5 var(--mwfn-sans); color: rgba(244, 239, 228, .84); text-wrap: pretty; }
.mwfn-keep-pdf .mwfn-btn { width: 100%; margin-top: .8rem; }
.mwfn-keep-note[data-kind="in"] .mwfn-log-actions { margin-top: 1.1rem; }
.mwfn-keep-note .mwfn-log-actions .mwfn-keep-import { margin-top: 0; }
.mwfn-log-keep .mwfn-switch[hidden],
.mwfn-log-keep .mwfn-log-clear[hidden] { display: none; }
.mwfn-keep-art svg { display: block; width: 200px; max-width: 100%; height: auto; margin: -.2rem auto .55rem; overflow: visible; }
.mwfn-ka-frame { fill: none; stroke: var(--mwfn-gold-dark); stroke-width: 1.7; stroke-dasharray: 100; stroke-dashoffset: 0; }
.mwfn-ka-phone.is-there .mwfn-ka-frame { stroke: var(--mwfn-gold); }
.mwfn-ka-ear { fill: none; stroke: var(--mwfn-gold-dark); stroke-width: 1.6; stroke-linecap: round; }
.mwfn-ka-line { fill: none; stroke: var(--mwfn-gold); stroke-width: 3.2; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 0; }
.mwfn-ka-star { fill: var(--mwfn-gold); }
.mwfn-ka-dot { fill: var(--mwfn-gold-dark); }
.mwfn-keep-perks { display: grid; justify-content: center; gap: 6px; margin: .9rem auto 0; padding: 0; list-style: none; text-align: left; }
.mwfn-keep-perks li { display: flex; align-items: center; gap: 10px; font: 600 .88rem/1.35 var(--mwfn-sans); color: var(--mwfn-ink); }
.mwfn-keep-tick { flex: 0 0 22px; width: 22px; height: 22px; padding: 3px; border-radius: 50%; background: rgba(205, 173, 89, .18); }
.mwfn-keep-tick path { fill: none; stroke: var(--mwfn-gold-dark); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100; stroke-dashoffset: 0; }
/* «Registrati»: a light crosses it once as it comes in (a colour, no size) */
.mwfn-keep-signup { position: relative; overflow: hidden; isolation: isolate; }
.mwfn-btn-sheen {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	width: 45%;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 252, 240, .75) 50%, rgba(255, 255, 255, 0) 100%);
	transform: translateX(-140%);
	pointer-events: none;
}
.mwfn-btn.is-busy { cursor: progress; opacity: .7; }
.mwfn-log-status { min-height: 1.4em; margin: .6rem 0 0; font: 600 .78rem/1.4 var(--mwfn-sans); text-align: center; color: var(--mwfn-gold-dark); }
.mwfn-switch { position: relative; display: flex; align-items: center; gap: 12px; min-height: 44px; margin-top: .4rem; cursor: pointer; }
.mwfn-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mwfn-switch-track {
	position: relative;
	flex: 0 0 46px;
	width: 46px;
	height: 26px;
	border-radius: 13px;
	background: rgba(122, 102, 69, .35);
	transition: background-color .2s;
}
.mwfn-switch-track::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, .25);
	transition: transform .2s;
}
.mwfn-switch input:checked + .mwfn-switch-track { background: var(--mwfn-gold); }
.mwfn-switch input:checked + .mwfn-switch-track::after { transform: translateX(20px); }
.mwfn-switch input:focus-visible + .mwfn-switch-track { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 3px; }
.mwfn-switch-label { font: 500 .9rem/1.4 var(--mwfn-sans); color: var(--mwfn-ink); }
.mwfn-log-clear {
	display: block;
	min-height: 44px;
	margin: .5rem auto 0;
	padding: 10px 12px;
	border: 0;
	background: none;
	font: 600 .8rem/1.2 var(--mwfn-sans);
	letter-spacing: .04em;
	color: var(--mwfn-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.mwfn-log-clear.is-confirm { color: #a3361c; }

/* ---------------------------------------------------------- the account */
/* scroll-margin: #account lands below the site's fixed header */
.mwfn-acc { border: 1px solid rgba(205, 173, 89, .55); scroll-margin-top: 9rem; }
.mwfn-acc .mwfn-log-status:empty { min-height: 0; margin: 0; }
.mwfn-acc:not(.is-in) { box-shadow: 0 26px 50px -32px rgba(0, 0, 0, .85), inset 0 3px 0 var(--mwfn-gold); }
.mwfn-acc:focus { outline: none; }
.mwfn-acc-out { text-align: center; }
.mwfn-acc-out .mwfn-log-text { max-width: 32rem; margin: 0 auto; }
.mwfn-acc-main { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 22rem; margin: 1.1rem auto 0; }
.mwfn-acc-main[hidden] { display: none; }
.mwfn-log-link {
	display: block;
	min-height: 44px;
	margin: .4rem auto 0;
	padding: 10px 12px;
	border: 0;
	background: none;
	font: 600 .84rem/1.2 var(--mwfn-sans);
	color: var(--mwfn-wine);
	text-decoration: underline;
	text-decoration-color: rgba(140, 109, 31, .55);
	text-underline-offset: 3px;
	cursor: pointer;
}
.mwfn-acc-who { margin: -.2rem 0 .6rem; font: 700 .9rem/1.4 var(--mwfn-sans); color: var(--mwfn-gold-dark); overflow-wrap: anywhere; }
.mwfn-acc-who[hidden] { display: none; }
.mwfn-acc-sync { min-height: 1.4em; margin: .7rem 0 0; font: 600 .78rem/1.4 var(--mwfn-sans); color: var(--mwfn-muted); }
.mwfn-acc-sync:not(:empty)::before { content: '↻ '; color: var(--mwfn-gold-dark); }
.mwfn-log-link:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 3px; border-radius: 6px; }

/* the panel's way to the account */
.mwfn-local-link {
	color: var(--mwfn-gold);
	text-decoration: underline;
	text-decoration-color: rgba(205, 173, 89, .55);
	text-underline-offset: 3px;
	white-space: nowrap;
}
.mwfn-local-link:focus-visible { outline: 2px solid var(--mwfn-gold-light); outline-offset: 2px; border-radius: 4px; }

/* the consent sheet: two yeses before anything is kept */
.mwfn-consent-p { margin: 12px 0 0; font: 400 .98rem/1.6 var(--mwfn-serif); text-align: center; color: rgba(244, 239, 228, .88); }
.mwfn-consent-p.mwfn-consent-rem { margin-top: 8px; font-size: .9rem; color: rgba(244, 239, 228, .74); } /* with an account everything is kept (2026-10-18) */
.mwfn-check {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 16px;
	padding: 12px 14px;
	border: 1px solid rgba(205, 173, 89, .35);
	border-radius: 14px;
	cursor: pointer;
}
.mwfn-check + .mwfn-check { margin-top: 10px; }
.mwfn-check input { position: absolute; top: 14px; left: 16px; width: 22px; height: 22px; margin: 0; opacity: 0; cursor: pointer; }
.mwfn-check-box {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border: 1.5px solid var(--mwfn-gold);
	border-radius: 6px;
	background: rgba(255, 255, 255, .04);
	transition: background-color .15s;
}
.mwfn-check input:checked + .mwfn-check-box {
	background: var(--mwfn-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%232a1d10' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.mwfn-check input:focus-visible + .mwfn-check-box { outline: 2px solid var(--mwfn-gold-light); outline-offset: 3px; }
.mwfn-check-text { font: 500 .92rem/1.5 var(--mwfn-sans); color: var(--mwfn-cream); }
.mwfn-check-text a {
	position: relative;
	z-index: 1;
	color: var(--mwfn-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.mwfn-consent-go[disabled] { opacity: .45; cursor: not-allowed; }

/* ---------------------------------------------------------------- notice */
.mwfn-toast {
	position: fixed;
	left: 12px;
	right: 12px;
	/* above the producer page's bar (56px buttons + padding) */
	bottom: calc(88px + env(safe-area-inset-bottom, 0px));
	z-index: 70;
	padding: 16px 16px 14px;
	border: 1px solid rgba(205, 173, 89, .45);
	border-radius: 16px;
	background: rgba(32, 19, 22, .96);
	box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .8);
	color: var(--mwfn-cream);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .3s, transform .3s;
}
.mwfn-toast.is-on { opacity: 1; transform: none; }
.mwfn-toast-text { margin: 0; font: 500 .9rem/1.5 var(--mwfn-sans); text-align: center; }
.mwfn-toast-actions { margin-top: 12px; }
.mwfn-toast .mwfn-btn { min-height: 46px; }
/* before the festival: «Pianifica il tuo festival» is a link */
.mwfn-toast a.mwfn-btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }
@media (min-width: 900px) {
	.mwfn-toast { left: 50%; right: auto; bottom: 24px; width: min(560px, calc(100vw - 48px)); transform: translate(-50%, 12px); }
	.mwfn-toast.is-on { transform: translate(-50%, 0); }
}

/* «Pianifica»'s schedule (owner, 2026-10-16), for an account: the times on
   the day's cards, two clocks (at a producer's table, per wine at the
   WineHunter Area), the visitor's own stops, the programme's search, the
   link, the calendar. On the paper panel; the sheets are the notebook's dark
   ones. Every word in the middle where it stands alone; a lone button half
   wide in the middle; nothing scales. */
.mwfn-sched-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 1rem 0 0;
	padding: 1.1rem 1rem 1.15rem;
	border-radius: 18px;
	background: linear-gradient(175deg, var(--mwfn-wine) 0%, var(--mwfn-wine-mid) 100%);
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .55), 0 18px 32px -24px rgba(40, 25, 27, .7);
	color: var(--mwfn-cream);
	text-align: center;
}
.mwfn-sched-cta-art { display: inline-flex; width: 38px; height: 38px; color: var(--mwfn-gold); }
.mwfn-sched-cta-art svg { width: 100%; height: 100%; }
.mwfn-sched-cta-h { margin: .45rem 0 0; font: 700 1.08rem/1.3 var(--mwfn-serif); color: var(--mwfn-gold-light); text-wrap: balance; }
.mwfn-sheet--stop .mwfn-sub[hidden] { display: none; }
.mwfn-sched-cta-p { max-width: 30rem; margin: .45rem auto 0; font: 500 .86rem/1.5 var(--mwfn-sans); color: rgba(244, 239, 228, .88); text-wrap: balance; }
.mwfn-log .mwfn-sched-cta-go { flex: 0 1 auto; width: fit-content; min-width: calc((100% - 10px) / 2); margin-top: .9rem; }

.mwfn-sched { margin: 1rem 0 0; text-align: center; }
.mwfn-sched-h { margin: 0; font: 700 .66rem/1.5 var(--mwfn-sans); letter-spacing: .26em; text-transform: uppercase; color: var(--mwfn-gold-dark); }
.mwfn-sched-sum { margin: .2rem 0 0; font: 700 1.2rem/1.3 var(--mwfn-serif); font-variant-numeric: lining-nums tabular-nums; color: var(--mwfn-wine); }
.mwfn-sched-bar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: .8rem; }
.mwfn-log .mwfn-sched-btn,
.mwfn-log .mwfn-sched-add-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 0;
	padding: 8px 8px;
	letter-spacing: .08em;
}
.mwfn-sched-btn svg,
.mwfn-sched-add-btn svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--mwfn-gold-dark); }
/* on a phone the day's three actions: each icon over its word (the producer page's bar) */
@media (max-width: 599px) {
	.mwfn-log .mwfn-sched-bar .mwfn-sched-btn { flex-direction: column; gap: 5px; min-height: 60px; padding: 8px 4px; font-size: .68rem; letter-spacing: .06em; }
}

/* the tools of the day being changed */
.mwfn-sched-tools {
	margin-top: .8rem;
	padding: 1rem .75rem 1rem;
	border-radius: 18px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .45), 0 18px 32px -26px rgba(40, 25, 27, .55);
}
.mwfn-sched-clocks { display: flex; justify-content: center; gap: 22px; }
.mwfn-dial { display: flex; flex: 0 1 152px; flex-direction: column; align-items: center; min-width: 0; }
.mwfn-dial-face {
	position: relative;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	cursor: grab;
	touch-action: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
}
.mwfn-dial-face.is-turning { cursor: grabbing; }
.mwfn-dial-face:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 4px; }
.mwfn-dial-face svg { display: block; width: 100%; height: 100%; overflow: visible; }
.mwfn-dial-ring { fill: #fbf8f1; stroke: rgba(205, 173, 89, .55); stroke-width: 1.2; }
.mwfn-dial-tick { stroke: rgba(140, 109, 31, .45); stroke-width: 1.1; stroke-linecap: round; }
.mwfn-dial-tick.is-big { stroke: rgba(103, 30, 38, .75); stroke-width: 1.8; }
.mwfn-dial-arc { fill: none; stroke: var(--mwfn-gold); stroke-width: 5; stroke-linecap: round; }
.mwfn-dial-knob { fill: #fff; stroke: var(--mwfn-gold-dark); stroke-width: 2; filter: drop-shadow(0 2px 3px rgba(40, 25, 27, .35)); }
.mwfn-dial-v {
	position: absolute;
	left: 14px;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	font: 700 1.05rem/1.15 var(--mwfn-sans);
	font-variant-numeric: tabular-nums;
	text-align: center;
	color: var(--mwfn-wine);
	pointer-events: none;
}
.mwfn-dial-l { margin: .55rem 0 0; font: 700 .7rem/1.3 var(--mwfn-sans); letter-spacing: .16em; text-transform: uppercase; text-align: center; color: var(--mwfn-wine); }
.mwfn-dial-s { margin: .15rem 0 0; font: 500 .74rem/1.3 var(--mwfn-sans); text-align: center; color: var(--mwfn-muted); }
.mwfn-sched-hint { max-width: 26rem; margin: .8rem auto 0; font: 500 .8rem/1.5 var(--mwfn-sans); text-align: center; color: var(--mwfn-muted); text-wrap: balance; }
.mwfn-sched-start { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; margin-top: .9rem; }
.mwfn-sched-start-l { font: 700 .7rem/1 var(--mwfn-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--mwfn-wine); }
.mwfn-sched-time {
	width: 8.25rem;
	min-height: 44px;
	padding: 6px 12px;
	border: 1px solid rgba(140, 109, 31, .55);
	border-radius: 12px;
	background: #fff;
	font: 700 1rem/1 var(--mwfn-sans);
	font-variant-numeric: tabular-nums;
	color: var(--mwfn-ink);
}
.mwfn-sched-time:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 2px; }
.mwfn-sched-open { font: 500 .78rem/1.3 var(--mwfn-sans); color: var(--mwfn-muted); }
.mwfn-sched-add { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 1rem; }
/* five ways to add: the last one alone, half wide, in the middle */
.mwfn-sched-add > :last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc((100% - 8px) / 2); }
.mwfn-sched-foot { display: flex; gap: 10px; margin-top: 1rem; }
.mwfn-log .mwfn-sched-clear.is-confirm { border-color: #b4532f; color: #8f3a1f; }

/* the stops: the times over each card */
.mwfn-sched-list { gap: 10px; }
.mwfn-sched-when {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 34px;
	margin: 0 4px 6px;
}
.mwfn-sched-t { font: 700 .95rem/1.2 var(--mwfn-sans); font-variant-numeric: tabular-nums; letter-spacing: .02em; color: var(--mwfn-wine); }
.mwfn-sched-dur {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 34px;
	padding: 4px 11px;
	border: 1px solid rgba(140, 109, 31, .45);
	border-radius: 999px;
	background: #fff;
	font: 700 .74rem/1 var(--mwfn-sans);
	font-variant-numeric: tabular-nums;
	color: var(--mwfn-gold-dark);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.mwfn-sched-dur svg { width: 15px; height: 15px; }
.mwfn-sched-dur.is-static { border-color: transparent; background: none; padding-right: 2px; cursor: default; }
.mwfn-sched-dur:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 2px; }
button.mwfn-sched-dur { box-shadow: 0 6px 12px -10px rgba(40, 25, 27, .6); }
.mwfn-sched-gap { display: flex; align-items: center; gap: 10px; margin: 2px 0 8px; font: 600 .76rem/1.3 var(--mwfn-sans); color: var(--mwfn-muted); }
.mwfn-sched-gap::before,
.mwfn-sched-gap::after { content: ''; flex: 1 1 0; border-top: 1px dashed rgba(140, 109, 31, .45); }
.mwfn-sched-end { margin: 1rem auto 0; max-width: 28rem; font: 600 .82rem/1.5 var(--mwfn-sans); text-align: center; color: var(--mwfn-gold-dark); text-wrap: balance; }
.mwfn-sched-end.is-over { color: #8f3a1f; }

/* the visitor's own stops: smaller cards, an icon in the producer's plate */
.mwfn-scard {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) 40px;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 16px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .45), 0 14px 26px -24px rgba(40, 25, 27, .55);
}
.mwfn-shared-list .mwfn-scard,
.mwfn-scard:not(:has(.mwfn-pcard-side)) { grid-template-columns: 56px minmax(0, 1fr); }
.mwfn-scard-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(175deg, #fbf3df 0%, #f1e4b8 100%);
	box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .6);
	color: var(--mwfn-wine);
}
.mwfn-sched-stop.is-prog .mwfn-scard-ico { background: linear-gradient(175deg, var(--mwfn-wine) 0%, var(--mwfn-wine-mid) 100%); color: var(--mwfn-gold-light); }
.mwfn-scard-ico svg { width: 26px; height: 26px; }
.mwfn-scard-body { min-width: 0; }
.mwfn-scard-k { margin: 0; font: 700 .62rem/1.4 var(--mwfn-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--mwfn-gold-dark); }
.mwfn-scard-name { margin: 1px 0 0; font: 700 1rem/1.32 var(--mwfn-serif); color: var(--mwfn-ink); overflow-wrap: anywhere; text-wrap: balance; }
.mwfn-scard-sub { margin: 4px 0 0; font: 600 .78rem/1.4 var(--mwfn-sans); color: var(--mwfn-gold-dark); }
.mwfn-scard-note { margin: 6px 0 0; font: 600 .76rem/1.4 var(--mwfn-sans); color: var(--mwfn-muted); }
.mwfn-scard-note.is-late { color: #8f3a1f; }
.mwfn-scard-note.is-mc { font-style: italic; color: var(--mwfn-wine); }
.mwfn-scard-note.is-wh { font-weight: 700; letter-spacing: .04em; color: var(--mwfn-wine); }
.mwfn-scard .mwfn-tcard-foot { grid-column: 1 / -1; }
.mwfn-plan-item.is-dragging .mwfn-scard { box-shadow: inset 0 0 0 2px var(--mwfn-gold), 0 26px 44px -22px rgba(40, 25, 27, .7); }
.mwfn-pcard--ro { grid-template-columns: 76px minmax(0, 1fr); }

/* a stop's minutes, the programme, the link: the notebook's dark sheets */
.mwfn-stop-dial { display: flex; justify-content: center; margin-top: 14px; }
.mwfn-sheet .mwfn-dial-ring { fill: rgba(0, 0, 0, .22); stroke: rgba(205, 173, 89, .55); }
.mwfn-sheet .mwfn-dial-tick { stroke: rgba(241, 228, 184, .4); }
.mwfn-sheet .mwfn-dial-tick.is-big { stroke: rgba(241, 228, 184, .85); }
.mwfn-sheet .mwfn-dial-knob { fill: var(--mwfn-gold); stroke: #fff; }
.mwfn-sheet .mwfn-dial-v { color: #fff; }
.mwfn-sheet .mwfn-dial-l { color: var(--mwfn-gold-light); }
.mwfn-sheet .mwfn-dial-face:focus-visible { outline-color: var(--mwfn-gold-light); }
.mwfn-stop-ends { margin: 10px 0 0; font: 700 1rem/1.3 var(--mwfn-sans); font-variant-numeric: tabular-nums; text-align: center; color: #fff; }
.mwfn-stop-mc { margin: 8px auto 0; max-width: 24rem; font: italic 600 .82rem/1.45 var(--mwfn-sans); text-align: center; color: var(--mwfn-gold-light); }
.mwfn-stop-mc[hidden],
.mwfn-sheet--stop .mwfn-label[hidden],
.mwfn-stop-name[hidden] { display: none; }
.mwfn-sheet--stop .mwfn-label { display: block; margin-top: 14px; text-align: center; }
.mwfn-stop-name,
.mwfn-prog-q,
.mwfn-share-link {
	display: block;
	width: 100%;
	min-height: 48px;
	margin-top: 8px;
	padding: 10px 14px;
	border: 1px solid rgba(205, 173, 89, .5);
	border-radius: 12px;
	background: rgba(0, 0, 0, .25);
	font: 500 1rem/1.3 var(--mwfn-sans);
	color: #fff;
	text-align: center;
}
.mwfn-stop-name::placeholder,
.mwfn-prog-q::placeholder { color: rgba(241, 228, 184, .55); }
.mwfn-stop-name:focus-visible,
.mwfn-prog-q:focus-visible,
.mwfn-share-link:focus-visible { outline: 2px solid var(--mwfn-gold-light); outline-offset: 2px; }
.mwfn-prog-q { margin-top: 14px; text-align: left; }
.mwfn-prog-q[hidden] { display: none; }
.mwfn-prog-list { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.mwfn-prog-item { margin: 0; }
.mwfn-prog-btn {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3px;
	width: 100%;
	padding: 11px 14px;
	border: 1px solid rgba(205, 173, 89, .35);
	border-radius: 14px;
	background: rgba(0, 0, 0, .18);
	color: var(--mwfn-cream);
	text-align: center;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background .2s, border-color .2s;
}
.mwfn-prog-btn:hover { border-color: rgba(205, 173, 89, .75); background: rgba(205, 173, 89, .1); }
.mwfn-prog-btn:active { background: rgba(205, 173, 89, .18); }
.mwfn-prog-btn:focus-visible { outline: 2px solid var(--mwfn-gold-light); outline-offset: 2px; }
.mwfn-prog-btn.is-in { opacity: .55; cursor: default; }
.mwfn-prog-time { font: 700 .78rem/1.2 var(--mwfn-sans); font-variant-numeric: tabular-nums; letter-spacing: .06em; color: var(--mwfn-gold); }
.mwfn-prog-t { font: 700 .96rem/1.35 var(--mwfn-serif); color: #fff; overflow-wrap: anywhere; }
.mwfn-prog-sub { font: 500 .76rem/1.35 var(--mwfn-sans); color: rgba(241, 228, 184, .75); }
.mwfn-prog-in { justify-self: center; margin-top: 3px; padding: 2px 10px; border-radius: 999px; background: var(--mwfn-gold); font: 700 .62rem/1.5 var(--mwfn-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--mwfn-ink); }
.mwfn-prog-none { margin: 14px 0 0; font: 500 .9rem/1.5 var(--mwfn-sans); text-align: center; color: var(--mwfn-gold-light); }
.mwfn-prog-none[hidden] { display: none; }
.mwfn-share-link { font-size: .86rem; text-overflow: ellipsis; }
.mwfn-share-link[hidden] { display: none; }
.mwfn-share-status { min-height: 1.4em; margin: 8px 0 0; font: 600 .82rem/1.4 var(--mwfn-sans); text-align: center; color: var(--mwfn-gold-light); }
.mwfn-share-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.mwfn-share-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc((100% - 10px) / 2); }
.mwfn-sheet .mwfn-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border: 1px solid rgba(205, 173, 89, .45);
	background: rgba(0, 0, 0, .18);
	color: var(--mwfn-cream);
	text-decoration: none;
	letter-spacing: .08em;
}
.mwfn-share-btn svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--mwfn-gold); }
.mwfn-share-btn:disabled,
.mwfn-share-btn.is-off { opacity: .45; pointer-events: none; }
.mwfn-sheet .mwfn-share-stop { display: block; width: calc((100% - 10px) / 2); margin: 14px auto 0; flex: none; }
.mwfn-share-stop[hidden] { display: none; }
.mwfn-sheet .mwfn-share-stop.is-confirm { width: auto; min-width: calc((100% - 10px) / 2); border-color: #e7a487; color: #f6cdb8; }

/* a day shared by its link */
.mwfn-shared-k { margin: 0; font: 700 .66rem/1.5 var(--mwfn-sans); letter-spacing: .26em; text-transform: uppercase; text-align: center; color: var(--mwfn-gold-dark); }
.mwfn-shared .mwfn-plan-h { margin-top: .25rem; }
.mwfn-shared-acts { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 1.2rem; }
.mwfn-shared-q { max-width: 28rem; margin: 0; font: 600 .84rem/1.5 var(--mwfn-sans); text-align: center; color: var(--mwfn-wine); text-wrap: balance; }
.mwfn-shared-q:empty { display: none; }
.mwfn-log .mwfn-shared-copy,
.mwfn-log .mwfn-shared-close { flex: 0 1 auto; width: fit-content; min-width: calc((100% - 10px) / 2); }
@media (hover: hover) {
	.mwfn-sched-dur:not(.is-static):hover { border-color: var(--mwfn-gold-dark); }
}

@media (prefers-reduced-motion: reduce) {
	.mwfn-route-halo { animation: none; opacity: .35; transform: scale(1.8); }
	.mwfn-guide-dot,
	.mwfn-m-star svg,
	.mwfn-m-cell,
	.mwfn-m-pen,
	.mwfn-m-wbtn,
	.mwfn-m-nstar svg,
	.mwfn-m-ncat { transition: none; }
	.mwfn-star-btn svg { transition: none; }
	.mwfn-card,
	.mwfn-back,
	.mwfn-toast,
	.mwfn-star svg,
	.whp .mwfn-row,
	.mwfn-item-edit,
	.mwfn-item-go,
	.mwfn-switch-track,
	.mwfn-switch-track::after,
	.mwfn-check-box,
	.mwfn-prog-btn { transition: none; }
}

/* ------------------------------------------- a day's percorsi; the file */
/* (owner, 2026-10-17) a desktop: the day and, inside its pill, how many
   percorsi it has saved — the button that opens them (a chevron for one
   or none); a phone: a long press on the day, nothing else on the chip */
.mwfn-plan-dayg { display: inline-flex; align-items: stretch; border-radius: 999px; }
.mwfn-plan-dayg > .mwfn-plan-day { border-top-right-radius: 0; border-bottom-right-radius: 0; border-right: 0; padding-right: 12px; }
.mwfn-log .mwfn-plan-plans {
	display: inline-grid;
	place-items: center;
	min-width: 40px;
	height: auto;
	padding: 0 12px 0 10px;
	border: 1px solid var(--mwfn-line);
	border-left: 1px dotted rgba(140, 109, 31, .45);
	border-radius: 0 999px 999px 0;
	background: #fff;
	font: 700 .74rem/1 var(--mwfn-sans);
	font-variant-numeric: tabular-nums;
	color: var(--mwfn-gold-dark);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background-color .2s, color .2s;
}
.mwfn-plan-plans svg { width: 16px; height: 16px; transition: transform .3s; }
.mwfn-plan-plans[aria-expanded="true"] svg { transform: rotate(180deg); }
.mwfn-plan-dayg.is-on .mwfn-plan-plans,
.mwfn-plan-plans[aria-expanded="true"] { border-color: var(--mwfn-gold); background: var(--mwfn-wine); color: var(--mwfn-cream); }
@media (hover: hover) {
	.mwfn-log .mwfn-plan-plans:hover { background: rgba(205, 173, 89, .16); }
	.mwfn-log .mwfn-plan-dayg.is-on .mwfn-plan-plans:hover { background: #7a2530; }
}
.mwfn-plan-plans:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 3px; }
.mwfn-plan-day { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.mwfn-plan-day.is-listing { box-shadow: 0 0 0 3px rgba(205, 173, 89, .35); }

/* the list under the days */
.mwfn-plist {
	overflow: hidden;
	max-width: 32rem;
	margin: .8rem auto 0;
	padding: 14px 14px 12px;
	border-radius: 18px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--mwfn-line), 0 18px 34px -24px rgba(40, 25, 27, .55);
	text-align: left;
}
.mwfn-plist-h { margin: 0 0 8px; font: 700 .66rem/1.5 var(--mwfn-sans); letter-spacing: .2em; text-transform: uppercase; text-align: center; color: var(--mwfn-gold-dark); }
.mwfn-plist-list { margin: 0; padding: 0; list-style: none; }
.mwfn-plist-item { display: flex; align-items: center; gap: 8px; }
.mwfn-plist-item + .mwfn-plist-item { border-top: 1px solid var(--mwfn-line); }
.mwfn-plist-pick {
	flex: 1 1 auto;
	min-width: 0;
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 10px;
	min-height: 56px;
	padding: 8px 4px;
	border: 0;
	border-radius: 12px;
	background: none;
	text-align: left;
	color: var(--mwfn-ink);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
div.mwfn-plist-pick { cursor: default; }
@media (hover: hover) { button.mwfn-plist-pick:hover { background: rgba(205, 173, 89, .1); } }
.mwfn-plist-pick:focus-visible { outline: 2px solid var(--mwfn-gold-dark); outline-offset: 2px; }
.mwfn-plist-ic { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .55); color: var(--mwfn-gold-dark); }
.mwfn-plist-ic svg { width: 18px; height: 18px; }
.mwfn-plist-ic.is-import { background: var(--mwfn-wine); box-shadow: none; color: var(--mwfn-gold-light); }
.mwfn-plist-tx { display: flex; flex-direction: column; min-width: 0; }
.mwfn-plist-name { font: 700 .98rem/1.3 var(--mwfn-serif); overflow-wrap: anywhere; }
.mwfn-plist-meta { font: 500 .76rem/1.4 var(--mwfn-sans); color: var(--mwfn-muted); }
.mwfn-plist-tag { padding: 3px 8px; border-radius: 999px; background: rgba(205, 173, 89, .2); font: 700 .62rem/1.2 var(--mwfn-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--mwfn-gold-dark); white-space: nowrap; }
.mwfn-plist-ck { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--mwfn-gold); color: var(--mwfn-ink); }
.mwfn-plist-ck svg { width: 14px; height: 14px; }
.mwfn-plist-item.is-current .mwfn-plist-name { color: var(--mwfn-wine); }
.mwfn-plist-item.is-new .mwfn-plist-pick { background: rgba(205, 173, 89, .16); }
.mwfn-plist-item.is-lock .mwfn-plist-ic { box-shadow: inset 0 0 0 1px rgba(140, 109, 31, .35); color: var(--mwfn-muted); }
.mwfn-plist-item.is-lock .mwfn-plist-name { font-family: var(--mwfn-sans); font-size: .86rem; font-weight: 700; }
.mwfn-log .mwfn-plist-act { flex: 0 0 auto; min-height: 40px; padding: 8px 14px; border-radius: 12px; font-size: .66rem; letter-spacing: .1em; }

/* «Esporta» and «Importa»: halves, each its icon and word */
.mwfn-xfer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 26rem; margin: 1.1rem auto 0; }
.mwfn-xfer--list { max-width: none; margin-top: .7rem; padding-top: .7rem; border-top: 1px solid var(--mwfn-line); }
.mwfn-log .mwfn-xfer .mwfn-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 8px 10px; letter-spacing: .08em; }
.mwfn-xfer .mwfn-btn svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--mwfn-gold-dark); }
.mwfn-plan-import { margin-top: .8rem; }
.mwfn-keep-import[hidden] { display: none; }
.mwfn-keep-note .mwfn-keep-import { margin-top: .5rem; }
.mwfn-file-in { display: none; }

/* «Salva»: a gold dot while the day differs from the percorso it came from */
.mwfn-sched-btn--save { position: relative; }
.mwfn-sched-btn--save.is-changed::after { content: ""; position: absolute; top: 7px; right: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--mwfn-gold); box-shadow: 0 0 0 2px var(--mwfn-paper); }
.mwfn-mine-import { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-left: 8px; vertical-align: -4px; border-radius: 50%; background: var(--mwfn-wine); color: var(--mwfn-gold-light); }
.mwfn-mine-import svg { width: 14px; height: 14px; }

/* the export's sheet: the account first, then the day (an account: its percorsi) */
.mwfn-ex-body { margin-top: 6px; }
.mwfn-ex-body .mwfn-sub { margin-top: 10px; text-wrap: pretty; }
.mwfn-ex-offer { color: var(--mwfn-cream); font-size: .9rem; }
.mwfn-ex-offer + .mwfn-sub { padding-top: 10px; border-top: 1px solid rgba(205, 173, 89, .25); }
.mwfn-ex-label { margin: 16px 0 0; font: 700 .64rem/1.5 var(--mwfn-sans); letter-spacing: .2em; text-transform: uppercase; text-align: center; color: var(--mwfn-gold); }
.mwfn-ex-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }
.mwfn-sheet .mwfn-ex-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 8px 6px 14px; border: 1px solid rgba(205, 173, 89, .45); border-radius: 999px; background: none; font: 600 .78rem/1.2 var(--mwfn-sans); color: var(--mwfn-cream); cursor: pointer; }
.mwfn-sheet .mwfn-ex-chip .mwfn-route-room-c { background: rgba(205, 173, 89, .22); color: var(--mwfn-gold-light); }
.mwfn-sheet .mwfn-ex-chip[aria-checked="true"] { border-color: var(--mwfn-gold); background: linear-gradient(180deg, #e2c77d 0%, var(--mwfn-gold) 100%); color: var(--mwfn-ink); }
.mwfn-sheet .mwfn-ex-chip[aria-checked="true"] .mwfn-route-room-c { background: var(--mwfn-wine); color: var(--mwfn-cream); }
.mwfn-ex-chip:focus-visible { outline: 2px solid var(--mwfn-gold-light); outline-offset: 3px; }
.mwfn-ex-pick { display: grid; gap: 12px; max-height: 46vh; margin-top: 14px; overflow-y: auto; overscroll-behavior: contain; }
.mwfn-ex-dayh { margin: 0 0 4px; font: 700 .64rem/1.5 var(--mwfn-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--mwfn-gold); }
.mwfn-ex-opt { position: relative; display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 6px 10px; border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(205, 173, 89, .3); cursor: pointer; }
.mwfn-ex-opt + .mwfn-ex-opt { margin-top: 6px; }
.mwfn-ex-cb { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mwfn-ex-box { flex: 0 0 auto; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; box-shadow: inset 0 0 0 1.5px rgba(205, 173, 89, .7); color: transparent; }
.mwfn-ex-box svg { width: 15px; height: 15px; }
.mwfn-ex-cb:checked + .mwfn-ex-box { background: var(--mwfn-gold); box-shadow: none; color: var(--mwfn-ink); }
.mwfn-ex-cb:focus-visible + .mwfn-ex-box { outline: 2px solid var(--mwfn-gold-light); outline-offset: 3px; }
.mwfn-ex-tx { flex: 1 1 auto; display: flex; flex-direction: column; min-width: 0; text-align: left; }
.mwfn-ex-name { font: 700 .95rem/1.3 var(--mwfn-serif); color: var(--mwfn-cream); overflow-wrap: anywhere; }
.mwfn-ex-meta { font: 500 .74rem/1.4 var(--mwfn-sans); color: rgba(244, 239, 228, .7); }
.mwfn-ex-ic { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(205, 173, 89, .2); color: var(--mwfn-gold-light); }
.mwfn-ex-ic svg { width: 15px; height: 15px; }
/* two exact halves (a flex row leaves the bordered one wider); one alone: a centred half */
.mwfn-sheet--export .mwfn-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mwfn-sheet--export .mwfn-actions[data-n="1"] > .mwfn-btn { grid-column: 1 / -1; justify-self: center; width: calc((100% - 10px) / 2); }
.mwfn-ex-go:disabled { opacity: .45; cursor: default; }
@media (prefers-reduced-motion: reduce) { .mwfn-plan-plans svg { transition: none; } }

/* «Condividi» (owner, 2026-10-17): the day as the notebook's file first, the live link under it;
   a lone button there and under the export's account offer: a centred half */
.mwfn-share-file { margin-top: 8px; padding-bottom: 14px; border-bottom: 1px solid rgba(205, 173, 89, .25); }
.mwfn-share-link-h { margin-top: 14px; }
.mwfn-share-file-act,
.mwfn-ex-offer-act { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
.mwfn-share-file-act > .mwfn-btn,
.mwfn-ex-offer-act > .mwfn-btn { grid-column: 1 / -1; justify-self: center; width: calc((100% - 10px) / 2); }
.mwfn-share-filebtn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.mwfn-share-filebtn svg { flex: 0 0 auto; width: 18px; height: 18px; }
.mwfn-ex-offer-act + .mwfn-sub { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(205, 173, 89, .25); }
.mwfn-share-file-p { margin: 6px 0 0; font: 500 .84rem/1.45 var(--mwfn-sans); text-align: center; color: rgba(244, 239, 228, .72); }
.mwfn-share-file-status { min-height: 1.2em; margin: 8px 0 0; font: 600 .8rem/1.4 var(--mwfn-sans); text-align: center; color: var(--mwfn-gold-light); }
.mwfn-share-file-status:empty { display: none; }
