/* ==========================================================================
   Mondo dei Tessuti – front end + editor styles
   Tokens come from theme.json (--wp--preset--*). Breakpoints: tablet ≤1024px, mobile ≤640px.
   ========================================================================== */

:root {
	--mdt-ink: var(--wp--preset--color--inchiostro);
	--mdt-text: var(--wp--preset--color--testo);
	--mdt-ivory: var(--wp--preset--color--avorio);
	--mdt-paper: var(--wp--preset--color--carta);
	--mdt-sand: var(--wp--preset--color--sabbia);
	--mdt-night: var(--wp--preset--color--notte);
	--mdt-violet: var(--wp--preset--color--viola);
	--mdt-teal: var(--wp--preset--color--turchese);
	--mdt-gold: var(--wp--preset--color--oro);
	--mdt-serif: var(--wp--preset--font-family--serif);
	--mdt-sans: var(--wp--preset--font-family--sans);
	--mdt-ease: cubic-bezier(.22, .61, .36, 1);
	--mdt-gutter: var(--wp--custom--gutter, clamp(1rem, 4vw, 3rem));
	--mdt-wide: 1320px;
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: var(--mdt-violet); color: #fff; }
img { max-width: 100%; height: auto; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--mdt-teal); outline-offset: 3px; }
.skip-link:focus { z-index: 1000; }
.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
main { min-height: 50vh; }

/* ---------- Typography helpers ---------- */
.is-style-eyebrow, .mdt-eyebrow {
	font-family: var(--mdt-sans) !important; font-size: .75rem !important; font-weight: 500; letter-spacing: .24em;
	text-transform: uppercase; color: var(--mdt-gold); margin-bottom: .25rem;
}
.is-style-eyebrow::before { content: ""; display: inline-block; width: 2.25rem; height: 1px; background: currentColor; vertical-align: middle; margin-right: .9rem; transform: translateY(-2px); }
.has-text-align-center .is-style-eyebrow::before, .is-style-eyebrow.has-text-align-center::before, .mdt-hero--align-center .is-style-eyebrow::before { display: none; }
.is-style-lead { font-size: clamp(1.1rem, 1.4vw, 1.3rem) !important; line-height: 1.6; color: var(--mdt-ink); font-weight: 300; }
.is-style-display { font-style: italic; font-weight: 400 !important; }
.is-style-underline::after { content: ""; display: block; width: 3.5rem; height: 1px; background: var(--mdt-gold); margin-top: 1.25rem; }
.has-text-align-center.is-style-underline::after { margin-inline: auto; }
h1 em, h2 em, h3 em { font-style: italic; color: var(--mdt-violet); font-weight: 400; }
.has-avorio-color h1 em, .has-avorio-color h2 em, .mdt-hero--dark h1 em { color: inherit; }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 1.6rem; margin-bottom: .55rem; }
.is-style-checks li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; background: var(--mdt-gold); transform: rotate(45deg); }
.is-style-editorial { border: 0 !important; padding: 0 !important; text-align: center; font-size: clamp(1.6rem, 3vw, 2.4rem) !important; }
.is-style-editorial::before { content: "“"; display: block; font-size: 4rem; line-height: .6; color: var(--mdt-gold); margin-bottom: .5rem; }
.is-style-editorial cite { font-family: var(--mdt-sans); font-style: normal; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--mdt-gold); }

