.booking-cart-button {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  direction:rtl;
  min-width:112px;
  height:44px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:var(--sakkaf-color-primary);
  color:#fff;
  font-family:'IBM Plex Sans Arabic',sans-serif;
  cursor:pointer;
  font-size:14px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  box-shadow:none;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease
}
.booking-cart-button .booking-cart-label {
  display:inline-block;
  line-height:1
}
.booking-cart-button [data-booking-cart-count] {
  position:static;
  display:inline-grid;
  place-items:center;
  flex:0 0 20px;
  width:20px;
  min-width:20px;
  height:20px;
  border-radius:50%;
  background:var(--sakkaf-color-gold);
  color:var(--sakkaf-color-plum);
  font-size:11px;
  font-weight:700;
  line-height:1
}
.bc-dialog {
  direction:rtl;
  border:0;
  border-radius:18px 0 0 18px;
  position:fixed;
  inset:0 0 0 auto;
  margin:0;
  width:min(460px,100vw);
  height:100dvh;
  max-height:100dvh;
  max-width:100%;
  padding:0;
  overflow:hidden;
  color:var(--sakkaf-color-ink);
  background:var(--sakkaf-color-surface);
  font-family:'IBM Plex Sans Arabic',sans-serif;
  box-shadow:-12px 0 42px rgb(49 16 71 / 16%)
}
.bc-added-dialog {
  direction:rtl;
  width:min(440px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  border:1px solid var(--sakkaf-color-gold);
  border-radius:20px;
  padding:30px 26px 24px;
  color:var(--sakkaf-color-plum);
  background:var(--sakkaf-color-surface);
  font-family:'IBM Plex Sans Arabic',sans-serif;
  text-align:center;
  box-shadow:0 22px 70px rgb(49 16 71 / 29%);
}
.bc-added-dialog::backdrop {background:rgb(49 16 71 / 36%)}
.bc-added-dialog[open] {animation:bc-added-enter .2s ease-out both}
@keyframes bc-added-enter {from {opacity:0;transform:translateY(10px) scale(.98)} to {opacity:1;transform:translateY(0) scale(1)}}
.bc-added-icon {display:grid;width:54px;height:54px;margin:0 auto 12px;place-items:center;border-radius:50%;background:var(--sakkaf-color-surface-soft);color:var(--sakkaf-color-primary);font-size:30px;font-weight:700}
.bc-added-eyebrow {margin:0 0 5px;color:var(--sakkaf-color-gold);font-size:13px;font-weight:700}
.bc-added-dialog h2 {margin:0;color:var(--sakkaf-color-primary);font-size:22px;line-height:1.5}
.bc-added-dialog p[data-cart-added-message] {margin:10px 0 20px;color:var(--sakkaf-color-muted);line-height:1.8}
.bc-added-actions {display:grid;gap:10px}
.bc-added-actions button {min-height:48px;border:1px solid var(--sakkaf-color-primary);border-radius:12px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
.bc-added-dialog .bc-added-actions > .bc-added-continue,
.bc-added-dialog .bc-added-actions > .bc-added-continue:hover,
.bc-added-dialog .bc-added-actions > .bc-added-continue:focus,
.bc-added-dialog .bc-added-actions > .bc-added-continue:active {
  background:var(--sakkaf-color-primary)!important;
  background-image:none!important;
  color:#fff!important;
  border-color:var(--sakkaf-color-primary)!important;
}
.bc-added-dialog .bc-added-actions > .bc-added-more,
.bc-added-dialog .bc-added-actions > .bc-added-more:hover,
.bc-added-dialog .bc-added-actions > .bc-added-more:focus,
.bc-added-dialog .bc-added-actions > .bc-added-more:active {
  background:#fff!important;
  background-image:none!important;
  color:var(--sakkaf-color-plum)!important;
  border-color:var(--sakkaf-color-gold)!important;
}
.bc-added-dialog .bc-added-actions > .bc-added-more:hover,
.bc-added-dialog .bc-added-actions > .bc-added-more:focus-visible {
  background:var(--sakkaf-color-surface-soft)!important;
  box-shadow:0 4px 12px rgb(49 16 71 / 8%)!important;
}
.bc-added-dialog .bc-added-actions > .bc-added-more:active {
  background:var(--sakkaf-color-border)!important;
  box-shadow:inset 0 2px 4px rgb(49 16 71 / 10%)!important;
}
.bc-added-actions button:focus-visible {outline:3px solid var(--sakkaf-color-focus);outline-offset:3px}
.bc-dialog::backdrop {
  background:rgb(49 16 71 / 35%)
}
.bc-dialog[open] {
  display:flex;
  flex-direction:column;
  animation:bc-dialog-open .28s cubic-bezier(.2,.8,.2,1) both
}
.bc-dialog[open][data-state="closing"] {
  animation:bc-dialog-close .24s cubic-bezier(.4,0,1,1) both;
  pointer-events:none
}
.bc-dialog[open]::backdrop {
  animation:bc-backdrop-open .24s ease-out both
}
.bc-dialog[open][data-state="closing"]::backdrop {
  animation:bc-backdrop-close .24s ease-in both
}
@keyframes bc-dialog-open {
  from {opacity:0;transform:translateX(26px)}
  to {opacity:1;transform:translateX(0)}
}
@keyframes bc-dialog-close {
  from {opacity:1;transform:translateX(0)}
  to {opacity:0;transform:translateX(26px)}
}
@keyframes bc-backdrop-open {
  from {background:transparent}
  to {background:rgb(49 16 71 / 35%)}
}
@keyframes bc-backdrop-close {
  from {background:rgb(49 16 71 / 35%)}
  to {background:transparent}
}
.bc-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  flex:0 0 auto;
  min-height:82px;
  padding:15px 19px;
  border-bottom:1px solid var(--sakkaf-color-border);
  background:linear-gradient(135deg,var(--sakkaf-color-surface),var(--sakkaf-color-paper))
}
.bc-heading h2 {
  margin:0;
  color:var(--sakkaf-color-primary);
  font-size:23px
}
.bc-heading button {
  flex:none;
  display:grid;
  place-items:center;
  border:0;
  background:var(--sakkaf-color-surface-soft);
  color:var(--sakkaf-color-primary);
  width:42px;
  height:42px;
  border-radius:50%;
  font:500 25px/1 'IBM Plex Sans Arabic',sans-serif;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease
}
.bc-heading small {
  display:block;
  margin-top:2px;
  color:var(--sakkaf-color-muted);
  font-size:11px
}
.bc-notice {
  flex:0 0 auto;
  padding:10px 18px;
  margin:0;
  border-inline-start:3px solid var(--sakkaf-color-gold);
  color:var(--sakkaf-color-ink);
  background:var(--sakkaf-color-paper);
  font-size:12px;
  line-height:1.6
}
.bc-list {
  display:grid;
  grid-auto-rows:max-content;
  align-content:start;
  gap:10px;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:var(--sakkaf-color-primary-soft) var(--sakkaf-color-surface-soft);
  touch-action:pan-y;
  padding:14px 16px 18px
}
.bc-list::-webkit-scrollbar {
  width:8px
}
.bc-list::-webkit-scrollbar-track {
  margin:8px 1px;
  border-radius:10px;
  background:var(--sakkaf-color-surface-soft)
}
.bc-list::-webkit-scrollbar-thumb {
  border:2px solid var(--sakkaf-color-surface-soft);
  border-radius:10px;
  background:var(--sakkaf-color-primary-soft)
}
.bc-list::-webkit-scrollbar-thumb:hover {
  background:var(--sakkaf-color-primary-hover)
}
.bc-line {
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px;
  align-items:start;
  gap:12px;
  min-width:0;
  padding:13px;
  border:1px solid var(--sakkaf-color-border);
  border-radius:13px;
  background:linear-gradient(135deg,var(--sakkaf-color-surface),var(--sakkaf-color-paper));
  box-shadow:0 3px 10px rgb(49 16 71 / 5%)
}
.bc-line-content {
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0
}
.bc-line strong {
  min-width:0;
  color:var(--sakkaf-color-ink);
  font-size:14px;
  display:block;
  line-height:1.6;
  overflow-wrap:anywhere
}
.bc-line small {
  display:block;
  color:var(--sakkaf-color-muted);
  font-size:11px;
  line-height:1.55;
  overflow-wrap:anywhere
}
.bc-line-meta {
  color:var(--sakkaf-color-muted)!important
}
.bc-line-pricing {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:6px 10px;
  min-width:0;
  margin-top:2px
}
.bc-line-pricing .bc-line-price {
  flex:0 0 auto;
  color:var(--sakkaf-color-primary);
  font-size:14px;
  font-weight:700;
  white-space:nowrap
}
.bc-line-pricing .bc-line-price.is-unavailable {
  color:var(--sakkaf-color-primary-hover);
  white-space:normal
}
.bc-line-pricing .bc-line-status {
  width:fit-content;
  padding:4px 8px;
  border:1px solid var(--sakkaf-color-border);
  border-radius:7px;
  background:var(--sakkaf-color-surface-soft);
  color:var(--sakkaf-color-muted);
  font-size:10px
}
.bc-line > .bc-line-remove {
  display:grid;
  place-items:center;
  flex:none;
  width:38px;
  height:38px;
  padding:0;
  border:0;
  background:var(--sakkaf-color-surface-soft);
  color:var(--sakkaf-color-primary);
  border-radius:10px;
  font:500 22px/1 'IBM Plex Sans Arabic',sans-serif;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease
}
.bc-empty {
  align-self:center;
  justify-self:stretch;
  margin:0;
  padding:24px 18px;
  border:1px dashed var(--sakkaf-color-border);
  border-radius:12px;
  background:var(--sakkaf-color-paper);
  text-align:center;
  color:var(--sakkaf-color-muted);
  line-height:1.7
}
.bc-footer {
  flex:0 0 auto;
  padding:15px 18px calc(15px + env(safe-area-inset-bottom));
  border-top:1px solid var(--sakkaf-color-border);
  background:var(--sakkaf-color-surface-soft);
  box-shadow:0 -8px 22px rgb(49 16 71 / 5%)
}
.bc-footer>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:32px
}
.bc-footer>div>span { color:var(--sakkaf-color-muted); font-size:12px; }
.bc-footer strong {
  font-size:21px;
  color:var(--sakkaf-color-primary);
  white-space:nowrap
}
.bc-footer small {
  display:block;
  color:var(--sakkaf-color-muted);
  font-size:11px;
  line-height:1.55;
  margin:6px 0 0
}
.bc-checkout {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:13px;
  padding:11px 14px;
  text-align:center;
  border-radius:25px;
  background:var(--sakkaf-color-primary);
  color:#fff!important;
  font-size:15px;
  font-weight:600;
  transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease
}
.bc-checkout[aria-disabled=true] {
  opacity:.5;
  cursor:not-allowed
}
.bc-checkout:not([aria-disabled=true]):hover {
  background:var(--sakkaf-color-primary-hover);
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgb(125 11 84 / 16%)
}
.bc-dialog [hidden] {
  display:none!important
}
body:has(.bc-dialog[open]) {
  overflow:hidden
}
.bc-dialog :focus-visible,.booking-cart-button:focus-visible {
  outline:3px solid var(--sakkaf-color-focus);
  outline-offset:3px
}

