.book-public{--book-bg:#f2ebe2;--book-bg-deep:#e8dfd3;--book-surface:#fffdf9;--book-surface-hover:#faf6ef;--book-ink:#1c1917;--book-ink-muted:#57534e;--book-ink-subtle:#78716c;--book-accent:#4a3f35;--book-accent-hover:#3d342c;--book-gold:#9a7b4f;--book-gold-soft:rgba(154,123,79,0.15);--book-border:#ddd2c4;--book-border-strong:#c9bba8;--book-success:#2f6f44;--book-success-soft:#e8f3eb;--book-error:#b91c1c;--book-error-soft:#fef2f2;--book-radius:8px;--book-radius-lg:14px;--book-radius-xl:20px;--book-shadow:0 4px 24px rgba(28,25,23,0.06);--book-shadow-lg:0 16px 48px rgba(28,25,23,0.08);min-height:100vh;background:var(--book-bg);color:var(--book-ink);font-family:var(--font-outfit),ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.book-public .heading-display{font-family:var(--font-cormorant),"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:.03em;color:var(--book-ink)}.book-public .card{background:var(--book-surface);border:1px solid var(--book-border);border-radius:var(--book-radius-lg);box-shadow:var(--book-shadow)}.book-public .input{border-color:var(--book-border);background:var(--book-surface);color:var(--book-ink)}.book-public .input:focus{outline:none;border-color:var(--book-gold);box-shadow:0 0 0 3px var(--book-gold-soft)}.book-public .input::placeholder{color:var(--book-ink-subtle)}.book-public .label{color:var(--book-ink-muted);font-weight:500;letter-spacing:.02em}.book-public .btn-primary{background:var(--book-accent);color:#fff;border:none}.book-public .btn-primary:hover:not(:disabled){background:var(--book-accent-hover)}.book-public .btn-primary:disabled{opacity:.5}.book-public .btn-secondary{background:var(--book-surface);color:var(--book-ink);border:1px solid var(--book-border-strong)}.book-public .btn-secondary:hover:not(:disabled){background:var(--book-surface-hover);border-color:var(--book-ink-subtle)}.book-public-hero{background:linear-gradient(165deg,var(--book-surface) 0,var(--book-bg-deep) 45%,var(--book-bg) 100%);border-bottom:1px solid var(--book-border)}.book-public-hero-accent{height:3px;background:linear-gradient(90deg,var(--book-gold),#c4a574,var(--book-gold))}.book-room-card{display:block;width:100%;text-align:left;padding:1rem 1.125rem;border-radius:var(--book-radius);border:2px solid var(--book-border);background:var(--book-surface);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.book-room-card:hover{border-color:var(--book-border-strong);background:var(--book-surface-hover)}.book-room-card--selected{border-color:var(--book-gold);background:var(--book-surface-hover);box-shadow:0 0 0 1px var(--book-gold-soft)}.book-section-title{font-family:var(--font-cormorant),"Cormorant Garamond",Georgia,serif;font-size:1.25rem;font-weight:600;letter-spacing:.04em;color:var(--book-ink);margin-bottom:.75rem}.book-section-kicker{font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--book-gold);margin-bottom:.35rem}.book-stepper-btn{height:2.75rem;width:2.75rem;border-radius:var(--book-radius);border:1px solid var(--book-border-strong);background:var(--book-surface);color:var(--book-ink);font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.book-stepper-btn:hover:not(:disabled){background:var(--book-surface-hover);border-color:var(--book-gold)}.book-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.book-stepper-value{min-width:3rem;height:2.75rem;align-items:center;justify-content:center;font-weight:600;font-size:1.0625rem;color:var(--book-ink)}.book-check,.book-stepper-value{border-radius:var(--book-radius);border:1px solid var(--book-border);background:var(--book-surface);display:flex}.book-check{align-items:flex-start;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:border-color .15s,background .15s}.book-check:hover{border-color:var(--book-border-strong);background:var(--book-surface-hover)}.book-check input[type=checkbox]{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--book-gold);cursor:pointer}.book-banner{border-radius:var(--book-radius);padding:.875rem 1rem;font-size:.9375rem;line-height:1.45}.book-banner--success{background:var(--book-success-soft);color:var(--book-success);border:1px solid rgba(47,111,68,.2)}.book-banner--error{background:var(--book-error-soft);color:var(--book-error);border:1px solid rgba(185,28,28,.2)}.book-banner--neutral{background:var(--book-surface);border:1px solid var(--book-border);color:var(--book-ink-muted)}