/*
 * Service page and rates page.
 * .lp-  shared parts, .sp-  service page, .rp-  rates page.
 */

.lp {
	--lp-purple: #4b0082;
	--lp-lilac: #a098be;
	--lp-lilac-light: #bdb6d7;
	--lp-ink: #1e1e1e;
	display: flex;
	flex-direction: column;
	gap: 80px;
	margin: 28px 0 2px;
	color: #000;
	font: 400 16px/24px "Raleway", sans-serif;
	letter-spacing: -0.32px;
}
.lp,
.lp *,
.lp *::before,
.lp *::after {
	box-sizing: border-box;
}
.lp h1,
.lp h2,
.lp h3,
.lp h4,
.lp p,
.lp ul,
.lp ol,
.lp dl,
.lp dd,
.lp figure {
	margin: 0;
	padding: 0;
}
.lp ul,
.lp ol {
	list-style: none;
}
.lp a {
	color: inherit;
}
.lp img {
	display: block;
	max-width: 100%;
}
.lp button,
.lp input,
.lp select {
	font-family: inherit;
	letter-spacing: inherit;
}

/* Breadcrumbs of the header on these pages */
.layout__holder:has(> .lp) {
	min-height: 0;
	padding-right: 20px;
	padding-left: 20px;
}
.layout__holder:has(> .lp) .breadcrumbs {
	max-width: none;
	/* The old layout is shifted down by one text line, see inc/setup.php */
	margin-top: -2px;
	font: 400 14px/20px "Raleway", sans-serif;
	letter-spacing: -0.078px;
	color: #000;
}
.layout__holder:has(> .lp) .breadcrumbs__link {
	color: #000;
	font-weight: 400;
	text-decoration: underline;
	text-underline-position: from-font;
}
.layout__holder:has(> .lp) .breadcrumbs__separator {
	margin: 0 3px;
	color: var(--lp-lilac-light, #bdb6d7);
	font-size: 13px;
}
.layout__holder:has(> .lp) .breadcrumbs__current {
	color: #000;
	font-weight: 400;
}

/* Shared parts */
.lp .lp-h1 {
	font-size: 55px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.352px;
}
.lp .lp-h2 {
	font-size: 50px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.416px;
	color: #000;
}
.lp-head {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}
.lp-lead {
	color: var(--lp-ink);
}
.lp-section {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}
.lp-small {
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.154px;
	color: var(--lp-ink);
}
.lp .lp-link,
.lp-text a {
	font-size: 14px;
	line-height: 21.7px;
	letter-spacing: -0.154px;
	text-decoration: underline;
	text-underline-position: from-font;
}
.lp-text a {
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}
.lp a.lp-link:hover,
.lp-text a:hover,
.sp-related a:hover {
	color: var(--lp-purple);
}
.lp-text {
	display: flex;
	flex-direction: column;
	gap: 12px;
	line-height: 24.8px;
}
.lp .lp-text ul,
.lp .lp-text ol,
.lp .sp-place__main ul,
.lp .sp-rates__extras ul,
.lp .rp-fees__card ul {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-left: 18px;
	list-style: disc;
}
.lp .lp-text ol {
	list-style: decimal;
}
.lp-text h3,
.lp-text h4 {
	font-size: 20px;
	line-height: 1.2;
}

.lp-btn {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 22px;
	border: 2px solid #000;
	border-radius: 100px;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.lp .lp-btn--black {
	background: #000;
	color: #fff;
}
.lp .lp-btn--white {
	border-color: #fff;
	background: #fff;
	color: #000;
}
.lp .lp-btn--black:hover,
.lp .lp-btn--white:hover {
	border-color: var(--lp-purple);
	background: var(--lp-purple);
	color: #fff;
}

.lp-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 16px;
	border: 1px solid transparent;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 700;
	line-height: 21.7px;
	letter-spacing: -0.154px;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.lp .lp-pill--purple {
	background: var(--lp-purple);
	color: #fff;
}
.lp .lp-pill--purple:hover {
	background: #000;
}
.lp .lp-pill--outline {
	border-color: #000;
	background: #fff;
	color: #000;
}
.lp .lp-pill--outline:hover {
	background: #000;
	color: #fff;
}

.lp-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.lp-chip {
	padding: 4px 12px;
	border: 1px solid var(--lp-lilac);
	border-radius: 100px;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.154px;
	white-space: nowrap;
}
.lp-chip--small {
	padding: 4px 8px;
	font-size: 13px;
	line-height: 20.15px;
	letter-spacing: -0.078px;
}
.lp-chip--area {
	padding: 6px 12px;
}
.lp .lp-chip a {
	text-decoration: none;
}

.lp-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	text-align: left;
}
.lp-table th,
.lp-table td {
	padding: 16px 12px;
	border: 1px solid var(--lp-lilac-light);
	border-width: 0 1px 1px 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: -0.24px;
	vertical-align: middle;
}
.lp-table th {
	border-top-width: 1px;
	background: var(--lp-lilac);
	font-size: 16px;
	font-weight: 700;
}
.lp-table tr > :first-child {
	border-left-width: 1px;
}
.lp-table thead tr > :first-child {
	border-top-left-radius: 12px;
}
.lp-table thead tr > :last-child {
	border-top-right-radius: 12px;
}
.lp-table tbody tr:last-child > :first-child {
	border-bottom-left-radius: 12px;
}
.lp-table tbody tr:last-child > :last-child {
	border-bottom-right-radius: 12px;
}

/* FAQ: the accordion itself is the one of the previous design */
.lp-faq {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.lp-faq__side,
.lp-faq__main {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}
.lp-faq__main {
	gap: 28px;
}
.lp-faq--wide {
	flex-direction: column;
	align-items: stretch;
}
.lp-faq__photo {
	width: 100%;
	height: auto;
	aspect-ratio: 690 / 593;
	border-radius: 20px;
	object-fit: cover;
	object-position: 98% center;
}
.rp-faq .lp-faq__photo {
	aspect-ratio: 690 / 640;
	object-position: 86% center;
}
.lp-faq__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.lp-faq .index-faq__item {
	margin-top: 0;
}
.lp-faq .index-faq__header {
	align-items: center;
	min-height: 100px;
	padding: 30px 20px;
}
.lp-faq .index-faq__name {
	color: var(--lp-ink);
	font-size: 25px;
	line-height: 35px;
	letter-spacing: 1px;
}
.lp-faq .index-faq__answer {
	padding: 0;
}
.lp .lp-faq .index-faq__message {
	padding: 0 80px 30px 20px;
	color: var(--lp-ink);
	font-size: 16px;
	line-height: 24px;
}

/* Bottom block */
.lp-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 80px 40px;
	border-radius: 20px;
	background: var(--lp-lilac);
	color: var(--lp-ink);
	text-align: center;
}
.lp-cta__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.lp .lp-cta h2 {
	font-size: 50px;
	font-weight: 700;
	line-height: 59px;
	letter-spacing: 1px;
	color: var(--lp-ink);
}
.lp-cta__head p {
	max-width: 605px;
	line-height: 24.8px;
}
.lp-cta__buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
.lp .lp-cta__buttons a {
	display: flex;
	align-items: center;
	height: 50px;
	padding: 0 30px;
	border-radius: 40px;
	background: #fff;
	color: var(--lp-ink);
	font-weight: 700;
	line-height: 22.4px;
	letter-spacing: 1px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s, color 0.2s;
}
.lp .lp-cta__buttons a:hover {
	background: var(--lp-purple);
	color: #fff;
}
.lp .lp-cta__note {
	max-width: 530px;
	padding-top: 6px;
	font-size: 14px;
	line-height: 21.7px;
	letter-spacing: -0.154px;
}

/*
 * Service page
 */
.sp-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 28px;
	align-items: start;
	margin-bottom: -40px;
}
.sp-hero__main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.sp-badge {
	padding: 4px 12px;
	border-radius: 100px;
	background: var(--lp-purple);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 18.6px;
	letter-spacing: 0;
}
.sp-hero__subtitle {
	font-size: 18px;
	line-height: 28px;
	letter-spacing: -0.45px;
}
.sp-hero__intro {
	color: var(--lp-ink);
}
.sp-price {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	padding: 30px 18px 18px;
	border-radius: 20px;
	background: var(--lp-lilac-light);
}
.sp-price__line {
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.sp-price__line strong {
	font-size: 36px;
	line-height: 36px;
	letter-spacing: 0.4px;
}
.sp-price__note {
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.154px;
	color: var(--lp-ink);
}
.sp-price__buttons {
	display: flex;
	gap: 10px;
}
.sp-price__call a {
	text-decoration: underline;
	text-underline-position: from-font;
}
.lp .sp-hero__chips {
	padding-top: 8px;
}
.sp-hero__side {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.sp-hero__photo {
	width: 100%;
	height: 359px;
	border-radius: 20px;
	object-fit: cover;
}
.lp .sp-features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
.sp-features__item {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 43.39px;
	color: var(--lp-ink);
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: -0.1px;
}
.sp-features__item img {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
}

.sp-online__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 64px;
	padding: 20px 22px;
	border-radius: 100px;
	background: var(--lp-purple);
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
	text-decoration: none;
	transition: background-color 0.2s;
}
.lp .sp-online__button {
	color: #fff;
}
.sp-online__button:hover {
	background: #000;
}

.sp-text {
	display: grid;
	grid-template-columns: 690px minmax(0, 1fr);
	align-items: start;
}
.sp-text--wide {
	grid-template-columns: minmax(0, 1fr);
}
.sp-text__main {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.sp-text--wide .sp-text__main {
	max-width: 1000px;
}
.sp-text__picture {
	height: 347px;
	margin-left: -24px;
	overflow: hidden;
}
.sp-text__picture img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.sp-rates__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
}
.sp-rates__table th:nth-child(1) {
	width: 35.4%;
}
.sp-rates__table th:nth-child(2) {
	width: 20%;
}
.sp-rates__table th:nth-child(3) {
	width: 16.1%;
}
.sp-rates__table th:nth-child(4) {
	width: 11.7%;
}
.sp-rates__table td {
	line-height: 23.25px;
}
.sp-rates__extras {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-top: 8px;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.154px;
	color: var(--lp-ink);
}

.lp .sp-conditions__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
}
.sp-conditions__card {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 129px;
	padding: 16px;
	border-radius: 20px;
	background: #fff;
}
.sp-conditions__card img {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
}
.sp-conditions__card > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.sp-conditions__label {
	font-size: 14px;
	font-weight: 700;
	line-height: 21.7px;
	letter-spacing: -0.154px;
}
.sp-conditions__value {
	font-size: 20px;
	font-weight: 700;
	line-height: 22px;
	letter-spacing: -0.46px;
}
.lp .sp-conditions__text {
	max-width: 290px;
	padding-top: 4px;
	color: var(--lp-ink);
	font-size: 14px;
	line-height: 21.7px;
	letter-spacing: -0.154px;
}

