/* Solemare visual layer — Classic Elegant, brand navy/gold. No functional changes. */
:root {
	--sm-navy: #013f89;
	--sm-navy-deep: #012d63;
	--sm-gold: #fdc503;
	--sm-gold-hover: #ffd23a;
	--sm-gold-soft: #fff4cc;
	--sm-orange: #013f89;
	--sm-price: #013f89;
	--sm-sky: #013f89;
	--sm-bg: #f6f3ee;
	--sm-card: #ffffff;
	--sm-text: #1c2a3a;
	--sm-muted: #4b5a6a;
	--sm-line: rgba(1, 63, 137, .1);
	--sm-serif: "Cormorant Garamond", "Times New Roman", serif;
	--sm-display: var(--sm-serif);
	--sm-sans: "Nunito Sans", "Manrope", Arial, sans-serif;
	--sm-kicker: "Onest", "Nunito Sans", Arial, sans-serif;
	--sm-shadow: 0 10px 28px rgba(1, 63, 137, .08);
	--sm-shadow-hover: 0 16px 36px rgba(1, 63, 137, .14);
	--sm-radius: 16px;
	--sm-radius-sm: 12px;
	--sm-ease: .2s ease;
}

html,
body,
.font_roboto,
input,
textarea,
select,
button {
	font-family: var(--sm-sans);
	color: var(--sm-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html,
body,
.font_roboto {
	background: var(--sm-bg);
}

body.default {
	background: var(--sm-bg);
}

h1, h2, h3, h4, .h2, .ts-h1, .ts-h2,
.tour .title,
.tour b.title,
#footer .h2,
#footer h2,
.last-posts .h2,
.mainpage-note h1,
.mainpage-note h2,
.mainpage-note h3 {
	font-family: var(--sm-display);
	letter-spacing: -.02em;
	color: var(--sm-navy);
}

h1, .ts-h1, h1.ts-col-24,
.col1 h1, .col2 h1 {
	font-family: var(--sm-serif);
	font-size: clamp(1.85rem, 3.2vw, 2.6rem);
	font-weight: 600;
	line-height: 1.15;
	margin: 16px 0 12px;
}

h2, .ts-h2, .h2 {
	font-family: var(--sm-serif);
	font-weight: 600;
	line-height: 1.25;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
}

p, li, .desc, .content {
	font-family: var(--sm-sans);
	line-height: 1.65;
}

a {
	cursor: pointer;
	transition: color var(--sm-ease), background var(--sm-ease), box-shadow var(--sm-ease), border-color var(--sm-ease);
}

a:focus-visible,
button:focus-visible,
.icon__menu:focus-visible {
	outline: 2px solid var(--sm-gold);
	outline-offset: 3px;
}

/* Header slogan */
#header.sm-header .header-top-text {
	font-family: var(--sm-kicker);
	font-style: normal;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .01em;
	line-height: 1.4;
	color: var(--sm-navy);
	opacity: 1;
}

#header.sm-header #header-top .ts-mr-1.button-yellow a span {
	font-family: var(--sm-sans);
}

/* Menu */
#menu,
#menu .container,
#menu ul {
	overflow: visible;
}

#menu {
	background: #fff;
	min-height: 72px;
	border-top: 1px solid var(--sm-line);
	box-shadow: 0 8px 20px rgba(1, 63, 137, .04);
	position: relative;
	z-index: 200;
}

#menu > .container > ul > li > a,
#menu > .container > ul > li > .nav-link > a {
	font-family: var(--sm-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 72px;
	padding: 0 14px;
	color: var(--sm-navy);
	letter-spacing: .01em;
}

#menu ul li a span {
	border-bottom: 0;
	padding-bottom: 0;
	position: relative;
}

#menu ul li a:hover,
#menu ul li .nav-link a:hover {
	color: var(--sm-navy);
}

@media (hover: hover) {
	#menu ul li a:hover span::after,
	#menu ul li.ts-dropdown:hover > .nav-link a span::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -8px;
		height: 2px;
		background: var(--sm-gold);
		border-radius: 2px;
	}
}

#menu ul li a.active,
#menu ul li a.active:hover,
#menu ul a.active,
#menu ul a.active:hover {
	background: transparent;
	color: var(--sm-navy);
}

#menu ul li a.active span,
#menu ul li a.active:hover span,
#menu ul a.active span,
#menu ul a.active:hover span {
	color: var(--sm-navy);
	border: 0;
}

#menu ul a.active span::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -8px;
	height: 2px;
	background: var(--sm-gold);
	border-radius: 2px;
}

#menu li.ts-dropdown {
	position: relative;
	z-index: 210;
}

#menu li.ts-dropdown:hover,
#menu li.ts-dropdown.active {
	background: transparent !important;
}

#menu li.ts-dropdown:hover > .nav-link a,
#menu li.ts-dropdown:hover > .nav-link a span,
#menu li.ts-dropdown.active > .nav-link a,
#menu li.ts-dropdown.active > .nav-link a span {
	color: var(--sm-navy) !important;
	border-bottom: 0 !important;
}

#menu li.ts-dropdown:hover > .nav-link .arrow,
#menu li.ts-dropdown.active > .nav-link .arrow {
	border-top-color: var(--sm-navy) !important;
}

#menu ul.ts-dropdown__links {
	top: 100% !important;
	left: 0;
	right: auto;
	z-index: 300;
	border-radius: var(--sm-radius-sm);
	box-shadow: var(--sm-shadow-hover);
	border: 1px solid var(--sm-line);
	overflow: visible;
	padding: 8px 0;
	background: #fff !important;
	min-width: 260px;
	max-width: calc(100vw - 24px);
	height: auto !important;
	opacity: 1;
}

#menu ul.right .ts-dropdown__links {
	left: auto;
	right: 0;
}

#menu li.ts-dropdown:hover > ul.ts-dropdown__links,
#menu li.ts-dropdown:hover .ts-dropdown__links {
	display: block !important;
	height: auto !important;
	opacity: 1 !important;
	z-index: 300 !important;
}

#menu ul.ts-dropdown__links li a,
#menu li.ts-dropdown:hover ul.ts-dropdown__links li a {
	display: block;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.4 !important;
	height: auto !important;
	padding: 10px 18px !important;
	color: var(--sm-navy) !important;
	background: transparent;
}

#menu ul.ts-dropdown__links li a span,
#menu li.ts-dropdown:hover ul.ts-dropdown__links a span,
#menu li.ts-dropdown:hover ul.ts-dropdown__links a:hover span {
	color: var(--sm-navy) !important;
	border: 0 !important;
}

#menu ul.ts-dropdown__links li a:hover,
#menu li.ts-dropdown:hover ul.ts-dropdown__links li a:hover {
	background: var(--sm-gold-soft) !important;
	color: var(--sm-navy) !important;
}

/* Country destinations — compact chips */
.countries.mainpage {
	background: var(--sm-bg);
	padding: 20px 0 28px;
	border-bottom: 0;
}

.countries.mainpage .ts-row.ts-justify-content__center,
.countries.mainpage .container .ts-wrap .ts-row.ts-justify-content__center {
	overflow: visible !important;
	height: auto !important;
	padding: 8px 0 4px;
}

.countries.mainpage .ts-wrap {
	padding-left: 12px;
	padding-right: 12px;
}

.countries.mainpage .hidden_block {
	overflow: hidden !important;
	height: 0;
}

.countries.mainpage .ts-row[data-hide="hide"] {
	overflow: hidden;
}

.countries.mainpage .ts-row:not(.ts-justify-content__center) {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.countries.mainpage .ts-row[data-hide="hide"].active {
	margin-top: 10px !important;
}

.countries.mainpage .ts-row:not(.ts-justify-content__center) > [class*="ts-col"] {
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	padding: 0 !important;
	float: none;
}

.countries.mainpage a:not([data="see_more"]),
.countries.mainpage .ts-d-flex {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start;
	gap: 8px;
	min-height: 0;
	height: auto;
	padding: 6px 12px 6px 8px;
	border: 1px solid var(--sm-line);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	font-family: var(--sm-sans);
	font-size: 13px;
	font-weight: 650;
	line-height: 1.2;
	color: var(--sm-navy);
	white-space: nowrap;
	transition: background var(--sm-ease), border-color var(--sm-ease), color var(--sm-ease);
}

.countries.mainpage a:not([data="see_more"]) > div,
.countries.mainpage a:not([data="see_more"]) > .sm-flag,
.countries.mainpage a .ts-mr-1 {
	width: 22px !important;
	height: 16px !important;
	margin: 0 !important;
	border-radius: 2px;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	overflow: hidden;
	flex-shrink: 0;
	box-shadow: 0 0 0 1px rgba(1, 63, 137, .08);
}

.countries ul a span,
.countries a:not([data="see_more"]) > span.sm-flag {
	width: 22px !important;
	height: 16px !important;
	border-radius: 2px;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	overflow: hidden;
}

@media (hover: hover) {
	.countries.mainpage a:not([data="see_more"]):hover {
		background: #fff;
		border-color: var(--sm-gold);
		box-shadow: none;
		transform: none;
		color: var(--sm-navy);
	}
}

.all_coutries {
	float: none;
	height: auto;
	padding: 0;
	font-family: var(--sm-sans);
	font-size: 13px;
	font-weight: 700;
	color: var(--sm-navy);
	line-height: 1.2;
	letter-spacing: 0;
}

a[data="see_more"],
.sm-seo-more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 8px 0 16px;
	padding: 6px 14px;
	border: 1px dashed rgba(1, 63, 137, .28);
	border-radius: 999px;
	background: #fff;
	color: var(--sm-navy);
	line-height: 1.2;
	box-shadow: none;
	transform: none;
	transition: background var(--sm-ease), border-color var(--sm-ease);
	font: inherit;
	cursor: pointer;
	position: relative;
	z-index: 2;
}

.sm-seo-more {
	display: flex;
	justify-content: center;
	width: auto;
	margin: 4px auto 36px;
	border: 0;
	padding: 0;
}

a[data="see_more"] svg,
.sm-seo-more svg {
	width: 18px;
	height: 18px;
	display: block;
	flex-shrink: 0;
	fill: currentColor;
	transition: transform .25s ease;
}

a[data="see_more"]:hover,
.sm-seo-more:hover {
	background: var(--sm-gold-soft);
	box-shadow: none;
	color: var(--sm-navy);
	border-color: var(--sm-gold);
}

a[data="see_more"].active {
	transform: none;
}

a[data="see_more"].active svg {
	transform: rotate(180deg);
}

.active .all_coutries {
	display: block !important;
}

.country-active,
.country-menu ul li.active a {
	background: var(--sm-navy) !important;
	color: #fff !important;
	border-radius: 999px;
}

/* Tour cards — editorial, image-led */
.tours-simple-list,
.promo-tours {
	padding: 36px 0 28px;
	background: var(--sm-bg);
}

.tour,
div.tour {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: none;
	border: 1px solid var(--sm-line);
}

@media (hover: hover) {
	.tour {
		transition: transform var(--sm-ease), box-shadow var(--sm-ease);
	}

	.tour:hover {
		transform: translateY(-4px);
		box-shadow: 0 18px 40px rgba(1, 63, 137, .12);
	}

	.tour .img {
		transition: transform .6s ease;
	}

	.tour:hover .img {
		transform: scale(1.05);
	}

	.tour.big:hover .img {
		transform: scale(1.04);
	}
}

.tour .img {
	height: 240px;
	background-position: center;
	background-size: cover;
}

.tour.big,
div.tour.big {
	background: #fff;
	display: flex;
	flex-direction: column;
	height: 100%;
	align-self: stretch;
}

.big.tours.box-2 {
	display: flex;
	flex-direction: column !important;
	align-self: stretch;
	height: auto;
}

.tour.big > a {
	position: relative;
	display: block;
	overflow: hidden;
	flex: 1 1 auto;
	min-height: 280px;
}

.tour.big .img {
	position: absolute;
	inset: 0;
	height: 100%;
	min-height: 0;
	z-index: 0;
}

.tour .title,
.tour b.title,
.tour b.title span {
	font-family: var(--sm-serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--sm-navy);
	line-height: 1.2;
	letter-spacing: -.01em;
}

.tour.big b.title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding: 48px 20px 16px;
	background: linear-gradient(180deg, transparent 0%, rgba(8, 22, 42, .82) 100%);
	color: #fff;
	font-size: clamp(1.4rem, 2.1vw, 1.9rem);
	font-weight: 600;
	pointer-events: none;
}

.tour.big b.title span {
	position: static;
	display: inline;
	margin: 0;
	padding: 0;
	background: none;
	color: inherit;
	font: inherit;
}

.tour.big .text-info {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	flex-grow: 0;
	flex: 0 0 auto;
	align-items: flex-start;
	align-content: flex-start;
	justify-content: flex-start;
	gap: 10px;
	padding: 14px 16px 16px;
	background: #fff;
}

.tour.big .desc,
.tour.big p.desc {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.tour.big .price,
.tour.big .price.byn,
.big.tours .tour.big .price {
	position: static;
	float: none;
	margin: 0;
	padding: 0;
	align-self: flex-start;
	text-align: left;
}

.tour .desc,
.tour p.desc,
.tours-simple-list p.desc,
ul.tours li p.desc {
	font-size: 14px;
	font-style: normal !important;
	color: var(--sm-muted);
	line-height: 1.5;
}

.tour .price,
.tours .price,
.tour .price.byn,
.tours-simple-list .price {
	font-family: var(--sm-sans);
	font-weight: 800;
	color: var(--sm-price);
	font-size: 1.15rem;
}

.tour .price .smallPrice,
.tour span.smallPrice {
	display: inline-block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 600;
	color: var(--sm-muted);
}

.tour .per,
.tours-simple-list .per {
	display: inline-flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	margin: 6px 0 0;
	padding: 2px 8px;
	font-family: var(--sm-sans);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	white-space: nowrap;
	color: var(--sm-navy);
	background: var(--sm-gold-soft);
	border-radius: 6px;
	float: none;
}

/* Homepage destination cards — 21st.dev overlay, image-led */
.promo-tours .tour,
.promo-tours div.tour {
	position: relative;
	min-height: 360px;
	background: #0b1a2e;
	border: 0;
	border-radius: 14px;
	overflow: hidden;
}

.promo-tours .tours.box-3 .tour {
	min-height: 380px;
}

.promo-tours .tour > a {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	overflow: hidden;
	flex: none;
	min-height: 0;
}

.promo-tours .tour > a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 32%, rgba(8, 22, 42, .45) 64%, rgba(8, 22, 42, .9) 100%);
}

