: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 }
hr { border:none; border-top:1px solid currentColor; opacity:0.2; margin:2em auto }
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;
  scrollbar-gutter: stable;
}
body:not(.app-ready) main,
body:not(.app-ready) footer {
  visibility: hidden;
}

.hdr {
  background: var(--c-hdr);
  height: 68px; padding: 0 28px;
  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; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.hdr-hidden { display:none !important }
.hdr-static { position:static !important }
.hdr-lang { margin-left:auto; flex-shrink:0; position:relative }
.hdr-lang > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:5px; padding:4px 6px;
  border-radius:8px; color:var(--c-hdr-txt, rgba(255,255,255,.9)); -webkit-user-select:none; user-select:none }
.hdr-lang > summary::-webkit-details-marker { display:none }
.hdr-lang > summary::marker { content:"" }
.hdr-lang > summary:hover { background:rgba(255,255,255,.12) }
.hdr-lang .flag { width:22px; height:22px; border-radius:50%; overflow:hidden; display:block; flex-shrink:0;
  box-shadow:0 0 0 1px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.18) }
.hdr-lang .flag svg { width:100%; height:100%; display:block }
.hdr-lang-chev { width:11px; height:11px; opacity:.72; transition:transform .18s }
.hdr-lang[open] .hdr-lang-chev { transform:rotate(180deg) }
.hdr-lang-menu { position:absolute; top:calc(100% + 6px); right:0; min-width:158px; padding:5px;
  background:var(--wh,#fff); border:1px solid var(--bd,#e4e8ec); border-radius:11px;
  box-shadow:0 14px 34px -12px rgba(20,30,45,.34); z-index:200 }
.hdr-lang-opt { display:flex; align-items:center; gap:9px; padding:8px 10px; border-radius:8px; text-decoration:none;
  color:var(--tx,#1b2129); font-size:14px; white-space:nowrap }
.hdr-lang-opt:hover { background:var(--c-bg,#f2f5f9) }
.hdr-lang-opt.is-active { font-weight:700 }

.wrap { max-width:1300px; margin:0 auto; padding:38px 28px 30px; overflow-x:clip }

.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 }
.acc-stars{line-height:0;margin:0 0 8px}
.acc-stars:empty{display:none}
.acc-stars svg{margin:0 1px}
.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 }
.pub-gallery{display:grid;gap:6px;margin:0 0 36px}
.pub-gal-item{overflow:hidden;border-radius:var(--r2);position:relative;background:var(--gg);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;letter-spacing:.01em}/* desktop layouts */

.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}/* mobile layouts */

.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}}/* ── Informační hláška ── */

.info-notice{display:flex;align-items:flex-start;gap:12px;padding:24px 28px;border-radius:var(--r2);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}
.info-notice-info{background:#EEF5FC;border-color:#1976D2;color:#1976D2}
.info-notice-info .info-notice-ico{color:#1976D2}
.info-type-btn{display:inline-flex;align-items:center;gap:6px}
.info-type-btn.active{background:var(--c-btnp);border-color:var(--c-btn);color:var(--c-btn)}/* ── Výhody (homepage) ── */

.pub-benefits{display:flex;flex-wrap:wrap;justify-content:space-evenly;gap:34px 34px;background:var(--c-bg);border-radius:var(--r2);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}}/* ── AKTUALITY / ČLÁNKY frontend ── */

.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); 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); display:flex; align-items:center; justify-content:center }
.pub-article-ph i { font-size:46px; color:var(--b2) }
.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 }}/* ── FAQ frontend ── */

.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); 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 }

.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 }
.aco-pol-b a { color:var(--c-btn); text-decoration:underline }
.aco-pol-b a:hover { text-decoration:none }
.ev-desc h1,.ev-desc h2,.ev-desc h3,.ev-desc h4,.ev-desc h5,.ev-desc h6 { color:var(--c-title); font-weight:600; margin:1.2em 0 1em; line-height:1.3 }
.ev-desc h1 b,.ev-desc h1 strong,.ev-desc h2 b,.ev-desc h2 strong,.ev-desc h3 b,.ev-desc h3 strong,.ev-desc h4 b,.ev-desc h4 strong,.ev-desc h5 b,.ev-desc h5 strong,.ev-desc h6 b,.ev-desc h6 strong { font-weight:600 }
.ev-desc h1{font-size:1.7em}.ev-desc h2{font-size:1.4em}.ev-desc h3{font-size:1.2em}.ev-desc h4{font-size:1.05em}.ev-desc h5,.ev-desc h6{font-size:1em}
.ev-desc ul { list-style:none; padding-left:0; margin:6px 0 12px }
.ev-desc ul li { position:relative; padding-left:36px; margin-bottom:6px }
.ev-desc 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 { list-style:none; counter-reset:evd-ol; padding-left:0; margin:6px 0 12px }
.ev-desc ol li { counter-increment:evd-ol; position:relative; padding-left:36px; margin-bottom:10px }
.ev-desc 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 }/* Tabulky na frontendu (popis, články, GDPR) - jemné linky mezi řádky + hover; sloupce dle obsahu, na mobilu pod sebe */

.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(--t2) }
.step-ln { flex:1; height:1px; background:var(--bd); margin:0 12px; min-width:10px; transition:background .3s }
.step-ln.done { background:var(--c-btnm) }

.ptitle { font-size:26px; font-weight:700; color:var(--c-title); letter-spacing:-.01em; margin-bottom:30px; 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-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) }
.item-card.full { opacity:.52; cursor:not-allowed }
.item-card.soon { cursor:not-allowed }

.item-card { position:relative; overflow:hidden }
.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:20px; 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) }

.screen-card { background:var(--wh); border-radius:var(--r2); padding:40px; margin-top:26px }

.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 }

.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 { font-size:13px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--t3); margin-bottom:10px }
.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-bottom:26px; margin-top:16px; 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 }
.btn-lg { padding:24px 36px; font-size:15px }
.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-del { }
.btn-del:hover { }
.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-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:none; line-height:1; 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:500; flex:1; min-width:0; word-break:break-word }

