/* =====================================================================
   CULINARIA 2026 — page-templates/culinaria.php (2026-10-09)
   The page's own style on the teal ground of custom-css/mwf.css
   (.mwfe-culinaria sets the tokens; mwf.css stays frozen). Scoped to
   .mwfe-culinaria, rem only. Desktop first: the field of photographs
   behind the hero, the three-row stream, the held showcooking stage, the
   hover peeks. Phones: a mosaic, one slow row, everything stacked.
   ===================================================================== */

.mwfe-culinaria.cul {
	--cul-gold: var(--mwfe-brass, #cdad59);
	--cul-gold-soft: rgba(205, 173, 89, .55);
	--cul-line: rgba(205, 173, 89, .26);
	--cul-cream: var(--mwfe-cream, #f4efe4);
	--cul-dim: var(--mwfe-cream-dim, #d3c6b4);
	--cul-ink: 16, 71, 72;
	--cul-deep: var(--mwfe-bg-deep, #104748);
	--cul-radius: 1.1rem;
	--cul-maxw: 86rem;
}

/* ------------------------------------------------------------ words */
.cul .cul-kicker {
	font-family: var(--mwfe-sans);
	font-size: .74rem;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--cul-gold);
	margin: 0 0 1rem;
}
.cul .cul-h2 {
	font-family: var(--mwfe-serif);
	font-weight: 500;
	font-size: clamp(2.5rem, 4.8vw, 4.4rem);
	line-height: 1.02;
	letter-spacing: -.012em;
	color: var(--cul-cream);
	margin: 0 0 .9rem;
}
.cul .cul-h2 em, .cul .cul-h3 em, .cul .cul-title em { font-style: italic; font-weight: 400; color: var(--cul-gold); }
/* the design system centres headings; this page reads from the left, the stream's statement excepted */
.cul .cul-h2, .cul .cul-h3, .cul .cul-sub, .cul .cul-prose, .cul .cul-families-title { text-align: left; }
.cul .cul-stream-head .cul-h2, .cul .cul-stream-head .cul-kicker, .cul .cul-stream-lead { text-align: center; }
.cul .cul-h2--big { font-size: clamp(3rem, 6.4vw, 6.2rem); line-height: .98; }
.cul .cul-h3 {
	font-family: var(--mwfe-serif);
	font-weight: 500;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem);
	line-height: 1.1;
	color: var(--cul-cream);
	margin: 0 0 1.1rem;
}
.cul .cul-sub {
	font-family: var(--mwfe-serif);
	font-style: italic;
	font-size: clamp(1.15rem, 1.6vw, 1.45rem);
	line-height: 1.4;
	color: var(--cul-dim);
	margin: 0;
	max-width: 46rem;
}
.cul .cul-prose p {
	font-family: var(--mwfe-serif);
	font-size: 1.12rem;
	line-height: 1.7;
	color: var(--cul-dim);
	margin: 0 0 1rem;
}
.cul .cul-prose p:last-child { margin-bottom: 0; }
.cul .cul-prose strong { color: var(--cul-cream); font-weight: 600; }
.cul .cul-btn {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	font-family: var(--mwfe-sans);
	font-size: .76rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--cul-cream);
	text-decoration: none;
	border: 1px solid var(--cul-gold-soft);
	border-radius: .6rem;
	padding: .95rem 1.4rem;
	transition: background-color .4s ease, color .4s ease, border-color .4s ease;
}
.cul .cul-btn:hover, .cul .cul-btn:focus-visible { background: var(--cul-gold); color: #0e3637; border-color: var(--cul-gold); }
.cul .cul-btn .mwfe-arrow { transition: transform .4s ease; }
.cul .cul-btn:hover .mwfe-arrow { transform: translateX(.3rem); }

/* ------------------------------------------------------------- hero */
.cul .cul-hero {
	position: relative;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: clip;
	isolation: isolate;
	color: var(--cul-cream);
}
/* the wall: five straight columns edge to edge, each a vertical loop that
   glides at its own pace (js); the words sit on a veil at the lower left */
.cul .cul-wall {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem;
	padding: 0 1rem;
	will-change: transform;
}
.cul .cul-col { position: relative; overflow: hidden; height: 100%; }
.cul .cul-col-track {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	will-change: transform;
}
.cul .cul-col:nth-child(2n) .cul-col-track { margin-top: -6rem; }
.cul .cul-col .cul-tile { flex: none; opacity: .88; box-shadow: 0 1rem 2rem -1.2rem rgba(0, 0, 0, .7); }
.cul .cul-tile {
	margin: 0;
	border-radius: var(--cul-radius);
	overflow: hidden;
	background: rgba(0, 0, 0, .2);
	box-shadow: 0 1.8rem 3rem -1.6rem rgba(0, 0, 0, .75);
}
.cul .cul-tile img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.cul .cul-wall-veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, var(--cul-deep) 0%, rgba(var(--cul-ink), .9) 14%, rgba(var(--cul-ink), .5) 40%, rgba(var(--cul-ink), .22) 66%, rgba(var(--cul-ink), .34) 100%),
		linear-gradient(100deg, rgba(var(--cul-ink), .94) 0%, rgba(var(--cul-ink), .72) 34%, rgba(var(--cul-ink), .28) 58%, rgba(var(--cul-ink), .04) 80%, rgba(var(--cul-ink), 0) 100%);
	pointer-events: none;
}
.cul .cul-hero-inner {
	position: relative;
	width: min(100%, var(--mwfe-maxw));
	margin: 0 auto;
	padding: calc(var(--mwfe-header-h) + 2rem) var(--mwfe-gutter) clamp(3rem, 8vh, 5.5rem);
	text-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 1rem 3rem rgba(0, 0, 0, .35);
}
.cul .cul-title {
	font-family: var(--mwfe-serif);
	font-weight: 500;
	font-size: clamp(4rem, 11.5vw, 10.5rem);
	line-height: .9;
	letter-spacing: -.025em;
	margin: 0 0 1.2rem;
	color: var(--cul-cream);
}
.cul .cul-title, .cul .cul-tag, .cul .cul-kicker { text-align: left; }
.cul .cul-title::after {
	content: "";
	display: block;
	width: 6rem;
	height: 2px;
	margin-top: 1.4rem;
	background: linear-gradient(90deg, var(--cul-gold), transparent);
}
.cul .cul-tag {
	font-family: var(--mwfe-sans);
	font-size: .8rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--cul-cream);
	margin: 0 0 1.4rem;
}
.cul .cul-tag i { font-family: var(--mwfe-serif); font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1.25rem; color: var(--cul-gold); margin-left: .5rem; }
.cul .cul-chips { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 1.8rem; }
.cul .cul-chip {
	font-family: var(--mwfe-sans);
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--cul-cream);
	background: rgba(var(--cul-ink), .55);
	border: 1px solid var(--cul-line);
	border-radius: .55rem;
	padding: .55rem .9rem;
	text-shadow: none;
	backdrop-filter: blur(6px);
}
.cul .cul-lead { max-width: 44rem; }
.cul .cul-lead p { font-family: var(--mwfe-serif); font-size: 1.12rem; line-height: 1.65; color: var(--cul-dim); margin: 0 0 .8rem; }
.cul .cul-lead p:last-child { margin: 0; }
.cul .cul-mosaic { display: none; }

