.rayvia-shell,
.rayvia-booking-widget {
	background: linear-gradient(180deg, #f8f4ed 0%, #ffffff 100%);
	border: 1px solid #eadfce;
	border-radius: 28px;
	box-shadow: 0 24px 80px rgba(17, 24, 39, 0.08);
	padding: 24px;
}

.rayvia-company-bank {
	margin-top: 24px;
	padding: 20px;
	border: 1px solid #eadfce;
	border-radius: 18px;
	background: linear-gradient(135deg, #fffaf2, #ffffff);
	box-shadow: 0 18px 45px rgba(16, 24, 40, 0.08);
	color: #344054;
	overflow-wrap: anywhere;
}

.rayvia-company-bank h3 {
	margin: 0 0 8px;
	font-size: 20px;
	color: #111827;
}

.rayvia-company-bank p {
	margin: 0 0 14px;
	color: #667085;
}

.rayvia-company-bank dl {
	display: grid;
	grid-template-columns: minmax(120px, 0.42fr) 1fr;
	gap: 8px 14px;
	margin: 0;
}

.rayvia-company-bank dt {
	font-weight: 800;
	color: #183d33;
}

.rayvia-company-bank dd {
	margin: 0;
}

.rayvia-hotel-live-availability {
	margin: 16px 0;
	padding: 14px 16px;
	border: 1px solid #eadfce;
	border-radius: 14px;
	background: #fffaf2;
	color: #475467;
	font-weight: 800;
	line-height: 1.45;
}

.rayvia-hotel-live-availability.is-checking {
	background: #f8fafc;
	border-color: #cbd5e1;
	color: #334155;
}

.rayvia-hotel-live-availability.is-available {
	background: #ecfdf3;
	border-color: #75d49b;
	color: #067647;
}

.rayvia-hotel-live-availability.is-unavailable {
	background: #fff1f1;
	border-color: #f5b5b5;
	color: #b42318;
}

.rayvia-hotel-live-availability.is-warning {
	background: #fffaeb;
	border-color: #fedf89;
	color: #b54708;
}

.rayvia-account-hub {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.rayvia-account-hub a {
	display: grid;
	gap: 8px;
	padding: 20px;
	border: 1px solid #eadfce;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(16, 24, 40, 0.07);
	color: #344054;
	text-decoration: none;
}

.rayvia-account-hub strong {
	color: #111827;
	font-size: 18px;
}

.rayvia-account-hub span {
	color: #667085;
	line-height: 1.6;
}

.rayvia-archive {
	background: linear-gradient(180deg, #f8f3ea 0%, #fff 32%, #fcfaf6 100%);
	padding: 0 0 72px;
}

.rayvia-archive__hero {
	padding: 64px 16px 40px;
}

.rayvia-archive__hero-inner,
.rayvia-archive__content {
	margin: 0 auto;
	max-width: 1240px;
}

.rayvia-archive__title {
	color: #101828;
	font-size: clamp(38px, 6vw, 72px);
	line-height: 0.98;
	margin: 14px 0 0;
	max-width: 960px;
}

.rayvia-archive__text {
	color: #475467;
	font-size: 17px;
	line-height: 1.85;
	margin: 16px 0 0;
	max-width: 820px;
}

.rayvia-archive__content {
	padding: 0 16px;
}

.rayvia-archive__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	margin-top: 24px;
}

.rayvia-shell__header,
.rayvia-booking-widget__header {
	margin-bottom: 20px;
}

.rayvia-shell__eyebrow,
.rayvia-booking-widget__eyebrow {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: #efe3ce;
	color: #8a6746;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rayvia-shell h2,
.rayvia-booking-widget h3 {
	margin: 12px 0 8px;
	color: #101828;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.05;
}

.rayvia-shell p,
.rayvia-booking-widget p {
	color: #667085;
	line-height: 1.7;
}

.rayvia-card {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(17, 24, 39, 0.06);
	padding: 20px;
}

.rayvia-notice {
	background: #fff7ed;
	border: 1px solid #f6d5af;
	border-radius: 16px;
	color: #9a3412;
	margin-bottom: 18px;
	padding: 12px 14px;
}

.rayvia-form-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rayvia-subgrid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rayvia-vendor-room-editor {
	display: grid;
	gap: 16px;
}

.rayvia-vendor-room-row {
	background: #fffaf4;
	border: 1px solid #eadfce;
	border-radius: 18px;
	display: grid;
	gap: 12px;
	padding: 16px;
}

.rayvia-vendor-room-row__header {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.rayvia-vendor-room-row textarea {
	width: 100%;
}

.rayvia-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.rayvia-field--full {
	grid-column: 1 / -1;
}

.rayvia-field label {
	color: #344054;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.rayvia-field input,
.rayvia-field select,
.rayvia-field textarea {
	background: #fff;
	border: 1px solid #d9d6ce;
	border-radius: 16px;
	box-sizing: border-box;
	color: #101828;
	padding: 14px 16px;
	width: 100%;
}

.rayvia-field-help {
	margin: -2px 0 12px;
	color: #667085;
	font-size: 13px;
	line-height: 1.5;
}

.rayvia-summary-box {
	background: #fffaf4;
	border: 1px solid #eadfce;
	border-radius: 22px;
	display: grid;
	gap: 10px;
	margin-top: 18px;
	padding: 16px;
}

.rayvia-summary-row {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.rayvia-summary-row span {
	color: #667085;
	font-size: 14px;
}

.rayvia-summary-row strong {
	color: #101828;
	font-size: 15px;
	font-weight: 700;
	text-align: right;
}

.rayvia-summary-row strong.is-emphasis {
	font-size: 20px;
}

.rayvia-actions {
	display: flex;
	gap: 12px;
	margin-top: 18px;
}

.rayvia-button {
	align-items: center;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	justify-content: center;
	min-height: 52px;
	padding: 0 24px;
	text-decoration: none;
}

.rayvia-button--primary {
	background: linear-gradient(135deg, #0f172a 0%, #293145 100%);
	color: #fff;
	width: 100%;
}

.rayvia-button--ghost {
	background: #fff;
	border: 1px solid #d7c4aa;
	color: #7c5c38;
}

.rayvia-dashboard-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	margin-bottom: 20px;
}

.rayvia-shell--dashboard,
.rayvia-shell--vendor-gateway {
	background:
		linear-gradient(180deg, rgba(255, 250, 244, 0.96), rgba(255, 255, 255, 0.98));
	border: 1px solid #eadfce;
	border-radius: 28px;
	box-shadow: 0 24px 80px rgba(17, 24, 39, 0.08);
	padding: clamp(18px, 3vw, 28px);
}

.rayvia-shell--dashboard .rayvia-shell__header,
.rayvia-shell--vendor-gateway .rayvia-shell__header {
	border-bottom: 1px solid #eadfce;
	margin-bottom: 20px;
	padding-bottom: 18px;
}

.rayvia-shell--dashboard .rayvia-card,
.rayvia-shell--vendor-gateway .rayvia-card {
	border-radius: 18px;
	box-shadow: 0 14px 38px rgba(17, 24, 39, 0.06);
}

.rayvia-summary-list {
	display: grid;
	gap: 14px;
}

.rayvia-summary-list div {
	background: #fffaf4;
	border: 1px solid #f1e7d7;
	border-radius: 14px;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 12px 14px;
}

.rayvia-summary-list span {
	color: #667085;
}

.rayvia-summary-list strong {
	color: #101828;
}

.rayvia-table-wrap {
	overflow-x: auto;
}

.rayvia-table {
	border-collapse: collapse;
	width: 100%;
}

.rayvia-table th,
.rayvia-table td {
	border-bottom: 1px solid #f1e7d7;
	padding: 14px 12px;
	text-align: left;
	vertical-align: top;
}

.rayvia-table th {
	color: #344054;
	font-size: 12px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.rayvia-dashboard-tabs {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 18px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
	padding: 10px;
}

.rayvia-dashboard-tabs a {
	background: #fffaf4;
	border: 1px solid transparent;
	border-radius: 12px;
	color: #8a6746;
	font-weight: 800;
	padding: 12px 16px;
	text-decoration: none;
}

.rayvia-dashboard-tabs a.is-active {
	background: #111827;
	border-color: #111827;
	color: #fff;
}

.rayvia-vendor-gallery {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
}

.rayvia-vendor-gallery__item img {
	border-radius: 14px;
	display: block;
	height: 90px;
	object-fit: cover;
	width: 100%;
}

.rayvia-report-number {
	color: #101828;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 800;
}

.rayvia-luxe-card {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 28px;
	box-shadow: 0 20px 70px rgba(15, 23, 42, 0.08);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.rayvia-luxe-card__media {
	aspect-ratio: 16 / 11;
	background: #e5e7eb;
	display: block;
	overflow: hidden;
	position: relative;
}

.rayvia-luxe-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
	width: 100%;
}

.rayvia-luxe-card:hover .rayvia-luxe-card__media img {
	transform: scale(1.04);
}

.rayvia-luxe-card__badge {
	background: rgba(17, 24, 39, 0.78);
	border-radius: 999px;
	color: #fff;
	left: 18px;
	padding: 10px 14px;
	position: absolute;
	top: 18px;
}

.rayvia-luxe-card__body {
	display: grid;
	gap: 16px;
	padding: 24px;
}

.rayvia-luxe-card__meta,
.rayvia-luxe-card__trust,
.rayvia-destination-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.rayvia-luxe-card__meta span,
.rayvia-luxe-card__trust span,
.rayvia-destination-card__meta span {
	background: #f5eee4;
	border-radius: 999px;
	color: #7c5c38;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 12px;
}

.rayvia-luxe-card__tools {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rayvia-luxe-card__tools button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid #eadfce;
	border-radius: 999px;
	background: #fffdf8;
	color: #12362c;
	font-weight: 800;
	cursor: pointer;
}

.rayvia-luxe-card__tools button.is-active {
	background: #12362c;
	color: #fff;
}

.rayvia-luxe-card__title {
	font-size: clamp(24px, 3vw, 30px);
	line-height: 1.1;
	margin: 0;
}

.rayvia-luxe-card__title a,
.rayvia-destination-card__body h3 a {
	color: #101828;
	text-decoration: none;
}

.rayvia-luxe-card__excerpt,
.rayvia-destination-card__body p {
	color: #475467;
	line-height: 1.8;
	margin: 0;
}

.rayvia-luxe-card__footer {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.rayvia-luxe-card__pricing small {
	color: #027a48;
	display: block;
	font-weight: 700;
	margin-bottom: 4px;
}

.rayvia-luxe-card__pricing strong {
	color: #101828;
	font-size: 28px;
}

.rayvia-destination-card {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 26px;
	box-shadow: 0 18px 60px rgba(17, 24, 39, 0.08);
	overflow: hidden;
}

.rayvia-destination-card__media {
	aspect-ratio: 16 / 10;
	background: #e5e7eb;
	display: block;
}

.rayvia-destination-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.rayvia-destination-card__body {
	display: grid;
	gap: 12px;
	padding: 22px;
}

.rayvia-links-panel {
	background: linear-gradient(180deg, #fffaf4 0%, #fff 100%);
	border: 1px solid #eadfce;
	border-radius: 30px;
	box-shadow: 0 20px 60px rgba(17, 24, 39, 0.06);
	margin: 32px auto 0;
	max-width: 1200px;
	padding: 24px;
}

.rayvia-links-panel__eyebrow {
	color: #8a6746;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rayvia-links-panel__head h2 {
	color: #101828;
	font-size: clamp(24px, 4vw, 34px);
	margin: 10px 0 0;
}

.rayvia-links-panel__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	margin-top: 20px;
}

.rayvia-links-panel__column {
	background: #fff;
	border: 1px solid #efe3d1;
	border-radius: 22px;
	padding: 20px;
}

.rayvia-links-panel__column h3 {
	margin-top: 0;
}

.rayvia-links-panel__column ul {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rayvia-links-panel__column a {
	color: #344054;
	text-decoration: none;
}

.rayvia-checkout-summary {
	background: linear-gradient(180deg, #fff9f1 0%, #fff 100%);
	border: 1px solid #eadfce;
	border-radius: 24px;
	margin-bottom: 22px;
	padding: 18px;
}

.rayvia-checkout-summary h3 {
	margin: 0 0 12px;
}

.rayvia-checkout-summary__item {
	border-top: 1px solid #f2e6d7;
	display: grid;
	gap: 4px;
	padding: 12px 0;
}

.rayvia-checkout-summary__item strong,
.rayvia-checkout-summary__days strong {
	color: #101828;
}

.rayvia-checkout-summary__item span,
.rayvia-checkout-summary__days span {
	color: #667085;
}

.rayvia-checkout-summary__item em,
.rayvia-checkout-summary__days em {
	color: #7a4b20;
	font-style: normal;
	font-weight: 700;
}

.rayvia-checkout-summary__days {
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

.rayvia-checkout-summary__days div {
	background: #fff;
	border: 1px solid #efe3d1;
	border-radius: 16px;
	display: grid;
	gap: 4px;
	padding: 12px;
}

.rayvia-cart-edit-link {
	margin-top: 8px;
}

.rayvia-cart-edit-link a {
	color: #7a4b20;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.rayvia-package-builder {
	display: grid;
	gap: 22px;
}

.rayvia-package-builder__intro {
	align-items: start;
	background: linear-gradient(135deg, #fff6ea 0%, #ffffff 65%);
	border: 1px solid #eadfce;
	border-radius: 30px;
	box-shadow: 0 24px 80px rgba(17, 24, 39, 0.08);
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	padding: 28px;
}

.rayvia-package-builder__intro h2 {
	font-size: clamp(32px, 4vw, 50px);
	line-height: 0.98;
	margin: 12px 0;
}

.rayvia-package-builder__trust {
	display: grid;
	gap: 14px;
}

.rayvia-package-builder__trust div {
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid #efe3d1;
	border-radius: 20px;
	padding: 16px;
}

.rayvia-package-builder__trust strong,
.rayvia-package-builder__itinerary strong {
	color: #101828;
	display: block;
	margin-bottom: 6px;
}

.rayvia-package-builder__trust span {
	color: #667085;
}

.rayvia-package-builder__layout {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) 360px;
}

.rayvia-package-builder__main {
	display: grid;
	gap: 20px;
}

.rayvia-package-builder__sidebar {
	min-width: 0;
}

.rayvia-package-builder__sticky {
	position: sticky;
	top: 24px;
}

.rayvia-package-builder__selection-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.rayvia-select-card {
	display: block;
}

.rayvia-select-card input {
	display: none;
}

.rayvia-select-card .rayvia-activity-qty input {
	display: block;
}

.rayvia-select-card__body {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 20px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-height: 94px;
	padding: 16px;
	transition: all 0.2s ease;
}

.rayvia-select-card__body img {
	aspect-ratio: 16 / 9;
	border-radius: 14px;
	display: block;
	margin-bottom: 6px;
	object-fit: cover;
	width: 100%;
}

.rayvia-select-card__body select {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 12px;
	margin-top: 6px;
	min-height: 42px;
	padding: 8px 10px;
	width: 100%;
}

.rayvia-select-card--car-group .rayvia-select-card__body {
	min-height: 100%;
}

.rayvia-builder-car-route-select {
	font-weight: 800;
	color: #183d33;
}

.rayvia-car-route-hint {
	color: #667085;
	font-size: 12px;
	font-style: normal;
	line-height: 1.5;
}

.rayvia-activity-qty {
	align-items: center;
	display: grid;
	gap: 6px;
	grid-template-columns: auto minmax(76px, 110px) minmax(0, 1fr);
	margin-top: 8px;
	color: #344054;
	font-size: 12px;
	font-weight: 800;
}

.rayvia-activity-qty input {
	min-height: 38px;
	border: 1px solid #eadfce;
	border-radius: 10px;
	padding: 6px 8px;
	width: 100%;
}

.rayvia-activity-qty em {
	color: #667085;
	font-style: normal;
	font-weight: 600;
	line-height: 1.35;
}

.rayvia-activity-duration {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 12px;
	min-height: 42px;
	padding: 8px 10px;
	width: 100%;
}

.rayvia-activity-strip__head {
	margin-bottom: 18px;
	max-width: 760px;
}

.rayvia-activity-strip__head p {
	color: #667085;
	margin: 8px 0 0;
}

.rayvia-activity-slider {
	display: grid;
	gap: 16px;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 320px);
	overflow-x: auto;
	padding: 4px 4px 14px;
	scroll-snap-type: x proximity;
}

.rayvia-activity-card {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(16, 24, 40, 0.08);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	scroll-snap-align: start;
}

.rayvia-activity-card__media {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #173f34, #b17f49);
	position: relative;
}

.rayvia-activity-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.rayvia-activity-card__media.is-empty {
	align-items: center;
	color: #fff;
	display: flex;
	font-weight: 900;
	justify-content: center;
	text-align: center;
}

.rayvia-activity-card__media em {
	background: rgba(16, 24, 40, 0.78);
	border-radius: 999px;
	bottom: 10px;
	color: #fff;
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	left: 10px;
	max-width: calc(100% - 20px);
	overflow-wrap: anywhere;
	padding: 5px 9px;
	position: absolute;
}

.rayvia-activity-card__body {
	display: grid;
	gap: 8px;
	padding: 15px;
}

.rayvia-activity-card__body > span {
	color: #b17f49;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.rayvia-activity-card h3 {
	color: #101828;
	font-size: 18px;
	line-height: 1.25;
	margin: 0;
	overflow-wrap: anywhere;
}

.rayvia-activity-card p,
.rayvia-activity-card small {
	color: #667085;
	line-height: 1.5;
	margin: 0;
	overflow-wrap: anywhere;
}

.rayvia-activity-card strong {
	color: #173f34;
	font-size: 18px;
}

.rayvia-activity-booking-form {
	display: grid;
	gap: 10px;
	margin-top: 4px;
}

.rayvia-activity-card__fields {
	display: grid;
	gap: 8px;
	grid-template-columns: 1fr 1fr;
}

.rayvia-activity-card__fields input,
.rayvia-activity-card__fields select {
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 12px;
	color: #101828;
	min-height: 40px;
	min-width: 0;
	padding: 8px 9px;
	width: 100%;
}

.rayvia-activity-card__fields input:first-child {
	grid-column: 1 / -1;
}

.rayvia-activity-booking-form button {
	background: #173f34;
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-weight: 900;
	min-height: 42px;
	padding: 10px 16px;
}

.rayvia-select-card input:disabled + .rayvia-select-card__body {
	cursor: not-allowed;
	opacity: 0.52;
}

.rayvia-inline-check {
	align-items: center;
	color: #475467;
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	gap: 8px;
	margin-top: 4px;
}

.rayvia-inline-check input {
	width: auto;
}

.rayvia-empty-inline {
	color: #667085;
	grid-column: 1 / -1;
	margin: 0;
}

.rayvia-select-card input:checked + .rayvia-select-card__body {
	background: #fff6e9;
	border-color: #b17f49;
	box-shadow: inset 0 0 0 1px #b17f49;
}

.rayvia-select-card__body strong {
	color: #101828;
}

.rayvia-select-card__body small {
	color: #667085;
	line-height: 1.6;
}

.rayvia-region-lock {
	align-self: stretch;
}

.rayvia-locked-value {
	align-items: center;
	background: #f7f2ea;
	border: 1px solid #eadfce;
	border-radius: 14px;
	color: #101828;
	display: flex;
	font-weight: 800;
	min-height: 48px;
	padding: 12px 14px;
}

.rayvia-readonly-select {
	background: #f7f2ea;
	color: #475467;
	pointer-events: none;
}

.rayvia-day-planner {
	background: #fffaf4;
	border: 1px solid #eadfce;
	border-radius: 24px;
	margin-bottom: 16px;
	overflow: hidden;
	padding: 0;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rayvia-day-planner.is-open {
	border-color: rgba(124, 92, 56, 0.42);
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.rayvia-day-planner.is-complete:not(.is-open) {
	background: #f8fbf6;
	border-color: #cfe1cf;
}

.rayvia-day-planner__head {
	align-items: center;
	background: transparent;
	border: 0;
	color: #101828;
	cursor: pointer;
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 18px 20px;
	text-align: left;
	width: 100%;
}

.rayvia-day-planner__head:hover {
	background: rgba(255, 255, 255, 0.56);
}

.rayvia-day-planner__head span {
	background: #111827;
	border-radius: 999px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 12px;
}

.rayvia-day-planner__head strong {
	color: #101828;
	flex: 0 0 auto;
}

.rayvia-day-planner__head small {
	color: #667085;
	flex: 1 1 auto;
	font-size: 13px;
	font-weight: 700;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rayvia-day-planner__head em {
	align-items: center;
	background: #fff;
	border: 1px solid #eadfce;
	border-radius: 999px;
	color: #7c5c38;
	display: inline-flex;
	flex: 0 0 32px;
	font-style: normal;
	font-weight: 900;
	height: 32px;
	justify-content: center;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	width: 32px;
}

.rayvia-day-planner.is-collapsed .rayvia-day-planner__head em {
	transform: rotate(0deg);
}

.rayvia-day-planner__body {
	max-height: 4000px;
	opacity: 1;
	overflow: hidden;
	padding: 0 20px 20px;
	transition: max-height 0.28s ease, opacity 0.2s ease, padding 0.2s ease;
}

.rayvia-day-planner.is-collapsed .rayvia-day-planner__body {
	max-height: 0;
	opacity: 0;
	padding-bottom: 0;
}

.rayvia-day-planner__collapsed-summary {
	display: none;
}

.rayvia-package-builder__final-review {
	background: linear-gradient(180deg, #fff, #fffaf4);
	border-color: rgba(124, 92, 56, 0.28);
}

.rayvia-package-builder__final-review > p {
	color: #667085;
	margin-top: 0;
}

.rayvia-summary-box--final {
	margin-top: 16px;
}

.rayvia-button--checkout-final {
	margin-top: 18px;
	width: 100%;
}

.rayvia-package-builder__itinerary {
	background: #fffaf4;
	border: 1px solid #eadfce;
	border-radius: 20px;
	color: #475467;
	line-height: 1.7;
	margin-top: 16px;
	padding: 16px;
}

.rayvia-package-builder__itinerary ul {
	display: grid;
	gap: 10px;
	margin: 12px 0 0;
	padding-left: 18px;
}

.rayvia-table-wrap {
	overflow-x: auto;
}

.rayvia-table {
	min-width: 760px;
}

.rayvia-room-preview-grid {
	display: grid;
	gap: 14px;
}

.rayvia-room-preview {
	background: #fffaf4;
	border: 1px solid #eadfce;
	border-radius: 20px;
	padding: 16px;
}

.rayvia-room-preview__dates {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(76px, 1fr));
	margin-top: 12px;
}

.rayvia-room-preview__dates span {
	background: #fff;
	border: 1px solid #efe3d1;
	border-radius: 14px;
	display: grid;
	gap: 4px;
	padding: 10px;
	text-align: center;
}

.rayvia-room-preview__dates span.is-open {
	background: #f4fbf6;
	border-color: #aad1b0;
}

.rayvia-room-preview__dates span.is-full {
	background: #fff1f1;
	border-color: #e0a8a8;
}

.rayvia-room-preview__dates em {
	color: #667085;
	font-size: 11px;
	font-style: normal;
}

.rayvia-room-preview__dates strong {
	color: #101828;
	font-size: 16px;
}

.rayvia-day-planner .rayvia-package-builder__selection-grid {
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.rayvia-card,
.rayvia-luxe-card,
.rayvia-destination-card,
.rayvia-booking-widget,
.rayvia-package-builder,
.rayvia-package-builder *,
.rayvia-checkout-summary,
.rayvia-related-card,
.rayvia-room-card {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

.rayvia-luxe-card__media::after,
.rayvia-related-card > a:first-child::after,
.rayvia-mmt-card__image::after,
.rayvia-single__visual::after,
.rayvia-item__hero::after {
	align-items: center;
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(234, 223, 206, 0.9);
	border-radius: 999px;
	bottom: 14px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
	color: #7c5c38;
	content: "Rayvia";
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	padding: 8px 10px;
	position: absolute;
	right: 14px;
	text-transform: uppercase;
	z-index: 2;
}

.rayvia-luxe-card__media,
.rayvia-related-card > a:first-child,
.rayvia-mmt-card__image,
.rayvia-single__visual,
.rayvia-item__hero {
	display: block;
	position: relative;
}

.rayvia-luxe-card__body,
.rayvia-luxe-card__footer,
.rayvia-summary-row,
.rayvia-summary-list div,
.rayvia-package-builder__intro,
.rayvia-package-builder__layout,
.rayvia-form-grid,
.rayvia-package-builder__selection-grid,
.rayvia-day-planner__head,
.rayvia-room-card__top {
	min-width: 0;
}

.rayvia-luxe-card__title,
.rayvia-luxe-card__excerpt,
.rayvia-luxe-card__meta span,
.rayvia-luxe-card__trust span,
.rayvia-destination-card__body h3,
.rayvia-destination-card__body p,
.rayvia-summary-row span,
.rayvia-summary-row strong,
.rayvia-select-card__body strong,
.rayvia-select-card__body small,
.rayvia-package-builder__itinerary li,
.rayvia-table th,
.rayvia-table td,
.rayvia-checkout-summary__item,
.rayvia-checkout-summary__days div,
.rayvia-report-number,
.rayvia-field label,
.rayvia-button {
	max-width: 100%;
	overflow-wrap: anywhere;
	white-space: normal;
}

.rayvia-field select {
	text-overflow: ellipsis;
}

.rayvia-summary-row {
	align-items: flex-start;
}

.rayvia-summary-row strong {
	flex: 0 1 auto;
	min-width: 0;
}

.rayvia-package-builder {
	width: 100%;
}

.rayvia-package-builder__layout {
	align-items: start;
	grid-template-columns: minmax(0, calc(100% - 392px)) minmax(320px, 368px);
}

.rayvia-package-builder__main {
	min-width: 0;
}

.rayvia-package-builder__sidebar {
	align-self: start;
	width: 100%;
}

.rayvia-package-builder__sticky {
	display: grid;
	gap: 16px;
	max-height: calc(100vh - 48px);
	overflow: auto;
}

.rayvia-package-builder__sticky .rayvia-summary-box,
.rayvia-package-builder__sticky .rayvia-package-builder__itinerary {
	margin-top: 0;
}

.rayvia-package-builder__sticky .rayvia-button {
	margin-top: 0;
}

.rayvia-select-card__body {
	height: 100%;
}

.rayvia-validation-message,
.rayvia-capacity-hint {
	color: #b42318;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	min-height: 0;
}

.rayvia-capacity-hint {
	color: #667085;
}

.has-capacity-error .rayvia-select-card input:checked + .rayvia-select-card__body,
.rayvia-booking-form.has-capacity-error input[name="rayvia_travelers"] {
	border-color: #d92d20;
	box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.12);
}

@media (max-width: 1080px) {
	.rayvia-package-builder__layout,
	.rayvia-package-builder__intro {
		grid-template-columns: 1fr;
	}

	.rayvia-package-builder__sticky {
		max-height: none;
		overflow: visible;
		position: static;
	}
}

@media (max-width: 640px) {
	.rayvia-card,
	.rayvia-booking-widget {
		border-radius: 20px;
		padding: 16px;
	}

	.rayvia-package-builder__intro {
		border-radius: 22px;
		padding: 18px;
	}

	.rayvia-package-builder__selection-grid,
	.rayvia-day-planner .rayvia-package-builder__selection-grid {
		grid-template-columns: 1fr;
	}

	.rayvia-summary-row {
		gap: 8px;
	}

	.rayvia-summary-row strong.is-emphasis {
		font-size: 18px;
	}

	.rayvia-luxe-card__footer {
		gap: 14px;
	}

	.rayvia-luxe-card__footer .rayvia-button {
		width: 100%;
	}
}

@media (max-width: 900px) {
	.rayvia-dashboard-grid,
	.rayvia-form-grid,
	.rayvia-subgrid {
		grid-template-columns: 1fr;
	}

	.rayvia-luxe-card__footer {
		align-items: flex-start;
		flex-direction: column;
	}
}
.rayvia-self-service {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(28px, 5vw, 72px) 16px;
}

.rayvia-self-service__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(26px, 5vw, 48px);
	border: 1px solid rgba(198, 168, 104, 0.34);
	border-radius: 30px;
	background:
		linear-gradient(135deg, rgba(17, 54, 43, 0.94), rgba(27, 83, 67, 0.88)),
		#12362c;
	box-shadow: 0 28px 80px rgba(13, 45, 36, 0.16);
	color: #fff;
}

.rayvia-self-service__hero span,
.rayvia-self-booking__head span {
	display: inline-flex;
	margin-bottom: 10px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(198, 168, 104, 0.18);
	color: #f4deb3;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rayvia-self-service__hero h1 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(36px, 6vw, 68px);
	line-height: 0.98;
}

.rayvia-self-service__hero p {
	max-width: 720px;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 17px;
	line-height: 1.75;
}

.rayvia-self-lookup,
.rayvia-self-booking,
.rayvia-pro-filters {
	margin-top: 22px;
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid #eadfce;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 20px 60px rgba(17, 24, 39, 0.08);
}

.rayvia-self-lookup,
.rayvia-pro-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	align-items: end;
}

.rayvia-self-lookup label,
.rayvia-pro-filters label,
.rayvia-self-cancel label {
	display: grid;
	gap: 8px;
	color: #667085;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rayvia-self-lookup__full {
	grid-column: 1 / -1;
}

.rayvia-self-lookup input,
.rayvia-self-lookup select,
.rayvia-self-lookup textarea,
.rayvia-pro-filters input,
.rayvia-pro-filters select,
.rayvia-self-cancel textarea {
	width: 100%;
	min-height: 52px;
	padding: 13px 15px;
	border: 1px solid #eadfce;
	border-radius: 16px;
	background: #fffdf8;
	color: #101828;
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
}

.rayvia-self-lookup button,
.rayvia-pro-filters button,
.rayvia-self-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 13px 18px;
	border: 0;
	border-radius: 999px;
	background: #12362c;
	color: #fff;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.rayvia-self-button--ghost {
	border: 1px solid #eadfce;
	background: #fffdf8;
	color: #12362c;
}

.rayvia-self-notice,
.rayvia-self-empty {
	margin-top: 18px;
	padding: 16px 18px;
	border: 1px solid #b7e4c7;
	border-radius: 18px;
	background: #f0fff5;
	color: #175c3a;
	font-weight: 700;
}

.rayvia-self-empty {
	border-color: #f6c6a6;
	background: #fff7ed;
	color: #8a3b12;
}

.rayvia-self-booking__head {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: flex-start;
	padding-bottom: 18px;
	border-bottom: 1px solid #eadfce;
}

.rayvia-self-booking__head h3 {
	margin: 0;
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.08;
}

.rayvia-self-booking__head > strong {
	white-space: nowrap;
	color: #12362c;
	font-size: clamp(24px, 4vw, 38px);
}

.rayvia-self-booking__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.rayvia-self-booking__grid div {
	padding: 14px;
	border: 1px solid #efe4d4;
	border-radius: 18px;
	background: #fffaf4;
}

.rayvia-self-booking__grid span {
	display: block;
	margin-bottom: 6px;
	color: #8a6746;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.rayvia-self-booking__grid strong {
	display: block;
	color: #101828;
	overflow-wrap: anywhere;
}

.rayvia-self-booking__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.rayvia-self-cancel {
	margin-top: 22px;
	padding: 18px;
	border: 1px solid #f2d6bd;
	border-radius: 22px;
	background: #fff7ed;
}

.rayvia-self-cancel h4 {
	margin: 0 0 8px;
	font-size: 22px;
}

.rayvia-self-cancel p {
	color: #7c2d12;
	line-height: 1.7;
}

.rayvia-self-cancel form {
	display: grid;
	gap: 12px;
}

@media (max-width: 980px) {
	.rayvia-self-lookup,
	.rayvia-pro-filters,
	.rayvia-self-booking__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.rayvia-self-lookup,
	.rayvia-pro-filters,
	.rayvia-self-booking__grid {
		grid-template-columns: 1fr;
	}

	.rayvia-self-booking__head {
		flex-direction: column;
	}

	.rayvia-self-button,
	.rayvia-self-lookup button,
	.rayvia-pro-filters button {
		width: 100%;
	}
}

@media print {
	header,
	footer,
	.rayvia-self-lookup,
	.rayvia-self-cancel,
	.rayvia-self-booking__actions {
		display: none !important;
	}

	.rayvia-self-service {
		padding: 0;
	}

	.rayvia-self-booking {
		box-shadow: none;
	}
}

.rayvia-breadcrumbs,
.rayvia-service-trust-strip,
.rayvia-trust-reviews {
	max-width: 1200px;
	margin: 0 auto;
	padding-right: 16px;
	padding-left: 16px;
}

.rayvia-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	align-items: center;
	padding-top: 18px;
	padding-bottom: 10px;
	color: #8a6746;
	font-size: 13px;
	font-weight: 800;
}

.rayvia-breadcrumbs a {
	color: #12362c;
	text-decoration: none;
}

.rayvia-service-trust-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
	margin-bottom: 28px;
}

.rayvia-service-trust-strip div,
.rayvia-trust-reviews article {
	padding: 18px;
	border: 1px solid #eadfce;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(17, 24, 39, 0.07);
}

.rayvia-service-trust-strip strong,
.rayvia-service-trust-strip span {
	display: block;
}

.rayvia-service-trust-strip strong {
	color: #12362c;
	font-size: 18px;
}

.rayvia-service-trust-strip span {
	margin-top: 8px;
	color: #667085;
	line-height: 1.55;
}

.rayvia-trust-reviews {
	margin-top: 34px;
	margin-bottom: 34px;
}

.rayvia-trust-reviews__head {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: flex-end;
	margin-bottom: 18px;
	padding: 24px;
	border: 1px solid rgba(198, 168, 104, 0.32);
	border-radius: 26px;
	background: linear-gradient(135deg, #12362c, #1d5a48);
	color: #fff;
}

.rayvia-trust-reviews__head span {
	display: inline-flex;
	margin-bottom: 9px;
	padding: 7px 11px;
	border-radius: 999px;
	background: rgba(198, 168, 104, 0.18);
	color: #f4deb3;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.rayvia-trust-reviews__head h2 {
	margin: 0;
	font-size: clamp(26px, 4vw, 42px);
	line-height: 1.05;
}

.rayvia-trust-reviews__head > strong {
	display: grid;
	justify-items: end;
	color: #f4deb3;
	font-size: 38px;
	line-height: 1;
	white-space: nowrap;
}

.rayvia-trust-reviews__head small {
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 13px;
}

.rayvia-trust-reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.rayvia-trust-reviews__stars {
	color: #c6a868;
	letter-spacing: 0.12em;
}

.rayvia-trust-reviews article p {
	color: #475467;
	line-height: 1.75;
}

.rayvia-trust-reviews article strong,
.rayvia-trust-reviews article span {
	display: block;
}

.rayvia-trust-reviews article strong {
	color: #101828;
}

.rayvia-trust-reviews article span {
	margin-top: 6px;
	color: #8a6746;
	font-size: 13px;
	font-weight: 800;
}

@media (max-width: 980px) {
	.rayvia-service-trust-strip,
	.rayvia-trust-reviews__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.rayvia-service-trust-strip,
	.rayvia-trust-reviews__grid {
		grid-template-columns: 1fr;
	}

	.rayvia-trust-reviews__head {
		flex-direction: column;
		align-items: flex-start;
	}

	.rayvia-trust-reviews__head > strong {
		justify-items: start;
	}
}

.rayvia-growth-fab {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 999;
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 13px 16px;
	border: 1px solid rgba(255, 255, 255, 0.46);
	border-radius: 999px;
	background: #12362c;
	box-shadow: 0 18px 48px rgba(12, 31, 25, 0.24);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}

.rayvia-growth-fab span {
	display: inline-flex;
	min-width: 24px;
	height: 24px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #c6a868;
	color: #12362c;
}

.rayvia-growth-panel {
	position: fixed;
	right: 18px;
	bottom: 78px;
	z-index: 1000;
	width: min(430px, calc(100vw - 28px));
	max-height: min(680px, calc(100vh - 110px));
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr) auto;
	overflow: hidden;
	border: 1px solid #eadfce;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 28px 90px rgba(12, 31, 25, 0.28);
}

.rayvia-growth-panel[hidden] {
	display: none !important;
}

.rayvia-growth-panel__head,
.rayvia-growth-panel__foot {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	padding: 16px;
	background: #fffaf4;
}

.rayvia-growth-panel__head strong {
	color: #12362c;
	font-size: 18px;
}

.rayvia-growth-panel__head button,
.rayvia-growth-panel__tabs button {
	border: 1px solid #eadfce;
	border-radius: 999px;
	background: #fff;
	color: #12362c;
	font-weight: 800;
	cursor: pointer;
}

.rayvia-growth-panel__tabs {
	display: flex;
	gap: 8px;
	padding: 0 16px 14px;
	background: #fffaf4;
}

.rayvia-growth-panel__tabs button {
	padding: 9px 12px;
}

.rayvia-growth-panel__tabs button.is-active {
	background: #12362c;
	color: #fff;
}

.rayvia-growth-panel__body {
	display: grid;
	gap: 10px;
	overflow-y: auto;
	padding: 14px 16px;
}

.rayvia-growth-item {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 10px;
	border: 1px solid #eadfce;
	border-radius: 18px;
	background: #fffdf8;
}

.rayvia-growth-item img {
	width: 82px;
	height: 72px;
	object-fit: cover;
	border-radius: 14px;
	background: #edf4ef;
}

.rayvia-growth-item strong,
.rayvia-growth-item span,
.rayvia-growth-item a {
	display: block;
	overflow-wrap: anywhere;
}

.rayvia-growth-item span {
	margin-top: 4px;
	color: #667085;
	font-size: 13px;
}

.rayvia-growth-item a {
	margin-top: 6px;
	color: #12362c;
	font-weight: 900;
}

.rayvia-growth-empty {
	margin: 0;
	padding: 18px;
	border-radius: 18px;
	background: #fff7ed;
	color: #8a3b12;
	font-weight: 700;
}

.rayvia-recent-services {
	max-width: 1200px;
	margin: 34px auto;
	padding: 0 16px;
}

@media (max-width: 640px) {
	.rayvia-growth-panel {
		right: 10px;
		left: 10px;
		bottom: 68px;
		width: auto;
		max-height: min(430px, calc(100vh - 96px));
		border-radius: 18px;
		grid-template-rows: auto auto minmax(90px, 1fr) auto;
	}

	.rayvia-growth-panel__head,
	.rayvia-growth-panel__foot {
		padding: 10px;
	}

	.rayvia-growth-panel__head strong {
		font-size: 15px;
	}

	.rayvia-growth-panel__tabs {
		padding: 0 10px 10px;
	}

	.rayvia-growth-panel__tabs button {
		padding: 7px 10px;
		font-size: 12px;
	}

	.rayvia-growth-panel__body {
		padding: 10px;
	}

	.rayvia-growth-panel__foot {
		display: grid;
		grid-template-columns: 1fr;
	}

	.rayvia-growth-item {
		grid-template-columns: 58px minmax(0, 1fr);
	}

	.rayvia-growth-item img {
		width: 58px;
		height: 52px;
	}
}

.rayvia-recent-services__head {
	margin-bottom: 16px;
}

.rayvia-recent-services__head span {
	color: #8a6746;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rayvia-recent-services__head h2 {
	margin: 8px 0 0;
	font-size: clamp(26px, 4vw, 42px);
	line-height: 1.08;
}

.rayvia-recent-services__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

@media (max-width: 900px) {
	.rayvia-recent-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.rayvia-growth-fab {
		right: 12px;
		bottom: 12px;
	}

	.rayvia-growth-panel {
		right: 10px;
		bottom: 66px;
		width: calc(100vw - 20px);
	}

	.rayvia-recent-services__grid {
		grid-template-columns: 1fr;
	}
}
