/* ==========================================================================
   Tyme Atelier — stili firmati (sito + editor)
   Ogni effetto è legato a una classe o a uno "stile di blocco" selezionabile
   nell'editor: niente è cablato nel codice delle pagine.
   ========================================================================== */

:root {
	--ty-oro: var(--wp--preset--color--oro);
	--ty-verde: var(--wp--preset--color--verde);
	--ty-crema: var(--wp--preset--color--crema);
	--ty-tenue: var(--wp--preset--color--crema-tenue);
	--ty-nero: var(--wp--preset--color--nero);
	--ty-linea: var(--wp--preset--color--linea);
	--ty-ease: cubic-bezier(.19, 1, .22, 1);
}

/* Grana di pellicola leggerissima su tutto il sito */
body::after {
	content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 9999; opacity: .05; mix-blend-mode: overlay;
	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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.editor-styles-wrapper::after { display: none; }

/* --------------------------------------------------------------- Header */
.ty-header { transition: padding .5s var(--ty-ease), background-color .5s; border-bottom: 1px solid transparent; }
.ty-header.is-scrolled { border-bottom-color: var(--ty-linea); background-color: rgba(11, 12, 10, .92) !important; backdrop-filter: blur(10px); }
.ty-header-grid { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; }
.ty-header-grid > :nth-child(2) { justify-self: center; }
.ty-header-grid > :nth-child(3) { justify-self: end; }
.ty-header .wp-block-navigation__responsive-container-open { font-size: .72rem; letter-spacing: .26em; text-transform: uppercase; gap: .7rem; }
.ty-header .wp-block-navigation__responsive-container-open::before { content: ""; width: 28px; height: 7px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; display: inline-block; margin-right: .7rem; transition: width .4s var(--ty-ease); }
.ty-header .wp-block-navigation__responsive-container-open:hover::before { width: 40px; }

/* Menu a schermo intero */
.ty-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--ty-nero) !important;
	background-image: linear-gradient(90deg, rgba(11,12,10,.97) 0%, rgba(11,12,10,.86) 100%), var(--ty-deco-url, none);
	padding: clamp(5rem, 10vh, 8rem) clamp(1.5rem, 8vw, 9rem) 3rem !important;
	animation: ty-menu-in .7s var(--ty-ease) both;
}
@keyframes ty-menu-in { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
.ty-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; justify-content: center; counter-reset: voce; gap: .2rem !important; padding-top: 0 !important; }
.ty-header .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: .15em !important; }
.ty-header .is-menu-open .wp-block-navigation-item { counter-increment: voce; font-family: var(--wp--preset--font-family--bodoni); font-size: clamp(2.2rem, min(5.6vw, 8.5vh), 5rem) !important; letter-spacing: -0.02em; text-transform: none; line-height: 1.04; display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 1.4rem; animation: ty-voce .9s var(--ty-ease) both; }
.ty-header .is-menu-open .wp-block-navigation-item::before { content: none; }
.ty-header .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .06s; }
.ty-header .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .12s; }
.ty-header .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .18s; }
.ty-header .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: .24s; }
.ty-header .is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: .30s; }
@keyframes ty-voce { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
.ty-header .is-menu-open .wp-block-navigation-item a { transition: color .3s, font-style .3s, padding .5s var(--ty-ease); padding: 0 !important; }
.ty-header .is-menu-open .wp-block-navigation-item a:hover { color: var(--ty-verde) !important; font-style: italic; padding-left: .3em !important; }
.ty-header .wp-block-navigation__responsive-container-close { top: 1.6rem; right: clamp(1rem, 4vw, 2.5rem); }

/* ------------------------------------------------------- Tipografia firmata */
:where(h1, h2, h3, h4, .wp-block-heading, p) em { color: var(--ty-verde); font-style: italic; }
.is-style-contorno, .is-style-contorno em { color: transparent !important; -webkit-text-stroke: 1px var(--ty-crema); }
.is-style-contorno em { -webkit-text-stroke-color: var(--ty-verde); }
.has-monumentale-font-size, .has-display-font-size { line-height: .88 !important; letter-spacing: -0.035em !important; }
.ty-verticale { writing-mode: vertical-rl; transform: rotate(180deg); font-size: .68rem !important; letter-spacing: .34em; text-transform: uppercase; color: var(--ty-tenue); white-space: nowrap; margin: 0 !important; }
.is-style-numero { font-family: var(--wp--preset--font-family--jost) !important; font-size: .72rem !important; letter-spacing: .3em; color: var(--ty-oro) !important; display: flex; align-items: center; gap: .9rem; text-transform: uppercase; }
.is-style-numero::after { content: ""; width: 3.5rem; height: 1px; background: currentColor; opacity: .7; }
.is-style-etichetta { display: flex; align-items: center; gap: .8rem; }
.is-style-etichetta::before { content: ""; width: 6px; height: 6px; background: currentColor; transform: rotate(45deg); flex: none; }
.has-text-align-center.is-style-etichetta { justify-content: center; }
.ty-dropcap::first-letter, .has-drop-cap:not(:focus)::first-letter { font-family: var(--wp--preset--font-family--bodoni); color: var(--ty-verde); font-size: 5.4em; line-height: .8; margin: .06em .12em 0 0; font-weight: 400; }

/* Lettere "smontate" del logo */
.ty-lettera { font-family: var(--wp--preset--font-family--bodoni); line-height: .8 !important; letter-spacing: -0.04em; margin: 0 !important; }
.ty-anatomia > .wp-block-column { border-left: 1px solid var(--ty-linea); padding-left: clamp(1rem, 2.5vw, 2rem); }
.ty-anatomia > .wp-block-column:first-child { border-left: 0; padding-left: 0; }

/* -------------------------------------------------------- Separatore déco */
.wp-block-separator.is-style-deco { border: 0 !important; height: 14px !important; background: none !important; position: relative; overflow: visible; opacity: 1; width: 100% !important; max-width: none !important; }
.wp-block-separator.is-style-deco::before { content: ""; position: absolute; left: 0; right: 0; top: 4px; height: 5px; border-top: 1px solid var(--ty-oro); border-bottom: 1px solid var(--ty-oro); opacity: .55; }
.wp-block-separator.is-style-deco::after { content: ""; position: absolute; left: 50%; top: 0; width: 12px; height: 12px; transform: translateX(-50%) rotate(45deg); background: var(--ty-nero); border: 1px solid var(--ty-oro); }

/* -------------------------------------------------------------- Archi */
.is-style-arco, .wp-block-image.is-style-arco img { border-radius: 999px 999px 0 0 !important; overflow: hidden; }
.wp-block-cover.is-style-arco { border-radius: 50vw 50vw 0 0 / 40vw 40vw 0 0 !important; }
.wp-block-cover.is-style-arco .wp-block-cover__inner-container { padding-top: 22%; }
.is-style-cornice { outline: 1px solid var(--ty-oro); outline-offset: 12px; }
.wp-block-group.is-style-arco { border: 1px solid var(--ty-oro); border-radius: 50vw 50vw 0 0 / 30vw 30vw 0 0 !important; }

/* ---------------------------------------------------- Riquadri foto */
.tyme-foto { overflow: hidden; }
.wp-block-cover.tyme-foto .wp-block-cover__inner-container { width: 100% !important; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; }
.tyme-foto .wp-block-cover__inner-container > * { margin: 0; }
.tyme-foto .wp-block-cover__inner-container > .wp-block-group { width: 100%; }
.tyme-foto img.wp-block-cover__image-background { transition: transform 1.6s var(--ty-ease); }
.tyme-foto:hover img.wp-block-cover__image-background { transform: scale(1.04); }
.tyme-foto.is-style-arco .wp-block-cover__inner-container { justify-content: flex-end; text-align: center; }
.tyme-foto.is-style-arco .wp-block-cover__inner-container > .wp-block-group { justify-content: center !important; gap: 1rem; }

/* ----------------------------------------------- Scritta scorrevole */
.is-style-scorrevole { overflow: hidden; white-space: nowrap; display: block; margin: 0 !important; }
.is-style-scorrevole .ty-track { display: inline-flex; animation: ty-marquee var(--ty-durata, 38s) linear infinite; will-change: transform; }
.is-style-scorrevole .ty-track > span { padding-right: .6em; }
.is-style-scorrevole:hover .ty-track { animation-play-state: paused; }
@keyframes ty-marquee { to { transform: translateX(-50%); } }
.ty-nastro { border-top: 1px solid var(--ty-linea); border-bottom: 1px solid var(--ty-linea); }

/* ---------------------------------------------------- Dittico
   Due pannelli a tutta altezza. Al passaggio del mouse:
   - il pannello scelto si allarga, l'altro si stringe e si spegne;
   - lo sfondo si avvicina lentamente, una cornice oro si disegna attorno;
   - testo e link salgono da sotto; una luce morbida segue il cursore.
   Su telefono e tablet tutto è già visibile, senza effetti al passaggio. */
.wp-block-columns.is-style-dittico { gap: 0 !important; overflow: hidden; }
.wp-block-columns.is-style-dittico > .wp-block-column { display: flex; position: relative; overflow: hidden; isolation: isolate;
	transition: flex-grow 1.2s var(--ty-ease), flex-basis 1.2s var(--ty-ease); }
.wp-block-columns.is-style-dittico > .wp-block-column > .wp-block-cover { flex: 1; border-right: 1px solid var(--ty-linea); }
.wp-block-columns.is-style-dittico > .wp-block-column:last-child > .wp-block-cover { border-right: 0; }
.is-style-dittico .wp-block-cover .wp-block-cover__background { transition: opacity 1.1s var(--ty-ease), background-color 1.1s; }
.is-style-dittico .wp-block-cover .wp-block-cover__image-background { transition: transform 2.6s var(--ty-ease), filter 1.2s var(--ty-ease); transform: scale(1.02); }
.is-style-dittico .ty-titolo-pannello { transition: transform 1.1s var(--ty-ease), opacity .9s var(--ty-ease), letter-spacing 1.1s var(--ty-ease); transform-origin: left bottom; }
.is-style-dittico .is-style-etichetta { transition: opacity .8s var(--ty-ease), transform 1s var(--ty-ease); }
.is-style-dittico .ty-pannello-nota { opacity: .55; transition: opacity .6s; }

/* cornice oro che si disegna */
.wp-block-columns.is-style-dittico > .wp-block-column::after {
	content: ""; position: absolute; inset: clamp(.9rem, 2vw, 1.6rem); border: 1px solid var(--ty-oro); pointer-events: none; z-index: 3;
	clip-path: inset(0 100% 100% 0); opacity: .9;
	transition: clip-path 1.1s var(--ty-ease) .1s;
}
/* luce che segue il cursore */
.wp-block-columns.is-style-dittico > .wp-block-column::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2; opacity: 0; mix-blend-mode: soft-light;
	background: radial-gradient(520px circle at var(--mx, 50%) var(--my, 60%), rgba(239, 232, 216, .38), transparent 60%);
	transition: opacity .8s var(--ty-ease);
}

