
/* Mbuela Lodge itemized service selection and reservation experience */
.booking-panel:has(.composer-workspace){max-width:1330px}
.composer-workspace{grid-column:1/-1;min-width:0;margin-top:16px;border-top:1px solid #ded9d0;padding-top:28px;width:100%}
.composer-step-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}
.composer-step-heading h3,.composer-basket-head h3,.composer-request-result h3{font-family:var(--lux-serif);font-size:clamp(2.2rem,3vw,3.6rem);line-height:1.04;font-weight:500;margin:4px 0}
.composer-count{font-size:.74rem;font-weight:700;white-space:nowrap;border:1px solid #c9bba7;padding:10px 16px;transition:background .2s}
.composer-updated{background:#e8e0d4}
.composer-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.86fr);gap:36px;align-items:start}
.composer-service-browser{min-width:0}
.composer-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #ddd8d0;margin-bottom:19px}
.composer-category{background:none;border:0;border-bottom:2px solid transparent;padding:12px 14px;font-size:.76rem;font-weight:700;color:#746b61;cursor:pointer}
.composer-category.is-current{border-color:#9c7751;color:#252426}
.composer-service-list{min-height:200px}
.composer-service-card{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:19px 2px;border-bottom:1px solid #e5e0d7}
.composer-service-name{display:block;font-size:.96rem;font-weight:650}
.composer-service-note{font-size:.77rem;display:block;color:#726c65;margin-top:3px}
.composer-service-action{display:flex;align-items:center;gap:15px;flex:0 0 auto}
.composer-unit-price{font-size:.91rem;font-weight:700;color:#2b2927;white-space:nowrap}
.composer-add-button{padding:10px 14px;border:1px solid #35312e;background:#292728;color:#fff;cursor:pointer;font-size:.73rem;letter-spacing:.03em;min-height:40px}
.composer-add-button:hover{background:#75634d}
.composer-small-note,.composer-currency-note{font-size:.74rem;color:#716c65;line-height:1.65}
.composer-small-note{margin:18px 0}
.composer-basket{background:#f4f0e9;border:1px solid #ddd5c9;padding:27px;position:sticky;top:115px;min-width:0}
.composer-basket-head{border-bottom:1px solid #d1c8bb;padding-bottom:18px}
.composer-basket-head h3{font-size:2.8rem}
.composer-base{padding-top:10px}
.composer-line{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #d9d1c5;padding:15px 0;align-items:start}
.composer-line strong{font-size:.86rem;font-weight:700;overflow-wrap:anywhere}
.composer-line small{display:block;color:#766f67;font-size:.72rem;margin-top:5px}
.composer-line-controls{text-align:right;white-space:nowrap}
.composer-quantity{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:9px}
.composer-quantity button{min-width:28px;min-height:30px;background:#fff;border:1px solid #c7bbad;color:#2b2723;cursor:pointer}
.composer-quantity span{font-size:.77rem;min-width:16px;text-align:center;font-weight:750}
.composer-quantity .composer-delete{border-color:transparent;color:#8a5950;background:transparent;font-size:1.25rem}
.composer-empty{font-size:.81rem;color:#756d64;line-height:1.5}
.composer-totals{padding-top:18px}
.composer-total-row{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding:8px 0;font-size:.86rem}
.composer-total-row strong{font-size:1.1rem;white-space:nowrap}
.composer-currency-note{margin:10px 0 14px}
.composer-payment-status{display:flex;align-items:flex-start;gap:11px;border-top:1px solid #c9beb1;padding-top:18px;margin-top:18px}
.composer-payment-dot{display:block;flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#b08d61;margin-top:6px}
.composer-payment-status strong,.composer-payment-status small{display:block}
.composer-payment-status strong{font-size:.82rem}
.composer-payment-status small{font-size:.72rem;color:#6f6860;line-height:1.5;margin-top:4px}
.composer-menu-select{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:10px 0}
.composer-menu-select>label{font-size:.83rem;font-weight:700}
.composer-menu-select>select{min-height:48px;width:100%;padding:9px 12px;border:1px solid #c8c0b6;background:#fff}
.composer-menu-select>.composer-add-button{align-self:flex-start}
.composer-submit{grid-column:1/-1;min-height:54px;font-size:.82rem}
.composer-request-result{padding:25px;background:#f6f1e9;border-left:3px solid #a78458;line-height:1.6;margin-top:18px}
.composer-request-result h3{font-size:2.4rem}
.composer-request-result p{font-size:.85rem;max-width:740px}
.composer-warning{color:#8b3f2a;font-weight:700}
.composer-event-result{margin:20px 0}
.event-form .composer-workspace,.event-form .composer-submit{grid-column:1/-1}
@media(max-width:1050px){.composer-layout{grid-template-columns:minmax(0,1fr)}.composer-basket{position:static}}
@media(max-width:650px){.composer-step-heading{flex-direction:column;align-items:flex-start}.composer-workspace{padding-top:20px}.composer-basket{padding:19px}.composer-service-card{align-items:flex-start;flex-direction:column;gap:10px}.composer-service-action{width:100%;justify-content:space-between}.composer-category{padding:11px 8px;font-size:.7rem}.composer-line{gap:9px}.composer-line strong{font-size:.8rem}.composer-basket-head h3{font-size:2.3rem}}

.composer-menu-search{width:100%;min-height:46px;border:1px solid #bbb2a5;background:#fff;padding:11px 14px;font:inherit;font-size:.89rem}
.composer-add-button:disabled{opacity:.44;cursor:not-allowed}

/* Mandatory pre-payment tax and provider-fee breakdown */
.composer-payment-channel{display:flex;flex-direction:column;gap:7px;margin:20px 0 2px;border-top:1px solid #d1c8bb;padding-top:19px}
.composer-payment-channel label{font-size:.84rem;font-weight:700;letter-spacing:.015em}
.composer-payment-channel select{font:inherit;font-size:.82rem;color:#2e2a27;min-height:43px;width:100%;border:1px solid #cbbfaf;background:white;padding:8px 10px;border-radius:2px}
.composer-payment-channel p{font-size:.73rem;color:#6e655d;line-height:1.5;margin:0}
.composer-currency-block{border-bottom:1px solid #d5c9bb;padding:15px 0}
.composer-currency-block>.overline{font-weight:750;color:#7a5d39}
.composer-currency-block .composer-total-row{font-size:.78rem;line-height:1.45;align-items:flex-start}
.composer-currency-block .composer-total-row strong{font-size:.85rem;text-align:right}
.composer-currency-block .composer-final-row{font-size:.84rem;border-top:1px solid #c9b9a3;margin-top:12px;padding-top:15px}
.composer-currency-block .composer-final-row strong{font-size:1.05rem;color:#4e3b28}
