/* ========================= Hotel1 — стиль как rmarina.com (главная + шапка/футер) ========================= */
:root {
	--h1-navy: #1e3a5f;
	--h1-navy-dark: #152a45;
	--h1-gold: #b8860b;
	--h1-gold-light: #d4a84b;
	--h1-text: #2c2c2c;
	--h1-muted: #5a5a5a;
	/* Футер и «хром» чекаута (кнопки, активный шаг) — одна плоскость */
	--h1-footer-bg: var(--h1-navy-dark);
}
body.h1-site,
body.h1-page-home {
	font-family: Lato, system-ui, sans-serif;
	color: var(--h1-text);
	background: #fff;
}
/* Главная (Canvas/themeAlly): без теней у героя — inset на форме бронирования и text-shadow у текста */
body.h1-site.h1-page-home.colorPalette8 .home-hero-promo .booking-button-form .frosted:before,
body.h1-site.h1-page-home.colorPalette8 .home-hero-promo .booking-button-form .frosted::before {
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}
body.h1-site.h1-page-home.typography1 .home-hero-promo .hero-main-text .wrapper,
body.h1-site.h1-page-home.typography1 .home-hero-promo .hero-main-text .wrapper .main-text,
body.h1-site.h1-page-home.typography1 .home-hero-promo .hero-main-text .wrapper .sub-text {
	text-shadow: none !important;
}
.h1-header {
	position: relative;
	z-index: 3000;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}
/* app-v3.css: .navbar { box-shadow: inset 0 20px 38px #363636; … } — ломает hotel1 (тот же класс Bootstrap) */
body.h1-site .h1-header > nav.navbar.h1-navbar {
	box-shadow: none !important;
	background-color: #fff !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.h1-navbar__shell {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	padding-top: 0.5rem;
	padding-bottom: 0.35rem;
}
.h1-navbar__row-top {
	min-height: 48px;
}
.h1-navbar__row-sep {
	width: 100%;
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	margin: 0.5rem 0 0;
	padding: 0;
}
.h1-navbar__phone {
	color: var(--h1-navy) !important;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.02em;
	font-size: 0.9rem;
	white-space: nowrap;
}
.h1-navbar__phone:hover {
	color: var(--h1-gold) !important;
}
.h1-navbar {
	background: #fff !important;
	padding: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
@media (min-width: 1200px) {
	.h1-navbar .h1-navbar__collapse {
		flex-basis: 100%;
		width: 100%;
		justify-content: center;
	}
	.h1-navbar__nav--row2 {
		margin-left: auto !important;
		margin-right: auto !important;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		text-align: center;
	}
	.h1-navbar__nav--row2 .nav-link {
		text-align: center;
	}
}
.h1-navbar__logo {
	max-height: 56px;
	width: auto;
}
.h1-navbar__brand {
	padding: 0;
	margin-right: 0;
}
.h1-navbar__toggler {
	border-color: rgba(30, 58, 95, 0.35);
	padding: 0.35rem 0.5rem;
}
.h1-navbar__toggler .navbar-toggler-icon {
	filter: invert(0.25) sepia(0.3) saturate(8) hue-rotate(165deg);
}
.h1-navbar__nav .nav-link {
	font-family: Lato, sans-serif;
	font-weight: 600;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--h1-navy) !important;
	padding: 0.5rem 0.85rem !important;
}
.h1-navbar__nav .nav-link:hover {
	color: var(--h1-gold) !important;
}
.h1-btn-book {
	background: var(--h1-gold) !important;
	border: none !important;
	color: #fff !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	padding: 0.55rem 1.25rem;
	border-radius: 2px;
}
.h1-btn-book:hover {
	background: var(--h1-gold-light) !important;
	color: #1a1a1a !important;
}
.h1-lang__toggle {
	color: var(--h1-navy) !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.25rem 0.5rem !important;
}
.h1-lang__menu {
	border-radius: 0;
	border: 1px solid #e0e0e0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.h1-cart {
	color: var(--h1-navy);
	text-decoration: none;
	gap: 0.35rem;
}
.h1-cart__count {
	font-weight: 700;
	font-size: 0.9rem;
	min-width: 1.25rem;
	text-align: center;
}
.h1-main {
	position: relative;
	z-index: 1;
}
/* Главная, герой: ряд с селектом не прилипает к низу серой плашки; лёгкие вертикальные паддинги у select без смены appearance/высоты */
#h1-home-booking-form .form-group-select {
	padding-bottom: 0.5rem;
}
#h1-home-booking-form .form-group-select select.form-control,
#h1-home-booking-form #h1-home-car.form-control {
	padding-top: 0.5rem;
	padding-bottom: 0.65rem;
	line-height: 1.35;
	box-sizing: border-box;
}
.h1-hero {
	position: relative;
	min-height: min(88vh, 820px);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.h1-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}
.h1-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(21, 42, 69, 0.45) 0%, rgba(21, 42, 69, 0.65) 100%);
}
.h1-hero__content {
	position: relative;
	z-index: 2;
	text-align: center;
	color: #fff;
	padding: 3rem 0 4rem;
}
.h1-hero__kicker {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 600;
	font-style: italic;
	margin-bottom: 0.5rem;
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
}
.h1-hero__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.5rem, 3.2vw, 2.25rem);
	font-weight: 600;
	margin-bottom: 1rem;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}
.h1-hero__lead {
	font-size: clamp(1rem, 2vw, 1.15rem);
	max-width: 36rem;
	margin: 0 auto 2rem;
	line-height: 1.6;
	opacity: 0.95;
}
.h1-hero__book {
	justify-content: center;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
	padding: 1rem 1.25rem;
	border-radius: 4px;
	display: inline-flex;
	flex-wrap: wrap;
}
.h1-hero__label {
	color: #fff;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.25rem;
}
.h1-hero__select {
	min-width: 140px;
	border-radius: 2px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.95);
}
.h1-hero__submit {
	background: var(--h1-gold) !important;
	border: none !important;
	color: #fff !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.5rem 1.5rem;
	border-radius: 2px;
}
.h1-hero__submit:hover {
	background: var(--h1-gold-light) !important;
	color: #111 !important;
}
.h1-section-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.65rem, 3vw, 2.1rem);
	font-weight: 600;
	color: var(--h1-navy);
	margin-bottom: 1rem;
}
.h1-intro__rating {
	font-size: 1rem;
	color: var(--h1-muted);
}
.h1-intro__stars {
	color: var(--h1-gold);
	letter-spacing: 0.1em;
}
.h1-intro__rating-val {
	font-weight: 700;
	color: var(--h1-navy);
}
.h1-intro__text {
	max-width: 48rem;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--h1-muted);
}
.h1-see-all {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	color: var(--h1-navy);
	text-decoration: none;
	border-bottom: 2px solid var(--h1-gold);
	padding-bottom: 2px;
}
.h1-see-all:hover {
	color: var(--h1-gold);
}
.h1-rooms__list {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}
.h1-room-card {
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
	background: #fff;
	overflow: hidden;
}
.h1-room-card__media-link {
	display: block;
	height: 100%;
	min-height: 220px;
}
.h1-room-card__img {
	width: 100%;
	height: 100%;
	min-height: 220px;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}