.promo-tours .tour .img {
	position: absolute !important;
	inset: 0;
	height: 100% !important;
	min-height: 100%;
	z-index: 0;
	background-size: cover;
	background-position: center;
}

.promo-tours .tour b.title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 92px;
	z-index: 2;
	margin: 0;
	padding: 0 18px;
	background: none;
	color: #fff !important;
	font-size: 1.22rem;
	line-height: 1.25;
	pointer-events: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.promo-tours .tour b.title span {
	position: static;
	display: inline;
	margin: 0;
	padding: 0;
	background: none;
	color: inherit !important;
	font: inherit;
}

.promo-tours .big.tours.box-2 {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch;
	height: auto;
}

.promo-tours .tour.big,
.promo-tours div.tour.big {
	background: #0b1a2e;
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	align-self: stretch;
	width: 100%;
	min-height: 0;
	height: auto;
}

.promo-tours .tour.big b.title {
	bottom: 118px;
	padding: 0 22px;
	background: none;
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	color: #fff !important;
	-webkit-line-clamp: 3;
}

.promo-tours .tour.big b.title span {
	position: static;
	display: inline;
	color: inherit !important;
}

.promo-tours .tour .text-info {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	padding: 0 18px 16px;
	background: transparent !important;
	flex: 0 0 auto;
}

.promo-tours .tour .desc,
.promo-tours .tour p.desc,
.promo-tours .tour .text-info > div[style*="transparent"] {
	display: none !important;
}

.promo-tours .tour.big .desc,
.promo-tours .tour.big p.desc {
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	width: 100%;
	flex: 1 0 100%;
	margin: 0 0 4px;
	padding: 0;
	color: rgba(255, 255, 255, .86);
	font-size: 14px;
	line-height: 1.45;
}

.promo-tours .tour .price,
.promo-tours .tour .price.byn,
.promo-tours .big.tours .tour.big .price {
	position: static;
	float: none;
	margin: 0;
	padding: 0;
	color: #fff !important;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}

.promo-tours .tour .price .smallPrice,
.promo-tours .tour span.smallPrice {
	color: rgba(255, 255, 255, .78) !important;
}

.promo-tours .tour .per {
	margin: 0;
	padding: 4px 10px;
	color: #fff;
	background: rgba(255, 255, 255, .16);
	backdrop-filter: blur(8px);
	border-radius: 999px;
}

.promo-tours .tour:hover a,
.promo-tours .tour:hover a span,
.promo-tours .tour a:hover,
.promo-tours .tour a:hover span,
.promo-tours .tour b.title,
.promo-tours .tour b.title span {
	color: #fff !important;
}

#bx_436938707_8085 .img { background-image: url("../img/dest/sicily.jpg") !important; }
#bx_436938707_8090 .img { background-image: url("../img/dest/italy.jpg") !important; }
#bx_436938707_8247 .img { background-image: url("../img/dest/jesolo.jpg") !important; }
#bx_436938707_8088 .img { background-image: url("../img/dest/alps.jpg") !important; }
#bx_436938707_8496 .img { background-image: url("../img/dest/maldives.jpg") !important; }
#bx_436938707_8265 .img { background-image: url("../img/dest/crete.jpg") !important; }
#bx_436938707_24987 .img { background-image: url("../img/dest/hainan.jpg") !important; }
#bx_436938707_25023 .img { background-image: url("../img/dest/livigno.jpg") !important; }
#bx_436938707_25200 .img { background-image: url("../img/dest/nhatrang.jpg") !important; }

@media (hover: hover) {
	.promo-tours .tour:hover {
		transform: translateY(-6px);
		box-shadow: 0 22px 48px rgba(8, 22, 42, .22);
	}

	.promo-tours .tour:hover .img {
		transform: scale(1.07);
	}
}

@media only screen and (max-width: 991px) {
	.promo-tours .tour,
	.promo-tours .tour.big,
	.promo-tours .tours.box-3 .tour {
		min-height: 320px;
		height: auto;
	}

	.promo-tours .tour.big > a,
	.promo-tours .tour > a {
		position: absolute;
		inset: 0;
		height: auto;
		min-height: 0;
		flex: none;
	}

	.promo-tours .tour.big {
		min-height: 420px;
		flex: none;
		height: auto;
	}
}

/* Catalog list cards — same overlay as homepage */
.tours-simple-list .tour,
.tours-simple-list div.tour {
	position: relative;
	min-height: 360px;
	height: auto !important;
	background: #0b1a2e !important;
	border: 0;
	border-radius: 14px;
	overflow: hidden;
	display: block !important;
	flex-wrap: nowrap;
}

.tours-simple-list li.ts-col-lg-8,
.tours-simple-list li.ts-col-md-12 {
	display: flex;
	margin-bottom: 20px;
}

.tours-simple-list li .tour {
	width: 100%;
	flex: 1 1 auto;
}

.tours-simple-list .tour > a {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	overflow: hidden;
	width: auto !important;
	padding: 0 !important;
	flex: none;
	min-height: 0;
}

.tours-simple-list .tour > a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 32%, rgba(8, 22, 42, .45) 64%, rgba(8, 22, 42, .9) 100%);
}

.tours-simple-list .tour .img {
	position: absolute !important;
	inset: 0;
	height: 100% !important;
	min-height: 100%;
	z-index: 0;
	background-size: cover;
	background-position: center;
}

.tours-simple-list .tour b.title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 72px;
	z-index: 2;
	margin: 0 !important;
	padding: 0 18px;
	background: none;
	color: #fff !important;
	font-size: 1.22rem;
	line-height: 1.25;
	pointer-events: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.tours-simple-list .tour b.title span {
	position: static;
	display: inline;
	margin: 0;
	padding: 0;
	background: none;
	color: inherit !important;
	font: inherit;
}

.tours-simple-list .tour > a + div,
.tours-simple-list .tour .text-info {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	padding: 0 18px 16px !important;
	background: transparent !important;
	width: auto !important;
	flex: 0 0 auto;
}

.tours-simple-list .tour .desc,
.tours-simple-list .tour p.desc {
	display: none !important;
}

.tours-simple-list .tour .price,
.tours-simple-list .tour .price.byn,
.tours-simple-list .tour .no-price {
	position: static;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-family: var(--sm-sans);
	font-weight: 800;
	font-size: 1.15rem;
	line-height: 1.2;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
	background: none;
}

.tours-simple-list .tour .price .smallPrice,
.tours-simple-list .tour span.smallPrice {
	display: block;
	color: rgba(255, 255, 255, .78) !important;
	font-size: 13px;
	font-weight: 600;
	text-shadow: none;
}

.tours-simple-list .tour .per {
	margin: 0;
	padding: 4px 10px;
	float: none;
	color: #fff;
	background: rgba(255, 255, 255, .16);
	backdrop-filter: blur(8px);
	border-radius: 999px;
}

.tours-simple-list .tour:hover a,
.tours-simple-list .tour:hover a span,
.tours-simple-list .tour a:hover,
.tours-simple-list .tour a:hover span,
.tours-simple-list .tour b.title,
.tours-simple-list .tour b.title span {
	color: #fff !important;
}

@media (hover: hover) {
	.tours-simple-list .tour:hover {
		transform: translateY(-6px);
		box-shadow: 0 22px 48px rgba(8, 22, 42, .22);
	}

	.tours-simple-list .tour:hover .img {
		transform: scale(1.07);
	}
}

@media only screen and (max-width: 991px) {
	.tours-simple-list .tour,
	.tours-simple-list div.tour {
		min-height: 320px;
	}
}

/* Hotel cards */
.hotels-list {
	overflow: visible;
	margin: 4px -8px 8px;
}

.hotels-list ul.ts-row {
	margin: 0;
}

.hotels-list li {
	list-style: none;
	margin: 0 0 20px;
	padding: 0 8px;
}

.hotels-list li > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow);
	overflow: hidden;
	padding: 0;
	border-bottom: 0 !important;
	color: var(--sm-navy);
	transition: transform var(--sm-ease), box-shadow var(--sm-ease);
}

@media (hover: hover) {
	.hotels-list li > a:hover {
		transform: translateY(-3px);
		box-shadow: var(--sm-shadow-hover);
		color: var(--sm-navy);
	}

	.hotels-list li > a:hover span.img {
		transform: scale(1.04);
	}
}

.hotels-list li a span.img {
	height: 180px;
	width: 100%;
	margin: 0;
	background-color: #e8eef6;
	background-size: cover;
	background-position: center;
	transition: transform .45s ease;
}

.hotels-list li a span.stars {
	background: none;
	padding: 12px 16px 0;
	color: #d4a017;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .04em;
	border: 0;
}

.hotels-list li a span.stars::after {
	content: " ★";
	font-size: 13px;
}

.hotels-list li a b.title,
.hotels-list li a b.title span,
.hotels-list li a:hover b.title,
.hotels-list li a:hover b.title span {
	display: block;
	font-family: var(--sm-display);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--sm-navy) !important;
	padding: 6px 16px 16px;
	margin: 0;
	border: 0 !important;
	text-decoration: none;
}

/* Hotel catalog listing — overlay cards like tour catalog */
body.sm-hotel-list .hotels-list li.ts-col-lg-6,
body.sm-hotel-list .hotels-list li.ts-col-md-12,
body.sm-hotel-list .hotels-list li.ts-col-24 {
	display: flex;
}

body.sm-hotel-list .hotels-list li > a {
	position: relative;
	display: block;
	min-height: 320px;
	height: auto;
	background: #0b1a2e;
	border: 0 !important;
	border-radius: 14px;
	box-shadow: none;
	overflow: hidden;
	padding: 0;
	color: #fff;
}

body.sm-hotel-list .hotels-list li > a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 32%, rgba(8, 22, 42, .45) 64%, rgba(8, 22, 42, .9) 100%);
}

body.sm-hotel-list .hotels-list li a span.img {
	position: absolute !important;
	inset: 0;
	height: 100% !important;
	min-height: 100%;
	width: 100%;
	margin: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
	transition: transform .45s ease;
}

body.sm-hotel-list .hotels-list li a span.stars {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	padding: 4px 10px;
	margin: 0;
	background: rgba(255, 255, 255, .16);
	backdrop-filter: blur(8px);
	border-radius: 999px;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
	border: 0;
}

body.sm-hotel-list .hotels-list li a span.stars::after {
	content: " ★";
	font-size: 12px;
}

body.sm-hotel-list .hotels-list li a b.title,
body.sm-hotel-list .hotels-list li a b.title span,
body.sm-hotel-list .hotels-list li a:hover b.title,
body.sm-hotel-list .hotels-list li a:hover b.title span {
	color: #fff !important;
}

body.sm-hotel-list .hotels-list li a b.title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
	z-index: 2;
	margin: 0;
	padding: 0 16px;
	background: none;
	font-family: var(--sm-serif);
	font-size: 1.12rem;
	font-weight: 600;
	line-height: 1.25;
	pointer-events: none;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.sm-hotel-list .hotels-list li a b.title span {
	position: static;
	display: inline;
	margin: 0;
	padding: 0;
	background: none;
	font: inherit;
}

@media (hover: hover) {
	body.sm-hotel-list .hotels-list li > a:hover {
		transform: translateY(-6px);
		box-shadow: 0 22px 48px rgba(8, 22, 42, .22);
		color: #fff;
	}

	body.sm-hotel-list .hotels-list li > a:hover span.img {
		transform: scale(1.07);
	}
}

@media only screen and (max-width: 991px) {
	body.sm-hotel-list .hotels-list li > a {
		min-height: 300px;
	}
}

/* Search module */
.search-tours-module {
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: var(--sm-shadow);
	margin: 20px auto 8px;
	border: 1px solid var(--sm-line);
	background: #fff;
}

/* Inner pages */
.list-breadcrumb {
	font-family: var(--sm-sans);
	font-size: 13px;
	color: var(--sm-muted);
	margin: 4px 0 20px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px;
	list-style: none;
}

.list-breadcrumb li {
	display: inline-flex;
	align-items: center;
	list-style: none;
}

.list-breadcrumb a,
.list-breadcrumb .link-dr-blue {
	color: var(--sm-navy);
	border: 0;
	font-weight: 600;
}

.list-breadcrumb a:hover {
	color: var(--sm-navy);
}

.list-breadcrumb svg {
	fill: var(--sm-navy);
	opacity: .35;
}

.content {
	background: var(--sm-card);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow);
	border: 1px solid var(--sm-line);
	padding: 28px 32px 36px;
	margin: 0 0 32px;
}

.content,
.content p,
.content li {
	font-size: 16px;
	line-height: 1.75;
	color: var(--sm-text);
}

.content h1,
.content h2,
.content h3 {
	font-family: var(--sm-serif);
	color: var(--sm-navy);
}

.content iframe,
.content .office-map iframe,
.gallery.slick-initialized {
	border: 0;
	border-radius: var(--sm-radius-sm);
	max-width: 100%;
}

.content .gallery {
	margin-bottom: 24px !important;
	border-radius: var(--sm-radius-sm);
	overflow: hidden;
}

.office-map {
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: var(--sm-shadow);
	margin: 16px 0 24px;
}

.office .gallery span {
	border-radius: var(--sm-radius-sm);
}

/* Contact phones + staff */
.contacts .phones div,
.contacts .content .phones > div {
	background: var(--sm-bg);
	border: 1px solid var(--sm-line);
	border-radius: var(--sm-radius);
	padding: 18px 20px 20px;
}

.contacts .phones div p.title {
	font-family: var(--sm-serif);
	font-size: 1.2rem;
	color: var(--sm-navy);
	font-weight: 600;
}

.contacts .content .mail a,
.contacts .content a.mail {
	font-weight: 700;
	color: var(--sm-navy);
}

.contacts .workers h2,
.agencies .workers h2 {
	font-family: var(--sm-serif);
	margin: 28px 0 18px;
}

.contacts .workers [id^="bx_"],
.agencies .workers [id^="bx_"] {
	flex: 0 1 240px;
	width: 240px;
	max-width: 100%;
	float: none;
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow);
	padding: 22px 18px 18px;
	margin: 0;
	text-align: center;
}

.contacts .workers .name,
.agencies .workers .name {
	font-family: var(--sm-serif);
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--sm-navy);
}

.contacts .workers img,
.agencies .workers img {
	border-radius: 50%;
	box-shadow: 0 6px 16px rgba(1, 63, 137, .12);
}

.contacts .workers a,
.agencies .workers a {
	color: var(--sm-navy);
	font-weight: 600;
}

/* Blog list + home posts */
.container.blog .content,
.blog .content {
	display: block !important;
	background: none;
	box-shadow: none;
	border: 0;
	padding: 0;
	overflow: visible;
	max-width: none;
	width: 100%;
}