.sp-steps {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 80px 40px;
	border-radius: 20px;
	background: var(--lp-lilac);
}
.sp-steps__row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
.sp-steps__card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	background: var(--lp-lilac-light);
	color: var(--lp-ink);
}
.sp-steps__bar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 70px;
	padding: 0 30px;
	border-radius: 20px;
	background: var(--lp-ink);
}
.sp-steps__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--lp-lilac);
}
.sp-steps__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 40px 20px 70px;
	letter-spacing: 1px;
}
.sp-steps__body h3 {
	font-size: 25px;
	font-weight: 700;
	line-height: 1.17;
}
.sp-steps__body p {
	line-height: 22.4px;
}

.sp-cars__row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
	width: 100%;
}
.sp-car {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px 16px;
	border-radius: 20px;
	background: #fff;
}
.sp-car__photo {
	width: 100%;
	height: 203px;
	border-radius: 10px;
	object-fit: cover;
}
.lp .sp-car__title {
	display: flex;
	align-items: baseline;
	gap: 20px;
	padding-top: 12px;
	font-size: 21px;
	font-weight: 700;
	line-height: 26.25px;
	letter-spacing: -0.378px;
}
.sp-car__title small {
	font-size: 16px;
	line-height: 24.8px;
	letter-spacing: -0.32px;
}
.sp-car__type,
.lp .sp-car__text {
	color: var(--lp-ink);
	font-size: 14px;
	line-height: 21.7px;
	letter-spacing: -0.154px;
}
.lp .sp-car__specs {
	gap: 6px 8px;
	padding-top: 10px;
}
.lp .sp-car__text {
	padding-top: 10px;
}
.sp-car__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 14px;
}