.frow { margin-bottom:20px }
.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 }
#fbill-wrap { margin-bottom:4px }
.ok-coupon-note { font-size:13px; color:var(--t3); margin-top:10px; display:flex; align-items:center; gap:6px }
.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; padding:12px 18px; font-size:14px; white-space:nowrap }@media(max-width:640px){ .frow-half { max-width:100% } .ares-row { flex-direction:column } .ares-btn { width:100%; justify-content:center }}
.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 }@media(max-width:640px){ .fgrid-ep { grid-template-columns:1fr }}
.flabel { display:block; font-size:16px; font-weight:600; color:var(--c-title); margin-bottom:7px }
.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) }
.fhint { margin-top:10px; 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 }
.gdpr-page { display:block; font-size:16px; line-height:1.8; color:var(--tx) }
.gdpr-page p { margin-bottom:1em }
.gdpr-page h1,.gdpr-page h2,.gdpr-page h3,.gdpr-page h4,.gdpr-page h5,.gdpr-page h6 { color:var(--c-title); margin:1.2em 0 0.4em; line-height:1.3 }
.gdpr-page h1 { font-size:2em } .gdpr-page h2 { font-size:1.6em } .gdpr-page h3 { font-size:1.3em }
.gdpr-page h4 { font-size:1.1em } .gdpr-page h5 { font-size:1em } .gdpr-page h6 { font-size:0.85em; text-transform:uppercase; letter-spacing:0.1em }
.gdpr-page a { color:var(--c-btn); text-decoration:underline }
.gdpr-page a:hover { text-decoration:none }
.gdpr-page ul { list-style:none; padding-left:0; margin:6px 0 12px }
.gdpr-page ul li { position:relative; padding-left:36px; margin-bottom:6px }
.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) }
.gdpr-page ol { list-style:none; counter-reset:gdpr-ol; padding-left:0; margin:6px 0 12px }
.gdpr-page ol li { counter-increment:gdpr-ol; position:relative; padding-left:36px; margin-bottom:10px }
.gdpr-page ol li::before { content:counter(gdpr-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 }

.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 }
.sel-bar-btns { display:flex; gap:8px }
.stats-g { display:grid; grid-template-columns:1fr; gap:11px; margin-bottom:8px }@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) }}
.stats-rooms-g { display:grid; grid-template-columns:1fr; gap:11px; margin-bottom:20px }@media(min-width:600px) and (max-width:1023px){ .stats-rooms-g { grid-template-columns:repeat(2,1fr) }}@media(min-width:1024px) and (max-width:1259px){ .stats-rooms-g { grid-template-columns:repeat(3,1fr) }}@media(min-width:1260px){ .stats-rooms-g { grid-template-columns:repeat(6,1fr) }}
.stats-period-act { background:var(--bg2); border-color:var(--t2); color:var(--tx) }@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-grid2 { display:grid; grid-template-columns:1fr 400px; gap:12px; margin-top:12px }@media(max-width:640px){ .stats-grid2 { grid-template-columns:1fr }}
.stats-grid3 { display:grid; grid-template-columns:1fr 260px 260px; gap:12px; margin-top:12px }@media(max-width:1023px){ .stats-grid3 { grid-template-columns:1fr 260px }}@media(max-width:640px){ .stats-grid3 { grid-template-columns:1fr }}
.stats-grid-half { display:grid; grid-template-columns:1fr 1fr; gap:12px }@media(max-width:640px){ .stats-grid-half { grid-template-columns:1fr }}
.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 }
.sg-3 { display:grid; grid-template-columns:1fr 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) }
::placeholder { color:var(--t3); opacity:1 }
.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 }
.s1-hdr{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.s1-hdr .ptitle{margin-bottom:10px;flex:1}
.rooms-view-toggle{display:flex;gap:4px;margin-left:auto}
.rvt-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--bd);border-radius:var(--r1);background:var(--b1);color:var(--t2);cursor:pointer;transition:background .15s,color .15s}
.rvt-btn:hover{background:var(--b2);color:var(--t1)}
.rvt-btn.rvt-active{background:var(--ac);border-color:var(--ac);color:#fff}
.rooms-savebar { display:none; position:fixed; bottom:0; left:0; right:0; z-index:9999; background:#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) }
.rooms-savebar.show { display:flex }
.rooms-savebar-msg { flex:1; font-size:14px; color:var(--t2) }
@keyframes btn-dots { 0%,100%{opacity:.3} 50%{opacity:1} }
.btn-saving { opacity:.8; cursor:wait !important; pointer-events:none }
.media-prev { position:relative; display:inline-block; line-height:0 }

.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 }
.email-layout > * { min-width:0 }
.epr-wrap { background:var(--gg); border:1px solid var(--bd); border-radius:var(--r); overflow-x:auto }
.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); min-width:480px }

.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 }

.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 50px }
  .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 }
  .sg-3 { grid-template-columns:1fr }
  .date-fields-row { grid-template-columns:1fr }
  .item-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); 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(--c-title); 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); padding-bottom:10px }
  .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; }
.tr-archived { opacity: 0.45; }
.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; }
.badge-archived {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  background: #9ca3af;
  border-radius: 20px;
  padding: 1px 7px;
  vertical-align: middle;
  letter-spacing: .02em;
  white-space: nowrap;
}
.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;
  vertical-align: middle;
  letter-spacing: .02em;
  white-space: nowrap;
}@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); 
}/* ── SPRÁVA POKOJŮ (admin) - převzato z ubytovací verze ───────────── */
.room-admin-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--bd);border-radius:var(--r2);margin-bottom:10px;background:var(--wh)}
.rar-ico{font-size:24px;color:var(--c-ico,var(--c-btn));width:32px;text-align:center}
.rar-main{flex:1}
.rar-name{font-size:15px;font-weight:600;color:var(--c-title,var(--nv))}
.rar-meta{font-size:12px;color:var(--t3);margin-top:2px}
.rar-acts{display:flex;gap:8px;align-items:center}
.badge{font-size:11px;padding:2px 8px;border-radius:20px;white-space:nowrap}
.badge-x{background:var(--rp);color:var(--re)}
.ico-btn{border:none;background:none;cursor:pointer;color:var(--t3);font-size:17px;padding:4px;border-radius:6px}
.ico-btn:hover{color:var(--re);background:var(--rp)}/* modal */

.modal-bg{position:fixed;inset:0;background:rgba(15,25,45,.5);display:flex;align-items:flex-start;justify-content:center;padding:30px 16px;z-index:1000;overflow-y:auto}
.modal-bg.hidden{display:none}
.modal-box{background:var(--wh);border-radius:var(--r2);max-width:680px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.25);margin:auto}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--bd);position:sticky;top:0;background:var(--wh);border-radius:var(--r2) var(--r2) 0 0;z-index:2}
.modal-x{border:none;background:none;font-size:20px;color:var(--t3);cursor:pointer;padding:4px}
.modal-x:hover{color:var(--tx)}
.modal-body{padding:22px}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--bd);position:sticky;bottom:0;background:var(--wh);border-radius:0 0 var(--r2) var(--r2)}
.form-grid{display:flex;flex-direction:column;gap:16px}
.fld{display:flex;flex-direction:column;gap:6px}
.gdpr-row{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:13px;color:var(--t2);cursor:pointer}
.gdpr-row input{width:17px;height:17px;margin-top:1px;accent-color:var(--c-btn);flex-shrink:0}
.rm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rm-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rm-sub{font-size:15px;color:var(--c-title,var(--nv));margin:0 0 4px}/* seasons */