.blog .content ul.posts {
	margin: 0;
	padding: 0;
	list-style: none !important;
}

.blog .content ul.posts li {
	display: flex;
	gap: 20px;
	align-items: stretch;
	background: #fff;
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow);
	border: 1px solid var(--sm-line);
	padding: 16px;
	overflow: visible;
	margin: 0 0 16px;
}

.blog .content ul.posts li a.img {
	float: none;
	flex: 0 0 32%;
	width: 32%;
	max-width: 380px;
	height: 200px;
	margin: 0;
	border-radius: var(--sm-radius-sm);
}

.blog .content ul.posts li .info {
	float: none;
	margin: 0;
	overflow: visible;
	flex: 1;
	min-width: 0;
}

.blog .content ul.posts li h2,
.blog .content ul.posts li h2 a {
	font-family: var(--sm-serif);
	color: var(--sm-navy);
	text-decoration: none;
	border-bottom: 0;
}

.blog .content ul.posts li h2 {
	margin: 0 0 8px;
	font-size: 1.25rem;
}

.blog .content .c_pagination,
.blog .content .pages {
	max-width: none;
}

.blog .content .pages ul {
	flex-wrap: wrap;
	gap: 6px;
}

.blog .content .pages ul li {
	float: none;
	border-radius: 10px;
	font-size: 15px;
	padding: 8px 12px;
	margin: 0;
}

.blog .content .pages ul li.active {
	background: var(--sm-navy);
	color: #fff;
}

.blog .sidebar ul {
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow);
	border: 1px solid var(--sm-line);
}

@media only screen and (max-width: 700px) {
	.blog .content ul.posts li {
		flex-direction: column;
	}

	.blog .content ul.posts li a.img {
		width: 100%;
		max-width: none;
		flex: 0 0 auto;
		flex-basis: auto;
		height: 180px;
	}
}

/* Blog listing — overlay cards + cinematic hero like catalogs */
body.sm-blog-list {
	background: var(--sm-bg);
}

body.sm-blog-list .sm-tour-seo-note,
body.sm-blog-list ul.list-breadcrumb,
body.sm-blog-list .ts-col-24:has(> ul.list-breadcrumb),
body.sm-blog-list .sm-seo-lead,
body.sm-blog-list .sm-seo-cta,
body.sm-blog-list .ts-col-24:has(> .sm-seo-lead) {
	display: none !important;
}

body.sm-blog-list .ts-wrap.ts-mb-2 {
	margin-top: -24px;
	position: relative;
	z-index: 2;
}

body.sm-blog-list .container.blog {
	max-width: 1200px;
}

body.sm-blog-list .blog .content ul.posts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 28px;
}

body.sm-blog-list .blog .content ul.posts li {
	display: block;
	position: relative;
	min-height: 340px;
	height: auto;
	padding: 0;
	margin: 0;
	background: #0b1a2e;
	border: 0;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 28px rgba(8, 22, 42, .1);
	transition: transform .25s ease, box-shadow .25s ease;
}

body.sm-blog-list .blog .content ul.posts li a.img {
	position: absolute;
	inset: 0;
	z-index: 0;
	float: none;
	display: block;
	width: auto;
	max-width: none;
	flex: none;
	height: auto;
	margin: 0;
	border-radius: 0;
	background-size: cover;
	background-position: center;
	transition: transform .45s ease;
}

body.sm-blog-list .blog .content ul.posts li a.img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 28%, rgba(8, 22, 42, .5) 62%, rgba(8, 22, 42, .92) 100%);
}

body.sm-blog-list .blog .content ul.posts li .info {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding: 22px 20px 20px;
	overflow: visible;
	float: none;
}

body.sm-blog-list .blog .content ul.posts li .date {
	display: block;
	font-family: var(--sm-kicker);
	font-size: 11px;
	font-weight: 700;
	font-style: normal;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sm-gold);
	margin: 0 0 8px;
}

body.sm-blog-list .blog .content ul.posts li h2 {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.25;
}

body.sm-blog-list .blog .content ul.posts li h2 a,
body.sm-blog-list .blog .content ul.posts li h2 a:hover {
	color: #fff !important;
	border-bottom: 0 !important;
}

body.sm-blog-list .blog .content ul.posts li .info p,
body.sm-blog-list .blog .content ul.posts li .info > a {
	display: none;
}

@media (hover: hover) {
	body.sm-blog-list .blog .content ul.posts li:hover {
		transform: translateY(-5px);
		box-shadow: 0 22px 44px rgba(8, 22, 42, .18);
	}

	body.sm-blog-list .blog .content ul.posts li:hover a.img {
		transform: scale(1.06);
	}
}

body.sm-blog-list .blog .content .pages {
	margin: 8px 0 36px;
}

body.sm-blog-list .blog .content .pages ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

body.sm-blog-list .blog .content .pages ul li,
body.sm-blog-list .blog .content .pages ul li a {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	margin: 0;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sm-line);
	color: var(--sm-navy);
	font-weight: 700;
	float: none;
}

body.sm-blog-list .blog .content .pages ul li.active {
	background: var(--sm-navy);
	color: #fff;
	border-color: var(--sm-navy);
}

#sm-blog-grid {
	scroll-margin-top: 96px;
}

@media only screen and (max-width: 991px) {
	body.sm-blog-list .ts-wrap.ts-mb-2 {
		margin-top: 0;
	}

	body.sm-blog-list .blog .content ul.posts {
		grid-template-columns: 1fr;
	}

	body.sm-blog-list .blog .content ul.posts li {
		min-height: 280px;
	}
}

.last-posts {
	padding: 56px 30px 64px;
	background: #fff;
	border-top: 0;
}

.last-posts .h2 {
	font-family: var(--sm-serif);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 600;
	line-height: 1.15;
	margin-bottom: 32px;
	text-align: center;
}

.last-posts li a {
	font-family: var(--sm-serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--sm-navy);
	border: 0;
}

.last-posts li a:hover {
	color: var(--sm-navy);
}

.last-posts li span.date {
	font-family: var(--sm-sans);
	font-size: 13px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--sm-muted);
}

/* Home SEO article */
.mainpage-note {
	padding: 36px 30px 56px;
	color: var(--sm-text);
	font-size: 16px;
	line-height: 1.75;
	max-width: 920px;
	margin: 0 auto;
}

.mainpage-note h1 {
	margin-bottom: 18px;
	font-size: clamp(1.7rem, 2.4vw, 2.1rem);
	font-weight: 800;
	line-height: 1.25;
}

.mainpage-note h2,
.mainpage-note h3 {
	margin: 28px 0 12px;
	font-family: var(--sm-display);
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -.015em;
}

.mainpage-note p {
	margin: 0 0 14px;
	color: var(--sm-text);
}

.mainpage-note ul,
.mainpage-note ol {
	margin: 8px 0 18px 22px;
}

.mainpage-note li {
	margin: 8px 0;
}

.mainpage-note blockquote {
	margin: 28px 0 8px;
	padding: 20px 24px;
	background: #fff;
	border-left: 4px solid var(--sm-gold);
	border-radius: 0 var(--sm-radius-sm) var(--sm-radius-sm) 0;
	box-shadow: var(--sm-shadow);
	font-family: var(--sm-sans);
	font-style: normal;
	font-weight: 600;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--sm-navy);
}

/* Tours category intro + filter */
.custom-bgwhite,
#top_desc_block {
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow);
	padding: 18px 22px !important;
}

.custom-bgwhite h3,
#top_desc_block h3 {
	font-family: var(--sm-serif);
	font-weight: 500;
	font-size: 1.15rem;
	line-height: 1.45;
	color: var(--sm-navy);
	margin: 0;
}

.bx-filter,
.sidebar-block {
	background: #fff;
	border-radius: var(--sm-radius);
	border: 1px solid var(--sm-line);
}

.sidebar {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.bx-filter {
	padding: 16px 16px 14px;
	box-shadow: var(--sm-shadow);
	overflow: hidden;
}

.bx-filter .bx-filter-section,
.bx-filter .bx-filter-section.container-fluid,
.bx-filter .sm-filter-lazy,
.bx-filter #sm-filter-slot,
.bx-filter form.smartfilter {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.bx-filter .bx-filter-section {
	padding: 0 !important;
}

.bx-filter .sidebar-block,
.bx-filter .bx-filter-parameters-box {
	background: transparent;
	border: 0;
	box-shadow: none;
	border-radius: 0;
	margin: 0 0 8px;
	padding: 0;
}

.bx-filter .filter-name {
	margin-bottom: 10px;
}

.sidebar-title,
.bx-filter .sidebar-title {
	font-family: var(--sm-display);
	color: var(--sm-navy);
	font-weight: 700;
	font-size: 1.05rem;
}

.bx-filter .collapse,
.bx-filter .bx-filter-parameters-box-title {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0 12px;
	line-height: 42px !important;
	background: var(--sm-bg) !important;
	border: 1px solid var(--sm-line);
	border-radius: 12px;
	cursor: pointer;
}

.bx-filter .collapse:hover,
.bx-filter .bx-filter-parameters-box-title:hover {
	background: #fff !important;
	border-color: var(--sm-gold);
}

.bx-filter .collapse__link,
.bx-filter .angle-name {
	color: var(--sm-navy) !important;
	font-size: 14px;
	font-weight: 700;
	line-height: inherit;
	border-bottom: 0 !important;
	margin: 0 !important;
}

.bx-filter .collapse:hover .collapse__link {
	color: var(--sm-navy) !important;
	border-bottom: 0 !important;
}

.bx-filter .angle-role {
	display: inline-flex !important;
	align-items: center;
	color: var(--sm-navy);
}

.bx-filter .bx-filter-block,
.bx-filter .bx-filter-parameters-box.bx-active .bx-filter-block {
	background: transparent !important;
	padding: 8px 4px 4px !important;
	max-height: 220px;
	overflow: auto;
}

.bx-filter .checkbox-text,
.bx-filter .input-entry .checkbox-text {
	color: var(--sm-navy) !important;
	font-size: 14px;
	line-height: 1.4;
}

.bx-filter .form__btns,
.bx-filter .bx-filter-button-box .bx-filter-block {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
	padding: 8px 0 0 !important;
	max-height: none;
	overflow: visible;
}

.bx-filter .form__btn,
.bx-filter .form__btn-send,
.bx-filter .form__btn-reset {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
	padding: 10px 14px;
	border-radius: 999px !important;
	font-family: var(--sm-sans);
	font-weight: 800;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
}

.bx-filter .form__btn-send,
.form__btn-send {
	background: var(--sm-gold) !important;
	color: var(--sm-navy) !important;
	border: 0 !important;
}

.bx-filter .form__btn-send:hover,
.form__btn-send:hover {
	background: var(--sm-gold-hover) !important;
	color: var(--sm-navy) !important;
}

.bx-filter .form__btn-reset,
.form__btn-reset {
	background: #fff !important;
	color: var(--sm-navy) !important;
	border: 1px solid var(--sm-line) !important;
}

.bx-filter .form__btn-reset:hover,
.form__btn-reset:hover {
	background: var(--sm-gold-soft) !important;
	border-color: var(--sm-gold) !important;
}

.c_pagination,
.pages {
	display: flex;
	justify-content: center;
	margin: 28px 0 12px;
}

.c_pagination ul,
.pages ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.c_pagination ul li,
.pages ul li,
.blog .content .pages ul li,
.pages ul li.active,
.blog .content .pages ul li.active {
	float: none !important;
	font-family: var(--sm-sans);
	font-size: 15px !important;
	font-weight: 700;
	line-height: 1;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	list-style: none;
	background: none !important;
	color: var(--sm-navy);
}

.c_pagination ul li a,
.pages ul li a,
.c_pagination ul li.active,
.pages ul li.active,
.blog .content .pages ul li.active,
.pages ul li.active a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px !important;
	border-radius: 10px;
	border: 1px solid var(--sm-line) !important;
	background: #fff !important;
	color: var(--sm-navy) !important;
	text-decoration: none;
	border-bottom: 1px solid var(--sm-line) !important;
}

.c_pagination ul li.active,
.pages ul li.active,
.blog .content .pages ul li.active,
.c_pagination ul li.active a,
.pages ul li.active a {
	background: var(--sm-navy) !important;
	color: #fff !important;
	border-color: var(--sm-navy) !important;
}

.c_pagination ul li a:hover,
.pages ul li a:hover {
	border-color: var(--sm-gold) !important;
	background: var(--sm-gold-soft) !important;
	color: var(--sm-navy) !important;
}

.c_pagination ul li a:not([href]) {
	pointer-events: none;
	color: var(--sm-muted) !important;
	border-style: dashed !important;
	background: transparent !important;
}

/* Sort / filter */
.sort-view,
.search-tours-module {
	border-radius: var(--sm-radius-sm);
	border: 1px solid var(--sm-line);
	background: #fff;
}

.sort-view {
	padding: 10px 14px;
	box-shadow: 0 4px 14px rgba(1, 63, 137, .04);
}

/* Buttons */
a.button-border,
button.button-border,
.button-border {
	font-family: var(--sm-sans);
	border-radius: 999px;
}

a.button-border,
a.button-border:visited,
a.button-border span,
a.button-border:visited span {
	color: var(--sm-navy);
}

a.button-border:hover,
a.button-border:visited:hover {
	background: var(--sm-gold-soft);
}

/* Promo slides leftover cyan → navy */
.slides .item,
.actions .item {
	background: var(--sm-navy) !important;
	border-radius: var(--sm-radius);
	overflow: hidden;
}

.slides .item:hover,
.actions .item:hover {
	background: var(--sm-navy-deep) !important;
}

.slides .item span.img,
.actions .item span.img {
	border-radius: var(--sm-radius-sm) var(--sm-radius-sm) 0 0;
}

/* Footer — Agency Footer grid (21st.dev/@shadcnspace/footer-01) in Solemare navy/gold */
#footer,
#footer-dark {
	float: none !important;
	width: 100% !important;
	overflow: visible;
	background: #08162a;
	color: rgba(246, 243, 238, .88);
	font-family: var(--sm-sans);
	font-size: 15px;
	line-height: 1.55;
}

#footer {
	padding: 72px 20px 48px;
	margin-top: 56px;
	border-top: 1px solid rgba(253, 197, 3, .2);
}

#footer .container,
#footer-dark .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

#footer .wrap,
#footer-dark .wrap {
	display: grid;
	grid-template-columns: 1.2fr 1fr .9fr 1.35fr;
	gap: 40px 28px;
	margin: 0 !important;
	align-items: start;
}