#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button,
#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button:hover,
#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button:focus,
#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button:active {
  background-color:var(--sakkaf-color-primary)!important;
  background-image:none!important;
  color:#fff!important;
  border-color:transparent!important
}
#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button:hover,
#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button:focus-visible {
  background-color:var(--sakkaf-color-primary-hover)!important;
  box-shadow:0 5px 14px rgb(49 16 71 / 20%)!important;
  transform:translateY(-1px)
}
#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button:active {
  background-color:var(--sakkaf-color-plum)!important;
  transform:translateY(0) scale(.96)
}
#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button > i.fa {
  color:inherit!important;
  font-size:16px!important;
  transition:transform .2s ease
}
#header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button:hover > i.fa {
  animation:bc-cart-hover .55s ease-in-out
}
@keyframes bc-cart-hover {
  0%,100% {transform:rotate(0) scale(1)}
  35% {transform:rotate(-12deg) scale(1.12)}
  70% {transform:rotate(8deg) scale(1.05)}
}
.bc-dialog .bc-heading > button:hover {
  background:var(--sakkaf-color-border)!important;
  color:var(--sakkaf-color-primary)!important;
  transform:rotate(90deg)
}
.bc-dialog .bc-heading > button:focus-visible {
  outline:2px solid var(--sakkaf-color-focus);
  outline-offset:3px
}
.bc-dialog .bc-line > .bc-line-remove:hover {
  background:var(--sakkaf-color-border)!important;
  color:var(--sakkaf-color-primary-hover)!important;
  transform:scale(1.05)
}
.bc-dialog .bc-line > .bc-line-remove:focus-visible {
  outline:2px solid var(--sakkaf-color-focus);
  outline-offset:2px
}
@keyframes bc-sheet-open {
  from {opacity:0;transform:translateY(32px)}
  to {opacity:1;transform:translateY(0)}
}
@keyframes bc-sheet-close {
  from {opacity:1;transform:translateY(0)}
  to {opacity:0;transform:translateY(32px)}
}

