/* NP front pt2 — flex layouts + header spec Criss */

/* ===== FLEX COLUMNS (% dinamiche) ===== */
.np-fx{display:flex!important;flex-wrap:wrap;gap:clamp(20px,2.6vw,44px)!important;align-items:flex-start}
.np-fx>*{min-width:0}
.np-gt-1fr1fr>*{flex:1 1 calc(50% - 24px)!important}
.np-gt-1fr1fr1fr>*{flex:1 1 calc(33.333% - 30px)!important}
.np-gt-105fr95fr{align-items:center}
.np-gt-105fr95fr>*:nth-child(1){flex:1 1 52%!important}
.np-gt-105fr95fr>*:nth-child(2){flex:1 1 43%!important}
.np-gt-95fr105fr{align-items:center}
.np-gt-95fr105fr>*:nth-child(1){flex:1 1 43%!important}
.np-gt-95fr105fr>*:nth-child(2){flex:1 1 52%!important}
.np-gt-12fr8fr{align-items:center}
.np-gt-12fr8fr>*:nth-child(1){flex:1 1 58%!important}
.np-gt-12fr8fr>*:nth-child(2){flex:1 1 34%!important}
.np-gt-15fr1fr1fr14fr>*{flex:1 1 calc(25% - 34px)!important}
@media(max-width:900px){.np-fx>*{flex:1 1 100%!important}}
@media(max-width:600px){.np-gt-15fr1fr1fr14fr>*{flex:1 1 calc(50% - 18px)!important}}

