/* ==========================================================================
   Delvitech — stili del tema
   Valori presi dal Figma "Delvitech | Web layout 2026" (variabili Color,
   Typography, Spacing, Layout). I colori base sono in theme.json (palette);
   qui ci sono i ruoli semantici per modalità scura (default) e chiara.
   ========================================================================== */

:root {
	--tx-font-display: var(--wp--preset--font-family--display);
	--tx-font-xl: var(--wp--preset--font-family--display-xl);
	--tx-font-text: var(--wp--preset--font-family--text);

	--tx-max: 1220px;               /* layout/content-width */
	--tx-gutter: 30px;              /* layout/margin desktop */
	--tx-px: max(var(--tx-gutter), calc((100% - var(--tx-max)) / 2));
	--tx-py: 80px;                  /* layout/section-y */
	--tx-header-h: 118px;

	--tx-teal: var(--wp--preset--color--teal);
	--tx-teal-700: var(--wp--preset--color--teal-700);
	--tx-orange: var(--wp--preset--color--orange);
	--tx-red: var(--wp--preset--color--red);
	--tx-red-700: var(--wp--preset--color--red-700);
	--tx-purple: var(--wp--preset--color--purple);
}
@media (max-width: 781px) {
	:root { --tx-gutter: 16px; --tx-py: 40px; --tx-header-h: 70px; }
}

/* ---------- Modalità colore (Color: Dark / Light del Figma) ---------- */
body, .tx-dark, .tx-hero {
	--c-bg: #000;
	--c-surface: #121212;
	--c-text: #fff;
	--c-text-2: rgba(255,255,255,.75);
	--c-text-3: rgba(255,255,255,.65);
	--c-border: #fff;
	--c-border-subtle: rgba(255,255,255,.3);
	--c-border-faint: rgba(255,255,255,.15);
	--c-border-strong: rgba(255,255,255,.5);
	--c-btn-bg: #fff;
	--c-btn-text: #000;
	--c-btn-hover: #d9d9d9;
	--c-ghost-hover: rgba(255,255,255,.1);
	--c-accent-text: var(--tx-orange);
	--c-bar: rgba(0,0,0,.9);
	--c-field: transparent;
}
body.tx-mode-light, .tx-light {
	--c-bg: #fff;
	--c-surface: #ededed;
	--c-text: #000;
	--c-text-2: rgba(0,0,0,.75);
	--c-text-3: #555;
	--c-border: #000;
	--c-border-subtle: rgba(0,0,0,.15);
	--c-border-faint: rgba(0,0,0,.1);
	--c-border-strong: rgba(0,0,0,.6);
	--c-btn-bg: #000;
	--c-btn-text: #fff;
	--c-btn-hover: #333;
	--c-ghost-hover: rgba(0,0,0,.1);
	--c-accent-text: var(--tx-teal-700);
	--c-bar: rgba(255,255,255,.94);
}
.tx-hero, .tx-dark { color: var(--c-text); }
/* Accento del prodotto (Product: Horus = teal, Aton = arancio) */
body { --c-paccent: var(--tx-teal); --c-paccent-tint: rgba(55,151,153,.3); }
.tx-accent-orange, body.tx-accent-orange { --c-paccent: var(--tx-orange); --c-paccent-tint: rgba(239,128,26,.3); }

body { background: var(--c-bg); color: var(--c-text); }

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
iframe, video, embed, object { max-width: 100%; }
:focus-visible { outline: 2px solid var(--tx-orange); outline-offset: 3px; }
.screen-reader-text:not(:focus) { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
a { color: inherit; }
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks { position: relative; }

/* Le sezioni gestiscono da sole gli spazi interni (gap): niente margini automatici tra i blocchi */
body [class*="tx-"]:not(.tx-content):not(.wp-block-post-content) > * { margin-block: 0; }
body .wp-block-image { margin-bottom: 0; }
body .wp-block-post-content.is-layout-flow > .tx-section,
body .tx-section { margin-block: 0; }
body :is(.tx-section, .tx-stack, .tx-col, .tx-row, .tx-card, .tx-head, .tx-hero__text, .tx-slide__content, .tx-slide__media, .tx-tile, .tx-fig, .tx-spec, .tx-office, .tx-person, .tx-legend__item, .tx-legend__txt, .tx-pillar, .tx-group, .tx-app, .tx-ind, .tx-mv__col, .tx-split__l, .tx-split__r, .tx-statement, .tx-closing, .tx-config__card, .tx-figure-card) > * { margin-block: 0; }

.tx-section {
	position: relative;
	padding: var(--tx-py) var(--tx-px);
	display: flex;
	flex-direction: column;
	gap: 40px;
	background: var(--c-bg);
	color: var(--c-text);
}
.tx-stack, .tx-col { display: flex; flex-direction: column; gap: 24px; }
.tx-head { display: flex; flex-direction: column; gap: 16px; }
.tx-row { display: flex; gap: 40px; align-items: center; }

/* ---------- Tipografia ---------- */
h1, .tx-h1 { font-family: var(--tx-font-display); font-weight: 600; font-size: var(--wp--preset--font-size--titolo-l); line-height: .93; text-transform: uppercase; }
h2, .tx-h2 { font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-m); line-height: .95; }
h3, .tx-h3 { font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; }
h4, .tx-h4 { font-family: var(--tx-font-text); font-weight: 700; font-size: 18px; line-height: 1.33; }
.tx-h1-plain { font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-l); line-height: .93; text-transform: none; }
.tx-h2-40 { font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-m); line-height: 1.1; }
.tx-display-m { font-family: var(--tx-font-xl); font-weight: 600; font-size: var(--wp--preset--font-size--display); line-height: .95; }
.tx-overline, .is-style-tx-overline {
	font-family: var(--tx-font-text);
	font-size: 12px; line-height: 16px; font-weight: 700;
	letter-spacing: 1px; text-transform: uppercase;
	color: var(--c-text-2);
}
.tx-overline--accent { color: var(--c-paccent); }
.tx-lead, .is-style-tx-lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.33; }
.tx-body-s { font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; }
.tx-caption { font-size: 12px; line-height: 16px; }
.tx-label { font-size: 12px; line-height: 16px; font-weight: 700; }
.tx-strong { font-weight: 700; }
.tx-muted { color: var(--c-text-2); }
.tx-faint { color: var(--c-text-3); }
.tx-accent { color: var(--c-paccent); }
.tx-center { text-align: center; align-items: center; }
.tx-right { text-align: right; }
.tx-upper { text-transform: uppercase; }
.is-style-tx-upper { text-transform: uppercase; font-weight: 600; }
.tx-mw-640 { max-width: 640px; }
.tx-mw-760 { max-width: 760px; }

/* ---------- Pulsanti ---------- */
.wp-block-button__link {
	background: var(--c-btn-bg);
	color: var(--c-btn-text);
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
	display: inline-flex; align-items: center; gap: 8px;
}
.wp-block-button__link:hover { background: var(--c-btn-hover); color: var(--c-btn-text); }
.wp-block-button.is-style-tx-ghost .wp-block-button__link {
	background: transparent; color: var(--c-text);
	box-shadow: inset 0 0 0 1px var(--c-border);
	-webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px);
}
.wp-block-button.is-style-tx-ghost .wp-block-button__link:hover { background: var(--c-ghost-hover); }
.wp-block-button.is-style-tx-small .wp-block-button__link,
.tx-btn-sm .wp-block-button__link { font-size: 12px; line-height: 16px; padding: 10px 20px; }
.wp-block-button.is-style-tx-link .wp-block-button__link { background: transparent; padding: 0; color: var(--c-text); font-size: 12px; line-height: 16px; border-radius: 0; }
.wp-block-button.is-style-tx-link .wp-block-button__link::after,
.tx-arrow .wp-block-button__link::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--tx-ico-arrow) center / 12px no-repeat; mask: var(--tx-ico-arrow) center / 12px no-repeat; }
.wp-block-button.is-style-tx-link .wp-block-button__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.wp-block-buttons { gap: 16px; }
.tx-btn-full, .tx-btn-full .wp-block-button, .tx-btn-full .wp-block-button__link { width: 100%; justify-content: center; }
:root {
	--tx-ico-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 13'%3E%3Cpath d='M1 6.5h13M9 1.5l5 5-5 5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	--tx-ico-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 16'%3E%3Cpath d='M6.5 15V2M1.5 7l5-5 5 5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	--tx-ico-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	--tx-ico-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	--tx-ico-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	--tx-ico-ext: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 9'%3E%3Cpath d='M1 8L9.5 1M3.5 1h6v6' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* ==========================================================================
   Header (Header · Navigation · Desktop / Mobile)
   ========================================================================== */
.tx-site-header { position: absolute; inset: 0 0 auto 0; z-index: 50; }
body.admin-bar .tx-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .tx-site-header { top: 46px; } }
.tx-header {
	display: flex; align-items: center; gap: 16px;
	padding: 32px var(--tx-gutter);
	color: #fff;
	max-width: 100%;
}
body .tx-header > * { margin: 0; }
.tx-header .wp-block-site-logo, .tx-logo { flex: 0 0 auto; }
.tx-logo a { display: block; color: #fff; line-height: 0; }
.tx-logo img, .tx-logo svg { width: 83px; height: auto; }
.tx-header__nav {
	flex: 1 1 auto;
	display: flex; align-items: center; justify-content: flex-end; gap: 32px;
	padding: 8px 0;
	border-bottom: 1px solid #fff;
	min-height: 54px;
}
body .tx-header__nav > * { margin: 0 !important; }
.tx-nav { font-family: var(--tx-font-text); font-size: 18px; line-height: 24px; font-weight: 500; }
.tx-nav .wp-block-navigation__container { gap: 32px; }
.tx-nav .wp-block-navigation-item__content { color: #fff; text-decoration: none; padding: 4px 0; }
.tx-nav .wp-block-navigation-item__content:hover { color: #fff; text-decoration: underline; text-underline-offset: 6px; }
.tx-nav .wp-block-navigation__submenu-icon { width: 24px; height: 24px; margin: -4px -4px -4px 0; } /* area tocco 24px, ingombro visivo invariato (16px + 4px) */
.tx-nav .wp-block-navigation__submenu-icon svg { width: 12px; height: 12px; stroke-width: 2px; }
/* Tendina bianca (frame "menù open") */
.tx-nav .wp-block-navigation__submenu-container {
	background: #fff !important; color: #000 !important;
	border: 0 !important; padding: 16px !important; min-width: 150px !important;
	top: calc(100% + 18px) !important;
	box-shadow: 0 10px 40px rgba(0,0,0,.25);
}
.tx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { border-top: 1px solid #000; }
.tx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child { border-top: 0; }
.tx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #000 !important; font-size: 16px; font-weight: 400; line-height: 20px;
	padding: 5px 0 !important; display: flex; justify-content: space-between; gap: 16px; width: 100%;
}
.tx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	content: ""; width: 11px; height: 9px; background: currentColor; flex: 0 0 auto; align-self: center;
	-webkit-mask: var(--tx-ico-ext) center / contain no-repeat; mask: var(--tx-ico-ext) center / contain no-repeat;
}
.tx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { text-decoration: underline; }
.tx-header .tx-cta .wp-block-button__link { background: #fff; color: #000; font-size: 12px; line-height: 16px; padding: 10px 20px; }
.tx-header .tx-cta .wp-block-button__link:hover { background: #d9d9d9; }
/* Menu mobile (overlay del blocco Navigation) */
.tx-nav .wp-block-navigation__responsive-container-open,
.tx-nav .wp-block-navigation__responsive-container-close { color: #fff; }
.tx-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #000 !important; color: #fff !important;
	padding: 24px var(--tx-gutter);
}
.tx-nav .is-menu-open .wp-block-navigation__container { gap: 20px !important; font-family: var(--tx-font-display); font-size: 28px; line-height: 1.1; }
.tx-nav .is-menu-open .wp-block-navigation-item__content { color: #fff !important; }
.tx-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; color: #fff !important; padding: 8px 0 0 16px !important; box-shadow: none; min-width: 0 !important;
}
.tx-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-top: 0; }
.tx-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #fff !important; font-family: var(--tx-font-text); font-size: 18px; justify-content: flex-start; }
@media (max-width: 781px) {
	.tx-header { padding: 16px var(--tx-gutter); }
	.tx-logo img, .tx-logo svg { width: 58px; }
	.tx-header__nav { border-bottom: 0; gap: 16px; min-height: 0; padding: 0; }
	.tx-header .tx-cta { display: none; }
}

/* ==========================================================================
   Hero (Section/Hero Home, Hero Compact, Product Hero)
   ========================================================================== */
.tx-hero {
	position: relative; isolation: isolate; overflow: hidden;
	min-height: 835px;
	padding: calc(var(--tx-header-h) + 40px) var(--tx-px) 75px;
	display: flex; flex-direction: column; justify-content: flex-end; align-items: center;
	gap: 24px; text-align: center;
	background: #000; color: #fff;
}
.tx-hero > .tx-hero__bg { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; }
.tx-hero > .tx-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.tx-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 100%); pointer-events: none; }
.tx-hero h1 { max-width: 672px; }
.tx-hero__sub { font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-m); line-height: .95; }
/* Compact (pagine interne) */
.tx-hero--compact {
	min-height: 529px; align-items: flex-start; text-align: left; gap: 8px;
	padding-bottom: 61px;
}
.tx-hero--compact::after { background: linear-gradient(90deg, #000 30%, rgba(0,0,0,.3) 83%), linear-gradient(0deg, #000 0%, rgba(0,0,0,0) 100%); opacity: 1; }
.tx-hero--compact::after { background: linear-gradient(0deg, #000 0%, rgba(0,0,0,0) 60%), linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.3) 83%); }
.tx-hero--compact h1, .tx-hero--compact .tx-hero__kicker { max-width: 647px; }
.tx-hero__kicker { font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; }
.tx-hero__lead { max-width: 640px; color: var(--c-text-2); font-size: var(--wp--preset--font-size--lead); }
/* Prodotto */
.tx-hero--product {
	min-height: 702px; align-items: flex-start; text-align: left; gap: 24px;
	padding-top: 160px; padding-bottom: 80px;
}
.tx-hero--product::after { background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.2) 45%, rgba(0,0,0,.92) 100%); }
.tx-hero--product .tx-hero__name { font-family: var(--tx-font-xl); font-weight: 600; font-size: var(--wp--preset--font-size--display); line-height: .95; color: var(--c-paccent); }
.tx-hero--product h2 { max-width: 100%; }
.tx-hero--product .tx-hero__lead { max-width: 640px; }
.tx-accentbar { width: 120px; height: 4px; background: var(--c-paccent); border: 0; margin: 0 !important; opacity: 1; }
@media (max-width: 781px) {
	.tx-hero { min-height: 720px; padding-bottom: 56px; }
	.tx-hero h1 { font-size: 28px; line-height: 1; }
	.tx-hero__sub { font-size: 20px; line-height: 1.1; }
	.tx-hero--compact { min-height: 440px; padding-bottom: 40px; }
	.tx-hero--compact h1 { font-size: 36px; line-height: 1; }
	.tx-hero--product { min-height: 600px; padding-top: 120px; padding-bottom: 48px; }
}

/* ==========================================================================
   Barra eventi (02 · Exhibition bar) — scorre in orizzontale
   ========================================================================== */
.tx-ticker { padding: 15px 0; overflow: hidden; gap: 0; }
.tx-ticker__track { display: flex; width: max-content; gap: 40px; align-items: center; animation: tx-marquee 38s linear infinite; }
.tx-ticker:hover .tx-ticker__track { animation-play-state: paused; }
body .tx-ticker__track > * { margin: 0 !important; white-space: nowrap; }
.tx-ticker__item { display: flex; align-items: center; gap: 40px; }
body .tx-ticker__item > * { margin: 0 !important; }
.tx-ticker__item::after { content: ""; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--tx-ico-arrow) center / 15px no-repeat; mask: var(--tx-ico-arrow) center / 15px no-repeat; flex: 0 0 auto; }
.tx-ticker__item h3, .tx-ticker__item p { white-space: nowrap; }
.tx-ticker__news { display: flex; align-items: baseline; gap: 8px; }
.tx-ticker__news strong { font-family: var(--tx-font-display); font-weight: 500; font-size: 24px; line-height: 28px; display: inline-flex; align-items: center; gap: 8px; }
.tx-ticker__news strong::before { content: ""; width: 16px; height: 16px; border-radius: 50%; background: var(--tx-red-700); }
@keyframes tx-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 20px)); } }
@media (prefers-reduced-motion: reduce) { .tx-ticker__track { animation: none; } .tx-ticker { overflow-x: auto; } }

/* ==========================================================================
   Intro (03 · Intro) con immagine di sfondo a destra
   ========================================================================== */
.tx-intro { padding-block: 198px; align-items: center; text-align: center; gap: 24px; isolation: isolate; overflow: hidden; }
.tx-intro > .tx-intro__bg { position: absolute !important; z-index: -1; right: max(0px, calc((100% - 1220px) / 2 - 30px)); top: 50%; transform: translateY(-50%); width: min(766px, 70%); margin: 0 !important; opacity: .4; }
.tx-intro h2 { max-width: 667px; }
.tx-intro > p { max-width: 633px; }
.tx-scroll-cue { width: 24px; height: 24px; display: block; background: currentColor; -webkit-mask: var(--tx-ico-arrow-up) center / 12px no-repeat; mask: var(--tx-ico-arrow-up) center / 12px no-repeat; transform: rotate(180deg); margin-inline: auto !important; }
@media (max-width: 781px) { .tx-intro { padding-block: 80px; } .tx-intro > .tx-intro__bg { position: relative !important; transform: none; top: auto; right: auto; width: 100%; order: -1; } }

/* ==========================================================================
   Titolo allineato a destra e righe titolo
   ========================================================================== */
.tx-title-right { display: flex; justify-content: flex-end; text-align: right; }
.tx-title-right > * { max-width: 520px; margin: 0 !important; }
.tx-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
body .tx-head-row > * { margin: 0 !important; }
.tx-head-row--line { border-bottom: 1px solid var(--c-border); padding-bottom: 16px; }

/* ==========================================================================
   Physical AI: media + pilastri
   ========================================================================== */
