.booking-wizard-section{padding-block:var(--space-md) var(--space-2xl);scroll-margin-top:calc(var(--header-height) + var(--space-xs))}.booking-wizard{display:grid;gap:var(--space-md);align-items:start;padding-bottom:calc(var(--space-2xl) + 4rem)}@media(min-width:900px){.booking-wizard{grid-template-columns:minmax(0,1fr) 18.5rem;row-gap:var(--space-md);column-gap:var(--space-xl);padding-bottom:var(--space-2xl)}.booking-progress{grid-column:1 / -1}.booking-wizard__main{grid-column:1;grid-row:2}.booking-wizard__summary{grid-column:2;grid-row:2}}.booking-wizard__main{min-width:0}.booking-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--glass-bg);backdrop-filter:blur(var(--blur-glass)) saturate(1.35);-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(1.35);border:1px solid var(--glass-border-subtle);border-radius:var(--radius-pill);box-shadow:var(--glass-highlight),var(--glass-shadow);overflow-x:visible}.booking-progress__summary{grid-column:1 / -1;margin:0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--color-text-muted)}.booking-progress__summary-sep{margin-inline:.35em;opacity:.5}.booking-progress__step{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-width:0;padding:.35em 0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-subtle);white-space:nowrap;transition:color var(--duration-base) var(--ease-out-expo)}.booking-progress__dot{flex-shrink:0;width:.45rem;height:.45rem;border-radius:50%;background:var(--color-text-subtle);opacity:.45;transition:background var(--duration-base) var(--ease-out-expo),transform var(--duration-base) var(--ease-out-expo),opacity var(--duration-base) var(--ease-out-expo)}.booking-progress__label{display:none}@media(min-width:900px){.booking-progress{display:flex;align-items:center;gap:0;padding:var(--space-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.booking-progress::-webkit-scrollbar{display:none}.booking-progress__summary{display:none}.booking-progress__step{flex:1 0 auto;padding:.6em 1em}.booking-progress__label{display:inline}}.booking-progress__step.is-active{color:var(--color-text)}.booking-progress__step.is-active .booking-progress__dot{background:var(--color-rose-muted);opacity:1;transform:scale(1.35)}.booking-progress__step.is-done{color:var(--color-text-muted)}.booking-progress__step.is-done .booking-progress__dot{background:var(--color-rose-muted);opacity:.55}.booking-step{animation:booking-step-in var(--duration-base) var(--ease-out-expo)}.booking-step[hidden]{display:none!important}@keyframes booking-step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.booking-step{animation:none}}.booking-step__header{margin-bottom:var(--space-lg)}.booking-step__eyebrow{font-family:var(--font-accent);font-size:var(--text-2xl);color:var(--color-rose-muted);line-height:1;margin-bottom:var(--space-xs)}.booking-step__title{font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-tight);margin-bottom:var(--space-sm)}.booking-step__lead{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:42ch}.booking-step__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--glass-border-subtle)}.booking-step__actions{display:flex;flex-direction:column;gap:var(--space-sm);width:100%}@media(min-width:480px){.booking-step__actions{flex-direction:row;align-items:center;width:auto;margin-left:auto}}.booking-categories{display:flex;flex-direction:column;gap:var(--space-sm)}.booking-category{border:1px solid var(--glass-border-subtle);border-radius:var(--radius-md);background:#fffcf873;overflow:hidden;transition:border-color var(--duration-base) var(--ease-out-expo),box-shadow var(--duration-base) var(--ease-out-expo)}.booking-category[open]{border-color:#bf495e38;box-shadow:var(--glass-highlight),0 4px 16px #4023190d}.booking-category summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);cursor:pointer;font-family:var(--font-display);font-size:var(--text-base);font-weight:600;list-style:none;user-select:none;transition:color var(--duration-base) var(--ease-out-expo)}.booking-category__name{flex:1;min-width:0}.booking-category__count{flex-shrink:0;min-width:1.75rem;padding:.15em .55em;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;text-align:center;color:var(--color-text-muted);background:#fffcf8b3;border:1px solid var(--glass-border-subtle);border-radius:var(--radius-pill)}.booking-category summary::-webkit-details-marker{display:none}.booking-category summary:after{content:"+";flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:var(--text-lg);font-weight:400;color:var(--color-rose-muted);background:var(--color-rose-faint);border-radius:50%;transition:transform var(--duration-base) var(--ease-out-expo)}.booking-category[open] summary:after{content:"−";transform:rotate(180deg)}.booking-category summary:hover{color:var(--color-rose-muted)}.booking-service-list{display:grid;grid-template-columns:1fr;gap:var(--space-2xs);padding:0 var(--space-sm) var(--space-md);margin:0;list-style:none}@media(min-width:540px){.booking-service-list{grid-template-columns:repeat(2,1fr);gap:var(--space-xs)}}.booking-service-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-snug);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.booking-service-item:hover{background:#fffcf8b3}.booking-service-item:has(input:checked){background:var(--color-rose-faint);box-shadow:inset 0 0 0 1px #bf495e2e}.booking-service-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.booking-service-item__check{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1em;border:1.5px solid rgba(64,35,25,.22);border-radius:.3rem;background:var(--color-warm-white);display:flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast) var(--ease-out-expo),background var(--duration-fast) var(--ease-out-expo)}.booking-service-item__check svg{width:.75rem;height:.75rem;opacity:0;transform:scale(.6);transition:opacity var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo)}.booking-service-item input:checked+.booking-service-item__check{border-color:var(--color-rose-muted);background:var(--color-rose-muted)}.booking-service-item input:checked+.booking-service-item__check svg{opacity:1;transform:scale(1)}.booking-service-item input:focus-visible+.booking-service-item__check{box-shadow:var(--focus-ring)}.booking-service-item__name{flex:1;color:var(--color-text)}.booking-error{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);font-size:var(--text-sm);color:var(--color-booking);background:#8c04100f;border-radius:var(--radius-sm);border:1px solid rgba(140,4,16,.12)}.booking-error[hidden]{display:none!important}.booking-wizard__summary{display:none}@media(min-width:900px){.booking-wizard__summary{display:block;position:sticky;top:calc(var(--header-height) + var(--space-lg))}}.booking-cart{display:flex;flex-direction:column;gap:var(--space-md)}.booking-cart__title{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.booking-cart-list{display:flex;flex-direction:column;gap:var(--space-xs);margin:0;padding:0;list-style:none}.booking-cart-list li{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);line-height:var(--leading-snug);background:#fffcf88c;border-radius:var(--radius-sm);border:1px solid var(--glass-border-subtle)}.booking-cart-list li:before{content:"";flex-shrink:0;width:.35rem;height:.35rem;margin-top:.45em;border-radius:50%;background:var(--color-rose-muted)}.booking-cart-empty{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;margin:0}.booking-cart-count{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.booking-mobile-bar{position:fixed;inset-inline:0;bottom:0;z-index:var(--z-overlay);padding:var(--space-sm) var(--page-gutter);padding-bottom:max(var(--space-sm),env(safe-area-inset-bottom));background:var(--color-scrim-strong);backdrop-filter:blur(var(--blur-glass-strong)) saturate(1.4);-webkit-backdrop-filter:blur(var(--blur-glass-strong)) saturate(1.4);border-top:1px solid var(--glass-border-subtle);box-shadow:0 -8px 32px var(--color-warm-shadow);transform:translateY(100%);opacity:0;pointer-events:none;transition:transform var(--duration-base) var(--ease-out-expo),opacity var(--duration-base) var(--ease-out-expo)}.booking-mobile-bar.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}body.has-selection-bar{padding-bottom:5.5rem}.booking-step[data-booking-step=services] .booking-step__footer{display:none}.booking-mobile-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);max-width:var(--content-max);margin-inline:auto}.booking-mobile-bar__info{min-width:0}.booking-mobile-bar__count{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.booking-mobile-bar__preview{font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14rem}@media(min-width:900px){.booking-mobile-bar__preview{max-width:32rem}.booking-mobile-bar .btn-booking{padding:.85em 1.75em;font-size:var(--text-sm)}}.booking-mobile-bar .btn-booking{flex-shrink:0;padding:.75em 1.25em;font-size:var(--text-xs)}.booking-mobile-bar .btn-booking:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.booking-calendar{margin-top:var(--space-md)}.booking-calendar__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.booking-calendar__nav .btn-text:after{content:none}.booking-calendar__nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border-radius:50%;background:var(--color-warm-white);border:1px solid var(--glass-border-subtle);color:var(--color-text);font-size:var(--text-lg);line-height:1;transition:background var(--duration-fast) var(--ease-out-expo),border-color var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo)}.booking-calendar__nav-btn:hover{background:var(--color-rose-faint);border-color:#bf495e40;color:var(--color-rose-muted)}.booking-calendar__nav-btn:focus-visible{box-shadow:var(--focus-ring)}.booking-calendar__month{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;text-transform:capitalize;text-align:center;flex:1}.booking-calendar__body{position:relative}.booking-calendar.is-loading .booking-calendar__body{min-height:5.5rem}.booking-calendar__loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding-top:var(--space-md);border-radius:var(--radius-md);background:#fff8f4f0;backdrop-filter:blur(6px);color:var(--color-text-subtle)}.booking-calendar__loading[hidden]{display:none!important}.booking-calendar__loading-text{font-size:var(--text-sm);font-weight:500}.booking-calendar__spinner{width:1.75rem;height:1.75rem;border:2px solid rgba(191,73,94,.18);border-top-color:var(--color-rose-muted);border-radius:50%;animation:booking-calendar-spin .75s linear infinite}.booking-calendar.is-loading .booking-calendar__grid,.booking-calendar.is-loading .booking-calendar__weekdays{opacity:0;pointer-events:none}.booking-calendar__nav-btn:disabled{opacity:.45;cursor:wait;pointer-events:none}@keyframes booking-calendar-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.booking-calendar__spinner{animation:none;border-top-color:#bf495e2e;border-right-color:var(--color-rose-muted)}}.booking-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2xs);margin-bottom:var(--space-xs)}.booking-calendar__weekday{text-align:center;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle);padding:var(--space-2xs)}.booking-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2xs)}.booking-calendar__pad{aspect-ratio:1}.booking-calendar__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:0;text-align:center;border-radius:var(--radius-sm);background:var(--color-warm-white);border:1px solid var(--glass-border-subtle);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo),border-color var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.booking-calendar__day:not([disabled]):hover{background:var(--color-rose-faint);border-color:#bf495e40;transform:translateY(-1px)}.booking-calendar__day.is-selected{background:var(--color-rose-muted);border-color:var(--color-rose-muted);color:var(--color-warm-white);box-shadow:0 4px 12px #bf495e4d}.booking-calendar__day.is-past,.booking-calendar__day.is-unavailable{background:#4023190a;border-color:transparent;color:var(--color-text-subtle);cursor:not-allowed;text-decoration:line-through;text-decoration-color:#40231933;opacity:.55}.booking-calendar__day.is-past{text-decoration:none;opacity:.35}.booking-calendar__day[disabled]{pointer-events:none}@media(prefers-reduced-motion:reduce){.booking-calendar__day:not([disabled]):hover{transform:none}}.booking-slots-step{position:relative;min-height:5.5rem}.booking-slots-step__loading{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-sm);padding-top:var(--space-md);color:var(--color-text-subtle)}.booking-slots-step__loading[hidden]{display:none!important}.booking-slots-step__loading-text{font-size:var(--text-sm);font-weight:500}.booking-slots-step .booking-slots{margin-top:0;padding-top:0;border-top:none}[data-slots-date-label]{text-transform:capitalize}.booking-slots{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--glass-border-subtle)}.booking-slots__heading{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;margin:0 0 var(--space-md);color:var(--color-text)}.booking-slots__heading:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--color-rose-muted);opacity:.6}.booking-slots__grid{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg)}.booking-slots__grid:empty:after{content:"Sin huecos disponibles";font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.booking-slot-btn{padding:.6em 1.1em;border-radius:var(--radius-pill);border:1px solid var(--glass-border-subtle);background:var(--color-warm-white);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo),border-color var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.booking-slot-btn:hover{background:var(--color-rose-faint);border-color:#bf495e40}.booking-slot-btn.is-selected{background:var(--color-booking);border-color:var(--color-booking);color:var(--color-warm-white);box-shadow:0 4px 16px var(--color-booking-glow)}.booking-slot-btn:focus-visible{box-shadow:var(--focus-ring)}.booking-slot-btn.is-unavailable{display:flex;flex-direction:column;align-items:center;gap:.15em;padding:.45em .85em;background:#4023190a;border-color:transparent;color:var(--color-text-subtle);cursor:not-allowed;opacity:.7}.booking-slot-btn.is-unavailable .booking-slot-btn__time{font-size:var(--text-sm);text-decoration:line-through;text-decoration-color:#40231933}.booking-slot-btn.is-unavailable .booking-slot-btn__label{font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);line-height:1.2}.booking-slot-btn.is-unavailable:hover{background:#4023190a;border-color:transparent}.booking-agent-intro{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-lg)}.booking-agent-card,.booking-agent-list{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-lg)}.booking-agent-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);min-width:8.5rem;border:1px solid var(--glass-border-subtle);border-radius:var(--radius-md);cursor:pointer;background:var(--color-warm-white);font-family:var(--font-body);font-size:var(--text-sm);text-align:center;color:var(--color-text);transition:border-color var(--duration-base) var(--ease-out-expo),box-shadow var(--duration-base) var(--ease-out-expo),transform var(--duration-base) var(--ease-out-expo)}.booking-agent-option:hover{border-color:#bf495e4d;box-shadow:var(--glass-highlight),0 8px 24px #40231914;transform:translateY(-2px)}.booking-agent-option img{width:4.5rem;height:4.5rem;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 16px var(--color-warm-shadow)}.booking-agent-option strong{font-family:var(--font-display);font-size:var(--text-base);font-weight:600}.booking-agent-option span{font-size:var(--text-xs);color:var(--color-text-muted)}.booking-agent-auto .booking-agent-option{cursor:default;max-width:14rem}.booking-agent-auto .booking-agent-option:hover{transform:none;box-shadow:none;border-color:var(--glass-border-subtle)}@media(prefers-reduced-motion:reduce){.booking-agent-option:hover{transform:none}}.booking-contact-form{display:flex;flex-direction:column;gap:var(--space-lg)}.booking-contact-form__row{display:grid;gap:var(--space-lg)}@media(min-width:540px){.booking-contact-form__row--pair{grid-template-columns:1fr 1fr}}.booking-field{display:flex;flex-direction:column;gap:var(--space-2xs)}.booking-field label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.booking-field input,.booking-field textarea{font:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-warm-white);border:1px solid var(--glass-border-subtle);border-radius:var(--radius-sm);padding:.75em 1em;transition:border-color var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.booking-field input::placeholder,.booking-field textarea::placeholder{color:var(--color-text-subtle)}.booking-field input:focus-visible,.booking-field textarea:focus-visible{outline:none;border-color:#bf495e59;box-shadow:var(--focus-ring)}.booking-field textarea{resize:vertical;min-height:5rem}.booking-confirmation{text-align:center;padding:var(--space-lg) 0}.booking-confirmation__icon{width:4rem;height:4rem;margin:0 auto var(--space-lg);display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-rose-faint);color:var(--color-rose-muted)}.booking-confirmation__icon svg{width:2rem;height:2rem}.booking-confirmation__title{font-family:var(--font-display);font-size:var(--text-3xl);margin-bottom:var(--space-md)}.booking-confirmation__message{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:36ch;margin-inline:auto}.booking-confirmation__accent{font-family:var(--font-accent);font-size:var(--text-2xl);color:var(--color-rose-muted);display:block;margin-bottom:var(--space-sm)}
