.catalog-page {
	--catalog-font-family: Arial, sans-serif;
	--catalog-page-bg: #f4ede2;
	--catalog-page-bg-alt: #fcf8f2;
	--catalog-booking-bg: #f3eee6;
	--catalog-payment-bg: #f6f1e9;
	--catalog-reservation-bg: #f5efe7;
	--catalog-surface: rgba(255, 252, 247, 0.94);
	--catalog-surface-strong: #fffdf9;
	--catalog-text: #1d242e;
	--catalog-text-strong: #111827;
	--catalog-muted: #6d6a67;
	--catalog-border: rgba(115, 81, 46, 0.14);
	--catalog-border-strong: rgba(17, 24, 39, 0.1);
	--catalog-accent: #b85c38;
	--catalog-accent-hover: #944627;
	--catalog-accent-contrast: #ffffff;
	--catalog-secondary: #8f949a;
	--catalog-secondary-contrast: #ffffff;
	--catalog-link: #8d3c24;
	--catalog-link-hover: #6d2914;
	--catalog-sold-out-bg: transparent;
	--catalog-sold-out-border: var(--catalog-border);
	--catalog-sold-out-text: var(--catalog-muted);
	--catalog-success-bg: #edf6df;
	--catalog-success-text: #345224;
	--catalog-warning-bg: #f7ead3;
	--catalog-warning-text: #8b5418;
	--catalog-danger: #b91c1c;
	--catalog-required: #dc2626;
	--catalog-total-bg: linear-gradient(145deg, rgba(255, 250, 241, 0.94), rgba(244, 230, 214, 0.88));
	--catalog-total-border: var(--catalog-border);
	--catalog-total-label: var(--catalog-muted);
	--catalog-total-value: var(--catalog-text);
	--catalog-offer-meta-bg: rgba(255, 252, 247, 0.84);
	--catalog-offer-meta-border: var(--catalog-border);
	--catalog-offer-meta-text: var(--catalog-text);
	--catalog-offer-meta-icon: var(--catalog-accent);
	--catalog-shadow: 0 24px 64px rgba(36, 22, 7, 0.12);
	--catalog-shadow-soft: 0 12px 28px rgba(36, 22, 7, 0.08);
	--catalog-radius-pill: 999px;
	--catalog-radius-panel: 24px;
	--catalog-radius-card: 28px;
	--catalog-radius-control: 16px;
	font-family: var(--catalog-font-family);
	margin: 0;
	padding: 24px 16px 40px;
	min-height: 100vh;
}

.catalog-page * {
	box-sizing: border-box;
}

.catalog-page.iframe-mode .row {
	margin-right: 0;
	margin-left: 0;
}
.catalog-page.iframe-mode {
	padding: 0;
}

.catalog-page.iframe-mode .container {
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.catalog-page .topbar {
	display: flex;
	justify-content: flex-end;
}

.catalog-page .lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	background: var(--catalog-surface);
	border-radius: var(--catalog-radius-pill);
}

.catalog-page .lang-link {
	color: var(--catalog-muted);
	text-decoration: none;
	font-weight: 700;
}

.catalog-page .lang-link.active {
	color: var(--catalog-accent);
}

.catalog-home {
	background: var(--catalog-page-bg);
	color: var(--catalog-text-strong);
	padding: 32px 16px;
}

.catalog-home.iframe-mode {
	padding: 0;
}

.catalog-home.iframe-mode .hero {
	display: none;
}

.catalog-home .hero,
.catalog-home .offer-card,
.catalog-booking-form .panel,
.catalog-reservation-thankyou .panel,
.catalog-reservation-access .panel,
.catalog-reservation-select .panel,
.catalog-reservation-manage .panel,
.catalog-payment-redirect .panel {
	background: var(--catalog-surface);
	border: 1px solid var(--catalog-border);
	border-radius: var(--catalog-radius-card);
	box-shadow: var(--catalog-shadow);
	backdrop-filter: blur(18px);
}

.catalog-home .hero {
	position: relative;
	padding: 26px;
	margin-bottom: 24px;
	overflow: hidden;
}

.catalog-home .hero::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.catalog-home .hero-head {
	position: relative;
	margin-bottom: 14px;
	z-index: 1;
}

