/*
 * neon.css — MenuSpace "Neon" theme
 * Cyberpunk street food. Pure black, electric glows, heavy condensed type.
 * Night market · Ramen bar · Late night burger spot · Boba shop
 */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Space+Mono:wght@400;700&display=swap');

:root {
    --bg:       #000000;
    --surface:  #080808;
    --card:     #0d0d0d;
    --card-alt: #111111;
    --border:   rgba(255,255,255,.06);
    --border2:  rgba(255,255,255,.1);
    --text:     #f0f0f0;
    --muted:    rgba(240,240,240,.4);
    --muted2:   rgba(240,240,240,.22);
    --shadow:   0 8px 40px rgba(0,0,0,.9);
    --radius:   0px;
    --font-body:    'Space Mono', monospace;
    --font-display: 'Barlow Condensed', sans-serif;
    /* hero */
    --hero-text:        #ffffff;
    --hero-border:      rgba(255,255,255,.08);
    --hero-featured-bg: #0d0d0d;
    --hero-ticker-bg:   rgba(0,0,0,.7);
    --hero-ticker-color:var(--accent);
}

body {
    font-family: var(--font-body);
    color: var(--text);
    background: var(--bg);
    font-size: 13px;
}

/* ── Sidebar ── */
.sidebar-label {
    color: var(--accent);
    letter-spacing: .15em;
    font-size: .65rem;
    text-transform: uppercase;
    font-family: var(--font-body);
}

.sidebar-link { color: var(--muted); border-radius: 0; letter-spacing: .04em; }
.sidebar-link:hover  { color: var(--text); background: rgba(255,255,255,.04); }
.sidebar-link.active {
    color: var(--accent);
    border-left-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 8%, transparent);
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: inset 0 0 20px color-mix(in srgb, var(--accent) 5%, transparent);
}

/* ── Search ── */
.search-inner {
    background: #0d0d0d;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 0;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent);
}
.search-inner:focus-within {
    border-color: var(--accent);
    box-shadow: 0 0 12px color-mix(in srgb, var(--accent) 15%, transparent);
}
.search-icon  { color: var(--accent); }
.search-input { color: var(--text); font-family: var(--font-body); font-size: 12px; }
.search-input::placeholder { color: var(--muted2); }
.search-clear { color: var(--muted); }
.search-clear:hover { color: var(--accent); }

/* ── Pill bar ── */
.pill-bar { background: #000; border-bottom: 1px solid rgba(255,255,255,.08); }

.pill-tab {
    border-radius: 0;
    border: 1px solid rgba(255,255,255,.1);
    background: transparent;
    color: var(--muted);
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .8rem;
    transition: all .15s;
}
.pill-tab:hover { color: var(--accent); border-color: var(--accent); }
.pill-tab.active {
    background: var(--accent);
    border-color: var(--accent);
    color: #000;
    font-weight: 800;
    box-shadow: 0 0 16px color-mix(in srgb, var(--accent) 35%, transparent);
}

/* ── Section ── */
.section-title {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--accent);
    text-shadow: 0 0 20px color-mix(in srgb, var(--accent) 35%, transparent);
}
.section-line  { background: rgba(255,255,255,.06); }
.section-count { font-size: 10px; color: var(--muted2); font-family: var(--font-body); }

