/*
 * default.css — MenuSpace "Dark Cards" theme
 * The original theme. Dark bordered cards, Syne headers, pill buttons.
 */

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

:root {
    --bg:       #0a0a0c;
    --surface:  #0f0f12;
    --card:     #131318;
    --card-alt: #16161c;
    --border:   rgba(255,255,255,.07);
    --border2:  rgba(255,255,255,.12);
    --text:     #f0ece4;
    --muted:    rgba(240,236,228,.48);
    --muted2:   rgba(240,236,228,.28);
    --shadow:   0 8px 40px rgba(0,0,0,.5);
    --radius:   14px;
    --font-body: 'Outfit', sans-serif;
    --font-display: 'Syne', sans-serif;
}

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

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

.sidebar-link { color: var(--muted); border-radius: 8px; }
.sidebar-link:hover  { color: var(--text); background: rgba(255,255,255,.04); }
.sidebar-link.active { color: #fff; border-left-color: var(--accent); background: rgba(255,255,255,.05); font-weight: 600; }

/* ── Search ── */
.search-inner {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
}
.search-icon  { color: var(--muted2); }
.search-input { color: var(--text); font-family: var(--font-body); }
.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: 999px;
    border: 1px solid var(--border2);
    background: transparent;
    color: var(--muted);
    transition: background .15s, color .15s, border-color .15s;
}
.pill-tab.active { background: var(--accent); border-color: var(--accent); color: #fff; }

/* ── Section ── */
.section-title {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .03em;
    color: #fff;
}
.section-line  { background: var(--border); }
.section-count { font-size: 11px; color: var(--muted2); }

/* ── Mobile section header ── */
@media (max-width: 800px) {
    .section-header { background: #0d0d10; border-top: 1px solid rgba(255,255,255,.06); }
}

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

/* ── Item row ── */
.item-row {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s, transform .15s;
    animation: rowIn .3s ease both;
    margin-bottom: 0;
}

@keyframes rowIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.item-row:hover {
    border-color: var(--border2);
    box-shadow: 0 4px 24px rgba(0,0,0,.4);
    transform: translateX(2px);
}

.item-img-wrap { background: var(--card-alt); }
.item-img { transition: transform .4s ease; }
.item-row:hover .item-img { transform: scale(1.06); }
.item-no-img { color: var(--muted2); background: var(--card-alt); }

.item-name  { font-family: var(--font-display); font-size: .95rem; font-weight: 700; color: #fff; }
.item-desc  { font-size: .8rem; color: var(--muted); }
.item-badge { padding: 1px 7px; border-radius: 999px; font-size: .68rem; font-weight: 700; }
.item-price { font-family: var(--font-display); font-size: 1.05rem; font-weight: 800; color: #fff; }

/* ── Mobile item row ── */
@media (max-width: 800px) {
    .item-row {
        background: #0f0f13;
        border-color: transparent;
        border-bottom: 1px solid rgba(255,255,255,.05);
        animation: none;
        transform: none !important;
        box-shadow: none !important;
    }
    .item-price { color: var(--accent); }
}

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

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

/* ── Buttons ── */
.add-btn {
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    transition: opacity .2s, transform .1s;
}
.add-btn:hover  { opacity: .88; }
.add-btn:active { transform: scale(.96); }
.add-btn:disabled { opacity: .35; }

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

.customize-btn {
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--accent) 60%, transparent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    color: color-mix(in srgb, var(--accent) 90%, white);
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    transition: background .2s, border-color .2s, transform .1s;
}
.customize-btn:hover  { background: color-mix(in srgb, var(--accent) 22%, transparent); border-color: var(--accent); }
.customize-btn:active { transform: scale(.96); }

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

/* ── Closed banner ── */
.closed-banner {
    background: rgba(255,60,60,.1);
    border: 1px solid rgba(255,60,60,.3);
    border-radius: var(--radius);
    color: #ffb3b3;
    font-size: .95rem;
}

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

/* ── Brand strip ── */
.brand-strip {
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand-strip-title { color: #fff; }
.hours-tag.open  { background: rgba(0,200,83,.15); color: #00c853; border: 1px solid rgba(0,200,83,.3); }
.hours-tag.soon  { background: rgba(255,170,0,.12); color: #ffaa00; border: 1px solid rgba(255,170,0,.3); }
.brand-action-btn { color: #fff; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.15); }
.brand-action-btn.call { background: rgba(0,200,83,.15); border-color: rgba(0,200,83,.4); color: #00c853; }
.brand-action-btn.nav  { background: rgba(59,139,255,.15); border-color: rgba(59,139,255,.4); color: #3b8bff; }

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

/* ── Food truck ── */
.ft-card         { border: 1px solid rgba(255,255,255,.08); box-shadow: 0 12px 40px rgba(0,0,0,.5); }
.ft-header       { background: rgba(0,0,0,.5); }
.ft-title        { color: #fff; }
.ft-address      { color: rgba(255,255,255,.4); }
.ft-distance-bar { background: rgba(0,0,0,.4); color: #fff; border-color: rgba(255,255,255,.06); }
.ft-actions      { background: rgba(0,0,0,.3); border-color: rgba(255,255,255,.06); }
.ft-btn-navigate { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.2); }
.ft-manual       { background: rgba(0,0,0,.3); border-color: rgba(255,255,255,.06); }
.ft-input        { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.1); color: #fff; }
.ft-no-loc       { background: #0a0a0c; color: rgba(255,255,255,.3); }