/* ---------- Buttons ---------- */
.wp-block-button__link, .mdt-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 48px;
	transition: background-color .35s var(--mdt-ease), color .35s var(--mdt-ease), border-color .35s var(--mdt-ease);
}
.mdt-btn {
	font-family: var(--mdt-sans); font-size: .78rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; line-height: 1;
	padding: 1.15rem 2.1rem; background: var(--mdt-ink); color: var(--mdt-ivory); border: 1px solid var(--mdt-ink); text-decoration: none; cursor: pointer; border-radius: 0;
}
.mdt-btn:hover { background: var(--mdt-violet); border-color: var(--mdt-violet); color: #fff; }
.is-style-outline > .wp-block-button__link, .mdt-btn--outline { background: transparent !important; color: var(--mdt-ink) !important; border: 1px solid var(--mdt-ink) !important; }
.is-style-outline > .wp-block-button__link:hover, .mdt-btn--outline:hover { background: var(--mdt-ink) !important; color: var(--mdt-ivory) !important; }
.is-style-light > .wp-block-button__link { background: var(--mdt-ivory) !important; color: var(--mdt-ink) !important; border-color: var(--mdt-ivory) !important; }
.is-style-light > .wp-block-button__link:hover { background: transparent !important; color: var(--mdt-ivory) !important; }
.is-style-link > .wp-block-button__link, .mdt-link {
	background: none !important; border: 0 !important; padding: .35rem 0 !important; min-height: 0; color: inherit !important;
	font-family: var(--mdt-sans); font-size: .75rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
	background-image: linear-gradient(currentColor, currentColor) !important; background-size: 100% 1px !important; background-position: 0 100% !important; background-repeat: no-repeat !important;
	transition: background-size .45s var(--mdt-ease);
}
.is-style-link > .wp-block-button__link::after, .mdt-link::after { content: "→"; margin-left: .55rem; transition: transform .35s var(--mdt-ease); display: inline-block; }
.is-style-link > .wp-block-button__link:hover::after, a:hover .mdt-link::after { transform: translateX(4px); }

/* ---------- Separator ---------- */
.wp-block-separator.is-style-ornament {
	border: 0 !important; height: 18px; width: min(240px, 60%); margin-inline: auto !important; background: none !important; opacity: 1;
	background-image:
		linear-gradient(var(--mdt-gold), var(--mdt-gold)),
		linear-gradient(var(--mdt-gold), var(--mdt-gold)),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c3 4 5 7 5 10a5 5 0 0 1-10 0c0-3 2-6 5-10z' fill='none' stroke='%237B5B2B' stroke-width='1.2'/%3E%3Ccircle cx='12' cy='13' r='2' fill='%235B1FA6'/%3E%3C/svg%3E") !important;
	background-size: calc(50% - 20px) 1px, calc(50% - 20px) 1px, 18px 18px !important;
	background-position: left center, right center, center !important; background-repeat: no-repeat !important;
}
.wp-block-separator.is-style-short { width: 3.5rem; border: 0; border-top: 1px solid var(--mdt-gold) !important; margin-inline: 0; }
.has-text-align-center .wp-block-separator.is-style-short { margin-inline: auto; }

/* ---------- Images ---------- */
.wp-block-image.is-style-arch img { border-radius: 999px 999px 0 0; }
.wp-block-image.is-style-frame { position: relative; }
.wp-block-image.is-style-frame img { position: relative; z-index: 1; }
.wp-block-image.is-style-frame::before { content: ""; position: absolute; inset: 1.25rem -1.25rem -1.25rem 1.25rem; border: 1px solid var(--mdt-gold); }

/* ==========================================================================
   Header
   ========================================================================== */
.mdt-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s; }
/* Blur lives on a pseudo-element: backdrop-filter on the header itself would trap the full-screen mobile menu inside the header bar. */
.mdt-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--mdt-ivory) 94%, transparent); backdrop-filter: saturate(140%) blur(10px); -webkit-backdrop-filter: saturate(140%) blur(10px); pointer-events: none; }
.mdt-header .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; height: 100dvh; z-index: 100000; overflow-y: auto; }
.admin-bar .mdt-header .wp-block-navigation__responsive-container.is-menu-open { top: var(--wp-admin--admin-bar--height, 0); height: auto; }
.admin-bar .mdt-header { top: var(--wp-admin--admin-bar--height, 32px); }
.mdt-header.is-scrolled { border-bottom-color: var(--mdt-sand); }
.mdt-header__bar { min-height: var(--wp--custom--header-height, 84px); gap: 1.5rem; }
.mdt-header .wp-block-site-logo img { width: auto !important; max-height: 78px; transition: max-height .3s var(--mdt-ease); }
.mdt-header.is-scrolled .wp-block-site-logo img { max-height: 58px; }
.mdt-header .wp-block-navigation { gap: 2.2rem; }
.mdt-header .wp-block-navigation-item__content { padding: .5rem 0; position: relative; text-decoration: none; }
.mdt-header .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: .15rem; height: 1px; background: var(--mdt-gold); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--mdt-ease); }
.mdt-header .wp-block-navigation-item__content:hover::after, .mdt-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.mdt-header .wp-block-navigation__submenu-container { border: 1px solid var(--mdt-sand) !important; background: var(--mdt-ivory) !important; padding: .75rem 0; min-width: 240px !important; box-shadow: 0 24px 40px -28px rgba(28, 26, 43, .4); }
.mdt-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.25rem; }
.mdt-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.mdt-header__cta .wp-block-button__link { padding: .9rem 1.4rem; font-size: .72rem; min-height: 44px; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--mdt-ivory) !important; padding: 1.25rem var(--mdt-gutter) 2rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4.5rem; align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--mdt-sand); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--mdt-serif); font-size: 1.75rem; letter-spacing: 0; text-transform: none; font-weight: 500; padding: .85rem 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 .75rem 1rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--mdt-sans); font-size: .95rem; padding: .45rem 0 !important; }
@media (max-width: 1100px) {
	.mdt-header__right { gap: .5rem !important; flex-direction: row-reverse; }
	.mdt-header__cta .wp-block-button__link { font-size: 0 !important; letter-spacing: 0; width: 44px; height: 44px; min-height: 44px; padding: 0 !important; border-radius: 50%; gap: 0; }
	.mdt-header__cta .wp-block-button__link::before { width: 18px; height: 18px; }
}
@media (min-width: 1101px) and (max-width: 1360px) {
	.mdt-header .wp-block-navigation-item__content { letter-spacing: .1em; font-size: .74rem; }
	.mdt-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: 1.15rem !important; }
	.mdt-header__right { gap: 1.25rem !important; }
	.mdt-header__cta .wp-block-button__link { padding: .85rem 1.1rem; }
	.mdt-header .wp-block-site-logo img { max-height: 64px; }
}
/* One menu for every screen: overlay (hamburger) below 1100px, inline above. */
@media (min-width: 1101px) {
	.mdt-nav .wp-block-navigation__responsive-container-open.always-shown { display: none; }
	.mdt-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) { display: flex; position: relative; width: auto; z-index: auto; background: inherit; }
	.mdt-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
	.mdt-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) .wp-block-navigation__responsive-container-content { display: flex; }
	.mdt-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { display: flex; flex-wrap: nowrap; gap: 2rem; }
}
@media (max-width: 640px) { .mdt-header .wp-block-site-logo img { max-height: 54px; } .mdt-header__bar { min-height: 68px; } }

/* ==========================================================================
   Hero
   ========================================================================== */
.mdt-hero { position: relative; display: grid; min-height: var(--mh, 88vh); overflow: hidden; isolation: isolate; color: var(--mdt-ink); margin-block: 0 !important; }
.mdt-hero__media { margin: 0; }
.mdt-hero__img, .mdt-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mdt-hero__inner { position: relative; z-index: 2; display: flex; align-items: flex-end; padding: clamp(5rem, 9vw, 8rem) var(--mdt-gutter) clamp(3.5rem, 7vw, 6.5rem); width: 100%; max-width: var(--mdt-wide); margin-inline: auto; box-sizing: border-box; }
.mdt-hero__content { max-width: 680px; }
.mdt-hero__content > * { margin-block: 0 0 1.25rem; }
.mdt-hero__content > .wp-block-buttons { margin-top: 2rem; }
.mdt-hero h1 { font-size: var(--wp--preset--font-size--hero); line-height: 1; letter-spacing: -.02em; }
.mdt-hero--cover { grid-template-areas: "all"; }
.mdt-hero--cover > * { grid-area: all; }
.mdt-hero--cover .mdt-hero__media { position: absolute; inset: 0; z-index: 0; }
.mdt-hero--cover::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(23, 20, 39, calc(var(--ov) * .4)) 0%, rgba(23, 20, 39, var(--ov)) 70%, rgba(23, 20, 39, calc(var(--ov) + .15)) 100%); pointer-events: none; }
.mdt-hero--dark, .mdt-hero--dark :where(h1, h2, p, .is-style-eyebrow) { color: var(--mdt-ivory); }
.mdt-hero--dark .is-style-eyebrow { color: #E9D6B4; }
.mdt-hero--dark .wp-block-button__link { background: var(--mdt-ivory); color: var(--mdt-ink); border-color: var(--mdt-ivory); }
.mdt-hero--dark .wp-block-button__link:hover { background: transparent; color: var(--mdt-ivory); }
.mdt-hero--dark .is-style-outline > .wp-block-button__link { color: var(--mdt-ivory) !important; border-color: rgba(250, 246, 239, .7) !important; }
.mdt-hero--dark .is-style-outline > .wp-block-button__link:hover { background: var(--mdt-ivory) !important; color: var(--mdt-ink) !important; }
.mdt-hero--align-center .mdt-hero__inner { justify-content: center; text-align: center; }
.mdt-hero--align-center .wp-block-buttons { justify-content: center; }
.mdt-hero--split { grid-template-columns: 1fr 1fr; background: var(--mdt-paper); }
.mdt-hero--split .mdt-hero__media { grid-column: 2; grid-row: 1; position: relative; min-height: inherit; }
.mdt-hero--split .mdt-hero__media img { position: absolute; inset: 0; }
.mdt-hero--split .mdt-hero__inner { grid-column: 1; grid-row: 1; align-items: center; justify-content: flex-end; padding-right: clamp(2rem, 5vw, 5rem); }
.mdt-hero--split .mdt-hero__content { max-width: 560px; }
.mdt-hero__scroll { position: absolute; z-index: 3; bottom: 1.75rem; left: 50%; width: 1px; height: 56px; background: rgba(250, 246, 239, .35); overflow: hidden; }
.mdt-hero__scroll::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: var(--mdt-ivory); animation: mdt-scroll 2.2s var(--mdt-ease) infinite; }
@keyframes mdt-scroll { to { top: 110%; } }
.mdt-hero__media--empty { position: relative !important; display: grid; place-items: center; background: var(--mdt-paper); min-height: 320px; }
@media (max-width: 1024px) { .mdt-hero { min-height: var(--mh-t, var(--mh)); } }
@media (max-width: 900px) {
	.mdt-hero--split { grid-template-columns: 1fr; }
	.mdt-hero--split .mdt-hero__media { grid-column: 1; grid-row: 1; min-height: 62vh; }
	.mdt-hero--split .mdt-hero__inner { grid-row: 2; justify-content: flex-start; padding-top: 2.5rem; padding-bottom: 3rem; }
}
@media (max-width: 640px) {
	.mdt-hero { min-height: var(--mh-m, var(--mh-t, var(--mh))); }
	.mdt-hero--split { min-height: 0; }
	.mdt-hero__inner { padding-bottom: 3.25rem; }
	.mdt-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.mdt-hero .wp-block-button { width: 100%; }
	.mdt-hero .wp-block-button__link { width: 100%; }
	.mdt-hero__scroll { display: none; }
}