/* ----------------------------------------------------------- stream */
.cul .cul-stream {
	position: relative;
	padding: clamp(4rem, 9vh, 7rem) 0 clamp(5rem, 11vh, 8rem);
	overflow: clip;
}
.cul .cul-stream-head {
	position: relative;
	z-index: 2;
	text-align: center;
	width: min(100%, 62rem);
	margin: 0 auto clamp(2.5rem, 6vh, 4.5rem);
	padding: 0 var(--mwfe-gutter);
}
.cul .cul-stream-lead { font-family: var(--mwfe-serif); font-style: italic; font-size: 1.25rem; color: var(--cul-dim); margin: 0; }
.cul .cul-stream-rows {
	display: grid;
	gap: 1.3rem;
	transform: rotate(-3deg) scale(1.08);
	transform-origin: 50% 50%;
}
.cul .cul-stream-row {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.cul .cul-stream-track {
	display: flex;
	gap: 1.3rem;
	width: max-content;
	will-change: transform;
}
.cul .cul-stream-track .cul-tile { width: clamp(13rem, 17vw, 19rem); flex: none; }
.cul .cul-stream-row:nth-child(2) .cul-stream-track { padding-left: 7rem; }

/* --------------------------------------------------------- sections */
.cul .cul-main { position: relative; }
.cul .cul-sec {
	position: relative;
	width: min(100%, var(--cul-maxw));
	margin: 0 auto;
	padding: clamp(3.5rem, 8vh, 6.5rem) var(--mwfe-gutter);
}
.cul .cul-sec + .cul-sec::before {
	content: "";
	position: absolute;
	left: var(--mwfe-gutter);
	right: var(--mwfe-gutter);
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--cul-line), transparent 70%);
}
.cul .cul-sec-head {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 2rem;
	align-items: end;
	margin: 0 0 clamp(2rem, 5vh, 3.5rem);
}
.cul .cul-n {
	grid-row: 1 / span 2;
	font-family: var(--mwfe-serif);
	font-size: clamp(5rem, 9vw, 8.5rem);
	line-height: .8;
	color: transparent;
	-webkit-text-stroke: 1px var(--cul-gold-soft);
	letter-spacing: -.04em;
	align-self: start;
	user-select: none;
}
.cul .cul-sec-head .cul-h2 { grid-column: 2; }
.cul .cul-sec-head .cul-sub { grid-column: 2; }