.h1-room-card__media-link:hover .h1-room-card__img {
	transform: scale(1.03);
}
.h1-room-card__body {
	padding: 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.h1-room-card__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.35rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
}
.h1-room-card__title a {
	color: var(--h1-navy);
	text-decoration: none;
}
.h1-room-card__title a:hover {
	color: var(--h1-gold);
}
.h1-room-card__text {
	color: var(--h1-muted);
	font-size: 0.95rem;
	line-height: 1.65;
	margin-bottom: 1rem;
}
.h1-room-card__price {
	font-size: 0.95rem;
	color: var(--h1-muted);
}
.h1-room-card__price strong {
	color: var(--h1-navy);
	font-size: 1.15rem;
	margin-left: 0.25rem;
}
.h1-btn-outline {
	border: 2px solid var(--h1-navy) !important;
	color: var(--h1-navy) !important;
	background: transparent !important;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	border-radius: 2px;
	padding: 0.45rem 1.1rem;
}
.h1-btn-outline:hover {
	background: var(--h1-navy) !important;
	color: #fff !important;
}
.h1-gallery__cell {
	overflow: hidden;
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.h1-gallery__img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	transition: transform 0.35s ease;
}
.h1-gallery__cell:hover .h1-gallery__img {
	transform: scale(1.05);
}
.h1-contact__lbl {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--h1-muted);
	margin-bottom: 0.5rem;
}
.h1-contact__val {
	font-size: 1.05rem;
	color: var(--h1-navy);
	font-weight: 600;
	text-decoration: none;
}
a.h1-contact__val:hover {
	color: var(--h1-gold);
}
.h1-footer {
	background: var(--h1-footer-bg);
	color: rgba(255, 255, 255, 0.88);
	margin-top: 0;
}
.h1-footer__brand {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.35rem;
	color: #fff;
	margin-bottom: 0.75rem;
}
.h1-footer__title {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--h1-gold-light);
	margin-bottom: 0.75rem;
}
.h1-footer__link {
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
}
.h1-footer__link:hover {
	color: #fff;
	text-decoration: underline;
}
.h1-footer__muted {
	color: rgba(255, 255, 255, 0.65);
}
.h1-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
body.h1-site.h1-page-gallery {
	background: #fff;
	color: var(--h1-text);
}
.h1-gallery-page__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.65rem, 3vw, 2.1rem);
	font-weight: 600;
	color: var(--h1-navy);
	margin: 0;
}
.h1-gallery-card {
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.h1-gallery-card:hover {
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
	color: inherit;
}
.h1-gallery-card__img-wrap {
	aspect-ratio: 4 / 3;
	background: #f4f4f4;
	overflow: hidden;
}
.h1-gallery-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.h1-gallery-page__pagination .pagination {
	margin-bottom: 0;
}
.h1-toast-success {
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 11000;
	background: #2e7d32;
	color: #fff;
	padding: 1rem 1.25rem;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
	max-width: 22rem;
	font-size: 0.9rem;
}
.h1-toast-success strong {
	display: block;
	margin-bottom: 0.25rem;
}
@media (max-width: 1199.98px) {
	.h1-navbar__collapse {
		padding-top: 0.65rem;
	}
}

@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap");

/* Gilroy */
@font-face {
  font-family: "Gilroy400";
  src: url("/assets/fonts/gilroy/Gilroy-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy600";
  src: url("/assets/fonts/gilroy/Gilroy-Medium.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy800";
  src: url("/assets/fonts/gilroy/Gilroy-Bold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

/* Druk */
@font-face {
  font-family: "Druk";
  src: url("/assets/fonts/DrukWideBold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

/* Didot */
@font-face {
  font-family: "Didot";
  src: url("/assets/fonts/TheanoDidot-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: rgb(3, 3, 3);
  font-family: "Gilroy400", sans-serif;
  overflow-x: hidden;
}
a {
  text-decoration: none;
}

/*
 * Горизонтальные поля как у easyrent.bg: на мобилке не «в ноль», на десктопе широкие внутренние отступы.
 * max-width 1620px + крупный side padding ≈ визуал референса.
 */
.container {
  max-width: 1620px;
  width: 100%;
  margin: 0 auto;
  padding-left: max(1.375rem, env(safe-area-inset-left));
  padding-right: max(1.375rem, env(safe-area-inset-right));
}
@media (min-width: 576px) {
  .container {
    padding-left: max(1.75rem, env(safe-area-inset-left));
    padding-right: max(1.75rem, env(safe-area-inset-right));
  }
}
@media (min-width: 768px) {
  .container {
    padding-left: max(2.25rem, env(safe-area-inset-left));
    padding-right: max(2.25rem, env(safe-area-inset-right));
  }
}
@media (min-width: 992px) {
  .container {
    padding-left: max(2.75rem, env(safe-area-inset-left));
    padding-right: max(2.75rem, env(safe-area-inset-right));
  }
}
@media (min-width: 1200px) {
  .container {
    padding-left: max(3.5rem, env(safe-area-inset-left));
    padding-right: max(3.5rem, env(safe-area-inset-right));
  }
}
@media (min-width: 1400px) {
  .container {
    padding-left: max(4.25rem, env(safe-area-inset-left));
    padding-right: max(4.25rem, env(safe-area-inset-right));
  }
}
@media (min-width: 1600px) {
  .container {
    padding-left: max(4.75rem, env(safe-area-inset-left));
    padding-right: max(4.75rem, env(safe-area-inset-right));
  }
}
button {
  cursor: pointer;
  border: none;
}

/* Шапка: белый фон (в т.ч. страница авто / внутренние — едино с hotel1 .h1-header) */
.er-site-header {
  margin: 0;
  padding: 0;
}
.er-navbar.navbar {
  padding: 12px 0 20px;
  margin: 0;
  width: 100%;
  z-index: 2000;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: none;
  background-color: #fff;
}
.er-navbar.navbar .navbar-toggler {
  border-color: rgba(0, 0, 0, 0.2);
}
@media (min-width: 1200px) {
  .er-navbar.navbar {
    padding: 16px 0 24px;
  }
}
@media (max-width: 1199.98px) {
  .er-navbar.navbar {
    padding: 8px 0 12px;
    min-height: 52px;
    box-shadow: none;
  }
  .er-navbar .container {
    margin-top: 0;
  }
}
.er-navbar__brand.navbar-brand {
  padding: 0;
  margin-right: 0.75rem;
  color: #1a1a1a;
  font-size: 1.4rem;
  font-weight: 700;
  max-width: min(100%, 32rem);
}
/* Референс: лого и бейджи крупнее, одной визуальной линии */
.er-navbar__logo {
  max-height: 54px;
  width: auto;
  margin: 0;
  flex-shrink: 0;
}
@media (min-width: 576px) {
  .er-navbar__logo {
    max-height: 62px;
  }
}
@media (min-width: 1200px) {
  .er-navbar__logo {
    max-height: 72px;
  }
}
.er-navbar__trust {
  height: 32px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
  margin-left: 0.75rem;
  flex-shrink: 0;
}
@media (min-width: 576px) {
  .er-navbar__trust {
    height: 36px;
    max-width: 168px;
    margin-left: 1rem;
  }
}
@media (min-width: 1200px) {
  .er-navbar__trust {
    height: 42px;
    max-width: 190px;
    margin-left: 1.1rem;
  }
}
@media (max-width: 575.98px) {
  .er-navbar__trust {
    margin-left: 0.45rem;
    height: 28px;
    max-width: 118px;
  }
  .er-navbar__brand {
    row-gap: 0.35rem;
  }
}
/* «Общи условия» сразу следом за бейджами (не дублируем пункт в центральном меню) */
.er-navbar__leading {
  min-width: 0;
  flex-wrap: nowrap;
  align-items: center;
}
.er-navbar__terms-link {
  font-family: Montserrat, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.35rem 0.25rem !important;
  margin-left: 0;
  color: #1a1a1a !important;
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 0.8s ease;
}
@media (min-width: 1200px) {
  .er-navbar__terms-link {
    font-size: 16px;
    padding: 0.5rem 0.35rem !important;
  }
}
.er-navbar__terms-link:hover,
.er-navbar__terms-link:focus {
  color: #fdd835 !important;
  text-decoration: underline !important;
}
@media (max-width: 575.98px) {
  .er-navbar__terms-link {
    font-size: 14px;
  }
}
.er-navbar .nav-link {
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 15px;
  margin: 0 14px;
  padding: 5px 0 !important;
  color: #1a1a1a !important;
  transition: color 0.8s ease;
}
.er-navbar .nav-link:hover,
.er-navbar .nav-link:focus {
  color: #fdd835 !important;
  text-decoration: underline;
}
/* Язык: только флаг + стрелка; без рамки/фона — панель по клику */
.er-navbar__lang-dropdown .dropdown-toggle::after {
  margin-left: 0.35rem;
  vertical-align: 0.2em;
  border-top-color: currentColor;
}
.er-navbar__lang-toggle.btn-link {
  text-decoration: none !important;
}
.er-navbar__lang-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.1rem !important;
  border: none !important;
  border-radius: 0;
  color: #1a1a1a !important;
  text-decoration: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.er-navbar__lang-toggle:hover,
.er-navbar__lang-toggle:focus,
.er-navbar__lang-toggle:active,
.er-navbar__lang-toggle.show {
  color: #1a1a1a !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.er-navbar__lang-toggle:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.25);
  outline-offset: 3px;
}
.er-navbar__lang-flag {
  width: 28px;
  height: 21px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: none;
}
.er-navbar__lang-menu {
  min-width: 11rem;
  border-radius: 0;
  border: 1px solid #e0e0e0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.er-navbar__lang-menu .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 1rem;
  font-family: Montserrat, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #333;
}
.er-navbar__lang-menu .dropdown-item:hover,
.er-navbar__lang-menu .dropdown-item:focus {
  background: #fff9df;
  color: #333;
}
.er-navbar__lang-menu .dropdown-item.active,
.er-navbar__lang-menu .dropdown-item:active {
  background: #fff3c4;
  color: #222;
}
.er-navbar__lang-menu .er-navbar__lang-flag {
  width: 24px;
  height: 18px;
  flex-shrink: 0;
}

/* Старые блоки контактов в футере (если остались в других страницах) */
.nav_contacts a,
.nav_contacts div {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav_contacts p {
  color: rgb(255, 255, 255);
}

/* Шапка: белый фон по всему сайту */
header.er-site-header {
  margin: 0;
  padding: 0;
  background: #fff !important;
  overflow: visible;
}

.header_wrapper {
  width: 100%;
  max-width: 1740px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  margin: 0 auto;
}

.header_content {
  backdrop-filter: blur(50px);
  background: rgba(0, 0, 0, 0.5);
  height: 578px;
  width: 57%;
  padding: 60px;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
}

.header_content h1 {
  color: rgb(255, 255, 255);
  font-family: "Druk";
  font-size: 80px;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 24px;
}

.header_content p {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: left;
}

.header_galley {
  display: flex;
  align-items: center;
  gap: 50px;
  position: absolute;
  right: -300px;
}

.expositions {
  position: relative;
  width: 100%;
  overflow-x: hidden;
}
.expositions_left {
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  height: 100%;

  background: #2a2a2a;
}
.expositions_right {
  position: absolute;
  right: 0;
  top: 0;
  width: 50%;
  height: 100%;
  background: rgb(205, 64, 64);
}

.expositions_wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.expositions_wrapper_left {
  width: 50%;
  padding-right: 80px;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
}

.expositions_wrapper_right {
  width: 50%;
  display: flex;
  height: 679px;
  align-items: center;
  justify-content: center;
  background: rgb(0, 0, 0);
  overflow: hidden;
}
.expositions_wrapper_right img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.expositions_wrapper_left h3 {
  margin-bottom: 58px;
  color: rgb(255, 255, 255);
  font-family: "Didot";
  font-size: 54px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 0%;
  text-align: left;
}
.expositions_wrapper_left h3 span {
  background: rgb(205, 64, 64);
  line-height: 100%;
  height: 65px;
}

.expositions_wrapper_left p {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: left;
}

.arriwals {
  background: url(/assets/images/arriwals-bg.png);
  background-size: cover;
  padding: 100px 0;
}

.arriwals_title h2 {
  color: rgb(255, 255, 255);
  font-family: "Didot";
  font-size: 54px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 0%;
  text-align: center;
  margin-bottom: 50px;
}

.arriwals_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.arriwals_grid_item_hidden {
  display: none;
}

.arriwals_grid_item {
  overflow: hidden;
  position: relative;
  border: 10px solid rgb(93, 93, 96);
  display: flex;
  align-items: center;
}

.arriwals_grid_item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.arriwals_grid_item_actions {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
  opacity: 0;
  visibility: hidden;
  transition: all 1s ease;
}
.arriwals_grid_item:hover .arriwals_grid_item_actions {
  opacity: 1;
  visibility: visible;
  transition: all 1s ease;
}

.arriwals_grid_item_actions h2 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 24px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: center;
}

.arriwals_grid_item_actions h4 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy800";
  font-size: 18px;
  font-weight: 800;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: center;
  margin: 24px 0 16px;
}

.card_remove_actions,
.card_add_actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  flex-direction: row;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.card_remove_actions p {
  color: rgb(255, 0, 0);
  font-family: "Gilroy400";
  font-size: 24px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: center;
  margin: 0;
  white-space: nowrap;
  flex-shrink: 0;
}

.card_add_actions p {
  color: rgb(255, 105, 21);
  font-family: "Gilroy400";
  font-size: 24px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: center;
  margin: 0;
  white-space: nowrap;
  flex-shrink: 0;
}

.card_remove_actions svg,
.card_add_actions svg,
.card_remove_actions img,
.card_add_actions img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.contacts_us {
  padding: 120px 0;
}

.contacts_us_wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.contacts_us_form {
  width: 48%;
  padding-left: 150px;
  background: rgb(20, 20, 20);
  height: 764px;
  display: flex;
  align-items: center;
  justify-content: start;
}

.contacts_us_form_form {
  max-width: 450px;
}
.contacts_us_form_form_title h3 {
  color: rgb(255, 255, 255);
  font-family: "Didot";
  font-size: 54px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 32px;
}

.contacts_us_form_form_title p {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 18px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 40px;
}

.input_item p {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 8px;
}

.input_item input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgb(62, 62, 62);
  height: 54px;
  background: transparent;
  outline: none;
  padding-left: 20px;
  color: #fff;
  font-family: "Gilroy400";
  font-size: 16px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0%;
  text-align: left;
}
.input_item input::placeholder {
  color: rgb(193, 193, 193);
}

.input_item {
  margin-bottom: 28px;
}

.phone_input .phone_inputs_wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.phone_input select {
  box-sizing: border-box;
  border: 1px solid rgb(62, 62, 62);
  width: 25%;
  height: 54px;
  background: transparent;
  padding-left: 16px;
  padding-right: 16px;
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: left;
  outline: none;
  cursor: pointer;
}
.phone_input select option {
  background: rgb(20, 20, 20);
  border: 1px solid rgb(62, 62, 62);
  cursor: pointer;
  border-radius: 0;
}

.phone_input div input {
  width: 100%;
}

/* Country Selector Styles */
.country-selector-wrapper {
  position: relative;
  width: 120px;
  flex-shrink: 0;
}

.country-selector-button {
  box-sizing: border-box;
  border: 1px solid rgb(62, 62, 62);
  width: 100%;
  height: 54px;
  background: transparent;
  padding: 0 16px;
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: left;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
}

.country-selector-flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 18px;
  flex-shrink: 0;
}

.country-flag-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2px;
}

.country-selector-code {
  flex: 1;
  text-align: left;
  min-width: 0;
}

.country-selector-arrow {
  width: 12px;
  height: 8px;
  color: rgb(255, 255, 255);
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.country-selector-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 280px;
  background: rgb(255, 255, 255);
  border: 1px solid rgb(200, 200, 200);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 1000;
}

.country-selector-dropdown.open {
  max-height: 400px;
  opacity: 1;
  visibility: visible;
}

.country-selector-button[aria-expanded="true"] .country-selector-arrow {
  transform: rotate(180deg);
}

.country-selector-search {
  width: 100%;
  box-sizing: border-box;
  border: none;
  border-bottom: 1px solid rgb(230, 230, 230);
  padding: 12px 16px;
  background: rgb(255, 255, 255);
  color: rgb(0, 0, 0);
  font-family: "Gilroy400";
  font-size: 14px;
  outline: none;
  display: block;
}

.country-selector-search::placeholder {
  color: rgb(150, 150, 150);
  opacity: 0.7;
}

.country-selector-list {
  max-height: 300px;
  overflow-y: auto;
}

.country-selector-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.2s ease;
  border-bottom: 1px solid rgb(240, 240, 240);
}

.country-selector-item:last-child {
  border-bottom: none;
}

.country-selector-item:hover {
  background: rgb(245, 245, 245);
}

.country-selector-item .country-flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 18px;
  flex-shrink: 0;
}

.country-selector-item .country-name {
  flex: 1;
  color: rgb(0, 0, 0);
  font-family: "Gilroy400";
  font-size: 14px;
  text-align: left;
}

.country-selector-item .country-code {
  color: rgb(100, 100, 100);
  font-family: "Gilroy400";
  font-size: 14px;
  flex-shrink: 0;
}

.country-selector-input {
  display: none;
}

.send_btn {
  box-sizing: border-box;
  border: 1px solid rgb(255, 105, 21);
  background: rgb(255, 105, 21);
  padding: 20px 33px 20px 33px;
  color: rgb(255, 255, 255);
  font-family: Montserrat;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0%;
  text-align: center;
  cursor: pointer;
  margin-top: 30px;
}

.contacts_us_img {
  width: 52%;
  height: 764px;
  object-fit: cover;
}

.pre_footer {
  padding-bottom: 120px;
}
.pre_footer_wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.location {
  background: rgb(255, 247, 226);
  padding: 60px;
  display: flex;
  flex-direction: column;
  align-items: start;
  height: 636px;
  justify-content: space-between;
}

.location_item_title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  opacity: 0.5;
}
.location_item_title h4 {
  color: rgb(0, 0, 0);
  font-family: "Didot";
  font-size: 24px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 0%;
  text-align: left;
}

.location_item p {
  color: rgb(0, 0, 0);
  font-family: "Gilroy400";
  font-size: 24px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 0%;
  text-align: left;
}

.closed {
  display: flex;
  align-items: center;
  gap: 12px;
}
.closed p {
  color: rgb(255, 0, 0);
  font-family: "Gilroy400";
  font-size: 24px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 0%;
  text-align: left;
}

.location_items {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.pre_footer_c_img {
  width: 100%;
  height: 636px;
  object-fit: cover;
}

.pre_footer_right_img {
  width: 100%;
  height: 318px;
  object-fit: cover;
}

.pre_footer_right {
  background: rgb(20, 20, 20);
}
.pre_footer_right_content {
  padding: 40px 24px 30px 40px;
}

.pre_footer_right_content_title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 35px;
}
.winter-sale-badge {
  position: relative;
  display: inline-block;
}
.winter-sale-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgb(255, 255, 255);
  font-family: "Gilroy400", sans-serif;
  font-size: 24px;
  font-weight: 400;
  white-space: nowrap;
}

.pre_footer_right_content_title h3 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy600";
  font-size: 32px;
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 0%;
  text-align: left;
}

.pre_footer_right_content p {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: left;
}

footer {
  border-top: 1px solid rgb(62, 62, 62);
  padding: 20px 0;
}
footer p {
  color: rgb(255, 255, 255);
  font-family: Manrope;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 2%;
  text-align: center;
}

/* order page */

.order_container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 70px 0 140px;
}
.order_container_title h1 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy600";
  font-size: 45px;
  font-weight: 500;
  line-height: 48px;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 40px;
}

.order_container_wrapper {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
}
#checkout-form {
  display: contents;
}

.order_form {
  width: 30%;
  box-sizing: border-box;
  border: 1px solid rgb(62, 62, 62);
  background: rgb(20, 20, 20);
  padding: 40px;
}


.input_item p span {
  color: rgb(255, 21, 21);
}

.input_item input::placeholder,
.input_item textarea::placeholder {
  color: rgb(193, 193, 193);
  opacity: 0.5;
}

