*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#083f9d;background:#fff}header{height:78px;display:flex;align-items:center;padding:0 4.5%;gap:30px;border-bottom:1px solid #d8e5ef;position:sticky;top:0;background:#fff;z-index:20}.brand img{width:82px;display:block}nav{margin-left:auto;display:flex;gap:27px;align-items:center}nav a{color:#074ba8;text-decoration:none;font-size:13px;padding:30px 0 18px;border-bottom:3px solid transparent}nav a:hover{border-color:#15a8e5}.menu{display:none;margin-left:auto;border:0;background:none;color:#0751af;font-size:28px}.homehero{min-height:430px;background:linear-gradient(90deg,#001b39cc,#001b3933),url('assets/home.png') center 8%/cover no-repeat;display:flex;align-items:center;padding:6%}.homehero div{max-width:650px;color:#fff}.homehero h1{font-size:56px;line-height:.95;margin:0 0 20px}.homehero p{font-size:21px;line-height:1.4}.homecards{display:grid;grid-template-columns:repeat(3,1fr);background:#062947}.homecards a{min-height:470px;padding:285px 38px 35px;color:#fff;text-decoration:none;border-right:1px solid #ffffff22;background-color:#061f37;background-position:center top;background-size:100% 285px;background-repeat:no-repeat;position:relative;overflow:hidden}.homecards a::after{content:"";position:absolute;left:0;right:0;top:180px;height:155px;background:linear-gradient(180deg,transparent,#061f37 88%);pointer-events:none}.homecards a>*{position:relative;z-index:1}.homecards .card-prodotti{background-image:url('assets/home-card-prodotti.jpg')}.homecards .card-macchinari{background-image:url('assets/home-card-macchinari.jpg')}.homecards .card-dosaggio{background-image:url('assets/home-card-dosaggio.jpg')}.homecards h2{font-size:25px;margin-top:0}.homecards p{line-height:1.45;min-height:80px}.homecards b{border-bottom:4px solid #15a8e5;padding-bottom:10px}.about{padding:55px 6%;display:grid;grid-template-columns:1fr 1fr;gap:60px}.about small{font-size:25px;font-weight:bold}.about h2{font-size:46px;line-height:1.05;margin:6px 0 18px}.about p,.textpage p{font-size:17px;line-height:1.6;color:#314b69}.page-hero{min-height:255px;background:linear-gradient(105deg,#005bc7,#0ba8df);display:flex;align-items:center;padding:5% 7%;color:#fff}.page-hero h1{font-size:43px;max-width:900px;line-height:1.05;margin:0 0 12px}.page-hero p{font-size:19px;margin:0}.content{padding:55px 6%;display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:start}.copy h2{font-size:34px;line-height:1.1;margin-top:0}.copy>p{font-size:17px;line-height:1.65;color:#334d68}.approved{margin:0;border:1px solid #d8e6ef;border-radius:10px;overflow:hidden;background:#f6fbfe;box-shadow:0 8px 30px #004b8d12}.approved img{display:block;width:100%;height:610px;object-fit:cover;object-position:top}.approved figcaption{text-align:center;padding:10px;font-size:12px;color:#6a8295}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.feature-grid article{border:1px solid #cfe7f4;border-radius:8px;padding:17px;display:flex;gap:10px;align-items:center;background:#f8fcff}.feature-grid span{font-size:24px;color:#0aa4df}.category-links{padding:0 6% 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category-links a{padding:22px;border:1px solid #bcdff1;border-radius:8px;text-decoration:none;color:#0756d5;font-weight:bold;background:#f7fcff}.btn{display:inline-block;border:2px solid #0756d5;border-radius:4px;padding:12px 25px;text-decoration:none;color:#0756d5;font-weight:bold;background:#fff}.textpage{max-width:900px;padding:60px 7%}.contactpage{padding:55px 7%;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.contactpage h2{font-size:34px}.contactpage a{color:#0756d5;text-decoration:none}.contactpage form{display:grid;gap:14px}.contactpage label{font-size:13px;font-weight:bold}.contactpage input,.contactpage textarea{width:100%;display:block;margin-top:6px;border:1px solid #b8d6e8;border-radius:5px;padding:12px;font:inherit}.contactpage .check{display:flex;gap:9px;align-items:center;font-weight:normal}.contactpage .check input{width:auto;margin:0}.find{background:#063f94;color:#fff;padding:24px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px}.find div{display:flex;flex-direction:column;gap:5px}.find b{font-size:20px}.whitebtn{border:1px solid #fff;color:#fff;text-decoration:none;padding:11px 22px;border-radius:3px;font-weight:bold}.contacts{border-top:1px solid #80d6f6;padding:22px 5%;display:grid;grid-template-columns:1fr 1fr 1.5fr 1.1fr;gap:20px}.contacts>div{display:flex;flex-direction:column;gap:5px;border-right:1px solid #b7def0;padding-right:18px}.contacts>div:last-child{border:0;justify-content:center}.contacts span,.contacts a{font-size:13px;line-height:1.4;color:#0756d5;text-decoration:none}.contacts div:nth-child(2)>a{font-size:18px;font-weight:bold}.map{background:#0875ca!important;color:#fff!important;padding:13px 16px;border-radius:4px;text-align:center;font-weight:bold}.bottom{background:linear-gradient(90deg,#0069c7,#0049a6);color:#fff;padding:20px 5%;font-size:12px;text-align:center}.bottom span{float:right}@media(max-width:850px){header{height:68px}.brand img{width:72px}.menu{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;gap:0;box-shadow:0 8px 20px #0002}nav.open{display:flex}nav a{width:100%;padding:14px 6%;border-bottom:1px solid #eee}.homehero{min-height:420px}.homehero h1{font-size:42px}.homecards{grid-template-columns:1fr}.homecards a{min-height:410px;padding:250px 28px 30px;background-size:100% 250px}.homecards a::after{top:145px;height:150px}.about,.content,.contactpage{grid-template-columns:1fr}.approved img{height:auto}.category-links{grid-template-columns:1fr 1fr}.contacts{grid-template-columns:1fr 1fr}.bottom span{float:none;display:block;margin-top:8px}}@media(max-width:520px){.page-hero h1{font-size:34px}.category-links,.contacts,.feature-grid{grid-template-columns:1fr}.find{align-items:flex-start;flex-direction:column}.contacts>div{border-right:0;border-bottom:1px solid #d9edf6;padding:10px 0}.about h2{font-size:36px}}