@media (min-width: 782px) {
	.wp-block-columns.is-style-dittico > .wp-block-column { flex: 1 1 0 !important; }
}
@media (min-width: 782px) and (hover: hover) {
	.is-style-dittico .ty-pannello-testo { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ty-ease), transform 1.1s var(--ty-ease); }
	.is-style-dittico .ty-pannello-testo > * { transition: transform 1.1s var(--ty-ease); }

	.wp-block-columns.is-style-dittico:hover > .wp-block-column { flex-grow: .62 !important; }
	.wp-block-columns.is-style-dittico:hover > .wp-block-column:hover { flex-grow: 1.55 !important; }

	/* pannello scelto */
	.is-style-dittico > .wp-block-column:hover .wp-block-cover__background { opacity: .42 !important; }
	.is-style-dittico > .wp-block-column:hover .wp-block-cover__image-background { transform: scale(1.09); }
	.is-style-dittico > .wp-block-column:hover .ty-pannello-testo { opacity: 1; transform: none; transition-delay: .18s; }
	.is-style-dittico > .wp-block-column:hover .ty-titolo-pannello { transform: translateY(-.15em); letter-spacing: -0.035em !important; }
	.is-style-dittico > .wp-block-column:hover .ty-pannello-nota { opacity: 1; }
	.wp-block-columns.is-style-dittico > .wp-block-column:hover::after { clip-path: inset(0 0 0 0); }
	.wp-block-columns.is-style-dittico > .wp-block-column:hover::before { opacity: 1; }

	/* pannello non scelto: si spegne */
	.is-style-dittico:hover > .wp-block-column:not(:hover) .wp-block-cover__background { opacity: .93 !important; }
	.is-style-dittico:hover > .wp-block-column:not(:hover) .wp-block-cover__image-background { filter: grayscale(.7) brightness(.8); }
	.is-style-dittico:hover > .wp-block-column:not(:hover) .ty-titolo-pannello { opacity: .38; transform: scale(.82); }
	.is-style-dittico:hover > .wp-block-column:not(:hover) .is-style-etichetta { opacity: .4; }
}