.input_item textarea {
  box-sizing: border-box;
  border: 1px solid rgb(62, 62, 62);
  width: 100%;
  padding: 15px 20px 15px 20px;
  height: 101px;
  background: transparent;
  resize: none;
  outline: none;
  color: #fff;

  font-family: "Gilroy400";
  font-size: 16px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0%;
  text-align: left;
}

.order_calculating {
  width: 70%;
  box-sizing: border-box;
  border: 1px solid rgb(62, 62, 62);
  background: rgb(20, 20, 20);
  padding: 25px;
}

.order_calculating h3 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy600";
  font-size: 28px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 25px;
}

.orders_list_item_img img {
  width: 70px;
  height: 70px;
  object-fit: cover;
}

.orders_list_item_desc div h5 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy600";
  font-size: 16px;
  font-weight: 500;
  line-height: 21px;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 5px;
}

.orders_list_item_desc div p {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 14px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0%;
  text-align: left;
}

.orders_list_item {
  display: flex;
  align-items: start;
  gap: 15px;
}
.orders_list_item_content {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0;
}
.orders_list_item_row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 15px;
  width: 100%;
}
.orders_list_item_desc {
  display: flex;
  align-items: start;
  flex: 1;
}
.orders_list_item_price {
  flex-shrink: 0;
}

.orders_list_item_price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 17px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0%;
  text-align: right;
}

.orders_list_item {
  margin-bottom: 25px;
}

.orders_list_item_description {
  width: 100%;
}

/* Стили для сворачиваемого описания */
.description-wrapper {
  width: 100%;
  margin-top: 10px;
}

.description-content {
  color: white;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
  position: relative;
  font-family: "Gilroy400";
}

.description-collapsed {
  max-height: 3.6em; /* Примерно 2 строки (1.8em * 2) */
  line-height: 1.8em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}

.description-expanded {
  max-height: 5000px; /* Большое значение для полного раскрытия */
  -webkit-line-clamp: unset;
  line-clamp: unset;
  display: block;
  -webkit-box-orient: unset;
}

.description-toggle {
  background: transparent;
  border: none;
  color: rgb(255, 105, 21);
  font-family: "Gilroy400";
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  padding: 5px 0;
  margin-top: 5px;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.description-toggle:hover {
  color: rgb(237, 85, 0);
}

.description-toggle:focus {
  outline: none;
}
.order_total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 26px;
  gap: 15px;
}

.order_total h4 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: left;
}

.order_total p {
  color: rgb(255, 255, 255);
  font-family: "Gilroy600";
  font-size: 19px;
  font-weight: 600;
  line-height: 26px;
  letter-spacing: 0%;
  text-align: left;
}

.order_total div {
  width: 60%;
  border: 1px dashed rgb(209, 209, 209);
  opacity: 0.3;
}

.order_calculating_title h3 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 20px;
}

.radio_option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.radio_option input {
  width: 21px;
  height: 21px;
  cursor: pointer;
}
.radio_option p {
  color: rgb(255, 255, 255);
  opacity: 0.7;

  font-family: "Gilroy400";
  font-size: 15px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0%;
  text-align: left;
}

.radio_option_sec {
  padding-left: 30px;
}
.radio_optios_list {
  margin-bottom: 20px;
}
.mt_25 {
  margin-top: 25px;
}
.order_policy {
  display: flex;
  align-items: start;
  gap: 10px;
  margin-top: 25px;
  margin-bottom: 25px;
}
.order_policy input {
  width: 22px;
  height: 22px;
  cursor: pointer;
}

.order_policy p,
.order_policy a {
  color: rgb(255, 255, 255, 0.7);
  font-family: "Gilroy400";
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0%;
  text-align: left;
}
.order_policy a {
  text-decoration: underline;
}
.error_message {
  margin-top: 5px;
  display: none;
}
.error_message span {
  color: red;
  font-family: Gilroy400;
  font-size: 13px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: left;
}
.order_submit {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
}

.success_contact_form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.success_contact_form h4 {
  color: rgb(255, 255, 255);
  font-family: "Gilroy600";
  font-size: 35px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
}

.success_contact_form p {
  color: rgb(255, 255, 255);
  font-family: "Gilroy400";
  font-size: 17px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
}
.hidden {
  display: none;
}

button {
  transition: all 0.4s ease;
}

.send_btn:hover {
  transition: all 0.4s ease;
  border: 1px solid rgb(255, 105, 21);
  background: rgb(237, 85, 0);
}

footer .nav_contacts {
  display: none;
}

@media only screen and (max-width: 1720px) {
  .nav_wrapper {
    padding-right: 40px;
  }
  .header_content h1 {
    font-size: 60px;
  }
}

