/* Live data adapters for the canonical andrey2/mobile-video-menu concept.
 * The concept styles provide the layout. This file maps real links/variants
 * to its controls; account colours, media and order validation remain dynamic.
 */
[data-restaurant-theme="signature"] .view-catalog .catalog-filters-bar {
    position:static;background:transparent;backdrop-filter:none;border:0;
    box-shadow:none;padding:0;margin:0 0 38px;
}
[data-restaurant-theme="signature"] .catalog-filters-bar::after {display:none;}
[data-restaurant-theme="signature"] .catalog-filters-arrow {display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid color-mix(in srgb,var(--sig-text) 12%,transparent);border-radius:50%;background:var(--sig-surface);color:var(--sig-text);cursor:pointer;box-shadow:none;}
[data-restaurant-theme="signature"] .catalog-filters-arrow:disabled {opacity:.35;cursor:default;}
[data-restaurant-theme="signature"] #homeHero .sig-hero-slider__controls {display:flex;left:50%;right:auto;bottom:20px;transform:translateX(-50%);gap:10px;padding:4px 8px;border-radius:30px;background:rgba(9,35,50,.3);backdrop-filter:blur(8px);}
[data-restaurant-theme="signature"] #homeHero .sig-hero-slider__nav {width:44px;height:44px;border:0;background:transparent;color:#fff;}
[data-restaurant-theme="signature"] #homeHero .sig-hero-slider__dots {gap:0;}
[data-restaurant-theme="signature"] #homeHero [data-signature-shell-target="dot"] {width:28px;height:44px;border-radius:0;background:transparent;transform:none;position:relative;}
[data-restaurant-theme="signature"] #homeHero [data-signature-shell-target="dot"]::after {content:"";position:absolute;left:10px;top:18px;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);}
[data-restaurant-theme="signature"] #homeHero [data-signature-shell-target="dot"].is-active::after {background:var(--sig-sand-500);}
[data-restaurant-theme="signature"] .catalog-card__title-button {
    display:block;appearance:none;border:0;background:transparent;color:inherit;
    font:inherit;text-align:left;margin:0;padding:0;min-width:0;cursor:pointer;
}
[data-restaurant-theme="signature"] .catalog-card__title-button:focus-visible {outline:2px solid var(--sig-link);outline-offset:3px;}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card:not(.catalog-card--feed) {
    display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;align-self:stretch;
}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__body {
    display:flex;flex-direction:column;flex:1;min-height:0;gap:6px;padding:14px;
}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__title-row {height:auto;min-height:0;flex:0 0 auto;margin:0;gap:6px;}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__title-row h3 {
    margin:0;font-size:15px;line-height:20px;max-height:40px;min-height:0;height:auto;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__body > p:not(.menu-kcal) {
    margin:0;max-height:36px;font-size:12px;line-height:18px;flex:0 0 auto;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
[data-restaurant-theme="signature"] .catalog-card__weight {display:block;font-size:12px;line-height:18px;color:var(--sig-text-muted);}
[data-restaurant-theme="signature"] .catalog-card__footer {margin-top:auto;}
[data-restaurant-theme="signature"] #dishModal .dish-modal__add {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:114px;height:46px;min-height:46px;padding:10px 20px;font-size:13px;}
html[data-restaurant-theme="signature"] body.signature-shell #dishModal .dish-modal__price-wrap {justify-content:flex-start!important;align-items:center;margin-left:0!important;}
[data-restaurant-theme="signature"] :is(.cart-promo__btn,.sig-promo__apply):disabled {opacity:.5;cursor:default;}
[data-restaurant-theme="signature"] .signature-variants {display:flex;gap:6px;flex-wrap:wrap;margin:4px 0;}
[data-restaurant-theme="signature"] .content-page {color:var(--sig-text);}
.contact-sheet {box-sizing:border-box;position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,560px);max-width:100%;max-height:85dvh;overflow:auto;border:1px solid var(--sig-surface-muted);border-bottom:0;border-radius:28px 28px 0 0;padding:30px 24px max(28px,env(safe-area-inset-bottom));background:var(--sig-surface);color:var(--sig-text);box-shadow:0 -12px 60px #12344e22;font:inherit;}
.contact-sheet::backdrop {background:#0b233650;backdrop-filter:blur(7px);}
.contact-sheet__handle {width:38px;height:4px;border-radius:4px;background:var(--sig-text-muted);margin:-17px auto 25px;}
.contact-sheet__close {position:absolute;right:18px;top:20px;width:40px;height:40px;border:0;border-radius:50%;background:var(--sig-surface-muted);color:var(--sig-text);font-size:28px;cursor:pointer;}
.contact-sheet h2 {font-size:22px;margin:0 40px 10px 0;}
.contact-sheet__intro {font-size:13px;color:var(--sig-text-muted);margin:0 0 26px;line-height:1.5;}
.contact-sheet__phone {display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--sig-text);text-decoration:none;background:var(--sig-surface-muted);padding:18px 14px;border-radius:18px;font-size:15px;font-weight:600;}
.contact-sheet__phone span {font-size:11px;}
.contact-sheet .sig-messenger-links {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0;}
html[data-restaurant-theme="signature"] body.signature-shell .contact-sheet .sig-messenger-links a {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:auto;height:auto;padding:16px 5px;border:1px solid var(--sig-surface-muted);border-radius:18px;text-decoration:none;color:var(--sig-text);font-size:12px;background:transparent;}
.contact-sheet .sig-messenger-links a::after {content:attr(aria-label);}
html[data-restaurant-theme="signature"] body.signature-shell .contact-sheet .sig-messenger-links img {width:42px;height:42px;filter:none!important;}
.contact-sheet .sig-messenger-links a > span {display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#0077ff;color:white;font-size:18px;font-weight:700;}
.contact-sheet__details {display:block;margin-top:20px;color:var(--sig-link);font-size:13px;}
[data-restaurant-theme="signature"] .content-page__prose .content-page__block :is(h2,h3,h4) {
    margin:0 0 10px;color:var(--sig-text);font-size:18px;line-height:1.3;font-weight:700;
}
[data-restaurant-theme="signature"] .content-page__prose .content-page__block :is(p,ul,ol) {
    color:var(--sig-text-muted);font-size:15px;line-height:1.55;
}
[data-restaurant-theme="signature"] .view-home #homeCategoryRail.home-rail {
    display:flex;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:0;
}
[data-restaurant-theme="signature"] #homeCategoryRail.home-rail .cat-card:nth-child(n) {
    display:flex!important;scroll-snap-align:start;flex-shrink:0;height:auto;min-height:0;max-height:none;aspect-ratio:3/4;
}
@media(min-width:768px) {
    [data-restaurant-theme="signature"] #homeCategoryRail.home-rail .cat-card {flex:0 0 clamp(160px,18vw,210px)!important;width:clamp(160px,18vw,210px)!important;}
    [data-restaurant-theme="signature"] #app .home-rail-wrap--categories .sig-rail-arrow.sig-only {display:grid!important;opacity:1!important;pointer-events:auto!important;}
}
@media(max-width:767px) {
    html[data-restaurant-theme="signature"] body.signature-shell #app .catalog-filters-arrows {display:none!important;}
    html[data-restaurant-theme="signature"] body.signature-shell #app .catalog-result-head__title-row {display:flex;flex-direction:row!important;align-items:center;justify-content:space-between;flex:1;min-width:0;width:100%;gap:12px;}
    [data-restaurant-theme="signature"] .catalog-result-head__title-row h2 {margin:0;min-width:0;}
    [data-restaurant-theme="signature"] [data-catalog-count] {margin:0;flex-shrink:0;font-size:12px;white-space:nowrap;}
    [data-restaurant-theme="signature"] #dishModal .dish-modal__panel {height:auto;}
    [data-restaurant-theme="signature"] #dishModal .dish-modal__body {flex:1 1 auto;}
    [data-restaurant-theme="signature"] #homeCategoryRail.home-rail .cat-card {flex:0 0 clamp(144px,calc((100vw - 60px)/2),176px);width:clamp(144px,calc((100vw - 60px)/2),176px);}
    [data-restaurant-theme="signature"] .view-catalog .catalog-filters-bar {margin:0 0 18px;padding:0;}
    [data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__body {padding:10px;gap:5px;}
    [data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__title-row h3 {font-size:14px;line-height:18px;max-height:36px;}
    [data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__body > p:not(.menu-kcal) {font-size:11px;line-height:16px;max-height:32px;}
    [data-restaurant-theme="signature"] .catalog-card__weight {font-size:11px;line-height:17px;}
}

/* menu-oct12: square, uncropped photography; the video feed keeps its own ratio. */
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card:not(.catalog-card--feed) .catalog-card__media {
    width:100%;height:auto;min-height:0;max-height:none;flex:0 0 auto;
    aspect-ratio:1;box-sizing:border-box;background-size:contain!important;
    background-repeat:no-repeat;background-position:center;background-color:transparent;
}
/* Preserve alpha in uploaded cutouts. Neither the square nor the carousel
   should add a coloured matte behind a transparent photograph. */
html[data-restaurant-theme="signature"] body.signature-shell #dishModal :is(.dish-modal__media,.dish-modal__slide) {background-color:transparent;}
[data-restaurant-theme="signature"] .catalog-card__tag-icon {display:block;flex:0 0 auto;width:14px;height:14px;}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip .catalog-card__tag-icon {width:12px;height:12px;}
[data-restaurant-theme="signature"] .signature-extra-filters {margin-top:14px;font-size:13px;color:var(--sig-text-muted);}
[data-restaurant-theme="signature"] .signature-extra-filters summary {cursor:pointer;}
[data-restaurant-theme="signature"] .signature-extra-filters[open] summary {margin-bottom:14px;}
[data-restaurant-theme="signature"] .signature-extra-filters .catalog-filters-panel__title {margin-top:14px;}
[data-restaurant-theme="signature"] :is(.catalog-filters-panel__chip--children,.catalog-card__tag--children) {background:#e2f6df;color:#1f6b2d;}
[data-restaurant-theme="signature"] :is(.catalog-filters-panel__chip--veryspicy,.catalog-card__tag--veryspicy) {background:#ffe0e0;color:#a11010;}
[data-restaurant-theme="signature"] :is(.catalog-filters-panel__chip--fast,.catalog-card__tag--fast,.catalog-filters-panel__chip--businesslunch,.catalog-card__tag--businesslunch) {background:#d8f3ff;color:#0a5f86;}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__footer {flex-direction:row;justify-content:space-between;}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card__order {margin-left:auto;justify-content:flex-end;}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card .catalog-card__add {
    display:inline-grid;place-items:center;
    flex:0 0 36px;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;
    border-radius:18px;padding:0;line-height:0;font-size:0;
}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card .catalog-card__add span {
    display:grid;place-items:center;line-height:0;transform:none;
}
[data-restaurant-theme="signature"] :is(#catalogGrid,#homePopularRail) .catalog-card .catalog-card__add svg {
    display:block;width:14px;height:14px;
}
html[data-restaurant-theme="signature"] body.signature-shell :is(.catalog-card__add,.dish-modal__add) {
    background:var(--sig-navy-800);color:var(--sig-text-on-dark);
}
/* SVG plus must match the button text color, not --sig-btn-icon from signature.css */
html[data-restaurant-theme="signature"] body.signature-shell :is(.catalog-card__add,.dish-modal__add) svg {
    color:inherit;
}
[data-restaurant-theme="signature"] .catalog-filters :is(a,button) {font-size:14px;}
[data-restaurant-theme="signature"] .catalog-filters-rail:has(.catalog-level-back) {display:flex;align-items:center;gap:10px;}
[data-restaurant-theme="signature"] .catalog-filters-rail:has(.catalog-level-back) .catalog-filters {flex:1;min-width:0;}
[data-restaurant-theme="signature"] .catalog-filters-rail .catalog-level-back {display:grid;place-items:center;box-sizing:border-box;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid var(--sig-border);border-radius:50%;background:var(--sig-surface);color:var(--sig-text);text-decoration:none;}
[data-restaurant-theme="signature"] .catalog-parent-label {margin:0 0 6px;font-size:12px;line-height:1.4;color:var(--sig-text-muted);letter-spacing:.06em;}
[data-restaurant-theme="signature"] .catalog-result-head h2 {overflow-wrap:anywhere;}
[data-restaurant-theme="signature"] .signature-sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
html[data-restaurant-theme="signature"] body.signature-shell .catalog-filters :is(a,button).is-active {
    background:var(--sig-navy-800);border-color:var(--sig-navy-800);
}
[data-restaurant-theme="signature"] .view-catalog .catalog-more {margin:24px 0 8px;}
[data-restaurant-theme="signature"] .view-catalog .catalog-more__btn {width:auto;min-width:156px;max-width:none;min-height:44px;padding:10px 20px;font-size:13px;line-height:20px;}
/* One logo size across every header; never crop uploaded artwork. */
[data-restaurant-theme="signature"] #app :is(.home-topbar,.catalog-header,.topbar,.fs-menu__header) .brand__mark {
    width:56px!important;height:56px!important;min-width:56px;max-width:56px;max-height:56px;
    flex:0 0 56px;object-fit:contain;border-radius:50%;
}
[data-restaurant-theme="signature"] .sig-footer-brand .brand__mark {width:120px;height:120px;object-fit:contain;}
[data-restaurant-theme="signature"] .signature-logo-initials {display:inline-grid;place-items:center;box-sizing:border-box;flex:0 0 56px;width:56px;height:56px;border:1px solid currentColor;border-radius:50%;font-size:20px;font-weight:700;color:var(--sig-text-on-dark);background:var(--sig-primary);}
[data-restaurant-theme="signature"] .sig-footer-brand .signature-logo-initials {flex:0 0 120px;width:120px;height:120px;min-height:120px;font-size:36px;}
[data-restaurant-theme="signature"] .sig-messenger {text-decoration:none;color:var(--sig-text);background:var(--sig-surface);border:0;}
[data-restaurant-theme="signature"] .sig-messenger :is(img,svg) {width:20px;height:20px;object-fit:contain;filter:none!important;}
html[data-restaurant-theme="signature"] body.signature-shell .home-footer .sig-messenger {width:38px;height:38px;min-width:38px;min-height:38px;background:transparent;border:1px solid rgba(255,255,255,.25);color:rgba(249,252,253,.55);}
[data-restaurant-theme="signature"] .home-footer .sig-messenger :is(img,svg) {width:18px;height:18px;filter:brightness(0) invert(1)!important;opacity:.75;}
[data-restaurant-theme="signature"] .home-footer .sig-messenger svg > rect[width="24"] {display:none;}
.contact-sheet .sig-messenger :is(img,svg) {width:42px;height:42px;}
.contact-sheet__subtitle {font-size:14px;margin:26px 0 16px;}
.contact-sheet .sig-messenger-links {margin:0;}
.contact-sheet__close {background:transparent;font-weight:400;}
.contact-sheet__handle {background:var(--sig-border);}
.contact-sheet__phone {min-height:60px;box-sizing:border-box;justify-content:flex-start;border:1px solid var(--sig-border);background:color-mix(in srgb,var(--sig-page) 65%,var(--sig-surface));}
.contact-sheet__phone strong {font:inherit;}
.contact-sheet__phone > span {margin-left:auto;}
[data-restaurant-theme="signature"] :is(.home-topbar,.catalog-header) .sig-messenger {
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);
}
/* The square image and the information column share the concept's 1080px panel. */
[data-restaurant-theme="signature"] #dishModal .dish-modal__media {
    width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1;flex:0 0 auto;
    align-self:start;background-size:contain;
}
[data-restaurant-theme="signature"] #dishModal .dish-modal__slide {background-size:contain;background-repeat:no-repeat;background-position:center;}
[data-restaurant-theme="signature"] #dishModal .dish-modal__footer {border-top:0;box-shadow:none;}
[data-restaurant-theme="signature"] #dishModal .dish-modal__add:not(:disabled)::before {content:'+';font-size:20px;font-weight:400;line-height:1;}
[data-restaurant-theme="signature"] #dishModal .dish-modal__qty {height:46px;min-height:46px;}
[data-restaurant-theme="signature"] .content-page__contacts-info .content-page__cta-row {flex-direction:column;align-items:stretch;max-width:280px;margin:0;}
@media(min-width:768px) {
    [data-restaurant-theme="signature"] .content-page__contacts-info .content-page__cta-row {flex-direction:row;flex-wrap:wrap;align-items:center;max-width:none;}
    [data-restaurant-theme="signature"] .content-page__contacts-info .content-page__cta-row > a {width:auto;flex:0 0 auto;}
}
[data-restaurant-theme="signature"] .gallery-tabs {display:inline-flex;align-items:center;gap:4px;margin:0 0 22px;padding:4px;border:1px solid var(--sig-border);border-radius:999px;background:var(--sig-surface);}
[data-restaurant-theme="signature"] .gallery-tabs__btn {min-width:96px;min-height:40px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--sig-text-muted);font:inherit;font-size:14px;font-weight:650;}
[data-restaurant-theme="signature"] .gallery-tabs__btn.is-active {background:var(--sig-navy-800);color:var(--sig-text-on-dark);}
[data-restaurant-theme="signature"] .photo-gallery__caption {text-align:left;font-family:Montserrat,sans-serif;}
[data-restaurant-theme="signature"] .fs-nav__divider {border:0;border-top:1px solid rgba(255,255,255,.16);margin:16px 0;}
[data-restaurant-theme="signature"] .fs-nav a {text-decoration:none;}
[data-restaurant-theme="signature"] .fs-nav span.fs-nav__arrow {display:grid;place-items:center;font-size:24px;line-height:1;}
[data-restaurant-theme="signature"] .fs-nav__back {display:inline-flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 16px;border:1px solid currentColor;border-radius:28px;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer;}
[data-restaurant-theme="signature"] .signature-event-copy {gap:10px;padding:28px 28px 24px;}
[data-restaurant-theme="signature"] .signature-event-copy .event-detail-body {color:var(--sig-text-muted);line-height:1.45;}
[data-restaurant-theme="signature"] .signature-event-copy .event-modal__footer .dish-modal__add {height:44px;min-height:44px;padding:0 18px;font-size:13px;border-radius:22px;}
html[data-restaurant-theme="signature"] body.signature-shell #homeHero .home-hero__eyebrow {color:var(--sig-sand-500);}
[data-restaurant-theme="signature"] .content-page__prose .content-page__block:has(> ol) {grid-column:1 / -1;background:var(--sig-surface-muted);border-radius:18px;padding:24px;}
@media(min-width:768px) {
    [data-restaurant-theme="signature"] #dishModal .dish-modal__panel {
        width:min(1080px,100%);height:min(620px,90dvh);max-height:90dvh;overflow:hidden;
        grid-template-columns:minmax(0,1.2fr) minmax(320px,460px);
    }
    [data-restaurant-theme="signature"] #dishModal .dish-modal__body {display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:hidden;}
    [data-restaurant-theme="signature"] #dishModal .dish-modal__scroll {flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;}
    [data-restaurant-theme="signature"] #dishModal .dish-modal__footer {flex:0 0 auto;}
}
@media(max-width:767px) {
    [data-restaurant-theme="signature"] .signature-page-hero .page-hero__title-row {justify-content:center;}
    html[data-restaurant-theme="signature"] body.signature-shell #app .signature-page-hero .catalog-intro__copy h1 {text-align:center;}
    [data-restaurant-theme="signature"] .content-page__prose .content-page__block :is(h2,h3,h4) {font-size:16px;}
    [data-restaurant-theme="signature"] .content-page__prose .content-page__block :is(p,ul,ol) {font-size:13px;line-height:1.5;}
    [data-restaurant-theme="signature"] #fsMenu .fs-menu__body {top:80px;}
    html[data-restaurant-theme="signature"] body.signature-shell #app :is(.home-topbar,.catalog-header) .topbar__actions {display:contents;}
    html[data-restaurant-theme="signature"] body.signature-shell #app :is(.home-topbar,.catalog-header) .topbar__actions .icon-btn {top:0;left:0;right:auto;width:44px;height:44px;min-width:44px;min-height:44px;}
    html[data-restaurant-theme="signature"] body.signature-shell #app :is(.home-topbar,.catalog-header) .topbar__actions .contact-open {left:auto;right:0;}
    [data-restaurant-theme="signature"] .view-catalog .catalog-filters-bar {margin:18px 0 14px;}
    [data-restaurant-theme="signature"] .catalog-filters :is(a,button) {font-size:13px;min-height:40px;}
    [data-restaurant-theme="signature"] .view-catalog .catalog-result-head h2 {font-size:22px;}
    [data-restaurant-theme="signature"] .view-catalog .catalog-result-head {margin-bottom:10px;}
    [data-restaurant-theme="signature"] .content-page__contacts-info .content-page__cta-row {max-width:none;}
    [data-restaurant-theme="signature"] .gallery-tabs {width:100%;box-sizing:border-box;justify-content:stretch;}
    [data-restaurant-theme="signature"] .gallery-tabs__btn {flex:1 1 0;min-width:0;}
    [data-restaurant-theme="signature"] .signature-event-copy {padding:16px;}
    [data-restaurant-theme="signature"] .signature-event-popup {padding:0;align-items:flex-end;}
    [data-restaurant-theme="signature"] .signature-event-panel {width:100%;max-height:94dvh;border-radius:24px 24px 0 0;}
    [data-restaurant-theme="signature"] .signature-event-layout {display:grid;grid-template-columns:1fr;grid-template-rows:42% minmax(0,1fr);height:94dvh;max-height:94dvh;overflow:hidden;}
    [data-restaurant-theme="signature"] .signature-event-media {height:100%;min-height:0;}
    [data-restaurant-theme="signature"] .signature-event-copy {min-height:0;overflow:auto;gap:8px;}
    [data-restaurant-theme="signature"] .signature-event-copy .dish-modal__title {font-size:22px;}
    [data-restaurant-theme="signature"] .signature-event-copy .event-modal__footer .dish-modal__add {height:40px;min-height:40px;padding:0 14px;}
    [data-restaurant-theme="signature"] .signature-event-close {width:36px;height:36px;top:10px;right:10px;}
    /* Scroll image and details together, with the order footer always reachable.
       This also accommodates long titles, mandatory modifiers and the PWA bar. */
    [data-restaurant-theme="signature"] #dishModal .dish-modal__panel {display:block;max-height:min(90dvh,100%)!important;overflow-y:auto;overscroll-behavior:contain;}
    [data-restaurant-theme="signature"] #dishModal .dish-modal__body {display:contents!important;}
    [data-restaurant-theme="signature"] #dishModal .dish-modal__scroll {overflow:visible;}
    [data-restaurant-theme="signature"] #dishModal .dish-modal__footer {position:sticky;bottom:0;z-index:8;background:var(--sig-surface);}
    [data-restaurant-theme="signature"] #dishModal .dish-modal__close {position:sticky;top:10px;float:right;box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;padding:0;border:0;margin:10px 10px -46px 0;z-index:10;}
}

/* White header glyphs retain the existing circular translucent controls. */
[data-restaurant-theme="signature"] :is(.home-topbar,.catalog-header) .sig-messenger :is(img,svg) {
    filter:brightness(0) invert(1)!important;
}
[data-restaurant-theme="signature"] :is(.home-topbar,.catalog-header) .sig-messenger svg > rect[width="24"] {
    display:none;
}
[data-restaurant-theme="signature"] .pc-accept__text {font-size:14px;line-height:1.5;}
[data-restaurant-theme="signature"] .pc-accept__btn {align-self:center;}
[data-restaurant-theme="signature"] #homeHero .sig-hero-offer :is(h1,p) span {
    display:inline;white-space:normal;overflow-wrap:break-word;
}
@media (min-width:768px) {
    [data-restaurant-theme="signature"] #homeHero .sig-hero-slide__copy > .sig-hero-offer {
        width:100%;max-width:min(72vw,900px);
    }
    [data-restaurant-theme="signature"] #homeHero .sig-hero-offer h1 {max-width:900px;text-wrap:wrap;}
    [data-restaurant-theme="signature"] #homeHero .sig-hero-offer p {max-width:780px;text-wrap:wrap;}
}
/* One-line hero heading reference: «Собирай джонкоины». */
@media (min-width:768px) {
    [data-restaurant-theme="signature"] #homeHero .sig-hero-offer h1 {
        max-width:10.8em;
    }
}
/* Match visible glyph bounds, compensating for padding inside SVG viewBoxes. */
[data-restaurant-theme="signature"] :is(.home-topbar,.catalog-header) .sig-messenger--wa svg {width:24px;height:24px;}
[data-restaurant-theme="signature"] :is(.home-topbar,.catalog-header) .sig-messenger[aria-label="VK"] svg {width:32px;height:32px;}
[data-restaurant-theme="signature"] :is(.home-topbar,.catalog-header) .sig-messenger[aria-label="Viber"] svg {width:32px;height:32px;}
[data-restaurant-theme="signature"] :is(.home-topbar,.catalog-header) .sig-messenger[aria-label="OK"] svg {width:26px;height:26px;}

