.property-detail-page{max-width:1400px;margin:0 auto;padding:0 24px 64px;width:100%;box-sizing:border-box;font-family:var(--font-primary);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-color);min-height:100vh}@media (max-width:768px){.property-detail-page{padding:0 0 64px}}.container{width:100%;max-width:1280px;margin:0 auto;box-sizing:border-box}@media (max-width:1024px){.container{padding:0 16px}}.tab-trigger{height:1px;margin-top:var(--space-4)}.sticky-tab-nav{background:var(--bg-color);border-bottom:1px solid var(--border-color);margin:var(--space-6) 0;transition:box-shadow var(--transition-base);z-index:998}.sticky-tab-nav.sticky-active{position:fixed;top:0;left:0;right:0;z-index:998;background:var(--bg-color);box-shadow:var(--shadow-md);margin:0;animation:slideDown .2s var(--ease-out)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.sticky-tab-nav .tab-container{max-width:1280px;margin:0 auto;display:flex;gap:var(--space-8);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 24px}.sticky-tab-nav .tab-container::-webkit-scrollbar{display:none}.tab-btn{background:none;border:none;padding:16px 4px;font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-base);position:relative;white-space:nowrap;display:flex;align-items:center;gap:var(--space-2)}.tab-btn i{font-size:13px}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary-color);font-weight:var(--font-semibold)}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary-color);border-radius:var(--radius-full)}@media (max-width:768px){.sticky-tab-nav .tab-container{padding:0 16px;gap:var(--space-5)}.tab-btn span{font-size:var(--text-xs)}}.amenities-section,.description-section,.details-section,.highlights-section,.location-section,.rules-section,.safety-section,.similar-section{scroll-margin-top:140px}.sticky-tab-nav.sticky-active~.property-grid .amenities-section,.sticky-tab-nav.sticky-active~.property-grid .description-section,.sticky-tab-nav.sticky-active~.property-grid .details-section,.sticky-tab-nav.sticky-active~.property-grid .highlights-section,.sticky-tab-nav.sticky-active~.property-grid .location-section,.sticky-tab-nav.sticky-active~.property-grid .rules-section,.sticky-tab-nav.sticky-active~.property-grid .safety-section,.sticky-tab-nav.sticky-active~.property-grid .similar-section{scroll-margin-top:180px}@media (max-width:768px){.amenities-section,.description-section,.details-section,.highlights-section,.location-section,.rules-section,.safety-section,.similar-section{scroll-margin-top:120px}.sticky-tab-nav.sticky-active~.property-grid .amenities-section,.sticky-tab-nav.sticky-active~.property-grid .description-section,.sticky-tab-nav.sticky-active~.property-grid .details-section,.sticky-tab-nav.sticky-active~.property-grid .highlights-section,.sticky-tab-nav.sticky-active~.property-grid .location-section,.sticky-tab-nav.sticky-active~.property-grid .rules-section,.sticky-tab-nav.sticky-active~.property-grid .safety-section,.sticky-tab-nav.sticky-active~.property-grid .similar-section{scroll-margin-top:160px}}.property-header{margin:0 0 var(--space-6) 0;width:100%}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);gap:var(--space-4);flex-wrap:wrap}.property-title{margin:0;font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);line-height:var(--leading-tight)}.rating-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-muted);border-radius:var(--radius-full);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.rating-badge i,.rating-badge svg{color:var(--star-color);font-size:13px}.rating-badge .rating-count{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-medium)}.property-location{display:flex;align-items:center;gap:var(--space-2);color:var(--text-tertiary);margin-bottom:var(--space-4);font-family:var(--font-primary);font-size:var(--text-sm)}.property-location i{color:var(--primary-color);font-size:13px}.property-type-badges{display:flex;flex-wrap:wrap;gap:10px}.property-type-badge,.space-type-badge,.verified-badge{padding:6px 14px;border-radius:var(--radius-full);font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-medium);border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-secondary);text-transform:capitalize}.verified-badge{display:inline-flex;align-items:center;gap:6px;border-color:var(--primary-color);background:var(--primary-color-alpha)}.verified-badge,.verified-badge i{color:var(--primary-color)}.gallery-section{margin-bottom:var(--space-8);display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,1fr);grid-gap:8px;gap:8px;width:100%;height:520px;border-radius:var(--radius-lg);overflow:hidden}.main-image{position:relative;grid-row:span 2;grid-column:1;cursor:pointer;overflow:hidden;background:var(--bg-muted);height:100%;width:100%}.main-image img,.main-image-img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);display:block}.main-image:hover img{transform:scale(1.03)}.thumbnail{position:relative;cursor:pointer;overflow:hidden;background:var(--bg-muted);height:100%;width:100%}.thumbnail img,.thumbnail-img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);display:block}.thumbnail:hover img{transform:scale(1.03)}.thumbnail:nth-child(2){grid-column:2;grid-row:1}.thumbnail:nth-child(3){grid-column:3;grid-row:1}.thumbnail:nth-child(4){grid-column:2;grid-row:2}.thumbnail:nth-child(5){grid-column:3;grid-row:2}.thumbnail:nth-child(n+6){display:none}.more-photos-overlay{position:absolute;inset:0;background:rgba(17,24,39,.72);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-base);gap:6px}.more-photos-overlay:hover{background:rgba(17,24,39,.82)}.more-photos-overlay i{font-size:22px}.more-photos-overlay span{font-size:var(--text-sm);font-weight:var(--font-semibold)}.featured-badge{position:absolute;top:20px;left:20px;background:hsla(0,0%,100%,.96);color:var(--text-primary);padding:6px 14px;border-radius:var(--radius-full);font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-semibold);display:flex;align-items:center;gap:6px;box-shadow:var(--shadow-sm);z-index:10}.featured-badge i{color:var(--star-color)}.save-btn{position:absolute;top:20px;right:20px;background:hsla(0,0%,100%,.96);border:1px solid var(--border-color);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base);z-index:10;color:var(--text-secondary)}.save-btn:hover{background:var(--bg-color);border-color:var(--border-color-strong);color:var(--text-primary)}.save-btn.saved{border-color:var(--heart-color)}.save-btn.saved,.save-btn.saved i{color:var(--heart-color)}@media (max-width:768px){.gallery-section{display:block;height:auto;margin-bottom:12px;border-radius:0}.main-image{width:100%;height:320px;overflow:hidden;margin-bottom:0}.main-image,.main-image img{border-radius:0}.mobile-horizontal-gallery{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 16px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:var(--bg-color)}.mobile-horizontal-gallery::-webkit-scrollbar{height:3px}.mobile-horizontal-gallery::-webkit-scrollbar-track{background:var(--border-color)}.mobile-horizontal-gallery::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}.thumbnail-horizontal{position:relative;flex-shrink:0;width:100px;height:80px;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;scroll-snap-align:start}.thumbnail-horizontal img,.thumbnail-horizontal-img{width:100%;height:100%;object-fit:cover;display:block}}@media (min-width:481px) and (max-width:768px){.thumbnail-horizontal{width:120px;height:90px}}@media (max-width:480px){.main-image{height:280px}.thumbnail-horizontal{width:85px;height:70px}}.property-grid{display:grid;grid-template-columns:1fr 400px;grid-gap:var(--space-12);gap:var(--space-12);margin-top:8px;align-items:start}@media (max-width:1100px){.property-grid{grid-template-columns:1fr 360px;gap:var(--space-8)}}@media (max-width:1024px){.property-grid{grid-template-columns:1fr;gap:var(--space-8)}}.property-left{display:flex;flex-direction:column;gap:var(--space-8);min-width:0}.property-right{position:-webkit-sticky;position:sticky;top:calc(var(--navbar-height) + var(--space-6));height:-moz-fit-content;height:fit-content}@media (max-width:1024px){.property-right{position:static}}.host-section{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6) 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.host-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--bg-muted);flex-shrink:0}.host-avatar img{width:100%;height:100%;object-fit:cover}.host-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--primary-color);color:#fff;font-size:20px}.host-details{flex:1 1;min-width:0}.host-name{font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--text-primary);margin-bottom:4px}.host-response{color:var(--text-tertiary);font-size:var(--text-sm);display:flex;align-items:center;gap:6px}.host-response i{font-size:12px}.amenities-section h4,.description-section h4,.details-section h4,.highlights-section h4,.location-section h4,.rules-section h4,.safety-section h4,.similar-section h4{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-5)}.amenities-section,.description-section,.details-section,.highlights-section,.location-section,.rules-section,.safety-section{border-bottom:1px solid var(--border-color);padding-bottom:var(--space-8)}.amenities-section:last-child,.description-section:last-child,.details-section:last-child,.highlights-section:last-child,.location-section:last-child,.rules-section:last-child,.safety-section:last-child{border-bottom:none}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.highlight-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-subtle)}.highlight-icon{width:22px;height:22px;flex-shrink:0;color:var(--primary-color);display:flex;align-items:center;justify-content:center}.highlight-icon i{font-size:16px;color:var(--primary-color)}.highlight-content h5{margin:0 0 4px;font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary)}.highlight-content p{margin:0;font-size:var(--text-sm)}.description,.highlight-content p{color:var(--text-secondary);line-height:var(--leading-relaxed)}.description{font-family:var(--font-primary);font-size:var(--text-base)}.description p{margin:0}.description .text-muted{color:var(--text-disabled);font-style:italic}.show-more-btn{background:none;border:none;color:var(--primary-color);font-family:var(--font-primary);font-weight:var(--font-semibold);cursor:pointer;padding:0;font-size:var(--text-sm);margin-top:var(--space-3);transition:color var(--transition-base)}.show-more-btn:hover{color:var(--primary-color-dark);text-decoration:underline;text-underline-offset:3px}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:768px){.details-grid{grid-template-columns:1fr}}.detail-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2);border-radius:var(--radius-sm)}.detail-icon{width:26px;color:var(--primary-color);font-size:18px}.detail-label{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:2px}.detail-value{font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--text-primary)}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.amenity-category{background:var(--bg-subtle);border-radius:var(--radius-md);padding:var(--space-4)}.amenity-category h5{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-3)}.amenity-items{display:flex;flex-direction:column;gap:var(--space-2)}.amenity-item{display:flex;align-items:center;gap:10px;font-size:var(--text-sm);color:var(--text-secondary)}.amenity-item i{color:var(--primary-color);width:16px;font-size:12px;flex-shrink:0}.safety-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.safety-item{display:flex;align-items:center;gap:10px;padding:var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary)}.safety-item i{color:var(--primary-color);width:16px;font-size:13px;flex-shrink:0}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.rule-category{padding:var(--space-5);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-color)}.rule-category h5{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-4);display:flex;align-items:center;gap:10px}.rule-category h5 i{color:var(--text-tertiary);font-size:13px}.rule-item{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-color-subtle)}.rule-item:last-child{border-bottom:none;padding-bottom:0}.rule-item:first-child{padding-top:0}.rule-item i{width:16px;font-size:12px;flex-shrink:0;color:var(--text-tertiary)}.rule-item .rule-allowed{color:var(--success-color)}.rule-item .rule-denied{color:var(--danger-color)}.location-section{position:relative;z-index:1}.location-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.property-map-container{margin-top:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-color);position:relative;z-index:1}.map-header{padding:var(--space-4) var(--space-5);background:var(--bg-subtle);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:10px;font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary);flex-wrap:wrap}.map-header i{font-size:14px;color:var(--primary-color)}.approximate-badge{margin-left:auto;font-size:var(--text-xs);background:var(--warning-color-alpha);color:var(--warning-color);padding:4px 12px;border-radius:var(--radius-full);font-weight:var(--font-semibold)}.property-map-wrapper{position:relative;width:100%;height:350px;background:var(--bg-muted);z-index:0}.property-map-wrapper .leaflet-container{width:100%;height:100%;z-index:1;background:var(--bg-muted)}.leaflet-control-zoom{z-index:10!important}.leaflet-control-attribution{z-index:10!important;font-size:10px!important}.map-error{height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-subtle);color:var(--text-tertiary);gap:12px}.map-error i{font-size:32px;color:var(--danger-color)}.map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:240px;background:var(--bg-subtle);color:var(--text-tertiary);gap:10px;border-radius:var(--radius-md)}.map-placeholder i{font-size:32px;color:var(--text-disabled)}@media (max-width:768px){.map-error,.property-map-wrapper{height:300px}.map-header{padding:var(--space-3) var(--space-4)}.approximate-badge{margin-left:0;width:100%;text-align:center}}@media (max-width:480px){.map-error,.property-map-wrapper{height:260px}}.booking-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);background:var(--bg-color)}.price-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-5);flex-wrap:wrap;gap:var(--space-2)}.price-amount{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.price-label{color:var(--text-tertiary);font-size:var(--text-sm);margin-left:4px}.instant-booking-badge{background:var(--primary-color-alpha);color:var(--primary-color);padding:4px 12px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);display:inline-flex;align-items:center;gap:5px}.instant-booking-badge i{font-size:11px}.booking-controls{margin:var(--space-5) 0;padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-md)}.control-group{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.control-group:last-child{margin-bottom:0}.control-group label{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.control-group label i{color:var(--text-tertiary);font-size:12px}.control-buttons{gap:var(--space-4)}.control-btn,.control-buttons{display:flex;align-items:center}.control-btn{width:32px;height:32px;border:1px solid var(--border-color);background:var(--bg-color);border-radius:50%;justify-content:center;cursor:pointer;transition:border-color var(--transition-base),color var(--transition-base);color:var(--text-secondary);font-size:11px}.control-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.control-btn:disabled{opacity:.4;cursor:not-allowed}.control-value{font-weight:var(--font-semibold);min-width:32px;text-align:center;font-size:var(--text-base);color:var(--text-primary)}.price-summary{background:var(--bg-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-5) 0}.price-line{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-secondary)}.price-line.discount{color:var(--success-color)}.price-line.discount .discount-amount{font-weight:var(--font-semibold)}.price-line i{margin-right:4px}.price-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--space-4);margin-top:var(--space-3);border-top:1px solid var(--border-color);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary)}.total-amount{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.action-buttons{display:flex;flex-direction:column;gap:10px}.book-btn,.contact-btn{padding:14px;border-radius:var(--radius-md);font-family:var(--font-primary);font-weight:var(--font-semibold);cursor:pointer;text-align:center;font-size:var(--text-sm);width:100%;transition:background var(--transition-base),border-color var(--transition-base)}.book-btn{background:var(--primary-color);color:#fff;border:none}.book-btn:hover{background:var(--primary-color-dark)}.contact-btn{background:var(--bg-color);color:var(--text-primary);border:1px solid var(--border-color)}.contact-btn:hover{background:var(--bg-subtle);border-color:var(--border-color-strong)}.price-notice{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:var(--space-4);font-size:var(--text-xs);color:var(--text-tertiary)}.price-notice i{font-size:11px}.similar-section{margin-top:8px}.similar-scroll-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin:0 -4px;padding:4px}.similar-scroll-container::-webkit-scrollbar{display:none}.similar-scroll-wrapper{display:flex;gap:var(--space-4);width:max-content}.similar-card{width:240px;flex-shrink:0;background:var(--bg-color);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:1px solid var(--border-color);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.similar-card:hover{border-color:var(--border-color-strong);box-shadow:var(--shadow-md)}.similar-image{height:160px;overflow:hidden;position:relative;background:var(--bg-muted)}.similar-image img,.similar-image-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out)}.similar-card:hover .similar-image img{transform:scale(1.04)}.similar-content{padding:var(--space-4)}.similar-title{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.similar-location{color:var(--text-tertiary);font-size:var(--text-xs);display:flex;align-items:center;gap:5px;margin-bottom:6px}.similar-location i{font-size:10px}.similar-price{font-family:var(--font-heading);font-weight:var(--font-bold);font-size:var(--text-sm);color:var(--text-primary)}.similar-price span{font-weight:var(--font-regular);color:var(--text-tertiary);font-size:var(--text-xs)}@media (max-width:768px){.mobile-sticky-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-color);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -2px 20px rgba(17,24,39,.08);z-index:1000;border-top:1px solid var(--border-color)}.sticky-price{display:flex;flex-direction:column}.sticky-price-amount{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.sticky-price-label{font-size:var(--text-xs);color:var(--text-tertiary)}.sticky-book-btn{background:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-family:var(--font-primary);font-weight:var(--font-semibold);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-base)}.sticky-book-btn:hover{background:var(--primary-color-dark)}}.lightbox{position:fixed;inset:0;background:rgba(17,24,39,.97);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox .close{position:absolute;top:20px;right:24px;background:hsla(0,0%,100%,.1);border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base)}.lightbox .close:hover{background:hsla(0,0%,100%,.2)}.lightbox .nav{position:absolute;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.1);border:none;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base)}.lightbox .nav:hover:not(:disabled){background:hsla(0,0%,100%,.2)}.lightbox .nav:disabled{opacity:.3;cursor:not-allowed}.lightbox .prev{left:20px}.lightbox .next{right:20px}.lightbox-image-wrapper{position:relative;max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:90vw;max-height:85vh;object-fit:contain;opacity:0;transition:opacity var(--transition-base);border-radius:var(--radius-md);box-shadow:var(--shadow-xl)}.lightbox-image.loaded{opacity:1}.lightbox-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lightbox-error{display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff}.lightbox-error i{font-size:40px;color:var(--warning-color)}.lightbox-error p{font-size:var(--text-sm);color:hsla(0,0%,100%,.8)}.lightbox .counter{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#fff;font-size:var(--text-sm);background:rgba(17,24,39,.7);padding:6px 16px;border-radius:var(--radius-full);font-family:var(--font-primary);font-weight:var(--font-medium)}@media (max-width:768px){.lightbox .nav{width:40px;height:40px;font-size:18px}.lightbox .prev{left:10px}.lightbox .next{right:10px}.lightbox .close{top:12px;right:16px;width:40px;height:40px;font-size:20px}.lightbox-image{max-width:95vw;max-height:75vh}.lightbox .counter{bottom:16px;font-size:var(--text-xs)}}.property-error,.property-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--space-8);background:var(--bg-color)}.spinner{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.property-error i{font-size:40px;color:var(--danger-color);margin-bottom:var(--space-4)}.property-error h2{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:var(--space-3);font-size:var(--text-2xl);font-weight:var(--font-bold)}.property-error p{color:var(--text-secondary);font-size:var(--text-sm)}.browse-btn{display:inline-block;margin-top:var(--space-5);padding:12px 24px;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:var(--radius-md);font-family:var(--font-primary);font-weight:var(--font-semibold);font-size:var(--text-sm);transition:background var(--transition-base)}.browse-btn:hover{background:var(--primary-color-dark)}.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,1fr);grid-gap:8px;gap:8px;height:480px;border-radius:var(--radius-lg);overflow:hidden}.skeleton-gallery .main-image{grid-row:span 2}.skeleton-header .skeleton-title{width:60%;height:32px;margin-bottom:12px}.skeleton-rating{width:80px;height:32px;border-radius:var(--radius-full)}.skeleton-location{width:40%;height:16px}.skeleton-price-large{width:120px;height:32px}.skeleton-book-btn-large{width:100%;height:48px;margin-top:16px}.skeleton-booking-card{padding:var(--space-6);border:1px solid var(--border-color);border-radius:var(--radius-lg)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:768px){.skeleton-gallery{display:block;height:auto}.skeleton-gallery .main-image{height:300px;border-radius:0}}@media (prefers-reduced-motion:reduce){.property-detail-page *,.property-detail-page :after,.property-detail-page :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.main-image:hover img,.similar-card:hover .similar-image img,.thumbnail:hover img{transform:none}}@media print{.featured-badge,.lightbox,.mobile-sticky-bar,.property-right,.save-btn,.similar-section,.sticky-tab-nav{display:none!important}.property-grid{display:block}.property-left{width:100%}.gallery-section{page-break-inside:avoid;break-inside:avoid}.property-detail-page{background:#fff;color:#000}}.reviews-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.reviews-header h4{margin:0;display:flex;align-items:center;gap:8px}.reviews-header h4 i{color:var(--star-color)}.reviews-summary{display:flex;align-items:baseline;gap:6px}.reviews-score{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.reviews-count{color:var(--text-tertiary);font-size:var(--text-sm)}.reviews-list{display:flex;flex-direction:column;gap:var(--space-3)}.review-card{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-5)}.review-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3)}.review-author{gap:12px}.review-author,.review-avatar{display:flex;align-items:center}.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-color-alpha);color:var(--primary-color);justify-content:center;font-weight:var(--font-bold);flex-shrink:0}.review-author-name,.review-avatar{font-family:var(--font-heading);font-size:var(--text-sm)}.review-author-name{font-weight:var(--font-semibold);color:var(--text-primary)}.review-date{font-size:var(--text-xs);color:var(--text-tertiary)}.review-stars{display:flex;gap:2px;flex-shrink:0}.review-stars i{font-size:12px;color:var(--gray-300)}.review-stars i.is-filled{color:var(--star-color)}.review-comment{margin:0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary)}.property-video-section{margin:0 0 var(--space-8) 0;padding:var(--space-6);background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.property-video-header{margin-bottom:var(--space-4)}.property-video-title{margin:0 0 var(--space-2) 0;font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);color:var(--text-primary);display:flex;align-items:center;gap:10px}.property-video-title i{color:var(--primary-color);font-size:18px}.property-video-caption{margin:0;font-family:var(--font-primary);font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.property-video-player-wrap{position:relative;width:100%;border-radius:var(--radius-md);overflow:hidden;background:#0f172a;aspect-ratio:16/9}.property-video-player{width:100%;height:100%;display:block;object-fit:contain;background:#0f172a}@media (max-width:768px){.property-video-section{margin:0 16px var(--space-6);padding:var(--space-4);border-radius:var(--radius-md)}.property-video-title{font-size:var(--text-lg)}}