:root {
  --gr:#00a278; --gr2:#008c67; --grp:#eaf7f3; --grm:#bde7d7;
  --nv:#0f3066; --tx:#182231; --t2:var(--tx); --t3:#7e93a8;
  --bg:#f2f5f9; --wh:#fff; --bd:#dce3ec; --b2:#c4cedb;
  --gg:#edf0f4; --gt:#9aaab8; --re:#d91700; --rp:#fdf2f0;
  --r:6px; --r2:10px; --r-btn:8px;
  /* user palette */
  --c-hdr:#0f3066; --c-bg:#f2f5f9; --c-title:#0f3066;
  --c-btn:#00a278; --c-btn2:#008c67; --c-btnp:#eaf7f3; --c-btnm:#bde7d7;
  --c-ico:#00a278; --c-hdr-txt:#ffffff;
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; overflow-wrap:break-word }
html { scroll-behavior:smooth }
body {
  font-family: Helvetica, Arial, 'Helvetica Neue', sans-serif;
  font-size: 18px; line-height: 1.7;
  color: var(--tx); background: var(--c-bg);
  min-height: 100vh; -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.hdr {
  background: var(--c-hdr);
  height: 68px; padding: 0 36px;
  display: flex; align-items: center;
  position: sticky; top: 0; z-index: 100;
}
.hdr-logo-wrap { height: 36px; display:flex; align-items:center; flex-shrink:0 }
.hdr-logo-wrap img { height:36px; object-fit:contain; max-width:180px }
.hdr-sep { width:1px; height:36px; background:rgba(255,255,255,.2); margin:0 22px; flex-shrink:0 }
.hdr-sep.has-logo { margin:0 12px }
.hdr-name { font-size:16px; font-weight:500; color:var(--c-hdr-txt, rgba(255,255,255,.85)); line-height:1.4em }
.hdr-hidden { display:none !important }
.hdr-static { position:static !important }

.wrap { max-width:1300px; margin:0 auto; padding:38px 28px 30px; overflow-x:clip }/* clip, ne hidden - hidden láme position:sticky uvnitř (MCE toolbar), parita s ubytovani */

.ev-hdr { padding:22px 0 0px }/* Upozornění na výchozí heslo (Nástěnka) */
body.has-hero .ev-hdr { padding-top: 6px }
.ev-desc { font-size:16px; color:var(--t2); line-height:1.7; margin-top:30px; margin-bottom:30px; max-width:100%; word-break:break-word; overflow-x:auto }
body.has-hero .ev-desc { margin-top: 30px; margin-bottom: 0 }
.ev-title { font-size:32px; font-weight:700; color:var(--c-title); letter-spacing:-.02em; margin-top:0; margin-bottom:24px; line-height:1.2 }
.ev-sub { font-size:18px; color:var(--c-title); margin-bottom:22px; line-height:1.5 }
.ev-meta { display:block; margin-top:8px; overflow-wrap:break-word }
.ev-meta-row { display:flex; flex-wrap:wrap; gap:8px 22px; align-items:center }
.ev-meta-item { display:inline-flex; align-items:center; gap:10px; color:var(--tx); text-decoration:none; font-size:15px; line-height:1.4 }
.ev-meta-item i { font-size:22px; flex-shrink:0; color:var(--t3) }
a.ev-meta-item span { text-decoration:underline }
a.ev-meta-item:hover span { text-decoration:none }@media(max-width:640px){ .ev-meta-row { flex-direction:column; align-items:flex-start; gap:10px }}
.ev-sep { color:var(--b2); font-size:18px }
.ev-desc { font-size:16px; color:var(--t2); line-height:1.7; margin-top:30px; margin-bottom:30px; max-width:100%; word-break:break-word; overflow-x:auto }
.ev-desc > * { max-width:100%; box-sizing:border-box }
.ev-desc a { color:var(--c-btn); text-decoration:underline }
.ev-desc a:hover { text-decoration:none }
.gdpr-page a { color:var(--c-btn); text-decoration:underline }
.gdpr-page a:hover { text-decoration:none }
/* Číslované a odrážkové seznamy na frontendu (popis, články, GDPR) - jako rezervace-ubytovani */
.ev-desc ul, .gdpr-page ul { list-style:none; padding-left:0; margin:6px 0 12px }
.ev-desc ul li, .gdpr-page ul li { position:relative; padding-left:36px; margin-bottom:6px }
.ev-desc ul li::before, .gdpr-page ul li::before { content:''; position:absolute; left:calc(0.75em - 4px); top:0.62em; width:8px; height:8px; border-radius:50%; background:var(--c-title) }
.ev-desc ol, .gdpr-page ol { list-style:none; counter-reset:evd-ol; padding-left:0; margin:6px 0 12px }
.ev-desc ol li, .gdpr-page ol li { counter-increment:evd-ol; position:relative; padding-left:36px; margin-bottom:10px }
.ev-desc ol li::before, .gdpr-page ol li::before { content:counter(evd-ol); position:absolute; left:0; top:0.2em; width:1.7em; height:1.7em; border-radius:50%; text-align:center; line-height:1.7em; font-size:0.80em; color:#ffffff; background-color:var(--c-title); font-weight:500 }
/* Oddělovače + tabulky na frontendu (popis, články, GDPR) - jako rezervace-ubytovani */
.ev-desc hr, .gdpr-page hr { border:none; border-top:1px solid currentColor; opacity:.2; margin:2em auto }
.ev-desc table, .gdpr-page table { border-collapse:collapse !important; width:100%; margin:22px 0; font-size:15px; line-height:1.5 }
.ev-desc table td, .ev-desc table th, .gdpr-page table td, .gdpr-page table th { border:none !important; border-bottom:1px solid var(--bd) !important; padding:11px 14px !important; text-align:left; vertical-align:top }
.ev-desc table tr:first-child td, .ev-desc table tr:first-child th, .gdpr-page table tr:first-child td, .gdpr-page table tr:first-child th { border-top:1px solid var(--bd) !important }
.ev-desc table tr:hover td, .ev-desc table tr:hover th, .gdpr-page table tr:hover td, .gdpr-page table tr:hover th { background:var(--gg) }
@media(max-width:640px){
  .ev-desc table, .gdpr-page table, .ev-desc table tbody, .gdpr-page table tbody, .ev-desc table tr, .gdpr-page table tr, .ev-desc table td, .ev-desc table th, .gdpr-page table td, .gdpr-page table th { display:block; width:100% }
  .ev-desc table tr, .gdpr-page table tr { border-bottom:2px solid var(--bd) !important; padding:8px 0 }
  .ev-desc table td, .ev-desc table th, .gdpr-page table td, .gdpr-page table th { border:none !important; padding:3px 2px !important }
  .ev-desc table tr:first-child td, .ev-desc table tr:first-child th, .gdpr-page table tr:first-child td, .gdpr-page table tr:first-child th { border-top:none !important }
  .ev-desc table tr:hover td, .ev-desc table tr:hover th, .gdpr-page table tr:hover td, .gdpr-page table tr:hover th { background:transparent }
}

.stepbar {
  display:flex; align-items:center;
  background:var(--wh); border:1px solid var(--bd); border-radius:var(--r2);
  height:62px; padding:0 28px; margin-bottom:48px;
}
.step { display:flex; align-items:center; gap:9px; cursor:default; border-radius:var(--r); padding:4px 7px; margin:-4px -7px; transition:background .15s }
.step.done { cursor:pointer } .step.done:hover { background:var(--c-btnp) }
.step-n { width:32px; height:32px; border-radius:50%; border:1.5px solid var(--b2); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:var(--t3); background:var(--wh); flex-shrink:0; transition:all .22s }
.step-lbl { 
  font-size:14px; 
  font-weight:500; 
  color:var(--t3); 
  transition:color .22s;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.3;
  max-width:200px;
}
.step.active .step-n { background:var(--c-btn); border-color:var(--c-btn); color:#fff }
.step.active .step-lbl { color:var(--c-btn); font-weight:600 }
.step.done .step-n { background:var(--c-btn); border-color:var(--c-btn); color:#fff }
.step.done .step-lbl { color:var(--c-btn) }
.step-ln { flex:1; height:1px; background:var(--bd); margin:0 12px; min-width:10px; transition:background .3s }
.step-ln.done { background:var(--c-btn) }

.ptitle { font-size:26px; font-weight:700; color:var(--c-title); letter-spacing:-.01em; margin-bottom:20px; line-height:1.25 }
.psub { font-size:17px; color:var(--t2); margin-bottom:24px; line-height:1.6 }

.item-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:20px; margin-top:40px }
.item-grid.iv-grid { grid-template-columns:repeat(2,1fr) }
.item-grid.iv-list { grid-template-columns:1fr }
.item-card { background:var(--wh); border:1px solid var(--bd); border-radius:var(--r2); padding:32px; display:flex; flex-direction:column; cursor:pointer; transition:border-color .18s }
a.item-card { color:inherit; text-decoration:none }
.item-card:hover:not(.full) { border-color:var(--c-btn); box-shadow:0 8px 24px rgba(15,48,102,.10) }
.item-card:hover:not(.full) .item-name { text-decoration:underline }
.item-card.full { opacity:.52; cursor:not-allowed }
.item-card.soon { cursor:not-allowed }

.item-card { position:relative; overflow:hidden }
/* Náhledová fotka na kartě (místo ikony) - vysazená k okrajům karty */
.item-photo { margin:-32px -32px 24px; line-height:0 }
.item-photo img { width:100%; height:350px; object-fit:cover; display:block }
@media(max-width:1023px){ .item-photo img { height:230px } }
/* List view s fotkou = fotka 240px vlevo přes celou výšku karty (jako ubytovani), obsah vpravo */
.item-grid.iv-list .item-card:has(.item-photo){display:grid;grid-template-columns:240px 1fr;align-items:stretch;padding:0;gap:0;overflow:hidden}
.item-grid.iv-list .item-card:has(.item-photo) .item-photo{grid-column:1;grid-row:1/span 99;margin:0;width:240px;height:100%;border-radius:0}
.item-grid.iv-list .item-card:has(.item-photo) .item-photo img{width:100%;height:100%;object-fit:cover;display:block}
.item-grid.iv-list .item-card:has(.item-photo) > :not(.item-photo){grid-column:2}
.item-grid.iv-list .item-card:has(.item-photo) .item-name{padding:26px 30px 0}
.item-grid.iv-list .item-card:has(.item-photo) .item-desc{padding:8px 30px 0}
.item-grid.iv-list .item-card:has(.item-photo) .item-note{padding:6px 30px 0}
.item-grid.iv-list .item-card:has(.item-photo) .item-meta{padding:10px 30px 0}
.item-grid.iv-list .item-card:has(.item-photo) .item-btn{margin:16px 30px 26px auto;padding:13px 26px;width:auto}
@media(max-width:640px){.item-grid.iv-list .item-card:has(.item-photo){grid-template-columns:1fr}.item-grid.iv-list .item-card:has(.item-photo) .item-photo{grid-column:1;grid-row:auto;width:100%;height:200px}.item-grid.iv-list .item-card:has(.item-photo) > :not(.item-photo){grid-column:1}}
.soon-ribbon { position:absolute; top:16px; right:-28px; width:120px; text-align:center; transform:rotate(45deg); background:var(--c-btn); color:#fff; font-size:13px; font-weight:700; letter-spacing:.04em; padding:5px 0; pointer-events:none; z-index:2 }
.tag.item-ico { width:56px; height:56px; display:flex; align-items:center; justify-content:center; color:var(--c-ico); flex-shrink:0 }
.item-name { font-size:19px; font-weight:700; color:var(--c-title); margin-bottom:14px; line-height:1.3; word-break:break-word }
.item-desc { font-size:15px; color:var(--t2); line-height:1.65; flex:1; margin-bottom:14px; word-break:break-word }
.item-note { font-size:13px; color:var(--t3); font-style:italic; line-height:1.5; margin-bottom:14px; word-break:break-word }
.item-meta { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:30px }
.tag { display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:600; padding:3px 10px; border-radius:var(--r-btn); white-space:nowrap }
.t-nv { background:#ecf0f7; color:var(--c-title) }
.t-gr { background:var(--c-btnp); color:var(--c-btn) }
.t-gy { background:var(--gg); color:var(--gt) }
.item-btn { display:block; text-align:center; width:100%; padding:15px 20px; background:var(--c-btn); color:#fff; border:none; border-radius:var(--r-btn); font-family:inherit; font-size:15px; font-weight:600; transition:background .2s; margin-top:auto; pointer-events:none }
.item-btn-dis { background:var(--gg) !important; color:var(--gt) !important }
.item-card:hover:not(.full) .item-btn { background:var(--c-btn2) }/* Zobrazení služeb = „Řádky": vodorovný řádek (ikona vlevo, název + tlačítko, popis pod tím) */

.item-grid.iv-list .item-card { flex-flow:row wrap; align-items:center; column-gap:28px; row-gap:8px; padding:26px 30px }
.item-grid.iv-list .item-ico { margin-bottom:0; order:0 }
.item-grid.iv-list .item-ico i { margin-bottom:0 !important }
.item-grid.iv-list .item-name { order:1; flex:1 1 220px; margin-bottom:0 }
.item-grid.iv-list .item-btn { order:6; flex:0 0 auto; width:auto; margin-top:16px; margin-left:auto; white-space:nowrap; padding:13px 26px }
.item-grid.iv-list .item-desc { order:3; flex:1 1 100%; margin-bottom:0 }
.item-grid.iv-list .item-note { order:4; flex:1 1 100%; margin-bottom:0 }
.item-grid.iv-list .item-meta { order:5; flex:1 1 100%; margin-bottom:0; margin-top:2px }

.screen-card { background:var(--wh); border-radius:var(--r2); padding:52px }

.back-row { margin-bottom:30px }
.btn-back { display:inline-flex; align-items:center; gap:7px; font-family:inherit; font-size:15px; font-weight:500; color:var(--t2); background:var(--wh); border:1px solid var(--bd); border-radius:var(--r-btn); padding:9px 16px; cursor:pointer; text-decoration:none; transition:border-color .15s,color .15s }
.btn-back:hover { border-color:var(--b2); color:var(--tx); text-decoration:none }
.aco-back { margin-bottom:26px }/* ── Formulář: grid + fakturace (firemní údaje) + ARES ── */


.fgrid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px }
.fgrid .frow { margin-bottom:0 }
.frow-check { display:flex; align-items:center; gap:10px; cursor:pointer; font-size:14px; font-weight:500; color:var(--t2); margin-bottom:20px }
.frow-check input[type=checkbox] { width:18px; height:18px; flex-shrink:0; accent-color:var(--c-btn); cursor:pointer }
.ares-loading { color:var(--t3) }
.ares-ok { color:var(--c-btn) }
.ares-err { color:#fff; background:#E91E63; border-radius:var(--r); padding:8px 12px }
.frow-half { max-width:calc(50% - 8px) }
.ares-row { display:flex; gap:10px; align-items:stretch }
.ares-row .finput { flex:1; min-width:0 }
.ares-btn { flex:0 0 auto; white-space:nowrap }/* ── Drawer: ruční přidání rezervace (jako rezervace-ubytovani) ── *//* ── Nástěnka: detaily v řádku, patička, toast (dle ubytování) ── */


.billing-detail-btn { background:none; border:none; padding:0; cursor:pointer; color:var(--tx); font-size:11px; font-family:inherit; font-weight:400; text-decoration:underline; text-align:left }
.billing-detail-btn:hover { text-decoration:none }
.name-addr-btn { background:none; border:none; padding:0; cursor:pointer; font-weight:600; font-size:13px; color:var(--tx); text-decoration:underline; font-family:inherit; text-align:left }
.name-addr-btn:hover { text-decoration:none }
.msg-icon-btn:hover, .adm-note-btn:hover, .resend-btn:hover { background:var(--gg) }
.sel-bar-btns { display:flex; gap:8px; flex-wrap:wrap }
.savebar { display:none; position:fixed; bottom:0; left:0; right:0; z-index:9999; background:var(--wh,#fff); border-top:1px solid var(--bd); padding:12px 24px; align-items:center; gap:12px; box-shadow:0 -2px 12px rgba(0,0,0,.08) }
.savebar.show { display:flex }
.savebar-msg { flex:1; font-size:14px; color:var(--t2,#555) }@media(max-width:600px){ .sel-bar-btns { display:grid; grid-template-columns:1fr; width:100%; gap:6px } .sel-bar-btns .btn-out { justify-content:center }}@media(max-width:560px){ .fgrid{grid-template-columns:1fr} .frow-half{max-width:none} .ares-row{flex-wrap:wrap} .ares-btn{width:100%}}

.s2-title-row { margin-bottom:24px }
.s2-title-row .ptitle { margin-bottom:0 }
#s2-item-detail .ptitle { margin-bottom:6px }
#s2-item-detail .psub { font-size:15px; margin-bottom:10px }

.date-tabs-wrap { margin-bottom:20px }
.date-tabs-label { display:block; font-size:18px; font-weight:700; color:var(--tx); margin-bottom:12px }
.date-strip-outer { position:relative; display:flex; align-items:center; gap:0 }
.date-strip-scroll { display:flex; gap:8px; overflow-x:auto; scroll-behavior:smooth; padding:4px 2px 8px; scrollbar-width:none; -ms-overflow-style:none; flex:1; min-width:0 }
.date-strip-scroll::-webkit-scrollbar { display:none }
.date-strip-fade-l { left:32px; background:linear-gradient(to right, var(--c-bg,#f2f5f9), transparent) }
.date-strip-fade-r { right:32px; background:linear-gradient(to left, var(--c-bg,#f2f5f9), transparent) }
.date-strip-arrow { flex-shrink:0; width:32px; height:32px; border:1.5px solid var(--bd); border-radius:50%; background:var(--wh); color:var(--t2); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .15s; z-index:3 }
.date-strip-arrow:hover { border-color:var(--c-btn); color:var(--c-btn); background:var(--c-btnp) }
.date-strip-arrow:disabled { opacity:.3; cursor:default; pointer-events:none }
.dt-tab { flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:2px; padding:10px 16px; border:1.5px solid var(--bd); border-radius:var(--r); background:var(--wh); font-family:inherit; cursor:pointer; transition:all .15s; white-space:nowrap; min-width:80px }
.dt-tab:hover:not(.active) { border-color:var(--c-btn); background:var(--c-btnp) }
.dt-tab.active { background:var(--c-btn); border-color:var(--c-btn); color:#fff }
.dt-tab-day { font-size:15px; font-weight:700; line-height:1.2 }
.dt-tab-date { font-size:14px; font-weight:400; opacity:1; line-height:1.2 }

.slots-legend { display:flex; gap:16px; margin-top:0; margin-bottom:14px; flex-wrap:wrap }
.leg { display:flex; align-items:center; gap:6px; font-size:14px; color:var(--t2) }
.leg-dot { width:12px; height:12px; border-radius:3px; flex-shrink:0 }
.ld-f { border:1.5px solid var(--c-btn); background:var(--wh) }
.ld-s { background:var(--c-btn) }
.ld-t { background:var(--gg); border:1.5px solid var(--bd) }
.tblock { margin-bottom:22px }
.tblock-hd { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--t3); margin-bottom:10px }
.slots-grid-pub { display:grid; gap:12px }
.slots-grid-pub.slots-grid-times { grid-template-columns:repeat(6,1fr) }
.slots-grid-pub.slots-grid-runs { grid-template-columns:repeat(4,1fr) }
.slot-pub { padding:11px 4px; text-align:center; font-family:inherit; font-size:13px; font-weight:600; border:1.5px solid var(--bd); border-radius:var(--r); background:var(--wh); color:var(--tx); cursor:pointer; transition:all .15s; line-height:1 }
.slot-pub:hover:not(:disabled):not(.taken):not(.sel) { border-color:var(--c-btn); color:var(--c-btn); background:var(--c-btnp) }
.slot-pub.sel { background:var(--c-btn); border-color:var(--c-btn); color:#fff }
.slot-pub.taken { background:var(--gg); border-color:var(--bd); color:var(--gt); cursor:not-allowed; font-weight:400 }

.btn { display:inline-flex; align-items:center; gap:9px; padding:15px 28px; background:var(--c-btn); color:#fff; border:none; border-radius:var(--r-btn); font-family:inherit; font-size:15px; font-weight:500; cursor:pointer; transition:background .2s; line-height:1 }
.btn:hover:not(:disabled) { background:var(--c-btn2) }
.btn:disabled { background:var(--gg); color:var(--gt); cursor:not-allowed }/* In-app dialogy + toast */


.ui-modal-ov{position:fixed;inset:0;background:rgb(0 0 0 / 50%);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.ui-modal{background:var(--wh,#fff);border-radius:var(--r2,14px);padding:24px 26px;max-width:430px;width:100%;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.ui-modal-t{font-size:18px;font-weight:700;color:var(--c-title,#0f3066);margin-bottom:8px}
.ui-modal-m{font-size:14px;color:var(--t2,#555);line-height:1.55;white-space:pre-line}
.ui-modal-cb{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;color:var(--tx,#1a1a1a);cursor:pointer}
.ui-modal-cb input{width:18px;height:18px;accent-color:var(--c-btn,#1d9e75);cursor:pointer;flex-shrink:0}
.ui-modal-f{margin-top:16px}
.ui-modal-f+.ui-modal-f{margin-top:12px}
.ui-modal-f .sl{display:block;margin-bottom:6px}
.ui-modal-f .sh{margin-top:6px}
.ui-modal-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}
.ui-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-16px);background:var(--c-title,#0f3066);color:#fff;padding:12px 22px;border-radius:10px;font-size:14px;font-weight:500;z-index:10001;opacity:0;transition:opacity .25s,transform .25s;box-shadow:0 10px 34px rgba(0,0,0,.22);max-width:90vw;text-align:center}
.ui-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.ui-toast-ok{background:var(--c-btn)}
.ui-toast-err{background:var(--re,#d91700)}
.btn-lg { padding:24px 36px; font-size:15px }
.aco-cont{width:100%;justify-content:center;margin-top:18px}
.btn-out { display:inline-flex; align-items:center; gap:7px; padding:9px 16px; background:var(--wh); color:var(--tx); border:1px solid var(--bd); border-radius:var(--r-btn); font-family:inherit; font-size:14px; font-weight:500; cursor:pointer; transition:border-color .15s,background .15s }
.btn-out:hover { border-color:var(--b2); background:var(--c-bg) }
.btn-danger-flat { background:var(--re); border:1px solid var(--re); color:#fff }
.btn-danger-flat:hover,.btn-out.btn-danger-flat:hover { background:var(--re); border-color:var(--re); color:#fff }
.btn-del { }
.btn-del:hover { }
.btn-sm { padding:7px 13px; font-size:13px }
.btn-group { display:flex; gap:8px; flex-wrap:wrap }

.summary { margin-bottom:26px }
.sum-ttl { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--t3); margin-bottom:12px }
.sum-row { display:flex; gap:16px; font-size:16px; padding:10px 0; border-bottom:1px solid var(--bd); line-height:1.5; overflow-wrap:break-word }
.sum-row:last-child { border-bottom:none }
.sum-l { color:var(--t3); width:80px; flex-shrink:0 }
.sum-v { color:var(--tx); font-weight:600; flex:1; min-width:0; word-break:break-word }

.frow { margin-bottom:20px }
.flabel { display:block; font-size:16px; font-weight:600; color:var(--tx); margin-bottom:7px }
.book-coupon .flabel { font-size:18px }
.req { color:var(--c-btn); margin-left:2px }
.finput { width:100%; padding:12px 16px; border:1.5px solid var(--bd); border-radius:var(--r); font-family:inherit; font-size:17px; color:var(--tx); background:var(--wh); outline:none; -webkit-appearance:none; transition:border-color .15s }
.finput:focus { border-color:var(--c-btn) }
/* Rozbalovací select (.finput potlačuje nativní šipku přes -webkit-appearance:none) - vlastní šipka */
.fhint { margin-top:5px; font-size:13px; color:var(--t3) }
.gdpr { display:flex; align-items:flex-start; gap:12px; padding:14px 0; margin-bottom:24px }
.gdpr input[type=checkbox] { width:20px; height:20px; margin-top:2px; flex-shrink:0; accent-color:var(--c-btn); cursor:pointer }
.gdpr label, .gdpr span { font-size:15px; color:var(--t2); line-height:1.65; cursor:pointer }
.gdpr a { color:var(--c-btn); text-decoration:underline }
.gdpr a:hover { text-decoration:none }

.alert-e { background:#E91E63; border:1px solid #E91E63; border-radius:var(--r); padding:13px 17px; font-size:15px; color:#fff; margin-bottom:20px; display:flex; align-items:center; gap:10px }
.info-row { display:flex; align-items:flex-start; gap:11px; background:var(--gg); border:1px solid var(--bd); border-radius:var(--r); padding:13px 17px; font-size:15px; color:var(--t2); line-height:1.6 }

.center-card { background:var(--wh); border:1px solid var(--bd); border-radius:var(--r2); padding:52px 36px; text-align:center }
.circ { width:60px; height:60px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 22px }
.circ-gr { background:var(--c-btnp); color:var(--c-btn) }
.circ-gy { background:var(--gg); color:var(--gt) }
.ctitle { font-size:26px; font-weight:700; color:var(--c-title); margin-bottom:24px; padding-top:6px }
.csub { font-size:17px; color:var(--t2); max-width:460px; margin:0 auto 24px; line-height:1.65 }
.ok-det { max-width:420px; margin:0 auto 24px; text-align:left }
.stats-g { display:grid; grid-template-columns:1fr; gap:11px; margin-bottom:20px }@media(min-width:600px) and (max-width:1023px){ .stats-g { grid-template-columns:repeat(2,1fr) }}@media(min-width:1024px){ .stats-g { grid-template-columns:repeat(3,1fr) }}@media(min-width:600px){ .stats-g.stats-kpi { grid-template-columns:repeat(2,1fr) }}@media(min-width:1024px){ .stats-g.stats-kpi { grid-template-columns:repeat(4,1fr) }}
.stats-grid-half { display:grid; grid-template-columns:1fr 1fr; gap:12px }@media(max-width:640px){ .stats-grid-half { grid-template-columns:1fr }}
.stats-sc::-webkit-scrollbar { height:3px }
.stats-sc::-webkit-scrollbar-track { background:transparent }
.stats-sc::-webkit-scrollbar-thumb { background:rgba(0,0,0,0.15); border-radius:3px }
.stats-sc { scrollbar-width:thin; scrollbar-color:rgba(0,0,0,0.15) transparent }
.stat { background:var(--wh); border:1px solid var(--bd); border-radius:var(--r); padding:25px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center }
.stat-n { font-size:26px; font-weight:700; color:var(--c-title); line-height:1.1 }
.stat-l { font-size:12px; color:var(--t3); margin-top:3px }

.tbl { width:100%; border-collapse:collapse; font-size:14px; min-width:640px }
.tbl th { background:var(--gg); color:var(--c-title); padding:9px 10px; text-align:left; font-weight:600; font-size:12px; white-space:nowrap; border-bottom:1px solid var(--bd) }
.th-sort:hover { background:var(--bd); color:var(--c-btn) }
.sort-ico { display:inline-block; line-height:0; vertical-align:middle }
.tbl td { padding:9px 10px; border-bottom:1px solid var(--bd); vertical-align:middle; white-space:nowrap }
.tbl tr:last-child td { border-bottom:none }
.tbl tr:hover td { background:var(--c-bg) }
.tbl a { color:var(--c-btn); text-decoration:none }
.card { background:var(--wh); border:1px solid var(--bd); border-radius:var(--r2); padding:26px; margin-bottom:20px }

.ss { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--c-btn); margin:26px 0 13px; padding-bottom:9px; border-bottom:1px solid var(--bd) }
.ss:first-child { margin-top:0 }
.sg { display:grid; grid-template-columns:1fr 1fr; gap:14px }
.sr { display:flex; flex-direction:column; gap:5px }
.sl { font-size:14px; font-weight:600; color:var(--tx) }
.sh { font-size:12px; color:var(--t3); margin-top:2px }
/* Selecty: misto nativni sipky prohlizece jednotny chevron (stejny jako lupa v .si-search).
   Selektor ma vyssi specificitu nez .si/.tbl-sel/.mce-vars, takze jejich shorthand background
   obrazek neprebije; vicenasobne selecty (multiple/size) sipku nemaji. */
select:not([multiple]):not([size]) { appearance:none; -webkit-appearance:none; -moz-appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237e93a8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>"); background-repeat:no-repeat; background-position:right 12px center; background-size:14px; padding-right:36px; cursor:pointer }
select:not([multiple]):not([size])::-ms-expand { display:none }
select.mce-vars, select.tbl-sel { background-position:right 8px center; background-size:12px; padding-right:28px }
.si { padding:9px 13px; border:1.5px solid var(--bd); border-radius:var(--r); font-family:inherit; font-size:15px; color:var(--tx); background:var(--wh); outline:none; width:100%; transition:border-color .15s }
.si-half{max-width:50%}
.si-search{padding-left:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237e93a8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='7'/%3E%3Cline x1='15.5' y1='15.5' x2='21' y2='21'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:13px center;background-size:16px}@media(max-width:640px){.si-half{max-width:100%}}
.cico-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;margin-top:9px}
.cico-res:empty{margin:0}
.cico-res-c{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bd);border-radius:var(--r);background:var(--wh);color:var(--t3);cursor:pointer;font-size:22px;padding:0;transition:all .15s}
.cico-res-c:hover{border-color:var(--c-btnm);color:var(--c-btn);background:var(--c-btnp)}
.cico-cur{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}
.cico-cur:empty{margin:0}
.cico-cur-n{font-size:14px;color:var(--tx)}@media(max-width:640px){.cico-res-c{width:44px;height:44px}}
.si:focus { border-color:var(--c-btn) }
.sta { min-height:160px; resize:vertical; line-height:1.6; font-size:14px }
.tog { display:flex; align-items:center; gap:13px; padding:12px 0; background:var(--wh); border:0; border-radius:var(--r); cursor:default; user-select:none }
.tog label { font-size:15px; color:var(--tx); font-weight:500; cursor:pointer; flex:1 }
.tog input[type=checkbox] { width:18px; height:18px; accent-color:var(--c-btn); cursor:pointer; flex-shrink:0 }/* ── Doplňky & Slevy (admin editory) ── */


.ext-row{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid var(--bd);border-radius:var(--r);margin-bottom:12px;background:var(--wh)}
.ext-fields{flex:1;display:grid;grid-template-columns:2fr 0.9fr 0.8fr auto;gap:14px;align-items:start}
.cp-row{flex-wrap:wrap}
.cp-fields{grid-template-columns:2.5fr 0.9fr 1.3fr 0.7fr 0.7fr 0.9fr auto}
.cp-used-note{flex-basis:100%;font-size:12px;color:var(--t3);margin-top:2px}
.ext-row .sr{margin:0}
.ext-row .sl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ext-del-btn{align-self:center;flex-shrink:0}
.ext-del-btn:hover{border-color:var(--b2);background:var(--c-bg)}
.ext-fields .ext-del-btn{align-self:end;margin-bottom:5px;grid-row:1;grid-column:-2/-1}
.drag-h{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--t3);cursor:grab;font-size:16px;padding:6px;line-height:1;border-radius:var(--r);transition:background .15s,color .15s;touch-action:none}
.drag-h:hover,.drag-h:active{cursor:grabbing;background:var(--gg);color:var(--tx)}
.ext-row.drag-source{border-style:dashed;border-color:var(--bd);background:var(--bg)}
.ext-row.drag-source>*{visibility:hidden}
.ext-drag-ghost{position:fixed;z-index:9999;pointer-events:none;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--wh);border:1px solid var(--bd);border-radius:var(--r);font-size:14px;font-weight:500;color:var(--tx);box-shadow:0 4px 16px rgba(0,0,0,.14);white-space:nowrap}@media(max-width:960px){.cp-fields{grid-template-columns:repeat(3,1fr) auto}}@media(max-width:640px){.ext-fields{grid-template-columns:1fr}.ext-fields .ext-del-btn{grid-row:auto;grid-column:1/-1;width:100%;margin-top:4px;margin-bottom:0;justify-content:center}}@media(max-width:600px){.cp-fields{grid-template-columns:repeat(2,1fr)}.cp-row .ext-del-btn{grid-row:auto;grid-column:1/-1;width:100%;margin-top:4px;margin-bottom:0;justify-content:center}}/* ── Rezervační doplňky & slevový kód (veřejný formulář) ── */


.book-extras{margin:24px 0 20px}
.addon-title{font-size:18px;font-weight:700;color:var(--tx);margin-bottom:12px}
.addon-title-after{margin-top:22px}
.addon-row{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:13px 15px;border:1.5px solid var(--bd);border-radius:var(--r);margin-bottom:8px;background:var(--wh)}
.addon-check{cursor:pointer}
.addon-row:hover{border-color:var(--b2)}
.addon-check input{width:20px;height:20px;accent-color:var(--c-btn);cursor:pointer;flex-shrink:0}
.addon-row.on,.addon-check:has(input:checked){border-color:var(--c-btn);background:var(--c-btnp)}
.addon-row.inc{border-color:var(--bd);background:var(--c-btnp);cursor:default}
.addon-inc-tag{color:var(--c-btn);font-weight:600;font-size:12px;white-space:nowrap}
/* Zahrnutý doplněk u položky bez ceny: čistý řádek check + název, bez karty/pozadí/borderu; barvu drží jen ikonka */
.addon-inc-clean{display:flex;align-items:center;gap:12px;padding:12px 0}
.addon-inc-clean+.addon-inc-clean{border-top:1px solid var(--bd)}
.addon-inc-clean>i{color:var(--c-btn);font-size:24px;flex-shrink:0}
.ri-inc-grid{display:grid;grid-template-columns:max-content 160px;gap:8px 16px;margin-top:4px;margin-bottom:8px}
.ri-inc-row{display:contents}
.ri-inc-name{font-size:14px;color:var(--tx);align-self:center}
@media(max-width:640px){.ri-inc-grid{display:block}.ri-inc-row{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-bottom:12px}.ri-inc-name{align-self:flex-start}.ri-inc-sel{width:100%}}
.addon-info{flex:1;min-width:0}
.addon-name{font-size:15px;font-weight:600;color:var(--tx)}
.addon-desc{font-size:13px;color:var(--t3);margin-top:2px}
.addon-price{font-size:13px;color:var(--c-btn);font-weight:600;margin-top:3px}
.addon-qty{display:flex;align-items:center;gap:10px;flex-shrink:0}
.addon-qty .qbtn{width:32px;height:32px;border:1.5px solid var(--bd);background:var(--wh);border-radius:var(--r);font-size:18px;line-height:1;color:var(--tx);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.addon-qty .qbtn:hover{border-color:var(--c-btn);background:var(--c-bg)}
.addon-qty .qval{min-width:22px;text-align:center;font-size:15px;font-weight:600;color:var(--tx)}
.book-coupon{margin:0 0 22px}
.coupon-row{display:flex;gap:8px;align-items:stretch;max-width:380px}
.coupon-row .finput{flex:1}
.coupon-row .btn-out{flex-shrink:0;white-space:nowrap}
.coupon-msg{font-size:13px;margin:7px 0 0}
.coupon-msg:empty{margin:0}
.coupon-msg.err{color:#fff;background:#E91E63;border-radius:var(--r);padding:8px 12px}
.coupon-msg.ok{color:var(--c-btn)}
.coupon-msg a{color:var(--c-btn);text-decoration:underline}
.coupon-msg a:hover{text-decoration:none}
.sum-total-row{border-top:1px solid var(--bd);margin-top:6px;padding-top:10px}

.item-list { display:flex; flex-direction:column; gap:12px; margin-bottom:16px }

.ico-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(48px,1fr)); gap:6px; margin-top:9px; margin-bottom:8px; width:100% }
.ico-cell { width:48px; height:48px; border:1px solid var(--bd); border-radius:var(--r); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--t3); transition:all .15s; background:var(--wh); flex-shrink:0 }
.ico-cell:hover { border-color:var(--c-btnm); color:var(--c-btn); background:var(--c-btnp) }
.ico-cell.sel { border-color:var(--c-btn); color:var(--c-btn); background:var(--c-btnp) }

.spt-btn { padding:6px 13px; background:var(--wh); border:1px solid var(--bd); border-radius:var(--r-btn); font-family:inherit; font-size:13px; font-weight:500; color:var(--t2); cursor:pointer; transition:all .15s }
.spt-btn:hover, .spt-btn.on { border-color:var(--c-btn); color:var(--c-btn); background:var(--c-btnp) }

.slot-adm { padding:9px 6px; text-align:center; font-family:inherit; font-size:13px; font-weight:500; border:1.5px solid var(--bd); border-radius:var(--r-btn); background:var(--gg); color:var(--gt); cursor:pointer; transition:all .15s; line-height:1; user-select:none; white-space:nowrap }
.slot-adm.on { background:var(--c-btnp); border-color:var(--c-btn); color:var(--c-btn) }
.range-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px }
.range-row label { font-size:13px; font-weight:600; color:var(--t2) }
.range-row input[type=time] { padding:6px 10px; border:1.5px solid var(--bd); border-radius:var(--r); font-family:inherit; font-size:13px; color:var(--tx); background:var(--wh); outline:none }
.range-row input[type=time]:focus { border-color:var(--c-btn) }

.date-mode-wrap { display:flex; gap:0; border:1.5px solid var(--bd); border-radius:var(--r-btn); overflow:hidden; display:inline-flex; margin-bottom:16px }
.date-mode-btn { flex:1; padding:10px 16px; border:none; background:none; font-family:inherit; font-size:14px; font-weight:500; color:var(--t2); cursor:pointer; transition:background .15s,color .15s; white-space:nowrap }
.date-mode-btn:not(:last-child) { border-right:1px solid var(--bd) }
.date-mode-btn.active { background:var(--c-btn); color:#fff }
.date-input { width:100%; padding:10px 14px; border:1.5px solid var(--bd); border-radius:var(--r); font-family:inherit; font-size:16px; color:var(--tx); background:var(--wh); outline:none; cursor:pointer; transition:border-color .15s }
.date-input:focus { border-color:var(--c-btn) }
.date-fields-card { background:none; border:none; border-radius:0; padding:0; margin-bottom:0 }
.date-fields-row { display:grid; grid-template-columns:1fr 1fr; gap:14px }
.email-layout { display:grid; grid-template-columns:1fr 1fr; gap:20px }
.epr-wrap { background:var(--gg); border:1px solid var(--bd); border-radius:var(--r); overflow:hidden }
.epr-bar { padding:0 0 7px 0; font-size:13px; font-weight:600; color:var(--t2); margin-bottom:0 }
.epr-body { padding:20px 22px; font-family:Helvetica,Arial,sans-serif; font-size:14px; line-height:1.75; color:#222; background:var(--wh); border-radius:var(--r) }

.day-pick-btn { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:9px 14px; min-width:74px; background:var(--gg); border:1.5px solid var(--bd); border-radius:var(--r); font-family:inherit; cursor:pointer; transition:all .15s; text-align:center; line-height:1; user-select:none; color:var(--gt) }
.day-pick-btn:hover:not(.active) { background:var(--c-btnp); border-color:var(--c-btn); color:var(--c-btn) }
.day-pick-btn.active { background:var(--c-btnp); border-color:var(--c-btn); color:var(--c-btn) }
.day-pick-btn.day-pick-all { min-width:64px; border-style:dashed }
.day-pick-btn.day-pick-all.active { border-style:solid }
.day-pick-name { font-size:13px; font-weight:700; line-height:1.2 }
.day-pick-date { font-size:11px; font-weight:400; opacity:.85; line-height:1.2 }
.epr-body table { border-collapse:collapse; margin:10px 0 }
.epr-body td { padding:3px 16px 3px 0; vertical-align:top }
.epr-body td:first-child { color:#888; white-space:nowrap }
.var-chips { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px }
.vc { display:inline-flex; align-items:center; gap:4px; padding:4px 10px; background:var(--bg); border:1px solid var(--bd); border-radius:var(--r); font-size:12px; color:var(--t2); cursor:pointer; transition:all .15s }
.vc:hover, .vc.flash { border-color:var(--c-btn); background:var(--c-btnp); color:var(--c-btn) }
.vc code { background:none; border:none; padding:0; color:inherit; font-family:monospace; font-size:11px }

.spin { display:inline-block; width:16px; height:16px; border:2.5px solid rgba(255,255,255,.3); border-top-color:#fff; border-radius:50%; animation:sp .7s linear infinite }
@keyframes sp { to { transform:rotate(360deg) } }

footer { text-align:center; padding:20px; font-size:14px; color:var(--t3); border-top:0px solid var(--bd); margin-top:0px; margin-bottom:20px }
footer a { color:var(--t3); text-decoration:underline }
footer a:hover { text-decoration:none }
.footer-hidden { display:none !important }/* Sociální sítě */

.social-links-front{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;padding:30px 40px 20px}
.soc-icon-link{color:var(--t3);font-size:30px;line-height:1;transition:color .2s,transform .2s;display:inline-flex;align-items:center;text-decoration:none}
.soc-icon-link:hover{color:var(--c-btn);transform:scale(1.15)}
.soc-admin-row{margin-bottom:8px}
.soc-fields{display:flex;gap:8px}
.soc-fields .soc-plat-sel{flex:2;min-width:0;font-size:14px}
.soc-fields .soc-url-inp{flex:3;min-width:0;font-size:14px}
.soc-admin-row .soc-del-btn{display:flex;width:100%;justify-content:center;margin-top:6px}@media(min-width:641px){.soc-admin-row{display:flex;align-items:center;gap:8px}.soc-fields{flex:1}.soc-fields .soc-plat-sel{flex:0 0 160px}.soc-admin-row .soc-del-btn{width:auto;display:inline-flex;margin-top:0}}/* Informační hláška */

.info-notice{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:var(--r2,10px);margin:0;border:1px solid}
#info-notice.info-notice{margin:68px 0 0}
#info-notice-detail.info-notice{margin:10px 0 44px}
.info-notice-ico{font-size:26px;flex-shrink:0;line-height:1.4}
.info-notice-body{font-size:14px;line-height:1.6;min-width:0;color:var(--tx)}
.info-notice-danger .info-notice-body :is(h1,h2,h3,h4,h5,h6){color:#e91e63}
.info-notice-warning .info-notice-body :is(h1,h2,h3,h4,h5,h6){color:#f17100}
.info-notice-info .info-notice-body :is(h1,h2,h3,h4,h5,h6){color:#1976D2}
.info-notice-body p{margin:0 0 6px}.info-notice-body p:last-child{margin:0}
.info-notice-body a{color:inherit;text-decoration:underline}
.info-notice-body a:hover{text-decoration:none}
.info-notice-body ul,.info-notice-body ol{margin:4px 0;padding-left:20px}
.info-notice-danger{background:#FCE8EF;border-color:#e91e63;color:#e91e63}
.info-notice-danger .info-notice-ico{color:#e91e63}
.info-notice-warning{background:#FEF6EC;border-color:#f17100;color:#f17100}
.info-notice-warning .info-notice-ico{color:#f17100}
/* Archiv odebraných (koš) - lišta pod seznamem článků/FAQ/výhod v adminu */
.arch-row{display:flex;align-items:center;gap:8px;border:1px dashed var(--bd);border-radius:8px;padding:7px 11px}
.arch-name{font-size:13px;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.arch-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.arch-btns{display:flex;gap:6px}
@media(max-width:640px){.arch-row{flex-wrap:wrap;padding:8px 11px}.arch-name{flex:1 0 100%}.arch-meta{margin-top:2px}}
.info-notice-info{background:#EEF5FC;border-color:#1976D2;color:#1976D2}
.info-notice-info .info-notice-ico{color:#1976D2}
.info-type-btn.active{background:var(--c-btn);border-color:var(--c-btn);color:#fff}/* Výhody */

.pub-benefits{display:flex;flex-wrap:wrap;justify-content:space-evenly;gap:34px 34px;background:var(--c-bg);border-radius:var(--r2,10px);padding:0px 16px;margin:0 0 60px}
.pub-benefit{flex:0 1 170px;display:flex;flex-direction:column;align-items:center;text-align:center}
.pub-benefit i{font-size:50px;color:var(--c-btn);line-height:1;margin-bottom:20px}
.pub-benefit span{font-size:15px;font-weight:500;color:var(--c-title);line-height:1.4}@media(max-width:640px){ .pub-benefits{gap:28px 24px;padding:24px 14px} .pub-benefit{flex-basis:40%} .pub-benefit i{font-size:42px}}/* Časté dotazy */

.pub-faq { padding-top:56px; max-width:900px; margin:0 auto }
.pub-faq-title { margin-top:0; margin-bottom:24px }
.faq-list { border:1px solid var(--bd); border-radius:var(--r2,10px); overflow:hidden }
.faq-item { background:var(--wh) }
.faq-item+.faq-item { border-top:1px solid var(--bd) }
.faq-q { width:100%; text-align:left; background:none; border:none; padding:18px 20px; font-size:16px; font-weight:600; color:var(--c-title); cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; line-height:1.4; font-family:inherit }
.faq-q:hover .faq-q-txt { text-decoration:underline }
.faq-q i { font-size:16px; color:var(--c-btn); flex-shrink:0; transition:transform .2s }
.faq-q.faq-q-open i { transform:rotate(180deg) }
.faq-a-wrap { display:none; padding:0 20px 20px }
.faq-a-wrap.open { display:block }
.faq-a { font-size:15px; color:var(--t2); line-height:1.65 }
.faq-a p { margin:0 0 10px }
.faq-a p:last-child { margin-bottom:0 }/* Fotogalerie */

.pub-gallery{display:grid;gap:6px;margin:0 0 36px}
.pub-gal-item{overflow:hidden;border-radius:var(--r2,10px);position:relative;background:var(--gg,#eef2f7);cursor:zoom-in}
.pub-gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.pub-gal-item:hover img{transform:scale(1.04)}
.pub-gal-more{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700}
.pub-gallery-1{grid-template-columns:1fr;grid-template-rows:245px}
.pub-gallery-2{grid-template-columns:repeat(2,1fr);grid-template-rows:245px}
.pub-gallery-hero{grid-template-columns:repeat(3,1fr);grid-template-rows:245px 245px}
.pub-gallery-hero .pub-gal-item:first-child{grid-column:1/3;grid-row:1/3}
.pub-gallery-d6{grid-template-columns:repeat(3,1fr);grid-template-rows:245px 245px 245px}
.pub-gallery-d6 .pub-gal-item:first-child{grid-column:1/3;grid-row:1/3}
.pub-gallery-m1{grid-template-columns:1fr}.pub-gallery-m1 .pub-gal-item{aspect-ratio:16/10}
.pub-gallery-m2{grid-template-columns:repeat(2,1fr)}.pub-gallery-m2 .pub-gal-item{aspect-ratio:1}
.pub-gallery-m3{grid-template-columns:repeat(2,1fr)}.pub-gallery-m3 .pub-gal-item{aspect-ratio:1}
.pub-gallery-m3 .pub-gal-item:first-child{grid-column:1/-1;aspect-ratio:16/9}
.pub-gallery-m4{grid-template-columns:repeat(2,1fr)}.pub-gallery-m4 .pub-gal-item{aspect-ratio:1}
.pub-gallery-m5{grid-template-columns:repeat(3,1fr)}.pub-gallery-m5 .pub-gal-item{aspect-ratio:1}
.pub-gallery-m5 .pub-gal-item:first-child{grid-column:1/-1;aspect-ratio:16/9}@media(max-width:1023px){ .pub-gal-more{font-size:13px}}/* Galerie - admin grid fotek *//* Dropzone *//* Lightbox galerie */

.gal-lightbox{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:24px}
.gal-lightbox.open{display:flex}
.gal-lightbox img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px;display:block}
.gal-lb-x{position:fixed;top:18px;right:20px;width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gal-lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gal-lb-prev{left:20px}.gal-lb-next{right:20px}
.gal-lb-count{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;background:rgba(0,0,0,.4);padding:6px 14px;border-radius:20px}
.gal-lb-x:hover,.gal-lb-nav:hover{background:rgba(255,255,255,.22)}
@media(max-width:640px){.gal-lb-nav{width:44px;height:44px;font-size:20px}}/* Aktuality / Články */

.pub-articles { padding-top:56px; margin:0 0 20px }
.pub-articles-title { margin-top:0; margin-bottom:24px }
.pub-articles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px }
.pub-article { background:var(--wh); border:1px solid var(--bd); border-radius:var(--r2,10px); overflow:hidden; cursor:pointer; display:flex; flex-direction:column; transition:border-color .15s, box-shadow .15s }
a.pub-article { color:inherit; text-decoration:none }
.pub-article:hover { border-color:var(--bd); box-shadow:0 6px 18px rgba(0,0,0,.06) }
.pub-article:hover .pub-article-t { text-decoration:underline }
.pub-article-img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block }
.pub-article-ph { background:var(--gg,#eef2f7); display:flex; align-items:center; justify-content:center }
.pub-article-ph i { font-size:46px; color:var(--b2,#9bb0c9) }
.pub-article-bd { padding:26px 30px; display:flex; flex-direction:column; flex:1 }
.pub-article-date { font-size:13px; color:var(--t3); margin-bottom:8px }
.pub-article-t { font-size:18px; font-weight:600; color:var(--c-title); line-height:1.3; margin:6px 0 14px }
.pub-article-x { font-size:14.5px; color:var(--t2); line-height:1.55; margin:0; white-space:pre-line; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden }
.pub-articles-more { text-align:center; margin-top:32px }
.pub-articles-rel { grid-template-columns:repeat(2,1fr) }@media(max-width:900px){ .pub-articles-grid { grid-template-columns:repeat(2,1fr); gap:20px }}@media(max-width:640px){ .pub-articles { padding-top:40px } .pub-articles-grid { grid-template-columns:1fr; gap:18px }}/* Plakáty na akce */


.pub-posters { margin:0 }
.pub-posters-title { margin-top:0; margin-bottom:24px }
.pub-posters-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px }
.pub-poster { background:var(--wh); border:1px solid var(--bd); border-radius:var(--r2,10px); overflow:hidden; cursor:pointer; display:flex; flex-direction:column; transition:border-color .15s, box-shadow .15s }
.pub-poster:hover { border-color:var(--bd); box-shadow:0 6px 18px rgba(0,0,0,.06) }
.pub-poster:hover .pub-poster-t { text-decoration:underline }
.pub-poster-imgwrap { position:relative; aspect-ratio:210/297; overflow:hidden; background:var(--gg,#eef2f7) }
.pub-poster-img { width:100%; height:100%; object-fit:cover; display:block }
.pub-poster-ph { display:flex; align-items:center; justify-content:center }
.pub-poster-ph i { font-size:46px; color:var(--b2,#9bb0c9) }
.pub-poster-bd { padding:30px 30px 38px; display:flex; flex-direction:column; flex:1 }
.pub-poster-t { font-size:22px; font-weight:700; color:var(--c-title); line-height:1.25; margin:0 0 6px }
.pub-poster-date { font-size:18px; font-weight:700; color:var(--c-btn); line-height:1.4; margin:9px 0 18px }
.pub-poster-x { font-size:14px; color:var(--t2); line-height:1.55; margin:0; white-space:pre-line }
.pub-posters-more { text-align:center; margin-top:32px }@media(max-width:900px){ .pub-posters-grid { gap:18px } .pub-poster-bd { padding:26px 30px }}@media(max-width:640px){ .pub-posters { padding-top:40px } .pub-posters-grid { grid-template-columns:1fr; gap:14px } .pub-poster-t { font-size:20px } .pub-poster-date { font-size:16px }}/* Pořadí sekcí na úvodu (admin) */


.sec-ord-row { display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid var(--bd); border-radius:10px; margin-bottom:8px; background:var(--wh) }
.sec-ord-name { flex:1; font-size:15px; font-weight:600; color:var(--c-title) }
.sec-ord-row.sec-ord-off .sec-ord-name { opacity:.45; text-decoration:line-through }/* Jednotné mezery mezi sekcemi na úvodu (#id přebije class paddingy i mobil) */

#pub-posters, #pub-gallery, #pub-benefits, #pub-faq, #pub-articles, #stepbar { margin-top:68px; margin-bottom:0 }
#pub-faq, #pub-articles { padding-top:0 }
#stepbar { margin-bottom:48px }@media(max-width:640px){ #pub-posters, #pub-gallery, #pub-benefits, #pub-faq, #pub-articles, #stepbar { margin-top:36px }}/* Skryté sekce na úvodu (oko v pořadí sekcí) */

.sec-force-hidden { display:none !important }
body.res-hidden #stepbar, body.res-hidden #s1 { display:none !important }/* Průběh nahrávání fotek galerie */
@keyframes galspin { to { transform:rotate(360deg) } }

.hidden { display:none !important }@media (max-width:900px){
  .item-grid { grid-template-columns:repeat(2,1fr) }
  .email-layout { grid-template-columns:1fr }
  .slots-grid-pub.slots-grid-times { grid-template-columns:repeat(3,1fr) }
  .slots-grid-pub.slots-grid-runs { grid-template-columns:repeat(2,1fr) }
  .ev-meta .sum-row { flex-direction:column; gap:2px }
  .sum-row { flex-direction:column; gap:4px }
  .step-lbl { font-size:12px; max-width:100px }}@media (max-width:640px){
  .hdr { padding:0 14px; height:60px }
  .hdr-sep { margin:0 12px }
  .wrap { padding:20px 14px 70px }
  .stepbar { height:52px; padding:0 12px; margin-bottom:32px }
  .step-lbl { display:none }
  .step-ln { margin:0 7px; min-width:6px }
  .card, .center-card, .screen-card { padding: 24px 24px }
  .hdr-name { font-size: 14px }
  .ptitle { font-size:21px }
  .ev-title { font-size:24px }
  .sg { grid-template-columns:1fr }
  .date-fields-row { grid-template-columns:1fr }
  .item-grid, .item-grid.iv-grid { grid-template-columns:1fr }
  .slots-grid-pub.slots-grid-times { grid-template-columns:repeat(2,1fr); gap:12px }
  .slots-grid-pub.slots-grid-runs { grid-template-columns:1fr; gap:12px }
  .slot-pub { font-size:13px; padding:10px 4px }
  .btn-lg { padding:16px 24px; margin-bottom:20px }
  .range-row { flex-direction:column; align-items:flex-start; gap:6px }
  .range-row input[type=time] { width:100% }
  .date-mode-wrap { width:100% }
  .date-mode-btn { padding:10px 8px; font-size:13px }
  .date-strip-fade-l { background:linear-gradient(to right, var(--c-bg,#f2f5f9) 0%, transparent 100%) }
  .date-strip-fade-r { background:linear-gradient(to left, var(--c-bg,#f2f5f9) 0%, transparent 100%) }
  .sum-l { min-width:0 }
  .tog { align-items:flex-start; gap:10px }
  .tog input[type=checkbox] { margin-top:3px }
  .gdpr { gap:10px }
  .gdpr input[type=checkbox] { width:22px; height:22px; flex-shrink:0 }
  .ico-grid { gap:5px }
  .ico-cell { width:44px; height:44px }}

.slot-grid-adm { display:grid; grid-template-columns:repeat(auto-fill,minmax(105px,1fr)); gap:6px }
.slot-adm { padding:9px 6px; text-align:center; font-family:inherit; font-size:13px; font-weight:500; border:1.5px solid var(--bd); border-radius:var(--r-btn); background:var(--gg); color:var(--gt); cursor:pointer; transition:all .15s; line-height:1; user-select:none; white-space:nowrap }
.slot-adm.on { background:var(--c-btnp); border-color:var(--c-btn); color:var(--c-btn) }

.t-price { background:#ffffff; color:var(--c-btn); border:1px solid var(--c-btn); font-weight:700 }
.rez-search-wrap { display:flex; align-items:center; gap:8px; background:var(--gg); border:1.5px solid var(--bd); border-radius:var(--r); padding:0 11px; flex:1; min-width:180px; transition:border-color .15s }
.rez-search-wrap:focus-within { border-color:var(--c-btn); background:var(--wh) }
.rez-search { border:0; outline:none; padding:8px 0; font-size:14px; color:var(--tx); background:transparent; width:100%; font-family:inherit }
.rez-search::placeholder { color:var(--t3) }
.tbl-sel { padding:8px 10px; border:1.5px solid var(--bd); border-radius:var(--r); font-size:13px; color:var(--tx); background:#ffffff; font-family:inherit; outline:none; cursor:pointer; transition:border-color .15s }
.tbl-sel:focus { border-color:var(--c-btn) }
.btn-cancel-sel { }
.btn-cancel-sel:hover { }@media(max-width:640px){
  .rez-search-wrap { min-width:100%; order:-1; flex:1 1 100% }
  .tbl-sel { flex:1 }
  .sel-bar-btns { display:grid; grid-template-columns:1fr; width:100%; gap:6px }
  .sel-bar-btns .btn-out { justify-content:center; padding:11px 6px; font-size:14px; gap:6px }}

.mce-wrap { border:1.5px solid var(--bd); border-radius:var(--r); overflow:clip; background:var(--wh); transition:border-color .15s }
.mce-wrap:focus-within { border-color:var(--c-btn) }
.mce-toolbar { display:flex; align-items:center; gap:2px; padding:6px 8px; background:var(--bg); border-bottom:1px solid var(--bd); flex-wrap:wrap; position:sticky; top:0; z-index:5 }/* Odsadit MCE toolbar pod hlavičku jen když je opravdu sticky (ne u statické/skryté) */

body:has(.hdr:not(.hdr-static):not(.hdr-hidden)) .mce-toolbar { top:68px }
.mce-btn { display:inline-flex; align-items:center; justify-content:center; width:30px; height:28px; border:1px solid transparent; border-radius:4px; background:none; font-family:inherit; font-size:13px; font-weight:700; color:var(--t2); cursor:pointer; transition:all .12s; flex-shrink:0; padding:0 }
.mce-btn:hover { background:var(--wh); border-color:var(--bd); color:var(--tx) }
.mce-btn:disabled { opacity:.4; cursor:default }
.mce-btn:disabled:hover { background:none; border-color:transparent; color:var(--t2) }
.mce-sep { width:1px; height:20px; background:var(--bd); margin:0 4px; flex-shrink:0 }
.mce-vars { padding:4px 8px; border:1px solid var(--bd); border-radius:4px; font-size:12px; color:var(--t2); background:var(--wh); font-family:inherit; outline:none; cursor:pointer; max-width:180px }
.mce-vars:focus { border-color:var(--c-btn) }
.mce-body { padding:10px 12px; min-height:140px; line-height:1.7; font-size:14px; color:var(--tx); outline:none; resize:vertical; overflow:auto; white-space:pre-wrap }
.mce-body a { color:var(--c-btn); text-decoration:underline }
.mce-body a:hover { text-decoration:none }
.faq-a a { color:var(--c-btn); text-decoration:underline }
.faq-a a:hover { text-decoration:none }
.sh a { color:var(--c-btn); text-decoration:underline }
.sh a:hover { text-decoration:none }
.faq-a a.btn { color:#fff; text-decoration:none }
.faq-a a.btn-out { color:var(--tx); text-decoration:none }
.mce-body h1,.mce-body h2,.mce-body h3,.mce-body h4,.mce-body h5,.mce-body h6 { color:var(--c-title); margin:10px 0 4px; line-height:1.3 }
.mce-body h1 { font-size:1.8em } .mce-body h2 { font-size:1.5em } .mce-body h3 { font-size:1.25em }
.mce-body h4 { font-size:1.1em } .mce-body h5 { font-size:1em } .mce-body h6 { font-size:0.85em; text-transform:uppercase; letter-spacing:0.1em }
.mce-body:empty:before { content:attr(data-placeholder); color:var(--t3); pointer-events:none }
#faq-ed-list .mce-body:empty:before { content:none }
.mce-body table { border-collapse:collapse; margin:8px 0; width:100% }
.mce-body table td, .mce-body table th { border:1px solid var(--bd); padding:6px 10px; font-size:13px }
.mce-body hr { border:none; border-top:1px solid var(--bd); margin:10px 0 }
.mce-body ul { list-style:none; padding-left:0; margin:6px 0 }
.mce-body ul li { position:relative; padding-left:22px; margin-bottom:4px }
.mce-body ul li::before { content:''; position:absolute; left:0; top:0.5em; width:8px; height:8px; border-radius:50%; background:var(--c-title) }
.mce-body ol { list-style:none; counter-reset:mce-ol; padding-left:0; margin:6px 0 }
.mce-body ol li { counter-increment:mce-ol; position:relative; padding-left:32px; margin-bottom:4px }
.mce-body ol li::before { content:counter(mce-ol); position:absolute; left:0; top:0.2em; width:1.7em; height:1.7em; border-radius:50%; text-align:center; line-height:1.7em; font-size:0.80em; color:#ffffff; background-color:var(--c-title); font-weight:500 }/* Vložený obsah z editoru: obrázky na 100 % + tlačítka .btn/.btn-out (editor i frontend) */

.mce-img { width:100%; height:auto; display:block; border-radius:var(--r2,10px); margin:30px 0 }
.mce-body .mce-img { cursor:pointer }
#mce-img-tools { position:fixed; z-index:10000; display:none; justify-content:space-between; pointer-events:none }
#mce-img-tools.show { display:flex }
.mce-imgtool { pointer-events:auto; width:30px; height:30px; border:none; border-radius:50%; background:rgba(0,0,0,.62); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:17px; line-height:1; box-shadow:0 1px 4px rgba(0,0,0,.35) }
.mce-imgtool:hover { background:rgba(0,0,0,.85) }
#mce-col-tip { position:fixed; z-index:10001; display:none; background:rgba(0,0,0,.8); color:#fff; font-size:12px; font-weight:600; padding:4px 9px; border-radius:var(--r); pointer-events:none; white-space:nowrap; box-shadow:0 1px 4px rgba(0,0,0,.35) }
#mce-col-tip.show { display:block }
.mce-imgtool-group { display:inline-flex; gap:6px }
.ev-desc a.btn, .gdpr-page a.btn, .mce-body a.btn { color:#fff; text-decoration:none }
.ev-desc a.btn, .ev-desc a.btn-out, .gdpr-page a.btn, .gdpr-page a.btn-out, .mce-body a.btn, .mce-body a.btn-out { margin:0 8px 8px 0 }
.ev-desc a.btn:hover, .gdpr-page a.btn:hover, .mce-body a.btn:hover { color:#fff }
.ev-desc a.btn-out, .gdpr-page a.btn-out, .mce-body a.btn-out { color:var(--tx); text-decoration:none }
.ev-desc a.btn-out:hover, .gdpr-page a.btn-out:hover, .mce-body a.btn-out:hover { color:var(--tx) }
.mce-source { display:none; width:100%; padding:10px 12px; min-height:140px; border:none; outline:none; font-family:monospace; font-size:12px; color:var(--tx); background:var(--wh); resize:vertical; line-height:1.6; box-sizing:border-box }
.mce-btn-active { background:var(--c-btnp) !important; border-color:var(--c-btn) !important; color:var(--c-btn) !important }@media(max-width:640px){
  .mce-toolbar { gap:3px }
  body:has(.hdr:not(.hdr-static):not(.hdr-hidden)) .mce-toolbar { top:60px }
  .mce-vars { max-width:140px; font-size:11px }}

.pay-mode-group { display:flex; flex-direction:column; gap:0; margin-top:10px; margin-bottom:40px; border:1.5px solid var(--bd); border-radius:var(--r); overflow:hidden }
.pay-mode-opt { display:block; cursor:pointer }
.pay-mode-opt + .pay-mode-opt { border-top:1px solid var(--bd) }
.pay-mode-opt input[type=radio] { position:static; opacity:1; width:18px; height:18px; accent-color:var(--c-btn); margin:0; flex-shrink:0; cursor:pointer }
.pay-mode-card { display:flex; align-items:center; gap:15px; padding:20px 14px; background:#ffffff }
.pay-mode-opt:hover .pay-mode-card { background:var(--c-bg) }
.pay-mode-opt input[type=radio]:checked ~ * .pay-mode-title,
.pay-mode-card:has(input:checked) .pay-mode-title { color:var(--c-btn) }
.pay-mode-title { font-size:14px; font-weight:600; color:var(--tx); margin-bottom:1px }
.pay-mode-desc { font-size:12px; color:var(--t3); line-height:1.4 }@media(min-width:700px){
  .pay-mode-group.pmg-cols { flex-direction:row }
  .pay-mode-group.pmg-cols .pay-mode-opt { flex:1; min-width:0 }
  .pay-mode-group.pmg-cols .pay-mode-opt + .pay-mode-opt { border-top:none; border-left:1px solid var(--bd) }
  .pay-mode-group.pmg-cols .pay-mode-card { height:100% }}

#user-edit-modal { display:none } #user-edit-modal:not(.hidden) { display:flex !important }

.stat-hidden { opacity:0.5 }
.stat-soon { opacity:0.5 }
.stat-badge { position:absolute; top:11px; right:12px; line-height:1; pointer-events:none; display:flex; align-items:center }
.stat-badge-locked { color:#64748b }
.stat-badge-hidden { color:#64748b }
.stat-badge-soon { color:#64748b }
.stat-closed { opacity:0.5 }@media (max-width:640px){
  .ev-meta .sum-row { flex-direction:column; gap:2px; padding:7px 0 }
  .ev-meta .sum-l { min-width:0; font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--t3) }
  .ev-meta .sum-v { font-size:15px }}

.ph-bold.ph-warning:before { content:"\E0AA" }
.ph-bold.ph-shield-check:before { content:"\E4C2" }

.hero-banner {
  position: relative;
  width: 100%;
  height: var(--hero-h, 320px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--c-bg);
}
.hero-banner.has-img { background-size: cover; background-position: center center; background-repeat: no-repeat; }

.hero-banner.hero-contain-mode {
  height: auto !important;
  background-image: none !important;
  background-color: var(--c-bg);
  display: block;
}
.hero-banner.hero-contain-mode .hero-overlay,
.hero-banner.hero-contain-mode .hero-content { display: none; }
#hero-bg-img {
  display: block;
  width: 100%;
  max-width: var(--wrap-w, 1300px);
  margin: 0 auto;
  height: auto;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
  pointer-events: none;
}
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 1300px;
  width: 100%;
  margin: auto auto 0;
  padding: 48px 28px 48px;
  box-sizing: border-box;
}
.hero-banner.has-img .wrap {
  padding: 0px 30px 30px;
}
.hero-title {
  font-size: 46px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.025em;
  line-height: 1.15;
  margin: 0 0 16px;
  text-shadow: 0 2px 12px rgba(0,0,0,.25);
}
.hero-sub {
  font-size: 20px;
  color: rgba(255,255,255,.85);
  font-weight: 400;
  line-height: 1.5;
  text-shadow: 0 1px 6px rgba(0,0,0,.2);
  margin: 0 0 20px;
}
.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.hero-meta-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  border: 0px solid rgba(255,255,255,.25);
  border-radius: var(--r-btn, 40px);
  padding: 14px 34px;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
}
a.hero-meta-tag { text-decoration:none; color:#fff }
a.hero-meta-tag span { text-decoration:underline }
a.hero-meta-tag:hover { background:rgba(255,255,255,.15) }
a.hero-meta-tag:hover span { text-decoration:none }@media (max-width: 640px){
  .hero-title { font-size: 28px; margin-bottom: 12px }
  .hero-sub { font-size: 16px; margin-bottom: 16px }
  .hero-content { padding: 32px 18px 36px }
  .hero-meta-tag {
    white-space: normal;
    word-break: break-word;
    padding: 10px 20px;
    font-size: 14px;
  }}


@keyframes spin { to { transform: rotate(360deg); } }

.btn-notif--off { border-color: var(--b2); background: var(--bg); }

textarea.finput { resize: vertical; min-height: 80px; line-height: 1.5; }

.date-strip-outer.ds-grid { display:block }
.date-strip-outer.ds-grid .date-strip-arrow,
.date-strip-outer.ds-grid .date-strip-fade { display:none !important }
.date-strip-outer.ds-grid .date-strip-scroll {
  display:grid;
  grid-template-columns:repeat(8,1fr);
  overflow:hidden;
  padding:4px 0;
  gap:6px;
}@media (max-width:900px){
  .date-strip-outer.ds-grid .date-strip-scroll { grid-template-columns:repeat(8,1fr) }}@media (max-width:640px){
  .date-strip-outer.ds-grid .date-strip-scroll { grid-template-columns:repeat(4,1fr) }}
.date-strip-outer.ds-grid .dt-tab { min-width:0; width:100% }

.tr-cancelled { opacity: 0.5; }
.tr-cancelled td { text-decoration: none; }
.badge-cancelled {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #6b7280;
  background: #f3f4f6;
  border: 1px solid #d1d5db;
  border-radius: 20px;
  padding: 1px 7px;
  margin-left: 6px;
  vertical-align: middle;
  letter-spacing: .02em;
  white-space: nowrap;
}
.tr-archived { opacity: 0.55; }
.badge-archived { display:inline-block;font-size:10px;font-weight:600;color:#92710a;background:#fef9c3;border:1px solid #fde68a;border-radius:20px;padding:1px 7px;margin-left:6px;vertical-align:middle;letter-spacing:.02em;white-space:nowrap }/* (lightbox „Přidat rezervaci" nahrazen drawerem .adm-rez-drawer) */@media (max-width: 900px){
  .hero-banner { height: var(--hero-h-md, var(--hero-h, 320px)); }}@media (max-width: 640px){
  .hero-banner { height: var(--hero-h-sm, var(--hero-h-md, var(--hero-h, 320px))); }}
.hero-bp-btn.active { background: var(--c-bg,#f5f5f5); border-color: var(--c-btn,#3b5bdb); color: var(--c-btn,#3b5bdb); 
}/* Dárkové poukazy - nákupní chips + úvodní sekce */


.vbuy-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding-bottom:20px}
.vbuy-chip{padding:13px 22px;border:1.5px solid var(--bd);background:var(--wh);border-radius:var(--r-btn);font:inherit;font-size:15px;font-weight:600;color:var(--tx);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.vbuy-chip:hover{border-color:var(--c-btn)}
.vbuy-chip.active{border-color:var(--c-btn);background:var(--c-btn);color:#fff}
#vbuy-form,#vbuy-done{padding:42px 40px}
#vbuy-form .sg{gap:20px 22px}
#vbuy-form .si{padding:14px 16px;font-size:15px}
#vbuy-form .sl{font-size:14px;font-weight:600;margin-bottom:3px}
#vbuy-submit{justify-content:center;padding:18px;font-size:17px;font-weight:600}@media(max-width:600px){
  #vbuy-form,#vbuy-done{padding:26px 22px}
  .vbuy-chip{flex:1 1 calc(50% - 5px);text-align:center;padding:13px 8px}
  #vbuy-submit{padding:16px;font-size:16px}}
.pub-vouchers{margin-top:48px}
.vsec-card{display:flex;align-items:center;gap:22px;background:var(--wh);border:1px solid var(--bd);border-radius:var(--r2,14px);padding:24px 28px;flex-wrap:wrap}
@media(max-width:640px){.vsec-card{flex-direction:column;align-items:center;text-align:center;padding:32px 28px 24px;gap:10px}}
.vsec-ico{flex:0 0 auto;font-size:46px;color:var(--c-btn);line-height:1}
.vsec-body{flex:1;min-width:220px}
.vsec-title{font-size:22px;font-weight:700;color:var(--c-title,#0f3066)}
.vsec-desc{font-size:15px;color:var(--t2);margin-top:6px;line-height:1.5}
.vsec-btn{flex:0 0 auto;text-decoration:none}@media(max-width:640px){.vsec-ico{font-size:56px}.vsec-body{min-width:0}.vsec-btn{width:100%;justify-content:center;text-align:center;margin-top:10px;margin-bottom:10px}}
.sg-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px }@media(max-width:600px){ .sg-3 { grid-template-columns:1fr }}
.summary,.ok-det{display:table;width:100%;border-collapse:collapse}
.summary>.sum-ttl{display:table-caption;padding-bottom:8px}
.summary>#sum-extras,.ok-det>#pay-extras{display:contents}
.summary .sum-row,.ok-det .sum-row{display:table-row}
.summary .sum-row>.sum-l,.summary .sum-row>.sum-v,.ok-det .sum-row>.sum-l,.ok-det .sum-row>.sum-v{display:table-cell;padding:11px 0;border-bottom:1px solid var(--bd);font-size:16px;line-height:1.5;vertical-align:top}
.summary .sum-row>.sum-l,.ok-det .sum-row>.sum-l{white-space:nowrap;padding-right:24px;color:var(--t3);width:1%}
.summary .sum-row>.sum-v,.ok-det .sum-row>.sum-v{color:var(--tx);font-weight:500}
.summary .sum-total-row>.sum-v,.ok-det .sum-total-row>.sum-v{font-weight:700}
.summary #sum-s,.ok-det #pay-item{font-weight:700}
.summary .sum-row:last-child>.sum-l,.summary .sum-row:last-child>.sum-v,.ok-det .sum-row:last-child>.sum-l,.ok-det .sum-row:last-child>.sum-v{border-bottom:none}@media(max-width:640px){.summary .sum-row>.sum-l,.ok-det .sum-row>.sum-l{width:50%;white-space:normal}}
/* Platební blok na potvrzení - drží šířku prvního sloupce (popisky se nezalamují) */
.pay-rows{display:table;width:100%;border-collapse:collapse}
.pay-rows .sum-row{display:table-row}
.pay-rows .sum-row>.sum-l,.pay-rows .sum-row>.sum-v{display:table-cell;padding:11px 0;border-bottom:1px solid var(--bd);font-size:16px;line-height:1.5;vertical-align:top}
.pay-rows .sum-row>.sum-l{white-space:nowrap;padding-right:24px;color:var(--t3);width:1%}
.pay-rows .sum-row>.sum-v{color:var(--tx);font-weight:500;word-break:break-word}
.pay-rows .sum-row:last-child>.sum-l,.pay-rows .sum-row:last-child>.sum-v{border-bottom:none}
@media(max-width:640px){.pay-rows .sum-row>.sum-l{width:auto;white-space:normal}}
/* filtr sluzeb podle mista konani - jen pri 2+ ruznych mistech */
.place-filter { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 26px; align-items:center }
.pf-chip { border:1px solid var(--bd); background:var(--wh); color:var(--tx); font-size:14px; font-weight:500; padding:8px 15px; border-radius:var(--r-btn); cursor:pointer; transition:border-color .15s, background .15s; display:inline-flex; align-items:center; gap:6px }
.pf-chip:hover { border-color:var(--c-btn) }
.pf-chip.active { background:var(--c-btn); color:#fff; border-color:var(--c-btn) }
.pf-chip .ph-map-pin { font-size:13px }
