/* ==========================================================================
   LIAF 2000 — stili complementari per le pagine Elementor del nuovo design.
   Caricato SOLO sulle pagine del nuovo design (body.liaf-new).
   Tipografia, colori e spaziature delle sezioni standard sono impostati
   nei widget Elementor; qui restano: font locali, header/menu, dettagli
   che Elementor free non espone e le tre sezioni scenografiche.
   ========================================================================== */

@font-face { font-family: "Archivo"; src: url("fonts/archivo-latin.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Archivo"; src: url("fonts/archivo-latin-ext.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Instrument Serif"; src: url("fonts/instrument-serif-italic.woff2") format("woff2"); font-style: italic; font-weight: 400; font-display: swap; }

body.liaf-new {
  --paper: #CACACA; --paper-2: #BEBEBE; --white: #FFFFFF; --ink: #16181B; --ink-2: #2A2D31;
  --stone: #4A4A4A; --line: rgba(22, 24, 27, .18); --line-light: rgba(255, 255, 255, .18); --red: #D8412F; --red-dark: #B8321F;
  --header-h: 84px; --gutter: clamp(20px, 4vw, 64px);
  --ease: cubic-bezier(.7, 0, .2, 1); --ease-out: cubic-bezier(.16, 1, .3, 1);
  background: var(--paper); color: var(--ink);
  font-family: "Archivo", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased; overflow-x: clip;
}
body.liaf-new ::selection { background: var(--red); color: #fff; }
body.liaf-new :focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }

/* Titoli: larghezza del font e corsivo di accento */
body.liaf-new .elementor-heading-title { font-stretch: 112%; }
body.liaf-new .elementor-heading-title em {
  font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400;
  font-size: 1.12em; letter-spacing: -.02em; font-stretch: 100%;
}
body.liaf-new .liaf-plain .elementor-heading-title { font-stretch: 100%; }

/* Etichetta con linea rossa */
body.liaf-new .liaf-eyebrow .elementor-heading-title { display: flex; align-items: center; gap: 14px; font-stretch: 100%; }
body.liaf-new .liaf-eyebrow .elementor-heading-title::before { content: ""; width: 28px; height: 2px; background: var(--red); flex: none; }

/* Pulsanti: freccia e micro-interazione */
body.liaf-new .liaf-btn .elementor-button { transition: background-color .3s, color .3s, border-color .3s; }
body.liaf-new .liaf-btn .elementor-button-text { display: inline-flex; align-items: center; gap: 14px; }
body.liaf-new .liaf-btn .elementor-button-text::after {
  content: ""; width: 16px; height: 10px; flex: none; transition: transform .35s var(--ease-out);
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 5h14M10 1l4 4-4 4' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 5h14M10 1l4 4-4 4' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.liaf-new .liaf-btn .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }

/* Immagini: riempimento e zoom al passaggio */
body.liaf-new .liaf-cover .elementor-widget-container,
body.liaf-new .liaf-cover { height: 100%; }
body.liaf-new .liaf-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.liaf-new .liaf-zoom { overflow: hidden; }
body.liaf-new .liaf-zoom img { transition: transform 1s var(--ease-out); }
body.liaf-new .liaf-zoom:hover img { transform: scale(1.04); }
body.liaf-new .liaf-contain img { object-fit: contain !important; padding: 12%; mix-blend-mode: multiply; background: #fff; }
body.liaf-new .liaf-person img { filter: grayscale(1); transition: filter .6s; object-position: center 30%; }
body.liaf-new .liaf-person:hover img { filter: none; }
body.liaf-new .liaf-ratio-45 img { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; }
body.liaf-new .liaf-ratio-11 img { aspect-ratio: 1 / 1; width: 100%; object-fit: cover; }
body.liaf-new .liaf-ratio-32 img { aspect-ratio: 3 / 2; width: 100%; object-fit: cover; }
body.liaf-new .liaf-ratio-wide img { aspect-ratio: 16 / 8; width: 100%; object-fit: cover; }
@media (max-width: 767px) { body.liaf-new .liaf-ratio-wide img { aspect-ratio: 4 / 3; } }

/* Galleria Elementor: immagini 4:5 senza bordi */
body.liaf-new .liaf-gallery .gallery-item img { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; border: 0 !important; transition: transform 1s var(--ease-out); }
body.liaf-new .liaf-gallery .gallery-icon { overflow: hidden; }
body.liaf-new .liaf-gallery .gallery-item:hover img { transform: scale(1.04); }

/* Fisarmonica */
body.liaf-new .liaf-accordion .elementor-accordion-item { border: 0; border-bottom: 1px solid var(--line); }
body.liaf-new .liaf-accordion .elementor-accordion-item:first-child { border-top: 1px solid var(--line); }
body.liaf-new .liaf-accordion .elementor-tab-title { font-stretch: 106%; }
body.liaf-new .liaf-accordion .elementor-tab-title a { color: inherit; text-decoration: none; }
body.liaf-new .liaf-accordion .elementor-tab-content { border: 0 !important; }

/* Icon box: icona incorniciata */
body.liaf-new .liaf-iconbox .elementor-icon { border-radius: 0 !important; }
body.liaf-new .liaf-iconbox .elementor-icon-box-title { font-stretch: 106%; }

/* Tag materiali */
body.liaf-new .materials-tags ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
body.liaf-new .materials-tags li { padding: 6px 12px; border: 1px solid var(--line); font-size: 13px; }

/* Segnaposto recensioni */
body.liaf-new .liaf-placeholder .elementor-heading-title { display: inline-block; background: #FFE58A; color: var(--ink); padding: 6px 12px; }

/* Link testuali in blocchi di testo */
body.liaf-new .liaf-links a { color: inherit; text-decoration: none; }
body.liaf-new .liaf-links a:hover { color: var(--red); }
body.liaf-new .liaf-footer .liaf-links a:hover { color: #fff; }

/* ---------- Header ---------- */
body.liaf-new .liaf-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  border-bottom: 1px solid transparent;
  transition: background-color .35s, border-color .35s;
}
body.admin-bar.liaf-new .liaf-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar.liaf-new .liaf-header { top: 46px; } }
body.liaf-new .liaf-header.is-scrolled { background: rgba(202, 202, 202, .92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-color: var(--line); }
body.liaf-new .liaf-header.is-menu-open { background: var(--paper); backdrop-filter: none; -webkit-backdrop-filter: none; border-color: var(--line); }
body.liaf-new .liaf-logo img { width: 118px; height: auto; display: block; }
@media (max-width: 600px) { body.liaf-new .liaf-logo img { width: 100px; } }
body.liaf-new .liaf-logo--light { display: none; }
body.liaf-new .liaf-header--overlay:not(.is-scrolled):not(.is-menu-open) .liaf-logo--dark { display: none; }
body.liaf-new .liaf-header--overlay:not(.is-scrolled):not(.is-menu-open) .liaf-logo--light { display: block; }

.liaf-nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 32px; color: var(--ink); }
.liaf-header--overlay:not(.is-scrolled):not(.is-menu-open) .liaf-nav-wrap { color: #fff; }
.liaf-nav-list { display: flex; gap: clamp(20px, 3vw, 44px); list-style: none; margin: 0; padding: 0; }
.liaf-nav-link { position: relative; display: block; padding: 8px 0; font-size: 15px; font-weight: 500; text-decoration: none; color: inherit; }
.liaf-nav-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .45s var(--ease-out); }
.liaf-nav-link:hover::after, .liaf-nav-link[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.liaf-nav-link[aria-current="page"]::after { background: var(--red); height: 2px; }
.liaf-header-actions { display: flex; align-items: center; gap: 20px; }
.liaf-header-phone { font-size: 14px; font-weight: 500; text-decoration: none; color: inherit; white-space: nowrap; }
.liaf-header-phone:hover { color: var(--red); }
.liaf-header-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; background: var(--red); color: #fff !important; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; transition: background-color .3s; }
.liaf-header-cta:hover { background: var(--red-dark); }
.liaf-menu-toggle { display: none; align-items: center; gap: 12px; background: none !important; border: 0 !important; padding: 10px 0 !important; cursor: pointer; color: inherit !important; font-family: inherit; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.liaf-menu-toggle-lines { display: flex; flex-direction: column; gap: 6px; width: 26px; }
.liaf-menu-toggle-lines span { display: block; height: 2px; background: currentColor; transition: transform .4s var(--ease); }
.liaf-menu-toggle[aria-expanded="true"] .liaf-menu-toggle-lines span:first-child { transform: translateY(4px) rotate(45deg); }
.liaf-menu-toggle[aria-expanded="true"] .liaf-menu-toggle-lines span:last-child { transform: translateY(-4px) rotate(-45deg); }
.liaf-mobile-nav { position: fixed; inset: 0; z-index: -1; display: flex; flex-direction: column; justify-content: space-between; padding: calc(var(--header-h) + 32px) var(--gutter) 40px; background: var(--paper); color: var(--ink); opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s; }
.liaf-mobile-nav[hidden] { display: none; }
.liaf-mobile-nav.is-open { opacity: 1; visibility: visible; }
.liaf-mobile-nav-list { display: flex; flex-direction: column; border-top: 1px solid var(--line); list-style: none; margin: 0; padding: 0; }
.liaf-mobile-nav-link { display: flex; align-items: baseline; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: clamp(2rem, 9vw, 3rem); font-weight: 600; font-stretch: 112%; letter-spacing: -.03em; line-height: 1.05; text-decoration: none; color: inherit; }
.liaf-mobile-nav-link[aria-current="page"] { color: var(--red); }
.liaf-mobile-nav-index { font-size: 12px; letter-spacing: .1em; color: var(--stone); font-weight: 500; }
.liaf-mobile-nav-contacts { display: flex; flex-direction: column; gap: 6px; font-size: 16px; }
.liaf-mobile-nav-contacts a { text-decoration: none; color: inherit; }
@media (max-width: 1100px) {
  .liaf-nav-main, .liaf-header-phone, .liaf-header-cta { display: none !important; }
  .liaf-menu-toggle { display: inline-flex; }
}

/* ==========================================================================
   SHOWPIECE 1 — Hero home (rivelazione a finestra)
   Classi: .hero (container), .hero-media (container dell'immagine),
   .hero-reveal (widget da far entrare in sequenza).
   ========================================================================== */
body.liaf-new .hero { overflow: hidden; }
body.liaf-new .hero-media { position: absolute !important; inset: 0; z-index: 0; }
body.liaf-new .hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22, 24, 27, .45) 0%, rgba(22, 24, 27, .05) 35%, rgba(22, 24, 27, .75) 100%); pointer-events: none; }
body.liaf-new .hero-media .elementor-widget-image, body.liaf-new .hero-media .elementor-widget-container { height: 100%; }
body.liaf-new .hero-media img { width: 100%; height: 100% !important; object-fit: cover; object-position: 40% 40%; }
body.liaf-new .hero-content { position: relative; z-index: 1; }
.js body.liaf-new .hero-media { clip-path: inset(22% 34% 22% 34%); transition: clip-path 1.6s var(--ease); }
.js body.liaf-new .hero-media img { transform: scale(1.25); transition: transform 2.2s var(--ease-out); }
.js body.liaf-new .hero-reveal { opacity: 0; transform: translateY(40px); transition: opacity 1.2s var(--ease-out), transform 1.2s var(--ease-out); transition-delay: calc(1s + var(--i, 0) * .12s); }
.js body.liaf-new .hero.is-revealed .hero-media { clip-path: inset(0 0 0 0); }
.js body.liaf-new .hero.is-revealed .hero-media img { transform: scale(1); }
.js body.liaf-new .hero.is-revealed .hero-reveal { opacity: 1; transform: none; }

/* ==========================================================================
   SHOWPIECE 2 — Materiali (pagina Servizi)
   Classi: .materials > .materials-stage > .materials-list > .materials-item
   (con .materials-figure e .materials-body), .materials-hud (widget HTML).
   ========================================================================== */
body.liaf-new .materials-figure { overflow: hidden; background: var(--ink); }
body.liaf-new .materials-figure .elementor-widget-image, body.liaf-new .materials-figure .elementor-widget-container { height: 100%; width: 100%; }
body.liaf-new .materials-figure img { width: 100%; height: 100% !important; object-fit: cover; }
body.liaf-new .materials-hud { display: none; }
.materials-word { display: inline-block; white-space: nowrap; overflow: hidden; vertical-align: top; padding: 0 .02em .1em; margin-bottom: -.1em; }
.materials-char { display: inline-block; transform: translateY(110%); transition: transform .9s var(--ease-out); transition-delay: calc(var(--c, 0) * 22ms); will-change: transform; }
.materials-item.is-active .materials-char, .materials-item.is-inview .materials-char { transform: none; }
.materials.is-enhanced .materials-item:not(.is-active) .materials-char { transition-duration: .45s; transition-delay: calc(var(--c, 0) * 6ms); }
.materials-item.is-past .materials-char { transform: translateY(-110%); }

.js body.liaf-new .materials:not(.is-enhanced) .materials-figure { clip-path: inset(100% 0 0 0); transition: clip-path 1.3s var(--ease); }
.js body.liaf-new .materials:not(.is-enhanced) .materials-figure img { transform: scale(1.25); transition: transform 1.8s var(--ease-out); }
.js body.liaf-new .materials:not(.is-enhanced) .materials-body > :not(.materials-title) { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--ease-out) .3s, transform .9s var(--ease-out) .3s; }
.js body.liaf-new .materials:not(.is-enhanced) .materials-item.is-inview .materials-figure { clip-path: inset(0 0 0 0); }
.js body.liaf-new .materials:not(.is-enhanced) .materials-item.is-inview .materials-figure img { transform: none; }
.js body.liaf-new .materials:not(.is-enhanced) .materials-item.is-inview .materials-body > * { opacity: 1; transform: none; }

body.liaf-new .materials.is-enhanced { height: calc(var(--materials-count, 6) * 100vh); padding: 0 !important; }
body.liaf-new .materials.is-enhanced .materials-stage { position: sticky !important; top: 0; height: 100vh; overflow: hidden; background: var(--paper); padding: 0 !important; }
body.liaf-new .materials.is-enhanced .materials-list { position: absolute !important; inset: 0; padding: 0 !important; }
body.liaf-new .materials.is-enhanced .materials-item {
  position: absolute !important; inset: 0; margin: 0 !important; max-width: none !important; border: 0 !important;
  flex-direction: row !important; align-items: stretch !important; gap: 0 !important; padding: 0 !important;
  pointer-events: none; z-index: var(--i);
}
body.liaf-new .materials.is-enhanced .materials-figure {
  order: 2; width: 56% !important; max-width: 56% !important; flex: 0 0 56% !important; height: 100%; padding: 0 !important;
  clip-path: inset(calc((1 - var(--reveal, 0)) * 100%) 0 0 0);
}
body.liaf-new .materials.is-enhanced .materials-figure::after { content: ""; position: absolute; inset: 0; background: var(--ink); opacity: calc(var(--depth, 0) * .55); pointer-events: none; }
body.liaf-new .materials.is-enhanced .materials-figure::before { content: ""; position: absolute; left: 0; right: 0; z-index: 2; height: 3px; background: var(--red); top: calc((1 - var(--reveal, 0)) * 100%); opacity: calc(min(1, (1 - var(--reveal, 0)) * 12) * min(1, var(--reveal, 0) * 12)); }
body.liaf-new .materials.is-enhanced .materials-figure img {
  transform: translate3d(calc(var(--mx, 0) * -16px), calc((1 - var(--reveal, 0)) * 22% + var(--my, 0) * -16px), 0) scale(calc(1.08 - var(--depth, 0) * .06 + (1 - var(--reveal, 0)) * .12));
  transition: transform .6s var(--ease-out);
}
body.liaf-new .materials.is-enhanced .materials-body {
  order: 1; width: 44% !important; max-width: 44% !important; flex: 0 0 44% !important; justify-content: center !important;
  padding: calc(var(--header-h) + 20px) clamp(32px, 5vw, 96px) 150px var(--gutter) !important;
}
body.liaf-new .materials.is-enhanced .materials-title .elementor-heading-title { font-size: clamp(2.4rem, 3.9vw, 5.2rem) !important; font-stretch: 104%; }
body.liaf-new .materials.is-enhanced .materials-body > :not(.materials-title) { opacity: 0; transform: translateY(36px); transition: opacity .45s, transform .6s var(--ease); }
body.liaf-new .materials.is-enhanced .materials-item.is-past .materials-body > :not(.materials-title) { transform: translateY(-36px); }
body.liaf-new .materials.is-enhanced .materials-item.is-active { pointer-events: auto; }
body.liaf-new .materials.is-enhanced .materials-item.is-active .materials-body > :not(.materials-title) { opacity: 1; transform: none; transition: opacity .9s var(--ease-out) .25s, transform .9s var(--ease-out) .25s; }
body.liaf-new .materials.is-enhanced .materials-item.is-active .materials-tags { transition-delay: .35s; }
body.liaf-new .materials.is-enhanced .materials-item.is-active .materials-link { transition-delay: .45s; }
body.liaf-new .materials.is-enhanced .materials-hud { display: block; position: absolute; z-index: 50; left: var(--gutter); bottom: 44px; width: calc(44% - var(--gutter) - clamp(32px, 5vw, 96px)); }
.materials-hud-inner { display: flex; flex-direction: column; gap: 14px; }
.materials-counter { display: flex; align-items: baseline; gap: 8px; margin: 0; font-weight: 600; font-stretch: 112%; font-variant-numeric: tabular-nums; }
.materials-counter-current { font-size: 28px; letter-spacing: -.02em; }
.materials-counter-total { font-size: 13px; color: var(--stone); letter-spacing: .1em; }
.materials-nav-list { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.materials-nav-item { flex: 1; min-width: 0; }
.materials-nav-button { display: flex !important; flex-direction: column; gap: 10px; width: 100%; background: none !important; border: 0 !important; border-radius: 0 !important; padding: 8px 0 0 !important; cursor: pointer; text-align: left; font-family: inherit; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--stone) !important; }
.materials-nav-track { position: relative; display: block; height: 2px; background: var(--line); overflow: hidden; }
.materials-nav-fill { position: absolute; inset: 0; background: var(--ink); transform-origin: left; transform: scaleX(var(--fill, 0)); }
.materials-nav-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .3s; }
.materials-nav-item.is-active .materials-nav-fill { background: var(--red); }
.materials-nav-item.is-active .materials-nav-label, .materials-nav-button:hover .materials-nav-label { color: var(--ink); }

