/*
 * minimal.css — MenuSpace "Minimal" theme
 * Flat rows, no card borders, system font stack. Clean and fast-feeling.
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {

/* ── Component variables ── */
--input-bg:         rgba(255,255,255,.04);
--btn-subtle-bg:    rgba(255,255,255,.06);
--btn-subtle-hover: rgba(255,255,255,.12);
--overlay-bg:       rgba(0,0,0,.55);
--hero-border:      rgba(255,255,255,.07);
--hero-featured-bg: rgba(255,255,255,.04);
--hero-ticker-bg:   rgba(0,0,0,.2);
--hero-ticker-color:rgba(255,255,255,.6);
--footer-bg:        var(--surface);
--footer-border:    var(--border);
--footer-text:      var(--muted);
--footer-heading:   var(--text);
--build-header-bg:  var(--surface);

    --bg:       #0c0c0d;
    --surface:  #111112;
    --card:     #111112;
    --card-alt: #18181a;
    --border:   rgba(255,255,255,.06);
    --border2:  rgba(255,255,255,.1);
    --text:     #efefef;
    --muted:    rgba(239,239,239,.45);
    --muted2:   rgba(239,239,239,.22);
    --shadow:   none;
    --radius:   10px;
    --font-body:    'Inter', system-ui, sans-serif;
    --font-display: 'Inter', system-ui, sans-serif;
}

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

/* ── Sidebar ── */
.sidebar-label { color: var(--muted2); letter-spacing: .1em; }

.sidebar-link  { color: var(--muted); border-radius: 6px; font-size: 12.5px; }
.sidebar-link:hover  { color: var(--text); background: rgba(255,255,255,.03); }
.sidebar-link.active { color: var(--accent); border-left-color: var(--accent); background: transparent; font-weight: 600; }

/* ── Search ── */
.search-inner {
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
}
.search-icon  { color: var(--muted2); }
.search-input { color: var(--text); font-family: var(--font-body); font-size: 13px; }
.search-input::placeholder { color: var(--muted2); }
.search-clear { color: var(--muted2); }
.search-clear:hover { color: var(--text); }

/* ── Pill bar (mobile) ── */
.pill-bar { background: var(--surface); border-bottom: 1px solid var(--border); }

.pill-tab {
    border-radius: 4px;
    border: none;
    background: transparent;
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    transition: color .15s;
}
.pill-tab.active { background: transparent; color: var(--accent); border-bottom: 2px solid var(--accent); border-radius: 0; }

/* ── Section ── */
.section-title {
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted);
}
.section-line  { background: var(--border); }
.section-count { font-size: 10px; color: var(--muted2); }

/* ── Mobile section header ── */
@media (max-width: 800px) {
    .section-header { background: var(--bg); border-top: 1px solid var(--border); }
    .section-title  { font-size: 10px; }
}

/* ── Items list ── */
.items-list {
    background: transparent;
    border-top: 1px solid var(--border);
}

/* ── Item row — flat with bottom divider only ── */
.item-row {
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    overflow: visible;
    transition: background .15s;
    animation: none;
}

.item-row:last-child { border-bottom: none; }

.item-row:hover { background: rgba(255,255,255,.02); }

.item-img-wrap { background: var(--card-alt); }
.item-img { transition: none; }
.item-row:hover .item-img { transform: none; }
.item-no-img { color: var(--muted2); background: var(--card-alt); font-size: 1.4rem; }

.item-name  { font-family: var(--font-display); font-size: .9rem; font-weight: 600; color: var(--text); }
.item-desc  { font-size: .78rem; color: var(--muted); }
.item-badge { padding: 1px 6px; border-radius: 4px; font-size: .65rem; font-weight: 600; }
.item-price { font-family: var(--font-display); font-size: .95rem; font-weight: 700; color: var(--text); }

/* ── Mobile item row ── */
@media (max-width: 800px) {
    .item-row { background: transparent; border-bottom: 1px solid var(--border); }
    .item-price { color: var(--accent); }
}

/* ── Qty picker ── */
.qty-picker {
    border: 1px solid var(--border2);
    border-radius: 6px;
    background: rgba(255,255,255,.03);
}
.qty-btn { color: var(--muted); transition: color .15s; }
.qty-btn:hover { color: var(--text); background: rgba(255,255,255,.05); }
.qty-val { font-weight: 600; font-size: 13px; color: var(--text); }

@media (max-width: 800px) {
    .qty-picker { border-radius: 6px; }
}

/* ── Buttons — rectangular, minimal ── */
.add-btn {
    border-radius: 6px;
    background: var(--accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    transition: opacity .2s;
}
.add-btn:hover  { opacity: .85; }
.add-btn:active { opacity: .7; }
.add-btn:disabled { opacity: .3; }

@media (max-width: 800px) {
    .add-btn { border-radius: 6px; }
}

.customize-btn {
    border-radius: 6px;
    border: 1px solid var(--border2);
    background: transparent;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    transition: border-color .15s, color .15s;
}
.customize-btn:hover  { border-color: var(--accent); color: var(--accent); }
.customize-btn:active { opacity: .8; }

@media (max-width: 800px) {
    .customize-btn { border-radius: 6px; }
}

/* ── Closed banner ── */
.closed-banner {
    background: rgba(255,60,60,.07);
    border: 1px solid rgba(255,60,60,.2);
    border-radius: var(--radius);
    color: #ff9999;
    font-size: .88rem;
    font-weight: 500;
}

/* ── No results ── */
.no-results { color: var(--muted); font-size: .88rem; }

/* ── Brand strip ── */
.brand-strip {
    background: var(--surface);
    border-bottom: 1px solid var(--border);
}
.brand-strip-title { color: var(--text); }
.hours-tag.open  { background: rgba(0,200,83,.1); color: #00c853; border: 1px solid rgba(0,200,83,.25); }
.hours-tag.soon  { background: rgba(255,170,0,.08); color: #ffaa00; border: 1px solid rgba(255,170,0,.25); }
.brand-action-btn { color: var(--muted); background: rgba(255,255,255,.03); border: 1px solid var(--border2); }
.brand-action-btn.call { background: rgba(0,200,83,.08); border-color: rgba(0,200,83,.3); color: #00c853; }
.brand-action-btn.nav  { background: rgba(59,139,255,.08); border-color: rgba(59,139,255,.3); color: #3b8bff; }

.search-wrap { background: var(--bg); }

/* ── Food truck ── */
.ft-card         { border: 1px solid var(--border); }
.ft-header       { background: var(--surface); border-bottom: 1px solid var(--border); }
.ft-title        { color: var(--text); }
.ft-address      { color: var(--muted); }
.ft-distance-bar { background: var(--surface); color: var(--text); border-color: var(--border); }
.ft-actions      { background: var(--surface); border-color: var(--border); }
.ft-btn-navigate { background: transparent; color: var(--muted); border-color: var(--border2); }
.ft-manual       { background: var(--surface); border-color: var(--border); }
.ft-input        { background: rgba(255,255,255,.04); border-color: var(--border2); color: var(--text); }
.ft-no-loc       { background: var(--bg); color: var(--muted); }
