.kf-configure{padding:54px 0 80px;background:var(--cream,#fff8f0)}
.kf-booking-panel{background:#fff;border:1px solid #efe3d8;border-radius:16px;padding:28px}
.kf-booking-photo{width:100%;height:auto;max-height:430px;object-fit:cover;border-radius:16px}
.kf-booking-thumb{width:100%;height:100px;object-fit:cover;border-radius:8px}
.kf-booking-title{font-size:2rem;margin:12px 0}
.kf-booking-description{white-space:pre-line;overflow-wrap:anywhere}
.kf-lot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kf-lot-option{border:1px solid #c5d9ce;background:#f6fcf8;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}
.kf-lot-option:has(input:checked){border:2px solid var(--primary,#e8281a);padding:13px;background:#fff8f0}
.kf-lot-option label{cursor:pointer}.kf-lot-option input[type=checkbox]{accent-color:var(--primary,#e8281a);width:18px;height:18px;vertical-align:middle}
.kf-lot-option span{font-size:.75rem;color:#356b46}.kf-lot-option.is-unavailable{background:#f2f2f2;border-color:#ddd;color:#777}.kf-lot-option.is-unavailable span{color:#777}
.kf-price-preview{background:#fff8f0;border-radius:10px;padding:20px}.kf-price-preview .mprice{font-size:1.8rem;margin:8px 0}
.kf-booking-panel .fctrl{width:100%}.kf-booking-panel .btn-red{border:0;justify-content:center}.kf-booking-panel button:disabled{opacity:.65}
@media(max-width:575px){.kf-booking-panel{padding:20px}.kf-configure{padding-top:30px}.kf-lot-grid{grid-template-columns:1fr}.kf-booking-title{font-size:1.7rem}}
