/* ============================================================
   MADINET — Modern Theme
   Sovrascrive lo stile legacy mantenendo la palette del brand
   (teal #006e7e) con un look pulito, contemporaneo e responsive.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700;800&family=Inter:wght@400;500;600&display=swap');

:root{
  --c-primary:#006e7e;
  --c-primary-dark:#023f48;
  --c-primary-light:#3fb6c4;
  --c-ink:#12262b;
  --c-ink-soft:#4d6469;
  --c-paper:#f7fafa;
  --c-white:#ffffff;
  --c-line:#dbe6e6;
  --c-accent:#ff8a3d;
  --c-accent-dark:#e56f22;
  --radius:14px;
  --shadow:0 10px 30px -12px rgba(2,63,72,.25);
}

/* ---------- reset di base sopra il legacy ---------- */
html{scroll-behavior:smooth;}
body{
  background:var(--c-paper) !important;
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  color:var(--c-ink) !important;
}
*{box-sizing:border-box;}
h1,h2,h3,h4{font-family:'Poppins',Arial,sans-serif !important;letter-spacing:-.01em;}
a{transition:color .2s ease, background-color .2s ease, transform .2s ease;}
img{max-width:100%;height:auto;}

/* ---------- struttura generale (.wrap) ---------- */
.wrap{width:92%;max-width:1180px;}

/* ---------- header ---------- */
.header{padding:22px 0 0 0 !important;}
.logo h1{
  font-family:'Poppins',sans-serif !important;
  font-size:2.1em !important;
  color:var(--c-primary) !important;
  text-shadow:none !important;
  font-weight:800 !important;
  letter-spacing:-.02em;
}
.logo h1::after{
  content:"";
  display:block;
  width:46px;height:4px;
  margin-top:6px;
  background:var(--c-accent);
  border-radius:4px;
}
.h_right{margin-top:10px;}
.h_right a{
  color:var(--c-primary-dark) !important;
  text-decoration:none !important;
  font-weight:600;
  font-size:.95em;
  border-bottom:2px solid var(--c-accent);
  padding-bottom:2px;
}
.h_right a:hover{color:var(--c-accent-dark) !important;}

.h_main.top-nav{
  margin-top:18px !important;
  border-radius:var(--radius) !important;
  border-top:none !important;
  background:var(--c-white) !important;
  box-shadow:var(--shadow);
}
.top-nav ul.nav{background:transparent !important;}
.top-nav ul li a{
  color:var(--c-ink) !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:600;
  font-size:1em !important;
  padding:14px 20px !important;
  letter-spacing:0;
}
.top-nav ul li a:hover{
  background:var(--c-primary) !important;
  color:#fff !important;
}
.top-nav ul li:hover .downarror{background-image:none !important;}
span.menu img{filter:none;}
@media only screen and (max-width:769px){
  ul.nav{background:var(--c-white) !important;}
  .top-nav ul li a{border-bottom:1px solid var(--c-line) !important;}
}

/* ---------- slider / hero ---------- */
.container{margin-top:26px !important;}
.dg-container{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.dg-wrapper a{box-shadow:none !important;border-radius:var(--radius);overflow:hidden;}
.dg-wrapper a div{
  bottom:0 !important;
  background:linear-gradient(0deg, rgba(2,63,72,.88), rgba(2,63,72,0)) !important;
  color:#fff !important;
  font-style:normal !important;
  text-shadow:none !important;
  height:auto !important;
  padding:26px 20px 16px !important;
  text-align:left !important;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:20px !important;
}

/* ---------- main content card ---------- */
.main{
  background:var(--c-white) !important;
  border:1px solid var(--c-line);
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow);
  padding:34px !important;
}
.main h2,.main1 h2{
  color:var(--c-primary-dark) !important;
  font-weight:800 !important;
  font-size:2em !important;
}
.main h3,.main1 h3{color:var(--c-primary) !important;}
.main p,.main1 p{color:var(--c-ink-soft) !important;line-height:1.75em !important;}
.main a{color:var(--c-primary) !important;font-weight:600;}
.main a:hover{color:var(--c-accent-dark) !important;}