/* ==========================================================================
   Section
   ========================================================================== */
.mdt-section { position: relative; isolation: isolate; padding-top: var(--pt, 120px); padding-bottom: var(--pb, 120px); margin-block: 0 !important; }
.mdt-section:not([class*="-background-color"]):not(.has-bg-image) + .mdt-section:not([class*="-background-color"]):not(.has-bg-image) { padding-top: 0; }
.mdt-section__inner { position: relative; z-index: 2; margin-inline: auto; padding-inline: var(--mdt-gutter); box-sizing: border-box; max-width: calc(var(--wp--style--global--content-size, 760px) + 2 * var(--mdt-gutter)); }
.mdt-w-default > .mdt-section__inner { max-width: calc(1200px + 2 * var(--mdt-gutter)); }
.mdt-w-wide > .mdt-section__inner { max-width: calc(var(--mdt-wide) + 2 * var(--mdt-gutter)); }
.mdt-w-full > .mdt-section__inner { max-width: none; padding-inline: 0; }
.mdt-section__inner > * { margin-block-start: 0; margin-block-end: 0; }
.mdt-section__inner > * + * { margin-block-start: var(--wp--style--block-gap, 1.25rem); }
.mdt-section__inner > :is(.alignwide, .mdt-cards, .mdt-pgrid-wrap, .mdt-carousel, .mdt-colgrid, .mdt-gallery, .mdt-mt, .mdt-facts) { margin-block-start: clamp(2rem, 4vw, 3.5rem); }
.mdt-section__inner > .is-style-eyebrow + :is(h1, h2, h3) { margin-block-start: .5rem; }
.mdt-section__bg { position: absolute; inset: 0; z-index: 0; }
.mdt-section__bg img { width: 100%; height: 100%; object-fit: cover; }
.mdt-section.has-bg-image::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(23, 20, 39, var(--ov, 0)); }
.mdt-section.has-text-align-center .wp-block-buttons { justify-content: center; }
.mdt-section.has-notte-background-color :where(h1, h2, h3, h4) { color: var(--mdt-ivory); }
.mdt-section.has-notte-background-color { color: #CFC9DA; }
.mdt-section.has-notte-background-color .is-style-eyebrow { color: #D8BC8A; }
.mdt-section.has-notte-background-color .wp-block-button__link { background: var(--mdt-ivory); color: var(--mdt-ink); border-color: var(--mdt-ivory); }
.mdt-section.has-notte-background-color .wp-block-button__link:hover { background: transparent; color: var(--mdt-ivory); }
.mdt-section.has-notte-background-color .is-style-outline > .wp-block-button__link { color: var(--mdt-ivory) !important; border-color: var(--mdt-ivory) !important; }
@media (max-width: 1024px) { .mdt-section { padding-top: var(--pt-t, var(--pt)); padding-bottom: var(--pb-t, var(--pb)); } }
@media (max-width: 640px) { .mdt-section { padding-top: var(--pt-m, var(--pt-t, var(--pt))); padding-bottom: var(--pb-m, var(--pb-t, var(--pb))); } }

/* ==========================================================================
   Media + text
   ========================================================================== */
.mdt-mt { display: grid; grid-template-columns: var(--mw, 50%) 1fr; gap: var(--gap, 96px); align-items: center; }
.mdt-mt--valign-top { align-items: start; }
.mdt-mt--right { grid-template-columns: 1fr var(--mw, 50%); }
.mdt-mt--right .mdt-mt__media { order: 2; }
.mdt-mt__media { position: relative; }
.mdt-mt__img { margin: 0; aspect-ratio: var(--ratio, 4/5); overflow: hidden; background: var(--mdt-paper); }
.mdt-mt__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s var(--mdt-ease); }
.mdt-mt__media:hover .mdt-mt__img img { transform: scale(1.03); }
.mdt-mt--duo .mdt-mt__img { width: 78%; }
.mdt-mt--duo.mdt-mt--right .mdt-mt__img { margin-left: auto; }
.mdt-mt__img2 { position: absolute; margin: 0; width: 46%; aspect-ratio: 3/4; right: 0; bottom: -8%; overflow: hidden; border: 10px solid var(--mdt-ivory); box-shadow: 0 30px 60px -40px rgba(28, 26, 43, .55); }
.mdt-mt--right .mdt-mt__img2 { right: auto; left: 0; }
.mdt-mt__img2 img { width: 100%; height: 100%; object-fit: cover; }
.mdt-mt--frame-arch .mdt-mt__img { border-radius: 999px 999px 0 0; }
.mdt-mt--frame-offset .mdt-mt__img { overflow: visible; position: relative; }
.mdt-mt--frame-offset .mdt-mt__img::before { content: ""; position: absolute; inset: 1.5rem -1.5rem -1.5rem 1.5rem; border: 1px solid var(--mdt-gold); z-index: -1; }
.mdt-mt--right.mdt-mt--frame-offset .mdt-mt__img::before { inset: 1.5rem 1.5rem -1.5rem -1.5rem; }
.mdt-mt__text > * { margin-block: 0; }
.mdt-mt__text > * + * { margin-block-start: 1.25rem; }
.mdt-mt__text > .is-style-eyebrow + * { margin-block-start: .6rem; }
.mdt-mt__text > .wp-block-buttons { margin-block-start: 2rem; }
.mdt-mt__text { max-width: 560px; }
.mdt-mt--duo { padding-bottom: 3rem; }
@media (max-width: 1024px) { .mdt-mt { gap: var(--gap-t, var(--gap)); } }
@media (max-width: 900px) {
	.mdt-mt, .mdt-mt--right { grid-template-columns: 1fr; gap: var(--gap-m, 32px); }
	.mdt-mt--right .mdt-mt__media { order: 0; }
	.mdt-mt--text-first .mdt-mt__media { order: 2 !important; }
	.mdt-mt__text { max-width: none; }
	.mdt-mt--duo { padding-bottom: 2.5rem; }
	.mdt-mt--frame-offset .mdt-mt__img::before { inset: .9rem -.9rem -.9rem .9rem; }
}

/* ==========================================================================
   Cards + facts
   ========================================================================== */
.mdt-cards, .mdt-facts, .mdt-pgrid, .mdt-colgrid { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2.5rem); }
.mdt-pgrid { column-gap: clamp(.9rem, 2vw, 2rem); row-gap: clamp(2rem, 3.5vw, 3.25rem); }
@media (max-width: 1024px) { .mdt-cards, .mdt-facts, .mdt-pgrid, .mdt-colgrid { grid-template-columns: repeat(var(--cols-t, var(--cols, 2)), minmax(0, 1fr)); } }
@media (max-width: 640px) { .mdt-cards, .mdt-facts, .mdt-pgrid, .mdt-colgrid { grid-template-columns: repeat(var(--cols-m, var(--cols-t, 1)), minmax(0, 1fr)); } }
.mdt-cards > .block-editor-inner-blocks, .mdt-cards > .block-list-appender { grid-column: 1 / -1; }
.mdt-card { margin: 0 !important; }
.mdt-card__inner { display: block; height: 100%; color: inherit; text-decoration: none; }
.mdt-card__media { margin: 0 0 1.4rem; aspect-ratio: var(--ratio, 4/5); overflow: hidden; background: var(--mdt-paper); }
.mdt-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.1s var(--mdt-ease); }
a.mdt-card__inner:hover .mdt-card__media img { transform: scale(1.05); }
.mdt-card__title { font-size: var(--wp--preset--font-size--xl); margin: 0 0 .6rem; }
.mdt-card__text { margin: 0 0 1rem; }
.mdt-cards--bordered .mdt-card__inner { border: 1px solid var(--mdt-sand); padding: 1rem 1rem 1.6rem; background: var(--mdt-ivory); }
.mdt-cards--overlay .mdt-card__inner { position: relative; color: var(--mdt-ivory); }
.mdt-cards--overlay .mdt-card__media { margin: 0; }
.mdt-cards--overlay .mdt-card__body { position: absolute; inset: auto 0 0 0; padding: 2rem 1.5rem 1.5rem; background: linear-gradient(transparent, rgba(23, 20, 39, .78)); }
.mdt-cards--overlay .mdt-card__title { color: var(--mdt-ivory); }
.mdt-facts { border-top: 1px solid var(--mdt-sand); border-bottom: 1px solid var(--mdt-sand); padding-block: clamp(2rem, 4vw, 3rem); }
.mdt-fact { display: flex; flex-direction: column; gap: .5rem; text-align: center; padding-inline: 1rem; }
.mdt-fact + .mdt-fact { border-left: 1px solid var(--mdt-sand); }
.mdt-fact__value { font-family: var(--mdt-serif); font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 1; color: var(--mdt-ink); font-weight: 500; }
.mdt-fact__label { font-size: .85rem; line-height: 1.5; }
@media (max-width: 1024px) { .mdt-fact:nth-child(2n+1) { border-left: 0; } }
@media (max-width: 640px) { .mdt-facts { row-gap: 2rem; } }
.has-notte-background-color .mdt-facts { border-color: rgba(255, 255, 255, .14); }
.has-notte-background-color .mdt-fact + .mdt-fact { border-color: rgba(255, 255, 255, .14); }
.has-notte-background-color .mdt-fact__value { color: var(--mdt-ivory); }

