:root{
  --iapicca-tools-accent:#990b0b;
  --iapicca-tools-text:#242424;
  --iapicca-tools-muted:#666;
  --iapicca-tools-border:#e3e3e3;
  --iapicca-tools-bg:#fff;
}

.iapicca-tools-menu,
.iapicca-tools-page-grid-wrap{box-sizing:border-box;width:100%}
.iapicca-tools-menu *,
.iapicca-tools-page-grid-wrap *{box-sizing:border-box}

/* HOME: fascia strumenti sotto le pubblicazioni */
.iapicca-tools-menu{
  width:100%;
  margin:18px 0 24px;
  padding:0;
  background:#fff;
}
.iapicca-tools-menu-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  margin:0;
  padding:12px 16px;
  background:var(--iapicca-tools-accent);
  color:#fff;
  font-size:17px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
}
.iapicca-tools-menu-all{
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:700;
  text-transform:none;
  white-space:nowrap;
}
.iapicca-tools-menu-all:hover,
.iapicca-tools-menu-all:focus{color:#fff!important;text-decoration:underline!important}

.iapicca-tools-menu-list{
  display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr));
  gap:10px;
  width:100%;
  padding:14px 8px 8px;
}
.iapicca-tool-menu-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  min-height:116px;
  padding:12px 7px 10px;
  background:#fff;
  border:1px solid var(--iapicca-tools-border);
  border-radius:8px;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
  color:var(--iapicca-tools-text)!important;
  text-decoration:none!important;
  text-align:center;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.iapicca-tool-menu-item:hover,
.iapicca-tool-menu-item:focus{
  color:var(--iapicca-tools-accent)!important;
  border-color:#c9c9c9;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  transform:translateY(-2px);
}
.iapicca-tool-menu-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  color:var(--iapicca-tools-accent);
}
.iapicca-tool-menu-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2.05;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.iapicca-tool-menu-label{
  display:block;
  font-family:inherit;
  font-size:14px;
  line-height:1.18;
  font-weight:700;
  color:inherit;
  overflow-wrap:anywhere;
}

/* PAGINA STRUMENTI: thumbnail grandi */
.iapicca-tools-page-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.iapicca-tools-grid-title{margin:0 0 18px!important}
.iapicca-tool-card{
  min-width:0;overflow:hidden;background:#fff;
  border:1px solid var(--iapicca-tools-border);border-radius:9px;
  box-shadow:0 2px 8px rgba(0,0,0,.035);
}
.iapicca-tool-card-media{
  display:block;width:100%;aspect-ratio:16/10;overflow:hidden;
  background:#f4f4f4;text-decoration:none!important;
}
.iapicca-tool-thumb-img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:cover!important;margin:0!important;
}
.iapicca-tool-thumb-fallback{
  width:100%;height:100%;display:grid;place-items:center;
  color:var(--iapicca-tools-accent);background:linear-gradient(145deg,#fafafa,#f0f0f0);
}
.iapicca-tool-thumb-fallback svg{
  width:68px;height:68px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.iapicca-tool-card-body{padding:13px 13px 15px}
.iapicca-tool-card h3{
  margin:0 0 8px!important;padding:0!important;border:0!important;
  font-size:17px!important;line-height:1.2!important;
}
.iapicca-tool-card h3 a{color:var(--iapicca-tools-text)!important;text-decoration:none!important}
.iapicca-tool-card p{
  margin:0 0 12px!important;color:var(--iapicca-tools-muted);
  font-size:13.5px;line-height:1.45;
}
.iapicca-tool-open{
  color:var(--iapicca-tools-accent)!important;font-weight:700;
  text-decoration:none!important;font-size:13.5px;
}

/* Home su schermi medi: pulsanti sempre ben leggibili */
@media (min-width:1200px) and (max-width:1450px){
  .iapicca-tools-menu-list{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* PAGINA STRUMENTI: tablet largo 4 colonne. HOME: 4 pulsanti per riga */
@media (min-width:900px) and (max-width:1199px){
  .iapicca-tools-menu-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .iapicca-tool-menu-item{min-height:112px}
  .iapicca-tool-menu-icon{width:44px;height:44px;flex-basis:44px}
  .iapicca-tool-menu-label{font-size:15px}
  .iapicca-tools-page-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
}

/* PAGINA STRUMENTI: tablet verticale 3 colonne. HOME: 3 pulsanti per riga */
@media (min-width:600px) and (max-width:899px){
  .iapicca-tools-menu-heading{font-size:18px;padding:13px 15px}
  .iapicca-tools-menu-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 4px 8px}
  .iapicca-tool-menu-item{min-height:118px;padding:14px 10px}
  .iapicca-tool-menu-icon{width:48px;height:48px;flex-basis:48px}
  .iapicca-tool-menu-label{font-size:16px}
  .iapicca-tools-page-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}

/* Smartphone: HOME 2 pulsanti per riga, grandi; PAGINA STRUMENTI 1 colonna */
@media (max-width:599px){
  .iapicca-tools-menu{margin:16px 0 22px!important}
  .iapicca-tools-menu-heading{
    align-items:center!important;
    padding:13px 14px!important;
    gap:10px!important;
    font-size:17px!important;
  }
  .iapicca-tools-menu-all{
    font-size:12.5px!important;
    line-height:1.2!important;
  }
  .iapicca-tools-menu-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    padding:14px 4px 6px!important;
  }
  .iapicca-tool-menu-item{
    min-height:132px!important;
    padding:16px 10px 14px!important;
    gap:9px!important;
    border-radius:9px!important;
  }
  .iapicca-tool-menu-icon{
    width:56px!important;
    height:56px!important;
    flex:0 0 56px!important;
  }
  .iapicca-tool-menu-icon svg{width:56px!important;height:56px!important;max-width:none!important}
  .iapicca-tool-menu-label{
    font-size:16px!important;
    line-height:1.2!important;
    font-weight:700!important;
    text-align:center!important;
  }

  .iapicca-tools-page-grid{grid-template-columns:1fr!important;gap:18px!important}
  .iapicca-tool-card-media{aspect-ratio:16/9!important}
  .iapicca-tool-card h3{font-size:21px!important}
  .iapicca-tool-card p{font-size:15px!important;line-height:1.5!important}
  .iapicca-tool-open{font-size:15px!important}
}