/* ingresso allo scorrere: i pannelli si aprono come un sipario, uno dopo l'altro */
@media (prefers-reduced-motion: no-preference) {
	.js-ty .wp-block-columns.is-style-dittico > .wp-block-column.ty-rv { opacity: 1; transform: none; clip-path: inset(100% 0 0 0); transition: clip-path 1.5s var(--ty-ease), flex-grow 1.2s var(--ty-ease), flex-basis 1.2s var(--ty-ease); }
	.js-ty .wp-block-columns.is-style-dittico > .wp-block-column.ty-rv.is-in { clip-path: inset(0 0 0 0); }
	.js-ty .wp-block-columns.is-style-dittico > .wp-block-column.ty-rv .ty-titolo-pannello { transform: translateY(40%); opacity: 0; }
	.js-ty .wp-block-columns.is-style-dittico > .wp-block-column.ty-rv.is-in .ty-titolo-pannello { transform: none; opacity: 1; transition: transform 1.4s var(--ty-ease) .5s, opacity 1.2s var(--ty-ease) .5s, letter-spacing 1.1s var(--ty-ease); }
}

/* -------------------------------------------- Colonne sfalsate / sticky */
@media (min-width: 782px) {
	.wp-block-columns.is-style-sfalsate > .wp-block-column:nth-child(2) { margin-top: clamp(4rem, 12vw, 12rem); }
	.wp-block-columns.is-style-sfalsate > .wp-block-column:nth-child(3) { margin-top: clamp(2rem, 6vw, 6rem); }
	.ty-sticky { position: sticky; top: 7rem; align-self: flex-start; }
}
.ty-storia > .wp-block-group { border-top: 1px solid var(--ty-linea); padding-top: clamp(2rem, 4vw, 3rem); }

