.ap-intro__text h2{ 
    font-family: var(--f-display);
    font-size: var(--fs-h2);
    font-weight: 400;
    color: var(--c-primary);
    line-height: 1.2;
    margin-bottom: clamp(20px, 2.5vw, 32px);
}
.ap-intro__text h2 em{ 
    font-style: italic;
    color: var(--c-accent);
}

.top-text h2{
    font-family: var(--f-display);
    font-size: var(--fs-h2);
    font-weight: 400;
    color: var(--c-primary);
    margin-bottom: clamp(24px, 3vw, 36px);
}
.top-text p{
    font-family: var(--f-body);
    font-size: var(--fs-body-lg);
    line-height: 1.9;
    color: var(--c-secondary);
}
.top-text em{
    font-style: italic;
    color: var(--c-accent);
}

.fh-fleet-row__info ul{
    list-style: none;
    margin-bottom: clamp(20px, 2.5vw, 32px);
    padding: clamp(16px, 2vw, 24px) 0;
    border-top: 1px solid var(--c-line);
    border-bottom: 1px solid var(--c-line);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.fh-fleet-row__info ul li{
    font-family: var(--f-body);
    font-size: var(--fs-small);
    color: var(--c-secondary);
    line-height: 1.6;
    padding-left: 24px;
    position: relative;
}
.fh-fleet-row__info ul li strong {
    color: var(--c-primary);
    font-weight: 500;
}
.fh-fleet-row__info ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1.5px solid var(--c-accent);
}

.card-slider{
 width:100%;
}
.card-slider .swiper-slide{
    border-radius:5px;
    overflow:hidden;
}

.card-slider:hover::before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    border-radius: 45% 55% 52% 48% / 50% 48% 52% 50%;
}
.card-slider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 54px;
    height: 50px;
    transform: translate(-50%, -50%) scale(0.6);
    background: rgba(245, 241, 235, 0.25);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 50% 50% 45% 55% / 55% 45% 55% 45%;
    opacity: 0;
    z-index: 3;
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease), border-radius 0.5s var(--ease);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23F5F1EB' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M9 21H3v-6'/%3E%3Cpath d='M21 3l-7 7'/%3E%3Cpath d='M3 21l7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    pointer-events: none;
}
.rd-booking__map{
    display:block;
}

.room-slider .swiper-slide{

}
.room-slider .swiper-slide img {
    transition:0.2s!important;
}
.room-slider .swiper-slide.swiper-slide-active img {
    filter: brightness(1);
}

.popup {
    display:none;
}
#success-message{
    border-radius:5px;
}
#success-message> div{
    font-family: var(--f-display);
    font-weight: 400;
    line-height: 1.15;
    color: var(--c-primary);
    letter-spacing: -0.01em;
    font-size:20px;
}

#bookingModal{
    display:none;
    padding:0;
    background:none;
}
.booking-modal__success{
  display:block;
  padding:96px 56px;
}
.fancybox__backdrop {
    background: rgba(26, 46, 31, 0.6);
    backdrop-filter: blur(6px);
}

.menu-block{
    display:none;
}

.tour-modal{
    display:none;
    padding:0;
}

.fancybox__content{
    padding:0;
}

.cta__map{
    max-width:100%;
}
.cta__map canvas{
    max-width:100%;
}
.cta__map-side{
    max-width:100%;
}
.ymaps3--map{
    max-width:100%!important;
    width:100%!important;
}

.cta__consent {
    margin-top: 0;
}
.booking-modal__consent {
    margin-top: 0;
}
.rd-booking__consent{
    margin-top: 0;
}

.tour-container .fancybox__backdrop,.standart-modal .fancybox__backdrop{
    background: rgba(26, 46, 31, 0.97);
}

.tour-modal {
    width: 90vw;
    height: 80vh;
    max-width: 1400px;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--c-dark);
}

.gal-album--centered .gal-album__strip {
    display: flex;
    justify-content: center;
    padding-right:0;
}

.gal-album--centered .gal-album__track {
    justify-content: center;
    padding-right:0;
}

.standart-modal .f-button {
    border-radius: 50% 50% 45% 55% / 55% 45% 55% 45%;
    background: rgba(245, 241, 235, 0.12);
    width: 54px;
    height: 50px;
}
.standart-modal .f-button:hover {
    background: rgba(245, 241, 235, 0.25);
    border-radius: 45% 55% 52% 48% / 50% 48% 52% 50%;
}

.tour-modal>.f-button.is-close-btn {
    top: 10px;
    right:10px;
    --f-button-border-radius: 50%;
    --f-button-color: #fff;
    --f-button-hover-color: #fff;
    --f-button-outline-color: #000;
    --f-button-bg: rgba(0, 0, 0, 0.6);
    --f-button-active-bg: rgba(0, 0, 0, 0.6);
    --f-button-hover-bg: rgba(0, 0, 0, 0.6);
    --f-button-svg-width: 18px;
    --f-button-svg-height: 18px;
    --f-button-svg-filter: none;
}
/* meta separators on other-rooms cards (match main page format) */
.rd-others__meta span + span::before {
    content: '·';
    margin: 0 8px;
    color: var(--c-accent);
}

/* Single page: tighten gap before bottom gallery */
.single-content:has(+ .rd-gallery) {
    padding-bottom: 0;
}

/* About block on home: CTA row with button + Yandex badge */
.ap-intro__cta {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: clamp(24px, 3vw, 36px);
}
.ap-intro__cta .ap-intro__btn {
    margin-top: 0;
}
.ap-intro__badge {
    height: 54px;
    display: inline-flex;
    text-decoration: none;
    border-radius: var(--radius);
    overflow: hidden;
    transition: opacity 0.3s var(--ease, ease);
}
.ap-intro__badge:hover {
    opacity: 0.85;
}
.ap-intro__badge img {
    height: 100%;
    width: auto;
    display: block;
}
