
@font-face{
  font-family:'BK Izhitsa';
  src:
    local('Izhitsa.kz'),
    local('Izhitsa.Kz'),
    url('https://fontsforyou.com/fonts/i/Izhitsa.Kz.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:'BK Amaltea One';
  src:
    local('Amaltea One'),
    local('AmalteaOne'),
    url('https://ffont.ru/upls/fonts/AmalteaOne.ttf') format('truetype'),
    url('https://fontsforyou.com/fonts/a/AmalteaOne.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

:root{
  --bk-bg:#ead8ba;
  --bk-bg2:#f7ecda;
  --bk-paper:#fff9ed;
  --bk-paper2:#f3dfba;
  --bk-ink:#3b2416;
  --bk-muted:#80674f;
  --bk-line:rgba(121,79,42,.15);
  --bk-gold:#c58a41;
  --bk-gold-dark:#925f2e;
  --bk-dark:#3b281d;
  --bk-toolbar:76px;
  --bk-bottom:16px;
  --bk-radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bk-bg);color:var(--bk-ink)}
html{scroll-behavior:auto}
body{
  font-family:Georgia,'Times New Roman',serif;
  background:
    radial-gradient(circle at 15% 10%,rgba(255,255,255,.46),transparent 30%),
    radial-gradient(circle at 88% 84%,rgba(177,111,53,.12),transparent 26%),
    linear-gradient(180deg,#f5ead8 0%,#ead5b4 100%);
}
body::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;opacity:.13;
  background-image:
    repeating-linear-gradient(0deg,rgba(70,43,23,.025) 0 1px,transparent 1px 5px),
    repeating-linear-gradient(90deg,rgba(70,43,23,.018) 0 1px,transparent 1px 7px);
}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
.app{height:100dvh;display:grid;grid-template-rows:var(--bk-toolbar) minmax(0,1fr);overflow:hidden}

/* Header */
.topbar{
  height:var(--bk-toolbar);
  display:flex;align-items:center;gap:14px;
  padding:0 clamp(12px,2vw,22px);
  background:rgba(255,250,241,.92);
  border-bottom:1px solid var(--bk-line);
  box-shadow:0 7px 24px rgba(79,49,27,.07);
  backdrop-filter:blur(16px);
  position:relative;z-index:120;
}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand-mark{
  width:54px;height:54px;flex:0 0 54px;border-radius:50%;
  overflow:hidden;border:1px solid rgba(160,109,61,.22);
  background:#fff9ef;box-shadow:0 7px 16px rgba(79,49,27,.08)
}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-text{min-width:0;display:flex;flex-direction:column;gap:4px}
.brand-text strong{
  font-family:'BK Izhitsa',Georgia,serif;
  font-size:18px;line-height:1;color:#3a2417;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.brand-text small{
  font:700 10px/1 Arial,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;color:#9a7958;
  white-space:nowrap
}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.icon-btn,.lang-btn{
  height:42px;border:1px solid rgba(132,87,47,.16);
  border-radius:8px;background:rgba(255,255,255,.72);color:#4c3020;
  padding:0 15px;box-shadow:0 4px 12px rgba(77,48,27,.04);
  font-weight:700;touch-action:manipulation
}
.icon-btn:hover,.lang-btn:hover{background:#fffdf9;border-color:rgba(155,101,52,.30)}
.lang-btn{font:800 11px/1 Arial,sans-serif;letter-spacing:.08em;min-width:48px}
.lang-btn.active{background:var(--bk-gold);color:#fff;border-color:var(--bk-gold)}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:rgba(129,84,45,.05)}
.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#c27f38,#e0b873);transition:width .35s ease}

/* Stage and book */
.stage{
  position:relative;min-height:0;height:100%;
  display:grid;place-items:center;
  padding:24px clamp(92px,8vw,140px) 96px;
  perspective:2200px;
}
.book-shell{
  position:relative;
  width:min(1120px,calc(100vw - 250px));
  height:min(700px,calc(100dvh - var(--bk-toolbar) - 132px));
  min-height:0;
  perspective:2200px;
  transform-style:preserve-3d;
  filter:drop-shadow(0 24px 50px rgba(74,45,25,.16));
}
.book-shell::before{
  content:"";
  position:absolute;inset:13px -14px -14px 14px;
  border-radius:22px;
  background:linear-gradient(135deg,#b98f5d,#765032 55%,#b38a5c);
  box-shadow:0 18px 42px rgba(71,43,24,.18);
  transform:rotate(.3deg);
}
.book-shell::after{
  content:"";
  position:absolute;left:10px;top:22px;bottom:22px;width:10px;z-index:1;
  background:linear-gradient(90deg,rgba(78,43,19,.18),rgba(255,255,255,.15),transparent);
  filter:blur(1px);pointer-events:none;
}

/* Page stack */
.page{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  overflow:hidden;
  border-radius:var(--bk-radius);
  background:
    radial-gradient(circle at 15% 16%,rgba(255,255,255,.48),transparent 25%),
    linear-gradient(120deg,var(--bk-paper),#f7e8cc 72%,var(--bk-paper2));
  color:var(--bk-ink);
  border:1px solid rgba(126,82,45,.11);
  box-shadow:0 22px 50px rgba(72,45,26,.13),inset 0 0 0 1px rgba(255,255,255,.55);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateZ(0);
  transform-style:preserve-3d;
  backface-visibility:hidden;
  z-index:2;
}
.page::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.17;
  background-image:repeating-radial-gradient(circle at 20% 30%,rgba(91,55,26,.14) 0 .6px,transparent .8px 3.2px);
}
.page::after{
  content:"";position:absolute;top:0;bottom:0;right:0;width:18px;pointer-events:none;z-index:5;
  background:linear-gradient(90deg,transparent,rgba(85,47,20,.06));
}
.page.active,.page.page-under,.page.page-flip-forward,.page.page-flip-backward{
  visibility:visible;opacity:1
}
.page.active{z-index:5;pointer-events:auto}
.page.page-under{z-index:3;pointer-events:none}
.page.page-flip-forward{
  z-index:9;pointer-events:none;
  transform-origin:left center;
  animation:bkPageForward .68s cubic-bezier(.28,.68,.18,1) forwards
}
.page.page-flip-backward{
  z-index:9;pointer-events:none;
  transform-origin:right center;
  animation:bkPageBackward .68s cubic-bezier(.28,.68,.18,1) forwards
}
@keyframes bkPageForward{
  0%{transform:rotateY(0deg) translateX(0) scale(1);filter:brightness(1);box-shadow:0 22px 50px rgba(72,45,26,.13)}
  36%{transform:rotateY(-38deg) translateX(-1%) scale(.996);filter:brightness(.96);box-shadow:18px 22px 44px rgba(55,31,16,.18)}
  70%{transform:rotateY(-78deg) translateX(-3%) scale(.986);filter:brightness(.82);box-shadow:28px 20px 42px rgba(48,26,13,.24)}
  100%{transform:rotateY(-103deg) translateX(-5%) scale(.978);opacity:.18;filter:brightness(.70)}
}
@keyframes bkPageBackward{
  0%{transform:rotateY(0deg) translateX(0) scale(1);filter:brightness(1);box-shadow:0 22px 50px rgba(72,45,26,.13)}
  36%{transform:rotateY(38deg) translateX(1%) scale(.996);filter:brightness(.96);box-shadow:-18px 22px 44px rgba(55,31,16,.18)}
  70%{transform:rotateY(78deg) translateX(3%) scale(.986);filter:brightness(.82);box-shadow:-28px 20px 42px rgba(48,26,13,.24)}
  100%{transform:rotateY(103deg) translateX(5%) scale(.978);opacity:.18;filter:brightness(.70)}
}

/* Scroll exists only inside the active paper. No stacked document scroll. */
.page-content{
  position:relative;z-index:2;
  flex:1 1 auto;min-height:0;
  overflow-y:auto;overflow-x:hidden;
  padding:34px 38px 24px;
  scrollbar-width:thin;
  scrollbar-color:rgba(135,91,51,.34) transparent;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.page-content::-webkit-scrollbar{width:6px}
.page-content::-webkit-scrollbar-track{background:transparent}
.page-content::-webkit-scrollbar-thumb{background:rgba(135,91,51,.28);border-radius:6px}
.paper-grain{display:none}

/* Footer belongs to page layout, never overlays content */
.page-footer{
  position:relative;z-index:3;flex:0 0 auto;
  margin:0 38px 16px;padding:12px 0 0;
  border-top:1px solid rgba(126,82,45,.12);
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;gap:12px;
  color:#91775f;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.10em;text-transform:uppercase
}
.page-footer>b{justify-self:end;color:#9b6637}
.graycape-credit{
  justify-self:center;display:inline-flex;align-items:center;gap:5px;
  white-space:nowrap;font:500 9px/1.2 Arial,sans-serif!important;
  text-transform:none!important;letter-spacing:.025em!important;color:#8b735d
}
.graycape-heart{color:#b24d3c;font-size:12px;line-height:1}
.graycape-credit a{color:#5b3a24;text-decoration:none;font-weight:800;letter-spacing:.04em}

/* Typography */
.page-heading{margin:0 0 20px}
.page-kicker{
  display:block;margin:0 0 8px;
  color:#9d6938;font:800 10px/1 Arial,sans-serif;
  letter-spacing:.20em;text-transform:uppercase
}
.page-heading h2,.contact-inner h2{
  margin:0;color:#392217;
  font-family:'BK Izhitsa',Georgia,serif;
  font-size:clamp(38px,3vw,54px);line-height:.94
}
.page-heading p{margin:10px 0 0;color:#80664f;font-size:16px;font-style:italic}
.group-title{
  margin:18px 0 10px;padding:0 0 8px;border-bottom:1px solid var(--bk-line);
  color:#9a6537;font:800 10px/1 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase
}

/* Cover */
.cover-inner{
  min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:30px 28px
}
.crest{overflow:hidden;border-radius:50%;background:#fff8ec;border:1px solid rgba(156,102,53,.20)}
.crest img{width:100%;height:100%;object-fit:contain}
.cover-logo{width:128px;height:128px;margin-bottom:18px}
.contact-logo{width:106px;height:106px;margin-bottom:18px}
.cover-eyebrow{margin:0;color:#9d6938;font:800 11px/1 Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase}
.cover-inner h1{
  margin:12px 0 8px;max-width:780px;
  font-family:'BK Izhitsa',Georgia,serif;
  font-size:clamp(54px,5.6vw,88px);line-height:.90;color:#392217
}
.ornament{display:flex;align-items:center;gap:10px;width:min(260px,62%);margin:4px auto;color:#c69755}
.ornament span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#c69755)}
.ornament span:last-child{background:linear-gradient(90deg,#c69755,transparent)}
.ornament b{font-size:8px}
.cover-subtitle{margin:12px 0 0;color:#72543c;font-size:clamp(24px,2.2vw,33px);font-style:italic}
.cover-note{margin:17px 0 0;color:#9a7959;font:800 11px/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.cover-actions,.history-actions,.contact-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:24px}
.primary-btn,.secondary-btn{
  min-height:48px;border-radius:8px;padding:0 20px;
  border:1px solid rgba(148,95,47,.20);
  font:800 12px/1 Arial,sans-serif;letter-spacing:.10em;text-transform:uppercase;
  touch-action:manipulation
}
.primary-btn{background:linear-gradient(180deg,#cf964c,#b87934);color:#fff;border-color:#b87934;box-shadow:0 9px 20px rgba(154,91,36,.15)}
.secondary-btn{background:rgba(255,255,255,.70);color:#5a3822}

/* Menu cards */
.dish-group{margin:0 0 18px}
.dish-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  gap:12px
}
.dish{
  display:grid;grid-template-columns:112px minmax(0,1fr);
  min-height:118px;overflow:hidden;
  border:1px solid rgba(128,83,44,.13);border-radius:11px;
  background:linear-gradient(110deg,rgba(255,255,255,.72),rgba(248,232,202,.72));
  box-shadow:0 6px 14px rgba(92,56,30,.045)
}
.dish-thumb{position:relative;margin:0;min-height:118px;background:#f0e4d3;overflow:hidden}
.dish-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dynamic-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:10px;text-align:center;color:#967b60;font:800 9px/1.45 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;background:linear-gradient(135deg,#f2e5d0,#e4c9a1)}
.dish-copy{min-width:0;padding:12px 13px 11px;display:flex;flex-direction:column}
.dish-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:9px}
.dish-line h3{
  margin:0;font-family:'BK Amaltea One',Georgia,serif;
  font-size:18px;line-height:1.08;font-weight:400;color:#3b2518;overflow-wrap:anywhere
}
.dish-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}
.dish-weight{font:800 9px/1 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#9b7d60}
.dish-price{font:800 16px/1 Arial,sans-serif;color:#945c2d}
.dish-desc{margin:6px 0 0;color:#6e5845;font:400 10px/1.42 Arial,sans-serif;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.dish-actions{display:flex;align-items:center;margin-top:auto;padding-top:8px}
.add-to-order{
  min-height:32px;padding:0 12px;border:1px solid rgba(125,82,44,.20);
  border-radius:6px;background:rgba(255,255,255,.74);color:#523421;
  font:800 9px/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase
}
.unavailable{color:#9b5d52;font:800 9px/1.3 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}

/* History */
.story-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.history-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.history-gallery-item{
  appearance:none;border:0;padding:0;position:relative;overflow:hidden;border-radius:9px;
  aspect-ratio:1/1;background:#ead9bf;box-shadow:0 7px 18px rgba(75,46,26,.10)
}
.history-gallery-item.is-featured{grid-column:1/-1;aspect-ratio:16/10}
.history-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.history-gallery-item:hover img{transform:scale(1.025)}
.history-gallery-caption{
  position:absolute;left:0;right:0;bottom:0;padding:28px 10px 9px;
  color:#fff;text-align:left;font:700 10px/1.25 Arial,sans-serif;
  background:linear-gradient(180deg,transparent,rgba(36,21,12,.76))
}
.history-gallery-empty{min-height:210px;display:grid;place-items:center;border:1px dashed rgba(137,91,50,.24);border-radius:9px;color:#987b5e;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.10em;text-transform:uppercase}
.story-quote{margin:12px 0 0;padding:17px 18px;border-left:2px solid #b97b39;background:rgba(255,255,255,.42);color:#543724;font-size:22px;line-height:1.32;border-radius:0 8px 8px 0}
.story-copy{padding:20px;border:1px solid rgba(129,84,45,.11);border-radius:12px;background:rgba(255,255,255,.46)}
.story-paragraph{margin:0 0 13px;color:#523b2a;font:400 14px/1.72 Arial,sans-serif}

/* Contact */
.contact-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.contact-sub{margin:8px 0 0;color:#765941;font-size:20px;font-style:italic}
.contact-thanks{font-size:21px;margin:15px 0}
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(680px,94%)}
.contact-cards a{padding:14px 16px;border:1px solid rgba(128,83,44,.13);border-radius:8px;background:rgba(255,255,255,.65);color:#463021;text-decoration:none}
.contact-cards small{display:block;margin-bottom:4px;color:#9a7959;font:800 9px/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.contact-cards strong{font-size:13px}

/* Pager / external controls */
.pager{
  position:absolute;z-index:40;left:50%;bottom:16px;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;padding:7px 9px;
  border:1px solid rgba(126,82,45,.13);border-radius:9px;
  background:rgba(255,250,242,.93);box-shadow:0 10px 22px rgba(70,43,24,.10);backdrop-filter:blur(12px)
}
.pager button{width:44px;height:44px;border:1px solid rgba(126,82,45,.16);border-radius:7px;background:#fffaf2;color:#583820;font-size:20px}
.pager button:disabled{opacity:.32;cursor:default}
.page-count{min-width:76px;text-align:center;color:#72553d;font:800 10px/1 Arial,sans-serif;letter-spacing:.12em}

/* Category drawer */
.menu-ribbon{
  position:fixed;z-index:110;left:10px;top:50%;transform:translateY(-50%);
  width:58px;height:210px;border:1px solid rgba(155,101,52,.18);border-left:0;border-radius:0 10px 10px 0;
  background:rgba(255,249,239,.94);color:#664321;box-shadow:8px 12px 22px rgba(73,45,25,.09);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow:hidden
}
.ribbon-copy{display:flex;align-items:center;gap:6px;writing-mode:vertical-rl;transform:rotate(180deg);font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.17em}
.ribbon-copy small{font-size:7px;color:#9c8166}.ribbon-copy strong{font-size:9px}
.ribbon-arrows{display:flex;color:#b47b40}.ribbon-arrows i{font-style:normal;font-size:16px}
.ribbon-pulse{display:none}
.drawer{
  position:fixed;z-index:150;left:0;top:var(--bk-toolbar);bottom:0;width:min(390px,92vw);
  padding:22px;background:rgba(255,249,240,.985);border-right:1px solid var(--bk-line);
  box-shadow:18px 0 42px rgba(70,43,24,.12);transform:translateX(-103%);transition:transform .28s ease;overflow:auto
}
.drawer.open{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--bk-line)}
.drawer-head strong{font-family:'BK Izhitsa',Georgia,serif;font-size:28px}
.drawer-head button{width:36px;height:36px;border:1px solid var(--bk-line);border-radius:7px;background:#fffaf2;color:#563821;font-size:20px}
.drawer-history-card{
  width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;
  margin:14px 0;padding:13px 14px;text-align:left;border:1px solid var(--bk-line);border-radius:8px;background:#fffaf3;color:#4e3321
}
.drawer-history-copy{display:flex;flex-direction:column;gap:3px}.drawer-history-copy strong{font-size:14px}.drawer-history-copy small{font:600 10px/1.35 Arial,sans-serif;color:#8a7058}
.drawer-history-arrow{font:800 9px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#9c6634}
.toc{display:grid;gap:4px}.toc-section-label{margin:13px 8px 6px;color:#a18467;font:800 9px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.toc button{min-height:44px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:0 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:#4c3323;text-align:left}
.toc button:hover,.toc button.is-active{background:rgba(197,138,65,.08);border-color:rgba(155,101,52,.10)}
.toc button span{color:#a17f5c;font:800 9px/1 Arial,sans-serif}.toc button b{font-weight:700}
.drawer-note{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--bk-line);color:#8a7058;font:600 10px/1.5 Arial,sans-serif}
.scrim{position:fixed;z-index:140;inset:var(--bk-toolbar) 0 0;background:rgba(61,38,23,.25);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease}
.scrim.open{opacity:1;pointer-events:auto}

/* Search */
.search-panel{
  position:fixed;z-index:170;top:calc(var(--bk-toolbar) + 12px);left:50%;transform:translate(-50%,-10px);
  width:min(640px,calc(100vw - 24px));padding:10px;border:1px solid var(--bk-line);border-radius:10px;
  background:rgba(255,249,240,.98);box-shadow:0 22px 45px rgba(66,41,24,.16);opacity:0;pointer-events:none;transition:.18s ease
}
.search-panel.open{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.search-input{width:100%;height:46px;padding:0 13px;border:1px solid var(--bk-line);border-radius:7px;background:#fffdf8;color:#432c1d;outline:none}
.search-results{max-height:360px;overflow:auto;display:grid;gap:3px;margin-top:7px}
.search-results button{min-height:40px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:#4c3323;text-align:left}
.search-results button:hover{background:rgba(197,138,65,.08)}

/* Cart */
.order-fab{
  position:fixed;z-index:115;right:14px;bottom:14px;height:48px;
  display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid rgba(56,36,24,.20);
  border-radius:8px;background:#3a281e;color:#fffaf2;box-shadow:0 11px 24px rgba(57,36,22,.16);
  font:800 10px/1 Arial,sans-serif;letter-spacing:.06em
}
.order-fab b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:5px;background:#c58a41;color:#fff}
.order-drawer{
  position:fixed;z-index:190;right:0;top:0;width:min(430px,95vw);height:100dvh;
  display:flex;flex-direction:column;background:#fbf5ec;color:#342217;
  border-left:1px solid var(--bk-line);box-shadow:-18px 0 42px rgba(66,42,25,.15);transform:translateX(105%);transition:transform .28s ease
}
.order-drawer.open{transform:none}
.order-head{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--bk-line)}
.order-head strong{font-size:19px}.order-close,.waiter-close{width:38px;height:38px;border:1px solid var(--bk-line);border-radius:7px;background:#fff;color:#4a3020}
.order-items{flex:1;overflow:auto;padding:12px 18px}
.order-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid rgba(124,81,44,.10)}
.order-line img{width:56px;height:54px;object-fit:cover;border-radius:5px}.order-line h4{margin:1px 0 6px;font-size:14px}
.qty{display:flex;align-items:center;gap:7px}.qty button{width:28px;height:28px;border:1px solid var(--bk-line);border-radius:5px;background:#fff}
.order-price{font:800 13px/1.2 Arial,sans-serif;color:#81502a;white-space:nowrap}
.order-foot{padding:16px 18px;border-top:1px solid var(--bk-line);background:#fffaf4}
.order-total{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px}.order-total span{font:800 10px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:#7c6652}.order-total strong{font:800 23px/1 Arial,sans-serif}
.order-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.order-actions button{min-height:42px;border:1px solid var(--bk-line);border-radius:6px;font-weight:700}.show-waiter{background:#37291f;color:#fff}.clear-order{background:#fff;color:#5b4030}
.order-empty{text-align:center;color:#7c6754;padding:40px 12px;font:500 13px/1.6 Arial,sans-serif}

/* Waiter */
.waiter-modal{position:fixed;z-index:210;inset:0;display:none;overflow:auto;padding:24px;background:#f3e5d0;color:#302015}.waiter-modal.open{display:block}
.waiter-card{max-width:760px;min-height:calc(100dvh - 48px);margin:0 auto;padding:26px;background:#fffaf1;border:1px solid var(--bk-line)}
.waiter-top{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--bk-line)}.waiter-top h2{margin:0;font-size:32px}.waiter-top p{margin:7px 0 0;color:#7c6652}
.waiter-list{margin-top:18px}.waiter-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(124,81,44,.10);font-size:19px}.waiter-row b{white-space:nowrap}
.waiter-grand{display:flex;justify-content:space-between;align-items:flex-end;margin-top:24px;padding-top:18px;border-top:2px solid #4a3322}.waiter-grand span{font-size:16px;text-transform:uppercase;letter-spacing:.11em}.waiter-grand strong{font:800 32px/1 Arial,sans-serif}

/* Gallery lightbox */
.history-lightbox{
  position:fixed;z-index:220;inset:0;display:none;align-items:center;justify-content:center;
  padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
  background:rgba(26,17,11,.92);backdrop-filter:blur(6px)
}
.history-lightbox.open{display:flex}
.history-lightbox-figure{margin:0;max-width:min(1100px,calc(100vw - 110px));max-height:90dvh;text-align:center;color:#fff}
.history-lightbox-figure img{max-width:100%;max-height:82dvh;object-fit:contain;margin:auto;box-shadow:0 18px 48px rgba(0,0,0,.28)}
.history-lightbox-figure figcaption{margin-top:10px;font:600 12px/1.4 Arial,sans-serif;color:#e8d6bc}
.history-lightbox-close,.history-lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:rgba(255,255,255,.08);color:#fff}
.history-lightbox-close{top:18px;right:18px;width:42px;height:42px;font-size:22px}
.history-lightbox-nav{top:50%;transform:translateY(-50%);width:46px;height:56px;font-size:22px}.history-lightbox-prev{left:18px}.history-lightbox-next{right:18px}

/* Responsive */
@media(max-width:1100px){
  .stage{padding-left:74px;padding-right:74px}
  .book-shell{width:min(980px,calc(100vw - 160px))}
  .dish-list{grid-template-columns:1fr}
  .story-layout{grid-template-columns:1fr;gap:18px}
}
@media(max-width:900px){
  :root{--bk-toolbar:64px;--bk-bottom:max(10px,env(safe-area-inset-bottom))}
  .topbar{padding:0 9px;gap:7px}
  .brand-logo{width:46px;height:46px;flex-basis:46px}
  .brand-text small{display:none}
  .brand-text strong{font-size:15px;max-width:180px}
  .top-actions{gap:4px}
  .icon-btn,.lang-btn{height:38px;padding:0 10px;border-radius:7px;font-size:11px}
  .lang-btn{min-width:35px;width:35px;padding:0}
  .stage{padding:10px 8px 118px;perspective:1600px}
  .book-shell{width:100%;height:calc(100dvh - var(--bk-toolbar) - 132px);min-height:0;perspective:1600px;filter:drop-shadow(0 15px 30px rgba(74,45,25,.14))}
  .book-shell::before{inset:8px -5px -7px 5px;border-radius:14px}
  .book-shell::after{left:5px;top:12px;bottom:12px;width:7px}
  .page{border-radius:12px}
  .page-content{padding:24px 17px 18px;scrollbar-width:none}
  .page-content::-webkit-scrollbar{display:none}
  .page-footer{margin:0 17px 11px;padding-top:9px;grid-template-columns:1fr auto}
  .page-footer>span:first-child{display:none}.graycape-credit{justify-self:start}.page-footer>b{justify-self:end}
  .page-heading{margin-bottom:16px}.page-heading h2{font-size:clamp(34px,8vw,46px)}.page-heading p{font-size:14px}
  .cover-inner{padding:22px 14px}.cover-logo{width:94px;height:94px;margin-bottom:12px}
  .cover-inner h1{font-size:clamp(40px,10vw,60px)}.cover-subtitle{font-size:clamp(20px,5vw,27px)}.cover-note{font-size:10px;margin-top:13px}
  .cover-actions{margin-top:18px}
  .dish{grid-template-columns:100px minmax(0,1fr);min-height:106px}.dish-thumb{min-height:106px}.dish-copy{padding:10px 11px}.dish-line h3{font-size:16px}.dish-price{font-size:14px}
  .history-gallery{gap:7px}.history-gallery-item.is-featured{aspect-ratio:16/10}.story-copy{padding:16px}.story-paragraph{font-size:13px}.story-quote{font-size:20px}
  .pager{position:fixed;bottom:var(--bk-bottom);z-index:125}
  .menu-ribbon{top:auto;bottom:calc(var(--bk-bottom) + 56px);left:8px;transform:none;width:auto;height:40px;max-width:43vw;padding:0 10px;border:1px solid rgba(155,101,52,.18);border-radius:7px;flex-direction:row;gap:7px}
  .ribbon-copy{writing-mode:horizontal-tb;transform:none}.ribbon-copy small{display:none}.ribbon-copy strong{font-size:9px;white-space:nowrap}
  .order-fab{right:8px;bottom:calc(var(--bk-bottom) + 56px);height:40px;max-width:52vw;padding:0 10px;font-size:9px;white-space:nowrap;overflow:hidden}
  .order-fab span:first-child{overflow:hidden;text-overflow:ellipsis}
  .drawer{top:var(--bk-toolbar)}
  .scrim{inset:var(--bk-toolbar) 0 0}
}
@media(max-width:620px){
  .brand-text{display:none}
  .history-btn{padding:0 9px}.top-actions{margin-left:auto}
  .stage{padding-left:5px;padding-right:5px}
  .book-shell::after{display:none}
  .page-content{padding:20px 12px 16px}
  .page-heading h2{font-size:clamp(31px,10vw,41px)}
  .cover-logo{width:82px;height:82px}
  .cover-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.primary-btn,.secondary-btn{min-height:44px;padding:0 12px;font-size:10px}
  .dish{grid-template-columns:88px minmax(0,1fr);min-height:98px}.dish-thumb{min-height:98px}.dish-copy{padding:9px}.dish-line h3{font-size:15px}.dish-desc{font-size:9px;-webkit-line-clamp:3}
  .contact-cards{grid-template-columns:1fr}
  .history-lightbox-figure{max-width:94vw}.history-lightbox-figure img{max-height:74dvh}.history-lightbox-prev{left:6px}.history-lightbox-next{right:6px}
}
@media(max-width:390px){
  .icon-btn{padding:0 7px;font-size:10px}.lang-btn{width:31px;min-width:31px}
  .cover-actions{grid-template-columns:1fr}
  .dish{grid-template-columns:82px minmax(0,1fr)}
  .menu-ribbon{max-width:41vw;padding:0 8px}.order-fab{max-width:55vw;padding:0 8px}
}
@media(max-height:650px) and (min-width:901px){
  .stage{padding-top:9px;padding-bottom:72px}
  .book-shell{height:calc(100dvh - var(--bk-toolbar) - 84px)}
  .page-content{padding-top:22px}
  .cover-logo{width:92px;height:92px;margin-bottom:10px}
  .cover-inner h1{font-size:clamp(46px,4.8vw,68px)}
  .cover-subtitle{font-size:23px}.cover-note{margin-top:10px}.cover-actions{margin-top:15px}
  .dish{min-height:96px;grid-template-columns:94px minmax(0,1fr)}.dish-thumb{min-height:96px}.dish-copy{padding:9px 10px}.dish-line h3{font-size:15px}.dish-desc{font-size:9px}.add-to-order{min-height:28px}
}
@media(prefers-reduced-motion:reduce){
  .page.page-flip-forward,.page.page-flip-backward{animation-duration:.01ms!important}
}


/* ===== v1.7.0 — real book interaction ===== */

/* Typography must remain explicit even if other WordPress/theme CSS exists. */
.brand-text strong,
.page-heading h2,
.cover-inner h1,
.contact-inner h2,
.drawer-head strong{
  font-family:'BK Izhitsa','Izhitsa.kz',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important;
}
.dish-line h3{
  font-family:'BK Amaltea One','Amaltea One',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important;
}

/* Menu pages no longer show an inner scrollbar. Long categories are split by JS. */
.page-content{
  overflow:hidden !important;
  scrollbar-width:none !important;
}
.page-content::-webkit-scrollbar{display:none !important}

/* Interactive paper corners */
.page-corner{
  position:absolute;
  z-index:80;
  top:0;
  width:82px;
  height:82px;
  border:0;
  padding:0;
  background:transparent;
  opacity:.34;
  transition:opacity .18s ease,filter .18s ease;
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
  cursor:grab;
}
.page-corner:hover{opacity:.88}
.page-corner:active,.page-corner.is-dragging{cursor:grabbing;opacity:1}
.page-corner[disabled]{opacity:0;pointer-events:none}
.page-corner::before{
  content:"";
  position:absolute;
  top:0;
  width:72px;
  height:72px;
  filter:drop-shadow(0 6px 8px rgba(73,43,22,.12));
}
.page-corner::after{
  content:"";
  position:absolute;
  top:17px;
  width:20px;
  height:20px;
  border-top:1px solid rgba(114,72,36,.35);
  border-right:1px solid rgba(114,72,36,.35);
}
.page-corner-next{right:0}
.page-corner-next::before{
  right:0;
  clip-path:polygon(100% 0,0 0,100% 100%);
  background:linear-gradient(225deg,rgba(217,184,134,.92),rgba(255,251,240,.92) 48%,rgba(153,105,60,.18) 50%,transparent 51%);
}
.page-corner-next::after{right:18px;transform:rotate(45deg)}
.page-corner-prev{left:0}
.page-corner-prev::before{
  left:0;
  clip-path:polygon(0 0,100% 0,0 100%);
  background:linear-gradient(135deg,rgba(217,184,134,.92),rgba(255,251,240,.92) 48%,rgba(153,105,60,.18) 50%,transparent 51%);
}
.page-corner-prev::after{left:18px;transform:rotate(-135deg)}

/* Live-drag page. */
.page.is-manual-turn{
  transition:none !important;
  will-change:transform,opacity,filter,box-shadow;
  pointer-events:none !important;
}
.page.is-under-turn{
  visibility:visible !important;
  opacity:1 !important;
  z-index:4 !important;
  pointer-events:none !important;
}
.page.manual-settle{
  transition:
    transform .42s cubic-bezier(.22,.72,.18,1),
    opacity .32s ease,
    filter .32s ease,
    box-shadow .32s ease !important;
}
.book-shell.is-turning .page-corner{pointer-events:none}

/* Subtle page-edge shading during drag. */
.page.is-manual-turn::after{
  width:clamp(18px,5vw,72px) !important;
  background:linear-gradient(90deg,transparent,rgba(66,35,15,.18)) !important;
}

/* Pagination marker for continuation sheets */
.page[data-continuation="1"] .page-kicker::after{
  content:" · ";
}
.page[data-continuation="1"] .page-kicker{
  opacity:.82;
}

/* Page count remains readable with more generated sheets. */
.page-count{min-width:88px}

/* On phones, the fold remains usable but not visually intrusive. */
@media(max-width:900px){
  .page-corner{width:62px;height:62px;opacity:.22}
  .page-corner::before{width:56px;height:56px}
  .page-corner::after{top:13px;width:16px;height:16px}
  .page-corner-next::after{right:14px}
  .page-corner-prev::after{left:14px}
}
@media(max-width:420px){
  .page-corner{width:52px;height:52px}
  .page-corner::before{width:47px;height:47px}
}


/* ===== v1.8.0 — adaptive sheets + smooth paper fold ===== */
body:not(.bk-ready) .book-shell{visibility:hidden}

/* Content can always scroll if real-world content is taller than the calculated sheet.
   The scrollbar itself stays invisible. */
.page-content{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
  overscroll-behavior-y:contain !important;
  touch-action:pan-y !important;
}
.page-content::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important}

/* Soft masks imply depth instead of showing a browser scrollbar. */
.page.active.has-scroll::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:6 !important;
  pointer-events:none !important;
  opacity:1 !important;
  background:
    linear-gradient(180deg,
      rgba(255,249,237,.82) 0,
      rgba(255,249,237,0) 20px,
      rgba(255,249,237,0) calc(100% - 28px),
      rgba(192,143,83,.12) 100%) !important;
}

/* Measurement page used by JS pagination. */
.page.bk-measure-page{
  display:flex !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:-999 !important;
  transform:none !important;
  animation:none !important;
}

/* Better paper-turn fold. */
.page-turn-fold{
  position:absolute;
  z-index:95;
  top:0;bottom:0;
  width:0;
  opacity:0;
  pointer-events:none;
  will-change:width,opacity,transform;
}
.page-turn-fold.is-next{right:0}
.page-turn-fold.is-prev{left:0}
.page-turn-fold::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,
      rgba(74,41,18,0),
      rgba(92,52,23,.08) 28%,
      rgba(255,252,242,.88) 64%,
      rgba(121,76,37,.22) 86%,
      rgba(50,28,13,.28));
}
.page-turn-fold.is-prev::before{transform:scaleX(-1)}
.page-turn-shadow{
  position:absolute;
  z-index:94;
  top:3%;bottom:3%;
  width:1px;
  opacity:0;
  pointer-events:none;
  background:rgba(55,31,15,.32);
  box-shadow:0 0 28px 12px rgba(61,34,16,.20);
  will-change:left,right,opacity,box-shadow;
}
.page-turn-shadow.is-next{right:0}
.page-turn-shadow.is-prev{left:0}

/* The under-page brightens as the top page is pulled away. */
.page.is-under-turn{
  transition:filter .08s linear,transform .08s linear !important;
  filter:brightness(.90) saturate(.94);
  transform:translateZ(-1px) scale(.997);
}
.book-shell.is-turning .page.is-under-turn{
  box-shadow:inset 0 0 46px rgba(112,68,31,.08),0 22px 50px rgba(72,45,26,.12);
}

/* More tactile corner target, visually quieter. */
.page-corner{
  opacity:.22 !important;
}
.page-corner:hover,
.page-corner.is-dragging{opacity:.76 !important}
.page-corner::before{
  filter:drop-shadow(0 5px 7px rgba(73,43,22,.10)) !important;
}

/* Continuation page heading is intentionally more compact. */
.page[data-continuation="1"] .page-heading{
  margin-bottom:14px !important;
}
.page[data-continuation="1"] .page-heading p{
  display:none;
}

/* On mobile give vertical scrolling priority outside the corner gesture. */
@media(max-width:900px){
  .page-content{touch-action:pan-y !important}
  .page-corner{touch-action:none !important}
  .page-turn-fold{top:0;bottom:0}
}


/* ===== v1.9.0 — hybrid book: real category pages + invisible content scroll ===== */

/* Never generate a visible browser scrollbar; scrolling itself remains fully functional. */
.page-content{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
  scroll-behavior:auto;
  overscroll-behavior:contain;
}
.page-content::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

/* Subtle indication that more content exists, without a scrollbar UI. */
.page.active.has-scroll .page-content{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 15px,#000 calc(100% - 24px),transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 15px,#000 calc(100% - 24px),transparent 100%);
}
.page.active:not(.has-scroll) .page-content{
  -webkit-mask-image:none;
  mask-image:none;
}

/* Keep the footer visually separate from scrollable content. */
.page-footer{
  background:linear-gradient(180deg,rgba(255,249,237,0),rgba(248,232,203,.38));
}

/* More paper-like corner and fold. */
.page-corner{
  width:86px !important;
  height:86px !important;
  opacity:.18 !important;
}
.page-corner:hover,
.page-corner.is-dragging{
  opacity:.74 !important;
}
.page-corner::before{
  width:78px !important;
  height:78px !important;
}
.page-turn-fold::before{
  background:
    linear-gradient(90deg,
      rgba(62,34,15,0) 0,
      rgba(78,42,18,.07) 24%,
      rgba(255,252,244,.96) 58%,
      rgba(168,116,67,.22) 78%,
      rgba(55,30,13,.34) 100%) !important;
}
.page-turn-shadow{
  filter:blur(.2px);
}

/* On touch screens the paper corner stays large enough to grab,
   while vertical gestures over the content remain scrolling gestures. */
@media(max-width:900px){
  .page-corner{
    width:68px !important;
    height:68px !important;
    opacity:.16 !important;
  }
  .page-corner::before{
    width:61px !important;
    height:61px !important;
  }
  .page-content{
    touch-action:pan-y !important;
  }
}
@media(max-width:420px){
  .page-corner{
    width:60px !important;
    height:60px !important;
  }
  .page-corner::before{
    width:54px !important;
    height:54px !important;
  }
}


/* ===== v2.0.0 — progressive corner curl ===== */
.page-turn-fold{
  top:0 !important;
  bottom:auto !important;
  width:0;
  height:0;
  opacity:0;
  overflow:hidden;
  transform-origin:top right;
  filter:drop-shadow(-8px 10px 10px rgba(57,31,14,.12));
}
.page-turn-fold.is-next{
  right:0 !important;
  left:auto !important;
  clip-path:polygon(100% 0,100% 100%,0 0);
}
.page-turn-fold.is-prev{
  left:0 !important;
  right:auto !important;
  clip-path:polygon(0 0,100% 0,0 100%);
  transform-origin:top left;
}
.page-turn-fold::before{
  background:
    linear-gradient(135deg,
      rgba(255,252,244,.98) 0%,
      rgba(248,234,208,.96) 36%,
      rgba(187,137,86,.34) 68%,
      rgba(75,41,18,.42) 100%) !important;
}
.page-turn-fold.is-prev::before{
  transform:none !important;
  background:
    linear-gradient(225deg,
      rgba(255,252,244,.98) 0%,
      rgba(248,234,208,.96) 36%,
      rgba(187,137,86,.34) 68%,
      rgba(75,41,18,.42) 100%) !important;
}
.page-turn-shadow{
  top:0 !important;
  bottom:auto !important;
  width:0;
  height:0;
  opacity:0;
  border-radius:0 0 70% 0;
  background:radial-gradient(circle at 100% 0,rgba(52,28,12,.24),rgba(52,28,12,.10) 45%,transparent 72%);
  box-shadow:none !important;
  filter:blur(5px);
}
.page-turn-shadow.is-next{right:0 !important;left:auto !important}
.page-turn-shadow.is-prev{
  left:0 !important;right:auto !important;
  border-radius:0 0 0 70%;
  background:radial-gradient(circle at 0 0,rgba(52,28,12,.24),rgba(52,28,12,.10) 45%,transparent 72%);
}

/* During the early curl, the sheet remains almost flat. */
.page.is-manual-turn{
  backface-visibility:hidden !important;
  transform-style:preserve-3d !important;
}


@media(min-width:1400px){
  .stage{padding:28px 150px 108px}
  .book-shell{width:min(1080px,calc(100vw - 320px));height:min(690px,calc(100dvh - var(--bk-toolbar) - 144px))}
}


/* =====================================================================
   v2.2.0 CLASSIC STABLE
   No interactive page-corner animation. No fold/curl overlays.
   ===================================================================== */

/* Required menu typography */
@font-face{
  font-family:'Izhitsa.kz';
  src:
    local('Izhitsa.kz'),
    local('Izhitsa.Kz'),
    url('https://fontsforyou.com/fonts/i/Izhitsa.Kz.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:'Amaltea One';
  src:
    local('Amaltea One'),
    local('AmalteaOne'),
    url('https://ffont.ru/upls/fonts/AmalteaOne.ttf') format('truetype'),
    url('https://fontsforyou.com/fonts/a/AmalteaOne.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

.brand-text strong,
.page-heading h2,
.cover-inner h1,
.contact-inner h2,
.drawer-head strong{
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important;
}

.dish-line h3{
  font-family:'Amaltea One','BK Amaltea One',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important;
}

/* Completely remove the broken upper-corner / paper-curl interaction. */
.page-corner,
.page-turn-fold,
.page-turn-shadow{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  animation:none !important;
  transition:none !important;
}

/* Disable every manual-turn state left in older CSS. */
.page.is-manual-turn,
.page.is-under-turn,
.page.page-under,
.page.page-flip-forward,
.page.page-flip-backward,
.page.manual-settle{
  animation:none !important;
  clip-path:none !important;
  filter:none !important;
}

/* One stable page stack with only a quiet whole-page transition. */
.page{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateX(10px) scale(.997) !important;
  transform-origin:center center !important;
  transition:
    opacity .22s ease,
    transform .22s ease !important;
}

.page.active{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  transform:none !important;
  z-index:5 !important;
}

.page.leaving-left,
.page.leaving-right{
  visibility:visible !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:6 !important;
}

.page.leaving-left{
  transform:translateX(-12px) scale(.997) !important;
}

.page.leaving-right{
  transform:translateX(12px) scale(.997) !important;
}

/* Never hide the book while waiting for optional font/image resources. */
body:not(.bk-ready) .book-shell{
  visibility:visible !important;
}

/* Keep laptop / desktop calmer and less zoomed-in. */
@media(min-width:901px){
  .stage{
    padding:26px clamp(96px,8vw,150px) 100px !important;
  }
  .book-shell{
    width:min(1080px,calc(100vw - 280px)) !important;
    height:min(680px,calc(100dvh - var(--bk-toolbar) - 150px)) !important;
  }
}

@media(min-width:1400px){
  .book-shell{
    width:min(1040px,calc(100vw - 360px)) !important;
    height:min(665px,calc(100dvh - var(--bk-toolbar) - 158px)) !important;
  }
}

/* Mobile keeps the classic stable behavior and full usable width. */
@media(max-width:900px){
  .stage{
    padding:10px 8px 118px !important;
  }
  .book-shell{
    width:100% !important;
    height:calc(100dvh - var(--bk-toolbar) - 132px) !important;
  }
  .page{
    transform:translateX(6px) scale(.998) !important;
  }
  .page.active{
    transform:none !important;
  }
  .page.leaving-left{
    transform:translateX(-8px) scale(.998) !important;
  }
  .page.leaving-right{
    transform:translateX(8px) scale(.998) !important;
  }
}


/* =====================================================================
   v2.3.0 CLASSIC STATIC — ZERO ANIMATION
   ===================================================================== */

/* Kill every animation/transition related to page changing. */
.page,
.page.active,
.page.leaving-left,
.page.leaving-right,
.page.page-under,
.page.page-flip-forward,
.page.page-flip-backward,
.page.is-manual-turn,
.page.is-under-turn,
.page.manual-settle{
  animation:none !important;
  transition:none !important;
  transform:none !important;
  clip-path:none !important;
  filter:none !important;
  backface-visibility:visible !important;
  perspective:none !important;
}

/* Exactly one page is shown. */
.page{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  display:flex !important;
}

.page.active{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  z-index:5 !important;
}

/* Remove every old fold/corner/triangle helper. */
.page-corner,
.page-turn-fold,
.page-turn-shadow,
.bk-turn-corner,
.bk-turn-hint,
.bk-desktop-page-cue,
.bk-desktop-page-cue-sheet,
.bk-desktop-page-cue-mark{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  animation:none !important;
  transition:none !important;
  transform:none !important;
  clip-path:none !important;
}

/* Remove decorative page edge shapes that can look like triangles while switching. */
.page::after{
  display:none !important;
}

/* Keep only the subtle static paper texture. */
.page::before{
  animation:none !important;
  transition:none !important;
  transform:none !important;
}

/* Book container itself never animates. */
.book-shell,
.book-shell::before,
.book-shell::after,
.stage{
  animation:none !important;
  transition:none !important;
}

/* Respect reduced motion globally too. */
@media(prefers-reduced-motion:reduce){
  *{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}


/* =====================================================================
   v2.4.0 — PREMIUM CATEGORY RIBBON
   Restores the polished v1.3-style category trigger only.
   Page switching remains completely static/stable.
   ===================================================================== */

/* Mandatory project typography — never replace these families. */
.brand-text strong,
.page-heading h2,
.cover-inner h1,
.contact-inner h2,
.drawer-head strong{
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important;
}
.dish-line h3{
  font-family:'Amaltea One','BK Amaltea One',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important;
}

.menu-ribbon{
  position:fixed !important;
  z-index:180 !important;
  left:14px !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  width:64px !important;
  height:236px !important;
  padding:0 !important;
  border:1px solid rgba(185,134,67,.34) !important;
  border-left:0 !important;
  border-radius:0 30px 30px 0 !important;
  background:linear-gradient(180deg,rgba(255,250,243,.97),rgba(239,221,191,.97)) !important;
  color:#63411f !important;
  box-shadow:10px 16px 32px rgba(96,61,34,.14),inset -1px 0 rgba(255,255,255,.35) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:15px !important;
  overflow:hidden !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  touch-action:manipulation !important;
  transition:width .28s ease,opacity .20s ease,transform .24s ease,border-color .28s ease,background .28s ease !important;
}
.menu-ribbon:hover{
  width:72px !important;
  border-color:rgba(185,134,67,.58) !important;
  background:linear-gradient(180deg,#fff6e9,#edd7b6) !important;
}
.menu-ribbon::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:8px 7px 8px 0 !important;
  border:1px solid rgba(185,134,67,.18) !important;
  border-left:0 !important;
  border-radius:0 22px 22px 0 !important;
  pointer-events:none !important;
}
.ribbon-pulse{
  display:block !important;
  position:absolute !important;
  width:7px !important;
  height:56px !important;
  left:0 !important;
  top:50% !important;
  bottom:auto !important;
  margin-top:-28px !important;
  background:linear-gradient(180deg,transparent,#d59f58,transparent) !important;
  filter:drop-shadow(0 0 10px rgba(213,159,88,.80)) !important;
  opacity:.35 !important;
  animation:bkRibbonGlow 2.2s ease-in-out infinite !important;
}
.ribbon-copy{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  writing-mode:vertical-rl !important;
  transform:rotate(180deg) !important;
  font-family:Arial,sans-serif !important;
  text-transform:uppercase !important;
  letter-spacing:.18em !important;
}
.ribbon-copy small{display:inline !important;font-size:7px !important;color:#917657 !important;}
.ribbon-copy strong{font-size:10px !important;font-weight:800 !important;color:#63411f !important;}
.ribbon-arrows{display:flex !important;gap:0 !important;color:#b78442 !important;}
.ribbon-arrows i{display:inline-block !important;font-style:normal !important;font-size:18px !important;line-height:1 !important;animation:bkRibbonArrow 1.35s ease-in-out infinite !important;}
.ribbon-arrows i:nth-child(2){animation-delay:.12s !important}
.ribbon-arrows i:nth-child(3){animation-delay:.24s !important}
@keyframes bkRibbonArrow{0%,100%{opacity:.22;transform:translateX(-3px)}50%{opacity:1;transform:translateX(3px)}}
@keyframes bkRibbonGlow{0%,100%{opacity:.35;transform:translateY(-60px)}50%{opacity:1;transform:translateY(60px)}}

body.nav-open .menu-ribbon{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate(-115%,-50%) scale(.96) !important;
}
.drawer{z-index:220 !important;}
.scrim{z-index:210 !important;}
body.nav-open .stage{transform:none !important;filter:none !important;}

@media(max-width:900px){
  .menu-ribbon{
    top:auto !important;
    bottom:max(88px,calc(env(safe-area-inset-bottom,0px) + 80px)) !important;
    left:12px !important;
    transform:none !important;
    width:auto !important;
    height:48px !important;
    max-width:none !important;
    padding:0 14px !important;
    border-left:1px solid rgba(185,134,67,.34) !important;
    border-radius:999px !important;
    flex-direction:row !important;
    gap:9px !important;
  }
  .menu-ribbon:hover{width:auto !important;}
  .menu-ribbon::before{display:none !important;}
  .ribbon-copy{writing-mode:horizontal-tb !important;transform:none !important;gap:5px !important;}
  .ribbon-copy small{display:none !important;}
  .ribbon-copy strong{font-size:9px !important;white-space:nowrap !important;}
  .ribbon-pulse{
    width:38px !important;
    height:3px !important;
    left:8px !important;
    top:auto !important;
    bottom:0 !important;
    margin-top:0 !important;
    animation:bkMobileRibbonGlow 2.2s ease-in-out infinite !important;
  }
  .ribbon-arrows i{font-size:15px !important;}
  body.nav-open .menu-ribbon{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateX(-135%) scale(.96) !important;
  }
  @keyframes bkMobileRibbonGlow{0%,100%{opacity:.25;transform:translateX(0)}50%{opacity:1;transform:translateX(58px)}}
}


/* =====================================================================
   v2.4.1 — MOBILE TOP NAV RECOVERY
   Desktop/tablet >= 901px remains unchanged.
   ===================================================================== */

@media(max-width:900px){
  :root{
    --bk-mobile-safe-top:env(safe-area-inset-top,0px);
    --bk-mobile-header-h:62px;
  }

  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .app{
    display:block !important;
    min-height:100dvh !important;
    height:100dvh !important;
    padding-top:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top)) !important;
    overflow:hidden !important;
  }

  /* Always-visible mobile navigation */
  .topbar{
    position:fixed !important;
    z-index:1000 !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top)) !important;
    min-height:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top)) !important;
    padding:
      var(--bk-mobile-safe-top)
      max(8px,env(safe-area-inset-right,0px))
      0
      max(8px,env(safe-area-inset-left,0px)) !important;
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    overflow:visible !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
    background:rgba(255,250,241,.97) !important;
    border-bottom:1px solid rgba(121,79,42,.13) !important;
    box-shadow:0 7px 20px rgba(79,49,27,.08) !important;
    backdrop-filter:blur(16px) !important;
    -webkit-backdrop-filter:blur(16px) !important;
  }

  .brand{
    flex:0 0 auto !important;
    min-width:0 !important;
    width:auto !important;
    gap:0 !important;
  }

  .brand-mark,
  .brand-logo{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    flex:0 0 44px !important;
    border-radius:50% !important;
  }

  /* Mobile uses the logo as brand identity; text is hidden to guarantee nav fit. */
  .brand-text{
    display:none !important;
  }

  .top-actions{
    margin-left:auto !important;
    min-width:0 !important;
    width:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:4px !important;
    flex:1 1 auto !important;
    overflow:visible !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .top-actions > *{
    flex:0 0 auto !important;
  }

  .icon-btn,
  .lang-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    height:36px !important;
    min-height:36px !important;
    border-radius:7px !important;
    white-space:nowrap !important;
  }

  .history-btn{
    padding:0 9px !important;
    min-width:auto !important;
    max-width:84px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:10px !important;
  }

  #searchBtn{
    width:38px !important;
    min-width:38px !important;
    padding:0 !important;
    font-size:0 !important;
  }

  #searchBtn::before{
    content:"⌕" !important;
    font-size:20px !important;
    line-height:1 !important;
  }

  .lang-btn{
    width:34px !important;
    min-width:34px !important;
    padding:0 !important;
    font-size:9px !important;
  }

  /* Progress stays attached to the fixed header. */
  .progress{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:2 !important;
  }

  /* Stage starts below the fixed mobile navigation. */
  .stage{
    height:calc(100dvh - var(--bk-mobile-header-h) - var(--bk-mobile-safe-top)) !important;
    min-height:0 !important;
    padding-top:10px !important;
  }

  /* Drawers/panels begin below the fixed navigation. */
  .drawer{
    top:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top)) !important;
  }

  .scrim{
    inset:
      calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top))
      0
      0
      0 !important;
  }

  .search-panel{
    top:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top) + 8px) !important;
    width:calc(100vw - 16px) !important;
  }
}

/* Very small phones: History becomes compact but remains present. */
@media(max-width:380px){
  .topbar{
    gap:3px !important;
    padding-left:max(5px,env(safe-area-inset-left,0px)) !important;
    padding-right:max(5px,env(safe-area-inset-right,0px)) !important;
  }

  .brand-mark,
  .brand-logo{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    flex-basis:40px !important;
  }

  .top-actions{
    gap:3px !important;
  }

  .history-btn{
    max-width:70px !important;
    padding:0 7px !important;
    font-size:9px !important;
  }

  #searchBtn{
    width:34px !important;
    min-width:34px !important;
  }

  .lang-btn{
    width:31px !important;
    min-width:31px !important;
  }
}


/* =====================================================================
   v2.5.0 — PHYSICAL MENU VISUAL LANGUAGE
   Layout, navigation, buttons and zero-animation page switching unchanged.
   ===================================================================== */

/* Project-mandatory typography: never remove or replace. */
.page-heading h2,.cover-inner h1,.contact-inner h2,.drawer-head strong,.brand-text strong{
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important;
}
.dish-line h3{
  font-family:'Amaltea One','BK Amaltea One',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important;
}

/* Dark wood / fire mood from the printed menu, without changing structure. */
.page--menu{
  background:
    radial-gradient(circle at 14% 16%,rgba(171,78,28,.22),transparent 28%),
    radial-gradient(circle at 86% 78%,rgba(192,128,53,.10),transparent 25%),
    linear-gradient(135deg,#130c08,#2a160d 52%,#120b08) !important;
  color:#fff6e8 !important;
  border-color:rgba(206,153,79,.26) !important;
  box-shadow:0 22px 50px rgba(40,19,8,.26),inset 0 0 0 1px rgba(222,176,109,.07) !important;
}
.page--menu.has-category-bg{
  background-image:
    linear-gradient(rgba(13,7,4,var(--bk-category-overlay,.58)),rgba(13,7,4,var(--bk-category-overlay,.58))),
    var(--bk-category-bg) !important;
  background-position:center, var(--bk-category-x,50%) var(--bk-category-y,50%) !important;
  background-size:cover, var(--bk-category-size,cover) !important;
  background-repeat:no-repeat !important;
}
.page--menu::before{
  opacity:.15 !important;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,226,184,.022) 0 1px,transparent 1px 5px),
    repeating-linear-gradient(90deg,rgba(255,226,184,.018) 0 1px,transparent 1px 9px) !important;
}
.page--menu .page-kicker{color:#d39a4f !important}
.page--menu .page-heading h2{color:#fff4df !important;text-shadow:0 2px 16px rgba(0,0,0,.28)}
.page--menu .page-heading p{color:#d7b98f !important}
.page--menu .group-title{color:#d8a35d !important;border-color:rgba(220,171,101,.28) !important}
.page--menu .dish{
  background:rgba(22,12,7,.58) !important;
  border:1px solid rgba(222,175,107,.18) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.12) !important;
}
.page--menu .dish-line h3{color:#e4b25f !important;text-shadow:0 1px 10px rgba(0,0,0,.25)}
.page--menu .dish-desc{color:#f4eadb !important}
.page--menu .dish-weight{color:#d2b48e !important}
.page--menu .dish-price{color:#fff !important}
.page--menu .dynamic-placeholder{color:#d5b789 !important;background:rgba(255,255,255,.04) !important}
.page--menu .add-to-order{background:#b9752e !important;color:#fff8e9 !important;border-color:#d29b57 !important}
.page--menu .unavailable{color:#d2b791 !important}
.page--menu .page-footer{color:#c7ab84 !important;background:linear-gradient(180deg,rgba(20,11,6,0),rgba(20,11,6,.58)) !important}
.page--menu .page-footer b{color:#dba85f !important}
.page--menu .graycape-credit a{color:#e3b56f !important}

/* Keep thumbnails warm, natural and consistent with the printed photography. */
.page--menu .dish-thumb{background:#21130b !important}
.page--menu .dish-thumb img{filter:saturate(.95) contrast(1.04) brightness(.94) !important}


/* =====================================================================
   v2.6.0 — CONFIGURABLE DARK BROWN THEME
   Layout/navigation/static page behavior unchanged.
   ===================================================================== */

:root{
  --bk-theme-bg:#24130d;
  --bk-theme-surface:#321c12;
  --bk-theme-text:#f8ead8;
  --bk-theme-heading:#fff0d0;
  --bk-theme-item:#e8b866;
  --bk-theme-muted:#d2b48c;
  --bk-theme-accent:#c8893e;
}

/* The page stack now consistently uses the dark tavern palette. */
.page,
.page--menu,
.page--history,
.page--contact,
.page--cover{
  background:
    radial-gradient(circle at 13% 15%,rgba(173,82,32,.17),transparent 29%),
    radial-gradient(circle at 86% 80%,rgba(192,128,53,.08),transparent 27%),
    linear-gradient(135deg,var(--bk-theme-bg),var(--bk-theme-surface) 54%,var(--bk-theme-bg)) !important;
  color:var(--bk-theme-text) !important;
  border-color:rgba(221,178,112,.20) !important;
  box-shadow:
    0 22px 50px rgba(26,12,6,.30),
    inset 0 0 0 1px rgba(255,255,255,.035) !important;
}

.page--menu.has-category-bg{
  background-image:
    linear-gradient(rgba(13,7,4,var(--bk-category-overlay,.58)),rgba(13,7,4,var(--bk-category-overlay,.58))),
    var(--bk-category-bg) !important;
}

/* Required typography remains fixed; only colors are configurable. */
.page-heading h2,
.cover-inner h1,
.contact-inner h2,
.drawer-head strong,
.brand-text strong{
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  color:var(--bk-theme-heading) !important;
  font-weight:400 !important;
}

.dish-line h3{
  font-family:'Amaltea One','BK Amaltea One',Georgia,'Times New Roman',serif !important;
  color:var(--bk-theme-item) !important;
  font-weight:400 !important;
}

.page-kicker,
.group-title,
.cover-eyebrow{
  color:var(--bk-theme-accent) !important;
}

.page-heading p,
.cover-subtitle,
.cover-note,
.contact-sub,
.story-paragraph,
.dish-desc,
.dish-weight,
.unavailable{
  color:var(--bk-theme-muted) !important;
}

.dish{
  background:color-mix(in srgb,var(--bk-theme-surface) 88%,transparent) !important;
  border-color:rgba(222,175,107,.18) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.13) !important;
}

.dish-price{
  color:var(--bk-theme-text) !important;
}

.add-to-order,
.primary-btn{
  background:var(--bk-theme-accent) !important;
  color:var(--bk-theme-bg) !important;
  border-color:color-mix(in srgb,var(--bk-theme-accent) 82%,white) !important;
}

.secondary-btn{
  background:color-mix(in srgb,var(--bk-theme-surface) 84%,white 16%) !important;
  color:var(--bk-theme-text) !important;
  border-color:rgba(225,183,122,.24) !important;
}

.story-copy,
.story-quote,
.contact-cards a{
  background:color-mix(in srgb,var(--bk-theme-surface) 88%,transparent) !important;
  color:var(--bk-theme-text) !important;
  border-color:rgba(225,183,122,.18) !important;
}

.story-quote{
  border-left-color:var(--bk-theme-accent) !important;
}

.page-footer{
  color:var(--bk-theme-muted) !important;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bk-theme-bg) 76%,transparent)) !important;
}

.page-footer b,
.graycape-credit a{
  color:var(--bk-theme-accent) !important;
}

.dynamic-placeholder,
.dish-thumb{
  background:color-mix(in srgb,var(--bk-theme-surface) 90%,black 10%) !important;
  color:var(--bk-theme-muted) !important;
}

/* Header stays readable and now follows the same palette. */
.topbar{
  background:color-mix(in srgb,var(--bk-theme-bg) 94%,black 6%) !important;
  border-bottom-color:rgba(224,181,120,.18) !important;
  color:var(--bk-theme-text) !important;
}

.brand-text small{
  color:var(--bk-theme-muted) !important;
}

.icon-btn,
.lang-btn{
  background:color-mix(in srgb,var(--bk-theme-surface) 88%,transparent) !important;
  border-color:rgba(224,181,120,.20) !important;
  color:var(--bk-theme-text) !important;
}

.lang-btn.active{
  background:var(--bk-theme-accent) !important;
  color:var(--bk-theme-bg) !important;
  border-color:var(--bk-theme-accent) !important;
}

/* Main navigation and panels follow the theme without changing geometry. */
.menu-ribbon{
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb,var(--bk-theme-surface) 92%,black 8%),
      var(--bk-theme-bg)
    ) !important;
  color:var(--bk-theme-text) !important;
  border-color:rgba(221,174,105,.30) !important;
}

.ribbon-copy strong{color:var(--bk-theme-heading) !important}
.ribbon-copy small{color:var(--bk-theme-muted) !important}
.ribbon-arrows{color:var(--bk-theme-accent) !important}

.drawer,
.search-panel,
.order-drawer{
  background:color-mix(in srgb,var(--bk-theme-bg) 96%,black 4%) !important;
  color:var(--bk-theme-text) !important;
  border-color:rgba(221,174,105,.18) !important;
}

.drawer-head button,
.search-input,
.order-close,
.waiter-close,
.qty button{
  background:var(--bk-theme-surface) !important;
  color:var(--bk-theme-text) !important;
  border-color:rgba(221,174,105,.20) !important;
}

.toc button,
.search-results button{
  color:var(--bk-theme-text) !important;
}

.toc button:hover,
.toc button.is-active,
.search-results button:hover{
  background:color-mix(in srgb,var(--bk-theme-accent) 13%,transparent) !important;
}

.order-fab,
.show-waiter{
  background:var(--bk-theme-surface) !important;
  color:var(--bk-theme-text) !important;
}

.order-fab b{
  background:var(--bk-theme-accent) !important;
  color:var(--bk-theme-bg) !important;
}

.order-foot,
.waiter-card{
  background:var(--bk-theme-bg) !important;
  color:var(--bk-theme-text) !important;
  border-color:rgba(221,174,105,.18) !important;
}

.clear-order{
  background:var(--bk-theme-surface) !important;
  color:var(--bk-theme-text) !important;
}

/* Preserve mobile navigation recovery from v2.4.1 while using theme colors. */
@media(max-width:900px){
  .topbar{
    background:color-mix(in srgb,var(--bk-theme-bg) 97%,black 3%) !important;
  }
}


/* =====================================================================
   v2.6.1 — PERFORMANCE ONLY
   ===================================================================== */

.page:not(.active){
  content-visibility:hidden;
  contain:layout paint style;
}

.page.active{
  content-visibility:visible;
  contain:layout paint style;
}

.page--menu.has-category-bg-pending:not(.has-category-bg){
  background-image:none !important;
}

@media(max-width:900px){
  .topbar,
  .menu-ribbon,
  .scrim,
  .history-lightbox{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .book-shell{
    filter:none !important;
  }
}


/* =====================================================================
   v2.7.0 — SITE WALLPAPER + EDITORIAL HISTORY
   ===================================================================== */

:root{
  --bk-site-bg-color:#160b07;
  --bk-site-bg-overlay:#120804;
  --bk-site-bg-opacity:.28;
  --bk-site-bg-x:50%;
  --bk-site-bg-y:50%;
  --bk-site-bg-size:cover;
  --bk-site-bg-image:none;
}

html,body{
  background:var(--bk-site-bg-color) !important;
}

body{
  position:relative;
  isolation:isolate;
}

.site-backdrop{
  position:fixed;
  z-index:-2;
  inset:0;
  background-color:var(--bk-site-bg-color);
  background-image:var(--bk-site-bg-image);
  background-position:var(--bk-site-bg-x) var(--bk-site-bg-y);
  background-size:var(--bk-site-bg-size);
  background-repeat:no-repeat;
}

.site-backdrop::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--bk-site-bg-overlay);
  opacity:var(--bk-site-bg-opacity);
  pointer-events:none;
}

body::before{
  z-index:-1 !important;
  opacity:.10 !important;
}

.app{
  position:relative;
  z-index:1;
  background:transparent !important;
}

/* History becomes a real archive page, not a grid of identical squares. */
.page--history .page-content{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:34px !important;
}

.history-editorial{
  width:min(100%,1040px);
  margin:0 auto;
}

.history-intro-grid{
  display:grid;
  grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);
  gap:20px;
  align-items:start;
}

.history-hero-image{
  width:100%;
  min-height:420px;
  aspect-ratio:auto !important;
  border:1px solid rgba(225,183,122,.20) !important;
  border-radius:8px !important;
  overflow:hidden;
  background:var(--bk-theme-surface) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.24) !important;
}

.history-hero-image img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center;
  transition:none !important;
}

.history-intro-grid .story-copy{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(20px,3vw,34px) !important;
}

.history-intro-grid .story-quote{
  margin-top:14px;
}

.history-archive-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:5px 13px;
  align-items:end;
  margin:34px 0 15px;
  padding-top:22px;
  border-top:1px solid rgba(225,183,122,.18);
}

.history-archive-head span{
  grid-row:1/3;
  color:var(--bk-theme-accent);
  font:800 9px/1 Arial,sans-serif;
  letter-spacing:.18em;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}

.history-archive-head strong{
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  color:var(--bk-theme-heading);
  font-size:clamp(28px,3.2vw,42px);
  line-height:1;
  font-weight:400;
}

.history-archive-head small{
  color:var(--bk-theme-muted);
  font:600 10px/1.4 Arial,sans-serif;
}

/* Natural image proportions: ideal for the supplied mix of old portrait/landscape photos. */
.history-masonry{
  columns:3 220px;
  column-gap:10px;
}

.history-archive-photo{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  margin:0 0 10px !important;
  break-inside:avoid;
  border:1px solid rgba(225,183,122,.17) !important;
  border-radius:7px !important;
  background:var(--bk-theme-surface) !important;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}

.history-archive-photo img{
  display:block;
  width:100%;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  transition:none !important;
}

.history-gallery-item:hover img{
  transform:none !important;
}

.history-gallery-caption{
  background:linear-gradient(180deg,transparent,rgba(18,9,5,.88)) !important;
}

.history-actions{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:26px 0 4px;
}

@media(max-width:1100px){
  .history-intro-grid{
    grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);
  }
  .history-masonry{
    columns:3 180px;
  }
}

@media(max-width:760px){
  .history-intro-grid{
    grid-template-columns:1fr;
  }

  .history-hero-image,
  .history-hero-image img{
    min-height:0;
  }

  .history-hero-image img{
    height:auto;
    max-height:62dvh;
    object-fit:contain;
    background:var(--bk-theme-surface);
  }

  .history-intro-grid .story-copy{
    min-height:0;
    padding:18px !important;
  }

  .history-masonry{
    columns:2 135px;
    column-gap:7px;
  }

  .history-archive-photo{
    margin-bottom:7px !important;
  }

  .history-archive-head{
    margin-top:24px;
  }
}

@media(max-width:390px){
  .history-masonry{
    columns:2 110px;
  }
}


/* =====================================================================
   v2.8.0 — REVIEW / SOCIAL / LOCATION FOOTER
   ===================================================================== */

/* Make the second site section reachable below the full-screen menu. */
html,body{
  height:auto !important;
  min-height:100% !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
}
body{
  min-height:100dvh !important;
}
.app{
  height:100dvh !important;
  min-height:100dvh !important;
  overflow:hidden !important;
}
.page-content{
  overscroll-behavior-y:auto !important;
}

.site-trust-section{
  position:relative;
  z-index:4;
  min-height:72vh;
  padding:clamp(52px,7vw,92px) max(18px,5vw) clamp(60px,8vw,100px);
  background:
    linear-gradient(180deg,rgba(12,6,4,.74),rgba(18,9,5,.94)),
    var(--bk-site-bg-image);
  background-color:var(--bk-site-bg-color);
  background-position:var(--bk-site-bg-x) var(--bk-site-bg-y);
  background-size:cover;
  color:var(--bk-theme-text);
  border-top:1px solid rgba(231,184,111,.20);
  box-shadow:0 -20px 50px rgba(0,0,0,.22);
}

.site-trust-inner{
  width:min(1180px,100%);
  margin:0 auto;
}

.trust-heading{
  max-width:720px;
  margin:0 auto 28px;
  text-align:center;
}
.trust-heading>span{
  display:block;
  margin-bottom:8px;
  color:var(--bk-theme-accent);
  font:800 9px/1 Arial,sans-serif;
  letter-spacing:.20em;
}
.trust-heading h2{
  margin:0;
  color:var(--bk-theme-heading);
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-size:clamp(40px,5vw,68px);
  line-height:.95;
  font-weight:400;
}
.trust-heading p{
  margin:14px auto 0;
  color:var(--bk-theme-muted);
  font:500 13px/1.6 Arial,sans-serif;
}

.review-platform-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.review-platform-card{
  appearance:none;
  border:1px solid rgba(229,183,113,.19);
  border-radius:8px;
  padding:0;
  min-height:150px;
  overflow:hidden;
  background:rgba(24,12,7,.54);
  cursor:pointer;
  box-shadow:0 13px 28px rgba(0,0,0,.22);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.review-platform-card:hover{
  transform:translateY(-3px);
  border-color:rgba(229,183,113,.52);
  box-shadow:0 18px 35px rgba(0,0,0,.30);
}
.review-platform-card img{
  display:block;
  width:100%;
  height:100%;
  min-height:150px;
  max-height:190px;
  object-fit:cover;
}

.location-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(229,183,113,.22);
  border-radius:8px;
  background:color-mix(in srgb,var(--bk-theme-surface) 88%,transparent);
  box-shadow:0 14px 30px rgba(0,0,0,.20);
}
.location-pin{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(229,183,113,.35);
  color:var(--bk-theme-accent);
  font-size:27px;
}
.location-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.location-copy small{
  color:var(--bk-theme-accent);
  font:800 8px/1 Arial,sans-serif;
  letter-spacing:.16em;
}
.location-copy strong{
  color:var(--bk-theme-heading);
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-size:clamp(23px,2.5vw,34px);
  line-height:1.05;
  font-weight:400;
}
.location-copy span{
  color:var(--bk-theme-muted);
  font:500 11px/1.4 Arial,sans-serif;
}
.navigate-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:7px;
  background:var(--bk-theme-accent);
  color:var(--bk-theme-bg);
  font:800 10px/1 Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:none;
}

/* Clean footer view: menu controls disappear only while this section is visible. */
.pager,
.order-fab,
.menu-ribbon{
  transition:opacity .18s ease !important;
}
body.trust-section-visible .pager,
body.trust-section-visible .order-fab,
body.trust-section-visible .menu-ribbon{
  opacity:0 !important;
  pointer-events:none !important;
}

/* Review modal */
.review-modal{
  position:fixed;
  z-index:10000;
  inset:0;
  display:none;
  place-items:center;
  padding:18px;
  background:rgba(8,4,2,.76);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.review-modal.open{display:grid}
body.review-modal-open{overflow:hidden !important}

.review-modal-card{
  position:relative;
  width:min(560px,100%);
  max-height:min(820px,92dvh);
  overflow:auto;
  padding:clamp(24px,4vw,38px);
  border:1px solid rgba(229,183,113,.26);
  border-radius:9px;
  background:
    radial-gradient(circle at 10% 0,rgba(185,111,49,.14),transparent 30%),
    var(--bk-theme-bg);
  color:var(--bk-theme-text);
  box-shadow:0 28px 70px rgba(0,0,0,.46);
  text-align:center;
}
.review-modal-close{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border:1px solid rgba(229,183,113,.20);
  border-radius:7px;
  background:var(--bk-theme-surface);
  color:var(--bk-theme-text);
  font-size:22px;
  cursor:pointer;
}
.review-modal-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--bk-theme-accent);
  font:800 8px/1 Arial,sans-serif;
  letter-spacing:.18em;
}
.review-modal-card h2{
  margin:0;
  color:var(--bk-theme-heading);
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-size:clamp(31px,6vw,48px);
  line-height:1;
  font-weight:400;
}
.review-modal-card p{
  margin:12px auto 0;
  color:var(--bk-theme-muted);
  font:500 12px/1.55 Arial,sans-serif;
}
.review-stars{
  display:flex;
  justify-content:center;
  gap:7px;
  margin:24px 0 3px;
}
.review-stars button{
  appearance:none;
  border:0;
  background:transparent;
  padding:2px;
  color:#76604c;
  font-size:clamp(39px,8vw,55px);
  line-height:1;
  cursor:pointer;
  transition:transform .12s ease,color .12s ease;
}
.review-stars button:hover{transform:scale(1.08)}
.review-stars button.preview,
.review-stars button.selected{color:#f2b84b}

.review-private-form{
  display:grid;
  gap:11px;
  text-align:left;
}
.review-private-form[hidden],
.review-thanks[hidden]{display:none !important}
.review-private-form h2,
.review-private-form>p,
.review-private-form>.review-modal-kicker{text-align:center}
.review-private-form textarea,
.review-private-form input{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(229,183,113,.22);
  border-radius:7px;
  background:var(--bk-theme-surface);
  color:var(--bk-theme-text);
  outline:0;
  font:500 13px/1.5 Arial,sans-serif;
}
.review-private-form textarea{
  resize:vertical;
  min-height:135px;
  padding:13px;
}
.review-private-form input{
  min-height:44px;
  padding:0 13px;
}
.review-private-form textarea:focus,
.review-private-form input:focus{border-color:var(--bk-theme-accent)}
.review-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
}
.review-form-actions{
  display:grid;
  gap:10px;
  margin-top:2px;
}
.review-form-actions .primary-btn{width:100%}
.review-form-actions a{
  display:block;
  text-align:center;
  color:var(--bk-theme-muted);
  font:600 10px/1.4 Arial,sans-serif;
}
.review-form-status{
  min-height:18px;
  text-align:center;
  color:var(--bk-theme-accent);
  font:700 11px/1.4 Arial,sans-serif;
}
.review-thanks{
  padding:25px 5px;
  text-align:center;
}
.review-thanks>span{
  display:block;
  margin-bottom:12px;
  color:var(--bk-theme-accent);
  font-size:42px;
}

@media(max-width:760px){
  .site-trust-section{
    min-height:auto;
    padding:45px 12px calc(68px + env(safe-area-inset-bottom,0px));
  }
  .review-platform-grid{
    grid-template-columns:1fr;
  }
  .review-platform-card{
    min-height:112px;
  }
  .review-platform-card img{
    min-height:112px;
    max-height:145px;
    object-fit:cover;
  }
  .location-card{
    grid-template-columns:auto minmax(0,1fr);
  }
  .navigate-btn{
    grid-column:1/-1;
    width:100%;
    box-sizing:border-box;
  }
  .review-modal{
    padding:8px;
    align-items:end;
  }
  .review-modal-card{
    width:100%;
    max-height:88dvh;
    border-radius:10px 10px 0 0;
    padding:28px 17px max(22px,env(safe-area-inset-bottom,0px));
  }
  .review-stars{
    gap:1px;
  }
}


/* =====================================================================
   v2.8.1 — SCROLL FIX
   Reviews & Location must always be reachable below the menu.
   ===================================================================== */

html{
  height:auto !important;
  min-height:100% !important;
  overflow-y:auto !important;
}

body{
  height:auto !important;
  min-height:100dvh !important;
  overflow-y:auto !important;
}

.app{
  position:relative !important;
  height:100dvh !important;
  min-height:100dvh !important;
  max-height:100dvh !important;
  overflow:hidden !important;
}

/* These belong to the menu viewport, not to the whole document. */
.pager{
  position:absolute !important;
  z-index:125 !important;
  bottom:max(12px,env(safe-area-inset-bottom,0px)) !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}

.menu-ribbon{
  position:absolute !important;
}

/* An explicit way to reach the content below, while normal scrolling also works. */
.trust-scroll-cue{
  position:absolute;
  z-index:124;
  left:50%;
  bottom:max(67px,calc(env(safe-area-inset-bottom,0px) + 62px));
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(229,183,113,.22);
  border-radius:7px;
  background:color-mix(in srgb,var(--bk-theme-surface) 90%,transparent);
  color:var(--bk-theme-muted);
  box-shadow:0 7px 18px rgba(0,0,0,.12);
  font:700 9px/1 Arial,sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
}
.trust-scroll-cue b{
  color:var(--bk-theme-accent);
  font-size:15px;
  line-height:1;
}

.site-trust-section{
  display:block !important;
  position:relative !important;
  width:100% !important;
  min-height:72vh !important;
  scroll-margin-top:0 !important;
}

/* The global order button is outside .app in the DOM.
   Hide it as soon as the visitor leaves the menu viewport. */
body.site-scrolled .order-fab{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Existing intersection behavior still applies as a secondary safeguard. */
body.trust-section-visible .trust-scroll-cue{
  opacity:0 !important;
  pointer-events:none !important;
}

/* Mobile header must stay attached to the menu viewport, not the document. */
@media(max-width:900px){
  .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
  }

  .pager{
    bottom:max(10px,env(safe-area-inset-bottom,0px)) !important;
  }

  .menu-ribbon{
    position:absolute !important;
  }

  .trust-scroll-cue{
    bottom:max(62px,calc(env(safe-area-inset-bottom,0px) + 57px));
    max-width:52vw;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.site-scrolled .topbar{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

/* Very short laptop screens: keep cue above the pager without covering the book. */
@media(max-height:720px) and (min-width:901px){
  .trust-scroll-cue{
    bottom:62px;
    min-height:32px;
  }
}


/* =====================================================================
   v2.8.2 — TRUE SITE FOOTER
   ===================================================================== */

.site-footer{
  position:relative;
  z-index:4;
  width:100%;
  border-top:1px solid rgba(229,183,113,.16);
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--bk-theme-bg) 96%,black 4%),
      color-mix(in srgb,var(--bk-theme-bg) 88%,black 12%)
    );
  color:var(--bk-theme-muted);
}

.site-footer-inner{
  min-height:70px;
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  font:600 11px/1.4 Arial,sans-serif;
  letter-spacing:.02em;
}

.site-footer-heart{
  color:#d74b43;
  font-size:15px;
  line-height:1;
}

.site-footer a{
  color:var(--bk-theme-accent);
  font-weight:800;
  text-decoration:none;
}

.site-footer a:hover{
  text-decoration:underline;
}

@media(max-width:760px){
  .site-footer-inner{
    min-height:64px;
    width:calc(100% - 24px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    font-size:10px;
  }
}


/* =====================================================================
   v2.8.3 — MOBILE POLISH / SAFE VIEWPORT
   Desktop >= 901px remains unchanged.
   ===================================================================== */

@media(max-width:900px){
  :root{
    --bk-mobile-safe-top:env(safe-area-inset-top,0px);
    --bk-mobile-safe-bottom:env(safe-area-inset-bottom,0px);
    --bk-mobile-header-h:58px;
    --bk-mobile-pager-h:48px;
  }

  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    -webkit-text-size-adjust:100%;
  }

  /* Critical: height now INCLUDES header padding. No 100dvh + padding overflow. */
  .app{
    box-sizing:border-box !important;
    width:100% !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    padding:
      calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top))
      0
      0 !important;
    overflow:hidden !important;
  }

  .topbar{
    box-sizing:border-box !important;
    position:absolute !important;
    z-index:1000 !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    height:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top)) !important;
    min-height:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top)) !important;
    padding:
      var(--bk-mobile-safe-top)
      max(7px,var(--bk-mobile-safe-right,env(safe-area-inset-right,0px)))
      0
      max(7px,var(--bk-mobile-safe-left,env(safe-area-inset-left,0px))) !important;
    gap:4px !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  .brand-mark,
  .brand-logo{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    flex-basis:42px !important;
  }

  .top-actions{
    gap:3px !important;
  }

  .history-btn{
    height:34px !important;
    min-height:34px !important;
    max-width:74px !important;
    padding:0 7px !important;
    font-size:9px !important;
  }

  #searchBtn{
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    min-height:34px !important;
  }

  #searchBtn::before{
    font-size:18px !important;
  }

  .lang-btn{
    width:31px !important;
    min-width:31px !important;
    height:34px !important;
    min-height:34px !important;
    font-size:8px !important;
  }

  /* Stage uses exactly the remaining screen below the header. */
  .stage{
    box-sizing:border-box !important;
    width:100% !important;
    height:calc(100dvh - var(--bk-mobile-header-h) - var(--bk-mobile-safe-top)) !important;
    min-height:0 !important;
    padding:
      7px
      5px
      calc(150px + var(--bk-mobile-safe-bottom)) !important;
    place-items:stretch !important;
  }

  .book-shell{
    box-sizing:border-box !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    filter:none !important;
  }

  .page{
    border-radius:9px !important;
  }

  .page-content{
    padding:18px 11px 14px !important;
    overscroll-behavior-y:contain !important;
    -webkit-overflow-scrolling:touch;
  }

  .page-footer{
    margin:0 12px 8px !important;
  }

  /* Bottom controls get three distinct rows: no overlap. */
  .pager{
    position:absolute !important;
    z-index:130 !important;
    left:50% !important;
    right:auto !important;
    bottom:max(7px,var(--bk-mobile-safe-bottom)) !important;
    transform:translateX(-50%) !important;
    min-height:44px !important;
    padding:4px 6px !important;
    gap:5px !important;
  }

  .pager button{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
  }

  .page-count{
    min-width:62px !important;
    font-size:9px !important;
  }

  .menu-ribbon{
    position:absolute !important;
    z-index:132 !important;
    top:auto !important;
    left:7px !important;
    bottom:calc(57px + var(--bk-mobile-safe-bottom)) !important;
    width:calc(50% - 11px) !important;
    max-width:none !important;
    height:42px !important;
    padding:0 10px !important;
    border-radius:7px !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }

  .ribbon-copy strong{
    font-size:8px !important;
  }

  .ribbon-arrows i{
    font-size:13px !important;
  }

  .order-fab{
    position:absolute !important;
    z-index:132 !important;
    right:7px !important;
    left:auto !important;
    bottom:calc(57px + var(--bk-mobile-safe-bottom)) !important;
    width:calc(50% - 11px) !important;
    max-width:none !important;
    height:42px !important;
    padding:0 9px !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    font-size:8px !important;
  }

  .order-fab b{
    min-width:20px !important;
    height:20px !important;
  }

  .order-fab #orderFabTotal{
    font-size:8px !important;
  }

  .trust-scroll-cue{
    position:absolute !important;
    z-index:131 !important;
    left:50% !important;
    bottom:calc(106px + var(--bk-mobile-safe-bottom)) !important;
    transform:translateX(-50%) !important;
    width:calc(100% - 14px) !important;
    max-width:none !important;
    min-height:34px !important;
    height:34px !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    padding:0 10px !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:8px !important;
    letter-spacing:.06em !important;
  }

  /* Panels fit the safe mobile viewport. */
  .drawer{
    top:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top)) !important;
    bottom:0 !important;
    width:min(340px,94vw) !important;
    padding:17px 14px calc(18px + var(--bk-mobile-safe-bottom)) !important;
  }

  .scrim{
    inset:
      calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top))
      0
      0
      0 !important;
  }

  .search-panel{
    top:calc(var(--bk-mobile-header-h) + var(--bk-mobile-safe-top) + 6px) !important;
    width:calc(100vw - 12px) !important;
    padding:7px !important;
  }

  .search-results{
    max-height:min(48dvh,370px) !important;
  }

  .order-drawer{
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    padding-bottom:var(--bk-mobile-safe-bottom) !important;
  }

  .order-head{
    padding:calc(12px + var(--bk-mobile-safe-top)) 13px 12px !important;
  }

  .order-items{
    padding:8px 13px !important;
  }

  .order-foot{
    padding:12px 13px calc(12px + var(--bk-mobile-safe-bottom)) !important;
  }

  /* Reviews section: clean one-column mobile layout. */
  .site-trust-section{
    min-height:auto !important;
    padding:
      40px
      10px
      44px !important;
  }

  .site-trust-inner{
    width:100% !important;
  }

  .trust-heading{
    margin-bottom:19px !important;
    padding:0 8px;
  }

  .trust-heading h2{
    font-size:clamp(38px,12vw,52px) !important;
  }

  .trust-heading p{
    max-width:330px;
    font-size:11px !important;
  }

  .review-platform-grid{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .review-platform-card{
    width:100% !important;
    min-height:0 !important;
    aspect-ratio:2.55/1 !important;
    border-radius:7px !important;
  }

  .review-platform-card img{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  .location-card{
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:10px !important;
    margin-top:10px !important;
    padding:13px !important;
  }

  .location-pin{
    width:42px !important;
    height:42px !important;
    font-size:22px !important;
  }

  .location-copy strong{
    font-size:clamp(22px,7.5vw,30px) !important;
  }

  .location-copy span{
    font-size:10px !important;
  }

  .navigate-btn{
    grid-column:1/-1 !important;
    width:100% !important;
    min-height:44px !important;
    box-sizing:border-box !important;
  }

  /* Mobile review modal behaves like a stable bottom sheet. */
  .review-modal{
    align-items:end !important;
    padding:0 !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .review-modal-card{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    max-height:92dvh !important;
    margin:0 !important;
    padding:
      27px
      15px
      calc(18px + var(--bk-mobile-safe-bottom)) !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-radius:11px 11px 0 0 !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch;
  }

  .review-modal-close{
    top:8px !important;
    right:8px !important;
    width:36px !important;
    height:36px !important;
  }

  .review-modal-card h2{
    padding:0 22px;
    font-size:clamp(30px,9vw,42px) !important;
  }

  .review-stars{
    gap:0 !important;
    justify-content:space-between !important;
    width:min(100%,330px);
    margin:21px auto 4px !important;
  }

  .review-stars button{
    min-width:54px;
    min-height:54px;
    font-size:45px !important;
    touch-action:manipulation;
  }

  .review-private-form textarea{
    min-height:120px !important;
    font-size:16px !important; /* prevents iOS input zoom */
  }

  .review-private-form input{
    font-size:16px !important;
  }

  /* True footer: compact and safe-area aware. */
  .site-footer-inner{
    min-height:58px !important;
    width:calc(100% - 20px) !important;
    padding:
      4px
      0
      max(5px,var(--bk-mobile-safe-bottom)) !important;
    gap:5px !important;
    font-size:10px !important;
  }

  /* Header naturally leaves with the menu viewport; don't hide it on tiny scroll bounce. */
  body.site-scrolled .topbar{
    opacity:1 !important;
    visibility:visible !important;
  }
}

/* Small iPhones / narrow Android phones. */
@media(max-width:380px){
  :root{
    --bk-mobile-header-h:54px;
  }

  .brand-mark,
  .brand-logo{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    flex-basis:38px !important;
  }

  .history-btn{
    max-width:64px !important;
    padding:0 6px !important;
    font-size:8px !important;
  }

  #searchBtn{
    width:31px !important;
    min-width:31px !important;
  }

  .lang-btn{
    width:29px !important;
    min-width:29px !important;
  }

  .stage{
    padding-left:4px !important;
    padding-right:4px !important;
  }

  .page-content{
    padding-left:9px !important;
    padding-right:9px !important;
  }

  .dish{
    grid-template-columns:76px minmax(0,1fr) !important;
  }

  .dish-line h3{
    font-size:14px !important;
  }

  .menu-ribbon,
  .order-fab{
    width:calc(50% - 9px) !important;
  }

  .review-stars button{
    min-width:48px;
    font-size:40px !important;
  }
}

/* Landscape phone: prioritize usable content height. */
@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  :root{
    --bk-mobile-header-h:48px;
  }

  .brand-mark,
  .brand-logo{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    flex-basis:34px !important;
  }

  .history-btn,
  #searchBtn,
  .lang-btn{
    height:30px !important;
    min-height:30px !important;
  }

  .stage{
    padding-bottom:105px !important;
  }

  .trust-scroll-cue{
    display:none !important;
  }

  .menu-ribbon,
  .order-fab{
    bottom:calc(51px + var(--bk-mobile-safe-bottom)) !important;
    height:36px !important;
  }

  .pager{
    bottom:max(5px,var(--bk-mobile-safe-bottom)) !important;
  }
}


/* =====================================================================
   v2.8.4 — BILINGUAL TRUST SECTION + PUBLIC MAP
   ===================================================================== */

.public-map-block{
  margin-top:18px;
}

.public-map-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}

.public-map-head>div{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.public-map-head span{
  color:var(--bk-theme-accent);
  font:800 8px/1 Arial,sans-serif;
  letter-spacing:.18em;
}

.public-map-head strong{
  color:var(--bk-theme-heading);
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-size:clamp(26px,3vw,40px);
  line-height:1;
  font-weight:400;
}

.public-map-head a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(229,183,113,.24);
  border-radius:7px;
  background:var(--bk-theme-surface);
  color:var(--bk-theme-text);
  text-decoration:none;
  font:800 9px/1 Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.public-map-frame{
  width:100%;
  height:420px;
  overflow:hidden;
  border:1px solid rgba(229,183,113,.20);
  border-radius:8px;
  background:#1a0d08;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}

.public-map-frame iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

/* Mobile: the actual map reaches the full viewport width. */
@media(max-width:900px){
  .public-map-block{
    margin-top:14px !important;
  }

  .public-map-head{
    align-items:stretch !important;
    flex-direction:column !important;
    gap:9px !important;
    padding:0 2px;
  }

  .public-map-head strong{
    font-size:clamp(28px,9vw,38px) !important;
  }

  .public-map-head a{
    width:100% !important;
    min-height:42px !important;
    box-sizing:border-box !important;
  }

  .public-map-frame{
    width:calc(100% + 20px) !important;
    height:330px !important;
    margin-left:-10px !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
  }
}

@media(max-width:390px){
  .public-map-frame{
    height:300px !important;
  }
}


/* =====================================================================
   v2.8.5 — REVIEW CARD IMAGE FIT
   Keep the full artwork visible inside each card.
   ===================================================================== */

.review-platform-card{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.review-platform-card img{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:18px !important;
  box-sizing:border-box !important;
  background:transparent !important;
}

@media(max-width:900px){
  .review-platform-card img{
    padding:12px !important;
  }
}

@media(min-width:901px){
  .review-platform-grid{
    align-items:stretch;
  }
  .review-platform-card{
    min-height:214px;
  }
}


/* =====================================================================
   v2.8.6 — AMINOS AI BUTTON / MOBILE AI MODE
   ===================================================================== */

.bk-ai-btn{
  position:relative;
  gap:5px;
  min-width:58px;
  color:var(--bk-theme-text) !important;
}

.bk-ai-spark{
  color:var(--bk-theme-accent);
  font-size:13px;
  line-height:1;
}

.bk-ai-label{
  font:800 10px/1 Arial,sans-serif;
  letter-spacing:.08em;
}

.bk-ai-btn.active{
  border-color:var(--bk-theme-accent) !important;
  background:color-mix(in srgb,var(--bk-theme-accent) 18%,var(--bk-theme-surface)) !important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--bk-theme-accent) 18%,transparent);
}

.bk-ai-btn.active .bk-ai-spark{
  animation:bkAiPulse 1.4s ease-in-out infinite;
}

.bk-ai-btn.is-loading .bk-ai-spark{
  animation:bkAiSpin .85s linear infinite;
}

.bk-ai-btn.has-error{
  border-color:#b84c43 !important;
}

@keyframes bkAiPulse{
  0%,100%{opacity:.55;transform:scale(.88)}
  50%{opacity:1;transform:scale(1.12)}
}

@keyframes bkAiSpin{
  to{transform:rotate(360deg)}
}

/* Roots discovered after Aminos boots can be hidden again by our own AI toggle. */
.bk-ai-widget-hidden{
  display:none !important;
}

/* Keep third-party UI above the site when AI mode is active. */
body.bk-ai-active .bk-ai-widget-root{
  z-index:15000 !important;
}

/* Mobile solution:
   when AI mode is on, free the lower screen completely for the chatbot. */
@media(max-width:900px){
  .bk-ai-btn{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 !important;
    gap:0 !important;
  }

  .bk-ai-label{
    display:none !important;
  }

  .bk-ai-spark{
    font-size:16px !important;
  }

  body.bk-ai-active .menu-ribbon,
  body.bk-ai-active .order-fab,
  body.bk-ai-active .pager,
  body.bk-ai-active .trust-scroll-cue{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  /* Reserve the lower screen for Aminos instead of fighting its own fixed position. */
  body.bk-ai-active .bk-ai-widget-root{
    max-width:100vw !important;
    max-height:100dvh !important;
  }

  body.bk-ai-active .bk-ai-widget-root iframe{
    max-width:100vw !important;
    max-height:calc(100dvh - var(--bk-mobile-safe-top)) !important;
  }

  /* AI remains reachable from the top bar even after the chatbot has been closed
     using its own close control; tapping AI again restores Categories/Order/Pager. */
  body.bk-ai-active .topbar{
    z-index:16000 !important;
  }
}

@media(max-width:380px){
  .bk-ai-btn{
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
  }

  .bk-ai-spark{
    font-size:14px !important;
  }

  .top-actions{
    gap:2px !important;
  }
}

/* Very narrow phones: preserve all controls by making History slightly tighter. */
@media(max-width:350px){
  .history-btn{
    max-width:54px !important;
    padding-left:5px !important;
    padding-right:5px !important;
  }

  .lang-btn{
    width:27px !important;
    min-width:27px !important;
  }
}


/* =====================================================================
   v2.8.7 — FULL-HEIGHT CATEGORY DRAWER
   ===================================================================== */

/* The drawer is a real overlay from the very top of the viewport. */
.drawer{
  position:fixed !important;
  z-index:17020 !important;
  top:0 !important;
  bottom:0 !important;
  left:0 !important;
  height:100dvh !important;
  max-height:100dvh !important;
  box-sizing:border-box !important;
  padding:
    max(22px,env(safe-area-inset-top,0px))
    22px
    max(22px,env(safe-area-inset-bottom,0px))
    22px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}

.drawer::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

/* Scrim also starts at the real viewport top; no exposed header strip. */
.scrim{
  position:fixed !important;
  z-index:17010 !important;
  inset:0 !important;
}

/* Freeze the underlying page while Categories is open. */
body.nav-open{
  overflow:hidden !important;
}

/* Brand belongs to the drawer itself now, so covering the header feels intentional. */
.drawer-brand{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 18px;
  padding:0 0 16px;
  border-bottom:1px solid rgba(225,183,122,.16);
}

.drawer-brand-logo{
  width:52px;
  height:52px;
  min-width:52px;
  overflow:hidden;
  border-radius:50%;
  border:1px solid rgba(225,183,122,.24);
  background:var(--bk-theme-surface);
  cursor:pointer;
}

.drawer-brand-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.drawer-brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:3px;
}

.drawer-brand-copy strong{
  color:var(--bk-theme-heading);
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-size:20px;
  line-height:1.05;
  font-weight:400;
}

.drawer-brand-copy small{
  color:var(--bk-theme-muted);
  font:600 9px/1.35 Arial,sans-serif;
}

/* Keep Menu/X aligned and visually separate from the brand. */
.drawer-head{
  position:relative !important;
  z-index:2 !important;
  align-items:center !important;
}

.drawer-head button{
  flex:0 0 auto !important;
}

/* Search remains below the header because it is not a full-screen navigation panel. */
.search-panel{
  z-index:16990 !important;
}

/* Full-screen mobile Categories. */
@media(max-width:900px){
  .drawer{
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    top:0 !important;
    bottom:0 !important;
    border-right:0 !important;
    padding:
      calc(max(14px,env(safe-area-inset-top,0px)) + 6px)
      14px
      calc(max(16px,env(safe-area-inset-bottom,0px)) + 4px)
      14px !important;
  }

  .scrim{
    inset:0 !important;
  }

  .drawer-brand{
    margin-bottom:14px !important;
    padding-bottom:13px !important;
  }

  .drawer-brand-logo{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
  }

  .drawer-brand-copy strong{
    font-size:18px !important;
  }

  .drawer-head{
    padding-bottom:12px !important;
  }

  .drawer-head strong{
    font-size:30px !important;
  }

  .drawer-head button{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
  }

  /* While the drawer is open, it owns the whole screen. */
  body.nav-open .topbar,
  body.nav-open .pager,
  body.nav-open .order-fab,
  body.nav-open .trust-scroll-cue{
    pointer-events:none !important;
  }
}

@media(max-width:380px){
  .drawer{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .drawer-brand-logo{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
  }

  .drawer-brand-copy strong{
    font-size:17px !important;
  }

  .drawer-head strong{
    font-size:28px !important;
  }
}


/* =====================================================================
   v2.8.8 — VIEWPORT-FIT COVER + DASHBOARD FONT MAPPING
   ===================================================================== */

.brand-text strong,
.page-heading h2,
.cover-inner h1,
.contact-inner h2,
.drawer-head strong,
.drawer-brand-copy strong,
.history-archive-head strong,
.trust-heading h2,
.location-copy strong,
.public-map-head strong,
.review-modal-card h2,
.waiter-top h2{
  font-family:var(--bk-font-heading) !important;
  font-weight:400 !important;
}
.dish-line h3{
  font-family:var(--bk-font-item) !important;
  font-weight:400 !important;
}

.page--cover .page-content{
  box-sizing:border-box !important;
  height:100% !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
.page--cover .page-content::-webkit-scrollbar{display:none !important}

.page--cover .cover-inner{
  box-sizing:border-box !important;
  min-height:100% !important;
  height:auto !important;
  padding:clamp(8px,2.2dvh,22px) clamp(12px,2.3vw,26px) !important;
  justify-content:center !important;
}
.page--cover .cover-logo{
  width:clamp(56px,min(9.6vw,13dvh),106px) !important;
  height:clamp(56px,min(9.6vw,13dvh),106px) !important;
  margin-bottom:clamp(5px,1.35dvh,13px) !important;
  flex:0 0 auto !important;
}
.page--cover .cover-eyebrow{
  font-size:clamp(8px,min(1vw,1.5dvh),11px) !important;
  line-height:1.08 !important;
  letter-spacing:clamp(.13em,.20vw,.21em) !important;
}
.page--cover .cover-inner h1{
  max-width:min(780px,94%) !important;
  margin:clamp(4px,1dvh,9px) 0 clamp(2px,.65dvh,6px) !important;
  font-size:clamp(36px,min(5.2vw,8.6dvh),78px) !important;
  line-height:.88 !important;
}
.page--cover .ornament{
  width:min(205px,52%) !important;
  margin:clamp(0px,.35dvh,3px) auto !important;
}
.page--cover .cover-subtitle{
  margin:clamp(4px,.9dvh,9px) 0 0 !important;
  font-family:var(--bk-font-heading) !important;
  font-size:clamp(17px,min(2.1vw,3.9dvh),29px) !important;
  line-height:1.05 !important;
}
.page--cover .cover-note{
  max-width:min(720px,95%) !important;
  margin:clamp(6px,1.2dvh,12px) 0 0 !important;
  font-size:clamp(7px,min(.82vw,1.4dvh),10px) !important;
  line-height:1.32 !important;
  letter-spacing:clamp(.08em,.13vw,.14em) !important;
}
.page--cover .cover-actions{
  margin-top:clamp(7px,1.55dvh,16px) !important;
  gap:8px !important;
}
.page--cover .primary-btn,
.page--cover .secondary-btn{
  min-height:clamp(35px,5.8dvh,45px) !important;
  padding:0 clamp(12px,1.55vw,18px) !important;
  font-size:clamp(8px,min(.85vw,1.4dvh),11px) !important;
}

@media(min-width:901px) and (max-height:700px){
  .page--cover .cover-inner{padding:5px 18px !important}
  .page--cover .cover-logo{width:60px !important;height:60px !important;margin-bottom:4px !important}
  .page--cover .cover-inner h1{font-size:clamp(36px,7.6dvh,54px) !important;margin:4px 0 2px !important}
  .page--cover .cover-subtitle{font-size:18px !important;margin-top:3px !important}
  .page--cover .cover-note{font-size:7px !important;margin-top:4px !important}
  .page--cover .cover-actions{margin-top:6px !important}
  .page--cover .primary-btn,.page--cover .secondary-btn{min-height:34px !important;font-size:8px !important}
}
@media(min-width:901px) and (max-height:610px){
  .page--cover .cover-logo{width:48px !important;height:48px !important}
  .page--cover .cover-eyebrow{font-size:7px !important}
  .page--cover .cover-inner h1{font-size:clamp(32px,7.4dvh,44px) !important}
  .page--cover .ornament{width:130px !important}
  .page--cover .cover-subtitle{font-size:15px !important}
  .page--cover .cover-note{font-size:6px !important}
  .page--cover .primary-btn,.page--cover .secondary-btn{min-height:31px !important}
}

@media(max-width:900px){
  .page--cover .cover-inner{padding:clamp(5px,1.25dvh,10px) 9px !important}
  .page--cover .cover-logo{width:clamp(48px,8.5dvh,70px) !important;height:clamp(48px,8.5dvh,70px) !important;margin-bottom:4px !important}
  .page--cover .cover-eyebrow{font-size:clamp(7px,1.15dvh,9px) !important}
  .page--cover .cover-inner h1{max-width:98% !important;font-size:clamp(32px,min(10.6vw,6.8dvh),52px) !important;margin:4px 0 2px !important}
  .page--cover .ornament{width:min(145px,45%) !important}
  .page--cover .cover-subtitle{font-size:clamp(16px,min(5vw,3.1dvh),22px) !important;margin-top:3px !important}
  .page--cover .cover-note{max-width:97% !important;margin-top:5px !important;font-size:clamp(7px,1.05dvh,8px) !important}
  .page--cover .cover-actions{width:min(100%,400px) !important;margin-top:6px !important}
  .page--cover .primary-btn,.page--cover .secondary-btn{min-height:34px !important;font-size:8px !important}
}
@media(max-width:390px){
  .page--cover .cover-actions{grid-template-columns:1fr 1fr !important}
}
@media(max-width:900px) and (max-height:690px){
  .page--cover .cover-logo{width:42px !important;height:42px !important}
  .page--cover .cover-inner h1{font-size:clamp(28px,6.5dvh,40px) !important}
  .page--cover .cover-subtitle{font-size:14px !important}
  .page--cover .cover-note{font-size:6px !important;margin-top:3px !important}
  .page--cover .cover-actions{margin-top:4px !important}
  .page--cover .primary-btn,.page--cover .secondary-btn{min-height:30px !important}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  .page--cover .cover-inner{padding:2px 7px !important}
  .page--cover .cover-logo{width:32px !important;height:32px !important;margin-bottom:1px !important}
  .page--cover .cover-eyebrow{font-size:6px !important}
  .page--cover .cover-inner h1{font-size:clamp(27px,8.2dvh,35px) !important;margin:1px 0 !important}
  .page--cover .ornament{width:100px !important}
  .page--cover .cover-subtitle{font-size:12px !important;margin-top:1px !important}
  .page--cover .cover-note{font-size:5px !important;margin-top:1px !important}
  .page--cover .cover-actions{margin-top:3px !important}
  .page--cover .primary-btn,.page--cover .secondary-btn{min-height:27px !important;font-size:7px !important}
}


/* ===== bundled mobile.css v2.8.9 ===== */
/* Bai Kotse Mobile v2.8.9 — authoritative mobile layer only */
@media(max-width:900px){
  :root{
    --bk-m-safe-top:env(safe-area-inset-top,0px);
    --bk-m-safe-right:env(safe-area-inset-right,0px);
    --bk-m-safe-bottom:env(safe-area-inset-bottom,0px);
    --bk-m-safe-left:env(safe-area-inset-left,0px);
    --bk-m-head:56px;
    --bk-m-bottom-row:50px;
    --bk-m-cue-row:34px;
  }

  *,*::before,*::after{box-sizing:border-box}
  html{width:100%;max-width:100%;overflow-x:hidden!important;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{width:100%;max-width:100%;min-height:100%;margin:0!important;overflow-x:hidden!important}
  button,a,input,textarea{touch-action:manipulation}

  /* Stable first viewport: header + stage, no grid conflicts from older mobile rules. */
  .app{
    position:relative!important;
    display:block!important;
    isolation:isolate;
    width:100%!important;
    height:100dvh!important;
    min-height:100svh!important;
    max-height:100dvh!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .topbar{
    position:absolute!important;
    z-index:9000!important;
    inset:0 0 auto 0!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    height:calc(var(--bk-m-head) + var(--bk-m-safe-top))!important;
    min-height:calc(var(--bk-m-head) + var(--bk-m-safe-top))!important;
    padding:var(--bk-m-safe-top) max(6px,var(--bk-m-safe-right)) 0 max(6px,var(--bk-m-safe-left))!important;
    gap:4px!important;
    background:color-mix(in srgb,var(--bk-theme-bg) 98%,black 2%)!important;
    border-bottom:1px solid rgba(229,183,113,.14)!important;
    box-shadow:0 4px 14px rgba(0,0,0,.10)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .brand{display:flex!important;align-items:center!important;min-width:0!important;flex:0 0 auto!important}
  .brand-text{display:none!important}
  .brand-mark,.brand-logo{
    width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex:0 0 40px!important;
    border-radius:50%!important;
  }
  .top-actions{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    flex:1 1 auto!important;min-width:0!important;width:auto!important;margin-left:auto!important;gap:3px!important;
    overflow:visible!important;opacity:1!important;visibility:visible!important;
  }
  .top-actions>*{flex:0 0 auto!important}
  .icon-btn,.lang-btn,.bk-ai-btn{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    height:34px!important;min-height:34px!important;border-radius:7px!important;white-space:nowrap!important;
    opacity:1!important;visibility:visible!important;
  }
  .history-btn{max-width:66px!important;min-width:55px!important;padding:0 7px!important;font-size:9px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .bk-ai-btn{width:42px!important;min-width:42px!important;max-width:42px!important;padding:0 5px!important;gap:3px!important}
  .bk-ai-btn .bk-ai-spark{display:inline!important;font-size:11px!important}
  .bk-ai-btn .bk-ai-label{display:inline!important;font-size:8px!important;line-height:1!important;letter-spacing:.04em!important}
  #searchBtn{width:34px!important;min-width:34px!important;max-width:34px!important;padding:0!important;font-size:0!important}
  #searchBtn::before{content:'⌕'!important;font-size:19px!important;line-height:1!important}
  .lang-btn{width:29px!important;min-width:29px!important;max-width:29px!important;padding:0!important;font-size:8px!important}
  .progress{position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:2px!important}

  /* Stage owns only the area below header; controls have reserved space. */
  .stage{
    position:absolute!important;
    z-index:20!important;
    inset:calc(var(--bk-m-head) + var(--bk-m-safe-top)) 0 0 0!important;
    display:block!important;
    width:auto!important;height:auto!important;min-height:0!important;
    padding:6px 5px calc(140px + var(--bk-m-safe-bottom))!important;
    perspective:none!important;
    overflow:hidden!important;
  }
  .book-shell{
    position:relative!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
    margin:0!important;filter:none!important;perspective:none!important;box-shadow:none!important;
  }
  .book-shell::before,.book-shell::after{display:none!important}
  .page{inset:0!important;border-radius:8px!important;box-shadow:0 8px 18px rgba(0,0,0,.12)!important;transform:none!important}
  .page.active{display:flex!important;visibility:visible!important;opacity:1!important}
  .page:not(.active){pointer-events:none!important}
  .page-content{
    min-height:0!important;padding:15px 10px 12px!important;overflow-y:auto!important;overflow-x:hidden!important;
    scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;touch-action:pan-y!important;
  }
  .page-content::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .page-footer{margin:0 10px 7px!important;padding-top:7px!important;min-height:20px!important}
  .paper-grain{opacity:.18!important}
  .page-corner,.page-turn-fold{display:none!important}

  /* Cover fits normal phones; hidden scroll remains fallback for extreme heights. */
  .page--cover .page-content{padding:6px 8px 8px!important}
  .page--cover .cover-inner{min-height:100%!important;padding:3px 7px!important;justify-content:center!important}
  .page--cover .cover-logo{width:clamp(44px,7.8dvh,64px)!important;height:clamp(44px,7.8dvh,64px)!important;margin-bottom:3px!important}
  .page--cover .cover-eyebrow{font-size:clamp(7px,1.05dvh,8px)!important}
  .page--cover .cover-inner h1{max-width:98%!important;font-size:clamp(29px,min(10vw,6.2dvh),48px)!important;line-height:.9!important;margin:3px 0 1px!important}
  .page--cover .ornament{width:min(132px,43%)!important;margin:0 auto!important}
  .page--cover .cover-subtitle{font-size:clamp(15px,min(4.8vw,2.9dvh),21px)!important;margin-top:2px!important}
  .page--cover .cover-note{max-width:98%!important;font-size:clamp(6px,1dvh,8px)!important;line-height:1.28!important;margin-top:4px!important}
  .page--cover .cover-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:min(100%,390px)!important;gap:6px!important;margin-top:5px!important}
  .page--cover .primary-btn,.page--cover .secondary-btn{min-height:32px!important;padding:0 8px!important;font-size:8px!important}

  /* Menu content */
  .page-heading{margin-bottom:12px!important}
  .page-heading h2{font-size:clamp(28px,9vw,40px)!important;line-height:.94!important}
  .page-heading p{font-size:11px!important;line-height:1.35!important}
  .dish-list{grid-template-columns:1fr!important;gap:7px!important}
  .dish{grid-template-columns:78px minmax(0,1fr)!important;min-height:88px!important;border-radius:7px!important}
  .dish-thumb{min-height:88px!important}
  .dish-copy{padding:8px!important;min-width:0!important}
  .dish-line{gap:7px!important}
  .dish-line h3{font-size:14px!important;line-height:1.05!important;overflow-wrap:anywhere!important}
  .dish-price{font-size:12px!important}
  .dish-desc{font-size:8px!important;line-height:1.35!important;-webkit-line-clamp:3!important}
  .add-to-order{min-height:28px!important;margin-top:6px!important;font-size:8px!important}

  /* Bottom controls: cue / categories+cart / pager never overlap. */
  .pager{
    position:absolute!important;z-index:220!important;left:50%!important;right:auto!important;
    bottom:max(5px,var(--bk-m-safe-bottom))!important;transform:translateX(-50%)!important;
    display:flex!important;min-height:42px!important;padding:3px 5px!important;gap:4px!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 5px 12px rgba(0,0,0,.12)!important;
  }
  .pager button{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .page-count{min-width:58px!important;font-size:8px!important}
  .menu-ribbon{
    position:absolute!important;z-index:230!important;left:6px!important;top:auto!important;
    bottom:calc(52px + var(--bk-m-safe-bottom))!important;transform:none!important;
    width:calc(50% - 9px)!important;max-width:none!important;height:40px!important;
    padding:0 8px!important;border:1px solid rgba(229,183,113,.20)!important;border-radius:7px!important;
    flex-direction:row!important;gap:6px!important;justify-content:center!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  .ribbon-copy{writing-mode:horizontal-tb!important;transform:none!important;gap:4px!important}
  .ribbon-copy small{display:none!important}.ribbon-copy strong{font-size:8px!important;white-space:nowrap!important}.ribbon-arrows i{font-size:12px!important}
  .order-fab{
    position:fixed!important;z-index:230!important;right:6px!important;left:auto!important;
    bottom:calc(52px + var(--bk-m-safe-bottom))!important;width:calc(50% - 9px)!important;max-width:none!important;height:40px!important;
    padding:0 7px!important;justify-content:center!important;gap:5px!important;border-radius:7px!important;
    font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;box-shadow:0 6px 14px rgba(0,0,0,.14)!important;
  }
  .order-fab span:first-child{overflow:hidden!important;text-overflow:ellipsis!important}.order-fab b{min-width:19px!important;height:19px!important;font-size:8px!important}.order-fab #orderFabTotal{font-size:8px!important}
  .trust-scroll-cue{
    position:absolute!important;z-index:225!important;left:50%!important;right:auto!important;
    bottom:calc(98px + var(--bk-m-safe-bottom))!important;transform:translateX(-50%)!important;
    width:calc(100% - 12px)!important;max-width:none!important;height:31px!important;min-height:31px!important;
    padding:0 8px!important;justify-content:center!important;font-size:7px!important;letter-spacing:.05em!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }

  /* Overlay stacking. Search must sit ABOVE scrim; drawer above both. */
  .scrim{position:fixed!important;z-index:16000!important;inset:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(13,7,4,.60)!important}
  .search-panel{
    position:fixed!important;z-index:16020!important;top:calc(var(--bk-m-head) + var(--bk-m-safe-top) + 6px)!important;left:6px!important;right:6px!important;
    width:auto!important;max-width:none!important;padding:7px!important;transform:translateY(-6px)!important;border-radius:8px!important;
    box-shadow:0 14px 34px rgba(0,0,0,.28)!important;
  }
  .search-panel.open{transform:none!important}.search-input{height:44px!important;min-height:44px!important;font-size:16px!important}.search-results{max-height:min(52dvh,390px)!important}
  .drawer{
    position:fixed!important;z-index:17020!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;
    padding:calc(max(12px,var(--bk-m-safe-top)) + 5px) 12px calc(max(14px,var(--bk-m-safe-bottom)) + 4px)!important;
    border:0!important;border-radius:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
    scrollbar-width:none!important;-ms-overflow-style:none!important;box-shadow:none!important;transition:transform .16s ease-out!important;
  }
  .drawer.open{transform:none!important}
  .drawer::-webkit-scrollbar{display:none!important}.drawer-brand{margin-bottom:10px!important;padding-bottom:10px!important}.drawer-brand-logo{width:42px!important;height:42px!important;min-width:42px!important}.drawer-brand-copy strong{font-size:17px!important}.drawer-head{padding-bottom:9px!important}.drawer-head strong{font-size:27px!important}.drawer-head button{width:38px!important;height:38px!important}.drawer-history-card{margin:9px 0!important;padding:10px!important}.toc{gap:2px!important}.toc button{min-height:40px!important}.drawer-note{margin-top:12px!important;padding-top:10px!important}
  body.nav-open{overflow:hidden!important}

  /* Order and waiter: true mobile panels. */
  .order-drawer{position:fixed!important;z-index:18020!important;inset:0 0 0 auto!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border:0!important}
  .order-head{padding:calc(10px + var(--bk-m-safe-top)) 12px 10px!important}.order-head strong{font-size:17px!important}.order-items{padding:7px 12px!important}.order-line{grid-template-columns:48px minmax(0,1fr) auto!important;gap:8px!important;padding:8px 0!important}.order-line img{width:48px!important;height:46px!important}.order-foot{padding:10px 12px calc(10px + var(--bk-m-safe-bottom))!important}.order-actions{grid-template-columns:1fr 1fr!important}
  body.order-open{overflow:hidden!important}
  .waiter-modal{z-index:19020!important;padding:0!important;background:var(--bk-theme-bg)!important}.waiter-card{width:100%!important;min-height:100dvh!important;margin:0!important;padding:calc(14px + var(--bk-m-safe-top)) 12px calc(14px + var(--bk-m-safe-bottom))!important;border:0!important}.waiter-top h2{font-size:25px!important}.waiter-row{font-size:14px!important}.waiter-grand strong{font-size:25px!important}

  /* History */
  .history-intro-grid{grid-template-columns:1fr!important;gap:10px!important}.history-hero-image{max-height:44dvh!important}.story-copy{padding:12px!important}.story-paragraph{font-size:12px!important}.story-quote{font-size:18px!important}.history-masonry{columns:2!important;column-gap:6px!important}.history-archive-photo{margin-bottom:6px!important}.history-lightbox{z-index:19040!important;padding:8px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.history-lightbox-figure{max-width:96vw!important}.history-lightbox-figure img{max-height:77dvh!important}.history-lightbox-prev{left:4px!important}.history-lightbox-next{right:4px!important}

  /* Reviews / location / map: one column, edge-to-edge map. */
  .site-trust-section{
    min-height:auto!important;padding:38px 10px 38px!important;content-visibility:auto;contain-intrinsic-size:900px;
    box-shadow:none!important;background-attachment:scroll!important;
  }
  .site-trust-inner{width:100%!important}.trust-heading{margin-bottom:16px!important;padding:0 5px!important}.trust-heading h2{font-size:clamp(34px,11vw,48px)!important}.trust-heading p{font-size:11px!important}
  .review-platform-grid{grid-template-columns:1fr!important;gap:7px!important}.review-platform-card{width:100%!important;min-height:0!important;aspect-ratio:2.45/1!important;border-radius:7px!important;box-shadow:none!important}.review-platform-card img{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:contain!important;padding:10px!important}
  .location-card{grid-template-columns:40px minmax(0,1fr)!important;gap:9px!important;margin-top:10px!important;padding:11px!important}.location-pin{width:40px!important;height:40px!important}.location-copy strong{font-size:clamp(21px,7vw,28px)!important}.navigate-btn{grid-column:1/-1!important;width:100%!important;min-height:42px!important}
  .public-map-head{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.public-map-head strong{font-size:clamp(26px,8vw,36px)!important}.public-map-head a{width:100%!important;min-height:42px!important}
  .public-map-frame{width:calc(100% + 20px)!important;height:min(340px,45dvh)!important;margin-left:-10px!important;border-left:0!important;border-right:0!important;border-radius:0!important;box-shadow:none!important}.public-map-frame iframe{width:100%!important;height:100%!important}
  .site-footer{content-visibility:auto;contain-intrinsic-size:64px}.site-footer-inner{min-height:58px!important;width:calc(100% - 18px)!important;padding-bottom:max(4px,var(--bk-m-safe-bottom))!important;font-size:10px!important}

  /* Review dialog bottom sheet */
  .review-modal{z-index:19050!important;align-items:end!important;padding:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.review-modal-card{width:100%!important;max-width:none!important;max-height:91dvh!important;margin:0!important;padding:25px 14px calc(16px + var(--bk-m-safe-bottom))!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:10px 10px 0 0!important}.review-modal-card h2{font-size:clamp(29px,9vw,40px)!important}.review-stars{width:min(100%,325px)!important;gap:0!important;justify-content:space-between!important}.review-stars button{min-width:50px!important;min-height:50px!important;font-size:41px!important}.review-private-form textarea,.review-private-form input{font-size:16px!important}

  /* AI mode. AI button stays visible with text; site controls free the widget area. */
  body.bk-ai-active .menu-ribbon,body.bk-ai-active .order-fab,body.bk-ai-active .pager,body.bk-ai-active .trust-scroll-cue{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  body.bk-ai-active .stage{pointer-events:none!important}
  body.bk-ai-active .bk-ai-widget-root{z-index:20000!important;max-width:100vw!important;max-height:100dvh!important}
  body.bk-ai-active .bk-ai-widget-root iframe{max-width:100vw!important;max-height:calc(100dvh - var(--bk-m-safe-top))!important}
  body.bk-ai-active .topbar{z-index:20020!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.bk-ai-active .bk-ai-btn{pointer-events:auto!important}

  /* When the document moves to Reviews, fixed cart disappears; header naturally belongs to .app. */
  body.site-scrolled .order-fab,body.trust-section-visible .order-fab{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

  /* Mobile performance: avoid decorative GPU work. */
  .topbar,.pager,.menu-ribbon,.review-modal,.history-lightbox{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .book-shell,.page,.review-platform-card,.public-map-frame{filter:none!important}
  .site-backdrop{background-attachment:scroll!important}
}

@media(max-width:360px){
  :root{--bk-m-head:54px}
  .brand-mark,.brand-logo{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex-basis:36px!important}
  .topbar{gap:2px!important;padding-left:max(4px,var(--bk-m-safe-left))!important;padding-right:max(4px,var(--bk-m-safe-right))!important}
  .top-actions{gap:2px!important}.history-btn{min-width:50px!important;max-width:57px!important;padding:0 5px!important;font-size:8px!important}.bk-ai-btn{width:39px!important;min-width:39px!important;max-width:39px!important}.lang-btn{width:27px!important;min-width:27px!important;max-width:27px!important}#searchBtn{width:31px!important;min-width:31px!important;max-width:31px!important}
  .stage{padding-left:4px!important;padding-right:4px!important}.dish{grid-template-columns:72px minmax(0,1fr)!important}.dish-line h3{font-size:13px!important}
}

@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  :root{--bk-m-head:46px}
  .brand-mark,.brand-logo{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;flex-basis:32px!important}.icon-btn,.lang-btn,.bk-ai-btn{height:30px!important;min-height:30px!important}.history-btn{min-width:50px!important}.stage{padding-top:3px!important;padding-bottom:94px!important}.trust-scroll-cue{display:none!important}.menu-ribbon,.order-fab{bottom:calc(47px + var(--bk-m-safe-bottom))!important;height:35px!important}.pager{bottom:max(4px,var(--bk-m-safe-bottom))!important}.page--cover .cover-logo{width:30px!important;height:30px!important}.page--cover .cover-inner h1{font-size:clamp(26px,8dvh,34px)!important}.page--cover .cover-subtitle{font-size:12px!important}.page--cover .cover-note{font-size:5px!important}.page--cover .primary-btn,.page--cover .secondary-btn{min-height:26px!important}
}


/* =====================================================================
   v2.9.0 — MOBILE HARD FIX
   The mobile layer is bundled into menu.css to avoid stale/missed mobile.css.
   ===================================================================== */

/* This credit belongs only in the true site footer. */
.page-footer .graycape-credit{display:none!important}

@media(max-width:900px){
  html{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body{
    height:auto!important;
    min-height:100svh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    touch-action:pan-y!important;
  }
  body:not(.nav-open):not(.order-open):not(.gallery-open):not(.review-modal-open){
    overflow-y:auto!important;
  }

  /* First screen is one real mobile viewport. The sections after it remain in document flow. */
  .app{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    overflow:hidden!important;
  }

  /* Header must always exist visually on mobile; AI stays reachable. */
  .topbar{
    display:flex!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .top-actions,
  #historyBtn,
  #bkAiBtn,
  #searchBtn,
  #bgBtn,
  #enBtn{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  #bkAiBtn{
    flex:0 0 42px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
  #bkAiBtn .bk-ai-label{display:inline!important}

  .stage{
    position:absolute!important;
    top:calc(var(--bk-m-head,56px) + var(--bk-m-safe-top,env(safe-area-inset-top,0px)))!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:auto!important;
    height:auto!important;
    overflow:hidden!important;
    touch-action:pan-y!important;
  }
  .book-shell,
  .page,
  .page-content{
    min-height:0!important;
  }
  .page-content{
    touch-action:pan-y!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Cover normally fits without scrolling; hidden scroll remains available if text grows. */
  .page--cover .page-content{
    overflow-y:auto!important;
    scrollbar-width:none!important;
  }
  .page--cover .page-content::-webkit-scrollbar{display:none!important}

  /* Keep all first-screen controls visible and separate. */
  .trust-scroll-cue{
    display:inline-flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .menu-ribbon,
  .order-fab,
  .pager{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
  }

  /* Reviews/location are actual content after the viewport, not trapped inside .app. */
  .site-trust-section,
  .site-footer{
    display:block!important;
    position:relative!important;
    visibility:visible!important;
  }

  /* Once the document reaches the section below, controls belonging to the book disappear. */
  body.site-scrolled .menu-ribbon,
  body.site-scrolled .order-fab,
  body.site-scrolled .pager,
  body.site-scrolled .trust-scroll-cue,
  body.trust-section-visible .menu-ribbon,
  body.trust-section-visible .order-fab,
  body.trust-section-visible .pager,
  body.trust-section-visible .trust-scroll-cue{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Overlay modes still own the viewport. */
  body.nav-open,
  body.order-open,
  body.gallery-open,
  body.review-modal-open{
    overflow:hidden!important;
  }

  /* AI mode keeps its toggle available while freeing space for the widget. */
  body.bk-ai-active #bkAiBtn{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}


/* =====================================================================
   v2.9.1 — MOBILE DESKTOP-THEME PARITY / COMPLETE FRONTEND
   Mobile geometry stays responsive, but ALL visual colors come from the
   exact same dashboard variables used on desktop.
   ===================================================================== */

/* There must never again be a Graycape credit inside an individual book page. */
.graycape-credit{display:none !important}

@media(max-width:900px){
  html,
  body{
    background:var(--bk-site-bg-color,var(--bk-theme-bg)) !important;
    color:var(--bk-theme-text) !important;
  }

  .site-backdrop{
    background-color:var(--bk-site-bg-color,var(--bk-theme-bg)) !important;
    background-image:var(--bk-site-bg-image) !important;
    background-position:var(--bk-site-bg-x,50%) var(--bk-site-bg-y,50%) !important;
    background-size:var(--bk-site-bg-size,cover) !important;
  }

  .app,
  .stage,
  .book-shell{
    background:transparent !important;
  }

  /* Same configurable book palette as desktop. */
  .page,
  .page--cover,
  .page--history,
  .page--contact,
  .page--menu{
    background:
      radial-gradient(circle at 13% 15%,color-mix(in srgb,var(--bk-theme-accent) 15%,transparent),transparent 29%),
      radial-gradient(circle at 86% 80%,color-mix(in srgb,var(--bk-theme-accent) 8%,transparent),transparent 27%),
      linear-gradient(135deg,var(--bk-theme-bg),var(--bk-theme-surface) 54%,var(--bk-theme-bg)) !important;
    color:var(--bk-theme-text) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 23%,transparent) !important;
    box-shadow:0 10px 24px color-mix(in srgb,var(--bk-theme-bg) 52%,transparent) !important;
  }

  /* Category wallpaper remains authoritative when one is configured. */
  .page--menu.has-category-bg{
    background-image:
      linear-gradient(rgba(13,7,4,var(--bk-category-overlay,.58)),rgba(13,7,4,var(--bk-category-overlay,.58))),
      var(--bk-category-bg) !important;
    background-position:center,var(--bk-category-x,50%) var(--bk-category-y,50%) !important;
    background-size:cover,var(--bk-category-size,cover) !important;
    background-repeat:no-repeat !important;
  }

  .cover-eyebrow,
  .page-kicker,
  .group-title,
  .trust-heading>span,
  .location-copy small,
  .public-map-head span,
  .review-modal-kicker{
    color:var(--bk-theme-accent) !important;
  }

  .cover-inner h1,
  .page-heading h2,
  .contact-inner h2,
  .history-archive-head strong,
  .trust-heading h2,
  .location-copy strong,
  .public-map-head strong,
  .review-modal-card h2,
  .drawer-head strong,
  .drawer-brand-copy strong{
    color:var(--bk-theme-heading) !important;
  }

  .cover-subtitle,
  .cover-note,
  .page-heading p,
  .story-paragraph,
  .history-archive-head small,
  .dish-desc,
  .dish-weight,
  .location-copy span,
  .trust-heading p,
  .review-modal-card p,
  .site-footer,
  .drawer-brand-copy small{
    color:var(--bk-theme-muted) !important;
  }

  .dish-line h3{color:var(--bk-theme-item) !important}
  .dish-price{color:var(--bk-theme-text) !important}

  .dish,
  .story-copy,
  .story-quote,
  .history-archive-photo,
  .history-hero-image,
  .contact-cards a,
  .location-card,
  .review-platform-card{
    background:color-mix(in srgb,var(--bk-theme-surface) 88%,transparent) !important;
    color:var(--bk-theme-text) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 20%,transparent) !important;
  }

  .dish-thumb,
  .dynamic-placeholder{
    background:color-mix(in srgb,var(--bk-theme-surface) 90%,black 10%) !important;
    color:var(--bk-theme-muted) !important;
  }

  .primary-btn,
  .add-to-order,
  .navigate-btn{
    background:var(--bk-theme-accent) !important;
    color:var(--bk-theme-bg) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 82%,white) !important;
  }

  .secondary-btn,
  .public-map-head a{
    background:color-mix(in srgb,var(--bk-theme-surface) 88%,white 12%) !important;
    color:var(--bk-theme-text) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 23%,transparent) !important;
  }

  /* Header is the desktop palette, only compacted for a phone. */
  .topbar{
    background:color-mix(in srgb,var(--bk-theme-bg) 95%,black 5%) !important;
    color:var(--bk-theme-text) !important;
    border-bottom-color:color-mix(in srgb,var(--bk-theme-accent) 18%,transparent) !important;
  }

  .icon-btn,
  .lang-btn,
  .bk-ai-btn{
    background:color-mix(in srgb,var(--bk-theme-surface) 88%,transparent) !important;
    color:var(--bk-theme-text) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 20%,transparent) !important;
  }

  .lang-btn.active,
  .bk-ai-btn.active{
    background:var(--bk-theme-accent) !important;
    color:var(--bk-theme-bg) !important;
    border-color:var(--bk-theme-accent) !important;
  }

  .bk-ai-btn.active .bk-ai-spark{color:var(--bk-theme-bg) !important}
  .bk-ai-spark{color:var(--bk-theme-accent) !important}

  .menu-ribbon,
  .trust-scroll-cue{
    background:linear-gradient(180deg,color-mix(in srgb,var(--bk-theme-surface) 94%,black 6%),var(--bk-theme-bg)) !important;
    color:var(--bk-theme-text) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 28%,transparent) !important;
  }

  .ribbon-copy strong{color:var(--bk-theme-heading) !important}
  .ribbon-copy small{color:var(--bk-theme-muted) !important}
  .ribbon-arrows,
  .trust-scroll-cue b{color:var(--bk-theme-accent) !important}

  .order-fab{
    background:var(--bk-theme-surface) !important;
    color:var(--bk-theme-text) !important;
    border:1px solid color-mix(in srgb,var(--bk-theme-accent) 20%,transparent) !important;
  }
  .order-fab b{
    background:var(--bk-theme-accent) !important;
    color:var(--bk-theme-bg) !important;
  }

  .pager{
    background:color-mix(in srgb,var(--bk-theme-bg) 94%,transparent) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 18%,transparent) !important;
  }
  .pager button{
    background:var(--bk-theme-surface) !important;
    color:var(--bk-theme-text) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 20%,transparent) !important;
  }
  .page-count{color:var(--bk-theme-text) !important}

  .drawer,
  .search-panel,
  .order-drawer,
  .waiter-card,
  .review-modal-card{
    background:color-mix(in srgb,var(--bk-theme-bg) 97%,black 3%) !important;
    color:var(--bk-theme-text) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 20%,transparent) !important;
  }

  .drawer-head button,
  .search-input,
  .order-close,
  .waiter-close,
  .qty button,
  .review-modal-close,
  .review-private-form textarea,
  .review-private-form input{
    background:var(--bk-theme-surface) !important;
    color:var(--bk-theme-text) !important;
    border-color:color-mix(in srgb,var(--bk-theme-accent) 22%,transparent) !important;
  }

  .toc button,
  .search-results button{color:var(--bk-theme-text) !important}
  .toc button:hover,
  .toc button.is-active,
  .search-results button:hover{
    background:color-mix(in srgb,var(--bk-theme-accent) 13%,transparent) !important;
  }

  /* History: all Core gallery images stay visible on mobile when History is opened. */
  .page--history .page-content{
    display:block !important;
    overflow-y:auto !important;
    content-visibility:visible !important;
  }
  .history-editorial,
  .history-intro-grid,
  .history-masonry{
    visibility:visible !important;
    opacity:1 !important;
  }
  .history-gallery-item{visibility:visible !important}

  /* Reviews/location/footer are real document sections and share desktop colors. */
  .site-trust-section{
    display:block !important;
    visibility:visible !important;
    background:
      linear-gradient(180deg,
        color-mix(in srgb,var(--bk-theme-bg) 72%,transparent),
        color-mix(in srgb,var(--bk-theme-bg) 94%,black 6%)
      ),
      var(--bk-site-bg-image) !important;
    background-color:var(--bk-site-bg-color,var(--bk-theme-bg)) !important;
    background-position:var(--bk-site-bg-x,50%) var(--bk-site-bg-y,50%) !important;
    background-size:cover !important;
    color:var(--bk-theme-text) !important;
    border-top-color:color-mix(in srgb,var(--bk-theme-accent) 20%,transparent) !important;
  }

  .public-map-frame{
    border-color:color-mix(in srgb,var(--bk-theme-accent) 20%,transparent) !important;
    background:var(--bk-theme-surface) !important;
  }

  .site-footer{
    display:block !important;
    visibility:visible !important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--bk-theme-bg) 96%,black 4%),color-mix(in srgb,var(--bk-theme-bg) 86%,black 14%)) !important;
    color:var(--bk-theme-muted) !important;
    border-top-color:color-mix(in srgb,var(--bk-theme-accent) 17%,transparent) !important;
  }
  .site-footer a{color:var(--bk-theme-accent) !important}

  /* Preserve document scrolling to Reviews/Location/Footer. */
  body:not(.nav-open):not(.order-open):not(.gallery-open):not(.review-modal-open){
    overflow-y:auto !important;
    touch-action:pan-y !important;
  }
  .page-content{
    overscroll-behavior-y:auto !important;
  }
}


/* v2.9.1 drawer final-state guard */
@media(max-width:900px){
  .drawer:not(.open){transform:translate3d(-103%,0,0) !important}
  .drawer.open{left:0 !important;right:0 !important;transform:translate3d(0,0,0) !important}
}

.dish-thumb{border:0;cursor:pointer}.dish-title-btn{display:block;max-width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dish-title-btn span{font-family:var(--bk-font-item)!important;color:var(--bk-theme-item)}.dish-actions{display:flex;flex-wrap:wrap;gap:6px}.dish-more{min-height:31px;padding:0 9px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 28%,transparent);border-radius:6px;background:transparent;color:var(--bk-theme-muted);font:800 8px/1 Arial,sans-serif}.dish-mini-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.dish-mini-tags span,.dish-detail-tags span{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--bk-theme-accent) 12%,var(--bk-theme-surface));color:var(--bk-theme-muted);font:700 8px/1 Arial,sans-serif}.drawer-smart-card{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0 0 11px;padding:11px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 25%,transparent);border-radius:8px;background:color-mix(in srgb,var(--bk-theme-accent) 8%,var(--bk-theme-surface));color:var(--bk-theme-text);text-align:left}.drawer-smart-card span{display:flex;flex-direction:column;gap:3px}.drawer-smart-card strong{font-family:var(--bk-font-heading);font-size:17px;font-weight:400}.drawer-smart-card small{color:var(--bk-theme-muted);font-size:8px}.drawer-smart-card b{color:var(--bk-theme-accent);font-size:20px}.smart-modal{position:fixed;z-index:24000;inset:0;display:none;align-items:center;justify-content:center;padding:14px;background:rgba(6,3,2,.78)}.smart-modal.open{display:flex}.smart-modal-card{position:relative;width:min(720px,100%);max-height:92dvh;overflow-y:auto;padding:24px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 28%,transparent);border-radius:10px;background:var(--bk-theme-bg);color:var(--bk-theme-text);box-shadow:0 28px 80px rgba(0,0,0,.5)}.smart-modal-close{position:absolute;z-index:3;top:9px;right:9px;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 25%,transparent);border-radius:7px;background:var(--bk-theme-surface);color:var(--bk-theme-text);font-size:20px}body.smart-modal-open{overflow:hidden!important}.dish-detail-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:20px}.dish-detail-image-wrap{min-height:280px;overflow:hidden;border-radius:8px;background:var(--bk-theme-surface)}.dish-detail-image-wrap img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}.dish-detail-copy{display:flex;flex-direction:column;align-items:flex-start}.dish-detail-category{color:var(--bk-theme-accent);font:800 8px/1 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}.dish-detail-copy h2,.chooser-card h2{margin:8px 0;color:var(--bk-theme-heading);font-family:var(--bk-font-heading)!important;font-size:clamp(34px,4vw,52px);font-weight:400;line-height:.95}.dish-detail-meta{display:flex;justify-content:space-between;width:100%;color:var(--bk-theme-muted);font-size:11px}.dish-detail-meta strong{color:var(--bk-theme-text);font-size:18px}#dishDetailDescription{color:var(--bk-theme-muted);font:500 12px/1.55 Arial,sans-serif}.dish-detail-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 12px}.dish-allergens{width:100%;margin-top:6px;padding:12px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 18%,transparent);border-radius:8px;background:color-mix(in srgb,var(--bk-theme-surface) 86%,transparent)}.dish-allergens>strong{display:block;margin-bottom:7px}.dish-allergens>div{display:grid;gap:5px}.dish-allergens span{display:flex;align-items:center;gap:7px;color:var(--bk-theme-muted);font-size:10px}.dish-allergens span b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bk-theme-accent);color:var(--bk-theme-bg);font-size:8px}.dish-allergens small{display:block;margin-top:8px;color:var(--bk-theme-muted);font-size:9px}.dish-detail-actions{width:100%;margin-top:14px}.dish-detail-actions .primary-btn{width:100%}.chooser-card{width:min(650px,100%);text-align:center}.chooser-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:18px 0}.chooser-tags button{min-height:34px;padding:0 10px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 22%,transparent);border-radius:999px;background:var(--bk-theme-surface);color:var(--bk-theme-text);font:700 9px/1 Arial,sans-serif}.chooser-tags button.active{background:var(--bk-theme-accent);color:var(--bk-theme-bg)}.chooser-results{display:grid;gap:7px;text-align:left}.chooser-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;width:100%;padding:11px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 18%,transparent);border-radius:8px;background:color-mix(in srgb,var(--bk-theme-surface) 88%,transparent);color:var(--bk-theme-text);text-align:left}.chooser-result strong{font-family:var(--bk-font-item);font-size:15px;font-weight:400;color:var(--bk-theme-item)}.chooser-result span{grid-column:1;color:var(--bk-theme-muted);font-size:9px}.chooser-result b{grid-column:2;grid-row:1/3;align-self:center;color:var(--bk-theme-accent)}.order-note{display:block;width:100%;max-width:310px;height:32px;margin-top:7px;padding:0 8px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 18%,transparent);border-radius:6px;background:var(--bk-theme-surface);color:var(--bk-theme-text);font-size:10px}.order-line-main{min-width:0}.waiter-row small{display:block;margin-top:4px;color:var(--bk-theme-muted);font-size:10px}.waiter-table{margin:6px 0 12px;padding:10px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 22%,transparent);border-radius:7px;color:var(--bk-theme-accent);font-weight:800;text-align:center}.order-table-label{display:block;margin-top:3px;color:var(--bk-theme-accent);font-size:9px}.history-chapter-head{display:flex;flex-direction:column;gap:3px;margin:20px 0 8px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--bk-theme-accent) 18%,transparent)}.history-chapter-head span{color:var(--bk-theme-accent);font:800 8px/1 Arial,sans-serif;letter-spacing:.14em}.history-chapter-head strong{font-family:var(--bk-font-heading);font-size:30px;font-weight:400;color:var(--bk-theme-heading)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* =====================================================================
   v3.1.3 — CART VISIBILITY / AI MODE FIX
   ===================================================================== */
.order-fab{
  z-index:520!important;
  min-height:56px!important;
  height:56px!important;
  padding:0 18px!important;
  gap:10px!important;
  border:2px solid color-mix(in srgb,var(--bk-theme-accent) 62%,transparent)!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--bk-theme-surface) 90%,black 10%)!important;
  color:var(--bk-theme-heading)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.30),0 0 0 1px color-mix(in srgb,var(--bk-theme-accent) 18%,transparent)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
}
.order-fab b{
  min-width:28px!important;
  height:28px!important;
  padding:0 7px!important;
  border-radius:7px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.order-fab #orderFabTotal{font-size:11px!important;font-weight:900!important}

body.bk-ai-active .order-fab{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  display:flex!important;
  z-index:23020!important;
}
body.bk-ai-active .order-drawer{z-index:24000!important}
body.bk-ai-active .waiter-modal{z-index:24100!important}

/* =====================================================================
   v3.1.4 — DESKTOP CART DRAWER / LANGUAGE QA FIX
   ===================================================================== */
.order-drawer{
  z-index:24000!important;
}
.waiter-modal{
  z-index:24100!important;
}
.order-foot{
  position:sticky!important;
  bottom:0!important;
  z-index:4!important;
  flex:0 0 auto!important;
  box-shadow:0 -12px 28px rgba(0,0,0,.18)!important;
}
.order-items{
  min-height:0!important;
}
body.order-open .order-fab{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(12px)!important;
}
.order-actions{
  grid-template-columns:minmax(120px,.8fr) minmax(190px,1.2fr)!important;
  gap:10px!important;
}
.order-actions button{
  min-height:50px!important;
  font-size:11px!important;
}
.show-waiter{
  border-color:color-mix(in srgb,var(--bk-theme-accent) 72%,transparent)!important;
  background:var(--bk-theme-accent)!important;
  color:var(--bk-theme-bg)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
  font-weight:900!important;
}
.show-waiter:hover{
  filter:brightness(1.06)!important;
}
@media(max-width:1120px) and (min-width:901px){
  .order-drawer{width:min(460px,46vw)!important}
  .order-actions{grid-template-columns:1fr!important}
}

/* v3.1.5 — static translated Google review showcase */
.google-review-showcase{
  margin-top:22px;
  padding:22px;
  border:1px solid rgba(229,183,113,.20);
  border-radius:10px;
  background:color-mix(in srgb,var(--bk-theme-surface) 88%,transparent);
  box-shadow:0 14px 32px rgba(0,0,0,.20);
}
.google-review-summary{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(229,183,113,.14);
}
.google-review-summary-copy{display:flex;flex-direction:column;gap:4px}
.google-review-label{
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:#fff;
  color:#272727;
  font:800 10px/1 Arial,sans-serif;
  letter-spacing:.04em;
}
.google-review-summary strong{
  color:var(--bk-theme-heading);
  font-family:'Izhitsa.kz','BK Izhitsa',Georgia,'Times New Roman',serif !important;
  font-size:clamp(29px,3.2vw,44px);
  line-height:1;
  font-weight:400;
}
.google-review-summary small{color:var(--bk-theme-muted);font:700 11px/1.4 Arial,sans-serif}
.google-review-stars{display:flex;gap:3px;color:var(--bk-theme-accent);font-size:22px;line-height:1;white-space:nowrap}
.google-review-stars .half{opacity:.58}
.google-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.google-review-card{
  min-width:0;
  padding:17px;
  border:1px solid rgba(229,183,113,.15);
  border-radius:8px;
  background:rgba(17,8,5,.32);
  cursor:default;
}
.google-review-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.google-review-card-head strong{color:var(--bk-theme-heading);font:800 13px/1.2 Arial,sans-serif}
.google-review-card-head span{color:var(--bk-theme-accent);font-size:12px;letter-spacing:.05em;white-space:nowrap}
.google-review-card p{margin:0;color:var(--bk-theme-text);font:500 12px/1.62 Arial,sans-serif}
.google-review-card>small{display:block;margin-top:12px;color:var(--bk-theme-muted);font:700 9px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.google-review-note{margin:12px 0 0;color:var(--bk-theme-muted);font:500 9px/1.45 Arial,sans-serif;text-align:center;opacity:.78}
@media(max-width:980px){
  .google-review-grid{grid-template-columns:1fr}
  .google-review-summary{align-items:flex-start;flex-direction:column}
}

/* =====================================================================
   v3.2.0 Premium redesign overrides
   ===================================================================== */
body.bk-premium-v320{
  --bk-premium-panel:linear-gradient(180deg,color-mix(in srgb,var(--bk-theme-surface) 94%,#0f0704 6%),color-mix(in srgb,var(--bk-theme-bg) 94%,#0b0604 6%));
  --bk-premium-glass:color-mix(in srgb,var(--bk-theme-surface) 74%,rgba(255,255,255,.08));
  --bk-premium-line:color-mix(in srgb,var(--bk-theme-accent) 22%,transparent);
  --bk-premium-strong-line:color-mix(in srgb,var(--bk-theme-accent) 38%,transparent);
  --bk-premium-text:var(--bk-theme-heading);
  --bk-premium-muted:color-mix(in srgb,var(--bk-theme-text) 70%,transparent);
  --bk-premium-shadow:0 18px 48px rgba(0,0,0,.24);
}
body.bk-premium-v320 .app{grid-template-rows:var(--bk-toolbar) 68px minmax(0,1fr)}
body.bk-premium-v320 .topbar{
  background:linear-gradient(180deg,rgba(29,14,9,.94),rgba(41,20,12,.90));
  border-bottom:1px solid var(--bk-premium-strong-line);
  box-shadow:0 10px 26px rgba(0,0,0,.24);
  backdrop-filter:blur(18px);
}
body.bk-premium-v320 .brand-mark{width:60px;height:60px;flex-basis:60px;background:rgba(255,248,236,.92);border-color:rgba(255,220,176,.18)}
body.bk-premium-v320 .brand-text strong{font-size:20px;color:#f7ead5}
body.bk-premium-v320 .brand-text small{font-size:10px;color:#e0bb86;letter-spacing:.20em}
body.bk-premium-v320 .icon-btn,
body.bk-premium-v320 .lang-btn{
  height:44px;padding:0 18px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--bk-theme-accent) 18%,transparent);
  background:rgba(255,255,255,.05);color:#f8eddc;box-shadow:none;
}
body.bk-premium-v320 .icon-btn:hover,
body.bk-premium-v320 .lang-btn:hover{background:rgba(255,255,255,.09);border-color:color-mix(in srgb,var(--bk-theme-accent) 30%,transparent)}
body.bk-premium-v320 .lang-btn.active{background:linear-gradient(180deg,color-mix(in srgb,var(--bk-theme-accent) 90%,#f0c17a),color-mix(in srgb,var(--bk-theme-accent) 82%,#966126));color:#1c100a;border-color:transparent}
body.bk-premium-v320 .progress{background:rgba(255,255,255,.06)}
body.bk-premium-v320 .progress span{background:linear-gradient(90deg,#b87833,#f3cd89,#b87833)}

body.bk-premium-v320 .category-strip{
  position:relative;z-index:118;
  padding:10px clamp(16px,2vw,26px) 12px;
  background:linear-gradient(180deg,rgba(22,10,7,.86),rgba(20,10,8,.42));
  border-bottom:1px solid var(--bk-premium-line);
}
body.bk-premium-v320 .category-strip-inner{
  display:flex;gap:10px;overflow:auto;padding-bottom:4px;
  scrollbar-width:none;-ms-overflow-style:none;
}
body.bk-premium-v320 .category-strip-inner::-webkit-scrollbar{display:none}
body.bk-premium-v320 .category-chip{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 18px;border-radius:999px;
  border:1px solid var(--bk-premium-line);
  background:rgba(255,255,255,.05);color:#ecd8bd;font:700 13px/1 Arial,sans-serif;
  letter-spacing:.03em;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
body.bk-premium-v320 .category-chip:hover{transform:translateY(-1px);background:rgba(255,255,255,.09);border-color:var(--bk-premium-strong-line)}
body.bk-premium-v320 .category-chip.active{background:linear-gradient(180deg,color-mix(in srgb,var(--bk-theme-accent) 88%,#f0c17a),color-mix(in srgb,var(--bk-theme-accent) 80%,#91602b));color:#1b1009;border-color:transparent;box-shadow:0 12px 24px rgba(0,0,0,.16)}

body.bk-premium-v320 .stage{padding:30px clamp(44px,5vw,76px) 104px}
body.bk-premium-v320 .book-shell{
  width:min(1280px,calc(100vw - 160px));
  height:min(760px,calc(100dvh - var(--bk-toolbar) - 196px));
  filter:drop-shadow(0 32px 60px rgba(0,0,0,.24));
}
body.bk-premium-v320 .book-shell::before{
  inset:16px -14px -14px 14px;border-radius:30px;
  background:linear-gradient(135deg,#d0a56e 0%,#7f5634 40%,#b8864e 100%);
  opacity:.92;
}
body.bk-premium-v320 .page{
  border-radius:26px;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 16%,transparent);
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0)),
    radial-gradient(circle at top left,rgba(255,255,255,.11),transparent 34%),
    linear-gradient(120deg,color-mix(in srgb,var(--bk-theme-surface) 93%,#1a0d08 7%),color-mix(in srgb,var(--bk-theme-bg) 96%,#140905 4%));
  color:#f7ebdc;box-shadow:0 24px 60px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.05);
}
body.bk-premium-v320 .page::before{opacity:.08}
body.bk-premium-v320 .page::after{width:0}
body.bk-premium-v320 .page-content{padding:38px 42px 26px}
body.bk-premium-v320 .page-footer{margin:0 42px 16px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--bk-theme-accent) 18%,transparent);color:#c8af90}
body.bk-premium-v320 .page-footer b{color:#f0c17e}
body.bk-premium-v320 .graycape-credit{color:#bda78f}
body.bk-premium-v320 .graycape-credit a{color:#eed9be}
body.bk-premium-v320 .page-kicker,
body.bk-premium-v320 .group-title,
body.bk-premium-v320 .cover-eyebrow{color:#d8a761}
body.bk-premium-v320 .page-heading h2,
body.bk-premium-v320 .contact-inner h2,
body.bk-premium-v320 .cover-inner h1{color:#fff5e6}
body.bk-premium-v320 .page-heading p,
body.bk-premium-v320 .cover-subtitle,
body.bk-premium-v320 .cover-note,
body.bk-premium-v320 .contact-sub,
body.bk-premium-v320 .contact-thanks{color:#dcc3a6}
body.bk-premium-v320 .page--cover .cover-inner{padding:26px 32px}
body.bk-premium-v320 .page--cover .cover-logo{width:136px;height:136px;background:rgba(255,248,236,.96);box-shadow:0 18px 30px rgba(0,0,0,.20)}
body.bk-premium-v320 .page--cover .cover-note{max-width:780px;letter-spacing:.12em}
body.bk-premium-v320 .ornament span{background:linear-gradient(90deg,transparent,#dfb173)}
body.bk-premium-v320 .ornament span:last-child{background:linear-gradient(90deg,#dfb173,transparent)}

body.bk-premium-v320 .primary-btn,
body.bk-premium-v320 .secondary-btn,
body.bk-premium-v320 .add-to-order,
body.bk-premium-v320 .dish-more{
  min-height:44px;padding:0 18px;border-radius:14px;border:1px solid var(--bk-premium-line);
}
body.bk-premium-v320 .primary-btn,
body.bk-premium-v320 .add-to-order{
  background:linear-gradient(180deg,color-mix(in srgb,var(--bk-theme-accent) 92%,#f0c17a),color-mix(in srgb,var(--bk-theme-accent) 78%,#8f5a28));
  color:#1d120b;border-color:transparent;font-weight:800;box-shadow:0 12px 22px rgba(0,0,0,.16)
}
body.bk-premium-v320 .secondary-btn,
body.bk-premium-v320 .dish-more{background:rgba(255,255,255,.04);color:#f7e8d3}
body.bk-premium-v320 .secondary-btn:hover,
body.bk-premium-v320 .dish-more:hover{background:rgba(255,255,255,.08)}

body.bk-premium-v320 .dish-group{margin:0 0 22px}
body.bk-premium-v320 .group-title{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--bk-theme-accent) 18%,transparent)}
body.bk-premium-v320 .dish-list{gap:18px}
body.bk-premium-v320 .page--menu .dish{
  align-items:stretch;min-height:170px;border-radius:24px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--bk-theme-accent) 16%,transparent);
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  box-shadow:0 16px 36px rgba(0,0,0,.16);
}
body.bk-premium-v320 .page--menu .dish:hover{transform:translateY(-2px);box-shadow:0 22px 42px rgba(0,0,0,.22)}
body.bk-premium-v320 .page--menu .dish-thumb{min-height:170px;border-right:1px solid color-mix(in srgb,var(--bk-theme-accent) 14%,transparent);background:#21120b}
body.bk-premium-v320 .page--menu .dish-thumb img{filter:saturate(1.02) contrast(1.02) brightness(.98)}
body.bk-premium-v320 .page--menu .dish-copy{padding:16px 18px 16px}
body.bk-premium-v320 .page--menu .dish-line{gap:14px}
body.bk-premium-v320 .page--menu .dish-title-btn{padding:0;text-align:left;background:none;border:0}
body.bk-premium-v320 .page--menu .dish-line span[data-bg],
body.bk-premium-v320 .page--menu .dish-line span[data-en],
body.bk-premium-v320 .page--menu .dish-line .dish-title-btn span{font-family:var(--bk-font-item)!important;font-size:40px;line-height:.86;color:#fff0d5}
body.bk-premium-v320 .page--menu .dish-desc{margin-top:8px;font-size:13px;line-height:1.58;color:#d7c1a7;-webkit-line-clamp:3}
body.bk-premium-v320 .page--menu .dish-mini-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
body.bk-premium-v320 .page--menu .dish-mini-tags span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid color-mix(in srgb,var(--bk-theme-accent) 14%,transparent);color:#f0dfc9;font:700 11px/1 Arial,sans-serif}
body.bk-premium-v320 .page--menu .dish-actions{gap:10px;padding-top:14px}
body.bk-premium-v320 .page--menu .dish-meta{gap:6px}
body.bk-premium-v320 .page--menu .dish-weight{font-size:11px;color:#d6bf9f}
body.bk-premium-v320 .page--menu .dish-price{font-size:24px;color:#fff5e6}

body.bk-premium-v320 .history-editorial,
body.bk-premium-v320 .contact-inner,
body.bk-premium-v320 .location-card,
body.bk-premium-v320 .public-map-card,
body.bk-premium-v320 .review-showcase{border-radius:24px;background:rgba(255,255,255,.04);border:1px solid var(--bk-premium-line);box-shadow:0 18px 34px rgba(0,0,0,.12)}
body.bk-premium-v320 .history-editorial,
body.bk-premium-v320 .contact-inner{padding:18px}
body.bk-premium-v320 .review-platform-card{border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--bk-premium-line);padding:12px;box-shadow:none}
body.bk-premium-v320 .review-platform-card:hover{transform:translateY(-2px);border-color:var(--bk-premium-strong-line)}
body.bk-premium-v320 .review-showcase-rating strong,
body.bk-premium-v320 .trust-heading h2,
body.bk-premium-v320 .location-copy strong,
body.bk-premium-v320 .public-map-head strong{color:#fff2de}
body.bk-premium-v320 .site-trust-section{padding:34px clamp(20px,4vw,34px) 120px;background:linear-gradient(180deg,rgba(18,8,6,.92),rgba(27,13,9,.98))}
body.bk-premium-v320 .site-trust-inner{max-width:1280px}

body.bk-premium-v320 .pager{
  gap:16px;padding:14px 18px;border-radius:22px;background:rgba(30,15,10,.86);
  border:1px solid var(--bk-premium-line);box-shadow:0 20px 36px rgba(0,0,0,.22);
}
body.bk-premium-v320 .pager button{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.08);color:#fff1dc;border:1px solid color-mix(in srgb,var(--bk-theme-accent) 18%,transparent)}
body.bk-premium-v320 .page-count{min-width:110px;color:#f5ead6;font:800 15px/1 Arial,sans-serif;letter-spacing:.08em}
body.bk-premium-v320 .trust-scroll-cue{
  padding:0 18px;height:54px;border-radius:18px;background:rgba(30,15,10,.86);
  border:1px solid var(--bk-premium-line);color:#f2e4d0;box-shadow:0 18px 36px rgba(0,0,0,.18)
}
body.bk-premium-v320 .menu-ribbon{
  left:22px;bottom:106px;top:auto;transform:none !important;
  height:58px;max-width:none;border-radius:18px;background:rgba(30,15,10,.92);border:1px solid var(--bk-premium-line);box-shadow:0 16px 32px rgba(0,0,0,.22)
}
body.bk-premium-v320 .menu-ribbon .ribbon-copy strong,
body.bk-premium-v320 .menu-ribbon .ribbon-copy small{color:#f5e7d0}

body.bk-premium-v320 .order-fab{
  right:22px;bottom:22px;height:64px;padding:0 20px;border-radius:22px;
  background:linear-gradient(180deg,rgba(29,14,9,.96),rgba(44,20,11,.94));
  border:1px solid color-mix(in srgb,var(--bk-theme-accent) 28%,transparent);
  color:#fff0da;box-shadow:0 22px 40px rgba(0,0,0,.24);font-size:14px;gap:12px
}
body.bk-premium-v320 .order-fab b{min-width:28px;height:28px;border-radius:10px;background:linear-gradient(180deg,#d8a252,#b7762f);color:#1c110b;font-size:13px}
body.bk-premium-v320 .order-drawer,
body.bk-premium-v320 .drawer,
body.bk-premium-v320 .search-panel{background:linear-gradient(180deg,#1d100b,#2a160e);color:#f8ead5}
body.bk-premium-v320 .drawer,
body.bk-premium-v320 .order-drawer{border-left:1px solid var(--bk-premium-line);box-shadow:-20px 0 44px rgba(0,0,0,.30)}
body.bk-premium-v320 .drawer-head,
body.bk-premium-v320 .order-head{border-bottom:1px solid var(--bk-premium-line)}
body.bk-premium-v320 .drawer-head strong,
body.bk-premium-v320 .drawer-brand-copy strong,
body.bk-premium-v320 .order-head strong{color:#fff1dd}
body.bk-premium-v320 .drawer-head button,
body.bk-premium-v320 .order-close,
body.bk-premium-v320 .waiter-close{background:rgba(255,255,255,.08);color:#fff1db;border:1px solid var(--bk-premium-line);border-radius:12px}
body.bk-premium-v320 .toc button{min-height:48px;border-radius:12px;color:#f1dfc8}
body.bk-premium-v320 .toc button:hover,
body.bk-premium-v320 .toc button.is-active{background:rgba(255,255,255,.07);border-color:var(--bk-premium-line)}
body.bk-premium-v320 .drawer-history-card,
body.bk-premium-v320 .drawer-smart-card{border-radius:18px;background:rgba(255,255,255,.05);border:1px solid var(--bk-premium-line)}
body.bk-premium-v320 .order-items{padding:14px 18px}
body.bk-premium-v320 .order-line{padding:14px 0;gap:12px;border-bottom:1px solid color-mix(in srgb,var(--bk-theme-accent) 12%,transparent)}
body.bk-premium-v320 .order-line img{width:72px;height:68px;border-radius:14px}
body.bk-premium-v320 .order-line h4{font-size:16px;color:#fff0da}
body.bk-premium-v320 .order-note{border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--bk-premium-line);color:#f5e9d8}
body.bk-premium-v320 .qty button{border-radius:10px;background:rgba(255,255,255,.08);border:1px solid var(--bk-premium-line);color:#fff0da}
body.bk-premium-v320 .order-foot{background:rgba(255,255,255,.04);border-top:1px solid var(--bk-premium-line)}
body.bk-premium-v320 .order-total strong{color:#fff1de}
body.bk-premium-v320 .show-waiter{background:linear-gradient(180deg,color-mix(in srgb,var(--bk-theme-accent) 88%,#f0c17a),color-mix(in srgb,var(--bk-theme-accent) 80%,#8f5a28));color:#1f120a;border-color:transparent}
body.bk-premium-v320 .clear-order{background:rgba(255,255,255,.06);color:#fff0da}

@media (max-width:1200px){
  body.bk-premium-v320 .book-shell{width:min(1180px,calc(100vw - 120px))}
  body.bk-premium-v320 .page-content{padding:30px 30px 22px}
  body.bk-premium-v320 .page-footer{margin:0 30px 15px}
  body.bk-premium-v320 .page--menu .dish-line .dish-title-btn span{font-size:34px}
  body.bk-premium-v320 .page--menu .dish{min-height:156px}
  body.bk-premium-v320 .page--menu .dish-thumb{min-height:156px}
}
@media (max-width:1024px){
  body.bk-premium-v320 .app{grid-template-rows:var(--bk-toolbar) 62px minmax(0,1fr)}
  body.bk-premium-v320 .category-chip{min-height:38px;padding:0 15px;font-size:12px}
  body.bk-premium-v320 .book-shell{width:min(1100px,calc(100vw - 90px));height:min(710px,calc(100dvh - var(--bk-toolbar) - 186px))}
  body.bk-premium-v320 .page--menu .dish{grid-template-columns:132px minmax(0,1fr)}
  body.bk-premium-v320 .page--menu .dish-line .dish-title-btn span{font-size:30px}
}

/* =====================================================================
   v3.2.1 — FINAL POLISH
   ===================================================================== */
body.bk-premium-v320 .category-strip-inner{
  max-width:1320px;
  margin:0 auto;
  padding-inline:2px;
}
body.bk-premium-v320 .category-chip{
  position:relative;
  isolation:isolate;
}
body.bk-premium-v320 .category-chip::before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  margin-right:9px;
  background:color-mix(in srgb,var(--bk-theme-accent) 58%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--bk-theme-accent) 8%,transparent);
}
body.bk-premium-v320 .category-chip.active::before{background:#2b170c;box-shadow:0 0 0 3px rgba(43,23,12,.10)}
body.bk-premium-v320 .stage{
  background:
    radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--bk-theme-accent) 8%,transparent),transparent 38%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12));
}
body.bk-premium-v320 .book-shell{
  height:min(720px,100%);
  max-height:100%;
}
body.bk-premium-v320 .book-shell::before{
  inset:10px -8px -8px 8px;
  border-radius:28px;
  opacity:.58;
  filter:saturate(.82);
}
body.bk-premium-v320 .book-shell::after{opacity:.35}
body.bk-premium-v320 .page{
  transition:box-shadow .22s ease,border-color .22s ease;
}
body.bk-premium-v320 .page.active{
  border-color:color-mix(in srgb,var(--bk-theme-accent) 22%,transparent);
  box-shadow:0 28px 64px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.035);
}
body.bk-premium-v320 .page-content{
  scroll-padding-top:16px;
}
body.bk-premium-v320 .page-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  column-gap:20px;
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid color-mix(in srgb,var(--bk-theme-accent) 14%,transparent);
}
body.bk-premium-v320 .page-heading .page-kicker,
body.bk-premium-v320 .page-heading h2{grid-column:1}
body.bk-premium-v320 .page-heading p{
  grid-column:2;
  grid-row:1 / span 2;
  max-width:370px;
  margin:0;
  text-align:right;
  font-size:14px;
  line-height:1.45;
}
body.bk-premium-v320 .page-heading h2{
  max-width:760px;
  text-wrap:balance;
}
body.bk-premium-v320 .dish-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
body.bk-premium-v320 .page--menu .dish{
  grid-template-columns:minmax(156px,34%) minmax(0,1fr);
  transform:translateZ(0);
  transition:transform .20s ease,box-shadow .20s ease,border-color .20s ease;
}
body.bk-premium-v320 .page--menu .dish:hover{
  border-color:color-mix(in srgb,var(--bk-theme-accent) 30%,transparent);
}
body.bk-premium-v320 .page--menu .dish-thumb::after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 68%,rgba(18,8,5,.16));
}
body.bk-premium-v320 .page--menu .dish-title-btn{
  max-width:100%;
  overflow:hidden;
}
body.bk-premium-v320 .page--menu .dish-title-btn span{
  display:block;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
body.bk-premium-v320 .page--menu .dish-price{
  padding:6px 9px;
  border-radius:10px;
  background:rgba(0,0,0,.16);
  border:1px solid color-mix(in srgb,var(--bk-theme-accent) 12%,transparent);
}
body.bk-premium-v320 .page--menu .dish-actions button{
  transition:transform .16s ease,filter .16s ease,background .16s ease;
}
body.bk-premium-v320 .page--menu .dish-actions button:hover{transform:translateY(-1px)}
body.bk-premium-v320 .add-to-order.is-added{
  animation:bkPremiumAdded .62s ease;
}
@keyframes bkPremiumAdded{
  0%{transform:scale(1)}
  35%{transform:scale(1.055);filter:brightness(1.12)}
  100%{transform:scale(1);filter:brightness(1)}
}
body.bk-premium-v320 :is(button,a,input,textarea):focus-visible{
  outline:2px solid color-mix(in srgb,var(--bk-theme-accent) 76%,#fff 24%);
  outline-offset:3px;
}
body.bk-premium-v320 .google-review-showcase{
  border-radius:24px;
  border-color:var(--bk-premium-line);
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  box-shadow:0 18px 36px rgba(0,0,0,.13);
}
body.bk-premium-v320 .google-review-card{
  border-radius:18px;
  background:rgba(255,255,255,.035);
  border-color:color-mix(in srgb,var(--bk-theme-accent) 14%,transparent);
  transition:transform .18s ease,border-color .18s ease;
}
body.bk-premium-v320 .google-review-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--bk-theme-accent) 27%,transparent);
}
body.bk-premium-v320 .location-card,
body.bk-premium-v320 .public-map-card{
  overflow:hidden;
}
body.bk-premium-v320 .order-fab{
  max-width:360px;
  white-space:nowrap;
}
body.bk-premium-v320 .order-drawer{
  width:min(520px,44vw);
}
body.bk-premium-v320 .order-actions button{
  min-height:48px;
  border-radius:14px;
}
body.bk-premium-v320 .show-waiter{
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}
body.bk-premium-v320 .search-panel input{
  border-radius:14px;
}

@media (max-width:1180px){
  body.bk-premium-v320 .page-heading{grid-template-columns:1fr}
  body.bk-premium-v320 .page-heading p{grid-column:1;grid-row:auto;max-width:640px;text-align:left;margin-top:8px}
  body.bk-premium-v320 .dish-list{grid-template-columns:1fr}
  body.bk-premium-v320 .page--menu .dish{grid-template-columns:190px minmax(0,1fr)}
  body.bk-premium-v320 .page--menu .dish-thumb{min-height:162px}
}
@media (max-width:980px){
  body.bk-premium-v320 .brand-text strong{font-size:17px}
  body.bk-premium-v320 .brand-text small{font-size:8px}
  body.bk-premium-v320 .icon-btn,body.bk-premium-v320 .lang-btn{padding:0 12px}
}
@media (prefers-reduced-motion:reduce){
  body.bk-premium-v320 .page--menu .dish,
  body.bk-premium-v320 .category-chip,
  body.bk-premium-v320 .google-review-card{transition:none!important}
  body.bk-premium-v320 .add-to-order.is-added{animation:none!important}
}
