.kk-booking{padding:2.5rem 0 6rem;background:var(--bg);scroll-margin-top:5rem}.kk-booking-gate{display:flex;justify-content:center;padding:1rem 0 .5rem}.kk-booking-gate__btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-size:1.05rem;padding:.85rem 1.9rem}.kk-booking-gate__btn[disabled]{opacity:.9;cursor:default}.kk-spinner{width:1.05em;height:1.05em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:kk-spin .7s linear infinite}@keyframes kk-spin{to{transform:rotate(360deg)}}.kk-booking__skeleton{max-width:40rem;margin:0 auto;display:grid;gap:.75rem}.kk-booking__skeleton-bar{height:1.25rem;background:var(--bg-alt);animation:kk-pulse 1.4s ease-in-out infinite}.kk-booking__skeleton-bar:nth-child(2){width:80%}.kk-booking__skeleton-bar:nth-child(3){width:60%}@keyframes kk-pulse{0%,to{opacity:1}50%{opacity:.5}}.kk-wizard{max-width:40rem;margin:0 auto}.kk-wizard__top{display:flex;justify-content:flex-end;margin-bottom:1rem}.kk-wizard__reset{font-size:.72rem;letter-spacing:.05em;padding:.35rem .8rem;color:var(--text-muted);border-color:var(--border-strong)}.kk-wizard__reset:hover,.kk-wizard__reset:focus{background:var(--brand);border-color:var(--brand);color:#fff}.kk-wizard__progress{margin-bottom:1.75rem}.kk-wizard__steplabel{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;color:var(--brand);margin-bottom:.5rem}.kk-wizard__bar{height:4px;background:var(--bg-alt);overflow:hidden}.kk-wizard__bar span{display:block;height:100%;background:var(--brand);transition:width .3s ease}.kk-loading{padding:3rem 0;text-align:center;color:var(--text-muted)}.kk-reservation{background:var(--brand-faint);border:1.5px solid var(--border-strong);border-left:3px solid var(--brand);padding:.65rem 1rem;font-size:.95rem;margin-bottom:1.25rem}.kk-reservation strong{color:var(--brand)}.kk-reservation--expired{background:#fdf3f3;border-color:#e7b8b8;border-left-color:#c53030;color:#c53030}.kk-reservation--expired strong{color:#c53030}.kk-step{display:grid;gap:1.25rem}.kk-step__title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.5rem,4vw,2rem);line-height:1.1;color:var(--text);margin:0}.kk-step__hint{color:var(--text-muted);margin:-.65rem 0 0}.kk-step--done{text-align:center;gap:.85rem}.kk-done__icon{width:3.75rem;height:3.75rem;margin:0 auto;border-radius:50%;background:var(--brand);color:#fff;font-size:2rem;line-height:3.75rem}.kk-done__ref{font-size:1.05rem}.kk-done__ref strong{color:var(--brand)}.kk-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.65rem}.kk-choice{border:1.5px solid var(--border);background:var(--bg);border-radius:var(--radius-md);padding:1rem .85rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;text-align:left;font:inherit;color:var(--text);transition:border-color .15s,background .15s}.kk-choice:hover{border-color:var(--brand)}.kk-choice.is-selected{border-color:var(--brand);background:var(--brand-faint)}.kk-choice__name{font-weight:600}.kk-choice__note{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700;color:var(--brand-light)}.kk-field{display:grid;gap:.4rem}.kk-label{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;color:var(--text)}.kk-input{width:100%;padding:.7rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);font:inherit;font-family:var(--font-body);color:var(--text);transition:border-color .15s,box-shadow .15s}.kk-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #31522e1f}.kk-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.kk-check{display:inline-flex;gap:.55rem;align-items:flex-start;line-height:1.4;font-size:.95rem}.kk-check input{margin-top:.15rem;accent-color:var(--brand)}.kk-check a{color:var(--brand);text-decoration:underline}.kk-check--block{display:flex;margin:.15rem 0}.kk-packs{display:grid;gap:.6rem}.kk-pack{display:flex;gap:.85rem;align-items:flex-start;border:1.5px solid var(--border);border-radius:var(--radius-md);padding:1rem;cursor:pointer;transition:border-color .15s,background .15s}.kk-pack input{margin-top:.15rem;width:1.2rem;height:1.2rem;accent-color:var(--brand);flex:none}.kk-pack.is-selected{border-color:var(--brand);background:var(--brand-faint)}.kk-pack:hover{border-color:var(--brand)}.kk-pack__body{display:grid;gap:.15rem;flex:1}.kk-pack__title{font-weight:600}.kk-pack__desc{color:var(--text-muted);font-size:.9rem;line-height:1.4}.kk-pack__price{font-family:var(--font-display);font-weight:700;color:var(--brand);white-space:nowrap}.kk-subform{display:grid;gap:.6rem;padding:1rem;background:var(--bg-alt);border:1.5px solid var(--border);border-radius:var(--radius-md)}.kk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.5rem}.kk-slot{display:flex;align-items:center;justify-content:center;gap:.35rem;border:1.5px solid var(--border);border-radius:var(--radius);padding:.55rem .5rem;font-size:.9rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.kk-slot input{display:none}.kk-slot:hover{border-color:var(--brand)}.kk-slot.is-selected{background:var(--brand);border-color:var(--brand);color:#fff}.kk-summary{border:1.5px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.kk-summary__row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--border)}.kk-summary__row:last-child{border-bottom:0}.kk-summary__row--total{background:var(--brand-faint);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-size:1.05rem}.kk-summary__row--total strong{color:var(--brand)}.kk-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem}.kk-nav .btn:disabled,.kk-nav .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.kk-error{color:#c53030;font-size:.85rem;margin:0}.kk-error--global{background:#fdf3f3;border:1.5px solid #e7b8b8;border-radius:var(--radius);padding:.65rem 1rem}.kk-sticky-cta--call-only{left:50%;right:auto;transform:translate(-50%);width:auto;min-width:11rem}@media (prefers-reduced-motion: reduce){.kk-wizard__bar span,.kk-choice,.kk-pack,.kk-slot,.kk-input{transition:none}.kk-booking__skeleton-bar{animation:none}}
