/* Barauli booking — consistent with barauli-paradise theme tokens + block patterns. */
.bbook-wrap { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:28px; align-items:start; max-width:1120px; margin:0 auto; }
.bbook-form { display:grid; gap:18px; min-width:0; font-family:Inter, "Helvetica Neue", Arial, sans-serif; }
.bbook-card { border:1px solid var(--b-line, #e3e8e4); border-radius:16px; padding:22px; background:#fff; margin:0; display:grid; gap:14px; }
.bbook-card legend { padding:0 10px; font-family:Cardo, Georgia, serif; font-weight:400; font-size:1.25rem; color:var(--b-ink, #1f2422); display:flex; align-items:center; gap:10px; }
.bbook-step { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--b-ink, #1f2422); color:#fff; font-family:Inter, sans-serif; font-size:13px; font-weight:700; }
.bbook-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.bbook-grid label { display:grid; gap:6px; font-size:14px; font-weight:600; color:var(--b-ink, #1f2422); }
.bbook-wide { grid-column:1 / -1; }
.bbook-hint { font-size:13px; font-weight:400; color:var(--b-muted, #5d6864); background:var(--b-cream, #faf8f3); border:1px dashed var(--b-line, #e3e8e4); border-radius:10px; padding:10px 14px; margin:0; }
.bbook-form input, .bbook-form select, .bbook-form textarea {
  width:100%; padding:13px 15px; font:inherit; font-size:15px;
  border:1px solid var(--b-line, #e3e8e4); border-radius:10px; background:#fff; color:var(--b-ink, #1f2422);
}
.bbook-form input:focus, .bbook-form select:focus, .bbook-form textarea:focus { outline:2px solid var(--b-sage, #5f7268); outline-offset:1px; border-color:var(--b-sage, #5f7268); }
.bbook-form input::placeholder, .bbook-form textarea::placeholder { color:#9aa7a1; }
.bbook-total { font-weight:700; margin:0; min-height:1.5em; color:var(--b-deep, #43544a); }
.bbook-total.is-error { color:#b44545; }
/* Pill button — same as .b-btn / .wp-block-button__link */
.bbook-btn {
  justify-self:stretch; border:none; cursor:pointer; background:var(--b-ink, #1f2422); color:#fff;
  padding:13px 28px; border-radius:999px; display:grid; gap:2px; text-align:center;
  font-size:14px; font-weight:700; text-decoration:none;
  transition:transform .2s cubic-bezier(.22,.61,.36,1), background .2s;
}
.bbook-btn span { font-size:14px; font-weight:700; letter-spacing:.2px; }
.bbook-btn small { font-size:12.5px; font-weight:500; opacity:.75; }
.bbook-btn:hover { background:var(--b-deep, #43544a); transform:translateY(-2px); color:#fff; }
.bbook-secure { font-size:13px; color:var(--b-muted, #5d6864); margin:0; text-align:center; }
.bbook-secure a { color:var(--b-deep, #43544a); font-weight:700; }
/* Summary — room-card language: #f7f9f8 cards, 16px radius, cream note */
.bbook-side { position:sticky; top:90px; }
.bbook-sum { border:1px solid var(--b-line, #e3e8e4); border-radius:16px; overflow:hidden; background:var(--b-cream, #faf8f3); font-family:Inter, "Helvetica Neue", Arial, sans-serif; }
.bbook-sum-imgwrap { aspect-ratio:16/9; background:var(--b-mist, #edf1ec); overflow:hidden; }
.bbook-sum-imgwrap:empty { display:none; }
.bbook-sum-img { width:100%; height:100%; object-fit:cover; display:block; }
.bbook-eyebrow { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--b-sage, #5f7268); margin:18px 20px 4px; }
.bbook-sum-title { font-family:Cardo, Georgia, serif; font-weight:400; font-size:1.5rem; line-height:1.15; color:var(--b-ink, #1f2422); margin:0 20px 2px; }
.bbook-sum-price { margin:0 20px 12px; font-weight:700; color:var(--b-deep, #43544a); }
.bbook-sum-rows { margin:0 20px; padding:12px 0; border-top:1px solid var(--b-line, #e3e8e4); display:grid; gap:8px; }
.bbook-sum-rows > div { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.bbook-sum-rows dt { color:var(--b-muted, #5d6864); }
.bbook-sum-rows dd { margin:0; font-weight:700; text-align:right; color:var(--b-ink, #1f2422); }
.bbook-sum-total { border-top:1px dashed var(--b-line, #e3e8e4); padding-top:10px; font-size:15px; }
.bbook-sum-total dd { font-size:1.1rem; }
.bbook-sum-link { display:block; margin:0 20px; font-size:14px; font-weight:700; color:var(--b-deep, #43544a); text-decoration:none; }
.bbook-sum-link:hover { color:var(--b-ink, #1f2422); text-decoration:underline; }
.bbook-sum-note { margin:12px 20px 20px; font-size:12.5px; color:var(--b-muted, #5d6864); background:#fff; border:1px solid var(--b-line, #e3e8e4); padding:10px 12px; border-radius:10px; }
/* States */
.bbook-ok { display:flex; gap:14px; border:1px solid var(--b-line, #e3e8e4); border-left:4px solid var(--b-sage, #5f7268); border-radius:12px; padding:20px 22px; background:#f7f9f8; max-width:860px; }
.bbook-ok-ico { flex:none; width:40px; height:40px; border-radius:50%; background:var(--b-sage, #5f7268); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:800; }
.bbook-ok h3 { margin:0 0 8px; font-family:Cardo, Georgia, serif; font-weight:400; color:var(--b-ink, #1f2422); }
.bbook-ok-sub { font-size:14px; color:var(--b-muted, #5d6864); margin:.6em 0 0; }
.bbook-ok-sub a { color:var(--b-deep, #43544a); font-weight:700; }
.bbook-err { border:1px solid #e8b4b4; border-left:4px solid #b44545; border-radius:12px; padding:14px 18px; background:#fdf3f3; max-width:860px; margin-bottom:16px; }
.bbook-hp { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
@media (max-width:900px) {
  .bbook-wrap { grid-template-columns:1fr; }
  .bbook-side { position:static; order:-1; }
}
@media (max-width:640px) { .bbook-grid { grid-template-columns:1fr; } .bbook-card { padding:18px 16px; } }
@media (prefers-reduced-motion: reduce) { .bbook-btn { transition:none; } .bbook-btn:hover { transform:none; } }
