body {
  margin: 0;
  font-family: 'Raleway', sans-serif;
  /* MWF 2026 identity: wave gradient from #671e26 (light) to #28191b (dark) */
  background: linear-gradient(160deg, #671e26 0%, #3f1519 45%, #28191b 100%);
  background-attachment: fixed;
}

a{
	text-decoration:none;
}


.white h1 a {
		color:#f4f4f4 !important;
}

.white h1 a:hover {
		color:#B6B283 !important;
}

.wpml-ls-statics-footer{
	display:none;
	height:0;
}

.accredito-wrapper {
    background-color: #dace96;
    border: 3px solid #BBA151;
    padding: 20px;
    border-radius: 10px;
    width: 90%;
    margin: 10vh auto;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.15); 
}

.accredito-wrapper h1{
    text-align: center;
    font-weight: 900;
}


.accredito-wrapper input[type="text"],
.accredito-wrapper input[type="email"],
.accredito-wrapper input[type="tel"],
.accredito-wrapper input[type="url"],
.accredito-wrapper select,
.accredito-wrapper textarea {
    width: 100%;
    padding: 10px;
    margin: 5px 0;
    border: 1px solid #BBA151;
    border-radius: 5px;
    background-color: #ffffff;
    box-sizing: border-box;
    font-size: 16px;
}

.accredito-wrapper textarea {
    min-height: 80px; 
}

.accredito-wrapper label {
    display: block;
    margin-top: 15px;
    font-weight: bold;
    color: #333; 
}

.accredito-wrapper input[type="radio"],
.accredito-wrapper input[type="checkbox"] {
    margin-right: 5px;
}

.accredito-wrapper input[type="submit"] {
    background-color: #BBA151;
    color: #ffffff;
    border: none;
    padding: 25px 40px;
    font-size: 24px;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    transition: background-color 0.3s ease;
	display: block;
    margin: 5px auto;
	transition: background-color 0.3s, transform 0.3s;
}

.accredito-wrapper input[type="submit"]:hover {
    background-color: #9E8C40;
}

.accredito-wrapper a {
    color: #1D1C1A;
    text-decoration: none;
    transition: color 0.3s ease;
}

.wpcf7 input[type="radio"],.wpcf7 input[type="checkbox"] {
    transform: scale(1.5); 
    margin-right: 5px;    
}

.notes p {
    font-size: 20px;
}

.accredito-wrapper a:hover {
    color: #9E8C40;
}


.wpcf7-form .wpcf7-submit:hover {
    background-color: #BBA151; 
    transform: scale(1.05); 
}

.coming-soon-container {
	color: #f8f8f8;
	width: 80%;
	margin: 0 auto;
	text-align: center;
}

.language-switcher{
	margin-bottom:5vh;
}


.arrow,.arrow-tooltip {
    display: none; 
}

.dropdown-toggle{
	display:none;
}

.dropdown-menu {
    display: block; 
}

.conferma-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 66%;
    margin: 0 auto;
}

@media (min-width: 768px) {
	
  
.dropdown-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #1d021d, #0e000e, #1d021d);
    color: white;
    z-index: 9999;
    overflow: hidden;
}

.dropdown-left,
.dropdown-right {
	flex: 1;
    padding: 1em;
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    justify-content: center
}

.dropdown-right h6 {
    font-size: 1vw;
    margin: 1em 0;
}
  
}


@media screen and (min-width: 1024px) {

}

@media screen and (min-width: 1024px) and (min-height: 720px) {


}




@media screen and (min-width: 1280px) and (min-height: 648px) {
 

}


@media screen and (min-width: 1280px) and (min-height: 720px) {



}





@media screen and (min-width: 1366px) and (min-height: 691px) {


}

@media screen and (min-width: 1366px) and (min-height: 768px) {


}

@media screen and (min-width: 1440px) and (min-height: 810px) {



}

@media screen and (min-width: 1440px) and (min-height: 900px) {


	
}

@media screen and (min-width: 1536px){

	
}

@media screen and (min-width: 1600px) and (min-height: 810px) {
 

}


@media screen and (min-width: 1600px) and (min-height: 900px) {
 .bio-block::before {
	right: 13vw;
    right: 325px;
    font-size: 29vw;
    letter-spacing: -85px;
}

.festival-block::before {
    top: -15vh;
    font-size: 29vw;
}

.champagne-offset {
    font-size: 2.4rem !important;
}

.champagne-block .internal p strong{
	 font-size: 2.8rem;
}

}

.mwf_catalogo_vini a, .acc-meta a{
	color:#374037;
}

.mwf_catalogo_vini a:hover, .acc-meta a:hover{
	color:#676f67;
}

@media screen and (min-width: 1920px) and (min-height: 973px) {

 

}



@media (min-width: 768px) {
    .accredito-wrapper {
        max-width: 1200px; 
    }
    
    .accredito_col_1_2 {
        float: left;
        width: 50%;
        box-sizing: border-box;
        padding: 0 10px;
    }

    .richiesta {
        clear: both;
        padding-top: 20px;
    }

    .accredito-wrapper input[type="submit"] {
        width: auto; 
    }
	
	span.wpcf7-list-item-label {
    font-size: 28px;
}

		.coming-soon-container {
			margin:20vh auto;
		}
		
	 .coming-soon-container p{
			font-size:18px;
		}
}


.main-link.accrediti {
    position: relative;
    cursor: pointer; 
    font-size: 5vw; 
    width: 88%;
    margin: 10px auto; 
}

.main-link.accrediti div{
	display:none;
    position: absolute;
    height: 18vh;
    top: 100%;
    background: #B6B283;
    left: 0;
    width: 100%;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 15;
    font-size: 10vw;
    border-radius: 0 0 8px 8px; 
    border: none;
    padding: 1vw;
    transform: translateY(-15%);
}

.dropdown-content{
	box-shadow:none !important;
}


.dropdown-content a {
    color: black;
    text-decoration: none;
    display: block;
    font-size: 6.5vw;
    width: 100%;
    text-align: center;
}


.main-link h6{
	font-size:10vw;
	color: #f8f8f8;
    font-weight: 600;
    transition: font-size 1s ease;
    text-decoration: none;
    margin: 7px;
}

.main-link.accrediti div a:hover {
    background-color: #BBA151;
	font-size: 1.5vw;
}


}


.type-page form{
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1300px;
    margin: 0 auto;
    border: 1px solid #B6B283;
    border-radius: 20px;
    background: #aea965b5;
    color: #f8f8f8;
}

.form-top {
    display: flex;
    justify-content: space-between;
}

.form-top p {
    margin: 1.5em;
    width: 40%;
}

.type-page input[type="text"],.type-page input[type="email"],.type-page input[type="url"], input[type="password"],.type-page input[type="search"],.type-page input[type="tel"],.type-page input[type="range"],.type-page input[type="date"],.type-page input[type="month"],.type-page input[type="week"],.type-page input[type="time"],.type-page input[type="datetime"],.type-page input[type="datetime-local"],.type-page input[type="color"],.type-page textarea {
    width: 100%;
}

.type-page input[type="number"]{
	width:10%;
	margin-left:10px;
}


.form-core {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
}

.form-core p {
    margin: 1.5em;
    width: 40%;
}

.entries-selector select{
    width: 35px;
    margin-left: 10px;
}

.entries-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.wine-entries div {
    width: 50%;
    margin: 0 auto 8%;
}

.tavoli-extra{
	padding:0 6%;
}

.note-field {
    width: 80%;
    height: 150px;
    margin-bottom: 50px;
}

note-field input {
    height: 100%;
}

.winehunterarea-notice li{
	margin-left:5%;
}

.tavoli-extra p {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    align-items: center;
}


.consorzio-entries {
    display: flex;
    flex-direction: column;
}

.consorzio-entries div p {
    width: 44%;
    margin: 2% 0 0 5%;
    padding: 0 5%;
    float: left;
}

.consorzio-entries div {
    margin-bottom: 3vh;
}


.talk-registration h2, .talk-registration h3{
	text-align:center;
}

.talk-registration .checkbox-wrapper label{
	width:100%;
	margin:13px;
}

.talk-registration .checkbox-wrapper {
    width: 98%;
    justify-content: center;
}

.talk-registration .checkbox-wrapper p { 
    display: flex;
    align-items: center;
}


.site-footer {
    background-color: #121212; 
    color: #ffffff;
    padding: 60px 5% 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.6;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px; 
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 40px;
}

.footer-column {
    flex: 1;
    min-width: 220px;
}

.footer-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 20px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gourmet-title a {
    text-decoration: none;
    color: #ffffff;
    font-size: 1.3rem;
    transition: color 0.3s ease;
}

.gourmet-title a:hover {
    color: #cccccc;
}

.footer-column p {
    margin-bottom: 10px;
    color: #b3b3b3; 
}

.footer-link,
.footer-menu-list a {
    color: #b3b3b3;
    text-decoration: none;
    transition: all 0.3s ease;
}

.footer-link:hover,
.footer-menu-list a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.footer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu-list li {
    margin-bottom: 10px;
}

/* Also influenced by Brevo CSS */
.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.newsletter-input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #444;
    border-radius: 5px;
    background-color: #2a2a2a;
    color: #ffffff;
    font-size: 0.95rem;
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

.newsletter-input::placeholder {
    color: #888;
}

.newsletter-input:focus {
    outline: none;
    border-color: #ffffff;
    background-color: #333;
}