.sp-place {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	width: 100%;
}
.sp-place + .sp-place {
	padding-top: 24px;
	border-top: 1px solid var(--lp-lilac);
}
.sp-place__photo {
	flex-shrink: 0;
	width: 280px;
	height: 280px;
	border: 1px solid var(--lp-lilac-light);
	border-radius: 20px;
	background: #fff;
	object-fit: cover;
}
.sp-place__main {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	min-width: 0;
}
.sp-place__main h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.378px;
}
.sp-place__main h4 {
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}
.lp .sp-place__main ul {
	gap: 0;
	line-height: 24.8px;
}

.sp-routes {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}
.sp-routes__table th:nth-child(1) {
	width: 35.4%;
}
.sp-routes__table th:nth-child(2) {
	width: 20%;
}
.sp-routes__table th:nth-child(3) {
	width: 16.1%;
}
.sp-routes__table th:nth-child(4) {
	width: 11.7%;
}
.lp .sp-routes__table .lp-link {
	font-size: 15px;
	line-height: 20px;
}
.lp .sp-routes__areas-title {
	padding-top: 14px;
	font-size: 21px;
	font-weight: 700;
	line-height: 26.25px;
	letter-spacing: -0.378px;
}
.sp-routes__map {
	width: 100%;
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
}
.sp-routes__map img {
	width: 100%;
	height: 422px;
	object-fit: cover;
}

