/*
Theme Name: NEW TEC (Divi child)
Theme URI: https://www.newtecsrl.it/
Description: Tema figlio di Divi per il sito NEW TEC S.r.l. - stili condivisi e template pagina senza titolo duplicato.
Author: NEW TEC S.r.l.
Template: Divi
Version: 1.0.0
Text Domain: newtec
*/

/* ---------- Font locali (Open Sans, licenza OFL): nessuna richiesta a Google ---------- */
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("open-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url("open-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url("open-sans-latin-700-normal.woff2") format("woff2")}


/* ---------- Layout pagina ---------- */
body:has(.nt) #sidebar{display:none}
body:has(.nt) #left-area{width:100%!important;padding-right:0!important;float:none}
body:has(.nt) #main-content .container:before{display:none}
body:has(.nt) .entry-title,body:has(.nt) h1.main_title,body:has(.nt) .et_post_meta_wrapper{display:none!important}
body:has(.nt) #footer-info{display:none}

/* ---------- Componenti .nt ---------- */
.nt{color:#1f2d3d;line-height:1.65;font-size:17px}
.nt *{box-sizing:border-box}
.nt h1,.nt h2,.nt h3{color:#0f2d4a;font-weight:700;line-height:1.2;padding:0}
.nt .hero{background:#0f2d4a;color:#fff;border-radius:14px;padding:64px 48px;margin:0 0 40px}
.nt .hero h1{color:#fff;font-size:44px;margin:12px 0 16px}
.nt .hero p{font-size:19px;max-width:640px;color:#d3e0ee;margin:0}
.nt .eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:700;color:#7fb0e0;margin:0}
.nt .btn{display:inline-block;padding:14px 26px;border-radius:8px;font-weight:700;text-decoration:none;margin:22px 12px 0 0}
.nt .btn1{background:#2f6aa8;color:#fff}
.nt .btn2{border:2px solid #7fb0e0;color:#fff}
.nt .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 48px}
.nt .stat{background:#eef3f8;border-radius:12px;padding:24px;font-size:15px}
.nt .stat b{display:block;font-size:28px;color:#0f2d4a;margin-bottom:6px}
.nt .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.nt .grid3{grid-template-columns:repeat(3,1fr)}
.nt .card{background:#fff;border:1px solid #dbe4ee;border-radius:12px;padding:26px}
.nt .card h3{font-size:20px;margin:0 0 8px}
.nt .card p{margin:0}
.nt .sec{margin:0 0 48px}
.nt .sec h2{font-size:30px;margin:0 0 20px}
.nt .lead{font-size:19px;color:#4a5a6a;margin:0 0 20px}
.nt .band{background:#eef3f8;border-radius:14px;padding:36px;text-align:center}
.nt .band p{font-size:20px;color:#0f2d4a;margin:0 0 6px}
.nt .navy{background:#0f2d4a;border-radius:14px;padding:32px;color:#fff}
.nt .navy b{color:#fff}
.nt .navy .eyebrow{display:block;margin-bottom:8px}
.nt ul{margin:0;padding-left:20px}
.nt li{margin:0 0 6px}
.nt a.lnk{color:#2f6aa8;font-weight:700}
.nt .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nt .steps div{background:#eef3f8;border-radius:10px;padding:14px 18px;font-weight:700;color:#0f2d4a}
@media(max-width:800px){.nt .stats,.nt .grid,.nt .grid3,.nt .steps{grid-template-columns:1fr 1fr}.nt .grid,.nt .grid3{grid-template-columns:1fr}.nt .hero{padding:36px 22px}.nt .hero h1{font-size:30px}}
.nt .legal{margin:56px 0 0;padding:22px 0 0;border-top:1px solid #dbe4ee;font-size:13px;line-height:1.6;color:#5a6a7a}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#main-header{box-shadow:0 2px 14px rgba(15,45,74,.08)}
#top-menu li a{font-weight:600}
#top-menu li.current-menu-item>a{color:#3b7bbf!important}
.nt .hero{background:linear-gradient(135deg,#0f2d4a 0%,#173f66 62%,#1d5185 100%);position:relative;overflow:hidden;box-shadow:0 22px 44px -22px rgba(15,45,74,.6)}
.nt .btn{transition:transform .15s,box-shadow .15s,background .15s}
.nt .btn1:hover{background:#245a93;transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(59,123,191,.9)}
.nt .btn2:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.nt .card{transition:transform .2s,box-shadow .2s;box-shadow:inset 0 3px 0 #3b7bbf}
.nt .card:hover{transform:translateY(-3px);box-shadow:inset 0 3px 0 #3b7bbf,0 14px 28px -16px rgba(15,45,74,.35)}
.nt .sec h2{position:relative;padding-bottom:12px}
.nt .sec h2:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;background:#3b7bbf;border-radius:2px}
.nt-bar{display:none}
@media(max-width:980px){body:has(.nt) #main-content .container{width:92%}}
@media(max-width:767px){.nt{font-size:16px;line-height:1.6}.nt .hero{padding:32px 20px;border-radius:12px;margin-bottom:28px}.nt .hero h1{font-size:28px}.nt .hero p{font-size:17px}.nt .eyebrow{font-size:11px;letter-spacing:.14em}.nt .btn{display:block;text-align:center;margin:12px 0 0}.nt .sec{margin-bottom:34px}.nt .sec h2{font-size:24px}.nt .lead{font-size:17px}.nt .band{padding:26px 18px}.nt .band p{font-size:18px}.nt .navy{padding:24px 20px}.nt .steps{grid-template-columns:1fr}.nt .card:hover{transform:none}.nt .legal{font-size:12px}body{padding-bottom:54px}.nt-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99999;background:#0f2d4a;box-shadow:0 -4px 16px rgba(0,0,0,.25)}.nt-bar a{flex:1;text-align:center;color:#fff!important;padding:15px 8px;font-weight:700;font-size:15px;text-decoration:none}.nt-bar a+a{background:#2f6aa8}}
.nt .ico{display:flex;width:46px;height:46px;border-radius:10px;background:#eef3f8;align-items:center;justify-content:center;margin:0 0 12px}
.nt .ico svg{width:26px;height:26px;stroke:#2f6aa8;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nt a:focus-visible,.nt-bar a:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nt .btn,.nt .card{transition:none}.nt .card:hover,.nt .btn1:hover,.nt .btn2:hover{transform:none}}
.nt .ico b{font-size:20px;font-weight:800;color:#2f6aa8;line-height:1}
.nt-bar a.wa{background:#167a43}
.nt-wa{position:fixed;right:20px;bottom:20px;z-index:99998;display:flex;align-items:center;gap:8px;background:#167a43;color:#fff!important;font-weight:700;font-size:15px;line-height:1;padding:14px 20px;border-radius:999px;text-decoration:none!important;box-shadow:0 4px 14px rgba(0,0,0,.28)}
.nt-wa:hover{background:#12683a}
.nt-wa svg{width:20px;height:20px;fill:#fff}
@media(max-width:767px){.nt-wa{display:none}}
.nt .hero>*{position:relative;z-index:1}
.nt .hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(100deg,transparent 15%,#000 85%);mask-image:linear-gradient(100deg,transparent 15%,#000 85%)}
.nt .hero::after{content:"";position:absolute;right:-90px;top:-110px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(91,155,213,.45),rgba(91,155,213,0) 68%);z-index:0}
.nt .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.nt .chips span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;letter-spacing:.2px}
.nt .card{border-top:3px solid #3b7bbf}
.nt .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:6px}
.nt .flow div{background:#fff;border:1px solid #d9e3ee;border-radius:12px;padding:16px 14px;font-weight:700;color:#0f2d4a;position:relative}
.nt .flow div b{display:block;font-size:26px;color:#3b7bbf;line-height:1;margin-bottom:6px}
.nt .flow div:last-child{background:#0f2d4a;color:#fff}
.home .nt .flow div:last-child{grid-column:span 2}
.nt .flow div:last-child b{color:#9cc3ea}
.nt .band .btn.bwa{background:#167a43;color:#fff!important;margin-left:10px}
.nt .band .btn.bwa:hover{background:#12683a}
@keyframes ntrise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@supports(animation-timeline:view()){.nt .card,.nt .stat,.nt .flow div{animation:ntrise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}}
@media(prefers-reduced-motion:reduce){.nt .card,.nt .stat,.nt .flow div{animation:none!important}}
@media(max-width:767px){.nt .hero::after{width:240px;height:240px;right:-80px;top:-90px}.nt .chips span{font-size:12px;padding:6px 11px}.nt .flow{grid-template-columns:repeat(2,1fr)}.nt .flow div:last-child{grid-column:1/-1}.nt .band .btn.bwa{margin:10px 0 0}}

/* ---------- Modulo contatti ---------- */
.nt .nt-form{max-width:760px}
.nt .nt-form label{display:block;font-weight:600;color:#0f2d4a;margin:0 0 6px;font-size:15px}
.nt .nt-form input[type=text],.nt .nt-form input[type=email],.nt .nt-form input[type=tel],.nt .nt-form select,.nt .nt-form textarea{width:100%;padding:12px 14px;border:1px solid #c5d3e2;border-radius:8px;font:inherit;color:#1f2d3d;background:#fff;box-sizing:border-box}
.nt .nt-form input:focus,.nt .nt-form select:focus,.nt .nt-form textarea:focus{border-color:#2f6aa8;outline:3px solid rgba(47,106,168,.25);outline-offset:0}
.nt .nt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.nt .nt-form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nt .nt-form-privacy label{font-weight:400;font-size:14px;display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.nt .nt-form-privacy input{margin-top:4px;flex:none}
.nt .nt-form button.btn{border:0;cursor:pointer;font:inherit;font-weight:700;margin:6px 0 0}
.nt .nt-form-note{font-size:14px;color:#5a6a7a}
.nt .nt-form-msg{padding:14px 18px;border-radius:8px;font-weight:600;margin:0 0 20px}
.nt .nt-form-ok{background:#e6f4ec;color:#14502d;border:1px solid #b7dcc6}
.nt .nt-form-err{background:#fdecec;color:#7a1f1f;border:1px solid #f0b9b9}
@media(max-width:767px){.nt .nt-form-row{grid-template-columns:1fr}}