.seas-row{display:grid;grid-template-columns:1fr auto auto auto;grid-template-areas:"name price unit del" "wd wd wd wd" "range range range range";gap:16px 16px;align-items:center;padding:18px;border:1px solid var(--bd);border-radius:var(--r);margin-bottom:16px}
.seas-row [data-sname]{grid-area:name}
.seas-row [data-sprice]{grid-area:price;width:90px}
.seas-unit{grid-area:unit;font-size:13px;color:var(--t3);line-height:40px;align-self:center;white-space:nowrap}
.seas-row .ico-btn{grid-area:del;align-self:center;padding:6px 9px}
.seas-row .ico-btn:hover{background:var(--wh) !important}
.seas-wd{grid-area:wd;display:flex;gap:8px;flex-wrap:wrap}
.wd-chip{font-size:13px;padding:6px 12px;border:1px solid var(--bd);border-radius:20px;cursor:pointer;color:var(--t2)}
.wd-chip.on{background:var(--c-btn);color:#fff;border-color:var(--c-btn)}
.wd-chip input{display:none}
.seas-range{grid-area:range;font-size:13px;color:var(--t3);display:flex;align-items:center;gap:12px}
.seas-range input{width:auto;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}
.seas-range input:focus{border-color:var(--c-btn)}/* room cal tools */

.rm-tools{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.rm-tool{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 11px;border:1px solid var(--bd);border-radius:20px;background:var(--wh);cursor:pointer;color:var(--t2);font-family:inherit;transition:background .12s,border-color .12s,color .12s}
.rm-tool i{font-size:13px}
.rm-tool:hover{border-color:var(--b2);color:var(--tx)}
.rm-tool.on{background:var(--c-btn);color:#fff;border-color:var(--c-btn)}
.rm-dot{width:9px;height:9px;border-radius:50%;background:var(--sc,#c9ccd6);flex-shrink:0;border:1px solid rgba(0,0,0,.12)}
.rm-tool.on .rm-dot{border-color:rgba(255,255,255,.7)}
.rm-tool-clear{border-style:dashed;color:var(--t3)}
.rm-tool-clear.on{background:var(--t2);border-color:var(--t2);color:#fff;border-style:solid}/* calendar (admin room editor) */

.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-month{font-size:15px;font-weight:600;color:var(--c-title,var(--nv));text-transform:capitalize}
.cal-navb{width:36px;height:36px;border:1px solid var(--bd);background:var(--wh);border-radius:var(--r);cursor:pointer;color:var(--t2);font-size:14px;display:flex;align-items:center;justify-content:center}
.cal-navb:hover:not(:disabled){border-color:var(--c-btn);color:var(--c-btn)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-dow{font-size:11px;text-align:center;color:var(--t3);padding:5px 0;font-weight:600}
.cal-day{min-height:46px;padding:5px 2px;border:1px solid var(--bd);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:14px;background:var(--wh);user-select:none;line-height:1.1}
.cal-day .cd-pr{font-size:9px;color:var(--t3);margin-top:2px}
.cal-day:hover:not(.cd-booked):not(.cd-reserved):not(.cd-empty){border-color:var(--c-btn)}
.cal-day.cd-empty{border:none;background:none;cursor:default}
.cal-day.cd-booked{background:var(--rp);color:var(--re);border-color:#f1c9c2}
.cal-day.cd-booked .cd-pr{color:var(--re)}
.cal-day.cd-reserved{background:#fca5a5;color:#991b1b;border-color:#ef4444;cursor:default}
.cal-day.cd-reserved .cd-pr{color:#991b1b}
.cal-day.cd-past{opacity:.35;cursor:default;pointer-events:none}
.cd-dots{display:flex;gap:3px;justify-content:center;margin-top:4px}
.cd-dot{width:5px;height:5px;border-radius:50%;background:var(--bd)}
.cd-dot.on{background:#f97316}
.cd-occ-bar{height:3px;background:var(--bd);border-radius:2px;margin-top:4px;overflow:hidden}
.cd-occ-fill{height:100%;background:#f97316;border-radius:2px}
.cd-occ-lbl{font-size:9px;color:#f97316;font-weight:600;margin-top:1px;line-height:1}
.cal-legend{display:flex;gap:16px;margin-top:20px;font-size:12px;color:var(--t2);flex-wrap:wrap}
.cal-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:5px}
.cal-legend .lg-free{background:var(--wh);border:1px solid var(--b2)}
.cal-legend .lg-booked{background:var(--rp);border:1px solid #f1c9c2}
.cal-legend .lg-reserved{background:#fca5a5;border:1px solid #ef4444}
.cal-legend .lg-partial{background:var(--wh);border:1px solid var(--b2);position:relative;overflow:hidden}
.cal-legend .lg-partial::after{content:'';position:absolute;left:0;top:0;bottom:0;width:50%;background:#f97316}
.rm-cal .cal-day{cursor:pointer;min-height:42px}/* ── Vybavení pokoje (zaškrtávátka) ────────────────────────────── */


.amen-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.amen-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--bd);border-radius:var(--r-btn);background:var(--wh);cursor:pointer;font-size:13px;color:var(--t2);user-select:none;transition:border-color .12s,background .12s,color .12s}
.amen-chip:hover{border-color:var(--b2)}
.amen-add{background:var(--bg)}
.amen-chip input{margin:0;width:15px;height:15px;flex-shrink:0;align-self:center;vertical-align:middle;accent-color:var(--c-btn);cursor:pointer}
.amen-chip .amen-ico{display:none;color:var(--c-btn);font-size:16px}
.amen-chip.on .amen-ico{display:inline-flex}
.amen-chip.on{border-color:var(--c-btn);background:var(--c-btnp);color:var(--tx)}
.amen-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}
.amen-x:hover{color:var(--tx)}
.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)}
.bed-row.dragging,.ext-row.dragging{opacity:.55;box-shadow:0 8px 24px rgba(0,0,0,.13);transform:scale(1.01);position:relative;z-index:5;background:var(--wh)}
.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}
.bed-row.drop-target{outline:none;position:relative}
.bed-row.drop-target::before{content:'';position:absolute;top:-2px;left:0;right:0;height:3px;background:var(--c-btn);border-radius:2px;z-index:1}
.bed-row{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;margin-bottom:8px}
.bed-row .bed-count{width:70px;flex:0 0 70px;text-align:center}
.bed-row .bed-type{flex:1 1 auto;min-width:0}
.bed-row .btn-del{flex:0 0 auto}@media(max-width:560px){.rm-grid2,.rm-grid3{grid-template-columns:1fr 1fr}}/* ── Dropzone pro nahrání fotek pokoje ─────────────────────────── *//* Průběh nahrávání fotek galerie */
@keyframes galspin{to{transform:rotate(360deg)}}/* Pořadí sekcí (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 */

#pub-gallery,#pub-benefits,#pub-faq,#pub-articles,#s1{margin-top:68px;margin-bottom:0}
#pub-faq,#pub-articles{padding-top:0}@media(max-width:640px){#pub-gallery,#pub-benefits,#pub-faq,#pub-articles,#s1{margin-top:36px}}/* Rezervace skrytá na úvodu */

body.res-hidden #s1{display:none !important}/* Mezera nad #s1 při scrollu z detailu zpět na výběr apartmánu (víc, když je sticky hlavička) */

#s1{scroll-margin-top:32px}
body:has(.hdr:not(.hdr-static):not(.hdr-hidden)) #s1{scroll-margin-top:100px}/* extras & coupons */

.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 1.4fr 0.8fr auto;gap:14px;align-items:start}
.cp-fields{grid-template-columns:2.2fr 0.9fr 1.2fr 0.7fr 0.7fr 0.8fr 0.9fr auto}@media(max-width:960px){.cp-fields{grid-template-columns:repeat(3,1fr) auto}}@media(max-width:600px){.cp-row{flex-wrap:wrap}.cp-row .cp-fields{flex-basis:100%;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}.ex-row{flex-wrap:wrap}.seas-range input{flex:1;min-width:0}.seas-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.wd-chip{padding:5px 0;text-align:center;font-size:12px}}
.ext-del{flex-shrink:0;color:#9ca3af;background:transparent;border:none;cursor:pointer;font-size:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--r);align-self:center}
.ext-del:hover{color:#9ca3af;background:transparent}
.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}
.ex-row .ext-del-btn{margin-bottom:7px}
.ext-row .sr{margin:0}
.ext-row .sl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ext-row .sh{margin-top:4px}@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}}



.social-links-front{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;padding:30px 40px 20px}
.foot-lang-wrap{display:flex;justify-content:center;margin:28px 0 10px}
.foot-lang{position:relative}
.foot-lang>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:14px;font-weight:500;color:var(--tx,#1a2028);background:var(--wh,#fff);border:1px solid var(--bd,#e2e6ea);border-radius:var(--r,6px);padding:9px 14px}
.foot-lang>summary::-webkit-details-marker{display:none}
.foot-lang>summary::marker{content:""}
.foot-lang>summary:hover{border-color:var(--b2,#c9d0d6)}
.foot-lang .flag{width:20px;height:20px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.1)}
.foot-lang .flag svg{width:100%;height:100%;display:block}
.foot-lang-chev{width:11px;height:11px;opacity:.55;margin-left:2px;transition:transform .18s}
.foot-lang[open] .foot-lang-chev{transform:rotate(180deg)}
.foot-lang-menu{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);min-width:160px;padding:4px;background:var(--wh,#fff);border:1px solid var(--bd,#e2e6ea);border-radius:var(--r,6px);overflow:hidden;box-shadow:0 14px 34px -12px rgba(20,30,45,.3);z-index:30}
.foot-lang-opt{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--r,6px);text-decoration:none;color:var(--tx,#1a2028);font-size:14px;white-space:nowrap}
.foot-lang-opt:hover{background:var(--c-bg,#f2f5f9)}
.foot-lang-opt.active{font-weight:700}
.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)}
/* na potvrzeni je patička skrytá - bez ni zbyde pod ikonkami osirela mezera a pod jazykem nic */
body:has(#s-acook:not(.hidden)) #social-links-front{margin-bottom:0}
body:has(#s-acook:not(.hidden)) .foot-lang-wrap{margin-bottom:0;padding-bottom:48px}/* ═══════════════════════════════════════════════════════════════
   VEŘEJNÝ FRONTEND UBYTOVÁNÍ (accommodation)
   ═══════════════════════════════════════════════════════════════ */


.aco-noresults{grid-column:1/-1;text-align:center;padding:48px 20px;color:var(--t3);font-size:16px}
.ev-loc-link{color:var(--tx);text-decoration:underline}
.ev-loc-link:hover{text-decoration:none}/* ── Karty pokojů (krok 1) ── */


.aco-rooms{display:flex;flex-direction:column;gap:16px}
.aco-room{display:flex;background:var(--wh);border:1px solid var(--bd);border-radius:var(--r2);overflow:hidden;cursor:pointer;transition:border-color .18s,box-shadow .18s;position:relative}
a.aco-room{color:inherit;text-decoration:none}
.aco-room-ribbon{position:absolute;top:34px;right:-52px;width:200px;text-align:center;transform:rotate(45deg);background:#E91E63;color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;padding:8px 0;pointer-events:none;z-index:3}
.aco-room:hover{border-color:var(--bd);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.aco-room-img{position:relative;flex:0 0 240px;width:240px;background:var(--gg);overflow:hidden}
.aco-room-img img{width:100%;height:100%;object-fit:cover;display:block}
.aco-room-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--b2);font-size:46px;min-height:170px}
.aco-room-imgn{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:3px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:4px}
.aco-room-body{flex:1;min-width:0;padding:34px 28px;display:flex;flex-direction:column;gap:16px}
.aco-room-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.aco-room-name{font-size:19px;font-weight:700;color:var(--c-title);margin:0;line-height:1.3}
.aco-room:hover .aco-room-name{text-decoration:underline}
.aco-room-cap{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;font-size:14px;color:var(--t2);white-space:nowrap}
.aco-room-desc{margin:0;font-size:14px;color:var(--t2);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.aco-room-beds{font-size:13px;color:var(--t3);display:flex;align-items:center;gap:6px}
.aco-fchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.aco-fchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--t2);background:var(--gg);border-radius:var(--r-btn);padding:4px 10px}
.aco-fchip i{font-size:13px;color:var(--c-btn)}
.aco-room-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:6px}
.aco-room-price{font-size:14px;color:var(--t2)}
.aco-room-price strong{font-size:20px;color:var(--c-title)}
.aco-from{font-size:13px;color:var(--t3)}
.aco-per{font-size:13px;color:var(--t3)}
.aco-room-btn{padding:11px 20px;font-size:15px}
.aco-room-closed{font-size:14px;color:var(--t3);font-weight:500}/* ── Grid 2×2 view pokojů (desktop only) ── */@media(min-width:700px){
  .aco-rooms-gv { display:grid; grid-template-columns:repeat(2,1fr); gap:16px }
  .aco-rooms-gv .aco-room { flex-direction:column }
  .aco-rooms-gv .aco-room-img { flex:none; width:100%; height:267px }
  .aco-rooms-gv .aco-room-noimg { min-height:200px }
  .aco-rooms-gv .aco-room-body { padding:18px 20px }}@media (min-width:700px){
  .aco-rooms-gv .aco-room-body { padding:40px 30px }}/* ── Grid 3×3 view pokojů (desktop only) ── */@media(min-width:960px){
  .aco-rooms-g3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px }
  .aco-rooms-g3 .aco-room { flex-direction:column }
  .aco-rooms-g3 .aco-room-img { flex:none; width:100%; height:200px }
  .aco-rooms-g3 .aco-room-noimg { min-height:160px }
  .aco-rooms-g3 .aco-room-name { font-size:16px }
  .aco-rooms-g3 .aco-room-btn { padding:9px 16px; font-size:14px }}@media(min-width:960px){
  .aco-rooms-g3 .aco-room-body { padding:40px 26px }}/* ── Detail pokoje (krok 2) ── */


.aco-back{margin-bottom:26px}
#aco-detail-card{position:relative;overflow:hidden;margin-top:32px}
.aco-dname{font-size:32px;font-weight:700;color:var(--c-title);margin:0 0 14px;line-height:1.2}
.aco-loc{font-size:14px;color:var(--t2);margin-bottom:14px}
.aco-loc-label{color:var(--t3)}
.aco-loc a{color:var(--c-btn);text-decoration:none}
.aco-loc a:hover{text-decoration:underline}
.aco-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.aco-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--t2);background:var(--gg);border-radius:var(--r-btn);padding:6px 12px}
.aco-chip i{font-size:15px;color:var(--c-btn)}
.aco-ddesc{font-size:15px;color:var(--t2);line-height:1.6;margin:0 0 4px}
.aco-ddesc h1,.aco-ddesc h2,.aco-ddesc h3,.aco-ddesc h4,.aco-ddesc h5,.aco-ddesc h6{color:var(--c-title);margin:1em 0 .4em;line-height:1.3}
.aco-ddesc h1{font-size:1.7em}.aco-ddesc h2{font-size:1.4em}.aco-ddesc h3{font-size:1.2em}.aco-ddesc h4{font-size:1.05em}.aco-ddesc h5,.aco-ddesc h6{font-size:1em}/* galerie */


.aco-gallery{margin-bottom:20px}
.aco-gmain{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--r2);overflow:hidden;cursor:zoom-in;background:var(--gg)}
.aco-gmain img{width:100%;height:100%;object-fit:cover;display:block}
.aco-gzoom{position:absolute;right:12px;bottom:12px;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}
.aco-gthumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px}
.aco-gthumb{flex:0 0 88px;width:88px;height:62px;border-radius:8px;overflow:hidden;border:2px solid transparent;background:var(--gg);cursor:pointer;padding:0}
.aco-gthumb img{width:100%;height:100%;object-fit:cover;display:block}
.aco-gthumb.on{border-color:var(--c-btn)}/* desktop photo grid */

.aco-gallery-dg{display:none}@media(min-width:860px){
  .aco-gallery .aco-gmain,.aco-gallery .aco-gthumbs{display:none}
  .aco-gallery-dg{display:flex;flex-direction:column;gap:5px;border-radius:var(--r2);overflow:hidden;margin-bottom:40px;background:var(--b1)}
  .aco-dg-top{display:grid;grid-template-columns:3fr 2fr;gap:5px;aspect-ratio:16/9;max-height:42vh}
  .aco-dg-top.aco-dg-2{grid-template-columns:1fr 1fr}
  .aco-dg-top.aco-dg-2 .aco-dg-side{grid-template-rows:1fr}
  .aco-dg-main{display:block;min-width:0;min-height:0;overflow:hidden;cursor:zoom-in;border:none;padding:0;background:var(--gg)}
  .aco-dg-main:only-child{grid-column:1/-1}
  .aco-dg-main img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .3s}
  .aco-dg-main:hover img{transform:scale(1.03)}
  .aco-dg-side{display:grid;grid-template-rows:1fr 1fr;gap:5px;min-width:0;min-height:0}
  .aco-dg-side button{display:block;position:relative;width:100%;min-height:0;overflow:hidden;cursor:zoom-in;border:none;padding:0;background:var(--gg)}
  .aco-dg-side button img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .3s}
  .aco-dg-side button:hover img{transform:scale(1.05)}
  .aco-dg-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
  .aco-dg-strip button{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in;border:none;padding:0;background:var(--gg)}
  .aco-dg-strip button img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .3s}
  .aco-dg-strip button:hover img{transform:scale(1.07)}
  .aco-dg-more span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;font-size:13px;font-weight:600;pointer-events:none}}/* sekce v detailu */


.aco-sect{margin-top:24px}
.aco-sect-occ{margin-top:0;margin-bottom:20px}
.aco-sect-occ+.aco-book-h{margin-top:24px}
#aco-detail .aco-sect{border-top:1px solid var(--bd);margin-top:24px;padding-top:24px}
.aco-h{font-size:18px;font-weight:700;color:var(--c-title);margin:0 0 12px}
.aco-beds{display:flex;flex-wrap:wrap;gap:10px}
.aco-bed{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--tx);background:var(--gg);border-radius:var(--r-btn);padding:9px 14px}
.aco-bed i{font-size:18px;color:var(--c-btn)}
.aco-amens{display:grid;grid-template-columns:repeat(4,1fr);gap:11px 22px}
.aco-amen{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--t2)}
.aco-amen i{font-size:17px;color:var(--c-btn);flex:0 0 auto}
.aco-pols{display:flex;flex-direction:column}
.aco-pol{display:grid;grid-template-columns:250px 1fr;gap:28px;padding:18px 0;border-top:1px solid var(--bd);align-items:start}
.aco-pol:first-child{border-top:none;padding-top:2px}
.aco-pol-head{display:flex;gap:11px;align-items:flex-start}
.aco-pol-head i{font-size:21px;color:var(--tx);flex:0 0 auto;margin-top:1px}
.aco-pol-t{font-size:15px;font-weight:700;color:var(--c-title);line-height:1.35}
.aco-pol-b{font-size:14px;color:var(--t2);line-height:1.65}
.aco-pol-b>:first-child{margin-top:0}
.aco-pol-b>:last-child{margin-bottom:0}
.aco-pol-b ul,.aco-pol-b ol{margin:0;padding-left:18px}
.aco-pol-b li{margin:2px 0}
.aco-pol-b p{margin:0 0 8px}/* ── Rezervační widget ── */