.sp-reviews {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.lp .sp-reviews__title {
	font-size: 32px;
	font-weight: 700;
	line-height: 38.4px;
	letter-spacing: 0.416px;
}
.sp-reviews__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 14px;
	min-height: 72px;
	padding: 16px 18px;
	border-radius: 20px;
	background: #fff;
}
.sp-reviews__bar strong {
	font-size: 28px;
	line-height: 28px;
	letter-spacing: 0.392px;
}
.sp-reviews__bar span {
	font-size: 14px;
	line-height: 21.7px;
	letter-spacing: -0.154px;
}
.sp-reviews__bar .lp-pill {
	margin-left: auto;
}
.sp-reviews__row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
}
.sp-review {
	display: flex;
	flex-direction: column;
	gap: 7.4px;
	padding: 16px;
	border-radius: 20px;
	background: #fff;
}
.sp-review__head {
	display: flex;
	align-items: center;
	gap: 10px;
}
.sp-review__head img,
.sp-review__avatar {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--lp-lilac-light);
	object-fit: cover;
}
.sp-review__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lp-ink);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
}
.sp-review__head p {
	display: flex;
	flex-direction: column;
}
.sp-review__head strong {
	font-size: 15px;
	line-height: 23.25px;
	letter-spacing: -0.24px;
}
.sp-review__head p span {
	color: var(--lp-ink);
	font-size: 13px;
	line-height: 20.15px;
	letter-spacing: -0.078px;
}
.lp .sp-review__stars {
	padding-top: 2.6px;
	color: var(--lp-purple);
	font-size: 14px;
	line-height: 21.7px;
	letter-spacing: 2px;
}
.sp-review__text {
	font-size: 15px;
	line-height: 23.25px;
	letter-spacing: -0.24px;
}