.cul .cul-cols { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.cul .cul-figures { display: grid; grid-template-columns: 1fr 1fr; }
.cul .cul-figure {
	padding: 1.3rem 1.2rem 1.4rem;
	border-top: 1px solid var(--cul-line);
	border-left: 1px solid var(--cul-line);
}
.cul .cul-figure:nth-child(2n) { border-right: 1px solid var(--cul-line); }
.cul .cul-figure:nth-child(n+3) { border-bottom: 1px solid var(--cul-line); }
.cul .cul-figure-n {
	display: block;
	font-family: var(--mwfe-serif);
	font-size: clamp(2.8rem, 4vw, 4.2rem);
	line-height: 1;
	color: var(--cul-gold);
	font-variant-numeric: lining-nums;
}
.cul .cul-figure-l {
	display: block;
	margin-top: .5rem;
	font-family: var(--mwfe-sans);
	font-size: .7rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--cul-dim);
}

/* the product families: words, a photograph under the pointer */
.cul .cul-families { position: relative; margin-top: clamp(2.5rem, 6vh, 4.5rem); }
.cul .cul-families-title {
	font-family: var(--mwfe-sans);
	font-size: .74rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--cul-gold);
	margin: 0 0 1.2rem;
}
.cul .cul-families-hint { color: var(--cul-dim); letter-spacing: .1em; text-transform: none; font-style: italic; font-family: var(--mwfe-serif); font-size: .95rem; margin-left: .8rem; }
.cul .cul-words { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; }
.cul .cul-word {
	font-family: var(--mwfe-serif);
	font-size: clamp(1.35rem, 1.9vw, 1.8rem);
	line-height: 1.5;
	color: var(--cul-cream);
	padding: .1rem 0;
	border-bottom: 1px dashed var(--cul-line);
	transition: color .5s ease, border-color .5s ease;
	cursor: default;
}
.cul .cul-word.is-hot { color: var(--cul-gold); border-color: var(--cul-gold); }
.cul .cul-word-img { display: none; }
.cul .cul-peek {
	position: absolute;
	top: 0;
	left: 0;
	width: 17rem;
	border-radius: var(--cul-radius);
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 6;
	box-shadow: 0 2rem 3.5rem -1.5rem rgba(0, 0, 0, .8);
	transform: translate(-9999px, -9999px);
}
.cul .cul-peek img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