/* ---------------------------------------------------- Timeline serata */
.ty-timeline { position: relative; }
.ty-timeline > .wp-block-group { position: relative; padding-top: 2.6rem; flex: 1 1 0; min-width: 0; }
.ty-timeline > .wp-block-group::before { content: ""; position: absolute; top: 5px; left: 0; right: -2rem; height: 1px; background: linear-gradient(90deg, var(--ty-oro), rgba(176,138,85,.15)); }
.ty-timeline > .wp-block-group:last-child::before { right: 0; background: linear-gradient(90deg, var(--ty-oro), transparent); }
.ty-timeline > .wp-block-group::after { content: ""; position: absolute; top: 0; left: 0; width: 11px; height: 11px; border: 1px solid var(--ty-oro); background: var(--ty-nero); transform: rotate(45deg); transition: background .4s; }
.ty-timeline > .wp-block-group:hover::after { background: var(--ty-verde); border-color: var(--ty-verde); }
.ty-ora { font-family: var(--wp--preset--font-family--bodoni); font-size: clamp(2rem, 3.4vw, 3rem) !important; line-height: 1 !important; margin: 0 0 .6rem !important; }
@media (max-width: 781px) {
	.ty-timeline { flex-direction: column !important; padding-left: 2rem; }
	.ty-timeline > .wp-block-group { padding-top: 0; }
	.ty-timeline > .wp-block-group::before { top: 6px; left: -2rem; right: auto; width: 1px; height: calc(100% + 2rem); background: var(--ty-oro); opacity: .5; }
	.ty-timeline > .wp-block-group::after { left: calc(-2rem - 5px); top: 6px; }
}

