.available-dates-list{flex-direction:column;align-items:center;padding:1rem 0;display:flex}.available-dates-list-title{color:var(--color-text-primary);text-align:center;width:100%;margin-bottom:1.25rem;font-size:1.5rem;font-weight:600}.available-dates-cards{flex-direction:column;gap:.75rem;width:100%;max-width:880px;margin:0 auto;display:flex}.available-date-card{color:inherit;background:#faf7f4;border:1px solid #2e4d3d1a;border-radius:10px;text-decoration:none;transition:box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 2px 16px #00000014}.available-date-card:hover,.available-date-card:focus{outline:none;box-shadow:0 6px 20px #0000001f}.available-date-card-bar{background:var(--color-forest-green,#2e4d3d);flex-shrink:0;width:6px;min-width:6px}.available-date-card-body{flex-wrap:wrap;flex:1;align-items:center;gap:.6rem 1.25rem;padding:.85rem 1.25rem;display:flex}.available-date-card-left{flex-direction:column;gap:.1rem;display:flex}.available-date-card-date{color:var(--color-text-primary);font-size:1.1rem;font-weight:700;line-height:1.25}.available-date-card-time{color:var(--color-text-secondary);font-size:.9rem;line-height:1.2}.available-date-card-center{flex-wrap:wrap;flex:1;align-items:baseline;gap:.35rem 1rem;min-width:180px;display:flex}.available-date-card-duration-type{color:var(--color-text-primary);margin:0;font-size:.95rem;font-weight:500}.available-date-card-address{color:var(--color-text-secondary);width:100%;margin:0;font-size:.85rem}.available-date-card-places{color:var(--color-success,#2e7d32);white-space:nowrap;background:#2e7d321a;border-radius:6px;margin:0;padding:.25rem .6rem;font-size:.9rem;font-weight:600;display:inline-block}.available-date-card-complet .available-date-card-places{color:#b45309;background:#ff98002e}.available-date-card-places .available-date-card-complet{color:inherit;font-size:inherit;font-weight:inherit;background:0 0}.available-date-card-cta-wrap{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.available-date-card-already-registered{color:var(--color-forest-green,#2e4d3d);margin:0;font-size:.8rem;font-weight:500}.available-date-card-right{flex-direction:column;align-items:flex-end;gap:.4rem;margin-left:auto;display:flex}.available-date-card-studio{color:var(--color-text-primary);margin:0;font-size:.9rem;font-weight:600}.available-date-card-price{color:var(--color-text-secondary);margin:0;font-size:1.05rem;font-weight:600}.available-date-card-cta{background:var(--color-forest-green,#2e4d3d);color:var(--color-off-white,#faf7f4);font-family:var(--font-body);text-transform:none;white-space:nowrap;border-radius:8px;padding:.5rem 1.1rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-block}.available-date-card:hover .available-date-card-cta,.available-date-card:focus .available-date-card-cta{background:var(--color-bg-cta-hover,#1e3d2d);color:var(--color-off-white,#faf7f4)}.available-date-card:active .available-date-card-cta{transform:translateY(0)}.available-date-card-complet.available-date-card{cursor:default;opacity:.95}.available-date-card-complet.available-date-card:hover,.available-date-card-complet.available-date-card:focus{box-shadow:0 2px 16px #00000014}.available-date-card-cta-complet{cursor:default;color:#b45309!important;background:#ff980059!important}.available-date-card-cta-complet:hover{color:#b45309!important;background:#ff980059!important}.available-dates-loading,.available-dates-error,.available-dates-empty{text-align:center;padding:2rem}.available-dates-loading p,.available-dates-error p,.available-dates-empty p{color:var(--color-text-secondary);line-height:1.6}.available-dates-error p{color:var(--color-error,#d32f2f)}@media (max-width:768px){.available-date-card-body{flex-direction:column;align-items:flex-start;padding:.9rem 1.1rem}.available-date-card-center{width:100%;min-width:0}.available-date-card-right{border-top:1px solid var(--color-border,#eee);flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-left:0;padding-top:.5rem}.available-dates-list-title{font-size:1.35rem}}
.reservation-page{min-height:60vh;padding:2rem 1rem}.reservation-page-container{max-width:1000px;margin:0 auto}.reservation-page h1{color:var(--color-text-primary);text-align:center;margin-bottom:2rem;font-size:2rem}.reservation-page-my-reservations{background:linear-gradient(135deg,#2e4d3d0f 0%,#2e4d3d05 100%);border:1px solid #2e4d3d24;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem}.reservation-page-my-reservations-text{color:var(--color-text-secondary);margin:0;font-size:.9375rem}.reservation-page-my-reservations-link{color:var(--color-forest-green,#2e4d3d);font-weight:600;text-decoration:none}.reservation-page-my-reservations-link:hover{text-decoration:underline}.reservation-page-intro-cta-wrap{text-align:center;margin-bottom:2.5rem}.reservation-page-intro-cta{font-family:var(--font-body);color:#fff;background:var(--color-forest-green);border:2px solid var(--color-forest-green);cursor:pointer;border-radius:8px;padding:.6rem 1.25rem;font-size:1rem;font-weight:600;transition:background .2s,color .2s;display:inline-block}.reservation-page-intro-cta:hover{color:#fff;background:#1e3a2d;border-color:#1e3a2d}.reservation-page-intro-cta:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.reservation-page-intro-block{background:var(--color-bg-secondary,#faf7f4);border:1px solid #2e4d3d1f;border-radius:16px;margin-bottom:2.5rem;overflow:hidden;box-shadow:0 4px 24px #0000000f}.reservation-page-intro-block-inner{padding:2rem 2.25rem}.reservation-page-intro-block-title{color:var(--color-forest-green,#2e4d3d);letter-spacing:.02em;margin:0 0 1.25rem;font-size:1.25rem;font-weight:600}.reservation-page-info-content{flex-direction:column;gap:1.25rem;display:flex}.reservation-page-info-content p{color:var(--color-text-primary);margin:0;font-size:1.05rem;line-height:1.7}.reservation-page-info-content p strong{color:var(--color-forest-green,#2e4d3d);font-weight:600}.reservation-page-intro-block-close{color:var(--color-forest-green,#2e4d3d);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-top:1.5rem;padding:.5rem 0;font-size:.95rem;font-weight:500;text-decoration:underline;transition:color .2s}.reservation-page-intro-block-close:hover{color:#1e3a2d}.reservation-page-intro-block-close:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:4px}.reservation-page-process{margin-bottom:2.5rem}.reservation-page-process h2,.reservation-page-availability h2{color:var(--color-text-primary);text-align:center;margin-bottom:1rem;font-size:1.5rem}.reservation-page-steps{counter-reset:step-counter;padding:0;list-style:none}.reservation-page-steps li{counter-increment:step-counter;margin-bottom:2rem;padding-left:3rem;position:relative}.reservation-page-steps li:before{content:counter(step-counter);background-color:var(--color-primary);width:2rem;height:2rem;color:var(--color-background);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex;position:absolute;top:0;left:0}.reservation-page-steps li strong{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.1rem;display:block}.reservation-page-steps li p{color:var(--color-text-secondary);margin:0;line-height:1.6}.reservation-page-availability{border-top:1px solid var(--color-border);margin-top:2.5rem;padding-top:2rem}.reservation-page-availability-intro{color:var(--color-text-secondary);text-align:center;margin-bottom:1.5rem;line-height:1.6}.reservation-page-aide{margin-top:4rem;margin-bottom:0;padding-top:2.5rem}.reservation-page-aide .reservation-page-aide-card{background:var(--color-bg-secondary,#faf7f4);border:1px solid var(--color-border);border-radius:12px;max-width:560px;margin:0 auto;padding:1.75rem 2rem;box-shadow:0 2px 12px #0000000f}.reservation-page-aide h2{text-align:center;color:var(--color-text-primary);margin-bottom:1.25rem;font-size:1.25rem}.reservation-page-aide .reservation-page-steps{margin:0}.reservation-page-aide .reservation-page-steps li{margin-bottom:1rem;padding-left:2.75rem}.reservation-page-aide .reservation-page-steps li:last-child{margin-bottom:0}.reservation-page-aide .reservation-page-steps li:before{background-color:var(--color-forest-green,#2e4d3d);width:1.75rem;height:1.75rem;color:var(--color-off-white,#faf7f4);font-size:.9rem}.reservation-page-aide .reservation-page-steps li strong{margin-bottom:.25rem;font-size:1rem}.reservation-page-aide .reservation-page-steps li p{font-size:.9rem;line-height:1.5}@media (max-width:768px){.reservation-page{padding:1.5rem 1rem}.reservation-page h1{font-size:1.75rem}.reservation-page-intro-block-inner{padding:1.5rem 1.25rem}.reservation-page-intro-block-title{font-size:1.15rem}.reservation-page-info-content p{font-size:1rem}.reservation-page-steps li{padding-left:2.5rem}.reservation-page-aide{margin-top:3rem;padding-top:2rem}.reservation-page-aide .reservation-page-aide-card{padding:1.25rem 1.5rem}.reservation-page-aide .reservation-page-steps li{padding-left:2.25rem}}
