:root {
    --white: #fff;
    --white20: #f0f2f5;
    --white30: #fafcff;
    --black: #111;
    --ultraDark20: #121213;
    --ultraDark30: #1e1e22;
    --ultraDark50: #303033;
    --blackPrimary: #121212;
    --black50: #2a2a2d;
    --blackDarker: #1d1d1e;
    --blackPrimary2: #111111;
    --darkBlue: #12151e;
    --darkBlue30: #1b1f2a;
    --darkBlue50: #2a2e39;
    --purple: #8f60ff;
    --yellow: #f7d10a;
    --yellowLight: #ffc421;
    --yellowDarker: #ff8d04;
    --orange: #ff7d34;
    --orangeDarker: #ff6320;
    --orangeLight: #fdf0ea;
    --orangePrimary: #ff710a;
    --red: #ff2020;
    --gray: #8e8e8e;
    --grayPrimary: #202020;
    --neturalGray10: #191b23;
    --neturalGray50: #75767f;
    --neturalGray70: #aaaab4;
    --lightGray: #8b90a6;
    --lightGray2: #f6f6f6;
    --lightGray10: #1c2132;
    --lightGray40: #595e71;
    --lightGray50: #71768b;
    --lightGray80: #c1c5dc;
    --lightGray95: #eef0ff;
    --darkGray10: #030406;
    --darkGray70: #0b0e17;
    --darkGray80: #0e111c;
    --accent10: #8850ff;
    --accent20: #926cff;
    --accent30: #4e7cfe;
    --accent95: #e6d4ff;
    --textMain: #f5f6f7;
    --textP: #8b90a6;
    --textPLighter: #d1d1d4;
    --textBtn: #fcfdfe;
    --brad: 10px;
    --bradMed: 24px;
    --bradMed2: 28px;
    --bradBig: 32px;
}
*,
*::after,
*::before {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    border: none;
}
* {
    font-family: "Open sans", sans-serif;
    position: relative;
}
html {
    position: relative;
    overflow-x: clip;
    scroll-behavior: smooth;
}
@media (max-width: 1024px) {
    body {
        overflow-x: hidden;
    }
}
body,
html {
    display: block;
    box-sizing: border-box;
    font-size: 18px;
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    background-color: var(--blackPrimary);
    color: var(--textMain);
}
h2 > * {
    display: inline-block;
    vertical-align: middle;
}
html {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.4) var(--blackPrimary);
}
a {
    text-decoration: none;
    color: inherit;
}
img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
ul,
li {
    padding: 0;
    list-style: none;
    marker: none;
}
.template__list {
    margin-left: 20px;
    color: var(--orangePrimary);
}
.template__list > *:not(:last-child) {
    margin-bottom: 6px;
}
.template__list li p {
    display: inline-block;
    vertical-align: middle;
}
.template__list li {
    list-style-type: disc;
}
.template__list li p:first-child {
    color: white;
    margin-right: 12px;
}
.template__list li p:last-child {
    color: var(--lightGray);
    margin-right: 12px;
}
.ol_decimal {
    margin-left: 21px;
}
.ol_decimal,
.ol_decimal li {
    list-style-type: decimal;
}
.ol_decimal li:not(:last-child) {
    margin-bottom: 6px;
}
.ol_decimal li::marker {
    font-family: "Open sans", sans-serif;
    color: var(--neturalGray50);
}
.mw1920 {
    max-width: 1920px;
    margin: 0 auto;
    overflow: hidden;
}
.mw1480 {
    max-width: 1480px;
    margin: 0 auto;
}
.wrapper_smaller,
.wrapper {
    margin: 0 auto;
    max-width: 1480px;
    height: 100%;
    width: 100%;
}
.wrapper_smaller {
    max-width: 940px;
}
.lableHeader {
    color: var(--lightGray50);
    text-align: center;
}
a::after {
    content: "";
    position: absolute;
    width: 0%;
    height: 1px;
    background-color: currentColor;
    bottom: -2px;
    left: 0;
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
a:hover::after {
    width: 100%;
}
a:has(img, div)::after {
    content: none;
}
h1,
h2,
h3,
h4,
h5 {
    font-weight: 400;
    font-family: "Montserrat", sans-serif;
    color: var(--white);
    line-height: 130% !important;
}
h1 {
    font-size: 68px;
}
p,
a {
    font-family: "Open sans", sans-serif;
    color: var(--white);
    font-weight: 400;
    line-height: 180% !important;
    font-size: 18px;
    position: relative;
}
.hColorBlack {
    color: var(--neturalGray10) !important;
}
.hColorBlack p {
    color: var(--neturalGray50) !important;
}
.hColorBlackp {
    color: var(--neturalGray50) !important;
}
.hColorBlackAll {
}
.hColorBlackAll h1,
.hColorBlackAll h2,
.hColorBlackAll h3,
.hColorBlackAll h4 {
    color: var(--neturalGray10) !important;
}
p,
a {
    line-height: 160% !important;
}
.fz18 {
    font-size: 18px;
}
.fz124 {
    font-size: 124px;
}
.fz72 {
    font-size: 72px;
    font-weight: 700;
}
.fz64 {
    font-size: 64px;
}
.fz64 {
    font-size: 64px;
}
.fz56 {
    font-size: 56px;
}
.fz52,
.bigMessage_title,
h2 {
    font-size: 52px;
} /* .fz48 {    font-size: 48px;    text-transform: uppercase;    font-weight: 900;} */
.fz48 {
    font-size: 48px;
}
.fz42 {
    font-size: 42px;
    line-height: 120% !important;
}
.fz36 {
    font-size: 36px;
}
.fz30,
h3 {
    font-size: 30px;
}
.fz28 {
    font-size: 28px;
    text-transform: none;
}
h4,
.fz24 {
    font-size: 24px;
    text-transform: none;
}
.fz20 {
    font-size: 20px; /* font-weight: 600; */
}
.fz16 {
    font-size: 16px;
}
.fz14 {
    font-size: 14px;
}
.fz12 {
    font-size: 12px;
}
.fz10 {
    font-size: 10px;
}
p > * {
    display: inline-block;
}
section {
    position: relative;
}
.width80 {
    max-width: 80%;
}
.width70 {
    max-width: 70%;
}
.width60 {
    max-width: 60%;
}
.width50 {
    max-width: 50%;
}
.width40 {
    max-width: 40%;
}
.width30 {
    max-width: 30%;
}
.width256 {
    max-width: 256px;
}
.width235 {
    max-width: 235px;
    width: 100%;
}
.title {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 16px;
}
.taCenter {
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
}
.taLeft {
    text-align: left !important;
}
.state_page {
    padding-top: 100px;
}
.secondary_p {
    color: #bababa !important;
}
.flex-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 60px;
}

