@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-400.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-500.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-600.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700.woff2) format("woff2")}:root{--primary-color: #3498db;--primary-hover: #2980b9;--primary-shadow: rgba(52, 152, 219, .3);--primary-shadow-hover: rgba(52, 152, 219, .4);--text-dark: #333;--white: #ffffff;--background-light: #f0f0f0;--font-primary: "Montserrat", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-lobster: "Lobster", cursive}*{margin:0;padding:0;box-sizing:border-box}*:focus{outline:none}button,input,select,textarea,a{outline:none}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline:none}body{font-family:var(--font-primary);color:var(--text-dark)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.navigation{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--white);box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.nav-logo img{height:60px;width:auto;cursor:pointer}.nav-right{display:flex;align-items:center;gap:2rem}.nav-phone{display:flex;align-items:center}.nav-phone a{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-weight:600;font-size:1.1rem;color:var(--primary-color);text-decoration:none;transition:all .3s ease;padding:.5rem 1rem;border-radius:8px;background-color:#3498db1a}.nav-phone a:hover{color:var(--primary-hover);background-color:#3498db33}.phone-icon{font-size:1.3rem}.phone-number{white-space:nowrap}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:101}.hamburger span{width:25px;height:3px;background-color:var(--primary-color);border-radius:3px;transition:all .3s ease}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-link{font-size:1rem;font-weight:500;color:var(--text-dark);text-decoration:none;transition:color .3s ease;white-space:nowrap}.nav-link:hover{color:var(--primary-color)}.nav-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:var(--white)!important;padding:.625rem 1.5rem;border-radius:8px;font-weight:600;transition:all .3s ease}.nav-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db4d}.nav-overlay{display:none}@media(max-width:1024px){.nav-links{gap:1rem}.nav-link{font-size:.9rem}.nav-phone a{font-size:1rem}}@media(max-width:768px){.navigation{padding:1rem 1.5rem}.nav-right{gap:1rem}.hamburger{display:flex}.nav-phone a{padding:.5rem;font-size:.95rem}.phone-number{display:none}.phone-icon{font-size:1.5rem}.nav-links{position:fixed;top:0;right:-100%;height:100vh;width:280px;background-color:var(--white);flex-direction:column;justify-content:flex-start;padding:5rem 1.5rem 2rem;gap:1.5rem;box-shadow:-4px 0 20px #0000001a;transition:right .3s ease;z-index:100;box-sizing:border-box}.nav-links.active{right:0}.nav-link{width:100%;margin:0;padding:.75rem 1rem;font-size:1.1rem;border-radius:0;transition:all .3s ease;text-align:left;box-sizing:border-box}.nav-link:hover{background-color:#3498db1a}.nav-btn{margin:1rem 0 0;width:100%;display:block;box-sizing:border-box;text-align:center;padding:.625rem 1rem}.nav-overlay{display:block;position:fixed;inset:0;background-color:#00000080;z-index:99;animation:fadeIn .3s ease}}@media(max-width:480px){.nav-logo img{height:50px}.nav-links{width:280px}}.slider-container{width:100%;height:calc(100vh - 80px);overflow:hidden}.slider{position:relative;width:100%;height:100%;contain:layout style paint}.slider-image{width:100%;height:100%;object-fit:cover;display:block;transform:translateZ(0);will-change:auto}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#fffc;color:var(--text-dark);border:none;font-size:2rem;padding:1rem 1.5rem;cursor:pointer;transition:all .3s ease;z-index:10;border-radius:50%}.slider-btn:hover{background-color:var(--primary-color);color:var(--white)}.slider-btn.prev{left:2rem}.slider-btn.next{right:2rem}.image-slider-dots{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;z-index:10}.image-dot{width:12px;height:12px;border-radius:50%;background-color:#fff9;border:none;cursor:pointer;transition:all .3s ease;padding:0}.image-dot:hover{background-color:#ffffffe6;transform:scale(1.2)}.image-dot.active{background-color:var(--primary-color);transform:scale(1.3)}@media(max-width:768px){.slider-container{height:50vh}.slider-btn{font-size:1.5rem;padding:.5rem 1rem}.slider-btn.prev{left:1rem}.slider-btn.next{right:1rem}.image-slider-dots{bottom:1rem;gap:.5rem}.image-dot{width:10px;height:10px}}.about-section{width:100%;padding:4rem 2rem;background-color:var(--white)}.about-title{font-size:3.5rem;font-family:var(--font-lobster);text-align:center;margin-bottom:3rem;letter-spacing:2px;background:linear-gradient(135deg,#3498db,#2980b9,#5dade2,#1f618d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:400}.about-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-content{display:flex;flex-direction:column;gap:1.5rem}.about-description{font-size:1.1rem;line-height:1.8;color:var(--text-dark);text-align:justify}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem}.feature-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:#f9f9f9;border-radius:8px;transition:all .3s ease}.feature-item:hover{transform:translateY(-5px);box-shadow:0 4px 12px #0000001a}.feature-icon{font-size:2rem;margin-bottom:.5rem}.feature-item h3{font-size:1.1rem;color:var(--primary-color);font-weight:600}.feature-item p{font-size:.9rem;color:#666;line-height:1.4}.about-images{width:100%}.image-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,250px);gap:1rem}.grid-image{width:100%;height:100%;object-fit:cover;border-radius:8px;transition:transform .3s ease}.grid-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}.grid-image:hover{transform:scale(1.05)}.grid-image.large{grid-row:span 2}.mobile-only{display:none}@media(max-width:968px){.about-container{grid-template-columns:1fr;gap:3rem}.about-title{font-size:2rem}.features-grid{grid-template-columns:1fr}.image-grid{grid-template-rows:repeat(2,200px)}}@media(max-width:768px){.about-section{padding:3rem 1rem}.about-title{font-size:1.8rem;margin-bottom:2rem}.about-description{font-size:1rem}.about-container{display:flex;flex-direction:column-reverse}.mobile-only{display:block}.image-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:80px;gap:12px;margin-bottom:2rem}.grid-image:nth-child(1){grid-column:1 / 4;grid-row:1 / 4;border-radius:16px;box-shadow:0 8px 24px #0003;animation:fadeInLeft .6s ease-out}.grid-image:nth-child(2){grid-column:4 / 7;grid-row:1 / 3;border-radius:16px;box-shadow:0 6px 20px #00000026;animation:fadeInRight .7s ease-out}.grid-image:nth-child(3){grid-column:4 / 7;grid-row:3 / 5;border-radius:16px;box-shadow:0 6px 20px #00000026;animation:fadeInRight .8s ease-out}.grid-image:nth-child(4){grid-column:1 / 4;grid-row:4 / 7;border-radius:16px;box-shadow:0 8px 24px #0003;animation:fadeInLeft .9s ease-out}.grid-image:nth-child(5){grid-column:4 / 7;grid-row:5 / 7;border-radius:16px;box-shadow:0 6px 20px #00000026;animation:fadeInUp 1s ease-out}.grid-image,.grid-image.large{height:100%;width:100%}.grid-image img{border-radius:16px}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.features-grid{grid-template-columns:1fr;gap:1rem;margin-top:1.5rem}.feature-item{padding:1.25rem;background:linear-gradient(135deg,#f9f9f9,#fff);border-left:4px solid var(--primary-color)}}.rooms-section{width:100%;padding:4rem 2rem;background-color:#f9f9f9}.rooms-title{font-size:3rem;font-family:var(--font-lobster);text-align:center;margin-bottom:1rem;background:linear-gradient(135deg,#3498db,#2980b9,#5dade2,#1f618d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:2px}.rooms-subtitle{text-align:center;font-size:1.2rem;color:#666;margin-bottom:3rem}.rooms-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.rooms-row{display:flex;gap:2rem;justify-content:flex-start}.rooms-row-centered{justify-content:center}.room-card{background-color:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;display:flex;flex-direction:column;width:350px;flex-shrink:0}.room-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px #00000026}.room-image-wrapper{width:100%;height:250px;overflow:hidden;position:relative}.room-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.room-card:hover .room-image{transform:scale(1.1)}.room-image-nav{position:absolute;top:50%;transform:translateY(-50%);background-color:#ffffffe6;color:var(--primary-color);border:none;width:35px;height:35px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .3s ease;z-index:2;display:flex;align-items:center;justify-content:center}.room-image-nav:hover{background-color:var(--primary-color);color:var(--white)}.room-image-nav.prev{left:10px}.room-image-nav.next{right:10px}.room-image-dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.room-image-dots .dot{width:8px;height:8px;border-radius:50%;background-color:#ffffff80;cursor:pointer;transition:all .3s ease}.room-image-dots .dot:hover{background-color:#fffc}.room-image-dots .dot.active{background-color:var(--white);width:10px;height:10px}.room-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}.room-name{font-size:1.5rem;color:var(--text-dark);font-weight:600;margin:0}.room-description{font-size:1rem;color:#666;line-height:1.6}.room-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.room-feature{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--text-dark);line-height:.5}.feature-icon{color:var(--primary-color);font-weight:700;font-size:1.1rem}.room-btn{margin-top:auto;padding:.75rem 1.5rem;background-color:var(--primary-color);color:var(--white);border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px var(--primary-shadow);text-decoration:none;display:inline-block;text-align:center}.room-btn:hover{background-color:var(--primary-hover);box-shadow:0 6px 8px var(--primary-shadow-hover);transform:translateY(-2px);color:var(--white)}@media(max-width:768px){.rooms-section{padding:3rem 1rem}.rooms-title{font-size:2rem}.rooms-subtitle{font-size:1rem}.rooms-row{flex-direction:column;align-items:center}.rooms-row-centered{justify-content:center}.room-card{width:100%;max-width:100%}.room-image-wrapper{height:200px}}.reviews-section{width:100%;padding:4rem 2rem;background-color:var(--white)}.reviews-title{font-size:3rem;font-family:var(--font-lobster);text-align:center;margin-bottom:1rem;background:linear-gradient(135deg,#3498db,#2980b9,#5dade2,#1f618d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:2px}.reviews-subtitle{text-align:center;font-size:1.2rem;color:#666;margin-bottom:3rem}.rating-stats{max-width:800px;margin:0 auto 4rem;display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.rating-card{background:linear-gradient(135deg,#3498db,#2980b9);padding:2rem;border-radius:12px;text-align:center;color:var(--white);min-width:250px;box-shadow:0 4px 12px #3498db4d;transition:transform .3s ease;text-decoration:none;display:block}.rating-card:hover{transform:translateY(-5px);cursor:pointer}.rating-platform{margin-bottom:1rem}.platform-name{font-size:1.3rem;font-weight:700;color:var(--white)}.google-logo{font-size:1.5rem;font-weight:700;color:var(--white)}.rating-score{font-size:3rem;font-weight:700;margin-bottom:.5rem}.rating-label{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.rating-stars{font-size:1.5rem;margin-bottom:.5rem}.rating-count{font-size:.9rem;opacity:.9}.reviews-slider-container{max-width:1200px;margin:0 auto;position:relative;padding:0 60px}.reviews-slider{overflow:hidden;width:100%}.reviews-track{display:flex;gap:2rem}.review-card{width:calc((100% - 4rem) / 3);min-width:calc((100% - 4rem) / 3);max-width:calc((100% - 4rem) / 3);flex-shrink:0;background-color:#f9f9f9;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .3s ease}.review-card:hover{transform:translateY(-5px);box-shadow:0 4px 16px #00000026;background-color:#fff}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background-color:#ffffffe6;color:var(--primary-color);border:none;font-size:2rem;padding:1rem;cursor:pointer;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10;box-shadow:0 2px 8px #0003}.slider-arrow:hover{background-color:var(--primary-color);color:var(--white);transform:translateY(-50%) scale(1.1)}.slider-arrow.prev{left:0}.slider-arrow.next{right:0}.review-slider-dots{display:flex;justify-content:center;gap:.75rem;margin-top:2rem}.review-dot{width:12px;height:12px;border-radius:50%;background-color:#ddd;border:none;cursor:pointer;transition:all .3s ease;padding:0}.review-dot:hover{background-color:#bbb;transform:scale(1.2)}.review-dot.active{background-color:var(--primary-color);transform:scale(1.3)}.reviews-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.review-card{background-color:#f9f9f9;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.review-card:hover{transform:translateY(-5px);box-shadow:0 4px 16px #00000026}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.review-author{display:flex;gap:1rem;align-items:center}.author-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#3498db,#2980b9);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600}.author-info{display:flex;flex-direction:column;gap:.25rem}.author-name{font-size:1rem;font-weight:600;color:var(--text-dark);margin:0}.author-country{font-size:.9rem;color:#666;margin:0}.review-rating{background:linear-gradient(135deg,#3498db,#2980b9);color:var(--white);padding:.5rem 1rem;border-radius:6px;font-weight:700;font-size:1.2rem}.rating-number:after{content:"";font-size:.8rem;opacity:.8}.review-comment{font-size:1rem;line-height:1.6;color:var(--text-dark);margin-bottom:1rem;font-style:italic}.review-footer{display:flex;justify-content:space-between;font-size:.85rem;color:#666}.review-platform{font-weight:600;color:var(--primary-color)}@media(max-width:1024px){.reviews-slider-container{padding:0 50px}.reviews-track{gap:1.5rem}.review-card{width:calc((100% - 1.5rem)/2);min-width:calc((100% - 1.5rem)/2);max-width:calc((100% - 1.5rem)/2)}}@media(max-width:768px){.reviews-section{padding:3rem 1rem}.reviews-title{font-size:2rem}.rating-stats{flex-direction:column;align-items:center}.reviews-slider-container{padding:0 50px}.slider-arrow{width:40px;height:40px;font-size:1.5rem;padding:.5rem}.reviews-track{gap:1rem}.review-card{width:100%;min-width:100%;max-width:100%;padding:1.5rem;flex-shrink:0}}@media(max-width:480px){.review-card{width:100%;min-width:100%;max-width:100%}.reviews-track{gap:1rem}}.map-section{width:100%;padding:4rem 2rem;background-color:#f9f9f9}.map-container{max-width:1400px;margin:0 auto}.map-content{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;background-color:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0000001a}.map-info{padding:3rem;display:flex;flex-direction:column;gap:2rem}.map-title{font-size:2.5rem;font-family:var(--font-lobster);background:linear-gradient(135deg,#3498db,#2980b9,#5dade2,#1f618d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.map-subtitle{font-size:1.1rem;color:#666;line-height:1.6}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;gap:1rem;align-items:flex-start}.contact-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:12px;flex-shrink:0}.contact-details{flex:1}.contact-details h3{font-size:1.1rem;font-weight:600;color:var(--text-dark);margin:0 0 .5rem}.contact-details p{font-size:1rem;color:#666;margin:0;line-height:1.6}.contact-details a{font-size:1rem;color:var(--primary-color);text-decoration:none;transition:color .3s ease}.contact-details a:hover{color:var(--primary-hover);text-decoration:underline}.location-highlights{background:linear-gradient(135deg,#3498db1a,#2980b91a);padding:1.5rem;border-radius:12px}.location-highlights h3{font-size:1.2rem;font-weight:600;color:var(--text-dark);margin:0 0 1rem}.location-highlights ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.location-highlights li{font-size:1rem;color:#666;padding-left:0}.map-embed{min-height:500px;position:relative}.map-embed iframe{width:100%;height:100%}@media(max-width:1024px){.map-content{grid-template-columns:1fr}.map-embed{min-height:400px}}@media(max-width:768px){.map-section{padding:3rem 1rem}.map-info{padding:2rem}.map-title{font-size:2rem}.map-embed{min-height:350px}.contact-icon{width:40px;height:40px;font-size:1.5rem}}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--white);border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background-color:transparent;border:none;font-size:1.5rem;color:#666;cursor:pointer;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;z-index:10}.modal-close:hover{background-color:#f0f0f0;color:var(--text-dark);transform:rotate(90deg)}.modal-header{padding:2rem 2rem 1rem;border-bottom:2px solid #f0f0f0}.modal-header h2{font-size:2rem;font-family:var(--font-lobster);background:linear-gradient(135deg,#3498db,#2980b9,#5dade2,#1f618d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem}.modal-header p{font-size:1rem;color:#666;margin:0}.contact-form{padding:2rem}.form-group{margin-bottom:.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-dark);margin-bottom:.5rem;font-size:.95rem}.label-icon{font-size:1.1rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background-color:#f9f9f9}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);background-color:var(--white);box-shadow:0 0 0 3px #ff4d7a1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group textarea{resize:vertical;min-height:100px}.submit-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#25d366,#128c7e);color:var(--white);border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #25d36666}.submit-btn svg{width:24px;height:24px}.modal-footer{padding:1rem 2rem 2rem;text-align:center;border-top:2px solid #f0f0f0}.modal-footer p{color:#666;font-size:.95rem;margin:0}.modal-footer a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .3s ease}.modal-footer a:hover{color:var(--primary-hover);text-decoration:underline}@media(max-width:768px){.modal-content{max-height:95vh;border-radius:15px}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-header h2{font-size:1.75rem}.contact-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.modal-footer{padding:1rem 1.5rem 1.5rem}}.footer{background:linear-gradient(135deg,#2c2c2c,#1a1a1a);color:var(--white);padding:4rem 2rem 2rem}.footer-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem;margin-bottom:3rem}.footer-section h4{font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;color:var(--white)}.footer-logo{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.footer-logo img{width:50px;height:50px;object-fit:contain}.footer-logo h3{font-size:1.5rem;font-family:var(--font-lobster);color:var(--primary-color);margin:0}.footer-description{font-size:.95rem;line-height:1.6;color:#ccc;margin-bottom:1.5rem}.social-links{display:flex;gap:1rem}.social-links a{width:40px;height:40px;border-radius:50%;background-color:#ffffff1a;display:flex;align-items:center;justify-content:center;color:var(--white);transition:all .3s ease}.social-links a:hover{background-color:var(--primary-color);transform:translateY(-3px)}.social-links svg{width:20px;height:20px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.75rem}.footer-links a{color:#ccc;text-decoration:none;font-size:.95rem;transition:color .3s ease}.footer-links a:hover{color:var(--primary-color)}.footer-contact{list-style:none;padding:0;margin:0 0 1.5rem}.footer-contact li{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.95rem;color:#ccc}.footer-contact span:first-child{font-size:1.2rem}.footer-contact a{color:#ccc;text-decoration:none;transition:color .3s ease}.footer-contact a:hover{color:var(--primary-color)}.contact-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:var(--white);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.contact-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff4d7a66}.footer-bottom{max-width:1400px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#999}.footer-bottom-links{display:flex;gap:1rem;align-items:center}.footer-bottom-links a{color:#999;text-decoration:none;transition:color .3s ease}.footer-bottom-links a:hover{color:var(--primary-color)}@media(max-width:1024px){.footer-content{grid-template-columns:1fr 1fr;gap:2rem}}@media(max-width:768px){.footer{padding:3rem 1.5rem 1.5rem}.footer-content{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 4px 12px #25d36666}50%{transform:scale(1.05);box-shadow:0 6px 20px #25d36699}to{transform:scale(1);box-shadow:0 4px 12px #25d36666}}@keyframes ring{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.whatsapp-button{position:fixed;bottom:30px;right:30px;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #25d36666;transition:all .3s ease;z-index:9999;animation:pulse 2s infinite}.whatsapp-button:hover{transform:scale(1.1);box-shadow:0 6px 20px #25d36699;animation:ring .8s ease-in-out}.whatsapp-icon{width:32px;height:32px;flex-shrink:0}@media(max-width:768px){.whatsapp-button{bottom:20px;right:20px;width:55px;height:55px}.whatsapp-icon{width:28px;height:28px}}@media(max-width:480px){.whatsapp-button{width:50px;height:50px;bottom:30px;right:30px}.whatsapp-icon{width:26px;height:26px}}.home{width:100%;min-height:calc(100vh - 80px)}.booking-page{min-height:100vh;background-color:#f5f5f5;padding-bottom:4rem}.booking-hero{background:linear-gradient(135deg,#3498db,#2980b9,#5dade2,#1f618d);color:var(--white);padding:4rem 2rem 3rem;text-align:center}.booking-title{font-size:3rem;font-family:var(--font-lobster);margin-bottom:1rem;letter-spacing:2px}.booking-subtitle{font-size:1.3rem;opacity:.95;font-weight:500}.booking-container{max-width:100%;margin:-2rem auto 0;padding:0 2rem}.booking-steps{display:flex;align-items:center;justify-content:center;background-color:var(--white);padding:2rem;border-radius:12px;box-shadow:0 2px 12px #0000001a;margin-bottom:2rem}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.4;transition:all .3s ease}.step.active{opacity:1}.step-number{width:50px;height:50px;border-radius:50%;background-color:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;transition:all .3s ease}.step.active .step-number{background:linear-gradient(135deg,#3498db,#2980b9);color:var(--white);transform:scale(1.1)}.step-label{font-size:.9rem;font-weight:600;color:#666;white-space:nowrap}.step.active .step-label{color:var(--primary-color)}.step-line{height:2px;width:80px;background-color:#e0e0e0;margin:0 1rem}.booking-content{background-color:var(--white);border-radius:12px;padding:2rem;box-shadow:0 2px 12px #0000001a}@media(max-width:768px){.booking-container{padding:0 .5rem}.booking-hero{padding:3rem 1rem 2rem}.booking-title{font-size:2rem}.booking-subtitle{font-size:1rem}.booking-steps{padding:1.5rem 1rem;overflow-x:auto}.step-number{width:40px;height:40px;font-size:1.1rem}.step-label{font-size:.75rem}.step-line{width:40px;margin:0 .5rem}.booking-content{padding:1rem}}.search-form-container{max-width:900px;margin:0 auto;overflow-x:hidden;box-sizing:border-box}.room-preview{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;background:#f8f9fa;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.room-preview-images{position:relative;width:100%;height:350px;overflow:hidden;background:#000}.preview-image{width:100%;height:100%;object-fit:cover}.preview-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fffffff2;border:none;color:var(--primary-color);font-size:1.8rem;width:45px;height:45px;border-radius:50%;cursor:pointer;transition:all .3s ease;z-index:2;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003}.preview-nav:hover{background:var(--white);transform:translateY(-50%) scale(1.1);box-shadow:0 4px 12px #0000004d}.preview-nav.prev{left:15px}.preview-nav.next{right:15px}.preview-dots{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.preview-dots .dot{width:10px;height:10px;border-radius:50%;background:#ffffff80;cursor:pointer;transition:all .3s ease}.preview-dots .dot:hover{background:#fffc;transform:scale(1.2)}.preview-dots .dot.active{background:var(--white);transform:scale(1.3)}.room-preview-info{padding:1.5rem;text-align:center}.room-preview-info .search-form-title{margin-bottom:.5rem;font-size:1.8rem}.room-available{display:flex;flex-direction:column;align-items:center;gap:.5rem}.room-price{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-top:.75rem}.room-price.loading{color:#999;font-style:italic;font-size:.95rem}.price-amount{font-size:2rem;font-weight:700;color:var(--primary-color);font-family:var(--font-lobster)}.price-period{font-size:1rem;color:#666;font-weight:500}.rooms-remaining{font-size:.85rem;color:#e67e22;font-weight:600;margin:0;padding:.25rem .75rem;background:#fef5e7;border-radius:12px}.room-unavailable{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.75rem;padding:1rem;background:#fee;border-radius:8px;border:2px solid #fcc}.unavailable-icon{font-size:2rem}.unavailable-message{color:#c33;font-weight:600;text-align:center;margin:0;font-size:.95rem}.room-price-hint{color:#999;font-size:.95rem;margin-top:.5rem;font-style:italic}.room-price-hint.development-mode{color:#e67e22;font-weight:500;background:#fef5e7;padding:.5rem 1rem;border-radius:6px;margin-top:.75rem}.room-code{color:#666;font-size:.9rem;margin-bottom:.75rem;font-style:italic}.room-capacity{color:#555;font-size:1rem;font-weight:500;margin:0}.search-form-title{font-size:2rem;font-family:var(--font-lobster);color:var(--primary-color);text-align:center;margin-bottom:.5rem}.search-form-subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:1.1rem}.search-error{background-color:#fee;color:#c33;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;border:1px solid #fcc}.search-form{display:flex;flex-direction:column;gap:1.5rem;max-width:100%;box-sizing:border-box}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.form-row.dates-row{grid-template-columns:repeat(5,1fr)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.95rem}.form-group label .required{color:#e74c3c;margin-left:2px}.form-section-title{font-size:1.4rem;font-weight:700;color:var(--primary-color);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.form-subsection-title{font-size:1.1rem;font-weight:600;color:#333;margin-top:1.5rem;margin-bottom:1rem}.price-type-options,.payment-method-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.radio-option{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.radio-option:hover{border-color:var(--primary-color);background-color:#f8f9fa}.radio-option input[type=radio]{margin-top:.25rem;width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color)}.radio-option input[type=radio]:checked+.radio-label{color:var(--primary-color)}.radio-label{display:flex;flex-direction:column;gap:.25rem;flex:1}.radio-label strong{font-size:1rem;color:#333}.radio-description{font-size:.875rem;color:#666}.radio-option:has(input:checked){border-color:var(--primary-color);background-color:#3498db0d}.guest-info-toggle{background:linear-gradient(135deg,#27ae60,#229954);color:var(--white);border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1.5rem;width:100%;box-shadow:0 4px 12px #27ae604d;outline:none}.guest-info-toggle:hover{background:linear-gradient(135deg,#229954,#1e7e45);transform:translateY(-2px);box-shadow:0 6px 16px #27ae6066;outline:none}.guest-info-toggle:focus{outline:none}.guest-info-toggle:disabled{background:linear-gradient(135deg,#95a5a6,#7f8c8d);cursor:not-allowed;opacity:.6;transform:none;box-shadow:0 2px 6px #95a5a633}.guest-info-toggle:disabled:hover{transform:none;box-shadow:0 2px 6px #95a5a633}.guest-info-section{transition:all .3s ease;overflow:visible}.guest-info-section.hidden{display:none;opacity:0;max-height:0}.guest-info-section.visible{display:block;opacity:1;max-height:none}.payment-button{background:linear-gradient(135deg,#3498db,#2980b9);color:var(--white);border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1.5rem;width:100%;box-shadow:0 4px 12px #3498db4d;outline:none}.payment-button:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1f618d);transform:translateY(-2px);box-shadow:0 6px 16px #3498db66;outline:none}.payment-button:focus{outline:none}.payment-button:disabled{opacity:.6;cursor:not-allowed;outline:none}.form-group input,.form-group select{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit;outline:none}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db1a}.nights-input{background-color:#f8f9fa;font-weight:600;color:var(--primary-color);text-align:center;cursor:default;outline:none}.nights-input:focus{border-color:#e0e0e0;box-shadow:none;outline:none}.search-button{background:linear-gradient(135deg,#3498db,#2980b9);color:var(--white);border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem;box-shadow:0 4px 12px #3498db4d;outline:none}.search-button:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1f618d);transform:translateY(-2px);box-shadow:0 6px 16px #3498db66;outline:none}.search-button:focus{outline:none}.search-button:disabled{opacity:.6;cursor:not-allowed;outline:none}.best-price-badge{display:flex;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg,#27ae60,#229954);color:var(--white);padding:1rem;border-radius:8px;margin-top:2rem;font-weight:600;box-shadow:0 4px 12px #27ae604d}.badge-icon{font-size:1.5rem}.badge-text{font-size:1rem}.rate-type-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.radio-option{position:relative;padding:1.25rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;background:var(--white);display:flex;flex-direction:column;gap:.5rem}.radio-option:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #3498db33}.radio-option.selected{border-color:var(--primary-color);background:#3498db0d;box-shadow:0 4px 12px #3498db4d}.radio-option input[type=radio]{position:absolute;opacity:0}.radio-option label{cursor:pointer;font-weight:600;color:var(--text-dark);margin-bottom:.25rem;display:flex;align-items:flex-start;gap:.5rem}.radio-option label:before{content:"";display:inline-block;width:20px;height:20px;border:2px solid #e0e0e0;border-radius:50%;margin-top:2px;flex-shrink:0;transition:all .3s ease}.radio-option.selected label:before{border-color:var(--primary-color);background:var(--primary-color);box-shadow:inset 0 0 0 4px var(--white)}.radio-price{display:inline-block;padding:.5rem .75rem;background:linear-gradient(135deg,#3498db,#2980b9);color:var(--white);border-radius:6px;font-weight:700;font-size:1.1rem;margin-top:.25rem;box-shadow:0 2px 6px #3498db4d}.radio-price.discount{background:linear-gradient(135deg,#27ae60,#229954);box-shadow:0 2px 6px #27ae604d;position:relative;padding-right:3rem}.radio-price.discount:after{content:"-10%";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:#ffffff4d;padding:.15rem .4rem;border-radius:4px;font-size:.75rem;font-weight:800}.radio-description{font-size:.875rem;color:var(--text-light);margin-top:.25rem;line-height:1.4}@media(max-width:768px){.rate-type-options{grid-template-columns:1fr}.radio-option{padding:1rem}.radio-price{font-size:1rem}}@media(max-width:768px){.search-form-title{font-size:1.5rem}.room-preview-images{height:250px}.preview-nav{width:38px;height:38px;font-size:1.4rem}.preview-nav.prev{left:10px}.preview-nav.next{right:10px}.room-preview-info{padding:1rem}.room-preview-info .search-form-title{font-size:1.4rem}.price-amount{font-size:1.6rem}.price-period{font-size:.9rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-row.dates-row{grid-template-columns:1fr}.search-button{font-size:1rem;padding:.875rem 1.5rem}.best-price-badge{flex-direction:column;gap:.5rem;text-align:center}}.credit-card-section{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 10px 30px #0000004d;animation:slideIn .3s ease-out;max-width:100%;box-sizing:border-box}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.credit-card-section .form-subsection-title{color:#fff;margin-bottom:1.5rem;font-size:1.3rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2)}.credit-card-container{display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:100%;box-sizing:border-box}.credit-card-visual{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:16px;padding:1.5rem;box-shadow:0 8px 20px #0000004d;position:relative;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;width:100%;max-width:450px;margin:0 auto;box-sizing:border-box}.credit-card-visual:before{content:"";position:absolute;top:20px;right:20px;width:60px;height:40px;background:linear-gradient(135deg,gold,#ffed4e);border-radius:8px;opacity:.8}.credit-card-chip{width:50px;height:40px;background:linear-gradient(135deg,#e8e8e8,silver);border-radius:8px;margin-bottom:1.5rem;position:relative}.credit-card-chip:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:35px;height:28px;border:2px solid rgba(0,0,0,.1);border-radius:4px}.card-number-display{color:#fff;font-size:1.5rem;font-family:Courier New,monospace;letter-spacing:3px;margin-bottom:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3);word-break:break-all;overflow-wrap:break-word}.card-details-row{display:flex;justify-content:space-between;align-items:flex-end}.card-holder-display,.card-expiry-display{color:#ffffffe6;font-size:.9rem}.card-holder-display .label,.card-expiry-display .label{font-size:.7rem;text-transform:uppercase;opacity:.7;margin-bottom:.3rem}.card-holder-display .value,.card-expiry-display .value{font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.credit-card-inputs{background:#fff;padding:1rem;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:.75rem}.credit-card-inputs .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.credit-card-inputs .form-row.full-width{grid-template-columns:1fr}.credit-card-inputs .form-group{display:flex;flex-direction:column}.credit-card-inputs .form-group label{color:#333;font-weight:600;margin-bottom:.5rem;display:block}.credit-card-inputs .form-group input{width:100%;padding:.875rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit;box-sizing:border-box}.credit-card-inputs .form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.credit-card-inputs .form-group input::placeholder{color:#999}.credit-card-inputs .form-row .form-group:nth-child(1) input,.credit-card-inputs .form-row .form-group:nth-child(2) input{text-align:center;font-weight:600}.credit-card-inputs .payment-button{width:100%;max-width:100%;margin-top:1rem;box-sizing:border-box;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.credit-card-inputs .payment-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.credit-card-inputs .payment-button:disabled{opacity:.6;cursor:not-allowed}.credit-card-section .payment-button{width:100%;max-width:100%;margin-top:1.5rem;box-sizing:border-box}@media(max-width:768px){.credit-card-section{padding:1.2rem}.credit-card-visual{padding:1.5rem;min-height:180px;max-width:100%}.card-number-display{font-size:1.1rem;letter-spacing:2px}.card-holder-display .value,.card-expiry-display .value{font-size:.95rem}.credit-card-inputs{padding:1rem}.credit-card-inputs .form-row{grid-template-columns:1fr}}
