:root{
  --tk-red:#a4141f;
  --tk-red-dark:#7d0f18;
  --tk-grey-dark:#3d3d3d;
  --tk-grey-light:#f2f2f2;
  --tk-border:#e0e0e0;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:#333;
  background:#f7f7f7;
  line-height:1.5;
}
a{color:var(--tk-red);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px;}

/* header */
header.site-header{background:#fff;border-bottom:1px solid var(--tk-border);}
.header-top{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.logo{display:block;}
.logo img{height:52px;width:auto;display:block;}
.lang-switch a{margin-left:8px;font-size:13px;color:#666;}
.lang-switch a.active{font-weight:bold;color:var(--tk-red);}

nav.main-nav{background:var(--tk-red);position:relative;}
nav.main-nav .wrap{position:relative;}
nav.main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;}
nav.main-nav li{position:relative;}
nav.main-nav a{display:block;color:#fff;padding:12px 16px;font-size:14px;}
nav.main-nav a:hover{background:var(--tk-red-dark);text-decoration:none;}
nav.main-nav .nav-label{display:block;color:#fff;padding:12px 16px;font-size:14px;cursor:pointer;}
nav.main-nav .has-submenu{display:flex;flex-wrap:wrap;align-items:center;}
nav.main-nav .has-submenu > a,nav.main-nav .has-submenu > .nav-label{flex:1;}
.submenu-toggle{background:none;border:none;color:#fff;font-size:15px;padding:12px 16px;cursor:pointer;}
nav.main-nav .submenu{display:none;position:absolute;left:0;top:100%;background:#fff;min-width:220px;box-shadow:0 4px 8px rgba(0,0,0,.15);z-index:10;}
nav.main-nav li.has-submenu.open > .submenu{display:block;}
nav.main-nav .submenu a{color:#333;padding:10px 16px;border-bottom:1px solid var(--tk-border);}
nav.main-nav .submenu a:hover{background:var(--tk-grey-light);}

/* sottomenu di secondo livello (es. Prodotti > Pitture > Habitat...) */
.has-submenu-nested{position:relative;display:flex;flex-wrap:wrap;align-items:center;}
.has-submenu-nested > a{flex:1;}
.submenu-toggle-2{background:none;border:none;color:#999;font-size:14px;padding:10px 16px;cursor:pointer;}
nav.main-nav .has-submenu-nested > .submenu-2{display:none;position:absolute;left:100%;top:0;}
nav.main-nav .has-submenu-nested.open > .submenu-2{display:block;}

/* hamburger: nascosto su desktop */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;background:none;border:none;padding:10px 12px;cursor:pointer;}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;}

@media (max-width:760px){
  .nav-toggle{display:flex;position:absolute;right:0;top:0;}
  nav.main-nav ul{display:none;flex-direction:column;}
  nav.main-nav ul.open{display:flex;}
  nav.main-nav li{width:100%;}
  nav.main-nav .submenu{position:static;box-shadow:none;width:100%;}
  nav.main-nav .has-submenu-nested > .submenu-2{position:static;box-shadow:none;width:100%;padding-left:14px;}
}

.search-box{display:flex;margin-left:auto;padding:8px 0;}
.search-box input{border:1px solid #ccc;padding:6px 8px;font-size:13px;width:160px;}
.search-box button{background:var(--tk-grey-dark);color:#fff;border:none;padding:6px 12px;cursor:pointer;}

/* layout */
.page-wrap{display:flex;gap:24px;max-width:1100px;margin:24px auto;padding:0 16px;align-items:flex-start;}
aside.sidebar{width:230px;flex-shrink:0;background:#fff;border:1px solid var(--tk-border);}
aside.sidebar h3{background:var(--tk-red);color:#fff;margin:0;padding:10px 14px;font-size:14px;}
aside.sidebar ul{list-style:none;margin:0;padding:0;}
aside.sidebar li{border-bottom:1px solid var(--tk-border);position:relative;}
aside.sidebar a{display:block;padding:9px 14px;font-size:14px;color:#444;}
aside.sidebar a:hover{background:var(--tk-grey-light);text-decoration:none;}
aside.sidebar a.active{color:var(--tk-red);font-weight:bold;}
aside.sidebar li.has-children{display:flex;flex-wrap:wrap;align-items:center;}
aside.sidebar li.has-children > a{flex:1;}
aside.sidebar .sidebar-toggle{background:none;border:none;color:#999;font-size:13px;padding:9px 12px;cursor:pointer;transition:transform .15s;}
aside.sidebar li.has-children.open > .sidebar-toggle{transform:rotate(90deg);}
aside.sidebar .sidebar-sub{display:none;width:100%;border-top:1px solid var(--tk-border);}
aside.sidebar li.has-children.open > .sidebar-sub{display:block;}
aside.sidebar .sidebar-sub a{padding-left:28px;}
aside.sidebar .sidebar-sub .sidebar-sub a{padding-left:42px;}

main.content{flex:1;background:#fff;border:1px solid var(--tk-border);padding:24px;min-width:0;}
.breadcrumb{font-size:13px;color:#888;margin-bottom:16px;}
.breadcrumb a{color:#888;}

/* home banner (carosello dentro la colonna contenuti, come il sito originale) */
.home-banner{margin-bottom:20px;}
.banner-slides{position:relative;width:100%;max-width:740px;aspect-ratio:740/340;background:#fff;overflow:hidden;}
.banner-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1s ease-in-out;}
.banner-slides img.active{opacity:1;}

/* foto azienda accanto al testo "chi siamo" in home */
.about-with-photo{overflow:hidden;}
.about-with-photo .foto-azienda{float:right;width:260px;max-width:42%;height:auto;margin:0 0 14px 20px;border:1px solid var(--tk-border);}
.about-with-photo p{margin:0 0 14px;}

/* galleria foto stabilimento */
.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0;}
.photo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--tk-border);}
.section-title-bar{background:var(--tk-red);color:#fff;padding:10px 16px;font-weight:bold;margin:24px 0 16px;}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;}
.grid .card{border:1px solid var(--tk-border);padding:16px;text-align:center;}
.grid .card img{max-width:100%;height:160px;object-fit:contain;margin-bottom:10px;}
.grid .card h3{margin:8px 0 4px;font-size:16px;}
.grid .card p.tag{font-size:12px;color:#777;margin:0 0 10px;min-height:2.4em;}
.grid .card a.btn{display:inline-block;background:var(--tk-red);color:#fff;padding:6px 14px;font-size:13px;}
.grid .card a.btn:hover{background:var(--tk-red-dark);text-decoration:none;}

/* product detail */
.product-detail{display:flex;gap:32px;flex-wrap:wrap;}
.product-detail img{max-width:320px;width:100%;height:auto;border:1px solid var(--tk-border);}
.product-detail .info{flex:1;min-width:260px;}
.product-detail h1{margin-top:0;color:var(--tk-red-dark);}
.product-detail .tagline{color:#777;font-weight:bold;margin-bottom:16px;}
.product-detail dt{font-weight:bold;margin-top:14px;color:var(--tk-red);}
.product-detail dd{margin:4px 0 0;}
.contact-cta{margin-top:24px;padding:16px;background:var(--tk-grey-light);border-left:4px solid var(--tk-red);}
.contact-cta a{font-weight:bold;}

/* contact page */
.contact-block{margin-bottom:20px;}
.contact-actions a{display:inline-block;margin:6px 12px 6px 0;padding:10px 18px;background:var(--tk-red);color:#fff;border-radius:3px;}
.contact-actions a:hover{background:var(--tk-red-dark);text-decoration:none;}

/* search */
#search-results{margin-top:16px;}
#search-results .result{padding:10px 0;border-bottom:1px solid var(--tk-border);}

/* footer */
footer{background:var(--tk-grey-dark);color:#ccc;margin-top:40px;padding:24px 0;font-size:13px;}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
footer a{color:#eee;}

@media (max-width:760px){
  .page-wrap{flex-direction:column;}
  aside.sidebar{width:100%;}
  .about-with-photo .foto-azienda{float:none;width:100%;max-width:100%;margin:0 0 14px;}
  .photo-gallery{grid-template-columns:repeat(2,1fr);}
}
