/*
Theme Name: Jaipur Table
Description: Booking site for Jaipur Indian Restaurant (table.jaipur.no). Matches jaipur.no; styles the ReDi reservation form. No page builder.
Version: 1.3.3
Text Domain: jaipur-table
*/

:root {
	--night: #0c1315;
	--panel: #111a1d;
	--field: #0f181b;
	--gold: #c6a270;
	--gold-soft: #d6b588;
	--line: rgba(198, 162, 112, .38);
	--line-faint: rgba(198, 162, 112, .18);
	--ivory: #efe8dc;
	--muted: #a9a196;
	--error: #e0866f;
	--display: "Marcellus", "Iowan Old Style", Georgia, serif;
	--text: "Josefin Sans", "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
/* safety net: the page itself never scrolls sideways on a phone */
html, body { overflow-x: clip; }
body {
	margin: 0;
	background: var(--night);
	color: var(--ivory);
	font: 400 16px/1.6 var(--text);
}
a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-soft); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--ivory);
	outline-offset: 2px;
}
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 400; color: var(--ivory); }

/* ------------------------------------------------------------ header / footer */

.jt-header { border-bottom: 1px solid var(--line); background: var(--night); }
.jt-header-inner {
	display: flex;
	align-items: center;
	gap: 24px;
	max-width: 1440px;
	min-height: 110px;
	margin: 0 auto;
	padding: 0 38px;
}
.jt-logo img { display: block; width: 167px; } /* same file and size as the jaipur.no header */
/* same type as the jaipur.no header (Open Sans Condensed, light, capitals) */
.jt-nav { flex: 1; display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 26px; }
.jt-nav a {
	font: 300 14px/1 "Open Sans Condensed", "Arial Narrow", sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	padding: 8px 0;
}
.jt-nav a:hover { color: var(--gold); }
/* "Book a table" (this page) + language switch, same as the jaipur.no header */
.jt-actions { display: flex; align-items: center; gap: 12px; }
.jt-book {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px;
	background: var(--gold); color: var(--night);
	font: 600 12px/1 var(--text); letter-spacing: .16em; text-transform: uppercase; white-space: nowrap;
}
.jt-book:hover { background: var(--gold-soft); color: var(--night); }
.jt-lang {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 52px; padding: 0 14px;
	border: 1px solid var(--line); font: 600 12px/1 var(--text); letter-spacing: .14em; color: var(--gold);
}
.jt-lang:hover { border-color: var(--gold); }
.jt-nav .jt-nav-lang { display: none; }
.jt-menu-toggle { display: none; }

