@import url('global.css');

/* Вертикальный виджет соцсетей START */
.social-menu {
	display: flex;
    flex-direction: column;
    gap: 10px;
    list-style-type: none;
    padding: 10px;
}
.social-sidebar {
    position: fixed;
    top: 20%;
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: transparent;
    padding: 5px;
    z-index: 9999;
}
.social-sidebar .social-menu a {
    display: block;
    width: 40px;
    height: 40px;
    text-indent: -9999px; /* Скрываем текст ссылки */
    overflow: hidden;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease, filter 0.3s ease;
}
.social-sidebar .social-menu a:hover {
    transform: scale(1.1);
}
/* Подставляем иконки через CSS в зависимости от класса */
.social-sidebar .social-menu .sidebar-facebook a {
    background-image: url('../images/facebook-green-50.svg');
}
.social-sidebar .social-menu .sidebar-telegram a {
    background-image: url('../images/telegram-green-50.svg');
}
.social-sidebar .social-menu .sidebar-instagram a {
    background-image: url('../images/instagram-green-50.svg');
}
.social-sidebar .social-menu .sidebar-facebook a,
.social-sidebar .social-menu .sidebar-telegram a,
.social-sidebar .social-menu .sidebar-instagram a {
    background-color: var(--color-white);
	box-shadow: 0 2px 8px 2px var(--color-white); /* Более мягкая белая тень */
}
.social-sidebar .social-menu .sidebar-instagram a {
    border-radius: 10px;
}
.social-sidebar .social-menu .sidebar-facebook a,
.social-sidebar .social-menu .sidebar-telegram a {
    border-radius: 50%;
}
/* Вертикальный виджет соцсетей END */
/* Модальное окно "Заказать звонок" START */
.call-wrap {
	max-width: 28.75rem;
	margin: 0 auto;
	background-color: #fff;
	padding: 1.25rem 1.875rem;
	border-radius: 0.313rem;
}
.call-wrap .modal-body form .form-btn,
.offer-form .modal-body form .form-btn{
	margin-top: 0.625rem;
}
/* Модальное окно "Заказать звонок" END */
/* Модальное окно "Подписаться на скидки" START */
.selzy-modal {
	text-align: center;
	width: 100%;
    max-width: 40rem;
}
.selzy-modal .bee-popup-form-option-wrapper label {
	line-height: 100% !important;
	margin-left: 1.25rem;
	font-size: 0.75rem !important;
}
.bee-popup-row-1 .bee-popup-col-1 .bee-popup-block-1 button {
	line-height: 150% !important;
}
#static-form-container {
	margin: 0 auto !important;
	padding: 0 !important;
}
.bee-popup-row-1 .bee-popup-col-1 .bee-popup-block-1 .bee-popup-field.bee-popup-inline-field input[type=radio] {
    width: 0.938rem;
	padding: 0.938rem;
}
.bee-popup-row-1 .bee-popup-col-1 .bee-popup-block-1 input:not([type=checkbox]):not([type=radio]):not([type=image]) {
	background-color: #EFF3F9 !important;
}
/* Модальное окно "Подписаться на скидки" END */
/* Забронировать отель - форма START */
.modal-form-wrap.offer-form {
   max-width: 43.75rem;
}
.offer-form .modal-logo img {
    max-width: 6.25rem;
}
.offer-form .modal-body form {
    max-width: 37.5rem;
	margin: 0 auto;
}
.offer-form .offers-title {
    color: var(--color-accent);
}
.offers-title-star {
	display: flex;
    align-items: flex-start;	
    justify-content: center;
    gap: 0.625rem;
}
.offer-form .modal-title h2 {
    margin-bottom: 0.625rem;
}
.offer-form .offers-location {
    margin-left: 0;
    justify-content: center;
	font-size: 1rem;
}
.offer-form .offers-data {
	font-size: 1rem;
}
.offer-form .modal-body form .form-btn{
	width: 21.875rem;
}
/* Забронировать отель - форма END */
/* Block trio START */
.sanatorium-promo {
	background: linear-gradient(135deg, #3a7a72 0%, #275a54 50%, #1a443f 100%);
	padding: 1.25rem;
	border-radius: 0.313rem;
	box-shadow: 0 0.625rem 1.875rem rgba(0,0,0,0.1);
	text-align: center;
	max-width: 37rem;
	margin: 0 auto;
}
.sanatorium-promo h3 {
	color: var(--color-white);
	font-size: 1.75rem;
	margin-bottom: 0.938rem;
	font-weight: 600;
}
.sanatorium-promo p {
	font-size: 1rem;
	margin-bottom: 1.25rem;
	line-height: 1.5;
	color: var(--color-white);
}
.custom-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #dad9e7;
  color: var(--color-btn);
  padding: 0.875rem 3.125rem;
  border-radius: 0.313rem;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.125rem;
  transition: all 0.3s ease;
  box-shadow: 0 0.25rem 0.938rem rgba(0, 0, 0, 0.1);
  gap: 0.938rem;
}
.custom-button:hover {
  background-color: var(--color-hover);
  transform: translateY(0.188rem);
  color: var(--color-white);
}
.arrow-down {
    width: 0;
    height: 0;
    border-left: 0.375rem solid transparent;
    border-right: 0.375rem solid transparent;
    border-top: 0.625rem solid var(--color-btn);
    transition: all 0.3s ease;
}
.custom-button:hover .arrow-down {
    border-top-color: var(--color-white);
    transform: translateY(0.188rem);
}
/* Block trio END */
/* Header START */
.header {
	display: grid;
	grid-template-columns: 12.375rem 1fr 7.5rem;
	grid-auto-rows: auto;
    grid-template-areas:
        "logo tel lang"
        "logo menu menu";
    gap: 0.625rem;
	padding: 0 1.25rem;
}
.header-info {
	grid-area: logo;
    display: flex;
    align-items: center;
}
.header-phone {
	grid-area: tel;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;
}
.header-right {
	grid-area: lang;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.header-bottom-row {
	grid-area: menu;
	display: flex;
    justify-content: flex-end;
    width: 100%;
}
.header-logo-levitin {
	margin-left: 0.625rem;
}
.header-logo-levitin img{
	width: 11.25rem;
}
.header-info-small {
   line-height: 0.5;
   font-size: 1.125rem;
   color: var(--color-banner);
   font-weight: 500;
}
.header-info-icon img {
	display: block;
}
.header-info-item span {
	font-family: Inter, sans-serif;
}
.header-social {
	display: flex;
	column-gap: 1.375rem;
}
.header-social a {
	transition: 0.5s ease;
}
.header-social a:hover {
	opacity: .8;
}
.header-social a img {
	display: block;
}
.header-logo img {
	width: 12.5rem;
}
.header-info-item {
	display: flex;
	flex-direction: column;
    gap: 0.438px;
}
.phone-row {
	display: flex;
	gap: 0.313rem;
	padding-bottom: 0.313rem;
	align-items: center;
}
.header-phone-town:hover span{
	color: var(--color-accent);
}
.menu-header1 {
	font-family: Inter, sans-serif;
}
.menu-header1 li {
	color: var(--color-text);
}
.menu-header1 li .sub-menu li{
    color: var(--color-title2);
}
.menu-nav.menu-header2 {
	font-size: 1.125rem;
}
.menu-header2 img {
	width: 1.875rem;
	height: auto;
	box-shadow: 0 0 0.625rem rgba(0,0,0,0.3);
}
.menu-lang {
	display: flex;
	column-gap: 2.188rem;
	align-items: center;
}
.menu-nav {
    z-index: 9;
}
.menu-nav ul {
	padding: 0;
}
.menu-nav > ul {
	display: flex;
	align-items: center;
	list-style-type: none;
	column-gap: 1.25rem;
	font-size: 1rem;
	margin: 0.313rem;
}
.menu-nav ul li {
	position: relative;
}
.menu-nav ul li:hover a,
.menu-countries ul li:hover a {
	color: var(--color-checkbox);
}
.menu-nav ul li a {
	display: block;
	transition: 0.3s ease;
}
.menu-nav ul li.menu-item-has-children {
	display: flex;
}
.menu-nav ul li.menu-item-has-children::after {
	content: url('../images/caret.svg');
	padding: 0 0.938rem;
    margin-left: auto;
}
.menu-nav .sub-menu li.menu-item-has-children::after {
    padding: 0.625rem 0.938rem;
}

.menu-nav ul .sub-menu li.menu-item-has-children:hover .sub-menu {
	display: block;
}
.menu-nav ul li.menu-item-has-children:hover .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.menu-nav ul .sub-menu .sub-menu {
    left: calc(100%);
	top: auto;
	display: none;
	white-space: nowrap;
}
.menu-nav ul .sub-menu {
	font-family: Arial, Helvetica, sans-serif;
	position: absolute;
	list-style-type: none;
	left: 0;
	top: calc(100% + 0.313rem);
	min-width: 12.188rem;
	border-radius: 0.313rem;
	box-shadow: 0px 0px 0.281rem rgba(71, 71, 77, 0.12);
	opacity: 0;
	visibility: hidden;
	transition: 0.5s ease;
	transform: translateX(1.25rem);
	background-color: var(--color-submenu);
	text-transform: none;
	font-size: 0.813rem;
}
.menu-nav ul .sub-menu li a {
	padding: 0.5rem 1.25rem;
}
.menu-nav .menu-item-has-children .sub-menu ul.sub-menu {
	background: var(--color-submenu2);
}
.menu-nav ul .sub-menu li a:hover,
.menu-nav ul .sub-menu .sub-menu li a:hover {
	background-color: var(--color-hover);
	color: #fff;
}
.header .menu-nav > ul > li > a .menu-item-plus,
.header .menu-nav > ul > li > ul > li > a .menu-item-plus {
	margin-left: 0.313rem;
	display: none;
}
.hamburger,
.header-mobile {
	display: none;
}
/* Header END */
/* Frame-блок START */
.maska iframe {
	border: none;
    min-height: 37.5rem;
}
.maska iframe input.input-btn {
    background: #275a54;
}
.maska iframe .input-btn:hover {
    background: var(--color-hover);
}
/* Frame-блок END */
/* Frame-страница START */
.frame-title {
	margin-top: 0.625rem;
}
.border-title {
	border-bottom: 1px solid #e5e7eb;
    padding-top: 1.875rem;
    border-top: 1px solid #e5e7eb;
}
/* Frame-страница END */
/* Баннер START */
.banner-wrapper {
	width: 100%;
    height: auto;
}
.banner-column {
	display: flex;
	flex-direction: column;
}
.banner-row {
	position: relative;
}
.banner-item {
    position: relative; /* Важно! */
	display: flex;
    align-items: center;
    background-position: 75% 10%;
    padding: 2.5rem 0;
    color: #fff;
    z-index: 0;
    height: 65vh;
    min-height: 15.625rem;
    overflow: hidden;
    width: 100vw;
    aspect-ratio: 16/7;
}
/* Новый стиль для лениво загружаемого изображения */
.banner-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 75% 10%; /* Аналог background-position */
    z-index: -1; /* Помещаем под контент */
	aspect-ratio: 1920/855;
	content-visibility: auto;
    contain-intrinsic-size: 120rem 67.5rem;
}
.banner-item .container {
	position: relative;
	z-index: 2;
	width: 45rem;
	margin: 0 1.25rem;
}
/* Затемняющий слой */
.banner-item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.banner-title{
	font-size: 6rem;
	margin: 0 auto;
    line-height: 0.9;
	width: 30rem;
    text-align: center;
	color: var(--color-banner2);
	text-shadow: 
        1px 1px 0 #704a31,
        -1px -1px 0 #b49588,
        1px -1px 0 #b49588,
        -1px 1px 0 #b49588;
    font-weight: 400;
}
.banner-desc {
	display: flex;
	gap: 6rem;
	margin-top: 1rem;
	align-items: center;
	justify-content: end;
}
.banner-desc1 p{
	display: flex;
	flex-direction: column;
    line-height: 1;
    margin: 1rem 0;
    font-weight: 600;
    text-align: center;
	text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);  /* белое свечение вокруг текста */
}
.banner-desc2 {
    display: inline-block;
    background-color: var(--color-birusa);
	border: 4px solid var(--color-border4);
    border-radius: 50%;
    font-size: 1.5rem;
    font-weight: 400;
    padding: 1.2rem 2rem;
    text-align: center;
	box-shadow: 
        0 0 20px rgba(111, 167, 164, 0.8), /* основное свечение */
        0 0 40px rgba(111, 167, 164, 0.6), /* более мягкое рассеянное */
        0 0 60px rgba(111, 167, 164, 0.4); /* дальнее свечение */
	cursor: pointer;
}
.banner-desc2:hover {
	background-color: var(--color-birusa-hover);
    animation: bounce 0.6s ease;
}
@keyframes bounce {
    0%   { transform: translateY(0); }
    30%  { transform: translateY(-12px); } /* вверх */
    50%  { transform: translateY(0); }     /* вниз */
    70%  { transform: translateY(-6px); }  /* маленький отскок */
    100% { transform: translateY(0); }
}
.banner-desc2 p{
	font-size: 2rem;
    color: #fff;
    line-height: 1.1;
	padding: 0 2rem 0;
	margin: 0;
	font-weight: 500;
    text-shadow: 
        0 0 5px rgba(255, 255, 255, 0.8),  /* белое свечение вокруг текста */
        1px 1px 2px rgba(0,0,0,0.4);       /* мягкая контрастная тень */
}
.banner-angebot, .banner-prozent{
	font-size: 2.5rem;
	color: var(--color-btn);
}
.banner-angebot{
    font-weight: 300;
}
.banner-if {
	color: var(--color-btn);
	font-size: 1rem;
}
.banner-wrap .info-row {
	margin: 1rem 2rem 0;
	column-gap: 1.25rem;
}
.menu-banner-list, .menu-programm-list {
    list-style: none;
    padding: 0;
    display: flex;
	gap: 0.625rem;
    width: 100%;
}
.menu-banner-list img,
.menu-programm-list img {
	width: 50px;
}
.menu-banner .menu-item a,
.menu-programm .menu-item a{
	display: flex;
	gap: 0.625rem;
}
.menu-banner li {
    flex: 1; /* Равномерное распределение */
}
.menu-banner a, .menu-programm a {
    width: 100%;	
	color: var(--color-btn);
	font-size: 1rem;
	font-weight: 500;
}
.menu-programm .menu-item a {
    align-items: center;
}
.banner-email {
    display: grid;
    grid-template-columns: 11.25rem 1fr;
    gap: 1.25rem;
    align-items: start;
}
.image-border {
    width: 100%;
}
.banner-email img {
    width: 100%;
    height: auto;
    display: block;
}
.banner-email-desc p {
    margin: 0;
    color: var(--color-email);
    font-weight: 600;
    font-size: 1rem;
}
.menu-programm-list {
	flex-direction: column;
}
.title-programm {
	color: var(--color-btn);
	font-size: 16px;
}
/* Баннер END */
/* Facebook START*/
.facebook-widget {
	margin-top: 1.25rem;
}
/* Facebook END*/
/* Меню страны START */
.menu-countries {
	margin: 1.2rem 0;
}
.menu-country {
    display: grid;
    grid-template-columns: repeat(4, min-content);
    list-style: none;
    padding: 0;
    margin: 0.625rem 1.625rem;
    max-width: 31.25rem;
    column-gap: 0.938rem;
    row-gap: 0.313rem;
    justify-content: start;
}
.menu-country a {
    display: block;
    text-decoration: none;
	color: var(--color-email);
    font-size: 1.05rem;
    white-space: nowrap;
    transition: 0.3s;
	font-style: italic;
	font-weight: 600;
}
.menu-country a:hover {
    text-decoration: underline;
}
.help-phone-home {
	padding: 0.313rem 0;
	font-size: 1.125rem;
	top: -1.4rem;
}
/* Меню страны END */
/* Блок с цифрами START */
.info-wrap .title-row .title-text{
    margin-bottom: 2.5rem;
}
.info-column {
    display: flex;
    flex-direction: column;
}
.info-numbers {
    padding-bottom: 1.875rem;
    color: var(--color-white);
    display: flex;
    column-gap: 1.25rem;
}
.numbers-row {
    display: flex;
    column-gap: 1.25rem;
}
.numbers-row--first {
    justify-content: space-between;
}
.numbers-row--second {
    justify-content: center;
}
.numbers-item {
    display: flex;
    align-items: center;
    background-color: var(--color-checkbox);
    justify-content: center;
    column-gap: 1.25rem;
    padding: 0 1.25rem;
}
.numbers-item--half {
    flex: 1;
    min-width: 0;
}
.numbers-item--full {
    width: 100%;
    flex: 1 0 100%;
}
.numbers-number {
    font-size: 2.75rem;
    font-weight: 700;
}
.numbers-title {
	text-align: center;
}
.info-image-wrap {    
    width: 100%;
}
/* Блок с цифрами END */
/* Consultant Block START */
.consultant-image img {
	max-width: 7.5rem;
	width: 100%;
    height: auto;
}
.consultant-row {
	display: flex;
	column-gap: 5rem;
	justify-content: center;
}
.consultant-right {
	max-width: 32.5rem;
}
.consultant-phone {
	width: 14.375rem;
	font-size: 1.563rem;
	margin-bottom: 1.25rem;
}
/* Consultant Block START */
/* Recommendation START */
.recom-row {
	display: grid;
	grid-template-columns: 1fr 30%;
}
.advice-faq-row {
	display: grid;
	grid-template-columns: 2fr;
}
.recom-row, .advice-faq-row  {
	grid-template-areas: "a b";
	gap: 1.875rem;
	padding: 0 2.5rem;
}
.recom-left {
	grid-area: a;
}
.recom-right {
	grid-area: b;
}
.advice-row {
	display: flex;
	gap: 1.25rem;
	padding: 0 2.5rem 3.75rem 2.5rem;
}
.advice-img {
	flex: 1;
    aspect-ratio: 5 / 3;
    overflow: hidden;
}
.recom-column-item{
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.recom-column-item img, .advice-img img{
	width: 100%;
	object-fit: cover;
	border-radius: 0.313rem;
	transition: 0.8s ease;
}
.advice-img img {
	height: 100%;
}
.recom-column-item img {
	height: 12.5rem;
}
.faq-group, .advice-group {
	margin-bottom: 1.25rem;
}
.faq-group, .advice-group {
	box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.1),   /* снизу */
              -0.125rem 0.25rem 0.25rem rgba(0, 0, 0, 0.05), /* слева */
              0.125rem 0.25rem 0.25rem rgba(0, 0, 0, 0.05);  /* справа */
}
.faq-item {
	border-bottom: 1px solid #e5e7eb;
}
.faq-question, .recom-question {
	display: flex;
    align-items: center;
	font-size: 1rem;
	font-weight: 500;
	position: relative;
	cursor: pointer;
	padding: 0.625rem 3.125rem 0.625rem 1.875rem;
}
.faq-question::after, .recom-question::after{
	content: url('../images/caret.svg');
	position: absolute;
	transform: translateY(-50%);
	right: 0.313rem;
	width: 1.375rem;
	height: 1.375rem;
	transition: 0.5s ease;
}
.faq-question::after, .recom-question::after {
	top: 80%;
}
.advice-group .faq-question::after {
	top: 50%;
}
.faq-question.is-active::after, .recom-question.is-active::after {
	transform: translateY(-50%) rotate(45deg);
}
.faq-answer, .recom-answer {
	padding: 0.625rem 2.5rem 0.625rem 1.875rem;
}
.advice-group .faq-answer {
	display: none;
	padding: 1.25rem 2.5rem 1.25rem 1.875rem;
}
.faq-answer, .recom-answer {
	background-color: #EEEEEE;
	color: #5A5757;
}
.faq-answer, .recom-answer p,
.faq-answer li, .recom-answer li {
	margin-bottom: 0;
	font-style: italic;
	padding: 0;
}
.faq-answer .recom-subtitle, .recom-answer .recom-subtitle {
    color: var(--color-btn);
    text-decoration: underline;
}
.note p span:first-child {
	color: var(--color-btn);
	font-weight: 600;
}
/* Recommendation END */
/* Transfer START */
.image-transfer1 {
	max-width: 25rem;
	margin: 0 auto 1.25rem auto;
}
.image-transfer2 {
	max-width: 14.375rem;
	margin: 0 10% 1.25rem auto;
}
.table.table-transfer,
.table.transfer-price {
	max-width: 50rem;
}
.table.table-transfer {
	table-layout: fixed; /* ускоряет рендеринг и точнее распределяет ширину */
	border-collapse: collapse;
}
  .table-transfer td,
  .table-transfer th {
	word-break: break-word;
	overflow-wrap: anywhere;
}
.table-none {
	display: none;
}
.col1 {
	width: 26%;
}
.col2 {
	width: 37%;
}
.col3 {
	width: 37%;
}
.transfer-column {
	display: flex;
	flex-direction: column;
}
/* Transfer END */
/*Страны START*/
.kurort-wrap {
	position: relative;
}
.flag-map {
	position: absolute;
	width: 5rem;
	height: auto;
	right: 1.25rem;
	top: -5rem;
	}
