/* =========================================================================
   ИЗОЛИРОВАННАЯ ДИЗАЙН-СИСТЕМА СТРАНИЦЫ ОБЪЯВЛЕНИЯ (СИНГЛ PWA АВИТО)
   ЧАСТЬ 1: ГЕОМЕТРИЯ СТРАНИЦЫ И ТРАНСФОРМИРУЕМЫЙ ХЕДЕР
   ========================================================================= */

.pwa-single-view-wrapper {
    background-color: var(--bg-main, #000000);
    color: var(--text-main, #ffffff);
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    /* Защитный отступ сверху, чтобы черный хедер не перекрывал начало карусели фото */
    padding-top: calc(60px + env(safe-area-inset-top)) !important;
    padding-bottom: calc(85px + env(safe-area-inset-bottom)) !important;
    position: relative;
}

/* ЕДИНЫЙ ТРАНСФОРМИРУЕМЫЙ ВЕРХНИЙ БАР (ИЗНАЧАЛЬНО ЧЕРНЫЙ В ЦВЕТ ФОНА) */
.pwa-unified-top-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    padding: 0 16px;
    padding-top: env(safe-area-inset-top);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1600;
    background-color: #000000 !important; /* В цвет фона страницы */
    border-bottom: 1px solid transparent;
    transition: background-color 0.25s ease, border-color 0.25s ease;
    will-change: background-color;
}

/* Модификатор при скролле контента (переход в глубокий графит) */
.pwa-unified-top-header.scrolled {
    background-color: #1c1c1e !important; /* Цвет карточек приложения */
    border-bottom: 1px solid #2c2c2e !important; /* Тонкий нативный разделитель */
}

/* Контент объявления внутри шапки (скрыт, пока фото не спрячется) */
.pwa-unified-top-header #pwaHeaderHiddenContent {
    opacity: 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    gap: 10px;
    overflow: hidden;
    flex-grow: 1;
    margin: 0 12px;
    transition: opacity 0.2s ease;
    will-change: opacity;
}

/* Плавное проявление названия и цены при скролле */
.pwa-unified-top-header.scrolled #pwaHeaderHiddenContent {
    opacity: 1;
    pointer-events: auto;
}