.sp-related__row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
	width: 100%;
}
.sp-related__column {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.sp-related__column h3 {
	padding-bottom: 8px;
	border-bottom: 1px solid var(--lp-purple);
	color: var(--lp-purple);
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: -0.24px;
}
.sp-related__column ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.sp-related__column li {
	padding: 1.75px 0 1.05px;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.154px;
}
.sp-related__column a {
	text-decoration: underline;
	text-underline-position: from-font;
}

/*
 * Rates page
 */
.rp {
	margin: 28px 0 30px;
}
.rp-hero {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}
.rp-hero__main {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	min-width: 0;
}
.rp .lp-h1 {
	letter-spacing: -0.34px;
}
.rp .lp-h2 {
	letter-spacing: -0.264px;
}
.rp-hero__intro {
	max-width: 570px;
	color: var(--lp-ink);
	letter-spacing: -0.442px;
}
.rp-hero__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.rp-btn {
	padding: 16px 28px;
	border: 1px solid transparent;
	border-radius: 100px;
	font-size: 14px;
	line-height: 14px;
	letter-spacing: -0.154px;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.lp .rp-btn--purple {
	background: var(--lp-purple);
	color: #fff;
}
.lp .rp-btn--purple:hover {
	background: #000;
}
.rp-btn--outline {
	border-color: var(--lp-lilac);
}
.rp-btn--outline:hover {
	border-color: #000;
}
.rp-summary {
	display: flex;
	flex: 0 0 572px;
	flex-direction: column;
	gap: 12px;
	padding: 24px 18px;
	border-radius: 20px;
	background: var(--lp-lilac-light);
}
.rp-summary dl {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 8px 14px;
	font-size: 14px;
	line-height: 21px;
	letter-spacing: -0.154px;
}
.rp-summary dd {
	font-weight: 700;
}
.rp-summary__note {
	display: flex;
	flex-wrap: wrap;
	gap: 0 8px;
	font-size: 13px;
	line-height: 19.5px;
	letter-spacing: -0.078px;
}

.rp-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.rp-panel__howto {
	max-width: 795px;
	color: var(--lp-ink);
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.078px;
}
.rp-panel__howto strong {
	color: #000;
}
.rp-label {
	display: block;
	color: var(--lp-ink);
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.24px;
}
.rp-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px 12px;
	padding-top: 10px;
}
.rp-control {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.rp-control--search {
	flex: 1 1 220px;
}
.rp-control--sort {
	flex: 0 0 184px;
}
.rp-search {
	position: relative;
	display: block;
}
.rp-search input,
.rp-control select {
	display: block;
	width: 100%;
	height: 45px;
	border: 0;
	border-radius: 100px;
	outline: 0;
	background-color: #fff;
	color: #000;
}
.rp-search input {
	padding: 0 40px 0 13px;
	font-size: 14px;
	letter-spacing: -0.24px;
}
.rp-search input::placeholder {
	color: #000;
	opacity: 1;
}
.rp-search input:focus,
.rp-control select:focus-visible {
	box-shadow: 0 0 0 1px var(--lp-purple);
}
.rp-search button {
	position: absolute;
	top: 50%;
	right: 5.5px;
	width: 30px;
	padding: 2.5px 6px 3px;
	border: 0;
	background: none;
	color: #000;
	font-size: 18px;
	line-height: 27px;
	cursor: pointer;
	transform: translateY(-50%);
}
.rp-control select {
	padding: 10px 28px 10px 16px;
	font-size: 15px;
	line-height: 17.5px;
	letter-spacing: -0.24px;
	cursor: pointer;
}
.rp-switch {
	display: flex;
	overflow: hidden;
	border-radius: 100px;
}
.rp-switch button {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 43px;
	padding: 11px 14px;
	border: 0;
	border-right: 1px solid rgba(160, 152, 190, 0.4);
	background: #fff;
	color: var(--lp-ink);
	font-size: 14px;
	line-height: 21px;
	letter-spacing: 0.28px;
	white-space: nowrap;
	cursor: pointer;
}
.rp-switch button:last-child {
	border-right: 0;
}
.rp-switch button.is-active {
	border-right-color: var(--lp-lilac);
	background: var(--lp-purple);
	color: #fff;
	font-weight: 700;
}
.rp-switch small {
	font-size: 11px;
	font-weight: 400;
	line-height: 16.5px;
	opacity: 0.75;
}
.rp-gratuity {
	display: flex;
	align-items: center;
	height: 45px;
	padding: 10px 12px;
	border: 1px dashed var(--lp-lilac);
	border-radius: 100px;
	color: var(--lp-purple);
	font-size: 15px;
	font-weight: 700;
	line-height: 22.5px;
	letter-spacing: -0.24px;
	white-space: nowrap;
}
.rp-zones,
.rp-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 12px;
}
.rp-chips {
	padding-top: 20px;
}
.rp-zones button,
.rp-chips button {
	display: flex;
	align-items: baseline;
	gap: 4px;
	height: 33.5px;
	padding: 7px 15px;
	border: 0;
	border-radius: 100px;
	background: #fff;
	color: var(--lp-ink);
	font-size: 13px;
	line-height: 19.5px;
	letter-spacing: -0.078px;
	white-space: nowrap;
	cursor: pointer;
}
.rp-chips button {
	font-size: 12px;
}
.rp-zones small,
.rp-chips small {
	font-size: 11px;
	line-height: 16.5px;
	letter-spacing: 0.066px;
	opacity: 0.6;
}
.rp-zones button.is-active,
.rp-chips button.is-active {
	background: var(--lp-purple);
	color: #fff;
}
.rp-zones button.is-active small,
.rp-chips button.is-active small {
	opacity: 0.75;
}
.rp-letters {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	padding-top: 10px;
}
.rp-letters button {
	min-width: 26px;
	height: 26px;
	padding: 1px 6px;
	border: 0;
	border-radius: 4px;
	background: #fff;
	color: #000;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0;
	cursor: pointer;
}
.rp-letters button:first-child {
	min-width: 42px;
}
.rp-letters button.is-active {
	background: var(--lp-purple);
	color: #fff;
}
.rp-letters button:disabled {
	color: var(--lp-lilac);
	cursor: default;
}

.rp-results {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.rp-counter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	color: var(--lp-ink);
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.154px;
}
.rp-counter strong {
	color: #000;
}
.rp-counter__buttons {
	display: flex;
	gap: 8px;
}
.rp-counter__buttons button {
	height: 27px;
	padding: 7px 11px;
	border: 0;
	border-radius: 100px;
	background: #fff;
	color: #000;
	font-size: 13px;
	line-height: 13px;
	letter-spacing: -0.078px;
	cursor: pointer;
}
.rp-counter__buttons button:hover,
.rp-zones button:hover,
.rp-chips button:hover,
.rp-letters button:not(:disabled):hover,
.rp-table td button:hover {
	box-shadow: inset 0 0 0 1px var(--lp-purple);
}

.rp-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	text-align: left;
}
.rp-table th {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 10.5px 14px;
	background: var(--lp-purple);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 19.5px;
	letter-spacing: -0.078px;
}
.rp-table th:nth-child(1) {
	width: 38%;
	border-top-left-radius: 12px;
}
.rp-table th:nth-child(2) {
	width: 20%;
}
.rp-table th:nth-child(3) {
	width: 14%;
}
.rp-table th:nth-child(4) {
	width: 16%;
}
.rp-table th:nth-child(5) {
	border-top-right-radius: 12px;
}
.rp-sort {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}
.rp-sort span {
	margin-left: 2px;
	font-family: Arial, sans-serif;
	opacity: 0.45;
}
.rp-sort.is-active span {
	opacity: 1;
}
.rp-table td {
	height: 66px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--lp-lilac-light);
	background: #fff;
	vertical-align: middle;
}
.rp-table tbody tr.is-last td {
	border-bottom: 0;
}
.rp-table tbody tr.is-last td:first-child {
	border-bottom-left-radius: 12px;
}
.rp-table tbody tr.is-last td:last-child {
	border-bottom-right-radius: 12px;
}
.rp-table__name {
	font-size: 15px;
	font-weight: 700;
	line-height: 22.5px;
	letter-spacing: -0.24px;
}
.rp-zone {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--lp-ink);
	font-size: 13px;
	line-height: 19.5px;
	letter-spacing: -0.078px;
}
.rp-zone b {
	padding: 2px 7px;
	border: 1px solid var(--lp-lilac);
	border-radius: 2px;
	font-size: 11px;
	font-weight: 400;
	line-height: 16.5px;
	letter-spacing: 0.066px;
}
.rp-table td.rp-table__base {
	color: var(--lp-ink);
	font-size: 15px;
	line-height: 22.5px;
	letter-spacing: -0.24px;
	text-align: right;
}
.rp-table td.rp-table__total {
	text-align: right;
}
.rp-table__total strong {
	display: block;
	font-size: 17px;
	line-height: 25.5px;
	letter-spacing: -0.442px;
}
.rp-table__total small {
	display: block;
	color: var(--lp-lilac);
	font-size: 11px;
	line-height: 16.5px;
	letter-spacing: 0.066px;
}
.rp-table td.rp-table__actions {
	text-align: right;
	white-space: nowrap;
}
.rp-table td button {
	height: 28px;
	padding: 0 11px;
	border: 1px solid var(--lp-lilac);
	border-radius: 2px;
	background: #fff;
	color: #000;
	font-size: 13px;
	line-height: 13px;
	letter-spacing: -0.078px;
	vertical-align: middle;
	cursor: pointer;
}
.rp-table td .rp-pin {
	width: 28px;
	padding: 0;
	border-radius: 6px;
	color: var(--lp-purple);
}
.rp-table td .rp-pin:hover {
	background: #efeaf8;
}
.rp-table td .rp-pin[aria-pressed="true"] {
	background: var(--lp-purple);
	color: #fff;
}
.rp-table tr.is-pinned td {
	background: #faf8ff;
}
.rp-table tr.rp-more td {
	height: auto;
	padding: 16px 14px 20px;
	background: #faf8ff;
}
.rp-more__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px 40px;
}
.rp-more dl {
	display: grid;
	grid-template-columns: max-content max-content;
	gap: 4px 16px;
	font-size: 14px;
	line-height: 21px;
	letter-spacing: -0.154px;
}
.rp-more dt {
	color: var(--lp-ink);
}
.rp-more dd {
	font-weight: 700;
	text-align: right;
}
.rp-more a {
	margin-left: auto;
}
.lp .rp-empty {
	padding: 24px;
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
}
.rp-empty a {
	text-decoration: underline;
}

