.rl-reservation-fields { margin-block:24px; padding-block:24px; border-block:1px solid #e2e8f0; color:#182434; }
.rl-reservation-fields * { box-sizing:border-box; }
.rl-rf-heading { display:grid; gap:6px; }
.rl-rf-heading strong { font-size:16px; }
.rl-rf-heading span,.rl-rf-fixed { font-size:13px; line-height:1.65; color:#526174; }
.rl-rf-fixed { margin-block:14px; }
.rl-rf-builtin { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding-block:12px; }
.rl-rf-builtin strong { flex:1; min-width:90px; font-size:14px; }
.rl-rf-builtin label,.rl-rf-row-actions label { display:flex; align-items:center; gap:7px; font-size:13px; }
.rl-rf-rows { display:grid; gap:12px; margin-block:12px; }
.rl-rf-row { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:14px; padding:18px; background:#f5f7fa; border-radius:12px; }
.rl-rf-row>label { display:grid; gap:7px; min-width:0; font-size:13px; font-weight:600; }
.rl-rf-row input:not([type=checkbox]),.rl-rf-row textarea,.rl-rf-row select { width:100%; min-width:0; padding:10px 12px; font:inherit; color:#182434; background:white; border:1px solid #b8c3d0; border-radius:7px; }
.rl-rf-row textarea { resize:vertical; }
.rl-rf-options,.rl-rf-row-actions { grid-column:1/-1; }
.rl-rf-row-actions { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.rl-reservation-fields button { font:inherit; cursor:pointer; min-height:40px; border-radius:7px; padding:8px 12px; }
.rl-rf-row-actions button { border:0; background:transparent; color:#9a3025; }
.rl-rf-add { width:100%; border:1px solid #b8c3d0; color:#18314f; background:white; }
.rl-rf-add span { margin-inline-start:10px; color:#526174; font-size:12px; }
.rl-reservation-fields :focus-visible { outline:3px solid #4a80c5; outline-offset:3px; }
.rl-reservation-fields :disabled { cursor:default; opacity:.5; }
.rl-rf-error { color:#a32121; font-size:13px; }
.rl-reservation-fields [hidden],#reservation-form .reservation-details-field[hidden] { display:none!important; }
#reservation-form [data-reservation-custom-fields] { display:contents; }
#reservation-form .rl-rf-status { color:#59677b; font-size:11px; font-weight:400; margin-inline-start:5px; }
@media(max-width:520px) { .rl-rf-row { grid-template-columns:minmax(0,1fr); padding:14px; } }