@media (max-width: 1024px) {
	.jt-header { position: sticky; top: 0; z-index: 50; }
	.jt-header-inner { min-height: 70px; padding: 0 22px; justify-content: space-between; }
	.jt-logo img { width: 128px; }
	/* phones: on this page the form is the booking, so only the language switch stays, next to the menu button */
	.jt-header-inner { gap: 14px; }
	.jt-actions { margin-left: auto; }
	.jt-actions .jt-book { display: none; }
	.jt-lang { min-height: 40px; min-width: 48px; padding: 0 12px; }
	.jt-nav .jt-nav-lang { display: block; border: 0; padding-top: 22px; font: 600 13px/1 var(--text); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
	/* gold ≡ icon, like jaipur.no */
	.jt-menu-toggle {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 6px;
		width: 44px;
		height: 44px;
		padding: 11px 4px;
		border: 0;
		background: none;
		cursor: pointer;
	}
	.jt-menu-toggle span { display: block; height: 1px; background: var(--gold); }
	.jt-menu-toggle span:nth-child(1) { width: 26px; }
	.jt-menu-toggle span:nth-child(2) { width: 34px; }
	.jt-menu-toggle span:nth-child(3) { width: 22px; }
	.jt-nav {
		display: none;
		position: fixed;
		inset: 70px 0 0 0;
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 0;
		padding: 14px 22px 40px;
		background: var(--night);
		border-top: 1px solid var(--line);
		overflow-y: auto;
	}
	.jt-menu-open .jt-nav { display: flex; }
	.jt-menu-open, .jt-menu-open body { overflow: hidden; }
	/* locking the scroll makes the sticky header jump back to the top of the page, so pin it while the menu is open */
	.jt-menu-open .jt-header { position: fixed; top: 0; left: 0; right: 0; }
	.jt-nav a {
		padding: 15px 0;
		border-bottom: 1px solid var(--line-faint);
		font: 400 22px/1.2 var(--display);
		letter-spacing: .02em;
		text-transform: none;
		color: var(--ivory);
	}
}

.jt-footer {
	margin-top: 80px;
	padding: 48px 22px calc(48px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--line-faint);
	text-align: center;
	color: var(--muted);
	font-size: 15px;
}
.jt-footer img { width: 130px; margin-bottom: 18px; }
.jt-footer p { margin: 4px 0; }
.jt-footer-links { margin-top: 14px !important; display: flex; gap: 22px; justify-content: center; }

/* ------------------------------------------------------------ layout */

.jt-main { max-width: 1120px; margin: 0 auto; padding: 0 22px; }
.jt-intro { padding: 56px 0 34px; text-align: center; }
/* gold title with a short gold rule, like the jaipur.no page titles */
.jt-intro h1 {
	margin: 0 0 14px;
	font-size: clamp(30px, 6vw, 48px);
	line-height: 1.15;
	letter-spacing: .02em;
	color: var(--gold);
}
.jt-intro h1::after { content: ""; display: block; width: 36px; height: 1px; margin: 18px auto 0; background: var(--gold); }
.jt-intro p { margin: 0; color: var(--muted); }

.jt-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 28px;
	align-items: start;
}
.jt-booking {
	border: 1px solid var(--line);
	background: var(--panel);
	padding: 34px 36px 38px;
}
.jt-info { display: grid; gap: 16px; }
.jt-card { border: 1px solid var(--line-faint); padding: 24px 26px; }
.jt-card h2 { margin: 0 0 14px; font-size: 21px; }
.jt-card p { margin: 0; color: var(--muted); }
.jt-hours { margin: 0; }
.jt-hours > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
	border-top: 1px solid var(--line-faint);
}
.jt-hours dt { color: var(--ivory); }
.jt-hours dd { margin: 0; color: var(--ivory); white-space: nowrap; }
.jt-note { margin-top: 12px !important; font-size: 14px; }
/* buffet cards: open in place, so guests don't leave the booking */
.jt-buffets { display: grid; gap: 12px; }
.jt-buffet { border: 1px solid var(--line-faint); transition: border-color .2s ease; }
.jt-buffet[open], .jt-buffet:hover { border-color: var(--line); }
.jt-buffet summary {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "name price" "time price";
	align-items: center;
	gap: 2px 16px;
	padding: 16px 48px 16px 20px;
	position: relative;
	cursor: pointer;
	list-style: none;
}
.jt-buffet summary::-webkit-details-marker { display: none; }
.jt-buffet summary::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-right: 1.5px solid var(--gold);
	border-bottom: 1.5px solid var(--gold);
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.jt-buffet[open] summary::after { transform: rotate(225deg); margin-top: -2px; }
.jt-buffet summary span { grid-area: name; color: var(--ivory); font-size: 16px; }
.jt-buffet summary em { grid-area: time; font-style: normal; font-size: 14px; color: var(--muted); }
.jt-buffet summary strong { grid-area: price; font: 400 26px/1 var(--display); color: var(--gold); }
.jt-buffet-body { padding: 0 20px 18px; border-top: 1px solid var(--line-faint); }
.jt-buffet-body p { margin: 14px 0 10px; color: var(--ivory); font-size: 15px; }
.jt-buffet-body ul { margin: 0; padding: 0; list-style: none; }
.jt-buffet-body li { padding: 8px 0; border-top: 1px solid var(--line-faint); font-size: 14px; color: var(--ivory); }
.jt-buffet-body li span { display: block; font-size: 12px; letter-spacing: .08em; color: var(--muted); }
.jt-tile {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 16px 18px;
	border: 1px solid var(--line-faint);
	transition: border-color .2s ease;
}
.jt-tile:hover { border-color: var(--gold); }
.jt-tile span { color: var(--muted); font-size: 14px; }
.jt-tile strong { font: 400 26px/1.15 var(--display); color: var(--gold); }
.jt-tile em { font-style: normal; font-size: 14px; color: var(--ivory); }

.jt-page { max-width: 760px; }
.jt-page h1 { text-align: center; padding: 56px 0 24px; margin: 0; font-size: 40px; }

@media (max-width: 900px) {
	.jt-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.jt-main { padding: 0 14px; }
	.jt-intro { padding: 38px 0 24px; }
	.jt-booking { padding: 24px 18px 28px; }
	.jt-card { padding: 20px; }
}

/* ============================================================ ReDi booking form
   ReDi ships its own CSS + a jQuery UI theme; everything below is scoped to the
   form so it wins without !important where possible. */

.jt-booking > p:empty, .jt-booking > br { display: none; }
#redi-reservation, #cancel-reservation-div, #modify-reservation-div { font: 400 16px/1.5 var(--text); color: var(--ivory); }