/* ------------------------------------------------------- showcooking */
/* compact: the words beside a close grid of six, nothing pinned (owner, 2026-10-09:
   the held stage "keeps users stuck", "lots of empty space") */
.cul .cul-cook { padding-top: clamp(2.5rem, 5vh, 4rem); padding-bottom: clamp(2.5rem, 5vh, 4rem); }
.cul .cul-cook .cul-sec-head { margin-bottom: clamp(1.4rem, 3vh, 2.2rem); }
.cul .cul-cook-row {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr);
	gap: clamp(1.6rem, 3vw, 3rem);
	align-items: center;
}
.cul .cul-cook-text { display: grid; gap: 1.4rem; justify-items: start; }
.cul .cul-cook-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .8rem;
}
.cul .cul-cook-grid .cul-cook-card:nth-child(3n+2) { transform: translateY(1.2rem); }
.cul .cul-cook-card {
	position: relative;
	margin: 0;
	border-radius: .9rem;
	overflow: hidden;
	background: rgba(0, 0, 0, .2);
	box-shadow: 0 1.2rem 2.4rem -1.4rem rgba(0, 0, 0, .75);
}
.cul .cul-cook-card img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform 1.4s cubic-bezier(.2, .7, .2, 1);
}
.cul .cul-cook-card:hover img { transform: scale(1.05); }
.cul .cul-cook-card figcaption {
	position: absolute;
	left: .7rem;
	bottom: .6rem;
	right: .7rem;
	font-family: var(--mwfe-serif);
	font-style: italic;
	font-size: .98rem;
	line-height: 1.2;
	color: var(--cul-cream);
	background: rgba(var(--cul-ink), .66);
	border: 1px solid var(--cul-line);
	border-radius: .5rem;
	padding: .35rem .65rem;
	backdrop-filter: blur(6px);
	width: fit-content;
	max-width: calc(100% - 1.4rem);
}

/* --------------------------------------------- consorzi & territori */
.cul .cul-twin { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); }
/* four photographs between the two columns and the corners, lightly staggered */
.cul .cul-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; margin-top: clamp(2.5rem, 6vh, 4rem); }
.cul .cul-strip .cul-tile:nth-child(2n) { transform: translateY(1.4rem); }
.cul .cul-corners { margin-top: clamp(3rem, 7vh, 5rem); }
.cul .cul-corners-title { margin-bottom: 1.4rem; }
.cul .cul-corner-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
.cul .cul-corner {
	display: grid;
	grid-template-columns: 11rem 1fr;
	gap: 1.3rem;
	align-items: center;
	border: 1px solid var(--cul-line);
	border-radius: var(--cul-radius);
	padding: 1rem;
	background: rgba(0, 0, 0, .12);
}
.cul .cul-corner img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: .7rem; }
.cul .cul-corner h4 { font-family: var(--mwfe-serif); font-weight: 500; font-size: 1.5rem; color: var(--cul-cream); margin: 0 0 .4rem; }
.cul .cul-corner p { font-family: var(--mwfe-serif); font-size: 1.02rem; line-height: 1.55; color: var(--cul-dim); margin: 0; }