.catalog-home .hero-eyebrow,
.catalog-booking-form .booking-eyebrow,
.catalog-reservation-thankyou .thankyou-kicker,
.catalog-home .offer-section-kicker,
.catalog-booking-form .booking-summary-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	padding: 8px 14px;
	border-radius: var(--catalog-radius-pill);
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(184, 92, 56, 0.16);
	color: var(--catalog-accent);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.catalog-home h1,
.catalog-booking-form h1,
.catalog-reservation-thankyou h1 {
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.04;
	letter-spacing: -0.02em;
	font-weight: 800;
}

.catalog-booking-form h1,
.catalog-reservation-thankyou h1 {
	font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.catalog-home .hero-summary,
.catalog-booking-form .booking-lead,
.catalog-reservation-thankyou .thankyou-lead {
	max-width: 720px;
	margin: 12px 0 0;
	color: var(--catalog-muted);
	font-size: 16px;
	line-height: 1.6;
}

.catalog-home .hero-meta {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	margin-bottom: 16px;
}

.catalog-home .hero-meta-item,
.catalog-booking-form .booking-summary-item,
.catalog-reservation-thankyou .thankyou-summary-item {
	padding: 12px 14px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.62);
	border: 1px solid rgba(255, 255, 255, 0.38);
	box-shadow: var(--catalog-shadow-soft);
}

