.private-intro { max-width: 900px; }
.private-intro--with-image { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 48px; max-width: none; }
.private-intro > *, .private-form-grid > * { min-width: 0; }
.private-intro .btn-yellow { max-width: 100%; white-space: normal; overflow-wrap: anywhere; letter-spacing: 0; }
.private-intro .s-title { font-size: 52px; line-height: 1.12; letter-spacing: 0; overflow-wrap: anywhere; }
.private-intro .marker { color: var(--hot); }
.private-richtext { margin: 28px 0; line-height: 1.75; overflow-wrap: anywhere; }
.private-richtext p + p { margin-top: 18px; }
.private-photo { margin: 0; align-self: center; }
.private-photo img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: contain; }
.private-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 32px; margin-top: 54px; }
.private-details article { padding-top: 22px; border-top: 4px solid var(--teal); overflow-wrap: anywhere; }
.private-details h3 { font-family: "Bangers", sans-serif; font-size: 30px; letter-spacing: 0; margin: 0 0 16px; }
.private-details p { color: var(--inkDim); line-height: 1.7; }
.private-form-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.private-contact { overflow-wrap: anywhere; }
.private-contact h2 { font-family: "Luckiest Guy", sans-serif; font-size: 42px; line-height: 1.15; margin: 20px 0; letter-spacing: 0; }
.private-contact p { line-height: 1.7; margin-bottom: 26px; }
.private-contact > a { display: block; color: var(--yellow); margin: 16px 0; text-underline-offset: 4px; }
.private-contact .private-club-note { font-size: 14px; color: var(--inkDim); margin-top: 32px; }
.private-form-wrap .booking-form-title { font-size: 30px; letter-spacing: 0; line-height: 1.2; text-shadow: none; color: var(--bg); overflow-wrap: anywhere; }
.private-form-note { font-size: 14px; line-height: 1.6; margin: 16px 0 28px; }
.private-party-form .form-group { min-width: 0; }
.private-party-form .form-group label { letter-spacing: 0; font-size: 16px; }
.private-party-form .form-group input, .private-party-form .form-group textarea { min-width: 0; max-width: 100%; font-size: 16px; }
.private-privacy { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; margin: 12px 0 24px; font-size: 13px; line-height: 1.6; }
.private-privacy input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--bg); }
.private-privacy a { grid-column: 2; color: var(--bg); text-decoration: underline; }
.private-feedback { border-left: 5px solid var(--bg); padding: 16px; margin-bottom: 20px; background: #fff; color: var(--bg); line-height: 1.6; overflow-wrap: anywhere; }
.private-feedback[data-state="error"] { border-color: #9b1234; }
.private-feedback[data-state="success"] { border-color: #116357; }
.private-party-form .form-submit { white-space: normal; letter-spacing: 0; overflow-wrap: anywhere; }
.private-party-form .form-submit:disabled { opacity: .65; cursor: wait; }
#richiesta-festa { scroll-margin-top: 110px; }
@media (max-width: 879px) {
  .private-intro--with-image, .private-form-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .private-intro .s-title { font-size: 42px; }
  .private-photo img { max-height: 520px; }
}
@media (max-width: 599px) {
  .private-intro .s-title { font-size: 34px; }
  .private-contact h2 { font-size: 32px; }
  .private-form-wrap { padding: 22px 18px; }
  .private-party-form .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