.flex-row > * {
    flex: 1 1 50%;
}
.flex-row > *:last-child {
    align-self: center;
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-row p {
    opacity: 0.65;
}
.flex-collumn {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.flex-collumn a {
    max-width: max-content;
}

.flex-row-3 {
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 24px;
    justify-content: start;
    flex-wrap: wrap;
}

.flex-row-3 > * {
    flex: 1 1 25%;
}
@media (max-width: 768px) {
    .flex-row {
        flex-direction: column;
        gap: 20px;
    }
    .flex-row-3 > * {
        flex: 1 1 40%;
        max-width: 50%;
    }
}
@media (max-width: 525px) {
    .flex-row-3 > * {
        flex: 1 1 50%;
        max-width: 100%;
    }
}
.ulMark_second li::before,
.ulDecimal li::before,
.ulMark_warning li::before,
.ulMark li p:first-child::before {
    position: absolute;
    content: "";
    background-image: url(/assets/imgs/check.svg);
    background-repeat: no-repeat;
    background-size: contain;
    top: 0%;
    left: -22px;
    transform: translateY(35%);
    width: 16px;
    height: 16px;
}
.ulMark_second li,
.ulMark li p:first-child {
    margin-bottom: 12px;
    margin-left: 22px;
}
.ulMark li:has(p:nth-of-type(2)) p:first-child {
    opacity: 1;
}
.ulMark_second li:has(p:nth-of-type(2)) p:first-child {
    margin-bottom: 8px;
}
.ulMark_second li:has(p:nth-of-type(2)) p:last-child {
    opacity: 0.65;
}
.ulMark_second li:not(:last-child),
.ulMark li:not(:last-child) {
    margin-bottom: 20px;
}

.ulDecimal li {
    margin-left: 22px;
}
.ulDecimal li p:first-child {
    margin-left: 0;
}
.ulDecimal li,
.ulDecimal li p,
.ulDecimal {
    list-style-type: decimal !important;
    marker: initial !important;
    list-style: decimal !important;
}
.ulDecimal li::before,
.ulDecimal li p::before {
    content: none !important;
}

.ulMark_warning {
    margin-left: 28px;
}
.ulMark_warning li::before {
    background-image: url(/assets/imgs/warning_icon.svg);
    left: -28px;
}
.ulMark_warning li p:not(:last-child) {
    margin-bottom: 8px;
}

.breadLink {
    gap: 26px;
    flex-wrap: nowrap;
    flex-direction: row !important;
}
.breadLink a {
    max-width: max-content;
    width: 100%;
}
.breadLink a:not(:last-child)::before {
    content: "";
    position: absolute;
    background-image: url("/assets/imgs/arrowRight.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 12px;
    height: 12px;
    right: -18px;
    top: 50%;
    transform: translateY(-30%);
}
.title_warning {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
}
.title_warning > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 18px;
    background-color: var(--grayPrimary);
    padding: 12px 14px;
}
.title_warning > div div {
    display: flex;
}
.title_warning > div p {
    opacity: 0.7;
}
.title_warning > div img {
    object-fit: contain;
    width: 19px;
    height: 19px;
}

.line {
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.2);
}
.bigMessage > div {
    position: absolute;
    top: 0;
    left: 202px;
    width: 238px;
    height: 171px;
    opacity: 0.5;
}
.bigMessage_title {
    font-size: 54px;
    text-align: right;
    font-style: italic;
    padding-top: 60px;
}
.bigMessage_subTitle {
    opacity: 0.65;
    text-align: right;
}
.medMessage {
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: start;
    gap: 32px;
    background-color: var(--grayPrimary);
    padding: 40px;
}
.medMessage > div {
    min-width: 36px;
    min-height: auto;
    max-width: 64px;
}
.medMessage > div img {
    object-fit: contain;
}

.GDContent > h2:not(:first-child),
.GDContent > h3:not(:first-child) {
    margin-top: 32px;
}
.GDContent > h2,
.GDContent > h3 {
    margin-bottom: 24px;
}
.GDContent > p {
    margin-bottom: 12px;
    opacity: 0.65;
}
.taCenter {
    text-align: center;
}
@media (min-width: 1481px) and (max-width: 1600px) {
    .wrapper {
        max-width: 95%;
    }
    h2, .fz52, .bigMessage_title {
        font-size: 42px;
    }
    h3, .fz30 {
        font-size: 26px;
    }
    .fz72 {
        font-size: 56px;
    }
    .fz56 {
        font-size: 46px;
    }
    .fz48 {
        font-size: 40px;
    }
    .fz42 {
        font-size: 36px;
    }
    .fz36 {
        font-size: 30px;
    }
    .fz24, h4 {
        font-size: 21px;
    }
    .fz20 {
        font-size: 18px;
    }
    body, html {
        font-size: 16px;
    }
}
@media (max-width: 1480px) {
    .wrapper {
        max-width: 95%;
    }
    .fz124 {
        font-size: 12vw;
    }
}
@media (max-width: 768px) {
    .medMessage {
        padding: 24px;
    }
    .bigMessage > div {
        left: 0;
        opacity: 0.1;
    }
    .title_warning {
        flex-direction: column;
        align-items: start;
        gap: 12px;
    }
    .innerPadding {
        max-width: 94.62%;
        margin: 0 auto;
    }
    .taCenter {
        text-align: left !important;
    }
    .state_page {
        padding-top: calc(100px / 2);
    }
    .width80,
    .width70,
    .width60,
    .width40,
    .width30,
    .width235,
    .width50 {
        max-width: 100%;
    }
    .padding {
        padding: 0 14px;
    }
    h2 {
        font-size: 6vw;
    }
    .fz72 {
        font-size: 52px;
    }
    .fz64 {
        /* font-size: 6vw; */
        font-size: 52px;
        width: 100%;
        max-width: max-content;
    }
    .fz56 {
        /* font-size: 6.4vw; */
        font-size: 40px;
    }
    .fz52,
    .bigMessage_title,
    h2 {
        font-size: 32px; /* font-size: 6.2vw; */
    }
    .fz48 {
        /* font-size: 4vw; */
        font-size: 32px;
    }
    .fz42 {
        font-size: 36px;
    }
    .fz36 {
        font-size: 32px; /* font-size: 4.6vw; */
    }
    .fz30,
    h3 {
        font-size: 26px; /* font-size: 4.2vw; */
    }
    .fz28 {
        font-size: 20px; /* font-size: 3.9vw; */
    }
    h4,
    .fz24 {
        font-size: 20px; /* font-size: 3.8vw; */
    }
    .fz20 {
        font-size: 18px; /* font-size: 3.6vw; */
    }
    p,
    a,
    .fz18 {
        font-size: 16px; /* font-size: 2.6vw; */
    }
    .fz16 {
        font-size: 14px; /* font-size: 2.2vw; */
    }
    .wrapper {
        max-width: 93%;
    }
    .wrapper_smaller {
        max-width: 84%; /* max-width: 100%; */
    }
    h1 {
        font-size: 38px;
    }
}
@media (max-width: 425px) {
    .width256 {
        max-width: 100%;
    }
}
.spacer_xxl {
    margin-top: 172px;
}
.spacer_x {
    margin-top: 120px;
}
.mt_r_124 {
    margin-top: -124px;
}

.spacer_68 {
    margin-top: 68px;
}
.spacer_200 {
    margin-bottom: 200px;
}
.mt_240 {
    margin-top: 240px;
}
.mt_120 {
    margin-top: 120px;
}
.spacer_120 {
    margin-bottom: 120px !important;
}
.spacer_100 {
    margin-bottom: 100px;
}
.spacer_84 {
    margin-bottom: 84px;
}
.spacer_64 {
    margin-bottom: 64px;
}
.spacer_60 {
    margin-bottom: 60px;
}
.spacer_48 {
    margin-bottom: 48px;
}
.spacer_40 {
    margin-bottom: 40px;
}
.spacer {
    margin-bottom: 32px;
}
.spacer_27 {
    margin-bottom: 27px;
}
.spacer_s {
    margin-bottom: 24px;
}
.spacer_16 {
    margin-bottom: 16px;
}
.spacer_ss {
    margin-bottom: 12px;
}
@media (min-width: 1481px) and (max-width: 1600px) {
    .spacer_120 {
        margin-bottom: 80px !important;
    }
    .spacer_100 {
        margin-bottom: 70px;
    }
    .spacer_84 {
        margin-bottom: 60px;
    }
    .spacer_60 {
        margin-bottom: 48px;
    }
}
@media (max-width: 768px) {
    .mt_240 {
        margin-top: calc(240px / 2);
    }
    .mt_120 {
        margin-top: calc(120px / 2);
    }
    .mt_r_124 {
        margin-top: 0px;
    }
    .spacer_xxl {
        margin-top: calc(172px / 2);
    }
    .spacer_x {
        margin-top: calc(120px / 2);
    }
    .spacer_200 {
        margin-bottom: calc(200px / 2);
    }
    .spacer_120 {
        margin-bottom: calc(120px / 2) !important;
    }
    .spacer_100 {
        /* margin-bottom: calc(100px / 2); */
        margin-bottom: 30px;
    }
    .spacer_68 {
        margin-top: calc(68px / 2);
    }
    .spacer_60 {
        margin-bottom: calc(60px / 3);
    }
    .spacer_84 {
        margin-bottom: calc(84px / 2);
    }
    .spacer_64 {
        margin-bottom: calc(64px / 2);
    }
    .spacer_48 {
        margin-bottom: calc(48px / 2);
    }
    .spacer_40 {
        margin-bottom: calc(40px / 2);
    }
    .spacer {
        margin-bottom: calc(32px / 2);
    }
    .spacer_16 {
        margin-bottom: calc(16px / 2);
    }
    .spacer_s {
        margin-bottom: calc(24px / 2);
    }
}
header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 100;
    background-color: var(--blackPrimary);
    isolation: isolate;
}
.header_top {
    background-color: var(--grayPrimary);
}
.header_top > div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    padding: 15px 0;
}
.header_top img {
    object-fit: contain;
}
.header_top a > * {
    display: inline-block;
    vertical-align: middle;
}
.header_top > div > div {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}
.header_top_contacts {
    gap: 31px;
}
.header_top_socials {
    gap: 20px;
}
.header_bottom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
}
@media (min-width: 1481px) and (max-width: 1600px) {
    .header_bottom {
        padding: 20px 0;
    }
    .header_top > div {
        padding: 10px 0;
    }
}
.header_bottom nav ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 25px;
}
.header_bottom a,
.header_bottom p {
    text-transform: uppercase;
}
@media (max-width: 1480px) {
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
    }
    body {
        padding-top: 103px;
    }
    .header_top {
        display: none;
    }
    .header_bottom nav {
        user-select: none;
        pointer-events: none;
        z-index: 60;
        position: fixed;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        top: 0;
        left: 0;
        background-color: transparent;
        overflow: hidden;
    }
    .header_bottom nav.headerActive {
        pointer-events: auto;
        user-select: auto;
        background-color: var(--blackPrimary);
    }
    .header_bottom nav ul {
        transition: all 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
        background-color: var(--blackPrimary);
        width: 100vw;
        height: calc(100vh - 103px);
        height: calc(100dvh - 103px);
        flex-direction: column !important;
        align-items: start;
        padding: 103px 3% 0;
        overflow-y: auto;
        overflow-x: hidden;
        position: relative;
        transform: translateX(100%);
    }
    .header_bottom nav ul::-webkit-scrollbar {
        width: 6px;
    }
    .header_bottom nav ul::-webkit-scrollbar-track {
        background: rgb(255, 255, 255);
    }
    .header_bottom nav ul::-webkit-scrollbar-thumb {
        background-color: black;
        border: 1px solid white;
    }
    .header_bottom nav.headerActive ul {
        transform: translateX(0%) !important;
    }
}
@media (max-width: 768px) {
    body {
        padding-top: 60px;
    }
    .header_bottom {
        padding: 15px 0;
    }
    .header_bottom > a {
        max-width: 140px;
    }
    .header_bottom nav ul {
        height: calc(100vh - 60px);
        height: calc(100dvh - 60px);
        padding: 60px 4% 0;
        transform: translateX(100%);
    }
    .header_bottom nav.headerActive ul {
        transform: translateX(0%) !important;
    }
}
.mobile__menu {
    z-index: 61;
    cursor: pointer;
    display: none;
}
.mobile__menu p {
    color: var(--white) !important;
}
.burger {
    width: 30px;
    height: 30px;
    position: relative;
    /* scale: 0.4; */
    cursor: pointer;

    transition: all 2.1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.burger > *,
.burger > *::after,
.burger > *::before {
    height: 2px !important;
}

.open {
}
.open > .icon-left {
    background: transparent;
}
.open > .icon-left::before {
    transform: rotateZ(45deg) scaleX(1.4) translate(4px, 4px);
    /* width: 100%; */
    /* top: -700%; */

    width: 190%;
    top: -330%;
}
.open > .icon-left::after {
    transform: rotateZ(-45deg) scaleX(1.4) translate(4px, -4px);
    width: 100%;
    top: 660%;
    background-color: var(--white);
}
.open > .icon-right {
    background: transparent;
}
.open > .icon-right::before {
    transform: rotateZ(-45deg) scaleX(1.4) translate(-4px, 4px);
    width: 100%;
}
.open > .icon-right::after {
    transform: rotateZ(45deg) scaleX(1.4) translate(-4px, -4px);
    width: 100%;
    background-color: transparent;
}

.icon-left {
    transition-duration: 0.5s;
    position: absolute;
    height: 8px;
    width: 50%;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    /* background-color: var(--white); */
}
.icon-left::before {
    transition-duration: 0.5s;
    position: absolute;
    width: 100%;
    height: 8px;
    background-color: var(--white);
    content: "";
    top: -500%;
}
.icon-left::after {
    transition-duration: 0.5s;
    position: absolute;
    width: 100%;
    height: 8px;
    background-color: transparent;
    /* background-color: var(--white); */
    content: "";
    top: 500%;
}
.icon-left:hover {
    cursor: pointer;
}

.icon-right {
    transition-duration: 0.5s;
    position: absolute;
    height: 8px;
    width: 70%;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--white);
    right: 0;
}
.icon-right::before {
    transition-duration: 0.5s;
    position: absolute;
    width: 100%;
    height: 8px;
    background-color: var(--white);
    content: "";
    top: -500%;
}
.icon-right::after {
    transition-duration: 0.5s;
    position: absolute;
    width: 50%;
    right: 0;
    height: 8px;
    background-color: var(--white);
    content: "";
    top: 500%;
}

@media (max-width: 1480px) {
    .mobile__menu {
        display: block;
    }
}
header,
.fadeInDown {
    animation-delay: 0.5s !important;
}
.dropDown {
    position: relative;
}
.dropDown > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    position: relative;
    cursor: pointer;
    height: max-content;
    padding-bottom: 10px;
    margin-bottom: -10px;
}
.dropDown img {
    object-fit: contain;
    width: 12px;
}

.dropDown_menu {
    position: absolute;
    z-index: -5;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--blackPrimary);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    padding: 12px 0;
    display: flex;
    flex-direction: column !important;
    gap: 0 !important;
    width: max-content;
    min-width: 180px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    transform: translateX(-50%) translateY(6px);
    box-shadow: 0 8px 32px rgba(0,0,0,.4);
}
.dropDown_menu a {
    text-transform: none !important;
    padding: 8px 20px !important;
    transition: background 0.15s;
}
.dropDown_menu a:hover {
    background: rgba(255,255,255,.06);
}

.dropDown::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 20px;
    display: none;
}