.catalog-home .hero-meta-label,
.catalog-booking-form .booking-summary-item span,
.catalog-reservation-thankyou .thankyou-summary-item span {
	display: block;
	margin-bottom: 4px;
	color: var(--catalog-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.catalog-home .hero-term-form {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 8px;
	max-width: 520px;
}

.catalog-home .hero-term-form label {
	font-size: 13px;
	font-weight: 700;
	color: var(--catalog-text-strong);
}

.catalog-home .hero-lang {
	display: flex;
	justify-content: flex-start;
}

.catalog-home .offer-card {
	padding: 22px;
	height: 100%;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.catalog-home .offer-card:hover {
	box-shadow: 0 28px 70px rgba(36, 22, 7, 0.16);
	border-color: rgba(184, 92, 56, 0.22);
}

.catalog-home .offer-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.catalog-home .offer-card-head h2 {
	margin: 0;
	font-size: clamp(1.7rem, 2vw, 2.2rem);
	line-height: 1.08;
	font-weight: 800;
}

.catalog-home .offer-availability {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border-radius: var(--catalog-radius-pill);
	background: rgba(52, 82, 36, 0.1);
	color: #345224;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.catalog-home .offer-availability.is-sold-out {
	background: rgba(139, 84, 24, 0.12);
	color: var(--catalog-warning-text);
}

.catalog-home .offer-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 10px 0 14px;
}

.catalog-home .offer-meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid var(--catalog-offer-meta-border);
	border-radius: var(--catalog-radius-pill);
	background: var(--catalog-offer-meta-bg);
	color: var(--catalog-offer-meta-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

.catalog-home .offer-meta-pill i {
	font-size: 18px;
	color: var(--catalog-offer-meta-icon);
}

.catalog-home .offer-gallery-button {
	display: block;
	position: relative;
	width: 100%;
	margin-bottom: 20px;
	padding: 0;
	border: 0;
	border-radius: calc(var(--catalog-radius-card) - 8px);
	overflow: hidden;
	background: #d9d4cc;
	cursor: pointer;
}

.catalog-home .offer-gallery-image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 260ms ease;
}

.catalog-home .offer-gallery-button:hover .offer-gallery-image {
	transform: scale(1.03);
}

.catalog-home .offer-gallery-badge {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: var(--catalog-radius-pill);
	background: rgba(17, 24, 39, 0.72);
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
}

.catalog-home .offer-description {
	margin-bottom: 22px;
	color: var(--catalog-text);
	line-height: 1.75;
}

.catalog-home .offer-description > *:last-child {
	margin-bottom: 0;
}

.catalog-home .button,
.catalog-home select {
	border-radius: var(--catalog-radius-control);
	border: 1px solid var(--catalog-border);
	padding: 14px 16px;
	font-size: 15px;
}

.catalog-home .button {
	display: inline-block;
	background: var(--catalog-accent);
	color: var(--catalog-accent-contrast);
	text-decoration: none;
	border-color: var(--catalog-accent);
	font-weight: 800;
	box-shadow: 0 16px 30px rgba(184, 92, 56, 0.22);
	transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.catalog-home .button:hover,
.catalog-home .button:focus-visible,
.catalog-booking-form .button:hover,
.catalog-booking-form .button:focus-visible,
.catalog-reservation-thankyou .button:hover,
.catalog-reservation-thankyou .button:focus-visible {
	transform: translateY(-1px);
	background: var(--catalog-accent-hover);
	box-shadow: 0 18px 34px rgba(148, 70, 39, 0.28);
}

.catalog-home .button.sold-out {
	background: var(--catalog-sold-out-bg);
	color: var(--catalog-sold-out-text);
	border-color: var(--catalog-sold-out-border);
	cursor: default;
}

.catalog-home .meta {
	color: var(--catalog-muted);
	font-size: 14px;
}

.catalog-home .notice {
	background: var(--catalog-warning-bg);
	color: var(--catalog-warning-text);
	padding: 14px 16px;
	border-radius: var(--catalog-radius-control);
	margin-bottom: 16px;
	border: 1px solid rgba(139, 84, 24, 0.12);
}

.catalog-home .topbar {
	margin-bottom: 16px;
}

.catalog-home .lang-switch {
	border: 1px solid var(--catalog-border);
	background: rgba(255, 255, 255, 0.92);
}

.catalog-home .lang-link {
	color: var(--catalog-muted);
}

.catalog-home .lang-link.active {
	color: var(--catalog-accent);
}

.catalog-home .modal-content {
	border: 1px solid var(--catalog-border);
	border-radius: var(--catalog-radius-panel);
}

.catalog-home .modal-body {
	padding: 0;
	background: #000000;
}

.catalog-home #type-gallery-carousel .carousel-item img {
	display: block;
	width: 100%;
	max-height: 78vh;
	object-fit: contain;
	background: #000000;
}

.catalog-home .offer-section-heading {
	margin: 0 0 18px;
}

.catalog-home .offer-section-heading h2 {
	max-width: 700px;
	margin: 0;
	font-size: clamp(1.9rem, 3vw, 3rem);
	line-height: 1.08;
	font-weight: 800;
}

@media (min-width: 992px) {
	.catalog-home .hero-lang {
		justify-content: flex-end;
	}
}

.catalog-booking-form {
	background: var(--catalog-booking-bg);
	color: var(--catalog-text);
}

.catalog-booking-form .panel {
	padding: 28px;
}

.catalog-booking-form .booking-intro {
	margin-bottom: 22px;
}

.catalog-booking-form .booking-intro-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.catalog-booking-form .booking-intro-lang {
	margin-bottom: 0;
}

.catalog-booking-form .booking-summary-panel {
	height: 100%;
}

.catalog-booking-form .booking-summary-sticky {
	position: sticky;
	top: 24px;
}

.catalog-booking-form .booking-summary-image-wrap {
	margin-bottom: 18px;
	border-radius: calc(var(--catalog-radius-card) - 8px);
	overflow: hidden;
}

.catalog-booking-form .booking-summary-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.catalog-booking-form .booking-summary-card {
	margin-bottom: 16px;
}

.catalog-booking-form .booking-summary-card h2 {
	margin: 0 0 18px;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	line-height: 1.08;
	font-weight: 800;
}

.catalog-booking-form .booking-summary-list,
.catalog-reservation-thankyou .thankyou-summary {
	display: grid;
	gap: 12px;
}

.catalog-booking-form .iti {
	display: block;
	width: 100%;
}

.catalog-booking-form .iti .form-control {
	width: 100%;
}

.catalog-booking-form .iti__country-container {
	z-index: 4;
}

.catalog-booking-form .iti__selected-country {
	border-radius: var(--catalog-radius-control) 0 0 var(--catalog-radius-control);
}

.catalog-booking-form .extra {
	padding: 16px 0;
	border-bottom: 1px solid var(--catalog-border);
}

.catalog-booking-form .extra-option {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	cursor: pointer;
}

.catalog-booking-form .extra-checkbox {
	display: flex;
	justify-content: center;
	padding-top: 2px;
}

.catalog-booking-form .extra-checkbox .form-check-input {
	margin: 0;
	float: none;
}

.catalog-booking-form .form-check-input[type='checkbox'] {
	width: 1.2rem;
	height: 1.2rem;
	margin-top: 0.15rem;
	border: 1.5px solid rgba(29, 36, 46, 0.35);
	background-color: #ffffff;
	box-shadow: 0 1px 2px rgba(17, 24, 39, 0.08);
}

.catalog-booking-form .form-check-input[type='checkbox']:hover {
	border-color: rgba(184, 92, 56, 0.7);
}

.catalog-booking-form .form-check-input[type='checkbox']:focus {
	border-color: var(--catalog-accent);
	box-shadow: 0 0 0 0.2rem rgba(184, 92, 56, 0.18);
}

.catalog-booking-form .form-check-input[type='checkbox']:checked {
	background-color: var(--catalog-accent);
	border-color: var(--catalog-accent);
}

.catalog-booking-form .form-check-input[type='checkbox']:disabled {
	opacity: 0.8;
}

.catalog-booking-form .extra-content {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.catalog-booking-form .extra-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	font-weight: 700;
	line-height: 1.4;
}

.catalog-booking-form .extra-price {
	font-weight: 500;
}

.catalog-booking-form .extra-required {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--catalog-warning-bg);
	color: var(--catalog-warning-text);
	font-size: 12px;
	font-weight: 700;
}

.catalog-booking-form .extra-description {
	color: var(--catalog-text);
	line-height: 1.5;
}

.catalog-booking-form .extra-availability {
	color: var(--catalog-muted);
	font-size: 14px;
	font-weight: 600;
}

.catalog-booking-form .extra.is-unavailable {
	opacity: 0.68;
}

.catalog-booking-form .extra.is-unavailable .extra-option {
	cursor: not-allowed;
}

.catalog-booking-form .extra-quantity {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 4px;
}

.catalog-booking-form .extra-quantity-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--catalog-muted);
}