/* ------------------------------------------------------------ arena */
.cul .cul-arena-row { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.cul .cul-arena-photo { margin: 0; border-radius: 1.4rem; overflow: hidden; box-shadow: 0 2.4rem 4rem -2rem rgba(0, 0, 0, .8); }
.cul .cul-arena-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.cul .cul-hours-title { font-family: var(--mwfe-sans); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--cul-gold); margin: 1.8rem 0 .8rem; }
.cul .cul-hours { margin: 0; }
.cul .cul-hour { display: flex; align-items: baseline; gap: .8rem; padding: .55rem 0; border-bottom: 1px dashed var(--cul-line); }
.cul .cul-hour dt { font-family: var(--mwfe-sans); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cul-cream); flex: none; }
.cul .cul-hour dd { margin: 0; flex: 1; text-align: right; font-family: var(--mwfe-serif); font-size: 1.25rem; color: var(--cul-dim); font-variant-numeric: tabular-nums; }
.cul .cul-map { margin-top: clamp(2.5rem, 6vh, 4rem); }
/* the map in this page's colours: teal pins and buttons, brass numerals */
.cul .mwfk { --mwfk-wine: #1c5c5f; --mwfk-name: var(--cul-cream); --mwfk-num-on-text: #0e3637; --mwfk-more-text: #0e3637; }

/* --------------------------------------------------- reduced motion */
@media (prefers-reduced-motion: reduce) {
	.cul .cul-stream-rows { transform: none; }
	.cul .cul-cook-card img { transition: none; }
}

/* ----------------------------------------------------------- phones */
@media (max-width: 900px) {
	.cul .cul-hero { min-height: 0; justify-content: flex-start; }
	.cul .cul-wall { display: none; }
	.cul .cul-hero-inner { padding-top: calc(var(--mwfe-header-h) + 1.5rem); padding-bottom: 1.5rem; text-shadow: none; }
	.cul .cul-title { font-size: clamp(3.6rem, 16vw, 5.4rem); }
	.cul .cul-mosaic { display: flex; margin-bottom: 2.4rem; }
	.cul .cul-mosaic .cul-tile { width: 76vw; }
	.cul .mwfe-scrollcue { display: none; }
	.cul .cul-stream-rows { transform: none; gap: 0; }
	.cul .cul-stream-row:nth-child(n+2) { display: none; }
	.cul .cul-stream-row:nth-child(2) .cul-stream-track { padding-left: 0; }
	.cul .cul-stream-track .cul-tile { width: 9.5rem; }
	.cul .cul-stream-track { animation: cul-flow 110s linear infinite; }
	.cul .cul-sec-head { grid-template-columns: 1fr; }
	.cul .cul-n { grid-row: auto; font-size: 3.4rem; margin-bottom: .4rem; }
	.cul .cul-sec-head .cul-h2, .cul .cul-sec-head .cul-sub { grid-column: 1; }
	.cul .cul-cols, .cul .cul-twin, .cul .cul-corner-row, .cul .cul-arena-row { grid-template-columns: 1fr; }
	.cul .cul-figures { grid-template-columns: 1fr 1fr; }
	.cul .cul-families-hint { display: none; }
	.cul .cul-words { margin: 0 calc(-1 * var(--mwfe-gutter)); }
	.cul .cul-word { width: 11.5rem; border: 0; padding: 0; font-size: 1.05rem; line-height: 1.25; }
	.cul .cul-word-img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: .8rem; margin-bottom: .55rem; box-shadow: 0 1rem 2rem -1.2rem rgba(0, 0, 0, .8); }
	.cul .cul-word-t { display: block; padding: 0 .2rem; }
	.cul .cul-word.is-centre { color: var(--cul-gold); }
	.cul .cul-peek { display: none; }
	.cul .cul-cook-row { grid-template-columns: 1fr; }
	.cul .cul-cook-grid { display: flex; margin: 0 calc(-1 * var(--mwfe-gutter)); }
	.cul .cul-cook-grid .cul-cook-card { width: 74vw; }
	.cul .cul-cook-grid .cul-cook-card:nth-child(3n+2) { transform: none; }
	.cul .cul-cook-card figcaption { font-size: .95rem; transform: translateY(.6rem); opacity: 0; transition: transform .7s ease, opacity .7s ease; }
	.cul .cul-cook-card.is-centre figcaption { transform: none; opacity: 1; }
	.cul .cul-cook-row { gap: 1.4rem; }
	.cul .cul-corner { grid-template-columns: 7rem 1fr; }
	.cul .cul-strip { grid-template-columns: 1fr 1fr; gap: .8rem; }
	.cul .cul-strip .cul-tile:nth-child(2n) { transform: translateY(.9rem); }
}
@keyframes cul-flow {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.cul .cul-stream-track { animation: none; }
}