.country-head.justify .country-title {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem; 
	line-height: 1.2;
	margin: 0.625rem;
	flex-wrap: nowrap;
}
.country-head.justify .flagok {
	height: 3.125rem;
	width: auto;
	flex-shrink: 0;
	vertical-align: middle;
}
.country-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 0.5rem;
    padding: 0;
    margin: 1.25rem auto 0.625rem;
    list-style: none;
    width: max-content;
    max-width: 100%;
}
.country-list li {
	margin-bottom: 0;
}
.country-list li+li {
    margin-bottom: 0.625rem;
}
.country-list .noaktiv {
	display: none;
}
.menu-item {
    flex: 0 0 auto;
}
.country-btn {
    display: block;
    padding: 0.5rem 1rem;
    width: max-content;
    min-width: 100%;
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
	background: #f5f5f5;
    border: none;
    border-radius: 0.313rem;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 1rem;
    color: #333;
    text-decoration: none;
}
.country-btn:hover {
    background: #275a54;
    color: white;
}
.country-btn.current-country {
    background: #275a54;
    color: white;
}
/* Контент страны */
.country-kurort-item-row { 
    display: flex;
    justify-content: space-between;
    gap: 1.875rem;
    margin-bottom: 1.875rem;
}
.kurort-left {
    flex: 1;
    max-width: 70%;
}
.kurort-right {
    flex-shrink: 0;
    width: 100%;
    max-width: 25rem;
    position: relative;
}
.country-img {
    position: relative;
    display: block;
    width: 100%; 
    height: auto;
}
.kurort-thumb {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    overflow: hidden;
}
.kurort-thumb img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0.5rem;
}
.country-desc {
    position: absolute;
    bottom: -3.75rem;
    left: 50%;
    transform: translateX(-50%);
    width: 95%;
    background: rgba(255, 255, 255, 0.75);
    color: #222;
    padding: 0.625rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(0.375rem);
    z-index: 2;
    line-height: 1.4;
	text-align: justify;
}
.kurort-title {
    color: #275a54;
    font-size: 1.375rem;
    line-height: 1.3;
    margin-bottom: 0.625rem;
}
.kurort-excerpt {
    color: #333;
    line-height: 1.6;
}
/* content-country.php */
.country-body {
    display: flex;
    gap: 1.875rem;
    margin-top: 1.875rem;
}
.country-body-left {
	display: flex;
	flex-direction: column;
	gap: 0.938rem;
	width: 30%;
}
.country-body-right {
    width: 70%;
}
/* блок про болезни */
.flex-accordion-wrapper { 
	display: grid;
	grid-template-columns: 18.75rem 1fr;
	max-width: 75rem;
	border-radius: 0.5rem;
	overflow: hidden;
	border: 1px solid #d1eded;
	background-color: var(--color-backgraund-1);
	font-family: sans-serif;
}
.accordion-left {
	display: flex;
	flex-direction: column;
	border-right: 1px solid #c8e5e5;
	background-color: transparent;
	box-shadow: inset 0 -0.625rem 0.625rem -0.625rem rgba(0, 0, 0, 0.05);
}
.accordion-button {
	display: flex;
	align-items: center;
	padding: 1.25rem 2.5rem 1.25rem 0.625rem;
	cursor: pointer;
	background-color: #e0f3f3;
	border: none;
	text-align: left;
	font-size: 1rem;
	font-weight: bold;
	color: #034b4b;
	border-bottom: 1px solid #c8e5e5;
	position: relative;
	transition: background 0.3s;
} 
.accordion-button:hover {
	background-color: #d1eded;
}  
.accordion-button .icon {
	margin-right: 0.75rem;
	font-size: 1.125rem;
}
.accordion-button::after {
	content: "▶";
	position: absolute;
	right: 0.625rem;
	transition: transform 0.3s ease;
} 
.accordion-button.active {
	background: radial-gradient(circle at center, #d5f2e3 0%, #b5e8d4 70%, #9adfc6 100%);
} 
.accordion-button.active::after {
	transform: rotate(90deg);
} 
.accordion-content-right {
	padding: 0.625rem 1.25rem;
	background-color: #ffffff;
	transition: all 0.3s ease;
}
.accordion-panel {
	display: none;
	color: #034b4b;
	line-height: 1.6;
}
.accordion-panel.active {
	display: block;
} 
.accordion-panel h3 {
	font-size: 1.375rem;
	margin: 0.625rem;
	align-items: center;
} 
.accordion-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
	gap: 0.625rem;
}
.grid-item {
	background-color: var(--color-backgraund-1);
	padding: 0.313rem;
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.grid-item .grid-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}
.grid-icon img {
	width: 1.875rem;
	height: auto;
	display: block; /* Убирает нижний отступ под изображением */
}
.grid-item .grid-text {
	font-size: 0.938rem;
	color: #034b4b;
}
.help-paragraph {
	font-size: 0.938rem;
	margin-bottom: 1.25rem;
}
.help-button {
	display: inline-block;
	background-color: #067d7d;
	color: white;
	padding: 0.75rem 1.25rem;
	border-radius: 0.5rem;
	text-decoration: none;
	font-weight: bold;
	transition: background 0.3s ease;
}
.help-button:hover {
	background-color: #045d5d;
}  
/* вывод отелей */
.hotels-title {
    font-size: 1.2em;
    margin-bottom: 0.938rem;
    color: #275a54;
    font-weight: 600;
    padding-bottom: 0.5rem;
    border-bottom: 0.125rem solid #3a8c82;
}
.hotels-list {
    display: flex;
    flex-direction: column;
    gap: 0.313rem;
    max-height: 31.25rem;
    overflow-y: auto;
    padding-right: 0.313rem;
}
.hotel-item {
    background: #fff;
    border-radius: 0.375rem;
    box-shadow: 0 0.125rem 0.375rem rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}