/* ---------- bottom nav / footer ---------- */
.footer{margin-top:26px !important;}
.f_nav .botnav_sub{
  background:var(--c-primary-dark) !important;
  border-radius:var(--radius);
  overflow:hidden;
}
.botnav a{color:#eafcff !important;font-weight:600;font-family:'Poppins',sans-serif;}
.botnav a:hover{background:var(--c-primary) !important;}
.copy{
  border-top:none !important;
  text-align:center;
  color:var(--c-ink-soft) !important;
  margin-top:14px !important;
}
.copy p, .copy a{color:var(--c-ink-soft) !important;}

/* ==============================================================
   PRODOTTI — griglia categorie/brand
   ============================================================== */
.prod-lead{
  font-size:1.08em;
  color:var(--c-ink-soft);
  max-width:760px;
  margin:6px 0 30px;
}
.prod-category{margin-bottom:44px;}
.prod-category h3{
  font-size:1.5em !important;
  font-weight:700 !important;
  margin:0 0 4px 0 !important;
  color:var(--c-primary-dark) !important;
  display:flex;align-items:center;gap:12px;
}
.prod-category h3 .cat-icon{
  width:34px;height:34px;flex:0 0 34px;
  color:var(--c-primary);
}
.prod-category .cat-desc{color:var(--c-ink-soft);margin:0 0 20px;}

.brand-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(190px,1fr));
  gap:18px;
}
.brand-card{
  background:var(--c-paper);
  border:1px solid var(--c-line);
  border-radius:12px;
  padding:22px 16px;
  text-align:center;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.brand-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:var(--c-primary-light);
}
.brand-card .brand-icon{
  width:52px;height:52px;
  margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(0,110,126,.08);
  color:var(--c-primary);
}
.brand-card .brand-icon svg{width:28px;height:28px;}
.brand-card .brand-name{
  display:block;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  color:var(--c-ink);
  font-size:1.05em;
}
.brand-card .brand-tag{
  display:block;
  font-size:.78em;
  color:var(--c-ink-soft);
  margin-top:4px;
}

.prod-cta{
  margin-top:36px;
  padding:26px;
  border-radius:var(--radius);
  background:linear-gradient(120deg, var(--c-primary), var(--c-primary-dark));
  color:#fff;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.prod-cta p{color:#eafcff !important;margin:0 !important;font-size:1.05em;}
.btn-cta{
  display:inline-block;
  background:var(--c-accent);
  color:#fff !important;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  padding:12px 26px;
  border-radius:999px;
  text-decoration:none !important;
  white-space:nowrap;
}
.btn-cta:hover{background:var(--c-accent-dark) !important;}

/* ==============================================================
   MODULO DI RICHIESTA — form moderno
   ============================================================== */
.frm_main{max-width:640px;}
.frm_main > p{margin-bottom:22px !important;}
#form1{display:flex;flex-direction:column;gap:18px;}
#form1 label{
  position:static !important;
  font-size:.85em !important;
  font-weight:700 !important;
  color:var(--c-primary-dark) !important;
  margin-bottom:6px !important;
  display:block !important;
  line-height:1.3 !important;
  font-family:'Poppins',sans-serif;
  text-transform:uppercase;
  letter-spacing:.03em;
}
#form1 input[type=text],
#form1 input[type=email],
#form1 input[type=tel],
#form1 textarea{
  width:100%;
  border:1.5px solid var(--c-line);
  border-radius:10px;
  padding:12px 14px;
  font-size:1em;
  font-family:'Inter',sans-serif;
  color:var(--c-ink);
  background:var(--c-paper);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
#form1 input:focus,
#form1 textarea:focus{
  border-color:var(--c-primary);
  box-shadow:0 0 0 3px rgba(0,110,126,.15);
  background:#fff;
}
#form1 .frm_button{
  display:flex;
  gap:12px;
  margin-top:6px;
}
#form1 input[type=submit]{
  background:var(--c-primary);
  color:#fff;
  border:none;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  padding:13px 30px;
  border-radius:999px;
  cursor:pointer;
  font-size:1em;
}
#form1 input[type=submit]:hover{background:var(--c-primary-dark);}
#form1 input[type=reset]{
  background:transparent;
  color:var(--c-ink-soft);
  border:1.5px solid var(--c-line);
  font-family:'Poppins',sans-serif;
  font-weight:600;
  padding:13px 24px;
  border-radius:999px;
  cursor:pointer;
}
#form1 input[type=reset]:hover{border-color:var(--c-ink-soft);color:var(--c-ink);}