.rp-quote {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 28px 40px;
	border-radius: 20px;
	background: var(--lp-lilac-light);
}
.rp-quote__text {
	display: flex;
	flex: 0 1 532px;
	flex-direction: column;
	gap: 11px;
	color: var(--lp-ink);
}
.rp-quote__text p:last-child {
	padding-top: 4px;
}
.rp-quote__text strong,
.rp-quote__text strong a {
	color: #000;
}
.rp-quote__text a {
	text-decoration: underline;
	text-underline-position: from-font;
}
.rp-form {
	display: grid;
	flex: 0 1 650px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 20px;
	border-radius: 20px;
	background: #fff;
}
.rp-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.rp-field--wide,
.rp-form__submit,
.rp-form__message {
	grid-column: 1 / -1;
}
.rp-field input,
.rp-field select {
	width: 100%;
	height: 51px;
	padding: 12px;
	border: 1px solid var(--lp-lilac);
	border-radius: 12px;
	outline: 0;
	background-color: #fff;
	color: #000;
	font-size: 15px;
	letter-spacing: -0.24px;
}
.rp-field select {
	padding: 12px 28px 12px 16px;
}
.rp-field input::placeholder {
	color: var(--lp-ink);
	opacity: 1;
}
.rp-field input:focus,
.rp-field select:focus {
	border-color: var(--lp-purple);
}
.rp-field input.is-invalid {
	border-color: #c0392b;
}
.rp-form__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.rp-form__submit {
	height: 48px;
	border: 1px solid var(--lp-purple);
	border-radius: 100px;
	background: var(--lp-purple);
	color: #fff;
	font-size: 14px;
	line-height: 14px;
	letter-spacing: -0.154px;
	cursor: pointer;
	transition: background-color 0.2s;
}
.rp-form__submit:hover {
	border-color: #000;
	background: #000;
}
.rp-form__submit:disabled {
	opacity: 0.6;
	cursor: default;
}
.rp-form__message {
	font-size: 14px;
	line-height: 20px;
}
.rp-form__message.is-error {
	color: #c0392b;
}

