.bi-booking-wrapper{--bi-primary:#9e8671;--bi-primary-hover:#7d6a57;--bi-text:#2d2d2d;--bi-label:#444444;--bi-border:#d9d9d9;--bi-border-focus:#9e8671;--bi-bg-field:#ffffff;--bi-bg-card:#ffffff;--bi-placeholder:#aaaaaa;--bi-pin-color:#555555;--bi-radius:6px;--bi-radius-card:12px;--bi-font:inherit;--bi-shadow:0 4px 24px rgba(0,0,0,0.10);--bi-error-color:#d0021b;--bi-success-color:#2e7d32}.bi-booking-wrapper{font-family:var(--bi-font);color:var(--bi-text);box-sizing:border-box}.bi-booking-wrapper *,.bi-booking-wrapper *::before,.bi-booking-wrapper *::after{box-sizing:inherit}.bi-form-card{background:var(--bi-bg-card);border-radius:var(--bi-radius-card);box-shadow:var(--bi-shadow);padding:32px 28px 28px;max-width:560px;margin:0 auto}.bi-form-heading{font-size:1.3rem;font-weight:700;color:var(--bi-text);margin:0 0 22px;padding:0;line-height:1.3}.bi-field-group{margin-bottom:16px}.bi-field-group:last-of-type{margin-bottom:0}.bi-label{display:block;font-size:.82rem;font-weight:500;color:var(--bi-label);margin-bottom:6px;letter-spacing:.01em}.bi-input{width:100%;height:44px;padding:0 14px;border:1px solid var(--bi-border);border-radius:var(--bi-radius);background:var(--bi-bg-field);color:var(--bi-text);font-size:.92rem;font-family:var(--bi-font);outline:none;transition:border-color 0.18s ease,box-shadow 0.18s ease;appearance:none;-webkit-appearance:none}.bi-input::placeholder{color:var(--bi-placeholder);opacity:1}.bi-input:focus{border-color:var(--bi-border-focus);box-shadow:0 0 0 3px rgb(158 134 113 / .18)}.bi-input-padded{padding-left:40px}.bi-select-wrap{position:relative}.bi-select{width:100%;height:44px;padding:0 38px 0 14px;border:1px solid var(--bi-border);border-radius:var(--bi-radius);background:var(--bi-bg-field);color:var(--bi-text);font-size:.92rem;font-family:var(--bi-font);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color 0.18s ease,box-shadow 0.18s ease}.bi-select option[value=""]{color:var(--bi-placeholder)}.bi-select:focus{border-color:var(--bi-border-focus);box-shadow:0 0 0 3px rgb(158 134 113 / .18)}.bi-select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center}.bi-field-row{display:flex;gap:12px;margin-bottom:16px}.bi-field-grow{flex:1 1 auto;margin-bottom:0}.bi-field-fixed{flex:0 0 160px;margin-bottom:0}@media (max-width:480px){.bi-field-row{flex-direction:column}.bi-field-fixed{flex:1 1 auto}}.bi-input-wrap{position:relative}.bi-pin-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--bi-pin-color);pointer-events:none;display:flex;align-items:center}.bi-date-wrap .bi-input{padding-right:42px}.bi-date-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#888;pointer-events:none;display:flex;align-items:center}.bi-input.bi-error,.bi-select.bi-error{border-color:var(--bi-error-color);box-shadow:0 0 0 3px rgb(208 2 27 / .12)}.bi-message{padding:12px 16px;border-radius:var(--bi-radius);font-size:.88rem;line-height:1.5;margin:16px 0 0}.bi-message.bi-message--error{background:#fff0f0;color:var(--bi-error-color);border:1px solid #ffb3b3}.bi-message.bi-message--success{background:#f0fff4;color:var(--bi-success-color);border:1px solid #a3d9a5}.bi-submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;margin-top:22px;padding:0 24px;background:var(--bi-primary);color:#fff;font-size:1rem;font-weight:600;font-family:var(--bi-font);letter-spacing:.02em;border:none;border-radius:var(--bi-radius);cursor:pointer;transition:background 0.2s ease,transform 0.1s ease,box-shadow 0.2s ease}.bi-submit-btn:hover{background:var(--bi-primary-hover);box-shadow:0 4px 12px rgb(158 134 113 / .35)}.bi-submit-btn:active{transform:translateY(1px)}.bi-submit-btn:disabled{opacity:.72;cursor:not-allowed}.bi-btn-spinner{width:18px;height:18px;border:2px solid rgb(255 255 255 / .4);border-top-color:#fff;border-radius:50%;animation:bi-spin 0.7s linear infinite}@keyframes bi-spin{to{transform:rotate(360deg)}}.bi-form-card.bi-submitted .bi-booking-form{display:none}.bi-success-card{text-align:center;padding:20px 0 10px}.bi-success-card .bi-success-icon{font-size:3rem;margin-bottom:12px;display:block}.bi-success-card p{font-size:1rem;color:var(--bi-success-color);line-height:1.6}