@media only screen and (max-width: 1500px) {
  .header_content h1 {
    font-size: 50px;
  }
  .header_content {
    width: 48%;
  }

  .order_container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (max-width: 1000px) {
  .order_container_wrapper {
    flex-direction: column;
  }
  .order_form,
  .order_calculating {
    width: 100%;
  }
  .header_wrapper {
    flex-direction: column-reverse;
  }
  .header_content {
    width: 100%;
    gap: 40px;
  }
  .header_galley {
    position: static;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .expositions_wrapper {
    flex-direction: column-reverse;
    padding: 0;
    padding-top: 50px;
  }
  .expositions_wrapper_left,
  .expositions_wrapper_right {
    width: 100%;
  }
  .expositions_left {
    width: 100%;
    height: 50%;
    bottom: 0;
    top: auto;
  }
  .expositions_right {
    top: 0;
    width: 100%;
    height: 50%;
  }
  .expositions_wrapper_left {
    padding: 40px 15px;
  }
  .contacts_us_wrapper {
    flex-direction: column-reverse;
    padding: 0;
  }
  .contacts_us {
    padding: 0;
  }
  .contacts_us_form,
  .contacts_us_img {
    width: 100%;
    height: auto;
  }
  .contacts_us_form {
    padding: 40px 15px;
  }
  .contacts_us_form_form {
    max-width: none;
    width: 100%;
  }
  .pre_footer_wrapper {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    padding-right: 0;
  }
  .location {
    height: auto;
    gap: 32px;
    padding: 40px 16px;
  }
  .pre_footer_c_img,
  .pre_footer_right_img {
    height: auto;
  }
}

.show_more_btn_wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
.show_more_btn {
  background: transparent;
  box-sizing: border-box;
  border: 1px solid rgb(255, 105, 21);
  padding: 20px 36px 20px 36px;
  color: rgb(255, 105, 21);
  font-family: Montserrat;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0%;
  text-align: center;
  display: none;
}

@media only screen and (max-width: 600px) {
  .arriwals_grid_list_hidden {
    display: none;
  }
  .show_more_btn {
    display: block;
  }
  .header_content {
    height: auto;
    padding: 24px 16px 24px 16px;
    background: rgba(0, 0, 0, 0.5);
    gap: 0;
    margin-top: 40px;
  }
  br {
    display: none;
  }
  .header_content h1 {
    font-size: 32px;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0%;
    margin-bottom: 12px;
  }
  .header_content p {
    font-size: 15px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0%;
  }
  .nav_contacts {
    display: none;
  }
  nav {
    padding: 16px 0;
  }
  .nav_wrapper {
    padding: 0 16px;
  }
  .nav_logo {
    display: flex;
    align-items: center;
  }
  .nav_logo img {
    width: 52px;
  }
  .nav_bag svg {
    width: 20px;
    height: auto;
  }
  .nav_bag_count {
    right: -10px;
  }
  .header_galley {
    gap: 10px;
    padding: 0 16px;
  }
  .header_galley img {
    width: 50%;
  }
  .expositions_wrapper_right {
    height: 360px;
  }
  .expositions_wrapper_left h3 {
    font-size: 24px;
    font-weight: 400;
    line-height: 120%;
    margin-bottom: 31px;
  }

  .expositions_wrapper_left p {
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
  }
  .arriwals {
    padding: 40px 0;
  }
  .arriwals .container {
    padding-left: 5px;
    padding-right: 5px;
  }
  .arriwals_title h2 {
    font-size: 24px;
    font-weight: 400;
    line-height: 120%;
    margin-bottom: 24px;
  }
  .arriwals_grid {
    display: flex;
    flex-direction: column;
  }

  .contacts_us_form {
    padding: 24px 15px 40px;
  }

  .contacts_us_form_form_title h3 {
    font-size: 24px;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: 0%;
    margin-bottom: 12px;
  }

  .contacts_us_form_form_title p {
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0%;
    margin-bottom: 24px;
  }
  .send_btn {
    margin-top: 0;
  }
  .location_item p {
    font-size: 18px;
    font-weight: 400;
    line-height: 120%;
  }
  .pre_footer_right {
    display: flex;
    flex-direction: column-reverse;
  }
  .pre_footer_right_content {
    padding: 40px 16px;
  }
  .pre_footer_right_content_title {
    margin-bottom: 24px;
  }

  .pre_footer_right_content p {
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0%;
  }
  .pre_footer {
    padding-bottom: 0;
  }
  footer p {
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 2%;
    max-width: 247px;

    margin: 0 auto;
  }

  footer .nav_contacts {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
  }

  footer .nav_contacts p {
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 2%;
    max-width: 100%;
  }

  .order_container {
    padding: 40px 15px 70px;
  }

  .order_container_title h1 {
    font-size: 24px;
    font-weight: 500;
    line-height: 31px;
    letter-spacing: 0%;
    margin-bottom: 24px;
  }
  .order_form {
    padding: 40px 15px;
  }
  .input_item {
    margin-bottom: 24px;
  }
  .order_form .input_item:nth-child(7) {
    margin-bottom: 0;
  }
  .orders_list_item_desc {
    flex-direction: column;
    gap: 5px;
  }
  .order_total div {
    width: 48%;
  }
  .phone_input select {
    width: 28%;
  }
  .country-selector-wrapper {
    width: 100px;
    min-width: 100px;
  }
  .country-selector-dropdown {
    width: 240px;
  }

  .arriwals_grid_item_actions {
    position: static;
    opacity: 1;
    visibility: visible;
    background: transparent;
    padding: 20px 15px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .arriwals_grid_item {
    flex-direction: column;
  }
  .arriwals_grid_item {
    border: none;
  }
  .arriwals_grid_item_img {
    border: 10px solid rgb(93, 93, 96);
  }
  .arriwals_grid_item_actions h2 {
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0%;
    text-align: left;
    width: 100%;
    margin-bottom: 16px;
  }
  .arriwals_grid_item_actions h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    line-height: 28px;
    letter-spacing: 0%;
    text-align: left;
  }
}

/* Product Modal Styles */
.product-item--popup {
	display: none;
	position: fixed;
	z-index: 10000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.5);
}
.product-item--popup.visible {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgb(0 0 0 / 30%);
	backdrop-filter: blur(10px);
}
.product-item--popup_content {
	background: #f0f0f0;
	margin: auto;
	padding: 30px;
	max-width: 928px;
	display: flex;
	column-gap: 40px;
	color: #1a1a1a;
	font-family: Gilroy400;
	position: relative;
	border: 1px solid rgba(0, 0, 0, 0.08);
}
.product-item--popup_content .close {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	right: 8px;
	top: 8px;
	font-family: 'Gilroy400';
	font-size: 40px;
	font-weight: 100;
	height: 20px;
	width: 20px;
	line-height: 1;
	cursor: pointer;
	color: #555;
	z-index: 10;
}
.product-item--popup_data,
.product-item--popup_meta {
	display: flex;
	flex-direction: column;
	row-gap: 22px;
}
.product-item--popup_meta > div {
	color: #5c5c5c;
	font-family: Gilroy400;
	font-size: 22px;
	font-style: normal;
}
.product-item--popup_content h2 {
	font-size: 42px;
	font-style: normal;
	font-family: Gilroy600;
	color: #1a1a1a;
}
.product-item--popup_content p {
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	color: #333;
}
.product-item--popup_item_img-cont {
	flex: 1 0 408px;
	max-width: 408px;
}
.product-item--popup_item_img-cont img {
	max-width: 100%;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.product-item--popup_content .card_remove_actions,
.product-item--popup_content .card_add_actions {
	display: inline-flex;
	color: #fff;
	font-family: Gilroy400;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%;
	padding: 20px 36px;
	align-self: flex-start;
	gap: 10px;
	justify-content: center;
	align-items: center;
	min-width: 225px;
	height: 60px;
	text-decoration: none;
	flex-direction: row;
	flex-wrap: nowrap;
	white-space: nowrap;
}
.product-item--popup_content .card_remove_actions svg,
.product-item--popup_content .card_add_actions svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.product-item--popup_content .card_remove_actions span,
.product-item--popup_content .card_add_actions span {
	white-space: nowrap;
	flex-shrink: 0;
}
.product-item--popup_content .card_add_actions {
	border: 1px solid #FF6915;
	background: #FF6915;
	transition: all .3s ease;
}
.product-item--popup_content .card_remove_actions {
	border: 1px solid rgb(255, 0, 0);
	background: rgb(255, 0, 0);
	transition: all .3s ease;
}
.product-item--popup_content .card_add_actions:hover {
	box-shadow: 0 0 6px 3px rgb(255 105 21 / 50%);
	transition: all .3s ease;
}
.product-item--popup_content .card_add_actions:disabled,
.product-item--popup_content .card_add_actions.disabled {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}
.product-item--popup_content .card_add_actions:disabled:hover,
.product-item--popup_content .card_add_actions.disabled:hover {
	box-shadow: none;
}
.card_add_actions.no-events {
	pointer-events: none;
}

/* Страница одной машины: блок аренды в потоке, без оверлея */
.er-car-show-hero__img {
	background: #ececec;
	overflow: hidden;
}
.er-car-show-hero__img-el {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}
.er-car-show-title {
	font-family: Gilroy600, sans-serif;
	color: #fff;
}
.er-car-show-booking .product-item--popup {
	display: flex !important;
	position: static;
	z-index: auto;
	left: auto;
	top: auto;
	width: 100%;
	height: auto;
	overflow: visible;
	background: transparent;
	align-items: stretch;
	justify-content: flex-start;
}
.er-car-show-booking .product-item--popup.visible {
	display: flex !important;
	background: transparent;
	backdrop-filter: none;
}
.er-car-show-booking .product-item--popup_content {
	margin: 0;
	max-width: none;
	width: 100%;
	flex-direction: column;
	background: transparent;
	border: none;
	color: #1a1a1a;
}
@media (min-width: 992px) {
	.er-car-show-booking .product-item--popup_content {
		flex-direction: row;
		align-items: flex-start;
	}
}
/* Картинка в карточке на странице объекта скрыта — row оставлял .popup_data узким (~половина). Колонка + 100% ширины. */
.er-car-show-booking .product-item--popup_content {
	flex-direction: column !important;
	align-items: stretch;
	width: 100%;
}
.er-car-show-booking .product-item--popup_data {
	width: 100%;
	max-width: 100%;
	flex: 1 1 auto;
	min-width: 0;
	align-self: stretch;
	box-sizing: border-box;
}
.er-car-show-booking .product-item--popup_content .close {
	display: none !important;
}
.er-car-show-booking .product-item--popup_item_img-cont,
.er-car-show-booking .product-item--popup_data > h2,
.er-car-show-booking .product-item--popup_meta .short_desc {
	display: none !important;
}
.er-car-inline-modal.er-car-inline-modal {
	pointer-events: auto;
}

/* Страница машины: общий блок оформления (#f6f6f6), подблоки прозрачные */
#er-car-checkout-panel.er-car-checkout-shell {
	background: #f6f6f6;
	border-radius: 12px;
	padding: 1.25rem 1.25rem 1.5rem;
	color: #212529;
	border: 1px solid rgba(0, 0, 0, 0.06);
}
@media (min-width: 992px) {
	#er-car-checkout-panel.er-car-checkout-shell {
		padding: 1.5rem 1.75rem 2rem;
	}
}
.er-car-checkout-main-title {
	font-family: Gilroy600, sans-serif;
	color: #1a1a1a;
}
/* Плашка под табами (бесплатная отмена за 48 ч) */
.alert-success {
	background: rgba(0, 128, 0, 0.1);
	border: none;
	border-left: 3px solid green;
	border-radius: 0;
}
#er-car-checkout-panel .alert-success.er-car-checkout-hint {
	color: #1a4d1a;
	font-size: 14px;
	line-height: 1.45;
	padding: 12px 14px;
	font-family: Gilroy400, sans-serif;
	margin: 0;
}
/* Второй шаг: отступ сверху больше, чем визуальный зазор у первого (календарь после плашки) */
#er-car-checkout-panel #er-car-tab-payment {
	margin-top: 2.25rem;
}
@media (min-width: 768px) {
	#er-car-checkout-panel #er-car-tab-payment {
		margin-top: 2.75rem;
	}
}
.er-car-tab-panel-inner--transparent {
	background: transparent !important;
	box-shadow: none !important;
}
/* Табы-шаги (как референс): не кликабельны */
.navigation-bar.er-car-step-nav {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0;
	margin-bottom: 1.25rem;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.12);
}
.er-car-step-nav .item {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: #e8eef5;
	color: var(--h1-navy);
	font-family: Montserrat, sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.25;
	pointer-events: none;
	user-select: none;
	min-width: 0;
}
@media (min-width: 768px) {
	.er-car-step-nav .item {
		font-size: 15px;
		padding: 16px 20px;
	}
}
.er-car-step-nav .item + .item {
	border-left: 1px solid rgba(30, 58, 95, 0.12);
}
.er-car-step-nav .item .num {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 800;
	background: rgba(30, 58, 95, 0.12);
	color: var(--h1-navy);
}
.er-car-step-nav .item.checked {
	background: var(--h1-footer-bg) !important;
	background-color: var(--h1-footer-bg) !important;
	color: #fff;
}
/* Номер шага: без «жёлтого золота» — в тон плашке */
.er-car-step-nav .item.checked .num {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}
body.h1-site.er-page-car .navigation-bar.er-car-step-nav .item.checked {
	background: var(--h1-footer-bg) !important;
	background-color: var(--h1-footer-bg) !important;
}
body.h1-site.er-page-car .navigation-bar.er-car-step-nav .item.checked .num {
	background: rgba(255, 255, 255, 0.2) !important;
	color: #fff !important;
}
.er-car-step-nav .item .name {
	min-width: 0;
}
.er-car-step-actions {
	margin-top: 1rem;
}
.er-car-step-next.btn {
	width: 100%;
	max-width: 320px;
	padding: 14px 24px;
	font-family: Gilroy600, sans-serif;
	font-weight: 600;
	font-size: 16px;
	border-radius: 8px;
	border: none;
	background: var(--h1-footer-bg) !important;
	background-color: var(--h1-footer-bg) !important;
	color: #fff;
	/* Bootstrap 5.3: кнопка тянет --bs-btn-* — выравниваем с футером */
	--bs-btn-bg: var(--h1-footer-bg);
	--bs-btn-border-color: var(--h1-footer-bg);
	--bs-btn-hover-bg: var(--h1-navy);
	--bs-btn-hover-border-color: var(--h1-navy);
	--bs-btn-active-bg: var(--h1-navy);
	--bs-btn-active-border-color: var(--h1-navy);
	--bs-btn-color: #fff;
	--bs-btn-hover-color: #fff;
	--bs-btn-active-color: #fff;
}
.er-car-step-next.btn:hover {
	background: var(--h1-navy) !important;
	background-color: var(--h1-navy) !important;
	color: #fff;
}
/* Continue: перебиваем .btn (в т.ч. Bootstrap) — строго цвет футера */
body.h1-site.er-page-car .er-car-step-next.btn,
body.h1-site.er-page-car #er-car-step-next,
body.h1-site.er-page-car #er-car-step-next-services {
	--bs-btn-bg: var(--h1-footer-bg) !important;
	--bs-btn-border-color: var(--h1-footer-bg) !important;
	background: var(--h1-footer-bg) !important;
	background-color: var(--h1-footer-bg) !important;
	background-image: none !important;
	color: #fff !important;
	border-color: var(--h1-footer-bg) !important;
}
body.h1-site.er-page-car .er-car-step-next.btn:hover,
body.h1-site.er-page-car #er-car-step-next:hover,
body.h1-site.er-page-car #er-car-step-next-services:hover {
	--bs-btn-hover-bg: var(--h1-navy) !important;
	--bs-btn-hover-border-color: var(--h1-navy) !important;
	background: var(--h1-navy) !important;
	background-color: var(--h1-navy) !important;
	color: #fff !important;
	border-color: var(--h1-navy) !important;
}
.er-page-car #er-car-checkout-panel h2.h4,
.er-page-car #er-car-checkout-panel h3,
.er-page-car #er-car-checkout-panel .er-car-checkout-heading {
	color: #212529;
}
/* Сводка заказа на всю ширину над колонками (подпись строкой, значение с новой строки — как блок метрик на главной) */
#er-car-checkout-panel.er-car-checkout-shell .order_container_wrapper.er-car-checkout-form-wrapper {
	flex-wrap: wrap;
	align-items: stretch;
}
#er-car-checkout-panel .er-car-checkout-summary-strip {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	margin: 0 0 1.25rem;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
/* Промежуточный расчёт: меньше кегль, больше горизонтальных отступов; жир — только шапка и итог */
.er-page-car #er-car-checkout-panel .er-car-order-lines-table {
	font-size: 0.8125rem;
	line-height: 1.4;
}
.er-page-car #er-car-checkout-panel .er-car-order-lines-table thead th {
	font-weight: 700;
	font-size: 0.75rem;
	padding: 0.5rem 1rem 0.6rem;
	vertical-align: bottom;
	letter-spacing: 0.02em;
}
.er-page-car #er-car-checkout-panel .er-car-order-lines-table tbody td {
	font-size: 0.8125rem;
	padding: 0.5rem 1rem;
	font-weight: 400;
}
.er-page-car #er-car-checkout-panel .er-car-order-lines-table tbody tr.er-order-lines-total td {
	font-weight: 700;
}
/* Одна строка (только авто) — итог в последней ячейке, без отдельного ряда */
.er-page-car #er-car-checkout-panel .er-car-order-lines-table tbody tr:only-of-type td:last-child {
	font-weight: 700;
}
#er-car-checkout-panel .er-car-checkout-kv-grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1.1rem 1.75rem;
}
#er-car-checkout-panel .er-car-checkout-kv {
	flex: 0 1 auto;
	min-width: 100px;
	max-width: 100%;
}
#er-car-checkout-panel .er-car-checkout-kv__label {
	display: block;
	font-size: 0.72rem;
	line-height: 1.35;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(33, 37, 41, 0.55);
	margin-bottom: 0.35rem;
	font-family: Gilroy600, sans-serif;
}
#er-car-checkout-panel .er-car-checkout-kv__value {
	display: block;
	font-family: Gilroy600, sans-serif;
	font-size: 1.05rem;
	line-height: 1.3;
	color: #1a1a1a;
	word-break: break-word;
}
.er-page-car #er-car-checkout-panel .order_form,
.er-page-car #er-car-checkout-panel .order_calculating {
	width: 100%;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
}
.er-page-car #er-car-checkout-panel .order_calculating {
	margin-top: 1rem;
}
/* Две колонки в ряд: личные данные | оплата (как на общем checkout; справа — остаток после gap) */
@media only screen and (min-width: 1001px) {
	.er-page-car #er-car-checkout-panel .order_form {
		flex: 0 0 30%;
		width: 30%;
		max-width: 30%;
		min-width: 0;
	}
	.er-page-car #er-car-checkout-panel .order_calculating {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		margin-top: 0;
		align-self: flex-start;
	}
}
.er-page-car #er-car-checkout-panel .order_form .input_item > p {
	color: #495057;
}
.er-page-car #er-car-checkout-panel .order_form .input_item input {
	background: #fff;
	border: 1px solid #ced4da;
	color: #212529;
}
.er-page-car #er-car-checkout-panel .er-car-payment-method-selection {
	margin-bottom: 1.5rem;
}
.er-page-car #er-car-checkout-panel .er-car-payment-method-selection__heading {
	margin: 0 0 10px;
	font-family: Gilroy600, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	color: #212529 !important;
}
.er-page-car #er-car-checkout-panel .er-car-payment-method-radios {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
}
.er-page-car #er-car-checkout-panel .er-car-checkout-pay-label {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	font-family: Gilroy400, sans-serif;
	font-size: 13px !important;
	line-height: 1.35;
	gap: 8px;
	margin: 0;
	color: #495057 !important;
}
.er-page-car #er-car-checkout-panel .er-car-checkout-pay-label span {
	margin-left: 0 !important;
}
.er-page-car #er-car-checkout-panel .payment-method-radio {
	border-color: #6c757d;
}
.er-page-car #er-car-checkout-panel .payment-method-radio:checked {
	border-color: #212529;
}
.er-page-car #er-car-checkout-panel .payment-method-radio:checked::after {
	background: #212529;
}
.er-page-car #er-car-checkout-panel .order_policy p,
.er-page-car #er-car-checkout-panel .order_policy a {
	color: #495057;
}
.er-page-car #er-car-checkout-panel .p-FieldLabel {
	color: #495057 !important;
}
.er-page-car #er-car-checkout-panel #card-number-element,
.er-page-car #er-car-checkout-panel #card-expiry-element,
.er-page-car #er-car-checkout-panel #card-cvc-element {
	background: #fff;
	border: 1px solid #ced4da;
	border-radius: 6px;
}
.er-page-car #er-car-checkout-panel .er-car-checkout-monei-hint {
	color: rgba(33, 37, 41, 0.88);
}
/* Страница машины: Back и Place order в один ряд; Back — зеркало Place order */
.er-page-car #er-car-checkout-panel .order_submit.er-car-order-submit {
	flex-direction: column;
	align-items: stretch;
	width: 100%;
}
.er-page-car #er-car-checkout-panel .er-car-order-submit .er-car-order-buttons {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 16px;
	width: 100%;
}
@media (max-width: 767.98px) {
	.er-page-car #er-car-checkout-panel .er-car-order-submit .er-car-order-buttons {
		flex-direction: column;
		gap: 12px;
	}
}
.er-page-car #er-car-checkout-panel .er-car-order-buttons #er-car-step-back-payment,
.er-page-car #er-car-checkout-panel .er-car-order-buttons #place_order {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	max-width: none;
}
@media (max-width: 767.98px) {
	.er-page-car #er-car-checkout-panel .er-car-order-buttons #er-car-step-back-payment,
	.er-page-car #er-car-checkout-panel .er-car-order-buttons #place_order {
		flex: none;
		width: 100% !important;
	}
}
/* Назад: текст без иконки (тот же ключ, что на шаге услуг) */
.er-page-car #er-car-checkout-panel .er-car-order-buttons .er-car-step-back,
.er-page-car #er-car-checkout-panel .er-car-step-actions--split .er-car-step-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 56px;
	padding: 0 1.5rem;
	margin: 0;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 8px;
	background: #fff;
	color: #1a1a1a;
	font-family: Gilroy600, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.er-page-car #er-car-checkout-panel .er-car-order-buttons .er-car-step-back:hover,
