.property-public-page {
            max-width: 1180px;
            margin: 0 auto;
        }

        .property-breadcrumb {
            color: #607080;
            margin: 0 0 16px;
            font-size: 14px;
        }

        .property-breadcrumb a {
            color: #3f7f46;
            text-decoration: none;
            font-weight: 700;
        }

        .property-hero {
            background: #fff;
            border: 1px solid #dce3eb;
            border-radius: 12px;
            box-shadow: 0 8px 24px rgba(20,30,40,.06);
            padding: 22px;
            margin-bottom: 18px;
        }

        .property-hero__top {
            display: flex;
            justify-content: space-between;
            gap: 18px;
            align-items: flex-start;
            margin-bottom: 18px;
        }

        .property-title {
            margin: 0 0 8px;
            font-size: 34px;
            color: #172331;
            letter-spacing: -.02em;
        }

        .property-location {
            color: #536170;
            margin: 0;
            font-size: 17px;
        }

        .property-ref {
            background: #f4f7f9;
            border: 1px solid #dce3eb;
            border-radius: 999px;
            padding: 7px 11px;
            color: #3f4d5b;
            font-weight: 700;
            white-space: nowrap;
        }

        .property-gallery {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 170px;
            gap: 10px;
        }

        .property-gallery__main {
            position: relative;
            height: 470px;
            border-radius: 10px;
            overflow: hidden;
            background: #e8edf2;
            cursor: zoom-in;
        }

        .property-gallery__main img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
            display: block;
        }

        .property-gallery__thumbs {
            display: grid;
            grid-template-columns: 1fr;
            gap: 10px;
        }

        .property-gallery__thumb {
            height: 87px;
            border: 2px solid transparent;
            border-radius: 8px;
            padding: 0;
            overflow: hidden;
            background: #eef2f6;
            cursor: pointer;
        }

        .property-gallery__thumb.is-active {
            border-color: #3f7f46;
        }

        .property-gallery__thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover !important;
            object-position: center center;
            display: block;
        }

        .property-gallery-modal {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(7, 12, 18, .94);
            z-index: 9999;
            padding: 24px;
            align-items: center;
            justify-content: center;
        }

        .property-gallery-modal.is-open {
            display: flex;
        }

        .property-gallery-modal__close {
            position: absolute;
            top: 18px;
            right: 22px;
            width: 44px;
            height: 44px;
            border: 0;
            border-radius: 999px;
            background: rgba(255,255,255,.92);
            color: #111;
            font-size: 30px;
            cursor: pointer;
            z-index: 3;
        }

        .property-gallery-modal__arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 52px;
            height: 52px;
            border: 0;
            border-radius: 999px;
            background: rgba(255,255,255,.9);
            color: #111;
            font-size: 42px;
            cursor: pointer;
            z-index: 3;
        }

        .property-gallery-modal__arrow.prev { left: 24px; }
        .property-gallery-modal__arrow.next { right: 24px; }

        .property-gallery-modal__stage {
            max-width: 92vw;
            max-height: 78vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .property-gallery-modal__stage img {
            max-width: 92vw;
            max-height: 78vh;
            width: auto;
            height: auto;
            object-fit: contain;
            border-radius: 12px;
            box-shadow: 0 24px 80px rgba(0,0,0,.45);
        }

        .property-gallery-modal__counter {
            position: absolute;
            top: 22px;
            left: 28px;
            color: #fff;
            font-weight: 700;
            background: rgba(0,0,0,.35);
            border-radius: 999px;
            padding: 8px 12px;
        }

        .property-gallery-modal__thumbs {
            position: absolute;
            left: 24px;
            right: 24px;
            bottom: 20px;
            display: flex;
            gap: 8px;
            overflow-x: auto;
            padding: 8px;
            background: rgba(0,0,0,.32);
            border-radius: 12px;
        }

        .property-gallery-modal__thumb {
            flex: 0 0 86px;
            width: 86px;
            height: 62px;
            border: 2px solid transparent;
            border-radius: 8px;
            padding: 0;
            overflow: hidden;
            cursor: pointer;
            background: #222;
        }

        .property-gallery-modal__thumb.is-active {
            border-color: #8fbd33;
        }

        .property-gallery-modal__thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover !important;
            object-position: center center;
            display: block;
        }

        .property-content-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 350px;
            gap: 20px;
            align-items: start;
        }

        .property-section {
            background: #fff;
            border: 1px solid #dce3eb;
            border-radius: 12px;
            padding: 22px;
            margin-bottom: 18px;
            box-shadow: 0 4px 14px rgba(20,30,40,.04);
        }

        .property-section h2 {
            margin: 0 0 14px;
            font-size: 23px;
            color: #172331;
        }

        .property-sidebar {
            position: sticky;
            top: 18px;
        }

        .property-contact-card {
            background: #fff;
            border: 1px solid #dce3eb;
            border-radius: 12px;
            box-shadow: 0 8px 24px rgba(20,30,40,.08);
            padding: 18px;
            margin-bottom: 18px;
        }

        .property-contact-card h2 {
            margin: 0 0 10px;
            font-size: 20px;
        }

        .property-quick-facts {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
            margin: 16px 0 0;
        }

        .property-fact {
            border: 1px solid #dce3eb;
            background: #f8fafb;
            border-radius: 10px;
            padding: 12px;
            text-align: center;
        }

        .property-fact strong {
            display: block;
            color: #172331;
            font-size: 20px;
        }

        .property-fact span {
            display: block;
            color: #607080;
            font-size: 13px;
        }

        .property-actions-grid {
            display: grid;
            gap: 10px;
        }

        .property-actions-grid .button {
            text-align: center;
            width: 100%;
        }

        .property-chip-list {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .property-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            border: 1px solid #cfe2bd;
            background: #f2fae9;
            color: #425f26;
            border-radius: 999px;
            padding: 7px 10px;
            font-size: 14px;
        }

        .property-map {
            width: 100%;
            height: 360px;
            border-radius: 12px;
            border: 1px solid #dce3eb;
            overflow: hidden;
            background: #eef2f6;
        }

        .property-map-note {
            color: #607080;
            font-size: 14px;
            margin-top: 10px;
        }

        .property-owner-box {
            border: 1px solid #b7d982;
            background: #f8fcf1;
            border-radius: 12px;
            padding: 16px;
            margin-bottom: 18px;
        }

        .property-owner-box h2 {
            margin: 0 0 8px;
            font-size: 20px;
        }

        .property-owner-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
        }

        .property-owner-actions a {
            display: inline-flex;
            align-items: center;
            padding: 8px 11px;
            border-radius: 8px;
            text-decoration: none;
            font-weight: 700;
            background: #e9f3d1;
            color: #355500;
            border: 1px solid #bad27e;
        }

        .property-owner-actions a.orange {
            background: #fff1dc;
            color: #8a4600;
            border-color: #e5b169;
        }

        .property-owner-actions a.blue {
            background: #e7f1fb;
            color: #214d79;
            border-color: #9dbedb;
        }

        .property-owner-login {
            border: 1px solid #e0e5eb;
            background: #fff;
            border-radius: 12px;
            padding: 14px;
            margin-bottom: 18px;
        }

        .property-description {
            line-height: 1.65;
            color: #314252;
        }

        .property-description img {
            max-width: 100%;
            height: auto;
        }

        @media(max-width: 950px) {
            .property-gallery {
                grid-template-columns: 1fr;
            }

            .property-gallery__main {
                height: 340px;
            }

            .property-gallery__thumbs {
                grid-template-columns: repeat(5, 1fr);
            }

            .property-gallery__thumb {
                height: 70px;
            }

            .property-content-layout {
                grid-template-columns: 1fr;
            }

            .property-sidebar {
                position: static;
            }

            .property-hero__top {
                display: block;
            }

            .property-ref {
                display: inline-block;
                margin-top: 10px;
            }
        }


        .property-mobile-sticky-actions {
            display: none;
        }

        @media(max-width: 760px) {
            body {
                padding-bottom: 86px;
            }

            .property-mobile-sticky-actions {
                position: fixed;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 9990;
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px;
                padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
                background: rgba(255,255,255,.96);
                border-top: 1px solid #dce3eb;
                box-shadow: 0 -8px 28px rgba(20,30,40,.16);
                backdrop-filter: blur(8px);
            }

            .property-mobile-sticky-actions a,
            .property-mobile-sticky-actions button {
                min-height: 48px;
                border-radius: 12px;
                font-size: 16px;
                font-weight: 800;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                text-align: center;
                text-decoration: none;
                border: 0;
                cursor: pointer;
            }

            .property-mobile-sticky-actions__phone {
                background: #3f7f46;
                color: #fff;
            }

            .property-mobile-sticky-actions__request {
                background: #8fbd33;
                color: #203600;
            }
        }


        @media(max-width: 620px) {
            .property-title {
                font-size: 28px;
            }

            .property-gallery__main {
                height: 270px;
            }

            .property-quick-facts {
                grid-template-columns: 1fr;
            }
        }