.catalog-booking-form .extra-quantity-input {
	max-width: 140px;
}

.catalog-booking-form .booking-total {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 8px;
	margin-top: 0;
	padding: 18px 20px;
	border: 1px solid var(--catalog-total-border);
	border-radius: 22px;
	background: var(--catalog-total-bg);
	box-shadow: var(--catalog-shadow-soft);
}

.catalog-booking-form .booking-total-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--catalog-total-label);
}

.catalog-booking-form .booking-total-value {
	font-size: 34px;
	line-height: 1;
	color: var(--catalog-total-value);
	font-weight: 800;
}

.catalog-booking-form .button {
	border: 0;
	border-radius: var(--catalog-radius-control);
	background: var(--catalog-accent);
	color: var(--catalog-accent-contrast);
	padding: 16px 18px;
	cursor: pointer;
	width: 100%;
	font-size: 16px;
	font-weight: 800;
	box-shadow: 0 18px 34px rgba(184, 92, 56, 0.2);
}

.catalog-booking-form .error {
	color: var(--catalog-danger);
	font-size: 13px;
	margin-top: -8px;
	margin-bottom: 10px;
}

.catalog-page .required-mark {
	color: var(--catalog-required);
	font-weight: 700;
}

.catalog-booking-form .required-legend {
	margin: 0 0 16px;
	color: var(--catalog-muted);
	font-size: 14px;
}

.catalog-booking-form .legal-link {
	display: inline;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--catalog-link);
	text-decoration: underline;
	font: inherit;
	cursor: pointer;
}

.catalog-booking-form .legal-link:hover,
.catalog-booking-form .legal-link:focus-visible {
	color: var(--catalog-link-hover);
}

@media (max-width: 767.98px) {
	.catalog-booking-form .booking-total {
		flex-direction: column;
		align-items: flex-start;
	}

	.catalog-booking-form .booking-total-value {
		font-size: 24px;
	}
}

.catalog-booking-form .modal-content {
	border: 1px solid var(--catalog-border);
	border-radius: var(--catalog-radius-panel);
}

