.cg-ht{--_p:var(--cg-primary,#142033);--_s:var(--cg-secondary,#C8A24A);--_ink:var(--cg-ink,#1B1F24);--_tint:var(--cg-tint,#F4F5F7);--_line:var(--cg-line,#E2E5EA);--_r:var(--cg-radius,16px);font-family:var(--cg-font-body,inherit);color:var(--_ink)}
.cg-ht *{box-sizing:border-box}
.cg-ht__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cg-ht-ico{width:20px;height:20px;flex:none;display:block}
.cg-ht__head{margin-bottom:36px;max-width:640px}
.cg-ht__heading{font-family:var(--cg-font-heading,inherit);font-weight:700;font-size:clamp(26px,3vw,34px);line-height:1.2;color:var(--_p);margin:0;padding:0}
.cg-ht__sub{font-size:16px;line-height:1.5;opacity:.7;margin:12px 0 0;padding:0}

/* Společná mapa */
.cg-ht__mapwrap{margin-bottom:32px}
.cg-ht__map{height:clamp(320px,45vw,480px);border-radius:var(--_r);border:1px solid var(--_line);overflow:hidden;background:var(--_tint);z-index:0}
.cg-ht__legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:13.5px;opacity:.8}
.cg-ht__legend-venue,.cg-ht__legend-hotel{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;line-height:1}
.cg-ht__legend-venue{background:var(--_s);color:var(--_p)}
.cg-ht__legend-hotel{background:var(--_p);color:#fff;margin-left:12px}

/* Piny */
.cg-ht-icon{background:none!important;border:0!important}
.cg-ht-pin{display:grid;place-items:center;width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--cg-primary,#142033);border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.3);transition:transform .2s,background .2s}
.cg-ht-pin b{transform:rotate(45deg);color:#fff;font:700 13px/1 var(--cg-font-body,sans-serif)}
.cg-ht-pin--venue{width:44px;height:44px;background:var(--cg-secondary,#C8A24A);color:var(--cg-primary,#142033);border-width:3px}
.cg-ht-pin--venue svg{width:22px;height:22px;transform:rotate(45deg)}
.leaflet-marker-icon.is-active .cg-ht-pin{background:var(--cg-secondary,#C8A24A);transform:rotate(-45deg) scale(1.2)}
.leaflet-marker-icon.is-active .cg-ht-pin b{color:var(--cg-primary,#142033)}
.cg-ht-tip{background:var(--cg-primary,#142033);color:#fff;border:0;border-radius:8px;padding:6px 10px;font:600 12.5px/1.3 var(--cg-font-body,sans-serif);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.cg-ht-tip::before{border-top-color:var(--cg-primary,#142033)!important}
.cg-ht-tip--hotel{background:#fff;color:var(--cg-primary,#142033)}
.cg-ht-tip--hotel::before{border-top-color:#fff!important}

/* Karty */
.cg-ht__list{display:flex;flex-direction:column;gap:20px}
.cg-ht__divider{display:flex;align-items:center;gap:20px;margin:28px 0 4px}
.cg-ht__divider:first-child{margin-top:0}
.cg-ht__divider::before,.cg-ht__divider::after{content:"";flex:1;height:1px;background:var(--_line)}
.cg-ht__divider-label{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--_p);white-space:nowrap}
.cg-ht__divider-stars{color:var(--_s);font-size:17px;letter-spacing:3px}
.cg-ht__card{background:#fff;border:1px solid var(--_line);border-radius:var(--_r);overflow:hidden;scroll-margin-top:110px;transition:border-color .2s,box-shadow .2s}
.cg-ht__card.is-open{border-color:color-mix(in srgb,var(--_s) 60%,var(--_line));box-shadow:0 16px 40px rgba(0,0,0,.08)}
.cg-ht__main{display:grid;grid-template-columns:300px minmax(0,1fr) auto;align-items:stretch}
.cg-ht__main>*{min-width:0}
.cg-ht__photo{position:relative;aspect-ratio:3/2;background:var(--_tint);overflow:hidden;min-width:0}
.cg-ht .cg-ht__photo .cg-ht__img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:cover}
.cg-ht .cg-ht__thumb img,.cg-ht .cg-ht-lb__img{max-width:none;margin:0}
.cg-ht .cg-ht__thumb img{width:100%!important;height:100%!important}
.cg-ht__map img,.cg-ht__hmap img{max-width:none!important;max-height:none!important;width:auto;height:auto}
.cg-ht__map .leaflet-tile,.cg-ht__hmap .leaflet-tile{width:256px!important;height:256px!important}
.cg-ht__num{position:absolute;top:12px;left:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--_p);color:#fff;font-size:13px;font-weight:700;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.cg-ht__body{padding:24px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.cg-ht__stars{display:flex;gap:2px;color:var(--_s);font-size:15px;line-height:1;margin-bottom:8px}
.cg-ht__name{font-family:var(--cg-font-heading,inherit);font-weight:700;font-size:clamp(19px,2vw,22px);line-height:1.25;color:var(--_p);margin:0 0 6px;padding:0}
.cg-ht__loc{display:flex;align-items:flex-start;gap:6px;font-size:14px;opacity:.75;margin-bottom:16px}
.cg-ht__loc .cg-ht-ico{width:17px;height:17px;margin-top:1px}
.cg-ht__dist{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0 0 16px;padding:0}
.cg-ht__dist li{display:flex;align-items:center;gap:7px;margin:0;padding:0;font-size:14px;font-weight:600;color:var(--_p)}
.cg-ht__dist .cg-ht-ico{color:var(--_s)}
.cg-ht__svc{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.cg-ht__svc li{display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border-radius:50%;background:var(--_tint);color:var(--_p)}
.cg-ht__svc .cg-ht-ico{width:18px;height:18px}
.cg-ht__side{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:16px;padding:24px 28px;border-left:1px solid var(--_line);min-width:220px}
.cg-ht__from{text-align:right;line-height:1.2}
.cg-ht__from span{font-size:13px;opacity:.65}
.cg-ht__from strong{font-family:var(--cg-font-heading,inherit);font-size:24px;color:var(--_p)}
.cg-ht__from small{display:block;font-size:12.5px;opacity:.6;margin-top:4px}
.cg-ht__toggle{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid var(--_p);border-radius:calc(var(--_r) - 6px);background:var(--_p);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.cg-ht__toggle:hover{filter:brightness(1.15)}
.cg-ht__toggle svg{width:18px;height:18px;transition:transform .25s}
.cg-ht__toggle-close{display:none}
.cg-ht__card.is-open .cg-ht__toggle{background:#fff;color:var(--_p)}
.cg-ht__card.is-open .cg-ht__toggle:hover{filter:none;background:var(--_tint)}
.cg-ht__card.is-open .cg-ht__toggle svg{transform:rotate(180deg)}
.cg-ht__card.is-open .cg-ht__toggle-open{display:none}
.cg-ht__card.is-open .cg-ht__toggle-close{display:inline}

/* Detail */
.cg-ht__detail{border-top:1px solid var(--_line);padding:0 28px 28px;animation:cg-ht-in .3s ease both}
@keyframes cg-ht-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cg-ht__tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--_line);margin:0 -28px 24px;padding:0 20px;scrollbar-width:none}
.cg-ht__tab{position:relative;flex:none;padding:16px 14px;border:0;background:none;font:inherit;font-size:14.5px;font-weight:600;color:var(--_ink);opacity:.6;cursor:pointer;transition:opacity .15s}
.cg-ht__tab:hover{opacity:1}
.cg-ht__tab[aria-selected="true"]{opacity:1;color:var(--_p)}
.cg-ht__tab[aria-selected="true"]::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--_s)}
.cg-ht__tab:focus-visible{outline:2px solid var(--_s);outline-offset:-4px;border-radius:8px}
.cg-ht__text{font-size:15.5px;line-height:1.7;max-width:760px}
.cg-ht__text p{margin:0 0 1em;padding:0}
.cg-ht__text a{color:var(--_p);text-decoration:underline}
.cg-ht__svc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 24px;list-style:none;margin:24px 0 0;padding:24px 0 0;border-top:1px solid var(--_line)}
.cg-ht__svc-list li{display:flex;align-items:center;gap:10px;margin:0;padding:0;font-size:14.5px}
.cg-ht__svc-list .cg-ht-ico{color:var(--_s)}
.cg-ht__panel--info>.cg-ht__svc-list:first-child{margin-top:0;padding-top:0;border-top:0}
.cg-ht__rooms{width:100%;border-collapse:collapse;font-size:15px;margin:0}
.cg-ht__rooms th,.cg-ht__rooms td{padding:14px 16px;border:0;border-bottom:1px solid var(--_line);text-align:left;vertical-align:middle;background:none}
.cg-ht__rooms thead th{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--_p);background:var(--_tint)}
.cg-ht__rooms thead th small{text-transform:none;letter-spacing:0;font-weight:500;opacity:.7}
.cg-ht__rooms tbody th{font-weight:600}
.cg-ht__rooms tbody th small{display:block;font-weight:400;font-size:13px;opacity:.65;margin-top:2px}
.cg-ht__rooms td{text-align:right;font-weight:700;color:var(--_p);white-space:nowrap}
.cg-ht__rooms thead th:last-child{text-align:right}
.cg-ht__hmap{height:380px;border-radius:calc(var(--_r) - 4px);border:1px solid var(--_line);overflow:hidden;background:var(--_tint);z-index:0}
.cg-ht__directions{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;color:var(--_p);text-decoration:none;border-bottom:1px solid currentColor}
.cg-ht__directions:hover{color:var(--_s)}
.cg-ht__gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.cg-ht__thumb{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--_tint)}
.cg-ht__thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.cg-ht__thumb:hover img{transform:scale(1.05)}
.cg-ht__foot{margin-top:28px;padding-top:24px;border-top:1px solid var(--_line);display:flex;justify-content:flex-end}
.cg-ht__book{display:inline-flex;gap:8px;align-items:center;padding:13px 24px;border-radius:calc(var(--_r) - 6px);background:var(--_s);color:var(--_p);font-weight:700;font-size:15px;text-decoration:none;transition:filter .15s}
.cg-ht__book:hover{filter:brightness(1.08);color:var(--_p)}

/* Lightbox */
.cg-ht-lb{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,14,20,.94);color:#fff;display:none;align-items:center;justify-content:center}
.cg-ht-lb[open]{display:flex}
.cg-ht-lb::backdrop{background:transparent}
.cg-ht-lb__img{max-width:min(1200px,calc(100vw - 140px));max-height:calc(100vh - 120px);object-fit:contain;border-radius:8px;user-select:none;touch-action:pan-y}
.cg-ht-lb__close,.cg-ht-lb__nav{position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px;line-height:1;cursor:pointer;transition:background .15s}
.cg-ht-lb__close:hover,.cg-ht-lb__nav:hover{background:rgba(255,255,255,.25)}
.cg-ht-lb__close{top:20px;right:20px;font-size:28px}
.cg-ht-lb__nav--prev{left:20px;top:50%;transform:translateY(-50%)}
.cg-ht-lb__nav--next{right:20px;top:50%;transform:translateY(-50%)}
.cg-ht-lb.is-single .cg-ht-lb__nav,.cg-ht-lb.is-single .cg-ht-lb__count{display:none}
.cg-ht-lb__count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:13px;opacity:.7}

@media (prefers-reduced-motion:reduce){.cg-ht__detail{animation:none}.cg-ht__thumb img,.cg-ht-pin{transition:none}}
@media (max-width:1000px){
  .cg-ht__main{grid-template-columns:260px minmax(0,1fr)}
  .cg-ht__side{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-left:0;border-top:1px solid var(--_line);padding:18px 24px}
  .cg-ht__from{text-align:left}
}
@media (max-width:640px){
  .cg-ht__main{grid-template-columns:minmax(0,1fr)}
  .cg-ht__body{padding:20px}
  .cg-ht__side{padding:16px 20px;flex-wrap:wrap}
  .cg-ht__detail{padding:0 20px 24px}
  .cg-ht__tabs{margin:0 -20px 20px;padding:0 10px}
  .cg-ht__hmap{height:300px}
  .cg-ht-lb__img{max-width:100vw;border-radius:0}
  .cg-ht-lb__nav{top:auto;bottom:16px;transform:none}
  .cg-ht-lb__count{bottom:32px}
}
