.step-indicator{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;margin-bottom:var(--space-5)}.step-indicator__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.step-indicator__button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:3px solid var(--color-black);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--weight-black);box-shadow:calc(3px * var(--dir)) 3px 0 var(--color-black);transition:all .15s ease;cursor:pointer}.step-indicator__button:not(:disabled):hover{transform:translateY(-2px);box-shadow:calc(5px * var(--dir)) 5px 0 var(--color-black)}.step-indicator__button:not(:disabled):active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-black)}.step-indicator__button--active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-black);box-shadow:calc(3px * var(--dir)) 3px 0 var(--color-black);transform:translate(1px,1px)}.step-indicator__button--active:not(:disabled):hover{box-shadow:calc(5px * var(--dir)) 5px 0 var(--color-black)}.step-indicator__button--completed{background:var(--color-success);color:var(--color-white);border-color:var(--color-black);box-shadow:calc(3px * var(--dir)) 3px 0 var(--color-black)}.step-indicator__button--completed:not(:disabled):hover{box-shadow:calc(5px * var(--dir)) 5px 0 var(--color-black)}.step-indicator__button--disabled,.step-indicator__button:disabled{opacity:.4;cursor:not-allowed;border-color:var(--color-text-tertiary);box-shadow:calc(2px * var(--dir)) 2px 0 var(--color-text-tertiary)}.step-indicator__button--disabled:hover,.step-indicator__button:disabled:hover{transform:none;box-shadow:calc(2px * var(--dir)) 2px 0 var(--color-text-tertiary)}.step-indicator__label{font-family:var(--font-heading);font-size:9px;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);display:none}.step-indicator__button--active+.step-indicator__label{color:var(--color-primary)}.step-indicator__button--completed+.step-indicator__label{color:var(--color-success)}.step-indicator__check-icon{width:16px;height:16px;stroke-width:3}.step-indicator__connector{flex:1;height:2px;margin:0 var(--space-1);background:var(--color-border);position:relative;transition:all .3s ease}.step-indicator__connector--completed{background:var(--color-success);box-shadow:0 1px 0 var(--color-black)}@media (max-width:480px){.step-indicator{padding:var(--space-2) 0;margin-bottom:var(--space-3)}.step-indicator__button{width:32px;height:32px;border-width:2px}.step-indicator__button,.step-indicator__button--active,.step-indicator__button--completed{box-shadow:calc(2px * var(--dir)) 2px 0 var(--color-black)}.step-indicator__check-icon{width:14px;height:14px}.step-indicator__connector{margin:0 2px}}@media (min-width:480px){.step-indicator__button{width:44px;height:44px;font-size:var(--font-size-sm)}.step-indicator__label{display:block;font-size:10px}.step-indicator__connector{margin:0 var(--space-2)}.step-indicator__check-icon{width:18px;height:18px}}.embedded-booking-flow-container{width:100%;max-width:100%}.embedded-booking-flow{position:relative;display:flex;flex-direction:column;gap:var(--space-6);background:var(--color-bg-card);border:var(--border-thick) solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.embedded-booking-flow--empty{background:var(--color-bg-subtle)}.embedded-booking-flow__steps-wrapper{padding:var(--space-4) var(--space-5);background:var(--color-bg-subtle);border-bottom:var(--border-width) solid var(--color-border)}.embedded-booking-flow__steps{display:flex;align-items:center;justify-content:space-between;overflow-x:auto;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch}.embedded-booking-flow__content{padding:var(--space-5);min-height:400px}@media (max-width:480px){.embedded-booking-flow{gap:var(--space-3);border-width:2px;border-radius:var(--radius-md)}.embedded-booking-flow__content,.embedded-booking-flow__steps-wrapper{padding:var(--space-2) var(--space-3)}.embedded-booking-flow__content{min-height:auto}}@media (min-width:640px){.embedded-booking-flow__steps-wrapper{padding:var(--space-5) var(--space-6)}.embedded-booking-flow__content{padding:var(--space-6);min-height:200px}}.embedded-booking-flow__overlay{position:absolute;top:0;inset-inline-start:0;inset-inline-end:0;bottom:0;background:hsla(0,0%,100%,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;border-radius:var(--radius-lg)}.embedded-booking-flow__error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-red-50,#fef2f2);border:2px solid var(--color-red-200,#fecaca);border-radius:var(--radius-md);margin:var(--space-3) var(--space-4) 0}.booking-step-transition{will-change:transform,opacity}.booking-step-transition--enter{animation:stepEnter .3s cubic-bezier(.22,1,.36,1) forwards}.booking-step-transition--exit-left{animation:stepExitLeft .2s ease-in forwards;pointer-events:none}.booking-step-transition--exit-right{animation:stepExitRight .2s ease-in forwards;pointer-events:none}@keyframes stepEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes stepExitLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(calc(-30px * var(--dir)))}}@keyframes stepExitRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(calc(30px * var(--dir)))}}.booking-confirmation{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4);overflow:hidden;background:var(--color-bg-card);border:var(--border-thick) solid var(--color-border);border-radius:var(--radius-lg)}.booking-confirmation__confetti{position:absolute;top:0;inset-inline-start:0;inset-inline-end:0;height:100%;pointer-events:none;overflow:hidden}.booking-confirmation__confetti-piece{position:absolute;top:-10px;inset-inline-start:var(--x);width:8px;height:8px;background:var(--color);border-radius:2px;animation:confettiFall 2.5s var(--delay) ease-out forwards;opacity:0}.booking-confirmation__confetti-piece:nth-child(2n){width:6px;height:10px;border-radius:50%}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) translateX(0) rotate(0deg)}to{opacity:0;transform:translateY(350px) translateX(var(--drift)) rotate(2turn)}}.booking-confirmation__icon{margin-bottom:var(--space-4);animation:checkmarkBounce .6s cubic-bezier(.22,1,.36,1) .2s both}.booking-confirmation__checkmark-circle{stroke:var(--color-success,#22c55e);stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:checkmarkCircle .6s cubic-bezier(.65,0,.45,1) .3s forwards}.booking-confirmation__checkmark-check{stroke:var(--color-success,#22c55e);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:checkmarkStroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes checkmarkCircle{to{stroke-dashoffset:0}}@keyframes checkmarkStroke{to{stroke-dashoffset:0}}@keyframes checkmarkBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.booking-confirmation__title{font-size:var(--text-h2);font-weight:var(--weight-black);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 var(--space-1) 0;animation:fadeSlideUp .4s ease .5s both}.booking-confirmation__subtitle{font-size:var(--text-small);color:var(--color-text-secondary);margin:0 0 var(--space-5) 0;animation:fadeSlideUp .4s ease .6s both}.booking-confirmation__receipt{width:100%;max-width:360px;background:var(--color-bg-card);border:var(--border-thick) solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);animation:fadeSlideUp .4s ease .7s both}.booking-confirmation__receipt-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light,#e5e5e5)}.booking-confirmation__receipt-row:last-child{border-bottom:none}.booking-confirmation__receipt-row--total{border-bottom:none;border-top:2px solid var(--color-border);padding-top:var(--space-3)}.booking-confirmation__receipt-row--code{border-top:2px dashed var(--color-border-light,#d1d5db);padding-top:var(--space-3)}.booking-confirmation__receipt-label{font-size:var(--text-small);color:var(--color-text-muted)}.booking-confirmation__receipt-value{font-size:var(--text-small);font-weight:var(--weight-bold);color:var(--color-text-primary);text-align:end}.booking-confirmation__receipt-badge{display:inline-flex;padding:2px var(--space-2);font-size:var(--text-small);font-weight:var(--weight-black);font-family:var(--font-mono,monospace);color:var(--color-white);background:var(--color-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);transform:rotate(-2deg);box-shadow:2px 2px 0 var(--color-border)}[dir=rtl] .booking-confirmation__receipt-badge{transform:rotate(2deg)}.booking-confirmation__receipt-price{font-size:var(--text-body);font-weight:var(--weight-black);color:var(--color-primary)}.booking-confirmation__receipt-code{font-size:var(--text-h3);font-weight:var(--weight-black);color:var(--color-primary);font-family:var(--font-mono,monospace);letter-spacing:.08em}.booking-confirmation__info{font-size:var(--text-tiny);color:var(--color-text-muted);max-width:340px;line-height:1.5;margin:0 0 var(--space-4) 0;animation:fadeSlideUp .4s ease .8s both}.booking-confirmation__actions{display:flex;gap:var(--space-3);width:100%;max-width:360px;animation:fadeSlideUp .4s ease .9s both}.booking-confirmation__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-small);font-weight:var(--weight-bold);border-radius:var(--radius-md);border:var(--border-thick) solid var(--color-border);cursor:pointer;transition:all .15s ease;text-decoration:none;box-shadow:var(--shadow-sm)}.booking-confirmation__btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-md)}.booking-confirmation__btn:active{transform:translate(1px,1px);box-shadow:none}.booking-confirmation__btn--whatsapp{background:#25d366;color:#fff}.booking-confirmation__btn--new{background:var(--color-bg-card);color:var(--color-text-primary)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}