/* 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:rgba(255,255,255,0.08); padding:1.8rem; border-radius:14px; border:1px solid rgba(255,255,255,0.12); box-shadow:0 8px 32px rgba(0,0,0,0.3); }
.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:.5rem; font-size:.85rem; letter-spacing:.5px; text-transform:uppercase; color:#fff; opacity:.9; }
.form-field input, .form-field textarea { background:#ffffff; border:2px solid rgba(255,255,255,0.3); padding:.85rem 1rem; border-radius:10px; color:#1a1a1a; font-size:1rem; font-family:inherit; font-weight:500; }
.form-field input:focus, .form-field textarea:focus { outline:none; border-color:#3d84ff; box-shadow:0 0 0 4px rgba(61,132,255,.2); background:#ffffff; }
.form-field select { background:#ffffff; border:2px solid rgba(255,255,255,0.3); padding:.85rem 1rem; border-radius:10px; color:#1a1a1a; font-size:1rem; font-family:inherit; font-weight:500; }
.form-field select:focus { outline:none; border-color:#3d84ff; box-shadow:0 0 0 4px rgba(61,132,255,.2); background:#ffffff; }
.form-actions { margin-top:24px; display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
.btn-submit { background:linear-gradient(90deg,#ff7a18,#af002d 70%); border:none; padding:1rem 1.6rem; font-weight:700; border-radius:12px; cursor:pointer; color:#fff; font-size:1.05rem; letter-spacing:.5px; box-shadow:0 8px 24px -6px rgba(175,0,45,.55); transition:all 0.3s ease; }
.btn-submit:hover { filter:brightness(1.15); transform:translateY(-2px); box-shadow:0 12px 32px -6px rgba(175,0,45,.7); }
.form-hint { font-size:.8rem; opacity:.7; margin-top:10px; color:#fff; }
.return-links { margin-top:18px; display:flex; gap:.8rem; justify-content:center; }
.return-links a { background:#232a33; color:#fff; padding:.7rem 1rem; border-radius:10px; text-decoration:none; font-weight:600; transition:all 0.3s ease; }
.return-links a:hover{ filter:brightness(1.15); transform:translateY(-2px); }

/* 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;
  }
  
  /* Migliorie mobile per form prenotazioni */
  .page-wrap { 
    margin-top:80px; 
    padding:0 15px; 
  }
  
  .form { 
    padding:1.5rem 1.2rem; 
    background:rgba(255,255,255,0.1); 
    border:2px solid rgba(255,255,255,0.15); 
  }
  
  .form-field label { 
    font-size:.9rem; 
    margin-bottom:.6rem; 
    color:#fff; 
    opacity:1; 
  }
  
  .form-field input, 
  .form-field textarea, 
  .form-field select { 
    background:#ffffff; 
    color:#000; 
    font-size:16px; /* Previene zoom automatico su iOS */
    padding:1rem; 
    border:2px solid rgba(255,255,255,0.3); 
  }
  
  .form-field input:focus, 
  .form-field textarea:focus, 
  .form-field select:focus { 
    background:#ffffff; 
    border-color:#3d84ff; 
  }
  
  .btn-submit { 
    padding:1.1rem 1.4rem; 
    font-size:1.1rem; 
    width:100%; 
  }
  
  .form-row { 
    grid-template-columns:1fr; 
  }
}
