/* =========================================================
BNI HOME — COUNTER 5 KPI / V2
Da aggiungere IN FONDO al CSS Home attuale.
========================================================= */

.page .widgetTextColumns .bni5-stats{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:1fr 1fr!important;
  width:100%!important;
  min-height:500px!important;
  overflow:visible!important;
  border-radius:28px!important;
  background:#f2f2f2!important;
  box-shadow:0 18px 42px rgba(0,0,0,.08)!important;
}

.page .widgetTextColumns .bni5-cell{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:250px!important;
  padding:28px 22px!important;
  text-align:center!important;
}

.page .widgetTextColumns .bni5-cell-tl{background:#fff!important;border-radius:28px 0 0 0!important;}
.page .widgetTextColumns .bni5-cell-tr{background:#f1f1f1!important;border-radius:0 28px 0 0!important;}
.page .widgetTextColumns .bni5-cell-bl{background:#f4f4f4!important;border-radius:0 0 0 28px!important;}
.page .widgetTextColumns .bni5-cell-br{background:#fff!important;border-radius:0 0 28px 0!important;}

.page .widgetTextColumns .bni5-number{
  display:block!important;
  color:#cf2030!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:48px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-1.5px!important;
}

.page .widgetTextColumns .bni5-label{
  display:block!important;
  margin-top:12px!important;
  color:#1d1d1d!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:700!important;
}

.page .widgetTextColumns .bni5-note{
  display:block!important;
  margin-top:9px!important;
  color:#707070!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:500!important;
}

.page .widgetTextColumns .bni5-center{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  z-index:5!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:56%!important;
  min-height:210px!important;
  padding:30px 26px!important;
  transform:translate(-50%,-50%)!important;
  background:#fff!important;
  border:1px solid #eee!important;
  border-radius:24px!important;
  box-shadow:0 20px 42px rgba(0,0,0,.15)!important;
  text-align:center!important;
}

.page .widgetTextColumns .bni5-number-center{font-size:52px!important;}
.page .widgetTextColumns .bni5-label-center{font-size:21px!important;}

@media(max-width:991px){
  .page .widgetTextColumns .bni5-stats{min-height:440px!important;}
  .page .widgetTextColumns .bni5-cell{min-height:220px!important;padding:24px 14px!important;}
  .page .widgetTextColumns .bni5-number{font-size:38px!important;}
  .page .widgetTextColumns .bni5-label{font-size:17px!important;}
  .page .widgetTextColumns .bni5-note{font-size:11px!important;}
  .page .widgetTextColumns .bni5-center{width:60%!important;min-height:185px!important;}
  .page .widgetTextColumns .bni5-number-center{font-size:42px!important;}
  .page .widgetTextColumns .bni5-label-center{font-size:18px!important;}
}

@media(max-width:700px){
  .page .widgetTextColumns .bni5-stats{
    display:block!important;
    min-height:0!important;
    overflow:visible!important;
    border-radius:22px!important;
  }
  .page .widgetTextColumns .bni5-cell{
    min-height:145px!important;
    padding:25px 18px!important;
    border-radius:0!important;
  }
  .page .widgetTextColumns .bni5-cell-tl{border-radius:22px 22px 0 0!important;}
  .page .widgetTextColumns .bni5-cell-br{border-radius:0 0 22px 22px!important;}
  .page .widgetTextColumns .bni5-center{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:calc(100% - 28px)!important;
    min-height:160px!important;
    margin:-12px auto!important;
    transform:none!important;
    border-radius:20px!important;
  }
  .page .widgetTextColumns .bni5-number{font-size:38px!important;}
  .page .widgetTextColumns .bni5-number-center{font-size:44px!important;}
  .page .widgetTextColumns .bni5-label{font-size:17px!important;}
  .page .widgetTextColumns .bni5-label-center{font-size:19px!important;}
}

/* =========================================================
   COUNTER 5 KPI — V3 RIFINITO
   Correzioni dopo test reale:
   - card centrale più compatta
   - meno sovrapposizione sui 4 KPI
   - maggiore leggibilità delle label superiori/inferiori
   ========================================================= */

.page .widgetTextColumns .bni5-stats{
  min-height:520px!important;
}

.page .widgetTextColumns .bni5-cell{
  min-height:260px!important;
  padding:30px 24px!important;
}

/* Più aria ai KPI superiori */
.page .widgetTextColumns .bni5-cell-tl,
.page .widgetTextColumns .bni5-cell-tr{
  justify-content:flex-start!important;
  padding-top:70px!important;
}

/* Più aria ai KPI inferiori */
.page .widgetTextColumns .bni5-cell-bl,
.page .widgetTextColumns .bni5-cell-br{
  justify-content:flex-end!important;
  padding-bottom:62px!important;
}

/* Card centrale meno invasiva */
.page .widgetTextColumns .bni5-center{
  top:51%!important;
  width:48%!important;
  min-height:172px!important;
  padding:22px 22px!important;
  border-radius:22px!important;
  box-shadow:0 18px 36px rgba(0,0,0,.14)!important;
}

.page .widgetTextColumns .bni5-number-center{
  font-size:45px!important;
}

.page .widgetTextColumns .bni5-label-center{
  margin-top:10px!important;
  font-size:18px!important;
  line-height:1.18!important;
}

.page .widgetTextColumns .bni5-center .bni5-note{
  margin-top:8px!important;
  font-size:12px!important;
}

/* Numeri periferici leggermente più compatti */
.page .widgetTextColumns .bni5-cell .bni5-number{
  font-size:43px!important;
}

.page .widgetTextColumns .bni5-cell .bni5-label{
  margin-top:10px!important;
  font-size:18px!important;
}

.page .widgetTextColumns .bni5-cell .bni5-note{
  margin-top:7px!important;
  font-size:12px!important;
}


/* TABLET */
@media(max-width:991px){
  .page .widgetTextColumns .bni5-stats{
    min-height:460px!important;
  }

  .page .widgetTextColumns .bni5-cell{
    min-height:230px!important;
  }

  .page .widgetTextColumns .bni5-cell-tl,
  .page .widgetTextColumns .bni5-cell-tr{
    padding-top:54px!important;
  }

  .page .widgetTextColumns .bni5-cell-bl,
  .page .widgetTextColumns .bni5-cell-br{
    padding-bottom:48px!important;
  }

  .page .widgetTextColumns .bni5-center{
    width:50%!important;
    min-height:155px!important;
    padding:18px!important;
  }

  .page .widgetTextColumns .bni5-number-center{
    font-size:38px!important;
  }

  .page .widgetTextColumns .bni5-label-center{
    font-size:16px!important;
  }
}


/* MOBILE: mantiene il comportamento impilato */
@media(max-width:700px){
  .page .widgetTextColumns .bni5-stats{
    min-height:0!important;
  }

  .page .widgetTextColumns .bni5-cell,
  .page .widgetTextColumns .bni5-cell-tl,
  .page .widgetTextColumns .bni5-cell-tr,
  .page .widgetTextColumns .bni5-cell-bl,
  .page .widgetTextColumns .bni5-cell-br{
    min-height:145px!important;
    padding:25px 18px!important;
    justify-content:center!important;
  }

  .page .widgetTextColumns .bni5-center{
    top:auto!important;
    width:calc(100% - 28px)!important;
    min-height:155px!important;
    padding:22px 18px!important;
  }

  .page .widgetTextColumns .bni5-number-center{
    font-size:42px!important;
  }
}

/* =========================================================
   COUNTER 5 KPI — V4 MOBILE MOSAICO
   Mantiene anche su smartphone la composizione 2x2
   con card centrale flottante.
   Desktop/tablet invariati.
   ========================================================= */

@media(max-width:700px){

  .page .widgetTextColumns .bni5-stats{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:1fr 1fr!important;
    width:100%!important;
    min-height:520px!important;
    overflow:visible!important;
    border-radius:22px!important;
    background:#f2f2f2!important;
    box-shadow:0 14px 30px rgba(0,0,0,.08)!important;
  }

  .page .widgetTextColumns .bni5-cell,
  .page .widgetTextColumns .bni5-cell-tl,
  .page .widgetTextColumns .bni5-cell-tr,
  .page .widgetTextColumns .bni5-cell-bl,
  .page .widgetTextColumns .bni5-cell-br{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:260px!important;
    padding:24px 12px!important;
    text-align:center!important;
    border-radius:0!important;
  }

  .page .widgetTextColumns .bni5-cell-tl{
    background:#ffffff!important;
    border-radius:22px 0 0 0!important;
    justify-content:flex-start!important;
    padding-top:48px!important;
  }

  .page .widgetTextColumns .bni5-cell-tr{
    background:#f1f1f1!important;
    border-radius:0 22px 0 0!important;
    justify-content:flex-start!important;
    padding-top:48px!important;
  }

  .page .widgetTextColumns .bni5-cell-bl{
    background:#f4f4f4!important;
    border-radius:0 0 0 22px!important;
    justify-content:flex-end!important;
    padding-bottom:44px!important;
  }

  .page .widgetTextColumns .bni5-cell-br{
    background:#ffffff!important;
    border-radius:0 0 22px 0!important;
    justify-content:flex-end!important;
    padding-bottom:44px!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-number{
    font-size:29px!important;
    line-height:1!important;
    letter-spacing:-.8px!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-label{
    margin-top:8px!important;
    font-size:13px!important;
    line-height:1.15!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-note{
    margin-top:6px!important;
    font-size:9.5px!important;
    line-height:1.25!important;
  }

  .page .widgetTextColumns .bni5-center{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    z-index:6!important;
    width:58%!important;
    min-height:150px!important;
    margin:0!important;
    padding:18px 14px!important;
    transform:translate(-50%,-50%)!important;
    background:#ffffff!important;
    border:1px solid #eeeeee!important;
    border-radius:18px!important;
    box-shadow:0 16px 30px rgba(0,0,0,.14)!important;
    text-align:center!important;
  }

  .page .widgetTextColumns .bni5-number-center{
    font-size:34px!important;
    line-height:1!important;
    letter-spacing:-1px!important;
  }

  .page .widgetTextColumns .bni5-label-center{
    margin-top:8px!important;
    font-size:14px!important;
    line-height:1.16!important;
  }

  .page .widgetTextColumns .bni5-center .bni5-note{
    margin-top:7px!important;
    font-size:9.5px!important;
    line-height:1.25!important;
  }
}


/* Smartphone molto stretti */
@media(max-width:430px){

  .page .widgetTextColumns .bni5-stats{
    min-height:500px!important;
  }

  .page .widgetTextColumns .bni5-cell,
  .page .widgetTextColumns .bni5-cell-tl,
  .page .widgetTextColumns .bni5-cell-tr,
  .page .widgetTextColumns .bni5-cell-bl,
  .page .widgetTextColumns .bni5-cell-br{
    min-height:250px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .page .widgetTextColumns .bni5-cell-tl,
  .page .widgetTextColumns .bni5-cell-tr{
    padding-top:42px!important;
  }

  .page .widgetTextColumns .bni5-cell-bl,
  .page .widgetTextColumns .bni5-cell-br{
    padding-bottom:38px!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-number{
    font-size:26px!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-label{
    font-size:12px!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-note{
    font-size:9px!important;
  }

  .page .widgetTextColumns .bni5-center{
    width:60%!important;
    min-height:142px!important;
    padding:16px 12px!important;
  }

  .page .widgetTextColumns .bni5-number-center{
    font-size:31px!important;
  }

  .page .widgetTextColumns .bni5-label-center{
    font-size:13px!important;
  }
}

/* =========================================================
   COUNTER 5 KPI — V5 MOBILE FONT PLUS
   Ultima rifinitura responsive:
   - 4 KPI periferici più autorevoli
   - card centrale business invariata
   - layout mosaico invariato
   ========================================================= */

@media(max-width:700px){

  .page .widgetTextColumns .bni5-cell .bni5-number{
    font-size:38px!important;
    line-height:1!important;
    letter-spacing:-1px!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-label{
    margin-top:9px!important;
    font-size:15px!important;
    line-height:1.15!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-note{
    margin-top:7px!important;
    font-size:10px!important;
    line-height:1.25!important;
  }

  /* Business centrale: volutamente invariato */
  .page .widgetTextColumns .bni5-number-center{
    font-size:34px!important;
  }

  .page .widgetTextColumns .bni5-label-center{
    font-size:14px!important;
  }
}

/* Smartphone molto stretti */
@media(max-width:430px){

  .page .widgetTextColumns .bni5-cell .bni5-number{
    font-size:34px!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-label{
    font-size:14px!important;
  }

  .page .widgetTextColumns .bni5-cell .bni5-note{
    font-size:9.5px!important;
  }

  /* Card centrale sempre invariata rispetto alla V4 */
  .page .widgetTextColumns .bni5-number-center{
    font-size:31px!important;
  }

  .page .widgetTextColumns .bni5-label-center{
    font-size:13px!important;
  }
}

/* =========================================================
   COUNTER 5 KPI — V6 FINAL
   Micro-allineamento KPI "Paesi" su mobile
   ========================================================= */

@media(max-width:700px){
  .page .widgetTextColumns .bni5-cell-bl .bni5-number{
    transform:translateY(-8px)!important;
  }
}

/* =========================================================
   COUNTER 5 KPI — V7
   ALLINEAMENTO REALE "PAESI" / "REFERENZE"
   Il disallineamento nasce dal fatto che Referenze ha una nota
   aggiuntiva ("ultimi 12 mesi"), mentre Paesi no.
   Aggiungiamo quindi a Paesi uno spazio invisibile equivalente,
   così i NUMERI e le LABEL partono alla stessa quota.
   ========================================================= */

/* annulla il vecchio micro-spostamento V6 */
.page .widgetTextColumns .bni5-cell-bl .bni5-number{
  transform:none!important;
}

/* DESKTOP / TABLET:
   riserva sotto "Paesi" lo stesso spazio occupato dalla nota
   della cella "Referenze tra Membri". */
.page .widgetTextColumns .bni5-cell-bl::after{
  content:""!important;
  display:block!important;
  flex:0 0 auto!important;
  width:1px!important;
  height:16px!important;
  margin-top:7px!important;
  padding:0!important;
  visibility:hidden!important;
}

/* MOBILE */
@media(max-width:700px){
  .page .widgetTextColumns .bni5-cell-bl .bni5-number{
    transform:none!important;
  }

  .page .widgetTextColumns .bni5-cell-bl::after{
    height:13px!important;
    margin-top:7px!important;
  }
}

/* Smartphone molto stretti */
@media(max-width:430px){
  .page .widgetTextColumns .bni5-cell-bl::after{
    height:12px!important;
    margin-top:7px!important;
  }
}

