@layer rbp-c-booking {
  .rbp-c-gateway-source { display:none!important; }
  .rbpc { --c-ink:#18362c; --c-muted:#5b6c65; --c-edge:#dce5df; --c-accent:#174b37; --c-tint:#f4f7f4; box-sizing:border-box!important; max-width:1240px!important; margin:32px auto!important; padding:clamp(20px,4vw,44px)!important; background:#fff!important; color:var(--c-ink)!important; border:1px solid var(--c-edge)!important; border-radius:24px!important; font:400 15px/1.6 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; text-align:start!important; }
  .rbpc * { box-sizing:border-box!important; text-shadow:none!important; }
  .rbpc [hidden] { display:none!important; }
  .rbpc h2,.rbpc h3,.rbpc h4 { color:var(--c-ink)!important; -webkit-text-fill-color:currentColor!important; text-transform:none!important; letter-spacing:-.02em!important; font-family:inherit!important; line-height:1.3!important; margin:0 0 12px!important; overflow-wrap:anywhere!important; }
  .rbpc h2 { font-size:clamp(28px,4vw,40px)!important; font-weight:600!important; }
  .rbpc h3 { font-size:21px!important; font-weight:600!important; }
  .rbpc h4 { font-size:17px!important; font-weight:600!important; }
  .rbpc p { color:var(--c-muted)!important; margin:0 0 16px!important; }
  .rbpc button,.rbpc input,.rbpc select,.rbpc textarea { font:inherit!important; text-transform:none!important; letter-spacing:normal!important; -webkit-text-fill-color:currentColor!important; }
  .rbpc button { cursor:pointer!important; }
  .rbpc input:not([type=checkbox]):not([type=radio]),.rbpc select,.rbpc textarea { display:block!important; width:100%!important; min-width:0!important; height:auto!important; min-height:46px!important; border:1px solid #c9d6ce!important; border-radius:10px!important; padding:10px 12px!important; background:#fff!important; color:var(--c-ink)!important; box-shadow:none!important; }
  .rbpc input[type=checkbox],.rbpc input[type=radio] { appearance:auto!important; display:inline-block!important; width:18px!important; height:18px!important; min-width:18px!important; margin:3px 0!important; accent-color:var(--c-accent)!important; }
  .rbpc label { display:grid!important; gap:6px!important; font-size:13px!important; color:var(--c-ink)!important; font-weight:500!important; margin:0!important; }
  .rbpc :is(button,input,select,textarea,summary):focus-visible { outline:3px solid #39755a!important; outline-offset:3px!important; }
  .rbpc button:disabled { opacity:.55!important; cursor:wait!important; }
  .rbpc-header { display:flex!important; justify-content:space-between!important; align-items:start!important; gap:24px!important; border-bottom:1px solid var(--c-edge)!important; margin-bottom:28px!important; padding-bottom:20px!important; }
  .rbpc .rbpc-eyebrow { font-size:12px!important; letter-spacing:.12em!important; text-transform:uppercase!important; margin-bottom:8px!important; }
  .rbpc-zone { color:var(--c-muted)!important; background:var(--c-tint)!important; padding:7px 12px!important; border-radius:8px!important; font-size:12px!important; overflow-wrap:anywhere!important; }
  .rbpc-toolbar,.rbpc-fields { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:18px!important; margin:0 0 22px!important; }
  .rbpc-toolbar { grid-template-columns:120px repeat(3,minmax(0,1fr))!important; }
  .rbpc-guests { display:flex!important; flex-wrap:wrap!important; gap:12px!important; margin:0 0 26px!important; }
  .rbpc-guests label { width:145px!important; padding:12px!important; background:var(--c-tint)!important; border:1px solid var(--c-edge)!important; border-radius:12px!important; }
  .rbpc-layout { display:grid!important; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important; align-items:start!important; gap:32px!important; margin-bottom:32px!important; }
  .rbpc-section-heading { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:14px!important; margin:0 0 18px!important; }
  .rbpc-section-heading h3 { margin:0!important; }
  .rbpc-section-heading label { max-width:180px!important; }
  .rbpc-catalog { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:14px!important; }
  .rbpc-cart-panel { background:#f7f9f7!important; border:1px solid var(--c-edge)!important; border-radius:18px!important; padding:22px!important; min-width:0!important; }
  .rbpc-count { display:grid!important; place-items:center!important; min-width:30px!important; min-height:30px!important; padding:2px 9px!important; background:var(--c-accent)!important; color:#fff!important; border-radius:50px!important; font-size:13px!important; font-weight:600!important; }
  .rbpc-cart-line { background:#fff!important; border:1px solid var(--c-edge)!important; border-radius:14px!important; padding:18px!important; margin:0 0 14px!important; }
  .rbpc-line-head { display:flex!important; gap:14px!important; align-items:start!important; justify-content:space-between!important; margin-bottom:16px!important; }
  .rbpc-line-head h4 { margin:0!important; }
  .rbpc-line-fields { display:grid!important; gap:14px!important; }
  .rbpc-remove { appearance:none!important; flex:0 0 44px!important; display:grid!important; place-items:center!important; width:44px!important; height:44px!important; min-height:44px!important; padding:8px!important; border:1px solid var(--c-edge)!important; border-radius:9px!important; background:#fff!important; color:#6b443d!important; box-shadow:none!important; }
  .rbpc-remove:hover { background:#fff3f0!important; border-color:#bc8172!important; }
  .rbpc-remove svg { display:block!important; width:18px!important; height:18px!important; fill:none!important; stroke:currentColor!important; stroke-width:1.7!important; }
  .rbpc-participants { display:flex!important; flex-wrap:wrap!important; gap:8px 14px!important; border:0!important; padding:0!important; margin:0!important; }
  .rbpc .rbpc-check { display:flex!important; align-items:start!important; gap:10px!important; }
  .rbpc-participants legend { font-size:13px!important; margin-bottom:6px!important; }
  .rbpc-details { padding-top:26px!important; border-top:1px solid var(--c-edge)!important; }
  .rbpc-business { margin:20px 0!important; }
  .rbpc-business summary { cursor:pointer!important; margin-bottom:12px!important; color:var(--c-ink)!important; }
  .rbpc-primary,.rbpc-secondary { appearance:none!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:8px!important; min-height:48px!important; max-width:100%!important; white-space:normal!important; padding:12px 20px!important; border:1px solid var(--c-accent)!important; border-radius:11px!important; background:var(--c-accent)!important; color:#fff!important; font-weight:600!important; box-shadow:none!important; text-decoration:none!important; }
  .rbpc-secondary { background:#fff!important; color:var(--c-accent)!important; border-color:#b6cabc!important; }
  .rbpc-primary:hover { background:#103e2c!important; }
  .rbpc-secondary:hover { background:var(--c-tint)!important; }
  .rbpc-note,.rbpc-alert { padding:16px 18px!important; border:1px solid #dce5df!important; border-radius:12px!important; background:#f3f7f3!important; color:var(--c-ink)!important; margin:0 0 20px!important; }
  .rbpc-alert { border-color:#e3b4a8!important; background:#fff5f1!important; color:#812a19!important; }
  .rbpc-alert[role="status"] { border-color:#b8d8c7!important; background:#f0f8f2!important; color:#18533a!important; }
  .rbpc-review,.rbpc-receipt { background:#fff!important; border:1px solid var(--c-edge)!important; padding:clamp(18px,3vw,30px)!important; border-radius:18px!important; margin-top:28px!important; color:var(--c-ink)!important; }
  .rbpc-timeline { list-style:none!important; margin:0 0 24px!important; padding:0!important; }
  .rbpc-timeline li { position:relative!important; padding:16px 0 16px 20px!important; border-inline-start:2px solid #d5e3d8!important; margin:0!important; }
  .rbpc-timeline li::before { content:""!important; position:absolute!important; inset-inline-start:-6px!important; top:23px!important; width:10px!important; height:10px!important; border-radius:50%!important; background:var(--c-accent)!important; }
  .rbpc-timeline strong,.rbpc-timeline span { display:block!important; color:var(--c-ink)!important; }
  .rbpc-timeline small { color:var(--c-muted)!important; }
  .rbpc-breakdown { margin:20px 0!important; }
  .rbpc-price-row { display:flex!important; align-items:baseline!important; justify-content:space-between!important; gap:20px!important; padding:9px 0!important; border-bottom:1px solid #edf1ed!important; color:var(--c-ink)!important; }
  .rbpc-price-row span { overflow-wrap:anywhere!important; }
  .rbpc-price-row strong { white-space:nowrap!important; font-variant-numeric:tabular-nums!important; font-weight:600!important; }
  .rbpc-price-total { font-size:21px!important; padding:16px 0!important; }
  .rbpc-consent { margin-bottom:18px!important; }
  .rbpc-receipt-actions { display:flex!important; flex-wrap:wrap!important; gap:12px!important; margin-top:20px!important; }
  .rbpc-payment { color:var(--c-ink)!important; margin-top:24px!important; }
  .rbpc-payment :is(h2,h3,h4,.rbp-payment-awaiting-title) { color:var(--c-ink)!important; -webkit-text-fill-color:currentColor!important; white-space:normal!important; }
  .rbpc-payment .rbp-pw-tabs { display:flex!important; flex-wrap:wrap!important; gap:6px!important; }
  @media(max-width:900px) { .rbpc-layout { grid-template-columns:minmax(0,1fr)!important; gap:24px!important; } .rbpc-catalog { grid-template-columns:repeat(2,minmax(0,1fr))!important; } .rbpc-toolbar { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
  @media(max-width:560px) { .rbpc { padding:20px 16px!important; margin:16px auto!important; border-radius:18px!important; } .rbpc-header { display:block!important; } .rbpc-zone { display:inline-block!important; } .rbpc-catalog,.rbpc-fields { grid-template-columns:minmax(0,1fr)!important; } .rbpc-cart-panel { padding:16px!important; } .rbpc-primary { width:100%!important; } .rbpc-section-heading { flex-wrap:wrap!important; } .rbpc-price-row { gap:12px!important; } }
  @media(prefers-reduced-motion:reduce) { .rbpc * { transition:none!important; scroll-behavior:auto!important; } }
}
