#root,body,html{height:100%;margin:0;background-color:#0f0f0f}*{box-sizing:border-box;font-family:Archivo,sans-serif}::-webkit-scrollbar{display:none}.page-container{display:flex;flex-direction:column;min-height:100vh;caret-color:transparent}.navbar-logo .logo{transition:transform .3s ease-in-out,filter .3s ease-in-out,color .3s ease-in-out;color:#ffffff}@media (hover:hover) and (pointer:fine){.navbar-logo .logo:hover{transform:scale(1.05);color:rgb(255,151,151);filter:drop-shadow(0 0 5px rgba(255,107,107,.7))}}.top-section{background:linear-gradient(90deg,#e25858,#ff6b6b);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;flex-shrink:0;box-shadow:0 4px 8px rgba(0,0,0,.2);z-index:10;padding:40px 20px 80px}.top-section:after{content:"";position:absolute;bottom:-40px;left:0;right:0;height:80px;background-color:#1d1d1d;border-top-left-radius:50%;border-top-right-radius:50%;z-index:5}.search-bar-wrapper{display:flex;justify-content:center;width:100%;z-index:15}.search-bar-wrapper #location{caret-color:auto}.search-bar-container{display:flex;background-color:white;border-radius:50px;height:70px;box-shadow:0 5px 20px rgba(0,0,0,.2);width:100%;max-width:850px;align-items:center;padding:0 10px}.search-field{flex:1.5 1;display:flex;flex-direction:column;justify-content:center;height:100%;position:relative;cursor:text;border-radius:50px;padding:0 25px;transition:flex .4s cubic-bezier(.175,.885,.32,1.275)}.search-field input:-webkit-autofill,.search-field input:-webkit-autofill:active,.search-field input:-webkit-autofill:focus,.search-field input:-webkit-autofill:hover{-webkit-text-fill-color:#555!important;-webkit-box-shadow:inset 0 0 0 30px white!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.search-field-separator{width:1px;background-color:#e0e0e0;height:50%;align-self:center}.search-field.active,.search-field:hover{flex:3 1}.search-field label{font-weight:600;color:#222;transition:all .3s ease-out;font-size:1rem;pointer-events:none}.search-field.active label,.search-field:hover label{transform:translateY(-8px);font-size:.8rem}.search-field input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;background:transparent;width:100%;font-size:.9rem;color:#555;opacity:0;pointer-events:none;position:absolute;top:35px;left:25px;right:25px;transition:opacity .3s ease}.search-field.active input,.search-field.active select,.search-field:hover input,.search-field:hover select{opacity:1;pointer-events:auto}.custom-select-wrapper{position:absolute;top:35px;left:25px;right:25px;width:calc(100% - 50px);opacity:0;pointer-events:none;transition:opacity .3s ease}.search-field.active .custom-select-wrapper,.search-field:hover .custom-select-wrapper{opacity:1;pointer-events:auto}.custom-select-trigger{font-size:.9rem;color:#555;cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center}.custom-select-trigger:after{content:"▼";font-size:.6rem;color:#888}.custom-options{position:absolute;top:120%;left:0;right:0;background-color:#2c2c2c;border:1px solid #444;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.4);z-index:20;max-height:200px;overflow-y:auto}.custom-option{padding:12px 15px;color:#eaeaea;cursor:pointer;transition:background-color .2s ease}.custom-option:hover{background-color:#ff6b6b;color:#141414}.search-button-wrapper{margin-top:2rem;display:flex;flex-direction:column;align-items:center}.search-button{background-color:#1d1d1d;color:white;border:none;border-radius:1rem;padding:1rem 3rem;font-size:1.2rem;font-weight:600;cursor:pointer;box-shadow:0 4px 6px rgba(0,0,0,.3);transition:background-color .3s ease,transform .2s ease;width:-moz-fit-content;width:fit-content;align-self:center}.search-button:hover{background-color:#000000;transform:translateY(-2px)}.search-button:active{transform:translateY(0)}.error-message{color:#000000;font-size:.95rem;font-weight:600;text-align:center}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:50px;color:white;font-size:1.2rem}.loading-spinner{border:4px solid rgba(255,255,255,.3);border-top-color:#ff6b6b;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.bottom-section{background-color:#1d1d1d;flex-grow:1;min-height:200px;padding:60px 10rem 10rem;color:white;text-align:center;position:relative;z-index:1}.listings-grid{column-width:400px;column-gap:1.5rem}.listing-parent{display:block;margin-bottom:1.5rem;page-break-inside:avoid;break-inside:avoid;perspective:1000px}.listing-card,.listing-parent{width:100%;box-sizing:border-box}.listing-card{display:flex;flex-direction:column;height:100%;background-color:rgba(45,45,45,.7);border:1px solid rgba(255,255,255,.1);text-align:left;border-radius:12px;box-shadow:0 4px 8px rgba(0,0,0,.3);padding:1.5rem 2rem;position:relative;transform-style:preserve-3d;transition:transform .5s ease-in-out,box-shadow .2s ease-in-out,border-color .2s ease-in-out}.listing-card a{text-decoration:none}.listing-name{font-size:1.7rem;font-weight:700;color:#ff6b6b;margin-bottom:.5rem;line-height:1.3;transition:transform .5s ease-in-out,color .2s ease;white-space:normal;word-wrap:break-word}.listing-name:hover{color:#e25858;transform:scale(1.05)}.pop{transform-style:preserve-3d;transform:translateZ(30px);transform:translateZ(45px)}.listing-summary,.pop{transition:transform .5s ease-in-out}.listing-summary{font-size:.9rem;color:#ffffff;margin-bottom:1.5rem;flex-grow:1;transform:translateZ(30px)}.listing-summary:hover{transform:translateZ(45px)}.book-button{background-color:#ff6b6b;color:#141414;font-weight:700;font-size:1.2rem;width:100%;flex-grow:1;text-align:center;padding:.75rem;border-radius:4px;margin-top:1rem;cursor:pointer;transition:background-color .2s ease,transform .5s ease}.book-button:hover{background-color:#e25858;transform:scale(1.05)}.card-details-container{display:flex;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);transform:translateZ(40px)}.price-box,.rating-box{background:#141414;border:1px solid #ff6b6b;padding:.5rem .75rem;border-radius:4px;text-align:center;flex-grow:1;transition:transform .5s ease-in-out}.price-box:hover,.rating-box:hover{transform:scale(1.05)}.price-label,.rating-label{color:#ff6b6b;font-size:9px;font-weight:700;text-transform:uppercase;display:block}.price-value,.rating-value{font-size:1.5rem;font-weight:900;color:#ffffff;display:block}.rating-scale{font-size:.7em;color:#555;margin-left:2px}.listing-misc{font-size:.7rem;color:#8f8f8f;text-align:right;margin-top:1rem;transform:translateZ(20px);transition:transform .5s ease-in-out}.listing-misc:hover{transform:translateZ(35px)}.listing-image-container{width:100%;height:200px;margin-bottom:1rem;overflow:hidden;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2)}.listing-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.listing-image:hover{transform:scale(1.1)}.summary{text-align:center}.rate{text-align:right;padding-top:1rem;color:rgb(90,204,90)}.error{color:white;align-self:center}.confirmation-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background-color:#0f0f0f}.confirmation-card{background-color:#1d1d1d;border-radius:1.5rem;padding:3rem;width:100%;max-width:32rem;box-shadow:0 8px 24px rgba(214,58,58,.5);color:#eaeaea;display:flex;flex-direction:column}.back-button{background-color:#363636;color:white;border:none;border-radius:8px;padding:.7rem 1.2rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s ease,transform .2s ease;margin-bottom:2rem;align-self:flex-start;text-decoration:none}.back-button:hover{background-color:#000000;transform:translateY(-2px)}.confirmation-title{font-size:2.3rem;font-weight:800;color:#ff6b6b;text-align:center;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.confirmation-subtitle{font-size:1.1rem;padding-left:3rem;padding-right:3rem;text-align:center;color:#cccccc;margin-top:-1rem}.confirmation-section{border-top:1px solid rgba(255,255,255,.08);margin-top:1.5rem;padding-top:1rem}.section-title{font-size:1.2rem;color:#ff6b6b;font-weight:600;margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.5px}.confirmation-section p{font-size:1.1rem;line-height:1.8}.field-label{font-weight:600;color:#ffffff;display:inline-block;width:9rem}.loading-message{color:#ffffff;text-align:center;font-size:1.2rem;margin-top:4rem}.navbar{position:fixed;top:0;left:0;width:100%;padding:1rem 2rem;display:flex;align-items:center;z-index:1000;opacity:1;visibility:visible;transition:opacity .4s ease,visibility .4s ease}.navbar.hidden{opacity:0;visibility:hidden;pointer-events:none}.navbar-container{display:flex;justify-content:space-between;align-items:center;width:100%}.navbar-logo{cursor:pointer}.navbar-links{display:flex;gap:1rem;align-items:center}.profile-button{background-color:rgba(29,29,29,.8);color:white;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:.5rem 1rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.profile-button:hover{background-color:#000}.profile-button-secondary{background-color:transparent;color:white;border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:.5rem 1rem;font-size:1rem;cursor:pointer;transition:background-color .2s,border-color .2s}.profile-button-secondary:hover{background-color:rgba(255,255,255,.1);border-color:white}.footer{background-color:#0a0a0a;color:#8f8f8f;padding:2rem 0;text-align:center;border-top:1px solid #222;flex-shrink:0}.footer-content{max-width:1200px;margin:0 auto;padding:0 1rem}.footer-links{margin-top:.5rem}.footer-links a{color:#8f8f8f;text-decoration:none;margin:0 .5rem;transition:color .2s}.footer-links a:hover{color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.booking-modal-card{background-color:#1d1d1d;color:white;border-radius:12px;box-shadow:0 4px 8px rgba(0,0,0,.3);padding:1.5rem;width:100%;max-width:50rem;max-height:95vh;overflow-y:auto;position:relative;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.booking-modal-card h1{color:#ff6b6b;text-align:center;margin-bottom:25px;font-size:2.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.4);padding-right:4rem;transition:transform .3s ease-in-out}.booking-modal-card h1:hover{transform:scale(1.02)}.booking-modal-card .rate,.booking-modal-card .summary{transition:transform .3s ease-in-out}.booking-modal-card .rate:hover,.booking-modal-card .summary:hover{transform:scale(1.01)}.booking-modal-card form{margin-top:30px;padding:25px;background-color:rgba(45,45,45,.7);border-radius:10px;box-shadow:inset 0 2px 5px rgba(0,0,0,.2);transition:transform .3s ease-in-out}.booking-modal-card form h2{color:#ff6b6b;margin-bottom:20px;font-size:1.8rem;border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:10px;transition:transform .3s ease-in-out}.booking-modal-card form h2:hover{transform:scale(1.01)}.booking-modal-card form label{display:block;font-size:1rem;margin-bottom:12px;color:#e0e0e0;font-weight:500}.booking-modal-card form div{margin-bottom:20px;transition:transform .3s ease-in-out}.booking-modal-card form div:hover{transform:scale(1.01)}.booking-modal-card form input[type=date],.booking-modal-card form input[type=email],.booking-modal-card form input[type=tel],.booking-modal-card form input[type=text]{width:100%;padding:12px;border:1px solid #555;border-radius:8px;background-color:#333;color:white;font-size:1rem;outline:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.2);transition:transform .3s ease-in-out,box-shadow .3s ease-in-out,border-color .3s ease-in-out}.booking-modal-card form input[type=date]:hover,.booking-modal-card form input[type=email]:hover,.booking-modal-card form input[type=tel]:hover,.booking-modal-card form input[type=text]:hover{transform:scale(1.02)}.booking-modal-card form input[type=date]:focus,.booking-modal-card form input[type=email]:focus,.booking-modal-card form input[type=tel]:focus,.booking-modal-card form input[type=text]:focus{border-color:#ff6b6b;box-shadow:0 0 8px rgba(255,107,107,.5);background-color:#444;caret-color:auto}.booking-modal-card form input::placeholder{color:#aaa}.booking-modal-card form button[type=submit]{display:block;width:100%;padding:15px;background-color:#ff6b6b;color:white;border:none;border-radius:10px;font-size:1.2rem;font-weight:600;cursor:pointer;margin-top:30px;box-shadow:0 4px 8px rgba(0,0,0,.3);transition:background-color .3s ease,transform .2s ease}.booking-modal-card form button[type=submit]:hover{background-color:#e25858;transform:translateY(-2px) scale(1.02)}.booking-modal-card form button[type=submit]:active{transform:translateY(0)}.date-picker-wrapper{position:relative;width:100%}.date-picker-container{position:relative}.date-picker-container.calendar-active{z-index:25}.date-input-trigger{width:100%;padding:12px;border:1px solid #555;border-radius:8px;background-color:#333;color:white;font-size:1rem;outline:none;cursor:pointer;text-align:left;transition:border-color .3s ease,box-shadow .3s ease}.date-input-trigger.active,.date-input-trigger:hover{border-color:#ff6b6b;box-shadow:0 0 8px rgba(255,107,107,.5)}.calendar-popover{position:absolute;top:calc(100% + 10px);left:0;background-color:#2c2c2c;border:1px solid #444;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.5);z-index:3000;width:320px;padding:1rem;animation:fadeIn .2s ease-out}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;color:#eaeaea}.calendar-header button{background:none;border:none;color:#ff6b6b;font-size:1.5rem;cursor:pointer;padding:.5rem}.calendar-header span{font-weight:600;font-size:1.1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px;text-align:center}.calendar-day-name{font-size:.8rem;color:#888;font-weight:600}.calendar-day{padding:.6rem 0;border-radius:50%;cursor:pointer;transition:background-color .2s ease,color .2s ease;color:#eaeaea}.calendar-day:not(.disabled):hover{background-color:#444}.calendar-day.selected{background-color:#ff6b6b;color:#141414;font-weight:700}.calendar-day.disabled{color:#555;cursor:not-allowed;text-decoration:line-through}.calendar-day.empty{pointer-events:none}.close-button{background-color:#363636;color:white;border:none;border-radius:8px;padding:.7rem 1.2rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s ease,transform .2s ease;position:absolute;top:1.5rem;right:1.5rem;z-index:10}.close-button:hover{background-color:#000000;transform:translateY(-2px)}.close-button:active{transform:translateY(0)}.booking-modal-card::-webkit-scrollbar{width:10px}.booking-modal-card::-webkit-scrollbar-track{background:#1d1d1d;border-radius:10px}.booking-modal-card::-webkit-scrollbar-thumb{background-color:#ff6b6b;border-radius:10px;border:2px solid #1d1d1d}.booking-modal-card::-webkit-scrollbar-thumb:hover{background-color:#e25858}.auth-page{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;min-height:100vh;background-color:#0f0f0f}.auth-card{background-color:#1a1a1a;padding:2.5rem 3rem;border-radius:12px;width:100%;max-width:420px;border:1px solid rgba(255,107,107,.2);box-shadow:0 0 30px rgba(255,107,107,.3)}.auth-card h1{color:#ffffff;text-align:center;margin-bottom:2rem;font-size:2.2rem;font-weight:700}.auth-page .input-group{margin-bottom:1.5rem;text-align:left}.auth-page .input-group label{display:block;margin-bottom:.75rem;color:#c0c0c0;font-weight:500;font-size:1rem}.auth-page .input-group input{width:100%;padding:12px 15px;border:1px solid #444;border-radius:8px;background-color:#2c2c2c;color:white;font-size:1rem;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.auth-page .input-group input::placeholder{color:#777}.auth-page .input-group input:focus{border-color:#ff6b6b;box-shadow:0 0 10px rgba(255,107,107,.4)}.auth-button{background-color:#ff6b6b;color:#141414;font-weight:700;border:none;border-radius:8px;padding:1rem;width:100%;font-size:1.1rem;cursor:pointer;margin-top:1rem;transition:background-color .3s ease,transform .2s ease}.auth-button:hover{background-color:#e25858;transform:translateY(-2px)}.auth-button:disabled{background-color:#555;color:#999;cursor:not-allowed;transform:none}.auth-page .error-message{color:#ff8a80;text-align:center;margin-top:1rem;font-size:.9rem}.switch-auth-link{margin-top:2rem;text-align:center;color:#999}.switch-auth-link a{color:#ff6b6b;text-decoration:none;font-weight:600}.switch-auth-link a:hover{text-decoration:underline}.profile-page{padding:6rem 2rem 2rem;color:#eaeaea;background-color:#0f0f0f;min-height:100vh}.profile-container{display:grid;grid-template-columns:1fr;grid-gap:2rem;gap:2rem;max-width:1400px;margin:0 auto}.bookings-card,.profile-details-card{background-color:#1d1d1d;padding:1.5rem;border-radius:12px;border:1px solid #333}.bookings-card h2,.profile-details-card h2{color:#ff6b6b;margin-top:0;margin-bottom:1.5rem;font-size:1.8rem;border-bottom:1px solid #444;padding-bottom:1rem}.profile-details-card p{font-size:1.1rem;line-height:1.8}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem}.booking-item-card{background-color:#2a2a2a;padding:1.5rem;border-radius:8px;border:1px solid #444;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.booking-item-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.4)}.booking-item-card h3{color:#ff6b6b;margin-top:0;margin-bottom:.75rem;font-size:1.4rem}.booking-item-card p{color:#b0b0b0;font-size:1rem;line-height:1.6}.booking-dates{background-color:#1d1d1d;border-radius:4px;padding:.75rem;margin-bottom:1rem;font-size:.95rem}.booking-dates p{margin:.25rem 0;color:#eaeaea}.confirmation-button{background-color:#ff6b6b;color:#141414;font-weight:700;border:none;border-radius:8px;padding:.75rem;width:100%;font-size:1rem;cursor:pointer;margin-top:auto;transition:background-color .3s ease,transform .2s ease}.confirmation-button:hover{background-color:#e25858;transform:translateY(-2px)}.empty-message,.loading-message{text-align:center;color:#999;margin-top:3rem;font-size:1.2rem}@media (max-width:900px){.profile-container{grid-template-columns:1fr}}.disclaimer-text{font-size:.9rem;text-align:center;color:#c0c0c0;margin-top:1.5rem}.disclaimer-text a{color:#ff6b6b;text-decoration:underline}@media (max-width:900px){.bottom-section{padding:60px 4rem 4rem}.listings-grid{column-width:320px}.search-bar-container{max-width:95%}.booking-modal-card{max-width:90vw}.profile-container{grid-template-columns:1fr}}@media (max-width:600px){body,html{scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none}.top-section{padding:80px 3rem 60px}.top-section:after{bottom:-30px;height:60px}.search-bar-container{height:55px;max-width:100%;padding:0 5px}.search-field{padding:0 15px}.search-field label{font-size:.8rem}.search-field.active label,.search-field:hover label{transform:translateY(-6px);font-size:.65rem}.custom-select-wrapper,.search-field input{top:26px;left:15px;right:15px;font-size:.8rem}.custom-select-trigger{font-size:.8rem}.search-button-wrapper{margin-top:1.5rem}.bottom-section{padding:40px 1rem 1rem}.listings-grid{column-width:160px;column-gap:1rem}.listing-parent{perspective:none;page-break-inside:avoid;break-inside:avoid}.listing-card,.listing-card:hover{transform:none!important;padding:.75rem;display:flex;flex-direction:column;overflow:hidden}.listing-image-container{height:120px;flex-shrink:0}.listing-name{font-size:1rem;line-height:1.2;margin-bottom:.25rem;flex-shrink:0}.listing-summary{font-size:.75rem;line-height:1.3;margin-bottom:.75rem;flex-grow:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.card-details-container{flex-shrink:0;gap:.5rem;padding-top:.5rem}.price-box,.rating-box{padding:.25rem .4rem}.price-label,.rating-label{font-size:7px}.price-value,.rating-value{font-size:.9rem}.rating-scale{font-size:.6em}.book-button{font-size:.9rem;padding:.4rem;margin-top:.75rem}.listing-misc{font-size:.6rem;flex-shrink:0;margin-top:.75rem}.book-button,.book-button:hover,.card-details-container,.listing-image:hover,.listing-misc,.listing-summary,.pop{transform:none!important}.navbar{padding:.5rem 1rem}.navbar-logo .logo{width:90px}.profile-button,.profile-button-secondary{font-size:.9rem;padding:.4rem .8rem}.auth-card,.booking-modal-card,.confirmation-card{padding:1rem;max-width:100%;margin:1rem;max-height:90vh}.confirmation-section p{display:flex;flex-wrap:nowrap;align-items:baseline;word-break:break-all}.booking-modal-card::-webkit-scrollbar{display:none}.auth-card h1,.booking-modal-card h1,.confirmation-title{font-size:1.8rem;padding-right:0}.close-button{top:.5rem;right:.5rem}.field-label{width:auto;margin-right:.5em;flex-shrink:0}.profile-page{padding:5rem 1rem 1rem}}