.newsletter-button {
    padding: 12px 15px;
    background-color: #ffffff;
    color: #121212;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    text-align: center;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.newsletter-button:hover {
    background-color: #cccccc;
    color: #000000;
}

.footer-bottom-bar {
    text-align: center;
    border-top: 1px solid #333;
    padding-top: 20px;
    margin-top: 40px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.footer-bottom-bar p {
    font-size: 0.85rem;
    color: #888;
    margin: 0;
}

.error-404 {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fefefe;
    margin: 18vh 5vw;
}


@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
        text-align: center;
    }
    .footer-column {
        min-width: 100%;
    }
    .newsletter-form {
        flex-direction: row;
    }
    .newsletter-input {
        flex-grow: 1;
    }
}

/* ################################################################
   MWF EDITORIAL — event-page design system (.mwfe), merged here
   because the server deploy is overwrite-only (no new files).
   Everything below is scoped to .mwfe and inert on other pages,
   except the >1920px html font-size scaling at the top of it.
   ################################################################ */

/* =============================================================
   MWF Editorial — shared design system for event section pages
   Namespace: .mwfe  (Merano WineFestival Event)

   Respects the site-wide base (custom-css/mwf.css):
   dark plum gradient body, Raleway base, gold brand tokens
   (--mwf-gold-light / --mwf-gold / --mwf-gold-dark from header).
   Loaded only on templates listed in mwf_event_page_templates().
   ============================================================= */

.mwfe {
	/* palette — MWF 2026 identity: wave gradients from #671e26 (light) to #28191b (dark) */
	--mwfe-wine: #671e26;
	--mwfe-wine-mid: #4a161d;
	--mwfe-bg-deep: #28191b;
	--mwfe-plum: #3a1418;
	--mwfe-burgundy: #671e26;
	--mwfe-burgundy-soft: #7d2a32;
	--mwfe-cream: #f4efe4;
	--mwfe-cream-dim: #d3c6b4;
	--mwfe-gold: var(--mwf-gold, #b6b283);
	--mwfe-gold-light: var(--mwf-gold-light, #fcfdde);
	--mwfe-gold-dark: var(--mwf-gold-dark, #8c6d1f);
	--mwfe-brass: #cdad59;
	--mwfe-line: rgba(205, 173, 89, .28);
	--mwfe-ink-rgb: 40, 25, 27; /* --mwfe-bg-deep as an rgb triplet */
	--mwfe-glass: rgba(var(--mwfe-ink-rgb), .5);

	/* type */
	--mwfe-serif: 'Cormorant Garamond', 'Libre Baskerville', Baskerville, 'Times New Roman', serif;
	--mwfe-sans: 'Raleway', system-ui, sans-serif;

	/* rhythm */
	--mwfe-header-h: 14vh;
	--mwfe-gutter: clamp(1.25rem, 5vw, 6rem);
	--mwfe-maxw: 90rem;

	/* the 2026 poster ground: soft wave folds sweeping between the two tones.
	   Pre-rendered at 3200px with dithering (tools-assets/mwfe-ground/render.py
	   in the theme repo): the old inline-SVG feGaussianBlur was rasterized at
	   its intrinsic 1440px and upscaled by the browser — pixelated on
	   wide/HiDPI screens and banded on the dark ramps. Same art, same
	   geometry, now resolution-clean. */
	background-color: var(--mwfe-bg-deep);
	background-image:
		url('/core/bg/mwfe-ground-wine.webp');
	background-size: cover;
	background-position: center top;
	background-attachment: fixed;
	color: var(--mwfe-cream);
	font-family: var(--mwfe-serif);
	font-size: 1.125rem;
	line-height: 1.65;
	overflow-x: clip;
	position: relative;
	/* flow-root contains child margins, so spacing like the statement's
	   margin-top stays INSIDE the wave background — no white stripe. */
	display: flow-root;
	-webkit-font-smoothing: antialiased;
}
@media (max-width: 900px) {
	/* fixed backgrounds repaint badly on mobile — let the waves scroll */
	.mwfe { background-attachment: scroll; background-image: url('/core/bg/mwfe-ground-wine-m.webp'); }
}

/* -------------------------------------------------------------
   Large-display scaling: above full-HD the root font-size grows
   with the viewport (100vw/120 = 16px at 1920, 32px at 3840), so
   a 4K screen reads exactly like 1080p, proportionally bigger.
   Everything structural below is rem-based and follows. This
   stylesheet loads only on .mwfe templates, so the scope is exact.
   ------------------------------------------------------------- */
@media (min-width: 1921px) {
	html { font-size: calc(100vw / 120); }
}

/* fine grain, like paper in a dark cellar */
.mwfe::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 20;
	pointer-events: none;
	opacity: .06;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

.mwfe *, .mwfe *::before, .mwfe *::after { box-sizing: border-box; }
.mwfe img { max-width: 100%; display: block; }
.mwfe a { color: inherit; }
.mwfe [id] { scroll-margin-top: calc(var(--mwfe-header-h) + 2rem); }

/* -------------------------------------------------- utilities */
.mwfe-kicker {
	font-family: var(--mwfe-sans);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--mwfe-brass);
	display: flex;
	align-items: center;
	gap: .9em;
	margin: 0 0 1.4rem;
}
.mwfe-kicker::before {
	content: "";
	width: 3.2em;
	height: 1px;
	background: var(--mwfe-brass);
	flex: 0 0 auto;
}

.mwfe-prose p { margin: 0 0 1.15em; color: var(--mwfe-cream-dim); }
.mwfe-prose p:last-child { margin-bottom: 0; }
.mwfe-prose strong { font-weight: 600; color: var(--mwfe-gold-light); }
.mwfe-prose em { font-style: italic; color: var(--mwfe-cream); }
.mwfe-prose a {
	color: var(--mwfe-brass);
	text-decoration: underline;
	text-decoration-color: var(--mwfe-line);
	text-underline-offset: 3px;
}

/* elegant dark-gold in-text links to the award site
   (wine / food / spirits / beer / producers / Hall of Excellence) */
.mwfe .mwfe-award-link {
	color: #b8933f;
	font-weight: 600;
	letter-spacing: .01em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(140, 109, 31, .55);
	text-underline-offset: 3px;
	transition: color .3s, text-decoration-color .3s;
}
.mwfe .mwfe-award-link:hover {
	color: var(--mwfe-gold-light);
	text-decoration-color: var(--mwfe-brass);
}

/* ------------------------------------------------------ hero */
.mwfe-hero {
	position: relative;
	min-height: calc(100svh - var(--mwfe-header-h));
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: clip;
	color: var(--mwfe-cream);
	isolation: isolate;
}
.mwfe-hero-media,
.mwfe-hero-media img,
.mwfe-hero-media video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}
.mwfe-hero-media img, .mwfe-hero-media video { will-change: transform; transform: scale(1.08); }
.mwfe-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(8deg, var(--mwfe-bg-deep) 6%, rgba(var(--mwfe-ink-rgb),.6) 42%, rgba(var(--mwfe-ink-rgb),.25) 72%, rgba(var(--mwfe-ink-rgb),.45)),
		radial-gradient(120% 90% at 85% 8%, rgba(205,173,89,.14), transparent 55%);
}
.mwfe-hero-inner {
	position: relative;
	width: min(100%, var(--mwfe-maxw));
	margin: 0 auto;
	padding: calc(var(--mwfe-header-h) * .6) var(--mwfe-gutter) clamp(3rem, 9vh, 6rem);
}
.mwfe-hero-title {
	font-family: var(--mwfe-serif);
	font-weight: 500;
	font-size: clamp(2.9rem, 9.5vw, 8.2rem);
	line-height: .98;
	letter-spacing: -.015em;
	margin: 0 0 1.6rem;
	max-width: 12ch;
	color: var(--mwfe-gold-light);
	text-wrap: balance;
}
.mwfe-hero-title em { font-style: italic; font-weight: 400; color: var(--mwfe-brass); }
.mwfe-hero-title .mwfe-char { display: inline-block; will-change: transform; }
.mwfe-hero-title .mwfe-word { display: inline-block; white-space: nowrap; }

.mwfe-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0 0 1.8rem;
	font-family: var(--mwfe-sans);
}
.mwfe-chip {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	padding: .55em 1.1em;
	border: 1px solid var(--mwfe-line);
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mwfe-cream);
	background: rgba(var(--mwfe-ink-rgb), .85);
	backdrop-filter: blur(4px);
	white-space: nowrap;
}

.mwfe-hero-lead {
	max-width: 58ch;
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.6;
	color: #e8dfd0;
}
.mwfe-hero-lead p { margin: 0 0 1em; }
.mwfe-hero-lead p:last-child { margin-bottom: 0; }
.mwfe-hero-lead em { color: var(--mwfe-brass); }

/* slim hero variant for utility pages (programma, partner, hotels) */
.mwfe-hero--slim { min-height: clamp(21.25rem, 52svh, 35rem); }
.mwfe-hero--slim .mwfe-hero-title { font-size: clamp(2.6rem, 7vw, 6rem); }
.mwfe-hero--slim .mwfe-hero-inner { padding-bottom: clamp(2.2rem, 6vh, 4rem); }