#footer .col1-1,
#footer .col1-2,
#footer ul.col1-3,
#footer ul.col1-4,
#footer-dark .copy,
#footer-dark .social,
#footer-dark .payments {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
}

#footer .clear {
	display: none !important;
}

#footer h2,
#footer .h2 {
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--sm-gold);
	margin: 0 0 14px;
	line-height: 1.3;
}

#footer .col1-2 .h2 + p + .h2 {
	margin-top: 22px;
}

#footer ul.col1-3 {
	display: flex !important;
	flex-direction: column;
	list-style: none;
}

#footer ul.col1-4 {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
	row-gap: 0;
	list-style: none;
}

#footer ul.col1-3::before,
#footer ul.col1-4::before {
	display: block;
	margin: 0 0 14px;
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--sm-gold);
}

#footer ul.col1-3::before {
	content: "Компания";
}

#footer ul.col1-4::before {
	content: "Направления";
	grid-column: 1 / -1;
}

.sm-foot__brand {
	display: inline-block;
	margin: 0 0 18px;
	border: 0 !important;
	font-family: var(--sm-serif);
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.03em;
	color: #fff !important;
}

.sm-foot__brand:hover {
	color: var(--sm-gold) !important;
}

.sm-foot__lead {
	margin: 0 0 22px;
	max-width: 28ch;
	font-size: 15px;
	line-height: 1.5;
	color: rgba(246, 243, 238, .72);
}

#footer .phones {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	color: rgba(246, 243, 238, .5);
}

#footer p.phones a,
#footer .phones a {
	display: inline;
	margin: 0 6px 0 0;
	padding: 0;
	border: 0 !important;
	font-family: var(--sm-serif);
	font-size: 1.45rem;
	font-weight: 600;
	line-height: 1.25;
	color: #fff;
	letter-spacing: 0;
}

#footer p.phones br {
	display: block;
	content: "";
	margin-bottom: 6px;
}

#footer .col1-1 .mail,
#footer a.mail,
#footer a.mail span {
	background: none !important;
	padding-left: 0 !important;
	border: 0 !important;
	color: rgba(246, 243, 238, .88);
}

#footer .col1-2 p {
	margin: 0;
	color: rgba(246, 243, 238, .82);
}

#footer a,
#footer a span,
#footer .col1-4 a {
	color: rgba(246, 243, 238, .86);
	border: 0;
	text-decoration: none;
	cursor: pointer;
	transition: color .2s ease;
}

#footer ul.col1-3 a,
#footer ul.col1-4 a {
	display: block;
	padding: 5px 0;
	font-size: 14px;
	line-height: 1.4;
	color: rgba(246, 243, 238, .78);
}

#footer a:hover,
#footer a:hover span,
#footer .col1-4 a:hover,
#footer p.phones a:hover,
#footer a.mail:hover,
#footer a.mail:hover span {
	color: var(--sm-gold);
}

#footer a:focus-visible,
#footer-dark a:focus-visible {
	outline: 2px solid var(--sm-gold);
	outline-offset: 3px;
	border-radius: 4px;
}

#footer .col1-1 .social {
	margin-top: 22px !important;
	height: auto !important;
	width: auto !important;
}

#footer .social p,
#footer-dark .social p {
	margin: 0 0 10px;
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sm-gold);
}

#footer .social a,
#footer-dark .social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	float: none;
	width: 40px;
	height: 40px;
	margin: 0 8px 0 0;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	background-color: transparent;
	vertical-align: middle;
	transition: border-color .2s ease, background-color .2s ease;
}

#footer .social a:hover,
#footer-dark .social a:hover {
	border-color: var(--sm-gold) !important;
	background-color: rgba(253, 197, 3, .12);
}

#footer .social a.vk,
#footer-dark .social a.vk {
	background-image: url(../img/social.png?v=4) !important;
	background-repeat: no-repeat !important;
	background-position: 5px 5px !important;
}

#footer .social a.fb,
#footer-dark .social a.fb {
	background-image: url(../img/social.png?v=4) !important;
	background-repeat: no-repeat !important;
	background-position: -37px 5px !important;
}

#footer .social a.in,
#footer-dark .social a.in {
	background-image: url(../img/social.png?v=4) !important;
	background-repeat: no-repeat !important;
	background-position: -121px 5px !important;
}

#footer .social a.tm,
#footer-dark .social a.tm {
	background-image: url(../img/social.png?v=4) !important;
	background-repeat: no-repeat !important;
	background-position: -205px 5px !important;
}

#footer-dark {
	padding: 28px 20px 40px;
	background: #06101c;
	border-top: 1px solid rgba(255, 255, 255, .08);
}

#footer-dark .wrap {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
	gap: 32px 40px;
	align-items: start;
}

#footer-dark a,
#footer-dark a span {
	color: rgba(246, 243, 238, .8);
	border: 0;
}

#footer-dark a:hover,
#footer-dark a:hover span {
	color: var(--sm-gold);
}

#footer-dark .copy p,
#footer-dark .copy .small,
#footer-dark .copy .outline {
	color: rgba(246, 243, 238, .62);
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 8px;
}

#footer-dark .copy {
	font-size: 14px;
	color: #fff;
}

#footer-dark .copy .outline {
	margin-top: 12px;
}

#footer-dark .payments {
	background: none;
}

#footer-dark .payments > p:first-child {
	margin: 0 0 12px;
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sm-gold);
}

#footer-dark .item-form {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0 0 10px;
}

#footer-dark .item-form-input {
	float: none !important;
	width: 180px !important;
	height: 44px !important;
	margin: 0 !important;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .2);
	background: rgba(255, 255, 255, .06);
	color: #fff;
	font-family: var(--sm-sans);
	padding: 0 16px;
}

#footer-dark .item-form-input::placeholder {
	color: rgba(246, 243, 238, .45);
}

#footer-dark .item-form-submit {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0 !important;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: var(--sm-gold);
	color: var(--sm-navy);
	font-family: var(--sm-sans);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	transition: background .2s ease;
}

#footer-dark .item-form-submit:hover {
	background: var(--sm-gold-hover);
}

#footer-dark .payments img {
	width: min(280px, 100%);
	margin-top: 8px;
	opacity: .9;
}

#footer-dark .payments a[href*="travelsoft"],
#footer-dark img[src*="travelsoft"],
#footer-dark img[alt*="TRAVELSOFT" i] {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	#footer a,
	#footer-dark a,
	#footer-dark .item-form-submit {
		transition: none;
	}
}

@media only screen and (max-width: 1024px) {
	#footer {
		padding: 56px 16px 40px;
	}

	#footer .wrap {
		grid-template-columns: 1fr 1fr;
		gap: 32px 24px;
	}

	#footer .col1-1 {
		grid-column: 1 / -1;
	}
}

@media only screen and (max-width: 640px) {
	#footer .wrap,
	#footer-dark .wrap {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	#footer ul.col1-4 {
		grid-template-columns: 1fr 1fr;
	}

	#footer-dark {
		padding: 28px 16px 36px;
	}
}

/* Mobile nav */
#mobile-header .navigation,
.new-mobile-header .navigation {
	font-family: var(--sm-sans);
}

#mobile-header .navigation a {
	font-weight: 600;
}

/* Cookie — slim bar, must not cover «Все страны» */
.cookie_notice {
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	flex-wrap: nowrap;
	font-family: var(--sm-sans);
	font-size: 12px;
	line-height: 1.35;
	text-align: left;
	background: var(--sm-navy-deep);
	padding: 8px 16px;
	max-height: 52px;
	overflow: hidden;
}

.cookie_notice > div {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.cookie_notice[style*="block"],
.cookie_notice[style*="flex"] {
	display: flex !important;
}

.cookie_notice,
.cookie_btn,
.cookie_btn:hover {
	color: #fff;
}

.cookie_btn,
.cookie_btn:visited {
	font-family: var(--sm-sans);
	border-radius: 999px;
	background: var(--sm-gold);
	color: var(--sm-navy) !important;
	border: 0;
	padding: 8px 14px;
	margin: 0;
	text-transform: none;
	letter-spacing: 0;
	font-size: 13px;
	font-weight: 700;
}

.cookie_btn:before,
.cookie_btn:after {
	content: none !important;
	display: none;
}

.cookie_btn:hover,
.cookie_btn:visited:hover {
	background: var(--sm-gold-hover);
	border: 0;
	color: var(--sm-navy) !important;
}

@media (prefers-reduced-motion: reduce) {
	.tour,
	.tour .img,
	a,
	#menu ul li a {
		transition: none;
	}

	.tour:hover,
	.tour:hover .img {
		transform: none;
	}
}

@media only screen and (max-width: 1024px) {
	#menu > .container > ul > li > a,
	#menu > .container > ul > li > .nav-link > a {
		font-size: 14px;
		padding: 0 10px;
		line-height: 56px;
	}

	.tour .img {
		height: 180px;
	}

	.content {
		padding: 20px 18px 28px;
	}

	.mainpage-note {
		padding: 24px 18px 40px;
	}
}

@media only screen and (max-width: 991px) {
	.tour.big,
	div.tour.big,
	.big.tours.box-2 {
		height: auto;
		align-self: auto;
	}

	.tour.big > a {
		flex: 0 0 auto;
		min-height: 0;
		height: 260px;
	}
}

@media only screen and (max-width: 600px) {
	h1, .ts-h1, h1.ts-col-24, .col1 h1 {
		font-size: 1.65rem;
	}

	.tour .title,
	.tour b.title,
	.tour b.title span {
		font-size: 1.1rem;
	}

	.last-posts {
		padding: 28px 16px 36px;
	}

	.countries.mainpage .ts-wrap {
		display: block !important;
		padding: 4px 12px 8px;
		overflow: hidden;
	}

	.countries.mainpage .ts-row:not(.ts-justify-content__center) {
		display: flex !important;
		flex-wrap: wrap;
		gap: 10px;
		overflow: hidden;
		padding: 0;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.countries.mainpage .ts-row:not(.ts-justify-content__center) > [class*="ts-col"] {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: none !important;
		flex-basis: auto !important;
	}

	.countries.mainpage a:not([data="see_more"]),
	.countries.mainpage .ts-d-flex {
		min-height: 0;
		width: auto;
		white-space: nowrap;
	}

	a[data="see_more"] {
		display: inline-flex;
		justify-content: center;
		width: auto;
		min-height: 36px;
	}
}

@media only screen and (max-width: 450px) {
	.countries.mainpage .ts-wrap {
		display: block !important;
		padding: 4px 0 8px;
	}
}

/* ===== Compact chrome, one accent, search, cards ===== */
.sm-chrome {
	position: sticky;
	top: 0;
	z-index: 400;
	background: #fff;
}

#header.sm-header {
	padding: 0 20px;
	box-shadow: none;
}

#header.sm-header #header-top {
	padding: 8px 0;
}

#header.sm-header #logo img {
	height: 56px;
	max-width: 168px;
}

.sm-cta-short {
	display: none;
}

#header-contacts {
	padding: 6px 20px;
}

#header-contacts .header-contacts-welcome a,
#header-contacts .header-contacts-telegramm a,
#header-contacts .header-contacts-telegramm a span,
#header-contacts .address a {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

#header-contacts .header-contacts-welcome a span {
	font-size: 16px;
	font-weight: 700;
	margin-right: 8px;
	top: 0;
}

#header-contacts .header-contacts-telegramm img {
	width: 18px;
	height: 18px;
	margin-right: 8px;
}

#menu {
	min-height: 56px;
	z-index: 210;
}

#menu > .container > ul > li > a,
#menu > .container > ul > li > .nav-link > a {
	line-height: 56px;
	font-size: 15px;
	padding: 0 12px;
}

.search-tours-module {
	margin: 8px auto 20px;
	overflow: hidden;
}

body.default .search-tours-module {
	max-width: 1400px;
}

.tour a,
.tour a span,
.tours-simple-list a,
.tours-simple-list a span,
.tour .title,
.tour b.title {
	border-bottom: 0 !important;
}

.tour a:hover,
.tour a:hover span,
.tour:hover a,
.tour:hover a span {
	color: var(--sm-navy) !important;
}

.tour.big b.title,
.tour.big b.title span,
.tour.big:hover b.title,
.tour.big:hover b.title span,
.tour.big a:hover span {
	color: #fff !important;
}

.tour-card .price,
.tour-bottom .price,
.tour-bottom .no-price,
.tour-card .no-price,
.tour-info .price,
.sidebar .price {
	color: var(--sm-price) !important;
}

a.orange-button,
a.orange-button-bottom,
.tour-card a.orange-button,
.tour-manager a.orange-button,
.pp button,
#search button {
	background: var(--sm-gold) !important;
	color: var(--sm-navy) !important;
	border: 0;
	border-radius: var(--sm-radius-sm);
	font-family: var(--sm-sans);
	font-weight: 700;
}

a.orange-button:hover,
a.orange-button-bottom:hover,
.tour-card a.orange-button:hover,
.pp button:hover,
#search button:hover {
	background: var(--sm-gold-hover) !important;
	color: var(--sm-navy) !important;
}

.country-active,
.country-menu ul li.active a,
.tour-info .tabs a.active {
	background: var(--sm-navy) !important;
	color: #fff !important;
}

@media only screen and (max-width: 1100px) {
	#header.sm-header .header-top-text-container {
		display: none;
	}
}

@media only screen and (max-width: 1024px) {
	.sm-cta-full {
		display: none;
	}

	.sm-cta-short {
		display: inline;
	}

	#header.sm-header {
		padding: 6px 12px;
	}

	#header.sm-header #header-top .ts-row {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		gap: 8px;
	}

	#header.sm-header #header-top .ts-col-14,
	#header.sm-header #header-top .ts-col-10 {
		width: auto;
		max-width: none;
		flex: 0 0 auto;
	}

	#header.sm-header #header-top .ts-col-14 {
		flex: 1 1 auto;
		min-width: 0;
	}

	#header.sm-header #header-top .ts-mr-1 a,
	#header.sm-header #header-top .button-yellow a.button-border {
		width: auto;
		min-width: 0;
		min-height: 40px;
		padding: 8px 14px;
		font-size: 13px;
	}

	#header.sm-header #header-top .ts-mr-1.button-yellow a span {
		font-size: 13px;
		white-space: nowrap;
	}

	#header-contacts .header-contacts-telegramm a span,
	#header-contacts .address {
		display: none;
	}

	#header-contacts .header-contacts-telegramm img {
		margin-right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.countries.mainpage a:not([data="see_more"]),
	a.orange-button,
	a.orange-button-bottom {
		transition: none;
	}

	.countries.mainpage a:not([data="see_more"]):hover {
		transform: none;
	}
}

