[hidden]{display:none!important}.book-page{padding:2em 16px 5em;max-width:var(--max-content-width);margin:0 auto;width:100%;min-height:80vh}.stepper-list{display:flex;align-items:flex-start;justify-content:center;list-style:none;padding:0;margin:0 auto 3em;max-width:640px}.step{display:flex;flex-direction:column;align-items:center;gap:.75em;min-width:90px}.step-icon{display:grid;place-items:center;width:3.4em;height:3.4em;border:1px solid var(--text-primary);border-radius:50%;color:var(--text-primary);background:transparent;cursor:pointer;padding:0;transition:background-color .3s ease,color .3s ease}.step.active .step-icon{background:var(--text-primary);color:var(--bg-primary)}.step-label{font-family:var(--font-headings);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;text-align:center;color:var(--heading-ink)}.step-line{flex:1;height:1px;background:var(--text-primary);margin-top:1.7em}.panel-title{text-align:center;text-transform:uppercase;font-size:1rem;letter-spacing:.04em;margin:0 0 1.5em;outline:none}.book-pill{margin-top:1.5em}.book-pill:disabled{opacity:.4;cursor:default;pointer-events:none}.back-link{display:inline-block;background:none;border:none;color:var(--text-primary);text-decoration:underline;cursor:pointer;font:inherit;padding:.5em 0;margin-bottom:1em}.service-rows{max-width:760px;margin:0 auto;padding:0;list-style:none}.service-row{border-bottom:1px solid rgb(255 255 255 / 25%);padding:1.25em 0}.row-top{display:flex;justify-content:space-between;align-items:center;gap:1em}.row-name{margin:0;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere}.row-meta{font-family:var(--font-headings);font-weight:800;font-size:.9rem;margin:.35em 0 0;color:var(--heading-ink)}.row-deposit{font-size:.8rem;margin:.25em 0 0;color:var(--text-primary-50)}.row-option{font-size:.85rem;margin:.35em 0 0}.row-option button{background:none;border:none;color:var(--text-primary);text-decoration:underline;cursor:pointer;font:inherit;padding:0}.row-details{margin-top:.5em;font-size:.9rem}.row-details summary{cursor:pointer;color:var(--text-primary-50)}.row-details p{white-space:pre-line;line-height:1.6;margin:.5em 0 0}.row-btn{flex-shrink:0;padding:.6em 2em;min-height:44px}.row-btn.selected{background-color:var(--text-primary);color:var(--bg-primary)}.step1-footer{max-width:760px;margin:1.5em auto 0;display:flex;align-items:center;justify-content:space-between;gap:1em;flex-wrap:wrap}.step1-totals{font-family:var(--font-headings);font-weight:800;color:var(--heading-ink)}.calendar{max-width:420px;margin:0 auto}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5em}.cal-month{font-family:var(--font-headings);font-weight:800;color:var(--heading-ink)}.cal-arrow{background:none;border:none;color:var(--text-primary);font-size:1.6rem;cursor:pointer;padding:.2em .6em;min-width:44px;min-height:44px}.cal-arrow:disabled{opacity:.35;cursor:default}.cal-table{width:100%;border-collapse:collapse;user-select:none}.cal-table th{font-size:10px;font-weight:500;padding:2px .5rem 8px;color:#ffffffb3}.cal-table td{text-align:center;padding:0;border-top:1px solid rgb(255 255 255 / 10%);border-bottom:1px solid rgb(255 255 255 / 10%)}.cal-table button{width:100%;border:0;background:transparent;color:var(--text-primary);padding:12px 8px;min-height:44px;cursor:pointer;font:inherit}.cal-table button:disabled{color:#ffffff4d;background:#00000026;cursor:default}.cal-table button.selected{background:#cc4b80;color:#fff}.cal-table button:focus-visible{outline:2px solid var(--accent-yellow);outline-offset:-2px}.cal-loading .cal-table{opacity:.35;pointer-events:none}.cal-message{text-align:center;margin:1.5em 0 0}.slots{max-width:420px;margin:2em auto 0;text-align:center}.slots-title{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35em}.slots-tz{font-size:.8rem;color:var(--text-primary-50);margin:0 0 1em}.slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6em}@media(min-width:580px){.slots-grid{grid-template-columns:repeat(3,1fr)}}.slots-grid button{border:1px solid var(--text-primary);border-radius:24px;background:transparent;color:var(--text-primary);padding:.7em .5em;min-height:44px;cursor:pointer;font:inherit;transition:background-color .3s ease,color .3s ease}.slots-grid button.selected,.slots-grid button:hover{background:var(--text-primary);color:var(--bg-primary)}.slot-skeleton{border-radius:24px;min-height:44px;background:#ffffff26;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.next-btn{display:block;margin:2.5em auto 0}.details-layout{display:flex;flex-direction:column;gap:2em;max-width:960px;margin:0 auto}@media(min-width:768px){.details-layout{flex-direction:row;align-items:flex-start}.details-main{flex:1.4}}.details-form{display:flex;flex-direction:column;text-align:left}.form-field{position:relative;display:flex;flex-direction:column;border:1px solid var(--text-tertiary-50);border-radius:30px;background:var(--bg-primary-25);margin:0 0 1.25em;overflow:hidden}.field-label{position:absolute;top:1.05rem;left:1rem;transition:all .2s ease;pointer-events:none}.form-field:focus-within .field-label,.form-field:has(input:not(:placeholder-shown)) .field-label{font-size:.75rem;top:.5rem}.form-field input{background:transparent;border:none;color:var(--text-primary);font-size:16px;padding:0;margin:2rem 1rem .75rem;outline:none}.form-field input:-webkit-autofill,.form-field input:-webkit-autofill:hover,.form-field input:-webkit-autofill:focus,.form-field input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);transition:background-color 100000s ease-in-out 0s}.form-field.error{border-color:var(--text-error)}.check-row{display:flex;gap:.75em;align-items:flex-start;font-size:.9rem;margin-bottom:1.25em;cursor:pointer}.check-row input{appearance:none;-webkit-appearance:none;flex-shrink:0;margin:.1em 0 0;width:1.35rem;height:1.35rem;border:0;border-radius:7px;background:transparent;box-shadow:inset 0 0 0 2px #fff;cursor:pointer;display:grid;place-content:center}.check-row input:before{content:"";width:.85rem;height:.85rem;background:#151619;transform:scale(0);transition:transform .12s cubic-bezier(.32,.72,0,1);clip-path:polygon(14% 47%,3% 60%,38% 92%,97% 20%,85% 10%,37% 68%)}.check-row input:checked{background:#fff;box-shadow:none}.check-row input:checked:before{transform:scale(1)}.check-row input:focus-visible{outline:2px solid var(--accent-yellow);outline-offset:2px}.check-row[data-ready-row] input:checked{box-shadow:none;background:linear-gradient(135deg,#e63946,#f4791f 19%,#ffd23f 37%,#2a9d3f,#1d6ef5 75%,#8a3ffc);animation:ready-pop .4s cubic-bezier(.34,1.56,.64,1)}.check-row[data-ready-row] input:checked:before{background:#fff}@keyframes ready-pop{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}.ready-ch{display:inline-block;white-space:pre}.check-row[data-ready-row] input:checked~.ready-text .ready-ch{animation:ready-wave .5s cubic-bezier(.36,.07,.19,.97) both,ready-glint 2.8s linear infinite;animation-delay:calc(var(--i) * 24ms),calc(.9s + var(--i) * 35ms)}@keyframes ready-wave{0%{transform:translateY(0)}45%{transform:translateY(-.4em);color:#ffd76a}to{transform:translateY(0);color:#ffd76a}}@keyframes ready-glint{0%,22%,to{color:#e8b93a}6%{color:#fff8dc}12%{color:#ffe9a8}}@media(prefers-reduced-motion:reduce){.check-row[data-ready-row] input:checked~.ready-text .ready-ch{animation:none;color:#ffd76a}.check-row[data-ready-row] input:checked~.ready-text{animation:none;background-image:none}.check-row[data-ready-row] input:checked{animation:none}.check-row input:before{transition:none}}.check-row a{text-decoration:underline}.check-row.error span{color:var(--accent-yellow)}.card-section{border:1px solid var(--text-tertiary-50);border-radius:20px;padding:1.25em 1.5em;margin-bottom:1.5em}.card-section-title{font-family:var(--font-headings);font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.04em;margin:0 0 .5em;color:var(--heading-ink)}.card-section-sub{font-size:.95rem;line-height:1.45;margin:0 0 1.25em;color:var(--text-primary)}.payment-mount{min-height:40px}.payment-mount.live{background:#fff;border-radius:12px;padding:12px}.card-placeholder-box{border:1px dashed var(--text-tertiary-50);border-radius:10px;padding:.9em 1em;letter-spacing:.2em;color:var(--text-primary-50)}.deposit-line{margin:1em 0 0;font-size:.9rem;font-weight:700}.booking-error{margin:1.25em 0 0;padding:.85em 1em;border:1px solid rgb(255 255 255 / 55%);border-radius:12px;background:#0000001f;font-size:.95rem;font-weight:700;line-height:1.4}.order-summary{border:1px solid rgb(255 255 255 / 30%);border-radius:20px;padding:1.5em}.order-summary-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 1em;font-family:var(--font-headings);font-weight:800;color:var(--heading-ink)}.summary-items{list-style:none;padding:0;margin:0 0 1em}.summary-items li{display:flex;justify-content:space-between;gap:1em;padding:.45em 0;border-bottom:1px solid rgb(255 255 255 / 15%);font-size:.9rem}.summary-line{display:flex;justify-content:space-between;padding:.3em 0;font-size:.95rem}.summary-line strong{font-family:var(--font-headings);color:var(--heading-ink)}.summary-when{margin:0 0 1em;font-weight:700}.summary-note{font-size:.75rem;color:var(--text-primary-50);margin:.75em 0 0}.summary-collapsible{border:1px solid rgb(255 255 255 / 30%);border-radius:20px;padding:.5em 1em;margin-bottom:1.5em}.summary-collapsible summary{cursor:pointer;padding:.5em 0;font-family:var(--font-headings);font-weight:800;color:var(--heading-ink)}.summary-collapsible .order-summary{border:none;padding:.5em 0 1em}.confirm-panel{max-width:640px;margin:0 auto;text-align:center}.demo-banner{background:#00000040;border:1px solid var(--accent-yellow);color:var(--accent-yellow);border-radius:12px;padding:.9em 1.2em;font-size:.9rem;margin:0 0 2em}.confirm-title{font-size:2rem;text-transform:uppercase;margin:0 0 1em}.confirm-card{border:1px solid rgb(255 255 255 / 30%);border-radius:20px;padding:1.5em;text-align:left;margin-bottom:1.5em}.confirm-card h3{margin:0 0 .75em;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}.confirm-when{font-size:1.15rem;font-weight:700;margin:0 0 .5em}.confirm-addr a{text-decoration:underline}.confirm-actions{display:flex;flex-wrap:wrap;gap:1em;justify-content:center;margin:1.5em 0}.confirm-actions .pill-btn{margin:0}.expect-list{text-align:left;line-height:1.7;padding-left:1.2em}.manage-link{text-decoration:underline}.manage-dialog{border:0;border-radius:.75rem;padding:2em 1.5em;max-width:26rem;width:90%;background:#fff;color:#151619;text-align:center}.manage-dialog::backdrop{background:#000c}.manage-dialog h3{margin-top:0}.fee-warning{background:#fdeaea;border:1px solid #d80f0f;color:#990b0b;border-radius:10px;padding:.8em 1em;font-size:.9rem;margin:1em 0}.fee-none{background:#eaf7ea;border-color:#4dae51;color:#2c6e2f}.dialog-actions{display:flex;gap:1em;justify-content:center;margin-top:1.5em;flex-wrap:wrap}.dialog-actions .pill-btn{margin:0;border-color:#151619;color:#151619}.dialog-actions .pill-btn:hover{background:#151619;color:#fff}.dialog-actions .danger{background:#d80f0f;border-color:#d80f0f;color:#fff}.dialog-actions .danger:hover{background:#990b0b;border-color:#990b0b;color:#fff}@media(max-width:580px){.book-page{padding-top:1.5em}.step-label{font-size:.65rem}.step{min-width:70px}.confirm-actions .pill-btn{width:100%;text-align:center}}