/* ==========================================================================
   Product cards, grid, filters, carousel
   ========================================================================== */
.mdt-pcard { margin: 0; }
.mdt-pcard__link { display: block; color: inherit; text-decoration: none; }
.mdt-pcard__media { position: relative; margin: 0 0 1rem; aspect-ratio: var(--ratio, 4/5); overflow: hidden; background: var(--mdt-paper); }
.mdt-pcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--mdt-ease), opacity .6s var(--mdt-ease); }
.mdt-pcard__img--alt { opacity: 0; }
@media (hover: hover) {
	.mdt-pcard__link:hover .mdt-pcard__img { transform: scale(1.04); }
	.mdt-pcard__link:hover .mdt-pcard__img--alt { opacity: 1; }
}
.mdt-pcard__meta { display: block; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--mdt-gold); margin-bottom: .35rem; }
.mdt-pcard__title { font-size: clamp(1.1rem, 1.6vw, 1.35rem); margin: 0; line-height: 1.25; transition: color .3s; }
.mdt-pcard__link:hover .mdt-pcard__title { color: var(--mdt-violet); }
.mdt-pcard__sub { font-size: .88rem; margin: .3rem 0 0; }
.mdt-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.mdt-chip { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; color: var(--mdt-ink); border: 1px solid var(--mdt-sand); padding: .7rem 1.1rem; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; transition: all .3s var(--mdt-ease); }
.mdt-chip:hover { border-color: var(--mdt-ink); }
.mdt-chip.is-active { background: var(--mdt-ink); color: var(--mdt-ivory); border-color: var(--mdt-ink); }
@media (max-width: 640px) { .mdt-filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--mdt-gutter)); padding-inline: var(--mdt-gutter); scrollbar-width: none; } .mdt-chip { flex: none; } }
.mdt-pagination { margin-top: clamp(2.5rem, 5vw, 4rem); }
.mdt-pagination ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; padding: 0; margin: 0; }
.mdt-pagination .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--mdt-sand); text-decoration: none; color: var(--mdt-ink); font-size: .9rem; }
.mdt-pagination .page-numbers.current { background: var(--mdt-ink); color: var(--mdt-ivory); border-color: var(--mdt-ink); }
.mdt-pagination .page-numbers.dots { border: 0; }
.mdt-pagination a.page-numbers:hover { border-color: var(--mdt-ink); }
.mdt-empty { padding: 2rem; border: 1px dashed var(--mdt-sand); text-align: center; color: var(--mdt-text); }

.mdt-carousel { position: relative; }
.mdt-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cols, 4) - 1) * 1.5rem) / var(--cols, 4)); gap: 1.5rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .25rem; }
.mdt-carousel__track::-webkit-scrollbar { display: none; }
.mdt-carousel__track > * { scroll-snap-align: start; }
.mdt-carousel__nav { display: flex; gap: .5rem; justify-content: flex-end; margin-top: 1.5rem; }
.mdt-carousel__btn { width: 48px; height: 48px; border: 1px solid var(--mdt-ink); background: transparent; color: var(--mdt-ink); font-size: 1.1rem; cursor: pointer; transition: all .3s; }
.mdt-carousel__btn:hover { background: var(--mdt-ink); color: var(--mdt-ivory); }
.mdt-carousel__btn[disabled] { opacity: .3; cursor: default; }
@media (max-width: 1024px) { .mdt-carousel__track { grid-auto-columns: calc((100% - (var(--cols-t, 2.5) - 1) * 1rem) / var(--cols-t, 2.5)); gap: 1rem; } }
@media (max-width: 640px) { .mdt-carousel__track { grid-auto-columns: calc((100% - (var(--cols-m, 1.3) - 1) * .9rem) / var(--cols-m, 1.3)); gap: .9rem; margin-right: calc(-1 * var(--mdt-gutter)); padding-right: var(--mdt-gutter); } }