/* --------------------------------------------- Elenco "carta" (menu) */
.wp-block-list.is-style-carta { list-style: none; padding: 0 !important; margin: 0; }
.wp-block-list.is-style-carta > li { display: flex; align-items: baseline; gap: 1rem; padding: 1.05rem 0; border-bottom: 1px solid var(--ty-linea); font-size: var(--wp--preset--font-size--small); color: var(--ty-tenue); transition: padding .5s var(--ty-ease), color .3s; }
.wp-block-list.is-style-carta > li > strong { order: 0; font-family: var(--wp--preset--font-family--bodoni); font-weight: 400; font-size: clamp(1.35rem, 2.4vw, 2rem); color: var(--ty-crema); line-height: 1.15; }
.wp-block-list.is-style-carta > li::after { content: ""; order: 1; flex: 1 1 2rem; border-bottom: 1px dotted rgba(176,138,85,.55); transform: translateY(-.35em); min-width: 2rem; }
.wp-block-list.is-style-carta > li > em { order: 2; color: var(--ty-tenue); font-style: normal; text-align: right; max-width: 22rem; }
.wp-block-list.is-style-carta > li:hover { padding-left: .6rem; }
.wp-block-list.is-style-carta > li:hover > strong { color: var(--ty-verde); font-style: italic; }
@media (max-width: 640px) { .wp-block-list.is-style-carta > li { flex-wrap: wrap; } .wp-block-list.is-style-carta > li::after { display: none; } .wp-block-list.is-style-carta > li > em { text-align: left; } }

/* ------------------------------------------------ Promesse (righe grandi) */
.ty-promesse > .wp-block-columns { border-top: 1px solid var(--ty-linea); padding: clamp(1.5rem, 3vw, 2.5rem) 0; margin: 0 !important; transition: background .6s; }
.ty-promesse > .wp-block-columns:last-child { border-bottom: 1px solid var(--ty-linea); }
.ty-promesse > .wp-block-columns:hover { background: linear-gradient(90deg, rgba(140,184,90,.06), transparent 70%); }

/* --------------------------------------------- Numeri grandi */
.ty-numeri > .wp-block-column { border-top: 1px solid var(--ty-oro); padding-top: 1.5rem; }
.ty-numero { font-family: var(--wp--preset--font-family--bodoni); line-height: .85 !important; margin: 0 0 1rem !important; }