.catalog-booking-form .modal-header {
	border-bottom: 1px solid var(--catalog-border);
}

.catalog-booking-form .modal-body {
	max-height: min(70vh, 800px);
}

.catalog-booking-form .legal-modal-loading {
	color: var(--catalog-muted);
}

.catalog-booking-form .notice {
	background: var(--catalog-warning-bg);
	color: var(--catalog-warning-text);
	padding: 14px 16px;
	border-radius: 14px;
	margin-bottom: 16px;
}

.catalog-payment-redirect {
	background: var(--catalog-payment-bg);
}

.catalog-payment-redirect .panel {
	background: var(--catalog-surface);
	border: 1px solid var(--catalog-border-strong);
	border-radius: var(--catalog-radius-card);
	padding: 28px;
}

.catalog-payment-redirect .button {
	display: inline-block;
	padding: 12px 16px;
	border-radius: var(--catalog-radius-control);
	text-decoration: none;
	margin-right: 10px;
	background: var(--catalog-link);
	color: #fff;
}

.catalog-payment-redirect .secondary {
	background: var(--catalog-secondary);
}

.catalog-payment-redirect .topbar {
	margin-bottom: 16px;
}

.catalog-payment-redirect .lang-switch {
	border: 1px solid var(--catalog-border-strong);
}

.catalog-reservation-access,
.catalog-reservation-select,
.catalog-reservation-manage,
.catalog-reservation-thankyou {
	background: var(--catalog-reservation-bg);
	color: var(--catalog-text);
}

.catalog-reservation-access .panel,
.catalog-reservation-select .panel,
.catalog-reservation-manage .panel,
.catalog-reservation-thankyou .panel {
	padding: 28px;
}

.catalog-reservation-access .lang-switch,
.catalog-reservation-select .lang-switch,
.catalog-reservation-manage .lang-switch,
.catalog-reservation-thankyou .lang-switch {
	border: 1px solid var(--catalog-border-strong);
}

.catalog-reservation-access .notice,
.catalog-reservation-select .notice,
.catalog-reservation-thankyou .notice {
	background: var(--catalog-success-bg);
	color: var(--catalog-success-text);
	padding: 12px 14px;
	border-radius: var(--catalog-radius-control);
	margin-bottom: 14px;
}

.catalog-reservation-access .error,
.catalog-reservation-select .error,
.catalog-reservation-thankyou .error {
	background: var(--catalog-warning-bg);
	color: var(--catalog-warning-text);
	padding: 12px 14px;
	border-radius: var(--catalog-radius-control);
	margin-bottom: 14px;
}

.catalog-reservation-access label {
	display: block;
	font-weight: bold;
	margin-bottom: 6px;
}

.catalog-reservation-access input {
	width: 100%;
	padding: 12px;
	border-radius: 10px;
	border: 1px solid #cfd8e3;
	margin-bottom: 14px;
	box-sizing: border-box;
}

.catalog-reservation-access button {
	border: 0;
	border-radius: 10px;
	padding: 12px 16px;
	cursor: pointer;
	background: var(--catalog-link);
	color: #fff;
}

.catalog-reservation-access .secondary {
	background: #e2e8f0;
	color: var(--catalog-text);
	margin-left: 8px;
}

.catalog-reservation-access .topbar,
.catalog-reservation-thankyou .topbar {
	margin-bottom: 16px;
}

.catalog-reservation-manage .notice {
	background: var(--catalog-warning-bg);
	color: var(--catalog-warning-text);
	padding: 12px;
	border-radius: var(--catalog-radius-control);
	margin-bottom: 16px;
}

.catalog-reservation-manage .guest-card {
	border: 1px solid var(--catalog-border-strong);
	border-radius: 14px;
	margin-bottom: 18px;
	overflow: hidden;
}

.catalog-reservation-manage .guest-toggle {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	border: 0;
	background: #eff6ff;
	padding: 16px;
	text-align: left;
}

.catalog-reservation-manage .guest-toggle strong {
	display: block;
}

.catalog-reservation-manage .guest-toggle-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.catalog-reservation-manage .guest-toggle-text {
	font-weight: 700;
	color: var(--catalog-link);
}