.er-page-car #er-car-checkout-panel .er-car-step-actions--split .er-car-step-back:hover {
	background: #f4f4f4;
	border-color: rgba(0, 0, 0, 0.22);
}
.er-page-car #er-car-checkout-panel .er-car-order-buttons .er-car-step-back:focus-visible,
.er-page-car #er-car-checkout-panel .er-car-step-actions--split .er-car-step-back:focus-visible {
	outline: 2px solid rgba(0, 0, 0, 0.22);
	outline-offset: 2px;
}
/* Кнопка заказа на странице объекта: палитра hotel1 (navy + gold) */
body.er-page-car #er-car-checkout-panel .er-car-order-buttons #place_order .place_order_text {
	background: #fff;
	color: var(--h1-navy);
	border: 1px solid rgba(30, 58, 95, 0.2);
	border-right: none;
}
body.er-page-car #er-car-checkout-panel .er-car-order-buttons #place_order .place_order_arrow {
	background: var(--h1-footer-bg);
	color: #fff;
}
body.er-page-car #er-car-checkout-panel .er-car-order-buttons #place_order .place_order_arrow svg path {
	stroke: currentColor;
}
body.er-page-car #er-car-checkout-panel .er-car-order-buttons #place_order:hover .place_order_text {
	background: #f4f7fb;
}
body.er-page-car #er-car-checkout-panel .er-car-order-buttons #place_order:hover .place_order_arrow {
	background: var(--h1-navy);
	color: #fff;
}

/* Rental dates selection styles */
.rental_dates_selection {
	margin: 20px 0;
}
/* У .row у Bootstrap отрицательные margin по горизонтали — без внутреннего padding родитель кажется «уже», ряд вылезает */
.rental_dates_selection.rental_dates_selection--range {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
@media (min-width: 992px) {
	.rental_dates_selection.rental_dates_selection--range {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}
.rental_dates_selection--range .rental_dates_layout.row {
	max-width: 100%;
	box-sizing: border-box;
}
/* Шаг с датами и блок выбора периода на всю ширину панели */
body.er-page-car #er-car-checkout-panel #er-car-tab-dates .er-car-show-booking {
	width: 100%;
	max-width: 100%;
}
.rental_summary_panel {
	width: 100%;
	min-width: 0;
	padding: 1.15rem 1.35rem;
	background: #fff;
	border: 1px solid rgba(30, 58, 95, 0.12);
	border-radius: 10px;
	box-shadow: 0 2px 12px rgba(30, 58, 95, 0.06);
}
/* На странице объекта ограничиваем карточку сводки, чтобы строки не тянулись слишком широко */
body.er-page-car .rental_dates_selection--range .rental_summary_panel {
	max-width: 20rem;
}
@media (min-width: 576px) {
	body.er-page-car .rental_dates_selection--range .rental_summary_panel {
		max-width: 22rem;
	}
}
@media (min-width: 992px) {
	.rental_summary_panel {
		padding: 1.35rem 1.5rem;
	}
	body.er-page-car .rental_dates_selection--range .rental_summary_panel {
		max-width: 23rem;
	}
}
@media (min-width: 1200px) {
	.rental_summary_panel {
		padding: 1.4rem 1.65rem;
	}
}
.rental_summary_panel .rental_days_info {
	margin-bottom: 0.75rem;
}
/* Компактный мини-календарь: ширина колонки bootstrap большая — без max-width ячейки с aspect-ratio 1 раздуваются */
.rental_range_calendar {
	position: static;
	display: block;
	width: 100%;
	max-width: 300px;
	margin-left: 0;
	background: #fff;
	border: 1px solid rgba(30, 58, 95, 0.12);
	border-radius: 10px;
	padding: 0.75rem 0.85rem 0.9rem;
	box-shadow: 0 2px 12px rgba(30, 58, 95, 0.06);
	box-sizing: border-box;
}
.rental_range_calendar .custom_date_days_grid {
	gap: 4px;
}
.rental_range_calendar .custom_date_day {
	font-size: 0.8125rem;
	padding: 0;
}
.rental_range_calendar .custom_date_weekdays span {
	font-size: 10px;
	padding: 2px 0;
}
.rental_range_calendar__header.custom_date_selector_header {
	margin-bottom: 8px;
}
.rental_range_calendar .custom_date_month_year {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--h1-navy);
	text-transform: capitalize;
}
.rental_range_calendar .custom_date_selector_header button {
	color: var(--h1-navy);
	border-radius: 6px;
	font-size: 1.1rem;
	padding: 2px 8px;
	line-height: 1;
}
.rental_range_calendar .custom_date_selector_header button:hover {
	background: rgba(184, 134, 11, 0.15);
	color: var(--h1-navy-dark);
}
.rental_range_calendar .custom_date_day.in_period {
	background: rgba(30, 58, 95, 0.1);
	color: var(--h1-navy);
}
.rental_range_calendar .custom_date_day.in_period.period_start,
.rental_range_calendar .custom_date_day.in_period.period_end {
	background: var(--h1-navy);
	color: #fff;
	font-weight: 700;
}
.rental_range_calendar .custom_date_day.today:not(.in_period) {
	border-color: var(--h1-gold);
}
.rental_date_fields {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	margin-bottom: 15px;
}
.rental_date_fields > div {
	flex: 1;
	min-width: 200px;
}
.rental_date_field_wrapper {
	position: relative;
	flex: 1;
	min-width: 200px;
}
.rental_date_fields label {
	display: block;
	margin-bottom: 8px;
	font-weight: bold;
	color: #333;
	font-family: Gilroy400;
	font-size: 16px;
}
.rental_date_fields input[type="date"] {
	width: 100%;
	padding: 10px;
	font-size: 16px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	color: #000;
	font-family: Gilroy400;
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	pointer-events: none;
}
.rental_date_button {
	width: 100%;
	padding: 10px 40px 10px 10px;
	font-size: 16px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	color: #000;
	font-family: Gilroy400;
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	position: relative;
}
.rental_date_button_text {
	flex: 1;
}
.rental_date_button_icon {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #666;
	flex-shrink: 0;
}
.rental_date_button:hover {
	border-color: #999;
}
.rental_date_button:hover .rental_date_button_icon {
	color: #000;
}
.rental_date_button:active {
	background: #f5f5f5;
}
.rental_date_field_wrapper {
	position: relative;
}
/* Custom date selector styles */
.custom_date_selector {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 15px;
	box-sizing: border-box;
	z-index: 10000;
	display: none;
	margin-top: 5px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.custom_date_selector.visible {
	display: block !important;
}
.custom_date_selector_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}
.custom_date_selector_header button {
	background: transparent;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: #000;
	padding: 5px 10px;
	transition: color 0.2s;
}
.custom_date_selector_header button:hover {
	color: #333;
}
.custom_date_selector_header button:disabled {
	color: #ccc;
	cursor: not-allowed;
}
.custom_date_month_year {
	font-weight: bold;
	font-size: 16px;
	color: #000;
	font-family: Gilroy400;
}
.custom_date_weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 3px;
	margin-bottom: 8px;
}
.custom_date_weekdays span {
	text-align: center;
	font-size: 11px;
	font-weight: bold;
	color: #666;
	font-family: Gilroy400;
	padding: 3px 2px;
}
.custom_date_days_grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 5px;
}
.custom_date_day {
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	color: #000;
	font-family: Gilroy400;
	transition: all 0.2s;
	background: transparent;
	font-weight: 400;
}
.custom_date_day:hover:not(.disabled):not(.selected) {
	background: #f0f0f0;
	border-color: #ccc;
}
.custom_date_day.selected {
	background: #333;
	color: #fff;
	border-color: #333;
	font-weight: bold;
}
.custom_date_day.disabled {
	color: #ccc;
	cursor: not-allowed;
	opacity: 0.5;
	font-weight: 300;
}
.custom_date_day.other_month {
	color: #000000;
	font-weight: 300;
}
.custom_date_day.today {
	border-color: #666;
	font-weight: bold;
	color: #000;
}
.custom_date_day:not(.disabled):not(.other_month):not(.selected) {
	color: #000;
	font-weight: 400;
}
.custom_date_day.in_period {
	background: #e5e5e5;
	color: #000;
}
.custom_date_day.in_period.period_start {
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}
.custom_date_day.in_period.period_end {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}
.custom_date_day.in_period.selected {
	background: #333;
	color: #fff;
}
.rental_days_count {
	font-weight: bold;
	color: #333;
	font-family: Gilroy400;
}
.rental_price_display {
	font-size: 18px;
	font-weight: bold;
	color: #333;
	font-family: Gilroy400;
}
.total_rental_price {
	color: #1a1a1a;
	font-size: 20px;
}

@media only screen and (max-width: 767.99px) {
	.product-item--popup_content {
		flex-direction: column;
		max-width: 90%;
		justify-content: space-between;
		row-gap: 15px;
		padding: 20px;
	}
	.product-item--popup_content h2 {
		font-size: 26px;
	}
	.product-item--popup_data,
	.product-item--popup_meta {
		row-gap: 10px;
	}
	.product-item--popup_meta > div {
		font-size: 16px;
	}
	.product-item--popup_content p {
		font-size: 14px;
	}
	.product-item--popup_content .card_remove_actions,
	.product-item--popup_content .card_add_actions {
		padding: 12px 20px;
		min-width: 195px;
	}
	.product-item--popup_item_img-cont {
		flex: 1 0 auto;
		max-width: 100%;
	}
	.product-item--popup_item_img-cont img {
		max-height: 200px;
	}
	.product-item--popup_content .close {
		right: 1px;
		top: 3px;
		font-size: 26px;
	}
}

/* Stripe Payment Styles */
.payment_box {
	margin-top: 20px;
}

.payment_method_stripe_cc label {
	cursor: pointer;
}

/* Stripe Payment Form Styles */
.wc_payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wc_payment_method {
	margin-bottom: 0;
}

.wc_payment_method label {
	display: flex;
	align-items: center;
	gap: 10px;
	color: rgb(255, 255, 255);
	font-family: "Gilroy400";
	font-size: 15px;
	font-weight: 400;
	cursor: pointer;
	margin-bottom: 16px;
}

.wc-stripe-card-icons-container {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.wc-stripe-card-icon {
	width: 32px;
	height: 20px;
	object-fit: contain;
}

.payment_box {
	background: rgb(30, 30, 30);
	border: 1px solid rgb(62, 62, 62);
	padding: 20px;
	margin-top: 10px;
	border-radius: 4px;
}

.wc-stripe_cc-container {
	width: 100%;
}

/* Stripe Card Form Styles (как в WooCommerce) */
.stripe-card-form {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.stripe-card-row {
	display: flex;
	gap: 15px;
	width: 100%;
}

.stripe-card-field {
	box-sizing: border-box;
	border: 1px solid rgb(62, 62, 62);
	padding: 0;
	background: rgb(20, 20, 20);
	border-radius: 4px;
	color: #fff;
	font-family: "Gilroy400";
	font-size: 16px;
	min-height: 54px;
	display: block;
	position: relative;
}

/* Стили для Stripe Elements (как в WooCommerce) */
.stripe-card-field .__PrivateStripeElement {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	display: block !important;
	background: transparent !important;
	position: relative !important;
	opacity: 1 !important;
	clear: both !important;
	height: 54px !important;
}

.stripe-card-field .__PrivateStripeElement iframe {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	min-width: 100% !important;
	overflow: hidden !important;
	display: block !important;
	user-select: none !important;
	height: 54px !important;
	opacity: 1;
}

.stripe-card-number {
	flex: 1;
	width: 100%;
}

.stripe-card-expiry {
	flex: 1;
	min-width: 120px;
}

.stripe-card-cvc {
	flex: 1;
	min-width: 100px;
}

.stripe-card-field .StripeElement {
	width: 100%;
	color: #fff;
}

.stripe-card-field .StripeElement--focus {
	border-color: rgb(255, 105, 21);
}

.stripe-card-field .StripeElement--invalid {
	border-color: rgb(255, 21, 21);
}

.stripe-card-field .StripeElement--complete {
	border-color: rgb(0, 200, 0);
}

/* Старые стили для обратной совместимости */
#wc-stripe-card-element {
	box-sizing: border-box;
	border: 1px solid rgb(62, 62, 62);
	width: 100%;
	padding: 15px 20px;
	background: rgb(20, 20, 20);
	border-radius: 4px;
	color: #fff;
	font-family: "Gilroy400";
	font-size: 16px;
	min-height: 54px;
	display: flex;
	align-items: center;
}

#wc-stripe-card-element .StripeElement {
	width: 100%;
	color: #fff;
}

#wc-stripe-card-element .StripeElement--focus {
	border-color: rgb(255, 105, 21);
}

#wc-stripe-card-element .StripeElement--invalid {
	border-color: rgb(255, 21, 21);
}

#wc-stripe-card-element .StripeElement--complete {
	border-color: rgb(0, 200, 0);
}

#stripe-card-errors {
	color: rgb(255, 21, 21);
	font-family: "Gilroy400";
	font-size: 14px;
	margin-top: 10px;
	min-height: 20px;
}

/* Payment Card Form Styles (Privy-like) */
.payment-card-form {
	margin-bottom: 20px;
}