.mini-header-content-flex { display: flex; align-items: center; gap: 10px; overflow: hidden; flex-grow: 1; }
.mini-header-thumb { width: 36px; height: 36px; border-radius: 6px; overflow: hidden; flex-shrink: 0; background: #2c2c2e; }
.mini-header-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mini-header-text-box { display: flex; flex-direction: column; overflow: hidden; }
.mini-header-title-text { font-size: 13px; font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #ffffff; }
.mini-header-price-text { font-size: 12px; color: #8e8e93; margin-top: 1px; }

/* КНОПКИ НАВИГАЦИИ (Изначально чистые, без темных кругов-подложек) */
.single-nav-back-btn, .single-share-action-btn, .single-fav-btn {
    width: 36px; 
    height: 36px; 
    background: transparent !important; 
    border-radius: 50%;
    display: flex; 
    align-items: center; 
    justify-content: center; 
    color: #ffffff;
    font-size: 20px; 
    border: none; 
    cursor: pointer; 
}
.single-nav-back-btn { font-size: 24px; text-decoration: none; }
.single-nav-right-actions { display: flex; gap: 10px; }
/* =========================================================================
   ИЗОЛИРОВАННАЯ ДИЗАЙН-СИСТЕМА СТРАНИЦЫ ОБЪЯВЛЕНИЯ (СИНГЛ PWA АВИТО)
   ЧАСТЬ 2: ГЛАВНЫЙ СЛАЙДЕР, ИНЛАЙН-КНОПКИ И ХАРАКТЕРИСТИКИ
   ========================================================================= */

/* 3. НАВИНАЯ PEEK-КАРУСЕЛЬ ФОТОГРАФИЙ (МЯГКИЕ КРАЯ И ДОЛЕТАНИЕ СЛАЙДОВ) */
.pwa-single-photo-slider-container {
    position: relative; width: 100%; aspect-ratio: 4/3; background-color: #141416;
}
.pwa-single-slider-track {
    display: flex; width: 100%; height: 100%; overflow-x: auto;
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    padding: 16px 20px 8px 20px !important; /* Боковые зазоры обеспечивают превью соседних фото */
    gap: 10px;
}
.pwa-single-slider-track::-webkit-scrollbar { display: none; }

.pwa-slider-slide-item {
    min-width: calc(100% - 10px); /* Слайд чуть меньше экрана, чтобы торчал край следующего */
    height: 100%; scroll-snap-align: center;
    border-radius: 12px !important; overflow: hidden !important;
}
.pwa-slider-slide-item img { width: 100%; height: 100%; object-fit: cover; }

.pwa-slider-counter-badge { position: absolute; bottom: 20px; right: 32px; background: rgba(0, 0, 0, 0.65); padding: 4px 10px; border-radius: 12px; font-size: 11px; font-weight: 500; color: #fff; z-index: 10; }

.pwa-slider-lines-indicator { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; z-index: 10; }
.slider-dot-line { width: 16px; height: 3px; background: rgba(255, 255, 255, 0.4); border-radius: 2px; transition: all 0.2s; }
.slider-dot-line.active { background: #ffffff; width: 24px; }

/* 4. ТЕЛО СТРАНИЦЫ И БЛОКИ КОНТЕНТА */
.pwa-single-content-body-box { padding: 12px 16px; }
.pwa-verified-shield-badge { display: inline-block; background: rgba(0, 204, 102, 0.1); color: #00cc66; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 6px; margin-bottom: 10px; }
.pwa-single-price-amount-row { font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 4px; }
.pwa-single-price-period-label { font-size: 14px; font-weight: 400; color: #8e8e93; margin-left: 4px; }
.pwa-single-main-title { font-size: 20px; font-weight: bold; line-height: 1.3; margin-bottom: 8px; }
.pwa-single-technical-meta { font-size: 11px; color: #8e8e93; margin-bottom: 14px; }
.pwa-single-divider { border: 0; border-top: 1px solid #2c2c2e; margin: 16px 0; }

/* Блок верхних статичных кнопок связи (инлайн под ценой) */
.pwa-main-inline-actions-box {
    display: flex;
    gap: 12px;
    margin-top: 16px;
    width: 100%;
}
.pwa-inline-btn {
    flex: 1;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease;
}
.btn-call-green { background-color: #00cc66; }
.btn-call-green:active { background-color: #00b359; }
.btn-chat-blue { background-color: #00aaff; }
.btn-chat-blue:active { background-color: #0099e6; }

.pwa-author-reply-speed-text {
    font-size: 13px;
    color: #8e8e93;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 16px;
    width: 100%;
}

/* Показать на карте */
.pwa-single-location-block { display: flex; flex-direction: column; gap: 6px; }
.pwa-single-location-address-text { font-size: 14px; color: #ffffff; line-height: 1.4; }
.pwa-map-toggle-action-btn { background: none; border: none; color: #00aaff; font-size: 14px; font-weight: bold; padding: 4px 0; text-align: left; cursor: pointer; width: max-content; }

/* Таблица Характеристик пиксель в пиксель */
.pwa-avito-characteristics-section {
    display: flex;
    flex-direction: column;
}
.single-section-inner-title {
    font-size: 18px;
    font-weight: bold;
    color: #ffffff;
    margin: 0 0 14px 0;
}
.pwa-avito-chars-list-table {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.avito-char-row-item {
    display: flex;
    align-items: flex-start;
    font-size: 15px;
    line-height: 1.3;
}
.char-label-name {
    color: #8e8e93;
    width: 50%;
    padding-right: 8px;
}
.char-value-data {
    color: #ffffff;
    width: 50%;
}
/* =========================================================================
   ИЗОЛИРОВАННАЯ ДИЗАЙН-СИСТЕМА СТРАНИЦЫ ОБЪЯВЛЕНИЯ (СИНГЛ PWA АВИТО)
   ЧАСТЬ 3: ОПИСАНИЕ И ОТЗЫВЫ ГОСТЕЙ (СТРОГО СЛЕВА)
   ========================================================================= */

/* Свертывание текста Описания */
.truncate-text-flow {
    display: -webkit-box; 
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical; 
    overflow: hidden; 
}
.single-html-description-body {
    font-size: 15px;
    line-height: 1.4;
    color: #ffffff;
}
.pwa-show-more-description-btn { background: none; border: none; color: #00aaff; font-size: 14px; font-weight: bold; padding: 8px 0 0 0; cursor: pointer; }

/* Блок отзывов гостей */
.pwa-reviews-short-list-block {
    display: flex;
    flex-direction: column;
}
.pwa-total-rating-badge-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    justify-content: flex-start; /* Оценка и отзывы строго слева */
}
.rating-green-box {
    background-color: #00cc66;
    color: #ffffff;
    font-size: 13px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 5px;
}
.rating-count-sub-label {
    font-size: 14px;
    color: #00cc66;
    font-weight: bold;
}
.pwa-reviews-rows-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.pwa-review-single-row {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #2c2c2e;
    padding-bottom: 16px;
}
.pwa-review-single-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.review-user-profile-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.review-user-avatar-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #ff9500;
    color: #ffffff;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}
.user-bg-green { background-color: #34a853; }
.user-bg-red { background-color: #ff3b30; }

.review-user-info-box {
    display: flex;
    flex-direction: column;
}
.review-user-name-text {
    font-size: 15px;
    font-weight: bold;
    color: #ffffff;
}
.review-date-text {
    font-size: 12px;
    color: #8e8e93;
    margin-top: 1px;
}
.review-stars-row-status {
    font-size: 13px;
    color: #ffcc00;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.deal-status-badge {
    color: #8e8e93;
    font-size: 13px;
}
.review-row-text-body {
    font-size: 14px;
    line-height: 1.4;
    color: #ffffff;
}
.truncate-review-lines-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pwa-expand-review-text-btn {
    background: none;
    border: none;
    color: #8e8e93;
    font-size: 13px;
    font-weight: 500;
    padding: 6px 0 0 0;
    text-align: left;
    cursor: pointer;
    width: max-content;
}

/* Кнопка "Читать 10 отзывов" на 45% ширины (меньше примерно на 60%) строго слева */
.pwa-see-all-ten-reviews-btn {
    width: 45% !important;
    height: 40px;
    background-color: #2c2c2e;
    border: none;
    border-radius: 10px;
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    margin-top: 16px;
    cursor: pointer;
    display: block;
    text-align: center;
}
.pwa-see-all-ten-reviews-btn:active {
    background-color: #3a3a3c;
}
/* =========================================================================
   ИЗОЛИРОВАННАЯ ДИЗАЙН-СИСТЕМА СТРАНИЦЫ ОБЪЯВЛЕНИЯ (СИНГЛ PWA АВИТО)
   ЧАСТЬ 4: ПРОФИЛЬ ПАРТНЕРА, ЖАЛОБЫ, РЕКОМЕНДАЦИИ И НИЖНИЙ FIXED BAR
   ========================================================================= */

/* Карточка Людмилы (Профиль продавца с аватаром строго СПРАВА) */
.pwa-single-author-profile-widget-card { 
    background: transparent; 
    padding: 16px 0; 
}
.pwa-single-author-profile-widget-card .author-widget-user-flex-row { 
    display: flex; 
    justify-content: space-between; /* Расталкивает текст влево, аватар вправо */
    align-items: center;
    gap: 16px; 
}
.pwa-single-author-profile-widget-card .author-widget-meta-info-box { 
    order: 1; /* Оставляет текстовый блок слева */
    display: flex; 
    flex-direction: column; 
    gap: 2px;
    flex-grow: 1;
}
.pwa-single-author-profile-widget-card .author-widget-avatar-stub-circle { 
    order: 2; /* Явно сдвигает аватарку в правый край */
    width: 56px; 
    height: 56px; 
    background: #2c2c2e; 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 24px; 
    position: relative; 
    flex-shrink: 0;
    overflow: hidden;
}
.pwa-single-author-profile-widget-card .author-widget-avatar-stub-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.author-widget-display-name { font-size: 16px; font-weight: bold; color: #ffffff; }
.author-widget-rating-stars-row { font-size: 13px; color: #ffcc00; margin-top: 2px; }
.author-widget-active-ads-count { font-size: 13px; color: #ffffff; margin-top: 2px; }
.author-widget-sub-verify { font-size: 13px; color: #5cd15c; font-weight: 500; margin-top: 2px; }

/* Кнопка "Настроить" */
.author-widget-see-all-profile-ads { 
    display: inline-block;
    background-color: #2c2c2e;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    padding: 8px 16px;
    border-radius: 10px;
    margin-top: 14px;
    text-align: center;
    width: max-content;
    transition: background-color 0.2s;
}
.author-widget-see-all-profile-ads:active { background-color: #3a3a3c; }

/* КНОПКА ПОЖАЛОВАТЬСЯ: Практически на весь экран (ширина 100%) */
.pwa-report-ad-container-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 0;
    /* Огромный нижний отступ для контента, чтобы его никогда не перекрывал плавающий бар */
    padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
}
.pwa-report-trigger-action-btn { 
    background-color: #2c2c2e; 
    border: none; 
    color: #ffffff; 
    font-size: 14px; 
    font-weight: bold;
    cursor: pointer; 
    padding: 12px 0; 
    text-align: center;
    width: 100% !important; /* На всю ширину текстового блока */
    border-radius: 12px;
    transition: background 0.2s;
}
.pwa-report-trigger-action-btn:active { background-color: #3a3a3c; }
.pwa-single-technical-meta-bottom { font-size: 13px; line-height: 1.6; color: #8e8e93; }

/* =========================================================================
   /* 5. УНИВЕРСАЛЬНАЯ СВАЙП-КАРУСЕЛЬ РЕКОМЕНДАЦИЙ (РУБРИКИ, СТАТЬИ, ЖИЛЬЕ)
   ОБЪЕДИНЕННАЯ И СТАБИЛИЗИРОВАННАЯ ВЕРСТКА ХОРИЗОНТАЛЬНЫХ ТРЕКОВ
   ========================================================================= */

/* Единый контейнер горизонтального скролла для всех лент в футере */
.pwa-recommended-horizontal-scroller, 
.pwa-post-horizontal-scroll-container {
    display: flex !important; 
    width: auto !important; 
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important; 
    -webkit-overflow-scrolling: touch !important;
    gap: 12px !important; 
    padding: 8px 16px 16px 16px !important; 
    margin: 0 -16px !important; 
}
.pwa-recommended-horizontal-scroller::-webkit-scrollbar,
.pwa-post-horizontal-scroll-container::-webkit-scrollbar { 
    display: none !important; 
}

/* Универсальная мини-карточка для рекомендаций и похожих постов */
.rec-mini-card-item, 
.pwa-blog-mini-card {
    min-width: 145px !important; 
    max-width: 145px !important; 
    flex: 0 0 145px !important;
    scroll-snap-align: start !important;
    background: transparent;
    border: none;
    overflow: hidden !important; 
    display: flex !important; 
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
}

.rec-mini-card-item a, 
.pwa-blog-mini-card a { 
    text-decoration: none !important; 
    display: flex !important; 
    flex-direction: column !important; 
    width: 100%;
}

/* Обложка (Превью) карточки - пропорция 4:3 и мягкие углы 12px */
.rec-card-thumb, 
.pwa-blog-card-thumb { 
    width: 100% !important; 
    aspect-ratio: 4/3 !important; 
    background: #1c1c1e !important; 
    border-radius: 12px !important; 
    overflow: hidden !important; 
    position: relative !important; 
    border: 1px solid #2c2c2e !important;
}
.rec-card-thumb img, 
.pwa-blog-card-thumb img { 
    width: 100% !important; 
    height: 100% !important; 
    object-fit: cover !important; 
}

/* Текст заголовка карточки */
.rec-card-title-text, 
.pwa-blog-card-title { 
    font-size: 13px !important; 
    color: #ffffff !important; 
    padding: 6px 0 0 0 !important; 
    line-height: 1.3 !important; 
    white-space: nowrap !important; 
    overflow: hidden !important; 
    text-overflow: ellipsis !important; 
    font-weight: 500 !important;
    text-align: left !important;
}

/* Блок цены объекта */
.rec-card-price-num { 
    font-size: 15px !important; 
    font-weight: 800 !important; 
    color: #fff !important; 
    padding: 2px 0 0 0 !important; 
    text-align: left !important;
}

/* Подпись периода ("за сутки / за месяц") под ценой */
.rent-period-sub {
    font-size: 11px !important;
    font-weight: normal !important;
    color: #8e8e93 !important;
    display: block !important;
    margin-top: 1px !important;
    text-align: left !important;
}

/* Финальная карточка "Показать все" (Сбалансирована под высоту картинок 4:3) */
.show-all-carousel-card-end {
    background: #1c1c1e !important; 
    border: 1px solid #2c2c2e !important;
    border-radius: 12px !important;
    justify-content: center !important; 
    align-items: center !important;
    min-width: 145px !important;
    flex: 0 0 145px !important;
    height: 108px !important; /* Четкое соответствие высоте превью картинок */
}
.rec-show-all-inner-flex { 
    display: flex !important; 
    flex-direction: column !important; 
    align-items: center !important; 
    justify-content: center !important; 
    gap: 6px !important; 
    width: 100% !important; 
    height: 100% !important; 
}
.show-all-arrow-circle { 
    width: 32px; 
    height: 32px; 
    background: #2c2c2e; 
    border: 1px solid #3a3a3c; 
    border-radius: 50%; 
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    font-size: 14px; 
    color: #ffffff; 
}
.show-all-label-text { 
    font-size: 13px; 
    font-weight: 600; 
    color: #ffffff; 
}


/* Нативная шторка жалоб */
.pwa-report-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 3000; visibility: hidden; opacity: 0; transition: all 0.25s ease; display: flex; align-items: flex-end; }
.pwa-report-modal-overlay.active { visibility: visible; opacity: 1; }
.pwa-report-modal-sheet { width: 100%; background: #1c1c1e; border-radius: 16px 16px 0 0; padding: 20px 16px calc(20px + env(safe-area-inset-bottom)) 16px; transform: translateY(100%); transition: transform 0.25s cubic-bezier(0.25, 1, 0.5, 1); }
.pwa-report-modal-overlay.active .pwa-report-modal-sheet { transform: translateY(0); }
.report-sheet-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.report-sheet-title { font-size: 16px; font-weight: bold; }
.report-sheet-close-btn { background: none; border: none; color: #fff; font-size: 24px; cursor: pointer; }
.report-option-row-item { padding: 14px 0; border-bottom: 1px solid #2c2c2e; font-size: 14px; cursor: pointer; }
.report-selected-reason-badge { background: rgba(255,59,48,0.1); color: #ff3b30; padding: 8px 12px; border-radius: 8px; font-size: 13px; font-weight: bold; margin-bottom: 12px; }
.report-admin-message-textarea-field { width: 100%; height: 100px; background: #000000; border: 1px solid #2c2c2e; border-radius: 8px; color: #fff; padding: 10px; font-size: 14px; outline: none; resize: none; margin-bottom: 14px; }
.report-submit-form-action-btn { width: 100%; height: 44px; background: #fff; color: #000; border: none; border-radius: 22px; font-size: 14px; font-weight: bold; cursor: pointer; }

/* ФИКСИРОВАННЫЙ НИЖНИЙ БАР ДЕЙСТВИЙ (ПЛАВНЫЙ ВЫЕЗД С ЗАЗОРОМ СНИЗУ) */
.pwa-single-sticky-action-bottom-bar { 
    position: fixed; 
    bottom: 0; 
    left: 0; 
    width: 100%; 
    height: auto; 
    background-color: #1c1c1e; 
    border-top: 1px solid #2c2c2e; 
    display: flex; 
    flex-direction: row-reverse; /* Позвонить — направо, Написать — налево */
    gap: 12px; 
    /* Создает пустое нативное пространство под системную область жестов */
    padding: 12px 16px calc(14px + env(safe-area-inset-bottom)) 16px !important; 
    z-index: 2000; 
    will-change: transform, opacity;
}
.single-sticky-btn { 
    flex: 1; 
    height: 48px; 
    border-radius: 12px; 
    text-align: center; 
    line-height: 48px; 
    font-size: 16px; 
    font-weight: bold; 
    color: #fff; 
    text-decoration: none; 
}
.action-btn-chat { background-color: #00aaff; } 
.action-btn-chat:active { background-color: #0099e6; }
.action-btn-call { background-color: #00cc66; }
.action-btn-call:active { background-color: #00b359; }

/* Адаптивный контейнер для экранов ПК */
@media (min-width: 768px) {
    .pwa-single-top-nav-bar, .pwa-single-sticky-action-bottom-bar {
        max-width: 500px !important; 
        left: 50% !important; 
        transform: translateX(-50%) !important;
        padding-bottom: 16px !important; /* Фикс отступа жестов для десктопов */
    }
    .pwa-single-sticky-action-bottom-bar[style*="opacity: 0"] {
        transform: translateX(-50%) translateY(120px) !important;
    }
    .pwa-single-view-wrapper { 
        max-width: 500px !important; 
        margin: 0 auto !important; 
    }
}
/* ==========================================================================
   PWA 12-MONTHS GUEST CALENDAR STYLES (AVITO-STYLE OVERLAY)
   ========================================================================== */

.pwa-calendar-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 100000;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.pwa-calendar-modal-sheet {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 92%;
    background: #ffffff;
    border-radius: 16px 16px 0 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
}

/* Шапка шторки */
.pwa-calendar-sheet-header {
    padding: 15px;
    border-bottom: 1px solid #eeeeee;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pwa-calendar-sheet-title {
    font-weight: 700;
    font-size: 16px;
    color: #222222;
}

.pwa-calendar-close-btn {
    background: none;
    border: none;
    font-size: 26px;
    cursor: pointer;
    color: #999999;
    line-height: 1;
    padding: 0 5px;
}

/* Скролл-боди */
.pwa-calendar-scroll-body {
    flex: 1;
    overflow-y: auto;
    padding: 15px;
    -webkit-overflow-scrolling: touch;
}

.pwa-calendar-notice-text {
    font-size: 13px;
    color: #666666;
    margin: 0 0 15px 0;
    line-height: 1.4;
}

/* Блок месяца */
.pwa-calendar-month-block {
    background: #f9f9f9;
    border: 1px solid #eeeeee;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 15px;
}

.pwa-calendar-month-title {
    display: block;
    text-align: center;
    margin-bottom: 12px;
    font-size: 14px;
    color: #111111;
}

/* Сетка дней */
.pwa-calendar-days-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
    text-align: center;
    font-size: 13px;
}

/* Ячейки */
.calendar-day-cell {
    padding: 8px 4px;
    background: #ffffff;
    border-radius: 6px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    transition: all 0.1s ease;
}

.day-cell-price {
    font-size: 9px;
    color: #666666;
    margin-top: 2px;
    font-weight: normal;
}

/* Состояния ячеек (Занято / Свободно) */
.calendar-day-cell.cell-disabled {
    color: #d32f2f;
    font-weight: bold;
    opacity: 0.35;
    pointer-events: none;
    background: #fff0f0;
    border-color: #ffe0e0;
}

.calendar-day-cell.lz-free-day {
    cursor: pointer;
    color: #333333;
}

.calendar-day-cell.lz-free-day:active {
    transform: scale(0.95);
    background-color: #f0f4f8;
}

/* Нижний блок калькулятора цен */
.pwa-calendar-calculator-bar {
    padding: 15px;
    border-top: 1px solid #eeeeee;
    background: #fafafa;
    text-align: center;
    box-sizing: border-box;
}

.pwa-calendar-total-sum-text {
    font-size: 14px;
    font-weight: 700;
    color: #222222;
    margin-bottom: 4px;
}

.pwa-calendar-total-sum-text strong {
    color: #00AAFF;
}

.pwa-calendar-calculator-notice {
    font-size: 11px;
    color: #777777;
    display: block;
    line-height: 1.3;
}
/* ==========================================================================
   ФИКС ПОВТОРНОГО (НИЖНЕГО) БЛОКА КНОПОК СВЯЗИ В ФУТЕРЕ UX АВИТО
   ========================================================================== */
.pwa-repeated-actions-footer-block {
    margin-top: 32px !important;
    margin-bottom: 24px !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
}

.pwa-repeated-actions-footer-block .pwa-inline-btn {
    height: 48px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    color: #ffffff !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.1s ease !important;
}

.pwa-repeated-actions-footer-block .pwa-inline-btn:active {
    transform: scale(0.97) !important;
}

/* Принудительно возвращаем цвета для вторых кнопок */
.pwa-repeated-actions-footer-block .btn-call-green {
    background-color: #00cc66 !important;
}
.pwa-repeated-actions-footer-block .btn-chat-blue {
    background-color: #00aaff !important;
}
/**
 * PWA Авито-Стиль: Стерильные стили для характеристик, календаря и шторки жалоб
 * Изолировано из single-rental.php
 */

/* 1. Сетка кастомных характеристик */
.pwa-avito-chars-list-table {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.avito-char-row-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #f2f2f7;
    font-size: 14px;
}

.char-label-name {
    color: #8e8e93;
    font-weight: 400;
}

.char-value-data {
    color: #222222;
    font-weight: 600;
    text-align: right;
}

/* Кнопка раскрытия характеристик под кат */
#lzGuestToggleFeaturesBtn {
    background: none;
    border: none;
    color: #00AAFF;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 0;
    cursor: pointer;
    display: block;
    width: auto;
}

/* 2. Повторный блок кнопок в футере и Sticky Bar */
.pwa-repeated-actions-footer-block {
    margin-top: 30px;
    display: flex;
    gap: 10px;
    width: 100%;
}

.pwa-repeated-actions-footer-block .pwa-inline-btn {
    flex: 1;
    padding: 14px;
    color: #ffffff;
    border-radius: 10px;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    font-size: 15px;
}

.pwa-repeated-actions-footer-block .btn-call-green {
    background: #28a745;
}

.pwa-repeated-actions-footer-block .btn-chat-blue {
    background: #007bff;
}

/* Изменяемый нижний Sticky Bar */
.pwa-single-sticky-action-bottom-bar {
    opacity: 0;
    pointer-events: none;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #ffffff;
    z-index: 999;
    display: flex;
    padding: 12px 15px;
    box-sizing: border-box;
    gap: 10px;
    border-top: 1px solid #e5e5ea;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05);
}

/* 3. Модальный календарь на 12 месяцев */
.pwa-calendar-weekday-header {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 11px;
    color: #8e8e93;
    margin-bottom: 8px;
    font-weight: 600;
}

.pwa-calendar-weekday-header span.sunday-label {
    color: #d32f2f;
}

.pwa-calendar-days-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}

.calendar-day-empty {
    height: 44px;
}

/* Ячейки дней */
.calendar-day-cell {
    height: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-sizing: border-box;
}

.calendar-day-cell.cell-past {
    color: #c7c7cc;
    opacity: 0.3;
    pointer-events: none;
}

.calendar-day-cell.lz-free-day {
    font-weight: 600;
    color: #222222;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #f2f2f7;
    cursor: pointer;
    position: relative;
    transition: background 0.2s ease, color 0.2s ease;
}

.day-cell-price {
    font-size: 9px;
    font-weight: normal;
    color: #8e8e93;
    margin-top: 2px;
}

/* Нижняя панель-калькулятор внутри календаря */
.pwa-calendar-calculator-bar {
    background: #ffffff;
    border-top: 1px solid #e5e5ea;
    padding: 15px;
    box-sizing: border-box;
}

.pwa-calendar-total-sum-text {
    font-size: 15px;
    font-weight: bold;
    color: #222222;
    text-align: center;
    margin-bottom: 12px;
}

#pwaSubmitBookingRequestBtn {
    width: 100%;
    height: 48px;
    background: #00aaff;
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.5;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* 4. Шторка модерации и жалоб */
.report-sheet-step-two {
    display: none;
}

.pwa-single-technical-meta-bottom {
    font-size: 12px;
    color: #8e8e93;
    line-height: 1.6;
    margin-top: 12px;
}
/* Стабилизация нижнего мобильного стики-бара */
#pwaStickyBottomBar.pwa-single-sticky-action-bottom-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #1c1c1e; /* Темный фон под твою тему */
    z-index: 9999;
    display: flex;
    padding: 12px 16px;
    box-sizing: border-box;
    gap: 12px;
    border-top: 1px solid #2c2c2e; /* Аккуратная темная рамка */
    opacity: 0;
    pointer-events: none;
    transform: translateY(100px);
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Кнопки внутри стики-бара */
#pwaStickyBottomBar .single-sticky-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 46px; /* Фиксированная высота для ровного текста */
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    margin: 0;
}

/* Цвет кнопки Позвонить */
#pwaStickyBottomBar .action-btn-call {
    background: #28a745;
    color: #ffffff;
}

/* Цвет кнопки Написать */
#pwaStickyBottomBar .action-btn-chat {
    background: #007bff;
    color: #ffffff;
}
/* Умная сетка для адаптивного вывода кнопок связи */
.pwa-global-contact-wrapper {
    display: flex;
    gap: 6px;
    width: 100%;
    margin-top: 8px;
}

/* Если включено 2 или 3 канала связи — выстраиваем их в аккуратную строчку */
.pwa-global-contact-wrapper.active-channels-2 .pwa-btn-contact,
.pwa-global-contact-wrapper.active-channels-3 .pwa-btn-contact {
    flex: 1;
    padding: 6px 4px;
    font-size: 11px; /* Слегка уменьшаем шрифт, чтобы текст не переносился на смартфонах */
}

/* Эстетичные иконки и сокращения для мульти-кнопок */
.pwa-global-contact-wrapper.active-channels-2 span,
.pwa-global-contact-wrapper.active-channels-3 span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* =========================================================================
   PWA WISHLIST & GLOBAL CONTACTS AVITO STYLE (DARK CONSOLE EDITION 2026)
   ========================================================================= */
:root {
    --avito-bg-active: #2C2C2E;    /* Глубокий графит для активных табов */
    --avito-text-active: #FFFFFF;  /* Контрастный белый текст */
    --avito-bg-inactive: #1C1C1E;  /* Мягкий темный фон под неактивные табы */
    --avito-text-inactive: #8E8E93;/* Серый нативный текст */
    --card-radius: 16px;
    --subtle-gray: #8E8E93;
}

/* Перекрашиваем весь каркас страницы избранного в тотальный черный */
.pwa-wishlist-page-wrapper {
    background-color: #000000 !important;
    min-height: 100vh;
    padding-bottom: 95px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Нативная темная шапка */
.pwa-wishlist-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid #1C1C1E !important; /* Тонкая темная граница */
    position: sticky;
    top: 0;
    background: #000000 !important;
    z-index: 100;
}
.pwa-header-back-btn {
    background: none;
    border: none;
    padding: 6px;
    color: #FFFFFF !important; /* Белая стрелочка назад */
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pwa-header-back-btn svg {
    width: 24px;
    height: 24px;
}
.pwa-page-main-title {
    font-size: 19px;
    font-weight: 700;
    margin: 0;
    color: #FFFFFF !important; /* Белый заголовок "Избранное" */
}
.pwa-header-right-stub {
    width: 36px;
}

/* Скроллер табов под дизайн Главной (Темная подложка) */
.pwa-wishlist-tabs-scroller {
    padding: 12px 16px;
    overflow-x: auto;
    background: #000000 !important;
    -webkit-overflow-scrolling: touch;
}
.pwa-wishlist-tabs-scroller::-webkit-scrollbar {
    display: none;
}
.pwa-wishlist-tabs-container {
    display: flex;
    gap: 8px;
}
.wish-tab-item {
    background: var(--avito-bg-inactive) !important;
    border: 1px solid #2C2C2E !important; /* Легкое выделение границ */
    border-radius: 20px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--avito-text-inactive) !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}
.wish-tab-item.active {
    background: var(--avito-bg-active) !important;
    color: var(--avito-text-active) !important;
    border-color: #3A3A3C !important;
}
.tab-badge-num {
    font-size: 11px;
    background: rgba(255, 255, 255, 0.15) !important;
    color: #FFFFFF !important;
    padding: 1px 6px;
    border-radius: 10px;
}
.wish-tab-item:not(.active) .tab-badge-num {
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--subtle-gray) !important;
}

/* Контент и сетка */
.pwa-wishlist-body-content {
    padding: 4px 16px;
}
.pwa-modern-grid-layout {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 8px;
}

/* Дизайн карточек (Графитовый монолит под стиль "Моих объявлений") */
.swipe-container-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--card-radius);
    background: #1C1C1E !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border: 1px solid #2C2C2E !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}
.wish-card-link-flow {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.wish-card-image-box {
    position: relative;
    width: 100%;
    padding-top: 75%;
    background: #2C2C2E !important; /* Темный фон под фото */
    overflow: hidden;
}
.wish-card-image-box img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.wish-active-heart-icon {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.6) !important; /* Полупрозрачное темное кольцо */
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    transition: transform 0.1s ease;
    cursor: pointer;
    z-index: 5;
}
.wish-active-heart-icon:active {
    transform: scale(0.85);
}
.wish-card-info-box {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.wish-card-title-text {
    font-size: 14px;
    font-weight: 400;
    margin: 0 0 6px 0;
    color: #FFFFFF !important; /* Чистый белый текст заголовка */
    line-height: 1.3;
    min-height: 36px;
}
.wish-price-row {
    margin-bottom: 4px;
}
.wish-price-row .price-num {
    font-size: 16px;
    font-weight: 700;
    color: #FFFFFF !important; /* Яркая белая цена */
}
.wish-price-period {
    font-size: 12px;
    color: var(--subtle-gray) !important;
}
.wish-card-location-meta {
    font-size: 11px;
    color: var(--subtle-gray) !important;
    margin-top: 4px;
}

/* Скрытая кнопка удаления при свайпе */
.swipe-delete-back-action {
    position: absolute;
    top: 0;
    right: 0;
    width: 85px;
    height: 100%;
    background: #FF453A !important; /* Яркий нативный красный iOS-цвет */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    z-index: 1;
    cursor: pointer;
}
.swipe-delete-back-action svg {
    width: 24px;
    height: 24px;
}
.swipe-front-card-content {
    position: relative;
    background: #1C1C1E !important; /* Перекрашиваем плашку свайпа в графит */
    z-index: 2;
    height: 100%;
    width: 100%;
}

/* Сервисный баннер для Гостей */
.pwa-guest-notice-banner {
    grid-column: span 2;
    background: #1C1C1E !important;
    border-left: 4px solid #3A3A3C !important;
    border: 1px solid #2C2C2E;
    padding: 12px 14px;
    border-radius: 8px;
    display: flex;
    gap: 10px;
    margin-bottom: 4px;
}
.guest-banner-icon { font-size: 16px; }
.guest-banner-text { font-size: 13px; color: #AEAEB2 !important; line-height: 1.4; }

/* Эстетичные пустые состояния (Центральное неоновое сердце) */
.pwa-crm-empty-state-box {
    text-align: center;
    padding: 100px 20px;
    background-color: #000000 !important;
}
.empty-state-icon-circle {
    width: 72px;
    height: 72px;
    background: #1C1C1E !important; /* Круг вокруг сердца */
    border: 1px solid #2C2C2E !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin: 0 auto 16px auto;
    box-shadow: 0 0 15px rgba(255, 59, 48, 0.1); /* Легкое неоновое свечение */
}
.pwa-wish-empty-text {
    font-size: 14px;
    color: var(--subtle-gray) !important;
    margin: 0;
    line-height: 1.4;
}

/* Логика архивных / снятых объявлений */
.wish-status-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #2C2C2E !important;
}
.wish-status-alert-badge {
    font-size: 11px;
    background-color: rgba(255, 69, 58, 0.15) !important; /* Приглушенный красный */
    color: #FF453A !important;
    padding: 3px 8px;
    border-radius: 6px;
    font-weight: 500;
}
.wish-find-similar-action-btn {
    background-color: #2C2C2E !important;
    border: 1px solid #3A3A3C !important;
    color: #0A84FF !important; /* Синий неоновый линк */
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
}
.wish-find-similar-action-btn:active {
    background-color: #3A3A3C !important;
}

/* ТЕМНЫЙ ХЕЛИПЕР КНОПОК СВЯЗИ (КЛАССИФАЙД-СТИЛЬ) */
.pwa-global-contact-wrapper {
    display: flex;
    gap: 6px;
    width: 100%;
    margin-top: 8px;
}
.pwa-btn-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 8px 0;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
}
.pwa-global-contact-wrapper.active-channels-2 .pwa-btn-contact,
.pwa-global-contact-wrapper.active-channels-3 .pwa-btn-contact {
    flex: 1;
    padding: 6px 2px;
    font-size: 11px;
}

/* Адаптируем цвета кнопок связи под Dark-Mode */
.pwa-btn-whatsapp { background-color: rgba(48, 209, 88, 0.15) !important; color: #30D158 !important; }
.pwa-btn-telegram { background-color: rgba(10a, 132, 255, 0.15) !important; color: #0A84FF !important; }
.pwa-btn-inbox    { background-color: #2C2C2E !important; color: #FFFFFF !important; }
.pwa-btn-phone    { background-color: rgba(48, 209, 88, 0.15) !important; color: #30D158 !important; }

/* Анимации лайков */
.wish-active-heart-icon, .pwa-heart-trigger, .crm-like-btn {
    transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.2s ease !important;
}
.wish-active-heart-icon.liked, .pwa-heart-trigger.liked {
    color: #FF453A !important;
    animation: pwaHeartPop 0.3s linear;
}
@keyframes pwaHeartPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}
/* Фикс верхнего отступа, чтобы контент не залезал под фиксированную PWA-шапку */
.pwa-post-view-top-fix {
    padding-top: 50px; /* Сдвигает обложку статьи ровно под высоту верхнего бара */
    box-sizing: border-box;
}
/* =========================================================================
   СТАБИЛИЗАЦИЯ ТРЕХ PWA-СЛАЙДЕРОВ В СТАТЬЕ (РУБРИКИ, СТАТЬИ, ЖИЛЬЕ)
   ========================================================================= */

/* Общие параметры секций */
.pwa-post-slider-section {
    margin-bottom: 28px;
    width: 100%;
}

.pwa-post-section-title {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 14px 0;
}

/* Универсальный контейнер горизонтального скролла */
.pwa-post-horizontal-scroll-container {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 10px !important;
    -webkit-overflow-scrolling: touch !important;
}

.pwa-post-horizontal-scroll-container::-webkit-scrollbar {
    display: none !important;
}

/* 1. СТИЛИ ДЛЯ СЛАЙДЕРА РУБРИК */
.pwa-category-pill-item {
    scroll-snap-align: start !important;
    white-space: nowrap !important;
}

.pwa-category-pill-item a {
    display: inline-block !important;
    padding: 10px 16px !important;
    background: #1c1c1e !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: 1px solid #2c2c2e !important;
}

/* 2. СТИЛИ ДЛЯ СЛАЙДЕРА ПОХОЖИХ СТАТЕЙ */
.pwa-blog-mini-card {
    flex: 0 0 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    scroll-snap-align: start !important;
}

.pwa-blog-mini-card a {
    text-decoration: none !important;
    display: block !important;
}

.pwa-blog-card-thumb {
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #2c2c2e !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pwa-blog-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pwa-blog-card-title {
    font-size: 13px !important;
    color: #ffffff !important;
    margin-top: 6px !important;
    font-weight: 500 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.3 !important;
    text-align: left !important;
}
/* =========================================================================
   СТАБИЛИЗАЦИЯ И СКРОЛЛ PWA-СЛАЙДЕРОВ ВНУТРИ СТАТЬИ
   ========================================================================= */

/* Тонкий фикс верхнего отступа для статей под черную шапку сайта */
.pwa-post-view-top-fix {
    padding-top: calc(60px + env(safe-area-inset-top)) !important;
    box-sizing: border-box;
}

.pwa-post-content-box {
    padding: 16px;
    box-sizing: border-box;
}

.pwa-post-main-title-text {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 800;
    color: #ffffff;
}

/* Общие параметры секций слайдеров */
.pwa-post-slider-section {
    margin-bottom: 28px;
    width: 100%;
}

.pwa-post-section-title {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 14px 0;
}

/* Универсальный трек горизонтального скролла */
.pwa-post-horizontal-scroll-container {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 10px !important;
    -webkit-overflow-scrolling: touch !important;
}

.pwa-post-horizontal-scroll-container::-webkit-scrollbar {
    display: none !important;
}

/* 1. ЛЕНТА РУБРИК */
.pwa-category-pill-item {
    scroll-snap-align: start !important;
    white-space: nowrap !important;
}

.pwa-category-pill-item a {
    display: inline-block !important;
    padding: 10px 16px !important;
    background: #1c1c1e !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: 1px solid #2c2c2e !important;
}

/* 2. ЛЕНТА ПОХОЖИХ СТАТЕЙ (КАРТОЧКА ДОБРАЛАСЬ ДО 10 ШТ) */
.pwa-blog-mini-card {
    flex: 0 0 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    scroll-snap-align: start !important;
}

.pwa-blog-mini-card a {
    text-decoration: none !important;
    display: block !important;
}

.pwa-blog-card-thumb {
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #2c2c2e !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pwa-blog-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pwa-blog-card-title {
    font-size: 13px !important;
    color: #ffffff !important;
    margin-top: 6px !important;
    font-weight: 500 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.3 !important;
    text-align: left !important;
}
/* =========================================================================
   ФИКС МИНИ-ХЕДЕРА ДЛЯ СТРАНИЦЫ СТАТЬИ
   ========================================================================= */
.pwa-post-mini-header-flex {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    overflow: hidden !important;
    flex-grow: 1 !important;
    margin: 0 12px !important;
}

.pwa-post-mini-thumb {
    width: 36px !important;
    height: 36px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: #2c2c2e !important;
}

.pwa-post-mini-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pwa-post-mini-text-box {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    text-align: left !important;
}

.pwa-post-mini-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
}

.pwa-post-mini-badge {
    font-size: 11px !important;
    color: #8e8e93 !important;
    margin-top: 2px !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
}
/* =========================================================================
   ИЗОЛИРОВАННАЯ ДИЗАЙН-СИСТЕМА РЕАКТИВНОГО МОДУЛЯ ОТЗЫВОВ И ШТОРКИ ФОРМЫ
   ========================================================================= */

.pwa-isolated-reviews-component-box {
    width: 100%;
    margin: 12px 0 28px 0;
    clear: both;
}

.pwa-reviews-header-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
    gap: 16px;
}

.pwa-reviews-title-meta {
    display: flex;
    flex-direction: column;
}

/* Кнопка вызова формы Авито-стиля */
.pwa-write-review-trigger-btn {
    background: #1c1c1e;
    border: 1px solid #2c2c2e;
    color: #00aaff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s ease;
    white-space: nowrap;
}

.pwa-write-review-trigger-btn:active {
    background: #2c2c2e;
}

/* Высокотехнологичные Shimmer-скелетоны загрузки отзывов (CLS = 0) */
.pwa-review-skeleton-loader {
    height: 110px;
    background: linear-gradient(90deg, #1c1c1e 25%, #2c2c2e 50%, #1c1c1e 75%);
    background-size: 200% 100%;
    animation: pwaReviewShimmer 1.5s infinite linear;
    border-radius: 12px;
    margin-bottom: 16px;
    width: 100%;
}

@keyframes pwaReviewShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Анимация плавного появления отзывов из JS */
.pwa-review-single-row {
    animation: pwaReviewFadeIn 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes pwaReviewFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ВЫДВИЖНАЯ ШТОРКА ФОРМЫ ОТЗЫВА (MODAL BOTTOM SHEET) */
.pwa-bottom-sheet-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 10000;
    display: flex;
    align-items: flex-end;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease-out;
}

.pwa-bottom-sheet-modal-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

.pwa-bottom-sheet-container {
    width: 100%;
    max-height: 85vh;
    background: #1c1c1e;
    border-radius: 16px 16px 0 0;
    padding: 8px 16px calc(20px + env(safe-area-inset-bottom)) 16px;
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.25, 1, 0.5, 1);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.pwa-bottom-sheet-modal-overlay.active .pwa-bottom-sheet-container {
    transform: translateY(0);
}

.pwa-bottom-sheet-drag-handler {
    width: 36px;
    height: 4px;
    background: #2c2c2e;
    border-radius: 2px;
    margin: 0 auto 12px auto;
}

.pwa-bottom-sheet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.pwa-bottom-sheet-title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.pwa-bottom-sheet-close-cross {
    background: none;
    border: none;
    color: #8e8e93;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
    padding: 4px;
}

.pwa-bottom-sheet-body {
    overflow-y: auto;
    flex: 1;
}

/* Поля ввода формы */
.pwa-form-group-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 18px;
}

.pwa-form-input-label {
    font-size: 13px;
    font-weight: 500;
    color: #8e8e93;
}

.pwa-modern-native-input {
    width: 100%;
    height: 44px;
    background: #2c2c2e;
    border: 1px solid #3a3a3c;
    border-radius: 10px;
    color: #fff;
    padding: 0 12px;
    font-size: 15px;
    outline: none;
    box-sizing: border-box;
}

.pwa-modern-native-textarea {
    width: 100%;
    height: 100px;
    background: #2c2c2e;
    border: 1px solid #3a3a3c;
    border-radius: 10px;
    color: #fff;
    padding: 12px;
    font-size: 15px;
    outline: none;
    resize: none;
    box-sizing: border-box;
    font-family: inherit;
}

.pwa-modern-native-input:focus, .pwa-modern-native-textarea:focus {
    border-color: #00aaff;
}

/* Интерактивный блок звезд в форме */
.pwa-interactive-stars-rating-row {
    display: flex;
    gap: 8px;
}

.pwa-star-btn {
    background: none;
    border: none;
    font-size: 28px;
    color: #3a3a3c;
    cursor: pointer;
    padding: 0;
    transition: color 0.15s ease, transform 0.1s ease;
}

.pwa-star-btn.active {
    color: #ffcc00;
}

.pwa-star-btn:active {
    transform: scale(0.85);
}

/* Кнопка отправки отзыва */
.pwa-modern-submit-action-btn {
    width: 100%;
    height: 48px;
    background: #00cc66;
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
    margin-top: 6px;
}

.pwa-modern-submit-action-btn:active {
    background: #00b359;
}

/* Адаптация шторки под десктоп */
@media (min-width: 768px) {
    .pwa-bottom-sheet-container {
        max-width: 500px;
        margin: 0 auto;
        border-radius: 16px 16px 0 0;
    }
}
/**
 * Эффект бесшовного проявления отзывов после исчезновения скелетонов
 */
[data-pwa-node="reviews-slot"] {
    opacity: 1;
    will-change: opacity;
}
.pwa-review-single-row {
    animation: pwaReviewFadeIn 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes pwaReviewFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
/**
 * СТАБИЛИЗАЦИЯ БОКОВЫХ ОТСТУПОВ ДЛЯ ТЕКСТОВЫХ БЛОКОВ И СЕКЦИЙ
 */

/* Задаем нативные отступы Авито-стиля для заголовков, текстов и отзывов */
.pwa-single-content-body-box,
.pwa-isolated-reviews-component-box,
.pwa-post-section-title,
.single-section-inner-title,
.pwa-single-technical-meta-bottom {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}

/* Карусели рекомендаций должны прокручиваться от края до края, 
   но их внутренние первые элементы должны иметь отступ 16px */
.pwa-recommended-horizontal-scroller,
.pwa-post-horizontal-scroll-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin: 0 !important; /* Гасим отрицательные маргины, ломающие геометрию */
    width: 100% !important;
}
/**
 * СТАБИЛИЗАЦИЯ БОКОВЫХ ОТСТУПОВ КОНТЕНТА И СИММЕТРИИ ЛЕНТ НА ПК И МОБИЛЬНЫХ
 */

/* 1. Нативные боковые отступы Авито-стиля для всех текстовых блоков, отзывов и заголовков */
.pwa-single-content-body-box,
.pwa-isolated-reviews-component-box,
.pwa-post-section-title,
.single-section-inner-title,
.pwa-single-technical-meta-bottom {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}

/* 2. Универсальный трек каруселей: полная симметрия и запрет на выезд за левый край на ПК */
.pwa-recommended-horizontal-scroller,
.pwa-post-horizontal-scroll-container {
    display: flex !important; 
    width: 100% !important; 
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important; 
    -webkit-overflow-scrolling: touch !important;
    gap: 12px !important; 
    
    /* Устанавливаем симметричные внутренние отступы слева и справа */
    padding: 8px 16px 16px 16px !important; 
    margin: 0 !important; /* Начисто удаляем отрицательные маргины, сдвигавшие блок влево */
    box-sizing: border-box !important;
}

.pwa-recommended-horizontal-scroller::-webkit-scrollbar,
.pwa-post-horizontal-scroll-container::-webkit-scrollbar { 
    display: none !important; 
}

/* 3. Жесткая фиксация геометрии карточек (запрещаем браузеру сдавливать их по ширине) */
.rec-mini-card-item, 
.pwa-blog-mini-card {
    flex: 0 0 145px !important; /* 0 — абсолютный запрет на сжатие карточки */
    min-width: 145px !important; 
    max-width: 145px !important; 
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
}

.rec-mini-card-item a, 
.pwa-blog-mini-card a {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}
/**
 * Стилизация кнопки "Оставить отзыв" под списком комментариев
 */
.pwa-write-review-action-footer-row {
    margin-top: 16px;
    width: 100%;
}
.pwa-write-review-action-footer-row .main-pwa-action-footer-btn {
    width: 100% !important;
    height: 44px;
    background: #1c1c1e;
    border: 1px solid #2c2c2e;
    color: #00aaff;
    font-size: 14px;
    font-weight: 600;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.pwa-write-review-action-footer-row .main-pwa-action-footer-btn:active {
    background: #2c2c2e;
    border-color: #3a3a3c;
}
/**
 * [СТИЛИ]: Реактивный тактильный холст редактирования Лазадром PWA
 * Путь: single-style.css
 */

.pwa-edit-canvas-dark-wrapper {
    background-color: #1a1a1e !important;
    box-sizing: border-box;
}

/* Верхняя горизонтальная лента табов Авито-класса */
.pwa-canvas-tabs-scroller {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    margin-bottom: 24px !important;
    border-bottom: 1px solid #2c2c32 !important;
    -webkit-overflow-scrolling: touch;
}

.pwa-canvas-tabs-scroller::-webkit-scrollbar {
    display: none; /* Прячем некрасивый скроллбар на смартфонах */
}

.lz-pwa-canvas-tab-nav-item {
    padding: 8px 16px !important;
    background: #2c2c32 !important;
    border-radius: 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #a0a0ab !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: all 0.2s ease;
}

/* Подсветка активного таба, на котором сейчас находится партнер */
.lz-pwa-canvas-tab-nav-item.active {
    background: #22c55e !important; /* Наш фирменный зеленый цвет Лазадрома */
    color: #ffffff !important;
}

/* Управление видимостью контентных блоков-экранов */
.lz-pwa-canvas-tab-content-block {
    display: none; /* По умолчанию все экраны выключены */
}

.lz-pwa-canvas-tab-content-block.active {
    display: block !important; /* Включается только тот, у которого есть класс active */
}

/* Красивые Авито-инпуты и группы полей */
.pwa-edit-field-group {
    margin-bottom: 20px !important;
}

.pwa-canvas-input-label {
    display: block !important;
    font-size: 12px !important;
    color: #a0a0ab !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.5px !important;
}

.pwa-canvas-text-input, .pwa-canvas-textarea-input, .pwa-canvas-select-input {
    width: 100% !important;
    background: #2c2c32 !important;
    border: 1px solid #3f3f46 !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    color: #fff !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    outline: none !important;
}

/* Стилизация наших интерактивных горизонтальных плиток-цифр */





/* Общие PWA обертки и контейнеры сетки */
.pwa-edit-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

.pwa-edit-photo-slot {
    position: relative !important;
    width: 100% !important;
    padding-top: 100% !important;
    background: #2c2c32 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #3f3f46 !important;
}

.pwa-edit-photo-slot img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Сетка чекбоксов Авито-удобств */
.pwa-amenities-checkbox-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    background: #232329 !important;
    padding: 14px !important;
    border-radius: 10px !important;
    border: 1px solid #2c2c32 !important;
}

.pwa-canvas-checkbox-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #e4e4e7 !important;
    cursor: pointer !important;
    user-select: none !important;
}

/* Нативная PWA-кнопка сохранения в футере */
.pwa-canvas-sticky-footer {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    padding: 16px !important;
    background: linear-gradient(to top, #1a1a1e 85%, rgba(26,26,30,0) 100%) !important;
    z-index: 100 !important;
    box-sizing: border-box !important;
}

.pwa-canvas-submit-action-btn {
    background-color: #22c55e !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-shadow: none !important;
    box-shadow: 0 4px 20px rgba(34,197,94,0.3) !important;
}
/* =========================================================================
 * 📱 ULTRA-COMPACT MOBILE VIEW (Авито-Стиль для Большого Сочи)
 * ========================================================================= */
@media screen and (max-width: 576px) {
    /* 1. Сжатие главного блока фотографии (Убираем "черный колодец") */
    .pwa-single-photo-slider-wrapper {
        aspect-ratio: 16 / 9 !important; /* Переводим в панорамный формат */
        height: auto !important;
        margin-bottom: 12px !important;
        background-color: #16161a !important;
    }
    
    .pwa-single-photo-slider-wrapper img {
        object-fit: cover !important; /* Обрезаем пол/потолок, расширяем комнату */
    }

    /* 2. Повышение плотности текста названия и параметров */
    .avito-single-title {
        font-size: 18px !important;
        line-height: 1.3 !important;
        margin-bottom: 6px !important;
        font-weight: 700 !important;
    }

    .avito-single-price-line {
        font-size: 20px !important;
        margin-bottom: 10px !important;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    /* 3. Ультра-компактные кнопки связи (Сжатие на 30%) */
    .pwa-contact-buttons-fixed-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* Две кнопки строго в один ряд */
        gap: 10px !important;
        padding: 10px 16px !important;
        height: 64px !important; /* Было 90px — освободили полезное место */
    }

    .pwa-contact-btn-call,
    .pwa-contact-btn-chat {
        height: 44px !important; /* Идеальная тактильная высота под палец */
        border-radius: 10px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        display: flex !important;
        flex-direction: column !important; /* Текст и подсказка друг под другом */
        align-items: center !important;
        justify-content: center !important;
        line-height: 1.1 !important;
    }

    /* Вшиваем служебный текст внутрь самой кнопки Написать */
    .pwa-contact-btn-chat::after {
        content: "ответит за 2 ч";
        font-size: 10px !important;
        font-weight: 400 !important;
        color: rgba(255, 255, 255, 0.7) !important;
        margin-top: 2px;
    }

    /* 4. Подтягиваем важные "Условия аренды" наверх экрана */
    .pwa-spec-section-inside {
        margin-top: 12px !important;
        padding-top: 12px !important;
        border-top: 1px solid #222226 !important;
    }
    
    .pwa-spec-list-row {
        padding: 4px 0 !important; /* Сжимаем вертикальные отступы строк характеристик */
        font-size: 14px !important;
    }
}
/* Родовая линия: жестко выстраивает блоки в один горизонтальный ряд */
.pwa-horizontal-scroll-tiles-line {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* ЗАПРЕЩАЕМ ПЕРЕНОС НА СЛЕДУЮЩУЮ СТРОКУ */
    gap: 8px !important;
    overflow-x: auto !important; /* ВКЛЮЧАЕМ ГОРИЗОНТАЛЬНЫЙ СКРОЛЛ ПАЛЬЦЕМ */
    overflow-y: hidden !important;
    padding: 8px 0 16px 0 !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch !important; /* Плавный инерционный скролл на iPhone */
}

/* Скрываем уродливую системную полосу прокрутки браузера */
.pwa-horizontal-scroll-tiles-line::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Сама плитка: превращаем её в аккуратный квадратный блок */
.pwa-digit-tile-select-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important; /* ЗАПРЕЩАЕМ БЛОКУ СЖИМАТЬСЯ В ШИРИНУ */
    width: 46px !important;    /* Жесткая ширина блока */
    height: 46px !important;   /* Жесткая высота блока */
    background-color: #1e1e24 !important;
    border: 1px solid #2c2c32 !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background-color 0.15s, border-color 0.15s !important;
}

/* Активное состояние выбранного блока (Авито-стиль) */
.pwa-digit-tile-select-item.active {
    background-color: #00aa63 !important; /* Зеленый цвет активации */
    border-color: #00aa63 !important;
    color: #ffffff !important;
}
/* =========================================================================
   PWA АВИТО-СТИЛЬ: ГОРИЗОНТАЛЬНЫЕ ПЛИТКИ И СЕТКА УДОБСТВ ДЛЯ ХОЛСТА ПУБЛИКАЦИИ
   ========================================================================= */

/* Жестко выстраиваем блоки в один сплошной горизонтальный трек */
.pwa-horizontal-scroll-tiles-line {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Строгий запрет на перенос цифр вниз */
    gap: 8px !important;
    overflow-x: auto !important; /* Включаем скролл пальцем влево-вправо */
    overflow-y: hidden !important;
    padding: 8px 0 16px 0 !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch !important; /* Инерционная прокрутка iOS */
}

/* Скрываем полосу прокрутки браузера на смартфонах */
.pwa-horizontal-scroll-tiles-line::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Элемент плитки: превращаем его в аккуратный тактильный квадрат */
.pwa-digit-tile-select-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important; /* Абсолютный запрет на сжатие ширины */
    width: 46px !important;    /* Фиксированная ширина */
    height: 46px !important;   /* Фиксированная высота */
    background-color: #1e1e24 !important; /* Темный графитовый фон */
    border: 1px solid #2c2c2e !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background-color 0.15s, border-color 0.15s !important;
}

/* Активное (нажатое) состояние плитки */
.pwa-digit-tile-select-item.active {
    background-color: #00aa63 !important; /* Фирменный зеленый цвет Авито */
    border-color: #00aa63 !important;
    color: #ffffff !important;
}
/* =========================================================================
   💎 PWA ЛАЗАДРОМ: КАНOНИЧЕСКАЯ ДИЗАЙН-СИСТЕМА ЛИЧНОГО КАБИНЕТА ПАРТНЕРА
   ========================================================================= */

/* Главная обертка личного кабинета авторов */
.pwa-my-ads-page-wrapper {
    padding-top: calc(15px + env(safe-area-inset-top)) !important;
    background-color: #000000 !important;
    min-height: 100vh;
    box-sizing: border-box;
    color: #ffffff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* 🍎 Верхняя глянцевая плашка профиля Apple/Avito UX */
.pwa-user-profile-top-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: #1c1c1e;
    border: 1px solid #2c2c2e;
    border-radius: 16px;
    margin: 0 16px 20px 16px;
}

/* Буквенная матовая заглушка аватарки */
.pwa-avatar-letter-stub {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #3a3a3c;
    color: #ffffff;
    font-size: 22px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #30d158;
    flex-shrink: 0;
}

.pwa-avatar-letter-stub.guest {
    background: #2c2c2e;
    color: #8e8e93;
    border: none;
}

.pwa-user-profile-top-card img {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #30d158;
    flex-shrink: 0;
}

.pwa-user-profile-meta-txt {
    text-align: left;
}

.pwa-user-profile-name {
    font-size: 17px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
}

.pwa-user-profile-name.guest {
    font-size: 16px;
    font-weight: 700;
    color: #aeaeb2;
}

.pwa-user-profile-reg-date {
    font-size: 12px;
    color: #8e8e93;
    margin-top: 4px;
}

.pwa-guest-login-anchor {
    font-size: 13px;
    color: #30d158;
    text-decoration: none;
    font-weight: bold;
    display: block;
    margin-top: 4px;
}

/* 📊 Живые виджеты сквозной аналитики */
.pwa-stats-widgets-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 0 16px;
    margin-bottom: 20px;
}

.pwa-stat-box {
    border-radius: 14px;
    padding: 14px;
    text-align: left;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.pwa-stat-box.widget-purple {
    background: linear-gradient(135deg, #3a1c54 0%, #1c0d2e 100%);
    border: 1px solid #5a2c85;
}

.pwa-stat-box.widget-green {
    background: linear-gradient(135deg, #1c3d22 0%, #0d2111 100%);
    border: 1px solid #2e7d32;
}

.widget-box-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    font-weight: 600;
}

.widget-purple .widget-box-title { color: #d6bbf2; }
.widget-green .widget-box-title { color: #bbf2c3; }

.widget-box-sub {
    font-size: 22px;
    font-weight: 900;
    color: #ffffff;
    display: block;
    margin-top: 6px;
    line-height: 1;
}

.widget-green .widget-box-sub {
    color: #30d158;
}

.widget-box-hint {
    font-size: 11px;
    display: block;
    margin-top: 4px;
}

.widget-purple .widget-box-hint { color: #bca0f5; }
.widget-green .widget-box-hint { color: #9be2a5; }

.widget-icon-layer {
    position: absolute;
    right: 12px;
    bottom: 10px;
    font-size: 24px;
    opacity: 0.35;
    font-weight: bold;
    pointer-events: none;
}

/* 🎛️ Горизонтальная лента табов без Layout Reflow */
.pwa-status-tabs-scroller {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 0 16px;
    margin-bottom: 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
}

.pwa-status-tabs-scroller::-webkit-scrollbar {
    display: none !important;
}

.status-tab-item {
    white-space: nowrap;
    flex-shrink: 0;
    padding: 10px 16px;
    background: #1c1c1e;
    border: 1px solid #2c2c2e;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    color: #aeaeb2;
    transition: all 0.2s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.status-tab-item.active {
    background: #2c2c2e;
    border-color: #3a3a3c;
    color: #ffffff;
}

.tab-count-num {
    font-size: 12px;
    margin-left: 4px;
    font-weight: 800;
}

.status-tab-item.active .tab-count-num {
    color: #30d158;
}

/* Инпут живого Debounce поиска */
.pwa-dashboard-search-container {
    padding: 0 16px;
    margin-bottom: 20px;
}

.pwa-dash-search-input {
    width: 100%;
    padding: 14px;
    background: #1c1c1e;
    border: 1px solid #2c2c2e;
    color: #ffffff;
    border-radius: 12px;
    font-size: 15px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s;
}

.pwa-dash-search-input:focus {
    border-color: #30d158;
}

/* 🏠 Идеальная симметричная Авито-карточка кабинета */
.pwa-dashboard-cards-list {
    padding: 0 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 140px;
}

.pwa-skeleton-card, 
.pwa-crm-card {
    display: flex;
    gap: 12px;
    background: #1c1c1e;
    border: 1px solid #2c2c2e;
    border-radius: 14px;
    padding: 12px;
    align-items: center;
    box-sizing: border-box;
}

.pwa-crm-card {
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    -webkit-tap-highlight-color: transparent;
}

.pwa-crm-card:active {
    transform: scale(0.99);
    background: #2c2c2e;
}

/* Высокопроизводительные темные Shimmer-скелетоны */
.skeleton-img-stub {
    width: 76px;
    height: 76px;
    background: #2c2c2e;
    border-radius: 10px;
    animation: pwa-pulse-dark 1.5s infinite ease-in-out;
}

.skeleton-info-block {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
}

.skeleton-line-title {
    width: 60%;
    height: 14px;
    background: #2c2c2e;
    border-radius: 4px;
    animation: pwa-pulse-dark 1.5s infinite ease-in-out;
}

.skeleton-line-price {
    width: 35%;
    height: 12px;
    background: #2c2c2e;
    border-radius: 4px;
    animation: pwa-pulse-dark 1.5s infinite ease-in-out;
}

@keyframes pwa-pulse-dark {
    0% { opacity: 0.6; }
    50% { opacity: 0.3; }
    100% { opacity: 0.6; }
}

.pwa-real-cards-async-container {
    display: none;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.pwa-crm-empty-state-box {
    text-align: center;
    padding: 40px 16px;
    width: 100%;
    box-sizing: border-box;
}

.pwa-crm-card-img-box {
    width: 76px;
    height: 76px;
    background: #2c2c2e;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
    aspect-ratio: 1/1;
}

.pwa-crm-card-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.crm-img-stub {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2c2c2e;
    color: #8e8e93;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.pwa-crm-card-info-box {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: left;
    min-width: 0;
}

.crm-info-top-flex {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.crm-card-title {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 2px 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-card-price {
    font-size: 15px;
    font-weight: 800;
    color: #30d158;
}

.crm-price-period {
    font-size: 11px;
    color: #8e8e93;
    font-weight: normal;
    margin-left: 2px;
}

/* Метрики сквозной аналитики и бейджи */
.crm-analytics-metrics-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: #8e8e93;
    margin-top: 4px;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    content-visibility: auto;
    contain-intrinsic-size: 30px;
}

.crm-analytics-metrics-row::-webkit-scrollbar {
    display: none !important;
}

.crm-metric-item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.pwa-status-badge {
    padding: 2px 6px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    white-space: nowrap;
}

.pwa-status-badge.badge-hot-deal {
    background-color: #ff453a;
    color: #ffffff;
    font-weight: 800;
}

.pwa-status-badge.badge-crm-pending {
    background-color: #3a3a3c;
    color: #ff453a;
}

.pwa-status-badge.badge-crm-archive {
    background-color: #2c2c2e;
    color: #8e8e93;
}

.pwa-status-badge.badge-crm-active {
    background-color: rgba(48, 209, 88, 0.15);
    color: #30d158;
    font-weight: 800;
}

.pwa-crm-pending-meta-alert-text {
    font-size: 10px;
    color: #ff453a;
    margin-top: 4px;
    line-height: 1.2;
    font-weight: 600;
}

/* Атомарная изоляция кнопок управления на карточке */
.pwa-crm-card-actions-aside-flex {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    flex-shrink: 0;
}

.pwa-crm-aside-action-btn-item {
    text-decoration: none;
    font-size: 13px;
    background: #2c2c2e;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    border: 1px solid #3a3a3c;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    cursor: pointer;
    transition: transform 0.1s ease, background 0.1s;
}

.pwa-crm-aside-action-btn-item:active {
    transform: scale(0.9);
    background-color: #3a3a3c;
}

.pwa-crm-aside-action-btn-item.lz-crm-visibility-toggle-action {
    font-size: 15px;
    font-weight: bold;
}

.pwa-crm-aside-action-btn-item.lz-crm-visibility-toggle-action.show-action {
    color: #30d158;
    font-size: 14px;
}

.pwa-crm-aside-action-btn-item.lz-crm-visibility-toggle-action.hide-action {
    color: #ff9500;
}

.pwa-fixed-add-ad-sticky-btn:active {
    transform: scale(0.98);
}

/* =========================================================================
   🎨 ЧАСТЬ 2 ИЗ 2: СТИЛИ ХОЛСТА ГЛУБОКОГО РЕДАКТИРОВАНИЯ (ДЛЯ PWA-FORM-STYLES.CSS)
   ========================================================================= */

/* Адаптивная readonly плашка для защиты СУБД от случайного слома */
.pwa-canvas-readonly-category-badge {
    background-color: #2c2c2e !important;
    border: 1px solid #3a3a3c !important;
    color: #aeaeb2 !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    user-select: none !important;
}

/* Выделенное сочное поле цены Авито-style */
.pwa-canvas-text-input-price {
    width: 100% !important;
    height: 48px !important;
    background-color: #1c1c1e !important;
    border: 1px solid #2c2c2e !important;
    border-radius: 12px !important;
    color: #30d158 !important; /* Нативный сочный зеленый ценник */
    padding: 0 16px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.pwa-canvas-text-input-price:focus {
    border-color: #30d158 !important;
    box-shadow: 0 0 0 3px rgba(48, 209, 88, 0.2) !important;
}

/* Смарт-Гео обертка инпута */
.lz-pwa-geo-trigger-box {
    position: relative !important;
    width: 100% !important;
}

.pwa-canvas-geo-readonly-input {
    width: 100% !important;
    padding: 14px 40px 14px 14px !important;
    background: #1c1c1e !important;
    border: 1px solid #2c2c2e !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.pwa-geo-map-marker-pin-icon {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    font-size: 18px !important;
}

/* Скролл-карусель фотоленты на холсте редактирования */
.pwa-edit-gallery-grid {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
}

.pwa-edit-gallery-grid::-webkit-scrollbar {
    display: none !important;
}

/* Слот фотографии с бейджем "Обложка" */
.pwa-edit-photo-slot {
    position: relative !important;
    width: 80px !important;
    height: 80px !important;
    background: #2c2c2e !important;
    border: 1px solid #3a3a3c !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    scroll-snap-align: start !important;
}

.pwa-edit-photo-slot img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.main-photo-badge {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: rgba(48, 209, 88, 0.9) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    text-align: center !important;
    font-weight: 800 !important;
    padding: 2px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

.pwa-delete-photo-btn {
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    background: #ff453a !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50% !important;
    width: 18px !important;
    height: 18px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

/* Триггер добавления новой фотографии */
.pwa-edit-photo-uploader-trigger {
    width: 80px !important;
    height: 80px !important;
    background: #1c1c1e !important;
    border: 2px dashed #3a3a3c !important;
    border-radius: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s;
}

.pwa-edit-photo-uploader-trigger:active {
    border-color: #30d158;
}

.pwa-upload-icon-camera {
    font-size: 20px !important;
    line-height: 1 !important;
}

.pwa-upload-lbl-txt {
    font-size: 10px !important;
    color: #8e8e93 !important;
    margin-top: 4px !important;
    font-weight: 600 !important;
}

/* Асинхронный спиннер загрузки Blob */
.pwa-spinner-icon-loading {
    font-size: 18px !important;
    display: inline-block !important;
    animation: pwa-canvas-spin 1s linear infinite !important;
}

@keyframes pwa-canvas-spin {
    to { transform: rotate(360deg); }
}

/* Сетка чекбоксов удобств маркетплейса */
.pwa-amenities-checkbox-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 8px !important;
    background-color: #1c1c1e !important;
    padding: 14px !important;
    border-radius: 12px !important;
    border: 1px solid #2c2c2e !important;
    box-sizing: border-box !important;
}

.pwa-canvas-checkbox-label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    cursor: pointer !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Адаптивные плитки комнат/мест с мягким Safari-удержанием фокуса */
.lz-pwa-tiles-container {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.lz-pwa-tile-item-btn {
    flex: 1 !important;
    padding: 12px !important;
    background: #1c1c1e !important;
    border: 1px solid #2c2c2e !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}

.lz-pwa-tile-item-btn.is-active {
    background: #30d158 !important; /* Наш сочный зеленый Авито-цвет */
    border-color: #30d158 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(48, 209, 88, 0.25) !important;
}