/* ------------------------------------------------ phones: swipe rails */
/* a rail = a row that snaps card by card; the card nearest the middle is
   full size and bright, the others step back (js sets the scale, the class
   does the rest); dots and a hint under it, a nudge when it first shows */
@media (max-width: 900px) {
	.cul .cul-rail {
		display: flex;
		flex-wrap: nowrap;
		gap: .7rem;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--mwfe-gutter);
		padding: .6rem var(--mwfe-gutter) 1rem;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		list-style: none;
	}
	.cul .cul-rail::-webkit-scrollbar { display: none; }
	.cul .cul-rail > * { flex: none; scroll-snap-align: center; transform-origin: 50% 50%; opacity: .6; transition: opacity .6s ease; }
	.cul .cul-rail > .is-centre { opacity: 1; }
	.cul .cul-rail-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 var(--mwfe-gutter); margin: -.2rem 0 1.2rem; }
	.cul .cul-rail-dots { list-style: none; margin: 0; padding: 0; display: flex; gap: .35rem; }
	.cul .cul-rail-dots li { width: .4rem; height: .4rem; border-radius: .2rem; background: var(--cul-gold); opacity: .3; transition: width .5s ease, opacity .5s ease; }
	.cul .cul-rail-dots li.is-on { width: 1.4rem; opacity: 1; }
	.cul .cul-rail-hint { font-family: var(--mwfe-serif); font-style: italic; font-size: .95rem; color: var(--cul-dim); white-space: nowrap; flex: none; transition: opacity .8s ease; }
	.cul .cul-rail-hint::after { content: " →"; }
	.cul .cul-rail-hint.is-gone { opacity: 0; }
	.cul .cul-mosaic + .cul-rail-foot { margin-top: -2rem; margin-bottom: 2rem; }
}
/* ------------------------------------------------ Gourmet Campania (2026-10-13)
   «Sfumature di Gusto»: four equal day cards (Monday's themed in gold),
   the eight chefs with the days they cook, the coordinator's line.
   Phones: the day cards are a swipe rail ([data-rail="campania"]). */