/* rotating circular seal */
.mwfe-seal {
	position: absolute;
	right: clamp(1rem, 5vw, 4.5rem);
	bottom: clamp(2.5rem, 8vh, 5rem);
	width: clamp(6rem, 12vw, 9.375rem);
	aspect-ratio: 1;
	z-index: 2;
	pointer-events: none;
}
.mwfe-seal svg { width: 100%; height: 100%; overflow: visible; animation: mwfe-spin 26s linear infinite; }
.mwfe-seal text {
	font-family: var(--mwfe-sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .34em;
	text-transform: uppercase;
	fill: var(--mwfe-brass);
}
.mwfe-seal .mwfe-seal-core {
	position: absolute;
	inset: 26%;
	border: 1px solid var(--mwfe-line);
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: var(--mwfe-brass);
	font-family: var(--mwfe-serif);
	font-style: italic;
	font-size: clamp(1rem, 1.6vw, 1.5rem);
}
@keyframes mwfe-spin { to { transform: rotate(360deg); } }

/* scroll cue */
.mwfe-scrollcue {
	position: absolute;
	left: 50%;
	bottom: 1.4rem;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5rem;
	color: rgba(244, 239, 228, .7);
	font-family: var(--mwfe-sans);
	font-size: .62rem;
	letter-spacing: .38em;
	text-transform: uppercase;
	z-index: 2;
}
.mwfe-scrollcue::after {
	content: "";
	width: 1px;
	height: 2.75rem;
	background: linear-gradient(var(--mwfe-brass), transparent);
	animation: mwfe-cue 2.2s ease-in-out infinite;
	transform-origin: top;
}
@keyframes mwfe-cue {
	0% { transform: scaleY(0); opacity: 0; }
	35% { transform: scaleY(1); opacity: 1; }
	100% { transform: scaleY(1) translateY(18px); opacity: 0; }
}

/* --------------------------------------------------- marquee */
.mwfe-marquee {
	background: var(--mwfe-burgundy);
	color: var(--mwfe-gold-light);
	border-top: 1px solid var(--mwfe-line);
	border-bottom: 1px solid var(--mwfe-line);
	overflow: clip;
	padding: .85rem 0;
	position: relative;
	z-index: 3;
}
.mwfe-marquee-track {
	display: flex;
	gap: 3.5rem;
	width: max-content;
	animation: mwfe-marquee 30s linear infinite;
}
.mwfe-marquee-track > span {
	display: flex;
	align-items: center;
	gap: 3.5rem;
	font-family: var(--mwfe-serif);
	font-style: italic;
	font-size: clamp(1rem, 1.8vw, 1.45rem);
	letter-spacing: .08em;
	white-space: nowrap;
}
.mwfe-marquee-track > span i {
	font-style: normal;
	color: var(--mwfe-brass);
	font-size: .55em;
	transform: translateY(-.15em);
}
@keyframes mwfe-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.mwfe-marquee-track { animation: none; }
	.mwfe-seal svg { animation: none; }
	.mwfe-scrollcue::after { animation: none; }
}

/* ------------------------------------------------ section TOC */
.mwfe-toc {
	position: sticky;
	top: var(--mwfe-header-h);
	z-index: 20;
	background: rgba(var(--mwfe-ink-rgb), .85);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--mwfe-line);
}
.mwfe-toc-inner {
	width: min(100%, var(--mwfe-maxw));
	margin: 0 auto;
	padding: 0 var(--mwfe-gutter);
	display: flex;
	gap: .35rem;
	overflow-x: auto;
	scrollbar-width: none;
}
.mwfe-toc-inner::-webkit-scrollbar { display: none; }
.mwfe-toc a {
	font-family: var(--mwfe-sans);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--mwfe-cream-dim);
	padding: 1rem .9rem;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
	transition: color .25s, border-color .25s;
}
.mwfe-toc a:hover { color: var(--mwfe-gold-light); }
.mwfe-toc a.is-active { color: var(--mwfe-gold-light); border-bottom-color: var(--mwfe-brass); }

/* ---------------------------------------------- main sections */
.mwfe-main {
	width: min(100%, var(--mwfe-maxw));
	margin: 0 auto;
	padding: 0 var(--mwfe-gutter);
}

.mwfe-section {
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 4.5rem;
	align-items: center;
	padding: 2.5rem 0;
}
.mwfe-section + .mwfe-section { border-top: 1px solid rgba(205, 173, 89, .16); }

.mwfe-section .mwfe-fig { grid-column: 1 / 6; }
.mwfe-section .mwfe-body { grid-column: 6 / 13; }
.mwfe-section.is-flip .mwfe-fig { grid-column: 8 / 13; order: 2; }
.mwfe-section.is-flip .mwfe-body { grid-column: 1 / 8; order: 1; }

/* full-width variant: stacked body + stats + collage, no fig column */
.mwfe-section--full { display: block; }
.mwfe-section--full .mwfe-body { max-width: 860px; }

/* giant outlined index number */
.mwfe-num {
	position: absolute;
	top: clamp(1.2rem, 4vh, 3rem);
	right: 0;
	font-family: var(--mwfe-serif);
	font-size: clamp(4.5rem, 11vw, 10rem);
	line-height: 1;
	font-weight: 500;
	color: transparent;
	-webkit-text-stroke: 1px rgba(205, 173, 89, .3);
	pointer-events: none;
	user-select: none;
}
.mwfe-section.is-flip .mwfe-num { right: auto; left: 0; }

/* arch figure */
.mwfe-fig {
	position: relative;
	align-self: stretch;
	display: flex;
	align-items: center;
}
.mwfe-fig-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: 999px 999px 26px 26px;
	overflow: hidden;
	background: var(--mwfe-plum);
	box-shadow: 0 34px 70px -30px rgba(0, 0, 0, .75);
}
.mwfe-fig-frame img {
	width: 100%;
	height: 116%;
	object-fit: cover;
	will-change: transform;
}
.mwfe-fig::before {
	content: "";
	position: absolute;
	inset: 0;
	transform: translate(-0.875rem, 0.875rem);
	border: 1px solid var(--mwfe-brass);
	opacity: .7;
	border-radius: 999px 999px 26px 26px;
	pointer-events: none;
}
.mwfe-section.is-flip .mwfe-fig::before { transform: translate(0.875rem, 0.875rem); }
.mwfe-fig figcaption {
	position: absolute;
	bottom: 1rem;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--mwfe-sans);
	font-size: .62rem;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--mwfe-gold-light);
	background: rgba(var(--mwfe-ink-rgb), .65);
	padding: .5em 1.2em;
	border-radius: 999px;
	backdrop-filter: blur(4px);
	white-space: nowrap;
}

/* body typography */
.mwfe-h2 {
	font-family: var(--mwfe-serif);
	font-weight: 500;
	font-size: clamp(2rem, 4.6vw, 3.6rem);
	line-height: 1.04;
	margin: 0 0 .5rem;
	color: var(--mwfe-gold-light);
	text-wrap: balance;
}
.mwfe-h2 em { font-style: italic; font-weight: 400; color: var(--mwfe-brass); }
.mwfe-sub {
	font-family: var(--mwfe-serif);
	font-style: italic;
	font-size: clamp(1.1rem, 1.8vw, 1.45rem);
	color: var(--mwfe-gold);
	margin: 0 0 1.6rem;
}
.mwfe-body .mwfe-prose { max-width: 62ch; }

/* tasting menu list */
.mwfe-menu { margin: 1.4rem 0 0; padding: 0; list-style: none; max-width: 56ch; }
.mwfe-menu-title {
	font-family: var(--mwfe-sans);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--mwfe-brass);
	margin: 2rem 0 .4rem;
}
.mwfe-menu li {
	position: relative;
	padding: .62em 0 .62em 1.7em;
	border-bottom: 1px dashed rgba(205, 173, 89, .3);
	font-size: 1.02rem;
	color: var(--mwfe-cream-dim);
}
.mwfe-menu li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .95em;
	width: .85em;
	height: .85em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23cdad59'%3E%3Cpath d='M7 2h10v2.5c0 3.4-2 6.2-4 6.9V19h3v2H8v-2h3v-7.6c-2-.7-4-3.5-4-6.9V2zm2 2v.5c0 .9.15 1.75.4 2.5h5.2c.25-.75.4-1.6.4-2.5V4H9z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.mwfe-menu li:last-child { border-bottom: 0; }

/* meta stamp (dates / venue / counts) */
.mwfe-stamp {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5em 1.4em;
	margin: 1.6rem 0 0;
	padding: 1rem 1.4rem;
	border: 1px solid var(--mwfe-line);
	border-radius: 14px;
	background: var(--mwfe-glass);
	font-family: var(--mwfe-sans);
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mwfe-cream);
	line-height: 1.7;
}
.mwfe-stamp b { color: var(--mwfe-brass); font-weight: 700; }

/* buttons */
.mwfe-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.9rem; }
.mwfe-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .8em;
	padding: .95em 1.9em;
	border: 1px solid var(--mwfe-brass);
	border-radius: 999px;
	font-family: var(--mwfe-sans);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--mwfe-gold-light);
	background: transparent;
	overflow: hidden;
	transition: color .35s;
	cursor: pointer;
}
.mwfe-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--mwfe-brass);
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .45s cubic-bezier(.65, .05, .36, 1);
	z-index: 0;
}
.mwfe-btn:hover::before { transform: scaleX(1); }
.mwfe-btn:hover { color: var(--mwfe-bg-deep); }
.mwfe-btn > * { position: relative; z-index: 1; }
.mwfe-btn .mwfe-arrow { transition: transform .35s; display: inline-block; }
.mwfe-btn:hover .mwfe-arrow { transform: translateX(5px); }
.mwfe-btn--solid { background: var(--mwfe-brass); color: var(--mwfe-bg-deep); }
.mwfe-btn--solid::before { background: var(--mwfe-gold-light); }
.mwfe-btn--ghost { border-color: rgba(244, 239, 228, .4); }