/* --------------------------------------------- Bottone "freccia" */
.wp-block-button.is-style-freccia > .wp-block-button__link { background: none !important; border: 0 !important; padding: .4rem 0 !important; color: var(--ty-crema) !important; position: relative; display: inline-flex; align-items: center; gap: .9rem; }
.wp-block-button.is-style-freccia > .wp-block-button__link::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: currentColor; transform-origin: right; transform: scaleX(.35); transition: transform .6s var(--ty-ease); }
.wp-block-button.is-style-freccia > .wp-block-button__link:hover::before { transform: scaleX(1); transform-origin: left; }
.wp-block-button.is-style-freccia > .wp-block-button__link:hover { color: var(--ty-verde) !important; }
.wp-block-button__link { transition: background-color .4s var(--ty-ease), color .4s, border-color .4s, letter-spacing .5s var(--ty-ease); }
.wp-block-button:not(.is-style-freccia):not(.is-style-outline) > .wp-block-button__link:hover { letter-spacing: .22em; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--ty-crema); border-color: var(--ty-linea); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--ty-crema); background: transparent; color: var(--ty-crema); }

/* --------------------------------------------------- Banda déco e invito */
.tyme-deco { border-top: 1px solid var(--ty-linea); border-bottom: 1px solid var(--ty-linea); }
.ty-invito { box-shadow: 0 0 0 1px var(--ty-oro) inset, 0 0 0 8px var(--ty-nero) inset, 0 0 0 9px rgba(176,138,85,.45) inset; }

/* --------------------------------------------------- Footer */
.ty-footer-wordmark { font-family: var(--wp--preset--font-family--bodoni); font-size: clamp(9rem, 33vw, 34rem) !important; line-height: .72 !important; letter-spacing: -0.06em; margin: 0 !important; text-align: center; overflow: hidden; background: linear-gradient(180deg, var(--ty-verde) 0%, rgba(140,184,90,.15) 85%); -webkit-background-clip: text; background-clip: text; color: transparent !important; user-select: none; padding-top: .05em; }
.ty-footer-wordmark a { color: inherit !important; text-decoration: none; }
.ty-footer-cta a { text-decoration: none; }
.ty-footer-cta a:hover { font-style: italic; color: var(--ty-verde); }

/* --------------------------------------------------- Elenchi semplici */
.tyme-lista-pulita { list-style: none; padding-left: 0 !important; line-height: 2.1; }
.tyme-lista-pulita a, .ty-link-pulito a { text-decoration: none; }
.tyme-lista-pulita a:hover, .ty-link-pulito a:hover { color: var(--ty-verde); }
.ty-contatto-grande a { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .6s var(--ty-ease); }
.ty-contatto-grande a:hover { background-size: 100% 1px; color: var(--ty-verde); }

/* --------------------------------------------------- Logo */
.tyme-logo { margin: 0 !important; }
.tyme-logo a { text-decoration: none; color: inherit; }
.tyme-logo-sub { margin: 0 !important; }
mark.has-inline-color { background: transparent; }

/* --------------------------------------------------- Ingresso animato (solo sito) */
@media (prefers-reduced-motion: no-preference) {
	.js-ty .ty-rv { opacity: 0; transform: translateY(32px); transition: opacity 1.2s var(--ty-ease), transform 1.2s var(--ty-ease); }
	.js-ty .ty-rv.is-in { opacity: 1; transform: none; }
	.js-ty .ty-titolo-rv .ty-riga { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; }
	.js-ty .ty-titolo-rv .ty-riga > span { display: inline-block; transform: translateY(105%); transition: transform 1.3s var(--ty-ease); }
	.js-ty .ty-titolo-rv.is-in .ty-riga > span { transform: none; }
	.js-ty .tyme-foto.ty-rv { clip-path: inset(12% 0 0 0); opacity: 1; transform: none; transition: clip-path 1.6s var(--ty-ease); }
	.js-ty .tyme-foto.ty-rv.is-in { clip-path: inset(0 0 0 0); }
	.js-ty .is-style-arco.tyme-foto.ty-rv { clip-path: none; opacity: 0; transform: scale(.96); transition: opacity 1.4s var(--ty-ease), transform 1.6s var(--ty-ease); }
	.js-ty .is-style-arco.tyme-foto.ty-rv.is-in { opacity: 1; transform: none; }
}