/* Collection cards */
.mdt-colcard { position: relative; display: block; text-decoration: none; color: inherit; }
.mdt-colcard__media { margin: 0; aspect-ratio: var(--ratio, 4/5); overflow: hidden; background: var(--mdt-paper); }
.mdt-colcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.3s var(--mdt-ease); }
.mdt-colcard:hover .mdt-colcard__media img { transform: scale(1.05); }
.mdt-colcard__title { font-size: clamp(1.5rem, 2.4vw, 2.1rem); margin: 0 0 .5rem; }
.mdt-colcard__eyebrow { display: block; font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; margin-bottom: .4rem; }
.mdt-colcard__desc { margin: 0 0 .75rem; font-size: .95rem; }
.mdt-colgrid--overlay .mdt-colcard__body { position: absolute; inset: auto 0 0 0; padding: 4.5rem 1.5rem 1.6rem; background: linear-gradient(180deg, transparent, rgba(23, 20, 39, .55) 35%, rgba(23, 20, 39, .88)); color: var(--mdt-ivory); }
.mdt-colgrid--overlay .mdt-colcard__title { color: var(--mdt-ivory); }
.mdt-colgrid--overlay .mdt-colcard__eyebrow { color: #E9D6B4; }
.mdt-colgrid--below .mdt-colcard__body { padding-top: 1.25rem; }
.mdt-colgrid--below .mdt-colcard__eyebrow { color: var(--mdt-gold); }

/* ==========================================================================
   Gallery + lightbox
   ========================================================================== */
.mdt-gallery { --g: clamp(.5rem, 1.2vw, 1rem); }
.mdt-gallery__item { margin: 0; overflow: hidden; position: relative; background: var(--mdt-paper); }
.mdt-gallery__item img { width: 100%; display: block; transition: transform 1.1s var(--mdt-ease); }
.mdt-gallery__zoom { display: block; cursor: zoom-in; }
.mdt-gallery__zoom:hover img { transform: scale(1.04); }
.mdt-gallery__item figcaption { font-size: .82rem; padding: .6rem 0 0; background: var(--mdt-ivory); }
.mdt-gallery--masonry { columns: var(--cols, 3); column-gap: var(--g); }
.mdt-gallery--masonry .mdt-gallery__item { break-inside: avoid; margin-bottom: var(--g); }
.mdt-gallery--grid, .mdt-gallery--editorial { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: var(--g); }
.mdt-gallery--grid .mdt-gallery__item img, .mdt-gallery--editorial .mdt-gallery__item img { aspect-ratio: var(--ratio, 4/5); height: 100%; object-fit: cover; }
.mdt-gallery--editorial .mdt-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
@media (max-width: 1024px) { .mdt-gallery--masonry { columns: var(--cols-t, var(--cols)); } .mdt-gallery--grid, .mdt-gallery--editorial { grid-template-columns: repeat(var(--cols-t, var(--cols)), minmax(0, 1fr)); } }
@media (max-width: 640px) { .mdt-gallery--masonry { columns: var(--cols-m, 2); } .mdt-gallery--grid, .mdt-gallery--editorial { grid-template-columns: repeat(var(--cols-m, 2), minmax(0, 1fr)); } }
.mdt-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(23, 20, 39, .94); display: flex; align-items: center; justify-content: center; padding: 3.5rem 1rem; opacity: 0; transition: opacity .3s; }
.mdt-lightbox.is-open { opacity: 1; }
.mdt-lightbox img { max-width: min(1100px, 100%); max-height: 100%; object-fit: contain; box-shadow: 0 30px 80px rgba(0, 0, 0, .4); }
.mdt-lightbox button { position: absolute; background: transparent; border: 0; color: #fff; width: 52px; height: 52px; font-size: 1.6rem; cursor: pointer; }
.mdt-lightbox__close { top: .5rem; right: .5rem; }
.mdt-lightbox__prev { left: .25rem; top: 50%; transform: translateY(-50%); }
.mdt-lightbox__next { right: .25rem; top: 50%; transform: translateY(-50%); }

/* ==========================================================================
   Catalogue headers, breadcrumbs, product page
   ========================================================================== */
.mdt-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: 0; font-size: .75rem; letter-spacing: .06em; }
.mdt-crumbs li + li::before { content: "/"; margin-right: .35rem; color: var(--mdt-gold); }
.mdt-crumbs a { color: var(--mdt-text); text-decoration: none; }
.mdt-crumbs a:hover { color: var(--mdt-violet); text-decoration: underline; }
.mdt-crumbs [aria-current] { color: var(--mdt-ink); }
.mdt-termhero { display: grid; grid-template-columns: 1fr; align-items: end; gap: clamp(2rem, 5vw, 5rem); max-width: calc(var(--mdt-wide) + 2 * var(--mdt-gutter)); margin-inline: auto !important; padding: clamp(2.5rem, 5vw, 4.5rem) var(--mdt-gutter) clamp(2.5rem, 4vw, 3.5rem); box-sizing: border-box; }
.mdt-termhero.has-image { grid-template-columns: 1.1fr .9fr; align-items: center; }
.mdt-termhero__eyebrow { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--mdt-gold); margin: 2rem 0 .75rem; }
.mdt-termhero__title { font-size: var(--wp--preset--font-size--display); margin: 0 0 1.25rem; }
.mdt-termhero__desc { max-width: 620px; font-size: 1.08rem; }
.mdt-termhero__desc p { margin: 0 0 .8rem; }
.mdt-termhero__count { font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; margin: 1.25rem 0 0; }
.mdt-termhero__media { margin: 0; aspect-ratio: 4/5; max-height: 560px; overflow: hidden; border-radius: 999px 999px 0 0; }
.mdt-termhero__media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) { .mdt-termhero.has-image { grid-template-columns: 1fr; } .mdt-termhero__media { max-height: 420px; aspect-ratio: 4/4; order: -1; border-radius: 999px 999px 0 0; } .mdt-termhero__eyebrow { margin-top: 1rem; } }

