/*
  Ponderano Informa / Sicura - Sito
  CSS condiviso prudente.
  Non sostituisce ancora gli style interni: li affianca.
*/

:root{
  --pi-bg:#f4f7fb;
  --pi-card:#ffffff;
  --pi-ink:#172033;
  --pi-muted:#667085;
  --pi-blue:#1e63ff;
  --pi-blue-dark:#0b3fb8;
  --pi-green:#15803d;
  --pi-amber:#b45309;
  --pi-red:#b42318;
  --pi-line:#d9e2ef;
  --pi-shadow:0 18px 45px rgba(15,23,42,.10);
  --pi-radius:24px;
}

/* Piccole uniformità tra le pagine */
html{
  scroll-behavior:smooth;
}

body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a:focus-visible,
button:focus-visible{
  outline:3px solid rgba(30,99,255,.35);
  outline-offset:3px;
}

.nav a{
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}

.nav a:hover{
  transform:translateY(-1px);
  background:#ffffff;
  border-color:rgba(30,99,255,.22);
}

.card{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.card:hover{
  transform:translateY(-2px);
  border-color:rgba(30,99,255,.22);
  box-shadow:0 16px 36px rgba(15,23,42,.10);
}

.btn{
  transition:transform .15s ease, filter .15s ease;
}

.btn:hover{
  transform:translateY(-1px);
  filter:brightness(.98);
}

/* Badge laboratorio discreto, se usato */
.lab-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  background:#eef4ff;
  color:#1747a6;
  font-size:12px;
  font-weight:850;
}

/* Footer più leggibile */
footer{
  padding-bottom:env(safe-area-inset-bottom);
}

/* Mobile: nav più comoda */
@media(max-width:860px){
  .nav{
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap;
    justify-content:flex-start;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
  }

  .nav a{
    white-space:nowrap;
  }

  .wrap{
    padding-left:max(14px, env(safe-area-inset-left));
    padding-right:max(14px, env(safe-area-inset-right));
  }
}

/* Riduce animazioni per chi le disattiva */
@media (prefers-reduced-motion: reduce){
  *{
    scroll-behavior:auto !important;
    transition:none !important;
  }
}

/* Footer unico sito */
.site-footer{
  margin:34px 0 12px;
  padding:22px;
  border-radius:22px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(23,32,51,.08);
  color:#667085;
  font-size:14px;
  text-align:center;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.site-footer .footer-main{
  display:flex;
  flex-direction:column;
  gap:4px;
  color:#344054;
}

.site-footer .footer-main strong{
  color:#172033;
}

.site-footer .footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 12px;
  margin:14px 0;
}

.site-footer .footer-links a{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:#eef4ff;
  color:#1747a6;
  font-weight:800;
  text-decoration:none;
}

.site-footer .footer-links a:hover{
  background:#dbeafe;
}

.site-footer .footer-note{
  max-width:860px;
  margin:0 auto;
  color:#667085;
  line-height:1.45;
}

@media(max-width:860px){
  .site-footer{
    text-align:left;
  }

  .site-footer .footer-links{
    justify-content:flex-start;
  }
}


/* FIX NAV WRAP SITO / SITO-LAB */
.topbar{
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:14px !important;
}

.nav{
  width:100% !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.nav a{
  white-space:nowrap !important;
}

@media(max-width:860px){
  .topbar{
    gap:12px !important;
  }

  .nav{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
}

/* STEP 19 MENU COMPATTO */
.topbar{
  padding-top:4px !important;
  margin-bottom:18px !important;
  gap:12px !important;
}

.brand{
  gap:10px !important;
  font-size:16px !important;
}

.logo{
  width:46px !important;
  height:46px !important;
  border-radius:15px !important;
  font-size:24px !important;
}

.nav{
  gap:7px !important;
  align-items:center !important;
}

.nav a{
  padding:8px 12px !important;
  font-size:14px !important;
  line-height:1.15 !important;
  border-radius:999px !important;
  box-shadow:0 5px 14px rgba(15,23,42,.04) !important;
}

.nav a:hover{
  transform:translateY(-1px) !important;
}

.hero{
  margin-top:2px !important;
}

@media(max-width:860px){
  .topbar{
    margin-bottom:14px !important;
  }

  .brand{
    font-size:15px !important;
  }

  .logo{
    width:42px !important;
    height:42px !important;
    font-size:22px !important;
  }

  .nav{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:7px !important;
    padding-bottom:6px !important;
    scrollbar-width:thin !important;
  }

  .nav a{
    flex:0 0 auto !important;
    padding:8px 11px !important;
    font-size:13px !important;
  }
}

@media(min-width:861px){
  .nav{
    max-width:100% !important;
  }
}
/* FINE STEP 19 MENU COMPATTO */

/* STEP 21 LOGO IMMAGINE */
.logo.logo-img{
  background:
    url('/ps/sito/assets/logo.png?v=21') center/cover no-repeat,
    linear-gradient(135deg,var(--pi-blue,#1e63ff),#6aa3ff) !important;
  color:transparent !important;
  font-size:0 !important;
  overflow:hidden !important;
}

.logo.logo-img::before,
.logo.logo-img::after{
  content:none !important;
}
/* FINE STEP 21 LOGO IMMAGINE */


/* STEP19_IDENTITA_UFFICIALE_START
   Palette ufficiale Ponderano Informa.
   Questa sezione NON stravolge il layout esistente:
   definisce solo token comuni da usare nei prossimi interventi prudenti.
*/
:root{
  --pi-blue: #1e63ff;
  --pi-blue-dark: #0b3fb8;
  --pi-deep: #172033;
  --pi-app-dark: #071426;
  --pi-bg: #f4f7fb;
  --pi-card: #ffffff;
  --pi-text: #172033;
  --pi-muted: #667085;
  --pi-line: #d9e2ef;
  --pi-success: #15803d;
  --pi-warning: #b45309;
  --pi-danger: #b42318;
  --pi-radius: 24px;
  --pi-shadow: 0 18px 45px rgba(15,23,42,.10);
}

/* Piccoli alias: aiutano le nuove parti a usare la stessa lingua visiva. */
.pi-brand-blue{color:var(--pi-blue);}
.pi-brand-muted{color:var(--pi-muted);}
.pi-brand-card{
  background:var(--pi-card);
  border:1px solid var(--pi-line);
  border-radius:var(--pi-radius);
  box-shadow:var(--pi-shadow);
}
.pi-brand-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 15px;
  border-radius:15px;
  background:var(--pi-blue);
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.pi-brand-button-dark{
  background:var(--pi-deep);
  color:#fff;
}
.pi-brand-note{
  color:var(--pi-muted);
  line-height:1.5;
}
/* STEP19_IDENTITA_UFFICIALE_END */

