/* Widget prenotazione sullo slider hero (sostituisce il bottone "Prenota il tuo lettino") */
.ilf-bookwidget{
  position:absolute; left:50%; top:54%; transform:translate(-50%,-50%);
  z-index:25; display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  justify-content:center; background:rgba(0,0,0,.32); padding:14px 16px;
  border-radius:14px; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.ilf-bw-field{
  display:flex; align-items:center; gap:8px; background:#fff;
  border-radius:10px; padding:11px 13px;
}
.ilf-bw-field svg{flex:0 0 auto}
.ilf-bw-date{
  border:0; outline:0; background:transparent; min-width:140px;
  font:600 16px/1.2 Roboto,Arial,sans-serif; color:#1f2937;
}
.ilf-bw-cta{
  -webkit-appearance:none; appearance:none; border:0; cursor:pointer;
  background:#f5821f; color:#fff; white-space:nowrap;
  font:600 16px/1.2 Roboto,Arial,sans-serif; padding:14px 24px;
  border-radius:10px; transition:background .15s ease, box-shadow .15s ease;
  box-shadow:0 6px 16px rgba(245,130,31,.35);
}
.ilf-bw-cta:hover{background:#e0710f}
@media (max-width:520px){
  .ilf-bookwidget{width:88%; top:60%; gap:8px; padding:12px}
  .ilf-bw-field,.ilf-bw-cta{width:100%; justify-content:center}
  .ilf-bw-date{width:100%; min-width:0; text-align:center}
}

/* ---- Pop-up prenotazione lido ---- */
.ilf-pop-ov{
  position:fixed; inset:0; z-index:99999; display:flex; align-items:center;
  justify-content:center; padding:18px; background:rgba(10,18,26,.55);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  opacity:0; transition:opacity .28s ease;
}
.ilf-pop-ov.show{opacity:1}
.ilf-pop{
  position:relative; width:100%; max-width:440px; background:#fff;
  border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.45);
  transform:translateY(18px) scale(.96); opacity:0;
  transition:transform .34s cubic-bezier(.2,.8,.25,1), opacity .34s ease;
}
.ilf-pop-ov.show .ilf-pop{transform:none; opacity:1}
.ilf-pop-x{
  position:absolute; top:12px; right:12px; width:34px; height:34px; border:0;
  border-radius:50%; background:rgba(255,255,255,.22); color:#fff; font-size:20px;
  line-height:1; cursor:pointer; z-index:2; transition:background .15s ease;
}
.ilf-pop-x:hover{background:rgba(255,255,255,.42)}
.ilf-pop-head{
  position:relative; padding:28px 22px 24px; text-align:center;
  background:linear-gradient(135deg,#0e7c8f 0%,#1b9cb0 55%,#27b8cc 100%);
}
.ilf-pop-head img{
  height:84px; width:auto; display:inline-block;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.28));
}
.ilf-pop-body{padding:22px 24px 26px; text-align:center}
.ilf-pop-body h3{margin:0 0 7px; font:700 23px/1.25 Roboto,Arial,sans-serif; color:#13303a}
.ilf-pop-body p{margin:0 0 18px; font:400 15px/1.5 Roboto,Arial,sans-serif; color:#5a6b72}
.ilf-pop-field{
  display:flex; align-items:center; gap:10px; background:#f4f6f7;
  border:1px solid #e2e8ea; border-radius:12px; padding:12px 14px; margin-bottom:12px;
}
.ilf-pop-field input{
  flex:1; border:0; outline:0; background:transparent; width:100%;
  font:600 16px/1.2 Roboto,Arial,sans-serif; color:#13303a;
}
.ilf-pop-cta{
  display:block; width:100%; border:0; cursor:pointer; background:#f5821f; color:#fff;
  font:700 17px/1.2 Roboto,Arial,sans-serif; padding:15px; border-radius:12px;
  box-shadow:0 8px 20px rgba(245,130,31,.4); transition:background .15s ease;
}
.ilf-pop-cta:hover{background:#e0710f}
.ilf-pop-note{margin:14px 0 0; font:500 12.5px/1.4 Roboto,Arial,sans-serif; color:#8a979d}
@media (max-width:480px){
  .ilf-pop-head img{height:70px}
  .ilf-pop-body h3{font-size:20px}
}