/* --------------------------------------------------- Separatori semplici */
.wp-block-separator:not(.is-style-dots):not(.is-style-deco) { width: 100% !important; max-width: none !important; opacity: 1; }

/* --------------------------------------------------- Mobile */
@media (max-width: 781px) {
	.tyme-inverti-mobile { flex-direction: column-reverse !important; }
	.ty-header .ty-header-cta { display: none; }
	.ty-header-grid { grid-template-columns: auto 1fr; }
	.ty-header-grid > :nth-child(2) { justify-self: end; }
	.ty-solo-desktop { display: none !important; }
	.ty-anatomia > .wp-block-column { border-left: 0; padding-left: 0; border-top: 1px solid var(--ty-linea); padding-top: 1.5rem; }
	.wp-block-columns.is-style-dittico > .wp-block-column { flex-basis: 100% !important; }
	.wp-block-columns.is-style-dittico .wp-block-cover { min-height: 72vh !important; border-right: 0 !important; border-bottom: 1px solid var(--ty-linea); }
}

/* --------------------------------------------------- Etichette */
.is-style-etichetta { font-size: var(--wp--preset--font-size--x-small) !important; text-transform: uppercase; letter-spacing: .24em; font-weight: 500; color: var(--wp--preset--color--verde); line-height: 1.4; }
.is-style-piccolo-maiuscolo { font-size: var(--wp--preset--font-size--x-small) !important; text-transform: uppercase; letter-spacing: .2em; font-weight: 500; color: var(--wp--preset--color--crema); line-height: 1.4; }
.wp-block-group.is-style-riquadro { border: 1px solid var(--wp--preset--color--linea); padding: clamp(1.25rem, 3vw, 2rem); }

/* --------------------------------------------------- Hero */
.ty-hero-arco { position: relative; }
.ty-orologio-flottante { position: absolute; left: clamp(-5rem, -6vw, -2rem); bottom: -3.5rem; z-index: 2; margin: 0 !important; }
.ty-orologio-flottante .ty-orologio svg { filter: drop-shadow(0 20px 40px rgba(0,0,0,.6)); }
.ty-hero .ty-verticale { margin-bottom: 1rem !important; }
@media (max-width: 781px) { .ty-orologio-flottante { position: relative; left: auto; bottom: auto; margin-top: -4rem !important; } }