.tx-physical { padding-top: 64px; }
.tx-physical__intro { max-width: 823px; }
.tx-media-pillars { display: grid; grid-template-columns: minmax(0, 703fr) minmax(0, 477fr); gap: 40px; align-items: center; }
.tx-media-pillars > figure { margin: 0 !important; }
.tx-media-pillars > figure img { width: 100%; aspect-ratio: 703 / 598; object-fit: cover; }
.tx-pillars { display: flex; flex-direction: column; gap: 40px; }
.tx-pillar { display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 781px) { .tx-media-pillars { grid-template-columns: 1fr; gap: 32px; } }

/* ==========================================================================
   Fisarmoniche (core/details)
   ========================================================================== */
.wp-block-details { margin: 0; }
.wp-block-details > summary { cursor: pointer; list-style: none; }
.wp-block-details > summary::-webkit-details-marker { display: none; }
/* Grande (Benefits): header H2 + freccia, contenuto a due colonne */
.tx-bigacc { border-top: 1px solid var(--c-border); }
.tx-bigacc > summary {
	display: flex; justify-content: space-between; align-items: center; gap: 24px;
	padding: 24px 0;
	font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-m); line-height: .95;
}
.tx-bigacc > summary::after { content: ""; width: 24px; height: 24px; background: currentColor; flex: 0 0 auto; -webkit-mask: var(--tx-ico-arrow-up) center / 12px no-repeat; mask: var(--tx-ico-arrow-up) center / 12px no-repeat; transform: rotate(180deg); transition: transform .2s; }
.tx-bigacc[open] > summary::after { transform: none; }
.tx-bigacc > .tx-acc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; padding: 16px 0 48px; }
.tx-acc-grid .tx-pillar p { color: var(--c-text-2); }
@media (max-width: 781px) { .tx-bigacc > .tx-acc-grid { grid-template-columns: 1fr; gap: 24px; } }

/* Lista + / − (Accordion item) */
.tx-acclist { border-bottom: 1px solid var(--c-border); }
.is-style-tx-plus, .tx-acclist > .wp-block-details { border-top: 1px solid var(--c-border); padding: 20px 0; }
.is-style-tx-plus > summary, .tx-acclist > .wp-block-details > summary {
	display: flex; justify-content: space-between; align-items: center; gap: 24px;
	font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17;
}
.is-style-tx-plus > summary::after, .tx-acclist > .wp-block-details > summary::after {
	content: ""; width: 24px; height: 24px; background: currentColor; flex: 0 0 auto;
	-webkit-mask: var(--tx-ico-plus) center / 20px no-repeat; mask: var(--tx-ico-plus) center / 20px no-repeat;
}
.is-style-tx-plus[open] > summary::after, .tx-acclist > .wp-block-details[open] > summary::after { -webkit-mask-image: var(--tx-ico-minus); mask-image: var(--tx-ico-minus); }
.is-style-tx-plus > :not(summary), .tx-acclist > .wp-block-details > :not(summary) { margin-top: 12px; color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; }

/* ==========================================================================
   Piattaforme: carosello orizzontale (06 · Platforms)
   ========================================================================== */
.tx-platforms { padding-inline: 0; gap: 32px; padding-block: 40px; }
.tx-platforms > .tx-head-row { padding-inline: var(--tx-px); align-items: flex-end; }
.tx-scrollhint { display: flex; align-items: center; gap: 16px; font-size: var(--wp--preset--font-size--lead); }
.tx-scrollhint::after { content: ""; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--tx-ico-arrow) center / 15px no-repeat; mask: var(--tx-ico-arrow) center / 15px no-repeat; }
.tx-carousel {
	display: flex; gap: 64px; overflow-x: auto; scroll-snap-type: x mandatory;
	padding: 0 var(--tx-px) 8px; scroll-padding-inline: var(--tx-px);
	scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.3) transparent;
}
body .tx-carousel > * { margin: 0 !important; }
.tx-slide { flex: 0 0 min(1148px, 88vw); scroll-snap-align: start; display: grid; grid-template-columns: minmax(0, 611fr) minmax(0, 497fr); gap: 40px; align-items: start; }
.tx-slide__media { display: flex; flex-direction: column; gap: 16px; align-items: center; }
.tx-slide__media figure { margin: 0 !important; width: 100%; }
.tx-slide__media img { width: 100%; aspect-ratio: 611 / 560; object-fit: cover; }
.tx-slide__content { display: flex; flex-direction: column; gap: 24px; }
.tx-prodname { font-family: var(--tx-font-xl); font-weight: 700; font-size: var(--wp--preset--font-size--display); line-height: .95; }
.tx-tagline { border: 1px solid var(--c-paccent); padding: 8px 16px; color: var(--c-paccent); font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; }
.tx-note { padding-inline: var(--tx-px); }
@media (max-width: 781px) { .tx-slide { grid-template-columns: 1fr; flex-basis: 86vw; gap: 24px; } .tx-carousel { gap: 24px; } }

/* ==========================================================================
   Due colonne: fisarmonica + titolo/immagine (07 · Why you can rely on it, Technology)
   ========================================================================== */
.tx-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.tx-duo > .tx-col { gap: 40px; }
.tx-duo__right { display: flex; flex-direction: column; gap: 40px; align-items: flex-end; text-align: right; }
body .tx-duo__right > * { margin: 0 !important; }
.tx-duo__right h2 { max-width: 577px; }
.tx-duo__right figure { margin: 0 !important; width: 100%; }
.tx-duo__right img { width: 100%; aspect-ratio: 577 / 400; object-fit: cover; }
.tx-duo--top { align-items: start; }
.tx-pt-120 { padding-top: 120px; }
@media (max-width: 781px) { .tx-duo { grid-template-columns: 1fr; } .tx-duo__right { order: -1; align-items: flex-start; text-align: left; } .tx-pt-120 { padding-top: 0; } }

/* ==========================================================================
   Swiss Precision Thinking: mappe + legenda
   ========================================================================== */
.tx-locations { padding-top: 64px; align-items: center; text-align: center; }
.tx-locations .tx-head { gap: 8px; align-items: center; }
.tx-maps { display: flex; gap: 32px; justify-content: center; flex-wrap: wrap; }
body .tx-maps > * { margin: 0 !important; }
.tx-maps figure { width: 289px; max-width: 100%; }
.tx-legend { display: flex; flex-wrap: wrap; gap: 24px 64px; justify-content: center; text-align: left; }
body .tx-legend > * { margin: 0 !important; }
.tx-legend__item { display: flex; gap: 12px; align-items: flex-start; width: 247px; }
.tx-legend__item::before { content: ""; width: 16px; height: 16px; border-radius: 50%; flex: 0 0 auto; margin-top: 3px; background: var(--dot, #fff); box-sizing: border-box; }
.tx-legend__item--hq { --dot: var(--tx-red); }
.tx-legend__item--sub { --dot: var(--tx-orange); }
.tx-legend__item--dist { --dot: var(--tx-teal); }
.tx-legend__item--mfg::before { background: transparent; border: 2px solid var(--tx-purple); }
.tx-legend__txt { display: flex; flex-direction: column; gap: 4px; }
.tx-legend__txt strong { font-weight: 700; }
.tx-legend__item--hq strong { color: var(--tx-red); }
.tx-legend__item--sub strong { color: var(--tx-orange); }
.tx-legend__item--dist strong { color: var(--tx-teal); }
.tx-legend__txt p:last-child { color: var(--c-text-2); font-size: var(--wp--preset--font-size--lead); line-height: 1.33; }

/* ==========================================================================
   News (09 · News) e archivio news
   ========================================================================== */
.tx-news { padding-inline: max(64px, calc((100% - 1152px) / 2)); }
.tx-news .tx-head { gap: 4px; }
.tx-carousel-ctrl { display: flex; gap: 12px; }
.tx-carousel-ctrl button {
	width: 34px; height: 34px; border-radius: 999px; border: 1px solid var(--c-border); background: transparent; color: var(--c-text); cursor: pointer;
	display: grid; place-items: center; padding: 0;
}
.tx-carousel-ctrl button::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--tx-ico-arrow) center / 12px no-repeat; mask: var(--tx-ico-arrow) center / 12px no-repeat; }
.tx-carousel-ctrl button.is-prev::before { transform: rotate(180deg); }
.tx-carousel-ctrl button.is-next { background: var(--c-btn-bg); color: var(--c-btn-text); }
.tx-newsgrid .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.tx-newsgrid--scroll .wp-block-post-template { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tx-newsgrid--scroll .wp-block-post-template::-webkit-scrollbar { display: none; }
.tx-newsgrid--scroll .wp-block-post-template > li { flex: 0 0 calc((100% - 48px) / 3); scroll-snap-align: start; }
.tx-newscard { background: var(--c-surface); display: flex; flex-direction: column; gap: 16px; padding-bottom: 24px; height: 100%; }
body .tx-newscard > * { margin: 0 !important; }
.tx-newscard .wp-block-post-featured-image { aspect-ratio: 368 / 220; background: #d9d9d9; overflow: hidden; }
.tx-newscard .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.tx-newscard__body { display: flex; flex-direction: column; gap: 12px; padding: 0 24px; flex: 1 1 auto; }
body .tx-newscard__body > * { margin: 0 !important; }
.tx-newscard .wp-block-post-date { font-size: 12px; line-height: 16px; font-weight: 700; color: var(--c-text-3); }
.tx-newscard .wp-block-post-title { font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; }
.tx-newscard .wp-block-post-title a { text-decoration: none; }
.tx-newscard .wp-block-post-excerpt { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; }
.tx-newscard .wp-block-post-excerpt__more-text { display: none; }
.tx-newscard .wp-block-read-more { font-size: 12px; font-weight: 700; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; margin-top: auto !important; }
.tx-newscard .wp-block-read-more::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--tx-ico-arrow) center / 12px no-repeat; mask: var(--tx-ico-arrow) center / 12px no-repeat; }
.wp-block-query-pagination { margin-top: 40px; gap: 16px; font-weight: 700; }
@media (max-width: 1000px) { .tx-newsgrid .wp-block-post-template { grid-template-columns: repeat(2, minmax(0,1fr)); } .tx-newsgrid--scroll .wp-block-post-template > li { flex-basis: 70%; } }
@media (max-width: 640px) { .tx-newsgrid .wp-block-post-template { grid-template-columns: 1fr; } .tx-newsgrid--scroll .wp-block-post-template > li { flex-basis: 86%; } .tx-news { padding-inline: var(--tx-px); } }

/* ==========================================================================
   FAQ, Contatti
   ========================================================================== */
.tx-faq .tx-acclist > .wp-block-details > :not(summary) { max-width: 100%; }
.tx-contact { flex-direction: row; align-items: center; gap: 32px; padding-left: max(133px, var(--tx-px)); padding-right: 0; padding-block: 80px; }
.tx-contact > .tx-col { flex: 0 1 606px; gap: 32px; }
.tx-contact > figure { margin: 0 0 0 auto !important; flex: 0 0 auto; width: min(509px, 40vw); }
.tx-contact > figure img { width: 100%; aspect-ratio: 509 / 672; object-fit: cover; }
@media (max-width: 900px) { .tx-contact { flex-direction: column; padding-inline: var(--tx-px); align-items: stretch; } .tx-contact > figure { width: 100%; margin: 0 !important; } .tx-contact > figure img { aspect-ratio: 4/3; } }