/* Hide the extra navy contacts strip — phone/Telegram live in the top bar */
#header-contacts {
	display: none !important;
}

.sm-header-actions {
	gap: 12px;
}

.sm-header-phone,
.sm-header-tg,
.sm-header-ig {
	border-bottom: 0 !important;
	white-space: nowrap;
	font-family: var(--sm-sans);
	font-weight: 700;
	color: var(--sm-navy) !important;
	font-size: 14px;
	line-height: 1.2;
}

.sm-header-phone span {
	color: var(--sm-navy);
	margin-right: 4px;
	border: 0 !important;
}

.sm-header-socials {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.sm-header-tg,
.sm-header-ig {
	width: 36px;
	height: 36px;
	overflow: hidden;
	text-indent: -999px;
	flex-shrink: 0;
	opacity: 1;
	transition: opacity .15s ease;
}

.sm-header-tg:hover,
.sm-header-ig:hover {
	opacity: .8;
}

.sm-header-tg {
	background: url(/local/templates/travelsoft/img/telegramm-orange.svg) center / 22px no-repeat;
}

.sm-header-ig {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FDC500'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E") center / 22px no-repeat;
}

/* Homepage hero — cinematic Ken Burns carousel (21st Elegant Carousel) */
.sm-hero {
	position: relative;
	overflow: hidden;
	min-height: 520px;
	display: flex;
	align-items: flex-end;
	background: #08162a;
	color: #fff;
	padding: 72px 20px 40px;
}

.sm-hero__stage,
.sm-hero__slide,
.sm-hero__veil {
	position: absolute;
	inset: 0;
}

.sm-hero__stage {
	z-index: 0;
	overflow: hidden;
}

.sm-hero__slide {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity 1.15s ease;
	z-index: 0;
}

.sm-hero__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sm-hero__slide.is-active {
	opacity: 1;
	z-index: 1;
	animation: smHeroKen 5.5s ease-out forwards;
}

.sm-hero__veil {
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(8, 22, 42, .34) 0%, rgba(8, 22, 42, .5) 42%, rgba(8, 22, 42, .86) 100%);
}

.sm-hero .container {
	position: relative;
	z-index: 2;
	max-width: 1120px;
	width: 100%;
}

.sm-hero__progress {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
}

.sm-hero__tick {
	position: relative;
	width: 44px;
	height: 3px;
	padding: 12px 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	appearance: none;
}

.sm-hero__tick::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 12px;
	height: 3px;
	border-radius: 99px;
	background: rgba(255, 255, 255, .32);
}

.sm-hero__tick span {
	position: absolute;
	left: 0;
	top: 12px;
	height: 3px;
	width: 0;
	border-radius: 99px;
	background: var(--sm-gold);
}

.sm-hero__tick.is-active span {
	animation: smHeroFill 5s linear forwards;
}

@keyframes smHeroKen {
	from { transform: scale(1); }
	to { transform: scale(1.08); }
}

@keyframes smHeroFill {
	from { width: 0; }
	to { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.sm-hero__slide,
	.sm-hero__slide.is-active,
	.sm-hero__tick span,
	.sm-hero__tick.is-active span {
		animation: none !important;
		transform: none !important;
		transition: none !important;
	}

	.sm-hero__tick.is-active span {
		width: 100%;
	}
}

.sm-hero__proof {
	margin: 0 0 28px;
	font-family: var(--sm-kicker);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--sm-gold);
}

.sm-hero__kicker {
	margin: 0 0 10px;
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .82);
}

.sm-hero__title {
	display: block;
	margin: 0 0 14px;
	max-width: 14em;
	font-family: var(--sm-serif);
	font-size: clamp(2.15rem, 4.4vw, 3.55rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -.02em;
	color: #fff;
}

.sm-hero__lead {
	margin: 0 0 16px;
	max-width: 38rem;
	font-size: 16px;
	line-height: 1.55;
	font-weight: 400;
	color: rgba(255, 255, 255, .88);
}

.sm-search {
	display: grid;
	grid-template-columns: 1.4fr 1fr .7fr 1fr auto;
	gap: 10px;
	align-items: end;
	padding: 12px;
	background: rgba(255, 255, 255, .96);
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(8, 22, 42, .28);
}

.sm-search-advanced {
	display: inline-block;
	margin-top: 14px;
	padding: 8px 0;
	border: 0;
	background: none;
	color: #fff;
	font-family: var(--sm-kicker);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, .45);
	border-radius: 0;
}

.sm-search__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	color: var(--sm-muted);
	letter-spacing: .02em;
}

.sm-search__field select,
.sm-search__field input {
	width: 100%;
	height: 46px;
	padding: 0 12px;
	border: 1px solid var(--sm-line);
	border-radius: 10px;
	background: var(--sm-bg);
	color: var(--sm-navy);
	font-family: var(--sm-sans);
	font-size: 15px;
	font-weight: 700;
}

.sm-search__submit {
	height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: var(--sm-gold);
	color: var(--sm-navy);
	font-family: var(--sm-sans);
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
}

.sm-search__submit:hover {
	background: var(--sm-gold-hover);
}

body.default .search-tours-module {
	display: none;
}

body.default.sm-show-tv .search-tours-module {
	display: block;
	margin-top: 24px;
}

@media only screen and (max-width: 1024px) {
	#header.sm-header #header-top .ts-col-14,
	#header.sm-header #header-top .ts-col-10 {
		max-width: none !important;
		width: auto !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
	}

	#header.sm-header #header-top .button-border-wrap,
	#header.sm-header #header-top .button-border-wrap.ts-mr-1 {
		width: auto !important;
		margin: 0 !important;
	}

	#header.sm-header #header-top .ts-mr-1 a,
	#header.sm-header #header-top .button-yellow a.button-border {
		width: auto !important;
		min-width: 0 !important;
		min-height: 40px !important;
		padding: 8px 12px !important;
		font-size: 13px !important;
	}

	.sm-header-phone {
		width: 40px;
		height: 40px;
		overflow: hidden;
		color: transparent !important;
		background: #013f89 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fdc503' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C7.61 21 1 14.39 1 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / 20px no-repeat;
		border-radius: 10px;
		flex-shrink: 0;
	}

	.sm-header-actions {
		gap: 8px;
	}

	.sm-header-tg,
	.sm-header-ig {
		width: 40px;
		height: 40px;
	}

	.sm-search {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.sm-search__submit {
		grid-column: 1 / -1;
	}

	.cookie_notice[style*="block"],
	.cookie_notice[style*="flex"] {
		padding: 8px 12px;
		font-size: 12px;
		gap: 8px;
		max-height: 52px;
		overflow: hidden;
	}
}

@media only screen and (max-width: 600px) {
	.sm-search {
		grid-template-columns: minmax(0, 1fr);
	}

	.sm-hero {
		padding: 24px 14px 28px;
		min-height: 0;
	}
}

/* Empty leftover headings */
h1:empty {
	display: none !important;
}

.sm-seo-lead {
	font-family: var(--sm-sans);
	font-size: 16px;
	line-height: 1.55;
	max-width: 46rem;
	margin: 0 0 1.25rem;
	color: #223;
}

.sm-seo-cta,
.sm-seo-hubbox {
	font-family: var(--sm-sans);
	font-size: 16px;
	line-height: 1.55;
	max-width: 46rem;
	margin: 0 0 1.25rem;
	color: #223;
}

.sm-seo-hubbox {
	padding: 14px 16px;
	border: 1px solid var(--sm-line);
	border-radius: var(--sm-radius-sm);
	background: #fff;
}

.sm-seo-hubbox--first {
	margin-top: 12px;
	background: #fff8e8;
	border-color: var(--sm-gold, #e0b84d);
}

.sm-seo-hubbox__note {
	margin: 0 0 8px;
}

.sm-seo-hubbox__link {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	color: var(--sm-navy) !important;
	background: var(--sm-gold, #e0b84d);
	border-radius: 999px;
	padding: 10px 16px;
	text-decoration: none !important;
}

.sm-seo-hubbox__link--ghost {
	background: #fff;
	border: 1px solid var(--sm-navy);
	margin-left: 8px;
}

.sm-seo-hubbox--last {
	margin-top: 24px;
	margin-bottom: 32px;
}

.sm-seo-error-page {
	max-width: 40rem;
	padding: 8px 0 48px;
}

.sm-seo-error-page h1 {
	margin: 0 0 16px;
	font-size: 32px;
}

body.sm-404-page .sm-tour,
body.sm-404-page .gallery,
body.sm-404-page #search {
	display: none !important;
}

body.sm-404-page .ts-wrap.ts-mb-2 {
	margin-top: 0;
	padding-top: 8px;
}

body.sm-404-page .sm-seo-error-page h1 {
	margin-top: 0;
}

.sm-seo-error-page p {
	margin: 0 0 16px;
}

.sm-filter-lazy {
	margin: 0;
}

.sm-filter-lazy__btn {
	font-family: var(--sm-sans);
	font-size: 14px;
	font-weight: 700;
	color: var(--sm-navy);
	background: #fff;
	border: 1px solid var(--sm-navy);
	border-radius: 10px;
	padding: 10px 16px;
	cursor: pointer;
}

.sm-filter-lazy:has(form) .sm-filter-lazy__btn {
	margin-bottom: 18px;
}

/* SEO article: readable, not a wall */
.mainpage-note.sm-seo-clip {
	max-height: 280px;
	overflow: hidden;
	position: relative;
}

.mainpage-note.sm-seo-clip::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 80px;
	background: linear-gradient(180deg, rgba(246, 243, 238, 0), var(--sm-bg));
}

.mainpage-note h2 {
	font-size: clamp(1.15rem, 1.6vw, 1.35rem);
}

/* Catalog: filter left, results right (do not pull filter above the page title) */
@media (min-width: 968px) {
	.ts-order-lg__2 {
		order: 1 !important;
		flex: 0 0 320px !important;
		max-width: 320px !important;
		width: 320px !important;
	}

	.ts-col-24.ts-order-lg__1 {
		order: 2 !important;
		flex: 1 1 0 !important;
		max-width: none !important;
		width: auto !important;
	}
}

.sort-view {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-bottom: 16px;
}

.sort-view label {
	font-weight: 700;
	color: var(--sm-navy);
}

.sort-view a.sorting {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border: 1px solid var(--sm-line);
	border-radius: 999px;
	border-bottom: 1px solid var(--sm-line) !important;
	background: #fff;
	color: var(--sm-navy) !important;
	font-weight: 700;
	font-size: 14px;
}

.sort-view a.sorting:hover {
	border-color: var(--sm-gold);
	background: var(--sm-gold-soft);
}

.bx-filter-param-label {
	border-radius: 10px;
}

/* Italy: quieter country bar, sidebar as cards */
.country-menu {
	background: #fff !important;
	min-height: 52px;
	border-bottom: 1px solid var(--sm-line);
	box-shadow: none;
}

.country-menu ul a,
.country-menu ul a span {
	border: 0 !important;
	color: var(--sm-navy) !important;
	font-weight: 600;
}

.about-country .sidebar ul,
.container .sidebar ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0;
	margin: 0;
}

.about-country .sidebar li,
.container .sidebar .cat-item {
	list-style: none;
}

.sidebar .cat-item a {
	display: block;
	padding: 12px 14px;
	border: 1px solid var(--sm-line) !important;
	border-radius: 12px;
	background: #fff;
	color: var(--sm-navy) !important;
	font-weight: 700;
	box-shadow: 0 4px 14px rgba(1, 63, 137, .05);
}

.sidebar .cat-item a:hover {
	border-color: var(--sm-gold) !important;
	background: var(--sm-gold-soft);
}

/* Tour detail: collapse mismatched search */
#stsSearchForm.sm-sts-collapsed {
	display: none;
}

body.sm-show-sts #stsSearchForm.sm-sts-collapsed {
	display: block;
}

.sm-sts-toggle {
	display: inline-block;
	margin: 8px 0 20px;
	color: var(--sm-navy);
}

a.sm-prices-link {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--sm-gold);
	color: var(--sm-navy) !important;
	font-weight: 800;
	border-bottom: 0 !important;
}

/* Contacts: phones + map in first screen */
.container.contacts .content:not(:has(ul.posts)),
.contacts .content:not(:has(ul.posts)) {
	display: grid;
	grid-template-columns: minmax(260px, .9fr) minmax(280px, 1.2fr);
	gap: 8px 28px;
	align-items: start;
}

.contacts .phones,
.contacts p.mail,
.contacts .address {
	grid-column: 1;
	width: 100%;
}

.contacts .phones div {
	width: 100% !important;
	display: block;
}

.contacts .office {
	grid-column: 2;
	grid-row: 1 / span 8;
	margin: 0;
	overflow: visible;
}

.contacts .office-map,
.contacts .office .gallery {
	float: none;
	width: 100%;
}

.contacts .office-map {
	height: auto;
	min-height: 320px;
	margin-bottom: 12px;
}

.contacts .workers,
.agencies .workers {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 16px;
	width: 100%;
	margin-top: 24px;
}

.contacts .workers h2,
.agencies .workers h2 {
	flex: 0 0 100%;
	width: 100%;
	max-width: none;
}

@media only screen and (max-width: 800px) {
	.container.contacts .content,
	.contacts .content {
		grid-template-columns: minmax(0, 1fr);
	}

	.contacts .office {
		grid-column: 1;
		grid-row: auto;
	}
}

/* Contact page — editorial split hero + bento cards (21st Contact Page / Editorial Collage) */
body.sm-contact-page {
	background: var(--sm-bg);
}

.sm-contact {
	position: relative;
	overflow: hidden;
	min-height: 540px;
	display: flex;
	align-items: flex-end;
	background: #08162a;
	color: #fff;
	margin: 0;
}

.sm-contact__stage,
.sm-contact__veil {
	position: absolute;
	inset: 0;
}

.sm-contact__stage {
	z-index: 0;
}

.sm-contact__photo {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.sm-contact__photo--main {
	position: absolute;
	inset: 0;
	transform: scale(1.04);
	animation: smHeroKen 18s ease-out forwards;
}

.sm-contact__photo--float,
.sm-contact__photo--stamp {
	position: absolute;
	z-index: 2;
	border: 3px solid rgba(255, 255, 255, .92);
	box-shadow: 0 28px 60px rgba(8, 22, 42, .45);
	background-color: #123;
}

.sm-contact__photo--float {
	right: max(4vw, 28px);
	top: 14%;
	width: min(340px, 30vw);
	height: min(430px, 68%);
	border-radius: 22px;
}

.sm-contact__photo--stamp {
	right: max(22vw, 210px);
	bottom: 11%;
	width: 148px;
	height: 188px;
	border-radius: 16px;
	transform: rotate(-7deg);
}

.sm-contact__veil {
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(105deg, rgba(8, 22, 42, .92) 0%, rgba(8, 22, 42, .72) 38%, rgba(8, 22, 42, .28) 64%, rgba(8, 22, 42, .4) 100%);
}

.sm-contact__inner {
	position: relative;
	z-index: 3;
	max-width: 1120px;
	width: 100%;
	padding: 72px 20px 64px;
}

.sm-contact__kicker {
	margin: 0 0 12px;
	font-family: var(--sm-kicker);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sm-gold);
}