/* ---------------------------------------- centered statement */
.mwfe-statement {
	text-align: center;
	margin-top: 4rem;
	padding: clamp(4rem, 12vh, 8rem) var(--mwfe-gutter) clamp(1.5rem, 4vh, 2.5rem);
}
.mwfe-statement .mwfe-kicker { justify-content: center; }
.mwfe-statement .mwfe-kicker::before { display: none; }
.mwfe-statement .mwfe-h2 { margin-left: auto; margin-right: auto; max-width: 20ch; }
.mwfe-statement .mwfe-prose {
	max-width: 66ch;
	margin: 1.6rem auto 0;
	font-size: clamp(1.1rem, 1.7vw, 1.4rem);
	line-height: 1.7;
}
.mwfe-signature {
	margin: 2.2rem 0 0;
	font-family: var(--mwfe-serif);
	font-style: italic;
	font-size: clamp(1.15rem, 1.8vw, 1.5rem);
	color: var(--mwfe-brass);
}
.mwfe-signature::before { content: "— "; }

/* ------------------------------------------------ stats band */
.mwfe-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9.375rem, 1fr));
	gap: clamp(1rem, 3vw, 2.5rem);
	padding: clamp(2.5rem, 7vh, 4.5rem) 0;
	text-align: center;
}
.mwfe-stat { position: relative; padding: 1rem .5rem; }
.mwfe-stat + .mwfe-stat::before {
	content: "";
	position: absolute;
	left: calc(-.5 * clamp(1rem, 3vw, 2.5rem));
	top: 15%;
	height: 70%;
	width: 1px;
	background: linear-gradient(transparent, var(--mwfe-brass), transparent);
}
.mwfe-stat-num {
	font-family: var(--mwfe-serif);
	font-size: clamp(2.4rem, 5.5vw, 4.2rem);
	font-weight: 500;
	line-height: 1;
	color: var(--mwfe-gold-light);
	display: block;
}
.mwfe-stat-label {
	display: block;
	margin-top: .5rem;
	font-family: var(--mwfe-sans);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--mwfe-brass);
}

/* -------------------------------------------- immersion band */
.mwfe-band {
	position: relative;
	background: linear-gradient(135deg, var(--mwfe-wine) 0%, var(--mwfe-wine-mid) 55%, var(--mwfe-bg-deep) 100%);
	color: var(--mwfe-cream);
	overflow: clip;
	padding: clamp(4rem, 12vh, 8rem) 0;
	text-align: center;
	border-top: 1px solid var(--mwfe-line);
}
.mwfe-band::before {
	content: "";
	position: absolute;
	inset: -20% -10%;
	background: radial-gradient(50% 60% at 25% 30%, rgba(205, 173, 89, .14), transparent 60%),
	            radial-gradient(45% 55% at 80% 75%, rgba(205, 173, 89, .1), transparent 60%);
	pointer-events: none;
}
.mwfe-band-inner {
	position: relative;
	width: min(100%, 61.25rem);
	margin: 0 auto;
	padding: 0 var(--mwfe-gutter);
}
.mwfe-band .mwfe-kicker { justify-content: center; }
.mwfe-band .mwfe-kicker::before { display: none; }
.mwfe-band-title {
	font-family: var(--mwfe-serif);
	font-weight: 400;
	font-size: clamp(1.7rem, 4vw, 3.2rem);
	line-height: 1.25;
	margin: 0 0 1.2rem;
	color: var(--mwfe-gold-light);
}
.mwfe-band-title em { font-style: italic; color: var(--mwfe-brass); }
.mwfe-band p { color: #e0d5c3; max-width: 62ch; margin: 0 auto 1em; }
.mwfe-band .mwfe-actions { justify-content: center; }

/* -------------------------------------------------- cards row */
.mwfe-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1rem, 2.5vw, 2rem);
	padding: clamp(3rem, 8vh, 5.5rem) 0 clamp(4rem, 10vh, 7rem);
}
.mwfe-card {
	position: relative;
	display: block;
	border-radius: 999px 999px 22px 22px;
	overflow: hidden;
	aspect-ratio: 3 / 4.3;
	cursor: pointer;
	isolation: isolate;
	text-decoration: none;
	border: 1px solid rgba(205, 173, 89, .2);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8);
	transition: transform .5s cubic-bezier(.2, .65, .3, 1), border-color .5s;
}
.mwfe-card:hover { transform: translateY(-10px); border-color: rgba(205, 173, 89, .55); }
.mwfe-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
	transition: transform .8s cubic-bezier(.2, .65, .3, 1);
}
.mwfe-card:hover img { transform: scale(1.07); }
.mwfe-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(6deg, rgba(var(--mwfe-ink-rgb), .92) 14%, rgba(var(--mwfe-ink-rgb), .3) 55%, rgba(var(--mwfe-ink-rgb), .15));
	transition: opacity .5s;
}
.mwfe-card-label {
	position: absolute;
	left: 1.4rem;
	right: 1.4rem;
	bottom: 3.6rem;
	font-family: var(--mwfe-serif);
	font-size: clamp(1.2rem, 1.9vw, 1.7rem);
	font-weight: 500;
	letter-spacing: .05em;
	color: var(--mwfe-gold-light);
	text-transform: uppercase;
	line-height: 1.15;
}
.mwfe-card-cta {
	position: absolute;
	left: 1.4rem;
	right: 1.4rem;
	bottom: 1.3rem;
	display: flex;
	align-items: center;
	gap: .6em;
	font-family: var(--mwfe-sans);
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mwfe-gold);
	line-height: 1.45;
}
.mwfe-card-cta .mwfe-arrow { transition: transform .35s; }
.mwfe-card:hover .mwfe-card-cta .mwfe-arrow { transform: translateX(6px); }

/* ------------------------------------------------- tab panel */
.mwfe-tabbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .7rem;
	padding: 0 0 2.2rem;
}
.mwfe-tabbar button {
	font-family: var(--mwfe-sans);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	line-height: 1.35;
	color: var(--mwfe-gold-light);
	background: var(--mwfe-glass);
	border: 1px solid var(--mwfe-line);
	border-radius: 999px;
	padding: .85em 1.6em;
	cursor: pointer;
	transition: background .3s, color .3s, transform .3s, border-color .3s;
}
.mwfe-tabbar button:hover { transform: translateY(-2px); border-color: var(--mwfe-brass); }
.mwfe-tabbar button.is-active {
	background: var(--mwfe-brass);
	color: var(--mwfe-bg-deep);
	border-color: var(--mwfe-brass);
}
.mwfe-panels { position: relative; }
.mwfe-panel { display: none; }
.mwfe-panel.is-active { display: block; }
.mwfe-panel-card {
	display: grid;
	grid-template-columns: minmax(8.75rem, 15rem) 1fr;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
	background: var(--mwfe-glass);
	border: 1px solid var(--mwfe-line);
	border-radius: 22px;
	padding: clamp(1.5rem, 4vw, 3rem);
	backdrop-filter: blur(6px);
	box-shadow: 0 24px 48px -32px rgba(0, 0, 0, .7);
}
.mwfe-panel-card .mwfe-panel-logos { display: flex; flex-direction: column; gap: 1.2rem; align-items: center; }
.mwfe-panel-card .mwfe-panel-logos img {
	max-height: 6.875rem;
	width: auto;
	object-fit: contain;
	background: var(--mwfe-cream);
	border-radius: 12px;
	padding: 10px 14px;
}
.mwfe-panel-card .mwfe-panel-photo img { border-radius: 16px; }
.mwfe-panel-card h4, .mwfe-panel-card h5 {
	font-family: var(--mwfe-serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--mwfe-gold-light);
	margin: 0 0 .7rem;
	line-height: 1.3;
}

/* ------------------------------------------------ program list */
.mwfe-day {
	padding: clamp(2.5rem, 7vh, 4.5rem) 0;
}
.mwfe-day + .mwfe-day { border-top: 1px solid rgba(205, 173, 89, .16); }
.mwfe-day-head {
	display: flex;
	align-items: baseline;
	gap: 1.2rem;
	margin: 0 0 2rem;
}
.mwfe-day-head h3 {
	font-family: var(--mwfe-serif);
	font-weight: 500;
	font-size: clamp(1.7rem, 3.4vw, 2.6rem);
	color: var(--mwfe-gold-light);
	margin: 0;
}
.mwfe-day-head::after { content: ""; flex: 1; height: 1px; background: var(--mwfe-brass); opacity: .5; }