.p-Grid.p-CardForm {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

/* Контейнер для даты и CVC в одном ряду */
.p-ExpiryCvcRow {
	display: flex;
	flex-direction: row;
	gap: 16px;
	width: 100%;
}

.p-ExpiryCvcRow > .p-GridCell {
	width: 100%;
	flex: 1;
}

@media (min-width: 768px) {
	.p-Grid.p-CardForm {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		gap: 16px;
	}
}


.p-GridCell {
	width: 100%;
}

@media (min-width: 768px) {
	.p-GridCell {
		grid-column: span 12;
	}
	
	.p-GridCell--md6 {
		grid-column: span 6;
	}
	
	.p-GridCell--md12 {
		grid-column: span 12;
	}
	
	.p-GridCell--lg6 {
		grid-column: span 6;
	}
	
	.p-GridCell--lg12 {
		grid-column: span 12;
	}
}

.p-Field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.p-FieldLabel {
	font-size: 14px;
	font-weight: 500;
	color: #ffffff;
	font-family: "Gilroy400", system-ui, sans-serif;
	display: none;
	margin-bottom: 4px;
}

.Label--empty {
	opacity: 0.7;
}

.p-Input {
	position: relative;
	width: 100%;
}

.p-Input-input {
	width: 100%;
	padding: 12px 16px;
	background: #30313d;
	border: 1px solid rgb(62, 62, 62);
	border-radius: 4px;
	color: #ffffff;
	font-family: "Gilroy400", system-ui, sans-serif;
	font-size: 16px;
	transition: border-color 0.2s;
	text-align: left;
	direction: ltr;
}

.p-Input-input:focus {
	outline: none;
	border-color: #ff6921;
}

.p-Input-input::placeholder {
	color: #aab7c4;
	opacity: 0.6;
	text-align: left;
	direction: ltr;
}

.p-Input-input--textRight {
	text-align: left;
}

.p-CardNumberInput {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
}

.p-CardNumberInput-input {
	padding-right: 90px;
}

.p-CardNumberInput {
	width: 100%;
}

.p-CardNumberInput .p-Input {
	flex: 1;
	width: 100%;
}

.p-CardBrandChoice {
	display: none;
}

.p-CardIcons {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	gap: 8px;
	pointer-events: none;
	z-index: 1;
}

.p-CardBrandIcons {
	display: flex;
	align-items: center;
	gap: 8px;
}

.p-CardBrandIcons-item {
	display: flex;
	align-items: center;
	opacity: 0.7;
}

.p-CardBrandIcons-item svg {
	width: 24px;
	height: 16px;
}

.p-CardCvcInput {
	position: relative;
	width: 100%;
}

.p-CardCvcInput .p-Input {
	width: 100%;
}

.p-CardCvcInput .p-Input-input {
	padding-right: 51px;
}

.p-CardCvcIcons {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 1;
}

.p-CardCvcIcons-group {
	display: flex;
	align-items: center;
}

.p-CardCvcIcons-svg {
	width: 30px;
	height: 20px;
	fill: #aab7c4;
	opacity: 0.6;
}

.u-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

.FadeWrapper {
	display: none;
}

@media (max-width: 767px) {
	.p-Grid.p-CardForm {
		gap: 12px;
	}
	
	.p-Input-input {
		padding: 10px 14px;
		font-size: 14px;
	}
}

/* Place order button styles */
#place_order {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 65px;
	padding: 0;
	border: none;
	border-radius: 6px;
	overflow: hidden;
	cursor: pointer;
	transition: all 0.4s ease;
	background: transparent;
}

@media (min-width: 768px) {
	#place_order {
		width: 50%;
	}
}

#place_order .place_order_text {
	flex: 1;
	background: rgb(255, 255, 255);
	color: rgb(255, 105, 21);
	font-family: "Gilroy600", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 65px;
	text-align: center;
	height: 100%;
	transition: all 0.4s ease;
}

#place_order .place_order_arrow {
	width: 18%;
	min-width: 80px;
	background: rgb(255, 105, 21);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	transition: all 0.4s ease;
}

#place_order .place_order_arrow svg {
	width: 24px;
	height: 24px;
}

#place_order:hover .place_order_text {
	background: rgb(240, 240, 240);
}

#place_order:hover .place_order_arrow {
	background: rgb(237, 85, 0);
}

/* Checkout Remove Modal Styles */
@keyframes checkoutRemoveModalAppear {
	from {
		opacity: 0;
		transform: translateY(-30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.checkout-remove-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.55);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.checkout-remove-overlay.visible {
	display: flex;
}

.checkout-remove-modal {
	background: #fff;
	color: #000;
	max-width: 420px;
	width: 90%;
	border-radius: 10px;
	box-shadow: 0 10px 35px rgba(0, 0, 0, 0.3);
	overflow: hidden;
	margin: auto;
	animation: checkoutRemoveModalAppear 0.3s ease-out;
}

.checkout-remove-modal header {
	padding: 16px 20px;
	font-weight: 700;
	font-size: 18px;
	border-bottom: 1px solid #eee;
	text-align: right;
	color: #fff;
}

.checkout-remove-modal header h3 {
	margin: 0;
	color: #fff;
	font-family: "Gilroy600", sans-serif;
	font-size: 18px;
	font-weight: 700;
	text-align: right;
}

.checkout-remove-modal .content {
	padding: 18px 20px;
	font-size: 15px;
	line-height: 1.5;
	color: #000;
	font-family: "Gilroy400", sans-serif;
}

.checkout-remove-modal .content p {
	margin: 0;
	color: #000;
}

.checkout-remove-modal .actions {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	padding: 14px 20px;
	background: #fafafa;
	border-top: 1px solid #eee;
}

.checkout-remove-modal .btn {
	padding: 10px 16px;
	border-radius: 6px;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	border: none;
	font-family: "Gilroy400", sans-serif;
	font-size: 15px;
	transition: all 0.3s ease;
}

.checkout-remove-modal .btn-cancel {
	background: #e9ecef;
	color: #111;
}

.checkout-remove-modal .btn-cancel:hover {
	background: #dde2e6;
}

.checkout-remove-modal .btn-remove {
	background: #ff3b30;
	color: #fff;
}

.checkout-remove-modal .btn-remove:hover {
	background: #ff5247;
}

/* —— EasyRent: семантика страницы (хидер / подхидер / main / префутер) + слой с видео —— */
.er-video-backdrop {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
.er-video-backdrop .video-hero {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Шапка главной: только обычный поток документа. Без position: sticky / fixed — иначе она «прилипает» к вьюпорту при скролле. */
body.er-page-home .er-site-header {
	position: static !important;
	top: auto;
	margin: 0;
	padding: 0;
	background: #fff !important;
}

/* Кастомные страницы из БД (FAQ / общие условия) */
body.er-page-static {
	background: #f6f6f6;
}
body.er-page-static .er-site-main {
	background: #f6f6f6;
}

/* Страница машины: светлая тема как контентная зона главной */
body.er-page-car {
	background: #f6f6f6;
	color: #333;
}
body.er-page-car .er-site-main {
	background: #f6f6f6;
	color: #333;
}
/* Зазор под двухрядной шапкой (лого/телефон + меню); .er-site-main в layout нет — отступ задаём на .h1-main */
body.er-page-car .h1-main {
	padding-top: 1.35rem;
}
@media (min-width: 768px) {
	body.er-page-car .h1-main {
		padding-top: 1.85rem;
	}
}
@media (min-width: 1200px) {
	body.er-page-car .h1-main {
		padding-top: 2rem;
	}
}
/* Якорь с главной (?checkout=payment#er-car-step-nav): не прятать табы под шапкой */
body.er-page-car #er-car-step-nav {
	scroll-margin-top: 6rem;
}
@media (min-width: 1200px) {
	body.er-page-car #er-car-step-nav {
		scroll-margin-top: 7rem;
	}
}
body.er-page-car .er-car-show-title {
	color: #1a1a1a;
}
body.er-page-car .er-car-show-price__value {
	color: #1a1a1a !important;
}
body.er-page-car .er-car-show-hero__img {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
body.er-page-car .er-car-show-carousel-wrap .er-car-show-carousel {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
body.er-page-car .er-car-show-carousel-wrap .carousel-inner {
	border-radius: 12px;
	overflow: hidden;
}
body.er-page-car .er-car-show-carousel-wrap .carousel-item .er-car-show-hero__img {
	border-radius: 0;
	box-shadow: none;
}
body.er-page-car .er-car-show-carousel-thumb {
	width: 76px;
	height: 57px;
	opacity: 0.72;
	transition: opacity 0.15s ease;
}
body.er-page-car .er-car-show-carousel-thumb:hover,
body.er-page-car .er-car-show-carousel-thumb.active {
	opacity: 1;
}
body.er-page-car .er-car-show-carousel-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
body.er-page-car .er-car-show-carousel .carousel-control-prev,
body.er-page-car .er-car-show-carousel .carousel-control-next {
	width: 12%;
	min-width: 2.5rem;
}
body.er-page-car .er-car-show-booking .rental_date_fields label {
	color: #333;
}
body.er-page-car .er-car-show-booking .rental_price_display {
	color: #333;
}
body.er-page-car .er-car-show-booking .product-item--popup_data > h2 {
	color: #1a1a1a;
}
body.er-page-car .er-car-show-booking .product-item--popup_meta,
body.er-page-car .er-car-show-booking .short_desc,
body.er-page-car .er-car-show-booking .short_desc p {
	color: #555;
}
.er-static-page__title {
	font-family: Montserrat, sans-serif;
	font-size: clamp(1.45rem, 3.5vw, 1.95rem);
	font-weight: 800;
	color: #1a1a1a;
	margin: 0;
	line-height: 1.25;
}
.er-static-page__card {
	background: #fff;
	padding: 1.35rem 1.15rem;
	box-shadow: 0 4px 28px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(0, 0, 0, 0.06);
	max-width: 56rem;
	margin: 0 auto;
}
@media (min-width: 576px) {
	.er-static-page__card {
		padding: 1.75rem 1.5rem;
	}
}
@media (min-width: 768px) {
	.er-static-page__card {
		padding: 2.5rem 2.75rem;
	}
}
.er-static-content {
	font-family: Montserrat, sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.65;
	color: #333;
}
.er-static-content .er-static-lead {
	font-size: 1.05rem;
	line-height: 1.6;
	color: #444;
	margin-bottom: 1.5rem;
}
.er-static-content h2 {
	font-size: 1.22rem;
	font-weight: 800;
	margin-top: 2rem;
	margin-bottom: 0.65rem;
	color: #111;
}
.er-static-content h2:first-child {
	margin-top: 0;
}
.er-static-content h3 {
	font-size: 1.05rem;
	font-weight: 700;
	margin-top: 1.35rem;
	margin-bottom: 0.45rem;
	color: #222;
}
.er-static-content p {
	margin-bottom: 0.85rem;
}

/* Кастомные страницы (hotel1): тёмный текст на светлой карточке; цвет не из сидера */
body.h1-site.er-page-static .er-static-page__title {
	color: var(--h1-navy);
}
body.h1-site.er-page-static .er-static-page__card {
	color: var(--h1-text);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 4px 28px rgba(0, 0, 0, 0.08);
}
body.h1-site.er-page-static .er-static-page__card h2,
body.h1-site.er-page-static .er-static-page__card h3,
body.h1-site.er-page-static .er-static-page__card p,
body.h1-site.er-page-static .er-static-page__card ul,
body.h1-site.er-page-static .er-static-page__card ol,
body.h1-site.er-page-static .er-static-page__card li {
	color: var(--h1-text);
}
body.h1-site.er-page-static .er-static-page__card a {
	color: var(--h1-navy);
	text-decoration: underline;
	text-underline-offset: 2px;
}
body.h1-site.er-page-static .er-static-page__card a:hover {
	color: var(--h1-gold);
}
body.h1-site.er-page-static .er-static-content {
	color: var(--h1-text);
}
body.h1-site.er-page-static .er-static-content .er-static-lead {
	color: var(--h1-muted);
}
body.h1-site.er-page-static .er-static-content h2 {
	color: var(--h1-navy);
}
body.h1-site.er-page-static .er-static-content h3 {
	color: var(--h1-navy);
}
body.h1-site.er-page-static .er-static-content a {
	color: var(--h1-navy);
}
body.h1-site.er-page-static .er-static-content a:hover {
	color: var(--h1-gold);
}

.er-home-subheader.jumbotron {
	position: relative;
	z-index: 2;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: transparent !important;
	overflow: visible;
}
.er-home-subheader .s-home-main__title {
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

/* Блок поиска под хедером: как easyrent.bg — без белой рамки и синего search-card из app-v3 */
.er-home-subheader .reservation-index-search {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.er-home-subheader .search-card {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	padding: 0 !important;
}
@media (max-width: 1199.98px) {
	.er-home-subheader .search-card {
		background: transparent !important;
		background-color: transparent !important;
		border: none !important;
		box-shadow: none !important;
	}
}
.er-home-subheader .reservation-index-search .label {
	color: #fff !important;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.4);
}
.er-home-subheader .reservation-index-search .label a {
	color: #fce415 !important;
}
.er-home-subheader .reservation-index-search .label a:hover {
	color: #fff6b0 !important;
}
.er-home-subheader .search-form .form-select,
.er-home-subheader .search-form .btn-primary {
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
}

/* Подсказки под поиском (easyrent.bg) */
.er-home-search-hints__highlight {
	font-family: Montserrat, sans-serif;
	font-weight: 800;
	font-size: clamp(0.95rem, 2.4vw, 1.28rem);
	line-height: 1.35;
	color: #fce415;
	text-shadow: 0 1px 18px rgba(0, 0, 0, 0.4);
	margin: 0;
}
.er-home-search-hints__note {
	font-family: Montserrat, sans-serif;
	font-weight: 600;
	font-size: clamp(0.9rem, 2vw, 1.05rem);
	line-height: 1.5;
	color: #fff;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.35);
	margin: 0;
}
.er-home-search-hints__pay {
	font-family: Montserrat, sans-serif;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.45;
	color: hsla(0, 0%, 100%, 0.88);
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.3);
	margin: 0;
}

/* Статистика + Viber/телефон в одной строке на широких экранах */
.er-home-hero-meta {
	justify-content: space-between;
}
.er-home-hero-meta__item {
	flex: 1 1 calc(50% - 1rem);
	min-width: min(100%, 9rem);
}
@media (min-width: 768px) {
	.er-home-hero-meta__item {
		flex: 1 1 calc(33.333% - 1rem);
		min-width: 8rem;
	}
}
@media (min-width: 1200px) {
	.er-home-hero-meta__item {
		flex: 1 1 0;
		min-width: 0;
		max-width: none;
	}
}
.er-home-hero-meta__item--contact {
	min-width: min(100%, 11rem);
}
.er-home-viber-btn {
	display: inline-flex;
	line-height: 0;
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.35));
	transition: transform 0.2s ease, filter 0.2s ease;
}
.er-home-viber-btn img {
	width: 24px;
	height: 24px;
	display: block;
}
.er-home-viber-btn:hover {
	transform: scale(1.05);
	filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.45));
}
.er-home-viber-btn:focus-visible {
	outline: 2px solid #fce415;
	outline-offset: 4px;
}
.er-home-hero-meta__item--contact .s-home-main-phone__value {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: clamp(1rem, 2.2vw, 1.35rem);
	line-height: 1.2;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}
.er-home-hero-meta__item--contact .s-home-main-phone__value:hover {
	color: #fce415 !important;
}

.er-site-main {
	position: relative;
	z-index: 10;
}
body.er-page-home .er-home-body.wrapper {
	background: #f6f6f6;
	box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.12);
}