/* "Cancel / Modify reservation" links: small, quiet, top right */
#redi-reservation > a.cancel-reservation,
#redi-reservation > a.modify-reservation {
	float: right;
	clear: right;
	margin-left: 18px;
	font-size: 13px;
	color: var(--muted);
	border-bottom: 1px solid var(--line-faint);
}
#redi-reservation > a.cancel-reservation:hover,
#redi-reservation > a.modify-reservation:hover { color: var(--gold); }
#redi-reservation > br { display: none; }

/* step titles */
#redi-reservation h4, #cancel-reservation-div h4, #modify-reservation-div h4 {
	margin: 0 0 22px;
	font: 400 24px/1.25 var(--display);
	color: var(--ivory);
	letter-spacing: .01em;
}

/* labels */
#redi-reservation label, #cancel-reservation-div label, #modify-reservation-div label {
	display: block;
	margin: 18px 0 8px;
	font: 400 14px/1.3 var(--text);
	color: var(--muted);
}
.redi_required { color: var(--gold) !important; }

/* fields */
#redi-reservation select,
#redi-reservation input[type="text"],
#redi-reservation input[type="email"],
#redi-reservation input[type="tel"],
#redi-reservation textarea,
#cancel-reservation-div input[type="text"], #cancel-reservation-div textarea,
#modify-reservation-div input[type="text"] {
	width: 100%;
	max-width: 420px;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: 0;
	background: var(--field);
	color: var(--ivory);
	font: 400 16px/1.3 var(--text);
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
#redi-reservation textarea, #cancel-reservation-div textarea { min-height: 110px; max-width: none; resize: vertical; }
#redi-reservation select {
	padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23c6a270' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
}
#redi-reservation select option { background: var(--panel); color: var(--ivory); }
#redi-reservation input:focus, #redi-reservation select:focus, #redi-reservation textarea:focus,
#cancel-reservation-div input:focus, #modify-reservation-div input:focus { border-color: var(--gold); outline: none; }
#redi-reservation #step3 input[type="text"] { max-width: none; }

/* buttons: Next / Previous / Make a reservation / Cancel */
#redi-reservation .redi-restaurant-button,
#cancel-reservation-div .redi-restaurant-button,
#modify-reservation-div .redi-restaurant-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	margin: 0 8px 0 0;
	padding: 0 26px;
	border: 1px solid var(--line);
	border-radius: 0;
	background: transparent;
	color: var(--gold);
	font: 600 13px/1 var(--text);
	letter-spacing: .14em;
	text-transform: uppercase;
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
#redi-reservation .redi-restaurant-button:hover:not(:disabled) { border-color: var(--gold); background: rgba(198, 162, 112, .1); color: var(--gold); }
#redi-reservation #redi-restaurant-step3,
#cancel-reservation-div #redi-restaurant-cancel {
	background: var(--gold);
	border-color: var(--gold);
	color: var(--night);
}
#redi-reservation #redi-restaurant-step3:hover:not(:disabled) { background: var(--gold-soft); color: var(--night); }
#redi-reservation .redi-restaurant-button:disabled { opacity: .45; cursor: not-allowed; }
#redi-reservation #step3 > div:last-of-type { margin-top: 26px; }

