/* admin.css - admin-only pravidla vytazena ze style.css (Faze 1b) */

body.adm-view .wrap { max-width:1600px }
/* Nápovědní text pod poli - v backendu větší mezera nahoře (frontend zůstává na .sh 2px) */
body.adm-view .sh { margin-top:7px }

.defpwd-warn { display:flex; align-items:center; gap:12px; padding:13px 16px; margin-bottom:18px; border:1px solid #f17100; background:#FEF6EC; border-radius:var(--r2,10px); font-size:14px; color:#f17100 }
.defpwd-warn span { flex:1 }@media(max-width:640px){
 .defpwd-warn { flex-wrap:wrap }}



.adm-rez-ovl{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:200;opacity:0;pointer-events:none;transition:opacity .25s}
.adm-rez-ovl.open{opacity:1;pointer-events:auto}
.adm-rez-drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:100vw;background:var(--bg);z-index:201;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:-4px 0 28px rgba(0,0,0,.15);display:flex;flex-direction:column}
.adm-rez-drawer.open{transform:translateX(0)}
.ard-hdr{padding:18px 20px 15px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--bg)}
.ard-hdr-title{font-size:17px;font-weight:700;color:var(--tx)}
.ard-close{background:none;border:none;cursor:pointer;padding:5px 7px;color:var(--t3);font-size:20px;line-height:1;border-radius:6px;display:flex;align-items:center}
.ard-close:hover{background:var(--gg);color:var(--tx)}
.ard-body{padding:18px 20px 28px;flex:1;display:flex;flex-direction:column;gap:14px}
.tbl-ftr-sel { display:flex; flex-direction:column; gap:20px; min-width:0 }
.adm-toast { position:fixed; top:20px; right:20px; padding:14px 22px; background:#00a32a; color:#fff; font-size:15px; font-weight:600; border-radius:var(--r); z-index:99999; opacity:0; transform:translateX(60px); transition:opacity .3s, transform .3s cubic-bezier(.68,-.55,.265,1.55); pointer-events:none; display:flex; align-items:center; gap:8px }
.adm-toast.show { opacity:1; transform:translateX(0) }

.adm-tabs { display:flex; gap:6px; margin-bottom:28px; flex-wrap:wrap; padding:14px 0; width:100% }
.adm-tab { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:10px 16px; flex:1; background:var(--wh); border:1px solid var(--bd); border-radius:var(--r-btn); font-family:inherit; font-size:14px; font-weight:400; color:var(--t2); cursor:pointer; transition:all .15s; white-space:nowrap }
.adm-tab:hover { color:var(--tx); background:var(--c-bg); border-color:var(--b2) }
.adm-tab.active { background:var(--c-btn); border-color:var(--c-btn); color:#fff }
.adm-tab-locked { opacity:.45; cursor:not-allowed !important; pointer-events:none }
.adm-hdr { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px; margin-bottom:26px }
.adm-hdr .tab-card-title { margin-bottom:0 }
.adm-hdr-btns { display:flex; gap:8px }@media(min-width:641px) and (max-width:900px){

  .adm-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:6px 4px; padding:4px 0 }
  .adm-tab { flex:none; width:100%; justify-content:center }}

.adm-login { max-width:380px; margin:48px auto 0 }
.save-bar { display:flex; align-items:center; gap:14px; margin-top:26px; padding-top:0px; border-top:0px solid var(--bd) }
.save-ok { font-size:14px; color:var(--c-btn); font-weight:600; opacity:0; transition:opacity .3s; display:flex; align-items:center; gap:4px }
.save-ok.show { opacity:1 }
.ard-pr-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:5px 0;border-bottom:1px solid var(--bd)}
.ard-pr-row:last-child{border:none;font-size:15px;font-weight:600;padding-top:9px;margin-top:3px}

