/* Pagina Prenotazioni - stile dedicato */
body.page-prenotazioni { background:#0b0e12; color:#e9ecef; font-family:'Poppins',sans-serif; }
.page-wrap { max-width:1000px; margin:100px auto 60px; padding:0 20px; }
.page-header { text-align:center; margin-bottom:24px; }
.page-header h1 { font-size:2rem; margin:0 0 .5rem; background:linear-gradient(90deg,#fff,#d0d6dc); -webkit-background-clip:text; background-clip:text; color:transparent; }
.page-header p { opacity:.75; margin:0; }
.form { background:#0f1217; padding:1.2rem; border-radius:14px; }
.form-row { display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.form-field { display:flex; flex-direction:column; }
.form-field.wide { grid-column:1/-1; }
.form-field label { font-weight:600; margin-bottom:.4rem; font-size:.8rem; letter-spacing:.5px; text-transform:uppercase; opacity:.75; }
.form-field input, .form-field textarea { background:#101317; border:1px solid #2c323b; padding:.75rem .85rem; border-radius:10px; color:#fff; font-size:.95rem; font-family:inherit; }
.form-field input:focus, .form-field textarea:focus { outline:none; border-color:#3d84ff; box-shadow:0 0 0 3px rgba(61,132,255,.25); }
.form-field select { background:#101317; border:1px solid #2c323b; padding:.75rem .85rem; border-radius:10px; color:#fff; font-size:.95rem; font-family:inherit; }
.form-field select:focus { outline:none; border-color:#3d84ff; box-shadow:0 0 0 3px rgba(61,132,255,.25); }
.form-actions { margin-top:24px; display:flex; gap:1rem; flex-wrap:wrap; }
.btn-submit { background:linear-gradient(90deg,#ff7a18,#af002d 70%); border:none; padding:.95rem 1.4rem; font-weight:700; border-radius:12px; cursor:pointer; color:#fff; font-size:1rem; letter-spacing:.5px; box-shadow:0 8px 24px -6px rgba(175,0,45,.55); }
.btn-submit:hover { filter:brightness(1.08); }
.form-hint { font-size:.75rem; opacity:.6; margin-top:10px; }
.return-links { margin-top:18px; display:flex; gap:.8rem; justify-content:center; }
.return-links a { background:#232a33; color:#fff; padding:.6rem .9rem; border-radius:10px; text-decoration:none; }
.return-links a:hover{ filter:brightness(1.06); }

/* Banner: ensure image is fully visible and responsive with rounded corners */
.page-banner-container {
  display: flex;
  justify-content: center;
  align-items: center;
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 20px;
	background: transparent;
}
.page-banner img {
  width: auto;
	height: auto;
  max-width: 100%;
  max-height: 100%;
	display: block;
	-webkit-user-drag: none;
	user-select: none;
}

/* Fix mobile menu for prenotazioni_pubbliche.php */
@media (max-width: 860px) {
  .nav-links {
    display: none;
  }
  .nav-links.open {
    display: flex;
  }
}