.sm-contact h1,
.sm-contact #sm-contact-title {
	margin: 0 0 16px;
	max-width: 14ch;
	color: #fff;
	font-size: clamp(2.1rem, 4.4vw, 3.4rem);
	line-height: 1.08;
	font-weight: 600;
}

.sm-contact__lead {
	margin: 0 0 28px;
	max-width: 36rem;
	font-size: 1.08rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, .88);
}

.sm-contact__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sm-contact__cta,
.sm-contact__ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	font-family: var(--sm-kicker);
	font-size: 15px;
	font-weight: 700;
	border-bottom: 0 !important;
	text-decoration: none !important;
}

.sm-contact__cta {
	background: var(--sm-gold);
	color: var(--sm-navy) !important;
}

.sm-contact__cta:hover {
	background: var(--sm-gold-hover);
	color: var(--sm-navy) !important;
}

.sm-contact__ghost {
	background: rgba(255, 255, 255, .12);
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, .28);
	backdrop-filter: blur(10px);
}

.sm-contact__ghost:hover {
	background: rgba(255, 255, 255, .22);
	color: #fff !important;
}

.sm-contact__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.sm-contact__facts li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-height: 44px;
	padding: 10px 16px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .16);
	backdrop-filter: blur(12px);
	font-size: 15px;
	font-weight: 600;
}

.sm-contact__facts span {
	font-family: var(--sm-kicker);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sm-gold);
}

body.sm-contact-page .container.contacts {
	position: relative;
	z-index: 4;
	margin-top: -40px;
	margin-bottom: 48px;
	max-width: 1200px;
}

body.sm-contact-page .container.contacts > .ts-row > h1 {
	display: none;
}

body.sm-contact-page ul.list-breadcrumb {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body.sm-contact-page .container.contacts > .ts-row > .ts-col-24:has(ul.list-breadcrumb) {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body.sm-contact-page .container.contacts .content {
	display: grid !important;
	grid-template-columns: minmax(260px, .92fr) minmax(300px, 1.15fr);
	gap: 16px 24px;
	align-items: start;
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 24px;
	box-shadow: 0 24px 50px rgba(8, 22, 42, .1);
	padding: 28px 28px 32px;
}

body.sm-contact-page .content > br,
body.sm-contact-page .sm-contact-place > br,
body.sm-contact-page .sm-contact-place > a[name],
body.sm-contact-page p.address {
	display: none !important;
}

body.sm-contact-page .phones,
body.sm-contact-page p.mail,
body.sm-contact-page .sm-contact-place {
	grid-column: 1;
	width: 100%;
	margin: 0;
}

body.sm-contact-page .phones div,
body.sm-contact-page .content .phones > div,
body.sm-contact-page p.mail,
body.sm-contact-page .sm-contact-place {
	background: var(--sm-bg);
	border: 1px solid var(--sm-line);
	border-radius: 18px;
	padding: 20px 22px 18px;
	box-shadow: none;
}

body.sm-contact-page .phones div p.title {
	margin: 0 0 12px;
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sm-navy);
}

body.sm-contact-page .phones br,
body.sm-contact-page .phones div p.title br {
	display: none;
}

body.sm-contact-page .phones div p:empty {
	display: none;
}

body.sm-contact-page .sm-contact-tel {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 2px 0;
	border-bottom: 1px solid var(--sm-line) !important;
	color: var(--sm-navy) !important;
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: .01em;
}

body.sm-contact-page .sm-contact-tel:last-child {
	border-bottom: 0 !important;
}

body.sm-contact-page .sm-contact-tg {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	float: none !important;
	width: auto !important;
	height: auto !important;
	min-height: 44px;
	margin: 14px 0 0 !important;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--sm-navy) !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	border-bottom: 0 !important;
}

body.sm-contact-page p.mail::before {
	content: "Почта";
	display: block;
	margin: 0 0 4px;
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sm-navy);
}

body.sm-contact-page p.mail a,
body.sm-contact-page .content a.mail {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--sm-serif);
	font-size: 1.45rem;
	font-weight: 600;
	color: var(--sm-navy) !important;
	border-bottom: 0 !important;
}

body.sm-contact-page .sm-contact-place {
	color: var(--sm-text);
	font-size: 1rem;
	line-height: 1.55;
}

body.sm-contact-page .sm-contact-place b {
	display: block;
	margin: 10px 0 4px;
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sm-navy);
}

body.sm-contact-page .office {
	grid-column: 2;
	grid-row: 1 / span 3;
	margin: 0;
	overflow: visible;
	align-self: stretch;
}

body.sm-contact-page .office-map {
	float: none;
	width: 100%;
	height: auto;
	min-height: 340px;
	margin: 0 0 14px;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: none;
	border: 1px solid var(--sm-line);
}

body.sm-contact-page .office-map iframe {
	width: 100%;
	min-height: 340px;
	border: 0 !important;
}

body.sm-contact-page .office .gallery {
	float: none;
	width: 100%;
	height: 210px;
	margin: 0;
	border-radius: 18px;
	overflow: hidden;
}

body.sm-contact-page .office .gallery span,
body.sm-contact-page .office .gallery .slick-slide,
body.sm-contact-page .office .gallery .slick-list,
body.sm-contact-page .office .gallery .slick-track {
	height: 210px !important;
}

body.sm-contact-page .office .gallery span {
	background-size: cover !important;
	background-position: center !important;
	border-radius: 0;
}

body.sm-contact-page .workers {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
	width: 100%;
	margin-top: 12px;
	justify-content: stretch;
}

body.sm-contact-page .workers h2 {
	grid-column: 1 / -1;
	flex: none;
	width: 100%;
	margin: 8px 0 4px;
	text-align: left;
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
}

body.sm-contact-page .workers [id^="bx_"] {
	flex: none;
	float: none;
	width: auto;
	max-width: none;
	padding: 22px 16px 18px;
	border-radius: 18px;
	background: var(--sm-bg);
	border: 1px solid var(--sm-line);
	box-shadow: none;
	transition: transform var(--sm-ease), box-shadow var(--sm-ease);
}

body.sm-contact-page .workers [id^="bx_"]:hover {
	transform: translateY(-3px);
	box-shadow: var(--sm-shadow-hover);
	background: #fff;
}

body.sm-contact-page .workers img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border: 3px solid #fff;
	box-shadow: 0 8px 20px rgba(8, 22, 42, .16);
}

body.sm-contact-page .workers .name {
	margin: 12px 0 8px;
	font-size: 1.2rem;
}

body.sm-contact-page .workers a.phone-number,
body.sm-contact-page .workers a.mail {
	display: inline-flex;
	justify-content: center;
	min-height: 32px;
	font-size: 13px;
	font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
	.sm-contact__photo--main,
	body.sm-contact-page .workers [id^="bx_"] {
		animation: none !important;
		transform: none !important;
	}
}

@media only screen and (max-width: 991px) {
	.sm-contact {
		min-height: 0;
		align-items: stretch;
	}

	.sm-contact__photo--float,
	.sm-contact__photo--stamp {
		display: none;
	}

	.sm-contact__photo--main {
		inset: 0 0 auto;
		height: 280px;
	}

	.sm-contact__veil {
		background: linear-gradient(180deg, rgba(8, 22, 42, .2) 0%, rgba(8, 22, 42, .55) 38%, rgba(8, 22, 42, .94) 100%);
	}

	.sm-contact__inner {
		padding-top: 220px;
		padding-bottom: 36px;
	}

	.sm-contact h1,
	.sm-contact #sm-contact-title {
		max-width: none;
	}

	body.sm-contact-page .container.contacts {
		margin-top: -24px;
	}

	body.sm-contact-page .container.contacts .content {
		grid-template-columns: minmax(0, 1fr) !important;
		padding: 18px;
	}

	body.sm-contact-page .office {
		grid-column: 1;
		grid-row: auto;
	}

	body.sm-contact-page .workers {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	}
}

@media only screen and (max-width: 768px) {
	.sm-contact__photo--main {
		height: 220px;
	}

	.sm-contact__inner {
		padding-top: 168px;
		padding-bottom: 28px;
	}

	.sm-contact__actions {
		flex-direction: column;
	}

	.sm-contact__cta,
	.sm-contact__ghost {
		width: 100%;
	}

	.sm-contact__facts li {
		flex: 1 1 100%;
	}

	body.sm-contact-page .container.contacts .content {
		padding: 14px;
		border-radius: 18px;
	}

	body.sm-contact-page .office-map,
	body.sm-contact-page .office-map iframe {
		min-height: 260px;
	}
}

/* About page — same cinematic hero as contacts, editorial story cards */
body.sm-about-page {
	background: var(--sm-bg);
}

body.sm-about-page .ts-wrap.ts-mb-2 {
	position: relative;
	z-index: 4;
	margin-top: -36px;
}

body.sm-about-page .ts-wrap.ts-mb-2 > .container {
	max-width: 920px;
}

body.sm-about-page .ts-wrap.ts-mb-2 > .container > .ts-row > h1,
body.sm-about-page ul.list-breadcrumb,
body.sm-about-page .ts-col-24:has(> ul.list-breadcrumb) {
	display: none !important;
}

body.sm-about-page .content {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
	margin: 0 0 40px;
}

body.sm-about-page .gallery {
	display: none !important;
}

body.sm-about-page .sm-about-intro,
body.sm-about-page .sm-about-article {
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 22px;
	padding: 28px 32px 16px;
	margin: 0 0 18px;
	box-shadow: 0 12px 28px rgba(8, 22, 42, .06);
}

body.sm-about-page .sm-about-hello {
	font-family: var(--sm-serif);
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--sm-navy);
	margin: 0 0 18px;
}

body.sm-about-page .sm-about-intro p,
body.sm-about-page .sm-about-article p {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.75;
	color: var(--sm-text);
}

body.sm-about-page .sm-about-article ul {
	margin: 4px 0 18px;
	padding: 0 0 0 1.15em;
}

body.sm-about-page .sm-about-article li {
	margin: 0 0 10px;
	line-height: 1.65;
	color: var(--sm-text);
}

body.sm-about-page .sm-about-video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 0 18px;
	border-radius: 22px;
	overflow: hidden;
	background: #08162a;
	box-shadow: 0 18px 40px rgba(8, 22, 42, .12);
}

body.sm-about-page .sm-about-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	max-width: none;
	border-radius: 0;
}

@media only screen and (max-width: 991px) {
	body.sm-about-page .ts-wrap.ts-mb-2 {
		margin-top: -20px;
	}

	body.sm-about-page .sm-about-intro,
	body.sm-about-page .sm-about-article {
		padding: 20px 18px 10px;
		border-radius: 18px;
	}
}

@media only screen and (max-width: 768px) {
	body.sm-about-page .sm-about-hello {
		font-size: 1.15rem;
	}
}

/* Tour detail — cinematic hero + editorial itinerary (21st Hotel Showcase / Trip Details) */
body.sm-tour-page {
	background: var(--sm-bg);
}

.sm-tour {
	position: relative;
	overflow: hidden;
	min-height: 560px;
	display: flex;
	align-items: flex-end;
	background: #08162a;
	color: #fff;
	margin: 0;
}

.sm-tour__stage,
.sm-tour__veil {
	position: absolute;
	inset: 0;
}

.sm-tour__photo {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.sm-tour__photo--main {
	position: absolute;
	inset: 0;
	transform: scale(1.04);
	animation: smHeroKen 18s ease-out forwards;
}

.sm-tour__photo--float {
	position: absolute;
	z-index: 2;
	right: max(4vw, 28px);
	top: 16%;
	width: min(320px, 28vw);
	height: min(400px, 64%);
	border-radius: 22px;
	border: 3px solid rgba(255, 255, 255, .92);
	box-shadow: 0 28px 60px rgba(8, 22, 42, .45);
}

.sm-tour__veil {
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(105deg, rgba(8, 22, 42, .9) 0%, rgba(8, 22, 42, .68) 40%, rgba(8, 22, 42, .28) 68%, rgba(8, 22, 42, .42) 100%);
}

.sm-tour__inner {
	position: relative;
	z-index: 3;
	max-width: 1120px;
	width: 100%;
	padding: 72px 20px 72px;
}

.sm-tour__kicker {
	margin: 0 0 12px;
	font-family: var(--sm-kicker);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sm-gold);
}

.sm-tour h1,
.sm-tour #sm-tour-title {
	margin: 0 0 16px;
	max-width: 16ch;
	color: #fff;
	font-size: clamp(2.1rem, 4.6vw, 3.6rem);
	line-height: 1.08;
	font-weight: 600;
}

.sm-tour__lead {
	margin: 0 0 28px;
	max-width: 38rem;
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, .88);
}

.sm-tour__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sm-tour__cta,
.sm-tour__ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	font-family: var(--sm-kicker);
	font-size: 15px;
	font-weight: 700;
	border-bottom: 0 !important;
	text-decoration: none !important;
	cursor: pointer;
}

.sm-tour__cta {
	background: var(--sm-gold);
	color: var(--sm-navy) !important;
}

.sm-tour__cta:hover {
	background: var(--sm-gold-hover);
	color: var(--sm-navy) !important;
}

.sm-tour__ghost {
	background: rgba(255, 255, 255, .12);
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, .28);
	backdrop-filter: blur(10px);
}

.sm-tour__ghost:hover {
	background: rgba(255, 255, 255, .22);
	color: #fff !important;
}

.sm-tour__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.sm-tour__facts li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-height: 44px;
	padding: 10px 16px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .16);
	backdrop-filter: blur(12px);
	font-size: 15px;
	font-weight: 600;
}

.sm-tour__facts span {
	font-family: var(--sm-kicker);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sm-gold);
}

body.sm-tour-page .ts-wrap.ts-mb-2 {
	position: relative;
	z-index: 4;
	margin-top: -36px;
}

body.sm-tour-page .ts-wrap.ts-mb-2 > .container {
	max-width: 1200px;
}