.hotel-item:hover {
    box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.1);
    transform: translateY(-0.125rem);
}
.hotel-link {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    text-decoration: none;
    color: inherit;
}
.hotel-name {
    font-size: 0.9em;
    margin: 0;
    color: #275a54;
    font-weight: 500;
    line-height: 1.3;
}
.no-hotels {
    font-size: 0.9em;
    color: #6c757d;
    font-style: italic;
    margin: 0;
}
/* Стили для скроллбара */
.hotels-list::-webkit-scrollbar {
    width: 0.25rem;
}
.hotels-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 0.125rem;
}
.hotels-list::-webkit-scrollbar-thumb {
    background: #3a8c82;
    border-radius: 0.125rem;
}
.hotels-list::-webkit-scrollbar-thumb:hover {
    background: #275a54;
}
/* Блок призыва к бронированию */
.hotel-booking {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.313rem;
    padding: 0.625rem;
    background: var(--gradient-green);
    color: var(--color-btn);
    border-radius: 0.5rem;
    box-shadow: 0 0.25rem 0.625rem rgba(0, 100, 80, 0.1);
    transition: all 0.3s ease;
}
.hotel-booking:hover {
    box-shadow: 0 0.375rem 1rem rgba(0, 100, 80, 0.15);
}
.booking-text {
    font-size: 1.125rem;
    font-weight: 500;
    flex: 1;
    color: var(--color-btn);
}
.hotel-booking-icon img {
    height: 3.75rem;
    width: auto;
    transition: transform 0.3s ease;
}
.hotel-booking-icon img:hover {
    transform: scale(1.1);
}
/* Страна -блоки курортов */
/* Галерея курортов */
.kurort-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
    gap: 1.25rem;
    margin-top: 1.875rem;
}
.kurort-card {
    position: relative;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.1);
    transition: transform 0.5s ease, box-shadow 0.3s ease;
}
.kurort-card:hover {
    box-shadow: 0 0.5rem 1.25rem rgba(0,0,0,0.15);
	cursor: pointer;
}
.kurort-image {
    position: relative;
    height: 12.5rem;
    overflow: hidden;
}
.kurort-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kurort-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 50%);
}
.kurort-name {
    position: absolute;
    bottom: 0.938rem;
    left: 0.938rem;
    right: 0.938rem;
    margin: 0;
    color: white;
    font-size: 1.4rem;
    font-weight: 600;
    text-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.5);
    z-index: 2;
}
.kurort-description {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(29, 73, 68, 0.9);
    color: white;
    padding: 1.25rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    z-index: 3;
}
.kurort-card:hover .kurort-description {
    opacity: 1;
}
/* Предложения и пагинация */
.offers-row, .pagination-wrap {
    margin-top: 1.875rem;
}
.pagination-wrap {
    text-align: center;
}
/*Страны END*/
/* Страны - блок START */
.country-block-row {
	display: grid	;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin-bottom: 0.625rem;
}
.country-block-thumb {
	border-radius: 0.313rem;
	overflow: hidden;
	margin-bottom: 0.625rem;
}
.country-block-thumb a {
	display: block;
	aspect-ratio: 3 / 2;
	height: auto;
}
.country-block-item:hover .country-block-title {
	color: var(--color-1);
}
.country-block-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: 0.8s ease;
}
.country-block-title {
	font-size: 1.25rem;
	text-align: center;
	margin-bottom: 0;
	transition: 0.5s ease;
}
/* Страны - блок END */
/* Страны-курорты START */
/* Общие стили контейнера */
.kurort-wrap .container {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 0.938rem;
}
/* Сетка стран */
.all-countries-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr));
    gap: 1.875rem;
    margin-top: 2.5rem;
}
.country-card {
    border: 1px solid #e0e0e0;
    border-radius: 0.5rem;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}