.logo-prev { position:relative; display:inline-flex; align-items:center; justify-content:center; background-color:var(--chk-bg,#fff); background-image:linear-gradient(45deg,var(--chk-sq,#d8d8d8) 25%,transparent 25%),linear-gradient(-45deg,var(--chk-sq,#d8d8d8) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--chk-sq,#d8d8d8) 75%),linear-gradient(-45deg,transparent 75%,var(--chk-sq,#d8d8d8) 75%); background-size:16px 16px; background-position:0 0,0 8px,8px -8px,-8px 0; opacity:1; border:1px solid var(--bd); border-radius:var(--r); margin-bottom:8px; min-height:64px; padding:16px; transition:background-color .2s }
.item-ed { background:var(--wh); border:1px solid var(--bd); border-radius:var(--r2); overflow:clip; transition: opacity .12s, transform .12s, margin .12s, border-color .12s; position: relative; }
.item-ed
.item-ed-head { display:flex; align-items:center; gap:9px; padding:13px 16px; background:var(--wh); border-bottom:0px solid var(--bd); cursor:pointer; user-select:none }

.item-ed-lbl-wrap { flex:1; min-width:0 }
.item-ed-lbl { font-size:15px; font-weight:600; color:var(--c-title) }
.item-ed-count { font-size:12px; color:var(--t3); margin-right:8px; flex-shrink:0 }
.item-ed-actions { display:flex; align-items:center; gap:6px; flex-shrink:0 }
.art-date-future { font-size:12px; color:var(--t3); white-space:nowrap; padding-right:12px }
/* tablet: datum pod nadpis (tlačítka zůstanou vpravo v řádku s nadpisem) */
@media (min-width:641px) and (max-width:1024px){ .item-ed-head{ flex-wrap:wrap } .item-ed-actions{ order:2 } .art-date-future{ order:3; flex-basis:100%; padding-right:0; margin-top:3px } }
/* mobil: datum nad tlačítka (vše nastohované) */
@media (max-width:640px){ .art-date-future{ order:2; flex-basis:100%; padding-right:0; margin-top:3px } .item-ed-actions{ order:3 } }
/* Štítky položky (editor) - piluky jako Vybavení v ubytovani */
.itags-wrap{display:flex;flex-wrap:wrap;gap:8px}
.itag-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--c-btn);border-radius:var(--r-btn);background:var(--c-btnp);color:var(--tx);font-size:13px;user-select:none}
.itag-ico{color:var(--c-btn);font-size:16px;display:inline-flex}
.itag-add{background:var(--c-bg);border-color:var(--bd);color:var(--t2);cursor:pointer}
.itag-add:hover{border-color:var(--b2)}
.itag-x{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--t3);cursor:pointer;font-size:15px;line-height:1;padding:0;margin-left:1px}
.itag-x:hover{color:var(--tx)}
.item-ed-body { padding:20px 18px; display:none }
.item-ed-body.open { display:block }