body.sm-tour-page .sm-tour-seo-note,
body.sm-tour-page .sm-seo-lead,
body.sm-tour-page .sm-seo-cta,
body.sm-tour-page .ts-col-24:has(> .sm-seo-lead) {
	display: none !important;
}

body.sm-tour-page #search,
body.sm-tour-page .hotel-item.shadow-none {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}

body.sm-tour-page .gallery,
body.sm-tour-page .content .gallery {
	height: 420px !important;
	margin: 0 0 24px !important;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 18px 40px rgba(8, 22, 42, .12);
}

body.sm-tour-page .gallery span,
body.sm-tour-page .gallery .slick-slide,
body.sm-tour-page .gallery .slick-list,
body.sm-tour-page .gallery .slick-track {
	height: 420px !important;
}

body.sm-tour-page .gallery span {
	background-size: cover !important;
	background-position: center !important;
}

body.sm-tour-page .gallery .slick-arrow {
	z-index: 2;
}

/* Gallery pager: hero-style bars instead of numbered circles */
.gallery .slick-dots {
	display: flex !important;
	justify-content: center;
	align-items: center;
	gap: 8px;
	bottom: 14px !important;
	left: 50%;
	right: auto;
	width: auto;
	height: 36px;
	padding: 0 14px;
	margin: 0;
	list-style: none;
	z-index: 3;
	transform: translateX(-50%);
	background: rgba(8, 22, 42, .72);
	border-radius: 99px;
	filter: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.gallery .slick-dots li {
	width: 36px;
	height: 24px;
	margin: 0;
	padding: 0;
}

.gallery .slick-dots li button {
	position: relative;
	display: block;
	width: 36px;
	height: 24px;
	padding: 0;
	border: 0;
	overflow: visible !important;
	font-size: 0;
	line-height: 0;
	color: transparent;
	text-indent: -9999px;
	cursor: pointer;
	appearance: none;
	background: none !important;
	background-image: none !important;
}

.gallery .slick-dots li button:before,
.gallery .slick-dots li button:after {
	display: block !important;
	position: absolute !important;
	font-family: inherit !important;
	font-size: 0 !important;
	line-height: 0 !important;
	opacity: 1 !important;
	color: transparent !important;
	height: 3px !important;
	left: 0 !important;
	top: 50% !important;
	margin-top: -1.5px !important;
	border-radius: 99px;
	content: "" !important;
}

.gallery .slick-dots li button:before {
	width: 36px !important;
	background: rgba(255, 255, 255, .38);
}

.gallery .slick-dots li button:after {
	width: 0;
	background: var(--sm-gold);
}

.gallery .slick-dots li.slick-active button:after {
	animation: smGalleryDotFill 5s linear forwards;
}

@keyframes smGalleryDotFill {
	from { width: 0; }
	to { width: 36px; }
}

@media (prefers-reduced-motion: reduce) {
	.gallery .slick-dots li.slick-active button:after {
		animation: none;
		width: 36px;
	}
}

body.sm-tour-page .content.tour-info,
body.sm-tour-page .ts-col-lg-18 > .content {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
}

body.sm-tour-page .days,
body.sm-tour-page .route-map,
body.sm-tour-page .tour-note {
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 22px;
	padding: 22px 24px 12px;
	margin: 0 0 18px;
}

body.sm-tour-page .content.tour-info > h2,
body.sm-tour-page .sm-tour-section-title {
	font-family: var(--sm-serif);
	font-size: clamp(1.4rem, 2.1vw, 1.8rem);
	font-weight: 600;
	line-height: 1.25;
	color: var(--sm-navy);
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 4px 0 16px;
}

body.sm-tour-page .sm-prices-link {
	margin-left: 0;
}

body.sm-tour-page .sm-tour-hotels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0 0 28px;
}

body.sm-tour-page .sm-tour-hotel > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 18px;
	overflow: hidden;
	color: inherit;
	border-bottom: 0 !important;
	box-shadow: 0 12px 28px rgba(8, 22, 42, .08);
	transition: transform .25s ease, box-shadow .25s ease;
}

@media (hover: hover) {
	body.sm-tour-page .sm-tour-hotel > a:hover {
		transform: translateY(-4px);
		box-shadow: 0 18px 36px rgba(8, 22, 42, .14);
		color: inherit;
	}

	body.sm-tour-page .sm-tour-hotel > a:hover .img {
		transform: scale(1.05);
	}
}

body.sm-tour-page .sm-tour-hotel .img {
	display: block;
	height: 200px;
	background-color: #e8eef6;
	background-size: cover;
	background-position: center;
	transition: transform .45s ease;
}

body.sm-tour-page .sm-tour-hotel__body {
	padding: 16px 18px 18px;
}

body.sm-tour-page .sm-tour-hotel .title {
	display: block;
	font-family: var(--sm-serif);
	font-size: 1.22rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--sm-navy);
	margin: 0 0 8px;
}

body.sm-tour-page .sm-tour-hotel .desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--sm-text);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.sm-tour-page .sm-tour-dates {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px 24px;
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 22px;
	padding: 22px 24px;
	margin: 4px 0 22px;
}

body.sm-tour-page .sm-tour-dates .sm-tour-section-title {
	grid-column: 1;
	margin: 0;
}

body.sm-tour-page .sm-tour-dates__lead {
	grid-column: 1;
	margin: 0;
	color: var(--sm-muted);
	font-size: 15px;
	line-height: 1.5;
}

body.sm-tour-page .sm-tour-dates__cta,
body.sm-tour-page .sm-tour-dates a.sm-prices-link {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	margin: 0;
	border-radius: 999px;
	background: var(--sm-gold);
	color: var(--sm-navy) !important;
	font-family: var(--sm-kicker);
	font-size: 15px;
	font-weight: 700;
	border-bottom: 0 !important;
	white-space: nowrap;
}

body.sm-tour-page .sm-tour-article {
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 22px;
	padding: 8px 24px 12px;
	margin: 0 0 18px;
}

body.sm-tour-page .sm-tour-article p {
	margin: 14px 0;
	font-size: 16px;
	line-height: 1.7;
	color: var(--sm-text);
}

body.sm-tour-page .sm-tour-article ul {
	margin: 8px 0 16px;
	padding: 0 0 0 1.15em;
}

body.sm-tour-page .sm-tour-article li {
	margin: 0 0 8px;
	line-height: 1.6;
	color: var(--sm-text);
}

body.sm-tour-page .sidebar .widgets,
body.sm-tour-page .content.tour-info:empty {
	display: none !important;
}

body.sm-tour-page .content.tour-info img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}

body.sm-tour-page .tour-info .tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	background: transparent !important;
	margin: 8px 0 24px;
	overflow: visible;
}

body.sm-tour-page .tour-info .tabs a,
body.sm-tour-page .tour-info .tabs a:hover,
body.sm-tour-page .tour-info .tabs a.active,
body.sm-tour-page .tour-info .tabs a.active:hover {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	max-width: none;
	flex: 0 0 auto;
	min-height: 44px;
	padding: 10px 18px;
	margin: 0;
	background: var(--sm-bg) !important;
	background-image: none !important;
	border-radius: 999px;
	color: var(--sm-navy);
	box-shadow: none;
}

body.sm-tour-page .tour-info .tabs a span {
	margin: 0 !important;
	width: auto !important;
	border: 0 !important;
	color: inherit;
	font-family: var(--sm-kicker);
	font-size: 14px;
	font-weight: 700;
}

body.sm-tour-page .tour-info .tabs a.active,
body.sm-tour-page .tour-info .tabs a.active:hover {
	background: var(--sm-navy) !important;
	color: #fff;
}

body.sm-tour-page .tour-info .tabs a.active span {
	color: #fff;
}

body.sm-tour-page .list-days > li:first-child:not(.item-days) {
	display: none;
}

body.sm-tour-page .item-days {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 4px 18px;
	align-items: start;
	padding: 18px 0 20px;
	margin: 0;
	border-bottom: 1px solid var(--sm-line);
	overflow: visible;
}

body.sm-tour-page .days .num,
body.sm-tour-page .item-days .num {
	float: none;
	width: auto;
	margin: 0;
	text-align: left;
	font-family: var(--sm-serif);
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1;
	color: var(--sm-navy);
}

body.sm-tour-page .days .info,
body.sm-tour-page .item-days .info {
	margin: 0;
	min-height: 0;
	color: var(--sm-text);
	font-size: 1rem;
	line-height: 1.65;
}

body.sm-tour-page .sidebar .tour-card {
	position: sticky;
	top: 140px;
	z-index: 5;
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 22px;
	box-shadow: 0 18px 40px rgba(8, 22, 42, .1);
	padding: 22px 22px 20px;
	text-align: center;
	overflow: hidden;
	box-sizing: border-box;
}

body.sm-tour-page .tour-card .h2 {
	font-family: var(--sm-kicker);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sm-navy);
	margin: 0 0 10px;
	padding: 0 !important;
	text-align: center;
}

body.sm-tour-page .tour-card .price {
	font-family: var(--sm-serif);
	font-size: clamp(2rem, 3vw, 2.6rem);
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 6px;
	text-align: center;
}

body.sm-tour-page .tour-card .price-note {
	color: var(--sm-muted);
	margin: 0 0 16px;
	text-align: center;
}

body.sm-tour-page .tour-card a.orange-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	max-width: 100%;
	min-height: 48px;
	margin: 4px 0 0 !important;
	padding: 14px 18px !important;
	box-sizing: border-box;
	border-radius: 999px !important;
	font-family: var(--sm-kicker);
	font-size: 15px;
	line-height: 1.2;
	cursor: pointer;
	overflow: visible;
}

body.sm-tour-page .tour-card > br {
	display: none;
}

body.sm-tour-page .tour-manager {
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 22px;
	padding: 18px 16px 8px;
	margin-top: 14px;
}

body.sm-tour-page .tour-manager .h2 {
	font-family: var(--sm-serif);
	font-size: 1.25rem;
	margin: 0 0 12px;
}

body.sm-tour-page .tour-manager .manager_id {
	text-align: center;
	padding-bottom: 12px;
}

body.sm-tour-page .tour-manager img {
	border-radius: 50%;
	border: 3px solid #fff;
	box-shadow: 0 8px 18px rgba(8, 22, 42, .14);
}

@media (prefers-reduced-motion: reduce) {
	.sm-tour__photo--main {
		animation: none !important;
		transform: none !important;
	}
}

@media only screen and (max-width: 991px) {
	.sm-tour {
		min-height: 0;
	}

	.sm-tour__photo--float {
		display: none;
	}

	.sm-tour__photo--main {
		inset: 0 0 auto;
		height: 280px;
	}

	.sm-tour__veil {
		background: linear-gradient(180deg, rgba(8, 22, 42, .18) 0%, rgba(8, 22, 42, .55) 36%, rgba(8, 22, 42, .94) 100%);
	}

	.sm-tour__inner {
		padding-top: 220px;
		padding-bottom: 36px;
	}

	.sm-tour h1,
	.sm-tour #sm-tour-title {
		max-width: none;
	}

	body.sm-tour-page .ts-wrap.ts-mb-2 {
		margin-top: -20px;
	}

	body.sm-tour-page .gallery,
	body.sm-tour-page .content .gallery,
	body.sm-tour-page .gallery span,
	body.sm-tour-page .gallery .slick-slide,
	body.sm-tour-page .gallery .slick-list,
	body.sm-tour-page .gallery .slick-track {
		height: 240px !important;
	}

	body.sm-tour-page .sidebar .tour-card {
		position: static;
	}

	body.sm-tour-page .sm-tour-hotels {
		grid-template-columns: 1fr;
	}

	body.sm-tour-page .sm-tour-dates {
		padding: 18px 18px 16px;
		grid-template-columns: 1fr;
	}

	body.sm-tour-page .sm-tour-dates__cta,
	body.sm-tour-page .sm-tour-dates a.sm-prices-link {
		grid-column: 1;
		grid-row: auto;
		width: 100%;
	}
}

@media only screen and (max-width: 768px) {
	.sm-tour__photo--main {
		height: 220px;
	}

	.sm-tour__inner {
		padding-top: 168px;
		padding-bottom: 28px;
	}

	.sm-tour__actions {
		flex-direction: column;
	}

	.sm-tour__cta,
	.sm-tour__ghost {
		width: 100%;
	}

	.sm-tour__facts li {
		flex: 1 1 100%;
	}

	body.sm-tour-page .item-days {
		grid-template-columns: 44px minmax(0, 1fr);
	}

	body.sm-tour-page .days .num,
	body.sm-tour-page .item-days .num {
		font-size: 1.7rem;
	}

	body.sm-tour-page .content.tour-info,
	body.sm-tour-page .ts-col-lg-18 > .content {
		padding: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		border: 0;
	}

	body.sm-tour-page .sm-tour-article,
	body.sm-tour-page .sm-tour-dates {
		padding-left: 16px;
		padding-right: 16px;
	}

	.sm-tour--list {
		min-height: 320px;
	}

	.sm-tour--list .sm-tour__photo--float {
		display: none;
	}
}

/* Catalog listings (/tours/new-year/, /tours/sea/, …) */
body.sm-tour-list {
	background: var(--sm-bg);
}

.sm-tour--list {
	min-height: 420px;
}

.sm-tour--list .sm-tour__inner {
	padding-top: 56px;
	padding-bottom: 48px;
}

.sm-tour--list h1,
.sm-tour--list #sm-tour-title {
	max-width: 18ch;
}

body.sm-tour-list .sm-tour-seo-note,
body.sm-tour-list ul.list-breadcrumb,
body.sm-tour-list .ts-col-24:has(> ul.list-breadcrumb),
body.sm-tour-list .ts-wrap.ts-mb-2 > .container > .ts-row > .ts-col-24:not([class*="ts-col-lg-"]):not(:has(.tours-simple-list, .hotels-list, .sidebar, .bx-filter)),
body.sm-tour-list .sm-seo-lead,
body.sm-tour-list .sm-seo-cta,
body.sm-tour-list .ts-col-24:has(> .sm-seo-lead) {
	display: none !important;
}

body.sm-tour-list .ts-wrap.ts-mb-2 {
	margin-top: -24px;
	position: relative;
	z-index: 2;
}

body.sm-tour-list .tours-simple-list {
	padding-top: 8px;
	padding-bottom: 12px;
	background: transparent;
}

#sm-tour-grid {
	scroll-margin-top: 96px;
}

@media only screen and (max-width: 991px) {
	.sm-tour--list {
		min-height: 300px;
	}

	.sm-tour--list .sm-tour__inner {
		padding-top: 200px;
		padding-bottom: 32px;
	}

	body.sm-tour-list .ts-wrap.ts-mb-2,
	body.sm-hotel-list .ts-wrap.ts-mb-2 {
		margin-top: 0;
	}
}

