.price-amount{font-size:24px;font-weight:700;line-height:1;color:#1a1a1a}.price-label,.price-period{font-size:12px;color:#666}.price-label{font-weight:500}.hotel-details-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;background:#fff;z-index:1000;overflow-y:visible;-webkit-overflow-scrolling:touch}.hotel-details-overlay.desktop-mode{position:relative;z-index:auto}.hotel-details-overlay.desktop-mode .hotel-details-header{display:none}.hotel-details-overlay .hotel-details-subheader{position:sticky;top:0;z-index:100;background:#fff;padding:10px 0 0;animation:enhanceHeader linear both;animation-timeline:scroll(root);animation-range:550px 800px}.hotel-details-overlay .hotel-details-subheader .hotel-details-name{animation:animateFont linear both;animation-timeline:scroll(root);animation-range:550px 800px}.hotel-details-overlay .hotel-details-title-row{display:flex;flex-direction:column;justify-content:space-between;flex-wrap:wrap;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px}.hotel-details-overlay .hotel-details-container{min-height:100vh;position:relative}.hotel-details-overlay .hotel-details-header{position:sticky;top:0;background:#fff;z-index:100;padding:16px 24px;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.05)}.hotel-details-overlay .hotel-details-gallery{max-width:1200px;margin:0 auto;padding:24px}.hotel-details-overlay .hotel-details-content{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:32px}.hotel-details-overlay .hotel-details-content .details-section h2{font-size:24px;font-weight:600;margin:0 0 16px 0;color:#1a1a1a}.hotel-details-overlay .hotetel-details-content .details-section p{line-height:1.6;color:#333;margin:0}.hotel-details-overlay .hotel-details-name{font-size:28px;font-weight:600;margin:0;color:#1a1a1a;flex:1}.hotel-details-overlay .hotel-price-badge{display:flex;align-items:baseline;align-self:flex-end;gap:6px;color:#333;padding:12px 20px 0;border-radius:8px;animation:slideInRight .4s ease-out}.hotel-details-overlay .hotel-details-rating{margin-bottom:12px}.hotel-details-overlay .hotel-rating-stars{color:orange;font-size:1.5rem}.hotel-details-overlay .hotel-details-address{display:flex;align-items:center;gap:8px;color:#666}.hotel-details-overlay .policies-html{line-height:1.6;color:#333}.hotel-details-overlay .amenities-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.hotel-details-overlay .amenity-item{display:flex;align-items:center;gap:8px;color:#333}.hotel-details-overlay .amenity-item svg{color:#4caf50;flex-shrink:0}.hotel-details-overlay .reviews-list{display:flex;flex-direction:column;gap:20px}.hotel-details-overlay .reviews-list .review-item{padding:16px;background:#f9f9f9;border-radius:8px}.hotel-details-overlay .review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hotel-details-overlay .review-author{font-weight:600;color:#1a1a1a}.hotel-details-overlay .review-rating{color:orange;font-size:14px}.hotel-details-overlay .review-text{margin:0 0 8px 0;line-height:1.5;color:#333}.hotel-details-overlay .review-date{font-size:12px;color:#999}.hotel-details-overlay .reviews-summary{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding:16px;background:#f9f9f9;border-radius:8px}.hotel-details-overlay .average-rating{font-size:32px;font-weight:700;color:#1a1a1a}.hotel-details-overlay .review-count{font-size:14px;color:#666}.hotel-details-overlay .reviews-list{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.hotel-details-overlay .review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.hotel-details-overlay .review-meta{display:flex;flex-direction:column;gap:4px}.hotel-details-overlay .review-traveller-type{font-size:12px;color:#666;font-style:italic}.hotel-details-overlay .review-rating-box{display:flex;flex-direction:column;align-items:flex-end}.hotel-details-overlay .review-rating-value{font-size:20px;font-weight:700;color:#1a1a1a}.hotel-details-overlay .review-rating-description{font-size:12px;color:#666}.hotel-details-overlay .review-cons,.hotel-details-overlay .review-pros{margin:8px 0;line-height:1.5;color:#333}.hotel-details-overlay .show-less-reviews-btn,.hotel-details-overlay .show-more-reviews-btn{margin-top:16px}.hotel-details-overlay .show-less-reviews-btn{margin-left:8px}.hotel-details-overlay .hotel-booking-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;position:sticky;top:80px}.hotel-details-overlay .hotel-booking-card h3{font-size:18px;font-weight:600;margin:0 0 16px 0;color:#1a1a1a}.hotel-details-overlay .booking-price{display:flex;align-items:baseline;gap:8px;margin-bottom:20px}.hotel-details-overlay .description-skeleton{display:flex;flex-direction:column;gap:12px}.hotel-details-overlay .skeleton-line{height:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:100%}.hotel-details-overlay .skeleton-line.short{width:60%}.hotel-details-overlay .nearby-attractions-list{list-style:circle;padding-left:16px;margin:0 0 16px 0;line-height:1.8}@media (min-width:768px){.hotel-details-overlay .hotel-details-name{font-size:32px}}@media (min-width:1024px){.hotel-details-overlay .hotel-details-header{padding:20px 48px}.hotel-details-overlay .hotel-details-subheader{padding:0 28px}.hotel-details-overlay .hotel-details-title-row{padding:0 32px;flex-direction:row;gap:16px}.hotel-details-overlay .hotel-details-gallery{padding:32px 48px}.hotel-details-overlay .hotel-details-content{padding:0 32px 48px}}.price-details-popover{font-family:system-ui,-apple-system,sans-serif}.price-details-popover .top-section h3{margin:0 0 16px 0;font-size:18px;font-weight:600;color:#1a1a1a}.price-details-popover .content-section{display:flex;flex-direction:column;gap:16px}.price-details-popover .price-breakdown{display:flex;flex-direction:column;gap:12px}.price-details-popover .price-item{display:flex;justify-content:space-between;align-items:center;font-size:14px}.price-details-popover .item-left{color:#666}.price-details-popover .item-right{font-weight:600;color:#1a1a1a}.price-details-popover .divider{height:1px;background:#e0e0e0}.price-details-popover .total-section{display:flex;justify-content:space-between;align-items:center}.price-details-popover .total-header{font-size:16px;font-weight:600;color:#1a1a1a}.price-details-popover .total-amount{font-size:16px;font-weight:700;color:#1a1a1a;text-align:right}.price-details-popover .retail-price{display:block;font-size:14px;font-weight:400;color:#999;text-decoration:line-through}.price-details-popover .savings-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#e8f5e9;border-radius:4px;font-size:14px}.price-details-popover .savings-item .item-left{color:#2e7d32;font-weight:500}.price-details-popover .savings-item .item-right{color:#2e7d32;font-weight:700}hotel-datepicker{--p-primary:var(--SOR-primary-color, #007bff);--p-accent:var(--SOR-secondary-color, #0056b3)}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes slideInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes enhanceHeader{from{box-shadow:none}to{box-shadow:2px 1px 6px 3px #ccc}}@keyframes animateFont{to{font-size:18px;font-weight:500}}