/* Stejná paleta jako veřejný web — admin v tmavém tématu pro snadnou kontrolu */
:root {
    --pozadi:           #0a0a0a;
    --pozadi-svetlejsi: #141414;
    --pozadi-tmavsi:    #050505;
    --karta:            rgba(245,241,232,0.04);
    --text:             #f5f1e8;
    --text-tlumeny:     rgba(245,241,232,0.65);
    --text-jemny:       rgba(245,241,232,0.42);
    --linka:            rgba(245,241,232,0.16);
    --linka-svetla:     rgba(245,241,232,0.28);
    --akcent:           #d4a866;
    --akcent-svetly:    #e8c590;

    /* Legacy aliasy pro zpětnou kompatibilitu se starými pravidly */
    --tmava:  var(--pozadi-tmavsi);
    --hneda:  var(--akcent);
    --svetla: var(--pozadi);
    --papir:  var(--pozadi-svetlejsi);
    --zelena: var(--akcent);
}
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,Segoe UI,sans-serif; color:var(--text); background:var(--pozadi); }
a { color:inherit; }
.admin-layout { min-height:100vh; display:grid; grid-template-columns:250px 1fr; }
.admin-menu { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; gap:8px; padding:18px; background:#050505; color:var(--text); border-right:1px solid var(--linka); }
.admin-menu strong { font-size:1.2rem; color:var(--text); }
.admin-menu span { color:var(--text-tlumeny); font-size:.9rem; margin-bottom:10px; }
.admin-menu-logo { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.admin-menu-logo-link { display:inline-flex; align-items:center; padding:0 !important; background:none !important; }
.admin-menu-logo-link img { display:block; height:48px; width:auto; transition:opacity .2s; }
.admin-menu-logo-link:hover img { opacity:.85; }
.admin-menu-logo-edit { color:var(--text-tlumeny); padding:6px !important; opacity:.55; transition:opacity .2s, color .2s; border-radius:6px !important; }
.admin-menu-logo-edit:hover { opacity:1; color:var(--akcent); background:rgba(212,168,102,.1) !important; }
.admin-menu-logo-edit svg { display:block; }
.admin-menu a { text-decoration:none; padding:8px 12px; border-radius:8px; color:var(--text-tlumeny); font-size:.94rem; transition:color .2s, background .2s; }
.admin-menu a:hover { color:var(--text); background:rgba(245,241,232,.06); }
.admin-menu a.aktivni { color:var(--akcent); background:rgba(212,168,102,.12); }
.admin-menu-sekce {
    margin: 14px 12px 4px;
    font-size: .68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--text-jemny);
}
.admin-menu-sekce:first-of-type { margin-top: 6px; }
.admin-main { min-width:0; }
.admin-horni-menu { position:sticky; top:0; z-index:5; display:flex; gap:6px; flex-wrap:wrap; align-items:center; padding:12px 18px; background:var(--pozadi-svetlejsi); border-bottom:1px solid var(--linka); }
.admin-horni-menu a { text-decoration:none; padding:7px 11px; border-radius:6px; background:var(--karta); color:var(--text-tlumeny); font-weight:600; font-size:.86rem; transition:background .2s, color .2s; }
.admin-horni-menu a:hover { background:rgba(212,168,102,.12); color:var(--text); }
.admin-horni-menu a.aktivni { background:var(--akcent); color:var(--pozadi); }
.admin-horni-menu .web-odkaz { margin-left:auto; background:var(--akcent); color:var(--pozadi); font-weight:700; }
.admin-horni-menu .web-odkaz:hover { background:var(--akcent-svetly); }
.admin-horni-oddel { display:inline-block; width:1px; height:22px; background:var(--linka); margin:0 6px; }

/* Editovatelná tlačítka v horním menu — tužtička v rohu */
.admin-tlacitko-skupina { position:relative; display:inline-flex; align-items:center; }
.admin-horni-menu .admin-horni-tl { display:inline-flex; align-items:center; gap:6px; }
.admin-tlacitko-edit {
    position:absolute; top:-6px; right:-6px;
    width:18px; height:18px; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
    border:1px solid var(--linka); border-radius:50%;
    background:var(--pozadi); color:var(--text-tlumeny);
    cursor:pointer; opacity:0; transition:opacity .15s, color .15s, background .15s, border-color .15s;
    z-index:2;
}
.admin-tlacitko-skupina:hover .admin-tlacitko-edit,
.admin-tlacitko-edit:focus { opacity:1; }
.admin-tlacitko-edit:hover { color:var(--akcent); border-color:var(--akcent); background:var(--pozadi-svetlejsi); }
.admin-menu-edit-input {
    font:inherit; font-size:.86rem; font-weight:600;
    padding:6px 10px; border-radius:6px;
    background:var(--pozadi); color:var(--text);
    border:1px solid var(--akcent); outline:none;
    min-width:80px; max-width:240px;
}
.admin-tlacitko-skupina.je-ulozeno .admin-tlacitko-text { animation:tl-bliknuti .8s ease; }
.admin-tlacitko-skupina.ma-chybu .admin-tlacitko-text { color:#e07070; }
@keyframes tl-bliknuti {
    0% { background:rgba(212,168,102,.35); }
    100% { background:transparent; }
}

/* Dropdown "Kolo světů" v horní liště */
.admin-horni-skupina { position:relative; }
.admin-horni-skupina summary {
    list-style:none; cursor:pointer;
    padding:7px 11px; border-radius:6px; background:var(--karta);
    color:var(--text-tlumeny);
    font-weight:600; font-size:.86rem;
    user-select:none;
    display:inline-flex; align-items:center; gap:6px;
}
.admin-horni-skupina summary::-webkit-details-marker { display:none; }
.admin-horni-skupina summary:hover { background:rgba(212,168,102,.12); color:var(--text); }
.admin-horni-skupina[open] summary { background:var(--akcent); color:var(--pozadi); }
.admin-horni-skupina .sipka { font-size:.7rem; transition:transform .2s; }
.admin-horni-skupina[open] .sipka { transform:rotate(180deg); }
.admin-horni-dropdown {
    position:absolute; top:calc(100% + 4px); left:0;
    background:var(--pozadi-svetlejsi); border:1px solid var(--linka); border-radius:8px;
    box-shadow:0 12px 28px rgba(0,0,0,.5);
    padding:6px; display:flex; flex-direction:column; gap:2px;
    min-width:180px; z-index:20;
}
.admin-horni-dropdown a {
    padding:8px 12px !important; background:none !important;
    color:var(--text-tlumeny);
    border-radius:4px; text-align:left;
}
.admin-horni-dropdown a:hover { background:rgba(212,168,102,.12) !important; color:var(--text); }
.admin-horni-dropdown a.aktivni { background:var(--akcent) !important; color:var(--pozadi) !important; }

/* Skupina v levém sidebaru */
.admin-menu-skupina { margin-top:14px; }
.admin-menu-skupina summary {
    list-style:none; cursor:pointer;
    margin:0 12px 4px;
    font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em;
    color:rgba(255,247,236,.45);
    user-select:none;
    display:flex; align-items:center; gap:6px;
}
.admin-menu-skupina summary::-webkit-details-marker { display:none; }
.admin-menu-skupina summary::before { content:'▸'; font-size:.7rem; transition:transform .2s; display:inline-block; }
.admin-menu-skupina[open] summary::before { transform:rotate(90deg); }
.admin-menu-skupina summary:hover { color:rgba(255,247,236,.85); }
.admin-menu-skupina-obsah { display:flex; flex-direction:column; gap:2px; }

/* Sidebar — řádek světa s ikonkou */
.admin-svet-radek {
    display:flex !important; align-items:center; gap:10px;
    padding:7px 12px !important;
}
.admin-svet-ikonka {
    display:inline-grid; place-items:center;
    width:22px; height:22px;
    color:#d4a866;
    opacity:.75; transition:opacity .2s, color .2s;
}
.admin-svet-radek:hover .admin-svet-ikonka { opacity:1; color:#e8c590; }
.admin-svet-radek.aktivni .admin-svet-ikonka { opacity:1; color:#fff; }

/* === MINI KOLO v dropdown horní lišty === */
.kolo-mini-ikona { vertical-align:middle; opacity:.8; }
.kolo-dropdown {
    min-width:260px !important;
    padding:14px !important;
    align-items:center;
}
.admin-mini-kolo {
    width:220px; height:220px;
    display:block;
    margin:0 auto;
    overflow:visible;
}
.mini-segment { cursor:pointer; color:#3d2614; transition:color .2s; }
.mini-segment path {
    fill:rgba(122,74,43,0.06);
    stroke:rgba(122,74,43,0.18);
    stroke-width:0.8;
    transition:fill .2s, stroke .2s;
}
.mini-segment:hover { color:#7a4a2b; }
.mini-segment:hover path {
    fill:rgba(212,168,102,0.35);
    stroke:#7a4a2b;
    stroke-width:1.2;
}
.mini-segment.aktivni path {
    fill:rgba(122,74,43,0.85);
    stroke:#3d2614;
}
.mini-segment.aktivni { color:#fff7ec; }
.kolo-mini-popisek {
    text-align:center;
    margin:10px 0 0;
    font-size:.78rem;
    color:#7a6c5d;
    line-height:1.4;
    min-height:2.6em;
}

/* ============================================================
   ADMIN STRÁNKA: KOLO SVĚTŮ
   ============================================================ */
.kolo-admin-hlavicka { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.tlacitko-zelene { background:var(--zelena); color:white; padding:9px 16px; border-radius:6px; text-decoration:none; font-weight:600; }
.tlacitko-zelene:hover { background:#525e48; }

/* Sekce na stránce kola: vertikální stack — kolo → nastavení → seznam */
.kolo-admin-hlavicka + .panel,
.kolo-admin-hlavicka + p + .panel { margin-top:0; }
.admin-obsah > .panel + .panel { margin-top:18px; }

/* Náhled kola — vypadá jako na veřejném webu (tmavé pozadí) */
.panel.kolo-admin-nahled {
    padding:32px; display:flex; flex-direction:column; align-items:center; gap:16px;
    background:radial-gradient(ellipse at center, #1a1410 0%, #0a0807 70%) !important;
    border:1px solid #3a2a1a !important;
    box-shadow:inset 0 0 60px rgba(0,0,0,.5);
}
.kolo-admin-nahled-obal { position:relative; width:100%; max-width:520px; aspect-ratio:1/1; }
.kolo-admin-svg { width:100%; height:100%; display:block; overflow:visible; }
.kolo-admin-sipka {
    position:absolute; top:50%; right:-14px;
    transform:translateY(-50%) rotate(90deg);
    z-index:3; color:#d4a866; width:32px; height:32px;
    display:grid; place-items:center; pointer-events:none;
    filter:drop-shadow(0 4px 8px rgba(0,0,0,.6));
}
.kolo-admin-sipka svg { width:100%; height:100%; }

.kolo-admin-segment { cursor:pointer; color:#f5f1e8; }
.kolo-admin-vypln {
    fill:rgba(245,241,232,0.04);
    stroke:rgba(245,241,232,0.10); stroke-width:0.8;
    transition:fill .25s, stroke .25s;
}
.kolo-admin-segment:hover .kolo-admin-vypln { fill:rgba(212,168,102,0.22); stroke:#d4a866; }
.kolo-admin-segment:hover .kolo-admin-ikona { color:#e8c590; }
.kolo-admin-segment:hover .kolo-admin-text { fill:#e8c590; }
.kolo-admin-text {
    font-family:Inter,system-ui,sans-serif;
    font-size:11px; font-weight:500; letter-spacing:.04em;
    fill:rgba(245,241,232,.7); pointer-events:none; user-select:none;
    transition:fill .25s;
}

.kolo-admin-hint { color:var(--text-tlumeny); font-size:.86rem; text-align:center; margin:0; }
.kolo-admin-podtitulek { color:var(--text-tlumeny); font-size:.78rem; font-weight:400; margin-left:8px; text-transform:uppercase; letter-spacing:.14em; }

/* Náhled úvodu — kolo + text se závorkou (mřížka jako na webu) */
.kolo-admin-uvod-mrizka {
    display:grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap:32px;
    align-items:center;
    width:100%;
    max-width:980px;
}
@media (max-width:880px) {
    .kolo-admin-uvod-mrizka { grid-template-columns:1fr; }
}
.kolo-admin-svg-obal { position:relative; width:100%; max-width:520px; aspect-ratio:1/1; margin:0 auto; }
.kolo-admin-uvod-text {
    position:relative;
    padding-left:32px;
    color:var(--text);
    text-align:left;
}
.kolo-admin-zavorka {
    position:absolute;
    left:0; top:0;
    width:22px; height:100%;
    color:var(--akcent); opacity:.7;
    pointer-events:none;
}
.kolo-admin-h1 {
    font-family:'Fraunces', Georgia, serif;
    font-style:italic; font-weight:300;
    font-size:clamp(1.5rem, 2.6vw, 2.2rem);
    line-height:1.18;
    margin:0 0 14px;
    color:var(--text);
}
.kolo-admin-proza {
    color:var(--text-tlumeny);
    font-size:.9rem;
    line-height:1.55;
}
.kolo-admin-proza p { margin:0 0 .85em; }
.kolo-admin-proza p:last-child { margin-bottom:0; }
.kolo-admin-proza strong { color:var(--text); font-weight:500; }
/* Click-to-edit úvod — text vypadá jako na webu, klik = editovatelné */
.kolo-admin-h1, .kolo-admin-proza {
    cursor:text;
    border:1px dashed transparent;
    border-radius:4px;
    padding:4px 8px;
    margin-left:-8px; margin-right:-8px;
    transition:border-color .2s, background .2s;
    outline:none;
}
.kolo-admin-h1:hover, .kolo-admin-proza:hover {
    border-color:rgba(212,168,102,.35);
    background:rgba(212,168,102,.04);
}
.kolo-admin-h1.edituje, .kolo-admin-proza.edituje {
    border-color:var(--akcent) !important; border-style:solid;
    background:rgba(212,168,102,.06) !important;
    cursor:text;
}
.kolo-admin-h1.ulozeno, .kolo-admin-proza.ulozeno {
    border-color:#88b870; background:rgba(136,184,112,.08);
}
.kolo-admin-h1.chyba-ulozit, .kolo-admin-proza.chyba-ulozit {
    border-color:#c47474; background:rgba(196,75,75,.1);
}
.kolo-admin-uvod-info {
    color:var(--text-tlumeny); font-size:.78rem; margin-top:14px;
}

/* Stylování summary u kolo-admin-form details panelů */
.panel.kolo-admin-form { padding:14px 20px; }
.panel.kolo-admin-form > summary {
    list-style:none; cursor:pointer;
    padding:8px 0;
    font-size:1rem; user-select:none;
    display:flex; align-items:center; gap:10px;
    color:var(--text);
}
.panel.kolo-admin-form > summary::-webkit-details-marker { display:none; }
.panel.kolo-admin-form > summary::before {
    content:'▸'; color:var(--akcent); font-size:.8rem;
    transition:transform .2s; display:inline-block;
}
.panel.kolo-admin-form[open] > summary::before { transform:rotate(90deg); }
.panel.kolo-admin-form > summary small { color:var(--text-tlumeny); font-weight:400; font-size:.86rem; }

/* Form pod kolem — sliders ve sloupcích */
.kolo-admin-form { display:flex; flex-direction:column; gap:18px; margin-top:18px; }
.kolo-admin-form h2 {
    margin:0 0 6px; font-size:1.05rem;
    display:flex; align-items:center; gap:10px;
}
.kolo-admin-form-mrizka {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:18px;
}
.kolo-admin-form-mrizka label { display:flex; flex-direction:column; gap:6px; font-size:.9rem; }
.kolo-admin-form-mrizka label small { color:var(--text-jemny); font-size:.78rem; }
.kolo-admin-form .popisek-pole { font-weight:600; color:var(--akcent); }
.kolo-admin-form input[type=range] { width:100%; accent-color:var(--akcent); }
.kolo-admin-form output {
    font-family:monospace; font-size:.86rem;
    color:var(--akcent); background:var(--karta); padding:3px 9px; border-radius:4px;
    align-self:flex-start;
}
.kolo-admin-toggle { flex-direction:row !important; align-items:center; gap:10px; padding:12px; background:var(--karta); border:1px solid var(--linka); border-radius:6px; }
.kolo-admin-toggle small { display:block; color:var(--text-tlumeny); font-weight:400; font-size:.78rem; }
.kolo-admin-form-akce { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding-top:12px; border-top:1px solid var(--linka); margin-top:6px; }
.kolo-admin-form button.primarni { background:var(--akcent); color:var(--pozadi); border:none; padding:10px 20px; border-radius:6px; cursor:pointer; font-weight:600; }
.kolo-admin-form button.primarni:hover { background:var(--akcent-svetly); }
.kolo-admin-form button.sekundarni { background:transparent; color:var(--akcent); border:1px solid var(--linka); padding:10px 20px; border-radius:6px; cursor:pointer; font-weight:500; }
.kolo-admin-form button.sekundarni:hover { background:var(--karta); border-color:var(--akcent); }

/* Seznam světů — grid kachlí pod kolem */
.kolo-admin-svety-grid {
    display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    gap:12px; margin-top:14px;
}
.kolo-admin-svet-karta {
    display:flex; flex-direction:column; gap:8px;
    padding:14px;
    background:var(--karta); border:1px solid var(--linka); border-radius:8px;
    transition:border-color .2s, transform .2s, background .2s;
}
.kolo-admin-svet-karta:hover { border-color:var(--akcent); transform:translateY(-1px); background:rgba(212,168,102,.06); }
.ksk-hlavicka { display:flex; align-items:center; gap:10px; }
.ksk-cislo { font-family:monospace; font-size:.78rem; color:var(--text-jemny); min-width:22px; }
.ksk-ikonka { color:var(--akcent); display:grid; place-items:center; }
.ksk-hlavicka strong { font-size:1rem; color:var(--text); }
.ksk-podtitul { color:var(--text-tlumeny); font-size:.84rem; line-height:1.45; flex:1; min-height:2.5em; margin:0; }
.ksk-akce { display:flex; gap:6px; flex-wrap:wrap; }
.ksk-akce a {
    padding:7px 12px; border-radius:4px; text-decoration:none; font-size:.82rem; font-weight:500;
}
.ksk-akce a.primarni { background:var(--akcent); color:var(--pozadi); }
.ksk-akce a.primarni:hover { background:var(--akcent-svetly); }
.ksk-akce a.sekundarni { background:transparent; color:var(--akcent); border:1px solid var(--linka); }
.ksk-akce a.sekundarni:hover { background:rgba(212,168,102,.1); border-color:var(--akcent); }

.panel h2 .pocet {
    background:rgba(212,168,102,.18); color:var(--akcent);
    padding:2px 9px; border-radius:999px; font-size:.78rem; font-weight:700;
    margin-left:8px;
}

/* SEO sekce v editorech — rozbalovací */
.admin-seo {
    border:1px solid var(--linka); border-radius:6px;
    padding:0 14px;
    background:var(--karta);
    transition:padding .2s;
}
.admin-seo[open] { padding:0 14px 14px; }
.admin-seo summary {
    list-style:none; cursor:pointer;
    padding:12px 0;
    font-weight:600; font-size:.94rem; color:var(--akcent);
    user-select:none;
    display:flex; align-items:center; gap:8px;
}
.admin-seo summary::-webkit-details-marker { display:none; }
.admin-seo summary::before {
    content:'▸'; font-size:.78rem; color:var(--text-jemny);
    transition:transform .2s; display:inline-block;
}
.admin-seo[open] summary::before { transform:rotate(90deg); }
.admin-seo summary .hint {
    font-weight:400; font-size:.78rem; color:var(--text-jemny);
}
.admin-seo > label { display:flex; flex-direction:column; gap:6px; margin-bottom:10px; font-size:.88rem; }
.admin-seo > label:last-child { margin-bottom:0; }
.admin-obsah { padding:28px; }
.panel, .admin-karty > div { background:var(--pozadi-svetlejsi); border:1px solid var(--linka); border-radius:8px; padding:20px; box-shadow:0 10px 25px rgba(0,0,0,.4); color:var(--text); }
.admin-karty { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0; }
.admin-karty strong { display:block; font-size:2.2rem; }
.admin-dva { display:grid; grid-template-columns:minmax(260px,.38fr) minmax(0,1fr); gap:20px; align-items:start; }
.admin-form { display:grid; gap:14px; }
label { display:grid; gap:6px; font-weight:600; color:var(--text); }
input, textarea, select { width:100%; border:1px solid var(--linka); border-radius:6px; padding:10px 12px; font:inherit; background:var(--pozadi); color:var(--text); transition:border-color .2s; }
input:focus, textarea:focus, select:focus { outline:none; border-color:var(--akcent); }
textarea { min-height:80px; }
button, .mini { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:9px 14px; border:0; border-radius:6px; background:var(--akcent); color:var(--pozadi); font:inherit; font-weight:600; text-decoration:none; cursor:pointer; width:max-content; transition:background .2s; }
button:hover, .mini:hover { background:var(--akcent-svetly); }
.mini { min-height:34px; font-size:.9rem; }
.radek { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--linka); align-items:center; }
.radek a { font-weight:600; color:var(--text); }
.radek a:hover { color:var(--akcent); }
.radek span { color:var(--text-tlumeny); font-size:.88rem; }
.checkboxy { display:flex; flex-wrap:wrap; gap:10px; }
.checkboxy label, label:has(input[type="checkbox"]) { display:flex; align-items:center; gap:8px; font-weight:500; }
input[type="checkbox"] { width:auto; accent-color:var(--akcent); }
.ok { background:rgba(102,117,90,.18); color:#a8c590; padding:10px 12px; border-radius:6px; border:1px solid rgba(102,117,90,.4); }
.chyba { background:rgba(196,75,75,.18); color:#e8a0a0; padding:10px 12px; border-radius:6px; border:1px solid rgba(196,75,75,.4); }
h1, h2, h3, h4 { color:var(--text); }
small { color:var(--text-tlumeny); }

/* Pošta z webu — sbalený seznam zpráv s rozkliknutím detailu */
.zpravy-seznam { display:flex; flex-direction:column; gap:6px; margin-top:18px; }
.zprava {
    background: var(--karta);
    border:1px solid var(--linka);
    border-left:3px solid var(--akcent);
    border-radius:6px;
    overflow:hidden;
}
.zprava.vyrizeno { border-left-color: rgba(150,170,130,.5); opacity:.78; }
.zprava.vyrizeno .zprava-summary { color: var(--text-tlumeny); }

/* Sbalený řádek (summary) */
.zprava-summary {
    list-style:none;
    cursor:pointer;
    display:grid;
    grid-template-columns: 24px minmax(120px, 1fr) minmax(0, 2fr) auto;
    align-items:center;
    gap:14px;
    padding:10px 16px;
    user-select:none;
    transition: background .15s;
}
.zprava-summary::-webkit-details-marker { display:none; }
.zprava-summary:hover { background:rgba(255,255,255,.04); }
.zprava[open] .zprava-summary { border-bottom:1px solid var(--linka); background:rgba(255,255,255,.03); }

.zprava-stav-ikona { font-size:.95rem; text-align:center; }
.zprava-summary-od { font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.zprava-summary-preview {
    color:var(--text-tlumeny);
    font-size:.88rem;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.zprava-summary-datum {
    color:var(--text-jemny);
    font-size:.78rem; font-variant-numeric:tabular-nums;
    white-space:nowrap;
}

/* Rozbalený detail */
.zprava-detail { padding:14px 20px 18px; }
.zprava-hlavicka {
    display:flex; justify-content:space-between; align-items:flex-start;
    gap:16px; flex-wrap:wrap;
    margin-bottom:10px;
    padding-bottom:10px;
    border-bottom:1px solid var(--linka);
}
.zprava-od { display:flex; flex-direction:column; gap:2px; }
.zprava-od strong { font-size:1.05rem; }
.zprava-email { color:var(--akcent); text-decoration:none; font-size:.88rem; }
.zprava-email:hover { text-decoration:underline; }
.zprava-meta {
    display:flex; flex-direction:column; align-items:flex-end; gap:4px;
    font-size:.78rem;
}
.zprava-datum { color:var(--text); font-weight:600; }
.zprava-ip { color:var(--text-jemny); font-size:.72rem; font-family:monospace; }
.zprava-stitek-otevreno {
    background:rgba(212,168,102,.18);
    color:var(--akcent);
    padding:2px 8px; border-radius:999px;
    font-weight:600; font-size:.72rem;
    text-transform:uppercase; letter-spacing:.1em;
}
.zprava-stitek-vyrizeno {
    background:rgba(150,170,130,.18);
    color:#a8c590;
    padding:2px 8px; border-radius:999px;
    font-weight:600; font-size:.72rem;
    text-transform:uppercase; letter-spacing:.1em;
}
.zprava-text {
    color:var(--text);
    line-height:1.55;
    margin:0 0 14px;
    white-space:pre-wrap;
    word-wrap:break-word;
}
.zprava-vyridit {
    background:rgba(212,168,102,.05);
    border:1px solid rgba(212,168,102,.2);
    border-radius:6px;
    padding:12px;
    display:flex; flex-direction:column; gap:8px;
    margin-top:10px;
}
.zprava-vyridit label { display:flex; flex-direction:column; gap:4px; font-size:.85rem; color:var(--text-tlumeny); }
.zprava-vyridit textarea {
    background:rgba(0,0,0,.2);
    border:1px solid var(--linka);
    border-radius:4px;
    color:var(--text);
    padding:8px 12px;
    font-family:inherit;
    resize:vertical;
}
.zprava-vyridit textarea:focus { outline:none; border-color:var(--akcent); }
.zprava-vyridit button { align-self:flex-start; }
.zprava-vyrizeno-info {
    background:rgba(150,170,130,.08);
    border-left:3px solid #a8c590;
    padding:10px 14px;
    margin-top:8px;
    border-radius:0 6px 6px 0;
}
.zprava-vyrizeno-info strong { display:block; color:#a8c590; font-size:.88rem; margin-bottom:4px; }
.zprava-poznamka { margin:0; color:var(--text); line-height:1.5; white-space:pre-wrap; }
.zprava-akce { display:inline-block; margin-right:8px; margin-top:8px; }
.zprava-tlacitka { display:flex; gap:8px; margin-top:8px; }
.komentar-zdroj {
    color: var(--akcent);
    text-decoration: none;
    font-size: .78rem;
    border: 1px solid rgba(212,168,102,.3);
    padding: 2px 8px;
    border-radius: 999px;
}
.komentar-zdroj:hover { background: var(--akcent); color: #1a1410; }

/* Flash banner pro potvrzení akce v adminu */
.flash-banner {
    margin: 14px 0;
    padding: 14px 18px;
    border-radius: 8px;
    border-left: 4px solid var(--akcent);
    background: rgba(212,168,102,.1);
}
.flash-banner.flash-ok { border-left-color: #a8c590; background: rgba(150,170,130,.12); color: var(--text); }
.flash-banner.flash-chyba { border-left-color: #e8a0a0; background: rgba(196,75,75,.12); color: var(--text); }
.flash-banner > strong { display: block; margin-bottom: 6px; font-size: .95rem; }
.flash-detail { color: var(--text-tlumeny); font-size: .92rem; margin: 4px 0 10px; font-style: italic; }
.flash-odkazy { display: flex; gap: 10px; flex-wrap: wrap; }
.flash-odkazy .mini { font-size: .82rem; }
.tl-smazat { color:rgba(196,75,75,.9); }
.tl-smazat:hover { background:rgba(196,75,75,.15); }
.foto-form { max-width:980px; }
.crop-box { max-width:780px; min-height:240px; border:1px dashed var(--linka); border-radius:8px; display:grid; place-items:center; overflow:hidden; background:var(--karta); }
.crop-box img { max-width:100%; display:block; }
.crop-toolbar { display:flex; gap:8px; }
.foto-seznam { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; margin-top:18px; }
.foto-seznam img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.login { min-height:100vh; display:grid; place-items:center; background:radial-gradient(ellipse at center, #1a1410 0%, #0a0807 70%); }
.login-box { width:min(420px,92vw); display:grid; gap:14px; background:var(--pozadi-svetlejsi); padding:26px; border-radius:8px; border:1px solid var(--linka); }
@media (max-width:900px) {
    .admin-layout { grid-template-columns:1fr; }
    .admin-menu { position:static; height:auto; }
    .admin-dva, .admin-karty { grid-template-columns:1fr; }
    .admin-horni-menu .web-odkaz { margin-left:0; }
}

/* Galerie — editor popisků fotek */
.galerie-fotky-editor { display:flex; flex-direction:column; gap:18px; }
.gfe-toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 16px; background:var(--karta); border-radius:6px; }
.gfe-toolbar button { padding:9px 16px; border:1px solid var(--linka); background:var(--pozadi); color:var(--text); border-radius:6px; cursor:pointer; font-weight:500; }
.gfe-toolbar button.primarni { background:var(--akcent); color:var(--pozadi); border-color:var(--akcent); }
.gfe-toolbar button.primarni:hover { background:var(--akcent-svetly); }
.gfe-toolbar button.nebezpecne { background:transparent; color:#e8a0a0; border-color:rgba(196,75,75,.4); }
.gfe-toolbar button.nebezpecne:hover { background:rgba(196,75,75,.12); }
.gfe-info { margin-left:auto; color:var(--text-tlumeny); font-size:.92rem; }

.gfe-grid { display:flex; flex-direction:column; gap:14px; }
.gfe-radek {
    display:grid;
    grid-template-columns: 200px 1fr;
    gap:18px;
    padding:14px;
    background:var(--karta);
    border:1px solid var(--linka);
    border-radius:8px;
}
.gfe-foto { display:flex; flex-direction:column; gap:6px; }
.gfe-foto img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; display:block; }
.gfe-foto a { display:block; }
.gfe-smazat, .gfe-vybrat { display:flex; align-items:center; gap:6px; font-size:.86rem; cursor:pointer; }
.gfe-smazat { color:#e8a0a0; }
.gfe-vybrat { color:var(--text-tlumeny); }
.gfe-vybrat:has(input:checked) { color:var(--akcent); font-weight:600; }
.gfe-smazat input, .gfe-vybrat input { margin:0; accent-color:var(--akcent); }

.gfe-pole { display:grid; gap:10px; }
.gfe-pole label { display:grid; gap:4px; font-size:.84rem; color:var(--text-tlumeny); font-weight:500; }
.gfe-pole input, .gfe-pole textarea {
    padding:8px 10px;
    border:1px solid var(--linka);
    border-radius:6px;
    font:inherit;
    color:var(--text);
    background:var(--pozadi);
    width:100%;
}
.gfe-pole textarea { resize:vertical; min-height:60px; font-family:inherit; }
.gfe-radek-spod { display:grid; grid-template-columns:2fr 1fr auto; gap:10px; align-items:end; }
.gfe-cas { font-size:.78rem; color:var(--text-jemny); align-self:end; padding-bottom:9px; }

@media (max-width:760px) {
    .gfe-radek { grid-template-columns:1fr; }
    .gfe-foto { flex-direction:row; align-items:center; }
    .gfe-foto img { width:120px; }
    .gfe-radek-spod { grid-template-columns:1fr; }
}

/* ========================================================================
   Sjednocený sekce-pattern: jedna sekce pro Items + Kategorie
   ======================================================================== */

.sekce-zahlavi {
    display:flex; align-items:center; justify-content:space-between;
    gap:16px; flex-wrap:wrap;
    margin: 0 0 18px;
}
.sekce-zahlavi h1 { margin:0; font-size:1.7rem; }
.sekce-akce { display:flex; gap:8px; flex-wrap:wrap; }

.tl {
    display:inline-flex; align-items:center; justify-content:center;
    padding:9px 16px; border-radius:6px; border:1px solid transparent;
    font: inherit; font-weight:600; font-size:.92rem;
    text-decoration:none; cursor:pointer; min-height:38px;
    transition: background .18s, border-color .18s, color .18s;
    background:transparent; color:var(--text);
}
.tl.primarni { background:var(--akcent); color:var(--pozadi); border-color:var(--akcent); }
.tl.primarni:hover { background:var(--akcent-svetly); border-color:var(--akcent-svetly); }
.tl.sekundarni { background:transparent; color:var(--akcent); border-color:var(--linka); }
.tl.sekundarni:hover { background:rgba(212,168,102,.12); border-color:var(--akcent); }

/* Panel "Kategorie" — rozbalovací mřížka */
.panel-kategorie {
    background:var(--pozadi-svetlejsi);
    border:1px solid var(--linka);
    border-radius:8px;
    margin: 0 0 16px;
    overflow:hidden;
}
.panel-kategorie[open] { padding:18px 20px 20px; }
.panel-kategorie .hide-summary { display:none; }
.panel-kategorie > summary { display:none; }
.panel-kategorie > .hint { margin-top:14px; font-size:.86rem; color:var(--text-jemny); }
.panel-kategorie > .hint a { color:var(--akcent); }

.kategorie-mrizka {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap:10px;
}
.kategorie-karta {
    display:flex; align-items:center; gap:12px;
    padding:12px 14px;
    background:var(--karta);
    border:1px solid var(--linka);
    border-radius:7px;
    transition: border-color .18s, transform .18s;
}
.kategorie-karta:hover { border-color:var(--akcent); }
.kategorie-karta-ikona {
    width:36px; height:36px;
    display:grid; place-items:center;
    color:var(--akcent);
    background:rgba(212,168,102,.12);
    border-radius:6px; flex-shrink:0;
}
.kategorie-karta-info { display:flex; flex-direction:column; flex:1; min-width:0; }
.kategorie-karta-info strong { font-size:.92rem; color:var(--text); }
.kategorie-karta-info span { font-size:.78rem; color:var(--text-jemny); }
.kategorie-karta-akce { display:flex; flex-direction:column; gap:4px; }
.kategorie-karta-akce a {
    font-size:.74rem; padding:3px 8px; min-height:0;
    background:transparent; color:var(--text-tlumeny);
    border:1px solid var(--linka); border-radius:4px;
    text-decoration:none;
}
.kategorie-karta-akce a:hover { background:rgba(212,168,102,.1); color:var(--akcent); border-color:var(--akcent); }

/* Chip filtry */
.chip-filtry {
    display:flex; flex-wrap:wrap; gap:6px;
    margin: 0 0 18px;
    padding: 10px 14px;
    background:var(--karta);
    border-radius:8px;
}
.chip-filtry .chip {
    display:inline-flex; align-items:center; gap:6px;
    padding:6px 11px;
    border-radius:999px;
    background:transparent;
    border:1px solid var(--linka);
    color:var(--text-tlumeny);
    font-size:.84rem; font-weight:500;
    text-decoration:none;
    transition: all .18s;
}
.chip-filtry .chip:hover { border-color:var(--akcent); color:var(--text); }
.chip-filtry .chip.aktivni {
    background:var(--akcent); color:var(--pozadi);
    border-color:var(--akcent);
}
.chip-filtry .chip.prazdny { opacity:.5; }
.chip-filtry .chip.prazdny:hover { opacity:.85; }
.chip-pocet {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:18px; padding:0 6px; height:17px;
    background:rgba(255,255,255,.16); color:inherit;
    border-radius:999px; font-size:.7rem; font-weight:700;
}
.chip.aktivni .chip-pocet { background:rgba(0,0,0,.18); }

/* Seznam — vylepšený řádek se světy */
.radek.aktivni { background:rgba(212,168,102,.08); border-radius:6px; padding:10px 12px; margin: 4px -12px; }
.radek-titulek { display:flex; flex-direction:column; gap:4px; flex:1; min-width:0; text-decoration:none; }
.radek-titulek strong { font-size:.95rem; }
.radek-titulek small { color:var(--text-jemny); font-size:.78rem; }
.radek-svety { display:flex; flex-wrap:wrap; gap:4px; margin-top:3px; }
.mini-chip {
    display:inline-block;
    padding:1px 7px; border-radius:999px;
    background:rgba(212,168,102,.14); color:var(--akcent);
    font-size:.7rem; font-weight:600;
}
.prazdny { color:var(--text-jemny); font-style:italic; padding:14px 0; }

.admin-fieldset {
    border:1px solid var(--linka); border-radius:6px;
    padding:10px 14px; margin:0;
    background:var(--karta);
}
.admin-fieldset legend { padding:0 8px; font-size:.86rem; font-weight:600; color:var(--akcent); }
.admin-fieldset legend .hint { font-weight:400; color:var(--text-jemny); margin-left:6px; }

/* Picker — rozbalovací sekce s vyhledáváním a počítadlem vybraných */
.picker {
    border:1px solid var(--linka); border-radius:6px;
    padding:0; background:var(--karta);
    overflow:hidden;
}
.picker > summary {
    list-style:none;
    cursor:pointer;
    padding:12px 16px;
    display:flex; align-items:center; gap:10px;
    user-select:none;
    transition: background .15s;
}
.picker > summary::-webkit-details-marker { display:none; }
.picker > summary::before {
    content: "▸"; font-size:.85rem; color:var(--akcent);
    transition: transform .18s;
    display:inline-block;
}
.picker[open] > summary::before { transform: rotate(90deg); }
.picker > summary:hover { background:rgba(255,255,255,.04); }
.picker-label { font-size:.86rem; font-weight:600; color:var(--akcent); }
.picker-pocet {
    background: var(--akcent);
    color: #1a1410;
    font-size:.72rem; font-weight:700;
    padding: 1px 8px;
    border-radius:999px;
    min-width:20px; text-align:center;
}
.picker-pocet:empty::before, .picker-pocet:not([data-picker-pocet]):empty { content: "0"; }
.picker[data-picker]:not(:has([data-picker-pocet]:not(:empty))) .picker-pocet { background:rgba(255,255,255,.08); color:var(--text-tlumeny); }

.picker > p.hint, .picker > input.picker-hledani, .picker > .picker-seznam { margin:0; padding-left:16px; padding-right:16px; }
.picker-hledani {
    margin: 4px 0 8px;
    width:calc(100% - 32px); margin-left:16px; margin-right:16px;
    padding:8px 12px;
    background:rgba(0,0,0,.2);
    border:1px solid var(--linka);
    border-radius:4px;
    color:var(--text);
    font-size:.92rem;
}
.picker-hledani:focus { outline:none; border-color:var(--akcent); }
.picker-seznam {
    max-height:280px; overflow-y:auto;
    padding-top:6px; padding-bottom:12px;
    border-top:1px solid var(--linka);
    margin-top:4px;
}
.picker-seznam label.skryto { display:none; }
.picker-seznam label {
    flex:0 0 100%;
    padding:5px 8px;
    border-radius:3px;
    transition: background .12s;
}
.picker-seznam label:hover { background:rgba(255,255,255,.04); }
.picker-seznam label:has(input:checked) {
    background:rgba(212,168,102,.12);
    border-left:2px solid var(--akcent);
}

/* Typ-odznak v seznamu příspěvků (📝 článek / 🛠 výrobek) */
.typ-odznak {
    display:inline-block;
    width:24px; text-align:center;
    margin-right:4px;
    opacity:.85;
}

/* Detail výrobku — pole druh dřeva / rozměry / povrchová úprava vedle sebe */
.form-detaily {
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

/* Inline form pro přidání kategorie v panel-kategorie */
.kat-pridat-form {
    display:flex; gap:8px; margin-bottom:14px;
}
.kat-pridat-form input[type="text"] {
    flex:1; padding:9px 12px;
    border:1px solid var(--linka); border-radius:6px;
    background:var(--pozadi); color:var(--text);
}
.kat-pridat-form .tl { white-space:nowrap; }

/* CRUD akce v kategorie-karta (přidána forma smazat) */
.kategorie-karta-akce form { margin:0; }
.kategorie-karta-akce .mini.nebezpecne {
    color:#e8a0a0; border-color:rgba(196,75,75,.3);
}
.kategorie-karta-akce .mini.nebezpecne:hover {
    background:rgba(196,75,75,.12); color:#f0b8b8;
}

/* Galerie fotky grid v editoru galerie */
.galerie-fotky-form { margin-top:14px; }
.galerie-batch-bar {
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    padding:10px 14px;
    background:var(--karta);
    border-radius:6px;
    margin-bottom:12px;
}
.galerie-batch-bar .hint { margin-right:auto; color:var(--text-tlumeny); }
.galerie-batch-bar .tl {
    padding:7px 14px; min-height:32px; font-size:.86rem;
}

.galerie-fotky-grid {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap:12px;
    position:relative;
    transition: outline-color .2s, background .2s;
    outline:2px dashed transparent;
    outline-offset:6px;
    border-radius:6px;
}
.galerie-fotky-grid.drop-zone-active {
    outline-color:var(--akcent);
    background:rgba(212,168,102,.05);
}
.galerie-fotky-grid.uploading {
    opacity:.6; pointer-events:none;
}
/* Indikátor pozice vložení */
.drop-indikator {
    align-self:stretch;
    width:4px;
    background:var(--akcent);
    border-radius:2px;
    box-shadow:0 0 12px rgba(212,168,102,.6);
    animation: drop-blik 0.8s infinite alternate;
}
@keyframes drop-blik {
    from { opacity:.5; }
    to { opacity:1; }
}
.galerie-foto {
    position:relative;
    background:var(--karta);
    border:2px solid var(--linka);
    border-radius:8px;
    overflow:hidden;
    cursor:pointer;
    transition: border-color .15s;
    margin:0;
    display:block;
    aspect-ratio: 1 / 1;
}
.galerie-foto > img {
    width:100%; height:100%; object-fit:cover; display:block;
}
.galerie-foto:has(input[data-galerie-checkbox]:checked) {
    border-color:var(--akcent);
    box-shadow: 0 0 0 2px rgba(212,168,102,.4);
}
.galerie-foto.vychozi {
    border-color:var(--akcent);
    box-shadow: 0 0 0 2px rgba(212,168,102,.4);
}

/* Statistiky fotky (lajky / shlédnutí) v rohu */
.galerie-foto-stats {
    position:absolute; top:6px; left:6px;
    display:flex; gap:6px;
    z-index:2;
    pointer-events:none;
}
.galerie-foto-stats:empty { display:none; }
.galerie-foto-stats .stat-lajk, .galerie-foto-stats .stat-view {
    background:rgba(20,16,14,.78);
    color:#fff;
    padding:3px 8px;
    border-radius:999px;
    font-size:.7rem;
    font-weight:600;
    backdrop-filter: blur(4px);
}
.galerie-foto-stats .stat-lajk { color:#f0a0a8; }
.galerie-foto-stats .stat-view { color:#a0c0d8; }

/* Inline ikony „kde je fotka použita" — vlevo před popisem */
.galerie-foto-popis-radek {
    display:flex;
    align-items:center;
    gap:5px;
}
.galerie-foto-popis-radek .galerie-foto-popis {
    flex:1; min-width:0;
}
.vyuziti-ikona {
    display:inline-flex; align-items:center; justify-content:center;
    width:18px; height:18px;
    font-size:.78rem;
    line-height:1;
    text-decoration:none;
    border-radius:50%;
    background:rgba(212,168,102,.25);
    border:1px solid rgba(212,168,102,.55);
    flex-shrink:0;
    transition: background .15s, transform .15s;
}
.vyuziti-ikona:hover {
    background:var(--akcent);
    transform:scale(1.15);
}
.vyuziti-ikona.nepublikovano {
    opacity:.5;
    border-style:dashed;
}
/* Posun hvězdičky níž — overlap */
.galerie-foto:has(.galerie-foto-stats:not(:empty)) .foto-akce-vychozi {
    top:36px;
}
.galerie-foto input[type="checkbox"][data-galerie-checkbox] {
    position:absolute; top:10px; right:10px;
    width:22px; height:22px;
    accent-color:var(--akcent);
    cursor:pointer;
    z-index:3;
    background:rgba(255,255,255,.85);
    border-radius:3px;
}
/* Hvězdička výchozí — vlevo nahoře u galerie-foto */
.galerie-foto .foto-akce-vychozi {
    position:absolute; top:6px; left:6px;
    margin:0;
    z-index:3;
}
/* Smazat — vpravo nahoře, vedle (nebo na pozici) checkboxu */
.galerie-foto .foto-akce-smazat {
    position:absolute; top:6px; right:42px;
    margin:0;
    z-index:3;
}
/* Posun checkboxu o kus dál vpravo, aby se nepřekrýval s ✕ */
.galerie-foto input[type="checkbox"][data-galerie-checkbox] {
    right:8px;
}
.galerie-foto-meta {
    position:absolute; left:0; right:0; bottom:0;
    padding:5px 10px;
    background:rgba(20,16,14,.78);
    backdrop-filter: blur(4px);
    font-size:.74rem;
    color:#fff;
}
.galerie-foto-popis {
    display:block;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    cursor:text;
    min-height:1em;
    outline:none;
    border-radius:3px;
    transition: background .15s;
}
.galerie-foto-popis:hover { background:rgba(255,255,255,.12); }
.galerie-foto-popis.prazdny::before {
    content: attr(data-placeholder);
    color:rgba(255,255,255,.55);
    font-style:italic;
}
.galerie-foto-popis[contenteditable="true"] {
    white-space:normal; overflow:visible; text-overflow:unset;
    background:rgba(255,255,255,.18);
    box-shadow: 0 0 0 1px var(--akcent);
    cursor:text;
}
.galerie-foto-popis[contenteditable="true"]::before { display:none; }
.galerie-foto-popis.popis-uklada { opacity:.6; }
.galerie-foto-popis.popis-ok { box-shadow: 0 0 0 1px rgba(102,117,90,.7); }
.galerie-foto-popis.popis-chyba { box-shadow: 0 0 0 1px rgba(196,75,75,.8); }

/* Datum pořízení — pod popisem v overlay */
.galerie-foto-datum {
    display:block;
    margin-top:3px;
    font-size:.7rem;
    color:rgba(255,255,255,.7);
    cursor:pointer;
    border-radius:3px;
    padding:1px 3px;
    transition: background .15s;
}
.galerie-foto-datum:hover { background:rgba(255,255,255,.12); }
.galerie-foto-datum.prazdny::before {
    content: attr(data-placeholder);
    color:rgba(255,255,255,.4);
    font-style:italic;
}
.galerie-foto-datum.editing { background:rgba(255,255,255,.18); }
.galerie-foto-datum-input {
    background:rgba(255,255,255,.1);
    border:1px solid var(--akcent);
    border-radius:3px;
    padding:1px 4px;
    color:#fff;
    font-size:.7rem;
    width: 100%;
}
.galerie-foto-datum.popis-uklada { opacity:.6; }
.galerie-foto-datum.popis-ok { box-shadow: 0 0 0 1px rgba(102,117,90,.7); }
.galerie-foto-datum.popis-chyba { box-shadow: 0 0 0 1px rgba(196,75,75,.8); }

/* ========================================================================
   List-only seznam (tabulka) + samostatné editor view
   ======================================================================== */

.seznam-tabulka {
    background:var(--pozadi-svetlejsi);
    border:1px solid var(--linka);
    border-radius:8px;
    overflow:hidden;
}

.seznam-hlavicka, .seznam-radek {
    display:grid;
    grid-template-columns: 24px minmax(0, 1fr) 130px 130px 200px;
    align-items:center;
    gap:14px;
    padding:11px 18px;
}
.sl-handle {
    color:var(--text-jemny);
    font-size:1.1rem;
    cursor:grab;
    user-select:none;
    line-height:1;
    text-align:center;
}
.sl-handle:active { cursor:grabbing; }
.seznam-radek:hover .sl-handle { color:var(--akcent); }

/* Drag stavy */
.sl-ghost { opacity: 0.35; background: rgba(212,168,102,.18) !important; }
.sl-chosen { box-shadow: 0 6px 22px rgba(0,0,0,.45); z-index:2; }
.sl-drag { background: var(--karta) !important; }

/* Hlavička skupiny v seznamu galerií (rozdělení podle světů) */
.seznam-skupina-hlavicka {
    display:flex; align-items:center; gap:10px;
    padding:14px 18px 8px;
    border-top:1px solid var(--linka);
    margin-top:4px;
    color:var(--akcent);
    font-family:var(--serif);
    font-style:italic;
    font-size:1.05rem;
}
.seznam-skupina-hlavicka:first-child { border-top:0; margin-top:0; }
.seznam-skupina-ikona {
    width:26px; height:26px;
    display:grid; place-items:center;
    background:rgba(212,168,102,.1);
    border-radius:5px;
    flex-shrink:0;
}

/* Fotky grids — drag cursor */
.fotky-grid[data-sortable-fotky-clanku] .foto-karta,
.fotky-grid[data-sortable-fotky-vyrobku] .foto-karta,
.galerie-fotky-grid[data-sortable-fotky-galerie] .galerie-foto {
    cursor: grab;
}
.fotky-grid[data-sortable-fotky-clanku] .foto-karta:active,
.fotky-grid[data-sortable-fotky-vyrobku] .foto-karta:active,
.galerie-fotky-grid[data-sortable-fotky-galerie] .galerie-foto:active {
    cursor: grabbing;
}
/* zoom-in cursor pro lightbox má přednost na img */
.foto-karta[data-foto-nahled] img { cursor: zoom-in; }

[data-sortable-clanky] { transition: outline-color .25s; outline:2px solid transparent; outline-offset:-2px; border-radius:0 0 8px 8px; }
[data-sortable-clanky].sl-uklada { outline-color: rgba(212,168,102,.4); }
[data-sortable-clanky].sl-ok { outline-color: rgba(102,117,90,.6); }
[data-sortable-clanky].sl-chyba { outline-color: rgba(196,75,75,.7); }
.seznam-hlavicka {
    background:var(--karta);
    font-size:.78rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--text-jemny);
    border-bottom:1px solid var(--linka);
}
.seznam-radek {
    border-bottom:1px solid var(--linka);
    transition: background .15s;
}
.seznam-radek:last-child { border-bottom:0; }
.seznam-radek:hover { background:rgba(212,168,102,.05); }

.sl-titulek strong { display:block; font-size:.96rem; color:var(--text); margin-bottom:4px; }
.sl-titulek .radek-svety { display:flex; flex-wrap:wrap; gap:4px; }

/* Sloupec titulku s miniaturou (seznam výrobků/článků/galerií) */
.sl-titulek-foto {
    display:flex; align-items:center; gap:12px;
    min-width:0;
}
.sl-titulek-text {
    flex:1; min-width:0;
    display:flex; flex-direction:column; gap:3px;
}
.sl-titulek-foto strong {
    margin-bottom:0;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.sl-titulek-text small {
    color:var(--text-jemny); font-size:.78rem;
}
.sl-miniaturka {
    width:54px; height:54px;
    object-fit:cover;
    border-radius:6px;
    border:1px solid var(--linka);
    flex-shrink:0;
    display:block;
}
.sl-miniaturka-prazdna {
    display:grid; place-items:center;
    background:var(--karta);
    color:var(--text-jemny);
    font-size:1.4rem;
}
.sl-datum { color:var(--text-tlumeny); font-size:.86rem; }
.sl-stav { font-size:.84rem; }
.stav {
    display:inline-block;
    padding:3px 9px; border-radius:999px;
    font-size:.74rem; font-weight:600;
}
.stav-on { background:rgba(102,117,90,.18); color:#a8c590; }
.stav-off { background:rgba(212,168,102,.12); color:var(--akcent); opacity:.75; }

/* Toggle switch — Publikováno přímo v seznamu */
.toggle-switch {
    display:inline-flex; align-items:center; gap:8px;
    cursor:pointer; user-select:none;
    margin:0;
}
.toggle-switch input[type="checkbox"] {
    position:absolute;
    opacity:0;
    width:0; height:0;
    pointer-events:none;
}
.toggle-slider {
    width:34px; height:18px; border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid var(--linka);
    position:relative;
    transition: background .2s, border-color .2s;
    flex-shrink:0;
}
.toggle-slider::before {
    content:'';
    width:12px; height:12px; border-radius:50%;
    background:rgba(255,255,255,.7);
    position:absolute; top:2px; left:2px;
    transition: transform .2s, background .2s;
}
.toggle-switch input:checked + .toggle-slider {
    background:rgba(102,117,90,.4);
    border-color:rgba(102,117,90,.5);
}
.toggle-switch input:checked + .toggle-slider::before {
    transform:translateX(16px);
    background:#a8c590;
}
.toggle-label {
    font-size:.8rem;
    color:var(--text-tlumeny);
    font-weight:500;
}
.toggle-switch input:checked ~ .toggle-label {
    color:#a8c590;
    font-weight:600;
}
.toggle-switch:hover .toggle-slider { border-color:var(--akcent); }

/* Stavové reakce po AJAX */
.toggle-switch.toggle-uklada { opacity:.6; }
.toggle-switch.toggle-ok .toggle-slider { box-shadow:0 0 0 2px rgba(102,117,90,.5); }
.toggle-switch.toggle-chyba .toggle-slider { box-shadow:0 0 0 2px rgba(196,75,75,.6); background:rgba(196,75,75,.2)!important; }

/* Menší varianta (galerie — bez popisku) */
.toggle-switch.toggle-mensi .toggle-slider { width:28px; height:16px; }
.toggle-switch.toggle-mensi .toggle-slider::before { width:10px; height:10px; }
.toggle-switch.toggle-mensi input:checked + .toggle-slider::before { transform:translateX(12px); }

.sl-akce {
    display:flex; gap:6px; justify-content:flex-end; align-items:center;
}
.sl-akce .mini {
    min-height:30px; padding:5px 12px; font-size:.82rem;
    background:transparent; color:var(--text);
    border:1px solid var(--linka);
}
.sl-akce .mini:hover { background:rgba(212,168,102,.1); border-color:var(--akcent); color:var(--akcent); }
.sl-akce .mini.nebezpecne { color:#e8a0a0; border-color:rgba(196,75,75,.32); }
.sl-akce .mini.nebezpecne:hover { background:rgba(196,75,75,.12); border-color:rgba(196,75,75,.6); color:#f0b8b8; }
.sl-akce form { margin:0; }

/* Editor view */
.zpet-link {
    color:var(--text-tlumeny);
    font-size:.88rem;
    text-decoration:none;
    display:inline-block;
    margin-bottom:6px;
}
.zpet-link:hover { color:var(--akcent); }
.sekce-zahlavi:has(.zpet-link) { flex-direction:column; align-items:flex-start; gap:4px; }

.editor-clanku { max-width:920px; }
.form-rada {
    display:grid;
    grid-template-columns: 1fr 200px;
    gap:14px;
}
.form-akce {
    display:flex; gap:10px; padding-top:10px;
    border-top:1px solid var(--linka);
}
.check-jednorad {
    display:flex !important; flex-direction:row !important; align-items:center; gap:8px;
    font-weight:500;
}

@media (max-width: 760px) {
    .seznam-hlavicka, .seznam-radek {
        grid-template-columns: 24px 1fr auto;
    }
    .seznam-hlavicka .sl-datum, .seznam-hlavicka .sl-stav { display:none; }
    .seznam-radek .sl-datum, .seznam-radek .sl-stav {
        grid-column: 2 / -1;
        font-size:.78rem;
    }
    .sl-akce { grid-column: 3; grid-row: 1; }
    .form-rada { grid-template-columns:1fr; }
}

/* ========================================================================
   Fotky u článku — multi-upload + výběr výchozí
   ======================================================================== */

.fotky-fieldset { padding:14px 16px; }
.upload-pole {
    display:flex; align-items:center; justify-content:center;
    padding:18px;
    border:2px dashed var(--linka);
    border-radius:8px;
    background:var(--pozadi);
    cursor:pointer;
    transition: border-color .18s, background .18s;
    margin-bottom: 14px;
}
.upload-pole:hover, .upload-pole.drag-over {
    border-color:var(--akcent);
    background:rgba(212,168,102,.1);
}
.upload-pole.drag-over {
    border-style:solid;
    transform:scale(1.01);
}
.upload-pole.drag-over .upload-popisek::before {
    content:'⬇ ';
    font-size:1.2rem;
}
.upload-pole .upload-popisek {
    font-size:.92rem; color:var(--text-tlumeny); font-weight:500;
}
.upload-pole input[type="file"] {
    width:100%; opacity:0; position:absolute; cursor:pointer;
}
/* trick: input je translucentní, label je flexbox přes celou plochu */
.upload-pole { position:relative; }

.fotky-grid {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap:10px;
}
.foto-karta {
    position:relative;
    background:var(--karta);
    border:2px solid var(--linka);
    border-radius:8px;
    overflow:hidden;
    aspect-ratio: 1 / 1;
    transition: border-color .18s, transform .18s;
}
.foto-karta:hover { border-color:var(--akcent); }
.foto-karta.vychozi {
    border-color:var(--akcent);
    box-shadow: 0 0 0 2px rgba(212,168,102,.4);
}
.foto-karta img {
    width:100%; height:100%; object-fit:cover; display:block;
}

/* Výchozí pilulka — vlevo nahoře */
.foto-vychozi {
    position:absolute; top:8px; left:8px;
    background:rgba(20,16,14,.82);
    color:#fff;
    padding:5px 10px; border-radius:999px;
    font-size:.74rem; font-weight:600;
    cursor:pointer;
    display:flex; align-items:center; gap:5px;
    backdrop-filter: blur(4px);
    transition: background .18s;
    margin:0;
}
.foto-vychozi:hover { background:rgba(40,32,28,.92); }
.foto-vychozi input { width:auto; margin:0; accent-color:var(--akcent); }
.foto-karta.vychozi .foto-vychozi {
    background:var(--akcent); color:var(--pozadi);
}

/* Sekce Fotky pod editorem článku (instant akce, mimo hlavní form) */
.fotky-sekce { margin-top:18px; }
.fotky-sekce-zahlavi {
    display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
    margin-bottom:14px;
}
.fotky-sekce-zahlavi h2 { margin:0; font-size:1.1rem; }
.fotky-sekce-zahlavi .hint { font-size:.82rem; color:var(--text-jemny); }

.upload-form { margin-bottom:14px; }
.upload-form .upload-pole { margin-bottom:0; }
.upload-pole .upload-popisek small {
    display:block; font-weight:400; font-size:.78rem;
    color:var(--text-jemny); margin-top:3px;
}

/* Per-fotka instant akce: hvězdička výchozí (vlevo nahoře), × smazat (vpravo nahoře) */
.foto-akce-vychozi, .foto-akce-smazat {
    position:absolute; margin:0;
}
.foto-akce-vychozi { top:6px; left:6px; }
.foto-akce-smazat { top:6px; right:6px; }

.foto-tl-vychozi, .foto-tl-smazat {
    width:30px; height:30px; padding:0; min-height:0;
    border-radius:50%;
    border:0;
    display:grid; place-items:center;
    background:rgba(20,16,14,.78);
    color:#fff;
    cursor:pointer;
    backdrop-filter: blur(4px);
    transition: background .15s, color .15s, transform .15s;
}
.foto-tl-vychozi:hover { background:rgba(40,32,28,.92); color:var(--akcent); transform:scale(1.08); }
.foto-tl-vychozi.aktivni { background:var(--akcent); color:var(--pozadi); }
.foto-tl-vychozi.aktivni:hover { background:var(--akcent-svetly); }

.foto-tl-smazat { color:#e8a0a0; }
.foto-tl-smazat:hover { background:rgba(180,50,50,.9); color:#fff; transform:scale(1.08); }

/* Edit tlačítko — vpravo nahoře, vedle smazat */
.foto-tl-edit {
    position:absolute; top:6px; right:42px;
    width:30px; height:30px; padding:0; min-height:0;
    border-radius:50%;
    border:0;
    display:grid; place-items:center;
    background:rgba(20,16,14,.78);
    color:#fff;
    cursor:pointer;
    backdrop-filter: blur(4px);
    transition: background .15s, color .15s, transform .15s;
}
.foto-tl-edit:hover { background:rgba(40,32,28,.92); color:var(--akcent); transform:scale(1.08); }

/* Lightbox — velký náhled fotky v adminu */
.foto-lightbox {
    position:fixed; inset:0; z-index:9998;
    background:rgba(0,0,0,0.92);
    display:grid; place-items:center;
    padding:32px;
    cursor:zoom-out;
}
.foto-lightbox[hidden] { display:none; }
.foto-lightbox img {
    max-width:94vw; max-height:86vh;
    object-fit:contain;
    box-shadow:0 30px 80px rgba(0,0,0,.7);
    border-radius:4px;
    cursor:default;
    transition: opacity .18s;
}
.foto-lightbox-zavrit, .foto-lightbox-prev, .foto-lightbox-next, .foto-lightbox-smazat {
    position:absolute;
    background:rgba(255,255,255,.12);
    color:#fff;
    border:0; border-radius:50%;
    cursor:pointer;
    backdrop-filter: blur(8px);
    transition: background .15s, transform .15s;
    padding:0;
}
.foto-lightbox-zavrit {
    top:18px; right:24px;
    width:42px; height:42px;
    font-size:1.6rem; line-height:1;
    min-height:0;
}
.foto-lightbox-smazat {
    top:18px; right:74px;
    width:42px; height:42px;
    display:grid; place-items:center;
    min-height:0;
}
.foto-lightbox-smazat:hover {
    background:rgba(196,75,75,.85);
    transform:scale(1.06);
}
.foto-lightbox-prev, .foto-lightbox-next {
    top:50%; transform:translateY(-50%);
    width:54px; height:54px;
    font-size:2.6rem; line-height:1;
    min-height:0;
    display:grid; place-items:center;
}
.foto-lightbox-prev { left:24px; }
.foto-lightbox-next { right:24px; }
.foto-lightbox-zavrit:hover { background:rgba(255,255,255,.25); transform:scale(1.06); }
.foto-lightbox-prev:hover, .foto-lightbox-next:hover {
    background:rgba(255,255,255,.25);
    transform:translateY(-50%) scale(1.06);
}
.foto-lightbox-paticka {
    position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
    display:flex; align-items:center; gap:12px;
    color:#fff; font-size:.86rem;
    background:rgba(0,0,0,.55); padding:6px 14px; border-radius:999px;
    backdrop-filter: blur(4px);
    pointer-events:none;
    max-width:90vw;
}
.foto-lightbox-counter {
    font-weight:600;
    color:rgba(255,255,255,.75);
}
.foto-lightbox-counter:empty { display:none; }
.foto-lightbox-meta:empty { display:none; }
.foto-lightbox-paticka:has(.foto-lightbox-counter:empty):has(.foto-lightbox-meta:empty) { display:none; }

@media (max-width:600px) {
    .foto-lightbox-prev, .foto-lightbox-next { width:42px; height:42px; font-size:2rem; }
    .foto-lightbox-prev { left:8px; }
    .foto-lightbox-next { right:8px; }
    .foto-lightbox-smazat { right:58px; width:38px; height:38px; }
    .foto-lightbox-zavrit { width:38px; height:38px; }
}

/* fotka v editoru má cursor zoom-in */
.foto-karta[data-foto-nahled] img { cursor:zoom-in; }

/* Modal foto editor */
.modal-foto-editor {
    position:fixed; inset:0; z-index:9999;
    background:rgba(0,0,0,0.85);
    display:grid; place-items:center;
    padding:20px;
}
.modal-foto-editor[hidden] { display:none; }
.modal-foto-editor-obsah {
    background:var(--pozadi-svetlejsi);
    border:1px solid var(--linka);
    border-radius:8px;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    max-width:1100px; width:100%;
    max-height:92vh;
    display:flex; flex-direction:column;
}
.modal-foto-editor-zahlavi {
    padding:14px 22px;
    border-bottom:1px solid var(--linka);
    display:flex; align-items:center; justify-content:space-between;
}
.modal-foto-editor-zahlavi h3 { margin:0; font-size:1.05rem; }
.modal-zavrit {
    background:transparent; border:0;
    color:var(--text-tlumeny);
    font-size:1.6rem; line-height:1;
    cursor:pointer;
    width:auto; min-height:auto; padding:0 8px;
}
.modal-zavrit:hover { color:var(--text); }
.modal-foto-editor-body {
    padding:14px 22px;
    flex:1; overflow:auto;
    display:flex; flex-direction:column; gap:14px;
}
.cropper-obal {
    max-height:62vh;
    background:#000;
    border-radius:6px;
    overflow:hidden;
    display:grid; place-items:center;
}
.cropper-obal img {
    display:block; max-width:100%;
    max-height:62vh;
}
.modal-foto-editor-toolbar {
    display:flex; gap:6px; flex-wrap:wrap; align-items:center;
}
.modal-foto-editor-toolbar .tl {
    padding:6px 12px; min-height:32px; font-size:.84rem;
}
.modal-foto-editor-toolbar .toolbar-label {
    font-size:.84rem; color:var(--text-tlumeny); font-weight:600;
    margin-right:4px;
}
.modal-foto-editor-toolbar .toolbar-oddel {
    width:1px; height:22px; background:var(--linka);
    margin:0 6px;
}
.modal-foto-editor-toolbar .ratio-tl {
    padding:6px 10px; min-width:46px;
}
.modal-foto-editor-toolbar .ratio-tl.aktivni {
    background:var(--akcent); color:var(--pozadi);
    border-color:var(--akcent);
}
.modal-foto-editor-paticka {
    padding:14px 22px;
    border-top:1px solid var(--linka);
    display:flex; gap:10px; justify-content:flex-end; align-items:center;
}
.modal-foto-editor-info {
    margin-right:auto;
    color:var(--text-tlumeny);
    font-size:.86rem;
    font-weight:500;
}
.modal-foto-editor-pole {
    display:grid; gap:10px;
    margin-top:14px;
    padding:12px 14px;
    background:var(--karta);
    border-radius:6px;
}
.modal-foto-editor-pole label {
    display:grid; gap:5px; font-size:.84rem; font-weight:500;
}
.modal-foto-editor-pole textarea, .modal-foto-editor-pole input {
    padding:6px 10px;
    border:1px solid var(--linka);
    border-radius:5px;
    background:var(--pozadi);
    color:var(--text);
    font:inherit;
}
.modal-foto-editor-pole textarea { min-height:50px; resize:vertical; }

/* "Výchozí" štítek dole (pro odlišení i bez hover) */
.foto-stitek-vychozi {
    position:absolute; bottom:6px; left:6px;
    background:var(--akcent); color:var(--pozadi);
    padding:3px 9px; border-radius:999px;
    font-size:.72rem; font-weight:700;
    letter-spacing:.02em;
}

/* Statistiky overlay v rohu fotky v adminu */
.foto-stats-overlay {
    position:absolute; bottom:6px; right:6px;
    display:flex; gap:4px;
    pointer-events:none;
    z-index:2;
}
.foto-stats-overlay .foto-stat-l, .foto-stats-overlay .foto-stat-v {
    background:rgba(20,16,14,.78);
    backdrop-filter: blur(4px);
    padding:2px 7px;
    border-radius:999px;
    font-size:.68rem;
    font-weight:600;
}
.foto-stats-overlay .foto-stat-l { color:#f0a0a8; }
.foto-stats-overlay .foto-stat-v { color:#cce4f0; }

/* Picker fotek z galerie (výrobek) */
.fotky-akce-rada {
    display:flex; gap:10px; align-items:stretch; margin-bottom:14px;
    flex-wrap:wrap;
}
.fotky-akce-rada .upload-form { flex:1; min-width:280px; margin:0; }
.fotky-akce-rada .picker-toggle { white-space:nowrap; }

.panel-picker { padding:14px 16px; }
.panel-picker[open] { padding:14px 16px 18px; }
.picker-filter-form {
    display:flex; gap:10px; align-items:flex-end;
    margin-bottom:12px;
    padding-bottom:12px;
    border-bottom:1px solid var(--linka);
}
.picker-filter-form label {
    display:grid; gap:5px; font-size:.86rem; font-weight:500;
    color:var(--text-tlumeny); flex:1; max-width:280px;
}

.picker-grid {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap:8px;
    max-height:480px;
    overflow-y:auto;
    padding:4px;
    background:var(--pozadi);
    border-radius:6px;
}

.picker-foto {
    position:relative;
    aspect-ratio: 1 / 1;
    border-radius:6px;
    overflow:hidden;
    cursor:pointer;
    border:2px solid transparent;
    transition: border-color .15s, transform .15s;
    margin:0;
}
.picker-foto:hover { border-color:var(--akcent); transform:scale(1.02); }
.picker-foto img { width:100%; height:100%; object-fit:cover; display:block; }
.picker-foto input[type="checkbox"] {
    position:absolute; top:6px; left:6px;
    width:18px; height:18px;
    accent-color:var(--akcent);
    cursor:pointer;
    z-index:2;
}
.picker-foto:has(input:checked) {
    border-color:var(--akcent);
    box-shadow: 0 0 0 2px rgba(212,168,102,.5);
}
.picker-foto.pripojeno {
    opacity:.4; cursor:not-allowed;
}
.picker-foto.pripojeno img { filter: grayscale(.5); }
.picker-stitek {
    position:absolute; top:6px; right:6px;
    background:rgba(20,16,14,.85); color:#fff;
    padding:2px 7px; border-radius:999px;
    font-size:.66rem; font-weight:600;
}
.picker-galerie {
    position:absolute; bottom:0; left:0; right:0;
    background:rgba(20,16,14,.78);
    color:#fff;
    padding:3px 6px;
    font-size:.68rem;
    text-align:center;
    backdrop-filter: blur(2px);
}

.picker-akce {
    display:flex; gap:14px; align-items:center;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--linka);
}


/* Menu badge u položek sidebaru (čekající komentáře) */
.menu-badge {
    display: inline-flex; align-items: center; justify-content: center;
    background: #c44b4b;
    color: #fff;
    font-weight: 700; font-size: 0.72rem;
    min-width: 20px; height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    margin-left: 8px;
    vertical-align: middle;
    animation: menu-badge-puls 2s ease-in-out infinite;
}
@keyframes menu-badge-puls {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.78; }
}
