.reservation-page{display:flex;position:relative}.reservation-image-side{position:sticky;top:0;left:0;z-index:10;align-self:flex-start;flex-shrink:0}.reservation-parallax-image{display:block}.reservation-content-side{flex:1;background:#fff;min-height:100%}.reservation-basket-side{position:sticky;top:150px;align-self:flex-start;flex-shrink:0;width:320px;padding:0 2rem 2rem 0;margin-top:5rem}.basket-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:1.5rem}.basket-title{font-size:.85rem;font-weight:600;letter-spacing:.1em;color:#1a1a1a;margin:0 0 1rem}.basket-divider{height:1px;background:#e5e5e5;margin-bottom:1.25rem;border-style:dashed;border-width:1px 0 0 0;border-color:#e5e5e5;background:0 0}.basket-content{margin-bottom:1.5rem}.basket-ticket-title{font-family:'EB Garamond',Georgia,serif;font-size:1.5rem;font-weight:400;color:#1a1a1a;margin:0 0 .5rem}.basket-ticket-count{font-size:1rem;color:#666;margin:0 0 .25rem}.basket-ticket-date{font-size:1rem;color:#666;margin:0}.basket-total{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:.75rem 0 0}.basket-time-section{background:#f5f5f5;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.basket-time-label{font-size:1rem;color:#1a1a1a;margin:0}.basket-next-btn{width:100%;padding:1rem;background:#888;color:#fff;border:none;border-radius:50px;font-size:1rem;font-weight:500;cursor:not-allowed;transition:all .2s ease}.basket-next-btn:not(:disabled){background:#008573;cursor:pointer}.basket-next-btn:not(:disabled):hover{background:#006b5c}.reservation-content{max-width:700px;margin:0;padding:3rem 2rem 4rem}.reservation-steps{display:flex;align-items:center;gap:1rem;margin-bottom:3rem}.step-item{display:flex;align-items:center;gap:.75rem}.step-item.active .step-number{background:#1a1a1a;color:#fff}.step-number{width:32px;height:32px;border-radius:50%;background:#e5e5e5;color:#999;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:500}.step-label{font-size:1.1rem;font-weight:500;color:#1a1a1a}.step-item:not(.active):not(.completed) .step-label{color:#999!important}.pass-card{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border:1px solid #e5e5e5;border-radius:8px;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease;margin-bottom:1.5rem}.pass-card:hover{border-color:#ccc;box-shadow:0 2px 8px rgba(0,0,0,.08)}.pass-card-left{display:flex;align-items:center;gap:1rem}.pass-card-image{width:60px;height:auto}.pass-card-info{display:flex;flex-direction:column;gap:.25rem}.pass-card-title{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0}.pass-card-desc{font-size:.9rem;color:#666;margin:0}.pass-card-arrow{color:#1a1a1a}.calendar-section{margin-top:2.5rem;width:100%}.calendar-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.calendar-title{font-family:'EB Garamond',Georgia,serif;font-size:1.75rem;font-weight:400;color:#1a1a1a;margin:0}.calendar-legend{display:flex;align-items:center;gap:.5rem}.calendar-legend-dot{width:8px;height:8px;background:#e57373;border-radius:50%}.calendar-legend-text{font-size:.9rem;color:#1a1a1a}.calendar-container{background:#fff}.calendar-header{display:flex;align-items:center;justify-content:center;gap:3rem;margin-bottom:1.5rem}.calendar-nav-btn{width:40px;height:40px;border-radius:50%;border:1px solid #e5e5e5;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;transition:all .2s ease}.calendar-nav-btn svg{width:18px;height:18px}.calendar-nav-btn:hover{border-color:#1a1a1a}.calendar-nav-btn.next-month{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.calendar-month-year{font-size:1rem;font-weight:600;letter-spacing:.15em;color:#1a1a1a;margin:0;min-width:180px;text-align:center}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:0;border-bottom:1px solid #e5e5e5;padding-bottom:1rem}.calendar-weekdays span{text-align:center;font-size:.75rem;font-weight:600;letter-spacing:.1em;color:#1a1a1a}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.calendar-day{display:flex;align-items:center;justify-content:center;font-size:1rem;color:#1a1a1a;cursor:pointer;border-bottom:1px solid #f0f0f0;padding:1.25rem 0;transition:all .2s ease;position:relative}.calendar-day span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;transition:all .2s ease}.calendar-day:hover:not(.disabled):not(.empty) span{background:#f5f5f5}.calendar-day.today span{background:#d9d9d9;font-weight:600}.calendar-day.selected span{background:#1a1a1a;color:#fff;font-weight:600}.calendar-day.disabled{color:#ccc;cursor:not-allowed}.calendar-day.empty{cursor:default}.time-section{margin-top:3rem;padding-top:2rem;border-top:1px solid #e5e5e5}.time-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.time-title{font-family:'EB Garamond',Georgia,serif;font-size:1.75rem;font-weight:400;color:#1a1a1a;margin:0}.time-legend{display:flex;align-items:center;gap:.5rem}.time-legend-dot{width:8px;height:8px;background:#e57373;border-radius:50%}.time-legend-text{font-size:.9rem;color:#1a1a1a}.time-group{display:flex;align-items:flex-start;gap:2rem;margin-bottom:1.5rem}.time-group-label{font-size:1rem;font-weight:500;color:#1a1a1a;margin:0;min-width:100px;padding-top:.75rem}.time-slots{display:flex;flex-wrap:wrap;gap:.75rem;flex:1}.time-slot{padding:.75rem 1.5rem;background:#f5f5f5;border:none;border-radius:8px;font-size:1rem;color:#1a1a1a;cursor:pointer;transition:all .2s ease;position:relative;min-width:100px;text-align:center}.time-slot:hover{background:#e5e5e5}.time-slot.selected{background:#1a1a1a;color:#fff}.time-slot.has-warning::after{content:'';position:absolute;top:8px;right:8px;width:8px;height:8px;background:#e57373;border-radius:50%}.tickets-section{margin-top:3rem;padding-top:2rem;border-top:1px solid #e5e5e5}.tickets-title{font-family:'EB Garamond',Georgia,serif;font-size:1.75rem;font-weight:400;color:#1a1a1a;margin:0 0 1.5rem}.tickets-notice{display:flex;gap:1rem;padding:1rem 1.25rem;background:#fff;border-left:3px solid #2a7d7d;margin-bottom:2rem}.notice-icon{color:#666;flex-shrink:0}.notice-text{font-size:.95rem;color:#1a1a1a;margin:0;line-height:1.5}.notice-link{color:#1a1a1a;text-decoration:underline}.notice-link:hover{text-decoration:none}.ticket-row{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;border-bottom:1px solid #e5e5e5}.ticket-category{font-size:.9rem;font-weight:600;letter-spacing:.05em;color:#1a1a1a;margin:0}.ticket-controls{display:flex;align-items:center;gap:.75rem}.ticket-price{font-size:1rem;color:#1a1a1a;min-width:40px;text-align:right}.ticket-btn{width:40px;height:40px;border-radius:50%;border:none;background:#f0f0f0;color:#666;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ticket-btn:hover{background:#e5e5e5;color:#1a1a1a}.ticket-btn:active{transform:scale(.95)}.ticket-count{font-size:1rem;color:#1a1a1a;min-width:40px;text-align:center;padding:.5rem;background:#f5f5f5;border-radius:4px;border:1px solid #e5e5e5}.ticket-section-block{border-bottom:1px solid #e5e5e5;padding-bottom:1rem}.ticket-header-row{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0 .5rem}.mandatory-label{font-size:.85rem;color:#d63384}.mandatory-label.hidden{visibility:hidden}.ticket-forms-container{display:flex;flex-direction:column;gap:1rem}.ticket-form-card{background:#f8f8f8;border-radius:8px;padding:1.5rem}.ticket-form-title{font-size:.95rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem}.ticket-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.9rem;color:#1a1a1a}.form-field label .required{color:#d63384}.form-field input{padding:.875rem 1rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;background:#fff;transition:border-color .2s ease}.form-field input:focus{outline:0;border-color:#1a1a1a}.ticket-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.reservation-title{font-family:'EB Garamond',Georgia,serif;font-size:2.5rem;font-weight:400;color:#1a1a1a;margin:0 0 .5rem}.reservation-subtitle{font-size:1.1rem;color:#666;margin:0 0 2rem}.reservation-info-box{display:flex;gap:1rem;padding:1.25rem;background:#f0f7f6;border-radius:8px;margin-bottom:2rem;border-left:4px solid #008573}.reservation-info-icon{flex-shrink:0;color:#008573}.reservation-info-box p{margin:0;font-size:.95rem;color:#333;line-height:1.5}.reservation-form-container{background:#fff}.reservation-form{display:flex;flex-direction:column;gap:2rem}.form-section{padding-bottom:1.5rem;border-bottom:1px solid #e5e5e5}.form-section:last-of-type{border-bottom:none}.form-section-title{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0 0 1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.9rem;font-weight:500;color:#1a1a1a;margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.875rem 1rem;border:1px solid #e5e5e5;border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:0;border-color:#008573}.form-group input::placeholder{color:#999}.form-hint{display:block;font-size:.8rem;color:#008573;margin-top:.35rem}.number-input{display:flex;align-items:center;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}.number-input input{width:60px;text-align:center;border:none;padding:.875rem 0;font-size:1rem;font-weight:500;-moz-appearance:textfield;appearance:textfield}.number-input input::-webkit-inner-spin-button,.number-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input input:focus{outline:0}.number-btn{width:48px;height:48px;background:#f5f5f5;border:none;font-size:1.25rem;color:#1a1a1a;cursor:pointer;transition:background .2s ease}.number-btn:hover{background:#e5e5e5}.reservation-summary{background:#f9f9f9;padding:1.5rem;border-radius:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem;color:#666}.summary-price{font-weight:500;color:#1a1a1a}.summary-divider{height:1px;background:#e5e5e5;margin:.75rem 0}.summary-total{font-size:1.1rem;font-weight:600;color:#1a1a1a}.summary-total .summary-price{color:#008573;font-size:1.25rem}.reservation-submit-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1.25rem 2rem;background:#008573;color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:background .2s ease}.reservation-submit-btn:hover{background:#0a4f51}@media (max-width:992px){.reservation-image-side{display:none}.reservation-content-side{margin-left:0;width:100%}.reservation-content{padding:2rem 1.5rem 3rem}.reservation-title{font-size:2rem}.form-row{grid-template-columns:1fr;gap:1rem}}@media (max-width:480px){.reservation-content{padding:1.5rem 1rem 2rem}.reservation-title{font-size:1.75rem}.reservation-subtitle{font-size:1rem}.reservation-info-box{flex-direction:column;gap:.75rem}}.reservation-faq-section{background:#000;padding:4rem 0}.reservation-faq-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;gap:2rem}.reservation-faq-left{display:flex;align-items:flex-start;gap:1rem}.reservation-faq-label{color:#e57373;font-size:.85rem;font-weight:600;letter-spacing:.1em;white-space:nowrap;background:#000;padding-right:1rem}.reservation-faq-line{height:1px;width:100px;background:#444;margin-top:.5rem}.reservation-faq-content{flex:1;display:flex;gap:4rem}.reservation-faq-intro{flex:0 0 300px}.reservation-faq-title{font-family:'EB Garamond',Georgia,serif;font-size:2rem;font-weight:400;color:#fff;margin:0 0 1rem}.reservation-faq-subtitle{font-size:1rem;color:#999;margin:0 0 1.5rem}.reservation-faq-link{display:inline-flex;align-items:center;gap:.5rem;color:#fff;text-decoration:underline;font-size:1rem;transition:opacity .2s ease}.reservation-faq-link:hover{opacity:.8}.reservation-faq-questions{flex:1}.reservation-faq-item{border-top:1px solid #333}.reservation-faq-item:last-child{border-bottom:1px solid #333}.reservation-faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;background:0 0;border:none;color:#fff;font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:opacity .2s ease}.reservation-faq-question:hover{opacity:.8}.reservation-faq-arrow{transition:transform .3s ease;flex-shrink:0}.reservation-faq-item.active .reservation-faq-arrow{transform:rotate(180deg)}.reservation-faq-answer{display:none;padding-bottom:1.25rem}.reservation-faq-item.active .reservation-faq-answer{display:block}.reservation-faq-answer p{color:#999;font-size:.95rem;line-height:1.6;margin:0 0 .75rem}.reservation-faq-answer p:last-child{margin-bottom:0}.mobile-basket{display:none;position:fixed;bottom:16px;left:16px;right:16px;background:#1a1a1a;color:#fff;z-index:1000;border-radius:16px;transition:all .3s ease;box-shadow:0 4px 20px rgba(0,0,0,.3)}.mobile-basket.expanded .mobile-basket-details{display:block}.mobile-basket.expanded .mobile-basket-arrow{transform:rotate(180deg)}.mobile-basket-header{display:flex;align-items:center;padding:1rem 1.25rem;gap:1rem;cursor:pointer}.mobile-basket-toggle{display:flex;align-items:center;justify-content:center}.mobile-basket-arrow{transition:transform .3s ease}.mobile-basket-summary{flex:1}.mobile-basket-date{font-size:.95rem;margin:0 0 .25rem;color:#fff}.mobile-basket-total{font-size:.9rem;font-weight:600;margin:0;color:#fff}.mobile-basket-next-btn{padding:.75rem 2rem;background:#666;color:#fff;border:none;border-radius:50px;font-size:.95rem;font-weight:500;cursor:not-allowed;transition:all .2s ease}.mobile-basket-next-btn:not(:disabled){background:#008573;cursor:pointer}.mobile-basket-details{display:none;padding:0 1.25rem 1.25rem;background:#fff;color:#1a1a1a;max-height:50vh;overflow-y:auto;border-radius:0 0 16px 16px}.mobile-basket-title{font-size:.85rem;font-weight:600;letter-spacing:.1em;margin:1rem 0}.mobile-basket-divider{height:1px;border-top:1px dashed #e5e5e5;margin-bottom:1rem}.mobile-basket-content{padding-bottom:1rem;border-bottom:1px dashed #e5e5e5;margin-bottom:1rem}.mobile-basket-ticket-title{font-family:'EB Garamond',Georgia,serif;font-size:1.5rem;font-weight:400;margin:0 0 .5rem}.mobile-basket-ticket-count{font-size:.95rem;color:#666;margin:0 0 .25rem}.mobile-basket-ticket-date{font-size:.95rem;color:#666;margin:0 0 .5rem}.mobile-basket-ticket-price{font-size:1.25rem;font-weight:700;margin:0}@media (max-width:1024px){.reservation-basket-side{display:none}.ticket-form-fields{grid-template-columns:1fr!important;gap:1rem}.mobile-bottom-bar{display:none!important}.mobile-basket{display:block}.reservation-page{padding-bottom:100px}.reservation-faq-container{flex-direction:column}.reservation-faq-content{flex-direction:column;gap:2rem}.reservation-faq-intro{flex:none}.reservation-faq-line{flex:1}}