/* Форма брони (js/booking.js) — на главной и на странице booking/. Цвета и шрифт — переменные
   страницы: --bg --card --fg --fg2 --mut --moon --line2 --d; кнопки — её .btn / .btn.p. */
.bf{display:flex;flex-direction:column;gap:22px}
.bf[hidden],.bf-done[hidden]{display:none}
.bf fieldset{border:0;margin:0;padding:0;min-width:0}
.bf .lbl{display:block;padding:0;margin-bottom:8px;font-size:13px;color:var(--mut)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--fg);font:500 14px Onest,system-ui,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.chip:hover{border-color:var(--fg)}
.chip[aria-pressed="true"]{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.bf-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:14px}
.bf-2s{grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr))} /* время и гости — в строку и на телефоне */
.bf .in{display:block;width:100%;height:52px;border-radius:14px;border:1px solid var(--line2);background:#0e0c13;color:var(--fg);padding:0 16px;font:400 16px Onest,system-ui,sans-serif;color-scheme:dark;outline:none;transition:border-color .2s}
.bf .in:focus{border-color:var(--moon)}
.bf .in[hidden]{display:none}
.bf select.in{appearance:none;-webkit-appearance:none;padding-right:42px;cursor:pointer;background:#0e0c13 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23a7a1b0' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center}
.bf select.in:disabled{opacity:.5;cursor:default}
.bf textarea.in{height:auto;min-height:88px;padding:13px 16px;resize:vertical;line-height:1.45}
.bf-other{margin-top:10px}
.bf-note{margin-top:-10px;font-size:14px;color:var(--mut)}
.bf-note[hidden]{display:none}
.bf-addc{background:none;border:0;padding:4px 0;color:var(--fg2);font:500 14px Onest,system-ui,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line2)}
.bf-addc:hover{color:var(--moon)}
.bf-addc[hidden]{display:none}
.bf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--mut);cursor:pointer}
.consent input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--moon)}
.consent a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.bf-err{min-height:1.2em;margin:-8px 0 -8px;color:#ff8a7a;font-size:14px}
.bf-go{width:100%;height:58px;font-size:16px}
.bf-done{text-align:center;padding:24px 0}
.bf-ok{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:rgba(235,203,139,.14);display:grid;place-items:center}
.bf-ok svg{width:30px;height:30px;fill:none;stroke:var(--moon);stroke-width:2}
.bf-done h3{font:300 30px/1.15 var(--d);margin-bottom:12px}
.bf-done p{max-width:420px;margin:0 auto 26px;color:var(--fg2)}
/* Окно «Правила заведения» перед отправкой; на телефоне — шторка снизу */
.bf-dlg{width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);margin:auto;padding:0;border:1px solid var(--line2);border-radius:28px;background:var(--card);color:var(--fg);box-shadow:0 30px 100px rgba(0,0,0,.6)}
.bf-dlg::backdrop{background:rgba(8,7,12,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.bf-dlg[open]{animation:bfin .3s ease}
@keyframes bfin{from{opacity:0;transform:translateY(14px)}}
.bf-dlg-in{padding:36px 36px 32px}
.bf-dlg h2{font:300 28px/1.15 var(--d);margin-bottom:12px}
.bf-sum{display:inline-block;margin-bottom:22px;padding:10px 16px;border-radius:14px;background:rgba(235,203,139,.1);color:var(--moon);font-size:14px;font-weight:500}
.bf-rl{display:flex;flex-direction:column;gap:12px;margin:0 0 28px;padding:0;list-style:none;counter-reset:r}
.bf-rl li{position:relative;padding:14px 16px 14px 52px;border-radius:16px;background:rgba(243,239,232,.04);border:1px solid rgba(243,239,232,.08);color:var(--fg2);font-size:14.5px;line-height:1.5;counter-increment:r}
.bf-rl li:before{content:"0" counter(r);position:absolute;left:16px;top:14px;font:300 15px var(--d);color:var(--moon)}
.bf-rl b{color:var(--fg);font-weight:500}
.bf-act{display:flex;flex-direction:column;gap:10px}
.bf-act .btn{width:100%;height:56px;white-space:normal;text-align:center}
.bf-act .btn:disabled{opacity:.6;cursor:default}
@media(max-width:560px){
  .bf-dlg{width:100%;max-height:92%;margin:auto 0 0;border-radius:28px 28px 0 0;border-bottom:0}
  .bf-dlg-in{padding:28px 20px max(20px,env(safe-area-inset-bottom))}
  .bf-dlg h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.bf-dlg[open]{animation:none}}