.mwfe-event {
	display: grid;
	grid-template-columns: minmax(6.875rem, 10rem) 1fr;
	gap: clamp(1rem, 3vw, 2.5rem);
	padding: 1.6rem 0;
	border-bottom: 1px dashed rgba(205, 173, 89, .3);
}
.mwfe-event:last-child { border-bottom: 0; }
.mwfe-event-time {
	font-family: var(--mwfe-sans);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--mwfe-brass);
	text-transform: uppercase;
	padding-top: .45rem;
	white-space: pre-line;
}
.mwfe-event-title {
	font-family: var(--mwfe-serif);
	font-size: clamp(1.2rem, 2.2vw, 1.7rem);
	font-weight: 600;
	color: var(--mwfe-cream);
	margin: 0 0 .6rem;
	line-height: 1.25;
}
.mwfe-event p { color: var(--mwfe-cream-dim); margin: .3rem 0; }
.mwfe-event.is-highlight {
	background: var(--mwfe-glass);
	border: 1px solid var(--mwfe-line);
	border-radius: 18px;
	padding: 1.6rem clamp(1rem, 2.5vw, 2rem);
	margin: 1rem 0;
}
.mwfe-speaker { padding: .55rem 0 .55rem 1.1rem; border-left: 2px solid rgba(205, 173, 89, .4); margin: .55rem 0; }
.mwfe-speaker-name { font-weight: 600; color: var(--mwfe-gold-light); }
.mwfe-speaker-affiliation {
	font-family: var(--mwfe-sans);
	font-size: .74rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mwfe-gold);
	margin: .15rem 0 .3rem;
}
.mwfe-speaker-topic { font-style: italic; font-size: .98rem; color: var(--mwfe-cream-dim); }
.mwfe-speaker-topic + .mwfe-speaker-topic { margin-top: .2rem; }

/* ------------------------------------------------- galleries */
.mwfe-collage {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(.8rem, 2vw, 1.6rem);
	padding: clamp(2rem, 6vh, 4rem) 0;
}
.mwfe-collage img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 18px;
	border: 1px solid rgba(205, 173, 89, .2);
	box-shadow: 0 22px 44px -30px rgba(0, 0, 0, .8);
}
.mwfe-collage > *:nth-child(2) { transform: translateY(clamp(1rem, 4vh, 2.6rem)); }
.mwfe-collage--two { grid-template-columns: repeat(2, 1fr); max-width: 900px; margin: 0 auto; }

/* video figure (portrait) */
.mwfe-video {
	position: relative;
	border-radius: 999px 999px 26px 26px;
	overflow: hidden;
	aspect-ratio: 9 / 14;
	background: var(--mwfe-plum);
	border: 1px solid rgba(205, 173, 89, .25);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8);
}
.mwfe-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------------------------------------------
   Portale WineHunter feed contracts — the [wh_partner_*] walls and
   [wh_hotels] emit exactly these classes (.sp-block > h3 +
   .loghi-partner > .logo-container > a > img ; .hotels-container >
   .hotel-card). The hand-maintained fallbacks use the same markup, so
   one skin covers both sources.
   ------------------------------------------------------------------ */
.mwfe .sponsor-wrapper { padding-top: clamp(2rem, 6vh, 4rem); padding-bottom: clamp(4rem, 10vh, 7rem); }

.mwfe .organisation-block {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: clamp(1.2rem, 3vw, 2.5rem);
	margin-bottom: clamp(1.5rem, 4vh, 2.5rem);
}
.mwfe .highlighter-flex { display: flex; flex-direction: column; align-items: center; gap: .4rem; }
.mwfe .highlighter-flex .mwfe-menu-title { margin: 0 0 .6rem; }
.mwfe .patronage-wrapper { display: flex; gap: 1rem; width: 100%; }
.mwfe .patronage-wrapper .logo-container { flex: 1; }

.mwfe .sp-block { margin: clamp(2rem, 6vh, 3.5rem) 0 0; }
.mwfe .sp-block h3 {
	font-family: var(--mwfe-sans);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--mwfe-brass);
	display: flex;
	align-items: center;
	gap: 1.2em;
	margin: 0 0 1.4rem;
}
.mwfe .sp-block h3::after { content: ""; flex: 1; height: 1px; background: var(--mwfe-line); }

.mwfe .loghi-partner,
.mwfe .loghi-collaboration {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: clamp(.7rem, 1.6vw, 1.2rem);
}
.mwfe .loghi-partner--featured { grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); max-width: 38.75rem; }

