/* ============================================================
   Shemroon Kitchen — Reservations (booking.html)
   Dark green + gold panels on the Explore background, cream cards.
   ============================================================ */

.bk { max-width: 1240px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: clamp(1.2rem, 2.6vw, 2.4rem); align-items: start; }
.bk > .cat__head { grid-column: 1 / -1; }
.bk > .bk-step { grid-column: 1; min-width: 0; }
.bk-summary { grid-column: 2; grid-row: 2 / span 8; position: sticky; top: 6.5rem; }
.bk-done { grid-column: 1 / -1; }

/* ---------------------------------------------- steps */
.bk-step {
  position: relative; margin-bottom: 1.2rem; padding: clamp(1.3rem, 2.8vw, 2.2rem);
  border-radius: 28px; color: #f4efe2;
  background: radial-gradient(110% 120% at 0% 0%, rgba(52, 58, 42, .96) 0%, rgba(27, 29, 21, .96) 70%);
  border: 1px solid rgba(231, 199, 122, .3); box-shadow: 0 24px 60px rgba(12, 12, 12, .3);
}
.bk-step[hidden] { display: none; }
.bk-step.is-sent, .bk-summary.is-sent { display: none; }
.bk-step__num { position: absolute; top: clamp(1.1rem, 2.4vw, 1.8rem); right: clamp(1.2rem, 2.6vw, 2rem); font: 700 1.1rem var(--font-script); color: rgba(231, 199, 122, .6); letter-spacing: .1em; }
.bk-step__title { font: 700 clamp(1.7rem, 2.8vw, 2.3rem)/1.1 var(--font-script); color: #f6e7c4; margin: 0 2.5rem 1rem 0; }
.bk-lead { color: rgba(244, 239, 226, .78); margin: -.4rem 0 1.2rem; line-height: 1.6; max-width: 60ch; }
.bk-lead a { color: #f0dfb9; text-decoration: underline; text-underline-offset: 3px; }
.bk-hint { font-size: .85rem; color: rgba(244, 239, 226, .62); margin-top: .8rem; }

/* ---------------------------------------------- 1 · type */
.bk-types { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.bk-type {
  display: grid; gap: .45rem; text-align: left; padding: 1.2rem 1.3rem; border-radius: 20px; cursor: pointer; color: #f4efe2;
  background: rgba(255, 255, 255, .03); border: 1px solid rgba(231, 199, 122, .25); transition: background .25s, border-color .25s, transform .25s;
}
.bk-type:hover { transform: translateY(-2px); border-color: rgba(231, 199, 122, .6); }
.bk-type strong { font: 700 1.35rem/1.1 var(--font-script); color: #f6e7c4; }
.bk-type span:last-child { font-size: .88rem; line-height: 1.5; color: rgba(244, 239, 226, .72); }
.bk-type__icon { font-size: 1.3rem; color: #e7c77a; }
.bk-type.is-on { background: linear-gradient(135deg, rgba(231, 199, 122, .2), rgba(231, 199, 122, .05)); border-color: #e7c77a; box-shadow: inset 0 0 0 1px rgba(231, 199, 122, .35); }

/* ---------------------------------------------- 2 · occasions */
.bk-occasions { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.bk-occ {
  position: relative; overflow: hidden; aspect-ratio: 4 / 5; border-radius: 20px; padding: 0; cursor: pointer;
  border: 1px solid rgba(231, 199, 122, .25); background: #111;
}
.bk-occ img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2, .7, .2, 1), filter .4s; filter: saturate(.9) brightness(.82); }
.bk-occ::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(12, 14, 9, .88)); }
.bk-occ span { position: absolute; z-index: 1; left: .9rem; right: .9rem; bottom: .9rem; text-align: left; font: 700 1.2rem/1.1 var(--font-script); color: #fff6df; }
.bk-occ:hover img { transform: scale(1.06); filter: saturate(1) brightness(.9); }
.bk-occ.is-on { border-color: #e7c77a; box-shadow: 0 0 0 2px #e7c77a, 0 14px 30px rgba(0, 0, 0, .35); }
.bk-occ.is-on img { filter: saturate(1.05) brightness(.95); }
.bk-occ.is-on::before { content: '✓'; position: absolute; z-index: 2; top: .7rem; right: .7rem; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #e7c77a; color: #1b1d15; font-weight: 700; }

/* ---------------------------------------------- 3 · guests */
.bk-stepper { display: flex; align-items: center; justify-content: center; gap: .5rem; }
.bk-stepper__btn { min-width: 52px; height: 52px; border-radius: 16px; color: #f6e7c4; font-weight: 700; font-size: 1.05rem; border: 1px solid rgba(231, 199, 122, .4); background: rgba(255, 255, 255, .04); }
.bk-stepper__btn:hover { background: rgba(231, 199, 122, .15); }
.bk-stepper__value { display: grid; justify-items: center; min-width: 9rem; }
.bk-stepper__value input {
  width: 8rem; text-align: center; background: transparent; border: 0; color: #f6e7c4;
  font: 700 clamp(3rem, 6vw, 4.2rem)/1 var(--font-script); -moz-appearance: textfield;
}
.bk-stepper__value input::-webkit-outer-spin-button, .bk-stepper__value input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bk-stepper__value em { font-style: normal; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: #e7c77a; }
.bk-range { width: 100%; margin: 1.1rem 0 .8rem; accent-color: #e7c77a; }
.bk-quick { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: center; }
.bk-quick button { padding: .45rem .95rem; border-radius: 999px; border: 1px solid rgba(231, 199, 122, .35); color: #f4efe2; font-weight: 600; font-size: .85rem; }
.bk-quick button.is-on, .bk-quick button:hover { background: #e7c77a; color: #1b1d15; border-color: #e7c77a; }
.bk-guests .bk-hint { text-align: center; }

/* ---------------------------------------------- 4 · set menus */
.bk-menus { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; }
.bk-menu {
  position: relative; display: flex; flex-direction: column; gap: .35rem; text-align: left; cursor: pointer; overflow: hidden;
  padding: 0 1.1rem 1.1rem; border-radius: 22px; color: #2c2f24;
  background: #fbf5e8; border: 1px solid rgba(185, 143, 76, .45); transition: transform .3s, box-shadow .3s;
}
.bk-menu:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(0, 0, 0, .3); }
.bk-menu.is-on { box-shadow: 0 0 0 3px #e7c77a, 0 20px 40px rgba(0, 0, 0, .35); }
.bk-menu__img { display: block; height: 130px; margin: 0 -1.1rem .6rem; background: #e1d3c2 url('../images/shemroon-pattern-01.jpg') repeat; background-size: 200px auto; }
.bk-menu__img img { width: 100%; height: 100%; object-fit: contain; padding: .5rem; }
.bk-menu__ribbon { position: absolute; top: 12px; left: 12px; z-index: 1; padding: .3rem .7rem; border-radius: 999px; background: #1b1d15; color: #f0dfb9; font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; border: 1px solid #e7c77a; }
.bk-menu__tag { font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #9a6f2c; }
.bk-menu__name { font: 700 1.5rem/1.05 var(--font-script); color: #1b1d15; }
.bk-menu__price { font-size: .85rem; color: #6d705b; }
.bk-menu__price b { font: 700 1.6rem var(--font-script); color: #1b1d15; }
.bk-menu__value { font-size: .74rem; font-weight: 600; color: #3f6b36; }
.bk-menu__courses { display: grid; gap: .4rem; margin: .5rem 0 .6rem; padding-top: .6rem; border-top: 1px dashed rgba(185, 143, 76, .45); flex: 1; }
.bk-menu__courses li { display: grid; font-size: .8rem; line-height: 1.35; color: #3b3e31; }
.bk-menu__course { font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #9a6f2c; }
.bk-menu__for { margin: 0 -1.1rem -1.1rem; padding: .7rem 1.1rem; background: #1b1d15; color: #f0dfb9; font-size: .78rem; font-weight: 600; }
.bk-menu.is-on .bk-menu__for { background: linear-gradient(90deg, #b98f4c, #e7c77a); color: #1b1d15; }

.bk-extras { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; margin-top: 1rem; }
.bk-veg, .bk-addons { border-radius: 20px; padding: 1rem 1.1rem; border: 1px solid rgba(231, 199, 122, .25); background: rgba(255, 255, 255, .03); }
.bk-veg { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.bk-veg strong { display: block; color: #f6e7c4; }
.bk-veg span { font-size: .8rem; color: rgba(244, 239, 226, .68); }
.bk-mini-stepper { display: flex; align-items: center; gap: .5rem; }
.bk-mini-stepper button { width: 38px; height: 38px; border-radius: 12px; border: 1px solid rgba(231, 199, 122, .4); color: #f6e7c4; font-weight: 700; }
.bk-mini-stepper output { min-width: 2.2rem; text-align: center; font: 700 1.6rem var(--font-script); color: #f6e7c4; }
.bk-addons { margin: 0; display: grid; gap: .5rem; }
.bk-addons legend { padding: 0 .3rem; font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #e7c77a; }
.bk-addon { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; cursor: pointer; padding: .35rem .2rem; border-radius: 12px; }
.bk-addon input { width: 1.1rem; height: 1.1rem; accent-color: #e7c77a; }
.bk-addon strong { display: block; font-size: .88rem; color: #f4efe2; }
.bk-addon em { font-style: normal; font-size: .75rem; color: rgba(244, 239, 226, .6); }
.bk-addon b { font-size: .8rem; color: #f0dfb9; }

/* ---------------------------------------------- collection order */
.bk-col { display: grid; grid-template-columns: 9rem 1fr; gap: .9rem; }
.bk-step .field > span { color: rgba(240, 223, 185, .85); }
.bk-step .field em { color: rgba(244, 239, 226, .55); }

/* ---------------------------------------------- date + time */
.bk-when { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 1rem; }
.bk-cal { border-radius: 22px; padding: 1rem; background: #fbf5e8; color: #2c2f24; border: 1px solid rgba(185, 143, 76, .45); }
.bk-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .6rem; }
.bk-cal__title { font: 700 1.55rem var(--font-script); color: #1b1d15; margin: 0; }
.bk-cal__nav { width: 40px; height: 40px; border-radius: 50%; font-size: 1.4rem; color: #1b1d15; border: 1px solid rgba(185, 143, 76, .5); }
.bk-cal__nav:disabled { opacity: .25; cursor: default; }
.bk-cal__days, .bk-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: .25rem; }
.bk-cal__days span { text-align: center; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9a6f2c; padding: .3rem 0; }
.bk-day { aspect-ratio: 1; border-radius: 12px; font-weight: 600; font-size: .92rem; color: #1b1d15; position: relative; transition: background .2s, color .2s; }
.bk-day:not(:disabled):hover { background: #f0dfb9; }
.bk-day:disabled { color: rgba(44, 47, 36, .28); cursor: default; }
.bk-day.is-today::after, .bk-cal__legend .is-today { content: ''; position: absolute; left: 50%; bottom: 5px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: #b98f4c; }
.bk-day.is-sel { background: #1b1d15; color: #f0dfb9; box-shadow: inset 0 0 0 2px #e7c77a; }
.bk-day.is-blank { visibility: hidden; }
.bk-cal__legend { display: flex; gap: 1rem; align-items: center; font-size: .72rem; color: #6d705b; margin-top: .6rem; }
.bk-cal__legend i { position: relative; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: .35rem; }
.bk-cal__legend .is-today { position: relative; left: auto; bottom: auto; margin: 0 .35rem 0 0; width: 7px; height: 7px; }
.bk-cal__legend .is-sel { background: #1b1d15; box-shadow: inset 0 0 0 2px #e7c77a; }

.bk-slots { border-radius: 22px; padding: 1rem 1.1rem; border: 1px solid rgba(231, 199, 122, .25); background: rgba(255, 255, 255, .03); max-height: 26rem; overflow-y: auto; }
.bk-slots__date { font: 700 1.3rem var(--font-script); color: #f6e7c4; margin-bottom: .6rem; }
.bk-slot-group + .bk-slot-group { margin-top: .8rem; }
.bk-slot-group__name { font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #e7c77a; margin-bottom: .4rem; }
.bk-slot-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(4.6rem, 1fr)); gap: .4rem; }
.bk-slot { padding: .55rem 0; border-radius: 12px; border: 1px solid rgba(231, 199, 122, .3); color: #f4efe2; font-weight: 600; font-size: .88rem; }
.bk-slot:hover { border-color: #e7c77a; }
.bk-slot.is-on { background: #e7c77a; color: #1b1d15; border-color: #e7c77a; }

/* ---------------------------------------------- details */
.bk-form .field input, .bk-form .field textarea, .bk-col .field input, .bk-col .field textarea { background: #fbf5e8; }
.bk-error { color: #ffb3a0; font-weight: 600; margin-top: .3rem; }

/* ---------------------------------------------- summary */
.bk-summary {
  padding: 1.4rem 1.3rem; border-radius: 28px; color: #2c2f24;
  background: #fbf5e8; border: 1px solid rgba(185, 143, 76, .5); box-shadow: 0 24px 60px rgba(12, 12, 12, .35);
}
.bk-summary .eyebrow { color: #9a6f2c; }
.bk-summary__title { font: 700 1.7rem/1.05 var(--font-script); color: #1b1d15; margin: .3rem 0 .9rem; }
.bk-summary__rows { display: grid; gap: .45rem; margin: 0; }
.bk-summary__rows div { display: flex; justify-content: space-between; gap: 1rem; font-size: .86rem; padding-bottom: .45rem; border-bottom: 1px dashed rgba(185, 143, 76, .35); }
.bk-summary__rows dt { color: #6d705b; }
.bk-summary__rows dd { margin: 0; text-align: right; font-weight: 600; color: #1b1d15; }
.bk-summary__rows .is-saving dd { color: #3f6b36; }
.bk-summary__rows .is-missing dd { color: #b3412f; font-weight: 500; }
.bk-summary__total { display: grid; grid-template-columns: 1fr auto; align-items: baseline; margin: 1rem 0; padding: .9rem 1rem; border-radius: 18px; background: #1b1d15; color: #f0dfb9; }
.bk-summary__total span { font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.bk-summary__total strong { font: 700 2.2rem/1 var(--font-script); color: #fff6df; }
.bk-summary__total em { grid-column: 1 / -1; font-style: normal; font-size: .78rem; color: rgba(240, 223, 185, .75); }
.bk-summary__total[hidden] { display: none; }
.bk-send { margin-top: .4rem; }
.bk-summary__small { font-size: .76rem; line-height: 1.5; color: #6d705b; margin-top: .8rem; }
.bk-summary__small a { color: #1b1d15; text-decoration: underline; }

/* ---------------------------------------------- sent */
.bk-done { padding: clamp(1.6rem, 4vw, 3rem); border-radius: 28px; background: #fbf5e8; color: #2c2f24; border: 1px solid rgba(185, 143, 76, .5); text-align: center; }
.bk-done .eyebrow { color: #9a6f2c; }
.bk-done__title { font: 700 clamp(2rem, 4vw, 2.8rem) var(--font-script); color: #1b1d15; margin: .4rem 0 .8rem; }
.bk-done p { max-width: 56ch; margin: 0 auto; line-height: 1.6; }
.bk-done a { color: #1b1d15; text-decoration: underline; }
.bk-done__copy { text-align: left; white-space: pre-wrap; max-width: 620px; margin: 1.2rem auto; padding: 1rem 1.2rem; border-radius: 16px; background: #fff; border: 1px solid rgba(185, 143, 76, .35); font: .82rem/1.55 ui-monospace, Menlo, monospace; }
.bk-done__actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .8rem; }

/* ---------------------------------------------- tablets & phones */
@media (max-width: 1080px) {
  .bk { grid-template-columns: minmax(0, 1fr); }
  .bk-summary { grid-column: 1; grid-row: auto; position: static; }
  .bk-menus { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .bk-types, .bk-extras, .bk-when { grid-template-columns: 1fr; }
  .bk-occasions { grid-template-columns: 1fr 1fr; }
  .bk-stepper__btn { min-width: 44px; height: 46px; }
  .bk-stepper__value { min-width: 6.5rem; }
  .bk-stepper__value input { width: 6.5rem; }
  .bk-col { grid-template-columns: 1fr; }
  .bk-slots { max-height: none; }
  .bk-step__title { font-size: 1.7rem; }
}

/* ---------------------------------------------- celebrations */
.bk-day.is-holiday { box-shadow: inset 0 0 0 1.5px rgba(185, 143, 76, .75); }
.bk-day.is-holiday::before { content: '✦'; position: absolute; top: 2px; right: 4px; font-size: .5rem; color: #b98f4c; }
.bk-day.is-holiday.is-sel::before { color: #e7c77a; }
.bk-cal__legend .is-holiday { box-shadow: inset 0 0 0 1.5px #b98f4c; border-radius: 3px; }
.bk-holidays { margin-top: .8rem; padding-top: .7rem; border-top: 1px dashed rgba(185, 143, 76, .45); }
.bk-holidays__title { font-size: .64rem; font-weight: 700; letter-spacing: .16em; color: #9a6f2c; margin-bottom: .4rem; }
.bk-holidays ul { display: grid; gap: .3rem; }
.bk-holiday { width: 100%; display: flex; justify-content: space-between; gap: .6rem; padding: .45rem .6rem; border-radius: 10px; background: #f3e7cd; text-align: left; font-size: .78rem; color: #1b1d15; }
.bk-holiday:hover { background: #ead7ae; }
.bk-holiday span { color: #6d705b; white-space: nowrap; }
.bk-holidays__note { font-size: .66rem; color: #8b8d77; margin-top: .4rem; }

/* ---------------------------------------------- every word in capitals on this page */
.bk, .bk .bk-step__title, .bk .bk-type strong, .bk .bk-occ span, .bk .bk-menu__name, .bk .bk-summary__title,
.bk .bk-slots__date, .bk .bk-cal__title, .bk .bk-done__title, .bk .bk-lead, .bk .bk-hint, .bk .field > span, .bk .field em, .bk button, .bk .btn, .bk legend, .bk output {
  text-transform: uppercase;
}
.bk .bk-step__title, .bk .bk-summary__title, .bk .bk-done__title, .bk .bk-occ span, .bk .bk-type strong, .bk .bk-menu__name, .bk .bk-cal__title, .bk .bk-slots__date { letter-spacing: .04em; }
.bk .bk-lead, .bk .bk-hint, .bk .bk-type span:last-child, .bk .bk-menu__courses li, .bk .bk-summary__small, .bk .bk-done p { letter-spacing: .03em; }
/* what people type, the email address and the copied request stay as written */
.bk input, .bk textarea, .bk .bk-done__copy, .bk a[href^="mailto:"] { text-transform: none; }
.bk .bk-credit { margin-top: .7rem; font-size: .62rem; letter-spacing: .08em; color: rgba(244, 239, 226, .45); }

/* ---------------------------------------------- pre-order basket */
.bk-basket { border-radius: 20px; padding: 1rem 1.1rem; background: #fbf5e8; color: #2c2f24; border: 1px solid rgba(185, 143, 76, .45); }
.bk-basket__list { display: grid; gap: .45rem; margin-bottom: .6rem; }
.bk-basket__list li { display: grid; grid-template-columns: 2.4rem 1fr auto; gap: .6rem; font-size: .92rem; padding-bottom: .45rem; border-bottom: 1px dashed rgba(185, 143, 76, .35); }
.bk-basket__qty { font-weight: 700; color: #9a6f2c; }
.bk-basket__price { font-weight: 600; }
.bk-basket__empty { font-size: .9rem; color: #6d705b; margin-bottom: .8rem; }
.bk-basket__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .8rem; }
.bk-basket__foot strong { font: 700 1.4rem var(--font-script); color: #1b1d15; }
.bk-basket .btn--line { color: #1b1d15; border-color: rgba(27, 29, 21, .4); }

/* ============================================================ event.html — pay + receipt */
.ev { max-width: 760px; }
.ev-card { padding: clamp(1.2rem, 3vw, 2rem); border-radius: 28px; background: #fbf5e8; color: #2c2f24; border: 1px solid rgba(185, 143, 76, .5); box-shadow: 0 24px 60px rgba(12, 12, 12, .35); }
.ev-status { display: grid; gap: .2rem; padding: .9rem 1.1rem; border-radius: 16px; margin-bottom: 1rem; background: #1b1d15; color: #f0dfb9; }
.ev-status strong { font: 700 1.5rem var(--font-script); color: #fff6df; }
.ev-status.is-paid { background: linear-gradient(135deg, #2f5a2f, #1b1d15); }
.ev-status.is-accepted { background: linear-gradient(135deg, #7a5a22, #1b1d15); }
.ev-status.is-declined, .ev-status.is-cancelled { background: #5b2a1f; }
.ev-note { font: italic 600 1.15rem/1.4 var(--font-script); color: #5c4720; margin: 0 0 1rem; }
.ev-receipt { border: 1px solid rgba(185, 143, 76, .4); border-radius: 18px; padding: 1.1rem; background: #fff; }
.ev-receipt__head { display: grid; grid-template-columns: 64px 1fr auto; gap: .9rem; align-items: center; padding-bottom: .9rem; border-bottom: 1px dashed rgba(185, 143, 76, .45); }
.ev-receipt__head img { border-radius: 50%; }
.ev-receipt__head strong { display: block; font: 700 1.3rem var(--font-script); color: #1b1d15; }
.ev-receipt__head span { font-size: .72rem; color: #6d705b; }
.ev-receipt__ref { text-align: right; }
.ev-receipt__ref span { display: block; font-size: .62rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #9a6f2c; }
.ev-receipt__ref b { font-size: 1.1rem; letter-spacing: .06em; }
.ev-rows { display: grid; gap: .35rem; margin: .9rem 0; }
.ev-rows div { display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem; }
.ev-rows dt { color: #6d705b; }
.ev-rows dd { margin: 0; text-align: right; font-weight: 600; color: #1b1d15; }
.ev-courses { margin: 0 0 .9rem; padding: .7rem .9rem; border-radius: 12px; background: #f6eddb; display: grid; gap: .25rem; font-size: .82rem; color: #3b3e31; }
.ev-rows--money { padding-top: .8rem; border-top: 1px dashed rgba(185, 143, 76, .45); }
.ev-rows--money .is-saving dd { color: #3f6b36; }
.ev-rows--money .is-total { padding-top: .5rem; margin-top: .3rem; border-top: 2px solid #1b1d15; font-size: 1.05rem; }
.ev-rows--money .is-total dd { font: 700 1.5rem var(--font-script); }
.ev-small { font-size: .74rem; color: #8b8d77; margin: 0; }
.ev-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.1rem; }
.ev-actions .btn--line { color: #1b1d15; border-color: rgba(27, 29, 21, .35); }
.ev-error { color: #b3412f; font-weight: 600; margin-top: .6rem; }
.ev-missing { text-align: center; }
.ev-missing h2 { font: 700 1.8rem var(--font-script); }
@media print {
  .nav, .footer, .chef, .page-pattern, .cat__head, .ev-actions, .rice-field, .cart, .cart-overlay, .skip-link { display: none !important; }
  body { background: #fff !important; }
  .ev-card { box-shadow: none; border: 0; }
}
@media (max-width: 560px) {
  .ev-receipt__head { grid-template-columns: 52px 1fr; }
  .ev-receipt__head img { width: 52px; height: 52px; }
  .ev-receipt__ref { grid-column: 1 / -1; text-align: left; display: flex; gap: .6rem; align-items: baseline; }
}

/* ---------------------------------------------- pre-order dish picker */
.bk-people { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.bk-people > span { font-size: .78rem; font-weight: 700; letter-spacing: .14em; color: #e7c77a; }
.bk-people em { font-style: normal; font-size: .72rem; color: rgba(244, 239, 226, .55); letter-spacing: .1em; }
.bk-pick-cats { display: flex; gap: .45rem; overflow-x: auto; scrollbar-width: none; padding-bottom: .4rem; margin-bottom: .6rem; }
.bk-pick-cats::-webkit-scrollbar { display: none; }
.bk-pick-cat { flex: none; display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .95rem; border-radius: 999px; border: 1px solid rgba(231, 199, 122, .35); color: #f4efe2; font-weight: 600; font-size: .78rem; letter-spacing: .08em; white-space: nowrap; }
.bk-pick-cat b { min-width: 1.3rem; height: 1.3rem; border-radius: 999px; display: inline-grid; place-items: center; background: #e7c77a; color: #1b1d15; font-size: .7rem; }
.bk-pick-cat.is-on { background: #e7c77a; color: #1b1d15; border-color: #e7c77a; }
.bk-pick-cat.is-on b { background: #1b1d15; color: #f0dfb9; }
.bk-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: .55rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.bk-dish { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: .8rem; padding: .5rem .7rem .5rem .5rem; border-radius: 18px; background: #fbf5e8; color: #2c2f24; border: 1px solid rgba(185, 143, 76, .35); transition: box-shadow .2s, border-color .2s; }
.bk-dish img { width: 64px; height: 64px; object-fit: contain; border-radius: 14px; background: #e1d3c2 url('../images/shemroon-pattern-01.jpg') repeat; background-size: 110px auto; }
.bk-dish__text { display: grid; min-width: 0; }
.bk-dish__text strong { font-size: .86rem; line-height: 1.25; color: #1b1d15; letter-spacing: .04em; }
.bk-dish__text span { font-size: .82rem; font-weight: 600; color: #9a6f2c; }
.bk-dish.is-in { border-color: #b98f4c; box-shadow: 0 0 0 2px rgba(231, 199, 122, .7); }
.bk-dish.is-off { opacity: .55; }
.bk-dish__step { display: flex; align-items: center; gap: .3rem; }
.bk-dish__step button { width: 36px; height: 36px; border-radius: 50%; font-size: 1.15rem; font-weight: 700; color: #1b1d15; border: 1px solid rgba(27, 29, 21, .3); background: #fff; }
.bk-dish__step button:last-child { background: linear-gradient(180deg, #f3dca2, #b98f4c); border-color: #b98f4c; }
.bk-dish__step button:disabled { opacity: .3; }
.bk-dish__step output { min-width: 1.6rem; text-align: center; font-weight: 700; color: #1b1d15; }
.bk-basket__title { font: 700 1.3rem var(--font-script); color: #1b1d15; margin: 0 0 .5rem; letter-spacing: .04em; }
.bk-basket__menu { color: #1b1d15; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; font-size: .8rem; }

/* RESERVATIONS title: a Persian samovar with rising steam (tea for the guests) and a
   silver-service cloche whose lid lifts now and then to show a sparkle */
.bk-title { align-items: flex-end; }
.bk-title .display { font-size: clamp(3.25rem, 8.6vw, 8.4rem); }
.bk-deco { flex: none; display: block; height: clamp(4.4rem, 13vw, 11.5rem); width: auto; overflow: visible;
  margin-bottom: clamp(.2rem, .8vw, .7rem);
  filter: drop-shadow(0 3px 0 rgba(46, 52, 32, .8)) drop-shadow(0 14px 22px rgba(20, 24, 14, .42)); }
.bk-deco--samovar { aspect-ratio: 120 / 210; }
.bk-deco--cloche  { aspect-ratio: 150 / 210; }
.bk-steam path { opacity: 0; animation: bk-steam 3.6s ease-in-out infinite; transform-box: fill-box; transform-origin: bottom; }
.bk-steam path:nth-child(2) { animation-delay: 1.2s; }
.bk-steam path:nth-child(3) { animation-delay: 2.4s; }
@keyframes bk-steam { 0% { opacity: 0; transform: translateY(6px) scaleY(.7); } 35% { opacity: .85; } 100% { opacity: 0; transform: translateY(-14px) scaleY(1.15); } }
.bk-lid { transform-box: view-box; transform-origin: 14px 166px; animation: bk-lid 6s cubic-bezier(.45, 0, .2, 1) infinite; }
@keyframes bk-lid { 0%, 55%, 100% { transform: none; } 68%, 82% { transform: translate(-4px, -16px) rotate(-14deg); } }
.bk-sparkles path { opacity: 0; transform-box: fill-box; transform-origin: center; animation: bk-spark 6s ease-in-out infinite; }
.bk-sparkles path:nth-child(2) { animation-delay: .15s; }
.bk-sparkles path:nth-child(3) { animation-delay: .3s; }
@keyframes bk-spark { 0%, 60%, 90%, 100% { opacity: 0; transform: scale(.3); } 70%, 80% { opacity: 1; transform: scale(1.2) rotate(45deg); } }
@media (max-width: 600px) {
  .bk-title { gap: .3rem; }
  .bk-title .display { font-size: 9.3vw; }
  .bk-deco--samovar { height: 3rem; }
  .bk-deco--cloche  { height: 2.6rem; }
}
@media (prefers-reduced-motion: reduce) { .bk-steam path, .bk-lid, .bk-sparkles path { animation: none; } .bk-steam path { opacity: .6; } }

/* Reservations has no plane above it: no extra room needed */
.landmark-title.bk-title { margin-top: .2rem; }