/* calendar (jQuery UI datepicker, shown inline) */
#redi-reservation .ui-datepicker {
	width: 100% !important; /* jQuery UI sets a fixed inline width */
	max-width: 420px;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: 0;
	background: var(--field);
	color: var(--ivory);
	font-family: var(--text);
}
#redi-reservation .ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--line-faint);
	border-radius: 0;
	background: transparent;
	color: var(--ivory);
}
#redi-reservation .ui-datepicker .ui-datepicker-title { font: 400 18px/1.4 var(--display); letter-spacing: .02em; }
#redi-reservation .ui-datepicker .ui-datepicker-prev,
#redi-reservation .ui-datepicker .ui-datepicker-next {
	top: 50%;
	width: 36px;
	height: 36px;
	margin-top: -18px;
	border: 0;
	border-radius: 0;
	background: none;
	cursor: pointer;
}
#redi-reservation .ui-datepicker .ui-datepicker-prev { left: 6px; }
#redi-reservation .ui-datepicker .ui-datepicker-next { right: 6px; }
#redi-reservation .ui-datepicker .ui-datepicker-prev span,
#redi-reservation .ui-datepicker .ui-datepicker-next span { display: none; }
#redi-reservation .ui-datepicker .ui-datepicker-prev::after,
#redi-reservation .ui-datepicker .ui-datepicker-next::after {
	content: "";
	position: absolute;
	top: 13px;
	width: 9px;
	height: 9px;
	border-top: 1.5px solid var(--gold);
	border-left: 1.5px solid var(--gold);
}
#redi-reservation .ui-datepicker .ui-datepicker-prev::after { left: 15px; transform: rotate(-45deg); }
#redi-reservation .ui-datepicker .ui-datepicker-next::after { left: 11px; transform: rotate(135deg); }
#redi-reservation .ui-datepicker .ui-state-disabled { opacity: .25; }
#redi-reservation .ui-datepicker table { width: 100%; margin: 0; padding: 8px 10px 12px; border-collapse: separate; border-spacing: 3px; font-size: 15px; }
#redi-reservation .ui-datepicker th { padding: 8px 0 6px; font-weight: 600; font-size: 12px; letter-spacing: .08em; color: var(--muted); text-transform: uppercase; }
#redi-reservation .ui-datepicker td { padding: 0; border: 0; }
#redi-reservation .ui-datepicker td a,
#redi-reservation .ui-datepicker td span {
	display: block;
	padding: 9px 0;
	border: 1px solid transparent;
	border-radius: 0;
	background: none;
	color: var(--ivory);
	text-align: center;
	font-weight: 400;
}
#redi-reservation .ui-datepicker td a:hover { border-color: var(--gold); background: rgba(198, 162, 112, .1); color: var(--ivory); }
#redi-reservation .ui-datepicker td.ui-datepicker-unselectable span,
#redi-reservation .ui-datepicker td.ui-datepicker-unselectable { opacity: .3; background: none; }
#redi-reservation .ui-datepicker td.ui-datepicker-today a { border-color: var(--line); }
#redi-reservation .ui-datepicker td.ui-datepicker-current-day a,
#redi-reservation .ui-datepicker td a.ui-state-active {
	border-color: var(--gold);
	background: var(--gold);
	color: var(--night);
	font-weight: 600;
}

/* the single-restaurant step. By default it stays a real, obvious button
   (safe if the auto-click in assets/booking.js ever stops working after a
   ReDi update); once the script has clicked it, it shows as a quiet line. */
#redi-reservation #step1buttons .redi-restaurant-button.available {
	margin-top: 22px;
	background: var(--gold);
	border-color: var(--gold);
	color: var(--night);
}
#redi-reservation #step1buttons .redi-restaurant-button.available[data-jt-auto] {
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--muted);
	font: 400 14px/1.4 var(--text);
	letter-spacing: 0;
	text-transform: none;
	cursor: default;
}
#redi-reservation #step1buttons .redi-restaurant-button.available[data-jt-auto]::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 10px 2px 0;
	background: var(--gold);
	transform: rotate(45deg);
}

/* time slots */
/* ReDi shows/hides this box with an inline display style, so only override when shown */
#redi-reservation .opentime:not([style*="none"]) {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
	gap: 8px;
	margin-top: 6px;
}
#redi-reservation .redi-restaurant-time-button {
	width: auto;
	min-height: 48px;
	margin: 0;
	padding: 0 6px;
	border: 1px solid var(--line);
	border-radius: 0;
	background: transparent;
	color: var(--ivory);
	font: 400 16px/1 var(--text);
	letter-spacing: .02em;
	text-transform: none;
	box-shadow: none;
}
#redi-reservation .redi-restaurant-time-button:not(.disabled):hover { border-color: var(--gold); background: rgba(198, 162, 112, .1); color: var(--ivory); }
#redi-reservation .redi-restaurant-time-button[select="select"] { border-color: var(--gold); background: var(--gold); color: var(--night); font-weight: 600; }
#redi-reservation .redi-restaurant-time-button.disabled { opacity: .3; text-decoration: line-through; cursor: not-allowed; }
#redi-reservation #step2prev { margin-top: 24px; }

/* phone field with country flags */
#redi-reservation .iti, #cancel-reservation-div .iti, #modify-reservation-div .iti { display: block; width: 100%; max-width: none; }
#redi-reservation .iti input { padding-left: 58px !important; }
.iti__country-list {
	background: var(--panel) !important;
	border: 1px solid var(--line) !important;
	color: var(--ivory);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .45) !important;
}
.iti__country.iti__highlight { background: rgba(198, 162, 112, .14) !important; }
.iti__dial-code { color: var(--muted) !important; }
.iti__divider { border-bottom-color: var(--line-faint) !important; }
.iti__selected-flag { padding-left: 14px !important; }
.iti__arrow { border-top-color: var(--gold) !important; }