/* ==========================================================================
   SHOWPIECE 3 — Telaio che si disegna (Come lavoriamo)
   Classi: .process, .process-visual-sticky (widget HTML con l'SVG),
   .process-frame-part, .process-steps, .process-step.
   ========================================================================== */
body.liaf-new .process-visual-sticky { position: sticky !important; top: calc(var(--header-h) + 5vh); }
.process-frame { width: 100%; max-height: 70vh; overflow: visible; display: block; }
.process-frame-part { fill: none; stroke: #16181B; stroke-width: 2; stroke-linecap: square; stroke-dasharray: 1; stroke-dashoffset: 0; }
.process-frame-part--dim, .process-frame-part--glass { stroke: #4A4A4A; stroke-width: 1; }
.process-frame-part--accent { stroke: #D8412F; stroke-width: 4; }
.process-counter { display: flex; align-items: baseline; gap: 10px; margin: 24px 0 0; font-weight: 600; font-stretch: 112%; font-variant-numeric: tabular-nums; }
.process-counter-current { font-size: clamp(3rem, 6vw, 5rem); line-height: 1; letter-spacing: -.04em; color: #D8412F; }
.process-counter-total { color: #4A4A4A; letter-spacing: .1em; font-size: 14px; }
body.liaf-new .process.is-enhanced .process-step { min-height: 62vh; justify-content: center; }
body.liaf-new .process.is-enhanced .process-step > .elementor-element { opacity: .22; transition: opacity .6s; }
body.liaf-new .process.is-enhanced .process-step.is-active > .elementor-element,
body.liaf-new .process.is-enhanced .process-step.is-past > .elementor-element { opacity: 1; }
@media (max-width: 900px) {
  body.liaf-new .process-visual { position: sticky !important; top: var(--header-h); z-index: 2; background: var(--paper); padding: 12px 0 !important; border-bottom: 1px solid var(--line); }
  body.liaf-new .process-visual-sticky { position: static !important; }
  .process-visual-inner { display: flex; align-items: center; justify-content: space-between; }
  .process-frame { width: auto; height: 26vh; max-height: 220px; }
  .process-counter { margin: 0; }
  body.liaf-new .process.is-enhanced .process-step { min-height: 55vh; }
}

@media (prefers-reduced-motion: reduce) {
  body.liaf-new *, body.liaf-new *::before, body.liaf-new *::after { transition-duration: .01ms !important; transition-delay: 0s !important; animation: none !important; }
  .js body.liaf-new .hero-reveal { opacity: 1; transform: none; }
  .js body.liaf-new .hero-media { clip-path: none; }
  .js body.liaf-new .hero-media img { transform: none; }
}

/* Materiali senza animazione (mobile / riduci movimento): proporzione immagini */
body.liaf-new .materials:not(.is-enhanced) .materials-figure { aspect-ratio: 4 / 3; }

/* Link "Prossimo servizio" */
body.liaf-new .liaf-next a { color: inherit; transition: color .3s; }
body.liaf-new .liaf-next a:hover { color: var(--red); }

/* Modulo contatti (WPForms) nello stile del sito */
body.liaf-new .liaf-form .wpforms-container { margin: 0 !important; }
body.liaf-new .liaf-form .wpforms-field { padding: 0 0 20px !important; }
body.liaf-new .liaf-form .wpforms-field-label { font-family: "Archivo", sans-serif !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .04em; color: var(--ink) !important; margin-bottom: 8px !important; }
body.liaf-new .liaf-form input[type="text"], body.liaf-new .liaf-form input[type="email"], body.liaf-new .liaf-form input[type="number"], body.liaf-new .liaf-form input[type="tel"], body.liaf-new .liaf-form textarea, body.liaf-new .liaf-form select {
  width: 100% !important; max-width: 100% !important; padding: 14px 16px !important; border: 1px solid var(--line) !important; border-radius: 0 !important;
  background: var(--paper) !important; font-family: "Archivo", sans-serif !important; font-size: 16px !important; color: var(--ink) !important; box-shadow: none !important; height: auto !important;
}
body.liaf-new .liaf-form input:focus, body.liaf-new .liaf-form textarea:focus { border-color: var(--ink) !important; background: #fff !important; outline: none !important; }
body.liaf-new .liaf-form .wpforms-field-row { max-width: 100% !important; }
body.liaf-new .liaf-form button[type="submit"], body.liaf-new .liaf-form .wpforms-submit {
  background: var(--red) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; height: auto !important;
  padding: 19px 26px !important; font-family: "Archivo", sans-serif !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background-color .3s;
}
body.liaf-new .liaf-form button[type="submit"]:hover { background: var(--red-dark) !important; }

/* Icon box nei contatti: link */
body.liaf-new .liaf-links .elementor-icon-box-description a { color: inherit; text-decoration: none; }
body.liaf-new .liaf-links .elementor-icon-box-description a:hover { color: var(--red); }

/* Header: il blocco logo prende solo lo spazio che serve, il menu il resto */
body.liaf-new .liaf-header > .e-con { flex: 0 0 auto !important; width: auto !important; --width: auto; }
body.liaf-new .liaf-header > .liaf-nav { flex: 1 1 auto !important; width: auto !important; max-width: none !important; }
.liaf-nav-main { flex: 1; display: flex; justify-content: center; }
.liaf-header-actions { margin-left: auto; }

/* Righe di icon box: dividono lo spazio invece di uscire dalla colonna */
@media (min-width: 768px) {
  body.liaf-new .e-con:has(> .liaf-iconbox ~ .liaf-iconbox) > .liaf-iconbox { flex: 1 1 0 !important; min-width: 0; width: auto !important; max-width: none !important; }
}
/* Footer: cinque colonne sulla stessa riga su desktop */
body.liaf-new .liaf-footer .e-con-inner > .e-con:nth-child(2) { flex-wrap: nowrap !important; }
@media (max-width: 1024px) { body.liaf-new .liaf-footer .e-con-inner > .e-con:nth-child(2) { flex-wrap: wrap !important; } }
body.liaf-new .liaf-footer .e-con-inner > .e-con:nth-child(2) > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 150px; }
body.liaf-new .liaf-footer .e-con-inner > .e-con:nth-child(2) > .e-con:first-child { flex-grow: 1.6 !important; }