@media (max-width: 800px) {
    .section-header { background: #080808; border-top: 1px solid rgba(255,255,255,.06); }
}

/* ── Items list ── */
.items-list { background: #000; }

/* ── Item row ── */
.item-row {
    background: var(--card);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 0;
    border-left: 2px solid transparent;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
    animation: rowIn .25s ease both;
}

@keyframes rowIn {
    from { opacity: 0; transform: translateX(-4px); }
    to   { opacity: 1; transform: translateX(0); }
}

.item-row:hover {
    border-color: rgba(255,255,255,.1);
    border-left-color: var(--accent);
    box-shadow: 0 0 20px rgba(0,0,0,.8), -2px 0 0 var(--accent);
}

.item-img-wrap { background: #111; }
.item-img { transition: transform .4s ease; filter: saturate(.85) contrast(1.05); }
.item-row:hover .item-img { transform: scale(1.05); filter: saturate(1.1) contrast(1.05); }
.item-no-img { color: var(--muted2); background: #111; }

.item-name  {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 800;
    color: var(--text);
    letter-spacing: .04em;
    text-transform: uppercase;
}
.item-desc  { font-size: .75rem; color: var(--muted); line-height: 1.5; font-family: var(--font-body); }
.item-badge {
    padding: 1px 7px;
    border-radius: 0;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.item-price {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 900;
    color: var(--accent);
    letter-spacing: .02em;
    text-shadow: 0 0 12px color-mix(in srgb, var(--accent) 40%, transparent);
}

@media (max-width: 800px) {
    .item-row {
        background: #080808;
        border-color: transparent;
        border-left: 2px solid transparent;
        border-bottom: 1px solid rgba(255,255,255,.05);
        animation: none;
    }
    .item-row:hover { border-left-color: var(--accent); }
    .item-price { color: var(--accent); }
}

/* ── Qty picker ── */
.qty-picker {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 0;
    background: rgba(255,255,255,.03);
}
.qty-btn { color: var(--text); transition: color .1s, background .1s; }
.qty-btn:hover { background: rgba(255,255,255,.06); color: var(--accent); }
.qty-val { font-weight: 700; font-size: 13px; font-family: var(--font-display); color: var(--accent); }

/* ── Buttons ── */
.add-btn {
    border-radius: 0;
    background: var(--accent);
    color: #000;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: box-shadow .2s, transform .1s;
    box-shadow: 0 0 12px color-mix(in srgb, var(--accent) 30%, transparent);
}
.add-btn:hover  {
    box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 50%, transparent);
}
.add-btn:active { transform: scale(.97); }
.add-btn:disabled { opacity: .25; box-shadow: none; }

.customize-btn {
    border-radius: 0;
    border: 1px solid color-mix(in srgb, var(--accent) 50%, transparent);
    background: color-mix(in srgb, var(--accent) 8%, transparent);
    color: var(--accent);
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: background .2s, box-shadow .2s;
}
.customize-btn:hover {
    background: color-mix(in srgb, var(--accent) 15%, transparent);
    box-shadow: 0 0 12px color-mix(in srgb, var(--accent) 20%, transparent);
}

/* ── Closed banner ── */
.closed-banner {
    background: rgba(255,30,30,.07);
    border: 1px solid rgba(255,30,30,.25);
    border-radius: 0;
    color: #ff8080;
}

/* ── No results ── */
.no-results { color: var(--muted); font-family: var(--font-body); }

/* ── Brand strip ── */
.brand-strip {
    background: rgba(0,0,0,.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(255,255,255,.07);
    box-shadow: 0 1px 0 color-mix(in srgb, var(--accent) 15%, transparent);
}
.brand-strip-title {
    color: var(--text);
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.hours-tag.open {
    background: color-mix(in srgb, var(--accent) 10%, transparent);
    color: var(--accent);
    border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
    border-radius: 0;
    text-shadow: 0 0 8px color-mix(in srgb, var(--accent) 40%, transparent);
}
.hours-tag.soon {
    background: rgba(255,200,0,.08);
    color: #ffc800;
    border: 1px solid rgba(255,200,0,.25);
    border-radius: 0;
}
.brand-action-btn {
    color: var(--text);
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 0;
    font-family: var(--font-display);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.brand-action-btn.call {
    background: color-mix(in srgb, var(--accent) 8%, transparent);
    border-color: color-mix(in srgb, var(--accent) 30%, transparent);
    color: var(--accent);
}
.brand-action-btn.nav  { background: rgba(80,160,255,.08); border-color: rgba(80,160,255,.25); color: #60b0ff; }
.brand-action-btn.locs {
    background: color-mix(in srgb, var(--accent) 06%, transparent);
    border-color: color-mix(in srgb, var(--accent) 25%, transparent);
    color: var(--accent);
}

.search-wrap { background: #000; }

/* ── Food truck ── */
.ft-card         { border: 1px solid rgba(255,255,255,.08); box-shadow: 0 0 40px rgba(0,0,0,.9); }
.ft-header       { background: rgba(0,0,0,.8); }
.ft-title        {
    color: var(--text);
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.ft-address      { color: var(--muted); font-family: var(--font-body); font-size: .78rem; }
.ft-distance-bar { background: rgba(0,0,0,.7); color: var(--text); border-color: rgba(255,255,255,.06); }
.ft-actions      { background: rgba(0,0,0,.5); border-color: rgba(255,255,255,.06); }
.ft-btn-navigate {
    background: rgba(80,160,255,.08);
    color: #60b0ff;
    border-color: rgba(80,160,255,.2);
    border-radius: 0;
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.ft-manual       { background: rgba(0,0,0,.6); border-color: rgba(255,255,255,.06); }
.ft-input        { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); color: var(--text); font-family: var(--font-body); border-radius: 0; }
.ft-no-loc       { background: #080808; color: var(--muted2); }

/* ── Mobile store bar ── */
.store-mobile-bar   { background: rgba(0,0,0,.98); border-bottom: 1px solid rgba(255,255,255,.07); }
.store-mobile-title {
    color: var(--text);
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.section-count {
    background: color-mix(in srgb, var(--accent) 08%, transparent);
    color: color-mix(in srgb, var(--accent) 80%, transparent);
    border-radius: 0;
}

/* ── Neon scan line on hero ── */
.hero-ticker {
    font-family: var(--font-body);
    font-size: .8rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* ── Neon glow on featured item price ── */
.hero-featured-price {
    text-shadow: 0 0 14px color-mix(in srgb, var(--accent) 50%, transparent);
}

.hero-featured-btn {
    border-radius: 0;
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 0 12px color-mix(in srgb, var(--accent) 30%, transparent);
}
.hero-featured-btn:hover {
    box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 50%, transparent);
}