/* messages: success / errors / info */
#redi-reservation .redi-reservation-alert,
#cancel-reservation-div .redi-reservation-alert,
#modify-reservation-div .redi-reservation-alert {
	margin: 20px 0 0;
	padding: 16px 18px;
	border: 1px solid var(--line);
	border-radius: 0;
	background: rgba(198, 162, 112, .06);
	color: var(--ivory);
	font-size: 15px;
}
#redi-reservation .redi-reservation-alert-error,
#cancel-reservation-div .redi-reservation-alert-error,
#modify-reservation-div .redi-reservation-alert-error { border-color: rgba(224, 134, 111, .55); background: rgba(224, 134, 111, .07); color: #f1cfc6; }
#redi-reservation .redi-reservation-alert a { color: var(--gold); text-decoration: underline; }
#redi-reservation #step4 { padding: 28px 26px; border-color: var(--gold); }
#redi-reservation #step4 h4 { color: var(--gold); margin-bottom: 10px; }
#redi-reservation #step4 #reservation-id { color: var(--gold); font-size: 20px; }

/* cancel / modify panels */
#cancel-reservation-div a.back-to-reservation,
#modify-reservation-div a.back-to-reservation { font-size: 14px; color: var(--muted); border-bottom: 1px solid var(--line-faint); }
#cancel-reservation-div form > div, #modify-reservation-div form > div { margin-top: 0; }
#cancel-reservation-div .redi-restaurant-button { margin-top: 22px; }

/* loading spinners: ReDi uses a gif on white; soften it */
#redi-reservation img[src*="loader"], #cancel-load { filter: invert(1) hue-rotate(180deg); opacity: .7; }

@media (max-width: 600px) {
	#redi-reservation > a.cancel-reservation,
	#redi-reservation > a.modify-reservation { float: none; display: inline-block; margin: 0 16px 14px 0; }
	#redi-reservation h4 { font-size: 22px; }
	#redi-reservation select, #redi-reservation .ui-datepicker { max-width: none; }
	#redi-reservation .opentime:not([style*="none"]) { grid-template-columns: repeat(3, 1fr); }
	#redi-reservation .redi-restaurant-button { width: 100%; margin: 0 0 10px; }
	#redi-reservation #step1buttons .redi-restaurant-button.available[data-jt-auto] { width: auto; }
	/* step 3: the main action ("Make a reservation") first, "Previous" under it */
	#redi-reservation #step3 div:has(> #redi-restaurant-step3) { display: flex; flex-direction: column-reverse; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* summary of what the guest chose, shown on steps 2 and 3 */
.jt-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin: -8px 0 20px;
	padding: 12px 16px;
	border: 1px solid var(--line-faint);
	background: rgba(198, 162, 112, .06);
}
.jt-summary-text { color: var(--ivory); font-size: 16px; }
.jt-summary-change {
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--line);
	background: none;
	color: var(--gold);
	font: 400 14px/1.4 var(--text);
	cursor: pointer;
}
.jt-summary-change:hover { color: var(--gold-soft); border-color: var(--gold); }

/* 4.9 rating (Restaurant Guru): under the title and in a band above the footer */
.jt-rating { display: inline-flex; align-items: baseline; flex-wrap: wrap; justify-content: center; gap: 8px 12px; color: var(--ivory); }
.jt-stars { color: var(--gold); letter-spacing: .1em; }
.jt-rating strong { font: 400 22px/1 var(--display); color: var(--gold); }
.jt-rating-text { color: var(--muted); border-bottom: 1px solid var(--line-faint); }
.jt-rating:hover .jt-rating-text { color: var(--ivory); }
.jt-intro-rating { margin-top: 12px !important; }
.jt-rating-band { margin-top: 80px; padding: 34px 22px; border-top: 1px solid var(--line); text-align: center; }
.jt-rating-band + .jt-footer { margin-top: 0; }
.jt-rating-long .jt-stars { font-size: 20px; }
.jt-rating-long strong { font-size: 40px; }
.jt-rating-long .jt-rating-text { color: var(--ivory); }

/* "Already booked? Cancel · Modify" line at the bottom of the form (see booking.js) */
#redi-reservation .jt-manage {
	clear: both;
	margin: 30px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--line-faint);
	font-size: 14px;
	color: var(--muted);
}
#redi-reservation .jt-manage a.cancel-reservation,
#redi-reservation .jt-manage a.modify-reservation {
	float: none;
	display: inline;
	margin: 0;
	font-size: 14px;
	color: var(--gold);
	border-bottom: 1px solid var(--line);
}
