.visit-page form { max-width: 720px; margin: 36px auto 0; padding: 32px; background: #fffdf8; border: 1px solid #d9ded4; }
.visit-page main { max-width: 1008px; }
.visit-page h1, .visit-page .intro { max-width: 720px; margin-left: auto; margin-right: auto; }
.visit-page fieldset { min-width: 0; border: 0; border-bottom: 1px solid #d9ded4; padding: 0 0 24px; margin: 0 0 24px; }
.visit-page legend { padding: 0; margin-bottom: 12px; }
.visit-page fieldset label { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 12px; background: #edf0e8; margin-top: 8px; cursor: pointer; }
.visit-page .contact-fields, .visit-page .date-time { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; }
.visit-page .contact-fields > div, .visit-page .date-time > div { min-width: 0; }
.visit-page .contact-fields label, .visit-page .date-time label { display: block; margin: 0 0 8px; line-height: 1.6; }
.visit-page input:not([type=radio]):not([type=checkbox]) { display: block; width: 100%; min-width: 0; min-height: 52px; border: 1px solid #809183; border-radius: 0; padding: 12px; background: #fff; color: #242c28; font: inherit; font-size: 16px; }
.visit-page input::placeholder { color: #596653; opacity: 1; }
.visit-page input[type=radio], .visit-page input[type=checkbox] { flex: 0 0 20px; width: 20px; height: 20px; margin: 0; accent-color: #344f40; }
.visit-page .group-title { font-size: 20px; margin: 28px 0 16px; }
.visit-page .privacy-notice { margin: 28px 0 20px; border-top: 1px solid #d9ded4; border-bottom: 1px solid #d9ded4; }
.visit-page summary { min-height: 52px; padding: 16px 0; cursor: pointer; line-height: 1.6; }
.visit-page .privacy { margin: 0 0 20px; font-size: 16px; line-height: 1.8; color: #526051; overflow-wrap: anywhere; }
.visit-page .field-hint { margin: 8px 0 0; font-size: 16px; line-height: 1.6; color: #526051; }
.visit-page .field-error { margin: 8px 0 0; font-size: 16px; line-height: 1.6; color: #8c2923; }
.visit-page .field-error:empty { display: none; }
.visit-page input[aria-invalid=true] { border-color: #8c2923; }
.visit-page .consent { display: flex; align-items: flex-start; gap: 10px; min-height: 48px; padding: 10px 0; line-height: 1.7; cursor: pointer; }
.visit-page .consent input { margin-top: 4px; }
.visit-page button.destination { border: 0; width: 100%; min-height: 56px; margin-top: 24px; cursor: pointer; font: inherit; font-size: 16px; }
.visit-page button:disabled { opacity: .6; cursor: wait; }
.visit-page input:focus-visible, .visit-page button:focus-visible, .visit-page summary:focus-visible { outline: 3px solid #344f40; outline-offset: 3px; }
.visit-page #receipt { max-width: 720px; margin: 24px auto 0; white-space: pre-line; line-height: 1.8; overflow-wrap: anywhere; }
.visit-page footer { font-size: 16px; }
@media(max-width:760px) { .visit-page form { padding: 24px 20px; margin-top: 28px; } .visit-page nav a { font-size: 16px; } .visit-page .contact-fields, .visit-page .date-time { grid-template-columns: minmax(0,1fr); gap: 20px; } }
@media(max-width:420px) { .visit-page main { padding: 32px 16px; } .visit-page form { padding: 24px 16px; } }
