.bf-page{max-width:520px;margin:0 auto;min-height:100vh;background:var(--surface);border-left:1px solid var(--line);border-right:1px solid var(--line)}@media (max-width:540px){.bf-page{border:none}}.bf-header{padding:20px 20px 16px;border-bottom:1px solid var(--line);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;z-index:10}.bf-brand{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.bf-brand h1{font-family:Fraunces,serif;font-size:22px;font-weight:500;margin:0}.bf-step-name{font-size:12px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em}.bf-steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.bf-step{height:3px;background:var(--line);border-radius:2px;transition:background .3s}.bf-step.done{background:var(--ink)}.bf-step.active{background:var(--accent)}.bf-trailer-card{margin:16px 20px 0;padding:14px 16px;background:var(--bg);border-radius:var(--radius-lg);display:flex;align-items:center;gap:14px}.bf-trailer-icon{width:48px;height:48px;background:var(--accent);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.bf-trailer-info h2{margin:0;font-family:Fraunces,serif;font-size:17px;font-weight:500}.bf-trailer-info p{margin:2px 0 0;font-size:13px;color:var(--ink-soft)}.bf-main{padding:24px 20px 100px}.bf-section-title{font-family:Fraunces,serif;font-size:20px;font-weight:500;margin:0 0 4px}.bf-section-hint{font-size:13px;color:var(--ink-soft);margin:0 0 20px}.bf-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.bf-cal-month{font-family:Fraunces,serif;font-size:17px;font-weight:500}.bf-cal-btn{width:36px;height:36px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink)}.bf-cal-btn:hover{border-color:var(--ink)}.bf-cal-btn:disabled{opacity:.3;cursor:not-allowed}.bf-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:6px}.bf-cal-weekdays span{text-align:center;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.05em;padding:6px 0}.bf-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.bf-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .12s}.bf-day:hover:not(.booked):not(.past):not(.empty){border-color:var(--ink)}.bf-day.empty{border:none;cursor:default}.bf-day.past{background:transparent}.bf-day.booked,.bf-day.past{color:var(--ink-mute);border-color:transparent;cursor:not-allowed}.bf-day.booked{background:var(--busy-bg);text-decoration:line-through}.bf-day.in-range{background:var(--warn-bg);border-color:var(--accent)}.bf-day.selected{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:500}.bf-cal-legend{display:flex;gap:16px;margin-top:16px;font-size:12px;color:var(--ink-soft);flex-wrap:wrap}.bf-cal-legend>div{display:flex;align-items:center;gap:6px}.swatch{width:12px;height:12px;border-radius:3px;border:1px solid var(--line);display:inline-block}.swatch.busy{background:var(--busy-bg);border-color:transparent}.swatch.free{background:var(--surface)}.swatch.sel{background:var(--accent);border-color:var(--accent)}.bf-range-summary{margin-top:18px;padding:14px 16px;background:var(--bg);border-radius:var(--radius-lg);display:flex;justify-content:space-between;align-items:center;font-size:14px}.bf-label{color:var(--ink-soft);font-size:12px}.bf-value{font-weight:500}.bf-total{font-size:17px;font-family:Fraunces,serif}.bf-range-summary.empty{color:var(--ink-mute);text-align:center;justify-content:center}.bf-slots{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}@media (max-width:380px){.bf-slots{grid-template-columns:repeat(2,1fr)}}.bf-slot{padding:14px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:center;font-size:14px;font-weight:500;transition:all .12s}.bf-slot:hover:not(.disabled):not(.taken){border-color:var(--ink)}.bf-slot.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.bf-slot.disabled,.bf-slot.taken{background:var(--busy-bg);color:var(--ink-mute);text-decoration:line-through;cursor:not-allowed;border-color:transparent}.bf-slot-day-label{margin:24px 0 10px;font-size:13px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.bf-slot-day-label:first-of-type{margin-top:0}.bf-no-slots{grid-column:1/-1;padding:20px;text-align:center;color:var(--ink-mute);font-size:13px}.bf-row{display:grid;grid-gap:10px;gap:10px}.bf-row.cols-2{grid-template-columns:1fr 1fr}.bf-row.street{grid-template-columns:2fr 1fr}.bf-row.zip{grid-template-columns:1fr 2fr}.bf-checkbox{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-soft);cursor:pointer;padding:10px 0}.bf-checkbox input{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:var(--ink)}.bf-checkbox a{color:var(--ink);text-decoration:underline}.bf-info-box{background:var(--ok-bg);border-left:3px solid var(--ok);padding:12px 14px;border-radius:var(--radius);font-size:13px;margin-top:12px}.bf-info-box strong{display:block;margin-bottom:4px;font-family:Fraunces,serif;font-size:15px;font-weight:500}.bf-confirm-icon{width:64px;height:64px;border-radius:50%;background:var(--ok-bg);margin:0 auto 20px;display:flex;align-items:center;justify-content:center}.bf-confirm-title{font-family:Fraunces,serif;font-size:24px;font-weight:500;text-align:center;margin:0 0 8px}.bf-confirm-sub{text-align:center;color:var(--ink-soft);font-size:14px;margin:0 0 24px}.bf-receipt{background:var(--bg);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:16px}.bf-receipt .row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;border-bottom:1px dashed var(--line-strong);gap:12px}.bf-receipt .row .k{color:var(--ink-soft);flex-shrink:0}.bf-receipt .row.deposit{border:none;padding:8px 0 4px;font-size:13px;color:var(--ink-soft)}.bf-receipt .row.total{border:none;padding-top:14px;margin-top:4px;border-top:1px solid var(--ink);font-weight:500;font-size:16px}.bf-next-steps{background:var(--warn-bg);border-radius:var(--radius-lg);padding:16px 20px;font-size:13px}.bf-next-steps strong{display:block;margin-bottom:8px;font-family:Fraunces,serif;font-size:15px;font-weight:500}.bf-next-steps ol{margin:0;padding-left:20px;color:var(--ink-soft)}.bf-next-steps li{margin-bottom:4px}.bf-actions{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:14px 20px calc(14px + env(safe-area-inset-bottom));display:flex;gap:10px;z-index:5}.bf-actions-inner{max-width:480px;margin:0 auto;display:flex;gap:10px;width:100%}.bf-actions .btn{padding:14px 20px;font-size:15px;flex:1 1}.bf-actions .btn-primary{flex:2 1}