/* ---------- Moduli ---------- */
.tx-form { display: flex; flex-direction: column; gap: 32px; }
.tx-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
.tx-form__field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.tx-form__field--full { grid-column: 1 / -1; }
.tx-form__field label, .tx-form__label { font-size: 12px; line-height: 16px; font-weight: 700; }
.tx-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=hidden]), .tx-form textarea, .tx-form select {
	font: inherit; font-size: var(--wp--preset--font-size--body-s); line-height: 20px;
	color: var(--c-text); background: var(--c-field, transparent);
	border: 0; border-bottom: 1px solid var(--c-border); border-radius: 0;
	padding: 10px 4px; width: 100%; box-sizing: border-box;
}
.tx-form textarea { min-height: 41px; max-height: 240px; resize: vertical; field-sizing: content; }
.tx-form ::placeholder { color: var(--c-text-3); opacity: 1; }
.tx-form input:focus, .tx-form textarea:focus, .tx-form select:focus { outline: none; border-bottom-color: var(--c-accent-text); }
.tx-form button[type=submit] {
	align-self: flex-start; cursor: pointer;
	background: var(--c-btn-bg); color: var(--c-btn-text); border: 0; border-radius: 999px;
	font: inherit; font-weight: 700; font-size: 12px; line-height: 16px; text-transform: uppercase; padding: 10px 20px;
}
.tx-form button[type=submit]:hover { background: var(--c-btn-hover); }
.tx-form__privacy { font-size: 12px; line-height: 16px; color: var(--c-text-2); margin: 0; }
.tx-form__check { display: flex; gap: 12px; align-items: flex-start; font-size: 12px; line-height: 16px; }
.tx-form__check input { width: 16px; height: 16px; margin: 0; flex: 0 0 auto; accent-color: var(--c-text); }
.tx-form__hp { position: absolute; left: -9999px; }
.tx-notice { padding: 12px 16px; border: 1px solid var(--c-border-subtle); margin: 0; font-size: var(--wp--preset--font-size--body-s); }
.tx-notice--error { border-color: var(--tx-red); color: var(--tx-red); }
@media (max-width: 640px) { .tx-form__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Footer (12 · Footer)
   ========================================================================== */
.tx-footer { padding: 80px var(--tx-px) 40px; display: flex; flex-direction: column; gap: 40px; background: var(--c-bg); color: var(--c-text); }
body .tx-footer > * { margin: 0 !important; }
.tx-footer__top { display: flex; justify-content: space-between; gap: 40px; }
body .tx-footer__top > *, body .tx-footer__claim > *, body .tx-footer__cols > *, body .tx-footer__col > *, body .tx-footer__bottom > * { margin: 0 !important; }
.tx-footer__claim { display: flex; flex-direction: column; gap: 24px; max-width: 420px; }
.tx-footer__claim p { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); max-width: 400px; }
.tx-footer__cols { display: flex; gap: 64px; align-items: flex-start; }
.tx-footer__col { display: flex; flex-direction: column; gap: 10px; }
.tx-footer__col .tx-footer__h { font-size: var(--wp--preset--font-size--lead); line-height: 1.33; }
.tx-footer__col a { display: inline-block; padding-block: 4px; margin-block: -4px; font-size: 12px; line-height: 16px; font-weight: 700; color: var(--c-text-2); text-decoration: none; }
.tx-footer__col a:hover { color: var(--c-text); text-decoration: underline; }
.tx-footer__addr { max-width: 193px; }
.tx-footer__badges { display: flex; justify-content: flex-end; gap: 16px; }
.tx-footer__badges img { height: 104px; width: auto; }
.tx-footer__bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; font-size: 12px; line-height: 16px; color: var(--c-text-3); }
.tx-footer__bottom a { text-decoration: none; }
.tx-footer__bottom .tx-logo { color: var(--c-text); }
.tx-footer__bottom .tx-logo svg { width: 83px; }
.tx-footer__legal { display: flex; gap: 16px; }
body.tx-mode-light .tx-footer__badges img { filter: invert(1); }
@media (max-width: 900px) {
	.tx-footer__top { flex-direction: column; }
	.tx-footer__cols { flex-wrap: wrap; gap: 32px 48px; }
	.tx-footer__badges { justify-content: flex-start; }
	.tx-footer__badges img { height: 72px; }
	.tx-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   Technology
   ========================================================================== */
.tx-why { padding-top: 129px; }
.tx-tabhero { padding: 0 var(--tx-gutter) 0 0; flex-direction: row; align-items: center; gap: 0; }
.tx-tabhero > figure { margin: 0 !important; flex: 0 0 min(860px, 67%); }
.tx-tabhero > figure img { width: 100%; aspect-ratio: 860 / 560; object-fit: cover; }
.tx-tablist { flex: 1 1 auto; display: flex; flex-direction: column; gap: 12px; align-items: flex-end; text-align: right; }
body .tx-tablist > * { margin: 0 !important; }
.tx-tablist a, .tx-tablist button {
	font-family: var(--tx-font-display); font-weight: 600; text-transform: uppercase;
	font-size: var(--wp--preset--font-size--titolo-l); line-height: .93;
	color: var(--c-text-3); text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; text-align: right;
}
.tx-tablist a:hover, .tx-tablist a.is-active, .tx-tablist a[aria-selected=true] { color: var(--c-text); }
.tx-tabpanel[hidden] { display: none !important; }
.tx-operate { padding-top: 64px; align-items: center; }
.tx-operate > h3 { max-width: 577px; text-align: center; }
.tx-cards2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; width: 100%; }
body .tx-cards2 > * { margin: 0 !important; }
.tx-linecard { border: 1px solid var(--c-border); padding: 24px; display: flex; flex-direction: column; gap: 24px; }
body .tx-linecard > * { margin: 0 !important; }
.tx-linecard ul { margin: 0; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 0; }
.tx-linecard figure img { width: 100%; aspect-ratio: 550 / 220; object-fit: cover; }
.tx-neith .tx-row { align-items: flex-start; gap: 20px; }
.tx-neith .tx-row > h3 { flex: 0 0 min(497px, 40%); }
.tx-neith figure { margin: 0 !important; }
.tx-neith figure img { width: 100%; aspect-ratio: 1220 / 520; object-fit: cover; }
.tx-program__main { max-width: 602px; display: flex; flex-direction: column; gap: 24px; }
body .tx-program__main > * { margin: 0 !important; }
.tx-pillars3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body .tx-pillars3 > * { margin: 0 !important; }
.tx-pillars3 .tx-pillar { gap: 16px; }
.tx-pillars3 img { width: 100%; aspect-ratio: 393 / 240; object-fit: cover; }
.tx-layers { padding-block: 56px; align-items: center; gap: 48px; }
.tx-layers > h2 { text-align: center; }
.tx-layers__row { display: grid; grid-template-columns: minmax(0, 532fr) minmax(0, 640fr); gap: 48px; align-items: center; width: 100%; }
body .tx-layers__row > * { margin: 0 !important; }
.tx-layers__row img { width: 100%; aspect-ratio: 532 / 420; object-fit: cover; }
.tx-layers .tx-pillars { gap: 40px; }
.tx-quote { align-items: center; text-align: center; gap: 16px; }
.tx-quote blockquote, .tx-quote .wp-block-quote { margin: 0; padding: 0; border: 0; max-width: 527px; display: flex; flex-direction: column-reverse; gap: 16px; }
.tx-quote cite { font-style: normal; font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; }
.tx-quote blockquote p { margin: 0; }
/* Platforms at a glance */
.tx-glance { padding-block: 40px; }
.tx-platrows { border-bottom: 1px solid var(--c-border); }
.tx-platrow { border-top: 1px solid var(--c-border); }
.tx-platrow > summary { display: grid; grid-template-columns: minmax(20rem, auto) minmax(0, 1fr) auto; gap: 40px; align-items: center; padding: 24px 0; }
.tx-platrow > summary .tx-pr__name { font-family: var(--tx-font-display); font-weight: 600; text-transform: uppercase; font-size: var(--wp--preset--font-size--titolo-l); line-height: .93; }
.tx-platrow > summary .tx-pr__desc { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; max-width: 670px; }
.tx-platrow > summary .tx-pr__btn {
	font-size: 12px; line-height: 16px; font-weight: 700; text-decoration: none; white-space: nowrap;
	display: inline-flex; gap: 10px; align-items: center; padding: 10px 20px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--c-border);
}
.tx-platrow > summary .tx-pr__btn::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--tx-ico-arrow) center / 12px no-repeat; mask: var(--tx-ico-arrow) center / 12px no-repeat; }
.tx-platrow > summary .tx-pr__btn:hover { background: var(--c-ghost-hover); }
.tx-specsheet { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; padding: 16px 0 40px; }
body .tx-specsheet > * { margin: 0 !important; }
.tx-specsheet > figure { border: 1px solid var(--c-border-subtle); display: grid; place-items: center; aspect-ratio: 1; }
.tx-specsheet > figure img { width: 100%; height: auto; }
.tx-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; align-content: start; }
body .tx-specs > * { margin: 0 !important; }
.tx-spec { border-bottom: 1px solid var(--c-border-subtle); padding: 12px 0; display: flex; flex-direction: column; gap: 4px; }
.tx-spec .tx-overline { color: var(--c-text-3); }
.tx-spec p:last-child { font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; }
@media (max-width: 900px) {
	.tx-tabhero { flex-direction: column; padding: 0 var(--tx-px) 40px; gap: 32px; }
	.tx-tabhero > figure { flex-basis: auto; width: calc(100% + 2 * var(--tx-gutter)); margin-inline: calc(-1 * var(--tx-gutter)) !important; }
	.tx-tablist { align-items: flex-start; text-align: left; }
	.tx-tablist a { font-size: 30px; text-align: left; }
	.tx-cards2, .tx-pillars3, .tx-layers__row { grid-template-columns: 1fr; }
	.tx-neith .tx-row { flex-direction: column; }
	.tx-neith .tx-row > h3 { flex-basis: auto; }
	.tx-platrow > summary { grid-template-columns: 1fr; gap: 12px; }
	.tx-platrow > summary .tx-pr__btn { justify-self: start; }
	.tx-specsheet { grid-template-columns: 1fr; }
	.tx-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================================
   Company / Industries
   ========================================================================== */
.tx-subnav { flex-direction: row; gap: 8px; padding-block: 24px; border-bottom: 1px solid rgba(255,255,255,.16); flex-wrap: wrap; }
body .tx-subnav > * { margin: 0 !important; }
.tx-pill, .tx-subnav a, .tx-prodnav a.tx-pill {
	display: inline-flex; align-items: center; padding: 6px 16px; border-radius: 999px; border: 1px solid var(--c-border);
	font-family: var(--tx-font-text); font-weight: 700; font-size: 18px; line-height: 24px; text-decoration: none; color: var(--c-text);
	white-space: nowrap; background: transparent; cursor: pointer;
}
.tx-pill:hover { background: var(--c-ghost-hover); }
.tx-pill.is-active, .tx-subnav a[aria-current=page], .tx-pill[aria-selected=true] { background: var(--c-btn-bg); color: var(--c-btn-text); }
.tx-splittext { flex-direction: row; justify-content: space-between; gap: 40px; }
.tx-splittext > h2 { flex: 0 1 520px; }
.tx-splittext > .tx-col { flex: 0 1 500px; gap: 12px; }
.tx-splittext > .tx-col > p:not(.tx-overline) { color: var(--c-text-2); }
.tx-ctaimg { padding: 0; min-height: 450px; align-items: center; justify-content: center; isolation: isolate; overflow: hidden; }
.tx-ctaimg > figure { position: absolute !important; inset: 0; z-index: -1; margin: 0 !important; }
.tx-ctaimg > figure img { width: 100%; height: 100%; object-fit: cover; }
.tx-mv { flex-direction: row; gap: 0; }
.tx-mv__col { flex: 1 1 0; display: flex; flex-direction: column; gap: 16px; padding: 0 40px; }
.tx-mv__col:first-child { border-right: 1px solid var(--c-border); }
.tx-mv__col p { color: var(--c-text-2); max-width: 530px; }
.tx-partners__intro { max-width: 560px; color: var(--c-text-2); }
.tx-partners__intro strong { color: var(--c-text); font-weight: 500; display: block; }
.tx-prows { display: flex; flex-direction: column; }
body .tx-prows > * { margin: 0 !important; }
.tx-prow { display: grid; grid-template-columns: 320px 300px minmax(0, 520px); gap: 40px; padding: 32px 0; border-top: 1px solid var(--c-border); align-items: start; }
body .tx-prow > * { margin: 0 !important; }
.tx-prow > p:last-child { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; }
.tx-statement { min-height: 500px; justify-content: flex-end; isolation: isolate; overflow: hidden; }
.tx-statement > figure { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; }
.tx-statement > figure img { width: 100%; height: 100%; object-fit: cover; }
.tx-statement::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #000 0%, rgba(0,0,0,0) 100%); }
.tx-statement > h3 { max-width: 760px; }
.tx-people { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
body .tx-people > * { margin: 0 !important; }
.tx-person { border-top: 1px solid var(--c-border); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.tx-person p { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); }
.tx-closing { padding-block: 96px; align-items: center; text-align: center; gap: 24px; }
.tx-closing > p { max-width: 548px; }
.tx-inds { display: flex; flex-direction: column; padding-bottom: 120px; }
.tx-ind { display: grid; grid-template-columns: 320px minmax(0, 504px) 316px; justify-content: space-between; gap: 40px; padding: 24px 0; border-top: 1px solid var(--c-border); align-items: center; }
body .tx-ind > * { margin: 0 !important; }
.tx-ind > p { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; }
.tx-ind > figure img { width: 100%; aspect-ratio: 316 / 160; object-fit: cover; }
@media (max-width: 900px) {
	.tx-splittext, .tx-mv { flex-direction: column; }
	.tx-mv__col { padding: 0; }
	.tx-mv__col:first-child { border-right: 0; border-bottom: 1px solid var(--c-border); padding-bottom: 32px; }
	.tx-prow, .tx-ind { grid-template-columns: 1fr; gap: 12px; }
	.tx-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tx-subnav { flex-wrap: nowrap; overflow-x: auto; }
}

/* ==========================================================================
   Prodotto (Product V3)
   ========================================================================== */
.tx-figures { padding-block: 64px; }
.tx-figgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body .tx-figgrid > * { margin: 0 !important; }
.tx-fig { border-top: 1px solid var(--c-paccent); padding-top: 24px; display: flex; flex-direction: column; gap: 8px; }
.tx-fig h2 { color: var(--c-paccent); }
.tx-fig p { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); }
body .tx-prodnav > * { margin: 0 !important; }
.tx-anchor, [id] { scroll-margin-top: 130px; }
.tx-configs { padding-block: 96px; }
.tx-cfggrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body .tx-cfggrid > * { margin: 0 !important; }
.tx-cfggrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tx-config__card { background: var(--c-surface); border: 1px solid var(--c-border-subtle); padding: 24px; display: flex; flex-direction: column; gap: 6px; }
.tx-config__card p { color: var(--c-text-2); }
.tx-config__card .tx-strong { font-weight: 700; }
.tx-badge { display: inline-flex; align-self: flex-start; border: 1px solid var(--c-text-3); border-radius: 100px; padding: 4px 10px; font-size: 12px; line-height: 16px; font-weight: 700; color: var(--c-text-2) !important; margin-bottom: 8px !important; }
.tx-badge--on { border-color: var(--c-paccent); color: var(--c-paccent) !important; }
.tx-config__card ul { list-style: none; margin: 12px 0 0; padding: 0; font-size: 14px; }
.tx-config__card li { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-top: 1px solid var(--c-border-faint); }
.tx-specsec { padding-top: 0; padding-bottom: 120px; gap: 32px; }
.tx-spectable { overflow-x: auto; }
.tx-spectable table { width: 100%; border-collapse: collapse; }
.tx-spectable td, .tx-spectable th { border: 0; border-bottom: 1px solid var(--c-border-faint); padding: 12px 16px 12px 0; text-align: left; vertical-align: top; width: 33.33%; }
.tx-spectable thead th, .tx-spectable thead td { font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--c-paccent); }
.tx-spectable thead { border-bottom: 0; }
.tx-spectable tbody td:first-child { color: var(--c-text-3); font-size: var(--wp--preset--font-size--body-s); }
.tx-spectable tbody td:not(:first-child) { font-weight: 700; }
.tx-spectable figure { margin: 0; }
.tx-spectable .wp-block-table { margin: 0; overflow-x: auto; }
.tx-specfoot { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
body .tx-specfoot > * { margin: 0 !important; }
.tx-specfoot > p { color: var(--c-text-3); font-size: 12px; }
.tx-inspects { padding-block: 120px; }
.tx-inspects__row { display: grid; grid-template-columns: minmax(0, 580fr) minmax(0, 560fr); gap: 80px; align-items: center; }
body .tx-inspects__row > * { margin: 0 !important; }
.tx-inspects__content { display: flex; flex-direction: column; gap: 48px; }
body .tx-inspects__content > * { margin: 0 !important; }
.tx-pilltabs { display: flex; gap: 8px; }
body .tx-pilltabs > * { margin: 0 !important; }
.tx-pilltabs .tx-pill { opacity: .5; }
.tx-pilltabs .tx-pill.is-active, .tx-pilltabs .tx-pill[aria-selected=true] { opacity: 1; }
.tx-group { border-top: 1px solid var(--c-border-subtle); padding: 22px 0 24px; display: flex; flex-direction: column; gap: 8px; }
.tx-group p { color: var(--c-text-2); }
.tx-group .tx-readout { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-top: 6px !important; font-size: 12px; line-height: 16px; color: var(--c-text-2); }
.tx-group .tx-readout b { font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--c-text-3); margin-right: 6px; }
/* Nido d'ape (Visual · Hex AOI: 8 esagoni 202×175, colonne a x=103 e x=255).
   Fluido: le misure del Figma (box 560×789) sono espresse in unità del box (--u = 1/560 della
   larghezza), così il nido si ridimensiona senza transform: scale() e senza margini negativi. */
.tx-hex { position: relative; width: min(560px, 100%); height: auto; aspect-ratio: 560 / 789; margin-inline: auto !important; container-type: inline-size; }
body .tx-hex > * { margin: 0 !important; }
.tx-hex > figure {
	--u: calc(100cqw / 560);
	position: absolute; width: calc(202 * var(--u)); height: calc(175 * var(--u)); display: grid; place-items: center;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 202 175'%3E%3Cpolygon points='50.5,0.5 151.5,0.5 201.5,87.5 151.5,174.5 50.5,174.5 0.5,87.5' fill='none' stroke='%23379799' stroke-opacity='.6'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.tx-hex figure:nth-child(odd) { left: calc(103 * var(--u)); }
.tx-hex figure:nth-child(even) { left: calc(255 * var(--u)); }
.tx-hex figure:nth-child(1) { top: 0; }
.tx-hex figure:nth-child(2) { top: calc(88 * var(--u)); }
.tx-hex figure:nth-child(3) { top: calc(176 * var(--u)); }
.tx-hex figure:nth-child(4) { top: calc(263 * var(--u)); }
.tx-hex figure:nth-child(5) { top: calc(351 * var(--u)); }
.tx-hex figure:nth-child(6) { top: calc(438 * var(--u)); }
.tx-hex figure:nth-child(7) { top: calc(526 * var(--u)); }
.tx-hex figure:nth-child(8) { top: calc(613 * var(--u)); }
.tx-hex figure img { width: calc(175 * var(--u)); height: calc(151 * var(--u)); object-fit: cover; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); background: #141414; }
.tx-hex figcaption { position: absolute; top: 50%; transform: translateY(-50%); font-size: clamp(0.75rem, calc(14 * var(--u)), 0.875rem); line-height: 1.2; color: rgba(255,255,255,.8); margin: 0 !important; width: max(calc(100 * var(--u)), 5.5em); }
.tx-hex figure:nth-child(odd) figcaption { right: calc(100% + 4px); text-align: right; }
.tx-hex figure:nth-child(even) figcaption { left: calc(100% + 8px); text-align: left; }
/* Schermi stretti: il nido si restringe per lasciare spazio alle didascalie ai lati (12px, parole intere). */
@media (max-width: 480px) { .tx-hex { width: calc(100% - 4.5rem); } }
.tx-apps4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
body .tx-apps4 > * { margin: 0 !important; }
.tx-app { padding-top: 20px; display: flex; flex-direction: column; gap: 24px; }
.tx-app > figure { border: 1px solid var(--c-border-subtle); padding: 16px; }
.tx-app > figure img { width: 100%; aspect-ratio: 253 / 145; object-fit: cover; }
.tx-app p { color: var(--c-text-2); }
.tx-pclosing { padding-block: 64px; align-items: center; text-align: center; gap: 24px; }
.tx-pclosing h2 { max-width: 866px; }
.tx-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
body .tx-tiles > * { margin: 0 !important; }
.tx-tile { position: relative; border-top: 1px solid var(--c-paccent); padding: 32px 24px 0 0; display: flex; flex-direction: column; gap: 12px; }
.tx-tile::before { content: ""; position: absolute; top: -6px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--c-paccent); }
.tx-tile--soon { border-top-color: var(--c-border-subtle); }
.tx-tile--soon::before { background: var(--c-bg); border: 1px solid var(--c-border-subtle); box-sizing: border-box; }
.tx-tile p { color: var(--c-text-2); }
.tx-tile .wp-block-buttons { margin-top: 12px !important; }
.tx-fits { flex-direction: row; gap: 20px; padding-block: 120px; }
.tx-fits > h2 { flex: 0 0 min(500px, 40%); }
.tx-fits > .tx-col { flex: 1 1 auto; max-width: 700px; }
.tx-fits > .tx-col > p { color: var(--c-text-2); font-size: var(--wp--preset--font-size--lead); line-height: 1.33; }
@media (max-width: 900px) {
	.tx-figgrid, .tx-cfggrid, .tx-cfggrid--3, .tx-tiles { grid-template-columns: 1fr; gap: 32px; }
	.tx-inspects__row { grid-template-columns: minmax(0, 1fr); gap: 48px; }
	.tx-apps4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tx-fits { flex-direction: column; }
}
@media (max-width: 540px) { .tx-apps4 { grid-template-columns: 1fr; } .tx-figgrid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); } }

/* ==========================================================================
   Pagine a contenuto libero (template "Pagina", news, posizioni)
   ========================================================================== */
.tx-content-wrap { padding: 80px var(--tx-px) 120px; }
.tx-content-wrap.has-toc { display: grid; grid-template-columns: 280px minmax(0, 900px); gap: 40px; justify-content: space-between; border-top: 1px solid var(--c-border-faint); padding-top: 64px; }
.tx-toc { position: sticky; top: 40px; align-self: start; display: flex; flex-direction: column; gap: 14px; }
.tx-toc p { margin: 0; }
.tx-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; counter-reset: toc; }
.tx-toc li { counter-increment: toc; font-size: 12px; line-height: 16px; }
.tx-toc li a { text-decoration: none; color: var(--c-text-3); display: flex; gap: 12px; }
.tx-toc li a::before { content: counter(toc, decimal-leading-zero); }
.tx-toc li a:hover, .tx-toc li a.is-active { color: var(--c-paccent); }
.tx-toc:empty, .tx-toc.is-empty { display: none; }
@media (max-width: 900px) { .tx-content-wrap.has-toc { grid-template-columns: 1fr; } .tx-toc { position: static; } }

.tx-content { font-size: var(--wp--preset--font-size--medium); line-height: 1.5; }
.tx-content > * + * { margin-top: 24px; }
.tx-content :is(h2, h3, h4) { margin-top: 64px; margin-bottom: 0; scroll-margin-top: 40px; }
.tx-content :is(h2, h3, h4) + * { margin-top: 16px; }
.tx-content > :first-child { margin-top: 0 !important; }
.tx-content h2 { font-size: var(--wp--preset--font-size--titolo-m); line-height: 1.05; }
.tx-content h3 { font-size: var(--wp--preset--font-size--titolo-s); }
.tx-content p { color: var(--c-text); }
.tx-content .is-style-tx-lead, .tx-content .tx-lead { color: var(--c-text-2); }
.tx-content a:not(.wp-block-button__link):not(.tx-btnlink) { color: var(--c-accent-text); text-underline-offset: 3px; }
.tx-content ul:not(.is-style-tx-lines):not(.wp-block-post-template), .tx-content ol { padding-left: 1.25em; }
.tx-content li + li { margin-top: 8px; }
.tx-content .is-style-tx-lines { list-style: none; padding: 0; border-top: 1px solid var(--c-border-faint); }
.tx-content .is-style-tx-lines li { padding: 16px 0; border-bottom: 1px solid var(--c-border-faint); margin: 0; }
.tx-content figure { margin-inline: 0; }
.tx-content figure img { width: 100%; height: auto; }
.tx-content figcaption, .tx-content .wp-element-caption { font-size: 12px; color: var(--c-text-3); margin-top: 8px; text-align: left; }
.tx-content .wp-block-quote { border-left: 2px solid var(--c-paccent); padding-left: 24px; margin-inline: 0; }
.tx-content .wp-block-quote p { font-family: var(--tx-font-display); font-weight: 500; font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.25; }
.tx-content .wp-block-quote cite { font-style: normal; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--c-text-2); }
.tx-content .wp-block-pullquote { border: 0; border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); padding: 40px 0; }
.tx-content .wp-block-table table { border-collapse: collapse; width: 100%; font-size: var(--wp--preset--font-size--body-s); }
.tx-content .wp-block-table :is(td, th) { border: 0; border-bottom: 1px solid var(--c-border-faint); padding: 12px 16px 12px 0; text-align: left; }
.tx-content .wp-block-table thead { border-bottom: 1px solid var(--c-border); }
.tx-content .wp-block-table th { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--c-text-2); }
.tx-content hr, .tx-content .wp-block-separator { border: 0; border-top: 1px solid var(--c-border-subtle); opacity: 1; margin-block: 48px; }
.tx-content .wp-block-file { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid var(--c-border-faint); border-bottom: 1px solid var(--c-border-faint); }
.tx-content .wp-block-file .wp-block-file__button { background: var(--c-btn-bg); color: var(--c-btn-text); border-radius: 999px; padding: 6px 16px; font-size: 12px; font-weight: 700; }
.tx-content .wp-block-columns { gap: 40px; }
.tx-content .wp-block-embed iframe { width: 100%; }
.tx-content .alignwide { max-width: 1220px; }
.tx-content .alignfull { margin-inline: calc(-1 * var(--tx-px)); max-width: none; }
.tx-content .is-style-tx-box { border: 1px solid var(--c-border-subtle); padding: 32px; }
.tx-content .is-style-tx-box > * + * { margin-top: 12px; }
.tx-content .wp-block-details.is-style-tx-plus + .wp-block-details.is-style-tx-plus { border-top: 1px solid var(--c-border); margin-top: 0; }
/* Sezione a due colonne (Overview / Responsibilities … del dettaglio posizione) */
.is-style-tx-split { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 680px); gap: 20px; justify-content: space-between; padding: 80px 0; border-top: 1px solid var(--c-border); margin: 0 !important; }
.is-style-tx-split > * { margin: 0 !important; }
.is-style-tx-split > .wp-block-group:first-child { display: flex; flex-direction: column; gap: 8px; }
.is-style-tx-split > .wp-block-group:first-child > * { margin: 0; }
.is-style-tx-split h2 { font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; margin: 0; }
.is-style-tx-split > .wp-block-group:last-child > * + * { margin-top: 12px; }
.is-style-tx-split ul { list-style: none; padding: 0 !important; display: flex; flex-direction: column; gap: 12px; }
.is-style-tx-split ul li { margin: 0 !important; }
@media (max-width: 900px) { .is-style-tx-split { grid-template-columns: 1fr; padding: 48px 0; } }
.tx-content-wrap--flush { padding-top: 0; }
.tx-content-wrap--flush > .tx-content > .is-style-tx-split:first-child { border-top: 1px solid var(--c-border); }