/* Category carousel follows the content grid; unavailable directions stay hidden. */
[data-restaurant-theme="signature"] .view-home .home-rail-wrap--categories {
    width:min(calc(100% - 96px),1344px);margin-inline:auto;
}
[data-restaurant-theme="signature"] .view-home #homeCategoryRail.home-rail {
    padding:0;scroll-padding-inline:0;
}
[data-restaurant-theme="signature"] #homeCategoryRail::-webkit-scrollbar {display:none;width:0;height:0;}
[data-restaurant-theme="signature"] #app .home-rail-wrap--categories .sig-rail-arrow:disabled {
    visibility:hidden;opacity:0!important;pointer-events:none!important;
}
[data-restaurant-theme="signature"] #app .home-rail-wrap--categories .sig-rail-arrow--prev {left:16px;}
[data-restaurant-theme="signature"] #app .home-rail-wrap--categories .sig-rail-arrow--next {right:16px;}
@media(max-width:1280px) {
    [data-restaurant-theme="signature"] .view-home .home-rail-wrap--categories {width:calc(100% - 80px);}
}
@media(max-width:1024px) {
    [data-restaurant-theme="signature"] .view-home .home-rail-wrap--categories {width:calc(100% - 64px);}
}
@media(max-width:768px) {
    [data-restaurant-theme="signature"] .view-home .home-rail-wrap--categories {width:calc(100% - 48px);}
}
@media(max-width:390px) {
    [data-restaurant-theme="signature"] .view-home .home-rail-wrap--categories {width:calc(100% - 32px);}
}
/* Footer glyphs use the same optical sizing as the header. */
[data-restaurant-theme="signature"] .site-footer .sig-messenger :is(img,svg) {width:20px;height:20px;}
[data-restaurant-theme="signature"] .site-footer .sig-messenger--wa svg {width:24px;height:24px;}
[data-restaurant-theme="signature"] .site-footer .sig-messenger[aria-label="VK"] svg {width:32px;height:32px;}
[data-restaurant-theme="signature"] .site-footer .sig-messenger[aria-label="Viber"] svg {width:32px;height:32px;}
[data-restaurant-theme="signature"] .site-footer .sig-messenger[aria-label="OK"] svg {width:26px;height:26px;}
/* Gallery photo captions share the storefront typeface. */
[data-restaurant-theme="signature"] .home-photo-card__caption {font-family:'Montserrat',sans-serif;}

