.sweesh-rb-open-btn,
.sweesh-rb-open-btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 999px;
  border: 1px solid rgba(11, 38, 53, 0.18);
  background: #F6EC1F;
  color: #0B2635 !important;
  cursor: pointer;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(246, 236, 31, 0.42);
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.sweesh-rb-open-btn:hover { transform: translateY(-2px); background: #F1DD00; }

.sweesh-rb-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
}
.sweesh-rb-modal.is-open { display: block; }
.sweesh-rb-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11, 38, 53, 0.64);
  backdrop-filter: blur(7px);
}
.sweesh-rb-modal-dialog {
  position: relative;
  width: min(760px, calc(100% - 28px));
  max-height: min(92vh, 860px);
  overflow: auto;
  margin: 4vh auto;
  border-radius: 34px;
  background: #ffffff;
  box-shadow: 0 26px 90px rgba(0,0,0,.28);
  border: 1px solid rgba(11, 38, 53, 0.12);
}
.sweesh-rb-close {
  position: sticky;
  top: 14px;
  float: right;
  z-index: 10;
  width: 42px;
  height: 42px;
  margin: 14px 14px 0 0;
  border: 0;
  border-radius: 999px;
  background: #0B2635;
  color: #fff;
  cursor: pointer;
  font-size: 30px;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(11, 38, 53, 0.18);
}
body.sweesh-rb-lock { overflow: hidden; }

.sweesh-rb-wrap {
  --sweesh-yellow: #F6EC1F;
  --sweesh-ink: #0B2635;
  --sweesh-muted: #4E5D66;
  --sweesh-line: rgba(11, 38, 53, 0.13);
  color: var(--sweesh-ink);
  font-family: var(--sweesh-global-font, inherit) !important;
  box-sizing: border-box;
  padding: 34px;
}
.sweesh-rb-wrap * { box-sizing: border-box; font-family: var(--sweesh-global-font, inherit) !important; }
.sweesh-rb-wrap-inline {
  border-radius: 32px;
  background: #fff;
  border: 1px solid var(--sweesh-line);
  box-shadow: 0 18px 52px rgba(11, 38, 53, 0.10);
}
.sweesh-rb-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--sweesh-yellow);
  color: var(--sweesh-ink);
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(11, 38, 53, 0.12);
  box-shadow: 0 8px 18px rgba(246,236,31,.28);
}
.sweesh-rb-head h3 {
  margin: 14px 0 8px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
  letter-spacing: -0.055em;
  font-weight: 900;
}
.sweesh-rb-head p {
  margin: 0;
  color: var(--sweesh-muted);
  line-height: 1.65;
  font-weight: 500;
}
.sweesh-rb-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0;
}
.sweesh-rb-points span {
  padding: 11px 13px;
  border-radius: 16px;
  background: #FFFBEA;
  border: 1px solid var(--sweesh-line);
  font-size: 13px;
  font-weight: 800;
}

.sweesh-rb-coming-soon {
  display: none;
  margin: 18px 0 0;
  padding: 16px 18px;
  border-radius: 20px;
  background: #FFFBEA;
  border: 1px solid rgba(11, 38, 53, 0.13);
  color: #0B2635;
  line-height: 1.6;
  font-weight: 700;
}
.sweesh-rb-coming-soon strong { font-weight: 900; }
.sweesh-rb-coming-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.sweesh-rb-coming-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 999px;
  background: #25D366;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 900;
}

.sweesh-rb-form { display: grid; gap: 15px; margin-top: 22px; clear: both; }
.sweesh-rb-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.sweesh-rb-field { display: grid; gap: 7px; }
.sweesh-rb-field label { font-size: 13px; font-weight: 900; color: var(--sweesh-ink); }
.sweesh-rb-field label span { color: var(--sweesh-muted); font-weight: 700; }
.sweesh-rb-field-hint { color: var(--sweesh-muted); font-size: 12px; line-height: 1.45; font-weight: 700; }
.sweesh-rb-field input,
.sweesh-rb-field select,
.sweesh-rb-field textarea {
  width: 100%;
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid var(--sweesh-line);
  background: #F8FBFC;
  padding: 12px 14px;
  color: var(--sweesh-ink);
  font-size: 15px;
  outline: none;
  box-shadow: none;
}
.sweesh-rb-field textarea { resize: vertical; }
.sweesh-rb-field input:focus,
.sweesh-rb-field select:focus,
.sweesh-rb-field textarea:focus {
  border-color: rgba(246,236,31,.95);
  box-shadow: 0 0 0 4px rgba(246,236,31,.22);
  background: #fff;
}
.sweesh-rb-submit {
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 999px;
  background: var(--sweesh-yellow);
  color: var(--sweesh-ink);
  font-weight: 900;
  cursor: pointer;
  font-size: 16px;
  box-shadow: 0 14px 30px rgba(246,236,31,.42);
  transition: transform 180ms ease, background 180ms ease;
}
.sweesh-rb-submit:hover { transform: translateY(-2px); background: #F1DD00; }
.sweesh-rb-submit[disabled] { opacity: .72; cursor: not-allowed; transform: none; }
.sweesh-rb-small-note { color: var(--sweesh-muted); font-size: 13px; line-height: 1.5; text-align: center; font-weight: 600; }
.sweesh-rb-message { display: none; padding: 14px 16px; border-radius: 18px; line-height: 1.6; font-weight: 800; }
.sweesh-rb-message.is-success { display: block; background: #ECFFF4; border: 1px solid rgba(37,211,102,.24); color: #0B5A31; }
.sweesh-rb-message.is-error { display: block; background: #FFF1F1; border: 1px solid rgba(220,38,38,.20); color: #8A1515; }
.sweesh-rb-success-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.sweesh-rb-success-actions button,
.sweesh-rb-success-actions a { min-height: 42px; padding: 10px 14px; border-radius: 999px; font-weight: 900; text-decoration: none !important; }
.sweesh-rb-success-actions button { border: 1px solid var(--sweesh-line); background: #fff; cursor: pointer; }
.sweesh-rb-success-actions a { background: #25D366; color: #fff !important; }

@media (max-width: 720px) {
  .sweesh-rb-modal-dialog {
    width: 100%;
    max-height: 100vh;
    min-height: 100vh;
    margin: 0;
    border-radius: 0;
  }
  .sweesh-rb-wrap { padding: 24px 18px 34px; }
  .sweesh-rb-grid-2,
  .sweesh-rb-points { grid-template-columns: 1fr; }
}


.sweesh-booking-popup-trigger {
  cursor: pointer;
  font-family: var(--sweesh-global-font, inherit) !important;
}
