.bbf-overlay{position:fixed;inset:0;background:#0a1f33d9;backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:2rem 1rem}.bbf-overlay[hidden]{display:none!important}.bbf-modal{background:linear-gradient(180deg,#0a1f33,#0f2942);border:1px solid rgba(201,169,110,.4);border-radius:1.25rem;box-shadow:0 20px 60px #0009;width:100%;max-width:580px;padding:1.75rem 1.5rem;color:#f5f0e8;position:relative;margin:auto 0}@media(min-width:640px){.bbf-modal{padding:2rem 2.25rem}}.bbf-close{position:absolute;top:.85rem;right:.85rem;background:#ffffff14;border:1px solid rgba(201,169,110,.3);color:#f5f0e8;width:2.25rem;height:2.25rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.bbf-close:hover{background:#c9a96e40}.bbf-close svg{width:1.1rem;height:1.1rem}.bbf-title{font-family:Shippori Mincho,serif;font-size:1.5rem;font-weight:600;margin:0 0 .4rem;color:#f5f0e8}.bbf-sub{color:#f5f0e8b3;font-size:.85rem;margin:0 0 1.25rem;line-height:1.5}.bbf-summary{background:#c9a96e1a;border:1px solid rgba(201,169,110,.25);border-radius:.75rem;padding:.85rem 1rem;margin-bottom:1.25rem}.bbf-summary-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#f5f0e899;margin-bottom:.35rem;font-weight:600}.bbf-summary-dates{font-size:1rem;color:#f5f0e8;font-weight:600;margin-bottom:.25rem}.bbf-summary-price{font-size:1.4rem;color:#d9c498;font-weight:800;font-family:Shippori Mincho,serif}.bbf-form{display:grid;gap:1rem}.bbf-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.bbf-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.bbf-field{display:flex;flex-direction:column;gap:.4rem}.bbf-field label{font-size:.8rem;color:#f5f0e8d9;font-weight:600;letter-spacing:.02em}.bbf-req{color:#c9a96e}.bbf-field input,.bbf-field select,.bbf-field textarea{background:#ffffff0f;border:1px solid rgba(201,169,110,.3);border-radius:.5rem;color:#f5f0e8;padding:.65rem .85rem;font-size:.95rem;font-family:inherit;transition:border .15s ease,box-shadow .15s ease,background .15s ease}.bbf-field input::-moz-placeholder,.bbf-field textarea::-moz-placeholder{color:#f5f0e866}.bbf-field input::placeholder,.bbf-field textarea::placeholder{color:#f5f0e866}.bbf-field input:focus,.bbf-field select:focus,.bbf-field textarea:focus{outline:none;border-color:#c9a96e;background:#ffffff1a;box-shadow:0 0 0 3px #c9a96e33}.bbf-field textarea{resize:vertical;min-height:70px}.bbf-field select option{background:#0a1f33;color:#f5f0e8}.bbf-options-label{font-size:.8rem;color:#f5f0e8d9;font-weight:600;letter-spacing:.02em}.bbf-checkbox{display:flex;align-items:center;gap:.7rem;background:#ffffff0f;border:1px solid rgba(201,169,110,.3);border-radius:.5rem;padding:.7rem .85rem;cursor:pointer;transition:border .15s ease,background .15s ease}.bbf-checkbox:hover{background:#ffffff1a}.bbf-checkbox:has(input:checked){border-color:#c9a96e;background:#c9a96e1f}.bbf-checkbox input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:#c9a96e;flex-shrink:0;cursor:pointer}.bbf-checkbox-text{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-size:.92rem;color:#f5f0e8;font-weight:600}.bbf-checkbox-price{color:#d9c498;font-weight:800}.bbf-bbq-note{margin:.4rem 0 0;font-size:.75rem;color:#f5f0e880;line-height:1.4}.bbf-error{background:#d4574d26;color:#f5c5c0;border:1px solid rgba(212,87,77,.45);padding:.65rem .85rem;border-radius:.5rem;font-size:.85rem;margin:0}.bbf-actions{display:flex;gap:.65rem;margin-top:.35rem}.bbf-btn-secondary,.bbf-btn-primary{flex:1;padding:.85rem;border-radius:.6rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .18s ease}.bbf-btn-secondary{background:transparent;border:1px solid rgba(245,240,232,.3);color:#f5f0e8d9}.bbf-btn-secondary:hover{background:#ffffff14;color:#f5f0e8}.bbf-btn-primary{background:linear-gradient(135deg,#d9c498,#c9a96e);border:none;color:#0a1f33;box-shadow:0 4px 14px #c9a96e66;letter-spacing:.03em}.bbf-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #c9a96e8c}.bbf-btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.bbf-secure{text-align:center;color:#f5f0e880;font-size:.75rem;margin:.5rem 0 0}