/* Dish pricing, gallery controls and responsive portion choices. */
[data-restaurant-theme="signature"] #dishModal .dish-modal__nav {width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--sig-navy-800);border-radius:50%;background:#fff;color:var(--sig-navy-800);padding:0;}
[data-restaurant-theme="signature"] #dishModal [hidden] {display:none!important;}
[data-restaurant-theme="signature"] .signature-product-price {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;}
[data-restaurant-theme="signature"] :is(.signature-product-price del,.dish-modal__old-price) {font-size:14px;font-weight:500;color:var(--sig-text-muted);text-decoration:line-through;}
[data-restaurant-theme="signature"] #dishModal .dish-modal__price-wrap {gap:10px;flex-wrap:wrap;align-items:baseline;}
[data-restaurant-theme="signature"] #dishModalVariations .dish-mods__list {display:flex;flex-wrap:nowrap;}
[data-restaurant-theme="signature"] #dishModalVariations .dish-mods__option {flex:1 0 auto;white-space:nowrap;}
[data-restaurant-theme="signature"] #dishModalVariations .dish-mods__text b {white-space:nowrap;}
[data-restaurant-theme="signature"] .dish-portion-select {width:100%;min-height:48px;padding:12px 16px;border:1px solid #d6dfe5;border-radius:16px;background:var(--sig-surface);color:var(--sig-text);font:600 14px 'Montserrat',sans-serif;}

/* Branded portion picker, including the expanded options. */
[data-restaurant-theme="signature"] .dish-portion-picker {position:relative;width:100%;font:600 14px 'Montserrat',sans-serif;color:var(--sig-text);}
[data-restaurant-theme="signature"] .dish-portion-picker summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;box-sizing:border-box;padding:12px 18px 12px 20px;border:1px solid #d6dfe5;border-radius:16px;background:#f3f6f8;cursor:pointer;}
[data-restaurant-theme="signature"] .dish-portion-picker summary::-webkit-details-marker {display:none;}
[data-restaurant-theme="signature"] .dish-portion-picker summary svg {flex-shrink:0;transition:transform .18s;}
[data-restaurant-theme="signature"] .dish-portion-picker[open] summary {border-color:var(--sig-navy-800);background:#fff;}
[data-restaurant-theme="signature"] .dish-portion-picker[open] summary svg {transform:rotate(180deg);}
[data-restaurant-theme="signature"] .dish-portion-picker__options {margin-top:8px;padding:6px;border:1px solid #d6dfe5;border-radius:16px;background:#fff;box-shadow:0 10px 24px #12344e12;max-height:240px;overflow:auto;}
[data-restaurant-theme="signature"] .dish-portion-picker__options button {display:block;width:100%;padding:12px 14px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;}
[data-restaurant-theme="signature"] .dish-portion-picker__options button:hover {background:#f0f4f6;}
[data-restaurant-theme="signature"] .dish-portion-picker__options button[aria-pressed="true"] {background:var(--sig-sand-400,#f4dfa7);}
[data-restaurant-theme="signature"] .dish-portion-picker :is(summary,button):focus-visible {outline:2px solid var(--sig-link);outline-offset:2px;}

@media(max-width:767px) {
    [data-restaurant-theme="signature"] .dish-portion-picker__options {scroll-margin-bottom:90px;}
}

/* Keep category controls fully inside the grid, including their borders. */
[data-restaurant-theme="signature"] #app .home-rail-wrap--categories .sig-rail-arrow {box-sizing:border-box;width:44px;height:44px;top:50%;margin-top:-22px;box-shadow:0 3px 12px #12344e18;}
[data-restaurant-theme="signature"] #app .home-rail-wrap--categories .sig-rail-arrow:hover {transform:none;background:#f3f6f8;}

/* Mobile portion chooser sits above the product card in the top layer. */
[data-restaurant-theme="signature"] .dish-portion-sheet {box-sizing:border-box;position:fixed;inset:auto 0 0;width:100%;max-width:560px;max-height:80dvh;margin:0 auto;padding:12px 20px max(24px,env(safe-area-inset-bottom));border:0;border-radius:26px 26px 0 0;background:#fff;color:var(--sig-text);font:500 14px 'Montserrat',sans-serif;overflow:auto;overscroll-behavior:contain;box-shadow:0 -12px 48px #09233224;}
[data-restaurant-theme="signature"] .dish-portion-sheet[open] {animation:portion-sheet-in .22s ease-out;}
[data-restaurant-theme="signature"] .dish-portion-sheet::backdrop {background:#09233270;}
[data-restaurant-theme="signature"] .dish-portion-sheet__handle {width:36px;height:4px;border-radius:4px;background:#d5dfe4;margin:0 auto 18px;}
[data-restaurant-theme="signature"] .dish-portion-sheet header {display:flex;align-items:center;justify-content:space-between;gap:12px;}
[data-restaurant-theme="signature"] .dish-portion-sheet h3 {margin:0;font-size:20px;}
[data-restaurant-theme="signature"] .dish-portion-sheet p {margin:4px 0 20px;color:var(--sig-text-muted);}
[data-restaurant-theme="signature"] .dish-portion-sheet__close {width:36px;height:36px;border:0;border-radius:50%;background:#f2f6f8;color:inherit;font-size:24px;flex-shrink:0;}
[data-restaurant-theme="signature"] .dish-portion-sheet__list {display:grid;gap:8px;}
[data-restaurant-theme="signature"] .dish-portion-sheet__list button {display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:58px;padding:14px;border:1px solid #e0e7eb;border-radius:16px;background:#f7f9fa;color:inherit;font:inherit;text-align:left;}
[data-restaurant-theme="signature"] .dish-portion-sheet__list button span {flex:1;min-width:0;overflow-wrap:anywhere;}
[data-restaurant-theme="signature"] .dish-portion-sheet__list button strong {white-space:nowrap;font-size:13px;}
[data-restaurant-theme="signature"] .dish-portion-sheet__list button i {width:18px;height:18px;box-sizing:border-box;border:1px solid #afc0ca;border-radius:50%;flex-shrink:0;}
[data-restaurant-theme="signature"] .dish-portion-sheet__list button[aria-pressed="true"] {background:#fbf1d8;border-color:#e6c97d;}
[data-restaurant-theme="signature"] .dish-portion-sheet__list button[aria-pressed="true"] i {background:var(--sig-navy-800);border:5px solid var(--sig-navy-800);box-shadow:inset 0 0 0 3px #fff;}
@keyframes portion-sheet-in {from {transform:translateY(100%);} to {transform:translateY(0);}}
@media(prefers-reduced-motion:reduce) {.dish-portion-sheet[open] {animation:none!important;}}

/* Mobile home rails share the popular-dishes carousel geometry. */
@media(max-width:767px) {
    [data-restaurant-theme="signature"] .view-home .home-rail-wrap--categories {width:100%;max-width:none;margin:0;}
    [data-restaurant-theme="signature"] .view-home :is(#homeCategoryRail,#homePhotosRail).home-rail {
        display:flex;flex-wrap:nowrap!important;width:100%;max-width:none;box-sizing:border-box;
        gap:16px;padding:4px 24px 12px;margin:0;overflow-x:auto!important;overflow-y:hidden!important;
        scroll-padding-inline:24px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;
        touch-action:pan-x pan-y;scrollbar-width:none;
    }
    [data-restaurant-theme="signature"] .view-home :is(#homeCategoryRail,#homePhotosRail)::-webkit-scrollbar {display:none;}
    [data-restaurant-theme="signature"] #homePhotosRail.home-rail .home-photo-card {
        flex:0 0 min(78%,280px)!important;width:min(78%,280px)!important;max-width:none;
        scroll-snap-align:start;box-sizing:border-box;
    }
    [data-restaurant-theme="signature"] #homePhotosRail.home-rail .home-photo-card {height:auto;aspect-ratio:4/3;min-height:0;}
}
@media(max-width:390px) {
    [data-restaurant-theme="signature"] .view-home :is(#homeCategoryRail,#homePhotosRail).home-rail {padding-inline:16px;scroll-padding-inline:16px;}
}

/* Contact rows have one shared rhythm; the phone link adds no extra margin. */
[data-restaurant-theme="signature"] .site-footer .sig-footer-col .sig-contact-line {margin:0 0 10px;line-height:1.45;}
[data-restaurant-theme="signature"] .site-footer .sig-contact-line > a {margin:0;line-height:inherit;}

@media(min-width:768px) {
    [data-restaurant-theme="signature"] .site-footer .sig-footer-grid > .sig-footer-col:nth-child(3) {padding-left:20px;box-sizing:border-box;}
}

[data-restaurant-theme="signature"] #dishModal .dish-modal__tags {position:absolute;top:18px;left:18px;right:58px;z-index:4;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none;}
[data-restaurant-theme="signature"] #dishModal .dish-modal__tags .catalog-card__tag {white-space:normal;}

/* Discounted tile prices match the opened dish card. */
[data-restaurant-theme="signature"] .catalog-card__price.signature-product-price:has(del) > strong {color:#d4145c;}

/* Ingredient photos sit directly on the card, without coloured backplates. */
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__option.is-tile.has-photo:not(.is-selected) {background:transparent;border-color:transparent;box-shadow:none;}
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__option.has-photo .dish-mods__photo {background:transparent;border-radius:0;object-fit:contain;}
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__option.is-tile .dish-mods__text b {white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal;line-height:1.35;}
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__limits {display:none;}

/* Text-only modifiers use the same clean tile as ingredient photos. */
html[data-restaurant-theme="signature"] body.signature-shell #dishModalModifiers .dish-mods__option.is-tile:not(.has-photo):not(.is-selected) {background:transparent;border-color:transparent;box-shadow:none;}
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__list:has(.has-photo) .dish-mods__option.is-tile:not(.has-photo)::before {content:'';background:transparent;border-radius:0;}
[data-restaurant-theme="signature"] #dishModalHint[hidden] {display:none!important;}

/* Equal row borders; only visible content determines the row height. */
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__option.is-tile {align-self:stretch;justify-content:flex-start;}
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__option.is-tile .dish-mods__text {min-height:var(--modifier-name-height, 0px);justify-content:flex-start;flex:0 0 auto;}
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__option.is-tile .dish-mods__price {margin-top:0;min-height:19px;flex:0 0 auto;}
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__option.is-tile .dish-mods__qty {margin-top:4px;flex:0 0 auto;}
[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__option.is-tile .dish-mods__qty[hidden] {display:none!important;}
@media (max-width: 767px) {
    [data-restaurant-theme="signature"] #dishModal .dish-modal__footer {
        box-shadow: 0 -6px 20px rgba(5, 40, 63, 0.10);
    }
}

[data-restaurant-theme="signature"] #dishModalModifiers .dish-mods__list--tiles:has(.dish-mods__price:not([hidden])) .dish-mods__price[hidden] {display:block!important;visibility:hidden;}

/* Platform modifier rows in Signature. */
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers {grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:14px;width:100%;margin:0;min-width:0;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__label {font-size:12px;color:var(--sig-text-muted);margin:0 0 6px;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__row {display:grid;grid-template-columns:minmax(0,1fr) 88px 64px 28px;gap:8px;align-items:center;padding:5px 0;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__name {display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;line-height:1.35;overflow-wrap:anywhere;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__thumb {display:block;flex:0 0 36px;width:36px;height:36px;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__thumb img {width:100%;height:100%;object-fit:contain;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__price {grid-column:3;text-align:right;font-size:13px;white-space:nowrap;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty {grid-column:2;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;width:88px;height:34px;box-sizing:border-box;border:1px solid rgba(5,40,63,.12);border-radius:999px;background:#fff;overflow:hidden;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty button {display:grid;place-items:center;padding:0;border:0;background:transparent;color:inherit;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty button:first-child {grid-column:1;grid-row:1;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty button:nth-child(2) {grid-column:3;grid-row:1;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty input {grid-column:2;grid-row:1;width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:center;font:inherit;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty .ico__plus::before {content:'+';font:16px Arial;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty .ico__minus::before {content:'−';font:16px Arial;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty button:disabled {opacity:.3;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__row:not(:has(.sf-cart-modifiers__qty)) .sf-cart-modifiers__name {grid-column:1 / 3;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__remove {grid-column:4;display:grid;place-items:center;width:28px;height:32px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__remove:disabled {visibility:hidden;pointer-events:none;}
@media(max-width:767px){
 [data-restaurant-theme="signature"] #cart .sf-cart-modifiers {grid-column:1 / -1;margin:0;}
 [data-restaurant-theme="signature"] #cart .sf-cart-modifiers__row {grid-template-columns:minmax(0,1fr) 88px 50px 24px;gap:5px;}
 [data-restaurant-theme="signature"] #cart .sf-cart-modifiers__thumb {flex-basis:30px;width:30px;height:30px;}
}
@media(max-width:767px){[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__remove {width:24px;}}

[data-restaurant-theme="signature"] #cart .cart-card__media {height:auto;aspect-ratio:1 / 1;border-radius:0;background:transparent;}

[data-restaurant-theme="signature"] #cart .cart-card__media img {object-fit:contain;border-radius:0;}

/* Match the product quantity control without changing modifier handlers. */
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty button {position:static;width:30px;min-width:0;height:34px;margin:0;border-radius:0;transform:none;font:inherit;color:var(--sig-navy-800,#05283f);cursor:pointer;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty input {height:100%;font-size:14px;font-weight:700;color:var(--sig-navy-800,#05283f);}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty i {display:block;width:auto;height:auto;background:none;font:inherit;}
[data-restaurant-theme="signature"] #cart .sf-cart-modifiers__qty i::before {font:inherit;}