.mdt-product { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: start; }
.mdt-product__gallery { position: sticky; top: calc(var(--wp--custom--header-height, 84px) + 1.5rem); display: grid; grid-template-columns: 84px 1fr; gap: 1rem; }
.mdt-product__main { grid-column: 2; display: block; aspect-ratio: 2/3; overflow: hidden; background: var(--mdt-paper); cursor: zoom-in; }
.mdt-product__main img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--mdt-ease), opacity .3s; }
@media (hover: hover) { .mdt-product__main:hover img { transform: scale(1.06); } }
.mdt-product__thumbs { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: .6rem; }
.mdt-product__thumb { padding: 0; border: 1px solid transparent; background: none; cursor: pointer; aspect-ratio: 4/5; overflow: hidden; opacity: .6; transition: all .3s; }
.mdt-product__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mdt-product__thumb.is-active, .mdt-product__thumb:hover { opacity: 1; border-color: var(--mdt-ink); }
.mdt-product__gallery:not(:has(.mdt-product__thumbs)) { grid-template-columns: 1fr; }
.mdt-product__gallery:not(:has(.mdt-product__thumbs)) .mdt-product__main { grid-column: 1; }
.mdt-product__info { padding-top: .5rem; }
.mdt-product__eyebrow { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; margin: 0 0 1rem; }
.mdt-product__eyebrow a { color: var(--mdt-gold); text-decoration: none; }
.mdt-product__eyebrow a:hover { text-decoration: underline; }
.mdt-product__title { font-size: clamp(2.2rem, 4vw, 3.4rem); margin: 0 0 .75rem; }
.mdt-product__sub { font-family: var(--mdt-serif); font-style: italic; font-size: 1.35rem; color: var(--mdt-ink); margin: 0 0 1rem; }
.mdt-product__excerpt { font-size: 1.05rem; }
.mdt-specs { margin: 2rem 0; border-top: 1px solid var(--mdt-sand); }
.mdt-specs__row { display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--mdt-sand); }
.mdt-specs dt { font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--mdt-text); padding-top: .2rem; }
.mdt-specs dd { margin: 0; color: var(--mdt-ink); }
.mdt-product__chars { margin: 0 0 2rem; padding-left: 1.2rem; }
.mdt-product__cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.mdt-product__cta .mdt-btn { flex: 1 1 220px; }
.mdt-product__note { font-size: .88rem; margin-top: 1.25rem; padding-left: 1rem; border-left: 1px solid var(--mdt-gold); }
@media (max-width: 900px) {
	.mdt-product { grid-template-columns: 1fr; }
	.mdt-product__gallery { position: static; grid-template-columns: 1fr; }
	.mdt-product__main { grid-column: 1; aspect-ratio: 4/5; }
	.mdt-product__thumbs { grid-row: 2; flex-direction: row; overflow-x: auto; scrollbar-width: none; }
	.mdt-product__thumb { flex: 0 0 68px; }
}
.mdt-related__title { text-align: center; margin: 0 0 clamp(2rem, 4vw, 3rem); }

/* ==========================================================================
   Forms + contact
   ========================================================================== */
