*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;line-height:1.6;background-color:#f4f4f4;color:#333}#app-container{max-width:1200px;margin:20px auto;padding:0 20px;margin-bottom:80px}#main-content-layout{display:flex;flex-direction:column;gap:30px;margin-top:20px}#main-top-layout{display:flex;flex-wrap:wrap;gap:30px}#left-column{flex:2;min-width:300px;display:flex;flex-direction:column;gap:20px}#right-sidebar{flex:1;min-width:250px;display:flex;flex-direction:column;gap:20px}.closest-facilities-section,.map-section,.neighborhood-overview-section,.reviews-section,.sidebar-section{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);border-bottom:none}.sticky-sidebar-card{position:sticky;top:20px;z-index:10;background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:20px}.sticky-sidebar-card .sidebar-section{background-color:transparent;padding:0;border-radius:0;box-shadow:none;border-bottom:none;margin-bottom:0}.pricing-info-section .main-price{display:flex;align-items:baseline;margin-bottom:10px}.pricing-info-section .price-value{font-size:2.2em;font-weight:700;color:#2c3e50;margin-right:5px}.pricing-info-section .price-unit{font-size:1.1em;color:#7f8c8d}.pricing-info-section .fee-details p{font-size:.9em;color:#555;margin-bottom:5px}.pricing-info-section .fee-details p strong{color:#2c3e50}.property-terms-section h3{font-size:1.2em;color:#2c3e50;margin-bottom:10px}.property-terms-section p{font-size:.9em;color:#555;margin-bottom:5px}.property-terms-section p strong{color:#2c3e50}.property-terms-section .available{color:#28a745;font-weight:700}.action-buttons-section{display:flex;flex-direction:column;gap:10px}.action-btn{width:100%;padding:12px 15px;border:none;border-radius:5px;font-size:1.1em;cursor:pointer;transition:background-color .3s ease,color .3s ease;text-align:center;display:flex;align-items:center;justify-content:center}.action-btn i{margin-right:8px;font-size:1.2em}.action-btn .button-text{flex-grow:1;text-align:center}.primary-action-btn{background-color:#2980b9;color:#fff}.primary-action-btn:hover{background-color:#3498db}.secondary-action-btn{background-color:#ecf0f1;color:#34495e;border:1px solid #bdc3c7}.secondary-action-btn:hover{background-color:#dde1e2}@media (max-width:768px){#main-top-layout{flex-direction:column}#left-column,#right-sidebar{flex:none;width:100%}.sticky-sidebar-card{top:10px}}#image-carousel-section{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:20px;text-align:center;margin-top:90px}#carousel-container{position:relative;width:100%;overflow:hidden;border-radius:8px;aspect-ratio:16/9;max-height:600px;background-color:#f0f0f0}#carousel-images{display:flex;height:100%;width:3100%;transition:transform .5s ease-in-out}#carousel-images img{width:calc(100% / 31);height:100%;object-fit:cover;display:block}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:rgba(0,0,0,.5);color:#fff;border:none;padding:15px;cursor:pointer;font-size:1.5em;border-radius:50%;line-height:1;z-index:10;transition:background-color .3s ease}.carousel-btn:hover{background-color:rgba(0,0,0,.8)}#prev-btn{left:10px}#next-btn{right:10px}#carousel-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}.dot{width:12px;height:12px;background-color:rgba(255,255,255,.7);border-radius:50%;cursor:pointer;border:1px solid rgba(0,0,0,.3);transition:background-color .3s ease,transform .2s ease}.dot.active{background-color:#2980b9;transform:scale(1.2);border-color:#2980b9}.amenities-section,.house-rules-section,.property-description-section,.property-details-section,.rooms-beds-section{margin-bottom:0}.property-details-section h1{font-size:1.5em;margin-bottom:10px;color:#2c3e50;font-weight:700}.property-details-section .location{font-size:1.1em;color:#7f8c8d;margin-bottom:15px}.short-info{display:flex;gap:20px;margin-bottom:20px;color:#555;font-weight:700}.short-info span i{margin-right:5px;color:#2980b9}.amenities-section>h2,.closest-facilities-section h2,.house-rules-section h2,.map-section h2,.neighborhood-overview-section h2,.property-description-section h2,.reviews-section h2,.rooms-beds-section h2{font-size:1.6em;margin-bottom:15px;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:10px}.amenities-section h3{font-size:1.2em;color:#34495e;margin-top:20px;margin-bottom:10px;padding-bottom:5px;border-bottom:1px dashed #eee}.property-description-section p{margin-bottom:10px;line-height:1.8;color:#444}.read-more-btn{background-color:#2980b9;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer;font-size:1em;margin-top:10px;transition:background-color .3s ease;display:block;margin-left:auto;margin-right:auto}.read-more-btn:hover{background-color:#3498db}.amenities-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:20px}.amenities-list li{background-color:#ecf0f1;padding:8px 15px;border-radius:20px;display:flex;align-items:center;font-size:.95em;color:#34495e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amenities-list li i{margin-right:8px;color:#2980b9}#hidden-amenities-categories{display:none}#hidden-amenities-categories.show-all{display:block}.facilities-list{list-style:none;padding:0}.facilities-list li{font-size:1em;color:#444;margin-bottom:8px;display:flex;align-items:center}.facilities-list li i{margin-right:8px;color:#2980b9;font-size:1.1em}.facilities-list li span{font-weight:400;color:#7f8c8d;margin-left:auto}#property-map{height:400px;width:100%;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.neighborhood-overview-section .neighborhood-list{list-style:none;padding:0}.neighborhood-overview-section .neighborhood-list li{font-size:1em;color:#444;margin-bottom:10px}.neighborhood-overview-section .neighborhood-list li strong{color:#333}.rooms-beds-section h3{font-size:1.2em;color:#34495e;margin-top:20px;margin-bottom:15px}.room-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-bottom:20px}.room-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 5px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px}.room-card i{font-size:2.5em;color:#2980b9;margin-bottom:10px}.room-card h4{font-size:1.1em;color:#333;margin-bottom:5px;font-weight:700}.room-card p{font-size:.9em;color:#7f8c8d;margin:0}.review-item{background-color:#fff;padding:15px 20px;border:1px solid #eee;border-radius:8px;margin-bottom:15px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.star-rating{color:#f39c12;margin-bottom:10px}.star-rating i{font-size:1.2em;margin-right:2px}.review-item h4{font-size:1.1em;color:#34495e;margin-bottom:8px}.review-item p{font-size:.95em;line-height:1.6;color:#555}#share-btn{position:fixed;top:24px;right:24px;z-index:1200;background:#2980b9;color:#fff;border:none;border-radius:10px;width:auto;height:56px;font-size:1.7em;box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;padding:0 26px 0 20px;gap:12px;min-width:90px}#share-btn .share-text{font-size:1.1em;font-weight:500;margin-left:8px;letter-spacing:.01em;display:inline-block}#share-btn:hover{background:#3498db}.share-menu{position:fixed;top:90px;right:24px;z-index:1201;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.18);display:none;flex-direction:column;min-width:180px;padding:10px 0;animation:fadeInShare .2s}.share-menu.open{display:flex}.share-option{background:0 0;border:none;color:#34495e;font-size:1.1em;padding:12px 24px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .2s}.share-option:hover{background:#f0f4fa}.share-option i{font-size:1.3em}@keyframes fadeInShare{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){#share-btn{right:12px;top:12px;padding:0 18px 0 14px;min-width:70px;height:48px;font-size:1.3em}#share-btn .share-text{font-size:1em;margin-left:6px}}#contact-btn{position:fixed;top:24px;left:24px;z-index:1200;background:#2980b9;color:#fff;border:none;border-radius:10px;width:auto;height:56px;font-size:1.7em;box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;padding:0 26px 0 20px;gap:12px;min-width:90px}#contact-btn .contact-text{font-size:1.1em;font-weight:500;margin-left:8px;letter-spacing:.01em;display:inline-block}#contact-btn:hover{background:#3498db}.contact-menu{position:fixed;top:90px;left:24px;z-index:1201;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.18);display:none;flex-direction:column;min-width:180px;padding:10px 0;animation:fadeInShare .2s}.contact-menu.open{display:flex}.contact-option{background:0 0;border:none;color:#34495e;font-size:1.1em;padding:12px 24px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .2s}.contact-option:hover{background:#f0f4fa}.contact-option i{font-size:1.3em}@media (max-width:600px){#contact-btn{left:12px;top:12px;padding:0 18px 0 14px;min-width:70px;height:48px;font-size:1.3em}#contact-btn .contact-text{font-size:1em;margin-left:6px}.contact-menu{left:10px;top:58px}}