/* Легкое затемнение при наведении */
.country-card:hover {
    background: rgba(0,0,0,0.03);
    box-shadow: 0 0.313rem 0.938rem rgba(0,0,0,0.1);
}
.country-thumb {
    height: 12.5rem;
    overflow: hidden;
    flex-shrink: 0;
}
.country-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.country-title {
    margin: 1.25rem 1.25rem 0.625rem;
    font-size: 1.4em;
    color: #275a54;
}
.country-excerpt {
    padding: 0 1.25rem;
    line-height: 1.6;
    color: #444;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 9.6em;
    margin: 0.938rem 0;
}
.read-more {
    display: inline-flex;
    align-items: center;
    color: #275a54;
    font-weight: 500;
    padding: 0 1.25rem 1.25rem;
    margin-top: auto;
    position: relative;
}
.read-more::after {
    content: '→';
    margin-left: 0.5rem;
    font-size: 1.2em;
    transition: transform 0.2s;
}
.country-card:hover .read-more::after {
    transform: translateX(0.313rem);
}
/* Курорты END */
/* Contact START */
.container .contacts {
	display: block;
    margin: 0 auto;
	max-width: 63.5rem;
}
.contacts-title {
	display: flex;
	column-gap: 3.75rem;
}
.help-phone-contact{
	top: -2.2rem;
}
.title-row.contacts-icon {
	display: block;
    margin-bottom: 0.625rem;
}
.title-row.contacts-icon img, .contacts-icon p img {
	margin-right: 1rem;
}
.contacts-icon a{
	display: flex;
}
.contacts-icon a:nth-child(n + 2) {
	column-gap: 1rem;
}
.picture-help {
	display: flex;
    flex-direction: column;
}
.picture-help img {
	width: 13.438rem;
}
.contacts-icon .text-accent2 {
	font-weight: 500;
}
.contacts .label{
	padding-right: 0.625rem;
}
.map-container{
	display: flex;
}
.map-container iframe {
    width: 21.875;
    height: 18.75rem;
	margin: 0 auto;
}
/* Contact END */
/* Акции START */
.offers-archive .country-btn {
	background: var(--color-white);
}
.offers-archive .country-btn:hover {
    background: var(--color-hover);
    color: white;
}
.offers-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.875rem;
}
.offers-item {
	display: flex;
    flex-direction: column;
    align-self: stretch;
    height: 100%;
	border: 1px solid var(--color-border);
	border-radius: 0.313rem;
	transition: 0.35s ease;
	padding-top: 1.25rem;
	padding-bottom: 0.313rem;
	max-width: 100%;
    overflow: hidden;
}
.offers-item:hover {
	box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, .08);
}
.offers-item > *:not(.offers-image, .booking-button) {
    padding: 0 0.625rem;
}
.offers-title {
	margin-bottom: 0.625rem;
}
.offers-title h2{
	font-size: 1.25rem;
	color: var(--color-title2);
}
.price-angebot {
	display: flex;
	gap: 1.25rem;
	align-items: center;
}
.offer-inner {
	display: flex;
}
.offer-inner-left,
.offer-inner-right {
    flex: 1; /* Равномерное распределение пространства */
    min-width: 0; /* Важно для корректной работы flex с длинным текстом */
}
.offers-data {
	color: var(--color-title);
	margin-bottom: 0.313rem;
}
.offers-location {
	display: flex;
	gap: 0.625rem;
	margin-left: 0.313rem;
	align-items: center;
}
.offers-image-wrapper {
	position: relative;
	width: 100%;
}
/* Контейнер под изображение */
.offers-image {
	overflow: hidden;
	margin: 0.625rem 0;
	width: 100%;
	max-width: 100%;
	height: auto;
}
/* Ссылка занимает весь контейнер */
.offers-image a {
	display: block;
	width: 100%;
	height: auto;
}
/* Картинка растягивается под контейнер, сохраняя пропорции */
.offers-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
	max-width: 100%;
}
.offers-image:hover img {
    opacity: 0.9;
}
.befor-the-name {
	font-size: 1rem;
	color: var(--color-btn);
	text-decoration: underline;
}
.offer-name-hotel {
	font-size: 1.125rem;
}
.img-svg {
	filter: hue-rotate(197deg);
}
.offers-price {
	position: relative;
}
.modal-price {
	display: flex;
	align-items: center;
    justify-content: center;
}
.price-box {
	display: flex;
    flex-direction: column;
	margin-left: 0.313rem;
}
.price-new, .price-old  {
	line-height: 1;
}
.price-new {
	font-size: 1.5rem;
	color: var(--color-price);
	margin: 0.625rem 0 0 0;
}
.price-old {
	font-size: 1rem;
	text-decoration: line-through;
	line-height: 1;
	margin: 0;
}
.offers-price .button {
	position: absolute;
	right: 0;
	top: 0;
	margin-right: 0.938rem;
	padding: 0.875rem 1.875rem;
}
.review-block {
    display: flex;
    gap: 0.438rem;
	font-size: 1rem;
}
.review-block-column {
    flex-direction: column;
}
.eintritt-checkbox {
	font-weight: 600;
	color: var(--color-accent2);
}
.inline-bl {
	display: inline-block;
}
.booking-button {
	margin: auto auto 0;
	padding-top: 0.625rem;
}
/* Акции END */
/* Акции-single START */
.offer-row{
	display: flex;
	gap: 1.875rem;
}
.offer-single-row {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	position: relative;
}
.top-icon {
	position: absolute;
    width: 3.75rem;
    height: auto;
    right: -1.563rem;
    top: -3.125rem;
    z-index: 10;
}
/* Основные стили */
.special-offer-container {
    background: white;
    border-radius: 0.313rem;
    box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.08);
    overflow: hidden;
    font-family: 'Open Sans', sans-serif;
    max-width: 62.5rem;
    margin: 0 auto;
    position: relative;
}
/* Шапка с ценой */
.offer-header {
    padding: 1.25rem 1.875rem;
    background: linear-gradient(135deg, #2D6A5D, #5BBF9D);
    color: white;
	position: relative;
}
.offer-title {
	font-size: 1.75rem;
    font-weight: 700;
    margin: 0;
    color: white;
    flex: 1;
}
.price-badge {
    position: relative;
    z-index: 2;
}
.current-price {
    font-size: 2.188rem;
    font-weight: 800;
    color: var(--color-accent);
}
.old-price {
    font-size: 1.125rem;
    text-decoration: line-through;
    opacity: 0.9;
}
/* Сетка контента */
.offer-name-hotel{
	margin: 0.625rem;
}
.offer-name-hotel h2{
	font-size: 1.25rem;
    color: var(--color-title2);
}
.angebot-title{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 1.25rem;
	color: var(--color-btn);
}
.angebot-title h1 {
	font-size: 1.9rem;
	margin-bottom: 0.313rem;
}
.offer-content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.875rem;
    padding: 0 1.875rem;
}
.offer-column {
    display: flex;
    flex-direction: column;
}
.offer-data {
	font-size: 1.5rem;
	margin-top: 1rem;
	color: var(--color-text);
}
.offer-class{
	color: var(--color-btn);
}
.all-inclusive {
	margin: 0.625rem auto;
    background-color: #f0f0f0;
    color: #555;
    font-weight: bold;
    border-radius: 0.313rem;
    text-align: center;
    display: inline-block;
}
.food {
	justify-content: end;
	font-style: italic;
}
/* Карточки */
.hotel-info-card, .detail-card {
    background: var(--color-backgraund-2);
    border-radius: 0.5rem;
    padding: 0.625rem 1.25rem;
    box-shadow: 0 0.125rem 0.625rem rgba(0,0,0,0.05);
}
.detail-card p, .extra-text{
	font-size: 0.938rem;
	margin-bottom: 0;
}
.extra-text{
	margin-top: 0.625rem;
}
.section-title {
    font-size: 1.125rem;
    color: #2c3e50;
    border-bottom: 0.125rem solid var(--color-accent);
    padding-bottom: 0.5rem;
    margin-bottom: 0.938rem;
    display: inline-block;
}
/* Элементы деталей */
.icon {
    margin-right: 0.625rem;
    color: #e74c3c;
    font-size: 1.25rem;
}
/* Особое примечание */
.special-note {
    background: var(--color-backgraund-2);
	box-shadow: 0 0.125rem 0.625rem rgba(0,0,0,0.05);
    padding: 0.75rem;
    border-radius: 0.375rem;
    margin-top: 0.938rem;
    display: flex;
    align-items: center;
    border-left: 0.188rem solid var(--color-btn);
}
/* Блок фич с иконками */
.features-section {
    padding: 0 1.875rem 1.875rem;
}
.features-section h3{
    margin-bottom: 1.25rem;
}
/* Дополнительная информация */
.additional-info {
    padding: 0 1.875rem 1.25rem;
}
.info-title {
    color: #2c3e50;
    font-size: 1.25rem;
    margin-bottom: 0.625rem;
}
.info-text {
    line-height: 1.6;
    color: #555;
}
/* Кнопки */
.two-button {
	display: flex;
}
.special-offer-container .cta-button{
	margin-bottom: 1.875rem;
}
.offer-single-row .offer-code{
	padding: 0 0.625rem 0.625rem 0;
}
/* Акции-single END */
/* Фильтр Акций START*/
.offers-filter {
	display: flex;
	gap: 0.5rem;
	margin-left: 3.125rem;
	margin-bottom: 1.25rem;
}
.offers-filter-select {
	min-width: 30.625rem;
}
.offers-filter select {
	padding-top: 0.813rem;
	padding-bottom: 0.813rem;
	max-width: 10rem;
}
.reset-button {
	text-align: center;
}
/* Фильтр Акций END*/
/* Таксономия taxonomy-hotel Start */
.tax-hotel-row {
    display: flex;
    gap: 1.875rem;
}
.tax-hotel-row .block-wide {
	width: 70%;
}
.tax-hotel-row .block-narrow {
	width: 30%;
}
.tax-hotel-data-row {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}
.tax-hotel-data-row > *:not(.hotel-image-wrapper) {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.tax-hotel-title {
	color: var(--color-btn);	
} 
.tax-hotel-title h1 {
	padding-top: 0.938rem;
}
.tax-hotel-title h2 {
	text-align: center;
}
.hotel-location {
    display: flex;
    margin-left: 0.313rem;
    gap: 0.625rem;
}
.term-description p {
	text-align: justify;
}
/* Таксономия taxonomy-hotel END */
/* Article (общие настройки для single-страниц) START */
.block-article {
	border: 1px solid #B7B3B3;
	border-radius: 0.313rem;
	padding: 1.375;
}
.article-thumb {
	display: flex;
	gap: 0.5rem;
	width: 100%;
	overflow: hidden;
	--thumb-width: 100%; /* задаем базовую ширину */
}
.article-thumb .thumb1,
.article-thumb .thumb2 {
	flex: 1;
	position: relative;
}
.article-thumb .thumb1 img,
.article-thumb .thumb2 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.article-small {
	width: 100%;
	display: flex;
	overflow-x: auto;
	gap: 0.5rem;
	margin-top: 0.5rem;
	scrollbar-width: thick; /* Для Firefox */
	scrollbar-color: #f1f1f1; /* Для Firefox */
	padding-bottom: 0.75rem; /* Оставляем место для толстого скролла */
}  
  /* Убираем стандартные стили для WebKit */
  .article-small::-webkit-scrollbar {
	height: 0.75rem !important;
}  
  .article-small::-webkit-scrollbar-track {
	background: #f1f1f1 !important;
	border-radius: 0.375rem !important;
}  
  .article-small::-webkit-scrollbar-thumb {
	background: #888 !important;
	border-radius: 0.375rem !important;
	border: 0.125rem solid #f1f1f1 !important;
}  
  .article-small::-webkit-scrollbar-thumb:hover {
	background: #555 !important;
}
  .article-small img {
	width: 25%;
	min-width: 25%;
	flex: 0 0 calc(25% - 0.375rem);
	height: auto;
	aspect-ratio: 4/3;
	object-fit: cover;
	cursor: pointer;
	transition: transform 0.2s;
}
  .article-small img:hover {
	transform: scale(1.03);
}
.article-nav-wrap {
	margin-top: 0.938rem;
	display: flex;
	gap: 1.875rem;
	width: 100%;
}
.article-block {
    flex: 1; /* Это сделает блоки одинаковой ширины */
    min-width: 0; /* Важно для корректной работы flex с текстом */
}
.article-nav-item {
	display: flex;
	align-items: center;
	border: 1px solid #CFCFCF;
	border-radius: 0.313rem;
	padding: 0.5rem 0.625rem;
	height: 100%;
    box-sizing: border-box; /* Учитываем padding в общей ширине */
}
.article-nav-item:first-child {
	margin-bottom: 0.938rem;
}
.article-nav-thumb {
	margin-right: 0.75rem;
	border-radius: 0.313rem;
	overflow: hidden;
	width: 4.125rem;
	min-width: 4.125rem;
}
.article-thumbnail {
	display: block;
	object-fit: cover;
    width: 3.75rem;
    height: 3.125rem;
    min-width: 3.125rem;
    border-radius: 0.25rem;
    object-fit: cover;
    border: 1px solid #e0e5e4;
}
.article-nav-title {
	font-weight: 500;
	color: #000;
}
.article-nav-subtitle {
	color: #858585;
}
/* Article END */
/* ТОП-акции START*/
.offers-carousel-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.offers-carousel {
  display: flex;
  overflow: hidden;
  scroll-behavior: smooth;
}
.offer-slide {
  min-width: 18.75rem;
  height: 12.5rem;
  background-size: cover;
  background-position: center;
  margin-right: 0.938rem;
  border-radius: 0.75rem;
  position: relative;
  flex-shrink: 0;
  overflow: hidden; /* важно, чтобы затемнение не выходило за границы */
}
.offer-slide::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 50%; /* затемнение только нижней половины */
  background: linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0));
  border-radius: 0.75rem;
  pointer-events: none; /* чтобы не мешало кликам по ссылке */
}
.offer-slide-link {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
}
.offer-slide-content {
  position: absolute;
  bottom: 0.938rem;
  left: 0.938rem;
  right: 0.938rem;
  color: #fff;
  font-weight: bold;
  z-index: 1; /* чтобы текст был поверх затемнения */
  text-shadow: 0 0.125rem 0.375rem rgba(0,0,0,0.6);
}
/* ТОП-акции END*/
/* Блок программ START*/
.programm-wrap {
    margin: 2rem 0;
}
.programm-row {
    display: flex;
    gap: 0.938rem;
    margin-bottom: 2rem;
}
.programm-desc {
	padding: 0 3.125rem;
}
.programm-item {
    flex: 1;
    height: 14.5rem;
    background-size: cover;
    background-position: center;
    border-radius: 0.75rem;
    position: relative;
    overflow: hidden;
}
.programm-item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 50%;
    background: linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0));
    border-radius: 0.75rem;
    pointer-events: none;
}
.programm-item-link {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
}
.programm-item-content {
    position: absolute;
    bottom: 0.938rem;
    left: 0.938rem;
    right: 0.938rem;
    color: #fff;
    font-weight: bold;
    z-index: 1;
    text-shadow: 0 0.125rem 0.375rem rgba(0,0,0,0.6);
}
.programm-item-content h4{
	font-size: 2rem;
}
/* Блок программ END*/
/* Стили для метки ТОП START*/
.hotel-image-wrapper {
    position: relative;
    display: inline-block; /* Чтобы обертка занимала только место изображения */
}
.offer-top-badge {
    position: absolute;
    bottom: 0.938rem;
    right: 0.938rem;
    z-index: 2;
}
.offer-top-badge .dashicons {
    font-size: 2.5rem;
    color: var(--color-accent);
    text-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.3); /* Тень для лучшей видимости */
    filter: drop-shadow(0 0.125rem 0.125rem rgba(0,0,0,0.3)); /* Альтернатива для тени */
}
/* Эффекты при наведении */
.offer-top-badge .dashicons:hover {
    color: #ffb900; /* Золотой цвет при наведении */
    transform: scale(1.1);
    transition: all 0.3s ease;
}
/* Стили для метки ТОП END*/
/* Catalog START */
.catalog-wrap {
	margin-bottom: 3.75rem;
}
.catalog-row {
	display: flex;
	gap: 3.75rem;
}
.catalog-left {
	width: 50%;
}
.catalog-right{
	width: 50%;
}
.catalog-img {	
	justify-self: center;
}
.catalog-img img {	
	height: 40.625rem;
	object-fit: contain;
}
/* Catalog END */
/* Breadcrumbs START */
.breadcrumbs-wrap {
    background: var(--gradient-green);
    color: var(--color-btn);
    text-align: center;
    padding: 1.563rem 0;
	transition: background 0.5s ease;
}
.breadcrumbs-title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 0.625rem;
	max-width: 46.25rem;
	margin-left: auto;
	margin-right: auto;
}
.breadcrumbs-wrap .container span {
	font-size: 1rem;
	display: flex;
    justify-content: center;
    column-gap: 0.625rem;
}
.breadcrumb_last {
	font-weight: bold;
}
/* Breadcrumbs END */
/* Page Template START */
	.page-image {
		float: left;
		margin-right: 0.938rem;
		border-radius: 0.313rem;
		padding: 1em;
	  }
