.bf-booking-shell { max-width: 980px; margin: 2.5rem auto; padding: clamp(1.25rem, 4vw, 3rem); color: #171316; background: #f5d7d7; }
.bf-booking-intro { max-width: 560px; margin-bottom: 2rem; }
.bf-booking-label { color: #bc2345; font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.bf-booking-intro h2, .bf-empty-state h2 { margin: .7rem 0 1rem; font: 500 clamp(2.6rem, 6vw, 5rem)/.86 "Cormorant Garamond", Georgia, serif; letter-spacing: -.05em; text-transform: uppercase; }
.bf-booking-intro p, .bf-empty-state p { max-width: 500px; color: #684b57; }
.bf-booking-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.bf-booking-grid label, .bf-booking-lookup label { display: grid; gap: .45rem; color: #601c2e; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bf-booking-grid label span b { color: #bc2345; }
.bf-booking-grid input, .bf-booking-grid select, .bf-booking-grid textarea, .bf-booking-lookup input { width: 100%; padding: .9rem 1rem; border: 1px solid rgba(23,19,22,.25); border-radius: 0; color: #171316; background: rgba(255,255,255,.65); font: inherit; letter-spacing: 0; text-transform: none; }
.bf-booking-grid textarea { resize: vertical; }
.bf-booking-wide { grid-column: 1 / -1; }
.bf-booking-form .button, .bf-booking-lookup .button { border: 1px solid #171316; cursor: pointer; }
.bf-form-message { margin: 0 0 1.5rem; padding: 1rem 1.15rem; font-size: .9rem; }
.bf-form-error { color: #7c1a30; background: #f4c0ca; }
.bf-form-success { color: #17402d; background: #c9ead9; }
.bf-booking-lookup { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; margin: 2rem 0; }
.bf-booking-list { border-top: 1px solid rgba(23,19,22,.25); }
.bf-booking-list article { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(23,19,22,.2); }
.bf-booking-list article span { color: #bc2345; font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }
.bf-booking-list h3, .bf-treatment-card h3 { margin: .35rem 0 0; font: 500 2rem/.9 "Cormorant Garamond", Georgia, serif; text-transform: uppercase; }
.bf-booking-list p { margin: 0; color: #684b57; font-size: .78rem; }
.bf-treatment-menu { border-top: 1px solid rgba(23,19,22,.22); }
.bf-treatment-card { display: flex; justify-content: space-between; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(23,19,22,.22); }
.bf-treatment-card p { max-width: 520px; margin: .65rem 0 0; color: #665960; font-size: .88rem; }
.bf-treatment-index { color: #bc2345; font: italic 1.3rem "Cormorant Garamond", Georgia, serif; }
.bf-treatment-meta { display: flex; flex-direction: column; justify-content: space-between; align-items: end; gap: 1rem; min-width: 110px; color: #bc2345; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.bf-treatment-meta a { font-weight: 700; }
.bf-empty-state { padding: 2rem 0; }
.bf-registration-shell { max-width: 980px; margin: 2.5rem auto; padding: clamp(1.25rem, 4vw, 3rem); color: #171316; background: #f8f3ef; border: 1px solid rgba(23,19,22,.12); }
.bf-registration-intro { max-width: 640px; margin-bottom: 2rem; }
.bf-registration-intro h2 { margin: .7rem 0 1rem; font: 500 clamp(2.6rem, 6vw, 5rem)/.86 "Cormorant Garamond", Georgia, serif; letter-spacing: -.05em; text-transform: uppercase; }
.bf-registration-intro h2 em { font-style: italic; font-weight: 400; }
.bf-registration-intro p { max-width: 590px; color: #684b57; }
.bf-registration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.bf-registration-grid label { display: grid; gap: .45rem; color: #601c2e; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bf-registration-grid label span b { color: #bc2345; }
.bf-registration-grid input, .bf-registration-grid select, .bf-registration-grid textarea { width: 100%; padding: .9rem 1rem; border: 1px solid rgba(23,19,22,.25); border-radius: 0; color: #171316; background: rgba(255,255,255,.78); font: inherit; letter-spacing: 0; text-transform: none; }
.bf-registration-grid textarea { resize: vertical; }
.bf-registration-wide { grid-column: 1 / -1; }
.bf-registration-consent { display: flex !important; grid-template-columns: none; align-items: flex-start; gap: .7rem !important; color: #684b57 !important; font-size: .75rem !important; font-weight: 400 !important; letter-spacing: 0 !important; line-height: 1.5; text-transform: none !important; }
.bf-registration-consent input { width: auto; flex: 0 0 auto; margin-top: .25rem; }
.bf-registration-trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.bf-registration-form .button { border: 1px solid #171316; cursor: pointer; }
@media (max-width: 680px) { .bf-booking-grid, .bf-booking-lookup { grid-template-columns: 1fr; } .bf-booking-wide { grid-column: auto; } .bf-treatment-card, .bf-booking-list article { display: block; } .bf-treatment-meta { flex-direction: row; align-items: center; margin-top: 1rem; } }
@media (max-width: 680px) { .bf-registration-grid { grid-template-columns: 1fr; } .bf-registration-wide { grid-column: auto; } }
