@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/prodotti/assets/fonts/open-sans-cyrillic-ext.1d7f1ad9.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/prodotti/assets/fonts/open-sans-cyrillic.0b3ff9e4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/prodotti/assets/fonts/open-sans-latin-ext.062c1f2a.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/prodotti/assets/fonts/open-sans-latin.dcf31ebe.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Pagine statiche /prodotti su b2b: contenuto (dentro .products-page) nel layout del frontend Laravel,
   che fornisce menu e footer. Le regole sono limitate a .products-page per non toccare navbar e footer dell'app. */
.products-page{
  --red:#eb0000; --blue:#0061b3; --dark:#414042; --black:#000;
  --band:#f9f9f9; --label:#f2f2f2; --newsbg:#eaeaea; --white:#fff;
  --font:"Open Sans",Arial,Helvetica,sans-serif;
  display:block;font:400 16px/22.4px var(--font);color:var(--black);background:var(--white)
}
.products-page img{max-width:100%;height:auto;display:block}
.products-page a{color:inherit}
.products-page p{margin:0 0 16px}
.products-page :focus-visible{outline:3px solid var(--red);outline-offset:2px}
.products-page .wrap{max-width:1440px;margin:0 auto;padding:0 50px}
.products-page .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.products-page .ico{width:1em;height:1em;vertical-align:-.125em;fill:currentColor}
.products-page .ico.sm{width:.72em;height:.72em;vertical-align:-.05em}

/* ---------- banda titolo ---------- */
.tband{background:var(--band);padding:8px 0 38px}
.crumbs ol{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-size:14px;line-height:19.6px;color:var(--dark)}
.crumbs li+li::before{content:"»";margin:0 5px}
.crumbs a{color:var(--dark);text-decoration:underline}
.tband h1{margin:13px 0 0;text-align:center;font:400 35px/42px var(--font);color:#000}
.line-logo{width:290px;margin:12px auto 0}

/* ---------- introduzione ---------- */
.intro{padding:24px 0 44px;text-align:center}
.intro h2{margin:0 0 22px;font:400 20px/24px var(--font);color:#000}
.intro p{margin:0 0 16px}
.cta-wrap{margin:26px 0 36px}
.btn-dark{display:inline-block;padding:10px 22px;background:var(--dark);color:#fff;text-decoration:underline;text-underline-offset:4px;text-transform:uppercase;font-size:18px;line-height:24px}
.btn-dark:hover{background:#000}

/* ---------- schede categoria ---------- */
.cats{padding:2px 0 64px}
.catgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 20px;list-style:none;margin:0;padding:0}
.cat a{display:block;color:#000;text-decoration:none}
.cimg{display:block;border-radius:25px 0 0 0;overflow:hidden}
.cimg img{width:100%;aspect-ratio:761/600;object-fit:cover}
.cat h3{margin:10px 0 0;padding:15px;background:var(--label);border-radius:0 0 25px 0;font:700 16px/19.2px var(--font);text-transform:uppercase}
.cat a:hover h3{color:var(--red)}

/* ---------- hub: le 5 direzioni ---------- */
.dirs{padding:36px 0 44px}
.dirgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 30px;list-style:none;margin:0;padding:0}
.dir a{display:flex;flex-direction:column;height:100%;background:#fff;color:#000;text-decoration:none;
  border-radius:15px 0 15px 0;overflow:hidden;box-shadow:0 0 9px rgba(0,0,0,.18)}
.dimg img{width:100%;aspect-ratio:3/2;object-fit:cover}
.dimg.full{flex:1;display:flex}
.dimg.full img{height:100%;aspect-ratio:auto;object-fit:cover}
.dtxt{flex:1;display:flex;flex-direction:column;justify-content:center;padding:12px 12px 14px;min-height:125px}
.dtitle{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dlogo{height:44px;width:auto}
.dbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:5px 14px;background:var(--red);color:#fff;font-weight:700;font-size:15px}
.univer .dbar{background:var(--blue)}
.dir a:hover .dbar{text-decoration:underline}

/* ---------- hub: novità ---------- */
.newsband{background:var(--newsbg);padding:26px 0 34px}
.ngrid{display:grid;grid-template-columns:minmax(0,37%) minmax(0,1fr);gap:36px;align-items:start}
.nbox{position:relative;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.15)}
.nbox h2{margin:0;padding:9px 12px;background:var(--red);color:#fff;font:700 16px/22px var(--font);text-transform:uppercase}
.nbody{padding:14px 12px 44px}
.narrow{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:36px;height:22px;background:var(--red);color:#fff}
.nlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;margin:0;padding:0}
.nlist a{display:block;text-decoration:none}
.nimg img{width:100%;aspect-ratio:3/2;object-fit:cover}
.nt{display:block;margin-top:10px;color:var(--dark);text-decoration:underline;text-underline-offset:3px;line-height:1.7}
.nlist a:hover .nt{color:var(--red)}

/* ---------- responsive ---------- */
@media (max-width:1200px){
  .catgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1000px){
  .products-page .wrap{padding:0 20px}
  .dirgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ngrid{grid-template-columns:1fr}
  .tband h1{font-size:28px;line-height:34px}
}
@media (max-width:640px){
  .catgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .cat h3{font-size:13px;line-height:16px;padding:10px}
  .dirgrid,.nlist{grid-template-columns:1fr}
  .tband h1{font-size:24px;line-height:30px}
  .intro{text-align:left}
}
@media (prefers-reduced-motion:reduce){.products-page *{transition:none!important}}
