:root{
        --bg:#0f0f10;
        --bg-soft:#181818;
        --text:#f4efe2;
        --muted:#ddd5c5;
        --accent:#fff;
        --accent-2:#f0e317;
        --line:#505050;
      }

      body{
        margin:0;
        background:radial-gradient(circle at center, #2a2a2a 0%, #161616 42%, #0b0b0b 100%);
        color:var(--text);
        font-family: Georgia, "Times New Roman", serif;
      }

      .menu-shell{
        max-width:760px;
        margin:14px auto;
        padding:18px 16px 26px;
        border:2px solid var(--line);
        background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
        box-shadow:0 0 0 1px rgba(255,255,255,0.03) inset;
      }

      .logo-wrap img{
        max-width:250px;
        width:70%;
        margin-bottom:14px;
        filter:brightness(1.08);
      }

      .address{
        color:var(--muted);
        font-size:.95rem;
        margin-bottom:6px;
      }
      .address a{
        color:var(--muted);
        font-size:.95rem;
        margin-bottom:6px;
      }
      .section-block{
        margin-bottom:28px;
      }

      .categoria-header{
        text-align:center;
        margin:22px 0 14px;
      }

      .ribbon{
        background:var(--accent);
        color:#111;
        font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
        font-size:1.75rem;
        line-height:1;
        letter-spacing:.03em;
        text-transform:uppercase;
        padding:10px 28px 8px;
        box-shadow:0 2px 0 rgba(0,0,0,.28);
      }

      .ribbon span{
        display:inline-block;
      }

      .categoria-header.sugerencias .ribbon,
      .categoria-header.postres .ribbon,
      .categoria-header.brasas .ribbon{
        background:var(--accent-2);
      }

      table.menu-table{
        width:100%;
        border-collapse:collapse;
      }

      table.menu-table th,
      table.menu-table td{
        color:var(--text);
      }

      tr.producto-row td{
        border-bottom:dotted 1px rgba(255,255,255,0.75);
      }

      tr.producto-row:last-child td{
        border-bottom:none;
      }

      tr.producto-row:last-child td{
        border-bottom:none;
      }

      .head-price{
        text-align:right;
        white-space:nowrap;
        color:var(--muted);
        font-size:1rem;
        padding-bottom:5px;
      }

      tr.producto-row td:first-child{
        width:100%;
        position:relative;
        padding:6px 10px 6px 0;
        text-transform:uppercase;
        font-size:1.02rem;
      }

      .nombre{
        position:relative;
        z-index:2;

        padding-right:8px;
      }

      td.precio{
        position:relative;
        z-index:2;
        text-align:right;
        white-space:nowrap;
        padding-left:12px;
        font-size:1.05rem;
      }

      .nota-aviso{
        padding-top:18px;
        text-align:center;
        font-size:.98rem;
        line-height:1.25;
        text-transform:uppercase;
        color:var(--text);
      }

      #loading{
        text-align:center;
        margin:20px;
        color:var(--text);
      }

      #error_box{
        display:none;
        text-align:center;
        margin:20px;
        color:#ffb4b4;
      }

      .footer{
        text-align:center;
        margin-top:10px;
        color:#b8b8b8;
        font-size:.9rem;
      }

      @media (max-width:640px){
        .menu-shell{
          margin:0px;
          padding:16px 12px 22px;
        }

        .ribbon{
          font-size:1.45rem;
          padding:8px 20px 7px;
        }

        tr.producto-row td:first-child{
          font-size:.94rem;
        }

        td.precio,
        .head-price{
          font-size:.94rem;
        }
      }
