.primo-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:0;margin:0;position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:0 2px 4px #0000001a}.primo-header-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:8px 20px}.primo-logo{display:flex;align-items:center}.primo-logo img{height:40px;width:auto}.primo-nav{display:flex;list-style:none;margin:0;padding:0;gap:24px;align-items:center}.primo-nav li{margin:0;padding:0}.primo-nav a{font-family:Avenir,Helvetica,Arial,sans-serif;font-size:14px;font-weight:600;color:#2c3e50;text-decoration:none;transition:color .2s ease;white-space:nowrap}.primo-nav a:hover{color:#0056b3;text-decoration:underline}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px;z-index:1002}.hamburger-line{width:24px;height:3px;background-color:#2c3e50;border-radius:2px;transition:all .3s ease}@media (max-width: 768px){.primo-header-container{padding:8px 15px}.mobile-menu-toggle{display:flex}.primo-nav{position:fixed;top:58px;right:-100%;width:250px;height:calc(100vh - 58px);background-color:#fff;flex-direction:column;padding:20px;gap:0;box-shadow:-2px 0 8px #0000001a;transition:right .3s ease;overflow-y:auto}.primo-nav.mobile-open{right:0}.primo-nav li{width:100%;padding:12px 0;border-bottom:1px solid #e0e0e0}.primo-nav li:last-child{border-bottom:none}.primo-nav a{display:block;width:100%;font-size:16px}#app{margin-top:70px}}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin-top:120px}.header-image{width:100%;max-height:300px;object-fit:cover;border-radius:8px;margin-bottom:20px;box-shadow:0 4px 8px #0000001a}h1{color:#002d5b;font-size:2.5em;margin-bottom:10px}.header{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:20px}.header button{padding:10px 20px;background-color:#002d5b;color:#fff;border:none;border-radius:5px;cursor:pointer}.header button:hover{background-color:#001f3f}.availability-pill{position:absolute;top:10px;right:10px;background-color:#27ae60;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700;z-index:1;display:flex;align-items:center;gap:4px}.green-dot{width:8px;height:8px;background-color:#2ecc71;border-radius:50%;display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.modal-facade{width:100%;max-height:200px;object-fit:cover;border-radius:8px;margin:20px 0;box-shadow:0 2px 4px #0000001a}.booking-instruction{text-align:center;color:#002d5b;font-weight:700;margin:20px 0}.booking-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.booking-form{display:flex;flex-direction:column;gap:10px;padding:20px;background:#f8f9fa;border-radius:8px}.booking-form h4{margin:0 0 10px;color:#002d5b}.booking-form input[type=text],.booking-form input[type=email]{padding:8px;border:1px solid #ccc;border-radius:4px}.booking-form button{padding:10px;background-color:#002d5b;color:#fff;border:none;border-radius:4px;cursor:pointer}.booking-form button:disabled{background-color:#ccc;cursor:not-allowed}.booking-form button:hover:not(:disabled){background-color:#001f3f}.terms-checkbox{display:flex;align-items:center;gap:8px;margin-top:10px}.terms-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.terms-checkbox label{cursor:pointer;font-size:14px;color:#333}.terms-box{padding:20px;background:#fff;border:2px solid #002D5B;border-radius:8px;max-height:500px;overflow-y:auto}.terms-box h4{margin:0 0 15px;color:#002d5b;font-size:18px}.terms-box p{margin:0 0 15px;line-height:1.6;font-size:14px}.terms-box ol{margin:0;padding-left:20px;line-height:1.8;font-size:14px}.terms-box li{margin-bottom:10px}.terms-box a{color:#002d5b;text-decoration:underline}.terms-box a:hover{color:#001f3f}.filters{display:flex;justify-content:center;gap:16px;margin-bottom:12px;align-items:center}.filters label{font-weight:600}.filters select{margin-left:8px;padding:6px 8px;border-radius:4px;border:1px solid #ccc}.no-rooms{font-style:italic;color:#666;margin:8px}.rooms{display:flex;flex-wrap:wrap;justify-content:center}.room-card{border:1px solid #ddd;border-radius:8px;padding:20px 16px 16px;margin:16px;width:300px;box-shadow:0 2px 4px #0000001a;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease;cursor:pointer;position:relative}.room-card:hover{transform:scale(1.02)}.room-card.expanded{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;z-index:1001;margin:0;background:#e3f2fd;box-shadow:0 20px 60px #0000004d;border:3px solid #dee2e6;border-radius:16px;padding:32px;overflow:auto;animation:expandCard .3s ease forwards}@keyframes expandCard{0%{opacity:.8;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.room-card.expanded.closing{animation:collapseCard .25s ease forwards}@keyframes collapseCard{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}.backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;animation:fadeIn .2s ease forwards}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.timeline{position:relative;height:24px;background-color:#27ae60;border:1px solid #ddd;border-radius:12px;margin-top:8px;cursor:pointer}.hover-tooltip{position:absolute;top:-30px;transform:translate(-50%);background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;z-index:10}.selected-booking{position:absolute;top:0;height:100%;background:#646464b3;border:2px solid #555;border-radius:4px;pointer-events:none;z-index:5;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700}.time-selectors{margin-top:30px;display:flex;gap:10px;justify-content:center}.time-selectors label{display:flex;flex-direction:column;font-size:14px}.time-selectors select{margin-top:5px;padding:5px;border:1px solid #ddd;border-radius:4px}.room-card.expanded .hover-tooltip{top:-35px}.room-card.expanded .timeline{height:50px;width:80%;border-radius:20px;margin-left:auto;margin-right:auto}.booking-segment{position:absolute;top:0;height:100%;border-radius:12px;box-shadow:inset 0 1px 2px #0000001a;pointer-events:none}.room-card.expanded .booking-segment{border-radius:20px}.time-label{position:absolute;top:26px;font-size:10px;color:#666;opacity:1;transition:opacity .2s;pointer-events:none;white-space:nowrap}.room-card:hover .time-label,.room-card.expanded .time-label{opacity:1;font-weight:700}.room-card.expanded h3{font-size:32px;font-weight:700}.room-card.expanded .time-label{top:42px;font-size:10px}.room-meta{font-size:13px;color:#555;margin-top:6px}.room-card.skeleton{pointer-events:none;animation:none}.skeleton-title{height:24px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:12px;width:70%}.skeleton-meta{height:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:12px;width:50%}.skeleton-timeline{height:24px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:100%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.custom-modal-backdrop{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:#0009!important;z-index:2000!important;display:flex!important;align-items:center!important;justify-content:center!important;animation:fadeIn .2s ease;font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.custom-modal{background:#fff!important;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 8px #0000001a;animation:slideIn .3s ease;position:relative!important}.modal-header{background:#002d5b;color:#fff;padding:20px;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.5em;font-weight:600;color:#fff}.modal-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;transition:transform .2s}.modal-close:hover{transform:scale(1.2)}.modal-body{padding:25px 20px;font-size:14px;line-height:1.6;color:#2c3e50;text-align:left}.modal-footer{padding:15px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.modal-button{background-color:#002d5b;color:#fff;border:none;border-radius:5px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:Avenir,Helvetica,Arial,sans-serif}.modal-button:hover{background-color:#001f3f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.uri-footer{background-color:#002d5b;color:#fff;padding:40px 20px 30px;margin-top:60px}.footer-container{max-width:1200px;margin:0 auto;text-align:center}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 40px;margin-bottom:30px}.footer-links a{color:#fff;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.footer-links a:hover{color:#7bafd4;text-decoration:underline}.footer-info{margin-bottom:20px}.footer-info p{margin:5px 0;font-size:14px;color:#d0d0d0}.footer-copyright{border-top:1px solid rgba(255,255,255,.2);padding-top:20px}.footer-copyright p{margin:0;font-size:13px;color:#b0b0b0}.footer-copyright a{color:#7bafd4;text-decoration:none}.footer-copyright a:hover{text-decoration:underline}@media (max-width: 600px){.footer-links{flex-direction:column;gap:15px}.uri-footer{padding:30px 15px 20px}}
