.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:3px 3px 0 var(--color-black);transition:all .15s ease;cursor:pointer}.step-indicator__button:not(:disabled):hover{transform:translateY(-2px);box-shadow:5px 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:3px 3px 0 var(--color-black);transform:translate(1px,1px)}.step-indicator__button--active:not(:disabled):hover{box-shadow:5px 5px 0 var(--color-black)}.step-indicator__button--completed{background:var(--color-success);color:var(--color-white);border-color:var(--color-black);box-shadow:3px 3px 0 var(--color-black)}.step-indicator__button--completed:not(:disabled):hover{box-shadow:5px 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:2px 2px 0 var(--color-text-tertiary)}.step-indicator__button--disabled:hover,.step-indicator__button:disabled:hover{transform:none;box-shadow:2px 2px 0 var(--color-text-tertiary)}.step-indicator__label{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 (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__progress{margin-top:var(--space-3);height:4px;background:var(--color-bg-elevated);border-radius:var(--radius-full);overflow:hidden}.embedded-booking-flow__progress-bar{height:100%;background:var(--color-primary);transition:width .3s ease-out;border-radius:var(--radius-full)}.embedded-booking-flow__content{padding:var(--space-5);min-height:400px}@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:450px}}.embedded-booking-flow__overlay{position:absolute;top:0;left:0;right: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(-30px)}}@keyframes stepExitRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(30px)}}.booking-confirmation{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-6);overflow:hidden}.booking-confirmation__confetti{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none;overflow:hidden}.booking-confirmation__confetti-piece{position:absolute;top:-10px;left: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-5);animation:checkmarkBounce .6s cubic-bezier(.22,1,.36,1) .2s both}.booking-confirmation__checkmark-circle{stroke:#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:#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,1.5rem);font-weight:var(--weight-black,900);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;animation:fadeSlideUp .4s ease .5s both}.booking-confirmation__subtitle{font-size:var(--text-body,1rem);color:var(--color-text-secondary);margin:0 0 var(--space-6) 0;animation:fadeSlideUp .4s ease .6s both}.booking-confirmation__details{width:100%;max-width:360px;background:var(--color-bg-subtle,#f8f7f4);border:var(--border-thick,3px) solid var(--color-border,#1a1a1a);border-radius:var(--radius-lg,12px);padding:var(--space-4);margin-bottom:var(--space-5);animation:fadeSlideUp .4s ease .7s both}.booking-confirmation__detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0}.booking-confirmation__detail-row+.booking-confirmation__detail-row{border-top:1px solid var(--color-border-light,#e5e5e5)}.booking-confirmation__detail-row--total{padding-top:var(--space-3);margin-top:var(--space-1);border-top:2px solid var(--color-border,#1a1a1a)!important}.booking-confirmation__detail-label{font-size:var(--text-small,.875rem);color:var(--color-text-secondary)}.booking-confirmation__detail-value{font-size:var(--text-small,.875rem);font-weight:var(--weight-bold,700);color:var(--color-text-primary)}.booking-confirmation__detail-row--total .booking-confirmation__detail-value{font-size:var(--text-body,1rem);font-weight:var(--weight-black,900);color:var(--color-primary,#d97706)}.booking-confirmation__code{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background:var(--color-bg-elevated,#fff);border:3px solid var(--color-black,#1a1a1a);border-radius:var(--radius-lg,12px);box-shadow:4px 4px 0 var(--color-black,#1a1a1a);margin-bottom:var(--space-5);animation:fadeSlideUp .4s ease .8s both}.booking-confirmation__code-label{font-size:var(--text-tiny,.75rem);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.booking-confirmation__code-value{font-size:var(--text-h2,1.5rem);font-weight:var(--weight-black,900);color:var(--color-primary,#d97706);font-family:var(--font-mono,monospace);letter-spacing:.1em}.booking-confirmation__info{font-size:var(--text-small,.875rem);color:var(--color-text-secondary);max-width:400px;line-height:1.6;margin:0 0 var(--space-5) 0;animation:fadeSlideUp .4s ease .9s both}.booking-confirmation__actions{display:flex;gap:var(--space-3);width:100%;max-width:360px;animation:fadeSlideUp .4s ease 1s both}.booking-confirmation__share-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,.875rem);font-weight:var(--weight-bold,700);border-radius:var(--radius-md,8px);border:var(--border-thick,3px) solid var(--color-border,#1a1a1a);cursor:pointer;transition:all .15s ease;text-decoration:none}.booking-confirmation__share-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-sm,2px 2px 0 #1a1a1a)}.booking-confirmation__share-btn--whatsapp{background:#25d366;color:#fff}.booking-confirmation__share-btn--new{background:var(--color-bg-card,#fff);color:var(--color-text-primary)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}