﻿:root {
      --burg: #8A2A29;
      --burg-dk: #5C1A1A;
      --burg-md: #A33535;
      --maroon: #3D1515;
      --deep: #1E0808;
      --void: #0D0303;
      --gold: #F7AA4F;
      --gold-lt: #F9BD73;
      --gold-pl: #FBD199;
      --gold-dk: #C4862A;
      --cream: #FFEFD9;
      --parch: #F0DFC0;
      --ivory: #FFF8F0;
      --muted: #785B3F;
      --border: rgba(247, 170, 79, .14);
      --border2: rgba(247, 170, 79, .08);
      --glow: rgba(247, 170, 79, .15);
      --shadow: 0 32px 80px rgba(0, 0, 0, .6);
      --shadow-sm: 0 8px 32px rgba(0, 0, 0, .4);
      --ease-spring: cubic-bezier(.16, 1, .3, 1);
      --ease-smooth: cubic-bezier(.4, 0, .2, 1);
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    html {
      scroll-behavior: smooth;
      font-size: 16px
    }

    body {
      font-family: 'Montserrat', sans-serif;
      background: var(--void);
      color: var(--cream);
      overflow-x: hidden;
      cursor: auto
    }

    a {
      color: inherit;
      text-decoration: none
    }

    button {
      cursor: pointer;
      border: none;
      background: none;
      font-family: 'Montserrat', sans-serif
    }

    img {
      max-width: 100%;
      display: block
    }

    ul {
      list-style: none
    }

    ::-webkit-scrollbar {
      width: 3px
    }

    ::-webkit-scrollbar-track {
      background: var(--void)
    }

    ::-webkit-scrollbar-thumb {
      background: linear-gradient(to bottom, var(--gold-dk), var(--gold));
      border-radius: 2px
    }

    body.loading {
      overflow: hidden
    }

    #loader {
      position: fixed;
      inset: 0;
      z-index: 9000;
      background: var(--void);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    #loader.out .ld-curtain-l {
      transform: translateX(-100%)
    }

    #loader.out .ld-curtain-r {
      transform: translateX(100%)
    }

    #loader.out .ld-center {
      opacity: 0;
      transform: scale(1.3)
    }

    .ld-curtain-l,
    .ld-curtain-r {
      position: absolute;
      top: 0;
      bottom: 0;
      width: 50%;
      background: var(--void);
      z-index: 2;
      transition: transform 1s cubic-bezier(.77, 0, .18, 1);
      will-change: transform;
    }

    .ld-curtain-l {
      left: 0
    }

    .ld-curtain-r {
      right: 0
    }

    .ld-center {
      position: relative;
      z-index: 3;
      display: flex;
      flex-direction: column;
      align-items: center;
      transition: opacity .6s ease, transform .6s ease;
    }

    .ld-ring-wrap {
      position: relative;
      width: 200px;
      height: 200px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .ld-ring {
      position: absolute;
      inset: 0
    }

    .ld-ring circle {
      fill: none;
      stroke-width: 1;
      stroke-linecap: round
    }

    .ld-ring-bg {
      stroke: rgba(247, 170, 79, .08)
    }

    .ld-ring-fill {
      stroke: url(#ldGrad);
      stroke-dasharray: 565;
      stroke-dashoffset: 565;
      transform: rotate(-90deg);
      transform-origin: center;
      transition: stroke-dashoffset 2s cubic-bezier(.4, 0, .2, 1);
    }

    .ld-ring-glow {
      position: absolute;
      inset: -20px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(247, 170, 79, .06) 0%, transparent 70%);
      animation: ldGlow 2.5s ease-in-out infinite;
    }

    .ld-logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      height: 110px;
      width: auto;
      opacity: 0;
      animation: ldZoomIn .8s .15s cubic-bezier(.16, 1, .3, 1) forwards;
      filter: drop-shadow(0 0 30px rgba(247, 170, 79, .2));
    }

    .ld-particles {
      position: absolute;
      inset: 0;
      overflow: hidden;
      z-index: 1
    }

    .ld-p {
      position: absolute;
      width: 2px;
      height: 2px;
      border-radius: 50%;
      background: var(--gold);
      opacity: 0;
    }

    .ld-pct {
      font-family: 'Montserrat', sans-serif;
      font-size: 11px;
      font-weight: 300;
      letter-spacing: .3em;
      color: rgba(247, 170, 79, .4);
      margin-top: 32px;
      opacity: 0;
      animation: ldFadeIn .4s .5s ease forwards;
    }

    .ld-pct span {
      color: var(--gold);
      font-weight: 600;
      font-size: 13px
    }

    @keyframes ldZoomIn {
      0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(.7);
        filter: blur(10px) drop-shadow(0 0 30px rgba(247, 170, 79, .2))
      }

      100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
        filter: blur(0) drop-shadow(0 0 30px rgba(247, 170, 79, .3))
      }
    }

    @keyframes ldGlow {

      0%,
      100% {
        opacity: .3;
        transform: scale(.9)
      }

      50% {
        opacity: .7;
        transform: scale(1.1)
      }
    }

    @keyframes ldFadeIn {
      to {
        opacity: 1
      }
    }

    @keyframes ldFloat {
      0% {
        transform: translateY(100vh);
        opacity: 0
      }

      10% {
        opacity: 1
      }

      90% {
        opacity: 1
      }

      100% {
        transform: translateY(-20vh);
        opacity: 0
      }
    }

    .menu-page-head,
    #menu,
    .cat-tile,
    .p-card {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity .8s ease, transform .8s ease;
    }

    body.revealed .menu-page-head {
      opacity: 1;
      transform: none;
      transition-delay: .1s
    }

    body.revealed #menu {
      opacity: 1;
      transform: none;
      transition-delay: .25s
    }

    body.revealed .cat-tile,
    body.revealed .p-card {
      opacity: 1;
      transform: none
    }

    @keyframes fadeUp {
      from {
        opacity: 0;
        transform: translateY(32px)
      }

      to {
        opacity: 1;
        transform: translateY(0)
      }
    }

    @keyframes fadeIn {
      from {
        opacity: 0
      }

      to {
        opacity: 1
      }
    }

    @keyframes ticker {
      from {
        transform: translateX(0)
      }

      to {
        transform: translateX(-50%)
      }
    }

    @keyframes slideIn {
      from {
        transform: translateX(120%);
        opacity: 0
      }

      to {
        transform: translateX(0);
        opacity: 1
      }
    }

    @keyframes toastOut {
      to {
        transform: translateX(120%);
        opacity: 0
      }
    }

    @keyframes bump {

      0%,
      100% {
        transform: scale(1)
      }

      50% {
        transform: scale(1.6)
      }
    }

    .rv {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .9s var(--ease-spring), transform .9s var(--ease-spring)
    }

    .rv.on {
      opacity: 1;
      transform: translateY(0)
    }

    .rv-l {
      opacity: 0;
      transform: translateX(-28px);
      transition: opacity .9s var(--ease-spring), transform .9s var(--ease-spring)
    }

    .rv-l.on {
      opacity: 1;
      transform: translateX(0)
    }

    .rv-r {
      opacity: 0;
      transform: translateX(28px);
      transition: opacity .9s var(--ease-spring), transform .9s var(--ease-spring)
    }

    .rv-r.on {
      opacity: 1;
      transform: translateX(0)
    }

    .rv-s {
      opacity: 0;
      transform: scale(.95);
      transition: opacity .9s var(--ease-spring), transform .9s var(--ease-spring)
    }

    .rv-s.on {
      opacity: 1;
      transform: scale(1)
    }

    .d1 {
      transition-delay: .08s
    }

    .d2 {
      transition-delay: .16s
    }

    .d3 {
      transition-delay: .24s
    }

    .d4 {
      transition-delay: .32s
    }

    .d5 {
      transition-delay: .40s
    }

    .d6 {
      transition-delay: .48s
    }

    .wrap {
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 64px
    }

    @media(max-width:768px) {
      .wrap {
        padding: 0 24px
      }
    }

    .sec {
      padding: 128px 0
    }

    .sec-label {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .5em;
      text-transform: uppercase;
      color: var(--gold);
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 18px
    }

    .sec-label::before {
      content: '';
      width: 32px;
      height: 1px;
      background: linear-gradient(to right, var(--gold), transparent);
      flex-shrink: 0
    }

    .sec-title {
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(36px, 5vw, 60px);
      font-weight: 600;
      line-height: 1.08;
      margin-bottom: 20px;
      letter-spacing: -.02em
    }

    .sec-title em {
      color: var(--gold);
      font-style: italic
    }

    .sec-sub {
      font-size: 14px;
      font-weight: 300;
      color: rgba(255, 239, 217, .45);
      line-height: 1.85;
      max-width: 480px
    }

    .food-card-bg {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      background:
        radial-gradient(ellipse 60% 50% at 50% 30%, rgba(247, 170, 79, .12) 0%, transparent 60%),
        repeating-linear-gradient(90deg, transparent 0px, transparent 3px, rgba(60, 30, 15, .4) 3px, rgba(60, 30, 15, .4) 4px),
        linear-gradient(180deg, #1a0d08 0%, #2d1810 50%, #1a0d08 100%);
      border-radius: 8px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .food-card-bg::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 80% 60% at 50% 20%, rgba(247, 170, 79, .25) 0%, transparent 50%);
      pointer-events: none;
    }

    .food-card-bg::after {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at center, transparent 40%, rgba(13, 3, 3, .7) 100%);
      pointer-events: none;
    }

    .food-card-bg .food-image {
      position: relative;
      z-index: 1;
      max-width: 65%;
      max-height: 75%;
      object-fit: contain;
      filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .6));
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 15px 38px;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .35em;
      text-transform: uppercase;
      cursor: auto;
      transition: all .28s var(--ease-smooth);
      position: relative;
      overflow: hidden
    }

    .btn::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(255, 255, 255, 0);
      transition: background .25s
    }

    .btn:hover::after {
      background: rgba(255, 255, 255, .08)
    }

    .btn-gold {
      background: linear-gradient(135deg, var(--gold) 0%, var(--gold-lt) 100%);
      color: var(--void);
      box-shadow: 0 4px 20px rgba(247, 170, 79, .3)
    }

    .btn-gold:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 32px rgba(247, 170, 79, .45)
    }

    .btn-gold:active {
      transform: translateY(-1px)
    }

    .btn-outline {
      border: 1px solid rgba(247, 170, 79, .45);
      color: var(--gold);
      background: transparent;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px)
    }

    .btn-outline:hover {
      background: linear-gradient(135deg, var(--gold), var(--gold-lt));
      color: var(--void);
      border-color: transparent;
      box-shadow: 0 8px 24px rgba(247, 170, 79, .35);
      transform: translateY(-2px)
    }

    .btn-dark {
      background: rgba(255, 239, 217, .05);
      color: var(--cream);
      border: 1px solid rgba(255, 239, 217, .1);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px)
    }

    .btn-dark:hover {
      border-color: var(--gold);
      color: var(--gold);
      transform: translateY(-2px)
    }

    .lang-switch {
      display: flex;
      gap: 4px;
      align-items: center
    }

    .lang-btn {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .05em;
      text-transform: uppercase;
      color: rgba(255, 239, 217, .3);
      padding: 4px 8px;
      border-radius: 4px;
      transition: all .22s;
      background: none;
      font-family: 'Montserrat', sans-serif
    }

    .lang-btn:hover {
      color: rgba(255, 239, 217, .6)
    }

    .lang-btn.active {
      color: var(--gold);
      background: rgba(247, 170, 79, .1)
    }

    .cats-wrapper {
      position: sticky;
      top: 89px;
      z-index: 400;
      background: rgba(30, 8, 8, 0.85);
      /* Matched to --deep */
      -webkit-backdrop-filter: blur(12px);
      backdrop-filter: blur(12px);
      padding: 16px 0;
      margin: 24px -64px 40px;
    }

    @media(max-width:768px) {
      .cats-wrapper {
        top: 76px;
        margin: 18px -24px 28px;
        padding: 8px 0;
      }
    }

    @media(max-width:480px) {
      .cats-wrapper {
        top: 58px;
        margin: 12px -24px 22px;
        padding: 6px 0;
      }
    }

    @media(max-width:380px) {
      .cats-wrapper {
        top: 52px;
        margin: 10px -16px 20px;
        padding: 5px 0;
      }
    }

    @media(max-width:360px) {
      .cats-wrapper {
        margin-left: -16px;
        margin-right: -16px;
      }
    }

    @media(max-width:320px) {
      .cats-wrapper {
        top: 50px;
        padding: 4px 0;
      }
    }

    .cats-slider-inner {
      position: relative;
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 64px;
    }

    @media(max-width:768px) {
      .cats-slider-inner {
        padding: 0 24px;
      }
    }

    @media(max-width:360px) {
      .cats-slider-inner {
        padding: 0 16px;
      }
    }

    .cats-grid {
      display: flex;
      flex-wrap: nowrap;
      gap: 10px;
      overflow-x: auto;
      scrollbar-width: none;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      align-items: center;
    }

    .cats-grid::-webkit-scrollbar {
      display: none;
    }

    .cats-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 36px;
      height: 36px;
      border-radius: 18px;
      background: var(--deep);
      border: 1px solid rgba(247, 170, 79, 0.15);
      color: var(--gold);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10;
      cursor: pointer;
      box-shadow: 0 4px 12px rgba(30, 8, 8, 0.8);
      transition: all 0.2s;
    }

    .cats-arrow:hover {
      background: var(--gold);
      color: var(--void);
      border-color: var(--gold);
    }

    .cats-arrow:disabled {
      opacity: 0;
      pointer-events: none;
    }

    .cats-prev {
      left: 16px;
    }

    .cats-next {
      right: 16px;
    }

    @media(max-width: 900px) {
      .cats-arrow {
        display: none;
      }
    }

    .cat-tile {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 10px 16px;
      flex-shrink: 0;
      background: rgba(255, 239, 217, .07);
      border: 1px solid rgba(255, 239, 217, .1);
      border-radius: 30px;
      color: var(--cream);
      cursor: auto;
      transition: all .3s var(--ease-spring);
      position: relative;
      overflow: hidden;
      white-space: nowrap;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }

    .cat-tile::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, var(--burg), var(--burg-md));
      opacity: 0;
      transition: opacity .3s;
    }

    .cat-tile:hover,
    .cat-tile.active {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(138, 42, 41, .25);
      border-color: transparent
    }

    .cat-tile:hover::before,
    .cat-tile.active::before {
      opacity: 1
    }

    .cat-tile:hover .cat-icon svg,
    .cat-tile.active .cat-icon svg {
      stroke: var(--gold-pl)
    }

    .cat-tile:hover span,
    .cat-tile.active span {
      color: var(--cream)
    }

    .cat-icon {
      display: none
    }

    .cat-icon svg {
      width: 20px;
      height: 20px;
      stroke: rgba(255, 239, 217, .5);
      fill: none;
      stroke-width: 1.5;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition: stroke .3s
    }

    .cat-tile span {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      text-align: center;
      line-height: 1.3;
      position: relative;
      z-index: 1;
      color: rgba(255, 239, 217, .6);
      transition: color .3s
    }

    #menu {
      background: var(--deep);
      padding: 60px 0 120px;
      position: relative;
      contain: layout style paint;
    }

    #menu::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(138, 42, 41, .15) 0%, transparent 70%);
      pointer-events: none
    }

    .menu-panel {
      display: none;
      animation: fadeIn .4s ease
    }

    .menu-panel.active {
      display: block
    }

    .products-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 3px;
      margin-top: 3px
    }

    @media(max-width:900px) {
      .products-grid {
        grid-template-columns: repeat(2, 1fr)
      }
    }

    @media(max-width:520px) {
      .products-grid {
        grid-template-columns: 1fr
      }
    }

    .p-card {
      background: var(--maroon);
      overflow: hidden;
      cursor: auto;
      transition: transform .35s var(--ease-spring), box-shadow .35s;
      position: relative;
    }

    .p-card-unavailable {
      opacity: .86;
      filter: saturate(.82);
    }

    .p-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 24px 60px rgba(0, 0, 0, .5), 0 0 0 1px rgba(247, 170, 79, .1)
    }

    .p-card:hover .p-img-inner {
      transform: scale(1.06)
    }

    .p-card:hover .btn-cart {
      background: linear-gradient(135deg, var(--gold), var(--gold-lt));
      color: var(--void);
      border-color: transparent
    }

    .p-img-wrap {
      height: 210px;
      overflow: hidden;
      position: relative
    }

    .p-card.wide-format .p-img-wrap {
      aspect-ratio: 16 / 9;
      height: auto;
    }

    .p-card.wide-format .p-img-inner {
      background:
        radial-gradient(ellipse 60% 50% at 50% 30%, rgba(247, 170, 79, .12) 0%, transparent 60%),
        repeating-linear-gradient(90deg, transparent 0px, transparent 3px, rgba(60, 30, 15, .4) 3px, rgba(60, 30, 15, .4) 4px),
        linear-gradient(180deg, #1a0d08 0%, #2d1810 50%, #1a0d08 100%);
      background-color: #1a0d08;
    }

    .p-card.wide-format .p-img-inner::before {
      background: radial-gradient(ellipse 80% 60% at 50% 20%, rgba(247, 170, 79, .25) 0%, transparent 50%);
    }

    .p-card.wide-format .p-img-inner::after {
      background: radial-gradient(circle at center, transparent 40%, rgba(13, 3, 3, .85) 100%);
      opacity: 1 !important;
    }

    .p-card.wide-format .p-photo {
      filter: drop-shadow(0 15px 25px rgba(0, 0, 0, .65));
    }

    .p-img-inner {
      height: 100%;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform .5s var(--ease-smooth);
      position: relative;
    }

    .p-img-inner .p-photo {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
    }

    .p-img-inner.has-photo .prod-illu {
      display: none;
    }

    .p-img-inner::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cg fill='none' stroke='rgba(247,170,79,0.1)' stroke-width='0.7'%3E%3Cpolygon points='50,5 92,27 92,73 50,95 8,73 8,27'/%3E%3Cpolygon points='50,18 80,33 80,67 50,82 20,67 20,33'/%3E%3Ccircle cx='50' cy='50' r='14'/%3E%3C/g%3E%3C/svg%3E");
      background-size: 80px 80px;
      opacity: .5;
    }

    .p-img-inner::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, transparent 50%);
      z-index: 1
    }

    .p-badge {
      position: absolute;
      top: 14px;
      left: 14px;
      z-index: 3;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .25em;
      text-transform: uppercase;
      padding: 5px 12px;
    }

    .badge-hit {
      background: linear-gradient(135deg, var(--gold), var(--gold-lt));
      color: var(--void);
      box-shadow: 0 2px 12px rgba(247, 170, 79, .5)
    }

    .badge-new {
      background: linear-gradient(135deg, var(--burg-md), var(--burg));
      color: var(--cream);
      box-shadow: 0 2px 12px rgba(138, 42, 41, .5)
    }

    .p-badge-unavailable {
      left: auto;
      right: 14px;
      background: linear-gradient(135deg, rgba(140, 54, 49, .98), rgba(90, 25, 22, .98));
      color: rgba(255, 239, 217, .95);
      box-shadow: 0 2px 12px rgba(140, 54, 49, .4)
    }

    .p-body {
      padding: 22px 22px 18px;
      position: relative
    }

    .p-name {
      font-family: 'Montserrat', sans-serif;
      font-size: 18px;
      font-weight: 600;
      color: var(--cream);
      margin-bottom: 7px;
      line-height: 1.2
    }

    .p-desc {
      font-size: 11px;
      font-weight: 300;
      color: rgba(255, 239, 217, .38);
      line-height: 1.75;
      margin-bottom: 16px
    }

    .p-foot {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      margin-bottom: 16px
    }

    .p-price-wrap {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 2px;
    }

    .p-price-old {
      font-family: 'Montserrat', sans-serif;
      font-size: 12px;
      font-weight: 500;
      color: rgba(255, 239, 217, .38);
      text-decoration: line-through;
      line-height: 1;
    }

    .p-weight {
      font-size: 10px;
      color: rgba(255, 239, 217, .25);
      letter-spacing: .06em
    }

    .p-price {
      font-family: 'Montserrat', sans-serif;
      font-size: 22px;
      font-weight: 700;
      color: var(--gold);
      line-height: 1
    }

    .p-discount {
      position: absolute;
      top: 12px;
      right: 12px;
      padding: 4px 8px;
      max-width: calc(100% - 24px);
      border-radius: 12px;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .04em;
      line-height: 1.25;
      text-align: right;
      color: #fff;
      background: linear-gradient(135deg, #C53A2F, #8F1E1E);
      border: 1px solid rgba(255, 255, 255, .25);
      box-shadow: 0 8px 16px rgba(143, 30, 30, .35);
      z-index: 2;
    }

    .btn-cart {
      width: 100%;
      padding: 12px;
      background: rgba(247, 170, 79, .08);
      color: var(--gold);
      font-size: 9px;
      font-weight: 600;
      letter-spacing: .32em;
      text-transform: uppercase;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border: 1px solid rgba(247, 170, 79, .18);
      transition: all .28s var(--ease-smooth);
      cursor: auto;
    }

    .btn-cart-unavailable {
      background: rgba(140, 54, 49, .2);
      border-color: rgba(226, 118, 108, .28);
      color: rgba(255, 176, 168, .92);
      letter-spacing: .2em;
    }

    .cart-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .75);
      z-index: 600;
      opacity: 0;
      pointer-events: none;
      transition: opacity .4s;
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(6px);
    }

    .cart-overlay.open {
      opacity: 1;
      pointer-events: all
    }

    .cart-drawer {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      width: 420px;
      max-width: 100%;
      background: linear-gradient(160deg, var(--deep) 0%, var(--void) 100%);
      z-index: 601;
      transform: translateX(110%);
      transition: transform .45s var(--ease-spring);
      display: flex;
      flex-direction: column;
      border-left: 1px solid rgba(247, 170, 79, .1);
      box-shadow: -20px 0 80px rgba(0, 0, 0, .6);
    }

    .cart-drawer.open {
      transform: translateX(0)
    }

    .cart-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 28px 32px;
      border-bottom: 1px solid rgba(255, 239, 217, .06);
      background: rgba(247, 170, 79, .03);
    }

    .cart-head h3 {
      font-family: 'Montserrat', sans-serif;
      font-size: 22px;
      font-weight: 600;
      color: var(--cream)
    }

    .cart-close {
      width: 34px;
      height: 34px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255, 239, 217, .1);
      color: rgba(255, 239, 217, .45);
      cursor: auto;
      transition: all .22s;
      font-size: 13px;
    }

    .cart-close:hover {
      border-color: var(--gold);
      color: var(--gold);
      background: rgba(247, 170, 79, .08)
    }

    .cart-body {
      flex: 1;
      overflow-y: auto;
      padding: 24px 32px
    }

    .cart-empty {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 20px;
      height: 100%;
      text-align: center
    }

    .cart-empty svg {
      width: 60px;
      height: 60px;
      stroke: rgba(255, 239, 217, .12);
      fill: none;
      stroke-width: 1
    }

    .cart-empty p {
      font-size: 14px;
      font-weight: 300;
      color: rgba(255, 239, 217, .28)
    }

    .cart-item {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 18px 0;
      border-bottom: 1px solid rgba(255, 239, 217, .05);
      animation: fadeIn .3s ease;
    }

    .cart-item-unavailable {
      background: rgba(80, 23, 20, .2);
      border-radius: 4px;
      padding: 12px 10px;
      margin-bottom: 8px;
    }

    .ci-info {
      flex: 1;
      min-width: 0
    }

    .ci-name {
      font-size: 14px;
      font-weight: 400;
      color: var(--cream);
      margin-bottom: 4px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis
    }

    .ci-unavailable {
      font-size: 11px;
      color: #ffb0a8;
      margin-bottom: 4px;
    }

    .ci-price {
      font-family: 'Montserrat', sans-serif;
      font-size: 18px;
      font-weight: 600;
      color: var(--gold)
    }

    .ci-controls {
      display: flex;
      align-items: center;
      gap: 0;
      flex-shrink: 0
    }

    .ci-controls button {
      width: 30px;
      height: 30px;
      border: 1px solid rgba(255, 239, 217, .1);
      color: rgba(255, 239, 217, .5);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      cursor: auto;
      transition: all .2s;
    }

    .ci-controls button:hover {
      border-color: var(--gold);
      color: var(--gold);
      background: rgba(247, 170, 79, .1)
    }

    .ci-controls span {
      width: 34px;
      text-align: center;
      font-size: 13px;
      color: var(--cream)
    }

    .ci-remove {
      width: 26px;
      height: 26px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255, 239, 217, .18);
      font-size: 14px;
      cursor: auto;
      transition: color .2s;
      flex-shrink: 0
    }

    .ci-remove:hover {
      color: var(--burg-md)
    }

    .cart-foot {
      padding: 24px 32px;
      border-top: 1px solid rgba(255, 239, 217, .06)
    }

    .cart-foot-hidden {
      display: none;
    }

    .cart-foot-actions {
      display: flex;
      gap: 10px;
    }

    .cart-checkout-btn {
      flex: 1;
      padding: 16px;
    }

    .cart-checkout-btn:disabled {
      opacity: .45;
      cursor: default;
      filter: grayscale(.2);
    }

    .cart-clear-btn {
      padding: 16px 20px;
    }

    .cart-total-row {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: 20px
    }

    .cart-total-label {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .3em;
      text-transform: uppercase;
      color: rgba(255, 239, 217, .35)
    }

    .cart-total-val {
      font-family: 'Montserrat', sans-serif;
      font-size: 26px;
      font-weight: 700;
      color: var(--gold)
    }

    #toast-container {
      position: fixed;
      top: 100px;
      right: 24px;
      z-index: 700;
      display: flex;
      flex-direction: column;
      gap: 10px;
      pointer-events: none
    }

    .toast {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 16px 20px;
      min-width: 280px;
      background: rgba(20, 6, 8, .95);
      border: 1px solid rgba(247, 170, 79, .25);
      border-left: 3px solid var(--gold);
      -webkit-backdrop-filter: blur(20px);
      backdrop-filter: blur(20px);
      animation: slideIn .4s var(--ease-spring);
      box-shadow: 0 16px 48px rgba(0, 0, 0, .5);
    }

    .toast.out {
      animation: toastOut .4s var(--ease-smooth) forwards
    }

    .toast-icon {
      width: 32px;
      height: 32px;
      background: rgba(247, 170, 79, .1);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0
    }

    .toast-icon svg {
      width: 16px;
      height: 16px;
      stroke: var(--gold);
      fill: none;
      stroke-width: 2
    }

    .toast-body {
      display: flex;
      flex-direction: column
    }

    .toast-title {
      font-size: 12px;
      font-weight: 600;
      letter-spacing: .1em;
      color: var(--cream);
      margin-bottom: 2px
    }

    .toast-sub {
      font-size: 11px;
      font-weight: 300;
      color: rgba(255, 239, 217, .45)
    }

    .prod-illu {
      position: relative;
      z-index: 2;
      opacity: .55;
      filter: drop-shadow(0 4px 16px rgba(0, 0, 0, .4))
    }

    .co-overlay {
      position: fixed;
      inset: 0;
      z-index: 720;
      background: rgba(0, 0, 0, .78);
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s;
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
    }

    .co-overlay.open {
      opacity: 1;
      pointer-events: all;
    }

    .co-modal {
      position: fixed;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -46%) scale(.97);
      width: 440px;
      max-width: calc(100% - 28px);
      max-height: min(90vh, 640px);
      overflow-y: auto;
      z-index: 721;
      background: linear-gradient(165deg, var(--deep) 0%, var(--void) 100%);
      border: 1px solid rgba(247, 170, 79, .18);
      padding: 24px 22px 20px;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s, transform .35s var(--ease-spring);
      box-shadow: 0 28px 80px rgba(0, 0, 0, .65);
    }

    .co-modal.open {
      opacity: 1;
      pointer-events: all;
      transform: translate(-50%, -50%) scale(1);
    }

    .co-modal h3 {
      font-family: 'Montserrat', sans-serif;
      font-size: 18px;
      font-weight: 600;
      color: var(--cream);
      margin: 0 0 6px;
    }

    .co-sub {
      font-size: 11px;
      color: rgba(255, 239, 217, .4);
      margin-bottom: 16px;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .co-lines {
      font-size: 12px;
      color: rgba(255, 239, 217, .7);
      margin-bottom: 12px;
      max-height: 160px;
      overflow-y: auto;
      border: 1px solid rgba(255, 239, 217, .08);
      border-radius: 4px;
      padding: 10px 12px;
    }

    .co-line {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 6px 0;
      border-bottom: 1px solid rgba(255, 239, 217, .06);
    }

    .co-line:last-child {
      border-bottom: none;
    }

    .co-total {
      font-weight: 600;
      color: var(--gold);
      margin-bottom: 18px;
      font-size: 15px;
    }

    .co-field {
      margin-bottom: 12px;
    }

    .co-field label {
      display: block;
      font-size: 9px;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: rgba(255, 239, 217, .35);
      margin-bottom: 6px;
    }

    .co-field input,
    .co-field textarea {
      width: 100%;
      padding: 12px 14px;
      border: 1px solid rgba(255, 239, 217, .12);
      background: rgba(0, 0, 0, .25);
      color: var(--cream);
      font-family: inherit;
      font-size: 14px;
      border-radius: 2px;
    }

    .co-field textarea {
      min-height: 72px;
      resize: vertical;
    }

    .co-field input:focus,
    .co-field textarea:focus {
      outline: none;
      border-color: rgba(247, 170, 79, .4);
    }

    .co-actions {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 16px;
    }

    .co-actions .btn-gold {
      justify-content: center;
    }

    .co-err {
      color: #e88;
      font-size: 12px;
      min-height: 1.2em;
      margin-top: 6px;
    }

    .co-geo-link {
      display: none;
      margin-top: 8px;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--gold);
      background: none;
      border: none;
      cursor: pointer;
      text-decoration: underline;
      text-underline-offset: 3px;
      padding: 0;
      font-family: inherit;
    }

    .co-geo-link:hover {
      color: var(--gold-lt);
    }

    .co-geo-consent {
      width: auto !important;
      margin-right: 8px;
      accent-color: var(--gold);
      vertical-align: middle;
    }

    .co-geo-actions {
      margin-top: 4px;
    }

    .co-geo-manual-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .co-geo-note {
      margin: 6px 0 4px;
      font-size: 11px;
      line-height: 1.5;
      color: rgba(255, 239, 217, .58);
    }

    .co-geo-status {
      margin: 0;
      font-size: 11px;
      line-height: 1.5;
      color: rgba(247, 170, 79, .88);
      min-height: 1.4em;
    }

    .co-profile-field {
      cursor: default;
      color: var(--cream) !important;
      opacity: 0.75;
    }

    .co-profile-hint {
      display: block;
      margin-top: 4px;
      font-size: 9px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: rgba(255, 239, 217, .3);
    }

    .co-geo-section {
      margin-bottom: 10px;
    }

    .co-geo-consent-row {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      margin: 0 0 10px;
      font-size: 11px;
      line-height: 1.45;
      color: rgba(255, 239, 217, .68);
    }

    .co-geo-privacy {
      margin: 0 0 8px;
      font-size: 10px;
      line-height: 1.55;
      color: rgba(255, 239, 217, .38);
      border-left: 2px solid rgba(247, 170, 79, .25);
      padding-left: 8px;
    }

    .co-geo-btn {
      width: 100%;
      justify-content: center;
      font-size: 12px;
    }

    .co-success {
      display: none;
      text-align: center;
      padding: 8px 0 4px;
    }

    .co-success.show {
      display: block;
    }

    @media (max-width: 560px) {
      .co-geo-manual-grid {
        grid-template-columns: 1fr;
      }
    }

    .co-success p {
      font-size: 14px;
      line-height: 1.55;
      color: rgba(255, 239, 217, .82);
      margin-bottom: 16px;
    }

    .co-orders-hint {
      font-size: 12px;
      color: rgba(247, 170, 79, .92);
      background: rgba(247, 170, 79, .08);
      border: 1px solid rgba(247, 170, 79, .24);
      border-radius: 8px;
      padding: 10px 12px;
      margin: 0 0 16px;
    }

    .co-form-wrap.hide {
      display: none;
    }

    .menu-page-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 24px 64px;
      background: rgba(30, 8, 8, .92);
      -webkit-backdrop-filter: blur(16px);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(255, 239, 217, .06);
      position: sticky;
      top: 0;
      z-index: 500;
    }

    .menu-page-head-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      justify-content: flex-end;
      min-width: 0;
      flex: 1;
    }

    @media(max-width:768px) {
      .menu-page-head {
        padding: 18px 24px
      }
    }

    .menu-page-back {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: rgba(255, 239, 217, .5);
      transition: color .22s;
      cursor: auto;
      background: none;
      font-family: 'Montserrat', sans-serif;
    }

    .menu-page-back:hover {
      color: var(--gold)
    }

    .menu-page-title {
      font-family: 'Montserrat', sans-serif;
      font-size: 18px;
      font-weight: 600;
      color: var(--cream)
    }

    .menu-page-title em {
      color: var(--gold);
      font-style: italic
    }

    .header-cart-btn {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border: 1px solid rgba(255, 239, 217, .12);
      border-radius: 50%;
      color: rgba(255, 239, 217, .5);
      cursor: auto;
      transition: all .25s;
      background: none;
    }

    .header-cart-btn:hover {
      border-color: var(--gold);
      color: var(--gold);
      background: rgba(247, 170, 79, .08);
    }

    .header-orders-btn {
      position: relative;
      display: inline-flex;
      align-items: center;
      width: auto;
      min-width: 0;
      height: 40px;
      border: 1px solid rgba(255, 239, 217, .12);
      border-radius: 999px;
      padding: 0 12px;
      gap: 8px;
      justify-content: flex-start;
      border-color: rgba(247, 170, 79, .24);
      color: rgba(247, 170, 79, .85);
      text-decoration: none;
      transition: all .25s;
      background: none;
      cursor: auto;
    }

    .header-orders-btn:hover {
      border-color: var(--gold);
      color: var(--gold);
      background: rgba(247, 170, 79, .08);
    }

    .header-orders-btn.orders-guide-highlight {
      border-color: var(--gold);
      color: var(--gold);
      background: rgba(247, 170, 79, .18);
      box-shadow: 0 0 0 2px rgba(247, 170, 79, .2), 0 0 20px rgba(247, 170, 79, .38);
      animation: ordersGuidePulse 1.7s ease-in-out infinite;
      will-change: filter, box-shadow, background-color;
    }

    .header-orders-btn.orders-guide-highlight::after {
      content: attr(data-guide);
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      width: max-content;
      max-width: min(270px, 76vw);
      padding: 8px 10px;
      border-radius: 8px;
      background: rgba(15, 5, 5, .98);
      border: 1px solid rgba(247, 170, 79, .34);
      color: rgba(255, 239, 217, .96);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .01em;
      line-height: 1.35;
      text-transform: none;
      white-space: normal;
      z-index: 20;
      pointer-events: none;
    }

    @keyframes ordersGuidePulse {
      0%,
      100% {
        background: rgba(247, 170, 79, .14);
        box-shadow: 0 0 0 2px rgba(247, 170, 79, .16), 0 0 14px rgba(247, 170, 79, .24);
        filter: brightness(1);
      }

      50% {
        background: rgba(247, 170, 79, .26);
        box-shadow: 0 0 0 2px rgba(247, 170, 79, .26), 0 0 28px rgba(247, 170, 79, .5);
        filter: brightness(1.14);
      }
    }

    .header-orders-label {
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .12em;
      white-space: nowrap;
      line-height: 1;
    }

    .orders-active-count {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 18px;
      height: 18px;
      border-radius: 999px;
      padding: 0 6px;
      background: rgba(247, 170, 79, .18);
      border: 1px solid rgba(247, 170, 79, .35);
      color: var(--gold-lt);
      font-size: 10px;
      font-weight: 700;
      line-height: 1;
    }

    .orders-active-count[hidden] {
      display: none;
    }

    .cart-count {
      position: absolute;
      top: -4px;
      right: -4px;
      min-width: 18px;
      height: 18px;
      border-radius: 9px;
      background: var(--burg);
      color: var(--cream);
      font-size: 9px;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 4px;
      opacity: 0;
      transform: scale(0);
      transition: all .25s var(--ease-spring);
    }

    .cart-count.show {
      opacity: 1;
      transform: scale(1);
    }

    .jb-acc-btn {
      cursor: pointer;
    }

    .jb-acc-btn.jb-acc-in {
      border-color: rgba(247, 170, 79, .35);
      color: var(--gold);
      background: rgba(247, 170, 79, .1);
    }

    .jb-staff-link {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--gold);
      text-decoration: none;
      padding: 8px 10px;
      border: 1px solid rgba(247, 170, 79, .22);
      border-radius: 999px;
      transition: border-color .22s, background .22s;
      display: none;
      white-space: nowrap;
    }

    .jb-staff-link:hover {
      border-color: var(--gold);
      background: rgba(247, 170, 79, .08);
    }

    .jb-staff-link.show {
      display: inline-flex;
      align-items: center;
    }

    .jb-auth-overlay {
      position: fixed;
      inset: 0;
      z-index: 700;
      background: rgba(0, 0, 0, .72);
      opacity: 0;
      pointer-events: none;
      transition: opacity .35s;
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
    }

    .jb-auth-overlay.open {
      opacity: 1;
      pointer-events: all;
    }

    .menu-wrap {
      position: relative;
      z-index: 1;
    }

    .jb-open-auth-btn {
      cursor: pointer;
      background: none;
      border: none;
      color: inherit;
    }

    .co-action-btn,
    .auth-submit-btn,
    .auth-session-btn {
      width: 100%;
      padding: 14px;
    }

    .jb-auth-form-hidden,
    .jb-auth-session-hidden,
    .auth-session-staff-hidden {
      display: none;
    }

    .auth-session-btn {
      text-align: center;
      text-decoration: none;
    }

    .jb-auth-modal {
      position: fixed;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -48%) scale(.96);
      width: 720px;
      max-width: calc(100% - 32px);
      max-height: calc(100vh - 48px);
      overflow: auto;
      z-index: 701;
      background: linear-gradient(165deg, var(--deep) 0%, var(--void) 100%);
      border: 1px solid rgba(247, 170, 79, .15);
      box-shadow: 0 24px 80px rgba(0, 0, 0, .65);
      padding: 28px 26px 24px;
      opacity: 0;
      pointer-events: none;
      transition: opacity .35s, transform .35s var(--ease-spring);
    }

    .jb-auth-modal.open {
      opacity: 1;
      pointer-events: all;
      transform: translate(-50%, -50%) scale(1);
    }

    .jb-auth-modal h3 {
      font-family: 'Montserrat', sans-serif;
      font-size: 18px;
      font-weight: 600;
      color: var(--cream);
      margin: 0 0 18px;
    }

    .jb-auth-tabs {
      display: flex;
      gap: 8px;
      margin-bottom: 18px;
    }

    .jb-auth-tabs button {
      flex: 1;
      padding: 10px;
      font-size: 9px;
      font-weight: 600;
      letter-spacing: .2em;
      text-transform: uppercase;
      border: 1px solid rgba(255, 239, 217, .12);
      background: transparent;
      color: rgba(255, 239, 217, .45);
      cursor: pointer;
      transition: all .22s;
    }

    .jb-auth-tabs button.active {
      border-color: var(--gold);
      color: var(--gold);
      background: rgba(247, 170, 79, .08);
    }

    .jb-auth-field {
      margin-bottom: 12px;
    }

    .jb-auth-field label {
      display: block;
      font-size: 9px;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: rgba(255, 239, 217, .35);
      margin-bottom: 6px;
    }

    .jb-auth-field input {
      width: 100%;
      padding: 12px 14px;
      border: 1px solid rgba(255, 239, 217, .12);
      background: rgba(0, 0, 0, .25);
      color: var(--cream);
      font-family: inherit;
      font-size: 14px;
      border-radius: 2px;
    }

    .jb-auth-field input:focus {
      outline: none;
      border-color: rgba(247, 170, 79, .4);
    }

    .jb-auth-field-hint {
      margin: 6px 0 0;
      color: rgba(255, 239, 217, .52);
      font-size: 11px;
      line-height: 1.45;
    }

    .jb-auth-pass-wrap {
      position: relative;
      width: 100%;
    }

    .jb-auth-pass-wrap input {
      padding-right: 46px;
    }

    .jb-auth-pass-toggle {
      position: absolute;
      right: 4px;
      top: 50%;
      transform: translateY(-50%);
      width: 40px;
      height: 40px;
      border: none;
      background: transparent;
      color: rgba(255, 239, 217, .42);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 4px;
      transition: color .2s, background .2s;
    }

    .jb-auth-pass-toggle:hover {
      color: var(--gold);
      background: rgba(247, 170, 79, .08);
    }

    .jb-auth-pass-toggle:focus-visible {
      outline: 2px solid rgba(247, 170, 79, .5);
      outline-offset: 2px;
    }

    .jb-auth-pass-toggle .jb-eye-off {
      display: none;
    }

    .jb-auth-pass-wrap.jb-pass-visible .jb-eye-open {
      display: none;
    }

    .jb-auth-pass-wrap.jb-pass-visible .jb-eye-off {
      display: block;
    }

    .jb-auth-actions {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 18px;
    }

    .jb-auth-actions-inline {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 14px;
    }

    .jb-reg-step-hidden {
      display: none;
    }

    .jb-auth-step-hint {
      margin: 0;
      color: rgba(255, 239, 217, .7);
      font-size: 12px;
      line-height: 1.45;
    }

    .jb-reg-captcha-box {
      margin-top: 12px;
      border: 1px solid rgba(247, 170, 79, .2);
      background: rgba(255, 239, 217, .03);
      border-radius: 6px;
      padding: 12px;
    }

    .jb-reg-captcha-widget {
      min-height: 68px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .jb-reg-captcha-note {
      margin: 8px 0 0;
      color: rgba(255, 239, 217, .6);
      font-size: 11px;
      line-height: 1.45;
    }

    .jb-auth-actions .btn-gold {
      justify-content: center;
    }

    .jb-auth-err {
      font-size: 12px;
      color: #e88;
      margin-top: 10px;
      min-height: 1.2em;
    }

    .jb-auth-ok {
      font-size: 12px;
      color: #8c8;
      margin-top: 10px;
    }

    .jb-auth-close {
      position: absolute;
      top: 16px;
      right: 16px;
      width: 32px;
      height: 32px;
      border: 1px solid rgba(255, 239, 217, .1);
      background: transparent;
      color: rgba(255, 239, 217, .5);
      cursor: pointer;
      font-size: 16px;
      line-height: 1;
    }

    .jb-auth-close:hover {
      border-color: var(--gold);
      color: var(--gold);
    }

    .jb-session-info {
      font-size: 13px;
      color: rgba(255, 239, 217, .75);
      line-height: 1.6;
    }

    .jb-session-info strong {
      color: var(--gold);
      font-weight: 600;
    }

    .jb-api-hint {
      margin-top: 16px;
      padding-top: 14px;
      border-top: 1px solid rgba(255, 239, 217, .06);
      font-size: 10px;
      color: rgba(255, 239, 217, .28);
      line-height: 1.5;
    }

    .jb-api-hint input {
      width: 100%;
      margin-top: 8px;
      padding: 8px 10px;
      font-size: 12px;
      border: 1px solid rgba(255, 239, 217, .1);
      background: rgba(0, 0, 0, .2);
      color: var(--cream);
    }

    .jb-stub-note {
      margin-top: 14px;
      padding: 12px 14px;
      font-size: 11px;
      line-height: 1.5;
      color: rgba(247, 170, 79, .88);
      background: rgba(247, 170, 79, .08);
      border: 1px solid rgba(247, 170, 79, .2);
      border-radius: 4px;
    }

    .jb-menu-pres {
      display: none;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--gold);
      border: 1px solid rgba(247, 170, 79, .35);
      padding: 5px 9px;
      border-radius: 2px;
      flex-shrink: 0;
    }

    .jb-menu-pres.on {
      display: inline-block;
    }

    #jbMenuPres,
    #jbStaffLink {
      display: none !important;
    }

    /* ═══════════════════════════════════
   RESPONSIVE
═══════════════════════════════════ */
    @media(max-width:360px) {
      .wrap {
        padding: 0 16px
      }
    }

    @media(max-width:768px) {
      .sec {
        padding: 80px 0
      }
    }

    @media(max-width:480px) {
      .sec {
        padding: 56px 0
      }

      .sec-sub {
        max-width: 100%;
        font-size: 13px
      }

      .sec-label {
        font-size: 9px;
        gap: 12px;
        margin-bottom: 14px
      }
    }

    @media(max-width:480px) {
      .ld-ring-wrap {
        width: 160px;
        height: 160px
      }

      .ld-logo {
        height: 80px
      }

      .ld-pct {
        margin-top: 24px;
        font-size: 10px
      }

      .ld-pct span {
        font-size: 11px
      }
    }

    @media(max-width:480px) {
      .jb-auth-actions-inline {
        grid-template-columns: 1fr;
      }

      .auth-submit-btn {
        font-size: 11px;
        letter-spacing: .08em;
        padding: 12px 10px;
      }
    }

    @media(max-width:360px) {
      .auth-submit-btn {
        font-size: 10px;
        letter-spacing: .05em;
        padding: 11px 8px;
      }
    }

    @media(max-width:360px) {
      .ld-ring-wrap {
        width: 130px;
        height: 130px
      }

      .ld-logo {
        height: 65px
      }

      .ld-pct {
        margin-top: 20px
      }
    }

    @media(max-width:560px) {
      .menu-page-head {
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
        padding: 14px 18px;
        min-height: 58px;
        box-sizing: border-box
      }

      .menu-page-head-actions {
        flex-wrap: nowrap;
        justify-content: flex-end;
        gap: 8px;
        flex: 0 1 auto;
        min-width: 0
      }

      .jb-staff-link {
        font-size: 9px;
        letter-spacing: .08em
      }
    }

    @media(max-width:480px) {
      .menu-page-head {
        padding: 12px 14px;
        gap: 8px;
        min-height: 58px
      }

      .menu-page-back {
        font-size: 9px;
        gap: 4px;
        letter-spacing: .1em;
        flex-shrink: 0
      }

      .menu-page-back svg {
        width: 14px;
        height: 14px
      }

      .header-cart-btn {
        width: 34px;
        height: 34px;
        flex-shrink: 0
      }

      .header-orders-btn {
        width: auto;
        height: 34px;
        padding: 0 9px;
        gap: 6px;
        flex-shrink: 0;
      }

      .header-orders-label {
        font-size: 8px;
        letter-spacing: .1em;
      }

      .orders-active-count {
        min-width: 16px;
        height: 16px;
        padding: 0 5px;
        font-size: 9px;
      }

      .header-cart-btn svg {
        width: 16px;
        height: 16px
      }

      .lang-btn {
        font-size: 9px;
        padding: 3px 5px
      }

      .lang-switch {
        gap: 2px;
        flex-shrink: 0
      }
    }

    @media(max-width:380px) {
      .menu-page-head {
        padding: 10px 12px;
        gap: 6px;
        min-height: 52px
      }

      .menu-page-back span {
        display: none
      }

      .menu-page-back {
        gap: 0
      }

      .menu-page-back svg {
        width: 18px;
        height: 18px
      }

      .menu-page-head-actions {
        gap: 6px
      }

      .lang-btn {
        font-size: 9px;
        padding: 3px 4px;
        letter-spacing: .04em
      }

      .lang-switch {
        gap: 1px
      }

      .header-cart-btn {
        width: 32px;
        height: 32px
      }

      .header-orders-btn {
        width: auto;
        height: 32px;
        padding: 0 8px;
        max-width: 138px;
      }
    }

    @media(max-width:320px) {
      .menu-page-head {
        padding: 10px 10px;
        min-height: 50px
      }

      .lang-btn {
        font-size: 8px;
        padding: 3px 3px
      }

      .header-cart-btn {
        width: 30px;
        height: 30px
      }

      .header-orders-btn {
        width: auto;
        height: 30px;
        padding: 0 7px;
        max-width: 126px;
      }

      .header-cart-btn svg {
        width: 14px;
        height: 14px
      }
    }

    @media(max-width:480px) {
      .cat-tile {
        padding: 8px 12px
      }

      .cat-tile span {
        font-size: 10px
      }
    }

    @media(max-width:480px) {
      #menu {
        padding: 32px 0 64px
      }

      .sec-title {
        font-size: 30px;
        margin-bottom: 12px
      }

      .p-img-wrap {
        height: 180px
      }

      .p-body {
        padding: 16px 16px 14px
      }

      .p-name {
        font-size: 16px
      }

      .p-price {
        font-size: 18px
      }

      .p-price-old {
        font-size: 11px;
      }

      .p-desc {
        font-size: 10px
      }

      .btn-cart {
        padding: 10px;
        font-size: 8px;
        letter-spacing: .25em
      }
    }

    @media(max-width:360px) {
      .sec-title {
        font-size: 26px
      }

      .p-img-wrap {
        height: 160px
      }
    }

    @media(max-width:520px) {
      .cart-drawer {
        width: 100%
      }
    }

    @media(max-width:480px) {
      .cart-head {
        padding: 20px 20px
      }

      .cart-head h3 {
        font-size: 18px
      }

      .cart-body {
        padding: 16px 20px
      }

      .cart-foot {
        padding: 20px 20px
      }

      .cart-total-val {
        font-size: 22px
      }

      .cart-item {
        gap: 12px;
        padding: 14px 0
      }

      .ci-name {
        font-size: 13px
      }

      .ci-price {
        font-size: 16px
      }
    }

    @media(max-width:360px) {
      .cart-foot .btn {
        width: 100%;
        justify-content: center
      }
    }

    @media(max-width:480px) {
      #toast-container {
        right: 16px;
        left: 16px;
        top: 80px
      }

      .toast {
        min-width: auto;
        width: 100%
      }

      .co-modal {
        max-width: calc(100% - 16px);
        padding: 20px 16px 16px
      }

      .co-modal h3 {
        font-size: 16px
      }

      .co-field input,
      .co-field textarea {
        font-size: 13px;
        padding: 11px 12px
      }

      .co-lines {
        font-size: 11px;
        padding: 8px 10px
      }

      .co-orders-hint {
        font-size: 11px;
        padding: 8px 10px;
      }

      .header-orders-btn.orders-guide-highlight::after {
        right: -14px;
        max-width: min(220px, 86vw);
        font-size: 10px;
      }
    }

    @media(max-width:360px) {
      .co-modal {
        padding: 18px 14px 14px;
        max-height: 88vh
      }

      .co-modal h3 {
        font-size: 15px
      }

      .co-line {
        font-size: 11px
      }
    }
