:root{--primary: #2D9B92;--primary-dark: #0a7569;--secondary: #1A3657;--secondary-light: #2A4B6F;--accent: #FF6B6B;--accent-dark: #E55656;--background: #f5f9fa;--text-dark: #2D3748;--text-light: #FFFFFF;--highlight: #F4D03F;--border: #E2E8F0;--sand: #fff9db;--sky-blue: #63B3ED;--earth-green: #48BB78;--adventure-orange: #ED8936}*{margin:0;padding:0;box-sizing:border-box}main{flex:1;min-height:100vh}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--background);margin:0;height:100%;display:flex;flex-direction:column}header{color:var(- --text-dark);padding:1rem 2rem;position:sticky}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.logo-text{color:var( --secondary);font-size:2rem}.logo{font-size:1.8rem;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:.5rem}.logo-image{border-radius:5%;height:50px;width:50px}nav ul{display:flex;list-style:none;gap:2rem}nav a{color:var(--secondary);font-size:1.1rem;border-bottom:2px solid transparent;text-decoration:none;font-weight:500;transition:opacity .2s}nav a:hover{opacity:.9;border-bottom:var(--accent) 1.5px solid;color:var( --secondary-light)}.user-profile-container{display:flex}.default-avatar{background-color:#fff}.avatar-link{margin:0 1rem}.avatar-logout-container{position:relative;display:flex;align-items:center;gap:10px}.avatar-overlay{background-color:var(--background);width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--accent);cursor:pointer;transition:all .3s ease}.avatar-overlay:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}main{padding:.5rem 2rem;margin:0 auto;width:100%}.container h1{color:var(--secondary);font-size:2.5rem;margin-bottom:1rem}.tagline{color:var(--primary);font-size:1.2rem;margin-bottom:2rem;font-weight:500}.hero-image{height:400px;background-color:var(--sand);background-image:url(https://images.unsplash.com/photo-1544551763-46a013bb70d5?ixlib=rb-4.0.3&auto=format&fit=crop&w=1470&q=80);background-size:cover;background-position:center;border-radius:8px;border:1px solid var(--border)}footer{background-color:var(--border);color:var(--text-dark);padding:.4rem;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.footer-section h3{margin-bottom:1.5rem;color:var(--sand)}.footer-section ul{list-style:none}.footer-section li{margin-bottom:.8rem}.footer-section a{color:var(--text-light);text-decoration:none;transition:color .2s}.footer-section a:hover{color:var(--sand)}.copyright{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);color:var(--text-dark);font-size:.9rem}.btn{display:inline-block;padding:.8rem 1.8rem;border-radius:50px;text-decoration:none;font-weight:600;transition:all .3s;border:none;cursor:pointer}.btn-primary{background:var(--accent);color:var(--text-light);font-size:1rem;transition:transform .2s ease}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.eco-badge{background:var(--earth-green);color:var(--text-light)}.special-offer{border:2px solid var(--adventure-orange)}.no-results-container{display:flex;justify-content:center;align-items:center;min-height:60vh;background-color:var(--background);margin:2rem 0}.no-results{display:flex;align-items:center;gap:1.5rem;font-size:1.5rem;color:var(--text-dark);font-weight:600;padding:1.5rem 2rem;background:var(--text-light);border-radius:.75rem;border:2px solid var(--border);transition:transform .2s ease}.no-results-img{width:64px;height:64px;margin-left:.5rem;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1));transition:transform .3s ease}.no-results-img:hover{transform:scale(1.1) rotate(-10deg)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.no-results-img{animation:bounce 2s ease-in-out infinite}.loading-text{font-size:2rem;font-weight:700}@media (max-width: 768px){.header-container{flex-direction:column;gap:1rem}.hotel-section{padding:none}nav ul{flex-direction:column;align-items:center;gap:1rem}main{padding:1px}.auth-section{border-left:none;margin-left:0;padding-left:0}.no-results{flex-direction:column;text-align:center;font-size:1.2rem;padding:1rem}.no-results-img{width:90px;height:90px;margin-left:0}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.cheerful-loader{display:flex;justify-content:center;margin-bottom:1rem}.bounce{width:18px;height:18px;border-radius:50%;background:red;margin:0 5px;animation:bounce 1.4s infinite ease-in-out both}.bounce1{background-color:#ff6b6b}.bounce2{background-color:#4ecdc4;animation-delay:.2s}.bounce3{background-color:#ffd166;animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1.3)}}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.cheerful-loader{display:flex;justify-content:center;margin-bottom:1rem}.bounce{width:18px;height:18px;border-radius:50%;background:red;margin:0 5px;animation:bounce 1.4s infinite ease-in-out both}.bounce1{background-color:#ff6b6b}.bounce2{background-color:#4ecdc4;animation-delay:.2s}.bounce3{background-color:#ffd166;animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1.3)}}.main-view-section{padding:0}.background-for-input{display:flex;width:100%;justify-content:center}.search-bar{position:relative;display:flex;gap:1rem;width:70%;border:1.5px solid var(--accent);border-radius:30px}.search-icon{position:absolute;left:1rem;right:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-dark);pointer-events:none}.search-input{flex:1;padding:.8rem .8rem .9rem 2.5rem;border:1px solid var(--border);border-radius:24px;font-size:1rem;width:70%}.hotels-section{padding:1rem}.hotels-container{max-width:1200px;margin:0 auto}.hotels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:1rem}.hotel-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;height:100%;border:1px solid var(--border)}.hotel-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #2d9b9226;border-color:var(--primary)}.hotel-img-container{position:relative;width:100%;padding-top:66.67%;overflow:hidden;background-color:var(--sand)}.favorite-icon{position:absolute;top:1rem;right:1rem;z-index:2;background:#ffffffe6;padding:.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000001a}.favorite-icon svg{width:24px;height:24px;fill:var(--text-dark);stroke:var(--text-dark)}.hotel-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.hotel-content{padding:1.5rem;display:flex;flex-direction:column;flex:1}.hotel-content h3{font-size:.95rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0}.hotel-content>p{font-size:.875rem;color:var(--text-dark);opacity:.7;margin:0;font-weight:500}.hotel-content h2{font-size:1.35rem;font-weight:700;color:var(--secondary);margin:.25rem 0 .75rem;line-height:1.3;min-height:2.6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.button-main{background:var(--primary);color:var(--text-light);padding:1rem 2rem;border-radius:40px;border:2px solid var(--primary);font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.button-main:hover{background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 4px 12px rgba(var(--primary-dark),.2)}.button-main:active{transform:scale(.98)}.button-extra{display:flex;flex-direction:column;align-items:center;padding:6px 14px;font-family:-apple-system,BlinkMacSystemFont,Roboto,sans-serif;border-radius:6px;color:#3d3d3d;background:#fff;border:none;box-shadow:0 .5px 1px #0000001a;user-select:none;-webkit-user-select:none;touch-action:manipulation}.button-extra:hover{box-shadow:var(--primary-dark);outline:1.5px solid var(--primary-dark)}.price-section{display:flex;align-items:baseline;gap:.5rem;margin:auto 0 1.25rem;padding:1rem 0 .5rem;border-top:1px solid var(--border)}.price-label{font-size:.875rem;color:var(--text-dark);opacity:.65;font-weight:500}.price-value{font-size:2rem;font-weight:800;color:var(--secondary);line-height:1;letter-spacing:-.5px}.pagination-controls{display:flex;justify-content:center;align-items:center}.hotels-section-favorite{max-width:740px;margin:0 auto}.discount-banner{background-color:var(--sand);border:1px solid var(--highlight);border-radius:8px;padding:12px 20px;margin:20px 0;text-align:center;box-shadow:0 2px 4px #0000000d}.discount-text{color:var( --accent-dark);font-weight:600;font-size:1.1rem}.info-banner{background-color:#fff;border:1px solid var(--sky-blue);border-radius:8px;padding:12px 20px;margin:20px 0;text-align:center;box-shadow:0 2px 4px #0000000d}.info-text{color:var( --accent-color-dark);font-weight:600;font-size:1.1rem}.hotel-page{max-width:1200px;margin:2rem auto;padding:1rem;display:grid;grid-template-rows:auto 1fr;background:#fff;border-radius:5px}.hotel-header{text-align:center;padding:0 1rem}.hotel-header h1{font-size:2.5rem;color:var(--secondary)}.description{color:var(--text-dark);line-height:1.6}.hotel-content-main{display:grid;grid-template-columns:1fr 1fr}.gallery{display:flex;flex-direction:column;gap:1rem}.main-image{width:100%;height:400px;object-fit:cover;border-radius:12px}.thumbnails{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.thumbnail{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .2s}.thumbnail:hover{transform:scale(1.05)}.thumbnail.active{border:3px solid var(--primary)}.booking-section{background:#fff;padding:2rem;border-bottom:1px solid var(--border);border-left:1px solid var(--border);border-right:1px solid var(--border)}.room-options{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.room-card{padding:1rem;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.room-card:hover{border-color:var(--primary)}.room-card.selected{background:rgba(var(--primary),.1);border-color:var(--primary)}.guest-selection{margin:1.5rem 0;display:flex;align-items:center;gap:1rem}.guest-selection input{padding:.5rem;border:1px solid var(--border);border-radius:6px;width:80px}.price-summary{margin:2rem 0;padding:1rem;background:#f9f9f9;border-radius:8px}.total-price{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:700;margin-top:1rem}.favorite-icon svg{cursor:pointer;transition:all .3s ease;width:24px;height:24px}.rating{display:flex;align-items:center;border-radius:12px;background:var(--highlight);color:var(--text-dark)}.favorite-icon svg:hover{transform:scale(1.1)}.favorite-icon svg[fill=red]{fill:var(--accent);stroke:#f44}.reserve-button{background:var(--accent);color:#fff;padding:1rem 2rem;width:100%;border:none;border-radius:8px;font-size:1.1rem;cursor:pointer;transition:transform .2s}.reserve-button:hover{transform:translateY(-2px)}.reserve-button:disabled{background:#ccc;cursor:not-allowed}.confirmation-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:500px;width:90%;text-align:center}.reviews-section{padding-top:2rem}.review-card{background:#fff;padding:1.5rem;margin-bottom:1.5rem;border-radius:5px;border:1px solid var(--border);position:relative}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.review-meta{flex-grow:1}.rating-badge{background:var(--highlight);color:var(--text-dark);padding:.5rem 1rem;border-radius:24px;display:flex;align-items:baseline;gap:.25rem;font-weight:600}.rating-number{font-size:1.25rem;line-height:1}.rating-max{font-size:.9rem;opacity:.8}.review-author{color:var(--secondary);margin:0 0 .25rem;font-size:1.1rem}.review-comment{color:var(--text-dark);line-height:1.6;margin:0;font-style:italic;padding-left:1rem;border-left:3px solid var(--border)}.discount-notice{display:flex;justify-content:space-between;color:#28a745;font-weight:500;margin:8px 0}.discount-amount{font-weight:700}.login-reminder{background-color:var(--sand);border-left:4px solid var(--highlight);padding:8px 12px;margin-top:12px;border-radius:4px;font-size:.9rem}.login-reminder p{margin:0;display:flex;align-items:center;gap:8px}@media (max-width: 768px){.hotel-content-main{grid-template-columns:1fr}.hotel-section{padding:1rem}.hotels-grid{grid-template-columns:1fr;gap:1rem;padding:none}.main-image{height:300px}.booking-section{border-left:none;border-right:none;padding:none}}.login-container{max-width:400px;margin:100px auto;padding:30px;background:var(--primary-color);box-shadow:var(--shadow);border-radius:10px;text-align:center}:root{--secondary: #1A3657;--secondary-light: #2A4B6F;--primary-color: #ffffff;--secondary-color: #f5f7fa;--accent-color: #2D9B92;--accent-color-dark: #0a7569;--text-color: #333333;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--hover-shadow: 0 8px 16px rgba(0, 0, 0, .15)}.login-container h2{margin-bottom:20px;color:var(--accent-color-dark);font-size:1.8rem}.input-container{position:relative;margin:10px 0}.input-container input{width:100%;padding:12px 12px 12px 40px;border:1px solid #ccc;border-radius:5px;font-size:1rem;transition:border-color .3s}.input-container input:focus{border-color:var(--accent-color);outline:none}.input-container .icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:24px;height:24px}.login-container button{margin:10px 0;width:100%;padding:12px;background:var(--accent-color);color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .3s,transform .3s}.login-container button:hover{background:var(--accent-color-dark);transform:translateY(-2px)}.forget-password{margin:15px 0;font-size:.9rem;color:var(--text-color)}.forget-password button{background:none;border:none;color:var(--accent-color);font-size:.9rem;cursor:pointer;text-decoration:underline;transition:color .3s}.forget-password button:hover{color:var(--accent-color-dark)}.login-form{display:flex;gap:10px;margin:20px 0}.login-form button{flex:1;padding:12px;background:var(--accent-color);color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .3s,transform .3s}.login-form button:hover{background:var(--accent-color-dark);transform:translateY(-2px)}.message{margin-top:15px;color:var(--accent-color-dark);font-size:.9rem}input[type=date]{color:#767676}input[type=date]:focus,input[type=date]:valid,input[type=date]:active{color:#000}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-container{animation:fadeIn .5s ease-in-out}@media (max-width: 768px){.login-container{padding:20px;margin:50px auto}.login-container h2{font-size:1.5rem}}.payment-container{width:100%;max-width:500px;margin:0 auto}.payment-summary{margin-bottom:10px;border-bottom:1px var(--sky-blue)}.payment-card{background:var(--text-light);border-radius:16px;box-shadow:0 10px 30px #1a365726;padding:40px;border:none;position:relative;overflow:hidden}.payment-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 100%)}.payment-title{color:var(--secondary);font-weight:700;margin-bottom:30px;text-align:center;font-size:28px;position:relative;padding-bottom:15px}.payment-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:var(--primary);border-radius:2px}.payment-summary{background:var(--sand);border-radius:12px;padding:20px;margin-bottom:25px;border:1px solid var(--border);box-shadow:0 4px 12px #00000008}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;color:var(--text-dark);font-weight:500}.summary-item{display:flex;justify-content:space-between;padding:8px 0;color:var(--text-dark);font-size:16px}.summary-total{display:flex;justify-content:space-between;padding:15px 0 5px;margin-top:10px;border-top:2px dashed var(--border);font-weight:700;font-size:18px;color:var(--secondary)}.summary-total span:last-child{color:var(--primary-dark)}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:10px;font-size:15px;color:var(--secondary);font-weight:600;display:flex;align-items:center;gap:8px}.form-group label i{color:var(--primary)}.input-field i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--primary);font-size:18px}.input-field input{width:100%;padding:14px 15px 14px 48px;border:2px solid var(--border);border-radius:10px;font-size:16px;transition:all .3s;background-color:var(--text-light);color:var(--text-dark);box-shadow:0 2px 5px #0000000d}.form-row{display:flex;gap:20px}.card-types{display:flex;gap:12px;margin-bottom:10px}.card-type{width:65px;height:40px;object-fit:contain;cursor:pointer;opacity:.7;transition:all .3s;border:2px solid transparent;border-radius:6px;padding:4px;background-color:var(--text-light);box-shadow:0 2px 5px #0000000d}.card-type:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.card-type.active{opacity:1;border-color:var(--primary);background:var(--text-light);transform:translateY(-2px);box-shadow:0 4px 8px #2d9b9233}.submit-btn{width:100%;padding:17px;background:var(--primary);color:var(--text-light);border:none;border-radius:10px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:20px;letter-spacing:.5px;box-shadow:0 4px 12px #2d9b924d;display:flex;justify-content:center;align-items:center;gap:10px}.submit-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 15px #2d9b9266}.submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.error-message{color:var(--accent-dark);font-size:15px;margin-top:20px;text-align:center;padding:12px;background:#ff6b6b1a;border-radius:8px;font-weight:500}.points-section{background:linear-gradient(135deg,#2d9b920d,#1a36570d);padding:25px;border:1px solid var(--border);border-radius:12px;margin-bottom:30px;position:relative;overflow:hidden}.points-section:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--primary)}.points-section h3{margin-top:0;color:var(--secondary);font-size:20px;display:flex;align-items:center;gap:10px;margin-bottom:15px}.points-section p{color:var(--secondary-light);margin-bottom:15px;font-size:16px}.points-section p strong{color:var(--primary-dark)}.toggle-points{display:flex;align-items:center;gap:12px;margin:15px 0}.switch{position:relative;display:inline-block;width:50px;height:26px}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--primary)}input:checked+.slider:before{transform:translate(24px)}.points-control{margin-top:20px;padding-top:15px;border-top:1px dashed var(--border)}.points-control label{display:block;margin-bottom:10px;color:var(--secondary);font-weight:600}input[type=range]{width:100%;height:8px;-webkit-appearance:none;background:var(--border);border-radius:4px;outline:none;margin:15px 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 2px 5px #0003}.points-details{display:flex;justify-content:space-between;margin-top:15px;font-size:16px;background:#2d9b9212;padding:12px 15px;border-radius:8px;border:1px solid var(--border)}.points-details span{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.points-details span strong{color:var(--primary-dark);font-size:17px;margin-top:5px}.points-only-payment{text-align:center;padding:25px;background:#48bb781a;border-radius:12px;margin:20px 0;border:1px solid var(--earth-green)}.points-only-payment i{font-size:48px;color:var(--earth-green);margin-bottom:15px}.points-only-payment span{font-size:18px;color:var(--secondary);font-weight:600}.security-note{text-align:center;color:var(--secondary-light);font-size:14px;margin-top:20px;display:flex;justify-content:center;align-items:center;gap:8px}.header-icon{display:flex;justify-content:center;margin-bottom:15px}.header-icon i{font-size:48px;color:var(--primary);background:#2d9b921a;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%}@media (max-width: 768px){.payment-card{padding:30px 20px}.form-row{flex-direction:column;gap:0}.points-details{flex-direction:column;gap:10px}}@media (max-width: 480px){.payment-title{font-size:24px}.points-section{padding:20px 15px}}.input-field{position:relative}.input-field i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--secondary-light)}.input-field input{width:100%;padding:12px 15px 12px 45px;border:2px solid var(--border);border-radius:8px;font-size:15px;transition:all .3s;background-color:var(--background);color:var(--text-dark)}.input-field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2d9b9233}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.card-types{display:flex;gap:10px;margin-bottom:10px}.card-type{width:50px;height:30px;object-fit:contain;cursor:pointer;opacity:.6;transition:all .3s;border:1px solid transparent;border-radius:4px;padding:2px;background-color:var(--text-dark)}.card-type:hover{border:2px solid var(--accent)}.card-type.active{opacity:1;border-color:var(--primary);background:#2d9b92}.submit-btn{width:100%;padding:15px;background:var(--primary);color:var(--text-light);border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s;margin-top:10px}.submit-btn:hover{background:var(--primary-dark)}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.error-message{color:var(--accent-dark);font-size:14px;margin-top:15px;text-align:center}.points-section{background-color:var(--text-light);padding:20px;border:1px solid var(--sky-blue);border-radius:10px;margin-bottom:25px}.points-section h3{margin-top:0;color:var(--secondary)}.toggle-points{display:flex;align-items:center;gap:10px;margin:10px 0}.switch{position:relative;display:inline-block;width:40px;height:22px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:22px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent)}input:checked+.slider:before{transform:translate(18px)}.points-control{margin-top:15px}.points-control label{display:block;margin-bottom:6px}.points-details{display:flex;justify-content:space-between;margin-top:8px;font-size:.95rem}@media (max-width: 576px){.form-row{flex-direction:column;gap:0}.payment-card{padding:20px}}.user-page{width:90%;max-width:900px;margin:40px auto;padding:3rem;display:flex;flex-direction:column;gap:5px;background:var(--primary-color);box-shadow:var(--shadow);border-radius:20px}.page-title{font-size:2rem;color:var(--text-dark)}.user-form{display:flex;flex-direction:column;gap:20px}.form-columns{display:flex;gap:20px;flex-wrap:wrap}.form-column{flex:1;display:flex;flex-direction:column}.input-container{position:relative;display:flex;align-items:center}.icon{position:absolute;left:10px;width:20px;height:20px;pointer-events:none}.button-container{display:flex;justify-content:center}.change-button{background:var(--secondary-light);color:var(--text-light);transition:transform .2s ease,background .3s ease;border:none;outline:none;padding:12px 30px;font-size:1rem;border-radius:25px;cursor:pointer}.change-button:hover{background:var(--secondary);transform:scale(1.05)}.error-message{text-align:center;color:red;margin-top:10px}.loyalty{background:linear-gradient(135deg,#f5f5f5,#fefcf4);border-radius:12px;padding:1.5rem;margin:1rem 0;border:1px solid #e0e0e0;transition:all .3s ease;display:flex;flex-direction:column;gap:.8rem}.loyalty p{margin:0;font-size:1.1rem;color:#333;display:flex;align-items:center;gap:.5rem}.loyalty p:first-child{font-weight:600;color:#2d3748}.loyalty p:last-child:before{content:"★";color:#c07445;font-size:2rem}.loyalty-tier-bronze{color:#c07445}.loyalty-tier-silver{color:#a8a8a8}.loyalty-tier-gold{color:gold}@media (max-width: 768px){.loyalty{padding:1rem;margin:.5rem 0}.loyalty p{font-size:1rem}user-page{padding:1rem;margin:none;width:100%;border-radius:none}}.reservation-card{background:var(--text-light);border-radius:12px;box-shadow:0 2px 3px #2d374814;padding:1.5rem;margin-bottom:1.5rem;max-width:600px;border:1px solid var(--border)}.reservations-container{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;padding:1rem;max-width:1200px;margin:0 auto}.reservation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.reservation-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--secondary)}.status-badge{padding:.5rem;border-radius:15px;font-size:1rem;font-weight:800;text-transform:capitalize;background-color:var(--primary);color:var(--text-light)}.reservation-actions{margin-top:1.5rem;display:flex;gap:1rem;border-top:1px solid var(--border);padding-top:1rem}.reservation-details{display:grid;gap:.75rem;color:var(--text-dark)}.detail-row{display:flex;justify-content:space-between}.detail-label{font-weight:500;color:var(--secondary-light)}.price{font-weight:600;color:var(--earth-green);font-size:1.1em}.payment-method{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--border);font-size:.9rem;color:var(--secondary-light)}.badge-confirmed{background-color:var(--earth-green)}.badge-cancelled{background-color:var(--accent)}.badge-pending{background-color:var(--highlight)}.badge-rejected{background-color:var(--secondary-light)}.badge-paid{background-color:var(--primary)}.badge-completed{background-color:var(--sky-blue)}.button-universal{display:flex;flex-direction:column;align-items:center;padding:6px 14px;font-family:-apple-system,BlinkMacSystemFont,Roboto,sans-serif;border-radius:6px;color:var(--text-light);background:#b5b5b5;border:none;box-shadow:0 .5px 1px #0000001a;user-select:none;-webkit-user-select:none;touch-action:manipulation}.button-universal:hover{box-shadow:var(--secondary-light);outline:1.5px solid var(--secondary-light)}.existing-review{margin-top:1.5rem;padding:1rem;background:var(--background);border-radius:8px}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.rating{background:var(--highlight);color:var(--text-dark);padding:.25rem .75rem;border-radius:12px;font-weight:600}.review-comment{color:var(--text-dark);line-height:1.6;margin:.5rem 0;font-style:italic}.review-date{color:var(--text-dark);opacity:.7;font-size:.9rem;display:block}.header-text{display:flex;border-bottom:1px solid var(--border);margin-top:1rem;margin-left:7rem}@media (max-width: 768px){.header-text{margin-left:0;justify-content:center}}.review-page{max-width:600px;margin:2rem auto;padding:2rem}.review-form{max-width:600px;margin:0 auto;padding:2rem;background:#fff}.form-group{margin-bottom:1.5rem}label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-dark)}select{width:100%;padding:.8rem;border:1px solid var(--border);border-radius:4px;background:#fff}textarea{width:100%;padding:.8rem;border:1px solid var(--border);border-radius:4px;resize:vertical}.character-count{display:block;text-align:right;color:var(--text-dark);opacity:.7}.submit-button{background-color:var(--primary);color:#fff;padding:1rem 2rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.submit-button:disabled{background-color:var(--border);cursor:not-allowed}.submit-button:hover:not(:disabled){background-color:var(--primary-dark)}.error-message{color:var(--accent);margin:1rem 0}.review-form button{background-color:#000;color:#fff;padding:10px 16px;border:none;cursor:pointer;font-size:16px}.review-form button:disabled{opacity:.6;cursor:not-allowed}.user-page-avatar-section{position:relative}.user-page-avatar-label{display:inline-block;position:relative;cursor:pointer;border-radius:50%;transition:transform .3s ease}.user-page-avatar-label:hover{transform:scale(1)}.user-page-avatar-image{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--border)}.user-page-default-avatar{height:64px;width:64px;background-color:var(--background);border-radius:50%;border:2px dashed var(--border)}.user-page-default-avatar:hover{transform:scale(1)}.user-page-avatar-input{display:none}.user-page-avatar-error{color:var(--accent);font-size:.9rem;margin-top:1rem;padding:.5rem 1rem;background:var(--accent-dark);border-radius:4px;display:inline-block;animation:slide-down .3s ease}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-page-avatar-label[disabled]{opacity:.7;cursor:not-allowed}.user-page-avatar-label[disabled]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--text-dark);border-radius:50%}.add-symbol{position:absolute;height:20px;pointer-events:none;z-index:2}.rdrCalendarWrapper{box-sizing:border-box;background:#fff;display:inline-flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrDateDisplay{display:flex;justify-content:space-between}.rdrDateDisplayItem{flex:1 1;width:0;text-align:center;color:inherit}.rdrDateDisplayItem+.rdrDateDisplayItem{margin-left:.833em}.rdrDateDisplayItem input{text-align:inherit}.rdrDateDisplayItem input:disabled{cursor:default}.rdrMonthAndYearWrapper{box-sizing:inherit;display:flex;justify-content:space-between}.rdrMonthAndYearPickers{flex:1 1 auto;display:flex;justify-content:center;align-items:center}.rdrNextPrevButton{box-sizing:inherit;cursor:pointer;outline:none}.rdrMonths{display:flex}.rdrMonthsVertical{flex-direction:column}.rdrMonthsHorizontal>div>div>div{display:flex;flex-direction:row}.rdrMonth{width:27.667em}.rdrWeekDays{display:flex}.rdrWeekDay{flex-basis:calc(100% / 7);box-sizing:inherit;text-align:center}.rdrDays{display:flex;flex-wrap:wrap}.rdrInfiniteMonths{overflow:auto}.rdrDateRangeWrapper{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrDateInput{position:relative}.rdrDateInput input{outline:none}.rdrDateInput .rdrWarning{position:absolute;font-size:1.6em;line-height:1.6em;top:0;right:.25em;color:red}.rdrDay{box-sizing:inherit;width:calc(100% / 7);position:relative;font:inherit;cursor:pointer}.rdrDayNumber{display:block;position:relative}.rdrDayNumber span{color:#1d2429}.rdrDayDisabled{cursor:not-allowed}@supports (-ms-ime-align: auto){.rdrDay{flex-basis:14.285%!important}}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge,.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{pointer-events:none}.rdrDateRangePickerWrapper{display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrStaticRanges{display:flex;flex-direction:column}.rdrStaticRange{font-size:inherit}.rdrInputRange{display:flex}.rdrCalendarWrapper{color:#000;font-size:12px}.rdrDateDisplayWrapper{background-color:#eff2f7}.rdrDateDisplay{margin:.833em}.rdrDateDisplayItem{border-radius:4px;background-color:#fff;box-shadow:0 1px 2px #23394236;border:1px solid transparent}.rdrDateDisplayItem input{cursor:pointer;height:2.5em;line-height:2.5em;border:0px;background:transparent;width:100%;color:#849095}.rdrDateDisplayItemActive{border-color:currentColor}.rdrDateDisplayItemActive input{color:#7d888d}.rdrMonthAndYearWrapper{align-items:center;height:60px;padding-top:10px}.rdrMonthAndYearPickers{font-weight:600}.rdrMonthAndYearPickers select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:10px 30px 10px 10px;border-radius:4px;outline:0;color:#3e484f;background:url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") no-repeat;background-position:right 8px center;cursor:pointer;text-align:center}.rdrMonthAndYearPickers select:hover{background-color:#00000012}.rdrMonthPicker,.rdrYearPicker{margin:0 5px}.rdrNextPrevButton{display:block;width:24px;height:24px;margin:0 .833em;padding:0;border:0;border-radius:5px;background:#eff2f7}.rdrNextPrevButton:hover{background:#e1e7f0}.rdrNextPrevButton i{display:block;width:0;height:0;padding:0;text-align:center;border-style:solid;margin:auto;transform:translate(-3px)}.rdrPprevButton i{border-width:4px 6px 4px 4px;border-color:transparent rgb(52,73,94) transparent transparent;transform:translate(-3px)}.rdrNextButton i{margin:0 0 0 7px;border-width:4px 4px 4px 6px;border-color:transparent transparent transparent rgb(52,73,94);transform:translate(3px)}.rdrWeekDays{padding:0 .833em}.rdrMonth{padding:0 .833em 1.666em}.rdrMonth .rdrWeekDays{padding:0}.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{display:none}.rdrWeekDay{font-weight:400;line-height:2.667em;color:#849095}.rdrDay{background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:0;padding:0;line-height:3em;height:3em;text-align:center;color:#1d2429}.rdrDay:focus{outline:0}.rdrDayNumber{outline:0;font-weight:300;position:absolute;left:0;right:0;top:5px;bottom:5px;display:flex;align-items:center;justify-content:center}.rdrDayToday .rdrDayNumber span{font-weight:500}.rdrDayToday .rdrDayNumber span:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:18px;height:2px;border-radius:2px;background:#3d91ff}.rdrDayToday:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span:after{background:#fff}.rdrDay:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span{color:#ffffffd9}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge{background:currentColor;position:absolute;top:5px;left:0;right:0;bottom:5px}.rdrSelected{left:2px;right:2px}.rdrStartEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrEndEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrSelected{border-radius:1.042em}.rdrDayStartOfMonth .rdrInRange,.rdrDayStartOfMonth .rdrEndEdge,.rdrDayStartOfWeek .rdrInRange,.rdrDayStartOfWeek .rdrEndEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrDayEndOfMonth .rdrInRange,.rdrDayEndOfMonth .rdrStartEdge,.rdrDayEndOfWeek .rdrInRange,.rdrDayEndOfWeek .rdrStartEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrDayStartOfMonth .rdrDayInPreview,.rdrDayStartOfMonth .rdrDayEndPreview,.rdrDayStartOfWeek .rdrDayInPreview,.rdrDayStartOfWeek .rdrDayEndPreview{border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;border-left-width:1px;left:0}.rdrDayEndOfMonth .rdrDayInPreview,.rdrDayEndOfMonth .rdrDayStartPreview,.rdrDayEndOfWeek .rdrDayInPreview,.rdrDayEndOfWeek .rdrDayStartPreview{border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;border-right-width:1px;right:0}.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{background:#ffffff17;position:absolute;top:3px;left:0;right:0;bottom:3px;pointer-events:none;border:0px solid currentColor;z-index:1}.rdrDayStartPreview{border-top-width:1px;border-left-width:1px;border-bottom-width:1px;border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;left:0}.rdrDayInPreview{border-top-width:1px;border-bottom-width:1px}.rdrDayEndPreview{border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;right:0}.rdrDefinedRangesWrapper{font-size:12px;width:226px;border-right:solid 1px #eff2f7;background:#fff}.rdrDefinedRangesWrapper .rdrStaticRangeSelected{color:currentColor;font-weight:600}.rdrStaticRange{border:0;cursor:pointer;display:block;outline:0;border-bottom:1px solid #eff2f7;padding:0;background:#fff}.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{background:#eff2f7}.rdrStaticRangeLabel{display:block;outline:0;line-height:18px;padding:10px 20px;text-align:left}.rdrInputRanges{padding:10px 0}.rdrInputRange{align-items:center;padding:5px 20px}.rdrInputRangeInput{width:30px;height:30px;line-height:30px;border-radius:4px;text-align:center;border:solid 1px rgb(222,231,235);margin-right:10px;color:#6c767a}.rdrInputRangeInput:focus,.rdrInputRangeInput:hover{border-color:#b4bfc4;outline:0;color:#333}.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{content:"";border:1px solid currentColor;border-radius:1.333em;position:absolute;top:-2px;bottom:-2px;left:0;right:0;background:transparent}.rdrDayPassive{pointer-events:none}.rdrDayPassive .rdrDayNumber span{color:#d5dce0}.rdrDayPassive .rdrInRange,.rdrDayPassive .rdrStartEdge,.rdrDayPassive .rdrEndEdge,.rdrDayPassive .rdrSelected,.rdrDayPassive .rdrDayStartPreview,.rdrDayPassive .rdrDayInPreview,.rdrDayPassive .rdrDayEndPreview{display:none}.rdrDayDisabled{background-color:#f8f8f8}.rdrDayDisabled .rdrDayNumber span{color:#aeb9bf}.rdrDayDisabled .rdrInRange,.rdrDayDisabled .rdrStartEdge,.rdrDayDisabled .rdrEndEdge,.rdrDayDisabled .rdrSelected,.rdrDayDisabled .rdrDayStartPreview,.rdrDayDisabled .rdrDayInPreview,.rdrDayDisabled .rdrDayEndPreview{filter:grayscale(100%) opacity(60%)}.rdrMonthName{text-align:left;font-weight:600;color:#849095;padding:.833em}
