/* Keep the shared header reservation button identical on every page. */
header .reservation-button-compact {
	width: 184px;
	height: 44px;
	padding: 0 14px;
	background: #902014;
	color: #fff;
	border: 1px solid #902014;
	border-radius: 3px;
	box-shadow: 0 2px 2.5px rgba(58,36,28,.2);
	display: flex;
	align-self: center;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	font: 700 13px/1 "Noto Sans JP",sans-serif;
	letter-spacing: .02em;
	white-space: normal;
}

header .reservation-button-compact img {
	width: 18px;
	height: 18px;
	flex: none;
	margin-right: 0;
	filter: brightness(0) invert(1);
}

header .reservation-button-compact b {
	margin-left: auto;
	font: inherit;
	font-weight: bolder;
}

.admin-bar header {
	top: 32px;
}

.gh-page {
	width: min(1120px, calc(100% - 40px));
	margin: 80px auto;
}

@media (max-width: 782px) {
	.admin-bar header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	/* The admin bar scrolls away on small screens, so the sticky header needs no offset. */
	.admin-bar header {
		top: 0;
	}
}


/* CF7 adjustments are limited to the existing contact section/form. */
.contact-inner > .wpcf7 { min-width: 0; }
.contact .gh-contact-form > p { margin: 0; }
.contact .gh-contact-form label,
.contact .gh-contact-form .wpcf7-form-control-wrap { display: block; }
.contact .gh-contact-form input[type="submit"] {
    width: 150px;
    height: 46px;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    color: var(--red);
    cursor: pointer;
}
.contact .gh-contact-form .gh-contact-submit p { margin: 0; }
.contact .gh-contact-form .gh-contact-progress {
    display: block;
    font-size: 13px;
    line-height: 1.6;
}
.contact .gh-contact-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    padding: 5px 8px;
    background: #fff0ed;
    color: #8d1d16;
    font-size: 13px;
    line-height: 1.6;
}
.contact .gh-contact-form .wpcf7-response-output {
    margin: 0;
    padding: 12px 16px;
    border: 2px solid #8d1d16;
    border-radius: 4px;
    background: #fff0ed;
    color: #8d1d16;
    font-size: 14px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}
.contact .gh-contact-form.sent .wpcf7-response-output {
    border-color: #d0a35e;
    color: #332929;
    background: #d0a35e;
}
.contact .gh-contact-form input:focus-visible,
.contact .gh-contact-form textarea:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 600px) {
    .contact .gh-contact-form input[type="submit"] { width: 100%; }
}

.contact .gh-contact-form .gh-contact-submit { position: relative; }
.contact .gh-contact-form .wpcf7-spinner { position: absolute; top: 11px; left: 162px; margin: 0; }
@media (max-width: 600px) {
    .contact .gh-contact-form .wpcf7-spinner { left: auto; right: 12px; }
}
