/**
 * Мобильные стили детальной страницы объекта (max-width: 767px)
 * Модуль: konsultante.sutochno
 * Импортирует адаптивные стили для всех модулей
 */

@media (max-width: 767px) {
    /* === БАЗОВЫЕ СТИЛИ === */
    .phoenix-object-detail {
        width: 100%;
        padding: 0;
    }

    .object-detail-container {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 20px;
        padding: 0 16px;
    }

    .object-detail-sidebar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background: white;
        padding: 12px 16px;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
        border-radius: 20px 20px 0 0;
    }

    .object-detail-full-width {
        margin-top: 40px;
        padding: 0 16px;
    }

    .section-divider {
        margin: 30px 0;
    }

    /* === ШАПКА === */
    .detail-page-header {
        padding: 20px 16px;
        margin-bottom: 0;
    }

    .detail-header-content h1 {
        font-size: 22px;
        line-height: 1.3;
    }

    .detail-header-meta {
        flex-direction: column;
        gap: 8px;
        font-size: 14px;
    }

    /* === ГАЛЕРЕЯ === */
    .object-gallery {
        flex-direction: column;
        gap: 4px;
        margin-bottom: 20px;
    }

    .gallery-main {
        flex: none;
        width: 100%;
        height: 250px;
        border-radius: 0;
    }

    .gallery-thumbs-panel {
        padding: 0 8px;
    }

    .gallery-thumbs-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 4px;
        max-height: 80px;
        overflow: hidden;
    }

    .gallery-thumb {
        height: 60px;
    }

    .gallery-thumbs-nav {
        display: none;
    }

    .gallery-counter {
        font-size: 12px;
    }

    /* Lightbox мобильный */
    .gallery-lightbox-content {
        max-width: 100vw;
        padding: 0;
    }

    .gallery-lightbox-image-wrap {
        max-width: 100vw;
        max-height: 50vh;
    }

    .gallery-lightbox-close {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .gallery-lightbox-arrow {
        width: 44px;
        height: 44px;
        font-size: 18px;
    }

    .gallery-lightbox-arrow-left {
        left: 10px;
    }

    .gallery-lightbox-arrow-right {
        right: 10px;
    }

    .gallery-lightbox-thumbs {
        max-width: 100%;
        padding: 8px 16px;
    }

    .gallery-lightbox-thumb {
        width: 60px;
        height: 45px;
    }

    /* === ИНФОРМАЦИЯ === */
    .object-info-section {
        padding: 20px 16px;
    }

    .object-info-section h2 {
        font-size: 20px;
        margin-bottom: 16px;
    }

    .info-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .info-item {
        padding: 12px;
    }

    .info-value {
        font-size: 16px;
    }

    /* === УДОБСТВА === */
    .amenities-section {
        padding: 20px 16px;
    }

    .amenities-section h2 {
        font-size: 20px;
    }

    .amenities-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .amenity-item {
        padding: 12px;
        font-size: 14px;
    }

    .amenity-item i {
        font-size: 18px;
        width: 24px;
    }

    .show-all-amenities {
        margin-top: 16px;
        padding: 12px;
        font-size: 14px;
    }

    /* === ПРАВИЛА === */
    .rules-section {
        padding: 20px 16px;
    }

    .rules-section h2 {
        font-size: 20px;
    }

    .rules-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .rule-item {
        padding: 12px;
    }

    /* === КАЛЕНДАРЬ ДОСТУПНОСТИ === */
    .availability-section {
        padding: 20px 16px;
    }

    .availability-section h2 {
        font-size: 20px;
    }

    .availability-calendar {
        padding: 16px;
    }

    .calendar-nav {
        margin-bottom: 16px;
    }

    .calendar-nav button {
        padding: 8px 16px;
        font-size: 14px;
    }

    .calendar-weekdays {
        font-size: 11px;
    }

    .calendar-days {
        gap: 2px;
    }

    .calendar-day {
        font-size: 13px;
        padding: 8px 4px;
    }

    .availability-legend {
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 16px;
    }

    .legend-item {
        font-size: 12px;
    }

    /* === ЛОКАЦИЯ === */
    .location-section {
        padding: 20px 16px;
    }

    .location-section h2 {
        font-size: 20px;
    }

    .location-map {
        height: 250px;
        border-radius: 12px;
    }

    .location-address {
        font-size: 14px;
        margin-top: 12px;
    }

    /* === ФОРМА БРОНИРОВАНИЯ (мобильная фиксированная панель) === */
    .booking-panel {
        position: relative;
        border-radius: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
        animation: none;
    }

    .booking-panel:hover {
        transform: none;
        box-shadow: none;
    }

    .booking-header {
        margin-bottom: 0;
    }

    .booking-price .price {
        font-size: 20px;
        color: #1a202c;
    }

    .booking-price .per-night {
        font-size: 14px;
        color: #718096;
    }

    .booking-rating {
        color: #1a202c;
    }

    .booking-dates,
    .booking-guests,
    .booking-calculation,
    .no-charge {
        display: none;
    }

    .btn-book {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        padding: 14px 24px;
        font-size: 16px;
        border-radius: 12px;
    }

    /* Полноэкранный попап бронирования */
    .booking-popup-mobile {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: white;
        z-index: 2000;
        overflow-y: auto;
        padding: 20px 16px;
        padding-bottom: calc(20px + env(safe-area-inset-bottom));
    }

    .booking-popup-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 24px;
        padding-bottom: 16px;
        border-bottom: 1px solid #e5e7eb;
    }

    .booking-popup-close {
        width: 40px;
        height: 40px;
        border: none;
        background: #f3f4f6;
        border-radius: 50%;
        font-size: 18px;
        cursor: pointer;
    }

    /* === ОТЗЫВЫ === */
    .reviews-section {
        padding: 20px 16px;
    }

    .reviews-section h2 {
        font-size: 20px;
    }

    .reviews-summary {
        flex-direction: column;
        gap: 16px;
        margin-bottom: 24px;
    }

    .reviews-rating-big {
        font-size: 48px;
    }

    .reviews-ratings {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .reviews-list {
        gap: 16px;
    }

    .review-card {
        padding: 16px;
    }

    .review-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .review-author-avatar {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    .review-text {
        font-size: 14px;
        line-height: 1.6;
    }

    .reviews-photo-gallery {
        margin: 24px 0 !important;
        padding: 0 16px !important;
    }

    .reviews-photo-gallery h3 {
        font-size: 18px !important;
    }

    .photo-gallery-scroll {
        gap: 8px !important;
    }

    .gallery-photo-item {
        flex: 0 0 150px !important;
        height: 110px !important;
    }

    /* === ПОХОЖИЕ ОБЪЕКТЫ === */
    .similar-objects-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .similar-object-image {
        height: 180px;
    }

    .similar-object-title {
        font-size: 15px;
    }

    /* === ПОПАПЫ БРОНИРОВАНИЯ === */
    .booking-popups-overlay {
        padding: 0;
    }

    .booking-popup-content {
        width: 100%;
        height: 100%;
        max-height: 100%;
        border-radius: 0;
        padding: 16px;
    }

    .popup-close {
        top: 10px;
        right: 10px;
    }

    /* Календарь в попапе */
    .popup-calendar {
        padding: 0;
    }

    .popup-calendar .calendar-weekdays {
        font-size: 12px;
    }

    .popup-calendar .calendar-day {
        padding: 10px 6px;
        font-size: 14px;
    }

    /* Гости в попапе */
    .guests-popup {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        border-radius: 20px 20px 0 0;
        padding: 24px 16px;
        padding-bottom: calc(24px + env(safe-area-inset-bottom));
        margin-top: 0;
    }

    .guests-row {
        padding: 16px 0;
    }

    .guests-label strong {
        font-size: 18px;
    }

    .guest-btn {
        width: 40px;
        height: 40px;
    }

    .guest-count {
        font-size: 18px;
    }

    /* Safe area для iPhone */
    @supports (padding-bottom: env(safe-area-inset-bottom)) {
        .object-detail-sidebar {
            padding-bottom: calc(12px + env(safe-area-inset-bottom));
        }

        .object-detail-main {
            padding-bottom: 100px;
        }
    }
}
