/* GS Nákupní seznamy — frontend styly (brand: --gs-* tokeny z tématu) */

#gs-seznamy-app {
    --gs-accent: var(--e-global-color-accent, #FF376B);
    --gs-border: #ECEAF2;
    --gs-muted:  #6B6B72;
    max-width: 860px;
}

.gs-seznamy-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    gap: 12px;
}
.gs-seznamy-header h3 { margin: 0; }

/* Karty seznamů */
.gs-seznamy-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 16px;
}
.gs-seznam-card {
    background: #fff;
    border: 1px solid var(--gs-border);
    border-radius: 14px;
    padding: 18px;
    cursor: pointer;
    transition: box-shadow .2s, transform .1s;
    position: relative;
}
.gs-seznam-card:hover { box-shadow: 0 6px 20px rgba(17,17,17,.08); transform: translateY(-1px); }
.gs-seznam-card h4 { margin: 0 0 5px; font-size: 16px; font-weight: 700; }
.gs-seznam-card .gs-klient { color: var(--gs-muted); font-size: 13px; margin: 0 0 4px; }
.gs-seznam-card .gs-meta { color: #9A98A4; font-size: 12px; margin: 0 0 10px; }

/* Stav badge (základ .gs-badge je v tématu) */
.gs-stav-aktivni { background: #E3F6EC; color: #1F7A45; }
.gs-stav-splneno { background: #E6F0FF; color: #2156B8; }
.gs-stav-archiv  { background: #ECEAF2; color: #5B5966; }

/* Filtr tlačítka — pilulky */
.gs-seznamy-filtr { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.gs-filtr-btn {
    padding: 7px 16px; border-radius: 999px; border: 1px solid var(--gs-border);
    background: #fff; color: var(--gs-muted); font-weight: 600; font-size: 14px; cursor: pointer;
    transition: .15s;
}
.gs-filtr-btn:hover { border-color: var(--gs-accent); color: var(--gs-accent); }
.gs-filtr-btn.active { background: var(--gs-accent); color: #fff; border-color: var(--gs-accent); }

/* Přidání položky + našeptávač */
#gs-pridat-polozku { margin: 18px 0 8px; }
.gs-search-wrap { position: relative; display: flex; gap: 8px; align-items: flex-start; }
.gs-search-wrap #gs-polozka-search { flex: 1; }
.gs-qty { width: 80px !important; flex: 0 0 80px; text-align: center; }
.gs-search-hint { font-size: 12px; margin: 6px 2px 0; }

.gs-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 92px; /* nechá místo poli množství */
    background: #fff;
    border: 1px solid var(--gs-border);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(17,17,17,.12);
    max-height: 340px;
    overflow-y: auto;
    z-index: 50;
}
.gs-result-item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 14px; cursor: pointer; border-bottom: 1px solid #F4F2F8;
}
.gs-result-item:last-child { border-bottom: none; }
.gs-result-item:hover { background: var(--e-global-color-ecfd980, #F7F6F9); }
.gs-result-img {
    width: 42px; height: 42px; object-fit: cover; border-radius: 8px;
    border: 1px solid var(--gs-border); flex: 0 0 42px; background: #fff;
}
.gs-result-name { flex: 1; font-weight: 600; font-size: 14px; line-height: 1.3; }
.gs-result-oos { color: var(--gs-accent); font-weight: 400; font-size: 12px; }
.gs-result-price { color: var(--gs-muted); font-size: 13px; white-space: nowrap; }
.gs-result-empty { padding: 14px; color: var(--gs-muted); }

/* Tabulka položek (základ .gs-table je v tématu) */
.gs-polozky-table { margin-top: 14px; }
.gs-polozky-table .gs-qty { width: 70px !important; }
tr.gs-done td { text-decoration: line-through; opacity: .55; }
tr.gs-done .gs-smazat-polozku { text-decoration: none; opacity: 1; }
.gs-smazat-polozku {
    color: var(--gs-accent); font-size: 16px; cursor: pointer;
    background: none; border: none; line-height: 1; padding: 4px 8px; border-radius: 8px;
}
.gs-smazat-polozku:hover { background: rgba(255,55,107,.1); }

/* Akce v detailu */
.gs-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

.gs-loading { color: #9A98A4; font-style: italic; }

/* Přidat do nákupního seznamu (detail produktu) */
.gs-add-to-list { margin: 14px 0; }
.gs-atl-panel { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.gs-atl-select { min-width: 200px; flex: 1 1 200px; }
.gs-atl-qty { width: 72px; flex: 0 0 72px; }
.gs-atl-msg { flex-basis: 100%; margin: 4px 0 0; font-size: 14px; color: #1F9D55; }