.form-note{
  margin-top:18px;
  font-size:.85em;
  color:var(--c-ink-soft);
}

/* ==============================================================
   CHI SIAMO
   ============================================================== */
.about-lead{
  font-size:1.15em;
  font-weight:600;
  color:var(--c-primary-dark);
  max-width:760px;
  margin:6px 0 22px;
}
.about-body p{
  color:var(--c-ink-soft) !important;
  line-height:1.85em !important;
  margin:0 0 16px 0 !important;
  max-width:800px;
}
.about-clients{
  margin-top:30px;
  padding:22px 24px;
  background:var(--c-paper);
  border:1px solid var(--c-line);
  border-radius:var(--radius);
}
.about-clients h4{
  margin:0 0 12px 0;
  font-size:1.05em;
  color:var(--c-primary-dark);
  font-family:'Poppins',sans-serif;
}
.about-clients ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.about-clients li{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:999px;
  padding:8px 16px;
  font-size:.88em;
  color:var(--c-ink);
  font-weight:600;
}

/* ==============================================================
   CONTATTI
   ============================================================== */
.contact-lead{color:var(--c-ink-soft);max-width:700px;margin:6px 0 24px;line-height:1.7;}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.contact-card{
  background:var(--c-paper);
  border:1px solid var(--c-line);
  border-radius:12px;
  padding:22px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.contact-card .c-icon{
  flex:0 0 40px;width:40px;height:40px;
  border-radius:10px;
  background:rgba(0,110,126,.1);
  color:var(--c-primary);
  display:flex;align-items:center;justify-content:center;
}
.contact-card .c-icon svg{width:20px;height:20px;}
.contact-card h4{margin:0 0 4px 0 !important;font-size:1em !important;color:var(--c-primary-dark) !important;}
.contact-card p, .contact-card a{margin:0 !important;font-size:.95em;color:var(--c-ink) !important;}
.contact-card a{font-weight:600;text-decoration:none !important;}
.contact-card a:hover{color:var(--c-primary) !important;}

/* ==============================================================
   SUPPORTO
   ============================================================== */
.support-lead{color:var(--c-ink-soft);max-width:700px;margin:6px 0 26px;line-height:1.7;}
.support-group{margin-bottom:30px;}
.support-group h3{
  font-size:1.2em !important;
  color:var(--c-primary-dark) !important;
  margin:0 0 14px 0 !important;
  font-weight:700 !important;
}
.support-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;
}
.support-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
  background:var(--c-paper);
  border:1px solid var(--c-line);
  border-radius:12px;
  padding:20px 14px;
  text-decoration:none !important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.support-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:var(--c-primary-light);
}
.support-card .s-icon{
  width:44px;height:44px;
  border-radius:50%;
  background:rgba(0,110,126,.1);
  color:var(--c-primary);
  display:flex;align-items:center;justify-content:center;
}
.support-card .s-icon svg{width:22px;height:22px;}
.support-card .s-name{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  color:var(--c-ink) !important;
  font-size:.95em;
}
.support-note{
  margin-top:8px;
  padding:16px 18px;
  border-left:4px solid var(--c-accent);
  background:var(--c-paper);
  border-radius:0 10px 10px 0;
  font-size:.88em;
  color:var(--c-ink-soft);
}

/* ==============================================================
   MAPPA DEL SITO
   ============================================================== */
.stm_main{column-count:1 !important;padding:0 !important;}
.stm_main ul{list-style:none !important;}
.stm_main ul > li{
  display:block !important;
  margin-bottom:0 !important;
  padding:0 !important;
  border-bottom:1px solid var(--c-line);
}
.stm_main ul > li:last-child{border-bottom:none;}
.stm_main ul li a{
  display:flex !important;
  align-items:center;
  gap:10px;
  padding:14px 6px !important;
  font-family:'Poppins',sans-serif;
  font-weight:600 !important;
  font-size:1.02em !important;
  color:var(--c-ink) !important;
}
.stm_main ul li a:before{
  content:"→";
  color:var(--c-primary);
  font-weight:700;
}
.stm_main ul li a:hover{color:var(--c-primary) !important;}