.etabs { display:flex; gap:6px; margin-bottom:20px; flex-wrap:wrap; padding:4px 0 }
.etab { display:inline-flex; align-items:center; gap:8px; padding:8px 16px; background:var(--wh); border:1px solid var(--bd); border-radius:var(--r-btn); font-family:inherit; font-size:14px; font-weight:400; color:var(--t2); cursor:pointer; transition:all .15s }
.etab:hover { color:var(--tx); background:var(--c-bg); border-color:var(--b2) }
.etab.active { background:var(--c-btn); border-color:var(--c-btn); color:#fff }
body.adm-view #social-links-front{display:none!important}
.swk { appearance:none; -webkit-appearance:none; flex-shrink:0; width:44px; height:24px; background:#ddd; border-radius:12px; position:relative; cursor:pointer; transition:background .2s; vertical-align:middle; margin:0 }
.swk::before { content:''; position:absolute; width:20px; height:20px; left:2px; top:2px; background:#fff; border-radius:50%; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.25) }
.swk:checked { background:var(--c-btn) }
.swk:checked::before { transform:translateX(20px) }

.rphoto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;margin-top:8px}
.rphoto{position:relative;width:100%;aspect-ratio:4/3;height:auto;border-radius:8px;overflow:hidden;border:1px solid var(--bd);cursor:grab;touch-action:none}
.rphoto:active{cursor:grabbing}
.rphoto img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.rphoto-x{position:absolute;top:2px;right:2px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2}
.rphoto.drag-source{border-style:dashed;opacity:.35}
.rphoto.drag-source img,.rphoto.drag-source .rphoto-x{visibility:hidden}
.rphoto-ghost{position:fixed;z-index:9999;pointer-events:none;width:84px;height:64px;border-radius:8px;overflow:hidden;border:1.5px solid var(--c-btn);box-shadow:0 4px 20px rgba(0,0,0,.22);opacity:.92}
.rphoto-ghost img{width:100%;height:100%;object-fit:cover;display:block}

.dropzone{border:2px dashed var(--bd);border-radius:var(--r2,10px);padding:22px 18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--gg,#eef2f7);margin-top:10px}
.dropzone:hover{border-color:var(--c-btn);background:var(--c-bg)}
.dropzone.drag{border-color:var(--c-btn);background:var(--c-btnp,var(--c-bg))}
.dropzone i{font-size:30px;color:var(--c-btn);display:block;margin-bottom:8px}
.dropzone .dz-main{font-size:14px;color:var(--tx);font-weight:500}
.dropzone .dz-main u{color:var(--c-btn);text-decoration:underline}
.dropzone .dz-sub{font-size:12px;color:var(--t3);margin-top:5px}

.gal-upprog { display:flex; align-items:center; gap:10px; margin-top:12px; padding:11px 14px; border:1px solid var(--bd); border-radius:10px; background:var(--c-btnp,#eef4ff); font-size:14px; font-weight:600; color:var(--c-title) }
.gal-up-spin { width:16px; height:16px; border:2px solid var(--bd); border-top-color:var(--c-btn); border-radius:50%; animation:galspin .7s linear infinite; flex-shrink:0 }@media (max-width:640px){

  .adm-hdr { flex-direction:column-reverse; gap:22px; margin-bottom:18px }
  .adm-hdr .btn-group { flex-direction:row }
  .adm-hdr-btns { display:grid !important; grid-template-columns:1fr 1fr; width:100% }
  .adm-hdr-btns .btn-out { justify-content:center }
  .adm-tabs { display:grid; grid-template-columns:repeat(2,1fr); gap:6px 4px; padding:4px 0; width:auto }
  .adm-tab { flex:none; width:100%; justify-content:center; padding:12px 12px; font-size:14px }
  .save-bar { flex-wrap:wrap; gap:10px }
  .item-ed-head { flex-wrap:wrap; gap:6px }
  .item-ed-count { width:100%; margin-right:0 !important; font-size:12px; color:var(--t3) }
  .item-ed-head .item-ed-tog,
  .item-ed-head .btn-out { flex:none }
  .item-ed-actions { flex-basis:100%; justify-content:flex-start; margin-top:2px }}


.tbl-hdr { display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--bd); background:var(--wh); flex-wrap:wrap }
.tbl-hdr-right { display:flex; align-items:center; gap:8px; flex-shrink:0; flex-wrap:wrap }
.tbl-ftr { display:grid; grid-template-columns:1fr auto; align-items:start; gap:12px; padding:12px 16px 12px 14px; border-top:1px solid var(--bd); background:var(--gg) }
.tbl-ftr .btn-group { flex-wrap:nowrap; align-self:start }
.tbl-rez td { padding:8px 10px; vertical-align:middle }
.tbl-rez td:first-child { padding-right:4px }@media(max-width:640px){

  .tbl-hdr { gap:8px }
  .tbl-hdr-right { width:100%; justify-content:stretch }
  .tbl-ftr { grid-template-columns:1fr; gap:10px }
  .tbl-ftr .btn-group { display:grid !important; grid-template-columns:1fr 1fr; width:100% }
  .tbl-ftr .btn-group .btn-out { justify-content:center; padding:11px 4px; font-size:14px; gap:6px }}


.item-ed-tog { border-radius:var(--r-btn); border:1px solid var(--bd); background:var(--wh); color:var(--tx); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .15s,background .15s; flex-shrink:0; padding:7px 13px; font-family:inherit; font-size:13px; font-weight:500 }
.item-ed-tog:hover { border-color:var(--b2); background:var(--gg) }
.item-ed-tog.tog-active { border-color:var(--c-btn); color:var(--c-btn); background:var(--c-btnp) }
.item-ed-tog.tog-danger.tog-active { border-color:var(--re); color:var(--re); background:var(--rp) }
.item-ed-hidden { opacity:0.5 }

.tbl-w { overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; display:block; scrollbar-width:thin; scrollbar-color:var(--bd) transparent }
.tbl-w::-webkit-scrollbar { height:6px }
.tbl-w::-webkit-scrollbar-track { background:transparent }
.tbl-w::-webkit-scrollbar-thumb { background:var(--bd); border-radius:3px }
.card:has(.tbl-w) { padding:0; overflow:hidden }

/* clip místo hidden: overflow-x:hidden na předkovi rozbíjí position:sticky (MCE toolbar), clip ne - parita s ubytovani */
.s-adm, #adm-dash { max-width:100%; overflow-x:clip }
#s-adm { overflow-x:clip }

.tab-card-title { font-size:22px; font-weight:700; color:var(--c-title); margin-bottom:16px; padding-bottom:0 }

.item-ed-soon-badge { display:inline-block; font-size:12px; font-weight:600; color:#f17100; background:#FEF6EC; padding:2px 10px; border:1px solid; border-radius:20px; margin-left:8px }

/* Ztmavení obrázku + barva ztmavení vedle sebe (desktop 50/25/25), na mobilu pod sebou */
.hero-dim-row { display:flex; gap:12px }
.hero-dim-row > div { flex:1; min-width:0 }
@media (max-width:640px){ .hero-dim-row { flex-direction:column } }

/* Jednotná výška všech formulářových polí v adminu. Nativní date/time/select si určují vnitřní
   výšku samy a .si (15px/9px) vs .date-input (16px/10px) se lišily - fixní height to srovná.
   Textarea schválně vynechaná (roste s obsahem). */
input.si, select.si, input.date-input, select.date-input { height:42px; box-sizing:border-box }

/* --- sbalitelne skupiny poli (zalozka Texty) --- */
.grp { border:1px solid var(--bd); border-radius:var(--r2); margin:0 0 12px; background:var(--wh) }
.grp:last-of-type { margin-bottom:0 }
.grp > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:15px 18px; border-radius:var(--r2); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--c-btn); -webkit-user-select:none; user-select:none; transition:background .15s }
.grp > summary::-webkit-details-marker { display:none }
.grp > summary::marker { content:"" }
.grp > summary:hover { background:var(--c-bg) }
.grp[open] > summary { border-bottom:1px solid var(--bd); border-radius:var(--r2) var(--r2) 0 0 }
.grp-chev { width:12px; height:12px; margin-left:auto; flex-shrink:0; opacity:.5; transition:transform .18s }
.grp[open] .grp-chev { transform:rotate(180deg) }
.grp-b { padding:18px }
.grp-b > .ss:first-child, .grp-b > .sg:first-child { margin-top:0 }
.grp-b > .sr:last-child, .grp-b > .sg:last-child { margin-bottom:0 }

@media (max-width:640px){
  .grp > summary { padding:14px }
  .grp-b { padding:14px }
}

/* Rezervace: zalamuje se jen nazev sluzby a misto konani. Cislo radku, zakaznik, kontakty,
   datum, cena a ostatni sloupce zustavaji na jednom radku (zakladni .tbl td je nowrap). */
.tbl.tbl-rez td[data-label="Rezervace"], .tbl.tbl-rez td[data-label="Místo"] { white-space:normal; overflow-wrap:anywhere; min-width:130px }