/* Page Template START */
/* Datenschutz START */
.datenschutz-wrap .title-small h2{
	font-size: 1.375rem;
}
.datenschutz-wrap h3{
	color: var(--color-btn);
	font-size: 1.25rem;
	text-transform: none;
	text-align: start;
	margin: 0.938rem 0;
}
.datenschutz-wrap li{
	margin: 0;
}
/* Datenschutz END */
/* AGB START */
.left-box {
	margin-left: 2.5rem;
}
.daten-phone img{
	width: 1.25rem;
}
.icon-row{
	display: flex;
	margin-top: 1.25rem;
	gap: 0.625rem;
}
/* AGB END */
/* Impressum START */
.impressum-wrap {
	max-width: 62.5rem;
	display: block;
    margin: 0 auto;
}
.impressum-wrap .title-text {
  text-align: center;
}
.impressum-row {
  display: flex;
  justify-content: space-between;
  gap: 1.875rem;
}

.impressum-segment {
  width: 48%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.impressum-segment .title-text {
    font-size: 1.25rem;
	margin-bottom: 0.625rem;
}
.impressum-segment.kontakt {
  background-color: #f5f5f5; /* светло-серый, почти незаметный */
  box-shadow: inset 0 0 0.313rem rgba(0, 0, 0, 0.05); /* эффект углубления */
  padding: 1.25rem;
  border: 1px solid #e0e0e0; /* для лёгкой границы, без акцента */
}
.impressum-item {
  display: flex;
  gap: 0.625rem;
}

.impressum-left {
  width: 9.375rem;
  font-weight: 700;
  text-align: left;
}
.kontakt .impressum-left {
    width: 5.938rem;
}
.impressum-left img.impressum-icon,
.address-hotel .address-icon {
  width: 1rem;
  height: auto;
  margin-right: 0.5rem;
  vertical-align: middle;
}
.impressum-right {
  flex: 1;
  text-align: left;
}
/* Impressum END */
/* Блок для преимуществ курорта START*/
.plus-row {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 0.5rem;
}
.plus-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.plus-item img{
	width: 2.5rem;
	height: auto;
}
.plus-text {
	margin: 0;
}
/* Блок для преимуществ курорта END*/
/* Блок для соцсетей START */
.messenger-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.938rem;
}
.social-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.3s ease;
    padding: 0.625rem;
    border-radius: 0.5rem;
}
.social-button:hover {
    background: var(--gradient-green);
    color: var(--color-btn);
}
.icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.5rem;
    height: 2.5rem; 
}
.social-icon {
    width: 100%; 
    height: 100%; 
    object-fit: contain;
}
.text {
    margin-top: 0.625rem;
}
/* Блок для соцсетей END */
/* Footer START */
.footer {
	background: var(--color-footer);
	padding-top: 2.5rem;
	padding-bottom: 1.25rem;
	color: var(--color-white);
	margin-top: 3.75rem;
}
.footer-row {
	display: flex;
	justify-content: space-between;
	gap: 2.5rem;
}
.footer-col {
	flex: 1;
}
.footer-left {
	display: flex;
	flex-direction: column;
}
.footer-center {
	text-align: center;
}
.footer-right {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.footer-logo {
	margin-bottom: 2.5rem;
}
.footer-logo img {
	width: 11.25rem;
}
.footer-address-item {
	display: flex;
	column-gap: 0.938rem;
	align-items: center;
	margin-bottom: 1.25rem;
}
.footer-desc p {
	text-align: justify;
	font-size: 0.938rem;
}
.footer-title {
	font-size: 0.938rem;
	margin-bottom: 0.625rem;
}
.footer-contacts-info{
	margin-bottom: 1.25rem;
}
.footer-social, .footer-contacts-item{
	display: flex;
}
.footer-social img {
	width: 2.188rem;
}
.footer-social {
	column-gap: 1.25rem;
	justify-self: center;
}
.footer-contacts-icon img {
	vertical-align: middle;
}
.footer-location{
	display: flex;
	flex-direction: column;
}
.footer .selzy-modal {
	border: 1px solid var(--color-white);
	padding: 0.625rem;
	border-radius: 0.313rem;
}
.footer-copyright {
	padding: 1.25rem 0;
	border-top: 1px solid rgba(227, 227, 227, .4);
	font-size: 0.813rem;
	color: #C7C7C7;
	text-align: center;
}
.footer-copyright p {
	margin-bottom: 0;
}
.footer-copyright span {
    font-size: 0.938rem;
}
.consultant {
	display: flex;
	justify-content: space-around;
}
.consultant a {
	display: flex;
	column-gap: 1.25rem;
	align-items: center;
	justify-content: space-between;
}
.footer a:hover .svet {
	color: var(--color-accent);
}
/* Footer END */
/* Responsive START */
@media screen and (max-width: 1150px) {
	/* Global 1150 START*/
	.info-min {
		flex: 0 0 30%;
	}
	/* Global 1150 END*/
	/* Header 1150 START */
	.header-logo-levitin {
		margin-left: 0;
	}	
	.menu-nav > ul {
		column-gap: 0.875rem;
	}
	/* Header 1150 END */
	/* Banner 1150 START */
	.banner-item .container{
		width: 40rem;
	}
	.menu-banner .menu-item a{
		flex-direction: column;
		align-items: center;
	}
	.menu-banner .menu-item span {
        text-align: center;
    }
	/* Banner 1150 END */
	/* Catalog 1150 START */
	.catalog-row {
		flex-direction: column;
		align-items: center;
	}
	.catalog-right {
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.catalog-right form {
		margin: 0 auto;
	}
	/* Catalog 1150 END */
	/* Акции 1150 START */
	.offers-filter {
		margin-left: 0;
		justify-content: center;
	}
	.offers-row {
		grid-template-columns: repeat(2, 1fr);
	}	
	/* Акции 1150 START */
	/* Акции-single 1150 START */
	.current-price {
        font-size: 1.875rem;
    }
	/* Акции-single 1150 START */
	/* Страны 1150 START*/
	/* Блок преимуществ */
	.plus-row {
		grid-template-columns: repeat(3, 1fr);
		grid-auto-rows: auto auto;
    	grid-template-areas:
        "plus1 plus2 plus3"
        "plus4 plus5 plus6";
	}
	.plus-item:nth-of-type(1) { grid-area: plus1; }
	.plus-item:nth-of-type(2) { grid-area: plus2; }
	.plus-item:nth-of-type(3) { grid-area: plus3; }
	.plus-item:nth-of-type(4) { grid-area: plus4; }
	.plus-item:nth-of-type(5) { grid-area: plus5; }
	.plus-item:nth-of-type(6) { grid-area: plus6; }
	/* Страны 1150 START*/
	}
@media screen and (max-width: 1024px) {

	/* Global 1024 START*/
	html {
		font-size: 15px;
	}
	/* Global 1024 END*/
	/* Header 1024 START*/
	.header{
		padding: 0 0.625rem;
	}
	/* Header 1024 END*/
	/* Блок с цифрами 1024 START */
    .numbers-number {
        font-size: 2.25rem;
    }    
    .numbers-item {
        column-gap: 0.938rem;
        padding: 0.625rem 0.938rem;
    }
	/* Блок с цифрами 1024 END */
	/* Рекомендации 1024 START*/
	.recom-column-item p{
		font-size: 0.934rem;
	}
	/* Рекомендации 1024 END*/	
	/* Акции-single 1024 START */
	.offer-row{
	flex-direction: column;
	}
	.block-narrow {
		order: 2;
		justify-items: center;
	}
	.block-wide {
		order: 1;
	}
	.offer-single-row {
		flex-direction: column;
	}
	.article-nav-wrap {
		gap: 1rem;
	}
	.article-nav-item:first-child {
		margin-bottom: 0;
	}
	/* Акции-single 1024 END */
	/* Hotel-single 1024 START */
	.tax-hotel-title h1 {
		padding-top: 0;
	}
	.tax-hotel-row {
		flex-direction: column;
		align-items: center;
	}	
	.tax-hotel-row .block-wide {
		width: 100%;
	}
	.tax-hotel-row .block-narrow {
		width: 100%;
	}
	.tax-hotel-row .block-article {
		border: 0;
		padding: 0;
		margin: 0;
	}
	.hotel-columns {
		column-count: 2;
		column-gap: 4vw;
	}
	/* Hotel-single 1024 END */
}
@media screen and (max-width: 992px) {
	/* Global 992 START */
	.info-row {
		column-gap: 2rem;
	}
	.info-row.column-992 {
		flex-direction: column;
		column-gap: 0;
		row-gap: 1.333rem;
	}
	.column-992 .info-max,
    .column-992 .info-middle,
    .column-992 .info-small,
    .column-992 .info-min {
        flex: 0 0 100%; /* все блоки занимают 100% ширины */
        width: 100%;
    }    
    .column-992 .info-image-wrap {
        text-align: center;
    }    
    .column-992 .info-image {
        max-width: 100%;
        margin: 0 auto;
    }    
    .column-992 .info-image img {
        max-width: 34.375rem;
        height: auto;
		margin: 0 auto;
    }    
    .column-992 .info-flex {
        width: 100%;
    }
	/* Global 992 END */
	/* Header 992 START */
	.header {
		grid-template-columns: 12rem 1fr;
		grid-template-areas:"logo tel lang hamburger";
		column-gap: 1.333rem;
	}
	.header-info {
		padding-top: 0.333rem;
	}
	.hamburger {
		grid-area: hamburger;
		display: grid;
		align-items: center;
		font-size: 2.333rem;
		color: var(--color-text);
		justify-content: flex-end;
	}
	.header-bottom-row{
		display: none;
	}
	.header-mobile {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		bottom: auto;
		width: 100%;
		height: 100vh;
		z-index: 9;
		font-size: 1.333rem;
		background-color: var(--color-white);;
		padding: 0 1.333rem;
		color: var(--color-title2);
		overflow-y: auto;
		transform: translateX(-110%);
		transition: 0.5s ease;
	}
	.header-mobile.is-active {
		transform: none;
	}
	.header-mobile-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-bottom: 1px solid var(--color-submenu);
	}
	.header-mobile-close img{
		width: 1.333rem;
		height: auto;
	}
	.menu-mobile {
		display: flex;
        flex-direction: column;
		margin-left: 1.333rem;
	}
	.header-mobile-social {
		display: flex;
		column-gap: 1rem;
		margin-bottom: 1rem;
	}
	.menu-mobile-nav ul li a {
		padding: 1rem 1.333rem;
		margin-right: 1.333rem;
		display: block;
		border-bottom: 1px solid var(--color-submenu);
		transition: 0.3s ease;
	}
	.menu-mobile-nav ul {
		padding: 0;
		list-style-type: none;
	}
	.menu-mobile-nav .menu-item-has-children ul.sub-menu {
		display: none !important;
	}
	.menu-mobile-nav .menu-item-has-children.show > ul.sub-menu {
		display: block !important;
		background: var(--color-submenu2);
		margin-left: 0.667rem;
	}
	.menu-mobile-nav .menu-item-has-children {
		position: relative;
		border-bottom: 1px solid var(--color-submenu2);
	}
	.menu-mobile-nav .menu-item-has-children:after {
		content: ""; 
		border: 0.333rem solid transparent; 
		border-top: 0.333rem solid #b3b3b3; 
		position: absolute; 
		right: 0.75rem; top: 1.4rem; 
		transition: transform 300ms;
	}
	.menu-mobile-nav .menu-item-has-children.show:after {
		transform: rotate(90deg);
	}
	.menu-mobile-nav .menu-item-has-children > a {
		display: inline-block; 
		width: auto; 
		border-bottom: none;
	}
	.menu-mobile-nav .menu-item-has-children .sub-menu ul.sub-menu {
        background: var(--color-submenu);
    }
	.header-mobile-logo img {
		width: 13.333rem;
	}
	/* Header 992 END */
	/* Banner 992 End*/
	.menu-country {
		column-gap: 0;
		justify-content: space-between;
	}
	.help-phone-home {
		left: 0;
		margin-bottom: 0;
	}
	/* Banner 992 End*/
	/* Блок с цифрами 992 START */
	.numbers-item {
		flex-direction: column;
		justify-content: space-between;
		width: 100%;
	}
	/* Блок с цифрами 992 END */
	/* Transfer 992 START */
	.transfer-column {
		flex-direction: row;
		gap: 1.25rem;
	}
	.image-transfer2 {
		margin: 0 2rem 1.333rem auto;
	}
	/* Transfer 992 END*/
	.offers-filter {
		flex-direction: column;
		justify-self: center;
	}
	.offers-filter-select {
		display: flex;
		justify-content: center;
        gap: 0.5rem;
		min-width: auto;
	}
	.offers-filter-select .button{
		min-width: 12.5rem;
	}
	/* Акции-single 992 START */
	.offer-wrap .article-nav-wrap {
		flex-direction: column;
	}
	/* Акции-single 992 END */
	/* Contacts 992 START */
	.map-container iframe {
		width: 75%;
	}
	.contacts-title {
		justify-self: center;
	}
	/* Contacts 992 END */
	/* Страны - блок 992 START */
	.country-block-row {
		grid-template-columns: repeat(2, 1fr);
	}
	/* Страны - блок 992 END */
	/* Footer 992 START*/
	.footer-row {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.footer-col {
		width: 100%;
	}
	.footer-left,
	.footer-center,
	.footer-right {
		align-items: center;
		text-align: center;
	}
	.footer-logo {
		text-align: center;
	}
	.footer-address-item {
		justify-content: center;
		text-align: left;
	}
	.footer-desc {
		font-size: 1rem;
	}
	.consultant {
		justify-content: center;
	}
	.consultant a {
		flex-direction: column;
		text-align: center;
		row-gap: 0.625rem;
	}	
	.footer-social {
		justify-content: center;
	}
	/* Footer 992 END*/
}
@media screen and (max-width: 820px) {
	/* Global 820 END */	
	.info-row.column-820 {
		flex-direction: column;
		column-gap: 0;
		row-gap: 1.25rem;
	}
	.column-820 .info-max,
    .column-820 .info-middle,
    .column-820 .info-small,
    .column-820 .info-min {
        flex: 0 0 100%; /* все блоки занимают 100% ширины */
        width: 100%;
    }    
    .column-820 .info-image-wrap {
        text-align: center;
    }    
    .column-820 .info-image {
        max-width: 100%; /* ограничиваем максимальную ширину */
        margin: 0 auto;
    }    
    .column-820 .info-image img {
        max-width: 100%;
        height: auto;
    }    
    .column-820 .info-flex {
        width: 100%;
    }
	.trio-row {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }    
    .trio-left,
    .trio-middle,
    .trio-right {
        text-align: center;
    }	
	.view-offers-link {
		align-self: center;
	}
	.list1.two-columns {
		grid-template-columns: 1fr;
	}
	/* Global 820 END */
	/* Баннер 820 START*/
	.banner-item .container, .info-btn {
		margin: 0 auto;
	}
	.banner-item .container {
		display: flex;
		flex-direction: column;
		text-align: center;
	}
	/* Баннер 820 END*/
	/* Рекомендации 820 START */
	.recom-row, .advice-faq-row {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}
	.recom-row {
		grid-template-areas:
			"b"
			"a";
	}
	.advice-faq-row {
		grid-template-areas:
			"a"
			"b";
	}
	.recom-column-item {
		flex-direction: row;
	}
	.recom-column-item p{
		font-size: 1rem;
	}
	.recom-column-item img {
		align-self: center;
	}
	.recom-gallery {
		display: flex;
		flex-direction: column;
		gap: 1.25rem;
	}
	.faq-question::after, .recom-question::after {
		right: 0px;
		top: 60%;
	}
	/* Рекомендации 820 END */
	/* Трансфер 820 START*/
	.column-820 .image-transfer1 {
		max-width: 25rem;
	}
	/* Трансфер 820 END*/
	/* Акции 820 START */
	.offers-row {
		grid-template-columns: 1fr;
	}
	/* Акции 820 START */
	/* Страны 820 START */
	.country-list {
		justify-content: center;
	}
	.country-kurort-item-row {
		flex-direction: column;
	}
	.kurort-left {
		max-width: none;
	}
	.kurort-right {
        margin: 0 auto 3.125rem;
    }
	/* Страны 820 END */
	/* Impressum 820 START */
	.impressum-row {
		flex-direction: column;
		align-items: center;
	}
	.impressum-segment {
		width: 100%;
		max-width: 31.25rem;
	}
	/* Impressum 820 END */
}
@media screen and (max-width: 768px) {
	/* Global 768 START */
	section + section {
		margin-top: 1rem;
	}
	/* Global 768 END */
	/* Header 768 START */
	.header-info-small {
        font-size: 0.875rem;
    }
	.header-phone {
		gap: 1.563rem;
	}
	/* Header 768 END */
	/* Banner 768 START */
	.banner-desc {
		justify-content: center;
	}
	/* Banner 768 END */
	/* Programm 768 START */
	.info-row.country-programm,
	.menu-programm .menu-item a {
		flex-direction: column;
	}
	.programm-small {
		width: 100%;
	}
	.title-programm {
		text-align: center;
		margin-bottom: 1.5rem;
	}
	.title-right {
		padding: 0;
	}
	.menu-programm-list {
		flex-direction: row;
		justify-content: center;
        gap: 3rem;
	}
	.programm-desc {
		padding: 0;
	}
	/* Programm 768 END */
	/* Рекомендации 768 START */
	.recom-column-item {
        flex-direction: column;
    }
	.recom-column-item img {
		height: 18.75rem;
	}
	.advice-row {
		flex-direction: column;
	}
	/* Рекомендации 768 END */
	/* Transfer 768 START */
	.transfer-column {
		flex-direction: column;
	}
	.column-992 .info-image {
        max-width: 21.875rem;
    }
	/* Transfer 768 END*/
	/* Страны 768 START*/	
	/*(галерея). Решение для мобильных устройств - описание по клику 768 */
	.kurort-gallery {
		grid-template-columns: 1fr;
		gap: 0.625rem;
	}
	.kurort-card {
		display: flex;
		flex-direction: column;
	}
	.kurort-name {
		font-size: 1.2rem;
	}
	.kurort-description {
		position: static;
		overflow: hidden;
		transition: max-height 0.3s ease, padding 0.3s ease;
		opacity: 1;
		background: #f5f5f5;
		color: #333;
	}
	.kurort-card.active .kurort-description {
		max-height: 18.75rem;
		padding: 0.625rem;
	}
	/* Страны (аккордеон)768 */
	.flex-accordion-wrapper {
		grid-template-columns: 1fr;
	}
	.accordion-left {
		border-right: none;
		border-bottom: 1px solid #c8e5e5;
	}
	.accordion-grid {
		grid-template-columns: 1fr;
	}
	/* Страна content-country.php 768 */
	.country-body {
		flex-direction: column;		
	}	
	.country-body-left, .country-body-right {
		width: 100%;
	}
	.kurort-title {
		text-align: center;
	}
	/* Страна 768 END */
	/* Акции-single 768 START */
	.top-icon {
        top: 6.25rem;
    }
	.angebot-title h1 {
		font-size: 1.7rem;
	}
	.offer-row {
		flex-direction: column;
	}
	.offer-data {
		font-size: 1.25rem;
	}
	.offer-row .maska {
		display: flex;
        justify-content: center;
    }
	.offer-content-grid {
        grid-template-columns: 1fr;
		gap: 0.938rem;
		padding-bottom: 1.563rem;
    }    
    .offer-header {
        flex-direction: column;
        text-align: center;
    }    
    .price-badge {
        text-align: center;
    }
	.hotel-info-card, .detail-card {
		padding: 0 1.25rem;
	}
	/* Акции-single 768 END */	
}
@media screen and (max-width: 670px) {
	
    /* GLOBAL 670 START */
    .justify {
		margin: 0 1.25rem;
	}
	.title-small .title-text {
		font-size: 1.25rem;
	}
    /* GLOBAL 670 END */
	.breadcrumbs-wrap {
		padding: 0.938rem 0;
		margin-top: 0.313rem;
	}
	/* Header 670 START */
	.header {
		grid-template-areas:
			"logo lang hamburger"
			"logo tel tel";
		row-gap: 0;
	}
	.header-phone {
        margin-bottom: 0.6rem;
    }
	/* Header 670 END */
	/* Programm 670 START */
	.menu-programm-list {
        gap: 2rem;
    }
	.programm-row{
		flex-direction: column;
	}	
	.programm-item {
        height: 12rem; /* или auto */
        min-height: 12rem; /* гарантирует видимость */
    }
	/* Programm 670 END */
	/* Offers single 670 START */
	.angebot-title {
		flex-direction: column;
	}
	/* Offers single 670 END */
    /* Рекомендации 670 START */
	.recom-row, .advice-row, .advice-faq-row {
		padding: 0 0.625rem;
	}
	.advice-faq-row {
		padding-top: 1.25rem;
	}
	.two-button {
		flex-direction: column;
	}
	.special-offer-container .cta-button {
		margin-bottom: 1rem;
	}
    /* Рекомендации 670 END */
    /* Transfer 670 START */
	.table-view {
		display: none;
	}
	.table-none {
		display: table;
	}
    /* Transfer 670 END */
	/* Consultant 670 END*/
	.consultant-row {
    flex-direction: column;
	}
	.consultant-image img {
		display: block;
		margin: 0 0 2.5rem auto;
		transform: scaleX(-1);
	}
	.consultant-phone {
		font-size: 1.375rem;
    	margin: 1.25rem auto;
	}
	.consultant-row .info-btn {
        text-align: center;
		margin-bottom: 1.25rem;
    }
	/* Consultant 670 END */
	/* Страны - блок 670 START */
	.plus-row {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
        "plus1 plus2"
        "plus3 plus4"
		"plus5 plus6";
    }
	/* Страны - блок 670 END */
	/* Catalog 670 START*/
	.catalog-row {
		gap: 1rem;
	}
	.catalog-left {
		width: 100%;
	}
	.catalog-img img {
		height: auto;
		max-width: 31.25rem;
		width: 100%;
	}
	/* Catalog 670 END*/
	/* Contact 670 START */
	.map-container iframe {
		width: 100%;
	}
	.contacts-title {
		flex-direction: column-reverse;
		row-gap: 1.25rem;
    }
	/* Contact 670 END */
	/* Hotel-single 670 START */
	.hotel-columns {
		column-count: 1;
	}
	/* Hotel-single 670 END */
	/* AGB 670 START */
	.left-box {
		margin-left: 0;
	}
	/* AGB 670 END */
}
@media screen and (max-width: 575px) {

	/* Global 575 START */
	.info-image img {
        width: 100%;
    }
    .justify {
		margin: 0 0.625rem;
	}
	select {
		background-position: 95% center;
	}
	.scroll-arrow-left {
		left: -0.625rem;
	}
	.scroll-arrow-right {
		right: -0.625rem;
	}
	/* Global 575 END */
	/* Header 575 START */
	.header {
		grid-template-areas:
			"logo lang hamburger"
			"tel tel tel";
	}
	.header-info-small {
        font-size: 1rem;
    }
    /* Header 575 END */
    /* Banner 575 START */
	.banner-item {
		height: 62vh;
		aspect-ratio: 16/9;
	}
	.banner-item .container {
        width: 30rem;
    }
	.banner-desc {
		gap: 2rem;
	}
	.banner-title, .banner-desc1 p,
	.banner-angebot, .banner-prozent,
	.banner-if {
		color: var(--color-white);
		text-shadow: 1px 1px 0 #704a31, -1px -1px 0 #b49588, 1px -1px 0 #b49588, -1px 1px 0 #b49588;
	}
	.banner-title {
		font-size: 4rem;
		width: auto;
	}
	.banner-angebot, .banner-prozent {
    	font-size: 2rem;
	}
	.banner-desc2 p {
    	font-size: 1.8rem;
		padding: 0 1rem 0;
	}
	.menu-country .noaktiv {
		display: none;
	}
	.menu-country {
		grid-template-columns: repeat(3, min-content);
	}
	.menu-banner-list {
		flex-direction: column;
		margin: 0;
	}
	.menu-banner .menu-item a{
		flex-direction: row;
	}
	.menu-banner .menu-item span {
        text-align: left;
    }
	.banner-item::before {
		background: radial-gradient(
			circle at center,
			rgba(0, 0, 0, 0.0) 0%,
			rgba(0, 0, 0, 0.1) 50%,
			rgba(0, 0, 0, 0.6) 100%
		);
	}
	.banner-email {
		grid-template-columns: 8rem 1fr;
	}	
    /* Banner 575 END */
    /* Programm 575 START */	
	.menu-programm-list {
        flex-direction: column;
    }
    /* Programm 575 END */
	/* Блок с цифрами 575 START */
	.info-numbers {
        flex-direction: column;
		row-gap: 0.625rem;
    }
	.numbers-item {
        flex-direction: row;
		justify-content: center;
    }
	/* Блок с цифрами 575 END */
	/* Modal 575 START */
	.modal-logo img {
		max-width: 6.875rem;
	}
	.modal-close img {
		max-width: 1.25rem;
	}
	/* Modal 575 END */
	/* Страны 575 START */
	.flag-map {
		width: 3.125rem;
		top: -4.063rem;
	}	
	.plus-row {
        grid-template-columns: 1fr;
        grid-template-areas:
        "plus1"
        "plus2"
        "plus3"
        "plus4"
        "plus5"
		"plus6";
		justify-self: center;
    }
	/* Страны 575 END */
	/* Catalog 575 START */
	.catalog-right form .input-text {
		flex-direction: column;
	}
	/* Catalog 575 END */
	/* Акции-single 575 START */
	.offer-title {
        font-size: 1.25rem;
    }
	.offer-header {
    	padding: 0.625rem;
	}
	.angebot-title {
		margin: 0.625rem;
	}
	.angebot-title h1 {
		font-size: 1.2rem;
	}
	.article-thumb {
		flex-direction: column;
		aspect-ratio: auto;
	}
	.price-badge {
		margin-top: 0.313rem;
    }
	/* аккордеон */
	.hotel-info-card, .detail-card {
        padding: 0;
    }
	/* Акции-single 575 END */
	/* Hotel-single 575 START */
	.tax-hotel-title h1 {
        font-size: 1.3rem;
    }
	.tax-hotel-title h2 {
        font-size: 1.2rem;
    }
	/* Hotel-single 575 END */
	/* Фильтр Акций 575 START*/
	.offers-filter {
		margin-top: 0.625rem;
    }
	.offers-filter-select {
		flex-direction: column;
		align-items: center;
    }
	/* Фильтр Акций 575 END*/
	/* Забронировать акцию 575 START */
	.modal-title h2 {
		font-size: 1.5rem;
	}
	.modal-form-wrap.offer-form .form-group.input-text, .forma-row {
		flex-direction: column;
	}
	/* Забронировать акцию 575 END */
}
@media screen and (max-width: 470px) {
	/* Global 470 START */
	.title-text {
		padding: 0;
	}
	.justify {
		margin: 0;
	}
	.table tbody td {
		padding: 0.625rem 0.313rem;
		font-size: 0.875rem;
	}
	/* Global 470 END */
	/* Banner 470 START */
	.banner-item .container {
        width: 25rem;
    }
	.banner-title {
        font-size: 3.5rem;
    }
	.banner-desc {
        gap: 1rem;
    }
	.banner-desc2 p {
        font-size: 1.5rem;
        padding: 0 0rem 0;
    }
	.banner-wrap .info-row {
		margin: 1rem 1rem 0;
	}
	.menu-country {
		grid-template-columns: repeat(2, min-content);
		justify-content: left;
        column-gap: 5rem;
	}
    /* Banner 470 END */
	/* Блок с цифрами 470 START */
	.info-numbers {
        padding-bottom: 0.625rem;
    }    
    .numbers-item {
		column-gap: 0.625rem;
    }    
    .numbers-number {
        font-size: 1.75rem;
    }    
    .numbers-title {
        font-size: 0.75rem;
    }
	/* Блок с цифрами 470 END */
	/* Консультант 470 START */
	.consultant-image img {
        margin: 0 0 1.5rem auto;
    }
	/* Консультант 470 END */
	/* Рекомендации 470 START */
	.recom-row {
		padding: 0;
	}
    /* Рекомендации 470 END */
	/* Catalog 470 START */
	.input-radio .wpcf7-list-item {
		margin: 0 0 0 0.5em;
	}
	.forma form,
	.forma form fieldset {
		gap: 0.5rem;
	}
	/* Catalog 470 END */
	/* Страны 470 START */
	.accordion-panel h3 {
		font-size: 1.125rem;
	}	
	/* Страны 470 END */
	/* Страны - блок 470 START */
	.country-block-row {
		grid-template-columns: 1fr;
	}
	/* Страны - блок 470 END */
	/* Акции 470 START */
	.offers-row {
		margin-top: 1.25rem;
	}
	/* Акции 470 END */
	/* Акции-single 470 START */
	.top-icon {
		right: -1.25rem;
	}
	/* Акции-single 470 END */
	/* Забронировать акцию 470 START */
	.modal-form-wrap.offer-form .modal-body form .form-btn input {
		width: auto;
	}
	/* Забронировать акцию 470 END */
	/* Impressum 470 START */
	.impressum-segment.kontakt {
		padding: 0.625rem;
	}
	/* Impressum 470 END */
}
@media screen and (max-width: 380px) {
	/* Header 380 START */
	.header {
        column-gap: 0.625rem;
		padding: 0 0.313rem;
    }
	.header-info-small {
        font-size: 0.933rem;
    }
    /* Header 380 END */
	/* Акции 380 START */
	.offers-price {
		display: flex;
		flex-direction: column;
	}
	.offers-price .button {
		position: relative;
		margin: 0.667rem auto;
		text-align: center;
		width: 16rem;
	}
	/* Акции 380 END */
	/* Акции-single 380 START */
	.cta-button {
		width: 16rem;
	}
	/* Акции-single 380 END */
	/* Забронировать акцию 380 START */
	.modal-title h2 {
        font-size: 1.2rem;
    }
	.modal-title p {
        font-size: 0.933rem;
    }
	.price-new .offer-price{
		font-size: 1.3rem;
	}
	/* Забронировать акцию 380 END */
	/* Impressum 380 START */
	.kontakt .impressum-item {
		gap: 0;
	}
	.impressum-item p {
		font-size: 0.933rem;
	}
	/* Impressum 380 END */
}
@media screen and (max-width: 340px) {
	.container {
		padding: 0 0.667rem;
	}
	.scroll-arrow-left {
		left: -0.333rem;
	}
	.scroll-arrow-right {
		right: -0.333rem;
	}
}
/* Responsive END */
