/* Al Bait Al Shami – delivery ordering */
.bsd .bsc-layout { align-items: flex-start; }
.bsd-status { margin: 0 0 18px; border-radius: 14px; padding: 14px 18px; font-weight: 600; }
.bsd-status.is-closed { background: #FFF4D6; color: #6B4A00; }
.bsd-status.is-busy { background: #FFF4EE; color: #8A3416; }
.bsd-status.is-off { background: #F3E3E3; color: #8E1F1F; }

/* daily dish */
.bsd-daily { padding: 0 !important; overflow: hidden; border: 2px solid var(--bsc-orange); }
.bsd-daily-in { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.bsd-daily-img { min-height: 260px; background: var(--bsc-sand); }
.bsd-daily-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bsd-daily-body { padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.bsd-eyebrow { color: var(--bsc-rust); font-weight: 700; font-size: 14px; }
.bsd-daily h2 { font-size: 28px; }
.bsd-daily-price { margin: 0; }
.bsd-daily-price b { font-size: 26px; color: var(--bsc-rust); }
.bsd-inc { margin: 0; font-size: 14px; color: var(--bsc-ink-2); background: var(--bsc-orange-soft); border-radius: 10px; padding: 8px 12px; }
.bsd-sub { margin: 6px 0 0; font-weight: 700; }
.bsd-dishes, .bsd-vars { display: flex; flex-wrap: wrap; gap: 8px; }
.bsd-dish, .bsd-var { border: 1px solid var(--bsc-border); background: #fff; border-radius: 999px; padding: 8px 14px; cursor: pointer; font-size: 15px !important; }
.bsd-dish.is-on, .bsd-var.is-on { background: #3E8E4A; border-color: #3E8E4A; color: #fff; font-weight: 700; }
.bsd-var { border-radius: 10px; }
.bsd-add-row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
.bsd-add-row .bsc-btn[disabled] { opacity: .45; cursor: not-allowed; }
@media (max-width: 720px) { .bsd-daily-in { grid-template-columns: 1fr; } .bsd-daily-img { min-height: 200px; max-height: 240px; } .bsd-daily-body { padding: 20px; } }

/* qty */
.bsd-qty { display: inline-flex; align-items: center; border: 1px solid var(--bsc-border); border-radius: 12px; overflow: hidden; background: #fff; }
.bsd-qty button { width: 40px; height: 42px; border: 0; background: none; font-size: 20px !important; cursor: pointer; color: inherit; }
.bsd-qty output { min-width: 28px; text-align: center; font-weight: 700; }
.bsd-qty-sm button { width: 32px; height: 32px; font-size: 17px !important; }
.bsd-cart .bsd-qty { background: transparent; border-color: #6B5B4D; }

/* bar + menu */
.bsd-bar { position: sticky; top: 0; z-index: 5; background: var(--bsc-cream); padding: 10px 0; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.bsd-cats { display: flex; gap: 8px; overflow-x: auto; flex: 1 1 400px; scrollbar-width: thin; padding-bottom: 4px; }
.bsd-cats a { white-space: nowrap; border: 1px solid var(--bsc-border); background: #fff; border-radius: 999px; padding: 7px 14px; font-size: 14px; color: var(--bsc-ink); text-decoration: none; }
.bsd-cats a:hover { border-color: var(--bsc-orange); }
.bsd-search { flex: 0 1 240px; }
.bsd-search input { width: 100%; min-height: 42px; border-radius: 999px; border: 1px solid var(--bsc-border); padding: 0 16px; background: #fff; }
.bsd-sec { scroll-margin-top: 70px; }
.bsd-sec-head { display: flex; align-items: center; gap: 12px; margin: 10px 0 12px; }
.bsd-sec-head img { width: 56px; height: 56px; border-radius: 14px; object-fit: cover; }
.bsd-sec-head h2 { font-size: 22px; }
.bsd-items { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.bsd-item { background: #fff; border: 1px solid var(--bsc-line); border-radius: 16px; padding: 14px; display: flex; justify-content: space-between; gap: 12px; }
.bsd-item[hidden], .bsd-sec[hidden] { display: none; }
.bsd-item-txt { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.bsd-item-txt strong { font-size: 16px; line-height: 1.4; }
.bsd-item-txt small { color: var(--bsc-muted); font-size: 12.5px; }
.bsd-item-txt p { margin: 4px 0 0; font-size: 13px; color: var(--bsc-ink-2); line-height: 1.5; }
.bsd-item-buy { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 8px; flex: none; max-width: 48%; }
.bsd-price { font-weight: 700; color: var(--bsc-rust); white-space: nowrap; }
.bsd-opt { max-width: 100%; min-height: 36px; border-radius: 10px; border: 1px solid var(--bsc-border); background: var(--bsc-field); font-size: 13px !important; padding: 0 6px; }
.bsd-plus { width: 40px; height: 40px; border-radius: 999px; border: 0; background: var(--bsc-orange); color: var(--bsc-ink); font-size: 24px !important; line-height: 1; cursor: pointer; transition: transform .15s; }
.bsd-plus.is-added, .bsc-btn.is-added { background: #3E8E4A; color: #fff; transform: scale(1.1); }
.bsd-item.is-off { opacity: .55; }
.bsd-off { font-size: 12px; color: #8E1F1F; font-weight: 600; }
.bsd-none { text-align: center; color: var(--bsc-muted); }

/* cart */
.bsd-cart { position: sticky; top: 16px; }
.bsd-cart h2 small { font-size: 14px; color: #CDBFA9; font-weight: 500; }
.bsd-lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; max-height: 46vh; overflow: auto; }
.bsd-line { display: flex; justify-content: space-between; align-items: center; gap: 10px; border-bottom: 1px solid rgba(247,241,230,.12); padding-bottom: 10px; }
.bsd-line div:first-child { display: flex; flex-direction: column; min-width: 0; }
.bsd-line small { color: #CDBFA9; font-size: 12.5px; }
.bsd-line span { color: #FFB199; font-weight: 600; font-size: 14px; }
.bsd-need { margin: 0; background: rgba(240,82,35,.18); border-radius: 10px; padding: 8px 12px; font-size: 14px; }
.bsd-mbar.is-pulse { transform: scale(1.02); }
.bsd-time { margin-top: 8px; min-height: 48px; border-radius: 12px; border: 1px solid var(--bsc-border); padding: 0 12px; background: var(--bsc-field); max-width: 220px; }
.bsd-form { display: flex; flex-direction: column; gap: 16px; }
.bsd-dish.is-out { opacity: .5; text-decoration: line-through; cursor: not-allowed; }
.bsd-dish.is-out small { text-decoration: none; display: inline; }