/* Prev/next articoli */
.tx-postnav { display: flex; justify-content: space-between; gap: 16px; padding: 32px var(--tx-px) 96px; border-top: 1px solid var(--c-border-faint); }
.tx-postnav > * { margin: 0 !important; max-width: 50%; }
.tx-postnav a { text-decoration: none; font-family: var(--tx-font-display); font-weight: 500; font-size: 24px; line-height: 1.17; }
.tx-postnav .post-navigation-link-next { text-align: right; margin-left: auto !important; }
.tx-postnav .wp-block-post-navigation-link__label { display: block; font-family: var(--tx-font-text); font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--c-paccent); margin-bottom: 8px; }

/* 404 e ricerca */
.tx-search .wp-block-search__inside-wrapper { border: 1px solid var(--c-border-subtle); border-radius: 999px; padding: 4px 4px 4px 20px; max-width: 480px; }
.tx-search input { background: transparent; border: 0; color: var(--c-text); font: inherit; }
.tx-search .wp-block-search__button { background: var(--c-btn-bg); color: var(--c-btn-text); border-radius: 999px; border: 0; font-weight: 700; font-size: 12px; padding: 8px 18px; }
.tx-results .wp-block-post-template { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--c-border-faint); }
.tx-results .wp-block-post-template > li { padding: 24px 0; border-bottom: 1px solid var(--c-border-faint); }
.tx-results .wp-block-post-title a { text-decoration: none; }

/* Fade-in leggero delle sezioni (rispetta reduced-motion) */
@media (prefers-reduced-motion: no-preference) {
	.js .tx-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
	.js .tx-reveal.is-in { opacity: 1; transform: none; }
}

.tx-apply .is-style-tx-split { padding: 0; border-top: 0; }

/* ---------- Aggiunte di composizione ---------- */
.tx-mw-360 { max-width: 360px; }
.tx-subnav__links, .tx-prodnav__links, .tx-pilltabs { display: flex; gap: 8px; flex-wrap: nowrap; margin: 0; }
.tx-platrow--static { border-top: 1px solid var(--c-border); }
.tx-platrow--static > .tx-platrow__line { display: grid; grid-template-columns: 320px minmax(0, 1fr) auto; gap: 40px; align-items: center; padding: 24px 0; margin: 0; }
.tx-platrow__line .tx-pr__name { font-family: var(--tx-font-display); font-weight: 600; text-transform: uppercase; font-size: var(--wp--preset--font-size--titolo-l); line-height: .93; }
.tx-platrow__line .tx-pr__desc { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; max-width: 670px; }
.tx-platrow__line .tx-pr__btn { font-size: 12px; line-height: 16px; font-weight: 700; text-decoration: none; white-space: nowrap; display: inline-flex; gap: 10px; align-items: center; padding: 10px 20px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--c-border); }
.tx-platrow__line .tx-pr__btn::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--tx-ico-arrow) center / 12px no-repeat; mask: var(--tx-ico-arrow) center / 12px no-repeat; }
.tx-platrow__line .tx-pr__btn:hover { background: var(--c-ghost-hover); }
@media (max-width: 900px) { .tx-platrow--static > .tx-platrow__line { grid-template-columns: 1fr; gap: 12px; } .tx-platrow__line .tx-pr__btn { justify-self: start; } }
.tx-groups { display: flex; flex-direction: column; }
body .tx-groups > * { margin: 0 !important; }
.tx-hexwrap > * { margin: 0 !important; }
.tx-spectable thead th:first-child { width: 33.33%; }
.tx-newsgrid .wp-block-post-template > li { margin: 0 !important; }
.tx-footer__claim h2 { max-width: 460px; }

@media (min-width: 901px) { .tx-pr__name { white-space: nowrap; } }
.tx-layers > .tx-head { align-self: stretch; text-align: left; }
.tx-layers:has(> .tx-head) .tx-pillar p { color: var(--c-text-2); }
.tx-hero--compact { background: #000 url(../img/hero-compact.webp) center / cover no-repeat; }
/* Nessuno scorrimento orizzontale della pagina (caroselli e barra eventi scorrono al loro interno) */
.wp-site-blocks { overflow-x: clip; }
@supports not (overflow: clip) { .wp-site-blocks { overflow-x: hidden; } }
.tx-inspects__row > *, .tx-duo > *, .tx-media-pillars > *, .tx-layers__row > * { min-width: 0; }
@media (max-width: 900px) {
	.tx-inspects { overflow: hidden; }
	.tx-careerintro__title { flex-direction: column-reverse; align-items: stretch; }
	.tx-careerintro__title h2 { text-align: left; font-size: 36px; }
}
.tx-specsec--first { padding-top: 96px; }
.tx-title-right--narrow > * { max-width: 300px; }
.tx-linecard figure { width: 100%; }
.tx-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.tx-nav .is-menu-open .wp-block-navigation__container,
.tx-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.tx-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 48px; }
.tx-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { gap: 10px; }
.tx-specfoot .wp-block-button__link { white-space: nowrap; }
@media (max-width: 781px) {
	.tx-specfoot { flex-direction: column; align-items: flex-start; }
	.tx-board .tx-head-row, .tx-platforms > .tx-head-row { flex-direction: column; align-items: flex-start; }
	.tx-board .tx-head-row p { text-align: left; max-width: none; }
	.tx-mv__col h2, .tx-fits > h2 { font-size: 26px; }
}

/* ==========================================================================
   MOVIMENTI E INTERAZIONI (dal prototipo WNDR)
   ========================================================================== */

/* ---------- Header fisso: trasparente in cima, nero sfocato quando si scorre ---------- */
.tx-site-header { position: fixed; inset: 0 0 auto 0; z-index: 50; transition: background-color .25s, -webkit-backdrop-filter .25s, backdrop-filter .25s; }
.tx-site-header.is-solid { background: rgba(0,0,0,.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.tx-header { padding: 20px var(--tx-gutter); transition: padding .25s; }
.is-solid .tx-header { padding-block: 10px; }
.tx-logo img, .tx-logo svg { width: 62px; height: auto; }
/* doppia linea (sopra e sotto il menu) come nel Figma */
.tx-header__nav { border-top: 1px solid #fff; border-bottom: 1px solid #fff; padding: 6px 0; min-height: 0; }
.tx-nav { font-size: 16px; line-height: 22px; }
.tx-nav .wp-block-navigation-item__content { transition: opacity .08s; }
.tx-nav .wp-block-navigation-item__content:hover { opacity: .7; text-decoration: none; }
.tx-nav .is-active > .wp-block-navigation-item__content { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.tx-header .tx-cta .wp-block-button__link { font-size: 16px; line-height: 22px; padding: 4px 16px; }
.tx-nav .tx-nav-cta { display: none; }
/* tendina: comparsa morbida e freccia che ruota */
.tx-nav .wp-block-navigation__submenu-container { transition: opacity .12s ease-out, transform .12s ease-out, visibility .12s; transform: translateY(-6px); top: calc(100% + 12px) !important; }
.tx-nav .has-child:hover > .wp-block-navigation__submenu-container,
.tx-nav .has-child:focus-within > .wp-block-navigation__submenu-container,
.tx-nav .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container { transform: none; }
.tx-nav .wp-block-navigation__submenu-icon svg { transition: transform .2s; }
.tx-nav .has-child:hover > .wp-block-navigation__submenu-icon svg,
.tx-nav .has-child > [aria-expanded="true"] svg { transform: rotate(180deg); }
.tx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }

/* tablet (fino a 1180 px): menu a scomparsa come nel prototipo */
@media (max-width: 1180px) {
	.tx-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.tx-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.tx-header .tx-cta { display: none; }
}
@media (max-width: 781px) {
	.tx-header, .is-solid .tx-header { padding: 16px var(--tx-gutter); }
	.tx-logo img, .tx-logo svg { width: 58px; }
	.tx-header__nav { border: 0; padding: 0; }
}
/* menu a scomparsa (overlay): voci grandi maiuscole con linee */
.tx-nav .wp-block-navigation__responsive-container.is-menu-open { background: #000 !important; padding: 16px var(--tx-gutter) 24px; animation: tx-fade .2s ease-out; }
/* 1.14: apertura morbida, il pannello sfuma e le voci scendono leggermente al loro posto */
.tx-nav .wp-block-navigation__responsive-container.is-menu-open { animation: tx-menu-in .32s cubic-bezier(.22,.8,.24,1) both !important; }
.tx-nav .is-menu-open .wp-block-navigation__responsive-container-content { animation: tx-menu-items .42s cubic-bezier(.22,.8,.24,1) both; }
@keyframes tx-menu-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes tx-menu-items { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .tx-nav .wp-block-navigation__responsive-container.is-menu-open, .tx-nav .is-menu-open .wp-block-navigation__responsive-container-content { animation: none !important; } }
.tx-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px !important; }
.tx-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; font-family: var(--tx-font-text); font-size: 16px; }
.tx-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; display: block; }
.tx-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--tx-font-display); font-weight: 600; font-size: 24px; line-height: 28px; text-transform: uppercase;
	padding: 14px 0 !important; border-bottom: 1px solid rgba(255,255,255,.3); width: 100%; display: flex; justify-content: space-between;
}
.tx-nav .is-menu-open .wp-block-navigation__submenu-container { padding: 0 !important; width: 100%; }
.tx-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.tx-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 16px !important; line-height: 22px; color: rgba(255,255,255,.75) !important; padding: 12px 0 12px 16px !important;
	border-bottom: 1px solid rgba(255,255,255,.12); width: 100%;
}
.tx-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: #fff !important; }
.tx-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.tx-nav .is-menu-open .tx-nav-cta { display: block; margin-top: 32px; }
.tx-nav .is-menu-open .wp-block-navigation__container > .tx-nav-cta > .wp-block-navigation-item__content {
	display: flex; width: 100%; box-sizing: border-box; justify-content: center; text-align: center; border: 0; background: #fff; color: #000 !important; border-radius: 999px;
	font-family: var(--tx-font-text); font-weight: 700; font-size: 16px; line-height: 22px; text-transform: none; padding: 13px 20px !important;
}
@keyframes tx-fade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Pulsanti: risposta immediata al passaggio ---------- */
.wp-block-button__link { transition: opacity .08s, transform .08s, background-color .15s; }
.wp-block-button__link:hover { opacity: .82; background: var(--c-btn-bg); }
.wp-block-button.is-style-tx-ghost .wp-block-button__link:hover { opacity: 1; background: var(--c-ghost-hover); }

/* ---------- Fisarmoniche: passaggio del mouse e titolo attenuato ---------- */
.wp-block-details > summary { transition: opacity .08s; }
.wp-block-details > summary:hover { opacity: .75; }
.tx-platrow[open] > summary .tx-pr__name { text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 2px; }
.tx-bigacc > summary::after { transition: transform .25s; }