.catalog-reservation-manage .guest-body {
	padding: 16px;
	border-top: 1px solid var(--catalog-border-strong);
}

.catalog-reservation-manage .foreign-only.is-hidden {
	display: none;
}

.catalog-reservation-manage .status-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
}

.catalog-reservation-manage .status-complete {
	background: #dcfce7;
	color: #166534;
}

.catalog-reservation-manage .status-missing {
	background: #fef3c7;
	color: #92400e;
}

.catalog-reservation-manage input,
.catalog-reservation-manage select,
.catalog-reservation-manage textarea {
	width: 100%;
	padding: 10px;
	border-radius: 10px;
	border: 1px solid #cfd8e3;
	margin-bottom: 10px;
	background: #fff;
	color: var(--catalog-text);
}

.catalog-reservation-manage textarea {
	min-height: 90px;
}

.catalog-reservation-manage canvas {
	width: 100%;
	height: 160px;
	border: 1px dashed #94a3b8;
	border-radius: 10px;
	background: #fff;
}

.catalog-reservation-manage .signature-stored {
	margin-bottom: 12px;
	padding: 12px;
	border: 1px solid var(--catalog-border-strong);
	border-radius: 10px;
	background: #f8fafc;
}

.catalog-reservation-manage button {
	border: 0;
	border-radius: 10px;
	padding: 12px 16px;
	cursor: pointer;
}

.catalog-reservation-manage .primary {
	background: var(--catalog-link);
	color: #fff;
}

.catalog-reservation-manage .secondary {
	background: #e2e8f0;
}

.catalog-reservation-manage .topbar,
.catalog-reservation-select .topbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.catalog-reservation-manage .topbar-actions,
.catalog-reservation-select .topbar-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.catalog-reservation-manage .logout-link,
.catalog-reservation-select .logout-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid var(--catalog-border-strong);
	border-radius: 999px;
	color: #475569;
	text-decoration: none;
	font-weight: 700;
}

.catalog-reservation-select .reservation-option {
	border: 1px solid var(--catalog-border-strong);
	border-radius: 14px;
	padding: 16px;
	margin-bottom: 14px;
}

.catalog-reservation-select button {
	border: 0;
	border-radius: 10px;
	padding: 12px 16px;
	cursor: pointer;
	background: var(--catalog-link);
	color: #fff;
}

.catalog-reservation-thankyou .panel {
	margin-bottom: 18px;
}

.catalog-reservation-thankyou .thankyou-hero {
	margin-bottom: 20px;
}

.catalog-reservation-thankyou .notice,
.catalog-reservation-thankyou .error {
	padding: 14px 16px;
	margin-bottom: 16px;
}

.catalog-reservation-thankyou .button {
	display: inline-block;
	text-decoration: none;
	padding: 14px 20px;
	border-radius: var(--catalog-radius-control);
	background: var(--catalog-accent);
	color: #fff;
	font-weight: 800;
	box-shadow: 0 18px 34px rgba(184, 92, 56, 0.2);
}

.catalog-reservation-thankyou h2 {
	margin-top: 26px;
	font-size: clamp(1.6rem, 2vw, 2.2rem);
	font-weight: 800;
}

.catalog-reservation-thankyou p {
	line-height: 1.7;
}

@media (max-width: 991.98px) {
	.catalog-home .hero,
	.catalog-booking-form .panel,
	.catalog-reservation-thankyou .panel {
		padding: 24px;
	}
}

@media (max-width: 767.98px) {
	.catalog-booking-form .booking-intro-head {
		flex-direction: column;
		align-items: stretch;
	}

	.catalog-home h1,
	.catalog-booking-form h1,
	.catalog-reservation-thankyou h1 {
		font-size: 2.3rem;
	}

	.catalog-home .offer-card-head {
		flex-direction: column;
	}

	.catalog-booking-form .booking-total {
		flex-direction: column;
		align-items: flex-start;
	}

	.catalog-booking-form .booking-total-value {
		font-size: 28px;
	}
}

@media (max-width: 920px) {
	.catalog-reservation-manage .row {
		grid-template-columns: 1fr;
	}
}