@media(prefers-reduced-motion:reduce) {
  .booking-cart-button,
  #header.sakkaf-site-header .sakkaf-global-header .header-actions > button.booking-cart-button > i.fa,
  .bc-dialog[open],
  .bc-dialog[open]::backdrop {
    animation:none!important;
    transition:none!important
  }
}

@media(max-width:767px) {
  .booking-cart-button {
  height:44px;
  min-width:112px;
  border-radius:999px;
  font-size:14px
}
.bc-dialog {
  inset:auto 0 0;
  width:100%;
  height:min(83dvh,760px);
  max-height:calc(100dvh - 8px);
  border-radius:20px 20px 0 0
}
.bc-dialog[open] {
  animation:bc-sheet-open .28s cubic-bezier(.2,.8,.2,1) both
}
.bc-dialog[open][data-state="closing"] {
  animation:bc-sheet-close .24s cubic-bezier(.4,0,1,1) both
}
.bc-footer {
  padding:13px 15px max(16px,env(safe-area-inset-bottom))
}
.bc-heading {
  min-height:72px;
  padding:12px 16px
}
.bc-list {
  gap:9px;
  padding:11px 12px 15px
}
.bc-line {
  grid-template-columns:minmax(0,1fr) 36px;
  gap:9px;
  padding:11px
}
.bc-line > .bc-line-remove {
  width:36px;
  height:36px
}
.header-actions {
  gap:12px!important
}

}

.booking-cart-button {
  flex:0 0 auto;
  width:auto;
  line-height:1
}

#header .booking-cart-button i.fa {
  padding:0;
  margin:0;
  color:inherit;
  background:none;
  border:0;
  font-size:20px;
  line-height:1
}

@media(max-width:767px) {
  .booking-cart-button {
  flex-basis:auto;
  width:auto
}

}

@media(max-width:390px) {
  #header.sakkaf-site-header .header-inner {
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important
  }
  #header.sakkaf-site-header .brand {
    min-width:0!important
  }
  #header.sakkaf-site-header .brand-copy {
    display:none!important
  }
  #header.sakkaf-site-header .header-actions {
    gap:8px!important
  }
}

.bc-storage-warning {
  max-width:1120px;
  margin:10px auto;
  padding:10px 14px;
  border-inline-start:3px solid var(--sakkaf-color-gold);
  color:var(--sakkaf-color-ink);
  background:var(--sakkaf-color-paper);
  border-radius:8px;
  font:13px 'IBM Plex Sans Arabic',sans-serif;
}