.aco-book{margin-top:18px}
.aco-book-h{font-size:18px;margin-bottom:14px}
.aco-cal-nav{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.aco-cal-navb{width:38px;height:38px;border:1px solid var(--bd);background:var(--wh);border-radius:var(--r-btn);cursor:pointer;color:var(--t2);display:flex;align-items:center;justify-content:center;font-size:16px;transition:border-color .15s,color .15s}
.aco-cal-navb:hover:not(:disabled){border-color:var(--b2);color:var(--tx)}
.aco-cal-navb:disabled{opacity:.4;cursor:not-allowed}
.aco-cal-month{font-size:16px;font-weight:600;color:var(--c-title);flex:1;min-width:0;text-align:center}
.aco-cals{display:flex;gap:30px;min-height:280px;align-items:flex-start}
.aco-cals .aco-cal{flex:1;min-width:0}
.aco-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;align-content:start}
.aco-dow{text-align:center;font-size:12px;font-weight:600;color:var(--t3);padding:4px 0}
.aco-day{height:50px;box-sizing:border-box;border:1px solid var(--bd);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;background:var(--wh)}
.aco-day:hover:not(.aco-booked):not(.aco-past):not(.aco-empty){border-color:var(--c-btn)}
.aco-dn{font-size:14px;color:var(--tx);font-weight:500}
.aco-dp{font-size:10px;color:var(--t3)}
.aco-day.aco-empty{border:none;background:transparent;cursor:default}
.aco-day.aco-past{background:var(--gg);color:var(--gt);cursor:not-allowed;border-color:transparent}
.aco-day.aco-past .aco-dn{color:var(--gt)}
.aco-day.aco-booked{background:var(--rp);border-color:#f4c5bc;cursor:not-allowed}
.aco-day.aco-booked .aco-dn{color:var(--re)}
.aco-day.aco-booked .aco-dp{font-size:0}
/* obsazena noc, ale den jde jeste pouzit jako odjezd - rano bile, noc cervena */
.aco-day.aco-booked.aco-co{background:linear-gradient(135deg,var(--wh) 0 49.6%,#f4c5bc 49.6% 50.4%,var(--rp) 50.4% 100%)}
.aco-day.aco-booked.aco-co-ok{border-color:var(--c-btn);cursor:pointer}
.aco-day.aco-booked.aco-sel{background:var(--c-btn);border-color:var(--c-btn);cursor:pointer}
.aco-day.aco-booked.aco-sel .aco-dn{color:#fff}
.aco-day.aco-range{background:var(--c-btnm);border-color:var(--c-btnm)}
.aco-day.aco-preview{background:#eef0fc;background:color-mix(in srgb,var(--c-btn) 8%,#fff);border-color:color-mix(in srgb,var(--c-btn) 22%,#fff)}
.aco-day.aco-sel{background:var(--c-btn);border-color:var(--c-btn);min-width:0;padding:0;border-width:1px;font-size:14px}
.aco-day.aco-sel .aco-dn{color:#fff}
.aco-day.aco-sel .aco-dp{color:#fff}
.aco-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;margin-bottom:30px;font-size:12px;color:var(--t2)}
.aco-legend span{display:inline-flex;align-items:center;gap:6px}
.aco-lg{width:13px;height:13px;border-radius:3px;display:inline-block;border:1px solid var(--bd)}
.aco-lg-free{background:var(--wh)}
.aco-lg-sel{background:var(--c-btn);border-color:var(--c-btn)}
.aco-lg-range{background:var(--c-btnp);border-color:var(--c-btnm)}
.aco-lg-booked{background:var(--rp);border-color:#f4c5bc}
.aco-lg-co{background:linear-gradient(135deg,var(--wh) 0 49.6%,#f4c5bc 49.6% 50.4%,var(--rp) 50.4% 100%);border-color:#f4c5bc}
.aco-callock{position:relative}
.aco-callock.is-locked .aco-cal-nav,.aco-callock.is-locked .aco-cals{filter:blur(2px);opacity:.4;pointer-events:none;user-select:none}
.aco-callock-msg{display:none}
.aco-callock.is-locked .aco-callock-msg{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;padding:16px}
.aco-callock-msg .info-notice{max-width:420px;background:var(--wh);border-color:var(--c-btn);color:var(--tx);box-shadow:0 6px 22px rgba(0,0,0,.09)}
.aco-callock-msg .info-notice-ico{color:var(--c-btn)}
.aco-callock-msg .info-notice-body{color:var(--tx)}
.info-notice-body a.aco-callock-a{display:block;margin-top:8px;color:var(--c-btn);font-weight:600;text-decoration:underline}
.info-notice-body a.aco-callock-a:hover{text-decoration:none}
.aco-cal-info{margin:40px 0 0;font-size:14px;color:var(--tx);font-weight:500;text-align:center}
.aco-minstay{margin:20px 0;font-size:13px;color:#fff;background:#E91E63;border-radius:var(--r);padding:8px 12px;text-align:center}
/* obsazenost */


.aco-occ{display:flex;flex-direction:column;gap:10px;max-width:340px}@media(min-width:641px){.aco-occ{max-width:260px}}
.aco-occ-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.aco-occ .aco-sel{width:118px}
.aco-occ-row label{font-size:15px;color:var(--tx)}
.aco-sel{padding:9px 12px;border:1.5px solid var(--bd);border-radius:var(--r);background:var(--wh);font-family:inherit;font-size:15px;color:var(--tx);min-width:90px;cursor:pointer}
.aco-sel:focus{outline:none;border-color:var(--c-btn)}
.aco-ages{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.aco-ages:empty{display:none}
.aco-age{display:flex;flex-direction:column;gap:4px}
.aco-age label{font-size:12px;color:var(--t3)}
.aco-age input{width:110px;padding:8px 12px;border:1.5px solid var(--bd);border-radius:var(--r);font-family:inherit;font-size:15px}
.aco-age input:focus{outline:none;border-color:var(--c-btn)}/* doplňky */


.aco-extra{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--bd);border-radius:var(--r);margin-bottom:10px;cursor:pointer;transition:border-color .12s,background .12s}
.aco-extra:hover{border-color:var(--b2)}
.aco-extra.on{border-color:var(--c-btn);background:var(--c-btnp)}
.aco-extra-inc{cursor:default;border-color:var(--bd);background:var(--b1)}
.aco-extra-inc:hover{border-color:var(--bd)}
.aco-excb-inc{display:flex;align-items:center;color:var(--c-btn);font-size:20px}
/* Zahrnutý doplněk = čistý řádek check + název, bez karty/tagu; barvu drží jen ikonka */
.aco-extra-clean{display:flex;align-items:center;gap:12px;padding:12px 0}
.aco-extra-clean+.aco-extra-clean{border-top:1px solid var(--bd)}
.aco-extra-clean .aco-excb-inc{font-size:24px}
.aco-h-after{margin-top:22px}
.aco-inc-tag{color:var(--c-btn) !important;font-weight:600}
.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(--t1);align-self:center}
.ri-inc-sel{}
@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%}}
.aco-excb{display:flex;align-items:center}
.aco-excb input{display:block;width:18px;height:18px;margin:0;accent-color:var(--c-btn);cursor:pointer}
.aco-exbody{flex:1;min-width:0}
.aco-exline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aco-exname{font-size:15px;font-weight:600;color:var(--c-title)}
.aco-extag{font-size:13px;color:var(--t3)}
.aco-exbody:not(:has(.aco-exdesc)) .aco-extag{margin-top:3px}
.aco-exqty{width:62px;padding:5px 8px;border:1.5px solid var(--bd);border-radius:var(--r);font-family:inherit;font-size:14px;color:var(--tx);background:var(--wh);outline:none;-webkit-appearance:none;transition:border-color .15s}
.aco-exqty:focus{border-color:var(--c-btn)}
.aco-exqty-wrap{display:inline-flex;align-items:center;gap:5px;margin-left:auto}
.aco-exqty-lbl{font-size:12px;color:var(--t3);white-space:nowrap}
.aco-exdesc{font-size:13px;color:var(--t3);margin-top:3px;line-height:1.5}
.aco-excond{margin-top:8px}
.aco-excond .finput{font-size:14px;padding:8px 12px;max-width:280px}
.aco-excost{flex:0 0 auto;font-size:15px;font-weight:600;color:var(--c-title);white-space:nowrap}/* slevový kód */


.aco-coupon{display:flex;gap:8px;max-width:380px}
.aco-coupon .finput{flex:1}
.aco-coupon .btn-out{flex:0 0 auto;padding:12px 18px}
.aco-coupon-msg{margin:8px 0 0;font-size:13px}
.aco-coupon-msg.ok{color:var(--c-btn)}
.aco-coupon-msg.err{color:#fff;background:#E91E63;border-radius:var(--r);padding:8px 12px}/* součet */


.aco-total{margin-top:24px;border-top:1px solid var(--bd);padding-top:16px}
.aco-tr{display:flex;justify-content:space-between;gap:16px;font-size:15px;color:var(--t2);padding:5px 0}
.aco-tr span:first-child{min-width:0;flex:1}
.aco-tr span:last-child{white-space:nowrap;flex-shrink:0;text-align:right}
.aco-tr-disc span:last-child{color:var(--c-btn)}
.aco-tr-total{font-size:19px;font-weight:700;color:var(--c-title);border-top:1px solid var(--bd);margin-top:6px;padding-top:12px}
.aco-cont{width:100%;justify-content:center;margin-top:18px}/* souhrn (krok 3 / potvrzení) */


.aco-summary{margin:18px 0 24px}
#aco-summary,#aco-ok-summary{display:table;width:100%;border-collapse:collapse}
#aco-summary .sum-row,#aco-ok-summary .sum-row{display:table-row}
#aco-summary .sum-row .sum-l,#aco-summary .sum-row .sum-v,#aco-ok-summary .sum-row .sum-l,#aco-ok-summary .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}
#aco-summary .sum-row .sum-l,#aco-ok-summary .sum-row .sum-l{white-space:nowrap;padding-right:24px;color:var(--t3);width:1%}@media(max-width:640px){#aco-summary .sum-row .sum-l,#aco-ok-summary .sum-row .sum-l{width:50%;white-space:normal}}
#aco-summary .sum-row .sum-v,#aco-ok-summary .sum-row .sum-v{color:var(--tx);font-weight:500}
#aco-summary .sum-row:last-child .sum-l,#aco-summary .sum-row:last-child .sum-v,#aco-ok-summary .sum-row:last-child .sum-l,#aco-ok-summary .sum-row:last-child .sum-v{border-bottom:none}
.aco-sum-total{}
.aco-pay{border-top:1px solid var(--bd);padding-top:16px;margin-top:4px}
.aco-pay-note{font-size:13px;color:var(--t3);margin-top:10px}
.aco-paylist{display:table;width:100%;border-collapse:collapse}
.aco-paylist .sum-row{display:table-row}
.aco-paylist .sum-row .sum-l,.aco-paylist .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}
.aco-paylist .sum-row .sum-l{white-space:nowrap;padding-right:24px;color:var(--t3);width:1%}
.aco-paylist .sum-row .sum-v{color:var(--tx);font-weight:500;word-break:break-word}
.aco-paylist .sum-row:last-child .sum-l,.aco-paylist .sum-row:last-child .sum-v{border-bottom:none}
@media(max-width:640px){.aco-paylist .sum-row .sum-l{width:auto;white-space:normal}}
#gdpr span{font-size:14px;line-height:1.6}
#gdpr span a{font-size:14px}/* lightbox */


.aco-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:24px}
.aco-lb-stage{position:relative;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.aco-lb-stage img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px;display:block}
.aco-lb-x{position:fixed;top:18px;right:20px;width:44px;height:44px;border:none;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center}
.aco-lb-x:hover{background:rgba(255,255,255,.22)}
.aco-lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center}
.aco-lb-nav:hover{background:rgba(255,255,255,.22)}
.aco-lb-prev{left:20px}
.aco-lb-next{right:20px}
.aco-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}@media(max-width:900px){.aco-amens{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){
  .aco-room{flex-direction:column}
  .aco-room-img{flex:none;width:100%;height:266px}
  .aco-room-noimg{min-height:190px}
  .aco-room-foot{flex-direction:column;align-items:stretch;gap:20px}
  .aco-room-btn{width:100%;justify-content:center;text-align:center}
  .aco-dname{font-size:22px}
  .aco-amens{grid-template-columns:1fr 1fr}
  .aco-pol{grid-template-columns:1fr;gap:7px}
  .aco-pol:first-child{padding-top:2px}
  .aco-cal-second{display:none}
  #aco-cal-m1{display:none}
  .aco-cals{display:block;min-height:320px}
  .aco-dn{font-size:13px}
  .aco-dp{font-size:9px}
  .aco-day{height:46px}
  .aco-lb-nav{width:44px;height:44px;font-size:20px}/* extras: stack vertically on mobile */
  
  .aco-extra{align-items:flex-start;flex-wrap:wrap}
  .aco-excb{padding-top:2px}
  .aco-exbody{display:flex;flex-direction:column;gap:4px}
  .aco-exline{display:contents}
  .aco-exname{order:1}
  .aco-exdesc{order:2}
  .aco-extag{order:3}
  .aco-exqty-wrap{order:4;margin-left:0;margin-top:2px}
  .aco-excond{order:5}
  .aco-cal-info{margin:0}/* persons count on new line */
  
  .tr-sep{display:none}
  .tr-persons{display:block;font-size:13px;color:var(--t3);margin-top:2px}/* cost at bottom, only when non-empty */
  
  .aco-excost:empty{display:none}
  .aco-excost:not(:empty){flex:0 0 100%;padding-left:30px}
  .aco-exdesc{margin-top:8px}}@media(max-width:420px){
  .aco-amens{grid-template-columns:1fr}
  .aco-cal{gap:3px}}/* ── Manual reservation drawer ── */
.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}}/* 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}}

/* ── HODNOCENÍ / RECENZE ── */
.pub-reviews{margin:60px 0}
.rv-title{margin:0 0 24px}
.rv-box{background:var(--wh);border:1px solid var(--bd);border-radius:var(--r2,14px);padding:42px 42px}
.rv-summary{display:grid;grid-template-columns:1.5fr repeat(6,1fr);border-bottom:1px solid var(--bd);padding-bottom:24px;margin-bottom:26px}
.rv-overall{padding-right:20px}
.rv-overall{display:flex;flex-direction:column;align-items:flex-start}
.rv-ov-row{display:flex;align-items:center;gap:12px;margin-top:10px}
.rv-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 10px;background:var(--c-btn);color:#fff;font-size:21px;font-weight:700;border-radius:var(--r-btn);line-height:1}
.rv-ov-col{display:flex;flex-direction:column;align-items:flex-start}
.rv-ov-word{font-size:16px;font-weight:700;color:var(--c-title,var(--tx))}
.rv-ov-cnt{background:none;border:none;padding:0;margin-top:2px;font-family:inherit;font-size:12.5px;color:var(--t3);text-decoration:underline;cursor:pointer;text-align:left}
.rv-ov-cnt:hover{text-decoration:none;color:var(--tx)}
.rv-cat{border-left:1px solid var(--bd);padding:2px 12px 0 18px;display:flex;flex-direction:column}
.rv-cat-l{font-size:14px;font-weight:600;color:var(--tx)}
.rv-cat-v{font-size:18px;font-weight:600;margin-top:5px;color:var(--c-title,var(--tx))}
.rv-cat-i{margin-top:auto;padding-top:20px;color:var(--tx);font-size:30px;line-height:1;opacity:.9}
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 44px}
.rv-c-name{font-weight:700;font-size:15px;color:var(--c-title,var(--tx))}
.rv-c-loc{display:flex;align-items:center;gap:7px;color:var(--t3);font-size:12.5px;margin-top:2px}
.rv-c-loc span{line-height:18px;position:relative;top:2px}
.rv-flag{width:18px;height:18px;border-radius:50%;overflow:hidden;display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.12) inset;flex:none}
.rv-flag svg{display:block;width:100%;height:100%}
.rv-c-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;color:var(--t2,#555);font-size:12.5px}
.rv-c-stars{display:inline-flex;line-height:0}
.rv-c-body{margin-top:9px;font-size:14px;color:var(--tx);line-height:1.55;white-space:pre-line}
.rv-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rv-allbtn{text-align:center;margin-top:28px}
.rv-more{display:inline-block;background:none;border:none;padding:0;margin-top:8px;font-size:13px;font-weight:600;color:var(--tx);text-decoration:underline;cursor:pointer;font-family:inherit}
.rv-more:hover{text-decoration:none}
.rv-modal{position:fixed;inset:0;z-index:1000;background:rgba(20,22,26,.5);display:flex;align-items:center;justify-content:center;padding:20px}
.rv-modal-box{background:var(--wh);border-radius:16px;width:100%;max-width:620px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
.rv-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--bd)}
.rv-modal-head h3{margin:0;font-size:17px;font-weight:750;color:var(--c-title,var(--tx))}
.rv-modal-tools{display:flex;align-items:center;gap:10px;flex:none}
.rv-sortdd{position:relative}
.rv-sortdd>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:14px;font-weight:500;color:var(--tx);background:var(--wh);border:1px solid var(--bd);border-radius:var(--r,6px);padding:9px 14px}
.rv-sortdd>summary::-webkit-details-marker{display:none}
.rv-sortdd>summary::marker{content:""}
.rv-sortdd>summary:hover{border-color:var(--b2,#c9d0d6)}
.rv-sort-chev{width:11px;height:11px;opacity:.55;margin-left:2px;transition:transform .18s}
.rv-sortdd[open] .rv-sort-chev{transform:rotate(180deg)}
.rv-sort-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;padding:4px;background:var(--wh);border:1px solid var(--bd);border-radius:var(--r,6px);box-shadow:0 14px 34px -12px rgba(20,30,45,.3);z-index:40}
.rv-sort-opt{display:flex;width:100%;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--r,6px);border:none;background:none;font-family:inherit;text-align:left;color:var(--tx);font-size:14px;white-space:nowrap;cursor:pointer}
.rv-sort-opt:hover{background:var(--c-bg,#f2f5f9)}
.rv-sort-opt.active{font-weight:700}
.rv-modal-x{width:34px;height:34px;border-radius:50%;border:1px solid var(--bd);background:var(--wh);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--tx);font-size:16px}
.rv-modal-body{padding:2px 22px 22px;overflow:auto}
.rv-modal-body .rv-card{padding:20px 0;border-bottom:1px solid var(--bd)}
.rv-modal-body .rv-card:last-child{border-bottom:none}
.rv-modal-body .rv-c-body{-webkit-line-clamp:unset;display:block;overflow:visible}
@media(max-width:900px){
  .rv-summary{grid-template-columns:repeat(3,1fr);row-gap:18px}
  .rv-overall{grid-column:1/-1;border-bottom:1px solid var(--bd);padding:0 0 18px}
  .rv-cat:nth-child(3n+2){border-left:none;padding-left:0}
}
@media(max-width:640px){
  .rv-box{padding:20px 16px}
  .rv-grid{grid-template-columns:1fr;gap:22px}
  .rv-modal-head{flex-wrap:wrap;gap:10px 8px;padding:15px 16px}
  .rv-modal-head h3{flex:1 0 100%}
  .rv-modal-tools{width:100%;justify-content:space-between}
  .rv-modal-body{padding:2px 16px 18px}
}
@media(max-width:560px){
  .rv-summary{grid-template-columns:1fr 1fr}
  .rv-cat:nth-child(3n+2){border-left:1px solid var(--bd);padding-left:18px}
  .rv-cat:nth-child(even){border-left:none;padding-left:0}
}
/* Hodnocení - admin správa */
.rv-adm-row{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid var(--bd);border-radius:var(--r2);margin-bottom:9px;background:var(--wh)}
.rv-adm-row.pending{border-color:#f17100;background:#FEF6EC}
.rv-adm-row.hidden{opacity:.62}
.rv-adm-main{flex:1;min-width:0}
.rv-adm-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rv-adm-top .rv-flag{width:14px;height:14px}
.rv-adm-stars{display:inline-flex;line-height:0}
.rv-adm-tag{font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 8px 2px;display:inline-flex;align-items:center;line-height:1}
.rv-adm-tag.pend{color:#f17100;background:#FEF6EC;border:1px solid #f17100}
.rv-adm-tag.hid{color:var(--t3);background:var(--gg,#f1f2f4)}
.rv-adm-meta{font-size:12.5px;color:var(--t3);margin-top:6px}
.rv-adm-snip{font-size:13px;color:var(--t2,#555);margin-top:6px;line-height:1.5;white-space:pre-line}
.rv-adm-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rv-adm-main .rv-more{margin-top:4px}
.rv-adm-ctrls{display:flex;align-items:center;gap:6px;flex-shrink:0}
@media(max-width:640px){.rv-adm-row{flex-wrap:wrap}.rv-adm-ctrls{flex-basis:100%;justify-content:flex-start;margin-top:2px}.rv-adm-clamp{-webkit-line-clamp:4}}
/* Admin archiv odebranych: desktop 1 radek, mobil nazev + ovladani pod nim */
.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}}

.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}/* 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);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);margin-bottom:8px}
.ui-modal-m{font-size:14px;color:var(--t2);line-height:1.55}
.ui-modal-cb{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;color:var(--tx);cursor:pointer}
.ui-modal-cb input{width:18px;height:18px;accent-color:var(--c-btn);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);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)}@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}}