/* Shared with the English guest booking and account visual language. */
.guest-form {
    box-sizing: border-box;
    width: 100%;
    max-width: 586px;
    margin: 40px auto 56px;
    padding: 0 20px;
    background: #fff;
    color: #222;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    text-align: left;
    -webkit-font-smoothing: antialiased;
}
.guest-form-contact { padding-top: 32px; border-top: 1px solid #ebebeb; }
.guest-form .guest-form-heading {
    margin: 0 0 12px;
    color: #222;
    font-family: inherit;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.4px;
}
.guest-form .guest-form-description { margin: 0 0 28px; color: #717171; font-size: 15px; line-height: 1.7; }
.guest-form .form-style-1 { max-width: none; margin: 0; padding: 0; font: inherit; list-style: none; }
.guest-form .form-style-1 > li { margin: 0 0 22px; padding: 0; }
.guest-form .form-style-1 > li:last-child { margin-bottom: 0; }
.guest-form .form-style-1 label,
.guest-form .guest-form-rating legend { display: block; margin: 0 0 8px; padding: 0; border: 0; color: #222; font-size: 14px; font-weight: 500; line-height: 1.5; }
.guest-form .required { margin-left: 3px; color: #d53940; }
.guest-form .form-style-1 .form-control {
    box-sizing: border-box;
    width: 100%;
    height: 52px;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid #b0b0b0;
    border-radius: 8px;
    background: #fff;
    color: #222;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    box-shadow: none;
    transition: border-color .15s ease;
}
.guest-form .form-style-1 .form-control::placeholder { color: #858585; opacity: 1; }
.guest-form .form-style-1 .form-control:hover:not(:focus) { border-color: #717171; }
.guest-form .form-style-1 .form-control:focus { border-color: #222; outline: 1px solid #222; outline-offset: 0; box-shadow: none; }
.guest-form .form-style-1 textarea.form-control { height: 144px; min-height: 108px; resize: vertical; }
.guest-form .form-style-1 button[type=submit] {
    width: 100%;
    min-height: 50px;
    margin-top: 4px;
    padding: 12px 20px;
    border: 1px solid #ff5055;
    border-radius: 8px;
    background: #ff5055;
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    white-space: normal;
}
.guest-form .form-style-1 button[type=submit] b { font-weight: inherit; }
.guest-form .form-style-1 button[type=submit]:enabled:hover { filter: brightness(.96); }
.guest-form .form-style-1 button[type=submit]:disabled { opacity: .5; }
.guest-form .form-style-1 button[type=submit]:focus-visible { outline: 2px solid #222; outline-offset: 3px; }
.guest-form-verification { min-height: 78px; }
.guest-form .guest-form-greeting { margin: 0; font-size: 16px; line-height: 1.6; }
.guest-form .guest-form-rating { min-width: 0; margin: 0; padding: 0; border: 0; }
.guest-form .star-rating { max-width: 100%; }
.guest-form .star-rating:focus-within { outline: 2px solid #222; outline-offset: 4px; border-radius: 4px; }
@media (max-width: 480px) {
    .guest-form { margin-top: 28px; margin-bottom: 40px; padding-left: 16px; padding-right: 16px; }
    .guest-form .guest-form-heading { font-size: 24px; }
}
@media (max-width: 359px) {
    /* Keep the fixed-width reCAPTCHA widget inside a 320px viewport. */
    .guest-form-contact { padding-left: 0; padding-right: 0; }
    .guest-form-verification { overflow: hidden; min-height: 72px; }
    .guest-form-verification .g-recaptcha { width: 304px; transform: scale(.9); transform-origin: top left; }
}