.cul .cul-gc {
	position: relative;
	margin-top: clamp(3rem, 7vh, 5rem);
	padding-top: clamp(2.4rem, 5vh, 3.4rem);
}
.cul .cul-gc::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--cul-line), transparent 70%);
}
.cul .cul-gc-head { max-width: 52rem; margin: 0 0 clamp(1.6rem, 4vh, 2.4rem); }
.cul .cul-gc-head .cul-sub { margin-top: .4rem; }
.cul .cul-gc-days {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(.8rem, 1.4vw, 1.2rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.cul .cul-gc-day {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1.3rem 1.25rem 1.1rem;
	border: 1px solid var(--cul-line);
	border-radius: var(--cul-radius);
	background: rgba(var(--cul-ink), .55);
	box-shadow: 0 1.4rem 2.6rem -1.6rem rgba(0, 0, 0, .75);
}
.cul .cul-gc-day.is-theme {
	border-color: var(--cul-gold-soft);
	background:
		radial-gradient(120% 90% at 100% 0%, rgba(205, 173, 89, .16), transparent 60%),
		rgba(var(--cul-ink), .62);
}
.cul .cul-gc-date {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .8rem;
	margin: 0 0 .9rem;
	padding-bottom: .8rem;
	border-bottom: 1px solid var(--cul-line);
}
.cul .cul-gc-dow {
	font-family: var(--mwfe-sans);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--cul-gold);
}
.cul .cul-gc-date time {
	font-family: var(--mwfe-serif);
	font-size: 2rem;
	line-height: 1;
	color: var(--cul-cream);
}
.cul .cul-gc-theme {
	margin: 0;
	font-family: var(--mwfe-serif);
	font-style: italic;
	font-size: 1.32rem;
	line-height: 1.2;
	color: var(--cul-gold);
}
.cul .cul-gc-theme-t { margin: .25rem 0 0; font-size: .85rem; color: var(--cul-dim); }
.cul .cul-gc-hours {
	margin: .55rem 0 .4rem;
	font-family: var(--mwfe-sans);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	color: var(--cul-cream);
}
.cul .cul-gc-slots { margin: 0; padding: 0; list-style: none; }
.cul .cul-gc-slot {
	display: grid;
	grid-template-columns: 3.3rem minmax(0, 1fr);
	gap: .7rem;
	align-items: baseline;
	padding: .7rem 0;
	border-bottom: 1px solid rgba(205, 173, 89, .14);
}
.cul .cul-gc-slot:last-child { border-bottom: 0; padding-bottom: 0; }
.cul .cul-gc-slot:not(:has(.cul-gc-time)) { grid-template-columns: minmax(0, 1fr); }
.cul .cul-gc-time {
	font-family: var(--mwfe-serif);
	font-size: 1.12rem;
	color: var(--cul-gold);
	font-variant-numeric: lining-nums tabular-nums;
}
.cul .cul-gc-who p { margin: 0; }
.cul .cul-gc-who p + p { margin-top: .55rem; }
.cul .cul-gc-who b {
	display: block;
	font-family: var(--mwfe-serif);
	font-weight: 500;
	font-size: 1.12rem;
	line-height: 1.2;
	color: var(--cul-cream);
}
.cul .cul-gc-who span {
	display: block;
	margin-top: .15rem;
	font-size: .82rem;
	line-height: 1.4;
	color: var(--cul-dim);
}
.cul .cul-gc-roster { margin-top: clamp(2rem, 5vh, 3rem); }
.cul .cul-gc-chefs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 clamp(1rem, 2vw, 2rem);
	margin: .4rem 0 0;
	padding: 0;
	list-style: none;
}
.cul .cul-gc-chefs li {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	padding: .9rem 0;
	border-bottom: 1px solid var(--cul-line);
}
.cul .cul-gc-chefs b {
	font-family: var(--mwfe-serif);
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.2;
	color: var(--cul-cream);
}
.cul .cul-gc-house { font-size: .84rem; line-height: 1.4; color: var(--cul-dim); }
.cul .cul-gc-on { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }
.cul .cul-gc-on i {
	padding: .15rem .55rem;
	border: 1px solid var(--cul-gold-soft);
	border-radius: 999px;
	font-family: var(--mwfe-sans);
	font-style: normal;
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--cul-gold);
}
@media (max-width: 1199px) {
	.cul .cul-gc-days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cul .cul-gc-chefs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.cul .cul-gc-days { display: flex; margin: 0 calc(-1 * var(--mwfe-gutter)); padding: .6rem var(--mwfe-gutter) 1rem; align-items: stretch; } /* the rail's own padding: the base rule above zeroes it */
	.cul .cul-gc-days .cul-gc-day { width: 80vw; }
	.cul .cul-gc-chefs { grid-template-columns: 1fr; }
}

/* the header in this page's own dark teal, over the inline wine of header.php (2026-10-09, owner) */
body.page-template-culinaria header.header { background: linear-gradient(135deg, #0f4142 0%, #0b3334 55%, #082728 100%); }
body.page-template-culinaria header.header.scrolled { background: #0a2f30; }