/* --------------------------------------------------- Moduli in stile "invito" */
.tyme-form legend { border-bottom-color: var(--ty-linea); }
.tyme-form legend span { font-size: 1.6rem; color: var(--ty-oro); font-style: italic; }
.ty-invito-form .tyme-prev__riepilogo, .ty-invito {
	background: radial-gradient(120% 80% at 50% 0%, rgba(176,138,85,.10), transparent 60%), var(--ty-nero) !important;
	border: 0 !important;
	box-shadow: 0 0 0 1px var(--ty-oro) inset, 0 0 0 7px var(--ty-nero) inset, 0 0 0 8px rgba(176,138,85,.4) inset, 0 40px 80px -30px rgba(0,0,0,.8);
	position: relative;
}
.ty-invito-form .tyme-prev__riepilogo { text-align: center; padding: clamp(2.5rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 2.5rem) !important; }
.ty-invito-form .tyme-prev__riepilogo::before, .ty-invito::before {
	content: ""; position: absolute; top: -7px; left: 50%; width: 13px; height: 13px; background: var(--ty-nero); border: 1px solid var(--ty-oro); transform: translateX(-50%) rotate(45deg);
}
.ty-invito-form .tyme-prev__titolo { font-size: .7rem; letter-spacing: .32em; text-transform: uppercase; font-family: var(--wp--preset--font-family--jost); color: var(--ty-oro); }
.ty-invito-form .tyme-prev__totale { font-size: clamp(3.5rem, 7vw, 6rem); font-style: italic; color: var(--ty-crema); }
.ty-invito-form .tyme-prev__range { border-bottom: 0; position: relative; padding-bottom: 1.8rem; }
.ty-invito-form .tyme-prev__range::after { content: ""; position: absolute; left: 25%; right: 25%; bottom: 0; height: 4px; border-top: 1px solid var(--ty-oro); border-bottom: 1px solid var(--ty-oro); opacity: .5; }
.ty-invito-form .tyme-prev__voci li { text-align: left; border-bottom: 1px dotted rgba(176,138,85,.3); }
.ty-invito-form .tyme-servizio { transition: padding .4s var(--ty-ease); }
.ty-invito-form .tyme-servizio:hover { padding-left: .5rem; }
.ty-invito-form .tyme-servizio__nome { font-family: var(--wp--preset--font-family--bodoni); font-size: 1.25rem; }
.ty-invito-form .tyme-valore b { font-size: 3rem; font-style: italic; }
.ty-invito-form .tyme-scelte label span { font-family: var(--wp--preset--font-family--bodoni); font-size: 1.05rem; padding: .8rem 1.4rem; }
.ty-invito { padding: clamp(2rem, 4vw, 3.25rem) !important; }
.ty-invito .tyme-contatti__titolo { text-align: center; font-style: italic; font-size: 2.25rem; }
.ty-invito input[type=text], .ty-invito input[type=email], .ty-invito input[type=tel], .ty-invito select, .ty-invito textarea { background: transparent !important; border-bottom-color: rgba(176,138,85,.45) !important; padding-left: 0; padding-right: 0; }
.ty-invito select { padding-right: 2rem; }

/* --------------------------------------------------- Ritocchi */
.tyme-foto.is-style-arco .wp-block-cover__inner-container { justify-content: center !important; padding: 0 12% !important; }
.ty-lettera { padding-bottom: .2em; }
@media (min-width: 782px) {
	.ty-storia > .wp-block-group .tyme-foto { width: 82%; }
	.ty-storia > .wp-block-group:nth-child(even) .tyme-foto { width: 64%; margin-left: auto !important; }
	.ty-storia > .wp-block-group:nth-child(even) > :not(.tyme-foto) { padding-left: 36%; }
}
.ty-titolo-pannello { font-size: clamp(3rem, 6.2vw, 6.5rem) !important; line-height: .95 !important; }
.ty-header .is-menu-open .wp-block-navigation__responsive-container-content { min-height: calc(100vh - 12rem); display: flex !important; flex-direction: column; justify-content: center !important; }

/* Dittico — ritocchi: titolo sempre su una riga, il pannello scelto "si accende" anche senza foto */
.wp-block-columns.is-style-dittico > .wp-block-column { background-color: #50544a; }
@media (min-width: 782px) {
	.is-style-dittico .ty-titolo-pannello { white-space: nowrap; }
}
@media (min-width: 782px) and (hover: hover) {
	.is-style-dittico:hover > .wp-block-column:not(:hover) .wp-block-cover__background { background-color: var(--ty-nero) !important; opacity: .86 !important; }
	.is-style-dittico:hover > .wp-block-column:not(:hover) .ty-titolo-pannello { opacity: .45; transform: scale(.6); }
	.is-style-dittico > .wp-block-column:hover .wp-block-cover__background { opacity: .5 !important; }
}
@media (min-width: 782px) and (hover: hover) {
	.wp-block-columns.is-style-dittico:hover > .wp-block-column:not(:hover) .ty-titolo-pannello { opacity: .45 !important; transform: scale(.6) !important; }
	.wp-block-columns.is-style-dittico > .wp-block-column:hover .ty-titolo-pannello { transform: translateY(-.15em) !important; }
}
