/* Molè 2026 — solo dove Elementor non arriva. Tutto sotto body.m26. */

body.m26 { background: #FFFFFF; overflow-x: clip; }

/* Focus sempre visibile da tastiera. */
.m26 a:focus-visible,
.m26 button:focus-visible,
.m26 .elementor-button:focus-visible {
	outline: 2px solid #8C6239;
	outline-offset: 3px;
}

/* Link dentro ai testi: riconoscibili senza dipendere dal colore. */
body.m26 .e-con .elementor-widget-text-editor a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
body.m26 .e-con .elementor-widget-text-editor a:hover { color: #8C6239; }

/* Grassetti nei testi: stesso colore del paragrafo (anche su foto scura), peso pieno. */
.m26 .elementor-widget-text-editor strong { font-weight: 700; color: inherit; }

/* Paragrafi: lo spazio tra paragrafi dello stesso blocco. */
.m26 .elementor-widget-text-editor p { margin-block: 0 1em; }
.m26 .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/*
 * Parola in corsivo dentro al titolo (<em>): Parisienne al posto del corsivo
 * sovrapposto, così non ripete il titolo. Il colore si adatta al fondo.
 */
/* 12/10/2026: in OGNI titolo una parola importante e corta in <em> (regola utente). */
.m26 .elementor-heading-title em {
	font-family: "Parisienne", cursive;
	font-style: normal;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	font-size: 1.55em;
	line-height: .8;
	color: #8C6239;
	padding: 0 .06em;
}
.m26 .elementor-heading-title em { font-style: normal; }
.m26 .m26-chiaro .elementor-heading-title em { color: #EDE4D6; }

/* Corsivo sovrapposto al titolo: non intercetta click e selezione. */
.m26 .m26-deco { pointer-events: none; user-select: none; position: relative; }

/* Freccia sottile dopo il testo dei bottoni. */
.m26 .m26-freccia .elementor-button-text::after {
	content: "";
	display: inline-block;
	width: 26px; height: 1px;
	margin-left: 14px;
	vertical-align: middle;
	background: currentColor;
	transition: width .25s ease;
}
.m26 .m26-freccia .elementor-button:hover .elementor-button-text::after { width: 38px; }

/* Filo verticale sotto i prodotti scontornati (fila prodotti). */
.m26 .m26-filo::after {
	content: "";
	display: block;
	width: 1px; height: 44px;
	margin: 14px auto 0;
	background: #D8CCBA;
}

/*
 * Hero a tutta pagina: la foto è un <img> vero (priorità alta per l'LCP),
 * steso dietro al testo. La sfumatura scura sta solo dal lato del testo.
 */
.m26 .m26-hero { position: relative; overflow: hidden; }
.m26 .m26-hero-bg { position: absolute !important; inset: 0; z-index: 0; margin: 0 !important; }
.m26 .m26-hero-bg .elementor-widget-container,
.m26 .m26-hero-bg img { width: 100%; height: 100% !important; object-fit: cover; object-position: 60% center; }
.m26 .m26-hero-bg::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(24,17,12,.72) 0%, rgba(24,17,12,.45) 45%, rgba(24,17,12,0) 75%);
}
.m26 .m26-hero > .e-con { position: relative; z-index: 1; }
@media (max-width: 767px) {
	.m26 .m26-hero-bg img { object-position: 72% center; }
	.m26 .m26-hero-bg::after { background: linear-gradient(0deg, rgba(24,17,12,.78) 0%, rgba(24,17,12,.5) 55%, rgba(24,17,12,.25) 100%); }
}

/* Caroselli: slide della stessa altezza, frecce leggibili su qualsiasi foto. */
.m26 .m26-car .swiper-slide-image { width: 100%; height: 420px; object-fit: cover; display: block; }
.m26 .m26-car-larga .swiper-slide-image { height: 560px; }
.m26 .m26-car .elementor-swiper-button { filter: drop-shadow(0 1px 3px rgba(0,0,0,.55)); }
@media (max-width: 1024px) {
	.m26 .m26-car .swiper-slide-image { height: 360px; }
	.m26 .m26-car-larga .swiper-slide-image { height: 440px; }
}
@media (max-width: 767px) {
	.m26 .m26-car .swiper-slide-image,
	.m26 .m26-car-larga .swiper-slide-image { height: 300px; }
}

/* Aperture (13/10/2026): bottone in evidenza; su telefono foto nitida in alto (40vh) che sfuma nel bianco, sotto titolo, frase e bottone a tutta larghezza. */
.m26 .m26-hero .elementor-button { background-color: #8C6239 !important; border-color: #8C6239 !important; color: #FFFFFF !important; padding: 20px 34px !important; box-shadow: 0 16px 30px -14px rgba(140,98,57,.65); }
.m26 .m26-hero .elementor-button:hover { background-color: #2B211A !important; border-color: #2B211A !important; }
@media (max-width: 767px) {
	.m26 .m26-hero { min-height: 0 !important; }
	.m26 .m26-hero > .elementor-background-slideshow { height: 40vh !important; bottom: auto !important; }
	.m26 .m26-hero::before,
	.m26 .m26-hero > .elementor-background-slideshow::before {
		background-image: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,0) calc(40vh - 90px), #FFFFFF 40vh) !important;
	}
	.m26 .m26-hero > .e-con { padding-top: calc(40vh - 30px) !important; }
	.m26 .m26-hero .elementor-widget-button, .m26 .m26-hero .elementor-button { width: 100%; }
	.m26 .m26-hero .elementor-button { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
	.m26 .m26-hero .elementor-ken-burns { transform: none !important; transition: none !important; }
}

/* Mappa bloccata da iubenda finché non si accettano i cookie: riquadro voluto, non un buco. */
.m26 .elementor-widget-google_maps iframe { display: block; background: #EDE4D6; }

@media (prefers-reduced-motion: reduce) {
	.m26 .animated { animation: none !important; opacity: 1 !important; }
	.m26 .m26-freccia .elementor-button-text::after { transition: none; }
}

/* Elenco di link nel footer: niente sottolineatura fissa, riga ariosa. */
body.m26 .e-con .m26-link-lista a { text-decoration: none; }
body.m26 .e-con .m26-link-lista a:hover { text-decoration: underline; }
.m26 .m26-link-lista p { line-height: 2.1; }

/* Menu mobile/tablet: pannello bianco fino in fondo allo schermo, voci a sinistra separate da un filetto. */
@media (max-width: 1024px) {
	.m26 .elementor-location-header .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown {
		height: calc(100dvh - 67px); max-height: calc(100dvh - 67px); overflow-y: auto;
		border-top: 1px solid #ECE4D8; box-shadow: none;
	}
	.m26 .elementor-location-header .elementor-nav-menu--dropdown li + li { border-top: 1px solid #ECE4D8; }
}

/* Badge "preferenze cookie" di iubenda: copriva la barra fissa. Le preferenze restano nel link del footer. */
html body.m26 button.iubenda-tp-btn.iubenda-tp-btn.iubenda-tp-btn.iubenda-tp-btn[data-tp-float][data-tp-float] { display: none !important; }

/* Recensioni (df_recensioni): testo sempre in alto nella scheda, anche quando la fila ha schede piu' alte. */
.m26 .m26-recensioni .df-rec__card { justify-content: flex-start; }

/* ====== 12/10/2026 — Rilievo e movimento (testo mai sopra le foto) ====== */
/* Foto: ombra profonda, si solleva appena al passaggio del mouse. */
.m26 .m26-foto img { box-shadow: 0 34px 50px -30px rgba(43,33,26,.55); transition: transform .7s cubic-bezier(.2,.7,.2,1), box-shadow .7s; }
.m26 .m26-foto:hover img { transform: translateY(-6px); box-shadow: 0 44px 60px -30px rgba(43,33,26,.6); }
/* Apertura "Rivista": foto a presentazione con ombra morbida, scheda bianca sovrapposta. */
.m26 .m26-hero-foto { box-shadow: 0 40px 60px -40px rgba(43,33,26,.55); overflow: hidden; }
.m26 .m26-scheda { box-shadow: 0 36px 70px -36px rgba(43,33,26,.38); }
/* Scontornati: ombra che segue la sagoma. */
.m26 .m26-cut img { filter: drop-shadow(0 26px 22px rgba(43,33,26,.32)); }
/* Scritta corsiva che esce sopra le foto. */
.m26 .elementor-widget.m26-tag .elementor-heading-title {
	display: inline-block; font-family: "Parisienne", cursive !important; font-size: 36px !important; line-height: 1.15 !important; font-weight: 400 !important;
	text-transform: none !important; letter-spacing: 0 !important; color: #8C6239 !important; background: #FFFFFF; padding: 4px 22px 10px;
	box-shadow: 0 14px 30px -14px rgba(43,33,26,.45); transform: rotate(-3deg);
}
@media (max-width: 767px) {
	.m26 .elementor-widget.m26-tag .elementor-heading-title { font-size: 28px !important; padding: 2px 16px 8px; }
}
@media (prefers-reduced-motion: reduce) {
	.m26 .m26-foto img { transition: none; }
	.m26 .m26-foto:hover img { transform: none; }
}

/* Aperture a foto unica: sulle pagine senza caroselli Elementor non avvia la presentazione (swiper) e la slide resta alta 0. */
.m26 .m26-hero .elementor-background-slideshow .swiper-wrapper,
.m26 .m26-hero .elementor-background-slideshow__slide { height: 100%; }

/* ====== 13/10/2026 — Barra fissa compatta e icone a linea sottile ====== */
body.m26 .df-nav a.df-nav-item[href^="tel:"]{--m26-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z%22 /%3E%3C/svg%3E")}
body.m26 .df-nav a.df-nav-item[href*="google.com/maps"]{--m26-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0%22 /%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%223%22 /%3E%3C/svg%3E")}
body.m26 .df-nav a.df-nav-item[href*="plateform.app"]{--m26-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2%22 /%3E%3Cpath d=%22M7 2v20%22 /%3E%3Cpath d=%22M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7%22 /%3E%3C/svg%3E")}
body.m26 .df-nav a.df-nav-item[href*="/prodotti/"]{--m26-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m4.6 13.11 5.79-3.21c1.89-1.05 4.79 1.78 3.71 3.71l-3.22 5.81C8.8 23.16.79 15.23 4.6 13.11Z%22 /%3E%3Cpath d=%22m10.5 9.5-1-2.29C9.2 6.48 8.8 6 8 6H4.5C2.79 6 2 6.5 2 8.5a7.71 7.71 0 0 0 2 4.83%22 /%3E%3Cpath d=%22M8 6c0-1.55.24-4-2-4-2 0-2.5 2.17-2.5 4%22 /%3E%3Cpath d=%22m14.5 13.5 2.29 1c.73.3 1.21.7 1.21 1.5v3.5c0 1.71-.5 2.5-2.5 2.5a7.71 7.71 0 0 1-4.83-2%22 /%3E%3Cpath d=%22M18 16c1.55 0 4-.24 4 2 0 2-2.17 2.5-4 2.5%22 /%3E%3C/svg%3E")}
body.m26 .df-nav a.df-nav-item[href*="/torte-su-ordinazione/"]{--m26-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%227%22 r=%222%22 /%3E%3Cpath d=%22M7.2 7.9 3 11v9c0 .6.4 1 1 1h16c.6 0 1-.4 1-1v-9c0-2-3-6-7-8l-3.6 2.6%22 /%3E%3Cpath d=%22M16 13H3%22 /%3E%3Cpath d=%22M16 17H3%22 /%3E%3C/svg%3E")}
body.m26 .df-nav .df-nav-ico svg{display:none !important}
body.m26 .df-nav .df-nav-ico::after{content:"";display:block;width:1em;height:1em;background:currentColor;-webkit-mask:var(--m26-ico) center/contain no-repeat;mask:var(--m26-ico) center/contain no-repeat}
/* Prenota: piccola pillola caramello al posto del cerchio sporgente. */
body.m26 .df-nav a.df-nav-item[href*="plateform.app"] .df-nav-ico{width:46px !important;height:28px !important;margin-top:0 !important;border-radius:14px !important;font-size:17px !important;background:#8C6239 !important;color:#FFFFFF !important;box-shadow:0 6px 14px -6px rgba(140,98,57,.7) !important}
@media (max-width:1024px){
 body.m26 .df-nav .df-nav-inner{padding:5px 6px calc(5px + env(safe-area-inset-bottom)) !important;gap:0 !important}
 body.m26 .df-nav .df-nav-item{flex:1 1 0;gap:3px !important;padding:2px 0 !important}
 body.m26 .df-nav .df-nav-ico{font-size:20px !important;height:28px}
 body.m26 .df-nav .df-nav-label{font-size:10px !important;font-weight:500 !important;letter-spacing:.06em !important}
}
/* Menu: due filetti sottili sfalsati e croce sottile, al posto delle icone piene. */
.m26 .elementor-location-header .elementor-menu-toggle svg{display:none !important}
.m26 .elementor-location-header .elementor-menu-toggle::before{content:"";display:block;width:28px;height:28px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 8.5h18%22/%3E%3Cpath d=%22M9 15.5h12%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 8.5h18%22/%3E%3Cpath d=%22M9 15.5h12%22/%3E%3C/svg%3E") center/contain no-repeat}
.m26 .elementor-location-header .elementor-menu-toggle.elementor-active::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 6l12 12%22/%3E%3Cpath d=%22M18 6 6 18%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 6l12 12%22/%3E%3Cpath d=%22M18 6 6 18%22/%3E%3C/svg%3E")}
/* Titoli da telefono: piu' aria sotto le foto, cosi' l'ombra non li tocca. */
@media (max-width:767px){
 .m26 .elementor-widget.m26-foto, .m26 .elementor-widget.m26-cut{margin-bottom:28px !important}
}

/* 13/10/2026 — Recensioni senza data; bottoni piu' compatti da telefono. */
.m26 .m26-recensioni .df-rec__meta { display: none; }
@media (max-width:767px){
 .m26 .m26-hero .elementor-button { padding:14px 22px !important; }
}

/* 19/10/2026 - dato incerto: sottolineato giallo + tooltip (DCT() in m26-pagine.php). Da togliere quando il cliente conferma. */
.m26-incerto { position: relative; cursor: help; text-decoration: underline; text-decoration-color: #F2C200; text-decoration-thickness: 3px; text-underline-offset: 3px; outline: none; }
.m26-incerto::after { content: attr(data-tip); position: absolute; left: 0; bottom: calc(100% + 8px); z-index: 20; width: max-content; max-width: 260px; padding: 8px 12px; background: #402B1B; color: #FFFFFF; font-size: 13px; line-height: 1.4; font-style: normal; font-weight: 400; text-decoration: none; white-space: normal; border-radius: 4px; box-shadow: 0 4px 14px rgba(0,0,0,.15); opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .2s, transform .2s, visibility .2s; pointer-events: none; }
.m26-incerto:hover::after, .m26-incerto:focus::after { opacity: 1; visibility: visible; transform: translateY(0); }
@media (max-width: 767px) { .m26-incerto::after { max-width: 220px; } }