.mwfe .logo-container,
.mwfe .collab-container,
.mwfe .patron-container {
	background: var(--mwfe-cream);
	border: 1px solid rgba(205, 173, 89, .35);
	border-radius: 16px;
	padding: clamp(.8rem, 1.6vw, 1.3rem);
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	transition: transform .35s cubic-bezier(.2, .65, .3, 1), border-color .35s, box-shadow .35s;
}
.mwfe .logo-container:hover {
	transform: translateY(-5px);
	border-color: var(--mwfe-brass);
	box-shadow: 0 18px 36px -20px rgba(0, 0, 0, .7);
}
.mwfe .logo-container--tall { aspect-ratio: auto; min-height: 8.125rem; width: 100%; }
.mwfe .logo-container a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.mwfe .logo-container img,
.mwfe .collab-container img,
.mwfe .patron-container img {
	max-width: 86%;
	max-height: 80%;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* hotels — the [wh_hotels] card contract */
.mwfe .hotels-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(14.375rem, 1fr));
	gap: clamp(.9rem, 2vw, 1.5rem);
	padding: clamp(2rem, 6vh, 4rem) 0 clamp(4rem, 10vh, 7rem);
}
.mwfe .hotel-card {
	background: #FFF;
	border: 1px solid rgba(205, 173, 89, .35);
	border-radius: 18px;
	padding: 1.4rem 1.2rem 1.2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .8rem;
	cursor: pointer;
	color: #241014;
	transition: transform .35s cubic-bezier(.2, .65, .3, 1), border-color .35s, box-shadow .35s;
}
.mwfe .hotel-card:hover {
	transform: translateY(-5px);
	border-color: var(--mwfe-brass);
	box-shadow: 0 18px 36px -20px rgba(0, 0, 0, .7);
}
.mwfe .hotel-logo {
	max-width: 78%;
	max-height: 6.875rem;
	width: auto;
	object-fit: contain;
	margin: 0 auto;
}
.mwfe .hotel-name {
	font-family: var(--mwfe-serif);
	font-weight: 600;
	font-size: 1.08rem;
	text-align: center;
	line-height: 1.3;
	color: var(--mwfe-burgundy);
}
.mwfe .hotel-name .stars { color: var(--mwfe-gold-dark); font-size: .85em; letter-spacing: .05em; }
.mwfe .hotel-info {
	display: none;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: .5rem 1.2rem;
	flex-wrap: wrap;
	padding-top: .5rem;
	border-top: 1px dashed rgba(169, 134, 58, .45);
	font-family: var(--mwfe-sans);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.mwfe .hotel-info a { color: var(--mwfe-gold-dark); text-decoration: none; }
.mwfe .hotel-info a:hover { text-decoration: underline; }
.mwfe .hotel-info .book-now-button {
	display: inline-block;
	padding: .55em 1.3em;
	background: var(--mwfe-burgundy);
	color: var(--mwfe-gold-light);
	border-radius: 999px;
}
.mwfe .hotel-info .book-now-button:hover { background: var(--mwfe-brass); color: var(--mwfe-bg-deep); text-decoration: none; }

/* progress hairline */
.mwfe-progress {
	position: fixed;
	top: var(--mwfe-header-h);
	left: 0;
	height: 3px;
	width: 100%;
	background: var(--mwfe-brass);
	transform-origin: left;
	transform: scaleX(0);
	z-index: 20;
	pointer-events: none;
}

/* ------------------------------------------------- responsive */
@media (max-width: 1100px) {
	.mwfe-section .mwfe-fig,
	.mwfe-section.is-flip .mwfe-fig { grid-column: 1 / 13; order: 1; max-width: 560px; margin: 0 auto; width: 100%; }
	.mwfe-section .mwfe-body,
	.mwfe-section.is-flip .mwfe-body { grid-column: 1 / 13; order: 2; }
	.mwfe-num { font-size: clamp(3.5rem, 14vw, 6rem); top: .6rem; }
	.mwfe-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
	.mwfe { font-size: 1.05rem; }
	.mwfe-hero-inner { padding-bottom: 4.5rem; }
	.mwfe-seal { display: none; }
	.mwfe-fig-frame { aspect-ratio: 4 / 4.6; }
	.mwfe-cards { grid-template-columns: 1fr; }
	.mwfe-card { aspect-ratio: 4 / 4.4; }
	.mwfe-event { grid-template-columns: 1fr; gap: .3rem; }
	.mwfe-panel-card { grid-template-columns: 1fr; text-align: center; }
	.mwfe-panel-card .mwfe-panel-logos { flex-direction: row; flex-wrap: wrap; justify-content: center; }
	.mwfe-collage { grid-template-columns: 1fr; }
	.mwfe-collage > *:nth-child(2) { transform: none; }
	.mwfe-stamp { width: 100%; }
	.mwfe-stat + .mwfe-stat::before { display: none; }
}

/* no-JS safety: everything visible, no transforms */
.mwfe.mwfe-nojs [data-reveal] { opacity: 1 !important; transform: none !important; }


/* ################################################################
   MWFE FORMS — accredito (CF7) design, 2026. Scoped to .mwfe-form
   inside the .mwfe shell (Accredito template). The legacy
   .accredito-wrapper styles above stay for the pre-2026 forms.
   ################################################################ */

.mwfe .mwfe-form {
	max-width: 61.25rem;
	margin: clamp(2rem, 6vh, 4rem) auto clamp(4rem, 10vh, 6rem);
	background: var(--mwfe-cream, #fbf8f1);
	color: #241014;
	border: 1px solid rgba(205, 173, 89, .45);
	border-radius: 26px;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	box-shadow: 0 34px 70px -30px rgba(0, 0, 0, .75);
	font-family: var(--mwfe-serif, 'Cormorant Garamond', serif);
}

.mwfe .mwfe-form-head { text-align: center; margin-bottom: 4vh; background: transparent; position: relative; z-index: 5; }
.mwfe .mwfe-form-head h1 {
	font-family: var(--mwfe-serif, serif);
	font-weight: 600;
	font-size: clamp(1.9rem, 4vw, 2.9rem);
	color: #4b1221;
	margin: 0 0 .3rem;
	line-height: 1.1;
}
.mwfe .mwfe-form-head h1 span { color: #b8933f; font-weight: 500; }
.mwfe .mwfe-form-sub {
	font-family: var(--mwfe-sans, 'Raleway', sans-serif);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #8c6d1f;
	margin: 0;
}

.mwfe .mwfe-form-section {
	border: 0;
	border-top: 1px solid rgba(169, 134, 58, .35);
	margin: 0;
	padding: clamp(1.4rem, 3.5vh, 2.2rem) 0 0;
}
.mwfe .mwfe-form-section + .mwfe-form-section { margin-top: clamp(1.4rem, 3.5vh, 2.2rem); }
.mwfe .mwfe-form-section legend {
	display: inline-flex;
	align-items: center;
	gap: .7em;
	padding: 0 1.1em 0 .2em;
	font-family: var(--mwfe-sans, sans-serif);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: #8c6d1f;
}
.mwfe .mwfe-form-section legend img { width: 1.7em; height: 1.7em; object-fit: contain; }

/* the two data sections side by side (stacked on mobile) */
.mwfe .mwfe-form-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 clamp(1.4rem, 3vw, 2.6rem);
	align-items: start;
}
.mwfe .mwfe-form-cols .mwfe-form-grid { grid-template-columns: 1fr; }
.mwfe .mwfe-form-cols .mwfe-form-section + .mwfe-form-section { margin-top: 0; }

.mwfe .mwfe-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.1rem 1.6rem;
}
.mwfe .mwfe-form label {
	display: block;
	font-family: var(--mwfe-sans, sans-serif);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6b5744;
}
.mwfe .mwfe-form .wpcf7-form-control-wrap { display: block; margin-top: .45em; }
.mwfe .mwfe-form input[type="text"],
.mwfe .mwfe-form input[type="email"],
.mwfe .mwfe-form input[type="tel"],
.mwfe .mwfe-form input[type="url"],
.mwfe .mwfe-form select,
.mwfe .mwfe-form textarea {
	width: 100%;
	padding: .8em 1em;
	border: 1px solid #d8c9a8;
	border-radius: 12px;
	background: #fff;
	color: #241014;
	font-family: var(--mwfe-serif, serif);
	font-size: 1.05rem;
	letter-spacing: 0;
	text-transform: none;
	box-sizing: border-box;
	transition: border-color .25s, box-shadow .25s;
	text-indent: 0;
}
.mwfe .mwfe-form textarea { min-height: 120px; }
.mwfe .mwfe-form input:focus,
.mwfe .mwfe-form select:focus,
.mwfe .mwfe-form textarea:focus {
	outline: none;
	border-color: #b8933f;
	box-shadow: 0 0 0 3px rgba(205, 173, 89, .25);
}

/* day / radio pills */
.mwfe .mwfe-form-hint {
	font-family: var(--mwfe-serif, serif);
	font-style: italic;
	font-size: 1.02rem;
	text-transform: none;
	letter-spacing: 0;
	color: #4a3238;
	margin: .2rem 0 .8rem;
}
.mwfe .mwfe-form-days .wpcf7-form-control-wrap { margin-top: 0; }
.mwfe .mwfe-form-days .wpcf7-list-item,
.mwfe .mwfe-form-radio-row .wpcf7-list-item { display: inline-block; margin: 0 .55rem .55rem 0; }
.mwfe .mwfe-form-days .wpcf7-list-item label,
.mwfe .mwfe-form-radio-row .wpcf7-list-item label { cursor: pointer; }
.mwfe .mwfe-form-days input[type="checkbox"],
.mwfe .mwfe-form-radio-row input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.mwfe .mwfe-form-days .wpcf7-list-item-label,
.mwfe .mwfe-form-radio-row .wpcf7-list-item-label {
	display: inline-block;
	padding: .65em 1.25em;
	border: 1px solid #b8933f;
	border-radius: 999px;
	font-family: var(--mwfe-sans, sans-serif);
	font-size: .78rem !important;
	font-weight: 600;
	letter-spacing: .08em;
	color: #4b1221;
	background: #fff;
	transition: background .25s, color .25s, transform .2s;
	user-select: none;
}
.mwfe .mwfe-form-days .wpcf7-list-item-label:hover,
.mwfe .mwfe-form-radio-row .wpcf7-list-item-label:hover { transform: translateY(-2px); }
.mwfe .mwfe-form-days input:checked + .wpcf7-list-item-label,
.mwfe .mwfe-form-radio-row input:checked + .wpcf7-list-item-label {
	background: #4b1221;
	border-color: #4b1221;
	color: #fcfdde;
}
.mwfe .mwfe-form-days input:focus-visible + .wpcf7-list-item-label,
.mwfe .mwfe-form-radio-row input:focus-visible + .wpcf7-list-item-label {
	box-shadow: 0 0 0 3px rgba(205, 173, 89, .45);
}
.mwfe .mwfe-form-radiolabel {
	display: block;
	font-family: var(--mwfe-sans, sans-serif);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6b5744;
	margin-bottom: .6rem;
}
.mwfe .mwfe-form-radio-row { margin-bottom: 1.2rem; }

/* info note */
.mwfe .mwfe-form-note {
	margin-top: 1.2rem;
	padding: 1.1rem 1.4rem;
	background: #f3ead7;
	border-left: 3px solid #b8933f;
	border-radius: 0 14px 14px 0;
	font-size: 1rem;
	line-height: 1.55;
	color: #4a3238;
}
.mwfe .mwfe-form-note p { margin: .5em 0; }
.mwfe .mwfe-form-note--lead { margin: 0 0 1.6rem; text-align: center; border-left: 0; border-top: 3px solid #b8933f; border-radius: 0 0 14px 14px; }
.mwfe .mwfe-form-ticket { color: #a50000; font-weight: 700; }

/* file upload */
.mwfe .mwfe-form-file { margin: 1.2rem 0; }
.mwfe .mwfe-form-file > label {
	display: block;
	padding: 1rem 1.2rem;
	border: 1px dashed #b8933f;
	border-radius: 14px;
	background: #fff;
}
.mwfe .mwfe-form-file > label > img { width: 1.6em; height: 1.6em; object-fit: contain; vertical-align: -.4em; margin-right: .5em; }
.mwfe .mwfe-form-file input[type="file"] { margin-top: .6em; font-family: var(--mwfe-sans, sans-serif); font-size: .82rem; letter-spacing: 0; text-transform: none; }
.mwfe .mwfe-form-wide { display: block; margin-top: 1.1rem; }

/* consent + submit */
.mwfe .mwfe-form-accept {
	display: block;
	font-family: var(--mwfe-serif, serif);
	font-size: 1.02rem;
	text-transform: none;
	letter-spacing: 0;
	color: #241014;
	margin: .6rem 0;
}
.mwfe .mwfe-form-accept .wpcf7-form-control-wrap { display: inline; margin: 0; }
.mwfe .mwfe-form-accept input[type="checkbox"] {
	position: static;
	opacity: 1;
	pointer-events: auto;
	width: 1.15em;
	height: 1.15em;
	accent-color: #4b1221;
	margin-right: .5em;
	vertical-align: -.15em;
}
.mwfe .mwfe-form-accept .wpcf7-list-item { margin: 0; }
.mwfe .mwfe-form-accept .wpcf7-list-item-label { font-size: inherit !important; }
.mwfe .mwfe-form-accept a { color: #b8933f; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mwfe .mwfe-form-consent .cf-turnstile,
.mwfe .mwfe-form-consent .wpcf7-turnstile { margin: 1rem 0 0; }
.mwfe .mwfe-form-submit { text-align: center; margin: 1.6rem 0 0; }
.mwfe .mwfe-form input[type="submit"] {
	display: inline-block;
	padding: 1em 3em;
	border: 1px solid #4b1221;
	border-radius: 999px;
	background: #4b1221;
	color: #fcfdde;
	font-family: var(--mwfe-sans, sans-serif);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .3s, color .3s, transform .25s;
	width: auto;
}
.mwfe .mwfe-form input[type="submit"]:hover {
	background: #cdad59;
	border-color: #cdad59;
	color: var(--mwfe-bg-deep);
	transform: translateY(-2px);
}
.mwfe .mwfe-form .wpcf7-spinner { display: block; margin: .6rem auto 0; }

/* CF7 feedback inside the card */
.mwfe .mwfe-form .wpcf7-not-valid-tip {
	font-family: var(--mwfe-sans, sans-serif);
	font-size: .72rem;
	letter-spacing: .04em;
	text-transform: none;
	color: #a50000;
	margin-top: .3em;
}
.mwfe form.wpcf7-form .wpcf7-response-output {
	margin: 1.6rem auto 0;
	padding: .9em 1.3em;
	border: 1px solid #b8933f;
	border-radius: 12px;
	background: #f3ead7;
	color: #4b1221;
	font-family: var(--mwfe-sans, sans-serif);
	font-size: .85rem;
	text-align: center;
}
.mwfe form.wpcf7-form.invalid .wpcf7-response-output,
.mwfe form.wpcf7-form.failed .wpcf7-response-output { border-color: #a50000; color: #a50000; }
.mwfe form.wpcf7-form.sent .wpcf7-response-output { border-color: #2f6b2f; color: #2f6b2f; background: #eaf3e7; }

@media (max-width: 760px) {
	.mwfe .mwfe-form-grid { grid-template-columns: 1fr; }
	.mwfe .mwfe-form-cols { grid-template-columns: 1fr; gap: 0; }
	.mwfe .mwfe-form-cols .mwfe-form-section + .mwfe-form-section { margin-top: clamp(1.4rem, 3.5vh, 2.2rem); }
	.mwfe .mwfe-form { border-radius: 18px; }
}

/* criteria / document pages reusing the form card */
.mwfe .mwfe-form ul { margin: .6em 0 .9em 1.3em; padding: 0; }
.mwfe .mwfe-form ul li { margin: .35em 0; font-size: 1.05rem; line-height: 1.55; }
.mwfe .mwfe-form-doc p { font-size: 1.05rem; line-height: 1.6; margin: .6em 0; }


/* ################################################################
   CULINARIA — the one page that keeps its own colour scheme.
   The GourmetArena teal from the historical culinaria.css
   (body was linear-gradient(90deg,#104748,#287578,#104748);
   #297478 carried the accents) replaces the 2026 wine palette,
   for THIS TEMPLATE ONLY. Everything is token-level: the design
   system's components read the same variables, so only the wave
   background is restated. Gold/brass and cream stay untouched —
   they are the festival identity, not the section colour.
   ################################################################ */

body.page-template-culinaria {
	background: linear-gradient(160deg, #297478 0%, #1c5c5f 45%, #104748 100%);
	background-attachment: fixed;
}

.mwfe-culinaria {
	--mwfe-wine: #297478;
	--mwfe-wine-mid: #1c5c5f;
	--mwfe-bg-deep: #104748;
	--mwfe-plum: #14504f;
	--mwfe-burgundy: #297478;
	--mwfe-burgundy-soft: #35878b;
	--mwfe-ink-rgb: 16, 71, 72; /* #104748 */
	--mwfe-line: rgba(205, 173, 89, .3);

	background-color: var(--mwfe-bg-deep);
	background-image:
		url('/core/bg/mwfe-ground-teal.webp');
}
@media (max-width: 900px) {
	.mwfe-culinaria { background-image: url('/core/bg/mwfe-ground-teal-m.webp'); }
}

/* =====================================================================
   MWF EDITORIAL - VISITORS AREA (page-templates/page-visitorsarea.php)
   Visual tab bar built from the four illustration graphics, one section
   visible at a time; hosts the [wh_hotels] card contract; Leaflet map
   with the festival pins replaces the former Maps Marker embed.
   ===================================================================== */
.mwfe-visitors .mwfe-visitors-tabs { padding: clamp(1.5rem, 4vh, 3rem) 0 0; }
.mwfe-visitors .mwfe-tabbar--visual {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(.8rem, 2vw, 1.4rem);
	padding: 0 0 clamp(2rem, 5vh, 3.2rem);
	max-width: 72rem;
	margin: 0 auto;
}
.mwfe-visitors .mwfe-tabbar--visual button {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .9rem;
	padding: 1.4rem 1rem 1.3rem;
	border-radius: 22px;
	background: var(--mwfe-glass);
	border: 1px solid var(--mwfe-line);
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .7rem;
	line-height: 1.3;
	color: var(--mwfe-gold-light);
	transition: transform .4s cubic-bezier(.2, .65, .3, 1), border-color .3s, box-shadow .3s, background .3s;
}
.mwfe-visitors .mwfe-tabbar--visual button img {
	width: clamp(5rem, 9vw, 8rem);
	height: auto;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .45));
	transition: transform .5s cubic-bezier(.2, .65, .3, 1);
}
.mwfe-visitors .mwfe-tabbar--visual button:hover { transform: translateY(-4px); border-color: var(--mwfe-brass); }
.mwfe-visitors .mwfe-tabbar--visual button:hover img { transform: scale(1.06) rotate(-2deg); }
.mwfe-visitors .mwfe-tabbar--visual button.is-active {
	background: rgba(205, 173, 89, .14);
	border-color: var(--mwfe-brass);
	color: var(--mwfe-brass);
	box-shadow: 0 0 0 1px rgba(205, 173, 89, .35), 0 24px 48px -24px rgba(0, 0, 0, .8);
}
@media (max-width: 760px) {
	.mwfe-visitors .mwfe-tabbar--visual { grid-template-columns: repeat(2, 1fr); }
}

.mwfe-visitors .mwfe-panel { padding: 0 0 clamp(3rem, 8vh, 6rem); }
.mwfe-visitors .mwfe-panel-head { text-align: center; max-width: 46rem; margin: 0 auto clamp(1.6rem, 4vh, 2.6rem); }
.mwfe-visitors .mwfe-panel-head .mwfe-h2 { margin: .3rem 0 .6rem; }
.mwfe-visitors .mwfe-panel-head p { color: var(--mwfe-cream-dim); margin: 0; }

/* Reach us: three info cards + the map */
.mwfe-reach { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(.9rem, 2vw, 1.4rem); margin-bottom: clamp(1.6rem, 4vh, 2.6rem); }
@media (max-width: 900px) { .mwfe-reach { grid-template-columns: 1fr; } }
.mwfe-reach-card {
	background: var(--mwfe-glass);
	border: 1px solid var(--mwfe-line);
	border-radius: 20px;
	padding: clamp(1.3rem, 2.5vw, 1.8rem);
	color: var(--mwfe-cream-dim);
	font-size: .93rem;
	line-height: 1.65;
}
.mwfe-reach-card h3 {
	font-family: var(--mwfe-serif);
	font-weight: 600;
	font-size: 1.45rem;
	color: var(--mwfe-gold-light);
	margin: 0 0 .6rem;
	display: flex;
	align-items: center;
	gap: .6rem;
}
.mwfe-reach-card h3 span.mwfe-reach-ico { font-size: 1.1rem; color: var(--mwfe-brass); }
.mwfe-reach-card ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .55rem; }
.mwfe-reach-card li { padding-left: 1rem; position: relative; }
.mwfe-reach-card li::before { content: ""; position: absolute; left: 0; top: .65em; width: 5px; height: 5px; border-radius: 50%; background: var(--mwfe-brass); }
.mwfe-reach-card p { margin: 0; }
.mwfe-reach-card strong { color: var(--mwfe-gold-light); font-weight: 600; }

.mwfe-map {
	position: relative;
	height: clamp(22rem, 52vh, 32rem);
	border-radius: 22px;
	overflow: hidden;
	border: 1px solid var(--mwfe-line);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8);
	background: var(--mwfe-plum);
	z-index: 0;
}
.mwfe-map .leaflet-container { height: 100%; width: 100%; background: #1f1416; font-family: var(--mwfe-sans); }
.mwfe-map .leaflet-tile-pane { filter: grayscale(.25) sepia(.12) brightness(.92) contrast(1.02); }
.mwfe-map .leaflet-control-attribution { background: rgba(var(--mwfe-ink-rgb), .75); color: var(--mwfe-cream-dim); font-size: .62rem; }
.mwfe-map .leaflet-control-attribution a { color: var(--mwfe-brass); }
.mwfe-map .leaflet-control-zoom a { background: var(--mwfe-bg-deep); color: var(--mwfe-gold-light); border-color: var(--mwfe-line); }
.mwfe-map .leaflet-control-zoom a:hover { background: var(--mwfe-burgundy); }
.mwfe-pin { position: relative; }
.mwfe-pin-dot {
	width: 18px; height: 18px;
	border-radius: 50%;
	background: var(--mwfe-burgundy);
	border: 2px solid var(--mwfe-brass);
	box-shadow: 0 0 0 6px rgba(205, 173, 89, .18), 0 6px 14px rgba(0, 0, 0, .55);
	transition: transform .3s;
}
.mwfe-pin--main .mwfe-pin-dot { width: 24px; height: 24px; background: var(--mwfe-brass); border-color: var(--mwfe-gold-light); }
.mwfe-pin:hover .mwfe-pin-dot { transform: scale(1.2); }
.mwfe-map .leaflet-popup-content-wrapper {
	background: var(--mwfe-bg-deep);
	color: var(--mwfe-cream);
	border: 1px solid var(--mwfe-line);
	border-radius: 14px;
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .9);
	font-family: var(--mwfe-sans);
	font-size: .85rem;
}
.mwfe-map .leaflet-popup-tip { background: var(--mwfe-bg-deep); }
.mwfe-map .leaflet-popup-content { margin: .9rem 1.1rem; line-height: 1.5; }
.mwfe-map .leaflet-popup-content strong { display: block; font-family: var(--mwfe-serif); font-size: 1.15rem; color: var(--mwfe-gold-light); margin-bottom: .2rem; }
.mwfe-map .leaflet-popup-content a { color: var(--mwfe-brass); font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.mwfe-map .leaflet-popup-close-button { color: var(--mwfe-cream-dim); }
.mwfe-map-legend { display: flex; flex-wrap: wrap; gap: .5rem .9rem; justify-content: center; margin-top: 1rem; font-family: var(--mwfe-sans); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mwfe-cream-dim); }
.mwfe-map-legend button {
	appearance: none; border: 1px solid var(--mwfe-line); background: var(--mwfe-glass); color: var(--mwfe-gold-light);
	border-radius: 999px; padding: .5em 1em; font: inherit; cursor: pointer; transition: border-color .3s, background .3s;
}
.mwfe-map-legend button:hover { border-color: var(--mwfe-brass); background: rgba(205, 173, 89, .14); }

/* Hotels panel: inherits the .mwfe .hotels-container card contract */
.mwfe-visitors .hotels-container { padding-top: .5rem; }
.mwfe-visitors .hotel-card { cursor: pointer; }

/* Locations */
.mwfe-locations { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1rem, 2.5vw, 1.8rem); }
@media (max-width: 900px) { .mwfe-locations { grid-template-columns: 1fr; } }
.mwfe-loc {
	background: var(--mwfe-glass);
	border: 1px solid var(--mwfe-line);
	border-radius: 22px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .4s cubic-bezier(.2, .65, .3, 1), border-color .3s, box-shadow .3s;
}
.mwfe-loc:hover { transform: translateY(-4px); border-color: var(--mwfe-brass); box-shadow: 0 30px 50px -30px rgba(0, 0, 0, .9); }
.mwfe-loc-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.mwfe-loc-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .65, .3, 1); }
.mwfe-loc:hover .mwfe-loc-media img { transform: scale(1.05); }
.mwfe-loc-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(var(--mwfe-ink-rgb), .9)); }
.mwfe-loc-cap { position: absolute; left: 1.3rem; right: 1.3rem; bottom: 1.1rem; z-index: 2; }
.mwfe-loc-cap h3 { font-family: var(--mwfe-serif); font-weight: 600; font-size: 1.7rem; color: var(--mwfe-gold-light); margin: 0 0 .2rem; }
.mwfe-loc-cap address { font-style: normal; font-family: var(--mwfe-sans); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mwfe-brass); }
.mwfe-loc-body { padding: clamp(1.2rem, 2.5vw, 1.7rem); color: var(--mwfe-cream-dim); font-size: .93rem; line-height: 1.65; display: flex; flex-direction: column; flex: 1; }
.mwfe-loc-body p { margin: 0 0 .8em; }
.mwfe-loc-details { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .55s cubic-bezier(.2, .65, .3, 1); }
.mwfe-loc-details > div { overflow: hidden; }
.mwfe-loc-details.is-open { grid-template-rows: 1fr; }
.mwfe-loc-details h4 { font-family: var(--mwfe-serif); font-weight: 600; font-size: 1.12rem; color: var(--mwfe-gold-light); margin: 1.1rem 0 .25rem; }
.mwfe-loc-details > div > *:first-child { margin-top: .4rem; padding-top: .9rem; border-top: 1px dashed rgba(205, 173, 89, .35); }
.mwfe-loc-more {
	appearance: none; margin-top: auto; align-self: flex-start;
	background: transparent; border: 1px solid var(--mwfe-brass); color: var(--mwfe-gold-light);
	border-radius: 999px; padding: .65em 1.3em; font-family: var(--mwfe-sans); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
	cursor: pointer; display: inline-flex; align-items: center; gap: .6em; transition: background .3s, color .3s;
}
.mwfe-loc-more:hover, .mwfe-loc-more.is-active { background: var(--mwfe-brass); color: var(--mwfe-bg-deep); }
.mwfe-loc-more i { font-style: normal; transition: transform .4s; }
.mwfe-loc-more.is-active i { transform: rotate(45deg); }