.rp-fees {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	gap: 20px;
}
.rp-fees__card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px 20px;
	border-radius: 20px;
	background: #fff;
}
.rp-fees__card h3 {
	font-size: 17px;
	font-weight: 700;
	line-height: 20.4px;
	letter-spacing: -0.442px;
}
.lp .rp-fees__card ul {
	gap: 8px;
	max-width: 540px;
	padding-left: 20px;
	color: var(--lp-ink);
}
.rp-fees__card ul strong {
	color: #000;
}
.rp-fees__card dl {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 14px;
	line-height: 21px;
	letter-spacing: -0.154px;
}
.rp-fees__card dl div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.rp-fees__card dl div.has-line {
	padding-top: 10px;
	border-top: 1px solid var(--lp-lilac-light);
	margin-top: 2px;
}
.rp-fees__card dt {
	color: var(--lp-ink);
}
.rp-fees__card dd {
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}
.lp .rp-fees__note {
	max-width: 480px;
	padding-top: 2px;
	color: var(--lp-ink);
	font-size: 13px;
	line-height: 19.5px;
	letter-spacing: -0.078px;
}

.rp-text {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rp-text .lp-text {
	color: var(--lp-ink);
	font-size: 15px;
	line-height: 22.5px;
	letter-spacing: -0.24px;
}

@media print {
	.header,
	.footer,
	.breadcrumbs,
	.rp-hero__buttons,
	.rp-panel,
	.rp-counter__buttons,
	.rp-popular .rp-label,
	.rp-chips,
	.rp-quote,
	.rp-faq,
	.rp-table__actions,
	.rp-table th:last-child,
	.scroll-to-top-link {
		display: none !important;
	}
	.rp-table th {
		position: static;
		color: #000;
	}
}

/*
 * Smaller screens (the design covers the desktop only)
 */
@media (max-width: 1200px) {
	.lp {
		gap: 60px;
	}
	.lp .lp-h1 {
		font-size: 44px;
	}
	.lp .lp-h2,
	.lp .lp-cta h2 {
		font-size: 38px;
		line-height: 1.15;
	}
	.sp-hero,
	.sp-text {
		grid-template-columns: minmax(0, 1fr);
		margin-bottom: 0;
	}
	.sp-text__picture {
		margin-left: 0;
	}
	.sp-steps__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.lp .sp-conditions__grid,
	.sp-cars__row,
	.sp-reviews__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.lp-faq,
	.rp-hero,
	.rp-quote {
		flex-direction: column;
		align-items: stretch;
	}
	.rp-summary,
	.rp-quote__text,
	.rp-form {
		flex: 0 0 auto;
	}
	.lp-faq .index-faq__name {
		font-size: 20px;
		line-height: 28px;
	}
}
@media (max-width: 750px) {
	.layout__holder:has(> .lp) {
		padding-right: 10px;
		padding-left: 10px;
	}
	.lp {
		gap: 44px;
		margin-top: 16px;
	}
	.lp .lp-h1 {
		font-size: 34px;
	}
	.lp .lp-h2,
	.lp .lp-cta h2 {
		font-size: 28px;
	}
	.sp-price__buttons {
		flex-direction: column;
	}
	.lp .sp-features,
	.lp .sp-conditions__grid,
	.sp-cars__row,
	.sp-reviews__row,
	.sp-steps__row,
	.sp-related__row {
		grid-template-columns: minmax(0, 1fr);
	}
	.lp .sp-features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sp-hero__photo {
		height: 240px;
	}
	.sp-text__picture {
		height: 220px;
	}
	.sp-steps,
	.lp-cta {
		padding: 40px 16px;
	}
	.sp-place {
		flex-direction: column;
	}
	.sp-place__photo {
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}
	.sp-rates__body,
	.sp-routes,
	.rp-results {
		overflow-x: auto;
	}
	.lp-table,
	.rp-table {
		min-width: 640px;
	}
	.lp-faq .index-faq__header {
		min-height: 0;
		padding: 20px 10px;
	}
	.lp-faq .index-faq__name {
		font-size: 16px;
		line-height: 20px;
	}
	.lp .lp-faq .index-faq__message {
		padding: 0 10px 20px;
	}
	.rp-quote {
		padding: 20px 12px;
	}
	.rp-form,
	.rp-fees {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-flow: row;
	}
	.rp-counter {
		flex-direction: column;
		align-items: flex-start;
	}
	.rp-switch button {
		padding: 11px 10px;
	}
}
