.stay-booking-info-shell {
	background: var(--rv-color-section-bg);
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
	padding-block: clamp(1.8rem, 4.2vw, 3.4rem);
}

.stay-booking-info-shell__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 40px);
}

.stay-booking-info {
	--rv-list-indent: 1.35rem;
	color: var(--rv-color-section-text-primary);
	font-family: var(--rv-font-family-base);
	font-size: var(--rv-type-body-regular-size);
	font-weight: var(--rv-type-body-regular-weight);
}

.stay-booking-info__title {
	margin: 0;
	font-size: var(--rv-type-h2-size);
	font-weight: var(--rv-type-h2-weight);
	line-height: var(--rv-line-height-title);
	color: var(--rv-color-section-heading);
}

.stay-booking-info__grid {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.stay-booking-info__panel {
	margin-top: 1rem;
	background: var(--rv-color-card-bg);
	border: 0;
	border-radius: 16px;
	padding: clamp(1rem, 2.2vw, 1.45rem);
}

.stay-booking-info__panel-title {
	margin: 0 0 0.8rem;
	font-size: var(--rv-type-h3-size);
	font-weight: var(--rv-type-h3-weight);
	line-height: var(--rv-line-height-title);
	color: var(--rv-color-section-heading);
	display: inline-block;
	padding-bottom: 0.24rem;
	border-bottom: 2px solid var(--color-primary-green);
}

.stay-booking-info__list,
.stay-booking-info__rules-grid {
	margin: 0;
	padding-inline-start: var(--rv-list-indent);
	padding-left: var(--rv-list-indent);
	list-style-position: outside;
	font-size: var(--rv-type-body-regular-size);
	line-height: var(--rv-line-height-body);
	color: var(--rv-color-section-text-secondary);
}

.stay-booking-info__list li + li,
.stay-booking-info__rules-grid li + li {
	margin-top: 0.45rem;
}

.stay-booking-info__inline-link,
.stay-booking-info__inline-link:visited,
.stay-booking-info__inline-link:focus,
.stay-booking-info__inline-link:active {
	color: var(--color-primary-green);
	font-weight: var(--fw-semibold);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.stay-booking-info__bank-account {
	word-break: keep-all;
}

.stay-booking-info__info-list {
	margin: 0;
	display: grid;
	gap: 0.52rem;
}

.stay-booking-info__info-row {
	display: grid;
	grid-template-columns: minmax(6rem, 8rem) minmax(0, 1fr);
	gap: 0.9rem;
	align-items: baseline;
	padding: 0.32rem 0;
}

.stay-booking-info__info-row dt,
.stay-booking-info__policy-label {
	margin: 0;
	font-size: var(--rv-type-body-regular-size);
	font-weight: var(--fw-medium);
	line-height: var(--rv-line-height-compact);
	color: var(--rv-color-section-text-primary);
}

.stay-booking-info__info-row dd,
.stay-booking-info__policy-value {
	margin: 0;
	font-size: var(--rv-type-body-regular-size);
	line-height: var(--rv-line-height-body);
	color: var(--rv-color-section-text-secondary);
}

.stay-booking-info__policy-groups {
	display: grid;
	gap: 0.85rem;
}

.stay-booking-info__policy-group h4 {
	margin: 0 0 0.4rem;
	font-size: var(--rv-type-body-regular-size);
	font-weight: var(--fw-medium);
	line-height: var(--rv-line-height-title);
	color: var(--rv-color-section-heading);
}

.stay-booking-info__policy-rows {
	display: grid;
	gap: 0.6rem;
}

.stay-booking-info__policy-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem;
	padding: 0.55rem 0.7rem;
	border-radius: 10px;
	background: var(--rv-color-highlight-row-bg);
}

.stay-booking-info__rules-grid {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
}

.stay-booking-info__rules-grid--desktop,
.stay-booking-info__rules-columns {
	display: none;
}


@media (hover: hover) and (pointer: fine) {
	.stay-booking-info__inline-link:hover {
		color: #505438;
	}
}

@media (hover: none) {
	.stay-booking-info__inline-link:hover,
	.stay-booking-info__inline-link:focus,
	.stay-booking-info__inline-link:active,
	.stay-booking-info__inline-link:visited {
		color: #73C173;
	}
}

@media (min-width: 768px) {
	.stay-booking-info__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.15rem;
	}
}

@media (min-width: 992px) {
	.stay-booking-info__rules-grid--mobile {
		display: none;
	}

	.stay-booking-info__rules-columns {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: clamp(1.6rem, 3.2vw, 3rem);
	}

	.stay-booking-info__rules-grid--desktop {
		display: grid;
	}
}

@media (max-width: 767px) {
	.stay-booking-info__policy-row,
	.stay-booking-info__info-row {
		grid-template-columns: 1fr;
		gap: 0.3rem;
	}
}