/* ---------- Piattaforme in Home: sezione bloccata, scorrimento a passi ---------- */
.tx-pin-wrap { position: relative; }
.tx-pin-wrap > .tx-platforms { position: sticky; top: var(--tx-hdr-h, 86px); transform-origin: 50% 0; }
.tx-carousel { scrollbar-width: none; cursor: grab; }
.tx-carousel::-webkit-scrollbar { display: none; }
.tx-carousel.is-drag { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.tx-pin-wrap .tx-carousel { scroll-snap-type: none; }
.tx-scrollhint { cursor: pointer; background: none; border: 0; color: inherit; font: inherit; padding: 0; }
.tx-scrollhint:hover { opacity: .75; }

/* ---------- News: frecce con dissolvenza, card che si sollevano ---------- */
.tx-newsgrid .wp-block-post-template { transition: opacity .18s; }
.tx-newsgrid .wp-block-post-template.is-fading { opacity: 0; }
.tx-newscard { transition: transform .2s; }
.tx-newscard:hover { transform: translateY(-4px); }
@media (min-width: 901px) {
	.tx-newsgrid--scroll .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
	.tx-newsgrid--scroll .wp-block-post-template > li:nth-child(n+4) { display: none; }
}
.tx-ind figure { overflow: hidden; }
.tx-ind img { transition: transform .25s; }
.tx-ind:hover img { transform: scale(1.04); }

/* ---------- Barre fisse sotto l'header (schede Technology, prodotti) ---------- */
.tx-stickybar, .tx-prodnav {
	position: fixed !important; left: 0; right: 0; top: var(--tx-hdr-h, 64px); z-index: 45;
	display: flex; flex-direction: row; justify-content: flex-end; align-items: center; gap: 8px;
	padding: 8px var(--tx-gutter) 7px !important; margin: 0 !important;
	background: rgba(0,0,0,.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(255,255,255,.3);
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity .2s, transform .2s, visibility .2s, top .25s;
}
.tx-stickybar.is-on, body.tx-scrolled .tx-prodnav { opacity: 1; visibility: visible; transform: none; }
.tx-stickybar .tx-pill, .tx-prodnav .tx-pill { font-size: 16px; line-height: 22px; padding: 6px 16px; color: #fff; border-color: #fff; transition: background-color .15s, color .15s; }
.tx-stickybar .tx-pill:hover, .tx-prodnav .tx-pill:hover { background: rgba(255,255,255,.15); }
.tx-stickybar .tx-pill.is-active, .tx-prodnav .tx-pill.is-active { background: #fff; color: #000; }
.tx-prodnav .tx-prodnav__links { display: flex; gap: 8px; margin: 0; }
@media (max-width: 781px) {
	.tx-stickybar, .tx-prodnav { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
	.tx-stickybar .tx-pill, .tx-prodnav .tx-pill { font-size: 14px; line-height: 20px; }
}
.tx-tablist a { transition: color .15s; }

/* ---------- Brochure: finestra con il modulo ---------- */
.tx-modal { position: fixed !important; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 24px !important; background: rgba(0,0,0,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.tx-modal.is-open, .tx-modal:target { display: flex; }
.tx-modal__box { position: relative; width: 100%; max-width: 680px; max-height: calc(100vh - 48px); overflow: auto; background: #121212; border: 1px solid var(--c-paccent); padding: 40px; display: flex; flex-direction: column; gap: 16px; animation: tx-pop .25s cubic-bezier(.22,.8,.24,1); }
@keyframes tx-pop { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.tx-modal__close { position: absolute; top: 10px; right: 14px; width: 40px; height: 40px; background: none; border: 0; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.tx-brochure__pdf { display: none !important; }
body.tx-modal-open { overflow: hidden; }
@media (max-width: 640px) { .tx-modal__box { padding: 28px 20px; } }

/* ---------- Contact Form 7 con lo stile del Figma ---------- */
.wpcf7 { margin: 0; }
.wpcf7 form.tx-form { gap: 32px; }
.wpcf7 .hidden-fields-container { display: none; }
.wpcf7-form-control-wrap { display: block; position: relative; }
.tx-form select { appearance: none; -webkit-appearance: none; padding-right: 24px !important; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23999' stroke-width='1.5'/%3E%3C/svg%3E") right 4px center / 10px no-repeat !important; cursor: pointer; }
.tx-form select option { color: #000; background: #fff; }
.tx-form select:invalid, .tx-form select option[value=""] { color: var(--c-text-3); }
.tx-form textarea { min-height: 41px; }
.tx-form__checks { display: flex; flex-direction: column; gap: 12px; }
.tx-form__check .wpcf7-list-item { margin: 0; }
.tx-form__check label { display: flex; gap: 12px; align-items: flex-start; min-height: 24px; font-size: 12px; line-height: 16px; cursor: pointer; }
.tx-form__check input[type=checkbox] { width: 16px; height: 16px; margin: 0; flex: 0 0 auto; accent-color: var(--c-text); }
.tx-form__check a { color: inherit; text-decoration: underline; }
.tx-form__submit { display: flex; align-items: center; gap: 12px; }
.tx-form input[type=submit] {
	cursor: pointer; background: var(--c-btn-bg); color: var(--c-btn-text); border: 0; border-radius: 999px;
	font: 700 16px/22px var(--tx-font-text); padding: 6px 20px; transition: opacity .08s;
}
.tx-form input[type=submit]:hover { opacity: .82; }
.tx-form input[type=submit]:disabled { opacity: .5; cursor: default; }
.tx-form .wpcf7-not-valid { border-bottom-color: var(--tx-red) !important; box-shadow: inset 0 -1px 0 var(--tx-red); }
.tx-form .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 12px; color: var(--tx-red); }
.wpcf7 form .wpcf7-response-output { margin: 0; padding: 12px 16px; border: 1px solid var(--c-border-subtle); font-size: 14px; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--tx-teal); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: var(--tx-red); }
.tx-form__product[hidden] { display: none !important; }
.tx-form__product:not([hidden]) { animation: tx-pop .3s ease-out; }
.tx-zoho:empty { min-height: 0; }

/* ---------- Cursore "campo visivo" dell'ispezione (solo mouse) ---------- */
html.has-fov, html.has-fov * { cursor: none !important; }
html.has-fov input:not([type=checkbox]):not([type=radio]):not([type=submit]), html.has-fov textarea, html.has-fov select { cursor: text !important; }
#fov { position: fixed; left: 0; top: 0; z-index: 2147483000; pointer-events: none; opacity: 0; transition: opacity .15s; mix-blend-mode: difference; }
#fov.on { opacity: 1; }
#fov .fv-dot { position: fixed; left: var(--x); top: var(--y); width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #fff; }
#fov .fv-frame { position: fixed; left: var(--fx); top: var(--fy); width: 30px; height: 30px; margin: -15px 0 0 -15px; transition: width .14s cubic-bezier(.2,.8,.2,1), height .14s cubic-bezier(.2,.8,.2,1), margin .14s cubic-bezier(.2,.8,.2,1); }
#fov .fv-frame > i { position: absolute; width: 8px; height: 8px; border: 1.5px solid #fff; }
#fov .fv-frame > i:nth-child(1) { left: 0; top: 0; border-right: 0; border-bottom: 0; }
#fov .fv-frame > i:nth-child(2) { right: 0; top: 0; border-left: 0; border-bottom: 0; }
#fov .fv-frame > i:nth-child(3) { left: 0; bottom: 0; border-right: 0; border-top: 0; }
#fov .fv-frame > i:nth-child(4) { right: 0; bottom: 0; border-left: 0; border-top: 0; }
#fov .fv-fringe { position: absolute; inset: 3px; overflow: hidden; opacity: 0; }
#fov .fv-fringe b { position: absolute; left: 0; right: 0; height: 2px; top: -4px; }
#fov .fv-fringe b:nth-child(1) { background: #ff3b5c; }
#fov .fv-fringe b:nth-child(2) { background: #3fdc8a; }
#fov .fv-fringe b:nth-child(3) { background: #3b8bff; }
#fov .fv-fringe b:nth-child(4) { background: #fff; }
#fov.scan .fv-fringe { animation: fvop .55s ease-out; }
#fov.scan .fv-fringe b { animation: fvsweep .5s cubic-bezier(.4,0,.2,1) forwards; }
#fov.scan .fv-fringe b:nth-child(2) { animation-delay: .04s; }
#fov.scan .fv-fringe b:nth-child(3) { animation-delay: .08s; }
#fov.scan .fv-fringe b:nth-child(4) { animation-delay: .12s; }
@keyframes fvsweep { to { top: calc(100% + 4px); } }
@keyframes fvop { 0%, 85% { opacity: 1; } 100% { opacity: 0; } }
#fov .fv-tag { position: fixed; left: var(--fx); top: var(--fy); margin: 20px 0 0 18px; font: 700 9px/10px var(--tx-font-text); letter-spacing: .12em; color: #fff; white-space: nowrap; transition: margin .14s; }
#fov.lock .fv-frame { width: 44px; height: 44px; margin: -22px 0 0 -22px; }
#fov.lock .fv-tag { margin: 26px 0 0 25px; }

/* ---------- Chi preferisce meno movimento ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (max-width: 1180px) {
	.tx-inspects__row { grid-template-columns: minmax(0, 1fr); gap: 48px; }
}

/* ---------- Correzioni 1.1.1 ---------- */
/* Menu mobile: a menu aperto l'header perde la sfocatura (che altrimenti "intrappola" il menu
   nell'altezza dell'header) e il menu occupa sempre tutto lo schermo, a qualsiasi scorrimento. */
html.has-modal-open .tx-site-header,
.tx-site-header:has(.is-menu-open) { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; transform: none !important; }
.tx-nav .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed !important; inset: 0 !important; width: 100% !important; height: auto !important; max-height: none !important;
	overflow-y: auto; overscroll-behavior: contain; z-index: 100000;
}
body.admin-bar .tx-nav .wp-block-navigation__responsive-container.is-menu-open { top: var(--wp-admin--admin-bar--height, 0px) !important; }
html.has-modal-open, html.has-modal-open body { overflow: hidden; }

/* Mobile: nelle colonne impilate le larghezze fisse non devono diventare altezze */
@media (max-width: 900px) {
	.tx-splittext > h2, .tx-splittext > .tx-col, .tx-fits > h2, .tx-fits > .tx-col, .tx-contact > .tx-col { flex: 0 0 auto; }
	.tx-splittext { gap: 16px; }
	.tx-splittext + .tx-splittext { padding-top: 0; }
	.tx-fits { gap: 16px; }
}

/* Desktop: apertura alta la metà su News e pagine (Careers, contenuto libero) */
.tx-hero--short { min-height: 265px; }
@media (max-width: 781px) { .tx-hero--short { min-height: 220px; } }

/* ==========================================================================
   Modifiche 1.2.0
   ========================================================================== */

/* ---------- Menu desktop: ponte invisibile tra voce e tendina (il mouse non perde l'hover) ---------- */
.tx-nav .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 16px; }
.tx-nav .has-child { position: relative; }

/* ---------- Nomi delle macchine nei titoli: colore pieno (1.3.0) ---------- */
.tx-hero--product .tx-hero__name, .tx-prodname, .tx-mname {
	color: var(--c-paccent) !important; -webkit-text-stroke: 0; text-stroke: 0;
}

/* ---------- Technology: immagine a tutta larghezza + barra schede sticky ---------- */
.tx-techimg { padding: 0 !important; }
.tx-techimg > figure { margin: 0 !important; width: 100%; }
.tx-techimg > figure img { display: block; width: 100%; aspect-ratio: 1289 / 502; object-fit: cover; }
.tx-tabset > * { margin-block: 0 !important; }
.tx-techtabs {
	position: sticky; top: var(--tx-hdr-h, 64px); z-index: 40;
	display: flex; flex-direction: row; justify-content: flex-end; align-items: center; gap: 8px;
	padding: 10px var(--tx-gutter, 30px) !important; margin: 0 !important;
	background: rgba(0,0,0,.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	border-top: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3);
	transition: top .25s;
}
body .tx-techtabs > * { margin: 0 !important; }
.tx-techtabs .tx-pill { color: #fff; border-color: #fff; font-size: 18px; line-height: 24px; transition: background-color .15s, color .15s; }
.tx-techtabs .tx-pill:hover { background: rgba(255,255,255,.15); }
.tx-techtabs .tx-pill.is-active { background: #fff; color: #000; }
@media (max-width: 781px) {
	.tx-techtabs { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
	.tx-techtabs::-webkit-scrollbar { display: none; }
	.tx-techtabs .tx-pill { font-size: 14px; line-height: 20px; }
}
/* contenuti vecchi (1.1): elenco grande e barra generata non più usati */
.tx-stickybar { display: none !important; }

/* ---------- Barra delle macchine: nome + ancore, voce attiva colorata ---------- */
.tx-prodnav { justify-content: space-between !important; gap: 24px !important; }
.tx-prodnav .tx-prodnav__name { font-family: var(--tx-font-text); font-weight: 700; font-size: 18px; line-height: 24px; color: #fff; white-space: nowrap; }
.tx-prodnav .tx-prodnav__links { display: flex; gap: 8px; margin: 0; }
.tx-prodnav .tx-pill, .tx-prodnav a.tx-pill { font-size: 14px !important; line-height: 20px !important; padding: 6px 14px; }
.tx-prodnav .tx-pill.is-active, .tx-prodnav a.tx-pill.is-active { background: var(--c-paccent); border-color: var(--c-paccent); color: #fff; }
.tx-prodnav .wp-block-buttons, .tx-prodnav .wp-block-button { display: none !important; }
@media (max-width: 781px) {
	.tx-prodnav { gap: 12px !important; }
	.tx-prodnav .tx-prodnav__name { font-size: 16px; }
}

/* ---------- Full specifications ---------- */
.tx-specpage .tx-fsintro { padding: calc(var(--tx-hdr-h, 86px) + 96px) var(--tx-px) 48px; gap: 24px; }
.tx-fsintro h1.tx-h40 { font-size: var(--wp--preset--font-size--titolo-m); line-height: .95; text-transform: none; font-weight: 500; }
.tx-fsintro__lead { max-width: 760px; color: var(--c-text-2); }
.tx-fsintro .wp-block-buttons { gap: 12px; }
.tx-fsnav {
	position: sticky; top: var(--tx-hdr-h, 64px); z-index: 40; padding: 16px var(--tx-px) !important;
	background: #000; border-bottom: 1px solid rgba(255,255,255,.15); transition: top .25s;
}
.tx-fsnav__links { display: flex; gap: 12px; margin: 0; overflow-x: auto; scrollbar-width: none; }
.tx-fsnav__links::-webkit-scrollbar { display: none; }
.tx-fsnav .tx-pill {
	padding: 8px 16px; font-size: 12px; line-height: 16px; letter-spacing: 1px; text-transform: uppercase; font-weight: 700;
	color: var(--c-paccent); border-color: rgba(255,255,255,.3); transition: border-color .15s, background-color .15s;
}
.tx-fsnav .tx-pill:hover { background: rgba(255,255,255,.08); }
.tx-fsnav .tx-pill.is-active { border-color: var(--c-paccent); background: transparent; color: var(--c-paccent); }
.tx-fspec { flex-direction: row; justify-content: space-between; gap: 20px; padding-block: 64px; border-top: 1px solid rgba(255,255,255,.15); scroll-margin-top: calc(var(--tx-hdr-h, 86px) + 70px); }
.tx-fsnav + .tx-fspec { border-top: 0; }
.tx-fspec__head { flex: 0 0 min(396px, 32%); display: flex; flex-direction: column; gap: 8px; }
body .tx-fspec__head > * { margin: 0 !important; }
.tx-fspec h2.tx-h24 { font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; }
.tx-caption { font-size: 12px; line-height: 16px; color: var(--c-text-3); }
.tx-fspec > .tx-fstable { flex: 0 1 804px; margin: 0 !important; }
.tx-fstable table { width: 100%; border-collapse: collapse; }
.tx-fstable td, .tx-fstable th { border: 0; border-bottom: 1px solid var(--c-border-faint); padding: 12px 0; vertical-align: top; }
.tx-fstable td:first-child { color: var(--c-text-3); font-size: var(--wp--preset--font-size--body-s); text-align: left; padding-right: 24px; width: 34%; }
.tx-fstable td:not(:first-child) { font-weight: 700; text-align: right; }
.tx-fstable--matrix th { font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--c-paccent); text-align: right; }
.tx-fstable--matrix th:first-child { text-align: left; color: var(--c-text-3); }
.tx-fstable--matrix td:first-child { width: 28%; }
.tx-fstable--matrix td:not(:first-child) { padding-left: 16px; }
.tx-fstable thead { border-bottom: 0; }
.tx-fsnote { padding: 32px var(--tx-px) 96px; }
.tx-fsclose { padding-block: 120px; gap: 24px; isolation: isolate; overflow: hidden; border-top: 1px solid var(--c-paccent); }
.tx-fsclose > .tx-fsclose__bg { position: absolute !important; inset: 0; z-index: -1; margin: 0 !important; }
.tx-fsclose > .tx-fsclose__bg img { width: 100%; height: 100%; object-fit: cover; }
.tx-fsclose h2.tx-h64 { font-size: clamp(40px, 5vw, 64px); line-height: .95; }
.tx-fsclose > .tx-lead { max-width: 640px; }
.tx-fsclose .wp-block-buttons { gap: 12px; }
@media (max-width: 900px) {
	.tx-fspec { flex-direction: column; padding-block: 48px; gap: 24px; }
	.tx-fspec__head { flex-basis: auto; }
	.tx-fspec > .tx-fstable { flex: 0 0 auto; width: 100%; overflow-x: auto; }
	.tx-fstable--matrix table { min-width: 560px; }
	.tx-specpage .tx-fsintro { padding-top: calc(var(--tx-hdr-h, 64px) + 48px); }
	.tx-fsclose { padding-block: 80px; }
}

/* ---------- Home: hero + barra eventi = altezza della finestra ---------- */
.tx-hero:not(.tx-hero--compact):not(.tx-hero--product):has(+ .tx-ticker) { min-height: calc(100vh - var(--tx-ticker-h, 54px)); min-height: calc(100svh - var(--tx-ticker-h, 54px)); }
.tx-ticker.tx-light { background: #fff; color: #000; }

/* Home: immagine della seconda sezione come nel Figma (a destra, in basso, tagliata dal bordo) */
@media (min-width: 782px) {
	.tx-intro { min-height: 688px; }
	.tx-intro > .tx-intro__bg { left: calc(50% - 62px); right: auto; top: 294px; transform: none; width: 766px; max-width: none; }
	.tx-intro > .tx-intro__bg img { width: 766px; height: 471px; object-fit: cover; }
}

/* Home: piattaforme senza scala, testi ridotti del 30% */
.tx-platforms > .tx-head-row h2 { font-size: calc(var(--wp--preset--font-size--titolo-m) * .7); }
.tx-platforms .tx-scrollhint { font-size: max(0.75rem, calc(var(--wp--preset--font-size--lead) * .7)); }
.tx-platforms .tx-prodname { font-size: calc(var(--wp--preset--font-size--display) * .7); }
.tx-platforms .tx-slide__content h3 { font-size: max(1rem, calc(var(--wp--preset--font-size--titolo-s) * .7)); }
.tx-platforms .tx-tagline { font-size: max(0.875rem, calc(var(--wp--preset--font-size--titolo-s) * .7)); padding: 6px 12px; }
.tx-platforms .tx-acclist > .wp-block-details { padding: 14px 0; }
.tx-platforms .tx-acclist > .wp-block-details > summary { font-size: max(1rem, calc(var(--wp--preset--font-size--titolo-s) * .7)); min-height: 24px; }
.tx-platforms .tx-acclist > .wp-block-details > :not(summary) { font-size: var(--wp--preset--font-size--body-s); margin-top: 8px; }
.tx-platforms .tx-acclist > .wp-block-details > summary::after { width: 18px; height: 18px; -webkit-mask-size: 14px; mask-size: 14px; }
.tx-platforms .tx-slide__content { gap: 16px; }
.tx-platforms .tx-note { font-size: 0.75rem; }
.tx-pin-wrap .tx-slide__media img { max-height: var(--tx-pl-img, none); }
.tx-pin-wrap > .tx-platforms { transform: none !important; }

/* Home mobile: le tre cartine sulla stessa riga */
@media (max-width: 781px) {
	.tx-maps { flex-wrap: nowrap; gap: 8px; width: 100%; }
	.tx-maps figure { width: auto; flex: 1 1 0; min-width: 0; }
	.tx-maps figure img { width: 100%; height: auto; }
}

/* ==========================================================================
   Modifiche 1.3.0
   ========================================================================== */

/* ---------- Technology: barra delle schede chiara (Figma 492-20879) ---------- */
.tx-techtabs { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; border-top: 0; border-bottom: 1px solid #000; }
.tx-techtabs .tx-pill { color: #000; border-color: #000; background: transparent; }
.tx-techtabs .tx-pill:hover { background: rgba(0,0,0,.08); }
.tx-techtabs .tx-pill.is-active { background: #000; color: #fff; }
.tx-techimg { display: none; } /* contenuti 1.2: fascia immagine tolta */

/* ---------- Technology: Platforms at a glance, tutte le voci a fisarmonica ---------- */
.tx-platrow > summary { cursor: pointer; }
.tx-platrow > summary .tx-pr__btn { position: relative; z-index: 1; }

/* ---------- Home: Why you can rely on it, immagine intera (Figma 106-1854) ---------- */
.tx-rely .tx-duo { align-items: center; }
.tx-rely .tx-duo__right figure { width: 100%; max-width: 578px; aspect-ratio: 578 / 416; display: flex; justify-content: flex-end; }
.tx-rely .tx-duo__right img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; object-position: right center; }
@media (max-width: 781px) {
	.tx-rely .tx-duo__right figure { justify-content: center; }
	.tx-rely .tx-duo__right img { object-position: center; }
}

/* ---------- Macchine: immagine larga, su mobile scorre in orizzontale ---------- */
.tx-wideimg { padding: 40px 0 !important; align-items: center; }
.tx-wideimg > figure { margin: 0 auto !important; width: min(1014px, calc(100% - 2 * var(--tx-gutter))); }
.tx-wideimg > figure img { display: block; width: 100%; height: auto; }
@media (max-width: 781px) {
	.tx-wideimg { padding: 24px 0 !important; }
	.tx-wideimg > figure { width: 100%; box-sizing: border-box; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; padding: 0 var(--tx-gutter); }
	.tx-wideimg > figure img { width: auto; max-width: none; height: 230px; }
}

/* ---------- Macchine: esagoni al centro del testo a sinistra ---------- */
.tx-inspects__row { align-items: center !important; }
.tx-inspects__row > .tx-hexwrap, .tx-inspects__row > .tx-hex { align-self: center !important; }

/* ---------- Macchine: AI Programming and Learning su quattro colonne ---------- */
.tx-tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .tx-tiles--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; } }
@media (max-width: 781px) { .tx-tiles--4 { grid-template-columns: 1fr; } }

/* ---------- Company (Figma 94-602) ---------- */
.tx-about { padding: 64px var(--tx-px) 80px; gap: 40px; }
.tx-about__intro { max-width: 823px; gap: 16px; }
.tx-about__intro > h2 { max-width: 640px; margin-bottom: 8px !important; }
.tx-about__intro > p:not(.tx-overline) { max-width: 823px; }
.tx-about .tx-media-pillars > figure img { aspect-ratio: 703 / 406; object-fit: contain; }
.tx-about .tx-pillars { gap: 24px; }
.tx-about .tx-pillar p { color: var(--c-text-2); }
.tx-esg .tx-media-pillars > figure img { aspect-ratio: 703 / 684; object-fit: cover; }
/* immagine a 16 riquadri come nel Figma */
.tx-tiles-mask img {
	-webkit-mask-image: repeating-linear-gradient(90deg, #000 0 22.05%, transparent 22.05% 26.03%), repeating-linear-gradient(180deg, #000 0 22.66%, transparent 22.66% 25.73%);
	mask-image: repeating-linear-gradient(90deg, #000 0 22.05%, transparent 22.05% 26.03%), repeating-linear-gradient(180deg, #000 0 22.66%, transparent 22.66% 25.73%);
	-webkit-mask-composite: source-in; mask-composite: intersect;
}
.tx-closing--tight > h2 { max-width: 1103px; }
.tx-closing > h2 { margin-inline: auto; }
.tx-leadership { padding-block: 96px; align-items: center; gap: 24px; }
.tx-leadership > h2 { text-align: center; }
.tx-leaders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; width: 100%; align-items: stretch; }
body .tx-leaders > * { margin: 0 !important; }
.tx-leader { border: 1px solid var(--c-border); padding: 20px 40px; display: flex; flex-direction: column; gap: 16px; }
body .tx-leader > *, body .tx-leader__head > *, body .tx-leader__name > *, body .tx-leader__q > * { margin: 0 !important; }
.tx-leader__head { display: flex; flex-direction: row; gap: 8px; align-items: center; }
.tx-leader__avatar { flex: 0 0 64px; width: 64px; }
.tx-leader__avatar img { width: 64px; height: 64px; object-fit: cover; display: block; }
.tx-leader__name { display: flex; flex-direction: column; gap: 8px; }
.tx-leader:not(:has(.tx-leader__avatar)) .tx-leader__name { flex-direction: row; justify-content: space-between; align-items: baseline; width: 100%; flex-wrap: wrap; gap: 8px 16px; }
.tx-leader__name .tx-strong { font-weight: 700; font-size: var(--wp--preset--font-size--medium); }
.tx-leader__bio { color: var(--c-text-2); }
.tx-leader__q { display: flex; flex-direction: column; gap: 4px; }
.tx-leader__quote { font-size: 14px; line-height: 20px; }
.tx-leader__cite { font-size: 14px; line-height: 20px; font-weight: 700; }
.tx-reasons { padding: 40px var(--tx-px) 80px; }
.tx-reasons .tx-duo__right--left { align-items: flex-start; text-align: left; }
.tx-reasons .tx-duo__right .tx-head { gap: 8px; }
.tx-reasons .tx-duo__right img { aspect-ratio: 577 / 400; object-fit: cover; }
@media (max-width: 781px) {
	.tx-leaders { grid-template-columns: 1fr; }
	.tx-leader { padding: 20px; }
	.tx-about { padding-block: 48px; }
}

/* ---------- Contact ---------- */
.tx-hero--compact .tx-hero__kicker:empty { display: none; }

/* ---------- Multilingua: selettore lingua nell'header (WPML / Polylang) ---------- */
/* il selettore automatico di WPML nel footer, se attivo, prende i colori del tema */
.wpml-ls-statics-footer { background: var(--c-bg) !important; border-color: var(--c-border-subtle) !important; }
.wpml-ls-statics-footer a { color: var(--c-text) !important; background: transparent !important; }

.tx-editorial > .tx-tabset, body .tx-tabset { margin-block: 0 !important; }

/* ---------- 1.3.1: nido d'ape alto quanto i suoi esagoni (SPI = 4) ---------- */
.tx-hex:has(> figure:nth-child(4):last-child) { aspect-ratio: 560 / 438; }
.tx-hex:has(> figure:nth-child(5):last-child) { aspect-ratio: 560 / 526; }
.tx-hex:has(> figure:nth-child(6):last-child) { aspect-ratio: 560 / 613; }
.tx-hex:has(> figure:nth-child(7):last-child) { aspect-ratio: 560 / 701; }
.tx-hexwrap { display: flex; flex-direction: column; justify-content: center; }

/* ==========================================================================
   News 1.4.0: archivio (Figma 678-12678) e articolo (679-13321)
   ========================================================================== */
.tx-ico { width: 16px; height: 16px; flex: 0 0 auto; }
/* meta: categoria, data, tempo di lettura */
.tx-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 14px; line-height: 20px; color: var(--c-text-2); }
.tx-meta__cat::before { content: ""; position: absolute; inset: -2px 0; }
.tx-meta__cat { display: inline-flex; align-items: center; position: relative; padding: 2px 8px; border-radius: 999px; background: var(--c-text); color: var(--c-bg) !important; font-size: 12px; line-height: 16px; font-weight: 700; text-decoration: none !important; }
.tx-meta__cat:hover { opacity: .8; }
.tx-meta__item { display: inline-flex; align-items: center; gap: 8px; }
/* condivisione */
.tx-sharebar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.tx-sharebar__label { font-size: 12px; line-height: 16px; font-weight: 700; color: var(--c-text-2); }
.tx-sharebar__btns { display: flex; gap: 8px; }
.tx-sharebtn { width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--c-border-strong); display: inline-grid; place-items: center; color: var(--c-text); background: transparent; cursor: pointer; padding: 0; transition: background-color .15s, color .15s; }
.tx-sharebtn .tx-ico { width: 18px; height: 18px; }
.tx-sharebtn:hover { background: var(--c-text); color: var(--c-bg); }
.tx-sharebtn.is-copied { background: var(--tx-teal-700); border-color: var(--tx-teal-700); color: #fff; }
.tx-sharemenu { position: relative; }
.tx-sharemenu__list { position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 20; display: flex; gap: 8px; padding: 8px; background: var(--c-bg); border: 1px solid var(--c-border-strong); }
.tx-sharemenu__list[hidden] { display: none; }

/* ---------- Archivio ---------- */
.tx-hero--news h1 { text-transform: uppercase; }
.tx-newsarchive { padding: 80px var(--tx-px); gap: 40px; }
.tx-newsarchive > .wp-block-shortcode, .tx-newsarchive > * { margin: 0 !important; }
.tx-filter { border: 1px solid var(--c-border-strong); padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.tx-filter > * { margin: 0; }
.tx-filter__title { font-size: 12px; line-height: 16px; color: var(--c-text-2); }
.tx-filter__fields { display: flex; gap: 16px; flex-wrap: wrap; }
.tx-filter__search { flex: 1 1 300px; display: flex; align-items: center; gap: 12px; height: 48px; padding: 0 16px; border: 1px solid var(--c-border-strong); border-radius: 4px; margin: 0; }
.tx-filter__search .tx-ico { width: 20px; height: 20px; }
.tx-filter__search input { flex: 1 1 auto; align-self: stretch; border: 0 !important; outline: 0; background: transparent; font: inherit; font-size: 16px; color: var(--c-text); padding: 0 !important; min-width: 0; box-shadow: none !important; }
.tx-filter__search input::placeholder { color: #555; }
.tx-select { position: relative; flex: 0 1 260px; min-width: 200px; }
.tx-select > summary { list-style: none; display: flex; align-items: center; gap: 12px; height: 48px; padding: 0 16px; border: 1px solid var(--c-border-strong); border-radius: 10px; cursor: pointer; }
.tx-select > summary::-webkit-details-marker { display: none; }
.tx-select__label { font-size: 12px; line-height: 16px; font-weight: 700; text-transform: uppercase; }
.tx-select__value { flex: 1 1 auto; font-size: 14px; line-height: 20px; color: var(--c-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tx-select > summary .tx-ico { transition: transform .2s; }
.tx-select[open] > summary .tx-ico { transform: rotate(180deg); }
.tx-select__menu { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; margin: 0; padding: 4px 1px; list-style: none; background: var(--c-bg); border: 1px solid var(--c-border-strong); max-height: 340px; overflow: auto; }
.tx-select__menu a { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; font-size: 14px; line-height: 20px; color: var(--c-text-2); text-decoration: none; }
.tx-select__menu a:hover { background: #f5f5f5; color: var(--c-text); }
.tx-select__menu a.is-active { background: #ededed; color: var(--c-text); font-weight: 700; font-size: 16px; line-height: 22px; }
.tx-filter__reset { font-size: 14px; }
.tx-filter__reset a { color: var(--c-text); }
/* card */
.tx-ncard { display: flex; flex-direction: column; gap: 16px; height: 100%; }
body .tx-ncard > *, body .tx-ncard__body > * { margin: 0 !important; }
.tx-ncard__img { margin: 0; background: #d9d9d9; aspect-ratio: 393 / 246; overflow: hidden; }
.tx-ncard__img a, .tx-ncard__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.tx-ncard:hover .tx-ncard__img img { transform: scale(1.03); }
.tx-ncard__title { font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; font-weight: 500; }
.tx-ncard__title a { text-decoration: none; color: inherit; }
.tx-ncard__title a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.tx-ncard__excerpt { font-size: 14px; line-height: 20px; color: var(--c-text-2); }
.tx-ncard__excerpt p { margin: 0; }
.tx-ncard__excerpt .wp-block-post-excerpt__more-text { display: none; }
.tx-ncard__actions { display: flex; justify-content: space-between; align-items: center; margin-top: auto !important; padding-top: 0; }
body .tx-ncard__actions > * { margin: 0 !important; }
.tx-ncard__more { display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px; border: 1px solid var(--c-text); border-radius: 999px; font-size: 12px; line-height: 16px; font-weight: 700; text-decoration: none; color: var(--c-text); transition: background-color .15s, color .15s; }
.tx-ncard__more::after, .tx-ncard__cta::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--tx-ico-arrow) center / 12px no-repeat; mask: var(--tx-ico-arrow) center / 12px no-repeat; }
.tx-ncard__more:hover { background: var(--c-text); color: var(--c-bg); }
.tx-ngrid .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 20px; margin: 0; padding: 0; list-style: none; }
.tx-ngrid .wp-block-post-template > li { margin: 0 !important; }
/* in evidenza */
.tx-news-featured .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.tx-ncard--featured { display: grid; grid-template-columns: minmax(0, 786fr) minmax(0, 414fr); gap: 20px; align-items: center; }
.tx-ncard--featured .tx-ncard__img { aspect-ratio: 786 / 492; }
.tx-ncard__body { display: flex; flex-direction: column; gap: 24px; }
.tx-ncard--featured .tx-ncard__title { font-size: var(--wp--preset--font-size--titolo-m); line-height: 1.05; }
.tx-ncard--featured .tx-ncard__excerpt { font-size: var(--wp--preset--font-size--lead); line-height: 1.33; }
.tx-ncard__cta { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; padding: 6px 20px; border-radius: 999px; background: var(--c-btn-bg); color: var(--c-btn-text) !important; font-size: 18px; line-height: 24px; font-weight: 700; text-decoration: none; }
.tx-ncard__cta:hover { background: var(--c-btn-hover); }
.tx-ncard--featured .tx-sharebar { border-top: 1px solid var(--c-border-subtle); padding-top: 24px; }
/* paginazione */
.tx-pager { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; margin-top: 48px !important; }
body .tx-pager > * { margin: 0 !important; }
.tx-pager__count, .tx-pager__per { font-size: 14px; line-height: 20px; color: var(--c-text-2); }
.tx-pager__per { text-align: right; }
.tx-pager .wp-block-query-pagination { gap: 8px; margin: 0; }
.tx-pager .wp-block-query-pagination-numbers { display: flex; gap: 8px; }
.tx-pager .page-numbers, .tx-pager .wp-block-query-pagination-previous, .tx-pager .wp-block-query-pagination-next {
	min-width: 40px; height: 40px; border-radius: 999px; display: inline-grid; place-items: center; font-size: 12px; font-weight: 700; text-decoration: none; color: var(--c-text);
	border: 1px solid var(--c-border-subtle); margin: 0 !important; padding: 0 8px; box-sizing: border-box;
}
.tx-pager .page-numbers.current { background: var(--c-text); color: var(--c-bg); border-color: var(--c-text); }
.tx-pager .page-numbers.dots { border: 0; }
.tx-pager .wp-block-query-pagination-previous, .tx-pager .wp-block-query-pagination-next { border-color: var(--c-border-strong); font-size: 0; }
.tx-pager .wp-block-query-pagination-previous-arrow, .tx-pager .wp-block-query-pagination-next-arrow { font-size: 16px; margin: 0 !important; }
.tx-pager a:hover { background: var(--c-text); color: var(--c-bg); }
.tx-noresults { padding: 40px 0; color: var(--c-text-2); }
@media (max-width: 1000px) {
	.tx-ngrid .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tx-ncard--featured { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.tx-newsarchive { padding-block: 48px; }
	.tx-ngrid .wp-block-post-template { grid-template-columns: 1fr; gap: 40px; }
	.tx-select { flex: 1 1 100%; }
	.tx-pager { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.tx-pager__per { text-align: center; }
}

/* ---------- Articolo ---------- */
.tx-article > section { margin: 0 !important; }
.tx-article-hero { padding: calc(var(--tx-hdr-h, 118px) + 80px) var(--tx-px) 80px; background: #000; color: #fff; gap: 24px; }
body .tx-article-hero > * { margin: 0 !important; }
.tx-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; color: rgba(255,255,255,.75); }
.tx-crumbs a { color: inherit; text-decoration: none; display: inline-block; padding-block: 2px; margin-block: -2px; }
.tx-crumbs a:hover { color: #fff; }
.tx-crumbs [aria-current] { color: #fff; }
.tx-crumbs__sep { display: inline-flex; }
.tx-crumbs__sep .tx-ico { width: 14px; height: 14px; }
.tx-article-hero .tx-meta { color: rgba(255,255,255,.75); }
.tx-article-hero .tx-meta__cat { background: #fff; color: #000 !important; }
.tx-article-hero .tx-meta .tx-ico { color: #fff; }
.tx-article__title { font-family: var(--tx-font-display); font-size: var(--wp--preset--font-size--titolo-l); line-height: 1.05; font-weight: 500; text-transform: none; max-width: 1000px; margin-top: 8px !important; }
.tx-article__standfirst { max-width: 760px; font-size: var(--wp--preset--font-size--lead); line-height: 1.33; color: rgba(255,255,255,.75); }
.tx-article__standfirst p { margin: 0; }
.tx-article__standfirst .wp-block-post-excerpt__more-text { display: none; }
.tx-article-cover { padding: 48px var(--tx-px) 0; }
.tx-cover { margin: 0; }
.tx-cover img { width: 100%; aspect-ratio: 1220 / 428; object-fit: cover; display: block; }
.tx-cover__caption { display: flex; justify-content: space-between; gap: 16px; margin-top: 12px; font-size: 12px; line-height: 16px; color: var(--c-text-2); }
.tx-cover__credit { color: #555; white-space: nowrap; }
.tx-article-body { padding: 80px var(--tx-px); }
.tx-article__grid { display: grid; grid-template-columns: minmax(0, 290px) minmax(0, 760px); justify-content: space-between; gap: 40px; align-items: start; }
body .tx-article__grid > * { margin: 0 !important; }
.tx-article__rail { position: sticky; top: calc(var(--tx-hdr-h, 86px) + 32px); display: flex; flex-direction: column; gap: 40px; }
body .tx-article__rail > * { margin: 0 !important; }
.tx-toc--article { position: static; gap: 12px; }
.tx-toc__label { font-size: 12px; line-height: 16px; font-weight: 700; color: var(--c-text-2); margin: 0; }
.tx-toc--article ol { gap: 0; }
.tx-toc--article li { font-size: 14px; line-height: 20px; }
.tx-toc--article li a { display: block; padding: 8px 0 8px 16px; border-left: 2px solid var(--c-border-subtle); color: var(--c-text-2); }
.tx-toc--article li a::before { content: none; }
.tx-toc--article li a:hover { color: var(--c-text); }
.tx-toc--article li a.is-active { border-left-color: var(--tx-teal-700); color: var(--c-text); }
.tx-article__rail .tx-sharebar { flex-direction: column; align-items: flex-start; gap: 12px; }
.tx-article__main { display: flex; flex-direction: column; gap: 24px; }
body .tx-article__main > * { margin: 0 !important; }
.tx-article__content { font-size: var(--wp--preset--font-size--lead); line-height: 1.33; }
.tx-article__content > * + * { margin-top: 24px; }
.tx-article__content h2 { font-size: var(--wp--preset--font-size--titolo-m); line-height: 1.05; margin-top: 48px; }
.tx-article__content h3 { font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; margin-top: 40px; }
.tx-article__content h4, .tx-article__content h5 { font-family: var(--tx-font-text); font-size: 18px; line-height: 24px; font-weight: 700; margin-top: 32px; }
.tx-article__content :is(h2, h3, h4, h5) { scroll-margin-top: calc(var(--tx-hdr-h, 86px) + 24px); }
.tx-article__content ul, .tx-article__content ol { padding-left: 1.3em; }
.tx-article__content li + li { margin-top: 4px; }
.tx-article__content figure { margin-inline: 0; }
.tx-article__content .wp-block-image img { width: 100%; height: auto; }
.tx-article__content figcaption, .tx-article__content .wp-element-caption { margin-top: 12px; font-size: 12px; line-height: 16px; color: var(--c-text-2); text-align: left; }
.tx-article__content .wp-block-quote { border: 0; border-left: 2px solid var(--tx-teal-700); padding: 4px 0 4px 24px; margin-inline: 0; }
.tx-article__content .wp-block-quote cite { display: block; margin-top: 16px; font-style: normal; font-size: 14px; line-height: 20px; color: var(--c-text-2); }
.tx-article__content .wp-block-quote cite strong { color: var(--c-text); font-size: 16px; }
.tx-article__content .wp-block-pullquote { border: 0; border-top: 1px solid var(--c-border-subtle); border-bottom: 1px solid var(--c-border-subtle); padding: 32px 0; text-align: left; margin: 0; }
.tx-article__content .wp-block-pullquote blockquote { margin: 0; }
.tx-article__content .wp-block-pullquote p { font-family: var(--tx-font-display); font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; font-weight: 500; }
.tx-article__content .wp-block-table table, .tx-article__content table { width: 100%; border-collapse: collapse; border: 1px solid var(--c-border-subtle); font-size: 14px; line-height: 20px; }
.tx-article__content th, .tx-article__content td { border: 0; border-bottom: 1px solid var(--c-border-subtle); padding: 12px 16px; text-align: left; }
.tx-article__content thead th, .tx-article__content thead td { background: #ededed; font-size: 12px; font-weight: 700; }
.tx-article__content .wp-block-embed, .tx-article__content .wp-block-video { margin-inline: 0; }
.tx-article__content .wp-block-embed iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; display: block; }
.tx-article__content .wp-embed-aspect-9-16 iframe { aspect-ratio: 9 / 16; max-width: 380px; }
.tx-article__content video { width: 100%; height: auto; display: block; }
.tx-article__content .wp-block-gallery.tx-gallery2 { gap: 16px; }
.tx-article__content .wp-block-buttons { margin-top: 24px; }
/* box dell'articolo */
.tx-event { background: #ededed; border-left: 2px solid var(--tx-teal-700); padding: 32px; gap: 20px; display: flex; flex-direction: column; }
body .tx-event > *, body .tx-ctabox > *, body .tx-source > *, body .tx-download > *, body .tx-download__text > * { margin: 0 !important; }
.tx-event .tx-overline { color: var(--tx-teal-700); }
.tx-event__name, .tx-ctabox__title, .tx-source__name { font-weight: 700; font-size: 18px; line-height: 24px; }
.tx-event__details { display: flex; flex-wrap: wrap; gap: 8px 32px; font-size: 14px; line-height: 20px; color: var(--c-text-2); }
.tx-event__item { display: inline-flex; align-items: center; gap: 8px; }
.tx-event__item::before { content: ""; width: 16px; height: 16px; background: var(--c-text); -webkit-mask: var(--tx-ev-ico) center / 16px no-repeat; mask: var(--tx-ev-ico) center / 16px no-repeat; }
.tx-event__item--date { --tx-ev-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Crect x='2.5' y='3.5' width='11' height='10' rx='1'/%3E%3Cpath d='M2.5 6.5h11M5.5 2v3M10.5 2v3'/%3E%3C/svg%3E"); }
.tx-event__item--venue { --tx-ev-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Cpath d='M8 14.5s4.5-4.3 4.5-8a4.5 4.5 0 00-9 0c0 3.7 4.5 8 4.5 8z'/%3E%3Ccircle cx='8' cy='6.5' r='1.6'/%3E%3C/svg%3E"); }
.tx-event__item--booth { --tx-ev-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Crect x='2' y='2' width='12' height='12' rx='1'/%3E%3Cpath d='M2 6h12M6 6v8'/%3E%3C/svg%3E"); }
.tx-event .wp-block-buttons, .tx-ctabox .wp-block-buttons, .tx-source .wp-block-buttons { margin: 0 !important; }
.tx-ctabox { background: #121212; color: #fff; padding: 40px; display: flex; flex-direction: column; gap: 16px; --c-text: #fff; --c-text-2: rgba(255,255,255,.75); --c-btn-bg: #fff; --c-btn-text: #000; --c-btn-hover: #d9d9d9; --c-border: #fff; }
.tx-ctabox p { color: rgba(255,255,255,.75); }
.tx-ctabox .tx-ctabox__title { color: #fff; }
.tx-download { border: 1px solid var(--c-border-strong); padding: 20px 24px; display: flex; flex-direction: row; align-items: center; gap: 20px; }
.tx-download::before { content: ""; flex: 0 0 32px; height: 32px; background: var(--c-text); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Cpath d='M19 4H9a1 1 0 00-1 1v22a1 1 0 001 1h14a1 1 0 001-1V9z'/%3E%3Cpath d='M19 4v5h5'/%3E%3C/svg%3E") center / 32px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Cpath d='M19 4H9a1 1 0 00-1 1v22a1 1 0 001 1h14a1 1 0 001-1V9z'/%3E%3Cpath d='M19 4v5h5'/%3E%3C/svg%3E") center / 32px no-repeat; }
.tx-download__text { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; }
.tx-download__name { font-weight: 700; font-size: 16px; line-height: 22px; }
.tx-download__meta { font-size: 14px; line-height: 20px; color: var(--c-text-2); }
.tx-source { background: #ededed; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.tx-source .tx-overline, .tx-press .tx-overline { color: var(--c-text-2); }
.tx-about-box { border-top: 1px solid var(--c-border-subtle); padding-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.tx-about-box p { margin: 0; font-size: 14px; line-height: 20px; color: var(--c-text-2); }
.tx-about-box .tx-about-box__title { font-size: 18px; line-height: 24px; font-weight: 700; color: var(--c-text); }
.tx-press { background: #ededed; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.tx-press p { margin: 0; }
.tx-press__list { display: flex; flex-wrap: wrap; gap: 16px 32px; }
.tx-press__item { flex: 1 1 280px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 20px; color: var(--c-text-2); }
.tx-press__name { font-weight: 700; font-size: 16px; line-height: 22px; color: var(--c-text); }
.tx-press a { color: var(--tx-teal-700); text-decoration: none; }
/* precedente / successiva */
.tx-article-nav { padding: 0 var(--tx-px) 80px; }
.tx-postnav2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
body .tx-postnav2 > * { margin: 0 !important; }
.tx-postnav2 > div { border-top: 1px solid var(--c-border-subtle); padding: 24px 0; }
.tx-postnav2 a { text-decoration: none; color: var(--c-text); display: flex; flex-direction: column; gap: 8px; font-size: 18px; line-height: 24px; font-weight: 700; }
.tx-postnav2 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.tx-postnav2 .post-navigation-link__label { font-size: 12px; line-height: 16px; color: var(--c-text-2); }
.tx-postnav2__prev .post-navigation-link__label::before { content: "← "; }
.tx-postnav2__next { text-align: right; }
.tx-postnav2__next a { align-items: flex-end; }
.tx-postnav2__next .post-navigation-link__label::after { content: " →"; }
/* correlate */
.tx-related { padding: 80px var(--tx-px); gap: 40px; }
.tx-related > * { margin: 0 !important; }
.tx-relhead { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.tx-relhead h2 { margin: 0; font-size: var(--wp--preset--font-size--titolo-m); }
.tx-relhead .wp-block-buttons { margin: 0; }
@media (max-width: 1000px) {
	.tx-article__grid { grid-template-columns: minmax(0, 1fr); }
	.tx-article__rail { position: static; flex-direction: column-reverse; gap: 24px; }
}
@media (max-width: 640px) {
	.tx-article-hero { padding: calc(var(--tx-hdr-h, 70px) + 40px) var(--tx-px) 48px; }
	.tx-article__title { font-size: 34px; }
	.tx-article-cover { padding-top: 24px; }
	.tx-article-body, .tx-related { padding-block: 48px; }
	.tx-postnav2 { grid-template-columns: 1fr; gap: 0; }
	.tx-postnav2__next { text-align: left; }
	.tx-postnav2__next a { align-items: flex-start; }
	.tx-download { flex-wrap: wrap; }
	.tx-relhead { flex-direction: column; align-items: flex-start; }
}
:is(.tx-source, .tx-event, .tx-download, .tx-press, .tx-relhead) .wp-block-button__link { font-size: 12px !important; line-height: 16px !important; padding: 10px 20px !important; }
.tx-dyn-ph { padding: 12px 16px; border: 1px dashed currentColor; font-size: 12px; opacity: .7; }
@media (max-width: 1000px) {
	.tx-article__rail .tx-sharebar { display: none; }
	.tx-toc--article.is-empty + * { margin: 0; }
}
@media (max-width: 640px) { .tx-cover img { aspect-ratio: 16 / 10; } }

/* ==========================================================================
   Careers 1.4.1: introduzione e offerte Zoho Recruit come su delvi.tech/careers
   (stessi valori del sito attuale; il codice Zoho si incolla nella pagina)
   ========================================================================== */
.tx-careerintro { display: grid !important; grid-template-columns: minmax(0, 70fr) minmax(0, 30fr); grid-template-areas: "text title" "text cta"; column-gap: 61px; row-gap: 42px; align-items: start; padding-top: 98px !important; padding-bottom: 0 !important; }
.tx-careerintro > *, .tx-careerintro__body > * { margin: 0 !important; }
.tx-careerintro__body { display: contents; }
.tx-careerintro__body > .tx-col { grid-area: text; padding-top: 56px; gap: 0; }
.tx-careerintro__title { grid-area: title; display: block; text-align: right; }
.tx-careerintro__line { display: none; }
.tx-careerintro__title h2 { font-family: "Clash Grotesk", var(--tx-font-display); font-weight: 600; font-size: clamp(28px, 3.6vw, 56px); line-height: 1.03; letter-spacing: -0.035em; text-transform: none; color: #111; text-align: right; margin: 0; }
.tx-careerintro__body > .tx-col > p { font-family: "Space Grotesk", var(--tx-font-text); font-size: 14px; line-height: 21px; font-weight: 400; color: #111; margin: 0 0 14px !important; }
.tx-careerintro__body > .tx-col > p:first-child { border-top: 1px solid #888; padding-top: 42px; }
.tx-careerintro__body > .wp-block-buttons { grid-area: cta; justify-content: flex-end; align-self: end; }
.tx-careerintro .wp-block-button__link { background: #000; color: #fff; border-radius: 28px; padding: 8.4px 21px; font-size: 12.6px; line-height: 1.5; }
.tx-careerintro .wp-block-button__link:hover { background: #333; }
@media (max-width: 781px) {
	.tx-careerintro { grid-template-columns: 1fr; grid-template-areas: "title" "text" "cta"; row-gap: 21px; padding-top: 48px !important; }
	.tx-careerintro__title, .tx-careerintro__title h2 { text-align: left; }
	.tx-careerintro__body > .tx-col { padding-top: 0; }
	.tx-careerintro__body > .wp-block-buttons { justify-content: flex-start; }
}

/* Zoho Recruit (embed_jobs_with_style_3) */
.wp-site-blocks .embed_jobs_head {
	--background-wcolor: #fff; --background-color: #f4f4f4; --border-color: #888; --field-hover-state: #111; --blue-color: #111; --grey-text1-color: #666; --grey-text2-color: #666; --font-size-body: 14px;
	margin-block: 49px 70px !important; background: #fff; color: #111; font-family: "Space Grotesk", var(--tx-font-text), sans-serif; font-size: 14px; font-weight: 500; line-height: 1.5; scroll-margin-top: 112px;
}
.wp-site-blocks .embed_jobs_head, .wp-site-blocks .embed_jobs_head *, .wp-site-blocks .embed_jobs_head *::before, .wp-site-blocks .embed_jobs_head *::after { box-sizing: border-box; }
.wp-site-blocks .embed_jobs_head .embed_jobs_head2, .wp-site-blocks .embed_jobs_head .embed_jobs_head3 { width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; }
.wp-site-blocks .embed_jobs_head ul, .wp-site-blocks .embed_jobs_head li { margin: 0; padding: 0; list-style: none; }
.wp-site-blocks .embed_jobs_head li::before { content: none; }
.wp-site-blocks .embed_jobs_head input, .wp-site-blocks .embed_jobs_head select, .wp-site-blocks .embed_jobs_head button { font: inherit; }
.wp-site-blocks .embed_jobs_head a:focus-visible, .wp-site-blocks .embed_jobs_head input:focus-visible, .wp-site-blocks .embed_jobs_head select:focus-visible, .wp-site-blocks .embed_jobs_head button:focus-visible { outline: 2px solid #168b8c; outline-offset: 4px; }
.wp-site-blocks .embed_jobs_head .rec-what-where { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 14px; margin: 0 0 21px; padding: 21px; border: 1px solid #777; background: #fff; }
.wp-site-blocks .embed_jobs_head .rec-what-where .rec-job-info { width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 10.5px 14px; border: 1px solid #888; border-radius: 0; background: #fff; color: #111; font: inherit; box-shadow: none; }
.wp-site-blocks .embed_jobs_head .rec-what-where .rec-job-info::placeholder { color: #666; opacity: 1; }
.wp-site-blocks .embed_jobs_head .rec-what-where .rec-job-info:hover { border-color: #111; }
.wp-site-blocks .embed_jobs_head .rec-what-where .searchButton { width: auto; min-width: 126px; padding-inline: 28px; border: 1px solid #000; border-radius: 28px; cursor: pointer; transition: background-color .2s, color .2s; background-color: #000 !important; color: #fff !important; }
.wp-site-blocks .embed_jobs_head .rec-what-where .searchButton:hover, .wp-site-blocks .embed_jobs_head .rec-what-where .searchButton:focus-visible { opacity: 1; background-color: #fff !important; color: #000 !important; }
.wp-site-blocks .embed_jobs_head #rec_job_listing_div { display: flex; flex-direction: column; gap: clamp(28px, 5vw, 70px); min-width: 0; }
.wp-site-blocks .embed_jobs_head .rec_filter_cls { width: 100%; min-width: 0; padding: 0; border: 0; }
.wp-site-blocks .embed_jobs_head .rec_filter_cls:empty { display: none; }
.wp-site-blocks .embed_jobs_head .rec_facet_group { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 21px; width: 100%; height: auto; max-height: none; margin: 0; padding: 21px; border: 1px solid #777; border-radius: 0; overflow: visible; }
.wp-site-blocks .embed_jobs_head .rec_facet_group > div { min-width: 0; margin: 0; padding: 0; border: 0; }
.wp-site-blocks .embed_jobs_head .rec_facet_group .cw-rec-filter, .wp-site-blocks .embed_jobs_head .rec_facet_group .rec_ul_filter { margin: 0; padding: 0; }
.wp-site-blocks .embed_jobs_head .rec_facet_group li { padding: 7px 0 0; }
.wp-site-blocks .embed_jobs_head .rec_facet_group .job-type { display: block; margin-bottom: 3.5px; color: #000; font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-size: 12px; font-weight: 400; line-height: 1.5; text-transform: uppercase; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox-label { position: relative; display: block; cursor: pointer; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox + span { padding-left: 24.5px; color: #111; font: inherit; line-height: 1.5; overflow-wrap: anywhere; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox + span::before { top: 2.8px; width: 14px; height: 14px; border: 1px solid #888; border-radius: 2px; background: #fff; box-shadow: none; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox + span::after { top: 4.9px; left: 4.9px; width: 4.2px; height: 7.7px; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox + span:hover::before { border-color: #111; box-shadow: none; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox:checked + span::before { background: #111; border-color: #111; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox:checked + span::after { border-color: #fff; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox:focus-visible + span::before { outline: 2px solid #168b8c; outline-offset: 4px; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox:disabled + span { color: #777; cursor: default; }
.wp-site-blocks .embed_jobs_head .cw-facet-checkbox:disabled + span::before { background: #eee; border-color: #ccc; }
.wp-site-blocks .embed_jobs_head .rec_job_listing_div_jobs { display: block; width: 100%; min-width: 0; }
.wp-site-blocks .embed_jobs_head .rec-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; }
.wp-site-blocks .embed_jobs_head .rec-group > .rec-job-info { display: flex; flex-direction: column; gap: 17.5px; width: 100%; min-width: 0; margin: 0; padding: 21px; border: 1px solid #777; border-radius: 0; background: #fff; color: #111; }
.wp-site-blocks .embed_jobs_head .rec-group > .rec-job-info .zr_fillayout_info { width: 100%; min-width: 0; }
.wp-site-blocks .embed_jobs_head .rec-group li { width: auto; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.wp-site-blocks .embed_jobs_head .rec-group .rec-job-title { margin-bottom: 14px; line-height: 1.5; }
.wp-site-blocks .embed_jobs_head .rec-group .rec-job-title a { font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-size: 12px; font-weight: 700; line-height: 1.5; text-transform: uppercase; text-decoration: none; color: #000 !important; }
.wp-site-blocks .embed_jobs_head .rec-group .rec-job-title a:hover { text-decoration: underline; text-underline-offset: .2em; }
.wp-site-blocks .embed_jobs_head .rec-group :is(.zrsite_Location, .zrsite_Job_Description, .zrsite_Salary, .zrsite_Work_Experience) { padding: 0; font: inherit; line-height: 1.5; color: #111; }
.wp-site-blocks .embed_jobs_head .rec-group .zrsite_Job_Description { margin-top: 14px; }
.wp-site-blocks .embed_jobs_head .rec-group > .rec-job-info > .zrsite_Date_Opened { display: flex; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 14px; width: 100%; margin-top: auto; padding-top: 17.5px; border-top: 1px solid #888; font: inherit; }
.wp-site-blocks .embed_jobs_head .rec-group > .rec-job-info > .zrsite_Date_Opened span { display: block; width: auto; margin: 0; font: inherit; text-align: left; color: #111; }
.wp-site-blocks .embed_jobs_head .rec-grp-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10.5px; margin: 28px 0 14px; color: #000; line-height: 1.5; }
.wp-site-blocks .embed_jobs_head .rec-grp-heading:first-child { margin-top: 0; }
.wp-site-blocks .embed_jobs_head .rec-grp-name { font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.wp-site-blocks .embed_jobs_head .rec-grp-cnt { margin: 0; padding: 2px 8.4px; background: #f4f4f4; color: #666; font-size: 12px; font-weight: 500; }
.wp-site-blocks .embed_jobs_head .rec-grp-drop { width: 100%; max-width: none; min-height: 48px; border: 1px solid #888; border-radius: 0; color: #111; font: inherit; }
.wp-site-blocks .embed_jobs_head .rec_no_jobs { grid-column: 1 / -1; padding-block: 28px; }
.wp-site-blocks .embed_jobs_head .cw-easyapply-loading { margin: 21px auto; }
.wp-site-blocks .embed_jobs_head .cw-easyapply-loading div { background-color: #111 !important; }
@media (max-width: 991.98px) { .wp-site-blocks .embed_jobs_head .rec_facet_group, .wp-site-blocks .embed_jobs_head .rec-group { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
	.wp-site-blocks .embed_jobs_head .rec-what-where { grid-template-columns: 1fr; padding: 14px; }
	.wp-site-blocks .embed_jobs_head .rec_facet_group, .wp-site-blocks .embed_jobs_head .rec-group { grid-template-columns: 1fr; }
	.wp-site-blocks .embed_jobs_head .rec_facet_group { padding: 14px; }
	.wp-site-blocks .embed_jobs_head .rec-group > .rec-job-info { padding: 15.4px; }
}
.tx-jobs-section { padding-top: 0 !important; }

/* Home 1.5.0: legenda con i demo centre (5 voci su una riga) */
.tx-legend { gap: 24px 24px; }
.tx-legend__item { width: 220px; }
.tx-legend__item--demo { --dot: var(--tx-purple); }
.tx-legend__item--demo strong { color: var(--tx-purple); }

/* Horus MIDI (1.6.0): sottotitolo nell'apertura, tabella a quattro colonne, card Options */
.tx-hero--product .tx-hero__subtitle { font-size: var(--wp--preset--font-size--titolo-s); line-height: 1.17; color: var(--c-paccent); max-width: 640px; }
.tx-spectable table:has(thead th:nth-child(4)) :is(td, th) { width: 25%; }
.tx-spectable table:has(thead th:nth-child(4)) :is(td, th):first-child { width: 22%; }
@media (max-width: 900px) { .tx-spectable:has(thead th:nth-child(4)) { overflow-x: auto; } .tx-spectable table:has(thead th:nth-child(4)) { min-width: 720px; } }

/* Aton (1.7.0): blocchi multi-level sotto le specifiche */
.tx-highlights { padding-block: 0 96px; }
.tx-hlgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body .tx-hlgrid > *, body .tx-hl > * { margin: 0 !important; }
.tx-hl { border-top: 1px solid var(--c-paccent); padding-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.tx-hl h3 { color: var(--c-paccent); }
.tx-hl p { color: var(--c-text-2); }
@media (max-width: 900px) { .tx-hlgrid { grid-template-columns: 1fr; } }
/* Industries (1.7.0): introduzione e settori con sottotitolo */
.tx-indintro { padding-block: 56px 24px; }
.tx-indintro > p { max-width: 900px; margin: 0; }
.tx-ind__text { display: flex; flex-direction: column; gap: 12px; }
body .tx-ind__text > * { margin: 0 !important; }
.tx-ind__text h3 { font-size: var(--wp--preset--font-size--lead); line-height: 1.33; }
.tx-ind__text p { color: var(--c-text-2); font-size: var(--wp--preset--font-size--body-s); line-height: 1.43; }
.tx-ind > figure img[src$=".svg"] { object-fit: cover; }
.tx-ind > h2 { font-size: clamp(26px, 2.5vw, 32px); line-height: 1.05; overflow-wrap: anywhere; hyphens: auto; }

/* ==========================================================================
   1.8.0 – Vista 360° navigabile ([delvitech_360 model="…"])
   ========================================================================== */
.tx-360 { position: relative; width: 100%; min-width: 0; --v360-accent: var(--tx-teal, #2e8f8c); }
.tx-accent-orange .tx-360 { --v360-accent: var(--tx-orange); }
.tx-360__stage {
	position: relative; width: 100%; aspect-ratio: var(--v360-ratio, 1400 / 1175); cursor: grab; outline: none;
	touch-action: pan-y pinch-zoom; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
	-webkit-tap-highlight-color: transparent; border-radius: 8px;
}
.tx-360.is-drag .tx-360__stage { cursor: grabbing; }
.tx-360__stage:focus-visible { box-shadow: 0 0 0 2px var(--v360-accent); }
.tx-360__poster, .tx-360__canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: contain !important; pointer-events: none; display: block; }
.tx-360.is-ready .tx-360__poster { visibility: hidden; }
.tx-360__hint {
	position: absolute; left: 50%; bottom: 4%; transform: translateX(-50%); display: flex; align-items: center; gap: 8px;
	padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.12); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
	color: var(--c-text); font-family: var(--tx-font-text); font-size: 14px; line-height: 1.2; white-space: nowrap; pointer-events: none; transition: opacity .4s;
}
.tx-360.is-used .tx-360__hint { opacity: 0; }
.tx-360__ctrl { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; margin-top: 12px; }
.tx-360 .tx-360__btn {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; margin: 0;
	border: 1px solid var(--c-border-subtle); border-radius: 999px; background: transparent; color: var(--c-text);
	font-family: var(--tx-font-text); font-weight: 700; font-size: 15px; line-height: 1; cursor: pointer; transition: background .2s, border-color .2s, color .2s;
}
@media (hover: hover) { .tx-360 .tx-360__btn:hover:not(:disabled):not([aria-pressed="true"]) { border-color: var(--c-border); background: var(--c-ghost-hover); } }
.tx-360 .tx-360__btn:focus-visible { outline: 2px solid var(--v360-accent); outline-offset: 2px; }
.tx-360 .tx-360__btn[aria-pressed="true"], .tx-360 .tx-360__btn[aria-pressed="true"]:hover, .tx-360 .tx-360__btn[aria-pressed="true"]:focus { background: var(--c-text); color: var(--c-bg); border-color: var(--c-text); }
.tx-360 .tx-360__btn:disabled { opacity: .35; cursor: default; }
.tx-360__sep { width: 1px; height: 28px; background: var(--c-border-faint); margin: 0 4px; }
.tx-layers__row > .wp-block-shortcode, .tx-layers__row > .tx-360 { min-width: 0; }
@media (max-width: 480px) {
	.tx-360__ctrl { gap: 6px; }
	.tx-360 .tx-360__btn--text { padding: 0 12px; font-size: 14px; }
	.tx-360__sep { display: none; }
	.tx-360__hint { font-size: 13px; padding: 6px 12px; }
}
@media (prefers-reduced-motion: reduce) { .tx-360__hint { transition: none; } }

/* ---------- 1.9.0 – Menu mobile: la X resta sempre visibile ----------
   Il pannello aperto non supera la larghezza dello schermo (prima il padding lo allargava
   di 32 px e la X finiva fuori a destra) e la X è fissa nello stesso punto dell'hamburger,
   anche quando l'elenco delle voci scorre. */
.tx-nav .wp-block-navigation__responsive-container.is-menu-open { box-sizing: border-box !important; max-width: 100vw; overflow-x: hidden; }
.tx-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: fixed !important; z-index: 3; top: var(--tx-x-top, 11px) !important; right: var(--tx-x-right, calc(var(--tx-gutter) - 10px)); left: auto;
	width: 44px; height: 44px; padding: 0; margin: 0; display: flex; align-items: center; justify-content: center;
	background: #000; border-radius: 999px; color: #fff; opacity: 1;
}
.tx-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 24px; height: 24px; fill: currentColor; }
body.admin-bar .tx-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: var(--tx-x-top, calc(var(--wp-admin--admin-bar--height, 0px) + 11px)) !important; }

/* Footer: logo negativo su fondo scuro, positivo sulle pagine chiare */
.tx-footer .tx-logo__pos { display: none !important; }
body.tx-mode-light .tx-footer .tx-logo__neg { display: none !important; }
body.tx-mode-light .tx-footer .tx-logo__pos { display: block !important; }
.tx-footer__bottom .tx-logo img { width: 83px; height: auto; }

/* 1.10.0 – Header con le nuove foto: su mobile il taglio segue la macchina (a destra nella foto) */
@media (max-width: 781px) {
	.tx-hero--product > .tx-hero__bg img,
	.tx-hero--compact > .tx-hero__bg img { object-position: 70% 50%; }
}

/* ==========================================================================
   1.11.0 – Breadcrumb (Figma 672:456), tab Technology, testo terziario
   ========================================================================== */
.tx-crumbbar { padding: 32px var(--tx-px) 0; background: var(--c-bg); color: var(--c-text); position: relative; z-index: 1; }
.tx-crumbbar, .tx-crumbbar + * { margin-block: 0 !important; }
.tx-crumbs { font-family: var(--tx-font-text); font-weight: 500; font-size: 14px; line-height: 20px; gap: 8px; color: var(--c-text); }
.tx-crumbs a, .tx-crumbs .tx-crumbs__group { color: var(--c-text); opacity: .7; text-decoration: none; transition: opacity .15s; }
.tx-crumbs a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.tx-crumbs [aria-current] { color: var(--c-text); opacity: 1; }
.tx-crumbs__sep { color: var(--c-text); }
@media (max-width: 781px) { .tx-crumbbar { padding-top: 24px; } }
/* La breadcrumb fa parte del contenuto, non della hero: prende il fondo della sezione che segue
   (bianca dopo le sezioni chiare) e il contenuto parte poco sotto, uguale su tutte le pagine. */
.tx-crumbbar:has(+ .tx-light), body.tx-mode-light .tx-crumbbar { background: #fff; --c-bg: #fff; --c-text: #000; color: #000; }
.tx-crumbbar + .tx-section:not(.tx-prodnav):not(.tx-stickybar):not(.tx-techtabs) { padding-top: 56px !important; }
@media (max-width: 781px) { .tx-crumbbar + .tx-section:not(.tx-prodnav):not(.tx-stickybar):not(.tx-techtabs) { padding-top: 40px !important; } }
.tx-crumbbar:has(+ .tx-prodnav), .tx-crumbbar:has(+ .tx-stickybar) { padding-bottom: 24px; }

/* Tab di Technology: voce attiva in verde come nelle pagine prodotto */
.tx-techtabs .tx-pill.is-active { background: var(--c-paccent); border-color: var(--c-paccent); color: #fff; }

/* Selettore di lingua come su delvi.tech: "EN ↓" nell'header + finestra "Language" */
.tx-lang {
	display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; margin: 0; padding: 4px 2px;
	background: none; border: 0; color: #fff; cursor: pointer;
	font-family: var(--tx-font-text); font-size: 14px; line-height: 20px; font-weight: 400;
}
.tx-lang svg { width: 8px; height: 10px; transition: transform .2s; }
.tx-lang:hover svg { transform: translateY(2px); }
.tx-lang:focus-visible { outline: 2px solid var(--c-paccent); outline-offset: 4px; border-radius: 2px; }
.tx-header__nav > .tx-lang { margin-left: -8px; }
@media (max-width: 1180px) { .tx-header__nav > .tx-lang { order: -1; margin: 0 4px 0 0; } }
.tx-langmodal { position: fixed; inset: 0; z-index: 100010; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0,0,0,.8); }
.tx-langmodal[hidden] { display: none; }
.tx-langmodal.is-open { animation: tx-fade .2s ease-out; }
.tx-langmodal__box {
	width: 100%; max-width: 350px; background: #000; color: #fff; border-radius: 8px; border: 1px solid rgba(255,255,255,.08);
	padding: 21px 21px 21px; text-align: center; animation: tx-pop .25s cubic-bezier(.22,.8,.24,1);
}
.tx-langmodal__title { margin: 0 0 28px !important; font-family: var(--tx-font-display); font-weight: 500; font-size: 24.5px; line-height: 1.5; letter-spacing: 1.2px; text-transform: none; color: #fff; }
.tx-langmodal__list { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.tx-langmodal__opt { color: #fff; text-decoration: none; font-family: var(--tx-font-text); font-size: 14px; line-height: 22px; font-weight: 600; letter-spacing: .7px; transition: opacity .15s; }
.tx-langmodal__opt:hover { opacity: .7; }
body.tx-langmodal-open { overflow: hidden; }

/* 1.12.0 – Modulo brochure: solo email, link al PDF via mail */
.tx-brochure__pdf { display: none !important; }
.tx-form--brochure .tx-form__grid--single { grid-template-columns: 1fr; }
.tx-form__note { margin: 12px 0 0 !important; font-size: 12px; line-height: 16px; color: var(--c-text-2); }
.tx-form__note a { color: inherit; text-decoration: underline; }
.tx-form .hidden-fields-container { display: none; }
.tx-form--brochure .tx-form__note { margin-top: -16px !important; }

/* ==========================================================================
   1.14.0 – Footer, icona download
   ========================================================================== */
/* Mobile: "Contact us" del footer uguale a quello del menu (larghezza piena, testo centrato) */
@media (max-width: 781px) {
	.tx-footer__claim { max-width: none; }
	.tx-footer__claim .wp-block-buttons { width: 100%; }
	.tx-footer__claim .wp-block-button { width: 100%; }
	.tx-footer__claim .wp-block-button__link { display: flex; width: 100%; box-sizing: border-box; justify-content: center; text-align: center; font-size: 16px; line-height: 22px; padding: 13px 20px; }
}
/* Pulsanti "Download…": icona di download dopo il testo (icona del sito live) */
:root { --tx-ico-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M6.5 8.5V0.5M6.5 8.5L3.16667 5.16667M6.5 8.5L9.83333 5.16667M12.5 8.5V11.1667C12.5 11.5203 12.3595 11.8594 12.1095 12.1095C11.8594 12.3595 11.5203 12.5 11.1667 12.5H1.83333C1.47971 12.5 1.14057 12.3595 0.890524 12.1095C0.640476 11.8594 0.5 11.5203 0.5 11.1667V8.5' stroke='black' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.tx-btn-dl .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; }
.tx-btn-dl .wp-block-button__link::after {
	content: ""; flex: 0 0 auto; width: 13px; height: 13px; background: currentColor;
	-webkit-mask: var(--tx-ico-download) center / contain no-repeat; mask: var(--tx-ico-download) center / contain no-repeat;
}

/* 1.14.1 – Mobile: pagine macchina, immagine in evidenza intera (contain) attaccata in alto */
@media (max-width: 781px) {
	.tx-hero--product > .tx-hero__bg img { object-fit: contain; object-position: center top; }
	/* il testo parte sotto l'immagine (foto 1920×1053: altezza = 54,84% della larghezza) */
	.tx-hero--product { min-height: 0; justify-content: flex-start; padding-top: calc(100vw * 1053 / 1920 + 24px); }
}

/* ==========================================================================
   1.15.0 – Aree cliccabili (accessibilità): pulsanti almeno 44×44 px, "Contact us" 48 px.
   L'altezza è reale (non un'area invisibile): stile, colori e testi restano gli stessi.
   ========================================================================== */
:root { --tx-target: 44px; --tx-target-cta: 48px; }
/* Pulsanti di testo: blocchi Pulsante, pillole, pulsanti dei moduli e delle card */
.wp-block-button__link, .wp-element-button,
.tx-pill, .tx-subnav a, .tx-prodnav a.tx-pill,
.tx-pr__btn, .tx-ncard__more, .tx-ncard__cta, .wp-block-read-more,
.tx-form input[type=submit], .wpcf7-submit, .wp-block-search__button,
.tx-scrollhint, .tx-langmodal__opt {
	min-height: var(--tx-target); box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center;
}
.tx-langmodal__opt { padding-inline: 12px; }
/* "Read more" delle card news: resta un link di testo, allineato a sinistra */
.wp-block-read-more { justify-content: flex-start; }
/* Pulsanti a icona: almeno 44×44 */
.tx-carousel-ctrl button, .tx-sharebtn, .tx-modal__close,
.tx-pager a, .tx-pager span, .wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
	min-width: var(--tx-target); min-height: var(--tx-target); box-sizing: border-box;
}
.tx-carousel-ctrl button, .tx-sharebtn, .tx-modal__close { width: var(--tx-target); height: var(--tx-target); }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; }
/* Icone piccole dell'header (hamburger, X, frecce dei sottomenu, lingua): area 44×44, ingombro visivo invariato */
.tx-nav .wp-block-navigation__responsive-container-open, .tx-nav .wp-block-navigation__responsive-container-close { min-width: var(--tx-target); min-height: var(--tx-target); align-items: center; justify-content: center; margin: -10px; }
.tx-nav .is-menu-open .wp-block-navigation__responsive-container-close { margin: 0; }
.tx-nav .wp-block-navigation__submenu-icon { width: var(--tx-target); height: var(--tx-target); margin: -14px -14px -14px -10px; }
.tx-lang { min-height: var(--tx-target); min-width: var(--tx-target); justify-content: center; }
/* Categorie delle news (etichette cliccabili): area 44 px in altezza senza cambiare l'etichetta */
.tx-meta__cat::before { inset: calc((100% - var(--tx-target)) / 2) 0; }
/* "Contact us": 48 px (header, menu mobile, footer, pulsanti nelle pagine, invio del modulo contatti) */
.tx-btn-contact .wp-block-button__link, .tx-header .tx-cta .wp-block-button__link, .tx-footer__claim .wp-block-button__link,
.tx-nav .tx-nav-cta > .wp-block-navigation-item__content, .tx-form.tx-form--contatti input.wpcf7-submit {
	min-height: var(--tx-target-cta);
}

/* 1.16.1 – Company › Responsibility - ESG: le 15 icone SDG nella scacchiera 4×4 del Figma
   (stessa griglia della maschera a 16 riquadri: colonne 22,05%, spazi 3,98%) */
.tx-sdg-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3.98%; margin: 0 !important; width: 100%; }
.tx-sdg-tiles > figure { margin: 0 !important; }
.tx-sdg-tiles img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; display: block; }
@media (max-width: 900px) { .tx-sdg-tiles { gap: 12px; } }

/* 1.17.0 – Pagine macchina: fascia della linea SMT bianca da bordo a bordo (le immagini hanno fondo bianco) */
.tx-wideimg { background: #000; } /* 1.19.3: linee SMT su fondo nero (immagini trasparenti) */

/* 1.17.2 – Mobile, Programming and Learning (pagine macchina): la linea orizzontale diventa verticale
   e continua a sinistra dei testi, con il pallino all'altezza del titolo di ogni voce. */
@media (max-width: 781px) {
	.tx-programming .tx-tiles { grid-template-columns: minmax(0, 1fr); gap: 0; row-gap: 0; }
	.tx-programming .tx-tile { border-top: 0; border-left: 1px solid var(--c-paccent); padding: 0 0 40px 28px; }
	.tx-programming .tx-tile:last-child { padding-bottom: 0; }
	.tx-programming .tx-tile--soon { border-left-color: var(--c-border-subtle); }
	.tx-programming .tx-tile::before { top: 0.45em; left: -6px; }
	.tx-programming .tx-tile > :first-child { margin-top: -0.2em !important; }
}

/* 1.18.1 Technology › How we operate: elenco puntato nei due box e immagini intere (non ritagliate) */
.tx-cards2:has(> .tx-linecard) { align-items: start; }
.tx-linecard ul { padding: 0; gap: 12px; }
.tx-linecard ul li { position: relative; margin: 0; padding-left: 20px; line-height: 1.5; }
.tx-linecard ul li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--tx-teal); }
.tx-linecard ul li strong { color: var(--c-text); font-weight: 600; }

.tx-linecard figure img { aspect-ratio: auto; height: auto; object-fit: contain; display: block; }

/* 1.19 Pagine in tedesco: le parole lunghe dei titoli (es. "Inspektionsintelligenz") vanno a capo
   con il trattino invece di uscire dallo schermo su mobile. */
:lang(de) :is(h1, h2, h3, h4, .tx-h1, summary) { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: anywhere; }
:is(h1, h2, h3, h4) { overflow-wrap: break-word; }

/* 1.19.5 Desktop: nelle pagine con sottomenu (macchine, Technology, Full specifications) l'header,
   quando si scorre, non ha spazio sotto la linea: il sottomenu, con il suo padding, parte subito dalla linea. */
@media (min-width: 782px) {
	body.tx-scrolled:has(.tx-prodnav, .tx-techtabs, .tx-fsnav) .tx-site-header.is-solid .tx-header { padding-bottom: 0; }
	body.tx-scrolled .tx-techtabs { border-top-color: transparent; }
}
