.language-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.language-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:400px;width:90%;max-height:80vh;overflow:hidden}.language-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;background:#f8f9fa}.language-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1a202c}.language-modal-content{padding:1rem;max-height:60vh;overflow-y:auto}.language-modal-item{display:flex;align-items:center;padding:1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:.5rem;border:1px solid transparent}.language-modal-item:hover{background:#f7fafc;border-color:#e2e8f0}.language-modal-item.active{background:#ebf8ff;border-color:#3182ce;color:#2b6cb0}.language-modal-item span{margin-right:.75rem;font-size:1.2rem}.language-modal-item span:last-child{font-weight:500;font-size:1rem}@media (max-width: 768px){.language-modal{width:95%;margin:1rem}.language-modal-header{padding:1rem}.language-modal-content,.language-modal-item{padding:.75rem}}.loading-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px #0000004d;padding:3rem;max-width:400px;width:90%;text-align:center}.loading-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.loading-animation{display:flex;justify-content:center;align-items:center;width:120px;height:120px}.default-spinner{position:relative;width:80px;height:80px}.spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:4px solid transparent;border-top:4px solid #007bff;border-radius:50%;animation:spin 1.2s linear infinite}.spinner-ring:nth-child(1){animation-delay:0s}.spinner-ring:nth-child(2){animation-delay:-.4s;border-top-color:#1a365d;width:90%;height:90%;top:5%;left:5%}.spinner-ring:nth-child(3){animation-delay:-.8s;border-top-color:#3182ce;width:80%;height:80%;top:10%;left:10%}.search-results-loader{display:flex;flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:600px}.loader-resort-card{display:flex;width:100%;height:200px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #0000001a}.loader-image{width:40%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.loader-content{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.loader-header{display:flex;flex-direction:column;gap:.5rem}.loader-title{height:20px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:80%}.loader-location{height:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:60%}.loader-links{display:flex;flex-direction:column;gap:.5rem}.loader-link{height:14px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:70%}.loader-availability{height:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:50%}.loader-pricing{width:200px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.loader-badge{height:24px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px;width:80%}.loader-price{height:32px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:60%}.loader-button{height:40px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px;width:100%}.loader-pulse{display:flex;gap:.5rem;align-items:center}.pulse-dot{width:8px;height:8px;background:#3182ce;border-radius:50%;animation:pulse 1.4s ease-in-out infinite both}.pulse-dot:nth-child(1){animation-delay:-.32s}.pulse-dot:nth-child(2){animation-delay:-.16s}.pulse-dot:nth-child(3){animation-delay:0s}@keyframes pulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.modal-spinner{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.spinner-ring{position:relative;width:60px;height:60px}.spinner-ring .ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-top:3px solid #3182ce;border-radius:50%;animation:spin 1.2s linear infinite}.spinner-ring .ring:nth-child(1){animation-delay:0s}.spinner-ring .ring:nth-child(2){animation-delay:-.4s;border-top-color:#63b3ed;width:90%;height:90%;top:5%;left:5%}.spinner-ring .ring:nth-child(3){animation-delay:-.8s;border-top-color:#90cdf4;width:80%;height:80%;top:10%;left:10%}.loading-pulse{display:flex;gap:.5rem;align-items:center}.loading-pulse .pulse-dot{width:8px;height:8px;background:#3182ce;border-radius:50%;animation:pulse 1.4s ease-in-out infinite both}.loading-pulse .pulse-dot:nth-child(1){animation-delay:-.32s}.loading-pulse .pulse-dot:nth-child(2){animation-delay:-.16s}.loading-pulse .pulse-dot:nth-child(3){animation-delay:0s}.loading-text{display:flex;flex-direction:column;gap:.5rem}.loading-title{font-family:Urbanist,sans-serif;font-size:1.5rem;font-weight:600;color:#1a365d;margin:0}.loading-subtitle{font-family:Urbanist,sans-serif;font-size:1rem;color:#666;margin:0;line-height:1.5}.loading-progress{display:flex;gap:.5rem;align-items:center;justify-content:center}.loading-dot{width:8px;height:8px;background:#007bff;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.loading-dot:nth-child(1){animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (max-width: 480px){.loading-modal{padding:2rem;margin:1rem}.loading-animation{width:100px;height:100px}.default-spinner{width:60px;height:60px}.loading-title{font-size:1.25rem}.loading-subtitle{font-size:.9rem}}.onboarding-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:3rem}.onboarding-step-title{font-size:1.5rem;font-weight:600;color:#071758;margin:0 0 1rem;text-align:center;font-family:Urbanist,sans-serif}.onboarding-step-description{font-size:1rem;color:#64748b;margin:0 0 2rem;text-align:left;line-height:1.5;font-family:Urbanist,sans-serif}.onboarding-state-1{text-align:center;padding:2rem 0}.onboarding-year-selector{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem}.onboarding-year-nav-btn{width:40px;height:40px;border-radius:50%;border:none;background:#f8f9fa;color:#071758;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.onboarding-year-nav-btn:hover{background:#e9ecef;transform:scale(1.05)}.onboarding-year-display{background:#f8f9fa;padding:.75rem 1.5rem;border-radius:12px;font-size:1.5rem;font-weight:700;color:#071758;min-width:80px;text-align:center}.onboarding-month-selection{display:flex;gap:1rem;justify-content:center}.onboarding-month-btn{padding:.75rem 1.5rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#64748b;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.onboarding-month-btn.selected{background:#3b82f6;color:#fff;border-color:#3b82f6}.onboarding-month-btn:hover:not(.selected){background:#f8f9fa;border-color:#cbd5e0}.onboarding-state-2{text-align:center;padding:1rem 0}.onboarding-calendar{max-width:400px;margin:0 auto}.onboarding-calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem}.onboarding-weekday{font-size:.875rem;font-weight:600;color:#64748b;text-align:center;padding:.5rem 0}.onboarding-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.onboarding-calendar-day{width:40px;height:40px;border:none;border-radius:8px;background:#fff;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin:0 auto}.onboarding-calendar-day.available{color:#1e293b;cursor:pointer}.onboarding-calendar-day.available:hover{background:#f1f5f9;transform:scale(1.05)}.onboarding-calendar-day.selected{background:#3b82f6;color:#fff;transform:scale(1.1)}.onboarding-calendar-day.empty{background:transparent;cursor:default}.onboarding-calendar-day.unavailable{color:#cbd5e0;cursor:not-allowed}.onboarding-state-3{text-align:left;padding:1rem 0}.onboarding-destination-header{display:flex;align-items:center;margin-bottom:2rem;gap:1rem}.onboarding-country-tag{background:linear-gradient(135deg,#60a5fa,#34d399);color:#fff;padding:.5rem 1rem;border-radius:12px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 4px #60a5fa33;transition:all .2s ease}.onboarding-country-tag:hover{background:linear-gradient(135deg,#3b82f6,#10b981);box-shadow:0 4px 8px #60a5fa40;transform:translateY(-1px)}.onboarding-progress-line{flex:1;height:2px;background:#d1fae5;border-radius:1px}.onboarding-destinations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.onboarding-destination-btn{padding:1rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.onboarding-destination-btn:hover{background:#f8f9fa;border-color:#cbd5e0;transform:translateY(-1px)}.onboarding-destination-btn.selected{background:#3b82f6;color:#fff;border-color:#3b82f6}@media (max-width: 768px){.onboarding-modal-overlay{padding:1rem}.onboarding-step-title{font-size:1.25rem}.onboarding-step-description{text-align:center}.onboarding-month-selection{flex-direction:column;align-items:center}.onboarding-destinations-grid{grid-template-columns:1fr}.onboarding-calendar{max-width:350px}.onboarding-calendar-day{width:35px;height:35px;font-size:.8rem}}.onboarding-modal-container{width:100%;max-width:800px;display:flex;justify-content:center;align-items:center}.onboarding-modal{background:#f8f9fa;border-radius:20px;box-shadow:0 25px 50px #00000040;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.onboarding-modal-header{padding:1.5rem 2rem 1rem;text-align:center;background:transparent}.onboarding-modal-title{font-size:2.75rem;font-weight:200;color:#1a365d;margin:0;font-family:Urbanist,sans-serif;line-height:1.2}.onboarding-inner-container{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;margin:0 auto 1.5rem;display:flex;flex-direction:column;overflow:hidden;width:560px;max-width:calc(100% - 4rem)}.onboarding-modal-content{flex:1;padding:2rem 3rem 2.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:450px}.onboarding-step-content{width:100%;text-align:center}.onboarding-step-title{font-size:1.25rem;font-weight:600;color:#1a365d;margin:0 0 .75rem;font-family:Urbanist,sans-serif}.onboarding-step-description{font-size:.95rem;color:#666;line-height:1.5;margin:0 0 1.5rem;max-width:400px;margin-left:auto;margin-right:auto}.onboarding-options-container{width:100%;display:flex;justify-content:center;align-items:center;margin:1.5rem 0}.onboarding-month-options{width:100%;display:flex;justify-content:center}.onboarding-month-circle{display:flex;gap:1rem;align-items:center;justify-content:center;position:relative}.onboarding-month-circle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:260px;height:260px;border:2px dashed #e2e8f0;border-radius:50%;z-index:-1}.onboarding-month-button{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;color:#1a365d;cursor:pointer;transition:all .3s ease;font-family:Urbanist,sans-serif}.onboarding-month-button:hover{border-color:#3182ce;transform:translateY(-2px)}.onboarding-month-button.selected{background:#3182ce;color:#fff;border-color:#3182ce;box-shadow:0 4px 12px #3182ce4d}.onboarding-date-options{width:100%;display:flex;justify-content:center}.onboarding-date-circle{display:flex;gap:.75rem;align-items:center;justify-content:center;position:relative}.onboarding-date-circle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;height:280px;border:2px dashed #e2e8f0;border-radius:50%;z-index:-1}.onboarding-date-button{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;font-weight:500;color:#1a365d;cursor:pointer;transition:all .3s ease;font-family:Urbanist,sans-serif;display:flex;flex-direction:column;align-items:center;min-width:60px}.onboarding-date-button:hover{border-color:#3182ce;transform:translateY(-2px)}.onboarding-date-button.selected{background:#1a365d;color:#fff;border-color:#1a365d;box-shadow:0 4px 12px #1a365d4d}.date-day{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.date-number{font-size:1rem;font-weight:700}.onboarding-destination-options{width:100%;display:flex;justify-content:center}.onboarding-destination-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:1rem}.onboarding-destination-circle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:260px;height:260px;border:2px dashed #e2e8f0;border-radius:50%;z-index:-1}.destination-category{font-size:1.1rem;font-weight:700;color:#1a365d;margin:0;font-family:Urbanist,sans-serif}.destination-region{font-size:.9rem;font-weight:500;color:#1a365d;margin:0;font-family:Urbanist,sans-serif;padding:.75rem 1.5rem;border-radius:20px}.onboarding-destination-button{background:transparent;border:none;border-radius:20px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;color:#3182ce;cursor:pointer;transition:all .3s ease;font-family:Urbanist,sans-serif;margin:.25rem 0}.onboarding-destination-button:hover{transform:translateY(-2px);color:#2c5282}.onboarding-destination-button.selected{background:#3182ce;color:#fff;box-shadow:0 4px 12px #3182ce4d}.onboarding-modal-footer{padding:1.5rem 2rem;border-top:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:#fff}.onboarding-progress-dots{display:flex;gap:.5rem;align-items:center}.onboarding-progress-dot{width:12px;height:12px;border-radius:50%;background:#e2e8f0;transition:all .3s ease}.onboarding-progress-dot.active{width:32px;height:12px;border-radius:6px;background:#3182ce}.onboarding-navigation{display:flex;justify-content:space-between;align-items:center;width:100%}.onboarding-skip-button{background:none;border:none;color:#666;font-size:.9rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;transition:color .3s ease;font-family:Urbanist,sans-serif}.onboarding-skip-button:hover{color:#333}.onboarding-next-button{background:#1a365d;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-family:Urbanist,sans-serif}.onboarding-next-button:hover{background:#2c5282;transform:translateY(-1px)}.onboarding-next-button:active{transform:translateY(0)}@media (max-width: 768px){.onboarding-modal-overlay{padding:1rem}.onboarding-modal{max-width:100%;max-height:95vh}.onboarding-modal-header{padding:1.5rem}.onboarding-modal-content{padding:1.5rem 1.5rem 2.5rem}.onboarding-modal-footer{padding:1rem 1.5rem}.onboarding-month-circle:before,.onboarding-date-circle:before,.onboarding-destination-circle:before{width:200px;height:200px}.onboarding-month-button,.onboarding-date-button,.onboarding-destination-button{padding:.5rem 1rem;font-size:.8rem}.onboarding-date-button{min-width:50px}}@media (max-width: 768px){.onboarding-modal-overlay{padding:2rem}.onboarding-modal-container{max-width:90%}.onboarding-modal-title{font-size:2.25rem;font-weight:200}.onboarding-modal-content{padding:2rem 2rem 3rem;min-height:400px}.onboarding-inner-container{width:90%;max-width:500px;margin:0 auto 1rem}}@media (max-width: 480px){.onboarding-modal-header{padding:1rem}.onboarding-modal-content{padding:1rem 1rem 2rem}.onboarding-modal-footer,.onboarding-modal-overlay{padding:1rem}.onboarding-modal-title{font-size:1.75rem;font-weight:200}.onboarding-inner-container{width:95%;max-width:calc(100% - 1rem);margin:0 auto .5rem}.onboarding-step-title{font-size:1.1rem}.onboarding-step-description{font-size:.85rem}.onboarding-month-circle,.onboarding-date-circle{flex-wrap:wrap;gap:.5rem}.onboarding-month-circle:before,.onboarding-date-circle:before,.onboarding-destination-circle:before{display:none}}.traveling-party-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.traveling-party-modal-overlay.clickable{cursor:pointer}.traveling-party-modal-container{width:100%;max-width:500px;display:flex;align-items:center;justify-content:center;cursor:default}.traveling-party-modal{background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;width:100%;max-width:500px;position:relative;overflow:hidden;cursor:default}.traveling-party-close-btn{position:absolute;top:1rem;right:1rem;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.traveling-party-close-btn:hover{background:#edf2f7;border-color:#cbd5e0;transform:scale(1.05)}.traveling-party-close-btn:active{transform:scale(.95)}.traveling-party-temp-message{background:#e3f2fd;color:#1565c0;padding:1.5rem;margin:0;font-size:1.1rem;line-height:1.5;border-bottom:1px solid #e0e0e0;font-weight:500}.traveling-party-content{padding:2rem}.traveling-party-title{font-size:1.75rem;font-weight:600;color:#1a365d;margin:0 0 2rem;font-family:Urbanist,sans-serif}.traveler-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 0;border-bottom:1px solid #f0f0f0}.traveler-section:last-of-type{border-bottom:none;margin-bottom:0}.traveler-label{font-size:1rem;font-weight:500;color:#2d3748;display:flex;flex-direction:column;gap:.25rem}.children-subtitle{font-size:.875rem;color:#718096;font-weight:400}.traveler-counter{display:flex;align-items:center;gap:1rem}.counter-btn{width:40px;height:40px;border-radius:50%;border:2px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#4a5568}.counter-btn:hover:not(:disabled){border-color:#3182ce;background:#f7fafc;color:#3182ce}.counter-btn:disabled{opacity:.4;cursor:not-allowed}.counter-value{font-size:1.25rem;font-weight:600;color:#2d3748;min-width:2rem;text-align:center}.child-ages-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #f0f0f0}.child-age-field{margin-bottom:1.5rem}.child-age-field:last-child{margin-bottom:0}.child-age-label{display:block;font-size:.875rem;font-weight:500;color:#4a5568;margin-bottom:.5rem}.age-dropdown-container{position:relative;width:100%}.age-dropdown{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;color:#2d3748;background:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s ease}.age-dropdown:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.age-dropdown.error{border-color:#e53e3e}.dropdown-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#718096;pointer-events:none}.age-error-message{color:#e53e3e;font-size:.75rem;margin-top:.25rem}.traveling-party-footer{padding:1.5rem 2rem;background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.traveling-party-done-btn{background:#3182ce;color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;min-width:100px}.traveling-party-done-btn:hover{background:#2c5aa0}.traveling-party-done-btn:active{background:#2a4d8a}@media (max-width: 640px){.traveling-party-modal-overlay{padding:.5rem}.traveling-party-content{padding:1.5rem}.traveling-party-footer{padding:1rem 1.5rem}.traveler-section{flex-direction:column;align-items:flex-start;gap:1rem}.traveler-counter{align-self:flex-end}.traveling-party-title{font-size:1.5rem}}.traveling-party-temp-message{animation:slideInFromTop .3s ease-out}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.simple-tooltip-wrapper{position:relative;display:inline-block}.simple-tooltip-trigger{cursor:pointer;display:inline-block}.simple-tooltip{position:absolute;z-index:10000;pointer-events:none;animation:tooltipFadeIn .2s ease-out;overflow:visible}.simple-tooltip-content{background:#2d3748;color:#fff;padding:8px 12px;border-radius:6px;font-size:14px;line-height:1.4;white-space:normal;box-shadow:0 4px 12px #00000026;max-width:400px;min-width:200px;word-wrap:break-word;text-align:center}.simple-tooltip-arrow{position:absolute;width:0;height:0;border:6px solid transparent}.simple-tooltip-top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px}.simple-tooltip-arrow-top{top:100%;left:50%;transform:translate(-50%);border-top-color:#2d3748}.simple-tooltip-bottom{top:100%;left:50%;transform:translate(-50%);margin-top:8px}.simple-tooltip-arrow-bottom{bottom:100%;left:50%;transform:translate(-50%);border-bottom-color:#2d3748}.simple-tooltip-left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.simple-tooltip-arrow-left{left:100%;top:50%;transform:translateY(-50%);border-left-color:#2d3748}.simple-tooltip-right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.simple-tooltip-arrow-right{right:100%;top:50%;transform:translateY(-50%);border-right-color:#2d3748}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.simple-tooltip-content{max-width:320px;min-width:180px;padding:6px 10px;font-size:13px}}@media (max-width: 480px){.simple-tooltip-content{max-width:280px;min-width:160px;padding:5px 8px;font-size:12px}}.travel-selection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.travel-selection-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;width:100%;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#1e293b;font-family:Urbanist,sans-serif}.close-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:8px;color:#64748b;transition:all .2s ease}.close-button:hover{background:#e2e8f0;color:#1e293b}.tab-navigation{display:flex;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:0 2rem;align-items:center}.search-by-destination-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:Urbanist,sans-serif;font-size:.85rem;font-weight:500;margin-left:auto;white-space:nowrap}.search-by-destination-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.search-by-destination-btn:active{transform:translateY(0);box-shadow:0 2px 6px #3b82f633}.tab-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;cursor:pointer;transition:all .2s ease;position:relative;font-family:Urbanist,sans-serif;font-size:.9rem;font-weight:500;color:#64748b;border-bottom:3px solid transparent}.tab-button:hover{background:#e2e8f0;color:#1e293b}.tab-button.active{color:#007bff;border-bottom-color:#007bff;background:#fff}.tab-button.completed{color:#10b981}.tab-icon{font-size:1.1rem}.tab-label{font-weight:600}.checkmark{color:#10b981;font-weight:700;margin-left:.25rem}.tab-content{flex:1;padding:1.5rem;overflow-y:auto;min-height:400px}.month-year-tab{text-align:center}.year-selector{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:2rem}.year-nav-btn{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;cursor:pointer;transition:all .2s ease;font-size:1.1rem;font-weight:600;color:#64748b;font-family:Urbanist,sans-serif}.year-nav-btn:hover{border-color:#007bff;color:#007bff;background:#f0f8ff}.year-selector h3{margin:0;font-size:2rem;font-weight:700;color:#1e293b;font-family:Urbanist,sans-serif}.months-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;max-width:600px;margin:0 auto}.month-btn{padding:1rem .5rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:#64748b;font-family:Urbanist,sans-serif;text-align:center}.month-btn:hover:not(:disabled){border-color:#007bff;background:#f0f8ff;color:#007bff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}.month-btn.selected{border-color:#007bff;background:#007bff;color:#fff;box-shadow:0 4px 12px #007bff4d}.month-btn.disabled{background:#f8f9fa;color:#adb5bd;cursor:not-allowed;border-color:#e9ecef;opacity:.5}.date-tab{max-width:100%;margin:0 auto}.date-tab-headers{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem}.date-header{flex:0 0 250px;display:flex;align-items:center}.date-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.calendar-month-label{flex:1;font-size:1.1rem;font-weight:600;color:#1e293b;text-align:center}.date-content-desktop{display:flex;gap:2rem;align-items:flex-start}.month-selector-side{flex:0 0 250px;display:flex;flex-direction:column;gap:1.5rem}.calendar-side{flex:1;min-width:0}.back-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease;font-size:.9rem;color:#64748b;font-family:Urbanist,sans-serif}.back-btn:hover{background:#e2e8f0;color:#1e293b}.date-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#1e293b;font-family:Urbanist,sans-serif}.calendar-container{background:#f8fafc;border-radius:12px;padding:1.5rem}.weekdays-row{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem}.weekday-label{text-align:center;font-size:.8rem;font-weight:600;color:#64748b;font-family:Urbanist,sans-serif;padding:.5rem}.dates-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.date-btn{aspect-ratio:1;border:2px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:#64748b;font-family:Urbanist,sans-serif}.date-btn:hover:not(:disabled){border-color:#007bff;background:#f0f8ff;color:#007bff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}.date-btn.selected,.date-btn.available.selected{border-color:#007bff!important;background:#007bff!important;color:#fff!important;box-shadow:0 4px 12px #007bff4d!important}.date-btn.unavailable{background:#f8f9fa;color:#adb5bd;cursor:not-allowed;border-color:#e9ecef;opacity:.5}.date-btn.empty{border:none;background:transparent;cursor:default}.destination-tab{max-width:700px;margin:0 auto}.destination-header{margin-bottom:1rem}.destination-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#1e293b;font-family:Urbanist,sans-serif}.destinations-container{display:flex;flex-direction:column;gap:1rem}.region-section{background:#f8fafc;border-radius:12px;padding:1rem}.region-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#1e293b;font-family:Urbanist,sans-serif;border-bottom:none!important}.country-group{margin-bottom:1.25rem}.country-group:last-child{margin-bottom:0}.country-header{display:flex;align-items:center;margin-bottom:.75rem;gap:.75rem}.country-name{font-size:.75rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#10b981,#059669);padding:.25rem .75rem;border-radius:12px;margin:0;white-space:nowrap;font-family:Urbanist,sans-serif;box-shadow:0 2px 4px #10b98126;border:1px solid rgba(255,255,255,.1);text-transform:uppercase;letter-spacing:.025em;transition:all .2s ease;cursor:default}.country-name:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b98140;transform:translateY(-1px)}.country-separator{flex:1;height:2px;background:linear-gradient(to right,#10b981,#e2e8f0);margin-left:.75rem;border-radius:1px}.destinations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.destinations-inline-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;margin-bottom:.5rem}.destination-btn{padding:.5rem .75rem;border:2px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;color:#64748b;font-family:Urbanist,sans-serif;text-align:center;white-space:nowrap;flex-shrink:0;min-width:fit-content}.destination-btn:hover{border-color:#007bff;background:#f0f8ff;color:#007bff;transform:translateY(-1px);box-shadow:0 2px 8px #007bff26}.destination-btn.selected{border-color:#007bff;background:#007bff;color:#fff;box-shadow:0 4px 12px #007bff4d}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-top:1px solid #e2e8f0;background:#f8fafc}.travel-modal-selection-recap{display:flex;gap:1rem;flex-wrap:wrap}.recap-item{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;color:#64748b;font-family:Urbanist,sans-serif;font-weight:500;display:flex;align-items:center;gap:.5rem}.recap-icon{color:#64748b;flex-shrink:0}.action-buttons{display:flex;gap:1rem}.btn-secondary{padding:.75rem 1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:#64748b;font-family:Urbanist,sans-serif}.btn-secondary:hover{border-color:#cbd5e1;background:#f8fafc}.btn-primary{padding:.75rem 1.5rem;background:#007bff;border:2px solid #007bff;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:#fff;font-family:Urbanist,sans-serif}.btn-primary:hover:not(:disabled){background:#0056b3;border-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.btn-primary:disabled{background:#cbd5e1;border-color:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}.conflict-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.conflict-modal{background:#fff;border-radius:12px;padding:2rem;max-width:450px;text-align:center;box-shadow:0 20px 60px #00000026}.conflict-details{background:#f8fafc;border-radius:8px;padding:1rem;margin:1rem 0;text-align:left}.conflict-detail{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.conflict-detail:last-child{border-bottom:none}.conflict-label{font-weight:600;color:#374151;font-size:.9rem}.conflict-value{color:#1f2937;font-weight:500;font-size:.9rem}.conflict-modal h3{margin:0 0 1rem;font-size:1.2rem;font-weight:600;color:#dc2626;font-family:Urbanist,sans-serif}.conflict-modal p{margin:0 0 2rem;color:#64748b;font-family:Urbanist,sans-serif;line-height:1.5}.conflict-actions-stacked{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.conflict-action-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;text-align:left;width:100%;box-shadow:0 2px 4px #0000000d}.conflict-action-card:hover{border-color:#3182ce;box-shadow:0 4px 12px #3182ce26;transform:translateY(-2px)}.conflict-action-card.cancel{border-color:#e2e8f0}.conflict-action-card.cancel:hover{border-color:#e53e3e;box-shadow:0 4px 12px #e53e3e26}.conflict-action-card.primary{border-color:#3182ce;background:linear-gradient(135deg,#f7fafc,#edf2f7)}.conflict-action-card.primary:hover{background:linear-gradient(135deg,#ebf8ff,#bee3f8)}.action-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#fffc;flex-shrink:0;color:#64748b}.conflict-action-card.primary .action-icon{background:#3182ce1a;color:#3182ce}.conflict-action-card.cancel .action-icon{background:#e53e3e1a;color:#e53e3e}.action-content{flex:1}.action-content h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#2d3748;font-family:Urbanist,sans-serif}.action-content p{margin:0;font-size:.875rem;color:#64748b;line-height:1.4;font-family:Urbanist,sans-serif}.closest-date-preview{margin-top:.75rem;padding:.75rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.25rem}.preview-label{font-size:.75rem;font-weight:500;color:#3182ce;font-family:Urbanist,sans-serif;text-transform:uppercase;letter-spacing:.025em}.preview-date{font-size:.875rem;font-weight:600;color:#1e40af;font-family:Urbanist,sans-serif}.conflict-action-card.primary .action-content h4{color:#2b6cb0}.conflict-action-card.cancel .action-content h4{color:#e53e3e}@media (max-width: 768px){.conflict-actions-stacked{gap:.75rem}.conflict-action-card{padding:1rem;gap:.75rem}.action-icon{width:2rem;height:2rem}.action-icon svg{width:16px;height:16px}.action-content h4{font-size:.9rem}.action-content p{font-size:.8rem}.closest-date-preview{margin-top:.5rem;padding:.5rem;gap:.125rem}.preview-label{font-size:.7rem}.preview-date{font-size:.8rem}}@media (max-width: 768px){.travel-selection-modal{max-width:95vw;max-height:95vh}.modal-header,.tab-navigation,.modal-footer,.tab-content{padding:1rem}.search-by-destination-btn{padding:.6rem .8rem;font-size:.75rem;margin-left:auto}.tab-button{padding:.75rem 1rem;font-size:.8rem}.tab-icon{font-size:1rem}.months-grid{grid-template-columns:repeat(4,1fr);gap:.75rem}.month-btn{padding:.75rem .25rem;font-size:.8rem}.destinations-grid{grid-template-columns:1fr}.destinations-inline-grid{flex-direction:column;gap:.5rem}.destination-btn{width:100%;text-align:center}.modal-footer{flex-direction:column;gap:1rem;align-items:stretch}.travel-modal-selection-recap,.action-buttons{justify-content:center}}@media (max-width: 480px){.months-grid{grid-template-columns:repeat(3,1fr)}.year-selector{gap:1rem}.year-selector h3{font-size:1.5rem}}.recommendations-section{margin:1.5rem 0;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.recommendations-section h4{margin:0 0 .5rem;color:#1f2937;font-size:1rem;font-weight:600}.recommendations-section p{margin:0 0 1rem;color:#6b7280;font-size:.9rem;line-height:1.4}.recommendations-list{display:flex;flex-direction:column;gap:.5rem}.recommendation-item{padding:.75rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s ease}.recommendation-item:hover{border-color:#3b82f6;background:#f0f9ff}.recommendation-destination{color:#1f2937;font-weight:500;font-size:.9rem}@media (max-width: 768px){.recommendations-section{margin:1rem 0;padding:.75rem}.recommendations-section h4{font-size:.95rem}.recommendations-section p{font-size:.85rem}.recommendation-item{padding:.5rem}.recommendation-destination{font-size:.85rem}}.recommendations-notice{margin:0;padding:.75rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;font-size:.9rem;font-weight:500;text-align:left}.destination-btn.recommended{border:2px solid #3b82f6;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);position:relative;box-shadow:0 2px 4px #3b82f61a}.destination-btn.recommended:hover{border-color:#2563eb;background:linear-gradient(135deg,#e0f2fe,#bae6fd);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f626}.recommended-badge{display:block;margin-top:.25rem;padding:.125rem .375rem;background:#3b82f6;color:#fff;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.025em}@media (max-width: 768px){.recommendations-notice{font-size:.85rem;padding:.5rem}.recommended-badge{font-size:.65rem;padding:.1rem .3rem}}.unavailable-notice{margin:0;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem;font-weight:500;text-align:left}.destination-btn.unavailable{border:2px solid #d1d5db;background:linear-gradient(135deg,#f9fafb,#f3f4f6);color:#9ca3af;cursor:not-allowed;opacity:.6;position:relative;text-decoration:line-through;text-decoration-color:#d1d5db;text-decoration-thickness:1px;overflow:hidden}.destination-btn.unavailable:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.destination-btn.unavailable:hover{border-color:#d1d5db;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);transform:none;box-shadow:none;opacity:.7}.destination-btn.unavailable:hover:before{animation-duration:1.5s}.unavailable-badge{display:block;margin-top:.25rem;padding:.125rem .375rem;background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.025em;box-shadow:0 1px 3px #0000001a}@keyframes shimmer{0%{left:-100%}to{left:100%}}.destination-btn.unavailable:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(156,163,175,.1) 2px,rgba(156,163,175,.1) 4px);pointer-events:none}.destination-btn.unavailable.month-specific{border-color:#e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#94a3b8;opacity:.5}.destination-btn.unavailable.month-specific:after{background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(148,163,184,.08) 3px,rgba(148,163,184,.08) 6px)}.destination-btn.unavailable.date-specific{border-color:#cbd5e1;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b;opacity:.6}.destination-btn.unavailable.date-specific:after{background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(100,116,139,.12) 2px,rgba(100,116,139,.12) 4px)}.unavailable-badge.month-specific{background:linear-gradient(135deg,#94a3b8,#64748b)}.unavailable-badge.date-specific{background:linear-gradient(135deg,#64748b,#475569)}.distance-badge{display:block;margin-top:.25rem;padding:.125rem .375rem;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.025em}.distance-badge.same-country{background:#10b981;color:#fff}.distance-badge.same-region{background:#3b82f6;color:#fff}.distance-badge.recommended{background:#f59e0b;color:#fff}@media (max-width: 768px){.unavailable-notice{font-size:.85rem;padding:.5rem}.unavailable-badge,.distance-badge{font-size:.65rem;padding:.1rem .3rem}.destination-btn.unavailable:before{animation-duration:3s}.destination-btn.unavailable:after{background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(156,163,175,.08) 3px,rgba(156,163,175,.08) 6px)}}.destination-dropdown{position:relative;width:100%}.dropdown-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:500;color:#1e293b;position:relative}.dropdown-trigger:hover{border-color:#cbd5e1;background-color:#f8fafc}.dropdown-trigger.open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dropdown-trigger.loading{opacity:.7;cursor:not-allowed}.dropdown-icon{color:#64748b;flex-shrink:0}.dropdown-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow{color:#64748b;flex-shrink:0;transition:transform .2s ease}.dropdown-spinner{position:absolute;right:3rem;width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:1000;margin-top:.25rem;max-height:400px;overflow:hidden}.dropdown-header{padding:1rem 1.25rem .75rem;border-bottom:1px solid #f1f5f9;background:#f8fafc}.dropdown-header h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#1e293b}.dropdown-header p{margin:0;font-size:.875rem;color:#64748b}.dropdown-content{max-height:320px;overflow-y:auto;padding:.75rem 0}.dropdown-region{border-bottom:1px solid #f1f5f9}.dropdown-region:last-child{border-bottom:none}.region-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;cursor:pointer;transition:background-color .2s ease}.region-header:hover{background-color:#f8fafc}.region-name{flex:1;font-size:.9rem;font-weight:600;color:#1e293b}.region-count{background:#e2e8f0;color:#64748b;font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:12px;min-width:20px;text-align:center}.region-chevron{color:#64748b;transition:transform .2s ease}.region-chevron.expanded{transform:rotate(180deg)}.region-destinations{padding:0 1.25rem .75rem;background:#fafbfc}.destination-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;margin-bottom:.25rem;background:#fff;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.875rem;color:#374151;text-align:left}.destination-item:hover{border-color:#e2e8f0;background-color:#f8fafc}.destination-item.selected{background-color:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.destination-item:last-child{margin-bottom:0}.destination-item svg{color:#64748b;flex-shrink:0}.destination-item.selected svg{color:#3b82f6}@media (max-width: 768px){.dropdown-trigger{padding:.875rem 1rem;font-size:.9rem}.dropdown-menu{max-height:350px}.dropdown-content{max-height:280px}.region-header{padding:.75rem 1rem}.region-destinations{padding:0 1rem .75rem}.destination-item{padding:.5rem .625rem;font-size:.85rem}}.dropdown-content::-webkit-scrollbar{width:6px}.dropdown-content::-webkit-scrollbar-track{background:#f1f5f9}.dropdown-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.dropdown-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.selection-recap{display:flex;align-items:center;gap:0;margin-bottom:1.5rem;overflow:hidden;background-color:#e0f2fe;border-radius:12px 12px 0 0}.recap-section{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;cursor:pointer;transition:background-color .2s ease;flex:1;border-right:1px solid #e2e8f0;min-height:60px}.recap-section:hover{background-color:#bae6fd}.recap-section:last-of-type{border-right:none}.section-icon{color:#64748b;flex-shrink:0}.section-content{display:flex;align-items:center;justify-content:space-between;flex:1;gap:.5rem}.section-value{font-size:.95rem;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clear-icon{color:#64748b;font-size:1.2rem;font-weight:300;cursor:pointer;padding:.25rem;border-radius:50%;transition:all .2s ease;flex-shrink:0}.clear-icon:hover{background-color:#f1f5f9;color:#374151}.chevron-icon{color:#64748b;flex-shrink:0}.search-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:0 12px 12px 0;cursor:pointer;transition:all .2s ease;min-width:120px;flex-shrink:0}.search-button:hover{background:linear-gradient(135deg,#2563eb,#071758);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.search-button:active{transform:translateY(0)}@media (max-width: 768px){.selection-recap{flex-direction:column;border-radius:8px 8px 0 0}.recap-section{border-right:none;border-bottom:1px solid #e2e8f0;padding:1rem}.recap-section:last-of-type{border-bottom:none}.search-button{border-radius:0 0 8px 8px;min-width:auto;width:100%}.section-value{font-size:.9rem}}@media (max-width: 480px){.recap-section{padding:.875rem 1rem}.section-icon{width:16px;height:16px}.section-value{font-size:.85rem}.search-button{padding:.875rem 1.5rem;font-size:.95rem}}.vacation-planning-content{display:flex;flex-direction:column;gap:.5rem;width:100%}.destination-inline{width:100%}.destination-inline .destination-dropdown{margin:0;border:none;background:transparent;padding:0}.destination-inline .destination-dropdown .destination-display{font-size:.9rem;color:#64748b;padding:0;background:transparent;border:none}.destination-inline .destination-dropdown .destination-display:hover{background:transparent;color:#007bff}.destination-inline .destination-dropdown .destination-display.selected{color:#1e293b;font-weight:500}@media (max-width: 768px){.vacation-planning-content{gap:.375rem}.destination-inline .destination-dropdown .destination-display{font-size:.85rem}}.mobile-travel-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.mobile-travel-modal{background:#fff;width:100%;max-height:85vh;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-travel-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e2e8f0}.mobile-travel-modal-header h2{font-size:1.25rem;font-weight:600;color:#1a202c;margin:0}.mobile-travel-modal-close{background:none;border:none;color:#718096;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease}.mobile-travel-modal-close:hover{background:#f7fafc;color:#2d3748}.mobile-travel-tabs{display:flex;background:#f7fafc;margin:0 1.5rem;border-radius:12px;padding:.25rem;gap:.25rem}.mobile-travel-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;background:none;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#718096}.mobile-travel-tab.active{background:#fff;color:#3182ce;box-shadow:0 2px 4px #0000001a}.mobile-travel-tab span{font-size:.75rem;font-weight:500}.mobile-travel-content{flex:1;padding:1.5rem;overflow-y:auto}.mobile-month-year-tab{display:flex;flex-direction:column;gap:1.5rem}.year-selector{display:flex;justify-content:center;align-items:center;gap:2rem;padding:1rem;background:#f7fafc;border-radius:12px}.year-nav-btn{background:#fff;border:1px solid #e2e8f0;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#4a5568;transition:all .2s ease}.year-nav-btn:hover{background:#3182ce;color:#fff;border-color:#3182ce}.current-year{font-size:1.5rem;font-weight:600;color:#2d3748}.months-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.month-btn{padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:500;color:#4a5568;transition:all .2s ease}.month-btn:hover{border-color:#3182ce;color:#3182ce}.month-btn.selected{background:#3182ce!important;color:#fff!important;border-color:#3182ce!important}.mobile-date-tab{display:flex;flex-direction:column;gap:1rem}.date-info-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;font-size:.875rem;color:#2b6cb0}.info-icon{font-size:1rem}.info-text{font-weight:500}.calendar-header{background:#f7fafc;border-radius:12px;padding:1rem;overflow:hidden}.day-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;width:100%;white-space:nowrap}.day-label{text-align:center;font-size:.875rem;font-weight:600;color:#718096;display:flex;align-items:center;justify-content:center;min-width:0;white-space:nowrap;overflow:hidden}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;width:100%}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:#4a5568;transition:all .2s ease}.calendar-day:hover:not(.disabled){border-color:#3182ce;color:#3182ce}.calendar-day.selected{background:#3182ce!important;color:#fff!important;border-color:#3182ce!important}.calendar-day.disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed;border-color:#e2e8f0}.mobile-destination-tab{display:flex;flex-direction:column;gap:1.5rem}.destination-region{display:flex;flex-direction:column;gap:1rem}.region-title{font-size:1rem;font-weight:600;color:#2d3748;margin:0;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.country-group-mobile{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.country-group-mobile:last-child{margin-bottom:0}.country-label-mobile{font-size:.875rem;font-weight:500;color:#718096;margin:0;text-transform:none;letter-spacing:normal}.destinations-list{display:flex;flex-wrap:wrap;gap:.5rem}.destination-btn{padding:.75rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:#4a5568;text-align:center;white-space:nowrap;flex-shrink:0;min-width:fit-content;transition:all .2s ease}.destination-btn:hover{border-color:#3182ce;color:#3182ce}.destination-btn.selected{background:#3182ce;color:#fff;border-color:#3182ce}.mobile-travel-modal-footer{padding:1.5rem;border-top:1px solid #e2e8f0;background:#f7fafc}.mobile-travel-summary{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.summary-label{color:#718096;font-weight:500}.summary-value{color:#2d3748;font-weight:600}.mobile-travel-apply-btn{width:100%;padding:1rem;background:#3182ce;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.mobile-travel-apply-btn:hover{background:#2c5aa0;transform:translateY(-1px);box-shadow:0 4px 12px #3182ce4d}.mobile-travel-apply-btn:active{transform:translateY(0)}@media (max-width: 480px){.mobile-travel-modal{max-height:90vh}.mobile-travel-modal-header,.mobile-travel-content,.mobile-travel-modal-footer{padding:1rem}.months-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}.month-btn{padding:.75rem}.destinations-list{gap:.25rem}.destination-btn,.date-info-message{padding:.5rem .75rem;font-size:.8rem}}.mobile-filter-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:2rem}.mobile-filter-modal{background:#fff;width:100%;max-width:500px;max-height:90vh;border-radius:20px;display:flex;flex-direction:column;animation:slideDown .3s ease-out;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-filter-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.filter-header-left{display:flex;align-items:center;gap:.75rem}.filter-header-left h2{font-size:1.25rem;font-weight:600;color:#1a202c;margin:0}.filter-count{background:#3182ce;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:20px;min-width:20px;text-align:center}.filter-header-right{display:flex;align-items:center;gap:1rem}.clear-all-btn{background:none;border:none;color:#3182ce;font-size:.875rem;font-weight:500;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease}.clear-all-btn:hover{background:#f7fafc}.close-btn{background:none;border:none;color:#718096;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:#f7fafc;color:#2d3748}.mobile-filter-content{flex:1;overflow-y:auto;padding:0 1rem}.filter-section{border-bottom:1px solid #e2e8f0}.filter-section:last-child{border-bottom:none}.filter-section-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 0 .5rem;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:#2d3748;text-align:left}.filter-section-header:hover{color:#3182ce}.collection-selector-section .filter-section-header{cursor:default;padding:.75rem 0 .5rem}.collection-selector-section .filter-section-header:hover{color:#2d3748}.ios-segmented-control{padding:.5rem 0 1rem}.segmented-control-track{position:relative;display:flex;background:#f7fafc;border-radius:12px;padding:4px;box-shadow:inset 0 1px 3px #0000001a}.segmented-control-slider{position:absolute;top:4px;left:4px;width:calc(33.333% - 2.67px);height:calc(100% - 8px);background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease;z-index:1}.segmented-control-option{flex:1;position:relative;z-index:2;background:none;border:none;padding:.75rem .5rem;font-size:.875rem;font-weight:500;color:#718096;cursor:pointer;border-radius:8px;transition:color .2s ease}.segmented-control-option.selected{color:#3182ce}.segmented-control-option:hover:not(.selected){color:#4a5568}.unit-size-section .filter-section-header{cursor:default;padding:.75rem 0 .5rem}.unit-size-section .filter-section-header:hover{color:#2d3748}.filter-options{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem}.filter-option{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9rem;padding:.25rem 0}.filter-option input[type=radio],.filter-option input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#3182ce}.filter-option span{color:#4a5568;flex:1}.filter-option.disabled span{color:#a0aec0}.price-filter-content{padding-bottom:1.5rem}.price-input-group label{font-size:.875rem;font-weight:500;color:#4a5568}.price-input-group input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#2d3748;background:#f7fafc;transition:all .2s ease}.price-input-group input:focus{outline:none;border-color:#3182ce;background:#fff;box-shadow:0 0 0 3px #3182ce1a}.price-slider{position:relative;height:32px;margin-bottom:1rem}.price-slider-input{position:absolute;width:100%;height:32px;background:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:2}.price-slider-input::-webkit-slider-track{background:transparent;height:32px}.price-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;background:#3182ce;border-radius:50%;cursor:pointer;pointer-events:all;border:3px solid white;box-shadow:0 3px 6px #00000026;transition:all .2s ease;z-index:3;position:relative}.price-slider-input::-moz-range-track{background:transparent;height:32px}.price-slider-input::-moz-range-thumb{width:32px;height:32px;background:#3182ce;border-radius:50%;cursor:pointer;pointer-events:all;border:3px solid white;box-shadow:0 3px 6px #00000026;transition:all .2s ease;z-index:3;position:relative}.mobile-filter-footer{padding:1.5rem;border-top:1px solid #e2e8f0;background:#f7fafc}.apply-btn{width:100%;padding:1rem;background:#3182ce;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.apply-btn:hover{background:#2c5aa0;transform:translateY(-1px);box-shadow:0 4px 12px #3182ce4d}.apply-btn:active{transform:translateY(0)}@media (max-width: 480px){.mobile-filter-modal-overlay{padding-top:1rem}.mobile-filter-modal{max-height:95vh;border-radius:16px}.mobile-filter-header{padding:1rem}.mobile-filter-content{padding:0 1rem}.mobile-filter-footer{padding:1rem}.filter-section-header{padding:1rem 0}.price-inputs{flex-direction:column;gap:.75rem}}.mobile-travelers-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.mobile-travelers-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.mobile-travelers-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-title{font-size:1.25rem;font-weight:600;color:#1a202c;margin:0}.close-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:8px;color:#718096;transition:all .2s ease}.close-btn:hover{background:#f7fafc;color:#4a5568}.mobile-travelers-modal-content{flex:1;overflow-y:auto;padding:1.5rem}.travelers-form{display:flex;flex-direction:column;gap:.5rem}.traveler-section{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.traveler-header{display:flex;align-items:center;gap:.75rem}.traveler-header h3{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0}.traveler-description{font-size:.875rem;color:#718096;margin-left:auto}.traveler-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem;background:#f7fafc;border-radius:12px;border:1px solid #e2e8f0}.control-btn{width:40px;height:40px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#4a5568}.control-btn:hover:not(:disabled){border-color:#3182ce;color:#3182ce;background:#ebf8ff}.control-btn:disabled{opacity:.5;cursor:not-allowed}.traveler-count{font-size:1.5rem;font-weight:600;color:#2d3748;min-width:2rem;text-align:center}.mobile-travelers-modal-footer{padding:1.5rem;border-top:1px solid #e2e8f0;background:#f7fafc}.mobile-travelers-apply-btn{width:100%;padding:1rem;background:#3182ce;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.mobile-travelers-apply-btn:hover:not(:disabled){background:#2c5aa0}.mobile-travelers-apply-btn:active:not(:disabled){transform:translateY(1px)}.mobile-travelers-apply-btn:disabled,.mobile-travelers-apply-btn.no-changes{background:#9ca3af;cursor:not-allowed;transform:none}.mobile-travelers-apply-btn:disabled:hover,.mobile-travelers-apply-btn.no-changes:hover{background:#9ca3af;transform:none}@media (max-width: 480px){.mobile-travelers-modal-overlay{padding:.5rem}.mobile-travelers-modal{max-height:90vh}.mobile-travelers-modal-header,.mobile-travelers-modal-content,.mobile-travelers-modal-footer{padding:1rem}.travelers-form{gap:.5rem}.traveler-controls{gap:1rem;padding:1rem}.control-btn{width:36px;height:36px}.traveler-count{font-size:1.25rem}}.child-ages-section{display:flex;flex-direction:column;gap:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem}.child-ages-title{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0 0 .5rem}.child-age-field{display:flex;flex-direction:column;gap:.5rem}.child-age-label{font-size:.875rem;font-weight:500;color:#4a5568;display:flex;align-items:center;gap:.25rem}.child-age-label .required-asterisk{color:#e53e3e;font-weight:600}.child-age-select{padding:.75rem 2.5rem .75rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#2d3748;background:#fff;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem}.child-age-select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.child-age-select:hover{border-color:#cbd5e0}.child-age-select.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.child-age-error-message{font-size:.75rem;color:#e53e3e;margin-top:.25rem;font-weight:500}@media (max-width: 480px){.child-ages-section{gap:.5rem;padding:.75rem}.child-ages-title{font-size:1rem;margin-bottom:.25rem}.child-age-select{padding:.6rem 2.25rem .6rem .6rem;font-size:.8rem;background-size:.875rem;background-position:right .6rem center}}.destination-confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem}.destination-confirmation-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirmation-header{position:relative;padding:1rem 2rem 0}.confirmation-close{position:absolute;top:1rem;right:2rem;background:#f7fafc;color:#718096;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.confirmation-close:hover{background:#edf2f7;color:#2d3748}.confirmation-content{padding:0}.destination-confirmation-modal .confirmation-title-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:0 2rem;justify-content:center!important}.destination-confirmation-modal .confirmation-icon{width:48px;height:48px;background:#e6f3ff;border-radius:50%;display:flex;align-items:center;justify-content:center!important;color:#3182ce;flex-shrink:0}.confirmation-title{font-size:1.25rem;font-weight:600;color:#1a202c;margin:0}.destination-confirmation-modal .confirmation-message{color:#4a5568;line-height:1.6;margin:2rem}.confirmation-message strong{color:#2d3748;font-weight:600}.destination-info{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;margin:0 2rem}.info-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.info-icon{color:#38a169;flex-shrink:0}.info-label{color:#4a5568;font-weight:500;min-width:70px}.info-value{color:#2d3748;font-weight:600}.confirmation-actions{display:flex;gap:.75rem;padding:1.5rem 2rem 2rem}.confirmation-btn{flex:1;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.confirmation-btn.cancel{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.confirmation-btn.cancel:hover{background:#edf2f7;color:#2d3748}.confirmation-btn.confirm{background:#3182ce;color:#fff}.confirmation-btn.confirm:hover{background:#2c5aa0;transform:translateY(-1px);box-shadow:0 4px 8px #3182ce4d}@media (max-width: 480px){.destination-confirmation-overlay{padding:.5rem}.destination-confirmation-modal{max-width:95vw}.confirmation-header{padding:.75rem 1.5rem 0}.confirmation-close{top:.75rem;right:1.5rem}.confirmation-content{padding:0}.confirmation-title-row{gap:.5rem;padding:0 1.5rem}.destination-confirmation-modal .confirmation-icon{width:40px;height:40px}.confirmation-title{font-size:1.125rem}.destination-confirmation-modal .confirmation-message{margin:1.5rem}.destination-info{margin:0 1.5rem}.confirmation-actions{padding:1rem 1.5rem 1.5rem;flex-direction:column}.confirmation-btn{padding:.875rem 1.5rem}}.certificate-details-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.certificate-details-modal{background:#fff;border-radius:12px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.certificate-details-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0}.certificate-details-title{font-size:1.5rem;font-weight:600;color:#1a202c;margin:0}.certificate-details-close{background:#1a202c;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.certificate-details-close:hover{background:#2d3748;transform:scale(1.05)}.certificate-details-tabs{display:flex;border-bottom:1px solid #e2e8f0;padding:0 2rem}.certificate-tab{background:none;border:none;padding:1rem 0;margin-right:2rem;font-size:1rem;color:#718096;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;position:relative}.certificate-tab:hover{color:#2d3748}.certificate-tab.active{color:#1a202c;border-bottom-color:#1a202c;font-weight:600}.certificate-details-content{flex:1;overflow-y:auto;padding:2rem}.certificate-info-content{max-width:800px}.info-section{margin-bottom:2rem}.info-section h3{font-size:1.25rem;font-weight:600;color:#1a202c;margin:0 0 1rem}.info-section p{color:#4a5568;line-height:1.6;margin:0 0 1rem}.info-section p:last-child{margin-bottom:0}.info-section strong{color:#2d3748;font-weight:600}.destinations-content{max-width:none;width:100%}.destinations-search{margin-bottom:2rem;display:flex;flex-direction:column;gap:1.5rem}.search-assistive-text{width:100%;background:#f8fafc;padding:1.5rem 2rem;border-radius:12px;border:1px solid #e2e8f0}.assistive-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.assistive-icon{color:#3182ce;flex-shrink:0}.assistive-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1a202c;font-family:Urbanist,sans-serif}.search-assistive-text p{margin:0;font-size:1rem;color:#4a5568;line-height:1.6;font-family:Urbanist,sans-serif}.search-input-container{position:relative;max-width:400px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#718096}.destinations-search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;color:#2d3748;background:#fff;transition:all .2s ease}.destinations-search-input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.destinations-grid{display:flex;flex-direction:column;gap:1rem}.destination-region{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.region-header{width:100%;background:#f7fafc;border:none;padding:1rem 1.5rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .2s ease;text-align:left}.region-header:hover{background:#edf2f7}.region-name{font-size:1.1rem;font-weight:600;color:#2d3748}.region-count{font-size:.9rem;color:#718096;margin-left:auto}.region-destinations{padding:1rem;background:#fff;display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:none}.country-group{display:flex;flex-direction:column;gap:.75rem}.country-header{display:flex;align-items:center;margin-bottom:.5rem}.country-name{font-size:.75rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#60a5fa,#34d399);padding:.25rem .75rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em;transition:all .2s ease;cursor:default;font-family:Urbanist,sans-serif}.country-name:hover{background:linear-gradient(135deg,#3b82f6,#10b981);box-shadow:0 4px 8px #60a5fa40;transform:translateY(-1px)}.destinations-inline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.destination-card{border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;background:#fafafa;transition:all .2s ease;cursor:pointer}.destination-card:hover{border-color:#3182ce;box-shadow:0 2px 8px #3182ce26;background:#f0f8ff;transform:translateY(-1px)}.destination-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.destination-icon{color:#3182ce}.destination-name{font-weight:600;color:#2d3748;font-size:.95rem}.destination-availability{display:flex;flex-direction:column;gap:.5rem}.availability-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.availability-icon{color:#38a169;flex-shrink:0}.availability-label{color:#4a5568;font-weight:500;min-width:70px}.availability-value{color:#2d3748;font-weight:600}.best-months-label{color:#4a5568;font-weight:500;min-width:70px}.best-months-value{color:#3182ce;font-weight:600}@media (max-width: 768px){.certificate-details-modal{max-width:95vw;max-height:95vh}.certificate-details-header{padding:1rem 1.5rem}.certificate-details-title{font-size:1.25rem}.certificate-details-tabs{padding:0 1.5rem}.certificate-tab{margin-right:1rem;font-size:.9rem}.certificate-details-content{padding:1.5rem}.region-destinations{padding:.75rem}.destinations-inline-grid{grid-template-columns:repeat(2,1fr)}.destination-card{padding:.75rem}.search-input-container{max-width:100%}.search-assistive-text{padding:1rem 1.5rem}.assistive-header h3{font-size:1rem}.search-assistive-text p{font-size:.9rem}}@media (max-width: 480px){.certificate-details-overlay{padding:.5rem}.certificate-details-header{padding:.75rem 1rem}.certificate-details-tabs{padding:0 1rem}.certificate-details-content{padding:1rem}.region-header{padding:.75rem 1rem}.region-destinations{padding:.5rem}.destinations-inline-grid{grid-template-columns:1fr}}.search-selection-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.search-selection-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.search-selection-header{position:relative;padding:1rem 1.5rem 0}.search-selection-close{position:absolute;top:1rem;right:1.5rem;background:#f7fafc;color:#718096;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.search-selection-close:hover{background:#edf2f7;color:#2d3748}.search-selection-content{padding:0 1.5rem 1.5rem}.search-selection-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0 0 1.5rem;text-align:center}.search-options-container{display:flex;flex-direction:column;gap:1rem}.search-option-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.search-option-card:hover{border-color:#3182ce;background:#f7fafc;transform:translateY(-2px);box-shadow:0 4px 12px #3182ce26}.search-option-card:active{transform:translateY(0)}.search-option-icon{flex-shrink:0;width:48px;height:48px;background:#3182ce;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.search-option-content{flex:1}.search-option-title{font-size:1rem;font-weight:600;color:#2d3748;margin:0 0 .25rem}.search-option-description{font-size:.875rem;color:#718096;margin:0;line-height:1.4}@media (max-width: 480px){.search-selection-modal{margin:1rem;max-width:calc(100vw - 2rem)}.search-selection-header{padding:.75rem 1rem 0}.search-selection-close{top:.75rem;right:1rem}.search-selection-content{padding:0 1rem 1rem}.search-selection-title{font-size:1.125rem;margin-bottom:1.25rem}.search-option-card{padding:1rem;gap:.75rem}.search-option-icon{width:40px;height:40px}.search-option-icon svg{width:20px;height:20px}.search-option-title{font-size:.9rem}.search-option-description{font-size:.8rem}}.pricing-details-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.pricing-details-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;border:1px solid #e2e8f0}.pricing-details-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:10;border-radius:12px 12px 0 0}.pricing-details-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0;font-family:Urbanist,sans-serif;text-align:left;flex:1}.pricing-details-close-btn{background:#f1f5f9;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease;position:absolute;right:1.5rem;top:1.5rem}.pricing-details-close-btn:hover{background:#e2e8f0}.pricing-details-close-btn svg{color:#374151}.pricing-details-content{padding:1.5rem 2rem}.pricing-breakdown{margin-bottom:1.5rem}.pricing-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.pricing-item:last-of-type{border-bottom:none}.pricing-label{font-size:.875rem;color:#374151;font-weight:400}.pricing-value{font-size:.875rem;color:#374151;font-weight:500}.pricing-total{display:flex;justify-content:space-between;align-items:center;padding:1rem 0 .75rem;margin-top:.75rem;border-top:2px solid #e2e8f0}.pricing-total-label{font-size:1rem;color:#1e293b;font-weight:600}.pricing-total-value{font-size:1rem;color:#1e293b;font-weight:700}.pricing-info{margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9}.pricing-note{font-size:.75rem;color:#6b7280;margin:0 0 .5rem;line-height:1.4}.pricing-note:last-child{margin-bottom:0}@media (max-width: 768px){.pricing-details-modal-overlay{padding:.5rem}.pricing-details-modal{max-height:95vh;border-radius:8px}.pricing-details-header{padding:1rem 1.5rem .75rem}.pricing-details-title{font-size:1.125rem}.pricing-details-close-btn{width:36px;height:36px;right:1rem;top:1rem}.pricing-details-content{padding:1rem 1.5rem}.pricing-item{padding:.5rem 0}.pricing-label,.pricing-value{font-size:.8rem}.pricing-total-label,.pricing-total-value{font-size:.9rem}}@media (max-width: 480px){.pricing-details-modal-overlay{padding:.25rem}.pricing-details-header{padding:.75rem 1rem .5rem}.pricing-details-title{font-size:1rem}.pricing-details-content{padding:.75rem 1rem}}.skeleton-loader{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.skeleton-item{animation:fadeInUp .6s ease-out forwards;opacity:0;transform:translateY(20px)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.skeleton-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;border:1px solid #e2e8f0;display:flex;flex-direction:row;min-height:240px}.skeleton-image-container{width:40%;min-height:240px;background:#f1f5f9;position:relative;overflow:hidden}.skeleton-details-section{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.skeleton-header{display:flex;flex-direction:column;gap:.5rem}.skeleton-title{height:20px;background:#f1f5f9;border-radius:4px;width:80%;position:relative;overflow:hidden}.skeleton-location{height:16px;background:#f1f5f9;border-radius:4px;width:60%;position:relative;overflow:hidden}.skeleton-info-links{display:flex;flex-direction:column;gap:.5rem}.skeleton-link{height:14px;background:#f1f5f9;border-radius:4px;width:70%;position:relative;overflow:hidden}.skeleton-availability{height:16px;background:#f1f5f9;border-radius:4px;width:50%;position:relative;overflow:hidden}.skeleton-pricing-section{width:200px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.skeleton-badge{height:24px;background:#f1f5f9;border-radius:12px;width:80%;position:relative;overflow:hidden}.skeleton-price-info{display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%}.skeleton-price-label{height:14px;background:#f1f5f9;border-radius:4px;width:60%;position:relative;overflow:hidden}.skeleton-price-display{height:32px;background:#f1f5f9;border-radius:4px;width:60%;position:relative;overflow:hidden}.skeleton-price-per-night{height:14px;background:#f1f5f9;border-radius:4px;width:80%;position:relative;overflow:hidden}.skeleton-price-includes{height:12px;background:#f1f5f9;border-radius:4px;width:70%;position:relative;overflow:hidden}.skeleton-button{height:40px;background:#f1f5f9;border-radius:8px;width:100%;position:relative;overflow:hidden}.skeleton-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.75rem}.skeleton-list-icon{width:40px;height:40px;background:#f1f5f9;border-radius:8px;position:relative;overflow:hidden;flex-shrink:0}.skeleton-list-content{flex:1}.skeleton-list-title{height:20px;background:#f1f5f9;border-radius:4px;margin-bottom:.5rem;position:relative;overflow:hidden}.skeleton-list-subtitle{height:16px;background:#f1f5f9;border-radius:4px;width:60%;position:relative;overflow:hidden}.skeleton-grid-item{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;border:1px solid #e2e8f0}.skeleton-grid-image{width:100%;height:150px;background:#f1f5f9;position:relative;overflow:hidden}.skeleton-grid-content{padding:1rem}.skeleton-grid-title{height:20px;background:#f1f5f9;border-radius:4px;margin-bottom:.75rem;position:relative;overflow:hidden}.skeleton-grid-price{height:24px;background:#f1f5f9;border-radius:4px;width:50%;position:relative;overflow:hidden}.skeleton-shimmer{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;opacity:0;animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{to{opacity:1}}.skeleton-overlay-content{text-align:center;max-width:400px;padding:2rem}.skeleton-overlay-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.skeleton-overlay-subtitle{font-size:1rem;color:#64748b;margin-bottom:2rem}.skeleton-overlay-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.skeleton-overlay-progress{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-bottom:1rem}.skeleton-overlay-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:2px;animation:progress 3s ease-out forwards}@keyframes progress{0%{width:0%}to{width:100%}}@media (max-width: 768px){.skeleton-loader{gap:1rem}.skeleton-card{border-radius:8px;flex-direction:column}.skeleton-image-container{width:100%;height:200px}.skeleton-details-section{padding:1rem}.skeleton-pricing-section{width:100%;padding:1rem}.skeleton-overlay-content{padding:1.5rem;margin:1rem}.skeleton-overlay-title{font-size:1.25rem}.skeleton-overlay-subtitle{font-size:.9rem}}@media (max-width: 480px){.skeleton-loader{gap:.75rem}.skeleton-image-container{height:160px}.skeleton-details-section,.skeleton-pricing-section{padding:.875rem}}.pre-login-footer{background:#2c3e50;color:#fff;padding:3rem 0 1rem;margin-top:auto}.pre-login-footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.pre-login-footer-column{display:flex;flex-direction:column;gap:1rem}.pre-login-footer-title{font-size:1.1rem;font-weight:600;margin:0;color:#fff;font-family:Urbanist,sans-serif}.pre-login-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.pre-login-footer-link{color:#bdc3c7;text-decoration:none;font-size:.9rem;transition:color .3s ease;font-family:Urbanist,sans-serif}.pre-login-footer-link:hover{color:#fff}.pre-login-footer-copyright{text-align:center;padding:2rem 0 0;border-top:1px solid #34495e;margin-top:2rem}.pre-login-footer-copyright p{margin:0;color:#bdc3c7;font-size:.9rem;font-family:Urbanist,sans-serif}@media (max-width: 768px){.pre-login-footer-content{grid-template-columns:1fr;gap:1.5rem;text-align:center;padding:0 1rem}.pre-login-footer{padding:2rem 0 1rem}}@media (max-width: 480px){.pre-login-footer-content{gap:1rem}.pre-login-footer-title{font-size:1rem}.pre-login-footer-link{font-size:.85rem}}.user-dropdown{position:relative;display:inline-block}.header-link{background:none;border:none;color:#fff;display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;font-weight:300;font-family:Urbanist,sans-serif;transition:opacity .3s ease;padding:.5rem 1rem;position:relative;z-index:100}.user-greeting{background:#ffffff1a;border-radius:6px;font-weight:500}.user-greeting:hover{background:#fff3}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid #e2e8f0;min-width:180px;z-index:101;margin-top:.5rem;overflow:hidden}.user-dropdown .dropdown-item{width:100%;display:flex!important;align-items:center;gap:1.25rem;padding:.75rem 1rem;background:none;border:none;color:#374151;font-size:.875rem;font-weight:500;font-family:Urbanist,sans-serif;cursor:pointer;transition:background-color .2s;text-align:left}.user-dropdown .dropdown-item:hover{background-color:#f3f4f6}.user-dropdown .dropdown-item:first-child{border-bottom:1px solid #e2e8f0}.user-dropdown .dropdown-item svg{color:#6b7280;flex-shrink:0}.user-dropdown .dropdown-item:hover svg{color:#374151}.dropdown-menu{animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.dropdown-menu{right:-1rem;min-width:160px}.user-dropdown .dropdown-item{padding:.875rem 1rem;font-size:.9rem}}.search-results-page{min-height:100vh;background:#f8f9fa;font-family:Urbanist,sans-serif}.brand-section{display:flex;justify-content:space-between;align-items:center;flex:1}.brand-title{font-size:1.5rem;font-weight:300;margin:0}.header-links{display:flex;gap:2rem;align-items:center}.header-link{background:none;border:none;color:#fff;font-size:.9rem;cursor:pointer;text-decoration:underline;padding:0}.header-link:hover{opacity:.8}.traveling-party-count{font-size:.85rem;font-weight:600;color:#1a202c;margin:0}.traveling-party-icon{color:#4a5568;flex-shrink:0}.user-greeting{display:flex;align-items:center;gap:.5rem}.certificate-content{display:flex;align-items:center;gap:1rem;flex:1}.certificate-text{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:space-between}.certificate-question{font-size:.9rem;color:#4a5568}.certificate-detail-link{background:none;border:none;color:#3182ce;font-size:.9rem;cursor:pointer;text-decoration:underline;padding:0;text-align:left;align-self:flex-start}.search-results-main{padding:2rem 0}.search-results-main .container{max-width:1200px;margin:0 auto;padding:0 1rem}.search-layout{display:grid;grid-template-columns:280px 1fr;gap:2rem}.search-filters{background:#fff;border-radius:8px;padding:1.5rem;height:fit-content;box-shadow:0 2px 8px #0000001a}.filters-title{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0 0 1.5rem}.filter-section{margin-bottom:2rem}.filter-section:last-child{margin-bottom:0}.filter-section-title{font-size:1rem;font-weight:600;color:#2d3748;margin:0 0 1rem}.filter-section-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:1rem}.filter-chevron{transition:transform .2s ease}.filter-chevron.expanded{transform:rotate(180deg)}.filter-options{display:flex;flex-direction:column;gap:.75rem}.filter-option{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9rem}.filter-option input[type=radio],.filter-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}.filter-label{color:#4a5568;flex:1}.filter-option.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.filter-option.disabled .filter-label{color:#a0aec0}.filter-option.disabled input[type=radio],.filter-option.disabled input[type=checkbox]{cursor:not-allowed}.unavailable-indicator{font-size:.8rem;color:#e53e3e;font-style:italic;margin-left:.25rem}.price-slider-container{padding:1rem 0}.price-inputs{display:flex;gap:1rem;margin-bottom:1.5rem}.price-input-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.price-input-label{font-size:.9rem;font-weight:600;color:#2d3748;margin:0}.price-input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;color:#2d3748;background:#f7fafc;transition:all .2s ease}.price-input:focus{outline:none;border-color:#3182ce;background:#fff;box-shadow:0 0 0 3px #3182ce1a}.price-input:hover{border-color:#cbd5e0;background:#fff}.price-slider{position:relative;height:28px;margin-bottom:1rem}.price-slider-input{position:absolute;width:100%;height:28px;background:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:2}.price-slider-input::-webkit-slider-track{background:transparent;height:28px}.price-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;background:#3182ce;border-radius:50%;cursor:pointer;pointer-events:all;border:3px solid white;box-shadow:0 3px 6px #00000026;transition:all .2s ease;z-index:3;position:relative}.price-slider-input::-webkit-slider-thumb:hover{background:#2c5aa0;transform:scale(1.1)}.price-slider-input::-moz-range-track{background:transparent;height:28px}.price-slider-input::-moz-range-thumb{width:28px;height:28px;background:#3182ce;border-radius:50%;cursor:pointer;pointer-events:all;border:3px solid white;box-shadow:0 3px 6px #00000026;transition:all .2s ease;z-index:3;position:relative}.price-slider-input::-moz-range-thumb:hover{background:#2c5aa0;transform:scale(1.1)}.price-slider-track{position:absolute;top:50%;left:0;right:0;height:4px;background:#e2e8f0;border-radius:2px;transform:translateY(-50%);z-index:1}.price-slider-track:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:#e2e8f0;border-radius:2px;transition:all .2s ease}.price-slider-track:after{content:"";position:absolute;top:0;left:var(--min-percent, 0%);right:calc(100% - var(--max-percent, 100%));height:100%;background:#3182ce;border-radius:2px;transition:all .2s ease}.price-slider-labels{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.price-label{font-size:.9rem;font-weight:600;color:#2d3748;background:#f7fafc;padding:.25rem .5rem;border-radius:4px;border:1px solid #e2e8f0}.info-icon-btn{background:none;border:none;color:#718096;cursor:help;padding:.25rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.info-icon-btn:hover{color:#3182ce;background:#f7fafc}.info-icon-btn.small{padding:.125rem}.info-icon-text{font-size:.875rem;font-weight:600;line-height:1;display:inline-block}.info-icon{color:#718096;font-size:.8rem;cursor:help}.destination-group{margin-left:.5rem}.destination-region{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e2e8f0;margin-bottom:.75rem;transition:background-color .2s ease}.destination-region:hover{background-color:#f8fafc;border-radius:6px;padding-left:.5rem;padding-right:.5rem}.region-label{font-weight:500;color:#2d3748}.region-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;min-width:20px;text-align:center;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.region-badge.active{background:#8b5cf6;color:#fff}.region-badge.inactive{background:#fff;color:#8b5cf6;border:1px solid #8b5cf6}.destination-locations{display:flex;flex-direction:column;gap:.25rem;margin-left:1rem}.destination-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;margin:.125rem 0;border-radius:6px;transition:all .2s ease}.destination-option input[type=radio]{display:none}.destination-label{color:#4a5568;padding:.375rem .5rem;border-radius:6px;transition:all .2s ease;width:100%;text-align:left;cursor:pointer}.destination-option.selected .destination-label{background-color:#1e90ff;color:#fff;font-weight:500;box-shadow:0 2px 4px #1e90ff4d}.destination-option:not(.selected):hover .destination-label{background-color:#f1f5f9;color:#2d3748}.search-content{background:#fff;border-radius:8px;overflow:visible;box-shadow:0 2px 8px #0000001a}.month-selection{padding:1.5rem;border-bottom:1px solid #e2e8f0}.month-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.month-label{font-size:1rem;font-weight:600;color:#2d3748}.month-slider-container{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.month-slider-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.month-slider-btn:hover:not(.disabled){border-color:#3182ce;background:#f7fafc;color:#3182ce}.month-slider-btn.disabled{opacity:.4;cursor:not-allowed}.month-tabs-container{flex:1;overflow:hidden;min-width:0}.month-tabs{display:flex;gap:.5rem;transition:transform .3s ease;width:100%;justify-content:flex-start}.month-slider-indicator{display:flex;justify-content:center;margin-top:.5rem}.slider-info{font-size:.75rem;color:#718096}.month-tab{padding:.5rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex:0 0 auto;text-align:center;min-width:85px}.month-tab:hover{border-color:#3182ce;background:#f7fafc}.month-tab.active{background:#3182ce;color:#fff;border-color:#3182ce}.month-tab.view-more{color:#3182ce;border-color:#3182ce}.month-selector-section{margin-bottom:2rem;background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0}.month-selector-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.month-selector-label{font-size:1rem;font-weight:600;color:#1e293b}.month-selector-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.5rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.month-selector-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.month-selector-btn:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.calendar-section{padding:1.5rem;border-bottom:1px solid #e2e8f0}.calendar-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.calendar-label{font-size:.9rem;color:#4a5568}.calendar-grid{max-width:500px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.calendar-day-header{text-align:center;font-size:.75rem;font-weight:600;color:#718096;padding:.5rem}.calendar-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-date{width:40px;height:40px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.calendar-date.available:hover{border-color:#3182ce;background:#f7fafc}.calendar-date.selected{background:#3182ce;color:#fff;border-color:#3182ce}.calendar-date.unavailable{background:#f7fafc;color:#cbd5e0;cursor:not-allowed}.calendar-horizontal-container{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.calendar-slider-btn{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.calendar-slider-btn:hover:not(.disabled){background:#edf2f7;border-color:#cbd5e0}.calendar-slider-btn.disabled{background:#f7fafc;color:#cbd5e0;cursor:not-allowed;opacity:.5}.calendar-horizontal-scroll{flex:1;overflow:hidden}.calendar-dates-horizontal{display:flex;gap:1rem;transition:transform .3s ease}.calendar-date-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:60px}.calendar-day-name{font-size:.75rem;font-weight:600;color:#718096;text-align:center}.calendar-date-horizontal{width:50px;height:50px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#2d3748}.calendar-date-horizontal.available:hover{border-color:#3182ce;background:#f7fafc;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.calendar-date-horizontal.selected{background:#3182ce;color:#fff;border-color:#3182ce;transform:translateY(-2px);box-shadow:0 4px 12px #3182ce4d}.calendar-date-horizontal.unavailable{background:#f7fafc;color:#cbd5e0;cursor:not-allowed;opacity:.6}.calendar-slider-indicator{text-align:center;margin-top:.5rem}.calendar-info{font-size:.8rem;color:#718096}.results-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.5rem;border-bottom:1px solid #e2e8f0}.results-controls{display:flex;align-items:center;justify-content:space-between;width:100%;gap:2rem}.results-count{display:flex;align-items:center;gap:1rem}.clear-filters-btn{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568;padding:.375rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:#edf2f7;border-color:#cbd5e0;color:#2d3748}.sort-control{display:flex;align-items:center;gap:.5rem}.sort-label{font-size:.9rem;color:#4a5568;font-weight:500}.sort-select{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:.9rem;color:#2d3748;cursor:pointer;transition:border-color .2s ease}.sort-select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.sort-select:hover{border-color:#cbd5e0}.edit-party-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem;border-radius:4px;transition:background-color .2s ease}.edit-party-btn:hover{background:#f7fafc}.results-count{font-size:.9rem;color:#4a5568;font-weight:500}.mobile-filters-btn-container{padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0}.mobile-filters-btn{display:flex;align-items:center;gap:.5rem;background:#3182ce;color:#fff;border:none;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;position:relative}.filters-badge{background:#e53e3e;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;position:absolute;top:-5px;right:-5px}.results-grid{padding:1.5rem;display:grid;gap:1.5rem}.resort-card{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:box-shadow .2s ease;background:#fff;display:flex;flex-direction:row;min-height:240px;height:auto}.resort-card:hover{box-shadow:0 4px 16px #0000001a}.search-results-page .resort-image-container{position:relative;width:40%!important;height:100%;min-height:240px;overflow:hidden;background-color:#f8f9fa;display:flex;align-items:center;justify-content:center;max-width:none!important;aspect-ratio:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important}.resort-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,opacity .3s ease;background-color:#f8f9fa}.resort-card .resort-image-container{height:100%;min-height:240px}.search-results-page .resort-details-section{flex:1;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;border:none;box-shadow:none}.search-results-resort-name{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0px 0px .25rem}.search-results-resort-location{font-size:.9rem;color:#718096;margin:0}.collection-badge{height:25px;padding:0 .75rem;border-radius:12px;font-size:.75rem;font-weight:400;text-transform:none;letter-spacing:.3px;white-space:nowrap;align-self:flex-end;margin-bottom:1rem;display:flex;align-items:center;justify-content:center}.collection-badge.essentials{background-color:#579c00;color:#fff}.collection-badge.signature{background-color:#ffce22;color:#000}.resort-info-links{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.info-link{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;padding:0;text-align:left;transition:color .2s ease}.info-link:hover{color:#1d4ed8;text-decoration:underline}.info-icon{flex-shrink:0}.unit-availability{margin-top:auto}.availability-text{font-size:.875rem;color:#64748b;font-weight:500}.resort-pricing-section{width:20%;min-width:200px;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;text-align:right}.price-info{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-bottom:1rem}.price-label{font-size:.875rem;color:#64748b;font-weight:400}.price-display{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.current-price{font-size:2rem;font-weight:700;color:#1e293b;line-height:1}.price-per-night{font-size:.875rem;color:#64748b;font-weight:400}.price-includes-link{background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;padding:0;text-align:right;transition:color .2s ease}.price-includes-link:hover{color:#1d4ed8;text-decoration:underline}.view-rates-btn{background-color:#3b82f6;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;width:100%}.view-rates-btn:hover{background-color:#1d4ed8}.availability-indicator{position:absolute;top:8px;right:8px;background:#000c;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;z-index:2}.resort-content{padding:1.5rem}.resort-header{margin-bottom:1rem}.resort-details{margin-bottom:1.5rem}.resort-features{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.feature-link{background:none;border:none;color:#3182ce;font-size:.85rem;cursor:pointer;text-align:left;padding:0;text-decoration:underline}.feature-link:hover{color:#2c5aa0}.availability-text{font-size:.9rem;color:#4a5568;font-weight:500}.resort-pricing{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.price-info{flex:1}.price-label{font-size:.8rem;color:#718096;display:block;margin-bottom:.25rem}.price-display{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.25rem}.current-price{font-size:1.5rem;font-weight:700;color:#2d3748}.price-period{font-size:.85rem;color:#718096}.price-includes{font-size:.75rem;color:#718096}.view-rates-btn{background:#3182ce;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.view-rates-btn:hover{background:#2c5aa0}.results-summary{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f8f9fa;border-top:1px solid #e2e8f0;font-size:.9rem;color:#4a5568}.results-count{margin:0;font-weight:500}.page-info{margin:0;color:#718096}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1.5rem}.pagination-btn{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e2e8f0;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){border-color:#3182ce;background:#f7fafc}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-numbers{display:flex;gap:.25rem}.pagination-number{width:40px;height:40px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pagination-number:hover:not(:disabled){border-color:#3182ce;background:#f7fafc}.pagination-number.active{background:#3182ce;color:#fff;border-color:#3182ce}.pagination-number.ellipsis{border:none;cursor:default}.pagination-number.ellipsis:hover{background:#fff;border:none}.desktop-only{display:block}.mobile-only{display:none}@media (max-width: 1024px){.search-layout{grid-template-columns:250px 1fr;gap:1.5rem}.search-filters{padding:1rem}.month-tabs{justify-content:flex-start;gap:.375rem}.month-tab{padding:.5rem .625rem;font-size:.8rem;min-width:75px;flex:0 0 auto}}.mobile-icon-btn{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease}.mobile-icon-btn:hover{background:#ffffff1a}.mobile-certificate-link{background:none;border:none;color:#3182ce;text-decoration:underline;font-size:.875rem;cursor:pointer;margin-bottom:.5rem;display:block}.mobile-question{color:#1a202c;font-size:.875rem;margin:0}.mobile-selection-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin:.5rem 1rem 1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.mobile-selection-card:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.selection-card-content{display:flex;flex-direction:column;gap:1rem}.selection-main{display:flex;justify-content:space-between;align-items:flex-start}.selection-destination{font-size:1.25rem;font-weight:600;color:#1a202c;margin:0;flex:1}.selection-edit-btn{background:none;border:none;color:#718096;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.selection-edit-btn:hover{background:#f7fafc;color:#2d3748}.selection-details{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#4a5568}.selection-dates,.selection-travelers{font-weight:500}.mobile-results-controls{display:flex;justify-content:space-between;align-items:center;padding:0 1rem 1rem}.mobile-filter-link{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#3182ce;text-decoration:none;font-size:.875rem;cursor:pointer;padding:.5rem 1rem;display:flex;align-items:center;gap:.5rem}.mobile-results-count{color:#1a202c;font-size:.875rem;font-weight:500}@media (max-width: 768px){.desktop-only{display:none}.mobile-only,.mobile-header{display:block}.search-results-header,.certificate-info-bar,.selection-recap,.results-header,.mobile-filters-btn-container{display:none}.price-slider-container{padding:.75rem 0}.price-inputs{gap:.75rem;margin-bottom:1rem}.price-input{padding:.6rem;font-size:.85rem}.price-slider{height:32px;margin-bottom:.75rem}.price-slider-input::-webkit-slider-thumb{width:32px;height:32px;border:3px solid white;z-index:3}.price-slider-input::-moz-range-thumb{width:32px;height:32px;border:3px solid white;z-index:3}.price-label{font-size:.85rem;padding:.2rem .4rem}.search-layout{grid-template-columns:1fr;gap:0}.header-content{flex-direction:column;gap:1rem;text-align:center}.certificate-info-bar .container{flex-direction:column;gap:1rem;align-items:stretch}.certificate-content{justify-content:center;text-align:center}.certificate-text{flex-direction:column;align-items:center;text-align:center;gap:.5rem}.brand-section{flex-direction:column;gap:1rem}.header-links{justify-content:center}.certificate-content{flex-direction:column;gap:.5rem;text-align:center}.search-results-main{padding:1rem 0}.search-content{border-radius:0;margin:0 -1rem}.month-selection,.calendar-section,.results-header{padding:1rem}.results-header{flex-direction:column;align-items:flex-start;gap:1rem}.results-controls{flex-direction:column;align-items:stretch;gap:1rem;width:100%}.results-count{justify-content:space-between}.calendar-grid{max-width:none}.calendar-dates{gap:.25rem}.calendar-date{width:35px;height:35px}.calendar-horizontal-container{gap:.5rem}.calendar-date-container{min-width:50px}.calendar-date-horizontal{width:40px;height:40px;font-size:.8rem}.calendar-dates-horizontal{gap:.75rem}.results-grid{padding:1rem;gap:1rem}.resort-card{border-radius:8px;flex-direction:column}.search-results-page .resort-image-container{width:100%!important;height:200px!important;min-height:200px!important;max-height:200px!important;margin:0!important}.search-results-page .resort-image{width:100%!important;height:200px!important;min-height:200px!important;max-height:200px!important;object-fit:cover!important;object-position:center!important}.search-results-page .resort-details-section{padding:1rem;border:none;box-shadow:none}.resort-pricing-section{width:100%;min-width:auto;padding:1rem;align-items:flex-start;text-align:left}.collection-badge{align-self:flex-start}.price-info,.price-display{align-items:flex-start}.view-rates-btn{align-self:stretch;text-align:center}.results-summary{flex-direction:column;gap:.5rem;text-align:center;padding:1rem}.pagination{padding:1rem;overflow-x:auto}.pagination-numbers{min-width:max-content}}@media (max-width: 480px){.month-tabs{gap:.25rem;justify-content:flex-start}.month-tab{padding:.5rem;font-size:.75rem;min-width:65px;flex:0 0 auto}.calendar-dates{gap:.125rem}.calendar-date{width:30px;height:30px;font-size:.8rem}.calendar-horizontal-container{gap:.25rem}.calendar-date-container{min-width:45px}.calendar-date-horizontal{width:35px;height:35px;font-size:.75rem}.calendar-dates-horizontal{gap:.5rem}.calendar-day-name{font-size:.7rem}.search-results-resort-name{font-size:1rem}.current-price{font-size:1.25rem}.month-slider-container{gap:.25rem}.month-slider-btn{width:28px;height:28px}}.tooltip{position:fixed;z-index:9999;pointer-events:none;opacity:1;transform:translate(-50%);transition:opacity .3s ease;will-change:transform,opacity}.tooltip-content{background:#2d3748;color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;line-height:1.4;max-width:280px;box-shadow:0 8px 24px #00000040;word-wrap:break-word;text-align:center;white-space:nowrap}.tooltip-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #2d3748}@media (max-width: 768px){.tooltip-content{max-width:240px;padding:.625rem .875rem;font-size:.8rem}}@media (max-width: 480px){.tooltip-content{max-width:200px;padding:.5rem .75rem;font-size:.75rem}}.resort-location-container{display:flex;flex-direction:column;gap:.25rem}.proximity-badge{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:12px;display:inline-block;width:fit-content}.proximity-badge.same-city{background:#e6fffa;color:#00695c;border:1px solid #b2dfdb}.proximity-badge.nearby{background:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9}.proximity-badge.same-country{background:#fff3e0;color:#ef6c00;border:1px solid #ffcc02}.proximity-badge.same-region{background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.proximity-badge.distant{background:#f3e5f5;color:#7b1fa2;border:1px solid #ce93d8}.resort-details-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.resort-details-modal{background:#fff;border-radius:12px;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.resort-details-header{position:sticky;top:0;background:#fff;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid #e5e7eb}.resort-details-header h2{margin:0;font-size:3rem;font-weight:300;color:#1f2937;font-family:Urbanist,sans-serif}.resort-details-close-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:6px;color:#6b7280;transition:all .2s ease}.resort-details-close-btn:hover{background:#f3f4f6;color:#374151}.main-image{height:100%;border-radius:16px;overflow:hidden}.thumbnail-grid{height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.5rem}.thumbnail img{width:100%;height:100%;object-fit:cover}@media (max-width: 768px){.resort-details-modal-overlay{padding:1rem}.resort-details-modal{max-height:95vh}.resort-details-header,.resort-info,.resort-contact-info,.resort-amenities,.availability-calendar{padding-left:1rem;padding-right:1rem}.resort-image-gallery{grid-template-columns:1fr;padding:1rem;height:auto}.main-image{height:200px!important;min-height:200px!important;max-height:200px!important}.main-image img{height:200px!important;min-height:200px!important;max-height:200px!important;object-fit:cover!important;object-position:center!important}.thumbnail-grid{height:200px;margin-top:1rem}.thumbnail{height:100px!important;min-height:100px!important;max-height:100px!important}.thumbnail img{height:100px!important;min-height:100px!important;max-height:100px!important;object-fit:cover!important;object-position:center!important}.amenities-grid{grid-template-columns:repeat(2,1fr)}.resort-details-header h2{font-size:2rem}.resort-name-section .resort-name{font-size:1.75rem}.resort-amenities h4,.availability-calendar h4{font-size:1.5rem}.resort-panel-header h5,.resort-calendar-header h5{font-size:1.125rem}.resort-year-display{font-size:1.5rem}.resort-month-btn{font-size:1rem}.resort-year-nav-btn{font-size:1.125rem}.resort-date-btn{font-size:.875rem}.resort-weekday-label{font-size:.75rem}.resort-modal-selection-recap .recap-item,.resort-modal-footer .btn{font-size:.875rem}.resort-calendar-container{flex-direction:column;gap:1rem}.resort-date-selection-panel,.resort-calendar-grid-panel{flex:none;width:100%}.resort-details-content{grid-template-columns:1fr;gap:1.5rem}.desktop-only{display:none}.resort-info-column .resort-description{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.resort-calendar-grid{padding:.75rem;overflow-x:auto}.resort-weekdays-header,.resort-dates-grid{gap:.25rem;min-width:280px}.resort-date-btn{min-width:36px;min-height:36px;font-size:.875rem}.resort-weekday-label{font-size:.75rem;padding:.25rem}.resort-modal-footer{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem}.resort-modal-footer .resort-modal-selection-recap,.resort-modal-footer .action-buttons{justify-content:center}}@media (max-width: 480px){.resort-details-modal-overlay{padding:.5rem}.resort-details-header{padding:1rem 1rem .5rem}.resort-details-header h2,.resort-name-section .resort-name{font-size:1.5rem}.resort-amenities h4,.availability-calendar h4{font-size:1.25rem}.resort-panel-header h5,.resort-calendar-header h5{font-size:1rem}.amenities-grid{grid-template-columns:1fr}.calendar-placeholder{padding:2rem 1rem}}.room-details-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.room-details-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative}.room-details-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:10}.room-details-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0;font-family:Urbanist,sans-serif}.room-details-close-btn{background:#1e293b;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.room-details-close-btn:hover{background:#374151}.room-details-close-btn svg{color:#fff}.room-details-content{padding:1.5rem 2rem 2rem}.room-details-section{margin-bottom:2rem}.room-details-section:last-child{margin-bottom:0}.room-details-section-title{font-size:1rem;font-weight:600;color:#071758;margin:0 0 .75rem;font-family:Urbanist,sans-serif}.room-details-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.room-details-list li{font-size:.875rem;color:#374151;line-height:1.5;position:relative;padding-left:1rem}.room-details-list li:before{content:"•";color:#6b7280;font-weight:700;position:absolute;left:0}.room-details-list-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem 1rem}.room-details-list-columns li{padding-left:1rem}@media (max-width: 768px){.room-details-modal-overlay{padding:.5rem}.room-details-modal{max-height:95vh;border-radius:8px}.room-details-header{padding:1rem 1.5rem .75rem}.room-details-title{font-size:1.25rem}.room-details-close-btn{width:36px;height:36px}.room-details-content{padding:1rem 1.5rem 1.5rem}.room-details-section{margin-bottom:1.5rem}.room-details-section-title{font-size:.875rem;margin-bottom:.5rem}.room-details-list li{font-size:.8rem}.room-details-list-columns{grid-template-columns:1fr;gap:.5rem}}@media (max-width: 480px){.room-details-modal-overlay{padding:.25rem}.room-details-header{padding:.75rem 1rem .5rem}.room-details-title{font-size:1.125rem}.room-details-content{padding:.75rem 1rem 1rem}.room-details-section{margin-bottom:1.25rem}}.resort-amenities-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.resort-amenities-modal{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;border:1px solid #e2e8f0}.resort-amenities-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:10;border-radius:12px 12px 0 0}.resort-amenities-title{font-size:1.5rem;font-weight:700;color:#071758;margin:0;font-family:Urbanist,sans-serif}.resort-amenities-close-btn{background:#1e293b;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.resort-amenities-close-btn:hover{background:#374151}.resort-amenities-close-btn svg{color:#fff}.resort-amenities-content{padding:1.5rem 2rem 2rem}.amenities-section{margin-bottom:2rem}.amenities-section:last-child{margin-bottom:0}.amenities-section-title{font-size:1.125rem;font-weight:600;color:#071758;margin:0 0 1rem;font-family:Urbanist,sans-serif}.amenities-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.amenities-column{display:flex;flex-direction:column;gap:.5rem}.amenity-item{font-size:.875rem;color:#374151;line-height:1.4;font-family:Urbanist,sans-serif;position:relative;padding-left:1rem}.amenity-item:before{content:"•";color:#374151;font-weight:700;position:absolute;left:0}@media (max-width: 768px){.resort-amenities-modal-overlay{padding:.5rem}.resort-amenities-modal{max-height:95vh;border-radius:8px}.resort-amenities-header{padding:1rem 1.5rem .75rem}.resort-amenities-title{font-size:1.25rem}.resort-amenities-close-btn{width:36px;height:36px}.resort-amenities-content{padding:1rem 1.5rem 1.5rem}.amenities-section{margin-bottom:1.5rem}.amenities-section-title{font-size:1rem;margin-bottom:.75rem}.amenities-columns{grid-template-columns:1fr;gap:1rem}.amenity-text{font-size:.8rem}}@media (max-width: 480px){.resort-amenities-modal-overlay{padding:.25rem}.resort-amenities-header{padding:.75rem 1rem .5rem}.resort-amenities-title{font-size:1.125rem}.resort-amenities-content{padding:.75rem 1rem 1rem}.amenities-section{margin-bottom:1.25rem}}.room-cards-skeleton-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%}.room-card-skeleton-wrapper{opacity:0;animation:skeletonFadeIn .3s ease-out forwards}.room-card-skeleton{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;height:100%;min-height:400px}.skeleton-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-room-title{height:1.5rem;width:60%;margin-bottom:1rem}.skeleton-room-title .skeleton-shimmer{height:100%;width:100%}.skeleton-accommodations{margin-bottom:1.5rem;flex:1}.skeleton-accommodations-title{height:1.125rem;width:40%;margin-bottom:.75rem}.skeleton-accommodations-title .skeleton-shimmer{height:100%;width:100%}.skeleton-accommodations-list{display:flex;flex-direction:column;gap:.5rem}.skeleton-accommodation-item{height:1rem;width:100%}.skeleton-accommodation-item .skeleton-shimmer{height:100%;width:100%}.skeleton-pricing-section{margin-top:auto;display:flex;flex-direction:column;gap:1rem}.skeleton-price-info{display:flex;flex-direction:column;gap:.25rem}.skeleton-starting-at{height:.875rem;width:30%}.skeleton-starting-at .skeleton-shimmer{height:100%;width:100%}.skeleton-main-price{height:1.5rem;width:40%}.skeleton-main-price .skeleton-shimmer{height:100%;width:100%}.skeleton-per-night{height:.875rem;width:35%}.skeleton-per-night .skeleton-shimmer{height:100%;width:100%}.skeleton-includes-fees{height:.75rem;width:50%}.skeleton-includes-fees .skeleton-shimmer{height:100%;width:100%}.skeleton-action-buttons{display:flex;gap:.75rem;margin-top:auto}.skeleton-view-details-btn{flex:1;height:2.5rem;border-radius:8px}.skeleton-view-details-btn .skeleton-shimmer{height:100%;width:100%;border-radius:8px}.skeleton-reserve-btn{flex:1;height:2.5rem;border-radius:8px}.skeleton-reserve-btn .skeleton-shimmer{height:100%;width:100%;border-radius:8px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeletonFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.room-cards-skeleton-container{grid-template-columns:1fr;gap:1rem}.room-card-skeleton{padding:1rem;min-height:350px}.skeleton-room-title{height:1.25rem;width:70%}.skeleton-accommodations-title{height:1rem;width:50%}.skeleton-accommodation-item{height:.875rem}.skeleton-action-buttons{flex-direction:column;gap:.5rem}.skeleton-view-details-btn,.skeleton-reserve-btn{height:2.25rem}}@media (min-width: 769px) and (max-width: 1024px){.room-cards-skeleton-container{grid-template-columns:repeat(2,1fr)}}.select-room-page{min-height:100vh;background-color:#fff;padding:0}.search-results-header{background:#3182ce;color:#fff;padding:1rem 0}.search-results-header .container{max-width:1200px;margin:0 auto;padding:0 1rem}.header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.brand-section{display:flex;align-items:center;gap:2rem}.brand-title{font-size:1.5rem;font-weight:300;margin:0;color:#fff}.header-links{display:flex;align-items:center;gap:1rem}.header-link{background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.5rem 1rem;border-radius:.375rem;transition:background-color .2s}.header-link:hover{background-color:#ffffff1a}.user-greeting{font-weight:500}.certificate-info-bar{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 0}.certificate-info-bar .container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.certificate-content,.certificate-text{display:flex;align-items:center;gap:1rem}.certificate-question{font-size:.875rem;color:#4a5568;margin:0}.certificate-detail-link{background:none;border:none;color:#3182ce;text-decoration:underline;font-size:.875rem;cursor:pointer;padding:0}.certificate-detail-link:hover{color:#2c5282}.mobile-header{background:#fff;padding:0;display:none}.mobile-header-top{background:#3182ce;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.mobile-brand-title{font-size:1.25rem;font-weight:300;margin:0;color:#fff}.mobile-header-icons{display:flex;gap:1rem}.mobile-icon-btn{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.mobile-icon-btn:hover{background-color:#ffffff1a}.mobile-header-links{padding:1rem;margin-bottom:0}@media (max-width: 768px){.mobile-header-links{display:none}}.mobile-question{font-size:.875rem;color:#4a5568;margin:0;text-align:center}.page-header{display:flex;flex-direction:column;align-items:flex-start;padding:1rem 2rem;background-color:#fff;max-width:1200px;margin:0 auto}.select-room-page .back-button{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:none;border:none;cursor:pointer;color:#071758;transition:background-color .2s}.select-room-page .back-button:hover{background-color:#f1f5f9;border-radius:50%}.select-room-page .step-indicator{margin-top:.5rem;color:#071758;font-size:1rem;font-weight:600}.booking-summary{display:flex;background-color:#fff;padding:1.5rem 2rem;gap:2rem;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;max-width:1200px;margin:0 auto}.summary-item{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;text-align:left}.summary-label{font-size:.875rem;color:#64748b;font-weight:500;text-align:left}.summary-value{font-size:1rem;font-weight:600;color:#1e293b;text-align:left}.summary-with-edit{display:flex;align-items:center;gap:.5rem;justify-content:flex-start}.edit-link{background:none;border:none;color:#3b82f6;font-size:.875rem;cursor:pointer;text-decoration:underline;padding:0;display:flex;align-items:center;white-space:nowrap}.edit-link:hover{color:#2563eb}.main-content{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;padding:2rem 0 2rem 2rem;max-width:1200px;margin:0 auto}.resort-info-column{display:flex;flex-direction:column;gap:1.5rem}.resort-title-group{display:flex;flex-direction:column;gap:.25rem}.select-room-resort-name{font-size:2rem;font-weight:700;color:#071758;margin:0;line-height:1.2}.resort-location{font-size:1.125rem;color:#1e293b;margin:0;display:flex;align-items:center;gap:.5rem}.view-resort-details{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#3b82f6;font-size:1rem;cursor:pointer;padding:0;text-align:left;width:fit-content}.view-resort-details:hover{color:#2563eb}.contact-info{display:flex;flex-direction:column;gap:.5rem}.contact-info p{margin:0;color:#1e293b;font-size:1rem}.website-link{color:#3b82f6;text-decoration:none;font-size:1rem}.website-link:hover{color:#2563eb;text-decoration:underline}.airport-info p{margin:0;color:#1e293b;font-size:1rem}.airport-info p:first-child{margin-bottom:.25rem}.resort-image-column{display:flex;justify-content:flex-end;align-items:center}.room-size-image-slider-container{position:relative;width:800px;aspect-ratio:3/1;border-radius:12px;overflow:hidden;box-shadow:0 10px 25px #0000001a}.image-slider{position:relative;width:100%;height:100%}.resort-main-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:1;transform:translate(0)}.resort-main-image.slide-right{animation:slideInFromRight .4s ease-out}.resort-main-image.slide-left{animation:slideInFromLeft .4s ease-out}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.image-nav-button{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background-color:#fff;border:none;border-radius:10px;font-size:1.25rem;font-weight:700;color:#1e293b;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s}.image-nav-left{left:1rem}.image-nav-right{right:1rem}.image-nav-button:hover{background-color:#f8fafc;transform:translateY(-50%) scale(1.05)}.room-selection-section{padding:2rem;max-width:1200px;margin:0 auto}.room-selection-title,.amenities-section-title{font-size:1.75rem;font-weight:300;color:#1e293b;margin:0 0 2rem;text-align:left}.room-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem;align-items:start}.room-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s;display:flex;flex-direction:column;min-height:400px}.room-card:hover{box-shadow:0 4px 12px #0000001a}.room-title{font-size:1.5rem;font-weight:700;color:#071758;margin:0 0 1rem}.accommodations{margin-bottom:1.5rem}.accommodations-title{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 .75rem}.accommodations-list{list-style:none;padding:0;margin:0}.accommodations-list li{color:#64748b;font-size:.875rem;position:relative;padding:.25rem 0 .25rem 1rem}.room-card[data-room-type=studio] .accommodations-list{padding-bottom:1.5rem}.room-card.disabled{opacity:.6;pointer-events:none}.room-card.disabled .room-title,.room-card.disabled .accommodations-title,.room-card.disabled .accommodations-list li{color:#9ca3af}.room-card.disabled .price-info{opacity:.7}.room-card.disabled .reserve-room-btn{background-color:#d1d5db;color:#6b7280;cursor:not-allowed}.room-card.disabled .reserve-room-btn:hover{background-color:#d1d5db;transform:none}.unavailable-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:.75rem;margin:1rem 0;text-align:center}.unavailable-message span{color:#dc2626;font-size:.875rem;font-weight:500}.accommodations-list li:before{content:"•";color:#64748b;position:absolute;left:0}.pricing-section{display:flex;flex-direction:column;gap:1rem}.price-info{display:flex;flex-direction:column;gap:.25rem}.starting-at{font-size:.875rem;color:#64748b}.main-price{font-size:2rem;font-weight:700;color:#1e293b}.per-night{font-size:.875rem;color:#64748b}.includes-fees{font-size:.875rem;color:#3b82f6;text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-align:left;transition:color .2s ease}.includes-fees:hover{color:#2563eb}.action-buttons{display:flex;flex-direction:row;gap:.75rem;margin-top:auto}.view-details-link{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#3b82f6;font-size:.875rem;cursor:pointer;padding:0;text-align:left;width:fit-content}.view-details-link:hover{color:#2563eb}.reserve-room-btn{background-color:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.reserve-room-btn:hover{background-color:#2563eb}.amenities-section{padding:2rem;max-width:1200px;margin:0 auto}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.amenities-column{display:flex;flex-direction:column;gap:1rem}.amenities-column-title{font-size:1.25rem;font-weight:700;color:#071758;margin:0}.amenities-list{list-style:none;padding:0;margin:0}.amenities-list li{color:#1e293b;font-size:.875rem;position:relative;padding:.25rem 0 .25rem 1rem}.amenities-list li:before{content:"•";color:#64748b;position:absolute;left:0}.view-all-link{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#3b82f6;font-size:.875rem;cursor:pointer;padding:0;text-align:left;width:fit-content}.view-all-link:hover{color:#2563eb}@media (max-width: 768px){.page-header{padding:1rem;flex-direction:row;align-items:center;justify-content:flex-start;gap:1rem}.select-room-page .step-indicator{margin-top:0}.booking-summary{flex-direction:column;gap:1rem;padding:1rem;align-items:flex-start;justify-content:space-between;margin:1rem}.summary-with-edit{display:flex;align-items:center;gap:.5rem;justify-content:flex-start}.main-content{display:block!important;padding:1rem;gap:0;max-width:100%!important;width:100%!important;box-sizing:border-box!important}.resort-image-column{justify-content:center;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.room-size-image-slider-container{max-width:100%!important;width:100%!important;aspect-ratio:16/9!important;box-sizing:border-box!important;margin-top:1.5rem}.image-slider{max-width:100%!important;width:100%!important;box-sizing:border-box!important}.resort-name{font-size:1.5rem}.room-selection-section,.amenities-section{padding:1rem}.room-cards-grid{grid-template-columns:1fr;gap:1rem}.amenities-grid{grid-template-columns:1fr;gap:1.5rem}.action-buttons{flex-direction:column}}@media (min-width: 769px) and (max-width: 1024px){.room-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.mobile-header{display:block}.search-results-header,.certificate-info-bar{display:none}.certificate-info-bar .container{flex-direction:column;gap:1rem;align-items:stretch}.certificate-content{justify-content:center;text-align:center}}.edit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.edit-modal-container{background:#fff;border-radius:16px;padding:3rem;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;position:relative}.edit-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#071758;border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background-color .2s}.edit-modal-close:hover{background:#0a1f6b}.edit-modal-title{font-size:2rem;font-weight:400;color:#071758;margin:0 0 2rem;text-align:center;font-family:Urbanist,sans-serif}.edit-modal-form{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;color:#718096;font-weight:400}.form-input{padding:1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;font-weight:600;color:#000;font-family:Urbanist,sans-serif;transition:border-color .2s}.form-input:focus{outline:none;border-color:#06c}.form-select{background:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:20px;padding-right:3rem}.form-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1rem}.form-field-small,.form-field-medium{grid-column:span 1}.edit-modal-save{width:100%;padding:1rem 2rem;background:#06c;color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:500;cursor:pointer;transition:background-color .2s;font-family:Urbanist,sans-serif;margin-bottom:1rem}.edit-modal-save:hover{background:#0052a3}.edit-modal-cancel{width:100%;padding:1rem 2rem;background:transparent;color:#06c;border:none;font-size:1rem;font-weight:400;cursor:pointer;transition:color .2s;font-family:Urbanist,sans-serif}.edit-modal-cancel:hover{color:#049}@media (max-width: 768px){.edit-modal-container{padding:2rem 1.5rem;width:95%}.edit-modal-title{font-size:1.5rem}.form-row{grid-template-columns:1fr}.form-field-small,.form-field-medium{grid-column:span 1}}.edit-email-phone-modal{max-width:1200px}.required-asterisk{color:#ef4444}.email-confirmation-text{font-size:.875rem;color:#1a202c;margin:-.5rem 0 1rem;line-height:1.5}.phone-section{display:flex;flex-direction:column;gap:.75rem}.phone-inputs-row{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:1rem}.phone-field-country,.phone-field-area,.phone-field-number{display:flex;flex-direction:column;gap:.5rem}.form-label-small{font-size:.75rem;color:#718096;font-weight:400}.form-input-error{border-color:#ef4444!important}.form-error{color:#ef4444;font-size:.75rem;margin-top:.25rem;display:block}@media (max-width: 768px){.phone-inputs-row{grid-template-columns:1fr}}.payment-page{min-height:100vh;background-color:#fff;font-family:Urbanist,sans-serif}.payment-container{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.payment-left-section{background:linear-gradient(180deg,#0b7bc1,#0a5f96);color:#fff;padding:2rem 3rem;display:flex;flex-direction:column;position:relative}.payment-back-button{position:absolute;top:2rem;left:2rem;background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.payment-back-button:hover{opacity:.8}.payment-logo{display:flex;align-items:center;gap:.75rem;margin-top:4rem;margin-bottom:1rem}.logo-circle{width:32px;height:32px;background:#fff;border-radius:50%}.logo-text{font-size:1rem;font-weight:500;color:#fff}.payment-certificate-info{margin-bottom:1.5rem}.payment-page .certificate-number{font-size:.875rem;color:#fff!important;margin:0}.payment-resort-name{font-size:2rem;font-weight:600;line-height:1.3;margin:0 0 2rem;color:#fff}.payment-total-section{margin-bottom:2rem}.payment-total-amount{font-size:3rem;font-weight:700;color:#fff;margin-bottom:.25rem}.payment-total-label{font-size:1rem;color:#ffffffe6}.payment-breakdown{display:flex;flex-direction:column;gap:1rem}.breakdown-item{display:flex;justify-content:space-between;align-items:flex-start;color:#fff}.breakdown-label{font-size:1rem;font-weight:400}.breakdown-sublabel{font-size:.875rem;color:#fffc;margin-top:.25rem}.breakdown-value{font-size:1rem;font-weight:500}.breakdown-divider{height:1px;background:#ffffff4d;margin:.5rem 0}.breakdown-item.total-row .breakdown-label{font-weight:600;font-size:1.125rem}.breakdown-item.total-row .breakdown-value{font-weight:700;font-size:1.125rem}.payment-right-section{background:#f8f9fa;padding:3rem;overflow-y:auto}.payment-form-container{max-width:600px;margin:0 auto}.payment-form-section{margin-bottom:2.5rem}.payment-form-title{font-size:1.125rem;font-weight:600;color:#1a202c;margin:0 0 1.5rem}.payment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.payment-form-field{display:flex;flex-direction:column;gap:.5rem}.payment-form-label{font-size:.875rem;font-weight:500;color:#4a5568;margin-bottom:.5rem;display:block}.payment-form-value{font-size:.875rem;color:#1a202c;padding:.75rem;background:#e2e8f0;border-radius:6px}.payment-form-group{margin-bottom:1rem}.payment-input{width:100%;padding:.75rem;border:1px solid #CBD5E0;border-radius:6px;font-size:.875rem;font-family:Urbanist,sans-serif;color:#1a202c;background:#fff;transition:border-color .2s;box-sizing:border-box}.payment-input:focus{outline:none;border-color:#0b7bc1}.payment-input::placeholder{color:#a0aec0}.payment-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}.payment-card-input-group{display:flex;flex-direction:column;gap:0}.payment-card-number-input{position:relative;display:flex;align-items:center}.payment-card-number-input .payment-input{border-bottom-left-radius:0;border-bottom-right-radius:0;padding-right:140px}.payment-card-icons{position:absolute;right:.75rem;display:flex;gap:.5rem;align-items:center}.card-icon{width:24px;height:16px;object-fit:contain}.payment-card-details-row{display:grid;grid-template-columns:1fr 1fr;gap:0}.payment-expiry-input{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;border-top:none}.payment-cvc-input{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-top:none}.payment-complete-button{width:100%;padding:1rem;background:#0b7bc1;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;font-family:Urbanist,sans-serif;cursor:pointer;transition:background .2s;margin-top:1.5rem}.payment-complete-button:hover{background:#0a5f96}@media (max-width: 1024px){.payment-container{grid-template-columns:1fr}.payment-left-section{min-height:auto;padding:2rem 1.5rem}.payment-resort-name{font-size:1.5rem}.payment-total-amount{font-size:2.5rem}.payment-right-section{padding:2rem 1.5rem}.payment-form-row{grid-template-columns:1fr}}@media (max-width: 768px){.payment-left-section{padding:1.5rem 1rem}.payment-back-button{top:1rem;left:1rem}.payment-logo{margin-top:3rem}.payment-resort-name{font-size:1.25rem}.payment-total-amount{font-size:2rem}.payment-right-section{padding:1.5rem 1rem}.payment-form-container{max-width:100%}}.checkout-page,.checkout-page *{box-sizing:border-box}.checkout-page{min-height:100vh;background-color:#fff;display:flex;flex-direction:column;padding:0;overflow-x:hidden;width:100%}.checkout-page-header{background:#071758;color:#fff;padding:1rem 0;position:sticky;top:0;z-index:100}.header-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;position:relative}.header-left{display:flex;align-items:center;gap:1rem}.header-right{position:absolute;right:2rem}.header-center{position:absolute;left:50%;transform:translate(-50%)}.user-greeting{font-size:.875rem;color:#fff;font-weight:500}.brand-title{font-size:1.25rem;font-weight:300;color:#fff;margin:0;font-family:Urbanist,sans-serif}.checkout-content{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%;box-sizing:border-box}.checkout-page .page-header{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;background-color:#fff;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.checkout-page .page-header .back-button{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:none;border:none;cursor:pointer;color:#071758;transition:background-color .2s;align-self:flex-start}.checkout-page .page-header .back-button:hover{background-color:#f1f5f9;border-radius:50%}.checkout-page .page-header .step-indicator{margin-top:.5rem;color:#071758;font-size:1rem;font-weight:600;text-align:left;align-self:flex-start}.checkout-page .page-header .page-title{margin-top:.5rem;color:#071758;font-size:2rem;font-weight:700;text-align:left;align-self:flex-start;margin-bottom:0;font-family:Urbanist,sans-serif}.back-button{background:#ffffff1a;border:none;border-radius:8px;padding:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;color:#fff}.back-button:hover{background:#fff3}.step-indicator{font-size:.875rem;color:#fffc;font-weight:500}.checkout-title{font-size:1.5rem;font-weight:600;color:#fff;margin:0;font-family:Urbanist,sans-serif}.checkout-main-content{display:grid;grid-template-columns:65% 35%;gap:2rem;margin-bottom:2rem;width:100%;box-sizing:border-box}.checkout-left-column{position:sticky;top:2rem;height:fit-content;display:flex;flex-direction:column;gap:2rem}.traveler-info-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;overflow-wrap:break-word;word-wrap:break-word}.info-banner{background:#a7e3f4;color:#000;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1.5rem;text-align:center;font-weight:500}.traveler-section-layout{display:flex;gap:2rem;align-items:flex-start}.traveler-title{flex:0 0 250px}.traveler-title .section-title{font-size:1.5rem;font-weight:300;text-align:left;margin:0;color:#071758}.traveler-content{flex:1;display:flex;gap:2rem}.traveler-info{display:flex;flex-direction:column;gap:1.5rem}.info-group{display:flex;flex-direction:column;gap:.5rem}.info-subtitle{font-size:.875rem;font-weight:600;color:#374151;margin:0}.info-content{display:flex;flex-direction:column;gap:.25rem}.info-content p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.4}.edit-link{background:none;border:none;color:#071758;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:underline;align-self:flex-start;padding:0}.edit-link:hover{color:#0a1f6b}.trip-protection-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;scroll-margin-top:100px;overflow-wrap:break-word;word-wrap:break-word}.protection-section-layout{display:flex;gap:2rem;align-items:flex-start}.protection-error{background-color:#fee;border:1px solid #fcc;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:#c00;font-size:.875rem;font-weight:500;display:flex;align-items:center;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.protection-title{flex:0 0 250px}.protection-title .section-title{font-size:1.5rem;font-weight:300;text-align:left;margin:0;color:#071758}.protection-content{flex:1}.protection-disclaimer{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.protection-disclaimer p{margin:0;font-size:.875rem;color:#92400e;line-height:1.4}.protection-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.radio-option{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:8px;transition:background-color .2s ease}.radio-option:hover{background:#f8fafc}.radio-option input[type=radio]{margin:0;margin-top:.125rem}.radio-option span{font-size:.875rem;color:#374151;line-height:1.4}.protection-benefits{margin-bottom:1.5rem}.protection-benefits h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem}.protection-benefits ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.25rem}.protection-benefits li{font-size:.875rem;color:#6b7280;line-height:1.4}.protection-details{display:flex;flex-direction:column;gap:.75rem}.protection-details p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.4}.social-proof{font-weight:600;color:#059669}.details-link{color:#071758;font-size:.875rem;text-decoration:underline}.details-link:hover{color:#0a1f6b}.checkout-right-column{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:2rem;align-self:flex-start}.resort-details-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.checkout-resort-image{width:100%;height:300px;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.checkout-resort-image .resort-image{width:100%;height:100%;object-fit:cover}.resort-info{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.resort-detail-item{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.resort-detail-item svg{display:none}.resort-detail-label{color:#6b7280;font-size:.875rem;font-weight:400}.resort-detail-value{color:#000;font-size:1rem;font-weight:600}.resort-dates{display:flex;gap:2rem}.accommodations-info h4{font-size:.875rem;font-weight:400;color:#6b7280;margin:0 0 .5rem}.accommodation-details{display:flex;flex-direction:column;gap:.25rem;padding-left:1.25rem}.accommodation-details span{color:#000;font-size:.875rem;font-weight:400;position:relative;list-style:none}.accommodation-details span:before{content:"•";position:absolute;left:-1.25rem;color:#000}.price-detail-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.price-item{display:flex;justify-content:space-between;align-items:flex-start;padding:0;border-bottom:none;font-size:.875rem}.price-item span:first-child{color:#000;font-weight:400}.price-item span:last-child{color:#000;font-weight:600;font-size:1rem}.price-item.total{font-weight:600;font-size:1.25rem;color:#000;border-top:1px solid #e2e8f0;padding-top:1rem;margin-top:.5rem}.price-item.total span{font-size:1.25rem;font-weight:600}.price-item.resort-fees{color:#000;font-size:.875rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.price-item.resort-fees span{font-weight:400;font-size:.875rem}.price-note{font-size:.75rem;color:#6b7280;margin-top:.25rem;display:block}.important-info-section,.advisements-section,.additional-info-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.info-section-layout{display:flex;flex-direction:column;gap:2rem}.info-row{display:flex;gap:2rem;align-items:flex-start}.info-title{flex:0 0 250px}.info-title .section-title{font-size:1.5rem;font-weight:300;text-align:left;margin:0;color:#071758}.info-content,.advisement-content,.additional-content{flex:1}.info-content h4,.advisement-content h4,.additional-content h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .5rem}.info-content p,.advisement-content p,.additional-content p{margin:0 0 1rem;font-size:.875rem;color:#6b7280;line-height:1.5}.info-content a,.advisement-content a,.additional-content a{color:#071758;text-decoration:underline}.info-content a:hover,.advisement-content a:hover,.additional-content a:hover{color:#0a1f6b}.complete-payment-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.payment-layout{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.payment-left{flex:1;display:flex;flex-direction:column;gap:1.5rem;text-align:left}.payment-right{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.terms-checkbox{display:flex;align-items:flex-start;gap:.75rem}.terms-checkbox label{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#374151;cursor:pointer}.terms-checkbox input[type=checkbox]{margin:0}.secure-checkout{text-align:left}.secure-checkout h3{font-size:1.125rem;font-weight:600;color:#000;margin:0 0 .5rem}.secure-checkout p{font-size:.875rem;color:#000;margin:0 0 .5rem;line-height:1.5}.read-more-link{color:#06c;font-size:.875rem;text-decoration:underline}.read-more-link:hover{color:#049}.complete-payment-btn{background:#06c;color:#fff;border:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background-color .2s ease;min-width:220px;justify-content:center;white-space:nowrap}.complete-payment-btn:hover:not(:disabled){background:#0052a3}.complete-payment-btn:disabled{background:#9ca3af;cursor:not-allowed}.stripe-branding{font-size:.75rem;color:#6b7280;font-weight:400;text-align:right}@media (max-width: 1024px){.checkout-main-content{grid-template-columns:65% 35%;gap:1.5rem}}@media (max-width: 768px){.header-container{padding:0 1rem}.checkout-page .page-header{padding:1rem;max-width:none!important;margin:0!important}.checkout-content{padding:1rem}.page-header{padding:1rem;flex-direction:row;align-items:center;justify-content:flex-start;gap:1rem}.checkout-page .page-header .step-indicator{margin-top:0}.info-row{flex-direction:column;gap:.5rem}.info-title{flex:none}.protection-section-layout{flex-direction:column;gap:1rem}.protection-title{flex:none}.traveler-section-layout{flex-direction:column;gap:1rem}.traveler-title{flex:none}.traveler-content{flex-direction:column;gap:1.5rem}.checkout-content{padding:1rem!important;max-width:none!important;width:100%!important;box-sizing:border-box!important;margin:0!important}.checkout-main-content{display:flex!important;flex-direction:column;gap:1.5rem;max-width:none!important;width:100%!important;box-sizing:border-box!important;margin:0!important}.checkout-left-column{position:static;max-width:none!important;width:100%!important;margin-bottom:1.5rem;order:2}.checkout-right-column{position:static;max-width:none!important;width:100%!important;margin-bottom:1.5rem;order:1}.checkout-header{flex-direction:column;align-items:flex-start;gap:.75rem}.back-button{align-self:flex-start}.checkout-title{font-size:1.25rem}.traveler-info-section,.trip-protection-section,.resort-details-section,.price-detail-section,.important-info-section,.advisements-section,.additional-info-section{padding:1rem;max-width:none!important;width:100%!important}.complete-payment-section{padding:1.5rem;max-width:none!important;width:100%!important}.payment-layout{flex-direction:column;gap:1.5rem}.payment-right{align-items:stretch;width:100%}.complete-payment-btn{width:100%}.stripe-branding{text-align:center}.accommodation-details{flex-direction:column;gap:.5rem}.accommodation-details span{align-self:flex-start}}@media (max-width: 480px){.header-container{padding:0 .75rem}.checkout-page .page-header{padding:.75rem;max-width:none!important;margin:0!important}.checkout-content{padding:.75rem!important;max-width:none!important;width:100%!important;box-sizing:border-box!important;margin:0!important}.checkout-header{margin-bottom:1.5rem}.checkout-main-content{display:flex!important;flex-direction:column;gap:1rem;max-width:none!important;width:100%!important;box-sizing:border-box!important;margin:0!important}.checkout-left-column{max-width:none!important;width:100%!important;margin-bottom:1rem;order:2}.checkout-right-column{max-width:none!important;width:100%!important;margin-bottom:1rem;order:1}.traveler-info-section,.trip-protection-section,.resort-details-section,.price-detail-section,.important-info-section,.advisements-section,.additional-info-section{padding:.75rem;max-width:none!important;width:100%!important}.complete-payment-section{padding:1rem;max-width:none!important;width:100%!important}.complete-payment-btn{padding:.875rem 1.5rem;font-size:.875rem;min-width:180px}.section-title{font-size:1.125rem}.checkout-page .page-header .page-title{font-size:1.5rem}}.confirmation-page{min-height:100vh;background-color:#fff;display:flex;flex-direction:column;padding:0}.confirmation-content{max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%;box-sizing:border-box}.confirmation-page .header-container{max-width:1200px!important;padding:0 1rem!important}.confirmation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.confirmation-page .confirmation-title{font-size:2.5rem!important;font-weight:700!important;color:#071758!important;margin:0!important;line-height:1.2!important}.print-receipt-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid #071758;color:#071758;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.print-receipt-btn:hover{background:#071758;color:#fff}.success-banner{background:#a7e3f4;color:#000;padding:1.25rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;margin-bottom:2rem;line-height:1.5}.confirmation-main-content{display:grid;grid-template-columns:60% 40%;gap:2rem;margin-bottom:2rem}.confirmation-left-column{position:sticky;top:2rem;height:fit-content;display:flex;flex-direction:column;gap:2rem}.confirmation-right-column{display:flex;flex-direction:column;gap:1.5rem;align-self:flex-start}.booking-confirmation-section,.traveler-info-section,.important-info-section,.important-advisements-section,.additional-info-section,.resort-details-section,.price-detail-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.section-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1rem;font-family:Urbanist,sans-serif}.booking-confirmation-section .section-title,.traveler-info-section .section-title,.important-info-section .section-title,.important-advisements-section .section-title,.additional-info-section .section-title{font-size:1.5rem;font-weight:300;text-align:left;margin:0;color:#071758}.confirmation-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}.confirmation-detail-block{display:flex;flex-direction:column;gap:.75rem}.confirmation-number{font-family:Courier New,monospace;font-weight:600;color:#071758;font-size:1rem}.status-confirmed{color:#059669;font-weight:600}.certificate-number{font-family:Courier New,monospace;color:#64748b}.traveler-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.traveler-info-block{display:flex;flex-direction:column;gap:.75rem}.info-subtitle{font-size:1rem;font-weight:600;color:#071758;margin:0}.info-subtitle-bold{font-size:1rem;font-weight:600;color:#071758;margin:.5rem 0}.info-text{display:flex;flex-direction:column;gap:.5rem;color:#4a5568;font-size:.875rem;line-height:1.6}.info-text p{margin:0}.info-text a{color:#0b7bc1;text-decoration:none}.info-text a:hover{text-decoration:underline}.view-more-link{color:#0b7bc1;text-decoration:none;font-weight:500;font-size:1rem}.view-more-link:hover{text-decoration:underline}.confirmation-resort-image{width:100%;height:250px;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.confirmation-resort-image .resort-image{width:100%;height:100%;object-fit:cover}.resort-info{display:flex;flex-direction:column;gap:1rem}.destination-label{font-size:.75rem;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin:0}.resort-name{font-size:1.25rem;font-weight:600;color:#071758;margin:0}.resort-subname{font-size:1rem;font-weight:500;color:#4a5568;margin:-.5rem 0 0}.hotel-phone{font-size:.875rem;font-weight:400;color:#718096;margin:.25rem 0 0}.resort-dates{display:flex;gap:2rem;padding:1rem 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.date-block{display:flex;flex-direction:column;gap:.25rem}.date-label{font-size:.875rem;color:#718096}.date-value{font-size:1rem;font-weight:600;color:#071758}.traveling-party-info,.accommodations-info{display:flex;flex-direction:column;gap:.5rem}.party-label,.accom-label{font-size:.875rem;color:#718096}.party-value{font-size:1rem;font-weight:500;color:#071758}.accom-list{list-style:disc;padding-left:1.5rem;margin:0;color:#071758;font-size:.875rem}.accom-list li{margin:.25rem 0}.price-detail-section h3{font-weight:300;text-align:left}.price-breakdown{display:flex;flex-direction:column;gap:1rem}.price-item-large{display:flex;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600;color:#071758}.price-subtext,.certificate-number{font-size:.875rem;color:#718096;margin-top:-.5rem}.price-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#4a5568}.price-divider{height:1px;background:#e2e8f0;margin:.5rem 0}.price-item-total{display:flex;justify-content:space-between;align-items:center;font-size:1.125rem;font-weight:700;color:#071758}.resort-fees-notice{background:#f8f9fa;padding:1rem;border-radius:8px;margin-top:1rem}.fees-label{font-size:.875rem;color:#071758;font-weight:600;margin:0 0 .25rem}.fees-amount{font-size:.75rem;color:#718096;margin:0 0 .25rem}.fees-value{font-size:1rem;font-weight:700;color:#071758;margin:0}.powered-by{text-align:center;font-size:.75rem;color:#718096;margin-top:1rem}.powered-by strong{color:#635bff;font-weight:600}.whats-next-section{background:linear-gradient(135deg,#1a237e,#283593);border-radius:12px;padding:3rem;margin:2rem 0}.whats-next-content{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}.whats-next-text h2{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .5rem}.whats-next-text h3{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 1rem}.whats-next-text p{color:#ffffffe6;font-size:1rem;line-height:1.6;margin:0 0 1rem}.promo-code{color:#fff;font-size:1rem;margin:1rem 0 0}.promo-code strong{background:#fff3;padding:.25rem .75rem;border-radius:4px;font-weight:700}.whats-next-buttons{display:flex;flex-direction:column;gap:1rem}.whats-next-btn{background:#0b7bc1;color:#fff;border:none;padding:1rem 2.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.whats-next-btn:hover{background:#0a5f96}@media (max-width: 1024px){.confirmation-main-content{grid-template-columns:1fr}.confirmation-left-column{position:static;max-width:none!important;width:100%!important;margin-bottom:1.5rem;order:2}.confirmation-right-column{position:static;max-width:none!important;width:100%!important;margin-bottom:1.5rem;order:1}.whats-next-content{grid-template-columns:1fr;gap:2rem}.whats-next-buttons{flex-direction:row}}@media (max-width: 768px){.confirmation-content{padding:1rem}.confirmation-header{flex-direction:column;align-items:flex-start;gap:1rem}.confirmation-left-column{max-width:none!important;width:100%!important;margin-bottom:1rem;order:2}.confirmation-right-column{max-width:none!important;width:100%!important;margin-bottom:1rem;order:1}.confirmation-page .confirmation-title{font-size:1.75rem!important}.print-receipt-btn{width:100%;justify-content:center}.success-banner{font-size:.875rem;padding:1rem}.confirmation-details-grid{grid-template-columns:1fr;gap:1rem}.traveler-info-grid{grid-template-columns:1fr;gap:1.5rem}.whats-next-section{padding:2rem 1rem}.whats-next-buttons{flex-direction:column}.whats-next-btn{width:100%}}.pre-login-header{background:#007bff;padding:1rem 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.pre-login-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.pre-login-brand{color:#fff;font-size:1.5rem;font-weight:300;letter-spacing:.5px;margin:0;font-family:Urbanist,sans-serif}.pre-login-header-actions{display:flex;gap:1.5rem;align-items:center}.pre-login-language-button,.pre-login-signin-button{background:none;border:none;color:#fff;display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:all .3s ease;font-family:Urbanist,sans-serif}.pre-login-language-button:hover,.pre-login-signin-button:hover{background-color:#ffffff1a;transform:translateY(-1px)}.pre-login-language-button:active,.pre-login-signin-button:active{transform:translateY(0)}@media (max-width: 768px){.pre-login-header-content{padding:0 1rem}.pre-login-brand{font-size:1.25rem}.pre-login-header-actions{gap:1rem}.pre-login-language-button,.pre-login-signin-button{font-size:.8rem;padding:.4rem .8rem}}@media (max-width: 480px){.pre-login-brand{font-size:1.1rem}.pre-login-language-button span,.pre-login-signin-button span{display:none}.pre-login-language-button,.pre-login-signin-button{padding:.5rem;border-radius:50%}}.profile-page{min-height:100vh;background-color:#f8f9fa;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.profile-main{flex:1;padding:2rem 0;overflow-y:auto;overflow-x:hidden}.profile-container{max-width:1200px;margin:0 auto;padding:0 2rem}.profile-page-title{font-size:2rem;font-weight:700;color:#1a365d;margin:0 0 2rem;font-family:Urbanist,sans-serif}.profile-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:70vh}.profile-image-column{display:flex;align-items:center;justify-content:center}.profile-hero-image{width:100%;height:100%;min-height:500px;overflow:hidden}.profile-hero-img{width:100%;height:100%;object-fit:cover;object-position:center}.profile-form-column{display:flex;align-items:flex-start;justify-content:center;padding:3rem 2rem;overflow-y:auto;overflow-x:hidden}.profile-form-container{width:100%;max-width:500px;box-shadow:none!important}.profile-intro{font-size:1.5rem;color:#666;line-height:1.5;margin:0 0 2rem}.profile-form{display:flex;flex-direction:column;gap:2rem;box-shadow:none!important}.profile-section{display:flex;flex-direction:column;gap:1rem}.profile-section-title{font-size:1.125rem;font-weight:600;color:#2d3748;margin:0 0 .5rem;font-family:Urbanist,sans-serif}.profile-instruction{font-size:.9rem;color:#666;line-height:1.5;margin:0 0 1rem}.profile-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.profile-label{font-size:.875rem;font-weight:500;color:#666;margin:0;font-family:Urbanist,sans-serif}.profile-input,.profile-select{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:4px;font-size:1rem;font-family:Urbanist,sans-serif;transition:border-color .3s ease,box-shadow .3s ease;background:#fff;color:#2d3748}.profile-input:focus,.profile-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.profile-input-error{border-color:#dc3545}.profile-select-container{position:relative}.profile-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.5rem;cursor:pointer}.profile-select-arrow{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#666;pointer-events:none;font-size:.8rem}.profile-password-container{position:relative;display:flex;align-items:center}.profile-password-input{padding-right:3rem}.profile-password-toggle{position:absolute;right:.75rem;background:none;border:none;color:#666;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .3s ease}.profile-password-toggle:hover{color:#333}.profile-checkbox-item{margin-bottom:1.25rem}.profile-checkbox-label{display:flex!important;align-items:flex-start!important;gap:.75rem!important;cursor:pointer;line-height:1.5;width:100%;flex-direction:row!important}.profile-checkbox{width:18px!important;height:18px!important;margin:0!important;accent-color:#007bff!important;cursor:pointer;flex-shrink:0!important;margin-top:.125rem!important;order:1!important}.profile-checkbox-text{font-size:.9rem;color:#2d3748;line-height:1.4;font-family:Urbanist,sans-serif;flex:1!important;display:flex!important;flex-direction:column!important;gap:.25rem;order:2!important}.profile-checkbox-text strong{color:#2d3748;font-weight:600;font-size:.9rem}.profile-checkbox-description{font-size:.9rem;color:#666;line-height:1.4;font-weight:400}.profile-agreement{margin:1rem 0}.profile-agreement-text{font-size:.9rem;color:#4a5568;line-height:1.5;margin:0;font-family:Urbanist,sans-serif}.profile-submit-button{width:100%;padding:.875rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;font-family:Urbanist,sans-serif;margin-top:1rem}.profile-submit-button:hover{background:#0056b3}.profile-error-message{font-size:.8rem;color:#dc3545;margin:0}@media (max-width: 768px){.profile-layout{grid-template-columns:1fr;gap:0}.profile-image-column{order:2}.profile-form-column{order:1;padding:2rem 1rem}.profile-hero-image{min-height:300px}.profile-page-title{font-size:1.75rem}.profile-container{padding:0 1rem}}@media (max-width: 480px){.profile-page-title{font-size:1.5rem}.profile-intro{font-size:.9rem}.profile-form{gap:1.5rem}.profile-section{gap:.75rem}}.user-profile-page{min-height:100vh;background-color:#fff;font-family:Urbanist,sans-serif}.profile-content{padding:2rem 0;min-height:calc(100vh - 200px)}.profile-header{margin-bottom:3rem;border-radius:12px;overflow:hidden;position:relative;border:1px solid #e2e8f0;padding-top:0}.profile-header-top{height:300px;position:relative;background:url(/images/Profile_header_bg.png) center/cover no-repeat}.profile-background-image{width:100%;height:100%;position:relative;background:url(/images/Profile_header_bg.png) center/cover no-repeat}.back-to-search-btn{position:absolute;top:1rem;right:1rem;background:#fff;color:#071758;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:Urbanist,sans-serif}.back-to-search-btn:hover{background:#f8f9fa;border-color:#cbd5e0}.profile-header-bottom{background:#fff;padding:0 2rem 0 120px;position:relative}.profile-avatar{position:absolute;left:2rem;top:-40px;width:80px;height:80px;background:#071758;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:4px solid white;z-index:10}.profile-info{flex:1;padding:2rem 0}.profile-name{font-size:1.75rem;font-weight:600;color:#071758;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px;text-align:left}.profile-email{font-size:1rem;color:#6b7280;margin:0 0 1.5rem;text-align:left}.certificate-info{display:flex;gap:2rem;flex-wrap:wrap}.certificate-item{display:flex;flex-direction:column;gap:.25rem}.cert-label{font-size:.875rem;color:#6b7280;font-weight:500}.cert-value{font-size:1rem;font-weight:600;color:#071758}.edit-actions{display:flex;gap:1rem;justify-content:flex-end}.profile-details{display:flex;flex-direction:column;gap:2rem}.profile-personal-info-section,.profile-address-info-section{background:#fff;border-radius:12px;padding:2rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.section-title{font-size:1.5rem;font-weight:300!important;color:#071758;margin:0;margin-left:0!important;text-align:left}.section-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1.5rem;position:relative}.section-header .btn{position:absolute;right:0}.section-header .section-title{margin-left:0!important;font-weight:300!important}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-item-full{grid-column:1 / -1}.detail-label{font-size:.875rem;font-weight:500;color:#6b7280}.detail-value{font-size:1rem;color:#1f2937;font-weight:500;padding:.75rem 0}.detail-value.detail-hint{color:#9ca3af;font-weight:400;font-style:italic}.detail-input{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-family:Urbanist,sans-serif;transition:border-color .2s}.detail-input:focus{outline:none;border-color:#071758;box-shadow:0 0 0 3px #0717581a}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:Urbanist,sans-serif}.btn-primary{background:#071758;color:#fff}.btn-primary:hover{background:#0a1f6e}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-secondary:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.btn-outline-danger{background:transparent;color:#dc2626;border:2px solid #dc2626}.btn-outline-danger:hover{background:#dc2626;color:#fff}@media (max-width: 768px){.profile-header-top{height:100px}.profile-header-bottom{padding:0 1.5rem 0 100px}.profile-info{padding:1.5rem 0}.profile-avatar{left:1.5rem;top:-35px;width:70px;height:70px}.profile-name{font-size:1.5rem}.certificate-info{flex-direction:column;gap:1rem}.back-to-search-btn{top:.75rem;right:.75rem;padding:.4rem .8rem;font-size:.8rem}.detail-grid{grid-template-columns:1fr;gap:1rem}.profile-personal-info-section,.profile-address-info-section{padding:1.5rem}.edit-actions{flex-direction:column;width:100%}}@media (max-width: 480px){.profile-header-top{height:80px}.profile-header-bottom{padding:0 1rem 0 90px}.profile-info{padding:1rem 0}.profile-avatar{left:1rem;top:-30px;width:60px;height:60px}.profile-name{font-size:1.25rem}.profile-email{font-size:.9rem}.certificate-info{gap:.75rem}.cert-label{font-size:.8rem}.cert-value{font-size:.9rem}.back-to-search-btn{top:.5rem;right:.5rem;padding:.3rem .6rem;font-size:.75rem}.profile-personal-info-section,.profile-address-info-section{padding:1rem}.section-title{font-size:1.25rem}}.profile-email-preferences-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;margin-bottom:2rem}.profile-instruction{font-size:.875rem;color:#64748b;margin:0 0 1.5rem;line-height:1.5}.email-preferences-grid{display:flex;flex-direction:column;gap:1.5rem}.profile-checkbox-item{display:flex;align-items:flex-start;gap:.75rem}.profile-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;width:100%}.profile-checkbox{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:#071758}.profile-checkbox:disabled{opacity:.5;cursor:not-allowed}.profile-checkbox-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.profile-checkbox-text strong{font-size:1rem;font-weight:600;color:#071758}.profile-checkbox-description{font-size:.875rem;color:#64748b;line-height:1.4}.profile-password-reset-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;margin-bottom:2rem}.password-reset-content{margin-top:1rem}.password-reset-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:600;color:#374151}.form-input{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:#071758;box-shadow:0 0 0 3px #0717581a}.form-input:disabled{background-color:#f9fafb;cursor:not-allowed}.form-error{color:#dc2626;font-size:.875rem;margin-top:.25rem}.password-reset-confirmation{text-align:left;padding:2rem 1rem}.confirmation-icon{color:#059669;margin-bottom:1rem;display:flex;justify-content:flex-start}.confirmation-title{font-size:1.25rem;font-weight:600;color:#071758;margin:0 0 1rem}.confirmation-message{font-size:1rem;color:#64748b;margin:0 0 2rem;line-height:1.5;padding:0}@media (max-width: 768px){.profile-email-preferences-section,.profile-password-reset-section{padding:1rem}.email-preferences-grid{gap:1rem}.profile-checkbox-item,.profile-checkbox-label{gap:.5rem}.profile-checkbox-text strong{font-size:.875rem}.profile-checkbox-description{font-size:.8rem}.password-reset-form{gap:1rem}.password-reset-confirmation{padding:1.5rem .5rem}.confirmation-title{font-size:1.125rem}.confirmation-message{font-size:.875rem}}.image-gallery-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.image-gallery-modal{width:100%;max-width:1400px;max-height:95vh;background:#000;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;position:relative}.image-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#000c;border-bottom:1px solid rgba(255,255,255,.1)}.image-counter{color:#fff;font-size:.875rem;font-weight:500}.image-gallery-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s ease}.image-gallery-close:hover{background:#fff3}.image-gallery-main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:500px}.image-gallery-content{flex:1;display:flex;align-items:center;justify-content:center;max-height:70vh;overflow:hidden}.gallery-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px}.video-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.gallery-video{max-width:100%;max-height:100%;border-radius:16px}.video-poster{position:relative;cursor:pointer;max-width:100%;max-height:100%}.video-poster img{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px}.video-play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:16px;transition:all .2s ease}.video-poster:hover .video-play-overlay{background:#00000080}.video-play-button{width:80px;height:80px;background:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;transition:all .2s ease}.video-poster:hover .video-play-button{background:#fff;transform:scale(1.1)}.image-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:none;border-radius:50%;background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.image-gallery-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.image-gallery-prev{left:1rem}.image-gallery-next{right:1rem}.image-gallery-caption{padding:1rem 1.5rem;background:#000c;border-top:1px solid rgba(255,255,255,.1);color:#fff;font-size:.875rem;line-height:1.4;text-align:center}.image-gallery-thumbnails{padding:1rem 1.5rem;background:#000c;border-top:1px solid rgba(255,255,255,.1)}.thumbnails-scroll{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0}.thumbnails-scroll::-webkit-scrollbar{height:6px}.thumbnails-scroll::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.thumbnails-scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.thumbnails-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff80}.thumbnail-item{flex-shrink:0;width:80px;height:60px;border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease;background:#000}.thumbnail-item:hover{border-color:#ffffff80}.thumbnail-item.active{border-color:#fff}.thumbnail-item img{width:100%;height:100%;object-fit:cover}.thumbnail-video{position:relative;width:100%;height:100%}.thumbnail-video img{width:100%;height:100%;object-fit:cover}.thumbnail-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}@media (max-width: 768px){.image-gallery-modal-overlay{padding:.5rem}.image-gallery-modal{max-height:96vh;border-radius:8px}.image-gallery-header{padding:.75rem 1rem}.image-gallery-close{width:36px;height:36px}.image-gallery-main{min-height:400px}.image-gallery-content{max-height:65vh}.image-gallery-nav{width:40px;height:40px}.image-gallery-prev{left:.5rem}.image-gallery-next{right:.5rem}.video-play-button{width:60px;height:60px}.image-gallery-caption{padding:.75rem 1rem;font-size:.8rem}.image-gallery-thumbnails{padding:.75rem 1rem}.thumbnail-item{width:60px;height:45px}}@media (max-width: 480px){.image-gallery-modal-overlay{padding:.25rem}.image-gallery-header{padding:.5rem .75rem}.image-gallery-close{width:32px;height:32px}.image-gallery-main{min-height:350px}.image-gallery-content{max-height:60vh}.image-gallery-nav{width:36px;height:36px}.image-gallery-prev{left:.25rem}.image-gallery-next{right:.25rem}.video-play-button{width:50px;height:50px}.image-gallery-caption{padding:.5rem .75rem;font-size:.75rem}.image-gallery-thumbnails{padding:.5rem .75rem}.thumbnail-item{width:50px;height:38px}.thumbnail-play-icon{width:16px;height:16px}}.resort-details-page{min-height:100vh;background-color:#fff;display:flex;flex-direction:column;overflow-x:hidden}.resort-details-page-header{background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:100}.header-container{max-width:1200px;margin:0 auto;padding:0 1rem}.header-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:1rem}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#071758;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#f8f9fa;border-color:#cbd5e0}.resort-title{font-size:1.25rem;font-weight:600;color:#071758;margin:0;flex:1;text-align:center}.header-actions{display:flex;align-items:center}.resort-details-modal{background:#fff;border-radius:12px;max-width:1000px;width:100%;margin:0 auto;box-shadow:0 20px 40px #0000001a;min-height:100vh;padding-bottom:2rem}.resort-image-gallery{display:grid;grid-template-columns:2fr 1fr;gap:1rem;padding:2rem;height:350px}.main-image{height:100%;border-radius:16px;overflow:hidden;cursor:pointer}.main-image img{width:100%;height:100%;object-fit:cover}.thumbnail-container{position:relative;height:100%;display:flex;align-items:center;gap:.5rem}.thumbnail-grid{flex:1;height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.5rem}.thumbnail{border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.thumbnail.active{border-color:#3b82f6}.thumbnail:hover{border-color:#60a5fa}.thumbnail img{width:100%;height:100%;object-fit:cover;object-position:center}.thumbnail:nth-child(1){grid-column:1;grid-row:1}.thumbnail:nth-child(2){grid-column:2;grid-row:1}.thumbnail:nth-child(3){grid-column:1;grid-row:2}.thumbnail:nth-child(4){grid-column:2;grid-row:2}.thumbnail-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border:none;border-radius:50%;background:#ffffffe6;color:#1e3a8a;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;transition:all .2s ease;z-index:10}.thumbnail-nav-btn:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-50%) scale(1.1)}.thumbnail-nav-btn.prev{left:-16px}.thumbnail-nav-btn.next{right:-16px}.resort-name-section{padding:0 2rem 2rem;margin-top:1.5rem}.resort-name-section .resort-name{margin:0 0 .5rem;font-size:2.5rem;font-weight:700;color:#1e3a8a;font-family:Urbanist,sans-serif;line-height:1.1;width:100%}.resort-location{display:flex;align-items:center;gap:.5rem;margin:0;font-size:18px;font-weight:400;color:#4b5563}.resort-details-content{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;padding:0 2rem 2rem;align-items:start}.resort-info-column{display:flex;flex-direction:column}.resort-contact-info{display:flex;flex-direction:column;gap:1.25rem}.contact-item{display:flex;flex-direction:column}.contact-item strong{display:block;margin-bottom:.25rem;color:#4b5563;font-weight:700;font-size:16px}.contact-item p{margin:0 0 .25rem;color:#4b5563;font-weight:400;font-size:16px;line-height:1.4}.resort-description-column{display:flex;flex-direction:column;align-items:flex-start}.resort-description p{margin:0;line-height:1.5;color:#4b5563;font-weight:400;font-size:16px;text-align:justify}.map-link,.website-link{color:#3b82f6;text-decoration:underline;font-size:16px;font-weight:400;margin-top:.125rem}.map-link:hover,.website-link:hover{color:#1d4ed8}.resort-amenities{padding:2rem;border-top:1px solid #e5e7eb;margin-top:2rem}.resort-amenities h4{margin:0 0 1.5rem;font-size:2rem;font-weight:300;color:#1f2937;font-family:Urbanist,sans-serif}.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:2rem;list-style:none;padding:0}.amenity-item{font-size:.875rem;color:#4b5563;text-align:left;padding-left:1rem;position:relative}.amenity-item:before{content:"•";color:#6b7280;font-weight:700;position:absolute;left:0}.similar-properties-section{padding:2rem;border-top:1px solid #e5e7eb;margin-top:2rem}.similar-properties-section h4{margin:0 0 1.5rem;font-size:2rem;font-weight:300;color:#1f2937;font-family:Urbanist,sans-serif}.similar-properties-container{position:relative}.properties-scroll{display:flex;gap:1rem;overflow-x:auto;padding:.5rem 0;scroll-behavior:smooth}.properties-scroll::-webkit-scrollbar{height:6px}.properties-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.properties-scroll::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.properties-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}.property-card{min-width:280px;max-width:320px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .2s ease;flex-shrink:0;cursor:pointer;position:relative}.property-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.property-image{width:100%;height:180px;overflow:hidden}.property-image img{width:100%;height:100%;object-fit:cover}.property-content{padding:1rem}.property-name{font-size:1rem;font-weight:600;color:#071758;margin:0 0 .5rem;line-height:1.3}.property-location{font-size:.875rem;color:#64748b;margin:0 0 .5rem}.property-highlight{font-size:.75rem;color:#64748b;background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;margin-bottom:.75rem;display:inline-block}.property-amenities{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.amenity{font-size:.75rem;color:#64748b;display:flex;align-items:center;gap:.25rem}.property-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.rating-score{background:#10b981;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;font-weight:600}.rating-text{font-size:.875rem;font-weight:500;color:#071758}.rating-count{font-size:.75rem;color:#64748b}.property-pricing{border-top:1px solid #e2e8f0;padding-top:.75rem}.price-nightly{font-size:.875rem;color:#64748b;margin-bottom:.25rem}.price-total{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.original-price{font-size:.75rem;color:#94a3b8;text-decoration:line-through}.discounted-price{font-size:1rem;font-weight:600;color:#071758}.price-includes{font-size:.75rem;color:#10b981}.availability-calendar{padding:2rem;border-top:1px solid #e5e7eb;margin-top:2rem}.availability-calendar h4{margin:0 0 1.5rem;font-size:2rem;font-weight:300;color:#1f2937;font-family:Urbanist,sans-serif}.resort-calendar-container{display:flex;gap:2rem;align-items:flex-start;background:#f8fafc;border-radius:12px;padding:1.5rem}.resort-date-selection-panel{flex:0 0 280px;display:flex;flex-direction:column;gap:1.5rem}.resort-panel-header h5{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#1e293b;font-family:Urbanist,sans-serif}.resort-year-selector{display:flex;align-items:center;justify-content:space-between;background:#f1f5f9;border-radius:50px;padding:.5rem 1rem;gap:1rem}.resort-year-nav-btn{background:#fff;border:none;border-radius:50%;cursor:pointer;color:#64748b;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.25rem;font-weight:600}.resort-year-nav-btn:hover{background:#3b82f6;color:#fff;transform:scale(1.05)}.resort-year-display{font-size:1.75rem;font-weight:700;color:#1e293b;font-family:Urbanist,sans-serif;flex:1;text-align:center}.resort-month-buttons-grid,.resort-month-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.resort-month-btn{padding:.875rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:600;color:#64748b;font-family:Urbanist,sans-serif;text-align:center}.resort-month-btn:hover:not(:disabled){border-color:#007bff;background:#f0f8ff;color:#007bff;transform:translateY(-1px)}.resort-month-btn.selected{border-color:#007bff;background:#007bff;color:#fff}.resort-month-btn:disabled{background:#f8f9fa;color:#cbd5e1;cursor:not-allowed;border-color:#e9ecef;opacity:.5}.resort-calendar-grid-panel{flex:1;min-width:0}.resort-calendar-header h5{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1e293b;text-align:center;font-family:Urbanist,sans-serif}.resort-calendar-grid{background:#fff;border-radius:12px;padding:1rem}.resort-weekdays-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.75rem}.resort-weekday-label{text-align:center;font-size:.875rem;font-weight:600;color:#64748b;font-family:Urbanist,sans-serif;padding:.5rem}.resort-dates-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.resort-date-btn{aspect-ratio:1;border:2px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#1e293b;font-family:Urbanist,sans-serif;min-height:48px}.resort-date-btn:hover:not(:disabled):not(.unavailable):not(.weekend){border-color:#007bff;background:#f0f8ff;color:#007bff;transform:translateY(-1px)}.resort-date-btn.selected{border-color:#007bff!important;background:#007bff!important;color:#fff!important}.resort-date-btn.unavailable,.resort-date-btn.weekend{background:#f8f9fa;color:#cbd5e1;cursor:not-allowed;border-color:#e9ecef}.resort-date-btn:disabled{opacity:.3;cursor:not-allowed}.resort-date-btn.empty{border:none;background:transparent;cursor:default}.resort-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-top:1px solid #e2e8f0;background:#f8fafc;gap:2rem}.resort-modal-footer .resort-modal-selection-recap{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.resort-modal-footer .recap-item{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:.5rem 1rem;font-size:.875rem;color:#64748b;font-family:Urbanist,sans-serif;font-weight:500}.resort-modal-footer .recap-item svg{color:#64748b;flex-shrink:0}.resort-modal-footer .action-buttons{display:flex;gap:1rem;flex-shrink:0}.resort-modal-footer .btn-secondary{padding:.75rem 1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:#64748b;font-family:Urbanist,sans-serif}.resort-modal-footer .btn-secondary:hover{border-color:#64748b;background:#f8fafc;color:#374151}.resort-modal-footer .btn-primary{padding:.75rem 1.5rem;background:#007bff;border:2px solid #007bff;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:#fff;font-family:Urbanist,sans-serif}.resort-modal-footer .btn-primary:hover:not(:disabled){background:#0056b3;border-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.resort-modal-footer .btn-primary:disabled{background:#e2e8f0;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}@media (min-width: 769px){.desktop-only{display:block}.resort-info-column .resort-description{display:none}}@media (max-width: 768px){.resort-details-modal{border-radius:0;box-shadow:none;margin:0;min-height:100vh;padding-bottom:1rem}.resort-image-gallery,.resort-info,.resort-contact-info,.resort-amenities,.similar-properties-section,.availability-calendar{padding-left:1rem;padding-right:1rem}.resort-image-gallery{grid-template-columns:1fr;padding:1rem;height:auto}.main-image{height:200px!important;min-height:200px!important;max-height:200px!important}.main-image img{height:200px!important;min-height:200px!important;max-height:200px!important;object-fit:cover!important;object-position:center!important}.thumbnail-container{margin-top:1rem}.thumbnail-grid{height:200px}.thumbnail{height:100px!important;min-height:100px!important;max-height:100px!important}.thumbnail img{height:100px!important;min-height:100px!important;max-height:100px!important;object-fit:cover!important;object-position:center!important}.thumbnail-nav-btn{width:28px;height:28px}.thumbnail-nav-btn.prev{left:-14px}.thumbnail-nav-btn.next{right:-14px}.amenities-grid{grid-template-columns:repeat(2,1fr)}.resort-name-section .resort-name{font-size:1.75rem}.resort-amenities h4,.similar-properties-section h4,.availability-calendar h4{font-size:1.5rem}.resort-panel-header h5,.resort-calendar-header h5{font-size:1.125rem}.resort-year-display{font-size:1.5rem}.resort-month-btn{font-size:1rem}.resort-year-nav-btn{font-size:1.125rem}.resort-date-btn{font-size:.875rem}.resort-weekday-label{font-size:.75rem}.resort-modal-selection-recap .recap-item,.resort-modal-footer .btn{font-size:.875rem}.resort-calendar-container{flex-direction:column;gap:1rem}.resort-date-selection-panel,.resort-calendar-grid-panel{flex:none;width:100%}.resort-details-content{grid-template-columns:1fr;gap:1.5rem}.desktop-only{display:none}.resort-info-column .resort-description{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.resort-calendar-grid{padding:.75rem;overflow-x:auto}.resort-weekdays-header,.resort-dates-grid{gap:.25rem;min-width:280px}.resort-date-btn{min-width:36px;min-height:36px;font-size:.875rem}.resort-weekday-label{font-size:.75rem;padding:.25rem}.resort-modal-footer{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem}.resort-modal-footer .resort-modal-selection-recap,.resort-modal-footer .action-buttons{justify-content:center}}@media (max-width: 480px){.resort-amenities h4,.similar-properties-section h4,.availability-calendar h4{font-size:1.25rem}.resort-panel-header h5,.resort-calendar-header h5{font-size:1rem}.amenities-grid{grid-template-columns:1fr}.property-card{min-width:250px}.calendar-placeholder{padding:2rem 1rem}}.reset-password-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem;font-family:Urbanist,sans-serif}.reset-password-container{width:100%;max-width:480px}.reset-password-form-container{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000040;padding:2.5rem}.reset-password-header{text-align:center;margin-bottom:2rem}.reset-password-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 1rem;background:#f0f4ff;border-radius:50%;color:#3b82f6}.reset-password-header h1{font-size:1.75rem;font-weight:700;color:#071758;margin:0 0 .5rem;font-family:Urbanist,sans-serif}.reset-password-header p{color:#64748b;font-size:1rem;margin:0;font-family:Urbanist,sans-serif}.reset-password-form{margin-bottom:1.5rem}.reset-password-error-message{display:flex;align-items:center;gap:.5rem;background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:12px;margin-bottom:1.5rem;font-size:.875rem;font-family:Urbanist,sans-serif}.reset-password-input-group{margin-bottom:1.5rem}.reset-password-label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.875rem;font-family:Urbanist,sans-serif}.reset-password-input-container{position:relative}.reset-password-input{width:100%;padding:.875rem 3rem .875rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-family:Urbanist,sans-serif;transition:all .2s ease;box-sizing:border-box}.reset-password-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.reset-password-input.error{border-color:#ef4444}.reset-password-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.reset-password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.reset-password-toggle-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.reset-password-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.reset-password-strength{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.strength-bar{flex:1;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.strength-fill{height:100%;transition:all .3s ease}.strength-text{font-size:.75rem;font-weight:600;font-family:Urbanist,sans-serif}.reset-password-field-error{display:flex;align-items:center;gap:.5rem;color:#ef4444;font-size:.875rem;margin-top:.5rem;font-family:Urbanist,sans-serif}.reset-password-requirements{background:#f8f9fa;border-radius:12px;padding:1rem;margin-bottom:1.5rem}.reset-password-requirements h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#374151;font-family:Urbanist,sans-serif}.reset-password-requirements ul{margin:0;padding:0;list-style:none}.reset-password-requirements li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;margin-bottom:.25rem;font-family:Urbanist,sans-serif}.reset-password-requirements li:before{content:"○";font-size:.75rem;transition:all .2s ease}.reset-password-requirements li.met{color:#16a34a}.reset-password-requirements li.met:before{content:"✓";color:#16a34a}.reset-password-submit-btn{width:100%;background:#3b82f6;color:#fff;border:none;border-radius:12px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;font-family:Urbanist,sans-serif;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.reset-password-submit-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.reset-password-submit-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.reset-password-loading{display:flex;align-items:center;justify-content:center;gap:.5rem}.reset-password-footer{text-align:center;padding-top:1rem;border-top:1px solid #e5e7eb}.reset-password-footer p{color:#6b7280;font-size:.875rem;margin:0;font-family:Urbanist,sans-serif}.reset-password-login-link{background:none;border:none;color:#3b82f6;text-decoration:underline;cursor:pointer;font-family:inherit;font-size:inherit;padding:0}.reset-password-login-link:hover{color:#2563eb}.reset-password-success{text-align:center;background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000040;padding:3rem 2rem}.success-icon{color:#16a34a;margin-bottom:1.5rem}.reset-password-success h1{font-size:1.75rem;font-weight:700;color:#071758;margin:0 0 1rem;font-family:Urbanist,sans-serif}.reset-password-success p{color:#64748b;font-size:1rem;margin:0 0 2rem;line-height:1.5;font-family:Urbanist,sans-serif}.reset-password-redirect{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#64748b;font-size:.875rem;font-family:Urbanist,sans-serif}.reset-password-error{text-align:center;background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000040;padding:3rem 2rem}.error-icon{color:#ef4444;margin-bottom:1.5rem}.reset-password-error h1{font-size:1.75rem;font-weight:700;color:#071758;margin:0 0 1rem;font-family:Urbanist,sans-serif}.reset-password-error p{color:#64748b;font-size:1rem;margin:0 0 2rem;line-height:1.5;font-family:Urbanist,sans-serif}.reset-password-back-btn{background:#3b82f6;color:#fff;border:none;border-radius:12px;padding:.875rem 2rem;font-size:1rem;font-weight:600;font-family:Urbanist,sans-serif;cursor:pointer;transition:all .2s ease}.reset-password-back-btn:hover{background:#2563eb;transform:translateY(-1px)}@media (max-width: 768px){.reset-password-page{padding:1rem}.reset-password-form-container{padding:2rem}.reset-password-header h1{font-size:1.5rem}.reset-password-icon{width:56px;height:56px}}@media (max-width: 480px){.reset-password-page{padding:.5rem}.reset-password-form-container{padding:1.5rem}.reset-password-header h1{font-size:1.375rem}.reset-password-icon{width:48px;height:48px}.reset-password-requirements{padding:.75rem}}.forgot-password-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.forgot-password-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.forgot-password-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem 1rem;border-bottom:1px solid #e2e8f0}.forgot-password-modal-title{font-size:1.5rem;font-weight:600;color:#071758;margin:0;font-family:Urbanist,sans-serif}.forgot-password-modal-close{background:none;border:none;color:#64748b;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.forgot-password-modal-close:hover{background:#f1f5f9;color:#1e293b}.forgot-password-modal-content{padding:2rem;flex:1;overflow-y:auto}.forgot-password-step{text-align:center}.forgot-password-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.5rem;background:#f8f9fa;border-radius:50%;color:#3b82f6}.forgot-password-icon.success{background:#dcfce7;color:#16a34a}.forgot-password-description{font-size:1rem;color:#64748b;margin:0 0 2rem;line-height:1.5;font-family:Urbanist,sans-serif}.forgot-password-form{margin-bottom:1.5rem}.forgot-password-input-group{margin-bottom:1rem}.forgot-password-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-family:Urbanist,sans-serif;transition:all .2s ease;box-sizing:border-box}.forgot-password-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.forgot-password-input.error{border-color:#ef4444}.forgot-password-input:disabled{background:#f8f9fa;color:#9ca3af;cursor:not-allowed}.forgot-password-error{display:flex;align-items:center;gap:.5rem;color:#ef4444;font-size:.875rem;margin-top:.5rem;font-family:Urbanist,sans-serif}.forgot-password-submit-btn{width:100%;background:#3b82f6;color:#fff;border:none;border-radius:12px;padding:.875rem 1rem;font-size:1rem;font-weight:600;font-family:Urbanist,sans-serif;cursor:pointer;transition:all .2s ease}.forgot-password-submit-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.forgot-password-submit-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.forgot-password-loading{display:flex;align-items:center;justify-content:center;gap:.5rem}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.forgot-password-help{margin-top:1rem}.forgot-password-help p{color:#64748b;font-size:.875rem;margin:0;font-family:Urbanist,sans-serif}.forgot-password-back-link{background:none;border:none;color:#3b82f6;text-decoration:underline;cursor:pointer;font-family:inherit;font-size:inherit;padding:0}.forgot-password-back-link:hover{color:#2563eb}.forgot-password-success-title{font-size:1.25rem;font-weight:600;color:#071758;margin:0 0 1rem;font-family:Urbanist,sans-serif}.forgot-password-success-description{font-size:1rem;color:#64748b;margin:0 0 2rem;line-height:1.5;font-family:Urbanist,sans-serif}.forgot-password-instructions,.forgot-password-help-section{text-align:left;margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:12px}.forgot-password-instructions h4,.forgot-password-help-section p{margin:0 0 .5rem;font-weight:600;color:#071758;font-family:Urbanist,sans-serif}.forgot-password-instructions ul,.forgot-password-help-section ul{margin:0;padding-left:1.25rem;color:#64748b;font-family:Urbanist,sans-serif}.forgot-password-instructions li,.forgot-password-help-section li{margin-bottom:.25rem}.forgot-password-actions{display:flex;gap:1rem;margin-top:1.5rem}.forgot-password-resend-btn,.forgot-password-back-btn{flex:1;padding:.75rem 1rem;border-radius:12px;font-size:.875rem;font-weight:600;font-family:Urbanist,sans-serif;cursor:pointer;transition:all .2s ease}.forgot-password-resend-btn{background:#fff;color:#3b82f6;border:2px solid #3b82f6}.forgot-password-resend-btn:hover{background:#3b82f6;color:#fff}.forgot-password-back-btn{background:#64748b;color:#fff;border:none}.forgot-password-back-btn:hover{background:#475569}@media (max-width: 768px){.forgot-password-modal-overlay{padding:1rem}.forgot-password-modal{max-width:100%}.forgot-password-modal-header{padding:1rem 1.5rem .75rem}.forgot-password-modal-content{padding:1.5rem}.forgot-password-modal-title{font-size:1.25rem}.forgot-password-icon{width:60px;height:60px;margin-bottom:1rem}.forgot-password-actions{flex-direction:column}.forgot-password-resend-btn,.forgot-password-back-btn{width:100%}}@media (max-width: 480px){.forgot-password-modal-overlay{padding:.5rem}.forgot-password-modal-header{padding:.75rem 1rem .5rem}.forgot-password-modal-content{padding:1rem}.forgot-password-icon{width:50px;height:50px}}.style-guide{min-height:100vh;background:#f8f9fa;font-family:Urbanist,sans-serif}.style-guide-header{background:linear-gradient(135deg,#007bff,#1a365d);color:#fff;padding:4rem 0;text-align:center}.style-guide-title{font-size:3.5rem;font-weight:700;margin:0 0 1rem;line-height:1.2}.style-guide-subtitle{font-size:1.25rem;font-weight:400;margin:0;opacity:.9}.back-to-home-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:6px;font-family:Urbanist,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-bottom:2rem}.back-to-home-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.style-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:3rem 0;padding:3rem}.section-title{font-size:2rem;font-weight:600;color:#1a365d;margin:0 0 1rem;line-height:1.3}.section-description{font-size:1.125rem;color:#666;margin:0 0 3rem;line-height:1.6}.typography-group{margin:3rem 0}.group-title{font-size:1.5rem;font-weight:600;color:#1a365d;margin:0 0 2rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.typography-example{margin:2rem 0;padding:2rem;border:1px solid #e2e8f0;border-radius:8px;background:#fafbfc}.typography-specs{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1rem}.typography-specs span{font-size:.875rem;color:#666;background:#fff;padding:.25rem .75rem;border-radius:4px;border:1px solid #e2e8f0}.demo-h1{font-family:Urbanist,sans-serif;font-size:3.5rem;font-weight:700;line-height:1.2;color:#1a365d;margin:0}.demo-h2{font-family:Urbanist,sans-serif;font-size:2.75rem;font-weight:200;line-height:1.2;color:#1a365d;margin:0}.demo-h3{font-family:Urbanist,sans-serif;font-size:2rem;font-weight:600;line-height:1.3;color:#1a365d;margin:0}.demo-h4{font-family:Urbanist,sans-serif;font-size:1.5rem;font-weight:600;line-height:1.4;color:#1a365d;margin:0}.demo-h5{font-family:Urbanist,sans-serif;font-size:1.25rem;font-weight:600;line-height:1.4;color:#1a365d;margin:0}.demo-h6{font-family:Urbanist,sans-serif;font-size:1rem;font-weight:700;line-height:1.5;color:#1a365d;margin:0}.demo-body-large{font-family:Urbanist,sans-serif;font-size:1.125rem;font-weight:400;line-height:1.6;color:#333;margin:0}.demo-body-regular{font-family:Urbanist,sans-serif;font-size:1rem;font-weight:400;line-height:1.6;color:#333;margin:0}.demo-body-small{font-family:Urbanist,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;color:#666;margin:0}.demo-button-text{font-family:Urbanist,sans-serif;font-size:1rem;font-weight:600;color:#007bff}.demo-label-text{font-family:Urbanist,sans-serif;font-size:.875rem;font-weight:500;color:#333}.demo-price-text{font-family:Urbanist,sans-serif;font-size:1.5rem;font-weight:700;color:#1a365d}.demo-caption-text{font-family:Urbanist,sans-serif;font-size:.75rem;font-weight:400;color:#999}.color-groups{display:grid;gap:3rem}.color-group{margin:2rem 0}.color-swatches{display:grid;gap:1.5rem}.color-swatch{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.color-preview{width:80px;height:80px;border-radius:8px;border:1px solid #e2e8f0;flex-shrink:0}.color-info{display:flex;flex-direction:column;gap:.5rem}.color-name{font-weight:600;font-size:1rem;color:#1a365d}.color-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;color:#666;background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;width:fit-content}.color-usage{font-size:.875rem;color:#666;line-height:1.4}.primary-blue{background:#007bff}.primary-blue-dark{background:#0056b3}.navy-blue{background:#1a365d}.text-primary{background:#333}.text-secondary{background:#666}.text-muted{background:#999}.bg-white{background:#fff;border:2px solid #e2e8f0}.bg-light{background:#f8f9fa}.bg-border{background:#e2e8f0}.component-group{margin:3rem 0}.component-examples{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.demo-btn{font-family:Urbanist,sans-serif;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease}.demo-btn-primary{background:#007bff;color:#fff}.demo-btn-primary:hover{background:#0056b3;transform:translateY(-1px)}.demo-btn-secondary{background:#1a365d;color:#fff}.demo-btn-secondary:hover{background:#2c5282;transform:translateY(-1px)}.demo-btn-outline{background:transparent;color:#007bff;border:2px solid #007bff}.demo-btn-outline:hover{background:#007bff;color:#fff}.demo-form-field{display:flex;flex-direction:column;gap:.5rem;min-width:250px}.demo-label{font-family:Urbanist,sans-serif;font-size:.875rem;font-weight:500;color:#333}.demo-input,.demo-textarea{font-family:Urbanist,sans-serif;font-size:1rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;transition:border-color .3s ease}.demo-input:focus,.demo-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.demo-textarea{resize:vertical;min-height:100px}.demo-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a;max-width:300px}.demo-card-title{font-family:Urbanist,sans-serif;font-size:1.5rem;font-weight:600;color:#1a365d;margin:0 0 1rem}.demo-card-description{font-family:Urbanist,sans-serif;font-size:1rem;color:#666;line-height:1.6;margin:0 0 1.5rem}.demo-card-price{font-family:Urbanist,sans-serif;font-size:1.5rem;font-weight:700;color:#1a365d}@media (max-width: 768px){.style-guide-header{padding:3rem 0}.style-guide-title{font-size:2.5rem}.style-guide-subtitle{font-size:1.125rem}.container{padding:0 1rem}.style-section{padding:2rem;margin:2rem 0}.demo-h1{font-size:2.5rem}.demo-h2{font-size:2rem}.demo-h3{font-size:1.75rem}.color-swatch{flex-direction:column;text-align:center}.component-examples{flex-direction:column}.demo-form-field{min-width:100%}}@media (max-width: 480px){.style-guide-title{font-size:2rem}.style-section{padding:1.5rem}.typography-specs{flex-direction:column;gap:.5rem}.demo-h1{font-size:2rem}.demo-h2{font-size:1.75rem}}.notification{position:relative;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;border-left:4px solid;margin-bottom:.75rem;overflow:hidden;min-width:320px;max-width:480px;z-index:1001}.notification-content{display:flex;align-items:flex-start;padding:1rem;gap:.75rem}.notification-icon{flex-shrink:0;margin-top:.125rem}.notification-text{flex:1;min-width:0}.notification-title{font-size:.875rem;font-weight:600;color:#1a202c;margin-bottom:.25rem;line-height:1.4}.notification-message{font-size:.8rem;color:#4a5568;line-height:1.4}.notification-close{flex-shrink:0;background:none;border:none;color:#718096;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.notification-close:hover{background:#f7fafc;color:#2d3748}.notification-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000001a}.notification-progress-bar{height:100%;background:currentColor;opacity:.3}.notification-success{border-left-color:#48bb78;color:#48bb78}.notification-success .notification-icon{color:#48bb78}.notification-error{border-left-color:#f56565;color:#f56565}.notification-error .notification-icon{color:#f56565}.notification-warning{border-left-color:#ed8936;color:#ed8936}.notification-warning .notification-icon{color:#ed8936}.notification-info{border-left-color:#4299e1;color:#4299e1}.notification-info .notification-icon{color:#4299e1}.notification-container{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.75rem;max-width:480px;pointer-events:none}.notification-container>*{pointer-events:auto}@media (max-width: 640px){.notification-container{top:.5rem;right:.5rem;left:.5rem;max-width:none}.notification{min-width:auto;max-width:none}.notification-content{padding:.875rem}.notification-title{font-size:.8rem}.notification-message{font-size:.75rem}}.notification-container .notification:nth-child(1){z-index:1003}.notification-container .notification:nth-child(2){z-index:1002}.notification-container .notification:nth-child(3){z-index:1001}.notification:hover{transform:translate(-4px);box-shadow:0 6px 25px #0003;transition:all .2s ease}@media (prefers-color-scheme: dark){.notification{background:#2d3748;color:#e2e8f0}.notification-title{color:#f7fafc}.notification-message{color:#cbd5e0}.notification-close{color:#a0aec0}.notification-close:hover{background:#4a5568;color:#e2e8f0}}.header{background-color:#007bff;color:#fff;position:sticky;top:0;z-index:1002;box-shadow:0 2px 10px #0000001a;padding:1rem 0;display:block}.header .container{display:flex;justify-content:space-between;align-items:center}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;gap:2rem}.header-actions{display:flex;align-items:center;gap:1rem;z-index:1003}.header-left h1{font-size:1.5rem;font-weight:300;margin:0;font-family:Urbanist,sans-serif;letter-spacing:.5px}.header-right{display:flex;gap:1.5rem;align-items:center}.language-button,.sign-in-button{background:none;border:none;color:#fff;display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;font-weight:300;font-family:Urbanist,sans-serif;transition:opacity .3s ease;padding:.5rem 1rem;position:relative;z-index:1004}.language-button:hover,.sign-in-button:hover{opacity:.8}.sign-in-button{background:#ffffff1a;border-radius:6px;font-weight:500}.sign-in-button:hover{background:#fff3}.hero{position:relative;height:750px!important;max-height:750px!important;display:flex;align-items:center;overflow:visible}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-background img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:relative;z-index:2;width:100%;height:100%;max-height:515px;display:flex;align-items:center;color:#fff;overflow:visible}.form-container{width:100%;max-height:515px;overflow-y:auto;padding:0}@media (max-width: 768px){.form-container{max-height:none;overflow-y:visible}body,html,.App{overflow-x:hidden}*,*:before,*:after{box-sizing:border-box}.header .container{padding:0 1rem}.header-content{gap:1rem}.header-actions{gap:.5rem;flex-shrink:0}.language-button{padding:.25rem .5rem;font-size:.8rem;gap:.25rem}.language-button .flag{font-size:.9rem}.language-button span:not(.flag):not(.dropdown-arrow){display:none}.sign-in-button{padding:.5rem .75rem;font-size:.8rem;min-width:auto}.nav{display:none}.logo{flex-shrink:0}.logo img{max-height:32px;width:auto}}.congratulations{background:#000;padding:3rem 0 2rem;position:relative;z-index:10;margin-top:0}.congratulations .container{text-align:center;max-width:800px}.congratulations h2{font-size:2.5rem;font-weight:400;color:#fff;margin-bottom:1.5rem;line-height:1.2}.congratulations h3{font-size:1.25rem;font-weight:500;color:#fff;line-height:1.6;margin-bottom:0}.feature-cards{background:#fff;padding:3rem 0;position:relative;z-index:10}.feature-grid{display:flex;justify-content:center;align-items:flex-start;gap:4rem;margin:2rem 0}.feature-card{background:transparent;border:none;border-radius:0;width:auto;height:auto;padding:0;box-shadow:none;text-align:center;transition:none;overflow:visible;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;max-width:300px}.feature-card:hover{transform:none;box-shadow:none}.feature-image{width:240px;height:240px;border-radius:50%;overflow:visible;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:none}.feature-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}.feature-card h3{display:block;font-size:1.1rem;font-weight:600;color:#1a202c;margin:0 0 1rem;line-height:1.3;font-family:Urbanist,sans-serif}.feature-card p{display:block;font-size:.9rem;color:#64748b;line-height:1.5;margin:0;font-family:Urbanist,sans-serif}.feature-cta{display:flex;justify-content:center;align-items:center;margin-top:2rem}.feature-cta .btn{background-color:#0077be;color:#fff;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease}.feature-cta .btn:hover{background-color:#005a9e;transform:translateY(-2px)}@media (max-width: 768px){.hero{height:515px}.hero-overlay{padding:2rem 0}.congratulations{padding:2rem 0 1rem}.congratulations h2{font-size:2rem;margin-bottom:1rem}.congratulations h3{font-size:1.125rem}.feature-cards{padding:2rem 0}.feature-grid{flex-direction:column;gap:3rem;align-items:center}.feature-image{width:180px;height:180px}}@media (max-width: 480px){.hero{height:515px}.congratulations h2{font-size:1.75rem}.congratulations h3{font-size:1rem}.feature-grid{gap:1.5rem}}.demo-mode-banner{display:none!important;background:#ffc107;color:#212529;padding:.5rem 0;border-bottom:2px solid #ffb300;position:sticky;top:0;z-index:1001;margin-bottom:0}.demo-mode-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.demo-mode-info{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.demo-mode-icon{font-size:1.1rem}.demo-mode-text{display:flex;align-items:center;gap:.5rem}.demo-mode-actions{display:flex;align-items:center;gap:.75rem}.btn-small{background:#007bff;color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;text-decoration:none;display:inline-block}.btn-small:hover{background:#0056b3}.demo-mode-toggle{background:#212529;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.demo-mode-toggle:hover{background:#495057}.demo-mode-toggle-bar{background:#f8f9fa;border-bottom:1px solid #e2e8f0;padding:.5rem 0;text-align:center;position:sticky;top:0;z-index:1000}.demo-mode-toggle-bar .container{display:flex;justify-content:center;align-items:center}.language-selector{position:relative}.globe-button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease;width:40px;height:40px}.globe-button:hover{background-color:#ffffff1a;transform:scale(1.05)}.globe-button:active{transform:scale(.95)}.language-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.language-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:400px;width:100%;max-height:80vh;overflow:visible;display:flex;flex-direction:column}.language-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.language-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.certificate-tooltip-close-button{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.certificate-tooltip-close-button:hover{background-color:#f3f4f6;color:#374151}.language-modal-content{padding:.5rem;overflow-y:auto;max-height:60vh}.language-modal-item{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.5rem;background:none;border:none;text-align:left;color:#374151;font-family:Urbanist,sans-serif;font-size:1rem;cursor:pointer;transition:all .3s ease;border-radius:8px;position:relative}.language-modal-item:hover{background-color:#f9fafb}.language-modal-item.active{background-color:#eff6ff;color:#1d4ed8}.language-modal-item span{flex:1;font-weight:500}.language-modal-item svg{color:#10b981}.language-button{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#fff;font-size:.9rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .3s ease;font-family:Urbanist,sans-serif}.language-button:hover{background-color:#ffffff1a}.dropdown-arrow{transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.language-dropdown{position:absolute;top:100%;left:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:150px;z-index:1000;margin-top:.5rem;overflow:visible}.dropdown-item{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;color:#333;font-family:Urbanist,sans-serif;font-size:.9rem;cursor:pointer;transition:background-color .3s ease}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item.active{background-color:#007bff;color:#fff}.sign-in-link{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;transition:opacity .3s ease;padding:.25rem .5rem;border-radius:4px}.sign-in-link:hover{opacity:.8;background-color:#ffffff1a}.sub-header{background-color:#f5f5f5;padding:.5rem 0;border-top:1px solid #e0e0e0;width:100vw;margin-left:calc(-50vw + 50%)}.sub-header p{text-align:center;margin:0;font-size:.9rem;color:#666;text-decoration:underline;text-underline-offset:2px}.form-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;overflow:visible;max-width:800px;width:100%;margin:0 auto;outline:none;transition:box-shadow .3s ease}@media (max-width: 768px){.form-section .container{padding:0 1rem;box-sizing:border-box}.form-container{max-width:100%;margin:0;border-radius:8px;box-shadow:0 4px 20px #00000026;overflow:hidden;box-sizing:border-box}}@media (max-width: 480px){.form-section .container{padding:0 .5rem;box-sizing:border-box}.form-container{margin:0;border-radius:6px;box-sizing:border-box}.form-content{padding:.75rem .5rem;gap:.75rem;box-sizing:border-box}.form-description h2{font-size:1.25em}.form-description p{font-size:1rem}.floating-input{padding:.875rem!important;font-size:1rem!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.floating-label{font-size:.875rem}.floating-label-active,.floating-input:focus+.floating-label{font-size:.75rem}.login-submit-button,.certificate-activation-submit-button{padding:1.125rem 1.5rem;font-size:1.125rem;width:100%;box-sizing:border-box}.form-tabs{padding:0;gap:.5rem}.tab{padding:.75rem .5rem;font-size:.9rem}.header .container{padding:0 .75rem}.header-content{gap:.5rem}.header-actions{gap:.25rem}.language-button{padding:.25rem .375rem;font-size:.75rem}.language-button .flag{font-size:.8rem}.sign-in-button{padding:.375rem .5rem;font-size:.75rem}.logo img{max-height:28px}.form-content{padding:1.25rem .75rem;gap:1.25rem}}.form-content{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"description fields";gap:2rem;padding:.5rem 1.25rem;transition:all .4s cubic-bezier(.4,0,.2,1);height:314px!important;max-height:314px!important;min-height:314px!important;overflow:visible;margin:0;align-items:start;justify-items:stretch}.form-content.certificate-layout{grid-template-areas:"description fields";padding:1.5rem 2rem}.form-content.certificate-layout .form-description{grid-area:description}.form-content.certificate-layout .form-tab-content{grid-area:fields}.form-content.login-layout{grid-template-areas:"fields description";padding:1.5rem 2rem}.form-content.login-layout .form-description{grid-area:description}.form-content.login-layout .form-tab-content{grid-area:fields}.form-description{padding:0!important;margin:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;height:auto!important;width:100%!important;align-self:start!important;grid-area:description}.form-description h2{font-size:1.5em;font-weight:700;color:#1a202c;margin:0 0 .5rem!important;font-family:Urbanist,sans-serif;line-height:1.2}.form-description p{font-size:1.25em;color:#718096;line-height:1.4;margin:0!important;font-family:Urbanist,sans-serif}.form-fields{padding:0!important;margin:0!important;transition:all .3s ease;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;height:auto!important;width:100%!important;gap:.875rem;align-self:start!important;grid-area:fields}.form-fields form{transition:all .3s ease;width:100%!important;display:flex!important;flex-direction:column!important;gap:.875rem}.form-container:focus{box-shadow:0 10px 30px #007bff4d}.form-tabs{display:flex;justify-content:center;align-items:center;background-color:transparent;padding:0;gap:0;border-bottom:1px solid #e2e8f0;margin-bottom:.75rem}.tab{flex:1;padding:.75rem 1rem 1rem;background:none;border:none;font-family:Urbanist,sans-serif;font-size:1rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .3s ease;position:relative;white-space:normal;border-radius:0;text-align:center;line-height:1.2;border-bottom:2px solid transparent;box-shadow:none}.tab.active{color:#071758;background-color:transparent;border-bottom:2px solid #071758;box-shadow:none}.tab-text{display:flex;flex-direction:column;align-items:center;gap:.25rem}.tab-text div{line-height:1.1}.tab-label{font-weight:600;font-size:.9rem;color:#64748b;transition:color .3s ease}.tab-description{font-size:.8rem;color:#94a3b8;transition:color .3s ease}.tab.active .tab-label,.tab.active .tab-description{color:#071758}.desktop-text{display:block}@media (max-width: 768px){.mobile-text{display:block}.desktop-text{display:none}}.form-tab-content{transition:all .3s ease;opacity:1;transform:translateY(0)}.form-tab-content.entering{opacity:0;transform:translateY(10px)}.form-tab-content.entered{opacity:1;transform:translateY(0)}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background-color:#071758}.tab.active:before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:#a0aec0}.login-form-content,.certificate-form-content{padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.login-form-header h2{font-size:1.8rem;font-weight:600;margin-bottom:1rem;color:#333}.login-form-header p{color:#666;line-height:1.6;margin-bottom:0}.email-input-field,.password-input-field,.certificate-number-input-field,.security-code-input-field{margin-bottom:.875rem!important;width:100%!important;display:flex!important;flex-direction:column!important}.floating-label-container{position:relative;margin-bottom:.875rem!important}.floating-label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);background:#fff;padding:0 .5rem;font-size:.9rem;color:#718096;font-weight:500;pointer-events:none;transition:all .3s ease;z-index:2;line-height:1.4;width:auto}.floating-label-active,.floating-input:focus+.floating-label{top:0;transform:translateY(-50%);font-size:.75rem;color:#007bff;font-weight:600}.floating-input{padding:.625rem!important;border:1px solid #ddd!important;border-radius:8px!important;font-family:Urbanist,sans-serif!important;font-size:.9rem!important;transition:all .3s ease!important;background:#fff!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.floating-input:focus{outline:none!important;border-color:#007bff!important;box-shadow:0 0 0 3px #007bff1a!important}.floating-input,input.floating-input{padding:.625rem!important;border:1px solid #ddd!important;border-radius:8px!important;font-family:Urbanist,sans-serif!important;font-size:.9rem!important;transition:all .3s ease!important;background:#fff!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.has-input-icon .floating-input{padding-left:2.5rem!important}.has-input-icon .floating-label{left:2.5rem}.email-input-field label,.password-input-field label,.certificate-number-input-field label,.security-code-input-field label{display:none}.certificate-info-tooltip-container{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);z-index:10;pointer-events:auto;cursor:pointer}.certificate-tooltip-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.certificate-tooltip-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;width:90%;max-height:80vh;overflow:hidden}.certificate-tooltip-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;background:#f8f9fa}.certificate-tooltip-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1a202c}.certificate-tooltip-close-button{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.certificate-tooltip-close-button:hover{background:#e2e8f0;color:#2d3748}.certificate-tooltip-modal-content{padding:1rem;max-height:60vh;overflow-y:auto}.tooltip-instruction{margin:0 0 1rem;font-size:.95rem;line-height:1.4;color:#333;font-family:Urbanist,sans-serif}.certificate-card-example{text-align:center;margin-top:0}.certificate-card-example-image{max-width:100%;height:auto;border-radius:6px;border:none;box-shadow:none}.email-input,.password-input,.certificate-number-input,.security-code-input{width:100%!important;max-width:100%!important;padding:.625rem;border:1px solid #ddd;border-radius:8px;font-family:Urbanist,sans-serif;font-size:.9rem;transition:all .3s ease;box-sizing:border-box}.email-input:focus,.password-input:focus,.certificate-number-input:focus,.security-code-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}#certificate-number{padding-left:.75rem;padding-right:2.5rem}.certificate-info-icon{color:#007bff;cursor:pointer;transition:color .3s ease;border:1px solid transparent;padding:2px;border-radius:4px;pointer-events:auto;display:block}.certificate-info-icon:hover{color:#0056b3;border-color:#007bff;background-color:#007bff1a}.tooltip{position:fixed;width:300px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:1rem;z-index:9999;border:1px solid #e0e0e0;pointer-events:auto}.tooltip-simple{position:absolute;width:300px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:1rem;z-index:9999;border:1px solid #e0e0e0}.tooltip-simple.bottom-right{top:100%;right:0;margin-top:10px}.tooltip-simple.bottom-left{top:100%;left:0;margin-top:10px}.tooltip-simple.top-right{bottom:100%;right:0;margin-bottom:10px}.tooltip-simple.top-left{bottom:100%;left:0;margin-bottom:10px}.tooltip-fixed{position:fixed;width:300px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:1rem;z-index:9999;border:1px solid #e0e0e0;pointer-events:auto}.tooltip:before{content:"";position:absolute;top:20px;right:-8px;width:0;height:0;border-left:8px solid white;border-top:8px solid transparent;border-bottom:8px solid transparent}.tooltip:after{content:"";position:absolute;top:20px;right:-9px;width:0;height:0;border-left:8px solid #e0e0e0;border-top:8px solid transparent;border-bottom:8px solid transparent}.tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.tooltip-header h4{margin:0;font-size:1rem;font-weight:600;color:#333;flex:1}.tooltip-close{background:none;border:none;font-size:1.2rem;color:#666;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.tooltip-close:hover{background-color:#f5f5f5}.tooltip p{margin:0 0 1rem;color:#666;line-height:1.5;font-size:.9rem}.certificate-tooltip-image{margin-top:1rem}.certificate-card-example-image{width:100%;max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid #e0e0e0}@media (max-width: 768px){.certificate-info-tooltip-container{right:-10.25rem}.certificate-tooltip-modal{width:95%;max-width:400px}.certificate-tooltip-modal-header{padding:1rem}.certificate-tooltip-modal-content{padding:.75rem}}.card-placeholder{width:100%;height:120px;background:#f8f9fa;border:2px dashed #ddd;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;color:#999;font-size:.9rem}.card-number-highlight{position:absolute;top:20px;right:20px;width:80px;height:20px;border:2px solid #ff4444;border-radius:4px;background-color:#ff44441a}.email-input-group,.password-input-group,.certificate-number-input-group{position:relative;display:flex;align-items:center;width:100%;margin-bottom:.875rem}.email-input-group input,.password-input-group input,.certificate-number-input-group input{padding-left:2.5rem;padding-right:2.5rem}.email-input-icon,.password-input-icon{position:absolute;left:.75rem;color:#666;z-index:1}.qr-scan-button{position:absolute;right:.75rem;background:none;border:none;color:#007bff;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .3s ease}.qr-scan-button:hover{background-color:#007bff1a;color:#0056b3}.password-toggle-button{position:absolute;right:.75rem;background:none;border:none;color:#666;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .3s ease}.password-toggle-button:hover{color:#333;background-color:#0000000d}.email-validation-message,.password-validation-message,.certificate-number-validation-message,.security-code-validation-message{margin-top:.5rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.certificate-number-input-field:not(.has-input-icon) .certificate-number-validation-message,.security-code-input-field:not(.has-input-icon) .security-code-validation-message{padding-left:.75rem}.email-validation-message.error,.password-validation-message.error,.certificate-number-validation-message.error,.security-code-validation-message.error{color:#dc3545}.email-validation-message.success,.password-validation-message.success,.certificate-number-validation-message.success,.security-code-validation-message.success{color:#28a745}.forgot-password-section{margin-bottom:0;text-align:right}.forgot-password-button{background:none;border:none;color:#007bff;font-size:.875rem;cursor:pointer;text-decoration:underline;transition:color .3s ease}.forgot-password-button:hover{color:#0056b3}.tab-content{display:flex;flex-direction:column;align-items:center;gap:.25rem}.tab-label{font-weight:600;font-size:1.125rem}.tab-description{font-size:1rem;opacity:.7}.desktop-text{display:inline}.mobile-text{display:none}.login-submit-button,.certificate-activation-submit-button{transition:all .3s ease;position:relative;overflow:visible}.login-submit-button:disabled,.certificate-activation-submit-button:disabled{opacity:.6;cursor:not-allowed}.login-submit-button:not(:disabled):hover,.certificate-activation-submit-button:not(:disabled):hover{background:#0056b3;transform:translateY(-1px)}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid #f3f3f3;border-top:2px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.form-tabs{padding:0;gap:1.5rem}.tab{padding:.875rem 1rem}.tab-label{font-size:1rem}.tab-description{font-size:.9rem}.login-form-content,.certificate-form-content{grid-template-columns:1fr;gap:1.5rem}.login-form-header{text-align:center}.qr-scan-button{display:block}.email-input-group input,.password-input-group input,.certificate-number-input-group input{padding-left:2.25rem;padding-right:2.25rem}#certificate-number{padding-left:.75rem;padding-right:2.25rem}.certificate-number-input-field:not(.has-input-icon) .certificate-number-validation-message,.security-code-input-field:not(.has-input-icon) .security-code-validation-message{padding-left:.75rem}}@media (min-width: 769px){.qr-scan-button{display:none}}@media (max-width: 768px){.tooltip{width:280px;left:10px!important}}@media (max-width: 480px){.form-tabs{padding:0;gap:1rem}.tab{padding:.75rem 1rem}}.login-submit-button,.certificate-activation-submit-button{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}.reasons-section{padding:4rem 0;background-color:#fff}.section-title{text-align:center;font-size:2rem;font-weight:600;margin-bottom:1rem;color:#333;max-width:800px;margin-left:auto;margin-right:auto}.section-subtitle{text-align:center;color:#666;margin-bottom:3rem;font-size:1.1rem}.feature-icon-placeholder{width:80px;height:80px;border-radius:50%;background-color:#e9ecef;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#666}.cta-center{text-align:center}.destination-image-placeholder{width:100%;height:200px;background-color:#e9ecef;border-radius:10px;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;color:#666;transition:all .3s ease}.destination-card h4{font-weight:600;color:#333;margin:0}.disclaimer{text-align:center;color:#666;font-size:.9rem;font-style:italic;margin:0}.footer{background-color:#2c3e50;color:#fff;padding:3rem 0 1rem}.footer-content{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}.footer-section h4{margin-bottom:1rem;font-weight:600;color:#fff}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:.5rem}.footer-section ul li a{color:#bdc3c7;text-decoration:none;transition:color .3s ease;font-size:.9rem}.footer-section ul li a:hover{color:#007bff}.footer-bottom{border-top:1px solid #34495e;padding-top:1rem;text-align:center;color:#bdc3c7;font-size:.9rem}.profile-page{min-height:100vh;background:#f8f9fa}.profile-header{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;padding:0;text-align:center}.profile-header h1{font-size:3rem;font-weight:700;margin:0 0 1rem;font-family:Urbanist,sans-serif}.profile-header p{font-size:1.2rem;margin:0 0 1.5rem;opacity:.9}.profile-main{padding:4rem 0}.profile-form{max-width:600px;margin:0 auto;background:#fff;padding:3rem;border-radius:15px;box-shadow:0 10px 30px #0000001a}.profile-form .form-group{margin-bottom:2rem}.profile-form label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:1rem}.profile-form input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.profile-form input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.profile-form .btn{width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:600}.congratulations{background:#fff;padding:4rem 0;text-align:center}.congratulations h2{font-size:2.5rem;font-weight:400;color:#1a202c;margin:0 0 1.5rem;font-family:Urbanist,sans-serif;line-height:1.2}.congratulations h3{font-size:1.5rem;font-weight:500;color:#4a5568;margin:0;font-family:Urbanist,sans-serif}.destinations{background:#fff;padding:4rem 0}.destinations h2{font-size:2.5rem;font-weight:700;color:#1a202c;text-align:center;margin:0 0 1rem;font-family:Urbanist,sans-serif}.destinations-subtitle{font-size:1.2rem;color:#4a5568;text-align:center;margin:0 0 3rem;font-family:Urbanist,sans-serif}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}.destination-card{background:transparent;border:none;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;cursor:pointer;position:relative;background:#fff}.destination-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 28px #00000026}.destination-card img{width:100%;height:200px;object-fit:cover;border-radius:12px 12px 0 0;margin-bottom:0;transition:all .3s ease}.destination-card:hover img{transform:scale(1.05)}.destination-card h3{font-size:1.1rem;font-weight:600;color:#1a202c;margin:0;padding:1rem;text-align:center;font-family:Urbanist,sans-serif;background:#fff;border-radius:0 0 12px 12px;transition:all .3s ease}.destination-card:hover h3{color:#007bff;transform:translateY(-2px)}.destinations-footnote{font-size:.9rem;color:#718096;text-align:center;margin:2rem 0 0;line-height:1.5}@media (max-width: 768px){.form-content{display:flex!important;flex-direction:column!important;gap:1.5rem;padding:1.5rem 1rem;height:auto!important;max-height:none!important;min-height:auto!important}.form-content.certificate-layout,.form-content.login-layout{display:flex!important;flex-direction:column!important;padding:1.5rem 1rem!important;height:auto!important;max-height:none!important;min-height:auto!important}.form-description{text-align:left;width:100%;margin-bottom:0}.form-description h2{font-size:1.5em}.form-fields{width:100%;margin-top:0}.form-fields form,.floating-label-container{width:100%}.floating-input{width:100%!important;box-sizing:border-box!important}.login-submit-button,.certificate-activation-submit-button{width:100%!important;box-sizing:border-box}.certificate-form,.certificate-form .floating-label-container{width:100%}.certificate-number-input-group,.security-code-input-group{width:100%!important}.certificate-number-input-group .floating-input,.security-code-input-group .floating-input{width:100%!important;max-width:100%!important;min-width:100%!important;box-sizing:border-box!important}.certificate-activation-submit-button,.form-content .certificate-form,.form-content .certificate-form *{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.form-content input[type=text],.form-content button[type=submit]{width:100%!important;max-width:100%!important;min-width:100%!important}.form-tab-content,.form-tab-content .certificate-form,.form-tab-content .floating-label-container{width:100%!important;max-width:100%!important}.form-tab-content .floating-input{width:100%!important;max-width:100%!important;min-width:100%!important}}@media (max-width: 768px){.top-bar-main{flex-direction:row;justify-content:space-between;align-items:center;padding:.75rem 0;gap:0}.top-bar h1{font-size:1.1rem;flex:1}.top-bar-right{gap:1rem;align-items:center}.globe-button{width:36px;height:36px;padding:.4rem}.globe-button svg{width:18px;height:18px}.sign-in-link{font-size:.85rem;padding:.4rem .6rem}.sign-in-link svg{width:12px;height:14px}.language-modal{max-width:90vw;margin:0 1rem}.language-modal-header{padding:1.25rem 1.25rem .75rem}.language-modal-header h3{font-size:1.1rem}.language-modal-item{padding:.875rem 1.25rem;font-size:.95rem}.login-form-content,.certificate-form-content{grid-template-columns:1fr;gap:1.5rem}.login-form-header{text-align:center}.section-title{font-size:1.5rem}.features-grid{grid-template-columns:1fr}.destination-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.footer-content{grid-template-columns:1fr;text-align:center}}@media (max-width: 480px){.top-bar-main{padding:.5rem 0}.top-bar h1{font-size:1rem}.top-bar-right{gap:.75rem}.globe-button{width:32px;height:32px;padding:.3rem}.globe-button svg{width:16px;height:16px}.sign-in-link{font-size:.8rem;padding:.3rem .5rem}.sign-in-link svg{width:11px;height:13px}.language-modal{max-width:95vw;margin:0 .5rem}.language-modal-header{padding:1rem 1rem .75rem}.language-modal-header h3{font-size:1rem}.language-modal-item{padding:.75rem 1rem;font-size:.9rem;gap:.75rem}.form-tabs{padding:0;gap:.5rem}.tab{flex:1;padding:.75rem .5rem;min-width:0}.tab-label{font-size:1rem!important}.tab-description{font-size:.875rem!important}.desktop-text{display:none}.mobile-text{display:inline}.login-form-content,.certificate-form-content{padding:1.5rem}.email-input-group input,.password-input-group input,.certificate-number-input-group input{padding-left:2rem;padding-right:2rem}#certificate-number{padding-left:.75rem;padding-right:2rem}.certificate-number-input-field:not(.has-input-icon) .certificate-number-validation-message,.security-code-input-field:not(.has-input-icon) .security-code-validation-message{padding-left:.75rem}.certificate-tooltip-modal{max-width:95vw;margin:0 .5rem}.certificate-tooltip-modal-header{padding:1rem 1rem .75rem}.certificate-tooltip-modal-header h3{font-size:1.1rem}.certificate-tooltip-modal-content{padding:1rem}.certificate-tooltip-modal-content p{font-size:.95rem}.destination-grid{grid-template-columns:1fr;gap:1rem}.destination-image-placeholder{height:150px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Urbanist,sans-serif;line-height:1.6;color:#333;background-color:#fff;overflow-x:hidden;overflow-y:auto}#root{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-block;padding:8px 20px;border:none;border-radius:8px;font-family:Urbanist,sans-serif;font-weight:500;font-size:.9rem;text-decoration:none;cursor:pointer;transition:all .3s ease}.btn-primary{background-color:#0077be;color:#fff}.btn-primary:hover{background-color:#005a9e;transform:translateY(-2px)}.btn-secondary{background-color:transparent;color:#007bff;border:2px solid #007bff}.btn-secondary:hover{background-color:#007bff;color:#fff}@media (max-width: 768px){.container{padding:0 15px}.btn{padding:10px 20px;font-size:14px}}@media (max-width: 480px){.container{max-width:100vw;padding:0 8px}}
