/* Editorial direction: square edges, open layouts and typographic hierarchy. */
:root { --radius:0px; --bg:#f7f8fa; }
body *,body *::before,body *::after { border-radius:0!important; }
.modern-header { width:100%; max-width:none; top:0; border:0; border-bottom:1px solid var(--line); box-shadow:none; }
.modern-header .nav {min-height:84px; }
body[data-page=home] .modern-header { top:0; }
.modern-header .mega-shell { top:100%; left:max(24px,calc((100vw - 1292px)/2)); right:max(24px,calc((100vw - 1292px)/2)); box-shadow:0 20px 35px #0e2a4817; }
.mega-feature,.mega-callout,.mega-news>a { background:transparent; border-left:1px solid var(--line); }
.mega-tabs { background:#f3f6fa; }
.mega-tabs button { border-bottom:1px solid var(--line); }
.elad-hero-families { background:transparent; border:0; border-bottom:1px solid var(--line); }
.elad-hero-families a { padding-top:1.5rem; padding-bottom:1.5rem; }
body[data-page=home] .category-grid { display:block; border-top:1px solid #bdcce0; }
body[data-page=home] .category-card { display:grid; grid-template-columns:.45fr .9fr 1.5fr; gap:2rem; align-items:center; padding:2rem 0; border-bottom:1px solid #bdcce0; background:transparent; overflow:visible; }
body[data-page=home] .category-card:hover { transform:none; box-shadow:none; }
body[data-page=home] .category-top { padding:0; border:0; align-self:start; flex-direction:column; align-items:flex-start; gap:.5rem; }
body[data-page=home] .category-top .eyebrow { font:500 30px/1.1 Inter,Arial,sans-serif; color:var(--deep); letter-spacing:-.04em; }
body[data-page=home] .category-card>img { width:100%; margin:0; height:180px; object-fit:contain; }
body[data-page=home] .category-card>div:last-child { padding:0; }
body[data-page=home] .category-card h3 { font-size:clamp(25px,3vw,40px); min-height:0; }
body[data-page=home] .category-card p { font-size:15px; max-width:440px; margin:1rem 0 1.5rem; }
body[data-page=home] .category-card .text-link { border:0; padding:0; justify-content:flex-start; gap:1.5rem; }
body[data-page=home] .engineering-panel { background:transparent; padding:2rem 0 0; border-top:1px solid #bdcce0; gap:3rem; }
.engineering-cards>a { background:transparent; }
.engineering-cards>a>div { padding:1.5rem 0; }
.engineering-cards img { height:230px; }
.product-card { background:transparent; border:0; border-top:1px solid var(--line); overflow:visible; }
.product-card:hover { transform:none; box-shadow:none; }
.product-picture { margin:1rem 0 0; background:transparent; }
.product-copy { padding:1.5rem 0; }
.product-picture .pill { top:0; left:0; border:0; background:transparent; padding-left:0; }
.save-product { top:15px; right:0; background:transparent; }
.card-tail { border-color:#c5d2e4; }
.process-tags span { border:0; border-left:2px solid #8aa9d4; padding-left:.5rem; }
.sector-strip { gap:0; }
.sector-strip a { background:transparent; border:0; border-top:1px solid var(--line); }
.info-grid article,.news-grid article,.sector-grid article { background:transparent; border:0; border-top:1px solid var(--line); box-shadow:none; }
.modern-footer { margin:4rem 0 0; }
.footer-contact>span { border:0; border-bottom:1px solid #6b85a7; }
@media(max-width:900px) {
 .modern-header .nav { padding:0 1.5rem; }
 body[data-page=home] .modern-header { top:0; }
 body[data-page=home] .category-card { grid-template-columns:100px 1fr 1.4fr; gap:1.5rem; }
 .modern-header .mega-shell { left:0; right:0; }
}
@media(max-width:600px) {
 .modern-header .nav { min-height:72px; padding:0 1rem; }
 body[data-page=home] .category-card { grid-template-columns:1fr 1.6fr; gap:1rem; padding:1.5rem 0; }
 body[data-page=home] .category-card>img { height:135px; }
 body[data-page=home] .category-card>div:last-child { grid-column:1/-1; }
 body[data-page=home] .category-card h3 { font-size:28px; }
 body[data-page=home] .category-card p { font-size:14px; }
 body[data-page=home] .engineering-panel { gap:2rem; }
 .modern-footer { margin:2rem 0 0; }
 .mega-feature,.mega-callout,.mega-news>a { border-left:0; }
}

/* Mega menu (Prodotti, Servizi, Novità): indexed rail + numbered cell grid. */
.modern-header .mega-index { left:0; right:0; background:#f3f6f9; border:0; border-top:1px solid #d5dde7; border-bottom:1px solid #d5dde7; box-shadow:0 24px 40px #0e2a4814; }
.mega-index .mega-close { position:absolute; z-index:2; top:18px; right:24px; width:34px; height:34px; display:grid; place-items:center; font-size:22px; line-height:1; color:#66768b; background:transparent; border:0; }
.mega-index .mega-close:hover { color:var(--ink); background:#e2e8f0; }
.mega-index .mega-body { display:grid; grid-template-columns:minmax(260px,24%) 1fr; min-height:400px; }
.mega-index .mega-tabs { padding:0; gap:0; background:#e9eef4; border-right:1px solid #d5dde7; display:flex; flex-direction:column; }
.mega-index .mega-tabs::before { content:attr(data-label); padding:1.5rem 1.5rem; color:#66768b; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.16em; border-bottom:1px solid #d5dde7; }
.mega-index .mega-tabs button { position:relative; display:grid; grid-template-columns:72px 1fr 20px; align-items:center; gap:0; padding:0 1.5rem; min-height:60px; border:0; border-bottom:1px solid #d5dde7; border-left:2px solid transparent; background:transparent; box-shadow:none; color:var(--ink); text-align:left; transition:background .15s; }
.mega-index .mega-tabs button>span { font:9px Mono,monospace; color:#8b9cb4; letter-spacing:.12em; text-transform:uppercase; }
.mega-index .mega-tabs button>b { font-size:17px; font-weight:450; letter-spacing:-.02em; }
.mega-index .mega-tabs button i { position:static; transform:none; font-style:normal; font-size:17px; color:var(--blue); opacity:0; transition:opacity .15s,transform .15s; }
.mega-index .mega-tabs button:hover { background:#eef2f7; }
.mega-index .mega-tabs button[aria-selected=true] { background:#f3f6f9; border-left-color:var(--blue); color:var(--ink); box-shadow:none; }
.mega-index .mega-tabs button[aria-selected=true]>span { color:var(--blue); }
.mega-index .mega-tabs button[aria-selected=true] i { opacity:1; }
.mega-index .mega-panel { display:flex; flex-direction:column; gap:0; padding:1.5rem 2rem 1.5rem; }
.mega-index .mega-panel>.eyebrow { font:10px Mono,monospace; color:#66768b; letter-spacing:.16em; text-transform:uppercase; padding-right:3rem; }
.mega-index .mega-panel h3 { font-size:27px; font-weight:500; letter-spacing:-.03em; line-height:1.15; margin:2rem 0 0; }
.mega-index .mega-panel>p { font-size:13px; color:#3d4b5e; margin:.5rem 0 1.5rem; max-width:none; }
.mega-index .sub-links { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0; border-left:1px solid #d5dde7; border-top:1px solid #d5dde7; counter-reset:sub; background:#f3f6f9; }
.mega-index .sub-links a { counter-increment:sub; position:relative; display:flex; flex-direction:column; justify-content:center; gap:.5rem; padding:1rem 3rem 1rem 4rem; min-height:86px; border:0; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; font-size:15px; color:var(--ink); transition:background .15s; }
.mega-index .sub-links a::before { content:counter(sub,decimal-leading-zero); position:absolute; left:18px; top:50%; transform:translateY(-50%); color:#8496b1; font:9px Mono,monospace; letter-spacing:.06em; }
.mega-index .sub-links a::after { content:'→'; position:absolute; right:18px; bottom:16px; color:#8496b1; font-size:17px; line-height:1; transition:transform .15s,color .15s; }
.mega-index .sub-links a small { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:#4d5a6c; }
.mega-index .sub-links a:hover { background:#e9eef5; color:var(--ink); }
.mega-index .sub-links a:hover::after { color:var(--blue); transform:translateX(3px); }
.mega-index .sub-links:has(>a:last-child:nth-child(odd))::after { content:''; background:#dce3ec; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; }
.mega-index .sub-links:has(>a:nth-child(9)) { grid-template-columns:repeat(3,1fr); }
.mega-index .sub-links:has(>a:nth-child(9)) a { min-height:70px; padding-right:2rem; }
.mega-index .sub-links:has(>a:nth-child(9))::after { display:none; }
.mega-index .mega-foot { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid #d5dde7; }
.mega-index .mega-panel>.sub-links { margin-bottom:1rem; }
.mega-index .mega-all,.mega-index .mega-cta { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
.mega-index .mega-all:hover { color:var(--blue); }
.mega-index .mega-cta { display:inline-flex; align-items:center; gap:.75rem; border:1px solid #b9bfc7; padding:.75rem 1rem; transition:background .15s,border-color .15s; }
.mega-index .mega-cta span { font:15px Inter,sans-serif; letter-spacing:0; }
.mega-index .mega-cta:hover { background:var(--ink); border-color:var(--ink); color:#fff; }
@media(max-width:1100px) { .mega-index .sub-links:has(>a:nth-child(9)) { grid-template-columns:1fr 1fr; } }
@media(max-width:900px) {
 .mega-index .mega-body { grid-template-columns:210px 1fr; }
 .mega-index .mega-tabs button { grid-template-columns:1fr 18px; grid-template-rows:auto auto; padding:.75rem 1rem; gap:.25rem .25rem; }
 .mega-index .mega-tabs button>span { grid-column:1; }
 .mega-index .mega-tabs button>b { grid-column:1; font-size:14px; }
 .mega-index .mega-tabs button i { grid-column:2; grid-row:1/3; }
 .mega-index .mega-panel { padding:1.5rem; }
 .mega-index .mega-panel h3 { margin-top:1.5rem; }
 .mega-index .sub-links a { padding-left:3rem; }
 .mega-index .sub-links a::before { left:13px; }
}
@media(max-width:600px) {
 .mega-index .mega-close { top:8px; right:10px; }
 .mega-index .mega-body { display:block; }
 .mega-index .mega-tabs { display:grid; grid-template-columns:1fr 1fr; border-right:0; }
 .mega-index .mega-tabs::before { grid-column:1/-1; padding:1rem 1rem; }
 .mega-index .mega-tabs button { min-height:66px; border-left:0; border-right:1px solid #d5dde7; }
 .mega-index .mega-tabs button[aria-selected=true] { box-shadow:inset 0 -2px 0 var(--blue); }
 .mega-index .mega-tabs button i { display:none; }
 .mega-index .mega-panel { padding:1.5rem 1rem; }
 .mega-index .mega-panel h3 { margin-top:1rem; font-size:24px; }
 .mega-index .sub-links,.mega-index .sub-links:has(>a:nth-child(9)) { grid-template-columns:1fr; }
 .mega-index .sub-links::after { display:none!important; }
 .mega-index .sub-links a { min-height:66px; }
 .mega-index .mega-foot { flex-direction:column; align-items:stretch; }
 .mega-index .mega-cta { justify-content:space-between; }
}

/* Catalogo: category tabs, subcategory chips, indexed product cards. */
.catalog-section { --cl:#d5dde7; }
.catalog-section .catalog-toolbar { margin-bottom:1.5rem; }
.cat-tabs { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:0; border:1px solid var(--cl); background:#f5f7fa; }
.cat-tabs button { display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; padding:1.5rem 1rem 1.5rem; min-height:78px; border:0; border-left:1px solid var(--cl); background:transparent; color:var(--ink); text-align:left; transition:background .15s; }
.cat-tabs button:first-child { border-left:0; }
.cat-tabs button>span { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; }
.cat-tabs button>b { font-size:14px; font-weight:400; color:#4d5a6c; letter-spacing:-.01em; }
.cat-tabs button:hover { background:#e9eef4; }
.cat-tabs button[aria-pressed=true] { background:#0f1d33; color:#fff; }
.cat-tabs button[aria-pressed=true]>b { color:#fff; }
.sub-chips { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem 1rem; padding:.75rem 1rem; border:1px solid var(--cl); border-top:0; background:#e9eef4; }
.sub-chips>span { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
#sub-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
#sub-chips button { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; padding:.5rem .75rem; border:1px solid #b9bfc7; background:#f5f7fa; color:var(--ink); }
#sub-chips button:hover { border-color:var(--ink); }
#sub-chips button[aria-pressed=true] { background:#0f1d33; border-color:#0f1d33; color:#fff; }
.catalog-section .catalog-layout { display:block; margin-top:0; }
.catalog-section .results-bar { display:flex; justify-content:space-between; padding:1.5rem 0 .75rem; margin:0; border:0; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.catalog-section .catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--cl); border-left:1px solid var(--cl); }
.catalog-grid .product-card { position:relative; background:#f5f7fa; border:0; border-right:1px solid var(--cl); border-bottom:1px solid var(--cl); transition:background .15s; }
.catalog-grid .product-card:hover { background:#fff; transform:none; box-shadow:none; }
.catalog-grid .product-card>a { display:flex; flex-direction:column; height:100%; padding:1rem 1.5rem 1.5rem; }
.catalog-grid .card-head { display:flex; justify-content:space-between; align-items:center; font:10px Mono,monospace; letter-spacing:.12em; text-transform:uppercase; color:#4d5a6c; margin-bottom:.75rem; }
.catalog-grid .card-head b { font:15px Inter,sans-serif; color:var(--ink); transition:transform .15s; }
.catalog-grid .product-card:hover .card-head b { transform:translate(2px,-2px); color:var(--blue); }
.catalog-grid .product-picture { margin:0; aspect-ratio:1; background:#eaeff5; padding:0; display:grid; place-items:center; overflow:hidden; }
.catalog-grid .product-picture img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; padding:0; transition:transform .3s; }
.catalog-grid .product-card:hover .product-picture img { transform:scale(1.03); }
.catalog-grid .product-copy { padding:1rem 0 0; display:flex; flex-direction:column; flex:1; }
.catalog-grid .product-copy h3 { font-size:17px; font-weight:500; letter-spacing:-.02em; line-height:1.25; margin:0; min-height:0; }
.catalog-grid .product-copy small { display:block; margin-top:.5rem; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.catalog-grid .card-tail { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding:.75rem 2rem 0 0; border:0; border-top:1px dashed #b9bfc7; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.catalog-grid .product-copy h3+small { margin-bottom:1rem; }
.catalog-grid .card-tail em { font-style:normal; border:1px solid #9aa3ae; padding:.25rem .5rem; color:var(--ink); }
.catalog-grid .save-product { top:auto; bottom:21px; right:22px; width:26px; height:24px; padding:0; border:1px solid #9aa3ae; background:transparent; font-size:12px; line-height:1; display:grid; place-items:center; color:var(--ink); }
.catalog-grid .save-product[aria-pressed=true] { background:#0f1d33; color:#fff; border-color:#0f1d33; }
@media(max-width:1100px) { .catalog-section .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:900px) { .cat-tabs { grid-template-columns:repeat(3,1fr); } .cat-tabs button:nth-child(4) { border-left:0; } .cat-tabs button:nth-child(n+4) { border-top:1px solid var(--cl); } .catalog-section .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .cat-tabs { grid-template-columns:1fr 1fr; }
 .cat-tabs button { padding:.75rem; min-height:0; border-left:1px solid var(--cl)!important; border-top:1px solid var(--cl); }
 .cat-tabs button:first-child { grid-column:1/-1; border-top:0; }
 .cat-tabs button:nth-child(even) { border-left:0!important; }
 .sub-chips>span { width:100%; }
 .catalog-section .results-bar>span:last-child { display:none; }
 .catalog-grid .product-card>a { padding:.75rem; }
 .catalog-grid .product-copy h3 { font-size:14px; }
 .catalog-grid .card-tail span { display:none; }
 .catalog-grid .save-product { bottom:15px; right:14px; }
 .catalog-grid .card-tail { justify-content:flex-end; }
 .cat-tabs button:first-child { border-left:0!important; }
}


/* Scheda prodotto: hero bordato, righe etichetta/contenuto, specifiche indicizzate. */
.pd-hero { display:grid; grid-template-columns:1.05fr 1fr; background:#f5f7fa;}
.pd-media { position:relative; display:grid; place-items:center; padding:3rem; background:#e9eef4; border-right:1px solid #d5dde7; min-height:460px; }
.pd-media img { width:100%; max-width:440px; aspect-ratio:1; object-fit:contain; mix-blend-mode:multiply; }
.pd-tag { position:absolute; top:22px; left:24px; font:9px Mono,monospace; letter-spacing:.14em; color:#4d5a6c; border:1px solid #c5cfdb; background:#f5f7fa; padding:.25rem .5rem; }
.pd-info { display:flex; flex-direction:column; padding:2rem 2rem 2rem; }
.pd-meta { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
.pd-info h1 { font-size:clamp(32px,3.4vw,46px); font-weight:500; letter-spacing:-.04em; line-height:1.05; margin:1rem 0 1rem; }
.pd-tags { display:flex; flex-wrap:wrap; gap:.25rem; margin-bottom:1.5rem; }
.pd-tags span { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:#2f3e52; border:1px solid #b9c4d2; padding:.25rem .5rem; }
.pd-tags span+span { color:#66768b; }
.pd-info>p { font-size:15px; line-height:1.65; color:#3d4b5e; max-width:56ch; margin:0; }
.pd-foot { margin-top:auto; padding-top:1.5rem; }
.pd-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 1.5rem; border-top:1px solid #d5dde7; border-bottom:1px solid #d5dde7; }
.pd-facts div { padding:.75rem 0; }
.pd-facts div+div { padding-left:1rem; border-left:1px solid #d5dde7; }
.pd-facts dt { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
.pd-facts dd { margin:.25rem 0 0; font-size:13px; }
.pd-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-btn { display:inline-flex; align-items:center; gap:.75rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; padding:1rem 1rem; border:1px solid #9fabba; background:transparent; color:var(--ink); transition:background .15s,border-color .15s,color .15s; }
.pd-btn:hover { border-color:var(--ink); }
.pd-btn[aria-pressed=true] { background:#e9eef4; }
.pd-btn-dark { background:var(--blue); border-color:var(--blue); color:#fff; }
.pd-btn-dark:hover { background:var(--deep); border-color:var(--deep); }
.pd-btn-dark span { font:15px Inter,sans-serif; }
.pd-row { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding-top:3rem; padding-bottom:4rem; border-top:1px solid #d5dde7; }
.pd-label .eyebrow { font:10px Mono,monospace; letter-spacing:.14em; color:#66768b; }
.pd-label h2 { font-size:32px; font-weight:500; letter-spacing:-.035em; margin:.75rem 0 .75rem; }
.pd-label p { font-size:13px; color:#4d5a6c; max-width:34ch; }
.pd-count { display:inline-block; margin-top:.75rem; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; border:1px solid #b9c4d2; padding:.5rem .5rem; color:#2f3e52; }
.pd-lead { font-size:19px; line-height:1.55; letter-spacing:-.01em; color:var(--ink); margin:0; }
.pd-band { background:#e9eef4; border-top:1px solid #d5dde7; border-bottom:1px solid #d5dde7; }
.pd-band .pd-row { border-top:0; }
.pd-band+.pd-row { border-top:0; }
.pd-list { list-style:none; margin:0; padding:0; border:1px solid #d5dde7; background:#f5f7fa; }
.pd-list li { display:grid; grid-template-columns:70px 1fr; align-items:center; min-height:52px; padding:0 1rem; font-size:14px; border-bottom:1px solid #d5dde7; }
.pd-list li:last-child { border-bottom:0; }
.pd-list li>span { font:9px Mono,monospace; letter-spacing:.12em; color:#8496b1; }
.pd-docs li { display:block; padding:0; }
.pd-docs a { display:grid; grid-template-columns:1fr auto 24px; grid-template-rows:auto auto; align-items:center; gap:.25rem 1rem; padding:1rem 1rem; transition:background .15s; }
.pd-docs a:hover { background:#fff; }
.pd-docs b { font-weight:500; font-size:14px; }
.pd-docs small { grid-column:1; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:#66768b; }
.pd-docs em { grid-column:2; grid-row:1/3; font:normal 9px Mono,monospace; letter-spacing:.12em; color:#66768b; border:1px solid #c5cfdb; padding:.25rem .5rem; }
.pd-docs i { grid-column:3; grid-row:1/3; font-style:normal; color:var(--ink); }
#detail-specs .spec-table { width:100%; border-collapse:collapse; border:1px solid #d5dde7; background:#f5f7fa; font-size:13px; }
#detail-specs .spec-table tr:nth-child(even) { background:#edf1f6; }
#detail-specs .spec-table th,#detail-specs .spec-table td { padding:.75rem 1rem; border-bottom:1px solid #d5dde7; text-align:left; vertical-align:middle; }
#detail-specs .spec-table th { width:42%; border-right:1px solid #d5dde7; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:#2f3e52; font-weight:400; }
#detail-specs .spec-table th i { font-style:normal; color:#9fabba; margin-right:.75rem; }
#detail-specs>p { font-size:14px; color:#4d5a6c; border:1px solid #d5dde7; padding:1rem; margin:0; }
.pd-related { border-top:1px solid #d5dde7; }
.pd-pager { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d5dde7; border-bottom:1px solid #d5dde7; background:#f5f7fa; }
.pd-pager a { display:grid; gap:.25rem; padding:28px max(24px,calc((100vw - 1292px)/2)); transition:background .15s; }
.pd-pager a:hover { background:#e9eef4; }
.pd-pager .next { text-align:right; border-left:1px solid #d5dde7; grid-column:2; }
.pd-pager small { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
.pd-pager b { font-size:20px; font-weight:500; letter-spacing:-.02em; }
.pd-pager a>span { font-size:12px; color:#66768b; }
body[data-page=prodotto] .modern-footer,body[data-page=scheda] .modern-footer { margin-top:0; }
@media(max-width:900px) {
 .pd-hero { grid-template-columns:1fr; }
 .pd-media { border-right:0; border-bottom:1px solid #d5dde7; min-height:0; padding:3rem 1.5rem 1.5rem; }
 .pd-media img { max-width:360px; }
 .pd-info { padding:1.5rem 1.5rem; }
 .pd-row { grid-template-columns:1fr; gap:1.5rem; padding-top:2rem; padding-bottom:3rem; }
}
@media(max-width:600px) {
 .pd-facts { grid-template-columns:1fr 1fr; }
 .pd-facts div:nth-child(3) { grid-column:1/-1; padding-left:0; border-left:0; border-top:1px solid #d5dde7; }
 .pd-actions .pd-btn { flex:1 1 100%; justify-content:space-between; }
 .pd-lead { font-size:17px; }
 .pd-list li { grid-template-columns:58px 1fr; padding:.5rem .75rem; }
 #detail-specs .spec-table th { width:45%; }
 .pd-pager { grid-template-columns:1fr; }
 .pd-pager .next { grid-column:1; border-left:0; border-top:1px solid #d5dde7; }
 .pd-pager a { padding:1rem; }
 .pd-pager b { font-size:16px; }
}

/* Catalogo: caricamento progressivo. */
.load-more { display:flex; flex-direction:column; align-items:center; gap:.75rem; padding:2rem 0 .5rem; }
.load-more>span { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
#load-more-btn { display:inline-flex; gap:.75rem; align-items:center; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; padding:1rem 1.5rem; border:1px solid #9fabba; background:transparent; color:var(--ink); }
#load-more-btn:hover { border-color:var(--ink); background:#e9eef4; }
.catalog-grid .product-card:not([hidden]) { animation:card-in .35s ease both; }
@keyframes card-in { from { opacity:0; transform:translateY(8px); } }
@media(prefers-reduced-motion:reduce) { .catalog-grid .product-card:not([hidden]) { animation:none; } }


/* Breadcrumb: fascia autonoma subito sotto l'header. */
.crumbs { background:#e9eef4; border-bottom:1px solid #d5dde7; }
.crumbs .breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem 1rem; margin:0 auto; padding-top:1rem; padding-bottom:1rem; font:11px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
.crumbs .breadcrumb a { color:#66768b; transition:color .15s; }
.crumbs .breadcrumb a:hover { color:var(--blue); }
.crumbs .breadcrumb>span { color:#9aa3ae; }
.crumbs .breadcrumb [aria-current=page] { color:var(--ink); }
.crumbs+.page-heading { padding-top:3rem; }
@media(max-width:600px) { .crumbs .breadcrumb { font-size:9px; gap:.25rem .5rem; padding-top:.75rem; padding-bottom:.75rem; } .crumbs+.page-heading { padding-top:1.5rem; } .crumbs+.pd-hero { margin-top:1.5rem; } }

/* Header: voci mono a sinistra, azioni a destra. */
@media(min-width:901px) {
 .modern-header { background:#f5f7fa; border-bottom:1px solid #d5dde7; }
 .modern-header .nav { justify-content:flex-start; gap:3rem; min-height:4.5rem; }
 .modern-header .logo img { width:7.5rem; }
 .modern-header .nav nav { flex:1; gap:2rem; }
 .modern-header .nav nav>a,.modern-header .nav nav>button { position:relative; display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 0; border:0; border-radius:0; background:transparent!important; font:500 11px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:var(--ink); transition:color .15s; }
 .modern-header .nav nav>a::after,.modern-header .nav nav>button::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
 .modern-header .nav nav>a:hover,.modern-header .nav nav>button:hover { color:var(--blue); }
 .modern-header .nav nav>button[aria-expanded=true],.modern-header .nav nav>a[aria-current=page] { color:var(--blue); }
 .modern-header .nav nav>button[aria-expanded=true]::after,.modern-header .nav nav>a[aria-current=page]::after { transform:scaleX(1); }
 .modern-header .chev { width:.375rem; height:.375rem; margin:0 0 .25rem .125rem; border-right:1.5px solid #8b9cb4; border-bottom:1.5px solid #8b9cb4; transform:rotate(45deg); transition:transform .2s,margin .2s; }
 .modern-header [aria-expanded=true] .chev { transform:rotate(-135deg); margin:.25rem 0 0 .125rem; border-color:var(--blue); }
 .modern-header .nav nav>.wishlist-link { margin-left:auto; gap:.5rem; padding:.625rem 1rem; border:1px solid #b9c4d2; letter-spacing:.12em; }
 .modern-header .nav nav>.wishlist-link::after { display:none; }
 .modern-header .nav nav>.wishlist-link:hover { border-color:var(--ink); color:var(--ink); }
 .modern-header .wishlist-link b { border-radius:0; min-width:1.25rem; padding:.125rem .375rem; background:var(--blue); color:#fff; font:500 10px Mono,monospace; text-align:center; }
 .modern-header .nav nav>.nav-cta { margin-left:-1rem; gap:.75rem; padding:.875rem 1.5rem; border:1px solid var(--blue); border-radius:0; background:var(--blue)!important; color:#fff; letter-spacing:.14em; }
 .modern-header .nav nav>.nav-cta::after { display:none; }
 .modern-header .nav nav>.nav-cta span { font:15px Inter,sans-serif; transition:transform .2s; }
 .modern-header .nav nav>.nav-cta:hover { background:var(--deep)!important; border-color:var(--deep); color:#fff; transform:none; }
 .modern-header .nav nav>.nav-cta:hover span { transform:translateX(3px); }
}
@media(min-width:901px) and (max-width:1180px) {
 .modern-header .nav { gap:1.5rem; }
 .modern-header .nav nav { gap:1.25rem; }
 .modern-header .nav nav>a,.modern-header .nav nav>button { font-size:10px; letter-spacing:.08em; }
 .modern-header .wishlist-link span { display:none; }
 .modern-header .nav nav>.nav-cta { padding:.75rem 1rem; }
}
.modern-header .chev { display:inline-block; width:.375rem; height:.375rem; margin:0 0 .25rem .5rem; border-right:1.5px solid #8b9cb4; border-bottom:1.5px solid #8b9cb4; transform:rotate(45deg); }
@media(max-width:900px) {
 .modern-header .nav nav { border-radius:0; padding:.5rem 1rem 1rem; background:#f5f7fa; }
 .modern-header .nav nav>a,.modern-header .nav nav>button { display:flex; align-items:center; justify-content:space-between; width:100%; padding:1rem .25rem; border:0; border-bottom:1px solid #d5dde7; border-radius:0; background:transparent; font:500 12px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:var(--ink); text-align:left; }
 .modern-header .nav nav>.wishlist-link { justify-content:flex-start; gap:.5rem; }
 .modern-header .wishlist-link b { border-radius:0; background:var(--blue); color:#fff; padding:.125rem .375rem; }
 .modern-header .nav nav>.nav-cta { justify-content:space-between; margin-top:1rem; padding:1rem 1.25rem; border:0; color:#fff; background:var(--blue); }
 .modern-header .mobile-toggle { border-radius:0; font:500 11px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; }
}

/* Barra di avanzamento scroll: invisibile in cima, si riempie scorrendo. */
.scroll-progress { position:absolute; left:0; right:0; bottom:-1px; height:2px; pointer-events:none; opacity:0; transition:opacity .25s; z-index:2; }
.scroll-progress.on { opacity:1; }
.scroll-progress span { display:block; height:100%; background:var(--blue); transform:scaleX(var(--p,0)); transform-origin:left; will-change:transform; }

/* Ombra dell'header dopo lo scroll (stessa famiglia di quella del mega menu). */
.modern-header { transition:box-shadow .25s; }
.modern-header.is-scrolled { box-shadow:0 10px 28px #0e2a4814; }

/* Wishlist: tabella prodotti, sezione Sales e form (markup Gravity Forms). */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.wl-list { padding-top:1.5rem; padding-bottom:4rem; }
.wl-table { width:100%; border-collapse:collapse; border:1px solid #d5dde7; background:#f5f7fa; }
.wl-table th { padding:1rem 1.5rem; border-bottom:1px solid #d5dde7; background:#e9eef4; font:400 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; text-align:left; }
.wl-table td { padding:1rem 1.5rem; border-bottom:1px solid #d5dde7; vertical-align:middle; }
.wl-table th+th,.wl-table td+td { border-left:1px solid #d5dde7; }
.wl-table th:first-child,.wl-photo { width:8.5rem; }
.wl-table th:nth-child(3) { width:11rem; }
.wl-table th:nth-child(4) { width:10rem; }
.wl-table th:last-child { width:4rem; }
.wl-photo img,.wl-photo>span { display:grid; place-items:center; width:5.5rem; height:5.5rem; object-fit:contain; background:#e9eef4; border:1px solid #d5dde7; mix-blend-mode:multiply; font:9px Mono,monospace; color:#66768b; }
.wl-name a { display:block; font-size:20px; font-weight:500; letter-spacing:-.025em; color:var(--ink); }
.wl-name a:hover { color:var(--blue); }
.wl-name small,.wl-cat small { display:block; margin-top:.5rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.wl-cat small { margin:0 0 .25rem; }
.wl-cat span { font-size:13px; color:#3d4b5e; }
.wl-qty { display:inline-grid; grid-template-columns:2.25rem 3.5rem 2.25rem; border:1px solid #b9c4d2; background:#fff; }
.wl-qty button { height:2.25rem; border:0; background:#e9eef4; font-size:16px; color:var(--ink); }
.wl-qty button:hover { background:#dce3ec; }
.wl-qty input { width:100%; height:2.25rem; border:0; border-left:1px solid #b9c4d2; border-right:1px solid #b9c4d2; text-align:center; font-size:15px; background:#fff; -moz-appearance:textfield; }
.wl-qty input::-webkit-inner-spin-button,.wl-qty input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.wl-remove { text-align:center; }
.wl-remove button { width:2rem; height:2rem; border:0; background:transparent; font-size:18px; color:#4d5a6c; }
.wl-remove button:hover { color:#c0392b; background:#e9eef4; }
.wl-foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.5rem; border:1px solid #d5dde7; border-top:0; background:#e9eef4; }
.wl-foot>span { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.wl-foot>div { display:flex; flex-wrap:wrap; gap:.5rem; }
.wl-btn { display:inline-flex; align-items:center; gap:.75rem; padding:.875rem 1.25rem; border:1px solid #9fabba; background:transparent; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
.wl-btn:hover { border-color:var(--ink); }
.wl-btn-dark { background:var(--blue); border-color:var(--blue); color:#fff; }
.wl-btn-dark:hover { background:var(--deep); border-color:var(--deep); }
.wl-empty { padding:3rem; border:1px solid #d5dde7; background:#f5f7fa; }
.wl-empty h2 { font-size:32px; font-weight:500; letter-spacing:-.035em; margin:1rem 0 .5rem; }
.wl-empty p { max-width:50ch; margin:0 0 1.5rem; }
.wl-sales { background:#e9eef4; border-top:1px solid #d5dde7; padding:4rem 0 5rem; }
.wl-sales .eyebrow { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.wl-sales-head { display:grid; grid-template-columns:12rem 1fr; gap:1.5rem; padding-bottom:3rem; margin-bottom:3rem; border-bottom:1px solid #d5dde7; }
.wl-sales-head h2 { font-size:clamp(32px,3.6vw,48px); font-weight:500; letter-spacing:-.045em; margin:0 0 1rem; }
.wl-sales-head p { max-width:52ch; margin:0; font-size:16px; color:#3d4b5e; }
.wl-sales-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:4rem; align-items:start; }
.wl-contact { display:grid; grid-template-columns:5.5rem 1fr; gap:1.5rem; align-items:center; margin:1rem 0 3rem; padding:1.5rem; border:1px solid #d5dde7; background:#f5f7fa; }
.wl-contact-tag { display:grid; place-items:center; aspect-ratio:1; border:1px solid #c5cfdb; background:repeating-linear-gradient(0deg,transparent 0 17px,#dce3ec 17px 18px),repeating-linear-gradient(90deg,transparent 0 17px,#dce3ec 17px 18px); font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#2f3e52; }
.wl-contact b { display:block; font-size:20px; font-weight:500; letter-spacing:-.025em; }
.wl-contact small { display:block; margin-top:.25rem; font-size:13px; color:#4d5a6c; }
.wl-contact p { margin:1rem 0 0; font:11px Mono,monospace; letter-spacing:.06em; color:#2f3e52; }
.wl-contact a:hover { color:var(--blue); }
.wl-includes { list-style:none; margin:1rem 0 0; padding:0; }
.wl-includes li { display:grid; grid-template-columns:3.5rem 1fr; padding:1rem 0; border-bottom:1px solid #c5cfdb; font-size:15px; }
.wl-includes span { font:10px Mono,monospace; color:#66768b; padding-top:.25rem; }
/* Gravity Forms: vale per il markup di prova e per il form reale dentro .wl-sales. */
:is(.wl-sales,.gf-skin) .gform_wrapper { border:1px solid #d5dde7; background:#f5f7fa; }
:is(.wl-sales,.gf-skin) .gform_wrapper form { margin:0; }
:is(.wl-sales,.gf-skin) .gform_fields { display:block; }
:is(.wl-sales,.gf-skin) .gfield { display:grid; grid-template-columns:9rem 1fr; border-bottom:1px solid #d5dde7; margin:0; padding:0; }
:is(.wl-sales,.gf-skin) .gfield_label { display:block; padding:1.25rem 1.25rem; border-right:1px solid #d5dde7; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
:is(.wl-sales,.gf-skin) .gfield_required { color:var(--blue); margin-left:.25rem; }
:is(.wl-sales,.gf-skin) .ginput_container { display:flex; }
:is(.wl-sales,.gf-skin) .ginput_container input:not([type=checkbox]),:is(.wl-sales,.gf-skin) .ginput_container select,:is(.wl-sales,.gf-skin) .ginput_container textarea { width:100%; padding:1rem 1.25rem; border:0; background:transparent; font-size:15px; color:var(--ink); outline:0; transition:background .15s; }
:is(.wl-sales,.gf-skin) .ginput_container textarea { min-height:10rem; resize:vertical; line-height:1.55; }
:is(.wl-sales,.gf-skin) .ginput_container input:focus,:is(.wl-sales,.gf-skin) .ginput_container select:focus,:is(.wl-sales,.gf-skin) .ginput_container textarea:focus { background:#fff; box-shadow:inset 2px 0 0 var(--blue); }
:is(.wl-sales,.gf-skin) .ginput_container ::placeholder { color:#8b9cb4; }
:is(.wl-sales,.gf-skin) .gfield_visibility_hidden { display:none; }
:is(.wl-sales,.gf-skin) .gfield--type-consent { display:block; padding:1rem 1.25rem; }
:is(.wl-sales,.gf-skin) .ginput_container_consent { align-items:flex-start; gap:.75rem; font-size:13px; color:#3d4b5e; }
:is(.wl-sales,.gf-skin) .ginput_container_consent input { margin-top:.25rem; accent-color:var(--blue); }
:is(.wl-sales,.gf-skin) .gfield_error { background:#fdf1f0; }
:is(.wl-sales,.gf-skin) .gfield_error .gfield_label,:is(.wl-sales,.gf-skin) .gfield_error .gfield_consent_label { color:#c0392b; }
:is(.wl-sales,.gf-skin) .gform_footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; margin:0; padding:1.25rem; }
.wl-form-note { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
:is(.wl-sales,.gf-skin) .gform_button { display:inline-flex; align-items:center; gap:.75rem; padding:1rem 1.5rem; border:1px solid var(--blue); background:var(--blue); color:#fff; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; cursor:pointer; }
:is(.wl-sales,.gf-skin) .gform_button span { font:15px Inter,sans-serif; }
:is(.wl-sales,.gf-skin) .gform_button:hover { background:var(--deep); border-color:var(--deep); }
:is(.wl-sales,.gf-skin) .gform_confirmation_message { padding:1.25rem; border-top:1px solid #d5dde7; font-size:14px; }
:is(.wl-sales,.gf-skin) .gform_confirmation_message p { margin:0 0 .5rem; }
:is(.wl-sales,.gf-skin) .gform_confirmation_message a { color:var(--blue); }
@media(max-width:900px) {
 .wl-sales-head,.wl-sales-grid { grid-template-columns:1fr; gap:1.5rem; }
 .wl-sales-grid { gap:3rem; }
 .wl-table thead { display:none; }
 .wl-table,.wl-table tbody { display:block; }
 .wl-table tr { display:grid; grid-template-columns:5.5rem 1fr auto; grid-template-areas:"ph nm rm" "ph ct ct" "qt qt qt"; gap:.5rem 1rem; padding:1rem; border-bottom:1px solid #d5dde7; }
 .wl-table td { padding:0; border:0!important; width:auto!important; }
 .wl-photo { grid-area:ph; } .wl-name { grid-area:nm; } .wl-cat { grid-area:ct; } .wl-remove { grid-area:rm; } .wl-table td:nth-child(4) { grid-area:qt; }
 .wl-photo img,.wl-photo>span { width:5.5rem; height:5.5rem; }
 .wl-name a { font-size:17px; }
 .wl-cat small { display:inline; margin-right:.5rem; }
}
@media(max-width:600px) {
 .wl-sales { padding:3rem 0; }
 :is(.wl-sales,.gf-skin) .gfield { grid-template-columns:1fr; }
 :is(.wl-sales,.gf-skin) .gfield_label { border-right:0; padding:1rem 1rem 0; }
 :is(.wl-sales,.gf-skin) .ginput_container input:not([type=checkbox]),:is(.wl-sales,.gf-skin) .ginput_container select,:is(.wl-sales,.gf-skin) .ginput_container textarea { padding:.5rem 1rem 1rem; }
 :is(.wl-sales,.gf-skin) .gform_button { width:100%; justify-content:space-between; }
 .wl-foot>div,.wl-foot .wl-btn { width:100%; justify-content:space-between; }
 .wl-contact { grid-template-columns:1fr; }
 .wl-contact-tag { width:5.5rem; }
}

/* Mega menu Supporto: tre link al portale esterno. */
.mega-compact .mega-body { display:block; min-height:0; }
.mega-compact .mega-panel h3 { margin-top:1.5rem; }
.mega-compact .sub-links { grid-template-columns:repeat(3,1fr); margin-bottom:0!important; }
.mega-compact .sub-links::after { display:none!important; }
.mega-compact .sub-links a::after { content:'↗'; }
@media(max-width:600px) { .mega-compact .sub-links { grid-template-columns:1fr; } .mega-compact .mega-panel { padding:1.5rem 1rem; } }

/* Header: link allo shop esterno accanto alla wishlist. */
@media(min-width:901px) {
 .modern-header .nav nav>.shop-link { margin-left:auto; gap:.5rem; padding:.625rem 1rem; border:1px solid #b9c4d2; letter-spacing:.12em; }
 .modern-header .nav nav>.shop-link::after { display:none; }
 .modern-header .nav nav>.shop-link span { font:13px Inter,sans-serif; color:#66768b; transition:transform .2s,color .2s; }
 .modern-header .nav nav>.shop-link:hover { border-color:var(--ink); color:var(--ink); }
 .modern-header .nav nav>.shop-link:hover span { color:var(--blue); transform:translate(2px,-2px); }
 .modern-header .nav nav>.shop-link+.wishlist-link { margin-left:-1.25rem; }
}
@media(min-width:901px) and (max-width:1180px) { .modern-header .nav nav>.shop-link { padding:.625rem .75rem; } .modern-header .nav nav>.shop-link+.wishlist-link { margin-left:-.75rem; } }
@media(max-width:900px) { .modern-header .nav nav>.shop-link { justify-content:space-between; } }

/* Contatti: form Gravity Forms nello stile della wishlist. */
.contact-gf>.eyebrow { display:block; margin-bottom:1rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.gf-skin .wl-form-note { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
@media(max-width:600px) {
 .gf-skin .gfield { grid-template-columns:1fr; }
 .gf-skin .gfield_label { border-right:0; padding:1rem 1rem 0; }
 .gf-skin .ginput_container input:not([type=checkbox]),.gf-skin .ginput_container select,.gf-skin .ginput_container textarea { padding:.5rem 1rem 1rem; }
 .gf-skin .gform_button { width:100%; justify-content:space-between; }
}

/* CTA header: resta leggibile anche sulla pagina Contatti (aria-current). */
.modern-header .nav nav>.nav-cta[aria-current=page],.modern-header .nav nav>.nav-cta[aria-current=page]:hover { color:#fff; background:var(--deep)!important; border-color:var(--deep); }
.modern-header .nav nav>.nav-cta[aria-current=page]::after { display:none; }

/* ===== Sistema bottoni unificato =====
   Tutti i bottoni: altezza 3rem, padding 0 1.5rem, Mono 10px maiuscolo, freccia 15px.
   Varianti: pieno blu (.btn, .nav-cta, .pd-btn-dark, .wl-btn-dark, .gform_button),
   outline (.pd-btn, .wl-btn, .mega-cta, #load-more-btn, header shop/wishlist), bianco (.btn.white). */
.btn,.pd-btn,.wl-btn,.mega-cta,#load-more-btn,:is(.wl-sales,.gf-skin) .gform_button,.modern-header .nav nav>.nav-cta,.elad-hero-actions .btn {
 display:inline-flex!important; align-items:center; justify-content:center; gap:.75rem!important;
 height:3rem; min-height:3rem; padding:0 1.5rem!important; box-sizing:border-box;
 border:1px solid transparent; border-radius:0!important;
 font:500 10px/1 Mono,monospace!important; text-transform:uppercase; letter-spacing:.14em!important; white-space:nowrap;
 transition:background .15s,border-color .15s,color .15s; transform:none!important;
}
.btn>span,.pd-btn>span,.wl-btn>span,.mega-cta>span,#load-more-btn>span,:is(.wl-sales,.gf-skin) .gform_button>span,.modern-header .nav nav>.nav-cta>span,.elad-hero-actions .btn>span { font:15px/1 Inter,sans-serif!important; letter-spacing:0; transition:transform .2s; }
.btn:hover>span,.pd-btn:hover>span,.wl-btn:hover>span,.mega-cta:hover>span,:is(.wl-sales,.gf-skin) .gform_button:hover>span,.modern-header .nav nav>.nav-cta:hover>span { transform:translateX(3px); }
/* pieno blu */
.btn,.pd-btn-dark,.wl-btn-dark,:is(.wl-sales,.gf-skin) .gform_button,.modern-header .nav nav>.nav-cta { background:var(--blue)!important; border-color:var(--blue)!important; color:#fff!important; }
.btn:hover,.pd-btn-dark:hover,.wl-btn-dark:hover,:is(.wl-sales,.gf-skin) .gform_button:hover,.modern-header .nav nav>.nav-cta:hover { background:var(--deep)!important; border-color:var(--deep)!important; }
/* outline */
.pd-btn:not(.pd-btn-dark),.wl-btn:not(.wl-btn-dark),.mega-cta,#load-more-btn { background:transparent; border-color:#9fabba; color:var(--ink); }
.pd-btn:not(.pd-btn-dark):hover,.wl-btn:not(.wl-btn-dark):hover,.mega-cta:hover,#load-more-btn:hover { background:#e9eef4; border-color:var(--ink); color:var(--ink); }
/* bianco su fondo scuro */
.btn.white { background:#fff!important; border-color:#fff!important; color:var(--deep)!important; }
.btn.white:hover { background:#e9eef4!important; border-color:#e9eef4!important; }
/* header: shop e wishlist outline alla stessa altezza */
@media(min-width:901px) {
 .modern-header .nav nav>.shop-link,.modern-header .nav nav>.wishlist-link { height:3rem; padding:0 1.25rem!important; display:inline-flex; align-items:center; gap:.5rem; font:500 10px/1 Mono,monospace; letter-spacing:.14em; border-color:#9fabba; }
 .modern-header .nav nav>.shop-link:hover,.modern-header .nav nav>.wishlist-link:hover { background:#e9eef4!important; border-color:var(--ink); }
 .modern-header .nav nav>.shop-link span { font:13px/1 Inter,sans-serif; }
}
@media(min-width:901px) and (max-width:1180px) { .modern-header .nav nav>.nav-cta,.modern-header .nav nav>.shop-link,.modern-header .nav nav>.wishlist-link { padding:0 1rem!important; } }
@media(max-width:900px) { .modern-header .nav nav>.nav-cta { width:100%; justify-content:space-between; margin-top:1rem; } }
@media(max-width:600px) { .btn,.pd-btn,.wl-btn,.mega-cta,:is(.wl-sales,.gf-skin) .gform_button { white-space:normal; } }

/* Pixel decorativi (stesso linguaggio della hero video). Uso: <div class="px" data-px="col,righe,densità"> */
.px-host { position:relative; }
.px { --s:.625rem; --g:.1875rem; display:grid; width:max-content; grid-template-columns:repeat(var(--c,6),var(--s)); gap:var(--g); color:var(--blue); pointer-events:none; }
.px i { width:var(--s); height:var(--s); background:currentColor; opacity:var(--o,.5); }
.px i.off { opacity:0; }
.px i.hot { color:#80b2ff; }
.px i.blink { animation:px-blink var(--du,4s) var(--dl,0s) ease-in-out infinite; }
@keyframes px-blink { 0%,100% { opacity:var(--o,.5); } 45% { opacity:.05; } 60% { opacity:.95; } }
@media(prefers-reduced-motion:reduce) { .px i.blink { animation:none; } }
.px--heading { position:absolute; top:3rem; right:max(1.5rem,var(--gutter)); --s:.875rem; --g:.25rem; }
.px--cover { position:absolute; z-index:2; top:1.5rem; right:calc(var(--gutter) + 1.5rem); --s:.75rem; color:#fff; filter:drop-shadow(0 1px 6px #0b1e3c55); }
.px--cover i.hot { color:var(--blue); }
.px--inline { margin-top:1.5rem; --s:.5rem; --g:.1875rem; }
.section-title:has(>.px--title) { align-items:flex-end; }
.px--title { --s:.5rem; --g:.1875rem; margin-bottom:.75rem; }
.px--cta { position:absolute; right:3rem; top:1.5rem; color:#80b2ff; opacity:.8; }
.px--cta i.hot { color:#fff; }
.project-cta.px-host>.btn { position:relative; z-index:1; }
@media(max-width:900px) { .px--heading { --s:.625rem; top:2rem; opacity:.7; } .px--title { display:none; } .px--cta { right:1.5rem; bottom:1.5rem; --s:.5rem; } }
@media(max-width:600px) { .px--heading { --s:.4375rem; --g:.125rem; top:1.5rem; } .px--cover { --s:.4375rem; top:1rem; right:2.25rem; } .px--cta { display:none; } }

/* Pixel nel titolo: varianti per template. */
.px--heading[data-shape=wave] i:not(.off) { opacity:max(var(--o,.5),.6); }
.pd-info>.px--heading { top:2.25rem; right:2.5rem; --s:.5rem; --g:.1875rem; }
@media(max-width:900px) { .pd-info>.px--heading { top:1.75rem; right:1.5rem; } }

/* Scheda prodotto: precedente/successivo allineati al gutter del contenuto. */
.pd-pager a { padding:1.5rem var(--gutter); }
.pd-pager .prev { padding-right:1.5rem; }
.pd-pager .next { padding-left:1.5rem; }
@media(max-width:600px) { .pd-pager a,.pd-pager .prev,.pd-pager .next { padding:1.25rem var(--gutter); } }

/* Scheda prodotto: barra di collegamenti rapidi sotto l'immagine. */
.pd-jump { display:flex; flex-wrap:wrap; align-items:stretch; margin-top:0; border-top:1px solid #d5dde7; border-bottom:1px solid #d5dde7; background:#f5f7fa; padding:0 var(--gutter); }
.pd-jump>span { display:flex; align-items:center; padding:1rem 1.5rem 1rem 0; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#8b9cb4; }
.pd-jump a { display:flex; align-items:center; gap:.75rem; padding:1rem 1.5rem; border-left:1px solid #d5dde7; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); transition:background .15s,color .15s; }
.pd-jump a:last-child { border-right:1px solid #d5dde7; }
.pd-jump a i { font-style:normal; color:#8b9cb4; }
.pd-jump a b { font:13px Inter,sans-serif; color:#8b9cb4; transition:transform .2s,color .2s; }
.pd-jump a:hover { background:#e9eef4; color:var(--blue); }
.pd-jump a:hover b { color:var(--blue); transform:translateY(2px); }
.pd-jump+.pd-row { border-top:0; }
@media(max-width:600px) { .pd-jump { padding:0; } .pd-jump>span { display:none; } .pd-jump a { flex:1; justify-content:center; padding:.875rem .5rem; gap:.375rem; } .pd-jump a:first-of-type { border-left:0; } .pd-jump a:last-child { border-right:0; } .pd-jump a i { display:none; } }

/* La barra utility resta nitida sopra lo sfondo sfocato del mega menu. */
.utility { position:relative; z-index:61; }

/* Home: la hero occupa lo schermo meno utility e header. --chrome-h è calcolata da site.js. */
.fullscreen-hero .video-stage { min-height:calc(100vh - var(--chrome-h,7rem)); min-height:calc(100dvh - var(--chrome-h,7rem))!important; }

/* Footer bottom: dati societari e link legali. */
.modern-footer .footer-bottom { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; }
.footer-legal { display:inline-flex; gap:.5rem; align-items:center; }
.footer-legal a { color:#93aac8; }
.footer-legal a:hover { color:#fff; }
@media(max-width:600px) { .modern-footer .footer-bottom { flex-direction:column; align-items:flex-start; gap:.5rem; } .modern-footer .footer-bottom>span:nth-child(2) { display:inline; } }

.modern-footer .footer-bottom { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; }
.modern-footer .footer-bottom>span:nth-child(2) { text-align:center; }
.modern-footer .footer-bottom>.footer-legal { justify-self:end; }
@media(max-width:600px) { .modern-footer .footer-bottom { grid-template-columns:1fr; } .modern-footer .footer-bottom>span:nth-child(2) { text-align:left; } .modern-footer .footer-bottom>.footer-legal { justify-self:start; } }

/* Footer: firma con banda di pixel animata a tutta larghezza (al posto di "ELAD" e del blocco pixel). */
.footer-signature { display:grid!important; grid-template-columns:auto 1fr; align-items:end; gap:3rem; padding-top:3rem; padding-bottom:2rem; }
.footer-signature>span:first-child { font-size:clamp(22px,3vw,40px); font-weight:400; line-height:1.05; letter-spacing:-.04em; color:#7798c1; }
.px--band { width:100%; --s:.75rem; --g:.25rem; color:#3b82f6; justify-content:space-between; }
.px--band i { opacity:calc(var(--o,.5) * .9); }
.px--band i.hot { color:#96bcff; }
@media(max-width:900px) { .footer-signature { grid-template-columns:1fr; gap:1.5rem; } .px--band { --s:.5rem; --g:.1875rem; } }

/* Footer: titoli colonna in mono. */
.modern-footer h4 { font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#96bcff; margin-bottom:1rem; }

/* ===== Home: sezioni sotto la hero nel linguaggio del sito (celle, mono, grigio-azzurro). ===== */
body[data-page=home] main>.section { padding-top:5rem; padding-bottom:0; }
body[data-page=home] main>.section:last-of-type { padding-bottom:5rem; }
body[data-page=home] .section-title { align-items:flex-end; margin-bottom:2rem; padding-bottom:1.5rem; border-bottom:1px solid #d5dde7; }
body[data-page=home] .section-title h2,body[data-page=home] .engineering-intro h2,body[data-page=home] .daq-banner h2,body[data-page=home] .company-block h2 { font-size:clamp(32px,3.6vw,52px); font-weight:500; letter-spacing:-.045em; line-height:1.05; }
body[data-page=home] main .eyebrow { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
body[data-page=home] main .eyebrow::before { content:'— '; }
body[data-page=home] .section-title .text-link { font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); border:1px solid #9fabba; height:3rem; padding:0 1.25rem; display:inline-flex; align-items:center; gap:.75rem; }
body[data-page=home] .section-title .text-link:hover { border-color:var(--ink); background:#e9eef4; }

/* Famiglie */
.family-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.family-card { display:flex; flex-direction:column; padding:1.25rem 1.5rem 1.5rem; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; background:#f5f7fa; transition:background .2s; }
.family-card:hover { background:#fff; }
.fc-head { display:grid; grid-template-columns:1fr auto auto; gap:1rem; align-items:center; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.fc-head span:first-child { color:var(--blue); }
.fc-head b { font:15px Inter,sans-serif; color:var(--ink); transition:transform .2s,color .2s; }
.family-card:hover .fc-head b { transform:translate(2px,-2px); color:var(--blue); }
.fc-pic { margin:1.25rem 0 1.5rem; aspect-ratio:4/3; background:#e9eef4; display:grid; place-items:center; overflow:hidden; }
.fc-pic img { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; transition:transform .5s; }
.family-card:hover .fc-pic img { transform:scale(1.04); }
.family-card h3 { font-size:22px; font-weight:500; letter-spacing:-.03em; margin:0 0 .5rem; }
.family-card p { font-size:14px; color:#4d5a6c; margin:0 0 1.5rem; }
.fc-link { margin-top:auto; display:flex; justify-content:space-between; padding-top:1rem; border-top:1px dashed #b9c4d2; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
.fc-link span { font:15px Inter,sans-serif; transition:transform .2s; }
.family-card:hover .fc-link span { transform:translateX(3px); color:var(--blue); }

/* Competenze */
body[data-page=home] .engineering-panel { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:0; padding:0; background:#e9eef4; border:1px solid #d5dde7; }
body[data-page=home] .engineering-intro { padding:3rem; border-right:1px solid #d5dde7; display:flex; flex-direction:column; align-items:flex-start; }
body[data-page=home] .engineering-intro h2 { margin:1.5rem 0 1rem; }
body[data-page=home] .engineering-intro p { max-width:36ch; margin:0 0 2rem; }
body[data-page=home] .process-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:auto; padding-top:2rem; }
body[data-page=home] .process-tags span { font:9px Mono,monospace; letter-spacing:.14em; text-transform:uppercase; border:1px solid #b9c4d2; padding:.5rem .75rem; color:#2f3e52; }
body[data-page=home] .engineering-cards { display:grid; grid-template-columns:1fr 1fr; gap:0; }
body[data-page=home] .engineering-cards>a { display:flex; flex-direction:column; background:#f5f7fa; transition:background .2s; }
body[data-page=home] .engineering-cards>a+a { border-left:1px solid #d5dde7; }
body[data-page=home] .engineering-cards>a:hover { background:#fff; }
body[data-page=home] .engineering-cards img { height:auto; aspect-ratio:4/3; width:100%; object-fit:cover; }
body[data-page=home] .engineering-cards>a>div { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
body[data-page=home] .engineering-cards small { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); }
body[data-page=home] .engineering-cards h3 { font-size:22px; font-weight:500; letter-spacing:-.03em; margin:.75rem 0 .5rem; }
body[data-page=home] .engineering-cards p { font-size:14px; margin:0 0 1.5rem; }
body[data-page=home] .engineering-cards span { margin-top:auto; padding-top:1rem; border-top:1px dashed #b9c4d2; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }

/* Prodotti in evidenza: stesse card del catalogo */
body[data-page=home] .home-featured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }

/* Configuratore */
body[data-page=home] .daq-banner { border-radius:0; background:#0b1e3c; padding:3.5rem; gap:3rem; position:relative; overflow:hidden; }
body[data-page=home] .daq-banner .eyebrow { color:#96bcff; }
body[data-page=home] .daq-banner h2 { color:#fff; margin:1.5rem 0 1rem; }
body[data-page=home] .daq-banner p { color:#aec0d8; max-width:44ch; margin-bottom:2rem; }
body[data-page=home] .module-diagram { border-radius:0; border:1px solid #ffffff2a; background:#ffffff08; }
body[data-page=home] .module-diagram>div>* { border-radius:0; }

/* Azienda */
body[data-page=home] .company-block { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid #d5dde7; background:#f5f7fa; align-items:stretch; }
body[data-page=home] .company-visual { position:relative; margin:0; min-height:30rem; border-right:1px solid #d5dde7; background:#e9eef4; }
body[data-page=home] .company-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; }
body[data-page=home] .company-visual>span { position:absolute; left:0; bottom:0; padding:1.25rem 1.5rem; background:#0b1e3c; color:#fff; font-size:18px; line-height:1.25; letter-spacing:-.02em; border-radius:0; box-shadow:none; }
body[data-page=home] .company-block>div:last-child { padding:3rem; display:flex; flex-direction:column; align-items:flex-start; }
body[data-page=home] .company-block h2 { margin:1.5rem 0 1rem; }
body[data-page=home] .company-block p { max-width:46ch; }
.home-stats { display:grid; grid-template-columns:repeat(3,1fr); width:100%; margin:1.5rem 0; border-top:1px solid #d5dde7; border-bottom:1px solid #d5dde7; }
.home-stats div { padding:1rem 0; }
.home-stats div+div { padding-left:1.5rem; border-left:1px solid #d5dde7; }
.home-stats dt { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
.home-stats dd { margin:.25rem 0 0; font-size:36px; font-weight:500; letter-spacing:-.04em; color:var(--blue); line-height:1; }
body[data-page=home] .company-links { width:100%; margin-top:auto; padding-top:1.5rem; }
body[data-page=home] .company-links a { display:flex; justify-content:space-between; padding:.875rem 0; border-bottom:1px solid #d5dde7; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
body[data-page=home] .company-links a:hover { color:var(--blue); }

/* Settori */
body[data-page=home] .sector-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
body[data-page=home] .sector-strip a { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:11rem; padding:1.5rem; background:#f5f7fa; border:0; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; transition:background .2s; }
body[data-page=home] .sector-strip a:hover { background:#0b1e3c; color:#fff; }
body[data-page=home] .sector-strip span { font:10px Mono,monospace; letter-spacing:.14em; color:#8b9cb4; }
body[data-page=home] .sector-strip span::before { content:'SEC.'; }
body[data-page=home] .sector-strip h3 { font-size:22px; font-weight:500; letter-spacing:-.03em; margin:0; padding-right:2rem; }
body[data-page=home] .sector-strip b { position:absolute; top:1.25rem; right:1.5rem; font:15px Inter,sans-serif; transition:transform .2s; }
body[data-page=home] .sector-strip a:hover b { transform:translate(2px,-2px); color:#96bcff; }

/* Novità */
body[data-page=home] .news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
body[data-page=home] .news-grid article { display:flex; flex-direction:column; padding:1.5rem!important; background:#f5f7fa!important; border:0!important; border-right:1px solid #d5dde7!important; border-bottom:1px solid #d5dde7!important; }
body[data-page=home] .news-grid article>div { display:flex; justify-content:space-between; align-items:center; margin-bottom:2.5rem; }
body[data-page=home] .news-grid .pill { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; border:1px solid #b9c4d2; border-radius:0; padding:.375rem .625rem; background:transparent; color:#2f3e52; }
body[data-page=home] .news-grid article>div .eyebrow::before { content:''; }
body[data-page=home] .news-grid h3 { font-size:22px; font-weight:500; letter-spacing:-.03em; margin:0 0 .5rem; }
body[data-page=home] .news-grid p { font-size:14px; margin:0 0 1.5rem; }
body[data-page=home] .news-grid .text-link { margin-top:auto; padding-top:1rem; border-top:1px dashed #b9c4d2; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
body[data-page=home] .news-grid .text-link:hover { color:var(--blue); }

@media(max-width:1100px) { .family-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } body[data-page=home] .sector-strip { grid-template-columns:repeat(2,1fr); } }
@media(max-width:900px) {
 body[data-page=home] main>.section { padding-top:3.5rem; }
 body[data-page=home] .engineering-panel,body[data-page=home] .company-block { grid-template-columns:1fr; }
 body[data-page=home] .engineering-intro { border-right:0; border-bottom:1px solid #d5dde7; padding:2rem 1.5rem; }
 body[data-page=home] .company-visual { min-height:20rem; border-right:0; border-bottom:1px solid #d5dde7; }
 body[data-page=home] .company-block>div:last-child { padding:2rem 1.5rem; }
 body[data-page=home] .home-featured,body[data-page=home] .news-grid { grid-template-columns:1fr 1fr; }
 body[data-page=home] .daq-banner { padding:2rem 1.5rem; }
}
@media(max-width:600px) {
 .family-grid,body[data-page=home] .engineering-cards,body[data-page=home] .news-grid,body[data-page=home] .sector-strip { grid-template-columns:1fr; }
 body[data-page=home] .engineering-cards>a+a { border-left:0; border-top:1px solid #d5dde7; }
 body[data-page=home] .section-title { flex-direction:column; align-items:flex-start; gap:1rem; }
 body[data-page=home] .sector-strip a { min-height:7rem; }
 .home-stats dd { font-size:28px; }
}

/* Home: barra famiglie sotto la hero. */
.fullscreen-hero .elad-hero-families { width:100%; max-width:none; margin:0; display:grid; grid-template-columns:repeat(4,1fr); background:#f5f7fa; border:0; border-bottom:1px solid #d5dde7; border-radius:0; overflow:visible; }
.elad-hero-families a { position:relative; display:flex!important; flex-direction:column; gap:0; padding:1.5rem var(--gutter) 1.25rem 1.5rem!important; border-left:1px solid #d5dde7; background:transparent; color:var(--ink); transition:background .25s,color .25s; }
.elad-hero-families a:first-child { border-left:0; padding-left:var(--gutter)!important; }
.elad-hero-families a::before { content:''; position:absolute; left:0; right:0; top:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.ef-top { display:flex; justify-content:space-between; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
.ef-top span:first-child { color:var(--blue); }
.elad-hero-families .elad-family-code { margin:1.5rem 0 .25rem; font-size:clamp(32px,3.2vw,44px); font-weight:500; letter-spacing:-.045em; line-height:1; color:var(--ink); }
.elad-hero-families .elad-family-name { font-size:13px; color:#4d5a6c; }
.ef-foot { display:flex; justify-content:space-between; align-items:flex-end; margin-top:1.5rem; }
.ef-px { --s:.375rem; --g:.125rem; }
.elad-hero-families .elad-family-arrow { font:17px Inter,sans-serif; color:var(--ink); transition:transform .2s,color .2s; }
.elad-hero-families a:hover { background:#0b1e3c!important; color:#fff; }
.elad-hero-families a:hover::before { transform:scaleX(1); }
.elad-hero-families a:hover .elad-family-code { color:#fff; }
.elad-hero-families a:hover .elad-family-name,.elad-hero-families a:hover .ef-top { color:#aec0d8; }
.elad-hero-families a:hover .ef-top span:first-child { color:#96bcff; }
.elad-hero-families a:hover .elad-family-arrow { color:#96bcff; transform:translate(2px,-2px); }
.elad-hero-families a:hover .ef-px { color:#96bcff; }
@media(max-width:900px) {
 .fullscreen-hero .elad-hero-families { grid-template-columns:1fr 1fr; width:100%; }
 .elad-hero-families a,.elad-hero-families a:first-child { padding:1.25rem var(--gutter)!important; }
 .elad-hero-families a:nth-child(3) { border-left:0; }
 .elad-hero-families a:nth-child(n+3) { border-top:1px solid #d5dde7; }
}
@media(max-width:600px) { .elad-hero-families .elad-family-name { font-size:11px; min-height:2.4em; } .elad-hero-families .elad-family-code { margin-top:1rem; } }

/* Home: sezione configuratore Corus DAQ. */
body[data-page=home] .cfg-band { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:0; padding:0!important; background:#0b1e3c; color:#fff; border-radius:0; }
.cfg-copy { padding:3.5rem; display:flex; flex-direction:column; align-items:flex-start; border-right:1px solid #ffffff1f; }
.cfg-steps { list-style:none; margin:2rem 0 2.5rem; padding:0; width:100%; border-top:1px solid #ffffff1f; }
.cfg-steps li { display:grid; grid-template-columns:3rem 1fr; padding:1rem 0; border-bottom:1px solid #ffffff1f; }
.cfg-steps li>span { font:10px Mono,monospace; letter-spacing:.14em; color:#96bcff; padding-top:.25rem; }
.cfg-steps b { display:block; font-size:17px; font-weight:500; letter-spacing:-.02em; color:#fff; }
.cfg-steps small { display:block; margin-top:.25rem; font-size:13px; color:#aec0d8; }
.cfg-diagram { padding:2.5rem 3rem; display:flex; flex-direction:column; gap:1.25rem; background:#ffffff06; }
.cfg-head { display:flex; justify-content:space-between; padding-bottom:1rem; border-bottom:1px solid #ffffff1f; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#8fa6c4; }
.cfg-label { display:block; margin-bottom:.75rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#96bcff; }
.cfg-signals { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; }
.cfg-signals span { padding:.75rem; border:1px solid #ffffff2e; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:#dbe6f5; text-align:center; animation:cfg-sig 6s ease-in-out infinite; }
.cfg-signals span:nth-child(2) { animation-delay:.5s; } .cfg-signals span:nth-child(3) { animation-delay:1s; } .cfg-signals span:nth-child(4) { animation-delay:1.5s; } .cfg-signals span:nth-child(5) { animation-delay:2s; } .cfg-signals span:nth-child(6) { animation-delay:2.5s; }
@keyframes cfg-sig { 0%,70%,100% { border-color:#ffffff2e; background:transparent; } 10%,25% { border-color:#3b82f6; background:#3b82f622; } }
.cfg-flow { display:grid; grid-template-columns:1fr auto; align-items:center; gap:1rem; }
.cfg-flow .px { width:100%; --s:.3125rem; --g:.1875rem; justify-content:space-between; color:#3b82f6; }
.cfg-flow b { font:17px Inter,sans-serif; color:#96bcff; }
.cfg-core { display:grid; grid-template-columns:repeat(6,1fr); gap:.5rem; padding:.75rem; border:1px solid #ffffff2e; }
.cfg-core span { display:flex; flex-direction:column; justify-content:space-between; min-height:6.5rem; padding:.75rem .5rem; border:1px solid currentColor; animation:cfg-slot 6s ease-in-out infinite; }
.cfg-core b { font:500 13px Mono,monospace; letter-spacing:.08em; }
.cfg-core small { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.1em; opacity:.7; }
.cfg-core .ga { color:#60a5fa; background:#3b82f61a; }
.cfg-core .aa { color:#fbbf24; background:#f59e0b14; }
.cfg-core .ao { color:#34d399; background:#10b98114; }
.cfg-core .free { color:#8fa6c4; border-style:dashed; background:transparent; animation:none; }
.cfg-core span:nth-child(1) { animation-delay:3s; } .cfg-core span:nth-child(2) { animation-delay:3.3s; } .cfg-core span:nth-child(3) { animation-delay:3.6s; } .cfg-core span:nth-child(4) { animation-delay:3.9s; } .cfg-core span:nth-child(5) { animation-delay:4.2s; }
@keyframes cfg-slot { 0%,60%,100% { box-shadow:none; } 8%,20% { box-shadow:inset 0 0 0 1px currentColor,0 0 18px -4px currentColor; } }
.cfg-legend { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; padding-top:1rem; border-top:1px solid #ffffff1f; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:#aec0d8; }
.cfg-legend i { display:inline-block; width:.5rem; height:.5rem; margin-right:.5rem; vertical-align:middle; }
.cfg-legend .ga { background:#60a5fa; } .cfg-legend .aa { background:#fbbf24; } .cfg-legend .ao { background:#34d399; }
@media(prefers-reduced-motion:reduce) { .cfg-signals span,.cfg-core span { animation:none; } }
@media(max-width:1100px) { body[data-page=home] .cfg-band { grid-template-columns:1fr; } .cfg-copy { border-right:0; border-bottom:1px solid #ffffff1f; } }
@media(max-width:600px) { .cfg-copy,.cfg-diagram { padding:2rem 1.25rem; } .cfg-signals { grid-template-columns:1fr 1fr; } .cfg-core { grid-template-columns:repeat(3,1fr); } .cfg-core span { min-height:4.5rem; } }
body[data-page=home] .cfg-band { align-items:stretch; }
.cfg-diagram { justify-content:center; }

/* Configuratore in home: fascia a tutta larghezza, contenuti allineati al gutter. */
body[data-page=home] .cfg-section { padding-left:0; padding-right:0; }
body[data-page=home] .cfg-section .cfg-band { width:100%; }
body[data-page=home] .cfg-section .cfg-copy { padding:4.5rem 3rem 4.5rem var(--gutter); }
body[data-page=home] .cfg-section .cfg-diagram { padding:4.5rem var(--gutter) 4.5rem 3rem; }
@media(max-width:1100px) { body[data-page=home] .cfg-section .cfg-copy,body[data-page=home] .cfg-section .cfg-diagram { padding:3rem var(--gutter); } }

/* Catalogo: toolbar di ricerca nello stesso linguaggio delle schede categoria. */
.catalog-section .catalog-toolbar { display:grid; grid-template-columns:1fr auto; gap:0; margin:0; border:1px solid #d5dde7; border-bottom:0; background:#f5f7fa; }
.catalog-section .search { width:auto; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1rem; height:4rem; padding:0 1.25rem; border:0; border-radius:0; background:transparent; transition:background .15s,box-shadow .15s; }
.catalog-section .search:focus-within { background:#fff; box-shadow:inset 0 -2px 0 var(--blue); }
.search-label { padding-right:1rem; border-right:1px solid #d5dde7; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); }
.catalog-section .search input { height:100%; font-size:17px; letter-spacing:-.01em; outline:0; }
.catalog-section .search input::placeholder { color:#8b9cb4; }
.catalog-section .search kbd { display:grid; place-items:center; width:1.75rem; height:1.75rem; border:1px solid #b9c4d2; font:10px Mono,monospace; color:#66768b; background:#fff; }
.catalog-section .search:focus-within kbd { display:none; }
.toolbar-wishlist { display:inline-flex; align-items:center; gap:.625rem; height:4rem; padding:0 1.5rem; border-left:1px solid #d5dde7; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); transition:background .15s; }
.toolbar-wishlist:hover { background:#e9eef4; }
.toolbar-wishlist>span { font:14px Inter,sans-serif; }
.toolbar-wishlist b { min-width:1.25rem; padding:.125rem .375rem; background:var(--blue); color:#fff; font:500 10px Mono,monospace; text-align:center; }
@media(max-width:600px) {
 .catalog-section .search { height:3.5rem; padding:0 1rem; gap:.75rem; }
 .catalog-section .search kbd { display:none; }
 .catalog-section .search input { font-size:15px; }
 .toolbar-wishlist { height:3.5rem; padding:0 1rem; font-size:0; gap:.375rem; }
 .toolbar-wishlist>span { font-size:15px; }
}
.catalog-section .search>.search-label { font:10px Mono,monospace; letter-spacing:.14em; color:var(--blue); }
@media(max-width:600px) { .catalog-section .search>.search-label { padding-right:.75rem; } }

/* Catalogo: nessun risultato. */
.empty-results:not([hidden]) { display:grid; grid-template-columns:auto 1fr; gap:3rem; align-items:center; padding:3rem; border:1px solid #d5dde7; border-top:0; background:#f5f7fa; }
.empty-results .px { --s:.75rem; --g:.25rem; }
.er-meta { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); }
.er-meta span { color:#4d5a6c; text-transform:none; letter-spacing:.06em; }
.empty-results h3 { font-size:clamp(26px,2.6vw,36px); font-weight:500; letter-spacing:-.035em; margin:1rem 0 .5rem; }
.empty-results p { max-width:56ch; margin:0 0 1.5rem; color:#4d5a6c; }
.er-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
@media(max-width:600px) { .empty-results:not([hidden]) { grid-template-columns:1fr; gap:1.5rem; padding:2rem 1.25rem; } .empty-results .px { --s:.5rem; } .er-actions .wl-btn { width:100%; justify-content:space-between; } }

/* Product card: riga azioni (stato/shop, Info, wishlist) fuori dal link principale. */
.catalog-grid .product-card { display:flex; flex-direction:column; }
.catalog-grid .product-card>a { flex:1; padding-bottom:0!important; }
.catalog-grid .product-copy { padding-bottom:1.25rem; }
.catalog-grid .card-tail { display:none; }
.card-actions { display:flex; align-items:center; gap:.375rem; margin:0 22px 22px; padding-top:.875rem; border-top:1px dashed #b9c4d2; }
.card-status { margin-right:auto; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
a.card-status.is-shop { display:inline-flex; align-items:center; gap:.375rem; color:var(--blue); }
a.card-status.is-shop::before { content:''; width:.375rem; height:.375rem; background:#22c55e; }
a.card-status.is-shop span { font:12px Inter,sans-serif; transition:transform .2s; }
a.card-status.is-shop:hover span { transform:translate(2px,-2px); }
.card-btn,.catalog-grid .card-actions .save-product { position:static!important; display:inline-grid; place-items:center; height:1.75rem; min-width:1.75rem; padding:0 .5rem; border:1px solid #9fabba; background:transparent; font:500 9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:var(--ink); line-height:1; transition:background .15s,border-color .15s,color .15s; }
.catalog-grid .card-actions .save-product { width:1.75rem; padding:0; font:12px/1 Inter,sans-serif; letter-spacing:0; }
.card-btn:hover,.catalog-grid .card-actions .save-product:hover { border-color:var(--ink); background:#e9eef4; }
.catalog-grid .card-actions .save-product[aria-pressed=true] { background:var(--blue); border-color:var(--blue); color:#fff; }
.catalog-grid .card-actions .save-product[aria-pressed=true]:hover { background:var(--deep); border-color:var(--deep); }
@media(max-width:600px) { .card-actions { margin:0 14px 14px; } .card-status { font-size:8px; letter-spacing:.08em; } a.card-status.is-shop { font-size:0; } a.card-status.is-shop::after { content:'Shop'; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.1em; } }

/* Notifica wishlist. */
.toast { left:auto!important; right:1.5rem; bottom:1.5rem; transform:none!important; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1rem; width:min(26rem,calc(100vw - 2rem)); padding:1rem 1.25rem!important; border-radius:0!important; background:#0b1e3c!important; color:#fff; box-shadow:0 18px 40px #0e2a4840; overflow:hidden; font-size:14px; }
.toast.is-in { animation:toast-in .3s cubic-bezier(.2,.8,.2,1); }
@keyframes toast-in { from { opacity:0; transform:translateY(12px)!important; } }
.toast-icon { display:grid; place-items:center; width:2.25rem; height:2.25rem; background:var(--blue); font:15px Inter,sans-serif; }
.toast--removed .toast-icon { background:transparent; border:1px solid #ffffff40; }
.toast-body { min-width:0; }
.toast-body small { display:block; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#96bcff; }
.toast-body b { display:block; margin-top:.25rem; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.toast-actions { display:flex; flex-direction:column; align-items:flex-end; gap:.375rem; }
.toast-actions a,.toast-undo { font:500 9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:#fff; background:none; border:0; padding:0; white-space:nowrap; }
.toast-undo { color:#aec0d8; text-decoration:underline; text-underline-offset:3px; }
.toast-actions a:hover,.toast-undo:hover { color:#96bcff; }
.toast-bar { position:absolute; left:0; bottom:0; height:2px; width:100%; background:var(--blue); transform-origin:left; animation:toast-bar 4.2s linear forwards; }
@keyframes toast-bar { from { transform:scaleX(1); } to { transform:scaleX(0); } }
@media(max-width:600px) { .toast { right:1rem; bottom:1rem; } }
@media(prefers-reduced-motion:reduce) { .toast.is-in,.toast-bar { animation:none; } }

/* "Disponibile sullo shop" più evidente: chip piena + badge sull'immagine. */
a.card-status.is-shop { height:1.75rem; padding:0 .625rem; gap:.5rem; background:#e3edff; border:1px solid var(--blue); color:var(--deep); font-weight:500; letter-spacing:.12em; transition:background .15s,color .15s; }
a.card-status.is-shop:hover { background:var(--blue); color:#fff; }
a.card-status.is-shop::before { width:.4375rem; height:.4375rem; border-radius:50%!important; background:#22c55e; box-shadow:0 0 0 0 #22c55e80; animation:shop-pulse 2s ease-out infinite; }
@keyframes shop-pulse { 0% { box-shadow:0 0 0 0 #22c55e80; } 70%,100% { box-shadow:0 0 0 .375rem #22c55e00; } }
.catalog-grid .product-picture { position:relative; }
.shop-badge { position:absolute; left:.625rem; top:.625rem; display:inline-flex; align-items:center; gap:.375rem; padding:.375rem .5rem; background:var(--blue); color:#fff; font:500 9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; }
.shop-badge i { width:.375rem; height:.375rem; border-radius:50%!important; background:#86efac; }
.catalog-grid .product-card.has-shop { box-shadow:inset 0 2px 0 var(--blue); }
@media(prefers-reduced-motion:reduce) { a.card-status.is-shop::before { animation:none; } }
@media(max-width:600px) { a.card-status.is-shop { padding:0 .5rem; } }

/* Utility: icone mail, telefono, lingua. */
.utility .wrap>div a,.utility .u-lang { display:inline-flex; align-items:center; gap:.5rem; }
.utility .u-ico { flex:none; opacity:.75; }
.utility a:hover .u-ico { opacity:1; }
.utility .u-lang { padding-left:1rem; border-left:1px solid #ffffff30; font-weight:500; letter-spacing:.06em; }
/* Configuratore home: niente sbordi su mobile. */
body[data-page=home] .cfg-section { overflow:hidden; }
body[data-page=home] .cfg-band { max-width:100%; overflow:hidden; }
.cfg-copy,.cfg-diagram,.cfg-block,.cfg-flow,.cfg-core,.cfg-signals { min-width:0; }
.cfg-copy h2 { overflow-wrap:anywhere; }
.cfg-signals span { min-width:0; overflow-wrap:anywhere; }
.cfg-flow { overflow:hidden; }
.cfg-flow .px { max-width:100%; overflow:hidden; }
@media(max-width:1100px) { body[data-page=home] .cfg-band { grid-template-columns:minmax(0,1fr)!important; } }
@media(max-width:600px) {
 body[data-page=home] .cfg-section .cfg-copy,body[data-page=home] .cfg-section .cfg-diagram { padding:2.5rem 20px; }
 .cfg-copy .btn { width:100%; justify-content:space-between; white-space:normal; }
 .cfg-head { flex-wrap:wrap; gap:.25rem 1rem; }
 .cfg-signals span { padding:.625rem .25rem; letter-spacing:.06em; font-size:9px; }
 .cfg-core { gap:.375rem; padding:.5rem; }
 .cfg-core span { padding:.5rem .375rem; }
 .cfg-legend { flex-direction:column; }
}

/* Menu mobile attaccato all'header, senza spazio vuoto. */
@media(max-width:900px) { .modern-header .nav nav { top:100%!important; left:0!important; right:0!important; margin:0; border:0; border-top:1px solid #d5dde7; border-bottom:1px solid #d5dde7; box-shadow:0 18px 30px #0e2a4814; } }

/* Contatti: configurazione Corus DAQ allegata. */
.cfg-attach { margin-bottom:1rem; border:1px solid var(--blue); background:#eef4ff; }
.cfg-attach-head { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:.875rem 1.25rem; background:var(--blue); color:#fff; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; }
.cfg-attach pre { margin:0; padding:1rem 1.25rem; max-height:14rem; overflow:auto; font:11px/1.7 Mono,monospace; color:#2f3e52; white-space:pre-wrap; }
.cfg-attach-actions { display:flex; gap:.5rem; flex-wrap:wrap; padding:0 1.25rem 1rem; }
.cfg-attach-actions .card-btn { height:2.25rem; padding:0 .875rem; }

/* ===== Pagina Servizi ===== */
body[data-page=servizi] .pd-jump { margin-bottom:0; }
.sv-section { padding-top:5rem; padding-bottom:5rem; }
.sv-head { display:grid; grid-template-columns:12rem 1fr; gap:1.5rem; align-items:start; margin-bottom:2.5rem; padding-bottom:1.5rem; border-bottom:1px solid #d5dde7; }
.sv-head .eyebrow,.sv-process-head .eyebrow { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; padding-top:.75rem; }
.sv-head h2,.sv-process-head h2 { font-size:clamp(32px,3.6vw,52px); font-weight:500; letter-spacing:-.045em; line-height:1.05; margin:0; }
.sv-cards { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.sv-card { display:flex; flex-direction:column; background:#f5f7fa; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; scroll-margin-top:7rem; }
.sv-pic { position:relative; aspect-ratio:16/9; overflow:hidden; background:#e9eef4; }
.sv-pic img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.sv-card:hover .sv-pic img { transform:scale(1.03); }
.sv-tag { position:absolute; top:1rem; right:1rem; padding:.375rem .625rem; background:var(--blue); color:#fff; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; }
.sv-body { display:flex; flex-direction:column; flex:1; padding:2rem; }
.sv-meta { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); }
.sv-body h3 { font-size:28px; font-weight:500; letter-spacing:-.035em; margin:.75rem 0 .75rem; }
.sv-body>p { font-size:15px; color:#3d4b5e; margin:0 0 1.5rem; max-width:52ch; }
.sv-list { list-style:none; margin:0 0 2rem; padding:0; border-top:1px solid #d5dde7; }
.sv-list li { display:flex; gap:.75rem; align-items:center; padding:.75rem 0; border-bottom:1px solid #d5dde7; font-size:14px; }
.sv-list li::before { content:''; width:.375rem; height:.375rem; background:var(--blue); flex:none; }
.sv-link { margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding-top:1rem; border-top:1px dashed #b9c4d2; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
.sv-link span { font:15px Inter,sans-serif; transition:transform .2s; }
.sv-link:hover { color:var(--blue); }
.sv-link:hover span { transform:translateX(3px); }
.sv-band { background:#e9eef4; border-top:1px solid #d5dde7; border-bottom:1px solid #d5dde7; padding:5rem 0; scroll-margin-top:5rem; }
.sv-cap { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:3rem; align-items:start; }
.sv-cap-list { list-style:none; margin:0; padding:0; border-top:1px solid #c5cfdb; }
.sv-cap-list li { display:grid; grid-template-columns:3rem auto 1fr auto; align-items:baseline; gap:1rem; padding:1.25rem 0; border-bottom:1px solid #c5cfdb; transition:background .15s,padding .2s; }
.sv-cap-list li:hover { background:#f5f7fa; padding-left:.75rem; padding-right:.75rem; }
.sv-cap-list span { font:10px Mono,monospace; letter-spacing:.12em; color:#8b9cb4; }
.sv-cap-list b { font-size:20px; font-weight:500; letter-spacing:-.025em; }
.sv-cap-list small { font-size:13px; color:#4d5a6c; }
.sv-cap-list small::before { content:'— '; color:#9fabba; }
.sv-cap-list em { font:normal 9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.sv-cap-fig { position:sticky; top:8rem; margin:0; border:1px solid #c5cfdb; background:#f5f7fa; }
.sv-cap-fig img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; }
.sv-cap-fig figcaption { position:absolute; left:1rem; bottom:1rem; padding:.5rem .75rem; background:#0b1e3cdd; color:#fff; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; }
.sv-process { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:4rem; align-items:start; scroll-margin-top:5rem; }
.sv-process-head { position:sticky; top:8rem; }
.sv-process-head h2 { margin:1rem 0; }
.sv-process-head p { max-width:30ch; color:#4d5a6c; margin:0 0 2rem; }
.sv-process-head .px { --s:.5rem; --g:.1875rem; }
.sv-steps { list-style:none; margin:0; padding:0; border-top:1px solid #d5dde7; counter-reset:none; }
.sv-steps li { display:grid; grid-template-columns:4rem 1fr; padding:2rem 0; border-bottom:1px solid #d5dde7; }
.sv-steps li>span { font:10px Mono,monospace; letter-spacing:.12em; color:var(--blue); padding-top:.5rem; }
.sv-steps h3 { font-size:24px; font-weight:500; letter-spacing:-.03em; margin:0 0 .5rem; }
.sv-steps p { margin:0; color:#4d5a6c; max-width:48ch; }
body[data-page=servizi] .project-cta { margin-bottom:5rem; }
@media(max-width:900px) {
 .sv-head { grid-template-columns:1fr; gap:.5rem; }
 .sv-cards,.sv-cap,.sv-process { grid-template-columns:1fr; }
 .sv-cap-fig,.sv-process-head { position:static; }
 .sv-cap-fig img { aspect-ratio:16/10; }
 .sv-section,.sv-band { padding-top:3.5rem; padding-bottom:3.5rem; }
 .sv-process { gap:2rem; }
}
@media(max-width:600px) {
 .sv-body { padding:1.5rem 1.25rem; }
 .sv-body h3 { font-size:24px; }
 .sv-cap-list li { grid-template-columns:2.25rem 1fr auto; gap:.25rem .75rem; }
 .sv-cap-list small { grid-column:2; grid-row:2; }
 .sv-cap-list em { grid-column:3; grid-row:1; }
 .sv-cap-list b { font-size:17px; }
 .sv-steps li { grid-template-columns:2.75rem 1fr; padding:1.5rem 0; }
}
@media(max-width:900px) { .sv-cap-fig { position:relative!important; } }

/* Servizi: eyebrow sopra, spazi ridotti, processo a blocchi. */
.sv-section { padding-top:3rem; padding-bottom:3rem; }
.sv-band { padding:3rem 0; }
.sv-head { display:block; margin-bottom:1.5rem; padding-bottom:1.25rem; }
.sv-head .eyebrow { display:block; padding-top:0; margin-bottom:.75rem; }
.sv-head p { margin:.75rem 0 0; max-width:52ch; color:#4d5a6c; }
.sv-process { display:block; }
.sv-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.sv-steps li { position:relative; display:flex; flex-direction:column; gap:2.5rem; padding:1.5rem; background:#f5f7fa; border-bottom:1px solid #d5dde7; border-right:1px solid #d5dde7; transition:background .2s,color .2s; }
.sv-steps li:hover { background:#0b1e3c; color:#fff; }
.sv-steps li:hover p { color:#aec0d8; }
.sv-steps li:hover>span { color:#96bcff; }
.sv-steps li>span { display:flex; justify-content:space-between; padding:0; font:10px Mono,monospace; letter-spacing:.14em; color:var(--blue); }
.sv-steps li>span::after { content:'→'; font:15px Inter,sans-serif; color:#9fabba; }
.sv-steps li:last-child>span::after { content:'✓'; }
.sv-steps h3 { font-size:22px; margin:0 0 .5rem; }
.sv-steps p { font-size:14px; }
body[data-page=servizi] .project-cta { margin-bottom:3rem; }
@media(max-width:1100px) { .sv-steps { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:900px) { .sv-section,.sv-band { padding-top:2.5rem; padding-bottom:2.5rem; } }
@media(max-width:600px) { .sv-steps { grid-template-columns:1fr; } .sv-steps li { gap:1.25rem; padding:1.25rem; } .sv-steps li>span::after { content:'↓'; } }

/* Servizi v3: contenuti reali. */
.sv-facts { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:1.5rem; border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.sv-facts>div { display:flex; flex-direction:column; gap:.375rem; padding:1.25rem 1.5rem; background:#f5f7fa; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; }
.sv-facts span { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); }
.sv-facts b { font-size:20px; font-weight:500; letter-spacing:-.025em; }
.sv-facts small { font-size:13px; color:#4d5a6c; }
.sv-facts a { margin-top:auto; padding-top:.5rem; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
.sv-facts a:hover { color:var(--blue); }
.sv-chips { list-style:none; display:flex; flex-wrap:wrap; gap:.375rem; margin:0 0 1.75rem; padding:0; }
.sv-chips li { padding:.375rem .625rem; border:1px solid #b9c4d2; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; color:#2f3e52; }
.sv-steps--7 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sv-steps--7 li { gap:1.75rem; }
.sv-steps--7 li:nth-child(7)>span::after { content:'✓'; }
.sv-steps-cta { padding:0!important; background:var(--blue)!important; }
.sv-steps-cta a { display:flex; flex-direction:column; justify-content:space-between; height:100%; padding:1.5rem; color:#fff; }
.sv-steps-cta>a>span { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#dbe8ff; display:block; }
.sv-steps-cta>a>span::after { display:none; }
.sv-steps-cta b { display:flex; justify-content:space-between; align-items:center; font-size:22px; font-weight:500; letter-spacing:-.03em; }
.sv-steps-cta i { font-style:normal; transition:transform .2s; }
.sv-steps-cta:hover { background:var(--deep)!important; }
.sv-steps-cta:hover i { transform:translateX(4px); }
.sv-tests { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.sv-tests article { padding:1.5rem; background:#f5f7fa; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; }
.sv-tests header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.25rem; }
.sv-tests header span { padding:.375rem .625rem; background:var(--blue); color:#fff; font:500 10px Mono,monospace; letter-spacing:.14em; }
.sv-tests header small { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.sv-tests h3 { font-size:20px; font-weight:500; letter-spacing:-.025em; margin:0 0 .75rem; }
.sv-tests ul { list-style:none; margin:0; padding:0; }
.sv-tests li { display:flex; gap:.625rem; padding:.5rem 0; border-top:1px solid #e1e7ef; font-size:14px; color:#3d4b5e; }
.sv-tests li::before { content:''; flex:none; width:.3125rem; height:.3125rem; margin-top:.5rem; background:#9fb9e6; }
.sv-tests-for { background:#0b1e3c!important; color:#fff; }
.sv-tests-for header span { background:#fff; color:#0b1e3c; }
.sv-tests-for header small,.sv-tests-for li { color:#aec0d8; }
.sv-tests-for li { border-color:#ffffff1f; }
.sv-why { margin-top:2rem; padding:2rem; border:1px solid #d5dde7; background:#e9eef4; }
.sv-why .eyebrow { display:block; margin-bottom:1.25rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.sv-why>div { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-bottom:1.5rem; }
.sv-why article>span { font:10px Mono,monospace; letter-spacing:.14em; color:var(--blue); }
.sv-why h3 { font-size:20px; font-weight:500; letter-spacing:-.025em; margin:.5rem 0; }
.sv-why p { font-size:14px; margin:0; color:#4d5a6c; }
@media(max-width:1100px) { .sv-steps--7,.sv-tests { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .sv-facts,.sv-why>div { grid-template-columns:1fr; gap:0; } .sv-why>div { gap:1.25rem; } }
@media(max-width:600px) { .sv-steps--7,.sv-tests { grid-template-columns:1fr; } .sv-why { padding:1.5rem 1.25rem; } .sv-why .btn { width:100%; justify-content:space-between; } }

/* Footer: "Parliamo del tuo progetto" come CTA principale. */
.modern-footer a.footer-contact { display:inline-flex; align-items:center; gap:1.5rem; height:4.5rem; margin:0; padding:0 .75rem 0 2rem; background:var(--blue); border:1px solid var(--blue); color:#fff; font:500 11px Mono,monospace; text-transform:uppercase; letter-spacing:.16em; transition:background .2s,border-color .2s; }
.modern-footer a.footer-contact:hover { background:#fff; border-color:#fff; color:#0b1e3c; }
.modern-footer .footer-contact>span { width:3rem; height:3rem; border:0!important; background:#ffffff22; color:#fff; font:22px Inter,sans-serif; display:grid; place-items:center; transition:transform .25s,background .2s,color .2s; }
.modern-footer a.footer-contact:hover>span { background:var(--blue); color:#fff; transform:rotate(45deg); }
@media(max-width:600px) { .modern-footer a.footer-contact { width:100%; justify-content:space-between; height:4rem; padding-left:1.25rem; } }

/* Settori: griglia di celle indicizzate. */
.sec-section { padding-top:3rem; padding-bottom:4rem; }
.sec-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.sec-card { position:relative; display:flex; flex-direction:column; min-height:17rem; padding:1.5rem; background:#f5f7fa; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; scroll-margin-top:8rem; transition:background .25s,color .25s; }
.sec-card::before { content:''; position:absolute; left:0; right:0; top:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.sec-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:2.5rem; }
.sec-head>span:first-child { font:10px Mono,monospace; letter-spacing:.14em; color:#4d5a6c; }
.sec-head .px { --s:.375rem; --g:.125rem; }
.sec-card h2 { font-size:22px; font-weight:500; letter-spacing:-.03em; margin:0 0 .5rem; }
.sec-card p { font-size:14px; color:#4d5a6c; margin:0 0 1.5rem; }
.sec-foot { margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding-top:1rem; border-top:1px dashed #b9c4d2; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
.sec-foot b { font:15px Inter,sans-serif; transition:transform .2s; }
.sec-card:hover,.sec-card:target { background:#0b1e3c; color:#fff; }
.sec-card:hover::before,.sec-card:target::before { transform:scaleX(1); }
.sec-card:hover p,.sec-card:target p,.sec-card:hover .sec-head>span:first-child,.sec-card:target .sec-head>span:first-child { color:#aec0d8; }
.sec-card:hover .sec-foot,.sec-card:target .sec-foot { color:#fff; border-color:#ffffff33; }
.sec-card:hover .sec-foot b { transform:translate(2px,-2px); color:#96bcff; }
.sec-card:hover .px,.sec-card:target .px { color:#96bcff; }
@media(max-width:1100px) { .sec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .sec-grid { grid-template-columns:1fr; } .sec-card { min-height:0; } .sec-head { margin-bottom:1.5rem; } }
.sec-head { height:2.75rem; margin-bottom:1.75rem; overflow:hidden; }
.sec-section { padding-top:0; }

/* ===== Pagina Azienda ===== */
.az-origin { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3rem; align-items:start; }
.az-origin-copy .eyebrow { display:block; margin-bottom:.75rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.az-origin-copy h2 { font-size:clamp(32px,3.6vw,52px); font-weight:500; letter-spacing:-.045em; line-height:1.05; margin:0 0 1.5rem; }
.az-origin-copy p { font-size:16px; color:#3d4b5e; max-width:54ch; margin:0 0 1rem; }
.az-stats { display:grid; grid-template-columns:1fr 1fr; margin:2rem 0 0; border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.az-stats div { padding:1.25rem 1.5rem; background:#f5f7fa; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; }
.az-stats dt { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#66768b; }
.az-stats dd { margin:.5rem 0 0; font-size:clamp(30px,3vw,42px); font-weight:500; letter-spacing:-.045em; line-height:1; color:var(--ink); }
.az-stats dd small { font-size:.5em; color:#66768b; letter-spacing:-.02em; }
.az-origin-fig { position:relative; margin:0; border:1px solid #d5dde7; }
.az-origin-fig img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; }
.az-origin-fig figcaption { position:absolute; left:1rem; bottom:1rem; padding:.5rem .75rem; background:#0b1e3cdd; color:#fff; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; }
.az-areas { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #c5cfdb; border-left:1px solid #c5cfdb; }
.az-areas article { display:flex; flex-direction:column; padding:1.5rem; background:#f5f7fa; border-right:1px solid #c5cfdb; border-bottom:1px solid #c5cfdb; }
.az-area-code { font:10px Mono,monospace; letter-spacing:.14em; color:var(--blue); }
.az-areas h3 { font-size:24px; font-weight:500; letter-spacing:-.03em; margin:1.5rem 0 .5rem; }
.az-areas p { font-size:14px; color:#4d5a6c; margin:0 0 1.5rem; }
.az-areas a { margin-top:auto; display:flex; justify-content:space-between; padding-top:1rem; border-top:1px dashed #b9c4d2; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
.az-areas a:hover { color:var(--blue); }
/* Timeline */
.az-tl { padding:3.5rem 0 4rem; background:#0b1e3c; color:#fff; overflow:hidden; scroll-margin-top:5rem; }
.az-tl-head { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:2rem; }
.az-tl-head .eyebrow { display:block; margin-bottom:.75rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#96bcff; }
.az-tl-head h2 { font-size:clamp(32px,3.6vw,52px); font-weight:500; letter-spacing:-.045em; line-height:1.05; margin:0; color:#fff; }
.az-tl-ctrl { display:flex; align-items:center; gap:.5rem; }
.az-tl-count { margin-right:1rem; font:11px Mono,monospace; letter-spacing:.14em; color:#8fa6c4; }
.az-tl-count b { color:#fff; font-weight:500; }
.az-tl-btn { width:3rem; height:3rem; border:1px solid #ffffff40; background:transparent; color:#fff; font:17px Inter,sans-serif; transition:background .15s,border-color .15s; }
.az-tl-btn:hover { background:var(--blue); border-color:var(--blue); }
.az-tl-years { position:relative; display:flex; justify-content:space-between; gap:.5rem; overflow-x:auto; scrollbar-width:none; padding-top:.25rem; padding-bottom:.75rem; }
.az-tl-years::-webkit-scrollbar { display:none; }
.az-tl-years::before { content:''; position:absolute; left:var(--gutter); right:var(--gutter); top:calc(.25rem + .4375rem); height:1px; background:#ffffff26; }
.az-tl-years button { position:relative; display:flex; flex-direction:column; align-items:center; gap:.5rem; flex:none; min-width:3rem; padding:0; border:0; background:none; color:#8fa6c4; font:10px Mono,monospace; letter-spacing:.1em; }
.az-tl-years button i { width:.875rem; height:.875rem; border-radius:50%!important; border:1px solid #ffffff55; background:#0b1e3c; transition:background .2s,border-color .2s,box-shadow .2s; }
.az-tl-years button.is-past i { background:#3b82f6; border-color:#3b82f6; }
.az-tl-years button[aria-selected=true] { color:#fff; }
.az-tl-years button[aria-selected=true] i { background:#fff; border-color:#fff; box-shadow:0 0 0 .3125rem #3b82f655; }
.az-tl-years button:hover { color:#fff; }
.az-tl-progress { height:2px; margin:0 var(--gutter) 2rem; background:#ffffff14; }
.az-tl-progress i { display:block; height:100%; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.az-tl-track { display:grid; grid-auto-flow:column; grid-auto-columns:min(22rem,78vw); list-style:none; margin:0; padding:0 var(--gutter) .5rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:var(--gutter); scrollbar-width:none; cursor:grab; outline:0; }
.az-tl-track::-webkit-scrollbar { display:none; }
.az-tl-track.is-drag { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.az-tl-track:focus-visible { box-shadow:inset 0 0 0 2px #96bcff; }
.az-tl-track li { position:relative; display:flex; flex-direction:column; min-height:20rem; padding:1.75rem 1.75rem 2rem; border:1px solid #ffffff1f; border-left-width:0; background:#ffffff06; scroll-snap-align:start; transition:background .3s,border-color .3s; }
.az-tl-track li:first-child { border-left-width:1px; }
.az-tl-track li.is-active { background:#ffffff10; }
.az-tl-track li::before { content:''; position:absolute; left:0; right:0; top:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .5s; }
.az-tl-track li.is-active::before { transform:scaleX(1); }
.az-tl-year { font-size:clamp(48px,5vw,72px); font-weight:500; letter-spacing:-.05em; line-height:.9; color:#ffffff59; transition:color .3s; }
.az-tl-track li.is-active .az-tl-year { color:#fff; }
.az-tl-tag { align-self:flex-start; margin:1.25rem 0 auto; padding:.375rem .625rem; border:1px solid #96bcff80; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#96bcff; }
.az-tl-track h3 { font-size:20px; font-weight:500; letter-spacing:-.025em; margin:2.5rem 0 .5rem; color:#fff; }
.az-tl-track p { font-size:14px; color:#aec0d8; margin:0; }
.az-tl-track li.is-today { background:var(--blue); border-color:var(--blue); }
.az-tl-track li.is-today .az-tl-year { color:#fff; }
.az-tl-track li.is-today .az-tl-tag { border-color:#ffffff80; color:#fff; }
.az-tl-track li.is-today p { color:#e3edff; }
/* Certificazioni, mercato, partner */
.az-certs { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.az-certs a { display:grid; grid-template-columns:1fr auto; gap:.5rem 1rem; align-items:end; padding:1.5rem; background:#f5f7fa; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; transition:background .2s,color .2s; }
.az-certs span { grid-column:1/-1; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); }
.az-certs b { font-size:clamp(28px,3vw,40px); font-weight:500; letter-spacing:-.04em; }
.az-certs small { grid-column:1; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.az-certs i { grid-column:2; grid-row:2/4; display:grid; place-items:center; width:3rem; height:3rem; border:1px solid #9fabba; font:17px Inter,sans-serif; font-style:normal; transition:transform .2s; }
.az-certs a:hover { background:#0b1e3c; color:#fff; }
.az-certs a:hover small { color:#aec0d8; }
.az-certs a:hover span { color:#96bcff; }
.az-certs a:hover i { border-color:#96bcff; color:#96bcff; transform:translateY(3px); }
.az-market { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2rem; align-items:start; margin-top:2rem; padding-top:1.5rem; border-top:1px solid #d5dde7; }
.az-market .eyebrow { display:block; margin-bottom:.75rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.az-market p { margin:0; color:#3d4b5e; max-width:52ch; }
.az-partners { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid #c5cfdb; border-left:1px solid #c5cfdb; }
.az-partners span { display:flex; flex-direction:column; justify-content:space-between; gap:2rem; min-height:8rem; padding:1.25rem; background:#f5f7fa; border-right:1px solid #c5cfdb; border-bottom:1px solid #c5cfdb; font-size:17px; font-weight:500; letter-spacing:-.02em; }
.az-partners i { font:normal 10px Mono,monospace; letter-spacing:.14em; color:#8b9cb4; }
@media(max-width:1100px) { .az-partners { grid-template-columns:repeat(3,1fr); } }
@media(max-width:900px) { .az-origin,.az-market { grid-template-columns:1fr; } .az-origin-fig img { aspect-ratio:16/10; } .az-areas { grid-template-columns:1fr; } .az-tl-head { flex-direction:column; align-items:flex-start; } .az-tl-years { justify-content:flex-start; gap:1.25rem; padding-left:var(--gutter); padding-right:var(--gutter); } .az-tl-years::before { display:none; } }
@media(max-width:600px) { .az-certs,.az-partners { grid-template-columns:1fr 1fr; } .az-certs { grid-template-columns:1fr; } .az-stats div { padding:1rem; } .az-tl-track li { min-height:18rem; padding:1.5rem 1.25rem; } .az-tl-btn { width:2.75rem; height:2.75rem; } }
.az-tl-tag { margin:1.25rem 0 2.5rem; }
.az-tl-track h3 { margin:0 0 .5rem; }

/* ===== Pagina Novità ===== */
.nv-note { display:flex; gap:1rem; align-items:center; margin:0 0 2rem; padding:.75rem 1rem; border:1px dashed #9fabba; background:#f5f7fa; font-size:13px; color:#4d5a6c; }
.nv-note b { padding:.25rem .5rem; background:#fbbf24; color:#0b1e3c; font:500 9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; }
.nv-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); grid-template-rows:auto auto; border-top:1px solid #d5dde7; border-left:1px solid #d5dde7; }
.nv-card { display:flex; flex-direction:column; padding:1.5rem; background:#f5f7fa; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; transition:background .2s; }
.nv-card:hover { background:#fff; }
.nv-card--feature { grid-row:1/3; background:#0b1e3c; color:#fff; padding:2rem; }
.nv-card--feature:hover { background:#0e2547; }
.nv-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.nv-top time { font:11px Mono,monospace; letter-spacing:.14em; color:#4d5a6c; }
.nv-type { padding:.375rem .625rem; border:1px solid #b9c4d2; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#2f3e52; }
.nv-card--feature time { color:#96bcff; }
.nv-card--feature .nv-type { background:var(--blue); border-color:var(--blue); color:#fff; }
.nv-card--feature .px { width:100%; margin:3rem 0 2.5rem; --s:.4375rem; --g:.1875rem; justify-content:space-between; color:#3b82f6; }
.nv-card h3 { font-size:22px; font-weight:500; letter-spacing:-.03em; margin:2.5rem 0 .5rem; }
.nv-card--feature h3 { margin-top:auto; font-size:clamp(28px,2.8vw,40px); letter-spacing:-.04em; line-height:1.08; max-width:18ch; }
.nv-card p { font-size:14px; color:#4d5a6c; margin:0 0 1.5rem; }
.nv-card--feature p { font-size:16px; color:#aec0d8; max-width:44ch; }
.nv-link { margin-top:auto; display:flex; justify-content:space-between; padding-top:1rem; border-top:1px dashed #b9c4d2; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
.nv-link span { font:15px Inter,sans-serif; transition:transform .2s; }
.nv-link:hover { color:var(--blue); }
.nv-link:hover span { transform:translateX(3px); }
.nv-card--feature .nv-link { margin-top:0; color:#fff; border-color:#ffffff33; }
.nv-card--feature .nv-link:hover { color:#96bcff; }
.ev-list { display:grid; border-top:1px solid #c5cfdb; border-left:1px solid #c5cfdb; }
.ev-card { display:grid; grid-template-columns:11rem minmax(0,1fr) auto; align-items:stretch; background:#f5f7fa; border-right:1px solid #c5cfdb; border-bottom:1px solid #c5cfdb; transition:background .2s; }
.ev-card:hover { background:#fff; }
.ev-date { display:flex; flex-direction:column; justify-content:center; gap:.375rem; padding:1.5rem; background:var(--blue); color:#fff; }
.ev-date b { font-size:36px; font-weight:500; letter-spacing:-.04em; line-height:1; }
.ev-date span { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#dbe8ff; }
.ev-body { padding:1.5rem 2rem; }
.ev-place { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); }
.ev-body h3 { font-size:22px; font-weight:500; letter-spacing:-.03em; margin:.5rem 0 .375rem; }
.ev-body p { font-size:14px; color:#4d5a6c; margin:0; }
.ev-cta { display:flex; align-items:center; gap:.75rem; padding:0 1.5rem; border-left:1px solid #c5cfdb; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); white-space:nowrap; transition:background .15s,color .15s; }
.ev-cta span { font:15px Inter,sans-serif; transition:transform .2s; }
.ev-cta:hover { background:#0b1e3c; color:#fff; }
.ev-cta:hover span { transform:translateX(3px); }
@media(max-width:900px) { .nv-grid { grid-template-columns:1fr; } .nv-card--feature { grid-row:auto; } .ev-card { grid-template-columns:8rem minmax(0,1fr); } .ev-cta { grid-column:1/-1; border-left:0; border-top:1px solid #c5cfdb; padding:1rem 1.5rem; justify-content:space-between; } }
@media(max-width:600px) { .ev-card { grid-template-columns:1fr; } .ev-date { flex-direction:row; align-items:baseline; gap:1rem; padding:1rem 1.25rem; } .ev-date b { font-size:28px; } .ev-body { padding:1.25rem; } .nv-card--feature { padding:1.5rem; } .nv-note { align-items:flex-start; flex-direction:column; gap:.5rem; } }

/* Novità: griglia con notizia in evidenza + 2×2. */
.nv-grid { grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)); }
@media(max-width:1100px) { .nv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .nv-card--feature { grid-column:1/-1; grid-row:auto; } .nv-card--feature .px { margin:2rem 0; } }
@media(max-width:600px) { .nv-grid { grid-template-columns:1fr; } }

/* Novità: archivio dopo le prime 5. */
.nv-more { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-left:1px solid #d5dde7; }
.nv-more .nv-card h3 { margin-top:2rem; }
.nv-fill { border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; background:repeating-linear-gradient(135deg,transparent 0 10px,#e3e9f0 10px 11px); }
.nv-load { padding-top:2rem; }
#nv-load-btn { display:inline-flex; align-items:center; gap:.75rem; height:3rem; padding:0 1.5rem; border:1px solid #9fabba; background:transparent; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--ink); }
#nv-load-btn:hover { border-color:var(--ink); background:#e9eef4; }
.nv-more .nv-card:not([hidden]) { animation:card-in .35s ease both; }
@media(max-width:1100px) { .nv-more { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .nv-more { grid-template-columns:1fr; } }

/* Novità: un'unica griglia a 4 colonne uguali (evidenza 2×2), archivio allineato. */
.nv-grid,.nv-more { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
.nv-card--feature { grid-column:1/3; grid-row:1/3; }
.nv-more { border-left:1px solid #d5dde7; }
.nv-more .nv-card h3,.nv-grid .nv-card:not(.nv-card--feature) h3 { margin-top:2rem; }
@media(max-width:1100px) { .nv-grid,.nv-more { grid-template-columns:repeat(2,minmax(0,1fr))!important; } .nv-card--feature { grid-column:1/-1; grid-row:auto; } }
@media(max-width:600px) { .nv-grid,.nv-more { grid-template-columns:1fr!important; } }

/* Eventi v2: calendario, stato, azioni. */
.ev-list { display:grid; gap:1rem; border:0; }
.ev-card { grid-template-columns:9rem minmax(0,1fr) auto!important; border:1px solid #c5cfdb!important; background:#f5f7fa; position:relative; overflow:hidden; }
.ev-card::before { content:''; position:absolute; left:9rem; right:0; top:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.ev-card:hover::before { transform:scaleX(1); }
.ev-cal { display:flex; flex-direction:column; text-align:center; background:#0b1e3c; color:#fff; }
.ev-month { padding:.5rem; background:var(--blue); font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.16em; }
.ev-cal b { flex:1; display:grid; place-items:center; padding:1rem .5rem .25rem; font-size:34px; font-weight:500; letter-spacing:-.04em; line-height:1; }
.ev-year { padding-bottom:.875rem; font:10px Mono,monospace; letter-spacing:.16em; color:#8fa6c4; }
.ev-body { padding:1.5rem 2rem; display:flex; flex-direction:column; justify-content:center; }
.ev-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; }
.ev-place { display:inline-flex; align-items:center; gap:.375rem; }
.ev-status { padding:.25rem .5rem; font:500 9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; border:1px solid #b9c4d2; color:#4d5a6c; }
.ev-card.is-next .ev-status { background:#e3edff; border-color:var(--blue); color:var(--deep); }
.ev-card.is-live .ev-status { background:#22c55e; border-color:#22c55e; color:#fff; }
.ev-card.is-tbd .ev-status { border-style:dashed; }
.ev-body h3 { font-size:24px; margin:.75rem 0 .375rem; }
.ev-actions { display:flex; flex-direction:column; border-left:1px solid #c5cfdb; min-width:13rem; }
.ev-actions .ev-cta { flex:1; justify-content:space-between; border-left:0; padding:0 1.5rem; }
.ev-ics { height:3rem; border:0; border-top:1px solid #c5cfdb; background:transparent; font:500 10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); transition:background .15s; }
.ev-ics:hover { background:#e3edff; }
.ev-card.is-past { background:#eef2f6; }
.ev-card.is-past .ev-cal { background:#8b9cb4; }
.ev-card.is-past .ev-month { background:#66768b; }
.ev-card.is-past h3,.ev-card.is-past .ev-cal b { opacity:.75; }
.ev-card.is-past .ev-status { background:#d5dde7; border-color:#d5dde7; }
.ev-card.is-tbd .ev-cal b { color:#8fa6c4; }
@media(max-width:900px) { .ev-card { grid-template-columns:7rem minmax(0,1fr)!important; } .ev-card::before { left:7rem; } .ev-actions { grid-column:1/-1; flex-direction:row; border-left:0; border-top:1px solid #c5cfdb; min-width:0; } .ev-actions .ev-cta { padding:1rem 1.25rem; } .ev-ics { border-top:0; border-left:1px solid #c5cfdb; padding:0 1.25rem; height:auto; } }
@media(max-width:600px) { .ev-card { grid-template-columns:5.5rem minmax(0,1fr)!important; } .ev-card::before { left:5.5rem; } .ev-cal b { font-size:22px; } .ev-body { padding:1rem 1.25rem; } .ev-body h3 { font-size:18px; } }

/* ===== Pagina Distributori ===== */
.ds-tabs { margin-bottom:0; }
.ds-tabs button:disabled { opacity:.45; cursor:not-allowed; }
.ds-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-left:1px solid #d5dde7; }
.ds-card { display:flex; flex-direction:column; padding:1.5rem; background:#f5f7fa; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; transition:background .2s; }
.ds-card:hover { background:#fff; }
.ds-card:not([hidden]) { animation:card-in .3s ease both; }
.ds-head { display:flex; align-items:center; gap:.625rem; }
.ds-code { display:grid; place-items:center; min-width:2.25rem; height:2.25rem; background:#0b1e3c; color:#fff; font:500 11px Mono,monospace; letter-spacing:.08em; }
.ds-country { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.ds-type { margin-left:auto; padding:.25rem .5rem; border:1px solid #b9c4d2; font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#2f3e52; }
.ds-card h3 { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; font-size:24px; font-weight:500; letter-spacing:-.03em; margin:1.75rem 0 .5rem; }
.ds-todo { padding:.25rem .5rem; background:#fbbf24; color:#0b1e3c; font:500 9px Mono,monospace; text-transform:uppercase; letter-spacing:.12em; }
.ds-addr { display:flex; gap:.5rem; align-items:flex-start; margin:0 0 1.25rem; font-size:14px; color:#4d5a6c; }
.ds-addr svg { flex:none; margin-top:.2rem; color:var(--blue); }
.ds-fams { list-style:none; display:flex; flex-wrap:wrap; gap:.375rem; margin:0 0 1.5rem; padding:0; }
.ds-fams li { padding:.375rem .625rem; background:#e3edff; color:var(--deep); font:500 10px Mono,monospace; letter-spacing:.12em; }
.ds-links { margin-top:auto; display:flex; flex-direction:column; border-top:1px dashed #b9c4d2; }
.ds-links a { display:flex; justify-content:space-between; padding:.75rem 0 0; font:500 10px Mono,monospace; letter-spacing:.1em; color:var(--ink); }
.ds-links a:hover { color:var(--blue); }
.ds-card.is-todo { background:repeating-linear-gradient(135deg,#f5f7fa 0 14px,#eef2f7 14px 15px); }
.ds-card.is-todo h3,.ds-card.is-todo .ds-addr { color:#8b9cb4; }
.ds-join { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:3rem; align-items:start; }
.ds-join-copy .eyebrow { display:block; margin-bottom:.75rem; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.ds-join-copy h2 { font-size:clamp(32px,3.6vw,52px); font-weight:500; letter-spacing:-.045em; line-height:1.05; margin:0 0 1rem; }
.ds-join-copy>p { max-width:46ch; color:#3d4b5e; margin:0 0 2rem; }
.ds-steps { list-style:none; margin:0; padding:0; border-top:1px solid #c5cfdb; }
.ds-steps li { display:grid; grid-template-columns:3rem 1fr; padding:1rem 0; border-bottom:1px solid #c5cfdb; }
.ds-steps li>span { font:10px Mono,monospace; letter-spacing:.14em; color:var(--blue); padding-top:.25rem; }
.ds-steps b { display:block; font-size:17px; font-weight:500; letter-spacing:-.02em; }
.ds-steps small { display:block; margin-top:.25rem; font-size:13px; color:#4d5a6c; }
@media(max-width:1100px) { .ds-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .ds-join { grid-template-columns:1fr; } .ds-tabs { grid-template-columns:repeat(3,1fr)!important; } }
@media(max-width:600px) { .ds-grid { grid-template-columns:1fr; } .ds-tabs { grid-template-columns:1fr 1fr!important; } }
.ds-tabs [data-count] { font-style:normal; }

/* Mega menu Azienda: 4 voci compatte. */
.mega-compact--4 .sub-links { grid-template-columns:repeat(4,1fr)!important; }
.mega-compact--4 .sub-links a::after { content:'→'!important; }
@media(max-width:900px) { .mega-compact--4 .sub-links { grid-template-columns:1fr 1fr!important; } }
@media(max-width:600px) { .mega-compact--4 .sub-links { grid-template-columns:1fr!important; } }
/* voce attiva con mega menu: pagina corrente */
.modern-header .nav nav>button.is-current { color:var(--blue); }
.modern-header .nav nav>button.is-current::after { transform:scaleX(1); }

/* Distributori: contatti della singola azienda. */
.ds-links { margin-top:auto; border-top:0; border:1px solid #d5dde7; background:#fff; }
.ds-link { display:grid!important; grid-template-columns:2.5rem minmax(0,1fr) auto; align-items:center; gap:0; padding:0!important; min-height:3.25rem; font:inherit!important; letter-spacing:0!important; color:var(--ink); transition:background .15s,color .15s; }
.ds-link+.ds-link { border-top:1px solid #e1e7ef; }
.ds-link svg { justify-self:center; color:var(--blue); }
.ds-link span { min-width:0; display:flex; flex-direction:column; gap:.125rem; padding:.5rem .5rem .5rem 0; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ds-link small { font:9px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#8b9cb4; }
.ds-link b { padding:0 1rem; font:15px Inter,sans-serif; color:#9fabba; transition:transform .2s,color .2s; }
.ds-link:hover { background:#0b1e3c; color:#fff; }
.ds-link:hover svg,.ds-link:hover small { color:#96bcff; }
.ds-link:hover b { color:#fff; transform:translateX(3px); }
.ds-link--web:hover b { transform:translate(2px,-2px); }
.ds-card:hover .ds-links { border-color:#c5cfdb; }
.ds-links a.ds-link:hover { color:#fff; }

/* Distributori: bordi della griglia e delle schede filtro visibili ovunque. */
.cat-tabs { --cl:#d5dde7; }
.ds-tabs { border:1px solid #d5dde7!important; }
.ds-tabs button { border-left:1px solid #d5dde7!important; }
.ds-tabs button:first-child { border-left:0!important; }
.ds-grid { border-left:1px solid #d5dde7; border-top:0; }
.ds-fill { display:flex; flex-direction:column; justify-content:space-between; gap:2rem; min-height:12rem; padding:1.5rem; border-right:1px solid #d5dde7; border-bottom:1px solid #d5dde7; background:repeating-linear-gradient(135deg,#f5f7fa 0 12px,#e9eef4 12px 13px); color:var(--ink); transition:background .2s,color .2s; }
.ds-fill>span { font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.14em; color:#4d5a6c; }
.ds-fill b { display:flex; justify-content:space-between; align-items:center; font-size:22px; font-weight:500; letter-spacing:-.03em; }
.ds-fill i { font-style:normal; transition:transform .2s; }
.ds-fill:hover { background:var(--blue); color:#fff; }
.ds-fill:hover>span { color:#dbe8ff; }
.ds-fill:hover i { transform:translateX(4px); }
@media(max-width:900px) { .ds-tabs button:nth-child(4) { border-left:0!important; } .ds-tabs button:nth-child(n+4) { border-top:1px solid #d5dde7; } }
@media(max-width:600px) { .ds-tabs button { border-left:1px solid #d5dde7!important; border-top:1px solid #d5dde7; } .ds-tabs button:nth-child(odd) { border-left:0!important; } .ds-tabs button:first-child { grid-column:auto; } }

/* ===== Animazioni ===== */
@keyframes rv-in { from { opacity:0; transform:translateY(1.25rem); } to { opacity:1; transform:none; } }
@keyframes fade-in { from { opacity:0; } }
@keyframes mega-in { from { opacity:0; transform:translateY(-.5rem); } }
@keyframes cell-in { from { opacity:0; transform:translateY(.5rem); } }
/* comparsa allo scroll */
.js-reveal .rv:not(.is-in) { opacity:0; }
.js-reveal .rv.is-in { animation:rv-in .7s cubic-bezier(.2,.7,.2,1) var(--rd,0ms) both; }
.js-reveal .az-tl-track li.rv.is-in { animation-duration:.5s; }
/* mega menu */
.mega-shell:not([hidden]) { animation:mega-in .28s cubic-bezier(.2,.7,.2,1); }
.menu-backdrop:not([hidden]) { animation:fade-in .3s ease; }
.mega-shell:not([hidden]) .mega-tabs button,.mega-shell:not([hidden]) .mega-panel:not([hidden]) .sub-links>a,.mega-shell:not([hidden]) .mega-panel:not([hidden])>h3,.mega-shell:not([hidden]) .mega-panel:not([hidden])>p { animation:cell-in .4s cubic-bezier(.2,.7,.2,1) both; }
.mega-shell .mega-tabs button:nth-child(1) { animation-delay:.04s; } .mega-shell .mega-tabs button:nth-child(2) { animation-delay:.08s; } .mega-shell .mega-tabs button:nth-child(3) { animation-delay:.12s; } .mega-shell .mega-tabs button:nth-child(4) { animation-delay:.16s; }
.mega-shell .mega-panel>h3 { animation-delay:.05s!important; } .mega-shell .mega-panel>p { animation-delay:.09s!important; }
.mega-shell .sub-links>a:nth-child(1) { animation-delay:.1s; } .mega-shell .sub-links>a:nth-child(2) { animation-delay:.14s; } .mega-shell .sub-links>a:nth-child(3) { animation-delay:.18s; } .mega-shell .sub-links>a:nth-child(4) { animation-delay:.22s; } .mega-shell .sub-links>a:nth-child(5) { animation-delay:.26s; } .mega-shell .sub-links>a:nth-child(6) { animation-delay:.3s; } .mega-shell .sub-links>a:nth-child(n+7) { animation-delay:.34s; }
/* menu mobile */
@media(max-width:900px) { .modern-header .nav nav.open { animation:mega-in .25s cubic-bezier(.2,.7,.2,1); } .modern-header .nav nav.open>* { animation:cell-in .35s cubic-bezier(.2,.7,.2,1) both; } .modern-header .nav nav.open>*:nth-child(2) { animation-delay:.03s; } .modern-header .nav nav.open>*:nth-child(3) { animation-delay:.06s; } .modern-header .nav nav.open>*:nth-child(4) { animation-delay:.09s; } .modern-header .nav nav.open>*:nth-child(5) { animation-delay:.12s; } .modern-header .nav nav.open>*:nth-child(6) { animation-delay:.15s; } .modern-header .nav nav.open>*:nth-child(n+7) { animation-delay:.18s; } }
@media(prefers-reduced-motion:reduce) { .mega-shell,.mega-shell *,.menu-backdrop,.modern-header .nav nav,.modern-header .nav nav>* { animation:none!important; } }
@media print { .js-reveal .rv { opacity:1!important; animation:none!important; } }

/* ===== Preloader ===== */
.preloader { position:fixed; inset:0; z-index:200; display:grid; place-items:center; background:#0b1e3c; color:#fff; transition:clip-path .7s cubic-bezier(.7,0,.2,1); clip-path:inset(0 0 0 0); }
.pl-skip .preloader { display:none; }
html.pl-on { overflow:hidden; }
.preloader.is-out { clip-path:inset(0 0 100% 0); }
.pl-inner { width:min(22rem,80vw); display:flex; flex-direction:column; gap:1.5rem; transition:opacity .3s, transform .5s; }
.preloader.is-out .pl-inner { opacity:0; transform:translateY(-1.5rem); }
.pl-logo { width:9rem; filter:brightness(0) invert(1); }
.pl-bar { display:grid; grid-template-columns:repeat(32,1fr); gap:3px; }
.pl-bar i { aspect-ratio:1; background:#ffffff14; transition:background .2s; }
.pl-bar i.on { background:var(--blue); }
.pl-bar i.on:nth-child(5n) { background:#96bcff; }
.pl-meta { display:flex; justify-content:space-between; font:10px Mono,monospace; text-transform:uppercase; letter-spacing:.16em; color:#8fa6c4; }
.pl-num { color:#fff; font-variant-numeric:tabular-nums; }
@media print { .preloader { display:none; } }

/* Logo bianco ufficiale: niente filtro. */
.pl-logo { filter:none; width:10rem; }
.modern-footer .footer-grid img[src*="elad-logo-white"] { filter:none; width:8.5rem; }
