@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .3s ease-out}.booking-success-modal{z-index:10001!important;position:fixed!important}.booking-success-backdrop{z-index:10000!important;position:fixed!important}@media (min-width: 1068px){.booking-success-modal{z-index:999999!important;position:fixed!important;transform:none!important}.booking-success-backdrop{z-index:999998!important;position:fixed!important;transform:none!important}.booking-success-modal *{position:relative!important}}.booking-success-modal,.booking-success-backdrop{isolation:isolate!important;will-change:auto!important}@media (min-width: 1068px){.booking-success-modal{z-index:2147483647!important}.booking-success-backdrop{z-index:2147483646!important}}.booking-success-modal{contain:layout style paint!important}@media (min-width: 1068px){body:has(.booking-success-modal){overflow:hidden!important}.booking-success-modal{contain:none!important;isolation:isolate!important}}:root{--color-mountain-blue: #1e40af;--color-mountain-light: #3b82f6;--color-forest-green: #059669;--color-earth-brown: #a3765a;--color-stone-gray: #6b7280;--color-snow-white: #ffffff;--color-cloud-gray: #f8fafc;--font-display: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);line-height:1.6;color:#1f2937;background-color:var(--color-snow-white)}.text-display-xl{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}.text-display-lg{font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.2;letter-spacing:-.01em}.text-heading-xl{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;line-height:1.3}.text-body-lg{font-size:1.125rem;line-height:1.7;color:#4b5563}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;border-radius:var(--radius-lg);transition:all var(--transition-fast);border:none;cursor:pointer;text-decoration:none;min-height:44px;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--color-mountain-blue),var(--color-mountain-light));color:var(--color-snow-white);padding:.75rem 2rem;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:focus{outline:2px solid var(--color-mountain-light);outline-offset:2px}.btn-secondary{background:#fff3;color:var(--color-snow-white);border:2px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);padding:.75rem 2rem}.btn-secondary:hover{background:#ffffff4d;border-color:#ffffff80}.card{background:var(--color-snow-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid #e5e7eb;transition:all var(--transition-normal);overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-content{padding:var(--space-xl)}.image-optimized{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.image-optimized:hover{transform:scale(1.05)}.glass{background:#ffffff1a;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg)}.form-input{width:100%;padding:.75rem 1rem;border:2px solid #d1d5db;border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-fast);background:var(--color-snow-white)}.form-input:focus{outline:none;border-color:var(--color-mountain-light);box-shadow:0 0 0 3px #3b82f61a}.form-input:invalid{border-color:#ef4444}.form-label{display:block;font-weight:500;color:#374151;margin-bottom:var(--space-xs)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseSubtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}@keyframes scrollDown{0%{transform:translate(-50%) translateY(0);opacity:0}15%{opacity:1}50%{transform:translate(-50%) translateY(12px);opacity:1}85%{opacity:0}to{transform:translate(-50%) translateY(16px);opacity:0}}@keyframes bounceGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fadeInUp{animation:fadeInUp .8s ease-out}.animate-slideInDown{animation:slideInDown .8s ease-out}.animate-fadeIn{animation:fadeIn .6s ease-out}.animate-slide-in-right{animation:slideInRight .6s ease-out}.animate-pulse-slow{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-subtle{animation:pulseSubtle 3s cubic-bezier(.4,0,.6,1) infinite}.animate-scroll-down{animation:scrollDown 2s ease-in-out infinite}.animate-bounce-gentle{animation:bounceGentle 2s ease-in-out infinite}.animation-delay-300{animation-delay:.3s}.animation-delay-500{animation-delay:.5s}.animation-delay-700{animation-delay:.7s}.animation-delay-1000{animation-delay:1s}.scroll-reveal{opacity:0;transform:translateY(30px);transition:all .6s ease-out}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-md)}.focus-ring{transition:all var(--transition-fast)}.focus-ring:focus{outline:2px solid var(--color-mountain-light);outline-offset:2px}.focus-ring:focus:not(:focus-visible){outline:none}@media (prefers-contrast: high){.btn-primary{background:#000;border:2px solid #ffffff}.card{border:2px solid #000000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scroll-reveal{opacity:1;transform:none}}@media (prefers-color-scheme: dark){:root{--color-snow-white: #1f2937;--color-cloud-gray: #111827}body{background-color:var(--color-cloud-gray);color:#f9fafb}.card{background:#374151;border-color:#4b5563}}@media (max-width: 768px){.btn{min-height:48px;padding:1rem 1.5rem}.card-content{padding:var(--space-lg)}.text-display-xl{font-size:2.5rem}}@media (min-width: 768px) and (max-width: 1024px){.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (min-width: 1200px){.container-xl{max-width:1400px;margin:0 auto;padding:0 2rem}}@media print{.no-print{display:none!important}.print-friendly{color:#000!important;background:#fff!important}}.text-balance{text-wrap:balance}.aspect-video{aspect-ratio:16 / 9}.aspect-square{aspect-ratio:1 / 1}.backdrop-blur-glass{backdrop-filter:blur(20px) saturate(180%)}.gradient-mountain{background:linear-gradient(135deg,var(--color-mountain-blue),var(--color-mountain-light))}.gradient-earth{background:linear-gradient(135deg,var(--color-earth-brown),var(--color-forest-green))}.will-change-transform{will-change:transform}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.sticky-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(20px);background:#fffffff2;border-bottom:1px solid rgba(0,0,0,.1)}.full-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.progressive-image{filter:blur(5px);transition:filter .3s ease}.progressive-image.loaded{filter:none}.premium-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc}.premium-scrollbar::-webkit-scrollbar{width:8px}.premium-scrollbar::-webkit-scrollbar-track{background:#f8fafc;border-radius:10px;margin:10px 0}.premium-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#9ca3af);border-radius:10px;border:1px solid #e5e7eb}.premium-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9ca3af,#6b7280)}.premium-scrollbar::-webkit-scrollbar-corner{background:#f8fafc}.amenity-tag{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;background-color:#f3f4f6;color:#374151;border-radius:9999px;font-size:.75rem;font-weight:500;line-height:1.2;white-space:nowrap;min-height:auto;height:auto}.bg-mountain-blue{background-color:var(--color-mountain-blue, #1e40af)}.text-mountain-blue{color:var(--color-mountain-blue, #1e40af)}.text-mountain-light{color:var(--color-mountain-light, #3b82f6)}.border-mountain-blue{border-color:var(--color-mountain-blue, #1e40af)}.amenity-item{display:flex;align-items:center;padding:.5rem 0;transition:all .2s ease}.amenity-item:hover{padding-left:.25rem}.amenity-bullet{width:6px;height:6px;background-color:var(--color-mountain-blue, #1e40af);border-radius:50%;margin-right:.75rem;flex-shrink:0}input[type=date]{position:relative;background-image:none;font-variant-numeric:tabular-nums;letter-spacing:.025em;text-align:center;font-size:16px}input[type=date]::-webkit-datetime-edit{padding:0 8px;text-align:center;font-weight:500;display:block;width:100%;color:#1f2937;font-size:16px}input[type=date]::-webkit-datetime-edit-fields-wrapper{display:inline-flex;align-items:center;justify-content:center;padding:0;width:auto}input[type=date]::-webkit-datetime-edit-text{padding:0 2px;color:#6b7280;font-weight:400;font-size:16px}input[type=date]:invalid{color:transparent}input[type=date]:invalid::-webkit-datetime-edit{color:transparent}input[type=date]:invalid:before{content:"Select date";position:absolute;left:48px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:16px;font-weight:400;pointer-events:none}input[type=date]:focus:invalid:before{content:"dd/mm/yyyy";color:#6b7280}input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-year-field{padding:2px 1px;border-radius:3px;background:transparent;color:#1f2937;font-weight:500;font-size:16px;text-align:center;min-width:20px;border:none;outline:none}input[type=date]::-webkit-datetime-edit-day-field:focus,input[type=date]::-webkit-datetime-edit-month-field:focus,input[type=date]::-webkit-datetime-edit-year-field:focus{background-color:#dbeafe;color:#1e40af;outline:none}input[type=date]::-webkit-calendar-picker-indicator{opacity:1;position:absolute;right:12px;width:24px;height:24px;cursor:pointer;background:transparent;border:none;outline:none;z-index:10;margin:0;padding:0}input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#3b82f61a;border-radius:4px}input[type=date]::-moz-focus-inner{border:0;padding:0}@-moz-document url-prefix(){input[type=date]{text-align:center;font-size:16px;padding:12px 48px 12px 12px}}@media (max-width: 480px){button,a{min-height:52px;padding:1rem 1.25rem;font-size:16px}.form-input{font-size:16px;padding:1rem}input[type=date]{font-size:16px!important;min-width:200px;text-align:center;padding-right:8px!important}input[type=date]::-webkit-datetime-edit{font-size:16px;padding:0}input[type=date]::-webkit-datetime-edit-fields-wrapper{display:flex;align-items:center;justify-content:center}@media (max-width: 400px){input[type=date]{font-size:14px!important;min-width:180px}}.bottom-nav a{min-height:64px;min-width:64px;padding:.75rem}.hero-buttons{flex-direction:column;gap:.75rem;width:100%}.hero-buttons .btn{width:100%;justify-content:center}}@media (min-width: 768px) and (max-width: 1024px){.booking-widget{max-width:480px;margin:0 auto}.hero-content{padding:2rem}.amenities-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 1920px){.container-ultra{max-width:1600px;margin:0 auto}.hero-content{max-width:1200px;margin:0 auto}}select{text-align:center;text-align-last:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}select option{text-align:center;background:#fff;color:#1f2937;padding:8px 16px;font-weight:500;direction:ltr}@-moz-document url-prefix(){select{text-align:center;text-align-last:center}select option{text-align:center}}select::-webkit-textfield-decoration-container{text-align:center}select[multiple] option{text-align:center;padding:6px 12px}.guests-select{text-align:center!important;text-align-last:center!important;text-indent:0!important;position:relative}.guests-select option{text-align:center!important;text-indent:0!important;direction:ltr!important;background:#fff!important;color:#1f2937!important;padding:8px 16px!important;margin:0 0 2px!important;border-radius:.75rem!important;border:1px solid #e5e7eb!important}.guests-select::-webkit-textfield-decoration-container{text-align:center!important}.guests-select option:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;color:#1e40af!important;cursor:pointer!important;transform:scale(1.02)!important;transition:all .2s ease!important}.guests-select option:checked,.guests-select option:selected{background:linear-gradient(135deg,#3b82f6,#1e40af)!important;color:#fff!important;font-weight:600!important}.guests-select{border-radius:.75rem!important}@-moz-document url-prefix(){.guests-select option{text-align:center!important;border-radius:.75rem!important}.guests-select option:hover{background:#dbeafe!important;color:#1e40af!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.image-optimized{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (max-height: 500px) and (orientation: landscape){.hero-section{min-height:100vh;display:flex;align-items:center}.hero-content{padding:1rem}.hero-title{font-size:2.5rem;margin-bottom:1rem}.bottom-nav{padding:.5rem}}
