/* ==========================================================
   TUTTOLED PROFESSIONAL V8
   Fix mirati:
   - top bar full-width, centro geometrico reale
   - categorie compatte orizzontali come mockup approvato
   - 2 categorie per riga su smartphone
   ========================================================== */

/* Se una copia vecchia del menu e ancora nella cache vMod, non mostrare la vecchia servicebar interna. */
#site-menu .tl-v6-servicebar,
#site-menu .tl-v7-servicebar{display:none!important;}

/* Top bar fuori dal contenitore 1440px: non puo piu risultare spostata a sinistra. */
.tl-v8-topbar{
  position:relative;
  width:100%;
  min-width:320px;
  height:42px;
  margin:0;
  padding:0;
  background:linear-gradient(90deg,#0b67e5 0%,#0757c8 52%,#06469f 100%);
  color:#fff;
  z-index:50;
}
.tl-v8-topbar-inner{
  width:min(1440px,100%);
  height:100%;
  margin:0 auto;
  padding:0 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:18px;
}
.tl-v8-topbar-left,.tl-v8-topbar-center,.tl-v8-topbar-right{min-width:0;display:flex;align-items:center;}
.tl-v8-topbar-left{justify-content:flex-start;}
.tl-v8-topbar-center{justify-content:center;text-align:center;}
.tl-v8-topbar-right{justify-content:flex-end;gap:22px;}
.tl-v8-topbar span,.tl-v8-topbar a{color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;}
.tl-v8-topbar-left span,.tl-v8-support,.tl-v8-region{display:inline-flex;align-items:center;gap:8px;}
.tl-v8-topbar-center a{font-weight:800;text-decoration:underline!important;text-underline-offset:3px;}
.tl-v8-topbar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* Categorie: la card e volutamente bassa e orizzontale. */
#box-featured-categories.tl-v8-category-section{padding-top:22px!important;}
.tl-v8-section-heading{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) minmax(360px,.9fr) auto!important;
  align-items:end!important;
  gap:28px!important;
  margin-bottom:14px!important;
}
.tl-v8-section-heading .tl-v8-heading-copy{min-width:0;}
.tl-v8-section-heading h2{margin:4px 0 0!important;font-size:30px!important;line-height:1.08!important;}
.tl-v8-section-heading p{margin:0!important;max-width:520px!important;color:#6c7b8d!important;font-size:12px!important;line-height:1.45!important;}
.tl-v8-all-categories{
  border:0!important;
  background:transparent!important;
  color:#0866d9!important;
  padding:8px 0 8px 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  white-space:nowrap!important;
  font-size:11px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.tl-v8-all-categories:hover{text-decoration:underline!important;}

.tl-category-grid.tl-v8-category-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:11px 13px!important;
}
.tl-category-card.tl-v8-category-card{
  min-width:0!important;
  border:1px solid #e3eaf3!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 3px 12px rgba(22,59,105,.045)!important;
  transform:none!important;
}
.tl-category-card.tl-v8-category-card:hover{
  transform:translateY(-2px)!important;
  border-color:#cfdcec!important;
  box-shadow:0 8px 20px rgba(22,59,105,.08)!important;
}
.tl-category-card.tl-v8-category-card>a{
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  height:104px!important;
  min-height:104px!important;
  color:#102541!important;
  text-decoration:none!important;
  overflow:hidden!important;
  background:#fff!important;
}
.tl-v8-category-card .tl-category-media{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:118px!important;
  height:104px!important;
  background:#f7f9fc!important;
  overflow:hidden!important;
}
.tl-v8-category-card .tl-category-media:after{display:none!important;}
.tl-v8-category-card .tl-category-media img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:5px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.tl-v8-category-card:hover .tl-category-media img{transform:scale(1.025)!important;}
.tl-v8-category-card .tl-category-placeholder{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  color:#0b6ce3!important;
  font-size:18px!important;
  font-weight:800!important;
}
.tl-v8-category-card .tl-category-info{
  position:static!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:0!important;
  padding:10px 12px!important;
  background:#fff!important;
}
.tl-v8-category-card .tl-category-name{
  position:static!important;
  display:block!important;
  margin:0!important;
  color:#102541!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-shadow:none!important;
}
.tl-v8-category-card .tl-category-description{
  position:static!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  margin-top:4px!important;
  color:#64758b!important;
  font-size:9.5px!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.tl-v8-category-card .tl-category-arrow{display:none!important;}

/* Tablet */
@media (max-width:1199px){
  .tl-v8-topbar-inner{padding:0 14px;}
  .tl-v8-section-heading{grid-template-columns:minmax(250px,1fr) minmax(280px,.8fr) auto!important;gap:18px!important;}
  .tl-v8-section-heading h2{font-size:26px!important;}
  .tl-category-card.tl-v8-category-card>a{grid-template-columns:100px minmax(0,1fr)!important;height:96px!important;min-height:96px!important;}
  .tl-v8-category-card .tl-category-media{width:100px!important;height:96px!important;}
}

@media (max-width:991px){
  .tl-v8-topbar-inner{display:flex!important;justify-content:center!important;padding:0 12px!important;}
  .tl-v8-topbar-left,.tl-v8-topbar-right{display:none!important;}
  .tl-v8-topbar-center{width:100%!important;justify-content:center!important;overflow:hidden!important;}
  .tl-v8-topbar-center span,.tl-v8-topbar-center a{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10.5px!important;}

  .tl-v8-section-heading{display:grid!important;grid-template-columns:1fr auto!important;gap:7px 12px!important;align-items:end!important;}
  .tl-v8-section-heading .tl-v8-heading-copy{grid-column:1;}
  .tl-v8-section-heading p{grid-column:1 / -1;grid-row:2;margin-top:1px!important;max-width:100%!important;font-size:10.5px!important;}
  .tl-v8-all-categories{grid-column:2;grid-row:1;padding-bottom:2px!important;font-size:10px!important;}
  .tl-v8-section-heading h2{font-size:24px!important;}
}

/* Smartphone: SEMPRE 2 categorie per riga, come richiesto. */
@media (max-width:767px){
  .tl-category-grid.tl-v8-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .tl-category-card.tl-v8-category-card>a{
    grid-template-columns:70px minmax(0,1fr)!important;
    height:88px!important;
    min-height:88px!important;
  }
  .tl-v8-category-card .tl-category-media{
    width:70px!important;
    height:88px!important;
  }
  .tl-v8-category-card .tl-category-media img{padding:4px!important;}
  .tl-v8-category-card .tl-category-info{padding:7px 7px 7px 8px!important;}
  .tl-v8-category-card .tl-category-name{font-size:10.5px!important;line-height:1.15!important;}
  .tl-v8-category-card .tl-category-description{font-size:8.2px!important;line-height:1.22!important;-webkit-line-clamp:2!important;}
  .tl-v8-section-heading p{display:none!important;}
  .tl-v8-section-heading{grid-template-columns:1fr auto!important;margin-bottom:10px!important;}
}

@media (max-width:420px){
  .tl-v8-section-heading h2{font-size:20px!important;}
  .tl-v8-all-categories{font-size:9px!important;gap:5px!important;}
  .tl-category-card.tl-v8-category-card>a{grid-template-columns:64px minmax(0,1fr)!important;height:82px!important;min-height:82px!important;}
  .tl-v8-category-card .tl-category-media{width:64px!important;height:82px!important;}
  .tl-v8-category-card .tl-category-name{font-size:10px!important;}
  .tl-v8-category-card .tl-category-description{display:none!important;}
}
