/* Savana bookform (30.08.2026, битка 20260830-06) — полна резервациска форма.
   Ги собира потребните информации за вистинска резервација (патници, датуми
   на раѓање, пасоши) — она што Aurora/операторот го бара при book, а старата
   3-полна форма не го прашуваше. Mobile-first: ≤640px е основата. */

.sv-bf-backdrop {
  position: fixed; inset: 0; z-index: 13000;
  background: rgba(15, 15, 20, 0.55);
  display: flex; align-items: flex-end; justify-content: center;
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.sv-bf-modal {
  background: var(--brand-popover-bg, #fff);
  color: var(--brand-text, #1c1c21);
  width: 100%; max-width: 640px;
  max-height: 92vh; display: flex; flex-direction: column;
  border-radius: 18px 18px 0 0;
  border: 1px solid var(--brand-border, #e3e3e8);
  box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.25);
}
@media (min-width: 641px) {
  .sv-bf-backdrop { align-items: center; padding: 24px; }
  .sv-bf-modal { border-radius: 18px; max-height: 88vh; }
}
.sv-bf-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 16px 20px 10px;
}
.sv-bf-title { font-weight: 800; font-size: 1.2rem; }
.sv-bf-price {
  flex-shrink: 0; padding: 6px 14px; border-radius: 999px;
  background: rgba(var(--brand-accent-rgb, 230, 126, 34), 0.12);
  color: var(--brand-accent, #e67e22);
  font-weight: 800; font-size: 0.95rem; white-space: nowrap;
}
.sv-bf-summary {
  padding: 0 20px 10px; font-size: 0.85rem;
  color: var(--brand-text-secondary, #6b6b76);
}
.sv-bf-body { overflow-y: auto; padding: 4px 20px 8px; flex: 1 1 auto; }
.sv-bf-sect {
  font-weight: 800; font-size: 0.78rem; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--brand-accent, #e67e22);
  margin: 14px 0 8px;
}
.sv-bf-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 480px) { .sv-bf-grid.sv-bf-2 { grid-template-columns: 1fr 1fr; } }
.sv-bf-field { display: flex; flex-direction: column; gap: 4px; }
.sv-bf-field label {
  font-size: 0.78rem; font-weight: 600;
  color: var(--brand-text-secondary, #6b6b76);
}
.sv-bf-field label b { color: var(--brand-accent, #e67e22); }
.sv-bf-field input, .sv-bf-field select, .sv-bf-field textarea {
  min-height: 44px; padding: 10px 12px; font-size: 16px;
  border-radius: 12px; border: 1px solid var(--brand-border, #d8d8e0);
  background: var(--brand-input-bg, #fff); color: inherit;
  outline: none; width: 100%; box-sizing: border-box; font-family: inherit;
}
.sv-bf-field textarea { min-height: 64px; resize: vertical; }
.sv-bf-field input:focus, .sv-bf-field select:focus, .sv-bf-field textarea:focus {
  border-color: var(--brand-accent, #e67e22);
}
.sv-bf-pax {
  border: 1px solid var(--brand-border, #e3e3e8); border-radius: 14px;
  padding: 12px; margin-bottom: 10px; position: relative;
}
.sv-bf-pax-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px; font-weight: 700; font-size: 0.85rem;
}
.sv-bf-pax-del {
  border: 0; background: none; color: var(--brand-text-secondary, #6b6b76);
  font-size: 1.1rem; cursor: pointer; min-width: 44px; min-height: 32px;
}
.sv-bf-add {
  min-height: 44px; width: 100%; border-radius: 12px; cursor: pointer;
  border: 1px dashed var(--brand-accent, #e67e22);
  background: none; color: var(--brand-accent, #e67e22);
  font-weight: 700; font-size: 0.85rem;
}
.sv-bf-note {
  font-size: 0.78rem; color: var(--brand-text-secondary, #6b6b76);
  background: rgba(var(--brand-accent-rgb, 230, 126, 34), 0.07);
  border-radius: 10px; padding: 8px 12px; margin-top: 10px;
}
.sv-bf-err {
  color: #c0392b; font-size: 0.82rem; font-weight: 600;
  padding: 8px 12px; border-radius: 10px; background: rgba(192, 57, 43, 0.08);
  margin-top: 10px;
}
.sv-bf-foot {
  display: flex; gap: 10px; padding: 12px 20px 18px;
  border-top: 1px solid var(--brand-border, #eee);
}
.sv-bf-cancel {
  min-height: 46px; padding: 0 18px; border-radius: 12px; border: 0;
  background: rgba(0, 0, 0, 0.07); color: var(--brand-text-secondary, #555);
  font-weight: 600; font-size: 0.85rem; cursor: pointer;
}
.sv-bf-submit {
  flex: 1; min-height: 46px; border-radius: 12px; border: 0; cursor: pointer;
  background: var(--brand-accent-gradient, linear-gradient(90deg, #e67e22, #d35400));
  color: #fff; font-weight: 800; font-size: 0.9rem;
  box-shadow: 0 2px 12px rgba(var(--brand-accent-dark-rgb, 211, 84, 0), 0.3);
}
.sv-bf-submit[disabled] { opacity: 0.6; cursor: default; }
.sv-bf-ok {
  padding: 28px 20px; text-align: center; font-size: 0.95rem; line-height: 1.5;
}
.sv-bf-ok .sv-bf-ok-ico { font-size: 2rem; display: block; margin-bottom: 8px; }