/* Hotel catalog listing (/hotels/) — same chrome as tour lists, keep results column */
body.sm-hotel-list {
	background: var(--sm-bg);
}

body.sm-hotel-list .sm-tour-seo-note,
body.sm-hotel-list ul.list-breadcrumb,
body.sm-hotel-list .ts-col-24:has(> ul.list-breadcrumb),
body.sm-hotel-list .sm-seo-lead,
body.sm-hotel-list .sm-seo-cta,
body.sm-hotel-list .ts-col-24:has(> .sm-seo-lead) {
	display: none !important;
}

body.sm-hotel-list .ts-wrap.ts-mb-2 {
	margin-top: -24px;
	position: relative;
	z-index: 2;
}

body.sm-hotel-list .content {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 8px 0 12px !important;
	margin: 0;
}

body.sm-hotel-list .hotels-list {
	padding-top: 8px;
	padding-bottom: 12px;
	background: transparent;
}

body.sm-hotel-list .bx-filter.for-hotels .search-inputs {
	padding: 0 0 4px;
}

body.sm-hotel-list #search__by__name_input {
	width: 100%;
	max-width: 100%;
	height: 44px;
	box-sizing: border-box;
	border: 1px solid var(--sm-line);
	border-radius: 10px;
	padding: 0 14px;
	font-family: var(--sm-sans);
	font-size: 15px;
	color: var(--sm-navy);
	background: #fff;
}

#sm-hotel-grid {
	scroll-margin-top: 96px;
}

@media only screen and (max-width: 991px) {
	body.sm-hotel-list .ts-wrap.ts-mb-2 {
		margin-top: 0;
	}
}

/* Mobile: stop horizontal overflow, fit header/hero/cookie */
@media only screen and (max-width: 768px) {
	html, body {
		overflow-x: clip;
		max-width: 100%;
	}

	*,
	*::before,
	*::after {
		box-sizing: border-box !important;
	}

	.container,
	.ts-wrap,
	.sm-hero .container,
	#header.sm-header .container {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		box-sizing: border-box !important;
	}

	.sm-chrome,
	#header.sm-header,
	#header.sm-header .container,
	#header.sm-header #header-top {
		width: 100% !important;
		max-width: 100% !important;
	}

	#header.sm-header {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	#header.sm-header .container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	#header.sm-header #header-top,
	#header.sm-header #header-top.ts-wrap {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	#header.sm-header #header-top .ts-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 6px;
		width: 100%;
		max-width: 100%;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#header.sm-header #header-top .ts-col-14 {
		width: auto !important;
		max-width: none !important;
		flex: 1 1 auto !important;
		flex-direction: row !important;
		min-width: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
	}

	#header.sm-header #logo,
	#header.sm-header a#logo {
		margin: 0 !important;
		padding: 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	#header.sm-header #logo img.ts-d-md-none,
	#header.sm-header #logo img {
		height: 40px !important;
		max-width: 110px !important;
		width: auto;
		margin: 0 !important;
	}

	#header.sm-header #header-top .ts-col-10,
	.sm-header-actions {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		width: auto !important;
		max-width: none !important;
		flex: 0 0 auto !important;
		min-width: 0 !important;
	}

	.hotels-list {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#header.sm-header .button-border-wrap,
	#header.sm-header .button-yellow {
		display: none !important;
	}

	.sm-header-phone,
	.sm-header-tg,
	.sm-header-ig {
		width: 34px !important;
		height: 34px !important;
	}

	.sm-header-socials {
		gap: 2px;
	}

	#mobile-header.new-mobile-header {
		width: 40px !important;
		height: 40px !important;
		margin: 0 !important;
		justify-self: end;
	}

	.sm-hero {
		padding: 28px 12px 24px !important;
		min-height: 0;
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}

	.sm-hero .container {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sm-hero__title,
	.sm-hero__lead,
	.sm-hero__proof,
	.sm-hero__kicker {
		max-width: 100%;
		width: 100%;
		overflow-wrap: anywhere;
		word-break: break-word;
		white-space: normal !important;
	}

	.sm-hero__title {
		font-size: 2rem;
		max-width: none;
	}

	.sm-search {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		padding: 12px;
	}

	.sm-search__field,
	.sm-search__field select,
	.sm-search__field input,
	.sm-search__submit,
	input[type="month"] {
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.sm-search__submit {
		grid-column: auto;
	}

	.cookie_notice,
	.cookie_notice * {
		min-width: 0 !important;
	}

	.sm-search,
	.sm-search * {
		min-width: 0 !important;
		max-width: 100%;
	}

	.cookie_notice,
	.cookie_notice[style*="block"],
	.cookie_notice[style*="flex"] {
		position: static !important;
		bottom: auto !important;
		left: auto !important;
		right: auto !important;
		z-index: 2 !important;
		flex-direction: row !important;
		align-items: center !important;
		flex-wrap: wrap !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 10px 12px !important;
		gap: 8px !important;
		max-height: none !important;
		overflow: visible !important;
		font-size: 12px !important;
	}

	.cookie_notice > div {
		flex-direction: row;
		flex-shrink: 0;
	}

	.cookie_btn,
	.cookie_btn:visited {
		display: inline-flex !important;
		width: auto !important;
		box-sizing: border-box !important;
		text-align: center;
		margin: 0 !important;
		padding: 6px 10px !important;
		font-size: 12px !important;
	}

	.sort-view {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.sort-view a.sorting {
		white-space: normal;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.bx-filter-button-box,
	.bx-filter-button-box .bx-filter-parameters-box-container,
	.col-xs-12.bx-filter-button-box {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap;
		gap: 8px;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.bx-filter-button-box input,
	.bx-filter-button-box button,
	.bx-filter-button-box .btn {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.tour,
	div.tour,
	.hotels-list,
	.content,
	.bx-filter,
	.sidebar {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.container.contacts .content,
	.contacts .content {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.contacts .office {
		grid-column: 1 !important;
		grid-row: auto !important;
		width: 100% !important;
	}

	.contacts .phones div {
		overflow: hidden;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.ts-col-24,
	.ts-col-lg-6,
	.ts-order-lg__1,
	.ts-order-lg__2 {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}
}

/* Megatek search stays in iframe — do not restyle its internals */
body.sm-online-page {
	background: #fff;
}

body.sm-online-page .container.col1,
body.sm-online-page .container.col2 {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

body.sm-online-page .ts-wrap.ts-mb-2 {
	margin: 0 !important;
}

body.sm-online-page h1.ts-col-24,
body.sm-online-page .breadcrumb,
body.sm-online-page #footer,
body.sm-online-page #menu,
body.sm-online-page .copyright,
body.sm-online-page .mainpage-note {
	display: none !important;
}

.sm-online__intro {
	padding: 16px 20px 8px;
	max-width: 920px;
	margin: 0 auto;
}

.sm-online__intro h1 {
	margin: 0 0 8px;
	font-family: var(--sm-serif);
	font-size: 1.65rem;
	font-weight: 600;
	color: var(--sm-navy);
}

.sm-online__intro p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--sm-muted);
}

body.sm-online-page .content {
	padding: 0 !important;
	margin: 0 !important;
	background: #fff;
	box-shadow: none;
	border: 0;
}

.sm-online {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: calc(100vh - 118px);
	min-height: 560px;
	background: #fff;
}

.sm-online__frame {
	display: block;
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-height: 480px;
	border: 0;
	background: #fff;
}

@media (max-width: 768px) {
	.sm-online {
		height: calc(100vh - 72px);
		min-height: 480px;
	}
}

/* Feedback hub — same cinematic hero as about/contacts, editorial review cards */
body.sm-feedback-page {
	background: var(--sm-bg);
}

body.sm-feedback-page .sm-contact h1,
body.sm-feedback-page #sm-feedback-title {
	display: block;
	width: 100%;
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}

@media only screen and (min-width: 992px) {
	body.sm-feedback-page .sm-contact h1,
	body.sm-feedback-page #sm-feedback-title {
		max-width: 18ch;
	}
}

body.sm-feedback-page .sm-contact__inner,
body.sm-feedback-page .sm-contact__lead {
	min-width: 0;
	max-width: 100%;
}

body.sm-feedback-page .sm-contact__lead {
	overflow-wrap: anywhere;
}

body.sm-feedback-page .ts-wrap.ts-mb-2 {
	position: relative;
	z-index: 4;
	margin-top: -36px;
}

body.sm-feedback-page .container.feedbacks > .ts-row > h1,
body.sm-feedback-page ul.list-breadcrumb,
body.sm-feedback-page .ts-col-24:has(> ul.list-breadcrumb) {
	display: none !important;
}

body.sm-feedback-page .feedbacks .content {
	background: transparent;
	padding: 0;
	margin: 0;
}

body.sm-feedback-page .feedbacks .content .message,
body.sm-feedback-page .sm-review {
	position: relative;
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 22px;
	border-bottom: 1px solid var(--sm-line);
	padding: 22px 24px 18px 24px;
	margin: 0 0 14px;
	box-shadow: 0 12px 28px rgba(8, 22, 42, .06);
}

body.sm-feedback-page .sm-review::before {
	content: "“";
	position: absolute;
	right: 18px;
	top: 8px;
	font-family: var(--sm-serif);
	font-size: 56px;
	line-height: 1;
	color: var(--sm-gold);
	opacity: .55;
	pointer-events: none;
}

body.sm-feedback-page .sm-review__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 36px 12px 0;
}

body.sm-feedback-page .sm-review__ava {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--sm-navy);
	color: var(--sm-gold);
	font-family: var(--sm-serif);
	font-size: 1.25rem;
	font-weight: 600;
}

body.sm-feedback-page .sm-review__meta {
	min-width: 0;
}

body.sm-feedback-page .sm-review__name,
body.sm-feedback-page .feedbacks .content .message .date {
	margin: 0;
	font-family: var(--sm-serif);
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sm-navy);
}

body.sm-feedback-page .sm-review__date {
	margin: 4px 0 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--sm-muted);
}

body.sm-feedback-page .sm-review__text,
body.sm-feedback-page .feedbacks .content .message p:not(.date):not(.sm-review__name):not(.sm-review__date):not(.sm-review__place) {
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
	color: var(--sm-text);
	white-space: normal;
	overflow-wrap: anywhere;
}

body.sm-feedback-page .sm-review__place {
	margin: 14px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--sm-line);
	font-size: 13px;
	font-weight: 700;
	color: var(--sm-navy);
	white-space: normal;
	overflow-wrap: anywhere;
}

body.sm-feedback-page .c_pagination {
	margin: 8px 0 28px;
}

body.sm-feedback-page .sidebar {
	width: 100%;
}

body.sm-feedback-page .sidebar .add-feedback {
	background: #fff;
	border: 1px solid var(--sm-line);
	border-radius: 22px;
	padding: 22px 22px 20px;
	margin: 0;
	box-shadow: 0 12px 28px rgba(8, 22, 42, .06);
	position: sticky;
	top: 96px;
}

#sm-add-review {
	scroll-margin-top: 96px;
}

body.sm-feedback-page .add-feedback h2 {
	margin: 0 0 16px;
	font-size: 1.55rem;
}

body.sm-feedback-page .add-feedback fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

body.sm-feedback-page .add-feedback dl,
body.sm-feedback-page .sidebar dl {
	margin: 0;
}

body.sm-feedback-page .add-feedback dd {
	margin: 0 0 12px;
}

body.sm-feedback-page .add-feedback input[type="text"],
body.sm-feedback-page .add-feedback textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 8px;
	padding: 12px 14px;
	border: 1px solid var(--sm-line);
	border-radius: 12px;
	background: var(--sm-bg);
	color: var(--sm-text);
	font-family: var(--sm-sans);
	font-size: 15px;
	line-height: 1.4;
	box-shadow: none;
}

body.sm-feedback-page .add-feedback input[type="text"]:focus,
body.sm-feedback-page .add-feedback textarea:focus {
	outline: 2px solid var(--sm-gold);
	outline-offset: 1px;
	border-color: var(--sm-gold);
	background: #fff;
}

body.sm-feedback-page .add-feedback textarea {
	min-height: 140px;
	resize: vertical;
}

body.sm-feedback-page .add-feedback .note {
	margin: 0 0 4px;
	color: var(--sm-muted);
	font-size: 13px;
	font-style: normal;
}

body.sm-feedback-page .mf-captcha {
	padding: 12px;
	border-radius: 14px;
	background: var(--sm-bg);
}

body.sm-feedback-page .mf-text {
	margin: 0 0 8px;
	font-size: 13px;
	color: var(--sm-muted);
}

body.sm-feedback-page .mf-captcha img {
	display: block;
	margin: 0 0 10px;
	border-radius: 8px;
}

body.sm-feedback-page .sidebar .add-feedback button,
body.sm-feedback-page .sidebar .add-feedback button:hover,
body.sm-feedback-page .sidebar .add-feedback button:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 8px 0 0;
	padding: 14px 22px;
	border: 0;
	border-radius: 999px;
	background: var(--sm-gold);
	color: var(--sm-navy);
	font-family: var(--sm-kicker);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

body.sm-feedback-page .sidebar .add-feedback button:hover {
	background: var(--sm-gold-hover);
}

body.sm-feedback-page .sidebar p.message {
	margin: 0 0 12px;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--sm-gold-soft);
	color: var(--sm-navy);
}

@media only screen and (max-width: 991px) {
	body.sm-feedback-page .ts-wrap.ts-mb-2 {
		margin-top: 0;
	}

	body.sm-feedback-page .sm-contact h1,
	body.sm-feedback-page #sm-feedback-title,
	body.sm-feedback-page .sm-contact__lead {
		max-width: none;
	}

	body.sm-feedback-page .sidebar .add-feedback {
		position: static;
		margin-top: 8px;
	}

	body.sm-feedback-page .sm-contact__photo--float,
	body.sm-feedback-page .sm-contact__photo--stamp {
		display: none;
	}
}

@media only screen and (max-width: 1024px) {
	.cookie_notice,
	.cookie_notice[style*="block"],
	.cookie_notice[style*="flex"] {
		position: static !important;
		bottom: auto !important;
		left: auto !important;
		right: auto !important;
		z-index: 2 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.sm-search,
	.search-tours-module,
	.sm-search__submit {
		position: relative;
		z-index: 40;
	}

	iframe[src*="suvvy"],
	[class*="suvvy-widget"],
	[id*="suvvy"],
	[class*="suvvy"] iframe {
		z-index: 5 !important;
		bottom: 8px !important;
		right: 8px !important;
		pointer-events: auto;
	}
}