/* Fuori Salone */
.mwfe-fs { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
@media (max-width: 900px) { .mwfe-fs { grid-template-columns: 1fr; } }
.mwfe-fs figure { margin: 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--mwfe-line); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9); }
.mwfe-fs figure img { width: 100%; height: auto; display: block; }
.mwfe-fs .mwfe-prose { margin-bottom: 1.4rem; }

/* =====================================================================
   VISITORS AREA - light ground (user request 2026-08-23):
   white at the top fading to dark grey at the page end. Scoped to
   .mwfe.mwfe-visitors so every other .mwfe page keeps the wine waves.
   The hero keeps its image + dark overlay; the tab area below adapts
   to the light ground (white cards, dark text, wine/brass accents).
   ===================================================================== */
.mwfe.mwfe-visitors {
	background-color: #ffffff;
	/* the same wave art as the dark pages, in the visitors' white→gray ramp
	   (pre-rendered, see tools-assets/mwfe-ground/). The tonal arc of the old
	   flat gradient — light top, slate bottom — is preserved, so the text and
	   panel colors below keep their contrast zones. Desktop uses the same
	   fixed+cover mechanics as the dark pages (the backdrop stays with the
	   viewport while content glides over it); mobile keeps the
	   document-stretched arc. */
	background-image: url('/core/bg/mwfe-ground-visitors.webp');
	background-size: cover;
	background-attachment: fixed;
	background-position: center top;
}
@media (max-width: 900px) {
	/* fixed repaints badly on mobile — there the arc maps to the document */
	.mwfe.mwfe-visitors { background-image: url('/core/bg/mwfe-ground-visitors-m.webp'); background-attachment: scroll; background-size: 100% 100%; }
}