body:not(.er-page-home) .er-site-main {
	padding-top: 1rem;
	padding-bottom: 2rem;
}
/* About: фон как у списка машин; тёмная плашка только у текста (уже, чем раньше) */
body.er-page-home .er-home-about {
	background: #f6f6f6;
	color: #333;
	padding: 3rem 0;
}
body.er-page-home .er-home-about__container {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--bs-gutter-x, 0.75rem);
	padding-right: var(--bs-gutter-x, 0.75rem);
}
body.er-page-home .er-home-about__text {
	flex: 0 1 auto;
	min-width: 0;
	width: 100%;
	max-width: 28rem;
	display: flex;
	justify-content: center;
}
@media (min-width: 768px) {
	body.er-page-home .er-home-about__text {
		justify-content: flex-start;
	}
}
body.er-page-home .er-home-about__text-panel {
	width: 100%;
	max-width: 26.5rem;
	background: #333;
	color: #fff;
	padding: 2.35rem 2rem;
	box-sizing: border-box;
}
body.er-page-home .er-home-about__text-panel .title {
	color: #fff;
	font-family: Gilroy600, sans-serif;
	font-size: clamp(1.2rem, 2.2vw, 1.45rem);
	line-height: 1.25;
	margin-bottom: 1.25rem !important;
}
body.er-page-home .er-home-about__text-panel .intro {
	font-weight: 400;
	font-size: 1.02rem;
	line-height: 1.68;
	color: rgba(255, 255, 255, 0.95);
}
body.er-page-home .er-home-about__text-panel .intro p {
	margin-bottom: 1rem;
}
body.er-page-home .er-home-about__cover {
	flex: 1 1 0;
	min-width: 0;
	width: 100%;
	max-width: min(620px, 58vw);
}
body.er-page-home .er-home-about__cover-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}
@media (min-width: 768px) {
	body.er-page-home .er-home-about__container {
		flex-wrap: nowrap;
		align-items: center;
	}
	body.er-page-home .er-home-about__text {
		padding-right: 1rem;
		flex-shrink: 0;
	}
	body.er-page-home .er-home-about__cover {
		max-width: min(640px, calc(100% - 29rem));
	}
}

/* HOT OFFERS: как easyrent.bg — .category .container, .row, Bootstrap .card */
body.er-page-home .er-home-fleet {
	padding: 3rem 0 4rem;
	background: #f6f6f6;
}
body.er-page-home .er-home-fleet__title {
	font-family: Gilroy600, "Didot", serif;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #333;
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 2rem;
}
body.er-page-home .er-home-fleet__row {
	--bs-gutter-x: 1.5rem;
}
body.er-page-home .er-hot-offer-card {
	position: relative;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	transition: box-shadow 0.25s ease, transform 0.2s ease;
}
body.er-page-home .er-hot-offer-card:hover {
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}
body.er-page-home .er-hot-offer-card__img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	/* Клики идут на .stretched-link у карточки (родитель .er-hot-offer-card с position: relative) */
	pointer-events: none;
}
body.er-page-home .er-hot-offer-card .card-body {
	padding: 1.25rem 1rem;
	/* Не position: relative — иначе ::after у stretched-link ограничивается только .card-body и не покрывает картинку */
}
body.er-page-home .er-hot-offer-card__title {
	font-family: Gilroy600, sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #333;
}
body.er-page-home .er-hot-offer-card__title a {
	color: inherit;
}
body.er-page-home .er-hot-offer-card__title a:hover {
	color: #ff6915;
}
body.er-page-home .er-home-fleet .show_more_btn_wrapper {
	margin-top: 0.25rem;
}
body.er-page-home .er-home-fleet .show_more_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.er-home-subheader .search-form .form-check-label {
	color: #fff !important;
}

.er-pre-footer {
	background: #f3f5f7;
}
.er-pre-footer__h {
	letter-spacing: 0.06em;
}

.er-footer {
	position: relative;
	border-top: none;
	background-color: #252727;
	background-image: url("/assets/easyrent/footer-bg.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	color: #fff;
	margin-top: 0;
	padding: 7rem 0 0;
}
.er-footer .container {
	position: relative;
}
.er-footer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(51, 51, 51, 0.53);
	pointer-events: none;
}
.er-footer__main {
	padding-bottom: 3rem;
}
.er-footer__row > [class*="col-"] > .title {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-bottom: 1rem;
}
.er-footer__list li {
	margin-bottom: 0.5rem;
}
.er-footer__list a {
	color: #fff;
	font-size: 0.95rem;
	font-weight: 300;
	text-decoration: none;
	transition: color 0.25s ease;
}
.er-footer__list a:hover {
	color: #d4db26;
}
.er-footer__socials .social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}
.er-footer__socials .social-link img {
	display: block;
	width: 32px;
	height: 32px;
	object-fit: contain;
}
.er-footer__contacts-block .title {
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.95rem;
	font-weight: 600;
	margin-bottom: 0.35rem;
}
.er-footer__contacts-block .value {
	color: rgba(255, 255, 255, 0.88);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.45;
}
.er-footer__contacts-block .value a {
	color: #fff;
	font-size: 1.05rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.25s ease;
}
.er-footer__contacts-block .value a:hover {
	color: #d4db26;
}
.er-footer__copyright {
	position: relative;
	background-color: rgba(56, 54, 57, 0.67);
	box-shadow: 0 0 60px 20px #393839;
	color: #fff;
	font-size: 0.9rem;
	margin-bottom: 0;
	padding: 10px 16px;
	text-align: center;
}

.er-contact-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 12000;
	background: rgba(0, 0, 0, 0.5);
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
}
.er-contact-backdrop.is-open {
	display: flex;
}
.er-contact-modal {
	background: #fff;
	border-radius: 8px;
	max-width: 480px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
	position: relative;
	flex-shrink: 0;
	margin: auto;
}
.er-contact-modal .contacts_us_form {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	background: transparent !important;
	height: auto !important;
	min-height: 0 !important;
	display: block !important;
}
.er-contact-modal .contacts_us_form_form_title h3 {
	color: #333 !important;
	font-size: 22px !important;
	font-weight: 700 !important;
}
.er-contact-modal .contacts_us_form_form_title p {
	color: #666 !important;
	font-size: 14px !important;
}
.er-contact-modal .input_item p {
	color: #333 !important;
	font-weight: 600;
	font-size: 13px;
}
.er-contact-modal .input_item input {
	background: #fff !important;
	border: 1px solid #d0d0d0 !important;
	color: #333 !important;
}
.er-contact-modal .country-selector-button {
	background: #fff !important;
	border: 1px solid #d0d0d0 !important;
	color: #333 !important;
}
.er-contact-modal .country-selector-code {
	color: #333 !important;
}
.er-contact-modal .country-selector-arrow {
	color: #333 !important;
}
.er-contact-modal__close {
	position: absolute;
	top: 12px;
	right: 14px;
	z-index: 2;
	width: 36px;
	height: 36px;
	border: none;
	background: #f0f0f0;
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: #333;
}
.er-contact-modal__body {
	padding: 32px 28px 28px;
}
.er-contact-modal .send_btn {
	width: 100%;
	margin-top: 8px;
	padding: 14px;
	background: #fce415;
	color: #1a1a1a;
	border-radius: 8px;
	font-weight: 700;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.er-contact-modal .send_btn:hover {
	background: #e6cf14;
	color: #000;
}
.er-contact-modal .send_btn:focus-visible {
	outline: 2px solid #1a1a1a;
	outline-offset: 2px;
}
.er-contact-success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #e8f5e9;
	color: #2e7d32;
	font-size: 28px;
	font-weight: 700;
}
.er-contact-modal .success_contact_form h4 {
	color: #333;
}
.er-contact-modal .success_contact_form p {
	color: #666;
	font-size: 14px;
}

/* Блок «Свяжитесь с нами» / модалка: как easyrent.bg — слева, на всю ширину контейнера, Montserrat */
body.er-page-home .er-home-support {
	font-family: Montserrat, sans-serif;
	color: #333;
	padding: 3rem 0 4rem;
}
body.er-page-home .er-home-support .er-home-support__inner {
	width: 100%;
	max-width: 100%;
	text-align: left;
}
body.er-page-home .er-home-support .title {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: clamp(1.62rem, 3.36vw, 2.4rem);
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #000;
	margin-bottom: 0.75rem;
	text-align: left;
}
body.er-page-home .er-home-support .er-home-support__lead {
	font-family: Montserrat, sans-serif;
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1.5;
	color: #333;
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	text-align: left;
}
body.er-page-home .er-home-support .er-home-support__actions {
	text-align: left;
}
body.er-page-home .er-home-support .er-home-support__actions .btn {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	letter-spacing: 0.04em;
	font-size: 1.5rem;
	line-height: 1.2;
}
body.er-page-home .support .phone {
	font-family: Montserrat, sans-serif;
	color: #333;
	text-decoration: none;
	font-size: clamp(2.1rem, 4.8vw, 5.4rem);
	font-weight: 700;
}
body.er-page-home .support .phone:hover {
	color: #065a7f;
}

body.er-page-home .car-carousel .title {
	color: #065a7f;
}

/* Главная hotel1/hotel1car: локальный hero, услуги, трансфер */
body.h1-site.h1-page-home .hero-image .h1-hero-fleet-img {
	width: 100%;
	height: auto;
	max-height: min(70vh, 640px);
	object-fit: cover;
	object-position: center 42%;
	display: block;
}
/* Оформление авто: карточки доп. услуг (шаг как easyrent) */
.er-page-car #er-car-checkout-panel .er-car-extras-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
@media (max-width: 1199.98px) {
	.er-page-car #er-car-checkout-panel .er-car-extras-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 991.98px) {
	.er-page-car #er-car-checkout-panel .er-car-extras-list {
		grid-template-columns: 1fr;
	}
}
.er-page-car #er-car-checkout-panel .er-car-extra-card {
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	background: #fff;
	padding: 12px;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__main {
	display: flex;
	align-items: center;
	gap: 12px;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__image-wrap {
	width: 92px;
	height: 70px;
	flex: 0 0 92px;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__content {
	flex: 1 1 auto;
	min-width: 0;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__title {
	font-family: Gilroy600, sans-serif;
	font-size: 16px;
	line-height: 1.3;
	color: #1a1a1a;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__price {
	font-size: 13px;
	color: #495057;
	margin-top: 4px;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__desc {
	font-size: 13px;
	line-height: 1.45;
	color: #6c757d;
	margin-top: 4px;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__toggle {
	flex: 0 0 auto;
}
/* Чекбоксы доп. услуг: убираем жёлтый EasyRent, ставим цвет футера */
.er-page-car #er-car-checkout-panel .er-car-extras-list .form-check-input,
.er-page-car #er-car-checkout-panel .er-car-extras-list .checkout-addon-checkbox.form-check-input {
	accent-color: var(--h1-footer-bg);
	border-color: rgba(21, 42, 69, 0.45) !important;
}
.er-page-car #er-car-checkout-panel .er-car-extras-list .form-check-input:checked,
.er-page-car #er-car-checkout-panel .er-car-extras-list .checkout-addon-checkbox.form-check-input:checked {
	background-color: var(--h1-footer-bg) !important;
	border-color: var(--h1-footer-bg) !important;
}
.er-page-car #er-car-checkout-panel .er-car-extras-list .form-check-input:focus,
.er-page-car #er-car-checkout-panel .er-car-extras-list .checkout-addon-checkbox.form-check-input:focus {
	border-color: var(--h1-footer-bg) !important;
	box-shadow: 0 0 0 0.2rem rgba(21, 42, 69, 0.22) !important;
}
.er-page-car #er-car-checkout-panel .er-car-extra-card__children {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-left: 12px;
	margin-top: 10px;
	border-left: 2px solid rgba(21, 42, 69, 0.5);
	border-left: 2px solid color-mix(in srgb, var(--h1-footer-bg) 55%, transparent);
}
.er-page-car #er-car-checkout-panel .er-car-extra-child {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #1a1a1a;
}
.er-page-car #er-car-checkout-panel .er-car-extra-child.is-hidden {
	display: none;
}
.er-page-car #er-car-checkout-panel .er-car-step-actions--split {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 1.25rem;
}

