/* [rnr_reservation_form]. Colors and fonts follow the theme tokens (with fallbacks). */
.rnr-form { box-sizing: border-box; max-width: 860px; padding: clamp(20px, 4vw, 36px); background: var(--rnr-cream, #f6f1e9); border-radius: 3px; color: var(--rnr-text, #1c1714); font-family: var(--rnr-sans, Barlow, system-ui, sans-serif); font-size: 16px; line-height: 1.5; text-align: left; }
.rnr-form *, .rnr-form *::before, .rnr-form *::after { box-sizing: border-box; }
/* Clear the sticky site header when the page jumps to #reserve or focuses the errors / thank-you. */
.rnr-form, .rnr-form__errors, .rnr-form__thanks, .rnr-form [id^="rnr-f-"] { scroll-margin-top: 120px; }
.rnr-form__form { margin: 0; }
.rnr-form__note { margin: 0 0 18px; color: var(--rnr-body, #5e554d); font-size: 15px; }
.rnr-form__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px 16px; }
.rnr-form__field { grid-column: span 6; display: flex; flex-direction: column; gap: 6px; margin: 0; }
.rnr-form__field--half { grid-column: span 3; }
.rnr-form__field--third { grid-column: span 2; }
.rnr-form__field[hidden] { display: none; }
.rnr-form__group { grid-column: span 6; min-width: 0; margin: 4px 0 0; padding: 0; border: 0; }
.rnr-form__legend { margin: 0 0 10px; padding: 0; font-family: var(--rnr-head, Oswald, "Arial Narrow", sans-serif); font-size: 19px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--rnr-text, #1c1714); }
.rnr-form__label { font-weight: 600; font-size: 16px; color: var(--rnr-text, #1c1714); }
.rnr-form__req { color: var(--rnr-burnt, #b8480f); font-weight: 700; }
.rnr-form__hint { color: var(--rnr-body, #5e554d); font-size: 15px; }
.rnr-form__error { color: #a4231b; font-weight: 600; font-size: 15px; }

.rnr-form input[type=text], .rnr-form input[type=email], .rnr-form input[type=tel], .rnr-form input[type=number], .rnr-form input[type=date], .rnr-form select, .rnr-form textarea {
	width: 100%; min-height: 48px; margin: 0; padding: 10px 12px;
	background: #fff; color: var(--rnr-text, #1c1714);
	border: 1px solid var(--rnr-line, #e4dcd0); border-radius: 3px; box-shadow: none;
	font-family: inherit; font-size: 16px; line-height: 1.4;
}
.rnr-form select { padding-right: 32px; }
.rnr-form textarea { min-height: 140px; resize: vertical; }
.rnr-form input:focus, .rnr-form select:focus, .rnr-form textarea:focus { outline: 3px solid var(--rnr-orange-2, #f07a2a); outline-offset: 1px; border-color: var(--rnr-burnt, #b8480f); }
.rnr-form [aria-invalid=true] { border: 2px solid #a4231b; }

.rnr-form__errors { margin: 0 0 22px; padding: 14px 18px; background: #fff; border: 3px solid #a4231b; border-radius: 3px; }
.rnr-form__errors:focus { outline: 3px solid var(--rnr-orange-2, #f07a2a); outline-offset: 2px; }
.rnr-form__errors-title { margin: 0 0 6px; font-weight: 700; font-size: 17px; }
.rnr-form__errors ul { margin: 0; padding-left: 20px; }
.rnr-form__errors a { color: #a4231b; font-weight: 600; }

.rnr-form__submit { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; margin-top: 22px; padding: 15px 30px; background: var(--rnr-orange, #e8641c); color: var(--rnr-ink, #141211); border: 0; border-radius: 3px; font-family: inherit; font-size: 16px; font-weight: 700; letter-spacing: .3px; line-height: 1.2; cursor: pointer; transition: background-color .15s; }
.rnr-form__submit:hover, .rnr-form__submit:focus { background: var(--rnr-hover, #ff9550); color: var(--rnr-ink, #141211); }
.rnr-form__submit:focus-visible { outline: 3px solid var(--rnr-ink, #141211); outline-offset: 2px; }

/* Honeypot: off screen for people, still in the form for bots. */
.rnr-form__hp { position: absolute !important; left: -10000px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
.rnr-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.rnr-form__thanks { padding: 6px 0; border-left: 4px solid var(--rnr-orange, #e8641c); padding-left: 18px; }
.rnr-form__thanks:focus { outline: 3px solid var(--rnr-orange-2, #f07a2a); outline-offset: 4px; }
.rnr-form__thanks p { margin: 0 0 10px; font-size: 17px; }
.rnr-form__thanks-title { font-family: var(--rnr-head, Oswald, "Arial Narrow", sans-serif); font-size: 24px !important; font-weight: 600; text-transform: uppercase; }

@media (max-width: 640px) {
	.rnr-form__field--half, .rnr-form__field--third { grid-column: span 6; }
	.rnr-form__submit { width: 100%; }
}
