/* ---- Aggiunte specifiche di WordPress ---- */
body.admin-bar .modern-header { top:32px; }
@media(max-width:782px){ body.admin-bar .modern-header { top:46px; } }
.screen-reader-text { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* Filtri catalogo come link (nel sito statico erano bottoni). */
.cat-tabs a { text-decoration:none; }
#sub-chips a { display:inline-flex; align-items:center; text-decoration:none; }

/* Segnaposto quando un prodotto non ha ancora la foto. */
.product-placeholder,.pd-placeholder { display:grid; place-items:center; width:100%; height:100%; min-height:12rem; background:#e9eef4; }
.product-placeholder .px,.pd-placeholder .px { --s:.5rem; --g:.25rem; color:#9fc6e6; }
.pd-placeholder { min-height:24rem; }
.pd-placeholder .px { --s:.75rem; }

/* Tabelle del plugin (specifiche e codici d'ordine). */
.pd-tables { display:flex; flex-direction:column; gap:2rem; min-width:0; }
.elad-table__title { margin:0 0 .75rem; font:500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#2b7cb3; }
.elad-table__scroll { overflow-x:auto; border:1px solid #d5dde7; background:#fff; }
.elad-table table { width:100%; border-collapse:collapse; font-size:var(--fs-small); }
.elad-table th,.elad-table td { padding:.75rem 1rem; border-bottom:1px solid #d5dde7; text-align:left; vertical-align:top; }
.elad-table thead th { background:#091f3d; color:#fff; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; border-bottom:0; }
.elad-table tbody th { font-weight:500; color:#091f3d; }
.elad-table--codes tbody th { font:500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.02em; white-space:nowrap; text-transform:uppercase; }
.elad-table tbody tr:nth-child(even) { background:#f4f7fa; }
.elad-table tbody tr:last-child>* { border-bottom:0; }

/* Contenuti dall'editor. */
.entry-content>*:first-child { margin-top:0; }
.entry-content p { max-width:48rem; }
.entry-content h2 { font-size:var(--fs-h2); font-weight:500; letter-spacing:-.03em; line-height:1.1; margin:2.5rem 0 1rem; }
.entry-content h3 { font-size:var(--fs-h3); font-weight:500; letter-spacing:-.02em; margin:2rem 0 .75rem; }
.entry-content a { color:#2b7cb3; text-decoration:underline; text-underline-offset:.2em; }
.entry-content img { max-width:100%; height:auto; }
.entry-cover { display:block; width:100%; height:auto; margin-bottom:2rem; }
.pd-lead.entry-content p { font-size:var(--fs-lead)!important; }
.pd-diagram { margin:0; border:1px solid #d5dde7; background:#fff; padding:1.5rem; }
.pd-diagram img { display:block; max-width:100%; height:auto; margin:auto; }
.pd-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(14rem,1fr)); gap:1rem; }
.pd-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.nv-grid--list { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:900px){ .nv-grid--list { grid-template-columns:1fr; } }
.gf-live { width:100%; }
@media(min-width:901px){ .cat-tabs[style*="--n"] { grid-template-columns:repeat(var(--n),minmax(0,1fr)); } }

/* Gravity Forms reale (CSS del plugin disattivato in functions.php). */
.gform_validation_container,.gform_hidden,.gfield--type-hidden,.gfield_visibility_hidden,.gform_heading,.gform_ajax_frame,iframe[name^="gform_ajax_frame"] { display:none!important; }
:is(.wl-sales,.gf-skin) .gform_wrapper fieldset.gfield { border:0; border-bottom:1px solid #d5dde7; margin:0; padding:1rem 1.25rem; min-width:0; display:block; }
:is(.wl-sales,.gf-skin) .gfield--type-consent legend.gfield_label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
:is(.wl-sales,.gf-skin) .gfield--type-consent .ginput_container_consent { display:flex; }
:is(.wl-sales,.gf-skin) .gfield--type-consent .gfield_description { padding:.5rem 0 0 1.75rem; border:0; font-size:var(--fs-small); color:#66768b; }
:is(.wl-sales,.gf-skin) .gfield_description { grid-column:2; padding:0 1.25rem 1rem; font-size:var(--fs-small); line-height:var(--lh-text); color:#66768b; }
:is(.wl-sales,.gf-skin) .validation_message,:is(.wl-sales,.gf-skin) .gfield_validation_message { grid-column:2; padding:0 1.25rem 1rem; font-size:var(--fs-small); color:#c0392b; }
:is(.wl-sales,.gf-skin) .gfield--type-consent .validation_message { padding:.5rem 0 0 1.75rem; }
:is(.wl-sales,.gf-skin) .gfield_label { margin:0; }
:is(.wl-sales,.gf-skin) .gfield_required .gfield_required_asterisk,:is(.wl-sales,.gf-skin) .gfield_required { color:#409ed8; }
:is(.wl-sales,.gf-skin) .gform_validation_errors { margin:0; padding:1rem 1.25rem; background:#fdf1f0; border-bottom:1px solid #f1c7c2; color:#c0392b; }
:is(.wl-sales,.gf-skin) .gform_validation_errors h2 { margin:0; font-size:var(--fs-small); font-weight:500; }
:is(.wl-sales,.gf-skin) .gform_footer { justify-content:flex-end; }
:is(.wl-sales,.gf-skin) .gform_footer input.gform_button { cursor:pointer; min-height:3rem; }
:is(.wl-sales,.gf-skin) .gform-loader,:is(.wl-sales,.gf-skin) .gform_ajax_spinner { margin-left:.75rem; width:1rem; height:1rem; }
:is(.wl-sales,.gf-skin) .ginput_container select { appearance:auto; }
:is(.wl-sales,.gf-skin) .gform_confirmation_message { padding:1.5rem 1.25rem; font-size:var(--fs-body); }
body main :is(.wl-sales,.gf-skin) .gform_validation_errors h2 { margin:0!important; font:500 var(--fs-small)/1.4 Sora,sans-serif!important; letter-spacing:0!important; color:#c0392b!important; }
:is(.wl-sales,.gf-skin) .validation_message,:is(.wl-sales,.gf-skin) .gfield_validation_message { color:#c0392b!important; }

/* Header: con i font veri le voci occupano più spazio; il logo non deve restringersi. */
.modern-header .logo { flex:none; }
@media(min-width:901px) and (max-width:1360px){ .modern-header #navigation { gap:1.125rem; } .modern-header .nav nav>.shop-link,.modern-header .nav nav>.wishlist-link,.modern-header .nav nav>.nav-cta { padding:0 .875rem!important; } .modern-header .nav nav>.shop-link+.wishlist-link { margin-left:-.5rem; } }
@media(min-width:901px) and (max-width:1180px){ .modern-header .nav nav>.wishlist-link span { display:none; } .modern-header #navigation { gap:.875rem; } }

/* Scheda prodotto: colonna dei contenuti più larga, le tabelle non vanno tagliate. */
@media(min-width:901px){ body[data-page=prodotto] .pd-row { grid-template-columns:minmax(14rem,3fr) minmax(0,9fr); gap:3rem; } }
body[data-page=prodotto] .pd-tables,body[data-page=prodotto] .pd-row>* { min-width:0; }
.elad-table th,.elad-table td { white-space:normal; }
.elad-table thead th { white-space:nowrap; }

/* Download e risorse: file e link con icona, richieste con "Richiedi". */
.pd-docs a:not([data-doc-req]) { grid-template-columns:1fr auto; }
.pd-docs a>i { grid-column:-2; grid-row:1/3; align-self:center; justify-self:end; display:grid; place-items:center; width:2rem; height:2rem; background:#409ed8; color:#fff; font:var(--fs-small)/1 Sora,sans-serif; font-style:normal; transition:background-color .2s; }
.pd-docs a:hover>i { background:#091f3d; }

/* Scheda prodotto: il riquadro hero rispetta la larghezza massima (allineato al gutter come il resto). */
.pd-hero { margin-left:var(--gutter); margin-right:var(--gutter); }

/* Catalogo: cambio filtro senza ricaricare (catalog-nav.js). */
.catalog-section .catalog-grid,.catalog-section .empty-results { transition:opacity .15s; }
.catalog-section.is-loading .catalog-grid,.catalog-section.is-loading .empty-results { opacity:.45; pointer-events:none; }

/* Mega menu Prodotti: resta solo "Vedi i prodotti", allineato a destra. */
#mega-products .mega-foot { justify-content:flex-end; }

/* Catalogo: codice prodotto in evidenza come etichetta. */
.catalog-grid .card-head span { display:inline-flex; align-items:center; gap:.5rem; padding:.375rem .625rem; border:1px solid #c5cfdb; background:#fff; color:#091f3d; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.08em; transition:background-color .2s,border-color .2s,color .2s; text-transform:uppercase; }
.catalog-grid .card-head span::before { content:''; width:.4375rem; height:.4375rem; background:#409ed8; flex:none; }
.catalog-grid .product-card:hover .card-head span { background:transparent; border-color:#ffffff59; color:#fff; }

/* Catalogo: "Shop" accanto a Info, nella riga delle azioni. */
.catalog-grid .card-actions>a.card-status.is-shop { position:relative!important; top:auto; right:auto; margin-right:auto; }
.catalog-grid .card-actions a.card-btn:has(+a.is-shop) { margin-right:0; }

/* Mega menu a schede (Prodotti, Novità: classe mega-clean): schede senza sigla o numero, card senza numero progressivo. */
.mega-clean .mega-tabs button { grid-template-columns:1fr 20px; }
.mega-clean .sub-links a { padding-left:1.5rem; }
.mega-clean .sub-links a::before { content:none; }
@media(max-width:900px){ .mega-clean .mega-tabs button { grid-template-columns:1fr 18px; } .mega-clean .sub-links a { padding-left:1.25rem; } }
/* Mega menu: colonna delle schede blu scuro; hover e scheda attiva uguali, come l'hover delle card. */
.mega-index .mega-tabs { background:#091f3d; border-color:#091f3d; }
.mega-index .mega-tabs::before { color:#8cc8ec; border-bottom-color:#ffffff24; }
.mega-index .mega-tabs button { background:transparent; color:#fff; border-bottom-color:#ffffff24; border-left-color:transparent; }
.mega-index .mega-tabs button>b { color:#fff; }
.mega-index .mega-tabs button i { opacity:1; color:#ffffff73; }
.mega-index .mega-tabs button:is(:hover,:focus-visible,[aria-selected=true]) { background:#409ed8; color:#fff; border-left-color:#409ed8; box-shadow:none; }
.mega-index .mega-tabs button:is(:hover,:focus-visible,[aria-selected=true])>b { color:#fff; }
.mega-index .mega-tabs button:is(:hover,:focus-visible,[aria-selected=true]) i { opacity:1; color:#fff; transform:translateX(3px); }
@media(max-width:600px){ .mega-index .mega-tabs button { border-right-color:#ffffff24; } .mega-index .mega-tabs button[aria-selected=true] { box-shadow:none; } }
/* Frecce delle schede (macrocategorie) in un riquadro, come nelle card. */
.mega-index .mega-tabs button { grid-template-columns:1fr 32px; }
.mega-index .mega-tabs button i { width:32px; height:32px; display:grid; place-items:center; border:1px solid #ffffff40; color:#fff; font-size:var(--fs-body); line-height:1; transition:background .15s,border-color .15s,color .15s; }
.mega-index .mega-tabs button:is(:hover,:focus-visible,[aria-selected=true]) i { background:#fff; border-color:#fff; color:#091f3d; transform:none; }
@media(max-width:900px){ .mega-index .mega-tabs button { grid-template-columns:1fr 28px; } .mega-index .mega-tabs button i { width:28px; height:28px; } }

/* Fondo dei mega menu con il solo pulsante: allineato a destra. */
.mega-index .mega-foot:not(:has(.mega-all)) { justify-content:flex-end; }

/* Catalogo a famiglie: card di famiglia, tabelle dei codici con link e wishlist, pagina del codice. */
.catalog-grid .card-actions .card-count { margin-left:auto; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#4d5a6c; }
.catalog-grid .product-card:hover .card-actions .card-count { color:#8cc8ec; }
.elad-table__note { margin:-.25rem 0 .75rem; max-width:70ch; font-size:var(--fs-small); color:#4d5a6c; }
.elad-table--codes .code-link { color:#091f3d; text-decoration:none; border-bottom:1px solid #409ed8; }
.elad-table--codes .code-link:hover { color:#2b7cb3; }
.elad-table--codes td.code-save { width:1%; padding:.375rem .75rem; text-align:right; }
.elad-table--codes .save-product { width:2rem; height:2rem; display:inline-grid; place-items:center; padding:0; border:1px solid #409ed8; background:#409ed8; color:#fff; cursor:pointer; }
.elad-table--codes .save-product:hover { background:#2b7cb3; border-color:#2b7cb3; }
.elad-table--codes .save-product[aria-pressed=true] { background:#fff; color:#409ed8; }
.elad-table--codes .save-product .ico-heart { width:13px; height:12px; }
.elad-table--codes tr.is-current>* { background:#e4f1fa!important; }
.elad-table--codes tr.is-current .code-link { border-bottom-color:#091f3d; font-weight:600; }
.elad-table--kv tbody th { width:40%; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#4d5a6c; }
.pd-code-title { font-family:'Space Grotesk',system-ui,sans-serif!important; font-size: var(--fs-h2)!important; letter-spacing:-.01em!important; overflow-wrap:anywhere; text-transform:uppercase !important; }
.pd-tags span+span { margin-left:.25rem; }
.pd-family-link p { margin:0 0 1.25rem; max-width:70ch; font-size:var(--fs-body); color:#3d4b5e; }
.pd-related { grid-template-columns:repeat(auto-fill,minmax(15rem,1fr)); }
.pd-facts:has(>div+div) { grid-template-columns:1fr 1fr!important; }

/* Categoria (es. DAQ): sezioni con lo stesso selettore delle macrocategorie, 4 per riga. */
@media(min-width:901px){
 .cat-tabs--sections { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .cat-tabs--sections a:nth-child(4n+1) { border-left:0; }
 .cat-tabs--sections a:nth-child(n+5) { border-top:1px solid var(--cl); }
}

/* Catalogo: card di famiglia separate, con bordo, codice e numero di codici in alto, due righe di descrizione. */
.catalog-section .catalog-grid,body[data-page=home] .home-featured,.pd-related { gap:1.25rem; border:0; }
.catalog-grid .family-card { padding:0!important; background:#fff; border:1px solid #d5dde7!important; transition:background-color .25s,border-color .25s,box-shadow .25s,transform .25s; }
.catalog-grid .family-card:hover { border-color:#091f3d!important; transform:translateY(-3px); box-shadow:0 14px 28px -18px #091f3d80; }
.catalog-grid .family-card>a { padding:1.25rem 1.25rem 0; }
.catalog-grid .family-card .card-head { margin-bottom:1rem; }
.catalog-grid .family-card .card-more { display:inline-flex; align-items:center; height:1.75rem; margin:0 0 0 auto; padding:0 .5rem; background:#e4f1fa; color:#2b7cb3; }
.catalog-grid .family-card:hover .card-head .card-more { background:#409ed8; color:#fff; }
.catalog-grid .family-card .product-picture { aspect-ratio:4/3; background:#eef2f6; }
.catalog-grid .family-card .card-kicker { font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#2b7cb3; margin-bottom:.5rem; }
.catalog-grid .family-card:hover .card-kicker { color:#8cc8ec; }
.catalog-grid .family-card .product-copy { padding:1.25rem 0 1.25rem; }
.catalog-grid .family-card .product-copy h3 { font-size:var(--fs-h3); line-height:1.2; }
.catalog-grid .family-card .product-copy h3+small { margin-bottom:0; }
.catalog-grid .family-card .card-desc { margin:.75rem 0 0; font-size:var(--fs-small)!important; line-height:var(--lh-text)!important; color:#4d5a6c; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.catalog-grid .family-card:hover .card-desc { color:#c4d2e4; }
.catalog-grid .family-card .card-actions { margin:0 1.25rem 1.25rem; padding-top:1rem; border-top:1px solid #e3e9f0; }
.catalog-grid .family-card .card-actions a.card-btn { width:100%; justify-content:space-between; height:2.25rem; margin:0; }
@media(max-width:600px){ .catalog-section .catalog-grid,body[data-page=home] .home-featured { gap:.75rem; } .catalog-grid .family-card>a { padding:.875rem .875rem 0; } .catalog-grid .family-card .card-actions { margin:0 .875rem .875rem; } .catalog-grid .family-card .card-desc { display:none; } .catalog-grid .family-card .product-copy h3 { font-size:var(--fs-h3); } }
.catalog-grid .family-card .card-head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.catalog-grid .family-card .card-head>span { flex:none; }

/* Card di famiglia valorizzate: testata blu scuro con codice e numero di codici, corpo bianco, freccia in riquadro. */
.catalog-grid .family-card>a { padding:0!important; }
.catalog-grid .family-card .product-picture { position:relative; aspect-ratio:16/10; background:linear-gradient(135deg,#0f2d55 0%,#091f3d 70%); overflow:hidden; }
.catalog-grid .family-card .product-picture img { position:absolute; inset:0; width:100%; height:100%; mix-blend-mode:normal; object-fit:cover; object-position:center; }
.catalog-grid .family-card .product-placeholder { min-height:0; padding-top:2.25rem; background:transparent; color:#409ed8; transition:transform .4s; }
.catalog-grid .family-card .product-placeholder .px { --s:.875rem; --g:.25rem; color:#409ed8; }
.catalog-grid .family-card:hover .product-placeholder { transform:scale(1.08); }
.catalog-grid .family-card .card-head { position:absolute; z-index:1; top:.875rem; left:.875rem; right:.875rem; margin:0; }
.catalog-grid .family-card .card-head>span { background:#fff!important; border-color:#fff!important; color:#091f3d!important; }
.catalog-grid .family-card .card-more,.catalog-grid .family-card:hover .card-head .card-more { background:#409ed8; color:#fff; }
.catalog-grid .family-card .product-copy { padding:1.25rem 1.25rem 1rem; }
.catalog-grid .family-card .product-copy h3 { font-size:var(--fs-h3); letter-spacing:-.025em; }
.catalog-grid .family-card .card-actions { margin:0 1.25rem 1.25rem; padding-top:.875rem; border-top:1px solid #e3e9f0; }
.catalog-grid .family-card .card-actions a.card-go { width:100%; height:auto; justify-content:space-between; padding:0!important; border:0!important; background:transparent!important; color:#091f3d!important; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.catalog-grid .family-card .card-actions a.card-go span { width:2.25rem; height:2.25rem; display:grid; place-items:center; background:#091f3d; color:#fff; font:var(--fs-body) Sora,sans-serif; transform:none!important; transition:background-color .2s; }
/* Hover: la card resta chiara, si solleva, bordo e freccia blu, titolo sottolineato. */
.catalog-grid .family-card:hover { background:#fff!important; color:inherit; border-color:#409ed8!important; }
.catalog-grid .family-card:hover :is(h3,.product-copy small) { color:#091f3d; }
.catalog-grid .family-card:hover .product-copy small { color:#4d5a6c; }
.catalog-grid .family-card:hover .card-kicker { color:#2b7cb3; }
.catalog-grid .family-card:hover .card-desc { color:#4d5a6c; }
.catalog-grid .family-card:hover .card-actions { border-color:#e3e9f0; }
.catalog-grid .family-card:hover .card-actions a.card-go span { background:#409ed8; }
@media(max-width:600px){ .catalog-grid .family-card .product-copy { padding:.875rem .875rem .75rem; } .catalog-grid .family-card .card-actions { margin:0 .875rem .875rem; } .catalog-grid .family-card .product-copy h3 { font-size:var(--fs-h3); } .catalog-grid .family-card .card-head { top:.5rem; left:.5rem; right:.5rem; } .catalog-grid .family-card .card-more { display:none; } }

/* Card di famiglia: "Apri la categoria" in una fascia blu scuro a tutta larghezza in fondo. */
.catalog-grid .family-card .card-actions { margin:auto 0 0!important; padding:0!important; border:0!important; }
.catalog-grid .family-card .card-actions a.card-go { min-height:3.25rem; padding:0 1.25rem!important; background:#091f3d!important; color:#fff!important; transition:background-color .2s; }
.catalog-grid .family-card .card-actions a.card-go span { width:auto; height:auto; background:transparent!important; font-size:var(--fs-lead); transition:transform .2s!important; }
.catalog-grid .family-card:hover .card-actions a.card-go { background:#409ed8!important; }
.catalog-grid .family-card:hover .card-actions a.card-go span { transform:translateX(4px)!important; }
@media(max-width:600px){ .catalog-grid .family-card .card-actions a.card-go { min-height:2.75rem; padding:0 .875rem!important; } }

/* Scheda famiglia: testata blu scuro diversa da quella del singolo codice (niente disponibilità né precedente/successiva). */
.fam-hero { position:relative; overflow:hidden; padding:4rem 0; background:linear-gradient(135deg,#0f2d55 0%,#091f3d 65%); color:#fff; }
.fam-hero__px { position:absolute; right:-1rem; bottom:-1.5rem; --s:1.25rem; --g:.375rem; color:#409ed8; opacity:.35; }
.fam-hero__in { position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:4rem; align-items:center; }
.fam-hero__meta { display:inline-flex; align-items:center; gap:.625rem; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#8cc8ec; }
.fam-hero__meta::before { content:''; width:.5rem; height:.5rem; background:#409ed8; }
.fam-hero h1 { margin:1.25rem 0 1.25rem; color:#fff; font-size:var(--fs-display); font-weight:500; letter-spacing:-.045em; line-height:1; }
.fam-hero__tags { display:flex; flex-wrap:wrap; gap:.375rem; margin-bottom:1.5rem; }
.fam-hero__tags span { display:inline-flex; align-items:center; height:1.875rem; padding:0 .75rem; border:1px solid #ffffff40; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#c4d2e4; }
.fam-hero__tags .fam-hero__code { background:#fff; border-color:#fff; color:#091f3d; }
.fam-hero p { max-width:58ch; margin:0; font-size:var(--fs-body)!important; line-height:var(--lh-text)!important; color:#c4d2e4; }
.fam-hero__actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:2rem; }
.fam-btn { display:inline-flex; align-items:center; gap:.875rem; min-height:3rem; padding:0 1.25rem; border:1px solid #ffffff66; color:#fff; text-decoration:none; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; transition:background-color .2s,border-color .2s,color .2s; }
.fam-btn:hover { background:#fff; border-color:#fff; color:#091f3d; }
.fam-btn--primary { background:#409ed8; border-color:#409ed8; }
.fam-btn--primary:hover { background:#fff; border-color:#fff; color:#091f3d; }
.fam-hero__media { aspect-ratio:4/3; display:grid; place-items:center; border:1px solid #ffffff26; background:#ffffff0d; overflow:hidden; }
.fam-hero__media img { width:100%; height:100%; object-fit:contain; background:#fff; }
.fam-hero__ph .px { --s:1rem; --g:.3125rem; color:#409ed8; }
@media(max-width:900px){ .fam-hero { padding:2.5rem 0; } .fam-hero__in { grid-template-columns:1fr; gap:2rem; } .fam-hero__media { aspect-ratio:16/9; } }
@media(max-width:600px){ .fam-hero h1 { font-size:var(--fs-h2); } .fam-hero p { font-size:var(--fs-body)!important; } .fam-btn { width:100%; justify-content:space-between; } }

/* Scheda famiglia: immagine come fascia a tutta larghezza sopra il titolo. */
.fam-hero { padding:0 0 3.5rem; }
.fam-hero__band { height:clamp(200px,26vw,380px); display:grid; place-items:center; overflow:hidden; border-bottom:1px solid #ffffff1f; background:radial-gradient(ellipse at 50% 60%,#14396b 0%,#0b2546 70%); }
.fam-hero__band { position:relative; }
.fam-hero__band img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; }
.fam-hero__band .px { --s:1.125rem; --g:.375rem; color:#409ed8; }
.fam-hero__in { grid-template-columns:1fr; gap:0; padding-top:2.5rem; }
.fam-hero__media { display:none; }
@media(max-width:600px){ .fam-hero__band .px { --s:.625rem; --g:.25rem; } .fam-hero__in { padding-top:1.75rem; } }

/* Testata di macro e sezioni (fam-hero--cat): descrizione visibile, tag in alto. */
.fam-hero--cat .fam-hero__tags:empty { display:none; }
.fam-hero--cat p { margin-top:.25rem; }
.catalog-section#catalogo { scroll-margin-top:var(--chrome-h,7rem); }
.fam-hero--cat+.catalog-section { padding-top:3rem!important; }
.fam-hero__abbr { color:#409ed8; }
/* Sigla della macrocategoria (DAQ…) prima del nome nel mega menu Prodotti. */
.mega-abbr { font-style:normal; color:#409ed8; }
.mega-tabs button:is(:hover,:focus-visible,[aria-selected=true]) .mega-abbr { color:#091f3d; }

/* Scheda famiglia: descrizione con attacco in evidenza. */
.fam-desc { max-width:62rem; padding-left:2rem; border-left:3px solid #409ed8; }
.fam-desc p { margin:0 0 1rem; font-size:var(--fs-body)!important; line-height:var(--lh-text)!important; color:#3d4b5e; }
.fam-desc p:first-child { font-size:var(--fs-h3)!important; line-height:var(--lh-text)!important; letter-spacing:-.01em; color:#091f3d; }
.fam-desc p:last-child { margin-bottom:0; }
/* Specifiche: tabelle più leggere, titolo a etichetta. */
.fam-specs .elad-table { margin-bottom:1.5rem; }
.fam-specs .elad-table:last-child { margin-bottom:0; }
.fam-specs .elad-table__title { display:inline-flex; align-items:center; gap:.5rem; margin:0 0 .75rem; color:#091f3d; }
.fam-specs .elad-table__title::before { content:''; width:.5rem; height:.5rem; background:#409ed8; }
.fam-specs .elad-table__scroll { border:1px solid #d5dde7; }
.fam-specs .elad-table thead th { background:#eef2f6; color:#4d5a6c; border-bottom:1px solid #d5dde7; }
.fam-specs .elad-table tbody tr:nth-child(even) { background:transparent; }
.fam-specs .elad-table tbody tr:hover { background:#f4f8fc; }
.fam-specs .elad-table tbody th { font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#091f3d; }
/* Codici d'ordine: righe a griglia, codice in fascia blu, cuore a destra. */
.code-group { margin-bottom:2.5rem; }
.code-group:last-child { margin-bottom:0; }
.code-group__title { display:inline-flex; align-items:center; gap:.5rem; margin:0 0 .5rem; font:500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#091f3d; }
.code-group__title::before { content:''; width:.5rem; height:.5rem; background:#409ed8; }
.code-group__note { max-width:70ch; margin:0 0 1rem; font-size:var(--fs-small)!important; color:#4d5a6c; }
.code-list { display:grid; gap:.5rem; }
.code-list__head,.code-row { display:grid; grid-template-columns:var(--codew,16.5rem) repeat(var(--cols),minmax(0,1fr)) 3.5rem; align-items:stretch; }
.code-row__code span { white-space:nowrap; }
.code-list__head span { padding:0 1rem .25rem; font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#66768b; }
.code-list__head span:first-child { padding-left:1.25rem; }
.code-row { background:#fff; border:1px solid #d5dde7; transition:border-color .2s,box-shadow .2s,transform .2s; }
.code-row:hover { border-color:#409ed8; box-shadow:0 10px 24px -18px #091f3d99; transform:translateY(-1px); }
.code-row__code { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:1rem 1.25rem; background:#091f3d; color:#fff; text-decoration:none; font:500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.03em; transition:background-color .2s; text-transform:uppercase; }
.code-row__code i { font-style:normal; font-family:Sora,sans-serif; font-size:var(--fs-body); color:#8cc8ec; transition:transform .2s,color .2s; }
.code-row__code:hover,.code-row:hover .code-row__code { background:#409ed8; }
.code-row:hover .code-row__code i { color:#fff; transform:translateX(3px); }
.code-row__cell { display:flex; align-items:center; padding:.875rem 1rem; font-size:var(--fs-small); line-height:var(--lh-text); color:#091f3d; border-left:1px solid #eef2f6; }
.code-row__act { display:grid; place-items:center; border-left:1px solid #eef2f6; }
.code-row .save-product { position:static; top:auto; right:auto; border-radius:0; width:2.25rem; height:2.25rem; display:grid; place-items:center; padding:0; border:1px solid #409ed8; background:#fff; color:#409ed8; cursor:pointer; transition:background-color .2s,color .2s; }
.code-row .save-product:hover { background:#409ed8; color:#fff; }
.code-row .save-product[aria-pressed=true] { background:#409ed8; color:#fff; }
.code-row .save-product .ico-heart { width:14px; height:13px; }
.code-row.is-current { border-color:#409ed8; box-shadow:inset 0 0 0 1px #409ed8; }
.code-row.is-current .code-row__code { background:#409ed8; }
@media(max-width:900px){
 .code-list__head { display:none; }
 .code-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .code-row__code { grid-column:1/-1; }
 .code-row__cell { flex-direction:column; align-items:flex-start; gap:.25rem; border-left:0; border-top:1px solid #eef2f6; }
 .code-row__cell::before { content:attr(data-label); font:500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#66768b; }
 .code-row__act { grid-column:1/-1; justify-items:end; padding:.5rem 1rem; border-left:0; border-top:1px solid #eef2f6; }
 .fam-desc { padding-left:1.25rem; }
}
/* Sezioni a tutta larghezza (specifiche, codici, caratteristiche, download): titolo e testo sopra, contenuto sotto. */
@media(min-width:901px){
 body[data-page=prodotto] :is(#specifiche,#codici,#caratteristiche,#documentazione).pd-row { grid-template-columns:1fr!important; gap:1.75rem; }
 body[data-page=prodotto] :is(#specifiche,#codici,#caratteristiche,#documentazione) .pd-label { display:block; }
 body[data-page=prodotto] :is(#specifiche,#codici,#caratteristiche,#documentazione) .pd-label p { max-width:70ch; margin:.75rem 0 0; text-align:left; }
}
/* Intestazioni delle colonne dei codici: stessi margini delle celle. */
.code-list__head { margin-bottom:.125rem; border-bottom:1px solid #d5dde7; }
.code-list__head span { display:flex; align-items:flex-end; padding:.75rem 1rem .75rem; line-height:1.3; }
.code-list__head span:first-child { padding-left:1.25rem; }
/* Fascia con foto: fondo chiaro neutro a tutta larghezza, la foto si fonde col fondo (niente rettangolo sul blu). */
.fam-hero__band--img { background:#f6f6f6; border-bottom:0; }
.fam-hero__band--img img { padding:1.5rem 0; box-sizing:border-box; }
/* Torna al riquadro immagine a destra (niente fascia sopra). */
.fam-hero { padding:4rem 0; }
.fam-hero__in { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:4rem; padding-top:0; }
.fam-hero__media { position:relative; display:grid; aspect-ratio:4/3; place-items:center; border:1px solid #ffffff26; background:#ffffff0d; overflow:hidden; }
.fam-hero__media img { position:absolute; inset:0; width:100%; height:100%; padding:1.25rem; box-sizing:border-box; object-fit:contain; object-position:center; background:transparent; }
.fam-hero__media--img { border-color:transparent; }
@media(max-width:900px){ .fam-hero { padding:2.5rem 0; } .fam-hero__in { grid-template-columns:1fr; gap:2rem; } .fam-hero__media { aspect-ratio:16/9; } }
/* Testata divisa in due: testo a sinistra, immagine a tutta altezza fino al bordo destro (niente riquadro). */
.fam-hero { padding:0; }
.fam-hero__in { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; align-items:stretch; padding-right:0!important; min-height:30rem; }
.fam-hero__txt { align-self:center; padding:4rem 3rem 4rem 0; }
.fam-hero__media { aspect-ratio:auto; min-height:100%; border:0!important; background:#0f2d55; }
.fam-hero__media img { padding:2.5rem; }
@media(max-width:900px){
 .fam-hero__in { grid-template-columns:1fr; min-height:0; padding-left:0!important; }
 .fam-hero__txt { padding:2.5rem var(--gutter) 2rem; }
 .fam-hero__media { aspect-ratio:16/10; min-height:0; order:-1; }
 .fam-hero__media img { padding:1.25rem; }
}
/* Testata a metà esatte dello schermo: sinistra blu, destra colore della foto; contenuti dentro la larghezza massima. */
.fam-hero { --fam-media-bg:#0f2d55; background:linear-gradient(90deg,#0b2546 0,#091f3d 50%,var(--fam-media-bg) 50%); }
.fam-hero__in { padding-right:var(--gutter)!important; }
.fam-hero__media { background:transparent!important; }
.fam-hero__media img { padding:2.5rem 0 2.5rem 3rem; }
@media(max-width:900px){
 .fam-hero { background:#091f3d; }
 .fam-hero__in { padding-right:0!important; }
 .fam-hero__media { background:var(--fam-media-bg)!important; }
 .fam-hero__media img { padding:1.25rem; }
}

/* Mobile: niente scorrimento orizzontale (i pixel dei segnaposto uscivano di qualche px) */
html, body { overflow-x: clip; }
.catalog-grid .family-card .product-picture, .fam-hero, .fam-hero__media { overflow: hidden; }
@media (max-width: 600px) {
  .catalog-grid .family-card .product-placeholder .px { --s: .5rem; --g: .1875rem; }
  .fam-hero__media { transition: background-color .2s; }
}

/* Mobile: riquadro immagine (o pixel segnaposto centrati) a tutta larghezza sopra il testo, testo con spaziatura uniforme */
@media (max-width: 900px) {
  .fam-hero__media { position: relative; display: grid !important; place-items: center; width: 100%; height: auto; aspect-ratio: 16/10; min-height: 0; align-self: auto; }
  .fam-hero__ph { position: absolute; inset: 0; display: grid; place-items: center; }
  .fam-hero__txt { padding: 2.5rem var(--gutter) !important; }
  .fam-hero__txt > :first-child { margin-top: 0 !important; }
  .fam-hero__txt > :last-child { margin-bottom: 0 !important; }
}

/* Titolo della testata categorie/famiglie uguale agli h1 delle altre pagine (.page-heading) */
body main .fam-hero h1 { margin: 0 0 2rem !important; font-size: var(--fs-display) !important; line-height: 1 !important; font-weight: 500 !important; letter-spacing: -.045em !important; }
body main .fam-hero__txt > p { font-size: var(--fs-lead) !important; line-height: var(--lh-text) !important; max-width: 44rem; }
@media (max-width: 600px) { body main .fam-hero h1 { margin-bottom: 1.5rem !important; } body main .fam-hero__txt > p { font-size: var(--fs-body) !important; } }

/* Codici d'ordine su mobile: linee continue (griglia con gap di 1px), l'ultimo valore dispari occupa tutta la riga */
@media (max-width: 900px) {
  .code-row { gap: 1px; background: #eef2f6; }
  .code-row__cell, .code-row__act { border: 0 !important; background: #fff; }
  .code-row__cell:nth-last-child(2):nth-child(even) { grid-column: 1 / -1; }
}

/* Pagina del codice d'ordine: senza immagine, testata a colonna unica */
.pd-hero--code { grid-template-columns: 1fr !important; }
.pd-hero--code .pd-info { max-width: none; }

/* Pagina codice: niente padding laterale nel blocco info */
body main .pd-hero--code .pd-info { padding-left: 0 !important; padding-right: 0 !important; }
/* Prodotto con galleria (es. SDR): blocco info con padding uniforme accanto alla foto */
body main .pd-hero:not(.pd-hero--code) .pd-info { padding: 3rem 3rem 3rem 3.5rem !important; }
@media (max-width: 900px) { body main .pd-hero:not(.pd-hero--code) .pd-info { padding: 2rem 0 !important; } }
/* Bottone "Acquista sullo shop" verde anche sopra gli stili generali dei pulsanti */
.pd-actions .pd-btn.pd-btn-shop { background: #23a35a !important; border-color: #23a35a !important; color: #fff !important; }
.pd-actions .pd-btn.pd-btn-shop:hover { background: #17663a !important; border-color: #17663a !important; color: #fff !important; }

/* Tabelle nome|valore: etichetta e valore allineati al centro della riga */
.elad-table--kv tbody :is(th,td) { vertical-align: middle; line-height: var(--lh-text); }
.elad-table--spec tbody :is(th,td) { vertical-align: middle; }

/* Caratteristiche del codice: stesso stile delle tabelle specifiche della famiglia */
.elad-table--kv .elad-table__scroll, .elad-table--kv:not(:has(.elad-table__scroll)) { border: 1px solid #d5dde7; }
.elad-table--kv tbody tr:nth-child(even) { background: transparent; }
.elad-table--kv tbody tr:hover { background: #f4f8fc; }
.elad-table--kv tbody th { font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #091f3d; }

/* Codice disponibile sullo shop: evidenza solo nella voce Disponibilità */

/* Bottone "Acquista sullo shop" (solo codici disponibili online) */
.pd-actions .pd-btn-shop { background: #23a35a; border-color: #23a35a; color: #fff; }
.pd-actions .pd-btn-shop:hover { background: #17663a; border-color: #17663a; color: #fff; }

/* Galleria del codice d'ordine (campo ACF product_gallery) */
.pd-media--gallery { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem; }
.pd-gallery__main { display:block; width:100%; max-width:440px; padding:0; border:0; background:none; cursor:zoom-in; }
.pd-gallery__main img { display:block; width:100%; aspect-ratio:1; object-fit:contain; mix-blend-mode:multiply; }
.pd-gallery__thumbs { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; }
.pd-gallery__thumb { width:4rem; height:4rem; padding:.25rem; border:1px solid #c5cfdb; background:#fff; cursor:pointer; transition:border-color .2s; }
.pd-gallery__thumb img { width:100%; height:100%; object-fit:contain; }
.pd-gallery__thumb:hover { border-color:#409ed8; }
.pd-gallery__thumb[aria-pressed=true] { border-color:#409ed8; box-shadow:inset 0 0 0 1px #409ed8; }
.pd-lightbox { width:100vw; height:100vh; max-width:none; max-height:none; margin:0; padding:3rem 4.5rem; border:0; background:#091f3df2; }
.pd-lightbox[open] { display:grid; place-items:center; }
.pd-lightbox::backdrop { background:transparent; }
.pd-lightbox img { max-width:100%; max-height:calc(100vh - 6rem); object-fit:contain; background:#fff; }
.pd-lightbox__close, .pd-lightbox__nav { position:absolute; display:grid; place-items:center; width:2.75rem; height:2.75rem; border:1px solid #ffffff4d; background:#091f3d; color:#fff; font-size:var(--fs-lead); cursor:pointer; transition:background-color .2s; }
.pd-lightbox__close:hover, .pd-lightbox__nav:hover { background:#409ed8; border-color:#409ed8; }
.pd-lightbox__close { top:1rem; right:1rem; font-size:var(--fs-h3); }
.pd-lightbox__prev { left:1rem; top:50%; transform:translateY(-50%); }
.pd-lightbox__next { right:1rem; top:50%; transform:translateY(-50%); }
.pd-lightbox.is-single .pd-lightbox__nav { display:none; }
@media (max-width:600px) { .pd-lightbox { padding:4rem 1rem; } .pd-lightbox__prev, .pd-lightbox__next { top:auto; bottom:1rem; transform:none; } .pd-gallery__thumb { width:3.25rem; height:3.25rem; } }

/* Card prodotto (macrocategorie diverse da DAQ): foto su bianco, azioni apri / shop / cuore */
.catalog-grid .product-card--item .product-picture { background: #fff; border-bottom: 1px solid #e3e9f0; }
.catalog-grid .product-card--item .product-picture img { object-fit: contain; padding: 1.25rem; box-sizing: border-box; transition: transform .4s; }
.catalog-grid .product-card--item:hover .product-picture img { transform: scale(1.04); }
.catalog-grid .product-card--item .card-head > span { background: #091f3d !important; border-color: #091f3d !important; color: #fff !important; }
.catalog-grid .product-card--item .card-actions { display: flex; gap: .375rem; }
.catalog-grid .product-card--item .card-actions a.card-go { flex: 1; width: auto; }
.catalog-grid .product-card--item .card-actions a.card-shop { width: auto; height: 2.25rem; padding: 0 .75rem; background: #23a35a; border-color: #23a35a; }
.catalog-grid .product-card--item .card-actions a.card-shop:hover { background: #17663a; border-color: #17663a; }
.catalog-grid .product-card--item .card-actions .save-product { width: 2.25rem; height: 2.25rem; }
.pd-products { margin-top: 0; }
.pd-row .pd-products { min-width: 0; grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr)) !important; }
.catalog-grid .product-card--item .card-actions { align-items: stretch; }
.catalog-grid .product-card--item .card-actions a.card-shop, .catalog-grid .product-card--item .card-actions .save-product { height: auto; min-height: 2.25rem; }
.catalog-grid .product-card--item .card-actions .save-product { width: 2.75rem; }

/* Card prodotto: pulsanti attaccati, senza spazio tra loro */
.catalog-grid .product-card--item .card-actions { gap: 0 !important; }
.catalog-grid .product-card--item .card-actions > * { margin: 0 !important; }

/* Foto che riempiono il riquadro: card prodotto e galleria del singolo prodotto */
.catalog-grid .product-card--item .product-picture img { object-fit: cover !important; padding: 0 !important; }
.pd-media.pd-media--gallery { padding: 0 !important; gap: 0; justify-content: flex-start; align-items: stretch; min-height: 0; }
.pd-media--gallery .pd-gallery__main { max-width: none; width: 100%; flex: 1 1 auto; position: relative; min-height: 22rem; }
.pd-media--gallery .pd-gallery__main img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none !important; aspect-ratio: auto; object-fit: cover; mix-blend-mode: normal; }
.pd-media--gallery .pd-gallery__thumbs { justify-content: flex-start; padding: .75rem; gap: .5rem; background: #fff; border-top: 1px solid #d5dde7; }
.pd-media--gallery .pd-gallery__thumb img { object-fit: cover; }
.pd-media--gallery .pd-tag { z-index: 1; }
@media (max-width: 900px) { .pd-media--gallery .pd-gallery__main { min-height: 0; aspect-ratio: 4/3; } }

/* Mega menu prodotti: spazio sotto il titolo, nessuna cella vuota grigia, card dispari a tutta riga */
.mega-index .mega-panel > h3 { margin-bottom: 1.5rem !important; }
.mega-index .mega-panel > h3 + p { margin-top: -.75rem; margin-bottom: 1.5rem; }
.mega-shell .sub-links { background: #c5cfdb; align-content: start; }
.mega-shell .sub-links::after { display: none !important; }
.mega-index .sub-links > a:last-child:nth-child(odd) { grid-column: 1 / -1; }
.mega-index .sub-links a { padding: 1.25rem 4.5rem 1.25rem 1.5rem !important; }
@media (max-width: 600px) { .mega-index .sub-links a { padding: 1rem 3.75rem 1rem 1.125rem !important; } }

/* Descrizione del prodotto: tutti i paragrafi uguali (niente primo paragrafo più grande o grigio) */
#descrizione .pd-lead.entry-content :is(p, li) { font-size: var(--fs-body) !important; line-height: var(--lh-text) !important; color: var(--ink) !important; letter-spacing: 0; }
#descrizione .pd-lead.entry-content p { margin: 0 0 1rem; }
#descrizione .pd-lead.entry-content > :last-child { margin-bottom: 0; }
#descrizione .pd-lead.entry-content h3 { margin: 2rem 0 .75rem; font-size: var(--fs-h3); }
#descrizione .pd-lead.entry-content > h3:first-child { margin-top: 0; }
#descrizione .pd-lead.entry-content ul { margin: 0 0 1rem; padding-left: 1.25rem; }
@media (max-width: 600px) { #descrizione .pd-lead.entry-content :is(p, li) { font-size: var(--fs-body) !important; } }

/* Area download: gruppi nella pagina prodotto e pagina Download a cartelle */
.dl-box { display: grid; gap: .75rem; min-width: 0; }
.dl-search input { width: 100%; height: 3rem; padding: 0 1rem; border: 1px solid #c5cfdb; background: #fff; font: var(--fs-body) Sora, sans-serif; color: #091f3d; }
.dl-search input:focus { outline: 2px solid #409ed8; outline-offset: -2px; }
.dl-group { background: #fff; border: 1px solid #d5dde7; }
.dl-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none; font: 500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #091f3d; }
.dl-group > summary::-webkit-details-marker { display: none; }
.dl-group > summary::after { content: '+'; display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border: 1px solid #c5cfdb; font: var(--fs-body) Sora, sans-serif; transition: background-color .2s, color .2s; }
.dl-group[open] > summary::after { content: '−'; background: #091f3d; border-color: #091f3d; color: #fff; }
.dl-group > summary i { margin-left: auto; font-style: normal; color: #66768b; }
.dl-group > summary:hover { background: #f4f8fc; }
.dl-list { list-style: none; margin: 0; padding: 0; }
.dl-group .dl-list { border-top: 1px solid #e3e9f0; }
.dl-row + .dl-row { border-top: 1px solid #eef2f6; }
.dl-row a { display: grid; grid-template-columns: minmax(0, 1fr) auto 2.25rem; align-items: center; gap: 1rem; padding: .875rem 1.25rem; color: #091f3d; text-decoration: none; transition: background-color .2s; }
.dl-row a:hover { background: #f4f8fc; }
.dl-row__txt { display: grid; gap: .125rem; min-width: 0; }
.dl-row__txt b { font-weight: 500; font-size: var(--fs-body); line-height: var(--lh-text); overflow-wrap: anywhere; }
.dl-row__txt small { font: var(--fs-label)/1.4 'Space Grotesk',system-ui,sans-serif; color: #66768b; overflow-wrap: anywhere; text-transform:uppercase; }
.dl-row__meta { display: flex; align-items: center; gap: .375rem; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; color: #4d5a6c; white-space: nowrap; text-transform:uppercase; }
.dl-row__meta i { font-style: normal; color: #b9c4d2; }
.dl-lang { padding: .125rem .375rem; background: #e4f1fa; color: #2b7cb3; font-weight: 500; }
.dl-row__go { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid #409ed8; color: #409ed8; transition: background-color .2s, color .2s; }
.dl-row a:hover .dl-row__go { background: #409ed8; color: #fff; }
.dl-all { margin: .25rem 0 0; font-size: var(--fs-small); color: #4d5a6c; }
.dl-all a { color: #2b7cb3; }
.dl-page { display: grid; gap: 1rem; }
.dl-up { justify-self: start; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #2b7cb3; text-decoration: none; }
.dl-folders { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 1px; background: #d5dde7; border: 1px solid #d5dde7; }
.dl-folders a { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: .875rem; align-items: center; height: 100%; padding: 1rem 1.25rem; background: #fff; color: #091f3d; text-decoration: none; transition: background-color .2s, color .2s; }
.dl-folders a:hover { background: #091f3d; color: #fff; }
.dl-folders b { font-weight: 500; font-size: var(--fs-body); overflow-wrap: anywhere; }
.dl-folders small { grid-column: 2; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; color: #66768b; text-transform:uppercase; }
.dl-folders a:hover small { color: #8cc8ec; }
.dl-folders i { grid-row: 1 / 3; grid-column: 3; font-style: normal; color: #409ed8; }
.dl-ico { grid-row: 1 / 3; width: 1.25rem; height: 1rem; background: #409ed8; clip-path: polygon(0 0, 40% 0, 50% 18%, 100% 18%, 100% 100%, 0 100%); }
.dl-list--page { background: #fff; border: 1px solid #d5dde7; }
.dl-empty { color: #4d5a6c; }
@media (max-width: 700px) {
  .dl-row a { grid-template-columns: minmax(0, 1fr) 2.25rem; padding: .875rem 1rem; }
  .dl-row__meta { grid-column: 1; grid-row: 2; flex-wrap: wrap; white-space: normal; }
  .dl-row__go { grid-column: 2; grid-row: 1 / 3; }
  .dl-group > summary { padding: .875rem 1rem; }
}

/* Area download: celle cartelle senza fondo grigio nei posti vuoti */
.dl-folders { gap: 0; background: transparent; border: 0; border-top: 1px solid #d5dde7; border-left: 1px solid #d5dde7; }
.dl-folders li { border-right: 1px solid #d5dde7; border-bottom: 1px solid #d5dde7; }

/* Mega menu prodotti: voce "Area download" in fondo alla colonna delle categorie */
.mega-index .mega-tabs__dl { margin-top: auto; display: grid; grid-template-columns: 1fr 32px; grid-template-rows: auto auto; align-items: center; column-gap: .75rem; padding: 1.25rem 1.5rem; border-top: 1px solid #ffffff24; color: #fff; text-decoration: none; transition: background-color .15s; }
.mega-index .mega-tabs__dl span { font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #8cc8ec; }
.mega-index .mega-tabs__dl small { grid-column: 1; font-size: var(--fs-small); color: #ffffffb3; }
.mega-index .mega-tabs__dl i { grid-column: 2; grid-row: 1 / 3; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #ffffff40; font-style: normal; font-size: var(--fs-body); color: #fff; transition: background-color .15s, color .15s; }
.mega-index .mega-tabs__dl:is(:hover, :focus-visible) { background: #409ed8; }
.mega-index .mega-tabs__dl:is(:hover, :focus-visible) span { color: #fff; }
.mega-index .mega-tabs__dl:is(:hover, :focus-visible) i { background: #fff; border-color: #fff; color: #091f3d; }
@media (max-width: 600px) { .mega-index .mega-tabs__dl { grid-column: 1 / -1; margin-top: 0; padding: 1rem; } }

/* Mega menu prodotti: sigla in colonna fissa, il nome va a capo allineato */
.mega-index .mega-tabs button > b { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); align-items: baseline; }
.mega-index .mega-tabs button > b .mega-abbr { margin-right: 0; }
@media (max-width: 900px) { .mega-index .mega-tabs button > b { grid-template-columns: 2.75rem minmax(0, 1fr); } }
.mega-index .mega-tabs button { column-gap: .75rem; }
.mega-index .mega-tabs button > b { grid-template-columns: 2.75rem minmax(0, 1fr); }

/* Card a tutta riga solo nel mega menu prodotti (2 colonne); negli altri pannelli la griglia resta normale */
.mega-index .sub-links > a:last-child:nth-child(odd) { grid-column: auto; }
#mega-products .sub-links > a:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Pagina Download: elenco a righe come un file manager */
.dl-explorer { background: #fff; border: 1px solid #d5dde7; }
.dl-ex__head, .dl-ex__row { display: grid; grid-template-columns: minmax(0, 1fr) 7rem 7.5rem 7rem 2.25rem; align-items: center; gap: 1rem; padding: 0 1.25rem; }
.dl-ex__head { min-height: 2.75rem; border-bottom: 1px solid #d5dde7; background: #eef2f6; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #4d5a6c; }
.dl-ex__row { min-height: 3.25rem; padding-top: .5rem; padding-bottom: .5rem; border-bottom: 1px solid #eef2f6; color: #091f3d; text-decoration: none; font-size: var(--fs-small); transition: background-color .15s; }
.dl-ex__row:last-child { border-bottom: 0; }
.dl-ex__row > span:not(.dl-ex__name):not(.dl-ex__go) { font: var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; color: #4d5a6c; white-space: nowrap; text-transform:uppercase; }
.dl-ex__row:is(a):hover { background: #e4f1fa; }
.dl-ex__name { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); column-gap: .75rem; align-items: center; min-width: 0; }
.dl-ex__name b { font-weight: 500; font-size: var(--fs-body); overflow-wrap: anywhere; }
.dl-ex__name small { grid-column: 2; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; color: #66768b; overflow-wrap: anywhere; text-transform:uppercase; }
.dl-ex__name .dl-lang { font-style: normal; font-size: var(--fs-xs); margin-left: .25rem; vertical-align: 1px; }
.dl-ex__ico { grid-row: 1 / 3; width: 1.5rem; height: 1.25rem; display: block; }
.dl-ex__ico--dir { background: #409ed8; clip-path: polygon(0 0, 40% 0, 50% 18%, 100% 18%, 100% 100%, 0 100%); }
.dl-ex__ico--up { background: #b9c4d2; clip-path: polygon(0 0, 40% 0, 50% 18%, 100% 18%, 100% 100%, 0 100%); }
.dl-ex__ico--file { width: 1.25rem; height: 1.5rem; margin-left: .125rem; background: #eef2f6; border: 1px solid #b9c4d2; position: relative; }
.dl-ex__ico--file::after { content: attr(data-ext); position: absolute; left: -.25rem; bottom: .125rem; padding: 0 .125rem; background: #091f3d; color: #fff; font: 600 var(--fs-label)/1.3 'Space Grotesk',system-ui,sans-serif; letter-spacing: .02em; text-transform:uppercase; }
.dl-ex__go { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; color: #409ed8; font-size: var(--fs-body); }
.dl-ex__row--file .dl-ex__go { border: 1px solid #409ed8; }
.dl-ex__row--file:hover .dl-ex__go { background: #409ed8; color: #fff; }
.dl-ex__row--up b { color: #66768b; }
.dl-ex__row--empty { color: #4d5a6c; }
@media (max-width: 800px) {
  .dl-ex__head { display: none; }
  .dl-ex__row { grid-template-columns: minmax(0, 1fr) auto 2.25rem; padding: .625rem 1rem; gap: .25rem .75rem; }
  .dl-ex__row > span:nth-child(2), .dl-ex__row > span:nth-child(4) { display: none; }
}

/* Download nella pagina prodotto: cartelle come nel file manager, sottocartelle apribili */
.dl-explorer--product + .dl-explorer--product { margin-top: .25rem; }
.dl-ex__title { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: .75rem; align-items: center; padding: 1rem 1.25rem; background: #091f3d; color: #fff; }
.dl-ex__title .dl-ex__ico { grid-row: 1 / 3; background: #8cc8ec; }
.dl-ex__title b { font-weight: 500; font-size: var(--fs-body); }
.dl-ex__title small { grid-column: 2; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; color: #8cc8ec; overflow-wrap: anywhere; text-transform:uppercase; }
.dl-ex__title a { grid-column: 3; grid-row: 1 / 3; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #fff; text-decoration: none; border: 1px solid #ffffff4d; padding: .5rem .75rem; transition: background-color .15s; }
.dl-ex__title a:hover { background: #409ed8; border-color: #409ed8; }
.dl-ex__dir > summary { list-style: none; cursor: pointer; }
.dl-ex__dir > summary::-webkit-details-marker { display: none; }
.dl-ex__dir > summary:hover { background: #e4f1fa; }
.dl-ex__dir[open] > summary { background: #f4f8fc; }
.dl-ex__dir[open] > summary .dl-ex__go { font-size: 0; }
.dl-ex__dir[open] > summary .dl-ex__go::after { content: '−'; font-size: var(--fs-body); }
.dl-ex__dir > summary .dl-ex__go { border: 1px solid #c5cfdb; color: #091f3d; }
.dl-ex__sub { border-left: 2px solid #409ed8; margin-left: 1.25rem; }
.dl-ex__sub .dl-ex__row { padding-left: 1rem; }
.dl-nores { margin: 0; color: #4d5a6c; }
@media (max-width: 800px) {
  .dl-ex__title { grid-template-columns: 1.5rem minmax(0, 1fr); }
  .dl-ex__title a { grid-column: 1 / -1; grid-row: auto; justify-self: start; margin-top: .75rem; }
  .dl-ex__sub { margin-left: .5rem; }
}

/* Area download: colonna Versione, niente riga secondaria sotto il nome */
.dl-ex__head, .dl-ex__row { grid-template-columns: minmax(0, 1fr) 6.5rem 5rem 6.5rem 6.5rem 2.25rem; }
.dl-ex__row--up small { display: block; }
@media (max-width: 800px) {
  .dl-ex__row { grid-template-columns: minmax(0, 1fr) auto 2.25rem; }
  .dl-ex__row > span:nth-child(3), .dl-ex__row > span:nth-child(5) { display: none; }
  .dl-ex__row > span:nth-child(2) { display: none; }
}
/* Supporto: link esterni con freccia obliqua, Area download con freccia dritta */
#mega-support .sub-links a[target=_blank]::after { content: '\2197\FE0E' !important; }

/* Colonna fissa per la sigla solo nel mega menu Prodotti (negli altri pannelli il testo resta normale) */
.mega-index .mega-tabs button > b { display: block; }
#mega-products .mega-tabs button > b { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); align-items: baseline; }

/* Pannelli a schede (2 colonne): l'ultima card dispari occupa la riga intera, niente cella grigia */
.mega-index:not(.mega-compact) .sub-links > a:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Supporto: "Area download" a tutta larghezza, sotto le altre card, in blu scuro */
.mega-compact .sub-links:has(> a[href*="/download"]) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.mega-compact .sub-links > a[href*="/download"] { grid-column: 1 / -1 !important; order: 99 !important; background: #091f3d !important; color: #fff !important; }
.mega-compact .sub-links > a[href*="/download"] span { color: #fff !important; }
.mega-compact .sub-links > a[href*="/download"] small { color: #8cc8ec !important; }
.mega-compact .sub-links > a[href*="/download"]::after { content: '↓' !important; background: #409ed8 !important; border-color: #409ed8 !important; color: #fff !important; }
.mega-compact .sub-links > a[href*="/download"]:hover { background: #2b7cb3 !important; }
.mega-compact .sub-links > a[href*="/download"]:hover::after { background: #fff !important; border-color: #fff !important; color: #2b7cb3 !important; }
@media (max-width: 900px) { .mega-compact .sub-links:has(> a[href*="/download"]) { grid-template-columns: minmax(0, 1fr) !important; } }

/* Mega Prodotti: piu spazio tra sigla e nome */
#mega-products .mega-tabs button > b { grid-template-columns: 2.5em minmax(0, 1fr) !important; column-gap: .625rem !important; }
@media (min-width: 901px) and (max-width: 1320px) { #mega-products .mega-tabs button > b { font-size: var(--fs-body); } #mega-products .mega-tabs button { padding-left: 1.25rem; padding-right: 1.25rem; } }

/* Mega Prodotti: sottocategorie in colonna (box) + immagine accanto */
#mega-products .mega-split { display: grid; grid-template-columns: minmax(0, 26rem) minmax(0, 1fr); gap: 2rem; align-items: stretch; }
#mega-products .mega-split--noimg { grid-template-columns: minmax(0, 1fr); }
#mega-products .mega-split .sub-links { grid-template-columns: minmax(0, 1fr) !important; align-content: start; }
#mega-products .mega-split .sub-links > a { grid-column: auto !important; }
#mega-products .mega-media { margin: 0; display: grid; place-items: center; min-height: 14rem; background: #fff; border: 1px solid #d5dde7; overflow: hidden; }
#mega-products .mega-media img { width: 100%; height: 100%; max-height: 26rem; object-fit: contain; padding: 1.5rem; transition: opacity .12s; }
#mega-products .mega-media img.is-fading { opacity: 0; }
@media (max-width: 900px) { #mega-products .mega-split { grid-template-columns: minmax(0, 1fr); } #mega-products .mega-media { display: none; } }
#mega-products .mega-split .sub-links > a { min-height: 0 !important; padding-top: .8rem !important; padding-bottom: .8rem !important; }
#mega-products .mega-split .sub-links > a::after { width: 2rem !important; height: 2rem !important; }
#mega-products .mega-media { min-height: 0; background: #eceff2; }
#mega-products .mega-media img { position: absolute; inset: 0; max-height: none; padding: 0; object-fit: cover; }
#mega-products .mega-media { position: relative; }

/* Mega Prodotti: senza note, immagine con altezza minima */
#mega-products .mega-media { min-height: 20rem; }
#mega-products .mega-split .sub-links { align-self: start; }

/* Testate categoria/prodotto: immagine che riempie il riquadro dentro i limiti del sito, fondo destro sempre blu scuro */
.fam-hero { --fam-media-bg: #0f2d55 !important; background: linear-gradient(90deg, #0b2546 0, #091f3d 50%, #0f2d55 50%) !important; }
.fam-hero__media, .fam-hero__media--img { background: #0f2d55 !important; }
.fam-hero__media img, .fam-hero__band img { padding: 0 !important; object-fit: cover !important; object-position: center !important; }
@media (max-width: 900px) { .fam-hero { background: #091f3d !important; } }

/* Mega Prodotti: immagine un po' più alta, più aria sopra la linea divisoria */
#mega-products .mega-media { min-height: 23rem; }
#mega-products .mega-split { margin-bottom: 2rem; }
#mega-products .mega-foot { padding-top: 1.75rem !important; }

/* Mega Prodotti: sottocategorie a righe (solo linee divisorie, freccia piccola) */
#mega-products .mega-split .sub-links { gap: 0 !important; background: transparent !important; border: 0 !important; border-top: 1px solid #d5dde7 !important; }
#mega-products .mega-split .sub-links > a { background: transparent !important; border: 0 !important; border-bottom: 1px solid #d5dde7 !important; padding: .9rem 1.25rem .9rem .25rem !important; min-height: 0 !important; transition: background-color .2s, padding-left .2s; }
#mega-products .mega-split .sub-links > a span { font-size: var(--fs-body); font-weight: 400; }
#mega-products .mega-split .sub-links > a::after { width: 1.75rem !important; height: 1.75rem !important; font-size: var(--fs-small) !important; }
#mega-products .mega-split .sub-links > a:hover { background: #ffffff99 !important; padding-left: .75rem !important; }

/* Tutti i mega menu: voci a righe come in Prodotti (linee divisorie, freccia piccola) */
.mega-index .sub-links { gap: 0 2rem !important; background: transparent !important; border: 0 !important; align-content: start; }
.mega-index .sub-links > a { background: transparent !important; border: 0 !important; border-top: 1px solid #d5dde7 !important; border-bottom: 1px solid #d5dde7 !important; margin-bottom: -1px; padding: .9rem 1.25rem .9rem .25rem !important; min-height: 0 !important; transition: background-color .2s, padding-left .2s; }
.mega-index .sub-links > a span { font-size: var(--fs-body); font-weight: 400; }
.mega-index .sub-links > a::after { width: 1.75rem !important; height: 1.75rem !important; font-size: var(--fs-small) !important; }
.mega-index .sub-links > a:hover { background: #ffffff99 !important; padding-left: .75rem !important; }
/* Supporto: "Area download" resta barra blu scuro */
.mega-compact .sub-links > a[href*="/download"] { background: #091f3d !important; padding-left: 1.25rem !important; margin-top: 1rem; border: 0 !important; }
.mega-compact .sub-links > a[href*="/download"]:hover { background: #2b7cb3 !important; }

/* Wishlist: titolo Sales più largo, card contatto in evidenza, niente eyebrow/immagine */
.wl-sales-head { display: block !important; }
.wl-sales-head > div { max-width: 52rem; }
.wl-sales-head h2 { max-width: none !important; }
.wl-sales-head p { max-width: 44rem !important; }
.wl-contact--card { display: grid !important; gap: 0 !important; padding: 2rem !important; background: #091f3d !important; border: 0 !important; color: #fff; }
.wl-contact--card > b { font: 500 var(--fs-h3)/1.25 Sora, sans-serif; color: #fff; }
.wl-contact--card > p { margin: .625rem 0 1.5rem !important; font-size: var(--fs-body); line-height: var(--lh-text); color: #b7c6d8; }
.wl-contact__row { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) 2rem; align-items: center; gap: .875rem; padding: 1rem 0; border-top: 1px solid #ffffff26; color: #fff !important; text-decoration: none !important; font-size: var(--fs-body); transition: color .2s, padding-left .2s; }
.wl-contact__row:last-child { border-bottom: 1px solid #ffffff26; }
.wl-contact__row svg { color: #409ed8; }
.wl-contact__row i { display: grid; place-items: center; width: 2rem; height: 2rem; background: #409ed8; color: #fff; font-style: normal; transition: background-color .2s, color .2s; }
.wl-contact__row:hover { color: #8cc8ec !important; padding-left: .375rem; }
.wl-contact__row:hover i { background: #fff; color: #091f3d; }
.wl-aside .wl-includes { margin-top: 1.5rem !important; }
.wl-aside .wl-contact.wl-contact--card { grid-template-columns: minmax(0, 1fr) !important; align-items: stretch !important; }
.wl-aside .wl-contact--card > * { grid-column: 1 !important; }
.wl-aside .wl-contact--card > p { font: var(--fs-body)/var(--lh-text) Sora, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; color: #b7c6d8 !important; }
.wl-aside .wl-contact--card .wl-contact__row { display: grid !important; grid-template-columns: 1.25rem minmax(0, 1fr) 2rem !important; font: var(--fs-body) Sora, sans-serif !important; }
.wl-aside .wl-contact--card .wl-contact__row + .wl-contact__row { border-top: 1px solid #ffffff26; }

/* Wishlist: titolo a sinistra, card a destra, form a piena larghezza sotto */
.wl-sales .wl-sales-head { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 30rem); gap: 3rem; align-items: center; }
.wl-sales .wl-sales-grid { display: block !important; grid-template-columns: none !important; }
.wl-sales .wl-sales-grid > * { max-width: none !important; width: 100%; }
.wl-sales-head .wl-contact.wl-contact--card { grid-template-columns: minmax(0, 1fr) !important; align-items: stretch !important; margin: 0; }
.wl-sales-head .wl-contact--card > * { grid-column: 1 !important; }
.wl-sales-head .wl-contact--card > b { font: 500 var(--fs-h3)/1.25 Sora, sans-serif !important; color: #fff !important; }
.wl-sales-head .wl-contact--card > p { margin: .625rem 0 1.5rem !important; max-width: none !important; font: var(--fs-body)/var(--lh-text) Sora, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; color: #b7c6d8 !important; }
.wl-sales-head .wl-contact--card .wl-contact__row { display: grid !important; grid-template-columns: 1.25rem minmax(0, 1fr) 2rem !important; font: var(--fs-body) Sora, sans-serif !important; }
.wl-sales-head .wl-contact--card .wl-contact__row + .wl-contact__row { border-top: 1px solid #ffffff26; }
@media (max-width: 900px) { .wl-sales .wl-sales-head { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } }

/* Mega menu a righe: hover leggibile (testo blu, sfondo chiaro) */
.mega-index .sub-links > a:not([href*="/download"]):is(:hover, :focus-visible) { background: #fff !important; color: #091f3d !important; }
.mega-index .sub-links > a:not([href*="/download"]):is(:hover, :focus-visible) span { color: #2b7cb3 !important; }
.mega-index .sub-links > a:not([href*="/download"]):is(:hover, :focus-visible) small { color: #66768b !important; }
.mega-index .sub-links > a:not([href*="/download"]):is(:hover, :focus-visible)::after { background: #409ed8 !important; border-color: #409ed8 !important; color: #fff !important; }

/* Home, settori: con la pagina Settori in bozza le card non sono link (niente hover) */
body[data-page=home] .sector-strip a:not([href]) { cursor: default; }
body[data-page=home] .sector-strip a:not([href]):hover { background: #fff !important; color: inherit !important; }
body[data-page=home] .sector-strip a:not([href]):hover * { color: inherit; }

/* ---------- Notizie ed eventi (2.5.0) ---------- */
.nv-card h3 a { color: inherit; text-decoration: none; }
.nv-card h3 a::after { content: ''; position: absolute; inset: 0; }
.nv-card { position: relative; }
.nv-card .nv-link { position: relative; z-index: 1; pointer-events: none; }
.nv-card:hover h3 a { color: #2b7cb3; }
.nv-card--feature:hover h3 a { color: #8cc8ec; }
.nv-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.nv-grid--3 .nv-card h3 { margin-top: 2rem; }
.nv-empty { color: #4d5a6c; }
.ev-all { margin: 1.5rem 0 0; }
.ev-card h3 a { color: inherit; text-decoration: none; }
.ev-card h3 a:hover { color: #2b7cb3; }
.ev-booth { margin: .25rem 0 0 !important; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif !important; letter-spacing: .08em; text-transform: uppercase; color: #2b7cb3 !important; }
.ev-list--past .ev-card { opacity: .8; }

/* Notizia singola */
.nw-hero { position: relative; padding-top: clamp(2.5rem, 5vw, 4.5rem); padding-bottom: 2.5rem; }
.nw-hero .px--heading { position: absolute; top: 2.5rem; right: 0; }
.nw-meta { display: flex; align-items: center; gap: .875rem; margin-bottom: 1.5rem; }
.nw-meta time { font: var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .112em; text-transform: uppercase; color: #4d5a6c; }
.nw-hero h1 { max-width: 22ch; margin: 0; font-size: var(--fs-display); font-weight: 500; line-height: 1.04; letter-spacing: -.045em; color: #091f3d; }
.nw-lead { max-width: 46rem; margin: 1.5rem 0 0; font-size: var(--fs-h3); line-height: var(--lh-text); color: #4d5a6c; }
.nw-cover { margin: 0 auto 3rem; }
.nw-cover img { display: block; width: 100%; height: auto; max-height: 34rem; object-fit: cover; background: #e3e9f0; }
.nw-body { display: grid; grid-template-columns: 16rem minmax(0, 46rem); gap: clamp(2rem, 5vw, 5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.nw-body--solo { grid-template-columns: minmax(0, 46rem); }
.nw-aside { align-self: start; position: sticky; top: 7rem; display: grid; gap: 1.5rem; }
.nw-aside dl { margin: 0; border-top: 1px solid #d5dde7; }
.nw-aside dl > div { display: grid; gap: .25rem; padding: .875rem 0; border-bottom: 1px solid #d5dde7; }
.nw-aside dt, .evx-facts dt { font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .112em; text-transform: uppercase; color: #66768b; }
.nw-aside dd, .evx-facts dd { margin: 0; font-size: var(--fs-body); color: #091f3d; }
.nw-cta { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.25rem; background: #091f3d; color: #fff !important; text-decoration: none !important; font: 500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; transition: background-color .2s; }
.nw-cta:hover { background: #2b7cb3; }
.nw-share { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font-size: var(--fs-small); }
.nw-share span { width: 100%; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .112em; text-transform: uppercase; color: #66768b; }
.nw-share a, .nw-share button { padding: 0; border: 0; background: none; font: inherit; color: #2b7cb3; cursor: pointer; text-decoration: none; }
.nw-share a:hover, .nw-share button:hover { color: #091f3d; }
.nw-back { font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #4d5a6c; text-decoration: none; }
.nw-back:hover { color: #2b7cb3; }
.nw-content { font-size: var(--fs-body); line-height: var(--lh-text); color: #253246; }
.nw-content > :first-child { margin-top: 0; }
.nw-content h2 { margin: 2.5rem 0 1rem; font-size: var(--fs-h3); font-weight: 500; letter-spacing: -.03em; color: #091f3d; }
.nw-content h3 { margin: 2rem 0 .75rem; font-size: var(--fs-h3); font-weight: 500; color: #091f3d; }
.nw-content p, .nw-content ul, .nw-content ol { margin: 0 0 1.25rem; }
.nw-content a { color: #2b7cb3; }
.nw-content img { max-width: 100%; height: auto; }
.nw-content blockquote { margin: 2rem 0; padding: .25rem 0 .25rem 1.5rem; border-left: 3px solid #409ed8; font-size: var(--fs-h3); color: #091f3d; }
.nw-content figure { margin: 2rem 0; }
.nw-content figcaption { margin-top: .5rem; font-size: var(--fs-small); color: #66768b; }
.nw-products { padding-top: 0; }
.nw-more .section-title { margin-bottom: 2rem; }

/* Evento singolo */
.evx-hero { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); padding-top: clamp(2.5rem, 5vw, 4.5rem); padding-bottom: 3rem; }
.evx-cal { align-self: start; display: grid; justify-items: center; gap: .5rem; padding: 2rem 1rem; background: #091f3d; color: #fff; text-align: center; }
.evx-cal span { font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #8cc8ec; }
.evx-cal b { font: 500 clamp(34px, 4vw, 52px)/1 Sora, sans-serif; letter-spacing: -.04em; }
.evx-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-bottom: 1.25rem; }
.evx-meta .ev-place { display: inline-flex; align-items: center; gap: .375rem; font: var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #4d5a6c; }
.evx-hero h1 { margin: 0; font-size: var(--fs-display); font-weight: 500; line-height: 1.05; letter-spacing: -.045em; color: #091f3d; }
.evx-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); margin: 2rem 0 0; border-top: 1px solid #d5dde7; }
.evx-facts > div { display: grid; gap: .25rem; padding: 1rem 1.5rem 1rem 0; border-bottom: 1px solid #d5dde7; }
.evx-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.evx-actions .fam-btn { cursor: pointer; }
.evx-hero .fam-btn:not(.fam-btn--primary) { background: transparent; color: #091f3d; border-color: #b9c4d2; }
.evx-hero .fam-btn:not(.fam-btn--primary):hover { background: #091f3d; color: #fff; border-color: #091f3d; }
.evx-hero.is-past .ev-ics, .evx-hero.is-tbd .ev-ics { display: none; }

@media (max-width: 900px) {
  .nw-body { grid-template-columns: minmax(0, 1fr); }
  .nw-aside { position: static; order: 2; }
  .nw-grid--3, .nv-grid--3 { grid-template-columns: minmax(0, 1fr) !important; }
  .evx-hero { grid-template-columns: minmax(0, 1fr); }
  .evx-cal { justify-self: start; grid-auto-flow: column; align-items: baseline; gap: .75rem; padding: 1rem 1.25rem; }
  .nw-hero .px--heading { display: none; }
}

/* Area download: collegamenti esterni (.lnk) */
.dl-ex__row--link .dl-ex__ico--file { background: #409ed8; }
.dl-ex__row--link .dl-ex__go { color: #409ed8; }

/* Notizia: card dei prodotti e delle altre notizie sempre separate (i link a tutta card restano dentro la propria card) */
.nw-products, .nw-more { position: relative; isolation: isolate; }
.nw-products .product-card, .nw-more .nv-card, .nv-grid .nv-card, .nv-more .nv-card { position: relative !important; }
.nw-hero h1 { margin-top: 0; }

/* Notizia: testata con padding 4rem sopra e sotto */
.nw-hero { padding-top: 4rem !important; padding-bottom: 4rem !important; }

/* Notizia: colonna laterale (data, categoria, link, condivisione) */
.nw-aside { gap: 1rem !important; }
.nw-aside .nw-card { background: #fff; border: 1px solid #d5dde7; }
.nw-date { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .25rem 1rem; padding: 1.5rem; border-bottom: 1px solid #e3e9f0; }
.nw-date b { font: 500 var(--fs-h2)/1 Sora, sans-serif; letter-spacing: -.05em; color: #091f3d; }
.nw-date span { font: var(--fs-label)/1.5 'Space Grotesk',system-ui,sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #4d5a6c; }
.nw-date .nv-type { grid-column: 1 / -1; justify-self: start; margin-top: .875rem; font-style: normal; background: #e4f1fa; border-color: #e4f1fa; color: #2b7cb3; }
.nw-aside .nw-cta { display: grid; grid-template-columns: minmax(0, 1fr) 2.25rem; align-items: center; gap: 1rem; margin: 0; padding: 1rem 1rem 1rem 1.5rem; background: #091f3d; border: 0; }
.nw-aside .nw-cta i { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; background: #409ed8; color: #fff; font-style: normal; transition: background-color .2s, color .2s; }
.nw-aside .nw-cta:hover { background: #0e2547; }
.nw-aside .nw-cta:hover i { background: #fff; color: #091f3d; }
.nw-aside .nw-share { display: grid; gap: .75rem; padding: 1.25rem 1.5rem 1.5rem; }
.nw-aside .nw-share > span { width: auto; }
.nw-aside .nw-share > div { display: grid; gap: 0; border-top: 1px solid #e3e9f0; }
.nw-aside .nw-share a, .nw-aside .nw-share button { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; width: 100%; padding: .75rem 0; border: 0; border-bottom: 1px solid #e3e9f0; background: none; font: var(--fs-body) Sora, sans-serif; color: #091f3d; text-align: left; cursor: pointer; text-decoration: none; transition: color .2s, padding-left .2s; }
.nw-aside .nw-share a::after, .nw-aside .nw-share button::after { content: '→'; color: #409ed8; }
.nw-aside .nw-share a[target]::after { content: '\2197\FE0E'; }
.nw-aside .nw-share b { font-weight: 400; }
.nw-aside .nw-share svg { color: #409ed8; }
.nw-aside .nw-share a:hover, .nw-aside .nw-share button:hover { color: #2b7cb3; padding-left: .25rem; }
.nw-aside .nw-share button.is-done { color: #2b7cb3; }
.nw-aside .nw-share button.is-done::after { content: '✓'; }
.nw-aside .nw-back { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.5rem; border: 1px solid #d5dde7; background: transparent; }
.nw-aside .nw-back i { font-style: normal; color: #409ed8; transition: transform .2s; }
.nw-aside .nw-back:hover { background: #fff; }
.nw-aside .nw-back:hover i { transform: translateX(-3px); }

/* Notizia: dati e pulsante come prima, condividi e "Tutte le novità" nel nuovo stile */
.nw-aside .nw-cta.nw-cta--plain { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.25rem; background: #091f3d; }
.nw-aside .nw-cta.nw-cta--plain:hover { background: #2b7cb3; }
.nw-aside { gap: 1.5rem !important; }
.nw-aside .nw-card + .nw-back { margin-top: -.5rem; }

/* Evento: stessa struttura della notizia, luogo in evidenza, niente etichette "Domani / Tra N giorni / In corso / Concluso" */
.ev-status { display: none !important; }
.evx-where { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: 1.5rem 0 0; font-size: var(--fs-h3); color: #091f3d; }
.evx-where svg { width: 22px; height: 22px; color: #409ed8; }
.evx-where b { font-weight: 500; }
.evx-where span { padding-left: 1rem; border-left: 1px solid #c5cfdb; font: var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #4d5a6c; }
.nw--event .nw-aside .ev-ics, .nw--event .nw-aside .nw-share button { display: grid !important; }
.nw--event .nw-aside.is-past .ev-ics, .nw--event .nw-aside.is-tbd .ev-ics { display: none !important; }
.evx-strip { display: grid; grid-template-columns: 9rem minmax(0, 1fr); margin-top: 2.5rem; background: #fff; border: 1px solid #d5dde7; }
.evx-strip .evx-cal { padding: 1.75rem 1rem; }
.evx-strip .evx-cal b { font-size: var(--fs-h2); }
.evx-strip__txt { padding: 1.5rem 1.75rem; }
.evx-strip__txt b { display: block; font: 500 var(--fs-h3)/1.25 Sora, sans-serif; letter-spacing: -.02em; color: #091f3d; }
.evx-strip__txt p { margin: .5rem 0 1rem !important; font-size: var(--fs-body) !important; line-height: var(--lh-text); color: #4d5a6c; }
@media (max-width: 600px) { .evx-strip { grid-template-columns: minmax(0, 1fr); } .evx-strip .evx-cal { justify-self: stretch; } }

/* Evento: "Aggiungi al calendario" come le altre righe; nascosto per eventi conclusi o senza date */
.nw--event .nw-aside .nw-share [data-ev-ics][hidden] { display: none !important; }

/* Novità: link all'archivio eventi */
.ev-archive { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .25rem 1rem; margin-top: 1.5rem; padding: 1.25rem 1.5rem; border: 1px solid #d5dde7; background: #fff; color: #091f3d; text-decoration: none; transition: background-color .2s, color .2s; }
.ev-archive span { font: 500 var(--fs-h3) Sora, sans-serif; letter-spacing: -.02em; text-transform: none; }
.ev-archive small { grid-column: 1; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #66768b; }
.ev-archive i { grid-row: 1 / 3; grid-column: 2; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; background: #091f3d; color: #fff; font-style: normal; transition: background-color .2s; }
.ev-archive:hover { background: #091f3d; color: #fff; }
.ev-archive:hover small { color: #8cc8ec; }
.ev-archive:hover i { background: #409ed8; }

/* Novità: "Archivio eventi" come pulsante blu scuro */
.ev-archive-wrap { display: flex; justify-content: flex-end; margin-top: 1.5rem; }
.ev-archive-wrap .ev-archive { display: inline-flex !important; align-items: center; gap: 1.25rem; margin: 0; padding: 0 1.5rem; min-height: 3rem; background: #091f3d; border: 0; color: #fff; font: 500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: background-color .2s; }
.ev-archive-wrap .ev-archive:hover { background: #2b7cb3; color: #fff; }

/* Eventi: anno come testo semplice sotto i giorni, senza riquadro */
.ev-cal .ev-year { align-self: flex-start; padding: 0 !important; border: 0 !important; background: none !important; font: 500 var(--fs-body) Sora, sans-serif !important; letter-spacing: -.01em !important; color: #ffffffb3 !important; }
.ev-card.is-past .ev-cal .ev-year { color: #4d5a6c !important; }

/* Niente eyebrow in tutto il sito */
.eyebrow { display: none !important; }
.sv-why__title { margin: 0 0 1.5rem; font-size: var(--fs-h3); font-weight: 500; letter-spacing: -.03em; color: inherit; }
.sv-meta b { font-weight: inherit; margin-left: .75rem; }

/* Footer: link legali separati dallo spazio */
.footer-legal { display: inline-flex; gap: 1.5rem; }

/* Home: immagine quadrata prima di ogni macrocategoria */
.elad-hero-families .elad-family-img { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; background: #dfe6ee; }
.elad-hero-families .elad-family-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.elad-hero-families a:hover .elad-family-img img { transform: scale(1.04); }
.elad-hero-families .elad-family-img + .elad-family-code { margin-top: 1.25rem !important; }

/* Home: immagine delle categorie a filo della card, fascia "Categorie prodotti" in blu ELAD */
.elad-hero-families a { padding-top: 0 !important; }
.elad-hero-families .elad-family-img { width: auto; margin: 0 -24px; }
.hero-cats-head { background: #409ed8 !important; }
.hero-cats-head h2 { color: #fff !important; }
.hero-cats-head .text-link { background: #091f3d !important; border-color: #091f3d !important; color: #fff !important; }
.hero-cats-head .text-link:hover { background: #fff !important; border-color: #fff !important; color: #091f3d !important; }
.fullscreen-hero .elad-hero-families a:first-child, .fullscreen-hero .elad-hero-families a { padding-top: 0 !important; }
body .fullscreen-hero .hero-cats-head a.text-link { background: #091f3d !important; border-color: #091f3d !important; color: #fff !important; }
body .fullscreen-hero .hero-cats-head a.text-link:hover { background: #fff !important; border-color: #fff !important; color: #091f3d !important; }

/* Home: sezione Novità con 4rem solo sopra */
body[data-page=home] main > .section.home-news { padding-top: 4rem !important; padding-bottom: 0 !important; }

/* "Acquire excellence": excellence in corsivo, spaziatura più stretta (hero e footer) */
#hero-title { letter-spacing: -.075em !important; }
#hero-title span, .footer-signature em { font-style: italic; letter-spacing: -.075em; padding-right: .06em; }
.footer-signature > span:first-child { letter-spacing: -.055em !important; }
.footer-signature em { letter-spacing: -.055em; }

/* Home, Novità: hover delle righe (sfondo bianco, titolo blu, freccia in riquadro), senza spostare il contenuto */
.hn-list a { padding-left: 1rem !important; padding-right: 1rem !important; align-items: center !important; transition: background-color .2s, color .2s; }
.hn-list .hn-title { transition: color .2s; }
.hn-list .hn-arrow { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid transparent; transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.hn-list a:hover { background: #fff !important; padding-left: 1rem !important; padding-right: 1rem !important; }
.hn-list a:hover .hn-title { color: #2b7cb3; }
.hn-list a:hover .hn-arrow { background: #091f3d; border-color: #091f3d; color: #fff !important; transform: none !important; }

/* Home: prodotti su misura e servizi (fascia blu scuro) v2 */
body[data-page=home] main > .section.hcx { padding-top: 5rem !important; padding-bottom: 5rem !important; margin-top: 4rem; background: #091f3d; color: #fff; }
.hcx .hcx-top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem 5rem; align-items: start; margin-bottom: 3rem; }
.hcx .hcx-top h2 { margin: 0; font-size: var(--fs-display); font-weight: 500; line-height: 1.02; letter-spacing: -.05em; color: #fff; }
.hcx .hcx-top h2 em { color: #8cc8ec; }
.hcx .hcx-top p { margin: .5rem 0 0; font-size: var(--fs-body); line-height: var(--lh-text); color: #b7c6d8; }
.hcx .hcx-top b { font-weight: 500; color: #fff; }
.hcx .hcx-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.hcx .hcx-areas a { display: flex; flex-direction: column; align-items: flex-start; gap: .875rem; min-height: 16rem; padding: 2rem 2.25rem; background: #0f2d55; border: 1px solid #ffffff1f; color: #fff; text-decoration: none; transition: background-color .25s, border-color .25s, transform .25s; }
.hcx .hcx-px { --s: .5rem; --g: .1875rem; color: #409ed8; margin-bottom: .75rem; }
.hcx .hcx-areas b { font-size: var(--fs-h3); font-weight: 500; line-height: 1.15; letter-spacing: -.03em; }
.hcx .hcx-desc { max-width: 32rem; font-size: var(--fs-body); line-height: var(--lh-text); color: #b7c6d8; }
.hcx .hcx-more { display: inline-flex; align-items: center; gap: .875rem; margin-top: auto; padding-top: 1rem; font: 500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #8cc8ec; }
.hcx .hcx-more i { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid #ffffff33; font-style: normal; color: #fff; transition: background-color .2s, border-color .2s; }
.hcx .hcx-areas a:hover { background: #133766; border-color: #409ed8; }
.hcx .hcx-areas a:hover .hcx-more i { background: #409ed8; border-color: #409ed8; }
.hcx .hcx-caps { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid #ffffff26; }
.hcx .hcx-sub { margin: 0 0 2rem; font-size: var(--fs-h2); font-weight: 500; line-height: 1.05; letter-spacing: -.045em; color: #fff; }
.hcx .hcx-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.hcx .hcx-card { display: flex; flex-direction: column; background: #fff; color: #091f3d; overflow: hidden; }
.hcx .hcx-card figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #dfe6ee; }
.hcx .hcx-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.hcx .hcx-card:hover img { transform: scale(1.05); }
.hcx .hcx-card__txt { padding: 1.5rem 1.5rem 1.75rem; }
.hcx .hcx-card h4 { margin: 0 0 .5rem; font-size: var(--fs-h3); font-weight: 500; letter-spacing: -.025em; color: #091f3d; }
.hcx .hcx-card p { margin: 0; font-size: var(--fs-body); line-height: var(--lh-text); color: #4d5a6c; }
.hcx .hcx-btn { display: flex; align-items: stretch; justify-content: space-between; min-height: 4rem; margin-top: 3rem; background: #409ed8; color: #fff !important; text-decoration: none !important; font: 500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .16em; text-transform: uppercase; transition: background-color .2s; }
.hcx .hcx-btn span { display: flex; align-items: center; padding: 0 2rem; }
.hcx .hcx-btn i { display: grid; place-items: center; width: 5rem; background: #ffffff26; font-style: normal; font-size: var(--fs-h3); transition: background-color .2s, color .2s; }
.hcx .hcx-btn:hover { background: #2b7cb3; }
.hcx .hcx-btn:hover i { background: #fff; color: #091f3d; }
@media (max-width: 900px) {
  .hcx .hcx-top, .hcx .hcx-areas, .hcx .hcx-cards { grid-template-columns: minmax(0, 1fr); }
  .hcx .hcx-areas a { min-height: 0; padding: 1.75rem; }
  body[data-page=home] main > .section.hcx { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
}

/* Home, fascia servizi v3: card bianche con pulsante, capacità più grandi con immagine quadrata, pulsante come gli altri */
body[data-page=home] main > .section.hcx { margin-top: 0 !important; padding-top: 4rem !important; padding-bottom: 4rem !important; }
.hcx .hcx-areas a { background: #fff !important; border-color: #fff !important; color: #091f3d !important; }
.hcx .hcx-areas b { color: #091f3d; }
.hcx .hcx-desc { color: #4d5a6c !important; }
.hcx .hcx-more { display: inline-flex; align-items: center; gap: 1rem; min-height: 3rem; margin-top: auto; padding: 0 0 0 1.5rem !important; background: #091f3d; color: #fff !important; font: 600 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif !important; letter-spacing: .112em !important; transition: background-color .2s; text-transform:uppercase !important; }
.hcx .hcx-more i { align-self: stretch; width: 3rem !important; height: auto !important; border: 0 !important; background: #409ed8; color: #fff; }
.hcx .hcx-areas a:hover { background: #f4f8fc !important; border-color: #409ed8 !important; }
.hcx .hcx-areas a:hover .hcx-more { background: #2b7cb3; }
.hcx .hcx-areas a:hover .hcx-more i { background: #fff !important; color: #091f3d; }
.hcx .hcx-sub { font-size: var(--fs-display) !important; letter-spacing: -.05em !important; margin-bottom: 2.25rem !important; }
.hcx .hcx-card figure { aspect-ratio: 1 / 1 !important; }
.hcx .hcx-card__txt { padding: 1.75rem 1.75rem 2rem !important; }
.hcx .hcx-card h4 { font-size: var(--fs-h3) !important; line-height: 1.15; letter-spacing: -.03em !important; margin-bottom: .75rem !important; }
.hcx .hcx-card p { font-size: var(--fs-body) !important; line-height: var(--lh-text) !important; }
.hcx .hcx-btn { display: inline-flex !important; justify-content: flex-start !important; gap: .75rem; min-height: 0 !important; height: 48px; margin-top: 2.5rem !important; padding: 12px 24px !important; font: 600 var(--fs-mono)/1.2 'Space Grotesk',system-ui,sans-serif !important; letter-spacing: .112em !important; text-transform:uppercase !important; }
.hcx .hcx-btn span { padding: 0 !important; }
.hcx .hcx-btn i { width: auto !important; background: none !important; font-size: var(--fs-body) !important; }
.hcx .hcx-btn:hover i { background: none !important; color: #fff !important; transform: translateX(3px); }

/* Home, fascia servizi v4 */
.hcx .hcx-cards { gap: 0 !important; background: #fff; }
.hcx .hcx-card + .hcx-card { border-left: 1px solid #d5dde7; }
.hcx .hcx-card__txt { padding: 1.25rem 1.5rem 1.5rem !important; }
.hcx .hcx-card h4 { margin: 0 0 1rem !important; padding-bottom: 1rem; border-bottom: 1px solid #d5dde7; }
.hcx .hcx-top p, .hcx .hcx-desc, .hcx .hcx-card p { font-size: var(--fs-body) !important; line-height: var(--lh-text) !important; }
.hcx .hcx-card p { color: #4d5a6c !important; }
.hcx .hcx-btn { display: flex !important; justify-content: space-between !important; width: 100%; }

/* Capacità interne: di nuovo spazio tra le card */
.hcx .hcx-cards { gap: 1.5rem !important; background: none !important; }
.hcx .hcx-card + .hcx-card { border-left: 0 !important; }

/* Testi: interlinea unica */
p, li, dd, figcaption { line-height: var(--lh-text); }
/* Ultime etichette ricondotte alla scala */
.footer h4, main dt, main button > span { font-size: var(--fs-label); }
.pd-jump a, .pd-jump a i { font-size: var(--fs-mono) !important; }
.hero-scroll { font-size: var(--fs-small) !important; }

/* Card del catalogo: più respiro tra i testi e linea prima della descrizione */
.catalog-grid .family-card .card-kicker { margin-bottom: .625rem; }
.catalog-grid .family-card .product-copy h3 + small { margin-top: .625rem; }
.catalog-grid .product-card .card-desc { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid #dfe6ee; }
.catalog-grid .product-card--item .card-desc { font-size: var(--fs-small); line-height: var(--lh-text); color: #4d5a6c; }

/* Home, lista novità: categoria come etichetta */
.hn-list .hn-type { justify-self: start; padding: .375rem .625rem; background: #e4f1fa; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .112em; text-transform: uppercase; color: #2b7cb3; transition: background-color .2s, color .2s; }
.hn-list a:hover .hn-type { background: #2b7cb3; color: #fff; }

/* Home: "Prodotti su misura e servizi" su fondo chiaro, "Capacità interne" nella fascia scura */
body[data-page=home] main > .section.hcx--light { background: transparent; color: var(--ink); padding-top: 4rem !important; padding-bottom: 4rem !important; }
.hcx--light .hcx-top h2 { color: #091f3d; }
.hcx--light .hcx-top h2 em { color: #2b7cb3; }
.hcx--light .hcx-top p { color: #4d5a6c; }
.hcx--light .hcx-top b { color: #091f3d; }
.hcx--light .hcx-areas a { background: #fff !important; border: 1px solid #d5dde7 !important; }
.hcx--light .hcx-areas a:hover { background: #fff !important; border-color: #409ed8 !important; box-shadow: 0 0 0 1px #409ed8; }
body[data-page=home] main > .section.hcx--dark { background: #091f3d; color: #fff; padding-top: 4rem !important; padding-bottom: 4rem !important; }
.hcx--dark .hcx-caps { margin-top: 0; padding-top: 0; border-top: 0; }
.hcx .hcx-top h2, .hcx .hcx-sub { font-size: var(--fs-h2) !important; line-height: 1.05; letter-spacing: -.04em !important; }

/* Home: "Prodotti su misura e servizi", pannello unico a due aree con flusso di lavoro */
.hcx .hcx-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: #fff; border: 1px solid #d5dde7; }
.hcx .hcx-pane { position: relative; display: flex; flex-direction: column; gap: 1rem; padding: 2.5rem 2.5rem 2.25rem; color: #091f3d; text-decoration: none; transition: background-color .25s; }
.hcx .hcx-pane + .hcx-pane { border-left: 1px solid #d5dde7; }
.hcx .hcx-pane__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1.5rem; }
.hcx .hcx-pane .hcx-px { --s: .625rem; --g: .25rem; margin: 0; color: #409ed8; transition: color .25s; }
.hcx .hcx-go { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid #d5dde7; font-size: var(--fs-body); color: #091f3d; transition: background-color .25s, border-color .25s, color .25s, transform .25s; }
.hcx .hcx-pane b { font-size: var(--fs-h3); font-weight: 500; line-height: 1.15; letter-spacing: -.03em; }
.hcx .hcx-pane .hcx-desc { max-width: 30rem; font-size: var(--fs-body); line-height: var(--lh-text); color: #4d5a6c; }
.hcx .hcx-tags { display: flex; flex-wrap: wrap; gap: .375rem; }
.hcx .hcx-tags span { padding: .375rem .625rem; background: #eef2f6; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #2f3e52; transition: background-color .25s, color .25s; }
.hcx .hcx-cta { margin-top: auto; padding-top: 1.25rem; border-top: 1px solid #e3e9f0; font: 600 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .112em; text-transform: uppercase; color: #2b7cb3; }
.hcx .hcx-pane:hover { background: #f4f8fc; }
.hcx .hcx-pane:hover .hcx-go { background: #091f3d; border-color: #091f3d; color: #fff; transform: translateX(3px); }
.hcx .hcx-pane:hover .hcx-tags span { background: #e4f1fa; color: #2b7cb3; }
.hcx .hcx-pane:hover b { color: #2b7cb3; }
.hcx .hcx-flow { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; background: #091f3d; }
.hcx .hcx-flow li { position: relative; display: flex; align-items: center; gap: .625rem; padding: 1.125rem 1.5rem; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.hcx .hcx-flow li::before { content: ''; width: .5rem; height: .5rem; background: #409ed8; flex: none; }
.hcx .hcx-flow li:not(:last-child)::after { content: '→'; position: absolute; right: 1rem; color: #ffffff59; font-size: var(--fs-small); }
.hcx .hcx-flow li:last-child { background: #409ed8; }
.hcx .hcx-flow li:last-child::before { background: #fff; }
@media (max-width: 900px) {
  .hcx .hcx-split { grid-template-columns: minmax(0, 1fr); }
  .hcx .hcx-pane { padding: 1.75rem 1.5rem; }
  .hcx .hcx-pane + .hcx-pane { border-left: 0; border-top: 1px solid #d5dde7; }
  .hcx .hcx-flow { grid-template-columns: minmax(0, 1fr); }
  .hcx .hcx-flow li:not(:last-child)::after { content: '↓'; }
}

/* Card con foto in "Prodotti su misura e servizi" */
.hcx .hcx-pane { padding: 0; gap: 0; }
.hcx .hcx-pane__img { position: relative; margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: #dfe6ee; }
.hcx .hcx-pane__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.hcx .hcx-pane:hover .hcx-pane__img img { transform: scale(1.04); }
.hcx .hcx-pane__img .hcx-go { position: absolute; top: 1rem; right: 1rem; background: #fff; border-color: #fff; }
.hcx .hcx-pane__body { display: flex; flex-direction: column; gap: 1rem; flex: 1; padding: 2rem 2.5rem 2.25rem; }
@media (max-width: 900px) { .hcx .hcx-pane { padding: 0; } .hcx .hcx-pane__body { padding: 1.5rem; } }
/* Firma del footer come prima delle variabili */
.footer-signature > span:first-child { font-size: clamp(22px, 3vw, 40px) !important; }

/* "Capacità interne" dentro "Prodotti su misura e servizi" (fondo chiaro) */
body[data-page=home] main > .section.hcx--light { padding-bottom: 4rem !important; }
.hcx--light .hcx-caps { margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid #d5dde7; }
.hcx--light .hcx-sub { margin: 0 0 1.75rem !important; font-size: var(--fs-h3) !important; line-height: 1.15; letter-spacing: -.03em !important; color: #091f3d; }
.hcx--light .hcx-card { border: 1px solid #d5dde7; }
.hcx--light .hcx-card:hover { border-color: #409ed8; }
.hcx--light .hcx-btn { background: #091f3d !important; }
.hcx--light .hcx-btn:hover { background: #2b7cb3 !important; }

/* "Capacità interne" come riga del pannello "Prodotti su misura e servizi" */
.hcx .hcx-split .hcx-caps { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); margin: 0; padding: 0; border-top: 1px solid #d5dde7; }
.hcx .hcx-split .hcx-sub { display: flex; align-items: flex-start; margin: 0 !important; padding: 2rem 2.5rem; border-right: 1px solid #d5dde7; font-size: var(--fs-h3) !important; line-height: 1.15; letter-spacing: -.03em !important; color: #091f3d; }
.hcx .hcx-split .hcx-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 !important; background: none !important; }
.hcx .hcx-split .hcx-card { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1.25rem; align-items: start; padding: 1.75rem 1.75rem; border: 0 !important; background: none; transition: background-color .25s; }
.hcx .hcx-split .hcx-card + .hcx-card { border-left: 1px solid #d5dde7 !important; }
.hcx .hcx-split .hcx-card figure { aspect-ratio: 1 / 1 !important; }
.hcx .hcx-split .hcx-card__txt { padding: 0 !important; }
.hcx .hcx-split .hcx-card h4 { margin: 0 0 .5rem !important; padding: 0; border: 0; font-size: var(--fs-body) !important; font-weight: 600; letter-spacing: -.01em !important; }
.hcx .hcx-split .hcx-card p { font-size: var(--fs-small) !important; }
.hcx .hcx-split .hcx-card:hover { background: #f4f8fc; }
.hcx .hcx-split .hcx-flow { border-top: 0; }
@media (max-width: 900px) {
  .hcx .hcx-split .hcx-caps, .hcx .hcx-split .hcx-cards { grid-template-columns: minmax(0, 1fr); }
  .hcx .hcx-split .hcx-sub { padding: 1.5rem 1.5rem .5rem; border-right: 0; }
  .hcx .hcx-split .hcx-card { padding: 1.25rem 1.5rem; }
  .hcx .hcx-split .hcx-card + .hcx-card { border-left: 0 !important; border-top: 1px solid #d5dde7 !important; }
}
.hcx .hcx-split .hcx-caps { grid-template-columns: minmax(0, 1fr); }
.hcx .hcx-split .hcx-sub { padding: 1.5rem 2.5rem; border-right: 0; border-bottom: 1px solid #d5dde7; }
.hcx .hcx-split .hcx-card { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; }
.hcx .hcx-split .hcx-card figure { aspect-ratio: 16 / 10 !important; }
.hcx .hcx-split .hcx-card__txt { padding: 1.25rem 1.75rem 1.5rem !important; }
.hcx .hcx-split .hcx-card h4 { font-size: var(--fs-h3) !important; font-weight: 500; letter-spacing: -.03em !important; margin-bottom: .625rem !important; }
@media (max-width: 900px) { .hcx .hcx-split .hcx-sub { padding: 1.25rem 1.5rem; } .hcx .hcx-split .hcx-card { padding: 0; } .hcx .hcx-split .hcx-card__txt { padding: 1.25rem 1.5rem !important; } }
.hcx .hcx-split .hcx-card figure { width: 100%; margin: 0; }

/* Sviluppo integrato e RF Lab come card separate con pulsante evidente */
.hcx .hcx-split { gap: 1.5rem; background: none; border: 0; }
.hcx .hcx-pane { background: #fff; border: 1px solid #d5dde7; }
.hcx .hcx-pane + .hcx-pane { border-left: 1px solid #d5dde7; }
.hcx .hcx-pane:hover { background: #fff; border-color: #409ed8; }
.hcx .hcx-pane__img .hcx-go { display: none; }
.hcx .hcx-cta { display: flex; align-items: stretch; justify-content: space-between; align-self: stretch; min-height: 3.25rem; margin-top: auto; padding: 0; border: 0; background: #091f3d; color: #fff; transition: background-color .2s; }
.hcx .hcx-cta > span { display: flex; align-items: center; padding: 0 1.25rem; }
.hcx .hcx-cta i { display: grid; place-items: center; width: 3.25rem; background: #409ed8; font-style: normal; font-size: var(--fs-body); transition: background-color .2s, color .2s; }
.hcx .hcx-pane__body { gap: 1rem; }
.hcx .hcx-pane .hcx-tags { margin-bottom: .75rem; }
.hcx .hcx-pane:hover .hcx-cta { background: #2b7cb3; }
.hcx .hcx-pane:hover .hcx-cta i { background: #fff; color: #091f3d; }
.hcx .hcx-split .hcx-caps { background: #fff; border: 1px solid #d5dde7; border-bottom: 0; }
.hcx .hcx-split .hcx-flow { margin-top: -1.5rem; }
@media (max-width: 900px) { .hcx .hcx-split { gap: 1rem; } .hcx .hcx-split .hcx-flow { margin-top: -1rem; } .hcx .hcx-pane + .hcx-pane { border-top: 1px solid #d5dde7; } }
.hcx .hcx-split .hcx-caps { border-bottom: 1px solid #d5dde7; }

/* Capacità interne: card separate come quelle sopra, titolo sul fondo della pagina */
.hcx .hcx-split .hcx-caps { margin-top: 1.5rem; background: none; border: 0 !important; }
.hcx .hcx-split .hcx-sub { padding: 0 0 1.25rem; border: 0; }
.hcx .hcx-split .hcx-cards { gap: 1.5rem !important; }
.hcx .hcx-split .hcx-card, .hcx .hcx-split .hcx-card + .hcx-card { background: #fff; border: 1px solid #d5dde7 !important; transition: border-color .25s; }
.hcx .hcx-split .hcx-card:hover { background: #fff; border-color: #409ed8 !important; }
@media (max-width: 900px) { .hcx .hcx-split .hcx-cards { gap: 1rem !important; } .hcx .hcx-split .hcx-sub { padding: 0 0 1rem; } }

/* "Scopri i servizi": fascia blu scuro a tutta larghezza della finestra */
body[data-page=home] main > .section.hcx--light { padding-bottom: 0 !important; overflow-x: clip; }
.hcx--light .hcx-btn { box-sizing: border-box; width: 100vw !important; max-width: none; min-height: 5.5rem !important; height: auto !important; margin: 4rem 0 0 calc(50% - 50vw) !important; padding: 0 calc(50vw - 50%) !important; align-items: center !important; font-size: var(--fs-mono) !important; }
.hcx--light .hcx-btn i { display: grid !important; place-items: center; width: 3.25rem !important; height: 3.25rem; background: #409ed8 !important; font-size: var(--fs-body) !important; }
.hcx--light .hcx-btn:hover i { background: #fff !important; color: #091f3d !important; }

/* "Prodotti su misura e servizi" v3: card fotografiche, capacità interne senza riquadri */
.hcx .hcx-pane { position: relative; min-height: 34rem; border: 0 !important; background: #091f3d !important; overflow: hidden; color: #fff; }
.hcx .hcx-pane__img { position: absolute; inset: 0; aspect-ratio: auto; background: #091f3d; }
.hcx .hcx-pane__img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #091f3d00 25%, #091f3dcc 62%, #091f3d 100%); transition: opacity .4s; }
.hcx .hcx-pane:hover .hcx-pane__img img { transform: scale(1.05); }
.hcx .hcx-pane__body { position: relative; z-index: 1; justify-content: flex-end; flex: 1; gap: .875rem; padding: 2.5rem; }
.hcx .hcx-pane b { color: #fff !important; font-size: var(--fs-h2); letter-spacing: -.04em; line-height: 1.05; }
.hcx .hcx-pane .hcx-desc { max-width: 28rem; color: #c9d6e4 !important; }
.hcx .hcx-cta { align-self: flex-start; min-height: 3rem; margin-top: 1rem; background: #fff; color: #091f3d; }
.hcx .hcx-cta > span { padding: 0 1.5rem; }
.hcx .hcx-cta i { width: 3rem; color: #fff; }
.hcx .hcx-pane:hover .hcx-cta { background: #409ed8; color: #fff; }
.hcx .hcx-pane:hover .hcx-cta i { background: #091f3d; color: #fff; }

.hcx .hcx-split .hcx-caps { margin-top: 4.5rem; }
.hcx .hcx-split .hcx-sub { padding: 0 0 1.75rem; }
.hcx .hcx-split .hcx-cards { gap: 2.5rem !important; }
.hcx .hcx-split .hcx-card, .hcx .hcx-split .hcx-card + .hcx-card, .hcx .hcx-split .hcx-card:hover { background: none !important; border: 0 !important; overflow: visible; }
.hcx .hcx-split .hcx-card figure { aspect-ratio: 4 / 3 !important; overflow: hidden; }
.hcx .hcx-split .hcx-card__txt { padding: 1.25rem 0 0 !important; }
.hcx .hcx-split .hcx-card h4 { margin: 0 0 .5rem !important; color: #091f3d; transition: color .2s; }
.hcx .hcx-split .hcx-card:hover h4 { color: #2b7cb3; }
.hcx .hcx-split .hcx-card p { color: #4d5a6c !important; max-width: 22rem; }
@media (max-width: 900px) {
  .hcx .hcx-pane { min-height: 26rem; }
  .hcx .hcx-pane__body { padding: 1.75rem 1.5rem; }
  .hcx .hcx-split .hcx-caps { margin-top: 3rem; }
  .hcx .hcx-split .hcx-cards { gap: 2rem !important; }
  .hcx .hcx-split .hcx-card__txt { padding: 1rem 0 0 !important; }
}

/* Capacità interne come base delle due card: pannello bianco che parte da dietro le card */
.hcx .hcx-split { row-gap: 0; }
.hcx .hcx-pane { z-index: 1; margin: 0 0 0; }
.hcx .hcx-split .hcx-caps { position: relative; z-index: 0; margin: -8rem 0 0 !important; padding: 10.5rem 2.5rem 2.75rem; background: #fff !important; }
.hcx .hcx-split .hcx-sub { padding: 0 0 1.5rem; }
.hcx .hcx-split .hcx-cards { gap: 2rem !important; }
@media (max-width: 900px) {
  .hcx .hcx-split { row-gap: 1rem; }
  .hcx .hcx-split .hcx-caps { margin-top: -5rem !important; padding: 6.5rem 1.5rem 2rem; }
}

/* "Scopri i servizi": fascia come "Categorie prodotti" (titolo h2 a sinistra, pulsante a destra), a tutta larghezza */
.hcx--light .hcx-band { box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; width: 100vw; margin: 4rem 0 0 calc(50% - 50vw); padding: 3rem calc(50vw - 50%); background: #091f3d; border: 0; color: #fff; }
.hcx--light .hcx-band h2 { margin: 0; color: #fff !important; }
.hcx--light .hcx-band .text-link { background: #fff !important; border-color: #fff !important; color: #091f3d !important; }
.hcx--light .hcx-band .text-link:hover { background: #409ed8 !important; border-color: #409ed8 !important; color: #fff !important; }
@media (max-width: 900px) { .hcx--light .hcx-band { padding-top: 2.25rem; padding-bottom: 2.25rem; align-items: flex-start; } }
body[data-page=home] .hcx--light .section-title.hcx-band { align-items: center !important; margin: 4rem 0 0 calc(50% - 50vw) !important; padding: 3rem calc(50vw - 50%) !important; border: 0 !important; }
@media (max-width: 900px) { body[data-page=home] .hcx--light .section-title.hcx-band { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; } }

/* Capacità interne v4: senza box, tessere fotografiche come le card sopra, titolo a sinistra */
.hcx .hcx-split .hcx-caps { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 1.5rem; margin: 1.5rem 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.hcx .hcx-split .hcx-sub { align-self: start; margin: 0 !important; padding: 1.5rem 0 0 !important; border: 0 !important; border-top: 2px solid #091f3d !important; font-size: var(--fs-h3) !important; }
.hcx .hcx-split .hcx-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem !important; }
.hcx .hcx-split .hcx-card, .hcx .hcx-split .hcx-card + .hcx-card, .hcx .hcx-split .hcx-card:hover { position: relative; display: block; aspect-ratio: 4 / 5; padding: 0; background: #091f3d !important; border: 0 !important; overflow: hidden; }
.hcx .hcx-split .hcx-card figure { position: absolute; inset: 0; width: 100%; aspect-ratio: auto !important; margin: 0; }
.hcx .hcx-split .hcx-card figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #091f3d00 30%, #091f3dd9 75%, #091f3d 100%); }
.hcx .hcx-split .hcx-card:hover img { transform: scale(1.05); }
.hcx .hcx-split .hcx-card__txt { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 1.5rem !important; }
.hcx .hcx-split .hcx-card h4, .hcx .hcx-split .hcx-card:hover h4 { margin: 0 0 .5rem !important; color: #fff !important; }
.hcx .hcx-split .hcx-card p { max-width: none; color: #c9d6e4 !important; }
@media (max-width: 900px) {
  .hcx .hcx-split .hcx-caps { grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 1rem !important; }
  .hcx .hcx-split .hcx-sub { padding-top: 1rem !important; }
  .hcx .hcx-split .hcx-cards { grid-template-columns: minmax(0, 1fr); gap: 1rem !important; }
  .hcx .hcx-split .hcx-card, .hcx .hcx-split .hcx-card + .hcx-card, .hcx .hcx-split .hcx-card:hover { aspect-ratio: 16 / 10; }
}

/* Capacità interne v5: tessere larghe su due colonne come le card sopra, la terza a tutta larghezza */
.hcx .hcx-split .hcx-caps { grid-template-columns: minmax(0, 1fr) !important; }
.hcx .hcx-split .hcx-sub { padding-top: 1.25rem !important; }
.hcx .hcx-split .hcx-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 22rem; }
.hcx .hcx-split .hcx-card, .hcx .hcx-split .hcx-card + .hcx-card, .hcx .hcx-split .hcx-card:hover { aspect-ratio: auto; }
.hcx .hcx-split .hcx-card:nth-child(3) { grid-column: 1 / -1; }
.hcx .hcx-split .hcx-card__txt { padding: 2.5rem !important; }
.hcx .hcx-split .hcx-card h4 { font-size: var(--fs-h3) !important; }
.hcx .hcx-split .hcx-card p { max-width: 30rem; font-size: var(--fs-body) !important; }
@media (max-width: 900px) {
  .hcx .hcx-split .hcx-cards { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 18rem; }
  .hcx .hcx-split .hcx-card__txt { padding: 1.5rem !important; }
}

/* Capacità interne v6: griglia 2x2, la prima cella è titolo + testo, poi le tre tessere */
.hcx .hcx-split .hcx-caps { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 22rem; gap: 1.5rem; }
.hcx .hcx-split .hcx-cards { display: contents; }
.hcx .hcx-split .hcx-card:nth-child(3) { grid-column: auto; }
.hcx .hcx-caps__intro { display: flex; flex-direction: column; justify-content: flex-end; gap: 1rem; padding: 2.5rem; border-top: 2px solid #091f3d; }
.hcx .hcx-caps__intro .hcx-sub { padding: 0 !important; border: 0 !important; font-size: var(--fs-h2) !important; line-height: 1.05; letter-spacing: -.04em !important; }
.hcx .hcx-caps__intro p { max-width: 26rem; margin: 0; font-size: var(--fs-body); line-height: var(--lh-text); color: #4d5a6c; }
@media (max-width: 900px) {
  .hcx .hcx-split .hcx-caps { grid-template-columns: minmax(0, 1fr) !important; grid-auto-rows: auto; gap: 1rem; }
  .hcx .hcx-split .hcx-card { min-height: 18rem; }
  .hcx .hcx-caps__intro { padding: 1.25rem 0 .5rem; }
}
.hcx .hcx-split .hcx-caps .hcx-caps__intro { justify-content: flex-start; padding: 1.5rem 0 0 !important; background: none; border-top: 2px solid #091f3d; }
@media (max-width: 900px) { .hcx .hcx-split .hcx-caps .hcx-caps__intro { padding: 1.25rem 0 .5rem !important; } }

/* Scheda prodotto EMC: distributori da contattare */
.pd-dist-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 1.5rem; }
@media (max-width: 600px) { .pd-dist-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; } }
.pd-dist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 700px) { .pd-dist-grid { grid-template-columns: minmax(0, 1fr); } }
.ds-tabs [data-ds-count] { font-style: normal; }

/* Distributori v2: filtri staccati dalla griglia, card separate e più caratterizzate */
.ds-tabs { margin-bottom: 2rem !important; }
.ds-grid { gap: 1.5rem; border: 0 !important; }
.ds-card { position: relative; padding: 0 !important; background: #fff !important; border: 1px solid #d5dde7 !important; transition: border-color .2s, box-shadow .2s; }
.ds-card:hover { background: #fff !important; border-color: #409ed8 !important; box-shadow: 0 0 0 1px #409ed8; }
.ds-head { gap: .75rem; padding: 1rem 1.5rem; background: #091f3d; }
.ds-country { color: #fff; font-size: var(--fs-mono); }
.ds-type { border-color: #ffffff4d; color: #c9d6e4; }
.ds-card h3 { margin: 1.5rem 1.5rem .625rem !important; }
.ds-addr { margin: 0 1.5rem 1.25rem; }
.ds-fams { gap: .375rem; margin: 0 1.5rem 1.5rem; }
.ds-fams li { padding: .4375rem .75rem; background: #eef2f6; color: #2f3e52; transition: background-color .2s, color .2s; }
.ds-grid[data-filter="DAQ"] .ds-fams li[data-f="DAQ"], .ds-grid[data-filter="EMC"] .ds-fams li[data-f="EMC"],
.ds-grid[data-filter="RF"] .ds-fams li[data-f="RF"], .ds-grid[data-filter="SDR"] .ds-fams li[data-f="SDR"] { background: #091f3d; color: #fff; }
.ds-links { margin: auto 0 0 !important; border: 0 !important; border-top: 1px solid #d5dde7 !important; }
.ds-link { min-height: 3.5rem; }
.ds-link span { padding-left: .25rem; }
.ds-fill { min-height: 0; border: 1px dashed #b9c4d2 !important; }
@media (max-width: 600px) { .ds-grid { gap: 1rem; } .ds-tabs { margin-bottom: 1.25rem !important; } }
.ds-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 600px) { .ds-grid { grid-template-columns: minmax(0, 1fr) !important; } }

/* Distributori: bandiera accanto al paese */
.ds-country { display: inline-flex; align-items: center; gap: .625rem; }
.ds-flag { display: block; flex: none; width: 1.5rem; height: 1rem; object-fit: cover; box-shadow: 0 0 0 1px #ffffff40; }

/* Servizi: due riquadri (Qualità, R&D) dopo la rimozione di Elad USA */
.sv-facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 700px) { .sv-facts { grid-template-columns: minmax(0, 1fr) !important; } }

/* Eventi: bandiera del paese al posto del segnaposto */
.ev-flag { display: inline-block; flex: none; width: 1.375rem; height: .9375rem; box-shadow: 0 0 0 1px #d5dde7; vertical-align: -2px; }
.evx-where .ev-flag { width: 2rem; height: 1.375rem; }
.ev-card:hover .ev-flag { box-shadow: 0 0 0 1px #ffffff40; }
.nw-aside .ev-where-dd { display: flex; align-items: flex-start; gap: .625rem; }
.nw-aside .ev-where-dd .ev-flag { margin-top: .1875rem; }

/* Eventi: data e titolo della card alla stessa misura intermedia, più spazio a sinistra del luogo */
.ev-card .ev-cal b { font-size: var(--fs-title) !important; }
.ev-card .ev-body h3 { font-size: var(--fs-title) !important; line-height: 1.1; }
.ev-card .ev-place { padding-left: .75rem; }
@media (max-width: 900px) { .ev-card .ev-cal b, .ev-card .ev-body h3 { font-size: var(--fs-h3) !important; } }

/* Pagina Novità: notizie su due colonne, senza riquadri, con linea blu sopra */
body[data-page=novita] :is(.nv-grid, .nv-more) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 3rem 3rem; border: 0 !important; }
body[data-page=novita] .nv-more:not(:empty) { margin-top: 3rem; }
body[data-page=novita] .nv-card { padding: 1.5rem 0 0 !important; background: none !important; border: 0 !important; border-top: 2px solid #409ed8 !important; box-shadow: none !important; color: #091f3d; }
body[data-page=novita] .nv-card h3 { margin: 1.75rem 0 .75rem !important; font-size: var(--fs-title) !important; line-height: 1.1; }
body[data-page=novita] .nv-card p { max-width: 36rem; font-size: var(--fs-body); color: #4d5a6c; }
body[data-page=novita] .nv-card:hover { background: none !important; color: #091f3d; box-shadow: none !important; border-top-color: #091f3d !important; }
body[data-page=novita] .nv-card:hover h3, body[data-page=novita] .nv-card:hover h3 a { color: #2b7cb3; }
body[data-page=novita] .nv-card:hover p { color: #4d5a6c; }
body[data-page=novita] .nv-card:hover .nv-top time { color: #4d5a6c; }
body[data-page=novita] .nv-card:hover .nv-type { border-color: #b9c4d2; color: #2f3e52; }
body[data-page=novita] .nv-card:hover .nv-link { color: #091f3d; border-color: #d5dde7; }
body[data-page=novita] .nv-card:hover .nv-link span { background: #091f3d; border-color: #091f3d; color: #fff; }
@media (max-width: 700px) { body[data-page=novita] :is(.nv-grid, .nv-more) { grid-template-columns: minmax(0, 1fr) !important; gap: 2.25rem; } }
/* Novità: card più compatte e ben separate (niente seconda linea interna) */
body[data-page=novita] :is(.nv-grid, .nv-more) { row-gap: 4rem !important; }
body[data-page=novita] .nv-card { padding-top: 1.25rem !important; }
body[data-page=novita] .nv-card h3 { margin: 1rem 0 .5rem !important; }
body[data-page=novita] .nv-card p { margin: 0 0 1.25rem; }
body[data-page=novita] .nv-card .nv-link, body[data-page=novita] .nv-card:hover .nv-link { margin-top: auto; padding-top: 0 !important; border-top: 0 !important; }
/* Novità: riga tra titolo e testo, "Leggi la notizia" in fascia blu scuro */
body[data-page=novita] .nv-card h3 { padding-bottom: .875rem; border-bottom: 1px solid #d5dde7; margin-bottom: .875rem !important; }
body[data-page=novita] .nv-card .nv-link, body[data-page=novita] .nv-card:hover .nv-link { align-items: stretch; min-height: 3rem; padding: 0 0 0 1.25rem !important; background: #091f3d; color: #fff; transition: background-color .2s; }
body[data-page=novita] .nv-card .nv-link { display: flex; align-items: center; }
body[data-page=novita] .nv-card .nv-link span { align-self: stretch; width: 3rem; height: auto; border: 0; background: #409ed8; color: #fff; }
body[data-page=novita] .nv-card:hover .nv-link { background: #2b7cb3; color: #fff; }
body[data-page=novita] .nv-card:hover .nv-link span { background: #fff; border: 0; color: #091f3d; transform: none; }
/* Novità: ogni notizia in un riquadro bianco separato */
body[data-page=novita] :is(.nv-grid, .nv-more) { gap: 1.5rem !important; }
body[data-page=novita] .nv-more:not(:empty) { margin-top: 1.5rem; }
body[data-page=novita] .nv-card, body[data-page=novita] .nv-card:hover { padding: 1.5rem 1.75rem 0 !important; background: #fff !important; border: 1px solid #d5dde7 !important; border-top: 3px solid #409ed8 !important; }
body[data-page=novita] .nv-card:hover { border-color: #409ed8 !important; }
body[data-page=novita] .nv-card .nv-link, body[data-page=novita] .nv-card:hover .nv-link { margin: auto -1.75rem 0 !important; padding-left: 1.75rem !important; }
@media (max-width: 700px) { body[data-page=novita] :is(.nv-grid, .nv-more) { gap: 1rem !important; } body[data-page=novita] .nv-card, body[data-page=novita] .nv-card:hover { padding: 1.25rem 1.25rem 0 !important; } body[data-page=novita] .nv-card .nv-link, body[data-page=novita] .nv-card:hover .nv-link { margin: auto -1.25rem 0 !important; padding-left: 1.25rem !important; } }
/* Novità: testo della fascia fermo al passaggio del mouse, più spazio sotto il testo */
body[data-page=novita] .nv-card .nv-link, body[data-page=novita] .nv-card:hover .nv-link { align-items: center !important; }
body[data-page=novita] .nv-card p { margin-bottom: 2rem !important; }
/* Novità: se le notizie sono dispari l ultima occupa tutta la riga */
body[data-page=novita] .nv-grid > .nv-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 700px) { body[data-page=novita] .nv-more .nv-card { grid-column: auto !important; } }

/* Eventi (Novità e archivio): card separate, non attaccate a lista */
.ev-list { gap: 1rem !important; border: 0 !important; }
.ev-list .ev-card { border: 1px solid #d5dde7 !important; transition: border-color .2s, box-shadow .2s; }
.ev-list .ev-card:hover { border-color: #409ed8 !important; box-shadow: 0 0 0 1px #409ed8; }
/* Card evento: meno padding, luogo leggibile, linea sotto il luogo */
.ev-card .ev-body { padding: 1.25rem 1.75rem !important; justify-content: center; }
.ev-card .ev-meta { padding-bottom: .75rem; border-bottom: 1px solid #e3e9f0; }
.ev-card .ev-place { padding-left: 0 !important; gap: .75rem !important; font: 500 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif !important; letter-spacing: .1em; color: #2f3e52 !important; text-transform:uppercase !important; }
.ev-card .ev-body h3 { margin: .75rem 0 0 !important; }
.ev-card:hover .ev-place { color: #2f3e52 !important; }
.ev-card.is-past .ev-meta { border-bottom-color: #d5dde7; }
@media (max-width: 600px) { .ev-card .ev-body { padding: 1rem 1.25rem !important; } }

/* Mega menu Novità: ultime 4 notizie su due colonne */
.mega-shell .sub-links.sub-links--2col { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 1.5rem !important; }
.mega-shell .sub-links.sub-links--2col::after { display: none !important; }
@media (max-width: 900px) { .mega-shell .sub-links.sub-links--2col { grid-template-columns: minmax(0, 1fr) !important; } }

/* Smooth scroll Lenis */
html.has-lenis { scroll-behavior: auto !important; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }

/* Fluidità dello scorrimento: niente sfocatura dietro l'header fisso (ridisegnata a ogni fotogramma) */
.site-header { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: #fff !important; }

/* Lenis 1.3: CSS consigliato */
html.lenis { scroll-behavior: auto !important; }
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent], .lenis .mega-shell { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* Servizi: quattro capacità interne trattate allo stesso modo (foto e testo, alternati) */
body[data-page=servizi] { overflow-x: clip; }
.cap-list { padding-top: 1rem; }
.cap { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; align-items: center; padding: 4rem 0; border-bottom: 1px solid #d5dde7; scroll-margin-top: var(--chrome-h, 7rem); }
.cap:nth-of-type(even) .cap-pic { order: 2; }
.cap-alias { position: absolute; top: 0; left: 0; scroll-margin-top: var(--chrome-h, 7rem); }
.cap-pic { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #091f3d; }
.cap-pic img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.cap:hover .cap-pic img { transform: scale(1.03); }
.cap-tag { position: absolute; top: 1rem; left: 1rem; padding: .4375rem .75rem; background: #091f3d; color: #fff; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .112em; text-transform: uppercase; }
.cap-body h2 { margin: 0 0 1rem; font-size: var(--fs-h2) !important; font-weight: 500; line-height: 1.05; letter-spacing: -.045em; color: #091f3d; }
.cap-body > p { max-width: 34rem; margin: 0 0 2rem; font-size: var(--fs-lead); line-height: var(--lh-text); color: #4d5a6c; }
.cap-points { list-style: none; margin: 0; padding: 0; border-top: 1px solid #d5dde7; }
.cap-points li { display: flex; align-items: center; gap: .875rem; padding: .875rem 0; border-bottom: 1px solid #e3e9f0; font-size: var(--fs-body); color: #091f3d; }
.cap-points li::before { content: ''; flex: none; width: .5rem; height: .5rem; background: #409ed8; }
.cap-list .cap-band { box-sizing: border-box; display: flex; justify-content: space-between; align-items: center !important; gap: 1.5rem; width: 100vw; margin: 4rem 0 0 calc(50% - 50vw) !important; padding: 3rem calc(50vw - 50%) !important; background: #091f3d; border: 0 !important; color: #fff; }
.cap-list .cap-band h2 { margin: 0; color: #fff !important; }
.cap-list .cap-band .text-link { background: #fff !important; border-color: #fff !important; color: #091f3d !important; }
.cap-list .cap-band .text-link:hover { background: #409ed8 !important; border-color: #409ed8 !important; color: #fff !important; }
@media (max-width: 900px) {
  .cap { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; padding: 2.5rem 0; }
  .cap:nth-of-type(even) .cap-pic { order: 0; }
  .cap-list .cap-band { flex-direction: column; align-items: flex-start !important; padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }
}

/* Servizi v2: sezioni più ricche (testo, numeri chiave, ambiti, pulsante) */
.cap { align-items: start; gap: 4.5rem; padding: 5rem 0; }
.cap-pic { position: sticky; top: calc(var(--chrome-h, 7rem) + 1.5rem); aspect-ratio: 4 / 5; }
.cap-body > p.cap-lead { margin: 0 0 1rem; font-size: var(--fs-lead); color: #091f3d; }
.cap-body > p.cap-text { max-width: 36rem; margin: 0 0 2rem; font-size: var(--fs-body); color: #4d5a6c; }
.cap-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0 0 2rem; }
.cap-facts > div { padding: 1rem 0 0; border-top: 2px solid #409ed8; }
.cap-facts dt { margin: 0 0 .375rem; font-size: var(--fs-h3); font-weight: 500; line-height: 1.1; letter-spacing: -.03em; color: #091f3d; }
.cap-facts dd { margin: 0; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #4d5a6c; line-height: 1.4; }
.cap-points { margin-bottom: 1.5rem; }
.cap-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .375rem; margin: 0 0 2rem; padding: 0; }
.cap-chips li { padding: .4375rem .75rem; background: #e4f1fa; color: #2b7cb3; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.cap-cta { display: inline-flex; align-items: stretch; min-height: 3rem; background: #091f3d; color: #fff !important; text-decoration: none !important; font: 600 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .112em; text-transform: uppercase; transition: background-color .2s; }
.cap-cta span { display: flex; align-items: center; padding: 0 1.5rem; }
.cap-cta i { display: grid; place-items: center; width: 3rem; background: #409ed8; font-style: normal; font-size: var(--fs-body); transition: background-color .2s, color .2s; }
.cap-cta:hover { background: #2b7cb3; }
.cap-cta:hover i { background: #fff; color: #091f3d; }
@media (max-width: 900px) {
  .cap { gap: 1.75rem; padding: 3rem 0; }
  .cap-pic { position: relative; top: auto; aspect-ratio: 4 / 3; }
  .cap-facts { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
}

/* Servizi v3: stesse quattro capacità, impaginazioni diverse */
.cap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; align-items: center; padding: 5rem 0; border: 0; }
.cap .cap-pic { position: relative; top: auto; order: 0 !important; aspect-ratio: 4 / 3; }
.cap-tag--light, .cap-tag--inline { position: static; display: inline-block; margin-bottom: 1rem; }
.cap-tag--light { background: #409ed8; }
/* R&D: foto e testo, sotto il percorso del progetto */
.cap--rd { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.cap-steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: .5rem 0 0; padding: 0; list-style: none; counter-reset: st; border-top: 2px solid #091f3d; }
.cap-steps li { counter-increment: st; display: flex; flex-direction: column; gap: .375rem; padding: 1rem 1rem 0 0; }
.cap-steps li::before { content: counter(st, decimal-leading-zero); font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; color: #409ed8; text-transform:uppercase; }
.cap-steps b { font-size: var(--fs-body); font-weight: 500; letter-spacing: -.01em; color: #091f3d; }
.cap-steps span { font-size: var(--fs-small); line-height: var(--lh-text); color: #4d5a6c; }
/* SMT: fascia blu scuro a tutta larghezza */
.cap--smt { display: block; padding: 0; background: #091f3d; color: #fff; }
.cap-smt__in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 4rem; align-items: center; padding-top: 5rem; padding-bottom: 5rem; }
.cap--smt h2 { color: #fff !important; }
.cap--smt .cap-body > p.cap-lead { color: #fff; }
.cap--smt .cap-body > p.cap-text { color: #b7c6d8; }
.cap--smt .cap-facts dt { color: #fff; }
.cap--smt .cap-facts dd { color: #8cc8ec; }
.cap--smt .cap-cta { background: #fff; color: #091f3d !important; }
.cap--smt .cap-cta:hover { background: #409ed8; color: #fff !important; }
.cap--smt .cap-pic { aspect-ratio: 1 / 1; }
/* CNC: foto panoramica, testo su due colonne */
.cap--cnc { display: block; }
.cap--cnc .cap-pic { aspect-ratio: 21 / 8; }
.cap-cnc__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; margin-top: 2.5rem; }
.cap-cnc__grid .cap-body > p.cap-lead { margin-bottom: 2rem; }
/* RF Lab: testo e foto, sotto le famiglie di test */
.cap--lab .cap-pic { aspect-ratio: 4 / 5; }
.cap-tests { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.cap-tests article { padding: 1.5rem; background: #fff; border: 1px solid #d5dde7; border-top: 3px solid #409ed8; }
.cap-tests span { display: inline-block; margin-bottom: 1rem; padding: .3125rem .625rem; background: #091f3d; color: #fff; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform:uppercase; }
.cap-tests h3 { margin: 0 0 .5rem; font-size: var(--fs-body) !important; font-weight: 600; letter-spacing: -.01em !important; color: #091f3d; }
.cap-tests p { margin: 0; font-size: var(--fs-small); color: #4d5a6c; }
/* Fascia finale */
.cap-band { box-sizing: border-box; display: flex; justify-content: space-between; align-items: center !important; gap: 1.5rem; width: 100vw; margin: 0 0 0 calc(50% - 50vw) !important; padding: 3rem calc(50vw - 50%) !important; background: #2b7cb3; border: 0 !important; color: #fff; }
.cap-band h2 { margin: 0; color: #fff !important; }
.cap-band .text-link { background: #091f3d !important; border-color: #091f3d !important; color: #fff !important; }
.cap-band .text-link:hover { background: #fff !important; border-color: #fff !important; color: #091f3d !important; }
@media (max-width: 1100px) { .cap-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 1.25rem; } .cap-tests { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .cap, .cap--rd, .cap-smt__in, .cap-cnc__grid { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .cap { padding: 3rem 0; } .cap--smt { padding: 0; } .cap-smt__in { padding-top: 3rem; padding-bottom: 3rem; }
  .cap--cnc .cap-pic { aspect-ratio: 16 / 9; } .cap--lab .cap-pic, .cap--smt .cap-pic { aspect-ratio: 4 / 3; }
  .cap-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cap-band { flex-direction: column; align-items: flex-start !important; padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }
}
@media (max-width: 600px) { .cap-tests { grid-template-columns: minmax(0, 1fr); } }
.wrap.cap { padding-left: var(--gutter); padding-right: var(--gutter); }

/* Servizi v4: immagini integrate nell'impaginazione (al vivo, blocchi e cornici, pixel) */
.cap-media { position: relative; }
.cap-media .cap-pic { z-index: 1; }
.cap-px { position: absolute; z-index: 2; --s: .5rem; --g: .1875rem; color: #409ed8; pointer-events: none; }
/* R&D: foto al vivo a sinistra, blocco blu scuro sotto, pixel in alto a destra */
.cap--rd .cap-media { margin-left: calc(-1 * var(--gutter)); }
.cap--rd .cap-media::before { content: ''; position: absolute; z-index: 0; right: -2rem; bottom: -2rem; width: 55%; height: 55%; background: #091f3d; }
.cap--rd .cap-px { top: -2rem; right: -1.5rem; }
.cap--rd .cap-tag { left: calc(var(--gutter) + 1rem); }
/* SMT: foto a tutta altezza della fascia, al vivo a destra, sfumata nel blu */
.cap--smt .cap-smt__in { align-items: stretch; padding-right: 0; }
.cap--smt .cap-body { align-self: center; }
.cap--smt .cap-pic { aspect-ratio: auto; min-height: 30rem; margin: -5rem 0; }
.cap--smt .cap-pic::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #091f3d 0%, #091f3d00 40%); pointer-events: none; }
/* CNC: panoramica al vivo con il titolo sulla foto */
.cap--cnc .cap-pic { margin: 0 calc(-1 * var(--gutter)); aspect-ratio: 21 / 8; }
.cap--cnc .cap-pic::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #091f3d00 35%, #091f3dcc 100%); pointer-events: none; }
.cap--cnc figcaption { position: absolute; z-index: 2; left: var(--gutter); bottom: 2.25rem; }
.cap--cnc figcaption .cap-tag { background: #409ed8; }
.cap--cnc figcaption h2 { margin: 0; color: #fff !important; font-size: var(--fs-display) !important; line-height: 1; letter-spacing: -.05em; }
.cap--cnc .cap-cnc__grid { margin-top: 3rem; }
/* RF Lab: cornice azzurra sfalsata e pixel in alto a sinistra */
.cap--lab .cap-media::before { content: ''; position: absolute; z-index: 0; top: 1.5rem; left: 1.5rem; right: -1.5rem; bottom: -1.5rem; border: 2px solid #409ed8; }
.cap--lab .cap-px { top: -1.75rem; left: -1.75rem; }
.cap--lab .cap-tests { margin-top: 1.5rem; }
@media (max-width: 900px) {
  .cap--rd .cap-media { margin-left: 0; } .cap--rd .cap-media::before { right: -1rem; bottom: -1rem; } .cap--rd .cap-tag { left: 1rem; }
  .cap--smt .cap-smt__in { padding-right: var(--gutter); } .cap--smt .cap-pic { min-height: 0; aspect-ratio: 4 / 3; margin: 0; } .cap--smt .cap-pic::after { display: none; }
  .cap--cnc .cap-pic { aspect-ratio: 4 / 3; } .cap--cnc figcaption h2 { font-size: var(--fs-h2) !important; }
  .cap--lab .cap-media::before { right: -.75rem; bottom: -.75rem; top: .75rem; left: .75rem; }
  .cap-px { display: none; }
}

/* Servizi v5: tutte e quattro come l'officina CNC (panoramica al vivo, titolo sulla foto, testo su due colonne) */
.cap--wide { display: block; padding: 4.5rem 0 1rem; }
.cap--wide + .cap--wide { padding-top: 3.5rem; }
.cap--wide .cap-pic { margin: 0 calc(-1 * var(--gutter)); aspect-ratio: 21 / 8; }
.cap--wide .cap-pic::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #091f3d00 35%, #091f3dcc 100%); pointer-events: none; }
.cap--wide figcaption { position: absolute; z-index: 2; left: var(--gutter); bottom: 2.25rem; }
.cap--wide .cap-pic--right figcaption { left: auto; right: var(--gutter); text-align: right; }
.cap--wide figcaption .cap-tag { position: static; display: inline-block; margin-bottom: 1rem; background: #409ed8; }
.cap--wide figcaption h2 { margin: 0; color: #fff !important; font-size: var(--fs-display) !important; line-height: 1; letter-spacing: -.05em; }
.cap-wide__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; margin-top: 3rem; }
.cap--wide .cap-steps { margin-top: 3rem; }
/* RF Lab: tutti i test */
.cap--wide .cap-tests { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 3rem; }
.cap-tests .cap-test--emc { grid-row: span 2; }
.cap-tests article { display: flex; flex-direction: column; }
.cap-tests h3 { margin-bottom: .25rem !important; }
.cap-tests small { margin-bottom: .75rem; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #2b7cb3; }
.cap-tests ul { list-style: none; margin: .5rem 0 0; padding: 0; }
.cap-tests li { position: relative; padding: .625rem 0 .625rem 1.125rem; border-top: 1px solid #e3e9f0; font-size: var(--fs-small); line-height: var(--lh-text); color: #2f3e52; }
.cap-tests li::before { content: ''; position: absolute; left: 0; top: 1.05rem; width: .375rem; height: .375rem; background: #409ed8; }
@media (max-width: 1100px) { .cap--wide .cap-tests { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .cap--wide { padding: 3rem 0 .5rem; }
  .cap--wide .cap-pic { aspect-ratio: 4 / 3; }
  .cap--wide figcaption h2 { font-size: var(--fs-h2) !important; }
  .cap-wide__grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin-top: 2rem; }
}
@media (max-width: 600px) { .cap--wide .cap-tests { grid-template-columns: minmax(0, 1fr); } .cap-tests .cap-test--emc { grid-row: auto; } }
.cap-tests article > span { align-self: flex-start; }

/* Servizi: numeri chiave subito sotto la foto col titolo, a piena larghezza */
.cap--wide > .cap-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin: 2.5rem 0 0; }
.cap--wide > .cap-facts dt { font-size: var(--fs-title); }
.cap--wide .cap-wide__grid { margin-top: 2.5rem; }
@media (max-width: 900px) { .cap--wide > .cap-facts { grid-template-columns: minmax(0, 1fr); gap: .75rem; margin-top: 1.75rem; } .cap--wide > .cap-facts dt { font-size: var(--fs-h3); } }

/* Servizi: elenchi a piena larghezza su due colonne; test RF Lab per famiglie, una sotto l'altra */
.cap--wide .cap-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; margin: 2.5rem 0 0; border-top: 0; }
.cap--wide .cap-points li { border-bottom: 1px solid #e3e9f0; padding: .875rem 0; font-size: var(--fs-body); line-height: var(--lh-text); }
.cap--wide .cap-points li:nth-child(-n+2) { border-top: 1px solid #d5dde7; }
.cap--wide .cap-tests { display: block; margin-top: 3rem; }
.cap-test { display: block; padding: 2rem 0 0; }
.cap-test + .cap-test { margin-top: 1rem; }
.cap-test header { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.cap-test header span { padding: .3125rem .625rem; background: #091f3d; color: #fff; font: 500 var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform:uppercase; }
.cap-test header h3 { margin: 0; font-size: var(--fs-h3) !important; font-weight: 500; letter-spacing: -.03em !important; color: #091f3d; }
.cap-test header small { margin-left: auto; font: var(--fs-label) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #2b7cb3; }
.cap-test .cap-points { margin-top: 1.25rem; }
@media (max-width: 700px) {
  .cap--wide .cap-points { grid-template-columns: minmax(0, 1fr); }
  .cap--wide .cap-points li:nth-child(2) { border-top: 0; }
  .cap-test header small { margin-left: 0; width: 100%; }
}
.cap-test .cap-points li { padding: .875rem 0 !important; font-size: var(--fs-body); color: #091f3d; }
.cap-test .cap-points li::before { position: static; width: .5rem; height: .5rem; top: auto; left: auto; }

/* Servizi: spazio sopra la prima sezione e sotto l ultima (senza fascia finale) */
.pd-jump + .cap--wide { padding-top: 0 !important; }
.cap--wide:last-of-type { padding-bottom: 5rem !important; }
@media (max-width: 900px) { .pd-jump + .cap--wide { padding-top: 0 !important; } .cap--wide:last-of-type { padding-bottom: 3rem !important; } }

/* RF Lab: famiglie di test in griglia a due colonne (l'ultima dispari a tutta riga) */
.cap--wide .cap-tests { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 3rem; }
.cap-test, .cap-test + .cap-test { margin: 0; padding: 0; }
.cap-test .cap-points { grid-template-columns: minmax(0, 1fr); }
.cap-test .cap-points li:nth-child(2) { border-top: 0; }
.cap-tests .cap-test:last-child:nth-child(odd) { grid-column: 1 / -1; }
.cap-tests .cap-test:last-child:nth-child(odd) .cap-points { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; }
.cap-tests .cap-test:last-child:nth-child(odd) .cap-points li:nth-child(2) { border-top: 1px solid #d5dde7; }
@media (max-width: 700px) { .cap--wide .cap-tests { grid-template-columns: minmax(0, 1fr); } .cap-tests .cap-test:last-child:nth-child(odd) .cap-points { grid-template-columns: minmax(0, 1fr); } .cap-tests .cap-test:last-child:nth-child(odd) .cap-points li:nth-child(2) { border-top: 0; } }

/* R&D: percorso del progetto come linea con tappe */
.cap--wide .cap-steps { position: relative; gap: 0; margin-top: 3rem; padding: 2rem 2rem 2.25rem; background: #fff; border: 1px solid #d5dde7; border-top: 3px solid #409ed8; }
.cap-steps::after { content: ''; position: absolute; left: 2rem; right: 2rem; top: calc(2rem + 1.25rem - 1px); height: 2px; background: linear-gradient(90deg, #409ed8, #091f3d); z-index: 0; }
.cap-steps li { position: relative; z-index: 1; gap: .5rem; padding: 0 1.25rem 0 0; }
.cap-steps li::before { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin-bottom: .75rem; background: #fff; border: 2px solid #409ed8; color: #091f3d; font: 600 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .04em; transition: background-color .2s, color .2s, border-color .2s, transform .2s; text-transform:uppercase; }
.cap-steps li:last-child::before { background: #091f3d; border-color: #091f3d; color: #fff; }
.cap-steps li:hover::before { background: #409ed8; border-color: #409ed8; color: #fff; transform: translateY(-2px); }
.cap-steps b { font-size: var(--fs-body); font-weight: 600; line-height: 1.2; }
.cap-steps span { font-size: var(--fs-small); color: #4d5a6c; }
@media (max-width: 1100px) {
  .cap-steps::after { display: none; }
  .cap--wide .cap-steps { row-gap: 1.75rem; }
}
@media (max-width: 900px) { .cap--wide .cap-steps { padding: 1.5rem; } }
.cap-steps::after { left: 3rem; right: calc(2rem + (100% - 4rem) / 7 - 2.5rem); }

/* R&D: percorso del progetto a griglia (celle con bordi) */
.cap-steps::after { display: none !important; }
.cap--wide .cap-steps { gap: 0 !important; padding: 0; background: #fff; border: 1px solid #d5dde7; border-top: 3px solid #409ed8; }
.cap-steps li { padding: 1.5rem 1.25rem 1.75rem; border-left: 1px solid #d5dde7; transition: background-color .2s; }
.cap-steps li:first-child { border-left: 0; }
.cap-steps li:hover { background: #f4f8fc; }
.cap-steps li:last-child { background: #091f3d; }
.cap-steps li:last-child b { color: #fff; }
.cap-steps li:last-child span { color: #b7c6d8; }
.cap-steps li:last-child::before { background: #409ed8; border-color: #409ed8; }
@media (max-width: 1100px) {
  .cap--wide .cap-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cap-steps li { border-left: 1px solid #d5dde7; border-top: 1px solid #d5dde7; }
  .cap-steps li:nth-child(4n+1) { border-left: 0; }
  .cap-steps li:nth-child(-n+4) { border-top: 0; }
}
@media (max-width: 900px) {
  .cap--wide .cap-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
  .cap-steps li:nth-child(n) { border-left: 1px solid #d5dde7; border-top: 1px solid #d5dde7; }
  .cap-steps li:nth-child(odd) { border-left: 0; }
  .cap-steps li:nth-child(-n+2) { border-top: 0; }
  .cap-steps li:last-child { grid-column: 1 / -1; border-left: 0; }
}

/* Servizi: elenchi puntati a griglia (celle bianche separate da linee sottili) */
.cap--wide .cap-points { gap: 1px !important; column-gap: 1px !important; padding: 0; background: #d5dde7; border: 1px solid #d5dde7; }
.cap--wide .cap-points li, .cap--wide .cap-points li:nth-child(n), .cap-test .cap-points li { padding: 1rem 1.25rem !important; background: #fff; border: 0 !important; transition: background-color .2s; }
.cap--wide .cap-points li:hover { background: #f4f8fc; }
.cap--wide .cap-points li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.cap-test .cap-points li:last-child:nth-child(odd) { grid-column: auto; }
.cap-tests .cap-test:last-child:nth-child(odd) .cap-points li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.cap-test .cap-points { margin-top: 1.25rem; }
/* Percorso: solo il numero, senza riquadro */
.cap-steps li::before, .cap-steps li:hover::before, .cap-steps li:last-child::before { display: block; width: auto; height: auto; margin-bottom: .875rem; background: none !important; border: 0 !important; transform: none !important; font: 600 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .1em; color: #409ed8; text-transform:uppercase; }
.cap-steps li:last-child::before { color: #8cc8ec; }

/* Percorso: senza griglia, solo una linea sopra; numeri grandi; ultima tappa come le altre */
.cap--wide .cap-steps { padding: 0 !important; background: none !important; border: 0 !important; border-top: 2px solid #091f3d !important; }
.cap-steps li, .cap-steps li:nth-child(n), .cap-steps li:last-child { padding: 1.25rem 1.5rem 0 0 !important; background: none !important; border: 0 !important; }
.cap-steps li:hover { background: none !important; }
.cap-steps li::before, .cap-steps li:hover::before, .cap-steps li:last-child::before { margin-bottom: .75rem; font: 500 var(--fs-title) Sora, sans-serif !important; letter-spacing: -.03em; line-height: 1; color: #409ed8 !important; }
.cap-steps li:last-child b { color: #091f3d; }
.cap-steps li:last-child span { color: #4d5a6c; }
@media (max-width: 900px) { .cap-steps li:last-child { grid-column: auto; } }
/* Percorso: ogni tappa con la propria linea sopra, separate da uno spazio */
.cap--wide .cap-steps { border-top: 0 !important; column-gap: 1.5rem !important; }
.cap-steps li, .cap-steps li:nth-child(n), .cap-steps li:last-child { padding: 1.25rem 0 0 !important; border-top: 2px solid #091f3d !important; }
@media (max-width: 1100px) { .cap--wide .cap-steps { row-gap: 2rem !important; } }
.cap-steps li, .cap-steps li:nth-child(n), .cap-steps li:last-child { border-top-color: #409ed8 !important; }

/* Azienda, storia: le quattro aree (company profile, pagina 1) */
.az-fields { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 1.75rem 0 0; padding: 0; }
.az-fields a { display: flex; align-items: center; gap: .875rem; padding: .875rem 1rem; background: #fff; border: 1px solid #d5dde7; color: #091f3d; text-decoration: none; transition: border-color .2s, background-color .2s; }
.az-fields b { display: grid; place-items: center; min-width: 3rem; padding: .3125rem .5rem; background: #091f3d; color: #fff; font: 600 var(--fs-mono) 'Space Grotesk',system-ui,sans-serif; letter-spacing: .08em; text-transform:uppercase; }
.az-fields span { font-size: var(--fs-small); line-height: var(--lh-text); }
.az-fields a:hover { border-color: #409ed8; background: #f4f8fc; }
.az-fields a:hover b { background: #409ed8; }
@media (max-width: 600px) { .az-fields { grid-template-columns: minmax(0, 1fr); } }

/* Azienda: ISO 9001 e 14001 con lo stesso peso */
.az-stats .az-stat-iso dd { white-space: normal; }
.az-stats .az-stat-iso dd small { font-size: .45em; color: #66768b; }
.az-stats .az-stat-iso dd { white-space: nowrap; font-size: var(--fs-h2) !important; line-height: calc(var(--fs-stat) / var(--fs-h2) * 1); }
.az-stats .az-stat-iso dd { line-height: 1; padding-top: calc((var(--fs-stat) - var(--fs-h2)) * .85); }
@media (max-width: 600px) { .az-stats .az-stat-iso dd { white-space: normal; padding-top: 0; } }
.az-stats .az-stat-iso dd { font-size: var(--fs-stat) !important; padding-top: 0; white-space: nowrap; }

/* Azienda, storia: senza immagine, a tutta larghezza (titolo e apertura a sinistra, racconto a destra, numeri su quattro colonne) */
.az-origin { grid-template-columns: minmax(0, 1fr) !important; }
.az-origin-copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 5rem; align-items: start; }
.az-origin-copy h2 { grid-column: 1; grid-row: 1; }
.az-origin-copy .az-lead { grid-column: 1; grid-row: 2; }
.az-origin-copy p:not(.az-lead) { grid-column: 2; max-width: none; }
.az-origin-copy p:not(.az-lead):nth-of-type(2) { grid-row: 1 / 3; align-self: end; margin-bottom: 1.5rem; }
.az-origin-copy p:not(.az-lead):nth-of-type(3) { grid-row: 3; }
.az-origin-copy .az-stats { grid-column: 1 / -1; grid-row: 4; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 3rem; }
@media (max-width: 900px) {
  .az-origin-copy { grid-template-columns: minmax(0, 1fr); }
  .az-origin-copy > * { grid-column: 1 !important; grid-row: auto !important; }
  .az-origin-copy .az-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.az-origin-copy .az-lead { grid-row: 2 / 4; }
.az-origin-copy p:not(.az-lead):nth-of-type(2) { grid-row: 2; align-self: start; margin: .375rem 0 1rem; }
.az-origin-copy p:not(.az-lead):nth-of-type(3) { grid-row: 3; align-self: start; }
.az-origin-copy .az-stats div, .az-origin-copy .az-stats div:nth-child(n) { border-bottom: 0 !important; padding-bottom: 0 !important; }

/* Azienda, manifesto: testo in basso senza margini automatici né padding in eccesso */
.az-manifesto .az-manifesto-copy { margin: 0 auto !important; padding-top: 2.5rem; padding-bottom: 2.5rem !important; }
.az-manifesto { min-height: clamp(20rem, 32vw, 28rem); }
/* Wishlist (2.17.32): titolo, testo e card dell'ufficio commerciale a sinistra uno sotto l'altro, form a destra */
.wl-sales > .wrap { display:grid; grid-template-columns:minmax(0,26rem) minmax(0,1fr); gap:4rem; align-items:start; }
.wl-sales .wl-sales-head { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:2rem !important; align-items:start !important; margin:0 !important; position:sticky; top:7rem; }
.wl-sales .wl-sales-head > div { max-width:none; }
.wl-sales .wl-sales-grid { margin:0 !important; }
@media (max-width: 900px) { .wl-sales > .wrap { grid-template-columns:minmax(0,1fr); gap:2.5rem; } .wl-sales .wl-sales-head { position:static; } }
/* Wishlist come Contatti (2.17.33): colonne .85fr / 1.15fr, 80px tra le colonne, niente sticky */
.wl-sales > .wrap { grid-template-columns:.85fr 1.15fr; gap:5rem; }
.wl-sales .wl-sales-head { position:static; gap:0 !important; }
.wl-sales .wl-sales-head h2 { margin:1rem 0 1.5rem !important; }
.wl-sales .wl-sales-head > div:first-child > p { max-width:40ch !important; margin:0 0 1.5rem !important; }
.wl-sales .wl-sales-head .wl-contact--card { margin-top:1rem !important; }
@media (max-width: 1100px) { .wl-sales > .wrap { gap:2rem; } }
@media (max-width: 900px) { .wl-sales > .wrap { grid-template-columns:1fr; gap:2rem; } }
/* Home: immagine delle categorie sempre quadrata (2.17.35): non si schiaccia nella card flessibile, a filo anche quando la card ha meno padding */
.elad-hero-families .elad-family-img { flex:none !important; aspect-ratio:1 / 1 !important; height:auto !important; }
@media (max-width:1100px) { .elad-hero-families .elad-family-img { margin:0 -1rem !important; } }
/* Mobile (2.17.37): utility su una riga con email, telefono e lingua; "Fiere & eventi" passa nel menu */
.nav-mobile-only { display:none !important; }
@media (max-width:600px) {
  .utility .wrap > div { width:100%; justify-content:space-between; gap:.75rem; white-space:nowrap; }
  .utility .wrap > div > a:first-child { display:none !important; }
  .utility a[href*="groups.io"] { display:inline-flex !important; }
  .utility .wrap > div a, .utility .u-lang { gap:.375rem; min-height:40px; }
  .utility .u-lang { padding-left:.75rem; }
}
@media (max-width:600px) { #navigation .nav-mobile-only { display:flex !important; } }
/* Home mobile (2.17.38) */
/* "Scopri i servizi" allineata a sinistra come "Categorie prodotti" */
@media (max-width: 900px) { body[data-page=home] .hcx--light .section-title.hcx-band { align-items: flex-start !important; text-align: left; } }
/* Novità: pulsante sotto l'elenco, notizie in riquadri con padding */
@media (max-width: 900px) {
  body[data-page=home] .home-news { display: flex; flex-direction: column; }
  body[data-page=home] .home-news > .section-title { display: contents; }
  body[data-page=home] .home-news > .section-title > a.text-link { order: 3; align-self: flex-start; margin-top: 1.5rem; }
  body[data-page=home] .home-news .hn-list { order: 2; margin: 1.5rem 0 0 !important; display: grid; gap: .75rem; }
  body[data-page=home] .home-news .hn-list a { padding: 1.25rem !important; background: #fff; border: 1px solid #d5dde7; }
  body[data-page=home] .home-news .hn-list a:hover { padding: 1.25rem !important; border-color: #409ed8; }
}
/* Form (wishlist e contatti) su telefono (2.17.39): la descrizione sotto il campo resta nella colonna unica, niente rientro */
@media (max-width: 600px) {
  :is(.wl-sales,.gf-skin) .gfield_description { grid-column: 1 !important; padding: 0 1rem 1rem !important; }
}
/* Menu a tendina dei form (2.17.40): aspetto uguale su tutti i browser (anche iOS), testo allineato agli altri campi, freccia con il suo spazio */
:is(.wl-sales,.gf-skin) .ginput_container select { -webkit-appearance:none; appearance:none; border-radius:0; padding-right:3rem !important; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23091f3d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 1.25rem center / 1rem 1rem !important; cursor:pointer; }
:is(.wl-sales,.gf-skin) .ginput_container select::-ms-expand { display:none; }
@media (max-width:600px) { :is(.wl-sales,.gf-skin) .ginput_container select { background-position:right 1rem top calc(50% - .25rem) !important; } }
/* Selettore lingua (WPML, 2.18.0) */
.utility .u-lang { gap:.5rem; }
.utility .u-lang a { color:inherit; opacity:.55; text-decoration:none; transition:opacity .2s; }
.utility .u-lang a:hover { opacity:1; }
.utility .u-lang .is-active { color:#fff; font-weight:600; }
.utility .u-lang .is-active + a::before, .utility .u-lang a + .is-active::before { content:'/'; margin-right:.5rem; opacity:.4; font-weight:400; }
/* WPML: banner "sito di sviluppo" nel footer del front-end nascosto (2.18.6); con la chiave di produzione non viene più stampato */
.otgs-development-site-front-end { display: none !important; }
/* Pagine di testo (privacy e simili, page.php) (2.18.7): colonna di lettura, titoli proporzionati */
.wrap.entry-content > * { max-width: 50rem; }
.entry-content h2 { margin: 3rem 0 1rem !important; font-size: var(--fs-title) !important; line-height: 1.15; letter-spacing: -.02em; scroll-margin-top: calc(var(--chrome-h, 7rem) + 1rem); }
.entry-content h2:first-child { margin-top: 0 !important; }
.entry-content h3 { margin: 1.75rem 0 .5rem !important; font-size: var(--fs-h3) !important; }
.entry-content p, .entry-content li { font-size: var(--fs-body); line-height: 1.6; color: #3e4c5e; }
.entry-content p { margin: 0 0 1rem; }
.entry-content ul { margin: 0 0 1.25rem; padding-left: 1.25rem; }
.entry-content li { margin-bottom: .5rem; }
.entry-content li::marker { color: #409ed8; }
.entry-content strong { color: #091f3d; font-weight: 600; }
.entry-content a { color: #2b7cb3; text-decoration: underline; text-underline-offset: 2px; }
.entry-content a:hover { color: #091f3d; }
/* Pagine di testo divise in sezioni (page.php, 2.18.9): titolo con punto a sinistra, testo a destra, barra sopra ogni riga */
.wrap.entry-content.lg-page > .lg-row { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 3rem; padding: 2.5rem 0 3rem; border-top: 1px solid #d5dde7; }
.lg-page .lg-intro { margin-bottom: 3rem; }
.lg-page .lg-intro p { font-size: var(--fs-lead); line-height: 1.5; color: var(--ink); }
.lg-page .lg-head h2 { display: flex; align-items: flex-start; gap: .75rem; margin: 0 !important; font-size: var(--fs-h3) !important; font-weight: 500; line-height: 1.2; }
.lg-page .lg-head h2::before { content: ''; flex: none; width: .5rem; height: .5rem; margin-top: .45em; background: #409ed8; }
.lg-page .lg-body :is(p, ul, li) { max-width: none; }
.lg-page .lg-body > :first-child { margin-top: 0 !important; }
.lg-page .lg-body > :last-child { margin-bottom: 0; }
.lg-page .lg-body h3 { margin: 2rem 0 .5rem !important; font-size: var(--fs-body) !important; font-weight: 600; color: #091f3d; }
.lg-page .lg-body > h3:first-child { margin-top: 0 !important; }
@media (max-width: 800px) { .wrap.entry-content.lg-page > .lg-row { grid-template-columns: 1fr; gap: 1.25rem; padding: 2rem 0 2.5rem; } }
/* Link all'informativa nel consenso dei form (2.18.11) */
:is(.wl-sales,.gf-skin) .gfield_consent_label a { color: #2b7cb3; text-decoration: underline; text-underline-offset: 2px; }
:is(.wl-sales,.gf-skin) .gfield_consent_label a:hover { color: #091f3d; }
/* Mobile (2.23.2): wishlist compatta (cuore + numero) accanto a Menu; nel menu aperto la riga Wishlist non c'è più */
.wishlist-mini { display: none; }
@media (max-width: 900px) {
  .modern-header .wishlist-mini { display: inline-flex; align-items: center; gap: .5rem; margin: 0 -1rem 0 auto !important; align-self: center; height: 2.5rem; padding: 0 .75rem; box-sizing: border-box; border: 1px solid #091f3d; background: #091f3d; color: #fff; text-decoration: none; }
  .modern-header .wishlist-mini .ico-heart { width: 15px; height: 14px; }
  .modern-header .wishlist-mini b { min-width: 1.25rem; padding: .125rem .375rem; background: #409ed8; color: #fff; font: 500 var(--fs-xs)/1.2 'Space Grotesk',system-ui,sans-serif; text-align: center; text-transform:uppercase; }
  .modern-header .wishlist-mini:hover { background: #409ed8; border-color: #409ed8; }
  .modern-header .wishlist-mini:hover b { background: #fff; color: #091f3d; }
  .modern-header .nav nav > .wishlist-link { display: none !important; }
  .modern-header .mobile-toggle { display: inline-flex; align-items: center; height: 2.5rem; box-sizing: border-box; white-space: nowrap; }
}
/* Frecce e simboli sempre come testo, mai come emoji (2.23.4) */
body { font-variant-emoji: text; }
/* Frecce dei pulsanti: stesso glifo (IBM Plex Mono), stesso peso e stessa misura ovunque (2.23.5) */
.btn span[aria-hidden],.nav-cta span[aria-hidden],.mega-cta span[aria-hidden],.gform_button span[aria-hidden],.pd-btn-dark span[aria-hidden],.wl-btn-dark span[aria-hidden],.ev-cta span[aria-hidden],.section-title .text-link span[aria-hidden],.elad-hero-link span[aria-hidden],.pd-btn:not(.pd-btn-dark) span[aria-hidden],.wl-btn:not(.wl-btn-dark) span[aria-hidden],#load-more-btn span[aria-hidden],#nv-load-btn span[aria-hidden],.ev-ics span[aria-hidden],.shop-link span[aria-hidden],.wishlist-link span[aria-hidden] { font-family: 'Space Grotesk',system-ui,sans-serif !important; font-weight: 500 !important; font-size: var(--fs-small) !important; line-height: 1 !important; letter-spacing: 0 !important; text-transform:uppercase !important; }
/* Home, capacità interne (2.24.2, griglia 2×2 ripristinata nella 2.24.6): tolti "Prodotti su misura e servizi" e le due card; titolo + 3 card quadrate */
.hcx .hcx-split--caps .hcx-caps { grid-auto-rows: auto !important; margin-top: 0 !important; }
.hcx .hcx-split--caps .hcx-caps__intro .hcx-sub { font-size: var(--fs-display) !important; line-height: 1.02; letter-spacing: -.05em !important; color: #091f3d; }
.hcx .hcx-split--caps .hcx-card, .hcx .hcx-split--caps .hcx-card + .hcx-card, .hcx .hcx-split--caps .hcx-card:hover { aspect-ratio: 1 / 1 !important; min-height: 0 !important; height: auto !important; }
@media (max-width: 900px) { .hcx .hcx-split--caps .hcx-card, .hcx .hcx-split--caps .hcx-card + .hcx-card { aspect-ratio: 4 / 3 !important; } }
/* 2.24.4: titolo della sezione a misura h2, titoli delle card più grandi */
.hcx .hcx-split--caps .hcx-caps__intro .hcx-sub { font-size: var(--fs-h2) !important; line-height: 1.05; letter-spacing: -.04em !important; }
.hcx .hcx-split--caps .hcx-card__txt h4, .hcx .hcx-split .hcx-card h4 { font-size: var(--fs-title) !important; line-height: 1.1; letter-spacing: -.03em !important; }
.hcx .hcx-split--caps .hcx-caps__intro .hcx-sub { text-wrap: balance; }
/* 2.24.7: di nuovo titolo sopra e tre card quadrate in fila */
.hcx .hcx-split--caps .hcx-caps { display: block !important; }
.hcx .hcx-split--caps .hcx-caps .hcx-caps__intro { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: end; gap: 1rem 3rem; margin-bottom: 2.5rem; padding: 1.75rem 0 0 !important; }
.hcx .hcx-split--caps .hcx-caps__intro p { max-width: 30rem; justify-self: end; }
.hcx .hcx-split--caps .hcx-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem !important; }
@media (max-width: 900px) {
  .hcx .hcx-split--caps .hcx-caps .hcx-caps__intro { grid-template-columns: minmax(0, 1fr); margin-bottom: 1.5rem; }
  .hcx .hcx-split--caps .hcx-caps__intro p { justify-self: start; }
  .hcx .hcx-split--caps .hcx-cards { grid-template-columns: minmax(0, 1fr); gap: 1rem !important; }
}
/* Card attaccate alla fascia "Scopri i servizi" su desktop, staccate su mobile (2.24.8) */
body[data-page=home] .hcx--light .hcx-split--caps + .section-title.hcx-band { margin-top: 0 !important; }
.hcx .hcx-split--caps .hcx-caps .hcx-caps__intro { margin-bottom: 3rem; }
@media (max-width: 900px) { body[data-page=home] .hcx--light .hcx-split--caps + .section-title.hcx-band { margin-top: 3rem !important; } .hcx .hcx-split--caps .hcx-caps .hcx-caps__intro { margin-bottom: 1.5rem; } }
.hcx .hcx-split--caps .hcx-cards { grid-auto-rows: auto !important; }
/* Logo dell'evento (2.25.3): nelle card in alto a destra del testo, nella pagina evento in cima alla colonna */
.ev-body.has-logo { position: relative; }
.ev-card .ev-logo { float: right; display: flex; align-items: center; justify-content: center; width: 7.5rem; height: 3.5rem; margin: 0 0 .75rem 1.25rem; padding: .375rem .5rem; background: #fff; border: 1px solid #d5dde7; box-sizing: border-box; }
.ev-card .ev-logo img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.ev-card.is-past .ev-logo img { filter: grayscale(1); opacity: .7; }
.ev-aside-logo { display: flex; align-items: center; justify-content: center; height: 7rem; margin-bottom: 1rem; padding: 1rem 1.5rem; background: #fff; border: 1px solid #d5dde7; box-sizing: border-box; }
.ev-aside-logo img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
@media (max-width: 600px) { .ev-card .ev-logo { width: 6rem; height: 3rem; margin-left: .75rem; } }
.ev-card .ev-body.has-logo { padding-right: 10.5rem !important; }
.ev-card .ev-logo { position: absolute; top: 1.25rem; right: 1.5rem; float: none; margin: 0; }
@media (max-width: 600px) { .ev-card .ev-body.has-logo { padding-right: 1.25rem !important; padding-top: 5rem !important; } .ev-card .ev-logo { top: 1rem; left: 1.25rem; right: auto; } }
/* Logo evento più grande (2.25.5) */
.ev-card .ev-logo { width: 10rem; height: 5rem; padding: .5rem .75rem; }
.ev-card .ev-body.has-logo { padding-right: 13.5rem !important; }
.ev-aside-logo { height: 9rem; }
@media (max-width: 600px) { .ev-card .ev-logo { width: 8rem; height: 4rem; } .ev-card .ev-body.has-logo { padding-right: 1.25rem !important; padding-top: 6rem !important; } }
/* Eventi in programma: logo sopra i pulsanti (2.25.6) */
.ev-card .ev-logo.ev-logo--actions { position: static; width: 100%; height: 5rem; margin: 0 0 .25rem; align-self: stretch; }
@media (max-width: 900px) { .ev-card .ev-logo.ev-logo--actions { width: 10rem; margin: 0 1rem 0 0; } }
/* Card evento allineate (2.25.7): testo dal mese all'anno, logo e pulsanti dal mese all'anno */
.ev-card .ev-body { justify-content: space-between !important; padding-top: 20px !important; padding-bottom: 20px !important; }
.ev-card .ev-actions:has(.ev-logo--actions) { justify-content: space-between !important; padding-top: 20px !important; padding-bottom: 20px !important; }
@media (max-width: 900px) { .ev-card .ev-actions:has(.ev-logo--actions) { padding-top: 1rem !important; padding-bottom: 1rem !important; align-items: center; } }
/* Mega menu a schede (2.26.6): la freccia sta nella sua colonna, non sopra il testo (su mobile copriva "Radiofrequenza") */
.mega-index .mega-tabs button { align-items: center; }
.mega-index .mega-tabs button i { position: static; grid-column: 2; grid-row: 1 / -1; align-self: center; justify-self: end; }
.mega-index .mega-tabs button > b { grid-column: 1; min-width: 0; }
/* Mobile, mega Prodotti: schede strette su due colonne, quindi sigla e freccia sulla prima riga e nome sotto a tutta larghezza */
@media (max-width: 600px) {
  #mega-products .mega-tabs button { grid-template-columns: minmax(0, 1fr); position: relative; align-items: start; align-content: start; padding-top: 1rem; }
  #mega-products .mega-tabs button i { position: absolute; top: 1rem; right: 1rem; grid-column: auto; grid-row: auto; width: 24px; height: 24px; font-size: var(--fs-small); }
  #mega-products .mega-tabs button > b { grid-template-columns: minmax(0, 1fr) !important; row-gap: .375rem; }
  #mega-products .mega-tabs button > b .mega-abbr { display: flex; align-items: center; min-height: 24px; padding-right: 32px; }
  .mega-index .mega-tabs__dl { grid-template-columns: 1fr 24px; }
  .mega-index .mega-tabs__dl i { width: 24px; height: 24px; font-size: var(--fs-small); }
}
/* Card evento su mobile (2.26.10): a righe. Data su una riga in alto (mese, giorni, anno), poi testo, poi logo e pulsanti */
@media (max-width: 600px) {
  .ev-card { grid-template-columns: minmax(0, 1fr) !important; }
  .ev-card::before { left: 0; }
  .ev-card .ev-cal { flex-direction: row; align-items: baseline; justify-content: flex-start; gap: .75rem; padding: .875rem 1.25rem; }
  .ev-card .ev-cal b { flex: none; font-size: var(--fs-h3) !important; }
  .ev-card .ev-cal .ev-year { align-self: baseline; margin-left: auto; }
  .ev-card .ev-actions, .ev-card .ev-actions:has(.ev-logo--actions) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1rem 1.25rem !important; }
  .ev-card .ev-logo.ev-logo--actions { grid-column: 1 / -1; width: 8rem; height: 4rem; margin: 0; }
  .ev-card .ev-actions .ev-cta { grid-column: 1; justify-content: space-between; }
  .ev-card .ev-actions .ev-ics { grid-column: 2; border-left: 0; padding: 0; }
  /* Eventi passati: logo sotto il testo come negli eventi in programma, stessa misura */
  .ev-card .ev-body.has-logo { padding-top: 1rem !important; }
  .ev-card .ev-body.has-logo .ev-logo { position: static; order: 99; width: 8rem; height: 4rem; margin: 1rem 0 0; }
}