/* ===== HEADER: grid 1fr auto 1fr, max 1240 (logo sx | menu centro | bottone dx) ===== */
.np-header{padding-top:14px!important;padding-bottom:14px!important}
body.admin-bar .np-header{top:32px}
.np-header>.e-con-inner{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:20px!important;max-width:1240px!important;margin-inline:auto!important;width:100%}
.np-header>.e-con-inner>.np-brand{justify-self:start!important;grid-column:1}
.np-header>.e-con-inner>.np-nav{justify-self:center!important;grid-column:2}
.np-header>.e-con-inner>.np-cta{justify-self:end!important;grid-column:3}
.np-brand{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:10px!important}
.np-brand .np-mark img,.np-brand img{height:36px!important;width:auto!important;max-width:none!important}
.np-wordmark .elementor-heading-title{white-space:nowrap!important;color:#EEF1FB!important;font-family:'Schibsted Grotesk',system-ui,sans-serif!important;font-weight:700!important;font-size:19px!important;letter-spacing:-.01em!important;line-height:1!important}
.np-nav .elementor-nav-menu{display:flex!important;flex-wrap:nowrap!important;gap:2px}
.np-nav .elementor-item{color:#E9ECF8!important;font-weight:500!important;font-size:16px!important;padding:8px 14px!important;border-radius:999px;white-space:nowrap}
.np-nav .elementor-item:hover{background:rgba(255,255,255,.10)!important;color:#fff!important}
.np-cta .elementor-button{background:#2B3FD1!important;color:#F4F6FC!important;border-radius:999px!important;padding:12px 22px!important;font-weight:600!important;font-size:15px!important;border:0}
.np-cta .elementor-button:hover{background:#2233B0!important}

/* ===== FOOTER safety ===== */
.np-footer{background:#070E3A!important}

/* ===== SEZIONI: spazio ridotto, contenuto 1200 ===== */
.np-sec:not(.np-hero)>.e-con-inner{max-width:1200px;margin-inline:auto;width:100%}
.np-sec:not(.np-hero){padding-top:clamp(46px,5vw,72px)!important;padding-bottom:clamp(46px,5vw,72px)!important}
.np-hero>.e-con-inner{max-width:1200px;margin-inline:auto;width:100%}

/* ===== CARD: slot arrotondato come il padre ===== */
.np-pcard{overflow:hidden!important}
.np-pcard .np-slot{border-radius:0!important;border:none!important;border-bottom:1.5px dashed var(--np-sky)!important}

/* ===== STATISTICHE su una riga ===== */
.np-stats{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:clamp(16px,3vw,44px)!important;align-items:flex-start}
.np-stats>*{flex:0 1 auto;min-width:0}

/* ===== MAPPA ===== */
.np-map .elementor-widget-google_maps,.np-map .elementor-custom-embed{width:100%;height:300px;border-radius:16px;overflow:hidden;border:1px solid var(--np-line)}
.np-map iframe{width:100%!important;height:300px!important;display:block;border:0;border-radius:16px}

/* breadcrumb / tech / form / prose */
.np-breadcrumb .elementor-heading-title{color:#AEB6DC!important;font-size:.85rem;font-weight:500}
.np-breadcrumb .np-crumb-cur .elementor-heading-title{color:#fff!important}
.np-breadcrumb .np-crumb-sep .elementor-heading-title{opacity:.5;color:#AEB6DC!important}
.np-breadcrumb,.np-breadcrumb>.e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:8px}
.np-tech .elementor-icon-list-item{align-items:flex-start!important;margin-bottom:9px!important}
.np-tech .elementor-icon-list-icon{margin-top:3px}
.np-tech .elementor-icon-list-icon i,.np-tech .elementor-icon-list-icon svg{color:var(--np-royal)!important;fill:var(--np-royal)}
.np-tech .elementor-icon-list-text{color:var(--np-inksoft)}
.np-form .elementor-field-group>label{font-size:.86rem;font-weight:600;color:var(--np-ink);margin-bottom:5px}
.np-form .elementor-field{background:#F4F6FC!important;border:1px solid var(--np-line)!important;border-radius:10px!important;font-size:16px!important;color:var(--np-ink)!important;padding:12px 14px!important}
.np-form .elementor-button{width:100%;justify-content:center}
.np-formcard{background:#FBFCFE;border:1px solid var(--np-line);border-radius:24px}
.np-prose .elementor-widget-text-editor{color:var(--np-inksoft);font-size:1.05rem;line-height:1.7}

/* ===== MOBILE header (≤1024): logo sx + burger dx ===== */
@media(max-width:1024px){
 .np-header>.e-con-inner{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;max-width:none!important;gap:12px!important}
 .np-header .np-cta{display:none!important}
 .np-nav{margin-left:auto}
 .np-nav .elementor-menu-toggle{display:flex!important;color:#EEF1FB!important;font-size:26px}
 .np-nav .elementor-menu-toggle svg{fill:#EEF1FB!important;width:28px;height:28px}
 .np-nav nav.elementor-nav-menu--dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;margin-left:calc(-50vw + 50%)!important;background:#070E3A!important;border-radius:0 0 16px 16px}
 .np-nav nav.elementor-nav-menu--dropdown a.elementor-item{color:#EAECF8!important;font-size:17px!important;padding:15px 22px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;justify-content:flex-start}
 .np-sec{padding-left:18px!important;padding-right:18px!important}
 .np-hero{padding-top:110px!important}
}
@media(max-width:480px){
 .np-wordmark .elementor-heading-title{font-size:17px!important}
}

/* v6 — card altezze uguali + slot arrotondato come il padre */
.np-gt-1fr1fr,.np-gt-1fr1fr1fr{align-items:stretch!important}
.np-gt-1fr1fr>*,.np-gt-1fr1fr1fr>*{display:flex;flex-direction:column}
.np-pcard{display:flex!important;flex-direction:column!important;height:100%;overflow:hidden!important}
.np-pcard>*:last-child{flex:1 1 auto}
.np-pcard .np-slot{border-radius:20px 20px 0 0!important;flex:0 0 auto}
.np-feat,.np-gt-1fr1fr .elementor-widget-icon-box,.np-gt-1fr1fr1fr .elementor-widget-icon-box{height:100%;display:flex}
.np-feat .elementor-icon-box-wrapper,.np-gt-1fr1fr .elementor-icon-box-wrapper,.np-gt-1fr1fr1fr .elementor-icon-box-wrapper{height:100%;display:flex;flex-direction:column}
/* v7 fix stretch: height auto lets align-items:stretch equalize */
.np-pcard{height:auto!important}
.np-feat,.np-gt-1fr1fr>.elementor-widget-icon-box,.np-gt-1fr1fr1fr>.elementor-widget-icon-box{height:auto!important}
/* v8 — HEADER MOBILE robusto (logo sx visibile, burger dx, tendina full-width) */
@media(max-width:1024px){
 .np-header{padding:12px 18px!important}
 .np-header>.e-con-inner{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;max-width:none!important;width:100%!important;gap:12px!important}
 .np-header .np-brand{flex:0 1 auto!important;order:0!important;justify-self:auto!important}
 .np-header .np-brand img,.np-header .np-mark img{display:block!important;height:34px!important;width:auto!important;max-width:none!important;visibility:visible!important;opacity:1!important}
 .np-header .np-wordmark .elementor-heading-title{white-space:nowrap!important;font-size:17px!important;color:#EEF1FB!important}
 .np-header .np-cta{display:none!important}
 .np-header .np-nav{order:1!important;flex:0 0 auto!important;margin-left:auto!important;justify-self:auto!important}
 .np-nav,.np-nav .elementor-widget-container,.np-nav .elementor-nav-menu--main{position:static!important}
 .np-nav .elementor-nav-menu--main>ul.elementor-nav-menu{display:none!important}
 .np-nav .elementor-menu-toggle{display:flex!important;margin-left:auto!important;color:#EEF1FB!important;border:0;background:transparent}
 .np-nav .elementor-menu-toggle i,.np-nav .elementor-menu-toggle svg{color:#EEF1FB!important;fill:#EEF1FB!important;font-size:26px!important;width:28px!important;height:28px!important}
 .np-nav nav.elementor-nav-menu--dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;margin:0!important;background:#070E3A!important;border-radius:0 0 18px 18px!important;box-shadow:0 20px 40px rgba(0,0,0,.35)!important}
 .np-nav nav.elementor-nav-menu--dropdown ul{width:100%!important}
 .np-nav nav.elementor-nav-menu--dropdown a.elementor-item{color:#EAECF8!important;font-size:17px!important;padding:16px 22px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;justify-content:flex-start!important}
}
/* v9 — fix tendina mobile: full-width ancorata all'header + voci in colonna */
@media(max-width:1024px){
 .np-header .np-nav *{position:static!important}
 .np-header .np-nav nav.elementor-nav-menu--dropdown{position:absolute!important;top:100%!important;left:0!important;right:auto!important;width:100%!important;max-width:100%!important;margin:0!important;background:#070E3A!important;border-radius:0 0 18px 18px!important;box-shadow:0 20px 40px rgba(0,0,0,.35)!important;z-index:999}
 .np-header .np-nav nav.elementor-nav-menu--dropdown ul.elementor-nav-menu{display:block!important;width:100%!important}
 .np-header .np-nav nav.elementor-nav-menu--dropdown li{display:block!important;width:100%!important;float:none!important}
 .np-header .np-nav nav.elementor-nav-menu--dropdown a.elementor-item{display:block!important;width:100%!important;color:#EAECF8!important;font-size:17px!important;line-height:1.2!important;padding:16px 22px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;text-align:left!important;justify-content:flex-start!important}
}