/* Popup di apertura - usato dal sito e dall'anteprima del gestionale */
.pu-overlay{
  position:fixed; inset:0; z-index:900; display:flex; align-items:center; justify-content:center;
  padding:20px 20px 90px; box-sizing:border-box; overflow-y:auto;
  background:rgba(14,16,20,.62); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  opacity:0; transition:opacity .25s ease;
}
.pu-overlay.pu-in{opacity:1;}
.pu-overlay.pu-in .pu-card{transform:none; opacity:1;}
.pu-card{
  position:relative; width:100%; max-width:460px; margin:auto; box-sizing:border-box;
  border-radius:22px; overflow:hidden; background:#FFFCF7; color:#14161A;
  box-shadow:0 30px 80px rgba(0,0,0,.4);
  transform:translateY(16px) scale(.97); opacity:0; transition:transform .3s ease, opacity .3s ease;
  font-family:'Inter',system-ui,sans-serif;
}
.pu-card.t-scuro{color:#fff;}
.pu-preview .pu-card{transform:none; opacity:1; margin:0 auto;}
.pu-x{
  position:absolute; top:12px; right:12px; z-index:3; width:40px; height:40px; border-radius:50%;
  border:none; cursor:pointer; background:rgba(20,22,26,.82); color:#fff; font-size:1.6rem; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:transform .15s ease, background .15s ease;
}
.pu-x:hover{background:#14161A; transform:scale(1.08);}
.pu-x:focus-visible,.pu-btn:focus-visible{outline:3px solid #FFD400; outline-offset:2px;}

.pu-media{display:block; width:100%; background:#14161A; line-height:0;}
.pu-media img{display:block; width:100%; max-height:52vh; object-fit:cover;}
.pu-body{padding:24px 26px 28px;}
.pu-title{
  font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-.02em; line-height:1.12;
  font-size:1.65rem; margin:0 0 10px; overflow-wrap:anywhere;
}
.pu-text{margin:0 0 20px; font-size:1rem; line-height:1.6; opacity:.82; overflow-wrap:anywhere; white-space:pre-line;}
.pu-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none;
  background:#FF3B30; color:#fff; padding:14px 28px; border-radius:100px; font-weight:600; font-size:1rem;
  box-shadow:0 6px 0 #C22318; transition:transform .15s ease, box-shadow .15s ease;
}
.pu-btn:hover{transform:translateY(3px); box-shadow:0 3px 0 #C22318;}
.pu-body > :last-child{margin-bottom:0;}

/* solo immagine */
.pu-card-image{background:#14161A; max-width:560px;}
.pu-card-image .pu-media img{max-height:82vh;}
a.pu-media{cursor:pointer;}

/* barra del tempo che resta (chiusura automatica) */
.pu-timer{position:absolute; left:0; bottom:0; height:4px; width:100%; background:#FFD400; transform-origin:left; z-index:3;}
@keyframes pu-run{from{transform:scaleX(1);} to{transform:scaleX(0);}}

body.pu-lock{overflow:hidden;}
@media (max-width:520px){
  .pu-overlay{padding:14px 14px 96px;}
  .pu-title{font-size:1.4rem;}
  .pu-body{padding:20px 20px 24px;}
}
@media (prefers-reduced-motion:reduce){
  .pu-overlay,.pu-card{transition:none;}
  .pu-timer{animation-duration:0s!important;}
}