.dropDown:hover::after {
    display: block;
}

.dropDown:hover > .dropDown_menu {
    z-index: 1000;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

@media (max-width: 1480px) {
    .dropDown::after {
        display: none !important;
    }
    .dropDown > div {
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .dropDown:hover > .dropDown_menu {
        z-index: -5;
        opacity: 0;
        pointer-events: none;
    }
    .dropDown_menu {
        position: relative;
        left: 0;
        top: 0 !important;
        transform: none !important;
        max-height: 0px !important;
        padding: 0 !important;
        width: 100% !important;
        opacity: 0;
        z-index: -5;
        pointer-events: none;
        border: none;
        border-radius: 0;
        box-shadow: none;
        min-width: unset;
        background-color: transparent;
    }
    .dropDown_menu > *:first-child {
        margin-top: 14px;
    }
    .dropDown_menu_active {
        max-height: 500px !important;
        opacity: 1 !important;
        z-index: 1000 !important;
        pointer-events: auto !important;
    }
}
.dropdown {
    position: relative;
}
.dropdown > a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
}
.dropdown > a span {
    rotate: 90deg;
    width: 8px;
    transform: translateX(1px);
}
/* .dropdown-menu {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #252525;
    padding: 10px;
    z-index: 500000;
    border-radius: var(--bradMed);

    top: 100%;
    min-width: 180px;
} */

@media (min-width: 1025px) {
    .dropdown:hover .dropdown-menu,
    .dropdown:focus-within .dropdown-menu {
        display: block;
    }
}
.dropdown-menu li {
    margin: 0;
}
.dropdown-menu li a {
    display: block;
    padding: 10px 20px;
    color: #fff;
    text-decoration: none;
}

/* @media (max-width: 1024px) { */
.dropdown-menu {
    position: relative;
    top: 0%;
    left: 0%;
    transform: translateX(0%);
    background-color: transparent;
    padding: 0px;

    display: block;
    max-height: 0px;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    overflow: hidden;
}
.dropdown.active .dropdown-menu {
    /* max-height: 100px; */
    padding: 10px;
    visibility: visible;
}
/* } */
.btn {
    display: inline-block;
    width: 100%;
    /* width: auto; */
    font-family: "Montserrat", sans-serif !important;
    font-weight: 500;
    text-align: center;
    padding: 16px 0;
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    cursor: pointer;
    text-transform: uppercase;
    font-weight: 500;
    background-color: transparent;
}
.btn:hover {
    scale: 1.06;
}
.btn__fill {
    padding: 15.5px 0 !important;
    background-color: var(--blackPrimary);
    color: var(--white);
}
.btn__fill_white {
    padding: 15.5px 0 !important;
    background-color: var(--white);
    color: black !important;
}
.btn__outline {
    padding: 15.5px 0 !important;
    border: 1px solid black;
    /* padding: 20px 0 !important; */
    color: black !important;
}
.btn__outline::after,
.btn__outline_white::after {
    content: none;
}
.btn__outline_white {
    padding: 15.5px 0 !important;
    color: var(--white) !important;
    border: 1px solid var(--white);
}
.btn_icon {
    font-weight: 500;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    justify-content: center;
}
.btn_icon span {
    display: flex;
}
.btn_icon img {
    object-fit: contain;
}
.change_lang {
    display: flex;
    flex-direction: row;
    gap: 16px;
    position: relative;
}
.change_lang_choise_item,
.change_lang_selected {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    align-items: center;
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    cursor: pointer;
}
.change_lang_selected:hover {
    scale: 1.08;
}
.change_lang_selected img,
.change_lang_choise_item img {
    max-width: 30px;
    max-height: 23px;
    min-width: 30px;
    min-height: 23px;
    border-radius: 4px;
    overflow: hidden;
    opacity: 1 !important;
}

.change_lang_choise {
    z-index: 900;
    display: none;
    flex-direction: column;
    gap: 6px;
    padding: 6px;
    border-radius: 7px;
    background-color: #100f0f;
    position: absolute;
    left: 50%;
    bottom: 0%;
    transform: translateX(-50%) translateY(-80%);
    opacity: 0 !important;
    transition: all 1.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.change_lang_choise.active {
    opacity: 1 !important;
    display: flex;
}
.change_lang_choise_item:hover {
    opacity: 0.65;
}
form > div {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    row-gap: 20px;
}
.input_container {
    flex: 1 1 48%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.input_container > * {
    width: 100%;
}
form * {
    font-family: "open sans", sans-serif;
}
input:focus,
select:focus,
textarea:focus {
    outline: none;
}
input,
select,
textarea {
    padding: 11.5px 10px;
    border: 1px solid #e6e6e6;
    font-size: 16px;
}
.input_container_budget > div {
    display: flex;
    flex-direction: row;
    gap: 10px;
    justify-content: space-between;
}
.input_container_budget > div > *:first-child {
    width: 100%;
}
textarea {
    flex: 1 1 100%;
    resize: none;
    height: 120px;
}
.input_container_user {
    flex: 1 1 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.input_container_user > * {
    flex: 1 1 100%;
}
.input_container_user > *:not(:first-child) {
    flex: 1 1 48%;
}
.input_container_date {
    display: flex;
    flex-direction: row;
    gap: 10px;
    row-gap: 20px;
}
.input_container_date > * {
    flex: 1 1 10%;
    width: 10%;
}
.form > button {
    margin-top: 20px;
}

.form_contactUs {
    display: block;
}
.form_contactUs * {
    font-size: 16px;
}
.form_contactUs > p {
    margin-bottom: 8px;
}
.form_contactUs > ul {
    gap: 8px;
    gap: 20px;
}
.form_contactUs > ul > * {
    display: flex;
    flex-direction: row;
    gap: 7px;
    align-items: center;
    flex: unset;
}
.form_contactUs img {
    filter: invert(100%);
    max-width: 16px;
    object-fit: contain;
    opacity: 0.5;
}

.form_addInfo {
    margin-top: 60px;
    margin-bottom: 15px;
}
.form_addInfo::before {
    content: "";
    position: absolute;
    top: -30px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(0, 0, 0, 0.1);
}
.form_btns {
    gap: 10px;
    flex-wrap: nowrap;
}
.form_btns > * {
    align-self: unset !important;
}
.form__checkbox > * {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}
.form__checkbox p {
    opacity: 0.8;
}
@media (max-width: 768px) {
    form > div {
        flex-direction: column;
        align-items: start;
    }
    .input_container {
        flex: 1 1 100%;
        width: 100%;
    }
    .form_contactUs .flex-row > li {
        align-self: flex-start !important;
        /* flex-direction: row !important; */
    }
}
.addictBlock {
    padding: 40px;
    background-color: var(--white);
    max-width: 802px;
}
.addictBlock *:not(.btn__fill) {
    color: var(--blackPrimary);
}
.addictBlock .btn__fill {
    color: var(--white);
}
.addictBlock h2 {
    font-weight: 500 !important;
}

@media (max-width: 768px) {
    .addictBlock {
        padding: 30px 4%;
        width: 100vw;
        margin-left: -4%;
    }
}
.home__section {
    z-index: 5;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
}
.home_bg,
picture:has(.home_bg) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-height: 900px;
}
picture:has(.home_bg) .home_bg {
    position: static;
}
.home__section > .wrapper {
    padding-top: 340px;
}
.home__section_second > .wrapper {
    padding-top: 480px;
}
.home__section_third {
    background-color: var(--grayPrimary);
}
.home__section_third > .wrapper {
    padding-top: 196px;
}
.home__section_4 > .wrapper {
    padding-bottom: 120px;
}
@media (min-width: 1481px) and (max-width: 1600px) {
    .home__section > .wrapper {
        padding-top: 280px;
    }
    .home__section_second > .wrapper {
        padding-top: 400px;
    }
    .home__section_third > .wrapper {
        padding-top: 160px;
    }
    .home__section_4 > .wrapper {
        padding-bottom: 80px;
    }
}
@media (max-width: 768px) {
    .home_bg,
    picture:has(.home_bg) {
        position: relative;
    }
    .home__section > .wrapper {
        padding-top: 20px;
    }
    .home__section_4 > .wrapper {
        padding-bottom: 0;
    }
}
.villas__container > .swiper-wrapper {
    display: flex;
    flex-direction: row;
    align-items: stretch !important;
    gap: 24px;
    row-gap: 60px;
    flex-wrap: wrap;
}
.villas__card {
    height: unset !important;
    max-width: 352px;
    display: flex !important;
    flex-direction: column;
}
.villas__container .villas__card {
    flex: 1 1 22.5%;
}
.villas__container .villas__card:first-child {
    flex: 1 1 45%;
    max-width: unset;
}
.villas__card_img {
    display: block;
    max-height: 360px;
    height: 360px;
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 4px;
}
.villas__card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.villas__card_img > iframe {
    width: 100% !important;
    height: 100% !important;
}
.villas__card_title {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}
.villas__card_rating {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}
.villas__card_rating img {
    object-fit: contain;
}
.villas__card_place {
    margin-bottom: 10px;
}
.villas__card_place p {
    color: var(--gray) !important;
}
.villas__card_topFilter {
    margin-bottom: 10px;
}
.villas__card_topFilter li {
    display: inline-block;
    vertical-align: middle;
}
.villas__card_topFilter li:not(:last-child) {
    margin-right: 19px;
}
.villas__card_topFilter li:not(:last-child)::after {
    content: "•";
    position: absolute;
    top: 0%;
    right: 0%;
    font-size: 14px;
    transform: translateY(28%) translateX(14px);
}
.villas__card_bottomFilter {
    margin-bottom: 20px;
    font-size: 14px;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 10px;
    flex-wrap: wrap;
}
.villas__card_bottomFilter {
}
.villas__card_bottomFilter p {
    color: var(--gray) !important;
    background-color: var(--grayPrimary);
    padding: 5px 10px;
    border-radius: 2px;
    cursor: pointer;
}
.villas__card_bottomFilter p {
    font-size: 14px;
}
.villas__card_cost {
    margin-top: auto;
}
.best__slider {
    overflow: visible !important;
}
.best__slider .villas__card {
    flex-shrink: 0 !important;
    flex: unset;
    width: 100%;
    max-width: unset;
    width: 728px !important;
}
.best__slider .swiper-wrapper {
    /* margin-left: 19.8%; */
}
.gray__wrapper .villas__card:first-child {
}
.gray__wrapper .villas__card_bottomFilter p {
    background-color: var(--blackPrimary);
}

.reviews_villas__card_descr {
    opacity: 0.7;
}
.reviews_villas__card a {
    max-width: max-content;
}

.cards__layout {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    row-gap: 60px;
    flex-wrap: wrap;
}
.cards__layout > * {
    flex: 1 1 25%;
    max-width: 352px;
}

@media (min-width: 1481px) and (max-width: 1600px) {
    .villas__card_img {
        max-height: 300px;
        height: 300px;
    }
}
@media (max-width: 1480px) {
    .cards__layout > * {
        flex: 1 1 25%;
        max-width: unset;
    }
    .best__slider .swiper-wrapper {
        margin-left: 0%;
    }
    .villas__card_topFilter p {
        font-size: 14px;
    }
    .villas__card_topFilter li:not(:last-child)::after {
        transform: translateY(14%) translateX(14px);
    }
}
@media (max-width: 1300px) {
    .villas__card:first-child,
    .villas__card {
        max-width: unset;
        flex: 1 1 32%;
    }
    .gray__wrapper .villas__card:first-child,
    .gray__wrapper .villas__card {
        flex: unset;
        flex-shrink: 0;
    }
}
@media (max-width: 768px) {
    .villas__container > .swiper-wrapper {
        display: flex;
        flex-direction: row;
        align-items: stretch !important;
        gap: 0;
        row-gap: 0;
        flex-wrap: nowrap;
    }
    .villas__card:first-child,
    .villas__card {
        max-width: 100%;
        min-width: 100%;
        flex: 1 1 auto;
    }
    .gray__wrapper .villas__card {
        width: 100% !important;
    }
}
.slider_controls {
    z-index: 10;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 120%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    pointer-events: none;
}
.slider_controls > * {
    user-select: all;
    pointer-events: all;
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.slider_controls > *:last-child {
    scale: -1 1;
}
.slider_controls img {
    object-fit: contain;
    cursor: pointer;
}
.disabled {
    opacity: 0.5;
}
.tourism_controls {
    width: 110%;
}
@media (max-width: 1480px) {
    .tourism_controls,
    .slider_controls {
        width: 95%;
    }
}
@media (min-width: 1481px) and (max-width: 1600px) {
    .slider_controls {
        width: 108%;
    }
    .tourism_controls {
        width: 103%;
    }
}
@media (max-width: 768px) {
    .tourism_controls {
        top: 85.5%;
        display: none;
    }
    .image_slider_controls {
        display: none;
    }
}
.slider__pagination {
    margin: 0 auto !important;
    margin-top: 30px !important;
    width: max-content !important;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}
.slider__pagination_rev {
    margin: 0 !important;
    margin-top: 30px !important;
}
.slider__pagination_dot {
    cursor: pointer;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background-color: white;
    opacity: 0.35;
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.slider__pagination_rev .slider__pagination_dot {
    background-color: black;
}

.dot_active {
    opacity: 1;
}

@media (max-width: 1480px) {
    .slider__pagination_rev {
        margin: 0 auto !important;
        margin-top: 40px !important;
    }
}
.home_filter ul {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    text-transform: uppercase;
}
.home_filter ul li,
.home_filter ul a {
    max-width: max-content;
}
.home_filter_second a:hover::after {
    content: none;
}
.home_filter_second {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 24px;
    max-width: 1173px;
    margin: 0 auto;
}
.home_filter_second li {
    padding: 5px 15px;
    background-color: var(--blackPrimary);
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.home_filter_second li:hover,
.home_filter_second li:hover a {
    color: black;
    background-color: var(--white);
}
.home_filter_second a {
    font-size: 20px;
    text-transform: uppercase;
}
@media (max-width: 768px) {
    .home_filter ul {
        flex-wrap: wrap;
        gap: 8px;
        justify-content: start;
        text-transform: none;
    }
    .home_filter ul a {
        background-color: var(--grayPrimary);
        padding: 8px 10px;
        font-size: 14px;
        display: block;
    }
}
.filter__wrapper {
    max-height: max-content;
    position: sticky;
    top: 24px;

    flex: 1 1 20%;
    min-width: 352px;
}
.filter__content {
    background-color: var(--grayPrimary);
    padding: 24px;
}
.filter_item {
}
.filter_item:not(:first-child) {
    margin-top: 15px;
}
.filter_item p {
    opacity: 1;
}
.filter_title {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 8px;
    cursor: pointer;
}
.filter_title_icon {
    width: 14px;
    height: 14px;
}
.filter_title_icon::before,
.filter_title_icon::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    background-color: var(--white);
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.filter_title_icon::after {
    height: 100%;
    width: 1px;
    transform: translateY(-50%) translateX(-50%) rotate(0deg);
}
.filter_title_icon.open::after {
    transform: translateY(-50%) translateX(-50%) rotate(90deg);
}

.filter__items_container {
    overflow: hidden;
    /* max-height: 0px; */
    height: 100%;

    transition: max-height 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.filter__items_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
    cursor: pointer;
}
.filter__items_item:not(:last-child) {
    margin-bottom: 11px;
}
.filter__items_item_checkbox {
    appearance: none;
    width: 0px;
    height: 0px;
    padding: 11.5px;
    border-radius: 2px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.filter__items_item_checkbox + label {
    cursor: pointer;
}
.filter__items_item_checkbox:checked {
    background-color: var(--white);
}
.filter__items_item_checkbox:checked::after {
    content: "";
    position: absolute;
    background-image: url(/assets/imgs/checkIcon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 90%;
    height: 70%;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

@media (max-width: 1024px) {
    .filter__wrapper {
        width: 100%;
        min-width: 100%;
    }
}
.filter__page_layout {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
}
.filter__page_layout > * {
}
.filter__wrapper {
}
.filter_cards {
    flex: 1 1 100%;
    width: 100%;
}
.filter_cards__header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.filter_cards__header_sort {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
}
.filter_cards__header_sort * {
    font-size: 24px;
    padding: 0;
}
.filter_cards__header_sort > select {
    background-color: transparent;
    border: none;
    color: var(--white);
}
.filter_cards__header_sort > select option {
    background-color: var(--blackPrimary);
}

.filter_cards__container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    row-gap: 60px;
    flex-wrap: wrap;
}
@media (max-width: 1024px) {
    .filter__page_layout {
        flex-direction: column;
    }
    .filter_cards__container .villas__card {
        max-width: 100%;
    }
}
@media (max-width: 768px) {
    .filter_cards__header_sort * {
        font-size: 20px;
    }
}
@media (max-width: 525px) {
    .filter_cards__header p {
        font-size: 14px;
    }
}
.gray__wrapper {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    padding: 120px 0;
    background-color: var(--grayPrimary);
}

.gray__wrapper_second {
    padding: 100px 0 60px;
}
.gray__wrapper_small {
    padding: 40px 0;
}
.gray_map__warpper {
    padding: 120px 0 0 0;
}
.gray_map {
    height: 100vh;
    max-height: 900px;
}

.gray_yt__wrapper {
    background-color: var(--grayPrimary);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gray_yt__wrapper > * {
    aspect-ratio: 2/1;
    max-width: 1240px;
    width: 100%;
    height: auto;
    transform: translateY(-120px);
}
@media (max-width: 1480px) {
    .gray_yt__wrapper {
        margin-top: 0px;
    }
    .gray_yt__wrapper > * {
        max-width: 90%;
        transform: translateY(calc(-120px / 2.5));
    }
}
@media (min-width: 1481px) and (max-width: 1600px) {
    .gray__wrapper {
        padding: 80px 0;
    }
    .gray_map__warpper {
        padding: 80px 0 0 0;
    }
}
@media (max-width: 768px) {
    .gray__wrapper .mt_120 {
        margin-top: 0;
    }
    .gray__wrapper {
        padding: calc(120px / 2) 0;
    }
    .gray__wrapper_second {
        padding: calc(100px / 2) 0 60px;
    }
    .gray__wrapper_small {
        padding: calc(40px / 2) 0;
    }
    .gray_map__warpper {
        padding: calc(120px / 2) 0 0 0;
    }
}
.community {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap;
    align-items: stretch;
}
.community_card {
    flex: 1 1 30%;
    padding: 40px;
    background-color: var(--grayPrimary);
}
.community_card_logo {
    max-width: 127px;
}
@media (max-width: 1024px) {
    .community_card {
        flex: 1 1 35%;
    }
}
@media (max-width: 768px) {
    .community_card {
        flex: 1 1 50%;
    }
}
.events__container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 25px;
    flex-wrap: wrap;
}
.events_card {
    flex: 1 1 31.5%;
    height: 100%;
}
.events_card img {
    margin-bottom: 20px;
    aspect-ratio: 1.5/1;
    max-height: 300px;
}

@media (max-width: 768px) {
    .events__container {
        flex-direction: column;
    }
}

.services__slider {
    /* margin-left: 11.2% !important; */
    /* width: calc(100% - 11.2%) !important; */
    overflow: visible !important;
}
.services__slider .swiper-wrapper {
    width: 100%;
}
.services__slider .events_card {
    flex: 0 0 728px;
}

@media (max-width: 768px) {
    .services__slider .events_card {
        flex: 0 0 90%;
    }
}
.tourism_title {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.tourism__cards {
    overflow: hidden !important;
}
.tourism__cards .swiper-wrapper {
    align-items: stretch !important;
}
.tourism__card {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    height: unset !important;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
}
.tourism__card::after {
    content: none !important;
}
.tourism__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}
.tourism__card > div:first-child {
    overflow: hidden;
    border-radius: 4px;
    aspect-ratio: 1/1;
    flex-shrink: 0;
}
.tourism__card > div:first-child img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.tourism__card:hover > div:first-child img {
    transform: scale(1.05);
}
.tourism__card .villas__card_img {
    margin-bottom: 10px;
    aspect-ratio: 1/1;
}
.tourism__card p,
.tourism__card .reviews_villas__card_descr {
    opacity: 0.65;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}
.tourism__readmore {
    margin-top: auto;
    max-width: max-content;
    color: var(--orangePrimary, #ff710a);
    font-weight: 600;
    font-size: 16px;
    transition: color 0.2s ease;
    position: relative;
    display: inline-block;
}
.tourism__readmore::after {
    content: " →";
    transition: transform 0.2s ease;
    display: inline-block;
}
.tourism__card:hover .tourism__readmore {
    color: var(--white);
}
.tourism__card:hover .tourism__readmore::after {
    transform: translateX(4px);
}
.tour_btn_mob {
    display: none;
}
@media (max-width: 768px) {
    .tour__pagination {
        margin-top: 50px !important;
    }
    .tourism_title {
    }
    .tour_btn_desctop {
        display: none;
    }
    .tour_btn_mob {
        display: block;
        margin-top: 40px;
    }
}
.partners__container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}
.partners__container a {
    max-height: 98px;
    display: block;
}
.partners__container img {
    object-fit: contain;
}
.review_card {
}

.review_geo {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.review_geo p {
    opacity: 0.75;
}
.review_geo img {
    max-width: 12px;
}
.review_content {
    margin-bottom: 20px;
}
.review_user {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}
.review_user img {
    border-radius: 100%;
    max-width: 50px;
    max-height: 50px;
    overflow: hidden;
    object-position: 50% 0%;
}
.review_stars,
.review_user ul {
    display: flex;
    flex-direction: row;
    gap: 3px;
    align-items: center;
}
/* .rateArticle: стили лежат в content.css; правило «.rateArticle *» убрано —
   оно красило в жёлтый и текст с числом оценок, а не только звёзды */
.review_user div > p {
    font-weight: 500;
}
.review_user ul p {
    font-size: 20px;
    color: var(--yellow) !important;
    line-height: 100% !important;
}
.review_user p {
    opacity: 1 !important;
}
@media (max-width: 1480px) {
    .slider_controls_rev {
        top: 100% !important;
        width: 90% !important;
        transform: translateX(-50%) translateY(-130%) !important;
    }
}
.newsletter__container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.newsletter__container ul {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 30px;
}
.newsletter__container ul a {
    display: flex;
}
.newsletter__container ul img {
    object-fit: contain;
    width: 30px;
    max-height: 30px;
    opacity: 0.5;
}
.newsletter__container ul li:first-child img {
    width: 40px;
}
.newsletter__container form {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}
.newsletter__container form button {
    padding: 0 !important;
    margin: 0;
    cursor: pointer;
}
@media (max-width: 768px) {
    .newsletter__container {
        flex-direction: column;
        align-items: start;
        gap: 24px;
    }
}
.faq_title {
    margin-top: 60px;
    margin-bottom: 20px;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.faq-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.faq-item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    font-size: 18px;
    font-weight: 600;
    font-family: "Montserrat", sans-serif;
    color: var(--white);
    cursor: pointer;
    list-style: none;
    transition: color 0.2s ease;
    line-height: 1.5 !important;
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary::after {
    content: "+";
    font-size: 24px;
    font-weight: 300;
    color: var(--orangePrimary, #ff710a);
    flex-shrink: 0;
    margin-left: 16px;
    transition: transform 0.3s ease;
    width: 28px;
    text-align: center;
}
.faq-item[open] summary::after {
    content: "−";
}
.faq-item summary:hover {
    color: var(--orangePrimary, #ff710a);
}

.faq-answer {
    padding: 0 0 24px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 16px;
    line-height: 1.7 !important;
    animation: faqFadeIn 0.3s ease;
}
.faq-answer a {
    color: var(--orangePrimary, #ff710a);
}

@keyframes faqFadeIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
    .faq-item summary {
        font-size: 16px;
        padding: 16px 0;
    }
    .faq-answer {
        font-size: 15px;
        padding-bottom: 18px;
    }
}
footer > .footer_top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: start;

    padding: 80px 0;
    gap: 24px;
    flex-wrap: wrap;
}
footer > .footer_top > div {
    flex: 1 1 23%;
}
footer > .footer_top > div > p {
    text-transform: uppercase;
    margin-bottom: 40px;
}
footer > .footer_top > div > p::after {
    content: "";
    position: absolute;
    bottom: -18px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #8e8e8e4d;
}
footer > .footer_top ul:not(.footer_social) > li:not(:last-child) {
    margin-bottom: 8px;
}

.footer_contact li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
.footer_contact li img {
    max-width: 20px;
}
.footer_social {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
}
.footer_social li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.1);
    transition: background-color 0.2s;
    margin-bottom: 0 !important;
}
.footer_social li:hover {
    background-color: rgba(255, 255, 255, 0.2);
}
.footer_social li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.footer_social li img {
    max-width: none;
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.footer_adress {
    margin-bottom: 20px !important;
}

.footer_bottom {
    padding: 15px 0;
    background-color: var(--grayPrimary);
}
.footer_bottom > .wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 768px) {
    footer > .footer_top {
        gap: 30px;
    }
    footer > .footer_top > div {
        flex: 1 1 50%;
    }
}

@media (max-width: 525px) {
    .footer_bottom > .wrapper {
        flex-direction: column-reverse;
        gap: 15px;
        justify-content: start;
        align-items: start;
    }
}
.table__wrapper {
    margin-bottom: 20px;
    overflow-x: auto;
    width: 100%;
}
.table__wrapper table {
    width: 100%;
    min-width: 768px;
    overflow-x: auto;
    border-collapse: collapse;
}
.table__wrapper table p {
    text-align: center;
}
.table__wrapper table thead {
    background-color: var(--grayPrimary);
}
.table__wrapper table th,
.table__wrapper table td {
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 10px;
}
.table__wrapper table th {
    border-bottom: none;
}
.table__wrapper table tr:first-child td {
    border-top: none;
}

.table__wrapper_second tbody tr:nth-child(even) {
    background-color: var(--grayPrimary);
}
.best__wrapper {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);

    padding: 120px 0;
    background-color: var(--grayPrimary);
}

.best__wrapper_second {
    padding: 100px 0 60px;
}

@media (min-width: 1481px) and (max-width: 1600px) {
    .best__wrapper {
        padding: 80px 0;
    }
}
@media (max-width: 768px) {
    .best__wrapper {
        padding: calc(120px / 2) 0;
    }
}
.accord__contaner {
}
.accord_card {
    background-color: var(--grayPrimary);
    padding: 20px;
    cursor: pointer;
}
.accord_card:not(:last-child) {
    margin-bottom: 24px;
}
.accord_card_title {
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: row !important;
}
.accord_card_title_arrow {
    max-height: 45px;
    height: 100%;
    text-align: right;
    flex: 1 1 10%;
}
.accord_card_title_arrow img {
    object-fit: contain;
    width: auto;
    rotate: 180deg;
    transition: rotate 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.accord_card_title_arrow.active img {
    rotate: 0deg;
}

.accord_card_content {
    max-height: 0px;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.accord_card_content p {
    margin-top: 30px;
    height: 100%;
}
.accord_card_content p::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.2);
}

.gray_accord__contaner .accord_card {
    background-color: var(--blackPrimary);
}
.content_w_aside,
.productContent__wrapper {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 100px;
}
.content_w_aside > *,
.productContent__wrapper > * {
    flex: 1 1 50%;
}
.content_aside,
.productContent__form {
    flex: 1 1 35%;
    position: sticky;
    top: 36px;
    max-height: max-content;
    height: 100vh;
    overflow-y: auto;
}
.content_aside {
}

.productContent__content p {
    opacity: 0.85;
}
.productContent__content .villa-description p {
    opacity: 1;
}
.productContent__content > h3 {
    margin-bottom: 20px;
    margin-top: 60px;
}
.productContent__content > h3:first-child {
    margin-top: 0;
}

.productContent__content_bottonLine::after {
    position: absolute;
    content: "";
    bottom: 0%;
    left: 0%;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.2);
    transform: translateY(30px);
}

.productContent__content > p {
    margin-bottom: 20px;
}

.double_uls {
    gap: 24px;
}
.double_uls > * {
    align-self: flex-start !important;
}
.productContent__content .ulMark li {
    margin-bottom: 8px;
}
.productContent__content .ulMark li p {
    opacity: 0.92;
}
.title__select {
    margin-bottom: 20px;
    margin-top: 60px;
    flex-direction: row !important;
}
.title__select > select {
    color: rgba(255, 255, 255, 0.7);
    flex: 1 1 1%;
    max-width: 88px;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.title__select > select option {
    font-size: 18px;
    background-color: var(--blackPrimary);
}
.title__select h3 {
    font-size: 30px;
}

@media (max-width: 1024px) {
    .productContent__wrapper_second {
        flex-direction: column-reverse !important;
    }
    .content_w_aside,
    .productContent__wrapper {
        flex-direction: column;
        gap: 24px;
    }
}
@media (max-width: 768px) {
    .double_uls {
        gap: 0px;
    }
}
.sliderThumb {
}
.sliderThumb_thumb {
}

.sliderThumb_thumb .swiper-wrapper,
.sliderThumb .swiper-wrapper {
    align-items: stretch !important;
}
.sliderThumb_thumb .swiper-slide,
.sliderThumb .swiper-slide {
    height: unset !important;
    cursor: pointer;
}
.weather__container {
}
.weather__cards {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}
.weather__card {
    flex: 1 1 25%;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--grayPrimary);
}
.weather__card > .review_stars p {
    font-size: 24px;
    color: var(--yellow);
}
.weather__card > .review_stars p.disable {
    color: var(--blackPrimary);
}
.weather__select {
    margin-top: 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.weather__select > ul {
    margin-left: 12px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}
.weather__select > ul li {
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    cursor: pointer;
}
.weather__select > ul li:hover {
    scale: 1.15;
}
/*  */
/*  */
/*  */
/*  */
.weatherBig__container {
    background-color: var(--grayPrimary);
    padding: 20px;

    display: flex;
    flex-direction: row;
    /* flex-wrap: wrap; */
    gap: 20px;
}
.weatherBig__main {
    background-color: var(--blackPrimary);
    padding: 15px 25px;
}
.weatherBig__temp {
    font-size: 50px;
    font-family: "montserrat", sans-serif;
    font-weight: 500;
}
.weatherBig_title {
    opacity: 0.65;
}
.weatherBig_subTitle {
    opacity: 0.65;
}
.weatherBig__oddInfo {
    display: flex;
    flex-direction: row;
    /* flex-wrap: wrap; */
    gap: 20px;
}
.weatherBig__oddInfo_item {
    padding: 15px;
    flex: 1 1 35%;
    text-align: center;
}
.weatherBig__oddInfo_item > div {
    max-width: 40px;
    max-height: 40px;
    min-width: 40px;
    min-height: 40px;
}
.weatherBig__main,
.weatherBig__oddInfo_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.weatherBig__main {
    gap: 0;
    flex: 1 1 50%;
}

@media (max-width: 1480px) {
    .weatherBig__oddInfo,
    .weatherBig__container {
        flex-wrap: wrap;
    }
}
img[loading="lazy"].loaded,
img[loading="lazy"] {
    filter: none;
}
.toc__wrapepr {
    background-color: var(--lightGray2);
    padding: 52px 0;
}
.toc__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 24px;
    -webkit-box-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.toc__container > ul a {
    color: #11111194 !important;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
}
.toc__container > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 9px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.toc__container > ul a {
    padding-right: 12px !important;
    padding-left: 12px !important;
}
.toc__container > ul > li {
    width: 100%;
}
.toc__container > ul > li:hover {
    opacity: 1;
}
.toc__container > ul > li a:hover {
    background-color: white;
    color: #111111cc !important;
}

@media (max-width: 1340px) {
    .toc__container {
        overflow-x: scroll;
        overflow-y: hidden;
        margin-top: 0;
        padding: 0 0 0 12%;
        margin-left: -12%;
        margin-right: -7%;
        -webkit-overflow-scrolling: touch; /* Для плавного скроллинга на iOS */
    }
    .toc__wrapepr {
        padding: 7px 0;
    }
    .toc__container > ul > li {
        width: max-content;
    }
    .toc__container > ul a {
        width: max-content;
    }
}
/* Content pages: articles, category indexes, TOC, galleries, pagination */

/* ── Images: disable global blur filter ── */
.GDContent img,
.img-box img,
.property-block img,
#rating-block img { filter: none !important; transition: none !important; }

/* ── Content page wrapper — override header flex layout ── */
/* Only apply to pages with content elements, not homepage */
main.wrapper:has(> .GDContent),
main.wrapper:has(> h1),
main.wrapper:has(> div > .property-block) {
  display: block;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Article pages: wider to fit sidebar TOC + content */
main.wrapper:has(> .GDContent) {
  max-width: 1140px;
}

/* ── Breadcrumbs ── */
.breadLink.flex-row {
  display: block;
  gap: 0;
  max-width: 1480px;
  margin: 0 auto;
  padding: 16px 20px;
}
.breadLink.spacer_68 { margin-top: 0; }
.breadLink.spacer_s { margin-bottom: 0; }
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumb_item {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  line-height: 1.4;
}
.breadcrumb_link {
  color: var(--orangePrimary, #ff710a);
  text-decoration: none;
  padding: 4px 0;
  transition: opacity .2s;
  position: relative;
}
.breadcrumb_link:hover { opacity: .7; }
.breadcrumb_link::after, .breadcrumb_link::before { content: none !important; }
.breadcrumb_item .separator {
  color: var(--gray, #8e8e8e);
  margin: 0 8px;
  font-size: 13px;
}
.breadcrumb_item:last-child .breadcrumb_link {
  color: var(--gray, #8e8e8e);
  pointer-events: none;
}

/* ── Article layout: sidebar TOC + content ── */
.GDContent {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 0 40px;
  line-height: 1.8;
  font-size: 18px;
  color: var(--white);
  max-width: none;
}
/* All direct children go to main column */
.GDContent > * { grid-column: 2; }
/* TOC goes to sidebar */
.GDContent > .toc { grid-column: 1; grid-row: 1 / span 100; }

.GDContent > h2:not(:first-child),
.GDContent > h3:not(:first-child) { margin-top: 40px; }
.GDContent > h2,
.GDContent > h3 { margin-bottom: 20px; }
.GDContent > p { margin-bottom: 16px; opacity: .85; }
.GDContent a { color: var(--orangePrimary, #ff710a); }
.GDContent a:hover { opacity: .8; }
.GDContent a::after { background-color: var(--orangePrimary, #ff710a); }
.GDContent strong, .GDContent b { font-weight: 600; color: var(--white); }
.GDContent em, .GDContent i { font-style: italic; }
.GDContent sup { font-size: 0.7em; vertical-align: super; line-height: 0; }

/* No TOC: single column */
.GDContent:not(:has(> .toc)) {
  display: block;
  max-width: 860px;
}

/* Lists */
.GDContent ul { margin: 16px 0 16px 24px; }
.GDContent ul li { margin-bottom: 8px; list-style: disc; color: var(--orangePrimary, #ff710a); line-height: 1.6; }
.GDContent ul li > * { color: rgba(255,255,255,.9); }
.GDContent ol { margin: 16px 0 16px 24px; }
.GDContent ol li { margin-bottom: 8px; list-style: decimal; }
.GDContent ol li::marker { color: var(--gray); }

/* Tables */
.GDContent table,
.GDContent TABLE { width: 100%; border-collapse: collapse; margin: 20px 0; }
.GDContent th,
.GDContent td,
.GDContent TH,
.GDContent TD { border: 1px solid rgba(255,255,255,.15); padding: 10px 14px; text-align: left; }
.GDContent th,
.GDContent TH { background: var(--grayPrimary, #202020); font-weight: 600; }
.GDContent tr:nth-child(2n),
.GDContent TR:nth-child(2n) { background: rgba(255,255,255,.03); }
.GDContent .wikitable { width: 100%; }
.horizontal-table { overflow-x: auto; margin: 20px 0; }
.horizontal-table table { min-width: 100%; }
.horizontal-table td { vertical-align: top; }
.GDContent td p[align="center"],
.GDContent td p[style*="text-align: center"] { text-align: center; margin: 0; }
.GDContent td p { margin: 0; }
.GDContent table[bgcolor], .GDContent td[bgcolor], .GDContent tr[bgcolor], .GDContent th[bgcolor] { background: var(--grayPrimary, #202020) !important; }
.GDContent img[style] { max-width: 100%; height: auto !important; width: auto !important; }
.GDContent .horizontal-table td { white-space: normal; }
.horizontal-table td h2 { margin: 0 0 8px; }

/* Blockquote */
.GDContent blockquote {
  border-left: 3px solid var(--orangePrimary, #ff710a);
  margin: 24px 0;
  padding: 16px 24px;
  background: rgba(255,255,255,.03);
  font-style: italic;
}
.GDContent blockquote p { opacity: .85; }

/* Images inside content */
.GDContent img { max-width: 100%; width: auto; height: auto; border-radius: 4px; margin: 8px 0; object-fit: initial; }
.GDContent iframe { max-width: 100%; margin: 16px 0; }
.GDContent p[style*="text-align: center"] { margin: 16px 0 8px; }
.GDContent p[style*="text-align: center"] img { border-radius: 8px; margin: 0; }
.GDContent p[style*="text-align: center"] em strong { color: var(--white); font-size: 17px; }

/* Horizontal rule */
.GDContent hr,
hr { border: none; border-top: 1px solid rgba(255,255,255,.15); margin: 24px 0; }

/* ── Subheader (H2 below H1) ── */
h2.subheader { font-size: 22px; color: var(--gray, #8e8e8e); font-weight: 400; margin-bottom: 24px; }

/* ── Content author ── */
.content-author { margin-bottom: 28px; color: var(--gray, #8e8e8e); font-size: 15px; }
.content-author a { color: var(--orangePrimary, #ff710a); }
.content-author .author { font-weight: 500; }
main.wrapper:has(> .GDContent) > h1 { margin-bottom: 8px; }
.GDContent .anchor { scroll-margin-top: 80px; }

/* ── Table of Contents — sticky sidebar ── */
.toc {
  position: sticky;
  top: 20px;
  align-self: start;
  background: var(--grayPrimary, #202020);
  padding: 20px;
  border-left: 3px solid var(--orangePrimary, #ff710a);
  border-radius: 4px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}
.toc > b { display: block; font-size: 16px; font-weight: 600; margin-bottom: 14px; color: var(--white); }
.toc > div { margin-bottom: 6px; }
.toc > div > a {
  color: rgba(255,255,255,.7);
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition: color .2s;
}
.toc > div > a:hover { color: var(--orangePrimary, #ff710a); }
.toc > div > a::after { content: none; }

/* TOC scrollbar */
.toc::-webkit-scrollbar { width: 4px; }
.toc::-webkit-scrollbar-track { background: transparent; }
.toc::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 2px; }

.GDContent > h2 { font-size: 28px; }
.GDContent > h3 { font-size: 22px; }

/* Anchor offset without creating layout gaps */
a.anchor, .anchor { display: block; position: relative; top: -80px; visibility: hidden; height: 0; margin: 0; padding: 0; }

/* ── Image gallery (img-box) ── */
.img-box { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0; }
.img-box .item { display: inline-block; }
.img-box .item img,
.img-box img { width: 100px; height: 100px; object-fit: cover; border-radius: 3px; border: 2px solid rgba(255,255,255,.1); cursor: pointer; transition: opacity .2s; }
.img-box .item img:hover { opacity: .8; }

/* Horizontal scrolling gallery (p.gallery) */
p.gallery { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 20px 0; }
p.gallery img { width: auto; height: 112px; object-fit: cover; border-radius: 3px; }

/* ── CTA button ── */
.button_a {
  display: inline-block;
  padding: 12px 32px;
  background: var(--orangePrimary, #ff710a);
  color: var(--white) !important;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all .3s;
  margin: 12px 0;
}
.button_a:hover { opacity: .85; scale: 1.03; }
.button_a::after { content: none !important; }

/* ── Property cards container (category index) ── */
main.wrapper > div:has(.property-block) {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* ── Villa landing pages (inner-block with villas__card) ── */
.inner-block.property-block {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  row-gap: 48px;
  background: none;
  padding: 0;
  border-radius: 0;
  overflow: visible;
  margin: 40px 0;
}
.inner-block.property-block:hover { transform: none; }
.inner-block.property-block .villas__card {
  max-width: unset;
  width: auto !important;
  flex: unset;
}
.inner-block.property-block .villas__card.swiper-slide {
  margin-right: 0 !important;
}
.inner-block.property-block .villas__card_img {
  height: 220px;
  max-height: 220px;
  border-radius: 8px;
  overflow: hidden;
}
.inner-block.property-block .villas__card_rating img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.inner-block.property-block .villas__card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}
@media (max-width: 1300px) {
  .inner-block.property-block {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .inner-block.property-block {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    row-gap: 32px;
  }
  .inner-block.property-block .villas__card_img {
    height: 180px;
    max-height: 180px;
  }
}
@media (max-width: 480px) {
  .inner-block.property-block {
    grid-template-columns: 1fr;
  }
}

/* ── Big groups table ── */
.table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
}
.table th, .table td {
  border: 1px solid rgba(255,255,255,.15);
  padding: 12px 16px;
  text-align: left;
  vertical-align: middle;
}
.table th {
  background: var(--grayPrimary, #202020);
  font-weight: 600;
}
.table td img {
  width: 150px;
  height: 100px;
  object-fit: cover;
  border-radius: 4px;
  margin: 4px;
}
.table td a {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 768px) {
  .table td img {
    width: 100px;
    height: 67px;
  }
  .table th, .table td {
    padding: 8px;
    font-size: 14px;
  }
}

/* ── Sort controls ── */
.paging .sort {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  padding-left: 12px;
  border-left: 1px solid rgba(255,255,255,.1);
}
.paging .sort::before {
  content: "Sort:";
  font-size: 13px;
  color: var(--gray, #8e8e8e);
  margin-right: 2px;
  white-space: nowrap;
}
.paging .sort a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 12px;
  font-size: 13px;
  color: var(--gray, #8e8e8e);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  transition: all .2s;
  min-width: unset;
  font-weight: 400;
  text-decoration: none;
}
.paging .sort a:hover {
  color: var(--white);
  background: rgba(255,113,10,.15);
  border-color: var(--orangePrimary, #ff710a);
}
.paging .sort a.active {
  color: var(--white);
  background: var(--orangePrimary, #ff710a);
  border-color: var(--orangePrimary, #ff710a);
  font-weight: 600;
}
.paging .sort a img,
.paging .sort a .sort_desc12,
.paging .sort a .sort_asc12,
DIV.paging .sort A IMG {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
  visibility: hidden !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  position: absolute !important;
  overflow: hidden !important;
}
DIV.paging .sort .active,
DIV.paging .sort A:hover {
  background-color: var(--orangePrimary, #ff710a) !important;
  border-color: var(--orangePrimary, #ff710a) !important;
  color: var(--white) !important;
}
DIV.paging .sort A {
  background-color: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: var(--gray, #8e8e8e) !important;
  padding: 5px 12px !important;
  text-decoration: none !important;
}
DIV.paging .sort A:hover {
  background-color: rgba(255,113,10,.15) !important;
}
.paging .sort a::after,
.paging .sort a:hover::after,
.paging .sort a.active::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 768px) {
  .paging {
    padding: 10px 12px;
  }
  .paging .sort {
    width: 100%;
    margin-left: 0;
    margin-top: 8px;
    padding-left: 0;
    border-left: none;
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,.1);
  }
  .paging .sort a {
    padding: 4px 10px;
    font-size: 12px;
  }
}

/* ── Property cards (category index) ── */
.property-block {
  display: flex;
  flex-direction: column;
  width: auto;
  margin: 0;
  background: var(--grayPrimary, #202020);
  overflow: hidden;
  transition: transform .2s;
  border-radius: 4px;
  padding: 0 0 16px;
  font-size: 14px;
  color: var(--gray, #8e8e8e);
  line-height: 1.5;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.property-block:hover { transform: translateY(-3px); }
.property-block img { width: 100%; height: 199px; object-fit: cover; display: block; }
.property-block > a { display: block; padding: 12px 16px 4px; color: var(--white); font-weight: 500; font-size: 17px; line-height: 1.4; }
.property-block > h2 { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.4; }
.property-block > h2 > a { display: block; padding: 12px 16px 4px; color: var(--white); }
.property-block > h2 > a::after { content: none; }
.property-block > a:first-of-type { padding: 0; }
.property-block > a::after { content: none; }
.property-block > br { display: none; }
.property-block > br ~ * { padding: 0 16px; }
.property-block .property-desc { display: block; padding: 4px 16px 0; font-size: 14px; color: var(--gray, #8e8e8e); line-height: 1.5; }
.property-block > a:first-child { padding: 0; }
.property-block > a:first-child img { border-radius: 4px 4px 0 0; }
.property-block > a:nth-child(2) { padding: 12px 16px 6px; }

.property-320h { min-height: 280px; }

/* ── Pagination ── */
.paging { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 24px 0; padding: 12px 16px; background: var(--grayPrimary, #202020); border-radius: 10px; }
.paging .total { color: var(--gray, #8e8e8e); margin-right: 6px; font-size: 16px; }
.paging > a, .paging > span:not(.sort):not(.total) {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 4px 10px;
  font-size: 15px; text-decoration: none;
  border: 1px solid rgba(255,255,255,.15); border-radius: 6px;
  color: var(--white); transition: all .2s;
}
.paging > a:hover { background: var(--orangePrimary, #ff710a); border-color: var(--orangePrimary); }
.paging > a::after { content: none; }
.paging .current, .paging > span.page_first { background: var(--orangePrimary, #ff710a); border-color: var(--orangePrimary); font-weight: 600; }
.paging > span.dots { background: none; border-color: transparent; min-width: auto; }

/* ── Property landing pages: spacing ── */
main.wrapper:has(> h1) > h1 {
  font-size: 42px;
  margin: 0 0 24px;
}
main.wrapper:has(> h1) > div > h2 {
  font-size: 28px;
  font-weight: 600;
  margin: 24px 0 16px;
}
main.wrapper:has(> h1) > div > h3 {
  font-size: 22px;
  margin: 20px 0 12px;
}
main.wrapper:has(> h1) > div > p {
  margin-bottom: 12px;
  opacity: 0.85;
  line-height: 1.8;
}
main.wrapper:has(> h1) > .inner-block.property-block {
  margin-top: 24px;
}
main.wrapper:has(> h1) .villas__card h3.fz30 {
  font-size: 20px;
}
main.wrapper:has(> h1) > h2 {
  font-size: 28px;
  margin-top: 48px;
  margin-bottom: 20px;
}

/* ── Rating block ── */
main.wrapper:has(> .GDContent) > br,
main.wrapper:has(> h1) > br { display: none; }
main.wrapper:has(> .GDContent) > hr,
main.wrapper:has(> h1) > hr { border: none; border-top: 1px solid rgba(255,255,255,.15); margin: 16px 0 10px; }
main.wrapper > strong { color: var(--white); font-size: 16px; }
#rating-block { margin: 6px 0 16px; }

/* Collapse trailing empty divs/paragraphs before rating hr */
.GDContent > div:last-child > div:last-child:empty,
.GDContent > div:last-child > p:last-child:empty { display: none; }
.GDContent > div:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.GDContent > div:last-child > *:last-child { margin-bottom: 0 !important; }
.GDContent + hr { margin-top: 10px; }
/* Оценка статьи: вместо пяти <img> со спрайтом sprite_2018.png — встроенная SVG
   и радиогруппа. Подробности и причины в styles/content.css */
.rateArticle { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 6px 0 16px; }
.rateArticle__view { display: inline-flex; }
.rateArticle__stars, .rateArticle__one { display: block; height: 24px; width: auto; }
.rateArticle__empty { fill: var(--gray, #8e8e8e); opacity: .35; }
.rateArticle__full { fill: var(--yellow, #f7d10a); }
.rateArticle__text { color: var(--gray, #8e8e8e); font-size: 14px; }
.rateArticle__text span { color: var(--white, #fff); font-weight: 500; }
.rateArticle__thanks { color: var(--yellow, #f7d10a); font-size: 14px; font-weight: 500; }
.rateArticle__form { border: 0; padding: 0; margin: 0; min-width: 0; }
.rateArticle__pick { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 3px; }
.rateArticle__radio { position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0; }
.rateArticle__label { display: inline-flex; cursor: pointer; padding: 1px; border-radius: 4px; fill: var(--gray, #8e8e8e); transition: fill .12s ease; }
.rateArticle__one { fill: inherit; }
/* Подсветка «по наведённую включительно» без единой строки JS: в разметке
   звёзды идут 5..1, а row-reverse разворачивает их визуально, поэтому
   «следующие в DOM» — это «левее на экране». */
.rateArticle__label:hover, .rateArticle__label:hover ~ .rateArticle__label,
.rateArticle__radio:checked ~ .rateArticle__label { fill: var(--yellow, #f7d10a); }
.rateArticle__radio:focus-visible + .rateArticle__label { outline: 2px solid var(--yellow, #f7d10a); outline-offset: 1px; }
.rateArticle__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

#rating-block .none { color: var(--gray, #8e8e8e); font-size: 14px; }
#rating-block .none br, #rating-block > br { display: none; }
.post-rating-text { display: inline; }
.post-rating-text br { display: none; }

/* ── Video blocks ── */
.video_block { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; margin: 20px 0; }
.video_block iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* ── Tags ── */
div.tags { text-align: center; margin: 20px 0; }
div.tags a { display: inline-block; padding: 6px 14px; margin: 4px; background: var(--grayPrimary); font-size: 14px; }
div.tags a::after { content: none; }

/* ── Villa gallery slider ── */
.sliderThumb {
  border-radius: 16px;
  overflow: hidden;
}
.sliderThumb .swiper-slide {
  aspect-ratio: 16 / 9;
}
.sliderThumb .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sliderThumb_thumb {
  margin-top: 12px;
}
.sliderThumb_thumb .swiper-slide {
  border-radius: 8px;
  overflow: hidden;
  opacity: 0.5;
  transition: opacity 0.3s;
}
.sliderThumb_thumb .swiper-slide-thumb-active {
  opacity: 1;
}
.sliderThumb_thumb .swiper-slide img {
  height: 80px;
  object-fit: cover;
}
.image_slider_controls {
  display: flex !important;
  width: 100%;
  top: 50%;
  left: 50%;
}
.image_slider_controls .arrow_left,
.image_slider_controls .arrow_right {
  width: 44px;
  height: 44px;
  background: rgba(0,0,0,0.45);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  transition: background 0.2s;
}
.image_slider_controls .arrow_left:hover,
.image_slider_controls .arrow_right:hover {
  background: rgba(0,0,0,0.7);
}
.image_slider_controls img {
  width: 20px;
  height: 20px;
}
@media (max-width: 768px) {
  .sliderThumb {
    border-radius: 12px;
  }
  .sliderThumb .swiper-slide {
    aspect-ratio: 4 / 3;
  }
  .sliderThumb_thumb .swiper-slide img {
    height: 56px;
  }
  .image_slider_controls {
    display: none !important;
  }
}

/* ── Responsive ── */
@media (max-width: 1100px) {
  main.wrapper > div:has(.property-block) { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 960px) {
  /* Collapse sidebar TOC to inline block */
  .GDContent {
    display: block;
    max-width: 860px;
  }
  .GDContent > .toc {
    position: static;
    max-height: none;
    margin-bottom: 32px;
  }
}
@media (max-width: 768px) {
  main.wrapper > div:has(.property-block) { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .GDContent { font-size: 16px; }
  .GDContent > h2 { font-size: 24px; }
  .GDContent > h3 { font-size: 20px; }
  h2.subheader { font-size: 18px; }
  .property-block img { height: auto; }
  .img-box .item img, .img-box img { width: 80px; height: 80px; }
  .button_a { display: block; text-align: center; }
  /* Mobile breadcrumbs */
  .breadLink { padding: 12px 16px; }
  .breadcrumb_item { font-size: 13px; }
  .breadcrumb_item .separator { margin: 0 6px; }
}
@media (max-width: 480px) {
  main.wrapper > div:has(.property-block) { grid-template-columns: 1fr; }
}

/* ── Villa facilities grid ── */
.villa-facilities {
  margin: 40px 0;
}
.villa-facilities h2 {
  margin-bottom: 20px;
}
.villa-facilities ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 24px;
  margin: 0;
  padding: 24px;
  background: var(--grayPrimary, #202020);
  border-radius: 12px;
  list-style: none;
}
.villa-facilities ul li {
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.85);
}
.villa-facilities ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--orangePrimary, #ff710a);
  font-weight: 700;
  font-size: 14px;
}
@media (max-width: 1024px) {
  .villa-facilities ul { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .villa-facilities ul { grid-template-columns: 1fr; padding: 18px; }
}

/* ── Villa description block ── */
.villa-description {
  line-height: 1.8;
  font-size: 17px;
  color: rgba(255,255,255,.8);
}
.villa-description > p {
  margin-bottom: 16px;
  opacity: 1;
}
.villa-description a {
  color: var(--orangePrimary, #ff710a);
  text-decoration: none;
}
.villa-description a:hover { opacity: .8; }
.villa-description a::after { background-color: var(--orangePrimary, #ff710a); }

.villa-description h2 {
  font-size: 24px;
  font-weight: 600;
  margin: 40px 0 16px;
  color: var(--white);
}
.villa-description h3 {
  font-size: 20px;
  font-weight: 600;
  margin: 32px 0 12px;
  color: var(--white);
}

.villa-description ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 32px;
  margin: 16px 0 24px 0;
  padding: 20px 24px;
  background: var(--grayPrimary, #202020);
  border-radius: 8px;
  list-style: none;
}
.villa-description ul li {
  position: relative;
  padding-left: 20px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,.85);
}
.villa-description ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  background: var(--orangePrimary, #ff710a);
  border-radius: 50%;
}

.villa-description ol {
  margin: 16px 0 24px 24px;
  padding: 20px 24px;
  background: var(--grayPrimary, #202020);
  border-radius: 8px;
}
.villa-description ol li {
  margin-bottom: 6px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,.85);
  list-style: decimal;
}
.villa-description ol li::marker {
  color: var(--orangePrimary, #ff710a);
}

.villa-description table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}
.villa-description th,
.villa-description td {
  border: 1px solid rgba(255,255,255,.15);
  padding: 10px 14px;
  text-align: left;
  font-size: 15px;
}
.villa-description th {
  background: var(--grayPrimary, #202020);
  font-weight: 600;
  color: var(--white);
}
.villa-description tr:nth-child(2n) {
  background: rgba(255,255,255,.03);
}

.villa-description img {
  max-width: 100%;
  height: auto !important;
  width: auto !important;
  border-radius: 12px;
  margin: 12px 0;
  display: block;
}
.villa-description p[style*="text-align: center"] {
  display: flex;
  justify-content: center;
  margin: 24px 0;
}
.villa-description p[style*="text-align: center"] img {
  max-width: 600px;
  width: 100% !important;
}

.villa-description strong,
.villa-description b {
  font-weight: 600;
  color: var(--white);
}

.villa-description br + br {
  display: none;
}

@media (max-width: 768px) {
  .villa-description {
    font-size: 16px;
  }
  .villa-description ul {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 16px 18px;
  }
  .villa-description h2 { font-size: 21px; margin-top: 32px; }
  .villa-description h3 { font-size: 18px; }
  .villa-description p[style*="text-align: center"] img {
    max-width: 100%;
  }
}

/* ── Villa product page: heading & button spacing ── */
.productContent__content h1 {
  font-size: 36px;
  margin: 0 0 8px;
}
.productContent__content > h2 {
  font-size: 28px;
  margin: 40px 0 16px;
}
.productContent__content > h2:first-of-type {
  margin-top: 24px;
}
.productContent__content .villa-facilities h2 {
  font-size: 24px;
}
.productContent__content .accord__contaner {
  margin-top: 16px;
}
.productContent__content .accord_card_title h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}
.productContent__content > .btn {
  margin-top: 32px;
}
.productContent__form h3.fz30 {
  font-size: 24px;
}
.currency-selector {
  margin: 0 0 16px;
}
.currency-selector form {
  display: inline;
}
.currency-selector select {
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,.15);
  background: var(--grayPrimary, #202020);
  color: inherit;
  font-size: 15px;
}
.productContent__content .table {
  margin: 16px 0 24px;
}
.productContent__content .table td,
.productContent__content .table th {
  font-size: 15px;
}
.productContent__content .button_a {
  margin-top: 16px;
}
.productContent__content .villas__card_title h1 {
  font-size: 36px;
}
.productContent__content .villas__card_rating p {
  opacity: 1;
}
.productContent__content .villas__card_place {
  margin-bottom: 12px;
}
.productContent__content .villas__card_topFilter {
  margin-bottom: 12px;
}
.productContent__content .villas__card_bottomFilter {
  margin-bottom: 24px;
}
@media (max-width: 1024px) {
  .productContent__content h1 { font-size: 30px; }
  .productContent__content > h2 { font-size: 24px; margin-top: 32px; }
  .productContent__content .villa-facilities h2 { font-size: 22px; }
  .productContent__content .accord_card_title h3 { font-size: 16px; }
  .productContent__form h3.fz30 { font-size: 22px; }
}
/* Homepage-specific fixes */

/* ── best__wrapper — full-width grey sections ── */
.best__wrapper {
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  padding: 120px 0;
  background-color: var(--grayPrimary);
}
.best__wrapper_second {
  padding: 60px 0;
}

/* ── Remove double main nesting gap ── */
main.wrapper > main {
  display: contents;
}

/* ── Newsletter section ── */
.best__wrapper_second .newsletter__container {
  padding: 0;
}

/* ── Consistent section spacing ── */
.home__section_third {
  margin-bottom: 0 !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .best__wrapper {
    padding: 60px 0;
  }
  .best__wrapper_second {
    padding: 40px 0;
  }
}

/* ── Search results grid ── */
.search-results-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  row-gap: 48px;
}
.search-results-grid .villas__card {
  max-width: unset;
  width: auto !important;
  flex: unset;
}
.search-results-grid .villas__card.swiper-slide {
  margin-right: 0 !important;
}
.search-results-grid .villas__card_img {
  height: 220px;
  max-height: 220px;
}
@media (max-width: 1300px) {
  .search-results-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .search-results-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 525px) {
  .search-results-grid { grid-template-columns: 1fr; }
}

/* ── FAQ section button spacing ── */
#seo-text .faq-accordion {
  margin-bottom: 48px;
}

/* ── Mobile swiper: snap to card ── */
@media (max-width: 768px) {
  .best__slider,
  .services__slider {
    overflow: hidden !important;
  }
  .best__slider .villas__card {
    width: 100% !important;
    max-width: 100% !important;
  }
  .services__slider .events_card {
    flex: 0 0 100%;
  }
  .villas__container {
    overflow: hidden !important;
  }
  .villas__container .villas__card:first-child,
  .villas__container .villas__card {
    max-width: 100%;
    min-width: 100%;
  }
  .tourism__cards .swiper-slide {
    width: 70vw !important;
    flex-shrink: 0;
  }
  .rewiew_slider {
    overflow: hidden !important;
  }
  .slider_controls {
    width: 100% !important;
  }
  img {
    max-width: 100%;
    height: auto;
  }
}
.sliderThumb .swiper-slide { cursor: pointer; }
.villa-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, visibility 0.25s;
}
.villa-lightbox.active { opacity: 1; visibility: visible; }
.villa-lightbox__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,0.15);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.villa-lightbox__close:hover { background: rgba(255,255,255,0.3); }
.villa-lightbox__close::before,
.villa-lightbox__close::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 2px;
  background: #fff;
}
.villa-lightbox__close::before { transform: rotate(45deg); }
.villa-lightbox__close::after { transform: rotate(-45deg); }
.villa-lightbox__counter {
  position: absolute;
  top: 20px;
  left: 20px;
  color: rgba(255,255,255,0.7);
  font-size: 14px;
  z-index: 10;
}
.villa-lightbox .swiper { width: 100%; height: 100%; }
.villa-lightbox .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.villa-lightbox .swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.villa-lightbox .swiper-zoom-container img {
  max-width: 100%;
  max-height: 100vh;
  object-fit: contain;
}
.villa-lightbox__prev,
.villa-lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,0.12);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.villa-lightbox__prev:hover,
.villa-lightbox__next:hover { background: rgba(255,255,255,0.25); }
.villa-lightbox__prev { left: 16px; }
.villa-lightbox__next { right: 16px; }
.villa-lightbox__prev::after,
.villa-lightbox__next::after {
  content: '';
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.villa-lightbox__prev::after { transform: rotate(-135deg); margin-left: 4px; }
.villa-lightbox__next::after { transform: rotate(45deg); margin-right: 4px; }
@media (max-width: 768px) {
  .villa-lightbox__prev,
  .villa-lightbox__next { width: 36px; height: 36px; }
  .villa-lightbox__prev { left: 8px; }
  .villa-lightbox__next { right: 8px; }
}


/* tourism__cards: выход за колонку на больших экранах */
/* В колонке 1480px на широком экране карусель ровно заполнялась карточками и
   обрезалась по краю колонки — продолжения не было видно. Здесь она выходит
   до края экрана: размер карточек не меняется (352px), видно больше, последняя
   обрезается краем — как на мобильном. Тот же приём, что у .best__slider
   и .services__slider (overflow: visible). Горизонтальный скролл страницы не
   появляется: у html стоит overflow-x: clip. */
@media (min-width: 1601px) {
    .tourism__cards {
        overflow: visible !important;
    }
}


/* mw1920: снятие потолка 1920px на широких экранах */
/* .mw1920 обрезает выходящие за колонку карусели (.best__slider, .services__slider).
   Его max-width:1920px оставлял мёртвые поля на экранах шире 1920px: например на
   2125px — по 103px слева и справа, карточки срезались, не доходя до края.
   Выше 1920px потолок снимаем: контейнер занимает всю ширину экрана, overflow:hidden
   у него сохраняется, поэтому горизонтальный скролл страницы не появляется. */
@media (min-width: 1921px) {
    .mw1920 {
        max-width: none;
    }
}


/* bleed__wrapper: полноширинная полоса без своего фона */
/* Секция выходит из колонки 1480px, чтобы карусель внутри могла продолжаться
   за краем экрана. Тот же приём, что у .best__wrapper (position/width/left/
   transform), но без фона и вертикальных отступов — их секция задаёт сама.
   Внутренние блоки несут класс wrapper, поэтому заголовок и текст остаются
   в колонке. Горизонтальный скролл страницы не появляется: у html overflow-x: clip. */
.bleed__wrapper {
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}


/* productContent__form: липнет ниже шапки, а не под неё */
/* Шапка sticky/fixed и её высота меняется с шириной экрана: 73px на мобильном,
   104px на планшете, 134px на 1512px, 164px на 2125px. У формы стоял top: 36px,
   поэтому при скролле её верх уезжал под шапку (на 1512px — на 98px), а
   height: 100vh при top: 36px выносил низ на 36px за экран.
   --header-h выставляет скрипт по фактической высоте шапки; значение в fallback
   на случай отключённого JS. */
.productContent__form {
    top: calc(var(--header-h, 134px) + 24px);
    height: auto;
    max-height: calc(100vh - var(--header-h, 134px) - 48px);
}

/* tourism__cards: затемнение краёв — мягкая версия */
/* Зачем: кнопки .tourLeft/.tourRight лежат поверх фото по краям колонки с
   прозрачным фоном, на светлых снимках стрелки теряются.
   Тонкости, из-за которых версия третья:
   1) Если карточек меньше пяти, они укладываются в колонку и листать нечего —
      кнопки неактивны, затемнение только портит крайние карточки (так было в
      блоке Tourism directory на главной с четырьмя карточками). Отключаем.
   2) Плотность снижена до 0.5 и гаснет быстрее, чтобы не съедать текст.
   3) Полоса сужена до 120px и прижата к самому краю.
   z-index: 2 — выше слайдов, ниже контролов (у них 10); pointer-events: none,
   чтобы не перехватывать клики и свайп. */
.tourism__cards::before,
.tourism__cards::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    z-index: 2;
    pointer-events: none;
}
.tourism__cards::before {
    left: 0;
    background: linear-gradient(to right, rgba(18, 18, 18, .5) 0, rgba(18, 18, 18, .22) 40%, rgba(18, 18, 18, 0) 100%);
}
.tourism__cards::after {
    right: 0;
    background: linear-gradient(to left, rgba(18, 18, 18, .5) 0, rgba(18, 18, 18, .22) 40%, rgba(18, 18, 18, 0) 100%);
}
/* Выше 1601px карточки выходят за колонку 1480px, а кнопки остаются у её края:
   держим ровную плотность от края экрана до колонки, дальше гасим.
   740px — половина колонки. */
@media (min-width: 1601px) {
    .tourism__cards::before {
        left: calc(740px - 50vw);
        width: calc(120px + 50vw - 740px);
        background: linear-gradient(to right, rgba(18, 18, 18, .5) 0, rgba(18, 18, 18, .5) calc(50vw - 740px), rgba(18, 18, 18, 0) 100%);
    }
    .tourism__cards::after {
        right: calc(740px - 50vw);
        width: calc(120px + 50vw - 740px);
        background: linear-gradient(to left, rgba(18, 18, 18, .5) 0, rgba(18, 18, 18, .5) calc(50vw - 740px), rgba(18, 18, 18, 0) 100%);
    }
}
/* Меньше пяти карточек — листать нечего, затемнение не нужно */
.tourism__cards:not(:has(.swiper-wrapper > .swiper-slide:nth-child(5)))::before,
.tourism__cards:not(:has(.swiper-wrapper > .swiper-slide:nth-child(5)))::after {
    content: none;
}

/* До 768px кнопки листания скрыты (.slider_controls display:none),
   поэтому затемнять нечего: на 390px полоса 120px съедала треть узкого контейнера. */
@media (max-width: 768px) {
    .tourism__cards::before,
    .tourism__cards::after {
        content: none;
    }
}