.mdt-form { max-width: 820px; }
.mdt-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; }
.mdt-field { margin: 0 0 1.4rem; display: flex; flex-direction: column; gap: .45rem; }
.mdt-field--full { grid-column: 1 / -1; }
.mdt-field label { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--mdt-ink); }
.mdt-opt { text-transform: none; letter-spacing: 0; color: var(--mdt-text); }
.mdt-field input, .mdt-field select, .mdt-field textarea {
	font: inherit; font-size: 1rem; color: var(--mdt-ink); background: transparent; border: 0; border-bottom: 1px solid var(--mdt-sand);
	padding: .7rem 0; border-radius: 0; min-height: 48px; transition: border-color .3s; width: 100%; box-sizing: border-box;
}
.mdt-field textarea { resize: vertical; min-height: 120px; border: 1px solid var(--mdt-sand); padding: .8rem; }
.mdt-field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--mdt-ink) 50%), linear-gradient(135deg, var(--mdt-ink) 50%, transparent 50%); background-position: calc(100% - 12px) 55%, calc(100% - 7px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
.mdt-field :is(input, select, textarea):focus { outline: none; border-color: var(--mdt-violet); }
.mdt-field.has-error :is(input, select, textarea) { border-color: #B3261E; }
.mdt-field__error { color: #B3261E; font-size: .82rem; }
.mdt-check { flex-direction: row; align-items: flex-start; gap: .75rem; }
.mdt-check input { width: 20px; height: 20px; min-height: 0; margin-top: .15rem; accent-color: var(--mdt-violet); flex: none; }
.mdt-check label { text-transform: none; letter-spacing: 0; font-size: .9rem; color: var(--mdt-text); }
.mdt-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mdt-form__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.mdt-form__status { margin: 0; font-size: .95rem; }
.mdt-form__status.is-ok { color: var(--wp--preset--color--foglia); }
.mdt-form__status.is-err { color: #B3261E; }
.mdt-form.is-sending button { opacity: .6; pointer-events: none; }
.mdt-form.is-sent .mdt-form__grid, .mdt-form.is-sent .mdt-check, .mdt-form.is-sent button { display: none; }
.mdt-form.is-sent .mdt-form__status { font-family: var(--mdt-serif); font-size: 1.6rem; color: var(--mdt-ink); }
.mdt-form__product { padding: .9rem 1.1rem; background: var(--mdt-paper); border-left: 2px solid var(--mdt-gold); margin: 0 0 1.75rem; }
@media (max-width: 640px) { .mdt-form__grid { grid-template-columns: 1fr; } .mdt-form__footer .mdt-btn { width: 100%; } }
.has-notte-background-color .mdt-field label, .has-notte-background-color .mdt-field :is(input, select, textarea) { color: var(--mdt-ivory); }
.has-notte-background-color .mdt-field :is(input, select, textarea) { border-color: rgba(255, 255, 255, .25); }

.mdt-cinfo { display: grid; gap: 1.6rem; }
.mdt-cinfo--row { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.mdt-cinfo__label { display: block; font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; color: var(--mdt-gold); margin-bottom: .35rem; }
.mdt-cinfo address { font-style: normal; }
.mdt-cinfo a { color: inherit; text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .4s var(--mdt-ease); }
.mdt-cinfo a:hover { background-size: 100% 1px; }
.mdt-cinfo p { margin: 0; }
.mdt-social { display: flex; gap: 1.25rem; }
.mdt-cinfo__map a { background-image: none; }

/* FAQ */
.mdt-faq { border-top: 1px solid var(--mdt-sand); }
.mdt-faq__item { border-bottom: 1px solid var(--mdt-sand); margin: 0 !important; }
.mdt-faq__item summary, .mdt-faq__q { list-style: none; cursor: pointer; padding: 1.4rem 2.5rem 1.4rem 0; position: relative; font-family: var(--mdt-serif); font-size: 1.35rem; color: var(--mdt-ink); }
.mdt-faq__item summary::-webkit-details-marker { display: none; }
.mdt-faq__item summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-family: var(--mdt-sans); font-weight: 300; font-size: 1.6rem; color: var(--mdt-gold); transition: transform .3s; }
.mdt-faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.mdt-faq__answer { padding: 0 2.5rem 1.4rem 0; margin: 0; }
.mdt-faq__answer p { margin: 0; }

/* ==========================================================================
   Footer
   ========================================================================== */
.mdt-footer { background: var(--mdt-night); color: #BDB6CC; font-size: .95rem; }
.mdt-footer :where(h2, h3, h4) { color: var(--mdt-ivory); }
.mdt-footer h4, .mdt-footer .mdt-footer__title { font-family: var(--mdt-sans); font-size: .7rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: #D8BC8A; margin: 0 0 1.25rem; }
.mdt-footer a { color: #E6E1EE; text-decoration: none; }
.mdt-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.mdt-footer .wp-block-site-logo { background: var(--mdt-ivory); padding: .75rem 1rem; display: inline-block; }
.mdt-footer .wp-block-site-logo img { max-height: 70px; width: auto !important; }
.mdt-footer .wp-block-navigation { font-size: .95rem; text-transform: none; letter-spacing: 0; font-weight: 400; }
.mdt-footer .wp-block-navigation__container { gap: .6rem !important; }
.mdt-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .12); font-size: .8rem; color: #8F88A3; }
.mdt-footer__bottom p { margin: 0; }
.mdt-footer .mdt-cinfo__label { color: #D8BC8A; }
.mdt-footer .mdt-cinfo a { color: #E6E1EE; }
@media (max-width: 781px) { .mdt-footer .wp-block-columns { gap: 2.5rem; } }

/* ==========================================================================
   Legal / text pages
   ========================================================================== */
.mdt-prose { max-width: 760px; margin-inline: auto; }
.mdt-prose h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 2.5rem; }
.mdt-pagehead { max-width: calc(var(--mdt-wide) + 2 * var(--mdt-gutter)); margin-inline: auto; padding: clamp(2.5rem, 5vw, 4.5rem) var(--mdt-gutter) 1rem; box-sizing: border-box; }
.mdt-pagehead h1 { margin: 1.5rem 0 0; }

/* ==========================================================================
   Visibility + animation helpers (editor "Visibilità e animazione" panel)
   ========================================================================== */
@media (min-width: 1025px) { .mdt-hide-d { display: none !important; } }
@media (min-width: 641px) and (max-width: 1024px) { .mdt-hide-t { display: none !important; } }
@media (max-width: 640px) { .mdt-hide-m { display: none !important; } }
.editor-styles-wrapper .mdt-hide-d, .editor-styles-wrapper .mdt-hide-t, .editor-styles-wrapper .mdt-hide-m { display: revert !important; opacity: .45; outline: 1px dashed var(--mdt-gold); }
.js-anim :is(.mdt-anim-up, .mdt-anim-fade) { opacity: 0; transition: opacity 1s var(--mdt-ease), transform 1s var(--mdt-ease); }
.js-anim .mdt-anim-up { transform: translateY(28px); }
.js-anim .mdt-anim-reveal img { clip-path: inset(0 0 100% 0); transition: clip-path 1.4s var(--mdt-ease); }
.js-anim .is-inview:is(.mdt-anim-up, .mdt-anim-fade) { opacity: 1; transform: none; }
.js-anim .is-inview.mdt-anim-reveal img { clip-path: inset(0 0 0 0); }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.js-anim :is(.mdt-anim-up, .mdt-anim-fade) { opacity: 1; transform: none; }
	.js-anim .mdt-anim-reveal img { clip-path: none; }
}

/* Editor-only niceties */
.editor-styles-wrapper .mdt-hero__inner .block-editor-inner-blocks { width: 100%; }
.editor-styles-wrapper .mdt-cards > .block-editor-block-list__layout { display: contents; }
.editor-styles-wrapper .mdt-faq__item.is-open .mdt-faq__answer { display: block; }
.mdt-ssr-loading { padding: 3rem; text-align: center; }

/* Wide wrapper for template areas outside the post content */
.mdt-wrap { max-width: calc(var(--mdt-wide) + 2 * var(--mdt-gutter)); margin-inline: auto !important; padding-inline: var(--mdt-gutter); box-sizing: border-box; }
@media (max-width: 1024px) { .mdt-hero__scroll { display: none; } }
@media (max-width: 900px) { .mdt-mt--duo { padding-bottom: 0; } .mdt-mt--duo .mdt-mt__media { padding-bottom: 12%; } }

/* Hero "banner": designed artwork at a fixed ratio (desktop 1980x900, mobile 1:1), editable text on top / below */
.mdt-hero--banner { display: block; min-height: 0; background: var(--mdt-night); }
.mdt-hero--banner .mdt-hero__media { position: relative; aspect-ratio: 1980 / 900; overflow: hidden; }
.mdt-hero--banner .mdt-hero__media img, .mdt-hero--banner .mdt-hero__media picture { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.mdt-hero--banner .mdt-hero__inner { position: absolute; inset: 0; align-items: center; padding-block: clamp(2rem, 4vw, 4rem); }
.mdt-hero--banner .mdt-hero__content { max-width: min(44%, 640px); }
.mdt-hero--banner h1 { font-size: clamp(2.3rem, 3.7vw, 4.6rem); line-height: 1.04; }
.mdt-hero--banner .is-style-lead { font-size: clamp(1rem, 1.15vw, 1.25rem) !important; color: #E7E1EE !important; }
.mdt-hero--banner .mdt-hero__content > .wp-block-buttons { margin-top: clamp(1.25rem, 2vw, 2rem); }
@media (max-width: 1024px) {
	.mdt-hero--banner .mdt-hero__inner { position: relative; inset: auto; padding: 2.5rem var(--mdt-gutter) 3.25rem; }
	.mdt-hero--banner .mdt-hero__content { max-width: 640px; }
	.mdt-hero--banner .mdt-hero__media { min-height: 0; }
}
@media (max-width: 640px) {
	.mdt-hero--banner .mdt-hero__media.has-mobile { aspect-ratio: 1 / 1; }
	.mdt-hero--banner .mdt-hero__inner { padding-top: 2rem; padding-bottom: 2.75rem; }
	.mdt-hero--banner h1 { font-size: clamp(2.1rem, 9vw, 2.6rem); }
}
.editor-styles-wrapper .mdt-hero--banner .mdt-hero__content { min-width: 280px; }

/* Header call button + floating WhatsApp */
.mdt-header__cta .wp-block-button__link::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.mdt-wa { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 60; width: 58px; height: 58px; border-radius: 50%; background: #25D366; color: #fff; display: grid; place-items: center; box-shadow: 0 10px 28px -8px rgba(0, 0, 0, .45); transition: transform .3s var(--mdt-ease); }
.mdt-wa:hover { transform: scale(1.07); color: #fff; }
.mdt-wa svg { width: 30px; height: 30px; fill: currentColor; }
.mdt-wa__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 640px) { .mdt-wa { width: 52px; height: 52px; } .mdt-wa svg { width: 27px; height: 27px; } }
/* Header gutters (template part sits outside the padded content area) */
.mdt-header__bar { max-width: calc(var(--mdt-wide) + 2 * var(--mdt-gutter)) !important; margin-inline: auto !important; padding-inline: var(--mdt-gutter); box-sizing: border-box; width: 100%; }
/* Banner on tablets: show the arches (right part of the desktop artwork) instead of the empty text area */
@media (min-width: 641px) and (max-width: 1024px) {
	.mdt-hero--banner .mdt-hero__media { aspect-ratio: 4 / 3; }
	.mdt-hero--banner .mdt-hero__media img { object-position: right center !important; }
}
/* Keep the floating WhatsApp clear of full-width buttons on phones */
@media (max-width: 640px) { .mdt-hero--banner .mdt-hero__inner { padding-bottom: 5rem; } }
/* Mobile/tablet menu overlay: left aligned, everything visible, above the WhatsApp button */
.mdt-header:has(.is-menu-open) { z-index: 100000; }
.mdt-header .wp-block-navigation__responsive-container.is-menu-open { box-sizing: border-box; --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; }
.mdt-header .is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container, .wp-block-navigation-item, .wp-block-navigation__submenu-container) { align-items: flex-start !important; text-align: left; }
.mdt-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem !important; }
.mdt-header .is-menu-open .wp-block-navigation-item__content { font-size: 1.55rem !important; padding: .6rem 0 !important; }
.mdt-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: .95rem !important; padding: .35rem 0 !important; }
.mdt-header .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .6rem .9rem !important; }
.mdt-header .is-menu-open .wp-block-navigation__responsive-container-close { top: 1rem; right: 1rem; width: 44px; height: 44px; }
@media (max-width: 380px) { .mdt-header .is-menu-open .wp-block-navigation-item__content { font-size: 1.35rem !important; padding: .5rem 0 !important; } }

/* ==========================================================================
   Peacock gradients – colours taken from the logo (viola, blu pavone, verde foglia, oro Jaipur)
   ========================================================================== */
:root {
	--mdt-grad-light: linear-gradient(135deg, #FBF4E8 0%, #F2EAF7 52%, #E4F2F0 100%);
	--mdt-grad-warm: linear-gradient(160deg, #FCF4E6 0%, #F8E5DA 55%, #EFE3F2 100%);
	--mdt-grad-night: radial-gradient(900px 480px at 88% 0%, rgba(23, 141, 168, .28), transparent 62%), radial-gradient(700px 420px at 0% 100%, rgba(91, 31, 166, .35), transparent 60%), linear-gradient(135deg, #1A1233 0%, #2D1557 48%, #0D4352 100%);
	--mdt-grad-feather: linear-gradient(90deg, #5B1FA6 0%, #178DA8 38%, #5F8A33 70%, #B08A4A 100%);
	--mdt-grad-btn: linear-gradient(120deg, #2A1258 0%, #4A1A8A 45%, #0F6A80 100%);
	/* faint hand-block-print flower, repeated like a printed cotton */
	--mdt-motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110' viewBox='0 0 110 110'%3E%3Cg fill='none' stroke='%237B5B2B' stroke-opacity='.13' stroke-width='1.1'%3E%3Ccircle cx='55' cy='55' r='4.5'/%3E%3Cpath d='M55 33c6 7 6 13 0 16c-6-3-6-9 0-16zM55 77c6-7 6-13 0-16c-6 3-6 9 0 16zM33 55c7-6 13-6 16 0c-3 6-9 6-16 0zM77 55c-7-6-13-6-16 0c3 6 9 6 16 0z'/%3E%3C/g%3E%3Cg fill='%235B1FA6' fill-opacity='.10'%3E%3Ccircle cx='0' cy='0' r='2.2'/%3E%3Ccircle cx='110' cy='0' r='2.2'/%3E%3Ccircle cx='0' cy='110' r='2.2'/%3E%3Ccircle cx='110' cy='110' r='2.2'/%3E%3C/g%3E%3C/svg%3E");
}

/* soft peacock light behind every page (fixed layer, no repaint on scroll) */
body::before {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(1100px 620px at 108% -8%, rgba(23, 141, 168, .10), transparent 62%),
		radial-gradient(900px 640px at -12% 108%, rgba(91, 31, 166, .08), transparent 60%),
		radial-gradient(700px 500px at 50% 50%, rgba(176, 138, 74, .05), transparent 70%);
}

/* light sections: ivory → lavender → mint, with the block-print motif */
.mdt-section.has-carta-background-color { background-image: var(--mdt-motif), var(--mdt-grad-light); background-size: 110px 110px, 100% 100%; }
.mdt-section.has-sabbia-background-color { background-image: var(--mdt-motif), var(--mdt-grad-warm); background-size: 110px 110px, 100% 100%; }

/* dark sections, footer and banner text area: deep violet → peacock blue */
.mdt-section.has-notte-background-color, .mdt-footer, .mdt-hero--banner { background-image: var(--mdt-grad-night); }
.mdt-section.has-notte-background-color .is-style-eyebrow, .mdt-footer .mdt-footer__title { color: #E3C892; }

/* header: soft gradient glass + a thin peacock-feather line */
.mdt-header::before { background: linear-gradient(90deg, color-mix(in srgb, #FBF4E8 94%, transparent), color-mix(in srgb, #F4EEF8 94%, transparent) 60%, color-mix(in srgb, #EAF4F2 94%, transparent)); }
.mdt-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--mdt-grad-feather); pointer-events: none; }
.mdt-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--mdt-motif), var(--mdt-grad-light) !important; background-size: 110px 110px, 100% 100% !important; }
.mdt-footer { position: relative; }
.mdt-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--mdt-grad-feather); }

/* primary buttons: violet → peacock blue (white text keeps AA contrast on every stop) */
:where(.wp-block-button:not(.is-style-outline, .is-style-light, .is-style-link)) > .wp-block-button__link,
:where(.mdt-btn:not(.mdt-btn--outline)) {
	background-image: var(--mdt-grad-btn); background-size: 200% 100%; background-position: 0 0; border-color: transparent;
	transition: background-position .6s var(--mdt-ease), color .35s var(--mdt-ease), box-shadow .35s var(--mdt-ease);
}
:where(.wp-block-button:not(.is-style-outline, .is-style-light, .is-style-link)) > .wp-block-button__link:hover,
:where(.mdt-btn:not(.mdt-btn--outline)):hover { background-position: 100% 0; color: #fff; box-shadow: 0 14px 30px -18px rgba(45, 21, 87, .7); }

/* italic words in headings take the feather colours on light backgrounds */
.mdt-section:not(.has-notte-background-color):not(.has-bg-image):not(.has-avorio-color) :is(h1, h2, h3) em {
	background: linear-gradient(90deg, #5B1FA6, #0F6A80); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding-right: .06em;
}

/* collection cards: violet-tinted veil instead of plain black */
.mdt-colgrid--overlay .mdt-colcard__body { background: linear-gradient(180deg, transparent, rgba(45, 21, 87, .55) 38%, rgba(16, 38, 58, .9)); }
.mdt-cards--overlay .mdt-card__body { background: linear-gradient(transparent, rgba(45, 21, 87, .82)); }
.mdt-colcard__media, .mdt-pcard__media, .mdt-gallery__item { background: var(--mdt-grad-light); }