/* --- text on the open ground (panel heads live in the light zone) --- */
.mwfe-visitors .mwfe-visitors-tabs { color: #2a2224; }
.mwfe-visitors .mwfe-visitors-tabs .mwfe-kicker { color: #8c6d1f; }
.mwfe-visitors .mwfe-visitors-tabs .mwfe-h2 { color: #671e26; }
.mwfe-visitors .mwfe-panel-head p { color: #4a4144; }
.mwfe-visitors .mwfe-visitors-tabs .mwfe-prose p { color: #4a4144; }
.mwfe-visitors .mwfe-visitors-tabs .mwfe-prose strong { color: #671e26; }

/* --- the four graphic tab tiles --- */
.mwfe-visitors .mwfe-tabbar--visual button {
	background: rgba(255, 255, 255, .85);
	border-color: rgba(42, 34, 36, .16);
	color: #4a4144;
	box-shadow: 0 10px 28px -18px rgba(42, 34, 36, .35);
}
.mwfe-visitors .mwfe-tabbar--visual button img { filter: drop-shadow(0 8px 14px rgba(42, 34, 36, .28)); }
.mwfe-visitors .mwfe-tabbar--visual button:hover { border-color: #671e26; }
.mwfe-visitors .mwfe-tabbar--visual button.is-active {
	background: #ffffff;
	border-color: #671e26;
	color: #671e26;
	box-shadow: 0 0 0 1px rgba(103, 30, 38, .25), 0 18px 38px -20px rgba(42, 34, 36, .45);
}

/* --- reach cards --- */
.mwfe-visitors .mwfe-reach-card {
	background: rgba(255, 255, 255, .9);
	border-color: rgba(42, 34, 36, .14);
	color: #4a4144;
	box-shadow: 0 10px 28px -20px rgba(42, 34, 36, .35);
}
.mwfe-visitors .mwfe-reach-card h3 { color: #671e26; }
.mwfe-visitors .mwfe-reach-card h3 span.mwfe-reach-ico { color: #8c6d1f; }
.mwfe-visitors .mwfe-reach-card li::before { background: #8c6d1f; }
.mwfe-visitors .mwfe-reach-card strong { color: #241014; }

/* --- map frame + legend on the light ground --- */
.mwfe-visitors .mwfe-map { border-color: rgba(42, 34, 36, .18); box-shadow: 0 24px 48px -28px rgba(42, 34, 36, .5); }
.mwfe-visitors .mwfe-map .leaflet-tile-pane { filter: none; }
.mwfe-visitors .mwfe-map-legend { color: #4a4144; }
.mwfe-visitors .mwfe-map-legend button {
	background: rgba(255, 255, 255, .9);
	border-color: rgba(42, 34, 36, .18);
	color: #671e26;
}
.mwfe-visitors .mwfe-map-legend button:hover { border-color: #671e26; background: rgba(103, 30, 38, .08); }

/* --- locations --- */
.mwfe-visitors .mwfe-loc {
	background: #ffffff;
	border-color: rgba(42, 34, 36, .14);
	box-shadow: 0 14px 34px -24px rgba(42, 34, 36, .4);
}
.mwfe-visitors .mwfe-loc:hover { border-color: #671e26; box-shadow: 0 26px 46px -26px rgba(42, 34, 36, .55); }
.mwfe-visitors .mwfe-loc-body { color: #4a4144; }
.mwfe-visitors .mwfe-loc-details h4 { color: #671e26; }
.mwfe-visitors .mwfe-loc-details > div > *:first-child { border-top-color: rgba(140, 109, 31, .35); }
.mwfe-visitors .mwfe-loc-more { border-color: #671e26; color: #671e26; background: transparent; }
.mwfe-visitors .mwfe-loc-more:hover, .mwfe-visitors .mwfe-loc-more.is-active { background: #671e26; color: #fcfdde; }

/* --- fuori salone CTA (base hover sweeps a brass fill + dark text: keep that,
       only the resting state adapts to the light ground) --- */
.mwfe-visitors .mwfe-visitors-tabs .mwfe-btn { border-color: #671e26; color: #671e26; }
.mwfe-visitors .mwfe-fs figure { border-color: rgba(42, 34, 36, .16); box-shadow: 0 24px 48px -28px rgba(42, 34, 36, .5); }

/* the cellar grain reads as dust on white - hide it here */
.mwfe.mwfe-visitors::after { display: none; }
