.limit-width-banner{padding:0;max-width:1400px;margin:0 auto}.limit-width-banner-image{width:100%;object-fit:cover;max-height:500px;display:block}.booking-wizard-section{background-color:var(--white_color)}.booking-header{text-align:center;max-width:800px;margin:0 auto}.booking-header .sb-description{max-width:650px;margin:0 auto 30px}.booking-progress-minimal{display:flex;justify-content:space-between;align-items:flex-start;max-width:1200px;margin:0 auto 40px;position:relative;padding:0 40px}.minimal-step{display:flex;align-items:baseline;gap:15px;cursor:pointer;position:relative;flex:1;opacity:.4;transition:all .4s ease}.minimal-step.active{opacity:1}.minimal-step.completed{opacity:.8}.step-number{font-family:monospace;font-size:13px;color:var(--black_color)}.step-label-group{display:flex;flex-direction:column}.step-label{font-family:var(--font_family_n);font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--black_color)}.step-value{font-family:var(--font_family_c);font-size:11px;color:var(--accent_color);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.step-line{height:1px;background:#eee;flex:1;margin:0 20px}.minimal-step:last-child .step-line{display:none}.minimal-step.completed .step-line,.minimal-step.active .step-line{background:var(--black_color)}.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px;max-width:1400px;margin:0 auto}.location-item-card{background:var(--white_color);border:1px solid #f0f0f0;transition:all .4s cubic-bezier(.2,0,.2,1);cursor:pointer;overflow:hidden;display:flex;flex-direction:column}.location-item-card:hover{background:var(--soft_blue_bg)}.location-item-card .card-image{height:200px;overflow:hidden}.location-item-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.location-item-card:hover .card-image img{transform:scale(1.05)}.location-item-card .card-info{padding:30px;display:flex;flex-direction:column;flex-grow:1}.location-item-card h3{font-family:var(--font_family_a);font-size:22px;margin-bottom:15px;color:var(--black_color)}.location-item-card .description-text{font-family:var(--font_family_c);font-size:14px;line-height:1.6;color:var(--charcoal_color);margin-bottom:25px;flex-grow:1}.location-item-card .duration{font-family:var(--font_family_n);font-size:11px;letter-spacing:.1em;color:var(--accent_color);margin-bottom:20px;display:block;text-transform:uppercase}.service-selection{max-width:900px;margin:0 auto}.service-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:40px}.service-item-card{display:flex;justify-content:space-between;align-items:center;padding:40px;background:var(--white_color);border:1px solid #f0f0f0;cursor:pointer;transition:all .4s cubic-bezier(.2,0,.2,1)}.service-item-card:hover{background:var(--soft_blue_bg)}.service-info h3{font-family:var(--font_family_a);font-size:20px;margin-bottom:12px;color:var(--black_color)}.service-info p{font-family:var(--font_family_c);font-size:15px;line-height:1.6;color:var(--charcoal_color);margin-bottom:15px;max-width:600px}.service-item-card .card-duration{font-family:var(--font_family_n);font-size:11px;letter-spacing:.1em;color:var(--accent_color);text-transform:uppercase}.service-item-card .arrow{font-size:24px;color:var(--black_color);transition:transform .4s ease}.service-item-card:hover .arrow{transform:translate(5px)}.datetime-selection{max-width:1000px;margin:0 auto}.calendar-container{max-width:450px;margin:60px auto 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-day-label{text-align:center;font-family:var(--font_family_n);font-size:11px;color:var(--accent_color);padding-bottom:15px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-family:var(--font_family_c);font-size:14px;background:#fff;border:1px solid #f9f9f9}.calendar-day:not(.disabled):hover{background:var(--soft_blue_bg);color:var(--black_color)}.calendar-day.selected{background:var(--black_color);color:var(--white_color);border-color:var(--black_color)}.calendar-day.disabled{color:#ccc;cursor:not-allowed}.time-slots-section{margin-top:30px;padding-top:30px;border-top:1px solid #eee}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-top:30px}.time-slot-btn{padding:15px 10px;background:#fff;border:1px solid #eee;cursor:pointer;font-family:var(--font_family_n);font-size:11px;letter-spacing:.05em;transition:all .3s ease}.time-slot-btn:hover{border-color:var(--black_color);background:var(--soft_blue_bg)}.time-slot-btn.active{background:var(--black_color);color:var(--white_color);border-color:var(--black_color)}.our-locations-section{background-color:var(--white_color)}.locations-header{text-align:center;max-width:800px;margin:0 auto}.locations-explorer{display:flex;gap:60px;max-width:1400px;margin:0 auto}.locations-list-panel{flex:0 0 450px;display:flex;flex-direction:column;gap:20px}.location-item{border:1px solid #eee;padding:30px;cursor:pointer;transition:all .4s cubic-bezier(.2,0,.2,1);background:#fff}.location-item:hover,.location-item.is-active{border-color:var(--black_color);background:var(--soft_blue_bg)}.location-item-header{display:flex;justify-content:space-between;align-items:center}.location-name{font-family:var(--font_family_a);font-size:24px;color:var(--black_color)}.location-status{display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;background:#4caf50;border-radius:50%}.status-text{font-family:var(--font_family_c);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#666}.location-item-content{max-height:0;overflow:hidden;transition:all .5s ease;opacity:0}.location-item.is-active .location-item-content{max-height:500px;opacity:1;margin-top:30px;padding-top:30px;border-top:1px solid rgba(0,0,0,.05)}.location-info-row{margin-bottom:20px}.info-label{display:block;font-family:var(--font_family_n);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent_color);margin-bottom:5px}.info-value{font-family:var(--font_family_c);font-size:14px;color:var(--black_color);line-height:1.6}.info-value .contact-link{display:block;margin-bottom:5px;text-decoration:underline}.location-actions{display:flex;gap:10px;margin-top:30px}@media(max-width:768px){.location-name{font-size:16px}}.locations-display-panel{flex:1;height:700px;position:sticky;top:140px}.display-map-wrapper{width:100%;height:100%;position:relative;overflow:hidden}.opening-hours-overlay{position:absolute;bottom:30px;left:30px;background:#fff;padding:30px;width:320px;box-shadow:0 10px 40px #0000001a}.overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.overlay-title{font-family:var(--font_family_n);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.city-badge{font-family:var(--font_family_c);font-size:10px;padding:4px 10px;background:var(--soft_blue_bg);border-radius:20px}.hours-container{display:flex;flex-direction:column;gap:10px}.hour-item{font-family:var(--font_family_c);font-size:13px;color:var(--charcoal_color)}.booking-summary{background:var(--soft_blue_bg);padding:40px;margin:40px 0;text-align:center}.booking-summary p{font-family:var(--font_family_c);font-size:15px;margin-bottom:10px;color:var(--charcoal_color)}.booking-summary strong{color:var(--black_color);font-family:var(--font_family_n);text-transform:uppercase;letter-spacing:.05em}.reviews-section-meta{background:var(--white_smoke)}.back-btn{margin-bottom:30px;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:1024px){.desktop-only{display:none}.mobile-only{display:block}.booking-progress-minimal{flex-direction:column;gap:20px;align-items:flex-start;padding:0 20px}.step-line{display:none}.locations-explorer{flex-direction:column;gap:30px}.locations-list-panel{flex:1}.location-mobile-details{margin-top:30px;padding-top:30px;border-top:1px solid #eee}.mobile-map-container{height:300px;margin-bottom:30px}.hours-title{font-family:var(--font_family_n);font-size:12px;text-transform:uppercase;margin-bottom:15px}.hour-row{margin-bottom:8px}.hour-text{font-family:var(--font_family_c);font-size:13px}}@media(max-width:768px){.location-grid{grid-template-columns:1fr;padding:0 20px}.location-item{padding:20px}.location-actions{flex-direction:column}.booking-form .form-row{flex-direction:column;gap:0}.service-item-card{padding:30px}.service-info p{max-width:100%}}