/* Transport booking (карта + выбор маршрута) */
body.er-page-car #er-transport-booking-page {
	font-weight: 400;
}
body.er-page-car #er-transport-booking-page p,
body.er-page-car #er-transport-booking-page .input_item > p {
	font-weight: 500;
}
body.er-page-car #er-transport-booking-page .er-transport-map {
	height: 275px;
	border-radius: 10px;
	border: 1px solid rgba(21, 42, 69, 0.16);
	background: #eef2f6;
}
body.er-page-car #er-transport-booking-page .er-transport-map-wrap {
	position: relative;
}
body.er-page-car #er-transport-booking-page .er-transport-map-mode-notice {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 500;
	background: rgba(20, 25, 30, 0.85);
	color: #fff;
	font-size: 12px;
	line-height: 1.25;
	padding: 7px 10px;
	border-radius: 8px;
}
body.er-page-car #er-transport-booking-page .er-transport-map-gps-btn {
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 510;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--h1-footer-bg) 92%, transparent);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
	border: none;
}
body.er-page-car #er-transport-booking-page .er-transport-form-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	align-items: start;
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
	min-width: 0;
}
body.er-page-car #er-transport-booking-page .er-transport-top-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
	width: 100%;
	min-width: 0;
}
body.er-page-car #er-transport-booking-page .er-transport-map-wrap,
body.er-page-car #er-transport-booking-page .er-transport-side-fields {
	margin-bottom: 0;
	min-width: 0;
}
body.er-page-car #er-transport-booking-page .er-transport-side-fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2px;
	min-width: 0;
}
body.er-page-car #er-transport-booking-page .er-transport-side-fields .input_item {
	margin-bottom: 0;
	min-width: 0;
}
body.er-page-car #er-transport-booking-page .er-transport-side-fields .er-transport-search-field:last-child {
	margin-top: -15px;
	margin-bottom: 2px;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicles {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 100% !important;
}
body.er-page-car #er-transport-booking-page .er-transport-metrics-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 8px;
}
body.er-page-car #er-transport-booking-page .er-transport-search-input-wrap {
	position: relative;
}
body.er-page-car #er-transport-booking-page .er-transport-search-input-wrap input {
	padding-right: 78px !important;
}
body.er-page-car #er-transport-booking-page .er-transport-input-actions {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
body.er-page-car #er-transport-booking-page .er-transport-icon-btn {
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #f3f4f6;
	color: #2f3438;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
}
body.er-page-car #er-transport-booking-page .er-transport-swap-btn {
	width: 32px;
	height: 32px;
	border-radius: 999px;
	border: 1px solid rgba(21, 42, 69, 0.22);
	background: #fff;
	color: #3b4650;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 2px auto -1px;
}
body.er-page-car #er-transport-booking-page .er-transport-map-pick-btn.is-active {
	background: var(--h1-footer-bg);
	color: #fff;
}
body.er-page-car #er-transport-booking-page .er-map-point-icon {
	width: 28px;
	height: 28px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	border: 2px solid #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
body.er-page-car #er-transport-booking-page .er-map-point-icon--start { background: #2e7d32; }
body.er-page-car #er-transport-booking-page .er-map-point-icon--end { background: #c62828; }
body.er-page-car #er-transport-booking-page .leaflet-container.er-map-pick-mode,
body.er-page-car #er-transport-booking-page .leaflet-container.er-map-pick-mode * {
	cursor: pointer !important;
}
body.er-page-car #er-transport-booking-page .leaflet-top.leaflet-left {
	top: auto;
	bottom: 10px;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 4px;
	-webkit-overflow-scrolling: touch;
	mask-image: linear-gradient(to right, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
	scrollbar-width: thin;
	scrollbar-color: color-mix(in srgb, var(--h1-footer-bg) 75%, #ffffff) transparent;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-list::-webkit-scrollbar {
	height: 6px;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-list::-webkit-scrollbar-track {
	background: transparent;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-list::-webkit-scrollbar-thumb {
	background: color-mix(in srgb, var(--h1-footer-bg) 75%, #ffffff);
	border-radius: 999px;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-card {
	position: relative;
	border: 1px solid rgba(21, 42, 69, 0.16);
	background: #fff;
	border-radius: 10px;
	padding: 10px;
	width: 150px;
	min-width: 150px;
	max-width: 150px;
	transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
	display: flex;
	flex-direction: column;
	font-weight: 400;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-card:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-card.is-selected {
	border-color: color-mix(in srgb, var(--h1-footer-bg) 88%, #ffffff);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--h1-footer-bg) 28%, transparent);
}
body.er-page-car #er-transport-booking-page .er-transport-info-btn {
	position: absolute;
	right: 9px;
	top: 9px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: #edf1f4;
	font-weight: 700;
	font-size: 12px;
	color: #39424c;
	border: none;
}

/* Offers (services) — align offer checkout to car/transport styling */
body.er-page-car #er-car-checkout-panel #er-offer-tab-payment,
body.er-page-car #er-car-checkout-panel #er-offer-tab-services,
body.er-page-car #er-car-checkout-panel #er-offer-tab-dates {
	margin-top: 2.25rem;
}
@media (min-width: 768px) {
	body.er-page-car #er-car-checkout-panel #er-offer-tab-payment,
	body.er-page-car #er-car-checkout-panel #er-offer-tab-services,
	body.er-page-car #er-car-checkout-panel #er-offer-tab-dates {
		margin-top: 2.75rem;
	}
}
body.er-page-car #er-car-checkout-panel .er-offer-tab-dates .order_container_wrapper.er-car-checkout-form-wrapper {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
}
body.er-page-car #er-car-checkout-panel .er-offer-tab-dates .order_form {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: end;
}
body.er-page-car #er-car-checkout-panel .er-offer-tab-dates .order_form .input_item {
	margin-bottom: 0;
}
body.er-page-car #er-car-checkout-panel .er-offer-tab-dates .er-car-step-actions {
	margin-top: 1rem;
	display: flex;
	justify-content: flex-end;
	width: 100%;
}
body.er-page-car #er-car-checkout-panel .er-offer-tab-dates .rental_date_button_icon {
	font-size: 16px;
	color: #6c757d;
}
@media (max-width: 575.98px) {
	body.er-page-car #er-car-checkout-panel .er-offer-tab-dates .order_form {
		grid-template-columns: 1fr;
	}
}
body.er-page-car #er-car-checkout-panel #offer_time_picker {
	width: 100%;
	padding: 14px 16px;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	background: #fff;
}
body.er-page-car #er-car-checkout-panel #offer_date_picker_btn.rental_date_button {
	width: 100%;
	padding: 14px 16px;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
body.er-page-car #er-car-checkout-panel #offer_date_picker_btn .rental_date_button_text {
	font-weight: 600;
}
body.er-page-car #er-offer-show-page #card-number-element,
body.er-page-car #er-offer-show-page #card-expiry-element,
body.er-page-car #er-offer-show-page #card-cvc-element {
	min-height: 46px;
	display: flex;
	align-items: center;
}
body.er-page-car #er-offer-show-page #card-number-element .__PrivateStripeElement,
body.er-page-car #er-offer-show-page #card-expiry-element .__PrivateStripeElement,
body.er-page-car #er-offer-show-page #card-cvc-element .__PrivateStripeElement {
	width: 100%;
}
body.er-page-car #er-transport-booking-page .er-transport-info-tooltip {
	position: absolute;
	right: 8px;
	top: 36px;
	z-index: 20;
	background: #252a30;
	color: #fff;
	padding: 8px 10px;
	border-radius: 8px;
	font-size: 12px;
	line-height: 1.4;
	max-width: 210px;
	display: none;
}
body.er-page-car #er-transport-booking-page .er-transport-info-tooltip.is-open {
	display: block;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-visual {
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-image {
	max-width: 100%;
	max-height: 56px;
	object-fit: contain;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-name {
	font-family: Gilroy600, sans-serif;
	font-size: 13px;
	color: #1d2329;
	margin-bottom: 2px;
	line-height: 1.25;
	font-weight: 600;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-trip-price {
	font-size: 12px;
	color: #5d6874;
	margin-bottom: 7px;
	font-weight: 500;
}
body.er-page-car #er-transport-booking-page .er-transport-vehicle-trip-price span {
	color: #1f8e3d;
	font-weight: 700;
}
body.er-page-car #er-transport-booking-page .er-transport-qty {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	justify-content: center;
	padding-top: 4px;
	font-weight: 600;
}
body.er-page-car #er-transport-booking-page .er-transport-qty-btn {
	width: 27px;
	height: 27px;
	border-radius: 7px;
	background: var(--h1-footer-bg);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
}
body.er-page-car #er-transport-booking-page .er-transport-qty-btn svg {
	width: 16px;
	height: 16px;
}
body.er-page-car #er-transport-booking-page .er-transport-passenger-control {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 4px;
	border: none;
	border-radius: 0;
	background: transparent;
}
body.er-page-car #er-transport-booking-page .er-transport-passenger-btn {
	width: 30px;
	height: 30px;
	border-radius: 7px;
	background: var(--h1-footer-bg);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
}
body.er-page-car #er-transport-booking-page .er-transport-passenger-btn svg {
	width: 16px;
	height: 16px;
}
body.er-page-car #er-transport-booking-page #passengers_count {
	width: 3.6ch;
	min-width: 3.6ch;
	max-width: 7ch;
	text-align: center;
	padding: 0 6px !important;
	height: 30px !important;
	min-height: 30px !important;
	line-height: 30px !important;
	font-weight: 600;
}
body.er-page-car #er-transport-booking-page #transport_comment {
	width: 100%;
	background: #fff;
	border: 1px solid #ced4da;
	color: #212529;
	border-radius: 8px;
	padding: 12px;
	resize: vertical;
}
/* На ПК: нижние поля в одну строку */
body.er-page-car #er-transport-booking-page .er-transport-bottom-row {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 10px;
	align-items: end;
	margin-top: 4px;
}
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .input_item {
	margin-bottom: 0;
	min-width: 0;
	background: #f4f6f8;
	border: 1px solid rgba(21, 42, 69, 0.16);
	border-radius: 10px;
	padding: 10px 10px 12px;
}
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .input_item > p {
	color: #4b5763;
	margin-bottom: 7px;
	font-size: 13px;
	line-height: 1.2;
}
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .er-transport-comment-item textarea {
	height: 40px;
	min-height: 40px;
	padding: 8px 12px;
	line-height: 1.3;
}
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .er-transport-pickup input,
body.er-page-car #er-transport-booking-page .er-transport-bottom-row #passengers_count,
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .er-transport-comment-item textarea {
	border-radius: 8px !important;
	border: 1px solid rgba(21, 42, 69, 0.18) !important;
	background: #fff !important;
}
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .er-transport-pickup input {
	height: 40px !important;
	min-height: 40px !important;
	line-height: 40px !important;
	padding: 0 12px !important;
}
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .er-transport-passengers,
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .er-transport-comment-item,
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .er-transport-trip-total-item {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
body.er-page-car #er-transport-booking-page .er-transport-bottom-row .er-transport-trip-total-value {
	height: 40px;
	min-height: 40px;
	border: 1px solid rgba(21, 42, 69, 0.18);
	border-radius: 8px;
	background: #fff;
	display: flex;
	align-items: center;
	padding: 0 12px;
	font-weight: 700;
	color: #111;
}
@media (max-width: 991.98px) {
	body.er-page-car #er-transport-booking-page .er-transport-bottom-row {
		grid-template-columns: 1fr;
	}
	body.er-page-car #er-transport-booking-page .er-transport-vehicle-card {
		width: 140px;
		min-width: 140px;
		max-width: 140px;
	}
}

@media (max-width: 991.98px) {
	body.er-page-car #er-transport-booking-page .er-transport-top-row {
		grid-template-columns: 1fr;
	}
}

/* Cookie consent: фиксированная плашка снизу */
.er-cookie-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10050;
	padding: 0.75rem 0;
	padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
	background: #0d0d0d;
	color: #f0f0f0;
	border-top: 1px solid hsla(0, 0%, 100%, 0.12);
	box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.35);
	transform: translateZ(0);
}
.er-cookie-banner.er-cookie-banner--dismissed {
	display: none !important;
}
.er-cookie-banner__container {
	max-width: 1140px;
}
.er-cookie-banner__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
}
@media (min-width: 768px) {
	.er-cookie-banner__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 1.25rem;
	}
}
.er-cookie-banner__text {
	font-family: Montserrat, sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.55;
	color: hsla(0, 0%, 100%, 0.92);
	flex: 1 1 auto;
	min-width: 0;
}
@media (min-width: 576px) {
	.er-cookie-banner__text {
		font-size: 0.9375rem;
	}
}
.er-cookie-banner__link {
	color: #fdd835;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.er-cookie-banner__link:hover,
.er-cookie-banner__link:focus {
	color: #fff176;
}
.er-cookie-banner__accept {
	flex-shrink: 0;
	align-self: flex-start;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.55rem 1.35rem;
	border-radius: 4px;
	border: none;
	background: #fdd835;
	color: #111;
	transition: background 0.2s ease, color 0.2s ease;
}
@media (min-width: 768px) {
	.er-cookie-banner__accept {
		align-self: center;
	}
}
.er-cookie-banner__accept:hover {
	background: #fff176;
	color: #000;
}
.er-cookie-banner__accept:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* CAR_IMAGES_CROP_DISPLAY=false: фото авто без обрезки в сетке (object-fit: contain) */
body.car-images-no-crop .er-car-show-hero__img-el,
body.car-images-no-crop.er-page-car .er-car-show-carousel-thumb img,
body.car-images-no-crop .room-types-promo .card-image--room img,
body.car-images-no-crop .h1-room-card__img {
	object-fit: contain !important;
}
body.car-images-no-crop .er-car-show-hero__img,
body.car-images-no-crop.er-page-car .er-car-show-carousel-wrap .carousel-inner,
body.car-images-no-crop.er-page-car .er-car-show-carousel-wrap .er-car-show-carousel {
	background: #f0f0f0;
}