/* ===== Pagina Prodotti e attrezzature: stesso sistema grafico della Home ===== */
nav a.active-nav{border-color:#15a8e5;font-weight:700}
.products-page{background:#fff}
.products-hero{
  min-height:395px;
  background:
    linear-gradient(90deg,rgba(0,27,57,.90),rgba(0,27,57,.58) 36%,rgba(0,27,57,.05) 68%),
    url('assets/prodotti-hero.jpg') center/cover no-repeat;
  display:flex;align-items:center;padding:5% 6%;
}
.products-hero-copy{max-width:560px;color:#fff}
.products-hero h1{font-size:52px;line-height:1.02;margin:0 0 14px}
.products-hero p{font-size:19px;line-height:1.45;margin:0;max-width:500px}
.hero-line{display:block;width:52px;height:5px;background:#15a8e5;border-radius:5px;margin-top:18px}
.products-main{padding:42px 0 35px}
.products-wrap{width:min(1180px,92%);margin:auto}
.products-wrap>h2,.selected-heading h2{font-size:37px;line-height:1.08;margin:0 0 10px;color:#0756d5}
.green-line{display:block;width:45px;height:5px;border-radius:5px;background:#2cb45c;margin-bottom:14px}
.products-intro{font-size:17px;line-height:1.5;color:#1450c8;margin:0 0 24px;max-width:900px}
.category-grid{display:grid;gap:10px}
.top-three{grid-template-columns:repeat(3,1fr)}
.bottom-two{grid-template-columns:repeat(2,1fr);margin-top:10px}
.category-card{border:1px solid #dce8f2;text-decoration:none;color:#0756d5;background:#fff;overflow:hidden;transition:.18s ease}
.category-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,67,153,.10)}
.category-card>img{display:block;width:100%;height:218px;object-fit:cover}
.category-copy{padding:13px 16px 16px}
.category-copy h3{font-size:20px;line-height:1.15;margin:0 0 7px;color:#0756d5}
.category-copy p{font-size:15px;line-height:1.35;margin:0 0 13px;color:#1450c8}
.category-copy b{font-size:13px}
.category-copy>span{display:block;width:43px;height:4px;border-radius:5px;background:#15a8e5;margin-top:8px}
.selected-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:34px}
.selected-heading a{font-size:13px;color:#0756d5;text-decoration:none;font-weight:700;margin-bottom:16px}
.selected-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.selected-grid article{border:1px solid #dce8f2;padding-bottom:14px}
.selected-grid img{display:block;width:100%;height:205px;object-fit:contain;background:#fff}
.selected-grid h3{font-size:17px;color:#0756d5;margin:11px 13px 5px}
.selected-grid p{font-size:14px;line-height:1.35;color:#1450c8;margin:0 13px 12px;min-height:38px}
.selected-grid article>a{display:block;border:2px solid #0756d5;color:#0756d5;text-decoration:none;text-align:center;font-size:12px;font-weight:700;padding:9px 5px;margin:0 12px;border-radius:3px}
@media(max-width:850px){
  .products-hero{min-height:350px}
  .products-hero h1{font-size:43px}
  .top-three{grid-template-columns:1fr 1fr}
  .bottom-two{grid-template-columns:1fr}
  .selected-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .products-hero{min-height:315px}
  .products-hero h1{font-size:35px}
  .products-hero p{font-size:16px}
  .products-wrap>h2,.selected-heading h2{font-size:30px}
  .top-three,.selected-grid{grid-template-columns:1fr}
  .category-card>img{height:auto}
  .selected-grid img{height:230px}
  .selected-heading{align-items:flex-start;flex-direction:column}
}

/* V7 - tutte le pagine interne uniformate alla Home */
.uniform-page{background:#fff}
.uniform-hero{min-height:340px;display:flex;align-items:center;padding:5% 6%;background:linear-gradient(115deg,#0758ee 0%,#0878e9 52%,#05a8df 100%);position:relative;overflow:hidden}
.uniform-hero:after{content:"";position:absolute;width:420px;height:420px;border:80px solid rgba(255,255,255,.07);border-radius:50%;right:-90px;top:-140px}
.uniform-hero-copy{position:relative;z-index:1;max-width:820px;color:#fff}
.uniform-hero-copy h1{font-size:48px;line-height:1.04;margin:0 0 14px;letter-spacing:-1.2px}
.uniform-hero-copy p{font-size:19px;line-height:1.45;margin:0;max-width:650px}
.uniform-hero-copy span{display:block;width:52px;height:5px;background:#fff;border-radius:5px;margin-top:18px}
.uniform-content{padding:48px 0}
.uniform-wrap{width:min(1180px,92%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}
.uniform-copy h2{font-size:36px;line-height:1.1;color:#0756d5;margin:0 0 10px}
.uniform-copy i{display:block;width:45px;height:5px;border-radius:5px;background:#2cb45c;margin-bottom:18px}
.uniform-copy p{font-size:17px;line-height:1.6;color:#174f9f;margin:0 0 24px}
.uniform-copy .btn{display:inline-block;background:#0758ee;color:#fff;text-decoration:none;padding:13px 22px;border-radius:3px;font-size:13px;font-weight:700}
.uniform-visual{border:1px solid #dce8f2;background:#fff;padding:8px;box-shadow:0 8px 28px rgba(0,62,145,.08)}
.uniform-visual img{display:block;width:100%;height:auto}
@media(max-width:850px){.uniform-hero{min-height:300px}.uniform-hero-copy h1{font-size:39px}.uniform-wrap{grid-template-columns:1fr}.uniform-copy h2{font-size:31px}}
@media(max-width:520px){.uniform-hero{min-height:270px}.uniform-hero-copy h1{font-size:32px}.uniform-hero-copy p{font-size:16px}.uniform-content{padding:32px 0}}

.detail-hero{min-height:390px;background-position:center;background-size:cover;display:flex;align-items:center;padding:5% 6%}.detail-hero>div{width:min(1180px,100%);margin:auto;color:#fff}.detail-hero h1{font-size:49px;line-height:1.05;max-width:720px;margin:0 0 14px;letter-spacing:-1px}.detail-hero p{font-size:19px;line-height:1.45;max-width:650px;margin:0}.detail-hero span{display:block;width:52px;height:5px;background:#14a9e5;border-radius:5px;margin-top:18px}.detail-section{padding:48px 0}.detail-wrap{width:min(1180px,92%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.detail-photo{border:1px solid #dce8f2;padding:7px;background:#fff;box-shadow:0 8px 25px rgba(0,60,140,.08)}.detail-photo img{display:block;width:100%;height:auto}.detail-copy h2{font-size:36px;line-height:1.1;color:#0756d5;margin:0 0 10px}.detail-copy i{display:block;width:45px;height:5px;background:#2cb45c;border-radius:5px;margin-bottom:17px}.detail-copy p,.detail-copy li{font-size:16px;line-height:1.55;color:#174f9f}.detail-copy ul{padding-left:20px;margin:15px 0 24px}.detail-btn{display:inline-block;background:#0758ee;color:#fff;text-decoration:none;padding:13px 22px;border-radius:3px;font-size:13px;font-weight:700}@media(max-width:800px){.detail-wrap{grid-template-columns:1fr}.detail-hero{min-height:330px}.detail-hero h1{font-size:39px}}@media(max-width:520px){.detail-hero{min-height:290px}.detail-hero h1{font-size:32px}.detail-hero p{font-size:16px}.detail-copy h2{font-size:30px}}

/* V24 - Branding header globale */
header .brand,
header .logo,
.site-header .brand,
.site-header .logo,
.navbar .brand,
.navbar .logo {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:14px !important;
}
header .brand img,
header .logo img,
.site-header .brand img,
.site-header .logo img {
  flex:0 0 auto;
}
header .brand span,
header .logo span,
.site-header .brand span,
.site-header .logo span,
.brand-name {
  display:inline-block !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  margin:0 !important;
  background:linear-gradient(90deg,#159447 0 33%,#f7f7f2 33% 66%,#d3262e 66% 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  text-shadow:0 0 0 rgba(0,0,0,0) !important;
}
@media(max-width:700px){
  header .brand span,
  header .logo span,
  .site-header .brand span,
  .site-header .logo span,
  .brand-name {font-size:23px !important;}
}

/* V25 - Google Maps reale nel footer */
.footer-map{
  width:min(360px,100%);
  margin-left:auto;
  background:#fff;
  padding:5px;
  border-radius:12px;
  box-shadow:0 5px 18px rgba(0,0,0,.12);
  overflow:hidden;
}
.footer-map iframe{display:block;width:100%;min-height:190px;}
@media(max-width:760px){
  .footer-map{margin:18px auto 0;width:100%;}
}

/* V26 - Header corretto: simbolo a sinistra, TECNOCLEAN a destra */
header .brand{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:12px !important;
  text-decoration:none !important;
  flex-shrink:0 !important;
}
header .brand img{
  width:62px !important;
  height:62px !important;
  object-fit:contain !important;
  display:block !important;
}
header .brand .brand-name{
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:-1px !important;
  white-space:nowrap !important;
  background:none !important;
  -webkit-text-fill-color:initial !important;
  color:initial !important;
}
header .brand .brand-name i{
  font-style:italic !important;
  font-weight:900 !important;
}
header .brand .brand-name .verde{color:#159447 !important;}
header .brand .brand-name .bianco{
  color:#ffffff !important;
  -webkit-text-stroke:1px #b7c2cc;
  text-shadow:0 0 1px #9ba8b3;
}
header .brand .brand-name .rosso{color:#d3262e !important;}

@media(max-width:850px){
  header .brand img{width:52px !important;height:52px !important;}
  header .brand .brand-name{font-size:22px !important;}
}
@media(max-width:520px){
  header .brand{gap:8px !important;}
  header .brand img{width:46px !important;height:46px !important;}
  header .brand .brand-name{font-size:18px !important;}
}

/* Home: immagini complete con proporzioni originali su PC e telefono. */
.homecards a {
  --card-side: 38px;
  padding: 0 var(--card-side) 35px;
  background-size: 0 0;
}
.homecards a::before {
  content: "";
  display: block;
  width: calc(100% + var(--card-side) + var(--card-side));
  margin: 0 calc(-1 * var(--card-side)) 22px;
  aspect-ratio: var(--card-ratio);
  background-image: inherit;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.homecards .card-prodotti { --card-ratio: 347 / 325; }
.homecards .card-macchinari { --card-ratio: 329 / 325; }
.homecards .card-dosaggio { --card-ratio: 346 / 325; }
.homecards a::after { display: none; }
@media (max-width: 850px) {
  .homecards a {
    --card-side: 28px;
    padding-bottom: 30px;
  }
}
