:root {
  --pri:    #007CC3;
  --pri-d:  #005fa0;
  --cta:    #e8612c;
  --cta-d:  #c94e1e;
  --light:  #f7f9fb;
  --border: #dde3ec;
  --muted:  #6b7280;
  --radius: 12px;
  --shadow: 0 2px 12px rgba(0,0,0,.08);
}
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; color:#1a1a2e; background:#fff; }
a { color:var(--pri); }

/* Original header */
.header { position:relative; height:175px; margin-bottom:0; }
/* Header search form – desktop: right-aligned in header */
.header__search { position:absolute; left:265px; right:10px; top:50%; transform:translateY(-50%); z-index:200; }
.hdr-sf { display:flex; align-items:center; gap:4px; background:#fff; border-radius:4px; padding:5px 6px; flex-wrap:wrap; justify-content:flex-end; width:100%; }
.hdr-sf input,.hdr-sf select { border:1px solid #ccc; border-radius:3px; padding:5px 7px; font-size:.8rem; min-width:0; }
.hdr-sf-dest { flex:0 0 auto; width:auto; max-width:200px; }
.hdr-sf-date { flex:0 0 185px; cursor:pointer; }
.hdr-sf-pers { width:75px; flex-shrink:0; }
.hdr-sf-btn { background:var(--cta); color:#fff; border:none; border-radius:3px; padding:5px 14px; font-size:.82rem; font-weight:700; cursor:pointer; white-space:nowrap; flex-shrink:0; }
.hdr-sf-btn:hover { background:#c96000; }
/* Mobile: normal flow, logo then search stacked */
@media(max-width:767px){
  .header {
    height:auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    padding:6px 0 8px !important;
  }
  .header__logo { position:static !important; top:auto !important; left:auto !important; order:1; }
  .header__logo img { max-width:155px !important; height:auto !important; }
  .header__guarantee { display:none !important; }
  .header__flags { position:static !important; top:auto !important; bottom:auto !important; right:auto !important; order:0; text-align:right; margin-bottom:2px; }
  .header__search { position:static !important; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; transform:none !important; padding:4px 0 0 !important; order:2; width:100% !important; }
  .hdr-sf { width:100% !important; justify-content:flex-start; flex-wrap:wrap; gap:3px; padding:3px 4px; }
  .hdr-sf-dest { flex:1 1 100% !important; max-width:none !important; }
  .hdr-sf-date { flex:1 1 0 !important; min-width:120px; width:auto !important; }
  .hdr-sf-pers { width:60px !important; flex-shrink:0; }
  .hdr-sf-btn { padding:5px 10px; flex-shrink:0; }
}
.header__claim { position:absolute; left:-5000px; }
.header__logo { position:absolute; top:10px; left:0; z-index:90; }
.header__logo img { max-width:251px; }
.header__guarantee { position:absolute; top:20px; right:0; }
.header__flags { position:absolute; bottom:15px; right:0; z-index:95; text-align:right; }
.header__flags_toggle { display:none; }
.header__flags_list { display:inline-block; background:#fff; }
.header p.h { position:absolute; left:-5000px; }

/* Flags sprite */
.flag { position:relative; display:inline-block; width:18px; height:12px; font-size:12px; line-height:12px; background-image:url(/img/sprite-flags.png); background-repeat:no-repeat; margin:0 3px; }
.flag__at  { background-position:-5px -5px; }
.flag__cro { background-position:-33px -5px; }
.flag__cz  { background-position:-61px -5px; }
.flag__eng { background-position:-89px -5px; }
.flag__eu  { background-position:-117px -5px; }
.flag__fr  { background-position:-145px -5px; }
.flag__ger { background-position:-173px -5px; }
.flag__hun { background-position:-229px -5px; }
.flag__ita { background-position:-257px -5px; }
.flag__nl  { background-position:-285px -5px; }
.flag__pol { background-position:-313px -5px; }
.flag__rus { background-position:-369px -5px; }
.flag__sk  { background-position:-425px -5px; }
.flag__slo { background-position:-453px -5px; }

/* Grafika sprite */
.grafika { display:inline-block; background-image:url(/grafika/sprite-grafika.png); background-repeat:no-repeat; }
.grafika-garance { width:359px; height:15px; background-position:-31px -2px; }
.grafika-uvch    { width:200px; height:11px; background-position:-426px -5px; }

/* Topmenu */
.topmenu { background:transparent; border:1px solid #e0f4ff; border-right:none; border-left:none; border-radius:0; margin-bottom:2px; position:relative; }
.topmenu ul { display:flex; width:100%; list-style-type:none; margin:0; padding:0; justify-content:space-between; }
.topmenu ul li { flex:1; position:relative; text-align:center; }
.topmenu ul li a { display:block; font-family:Arial,Helvetica,sans-serif; font-size:100%; color:#007cc3; text-decoration:none; font-variant:small-caps; font-weight:600; padding:.3em .4em .6em; margin:5px 0 0; white-space:nowrap; }
.topmenu ul li a:hover, .topmenu ul li.main:hover > a { color:#005f99; }
/* Regular dropdown */
.topmenu ul li ul { position:absolute; left:50%; transform:translateX(-50%); display:none; z-index:600; width:170px !important; border:none; background:#f2fafe; }
.topmenu ul li:last-child ul { left:auto; right:0; transform:none; }
.topmenu ul li.main:hover > ul { display:block; }
.topmenu ul li ul li { float:none; text-align:left; }
.topmenu ul li ul li a { font-family:Arial,Helvetica,sans-serif; font-size:100%; font-weight:400; font-variant:small-caps; padding:1em .6em 1em .9em; margin:0; color:#007cc3 !important; border-bottom:1px solid #aed6ee; white-space:normal; }
.topmenu ul li ul li a:hover { color:#005f99 !important; background:#e0f4ff; }
._abt-lastminute-menupoint { color:#fbf477 !important; background-color:#f3661f !important; text-transform:uppercase !important; margin-top:0 !important; padding:9px 16px 8px 14px !important; }
@media(max-width:767px) { .topmenu { display:none; } .header__guarantee { display:none; } .header__flags { top:10px; bottom:auto; right:10px; } }

/* Mega-menu */
.topmenu ul li.has-mega { position:static; }
.mega-panel { display:none; position:absolute; left:0; right:0; top:100%; z-index:500; background:#fff; border-top:2px solid var(--pri); border-bottom:1px solid #e0f4ff; box-shadow:0 8px 24px rgba(0,0,0,.12); padding:.75rem 0; }
.topmenu ul li.has-mega:hover .mega-panel { display:block; }
.mega-inner { display:grid; grid-template-columns:repeat(6,1fr); gap:0 1rem; padding:0 1rem; }
.mega-col h3 { font-size:.75rem; font-weight:700; color:var(--pri); text-transform:uppercase; letter-spacing:.04em; margin:0 0 .4rem; padding-bottom:.25rem; border-bottom:1px solid #e0f4ff; }
.mega-col h3 a { color:var(--pri); text-decoration:none; }
.mega-col h3 a:hover { text-decoration:underline; }
.mega-col a { display:block; font-size:.73rem; color:#374151; text-decoration:none; padding:.1rem 0; font-variant:normal; font-weight:400; }
.mega-col a:hover { color:var(--pri); }
@media(max-width:991px) { .mega-inner { grid-template-columns:repeat(3,1fr); } }
@media(max-width:767px) { .mega-panel { display:none !important; } }

/* Breadcrumb */
.btn-primary { background-color:var(--cta)!important; border-color:var(--cta)!important; }
.btn-primary:hover,.btn-primary:focus,.btn-primary:active { background-color:#c96000!important; border-color:#c96000!important; }
.btn-outline-primary { color:var(--pri); border-color:var(--pri); }
.btn-outline-primary:hover { background-color:var(--pri); border-color:var(--pri); color:#fff; }
.t21-bc { background:var(--light); border-bottom:1px solid var(--border); padding:.45rem 0; font-size:.78rem; }
.t21-bc a { color:var(--muted); text-decoration:none; }
.t21-bc a:hover { color:var(--pri); }
.breadcrumb-item+.breadcrumb-item::before { color:#bbb; }

/* Photo grid desktop (1 large + 4 thumbs) */
.photo-grid { display:grid; grid-template-columns:3fr 2fr; gap:4px; border-radius:var(--radius); overflow:hidden; position:relative; max-height:420px; }
.photo-grid__main { overflow:hidden; }
.photo-grid__main img { width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; transition:filter .15s; }
.photo-grid__main img:hover { filter:brightness(.88); }
.photo-grid__thumbs { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:4px; }
.photo-grid__thumbs img { width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; transition:filter .15s; }
.photo-grid__thumbs img:hover { filter:brightness(.88); }
.photo-grid__btn { position:absolute; bottom:10px; right:10px; background:#fff; border:1.5px solid #333; border-radius:8px; padding:5px 14px; font-size:.79rem; font-weight:600; cursor:pointer; box-shadow:var(--shadow); }
.photo-grid__btn:hover { background:#f5f5f5; }
@media(max-width:767px) { .photo-grid { display:none; } }

/* Mobile carousel */
@media(min-width:768px) { .mob-wrap { display:none !important; } }
.mob-wrap .carousel-inner { border-radius:var(--radius); overflow:hidden; }

/* Amenity pills */
.am-bar { display:flex; flex-wrap:wrap; gap:.35rem; }
.am-pill { display:inline-flex; align-items:center; gap:5px; background:var(--light); border:1px solid var(--border); border-radius:20px; padding:4px 12px; font-size:.79rem; color:#374151; white-space:nowrap; }
.am-pill i { color:var(--pri); font-size:.9em; }

/* Section title */
.sec-title { font-size:1rem; font-weight:700; color:var(--pri); border-bottom:2px solid var(--pri); padding-bottom:.4rem; margin-bottom:1rem; display:flex; align-items:center; gap:.4rem; }
.dist-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin-bottom:1.5rem; }
@media(max-width:575px){ .dist-grid { grid-template-columns:repeat(3,1fr); } }
.dist-item { display:flex; flex-direction:column; align-items:center; text-align:center; background:var(--light); border:1px solid var(--border); border-radius:10px; padding:.55rem .7rem .5rem; }
.dist-item i { font-size:1.25rem; color:var(--pri); margin-bottom:.15rem; }
.dist-item .dist-label { font-size:.68rem; color:var(--muted); line-height:1.2; }
.dist-item .dist-val { font-size:.82rem; font-weight:700; color:#1a1a2e; margin-top:.1rem; }

/* Unit card */
.unit-card { border:1px solid var(--border); border-radius:var(--radius); margin-bottom:1rem; box-shadow:var(--shadow); overflow:hidden; border-left:4px solid var(--pri); }
.unit-card-hdr { background:#f0f7ff; padding:.7rem 1rem; display:flex; align-items:center; justify-content:space-between; cursor:pointer; gap:.5rem; border-bottom:1px solid var(--border); }
.unit-card-hdr:hover { background:#deeaf9; }
.uc-name { font-weight:700; font-size:.93rem; }
.uc-cap  { font-size:.78rem; color:var(--muted); margin-top:1px; }
.uc-price { font-weight:700; color:var(--cta); font-size:.88rem; white-space:nowrap; }
.chevron { transition:transform .2s; font-size:.82rem; }
.collapsed .chevron { transform:rotate(180deg); }

/* Unit tabs */
.unit-tabs { border-bottom:2px solid var(--pri) !important; }
.unit-tabs .nav-link { font-size:.79rem; padding:.38rem .7rem; color:var(--muted); border-radius:6px 6px 0 0; }
.unit-tabs .nav-link.active { color:#fff; font-weight:600; background:var(--pri); border-color:var(--pri) var(--pri) transparent; }
.unit-tabs .nav-link:hover:not(.active) { background:#e8f4ff; color:var(--pri); }

/* Param pills */
.param-pill { display:inline-flex; align-items:center; gap:4px; background:#eef4fb; border-radius:20px; padding:3px 10px; font-size:.74rem; color:#1a5b90; margin:.12rem; }
.param-pill i { font-size:.85em; }

/* Calendar */
.ptx-cal-wrap { background:var(--light); border-radius:8px; padding:10px; }
.ptx-cal { width:100%; border-collapse:collapse; font-size:.76rem; }
.ptx-cal th { background:#374151; color:#fff; padding:4px 2px; text-align:center; }
.ptx-cal td { padding:4px 2px; text-align:center; border:1px solid #e5e7eb; }
.ptx-cal td.ptx-booked   { background:#fee2e2; color:#dc2626; font-weight:600; }
.ptx-cal td.ptx-avail   { background:#dcfce7; color:#16a34a; }
.ptx-cal td.ptx-other   { color:#d1d5db; }
.ptx-cal td.ptx-today   { outline:2px solid var(--pri); outline-offset:-2px; font-weight:700; }
.ptx-cal td.ptx-selected { background:#007CC3 !important; color:#fff !important; font-weight:700; border-radius:4px; }
.ptx-cal td.ptx-in-range { background:#c8e4f6 !important; color:#1a4f72; }
.ptx-cal td.ptx-arrival  { background:linear-gradient(135deg, #fee2e2 50%, #dcfce7 50%); color:#333; }
.ptx-cal td.ptx-departure{ background:linear-gradient(135deg, #dcfce7 50%, #fee2e2 50%); color:#333; }
.ptx-cal__head { text-align:center; font-weight:600; font-size:.82rem; margin-bottom:5px; }
.ptx-cal td[data-date] { cursor:pointer; }
.ptx-cal td[data-date]:hover:not(.ptx-booked):not(.ptx-other) { filter:brightness(.88); }
.ptx-cal td[data-date].ptx-booked { cursor:not-allowed; }
.ptx-cal td[data-date].ptx-other  { cursor:default; }

/* Contact card */
.contact-card { background:#fff; border:1px solid #ddd; border-radius:16px; box-shadow:0 2px 16px rgba(0,0,0,.1); padding:22px; }
.contact-card__price { font-size:1.5rem; font-weight:700; color:#111; }
.contact-card__per   { font-size:.9rem; font-weight:400; color:#666; }
.contact-card__btn   { background:linear-gradient(135deg,var(--cta),var(--cta-d)); border:none; border-radius:10px; color:#fff; font-weight:600; font-size:1rem; padding:.75rem 1rem; width:100%; cursor:pointer; transition:opacity .2s; display:block; text-align:center; text-decoration:none; }
.contact-card__btn:hover { opacity:.88; color:#fff; }
.contact-card__trust { font-size:.78rem; color:#717171; text-align:center; margin-top:8px; }

/* Last minute */
.lm-box  { border:2px solid var(--cta); border-radius:var(--radius); overflow:hidden; }
.lm-head { background:var(--cta); color:#fff; padding:.45rem 1rem; font-weight:700; font-size:.88rem; }

/* Form */
.form-divider { font-weight:600; font-size:.79rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); border-bottom:1px solid var(--border); padding-bottom:.35rem; margin:1.1rem 0 .85rem; }
/* Unit checkbox cards */
#unitCheckboxGroup { display:flex; flex-wrap:wrap; gap:6px; }
.unit-check-card { border:1px solid var(--border); border-radius:8px; transition:border-color .15s,background .15s; flex:1 1 auto; min-width:120px; max-width:220px; }
.unit-check-card.selected { border-color:var(--pri); background:#e8f4ff; }
.unit-check-card label { cursor:pointer; display:flex; align-items:center; gap:8px; padding:7px 10px; margin:0; }
.unit-check-card .fw-semibold { font-size:.84rem; }
/* Flatpickr availability colors */
.flatpickr-day.fp-booked { background:#FF9900 !important; color:#fff !important; border-color:#e07d00 !important; }
.flatpickr-day.fp-booked:hover { background:#e07d00 !important; }
.flatpickr-day.fp-arrival { background:linear-gradient(135deg, #fff 50%, #FF9900 50%) !important; color:#374151 !important; }
.flatpickr-day.fp-departure { background:linear-gradient(135deg, #FF9900 50%, #fff 50%) !important; color:#374151 !important; }
.flatpickr-day.fp-arrival.selected,.flatpickr-day.fp-departure.selected { background:var(--pri) !important; color:#fff !important; }
.flatpickr-calendar { box-shadow:0 4px 20px rgba(0,0,0,.15) !important; border-radius:12px !important; }
.flatpickr-months { background:var(--pri); border-radius:12px 12px 0 0; position:relative; }
.flatpickr-month, .flatpickr-prev-month, .flatpickr-next-month, .flatpickr-current-month { color:#fff !important; fill:#fff !important; }
.flatpickr-weekday { color:var(--pri) !important; font-weight:600; }
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange { background:var(--pri) !important; border-color:var(--pri) !important; }
.flatpickr-day.inRange { background:#c8e4f6 !important; border-color:#c8e4f6 !important; box-shadow:-5px 0 0 #c8e4f6,5px 0 0 #c8e4f6 !important; }
/* cal legend */
.fp-legend { display:flex; flex-wrap:wrap; gap:10px; font-size:.74rem; margin-top:8px; }
.fp-legend span { display:flex; align-items:center; gap:4px; }
.fp-legend i { display:inline-block; width:14px; height:14px; border-radius:3px; flex-shrink:0; }

/* Lightbox */
#_lb { display:none; position:fixed; inset:0; z-index:2100; background:rgba(0,0,0,.93); flex-direction:column; align-items:center; justify-content:center; cursor:zoom-out; }
#_lb.open { display:flex; }
#_lb-wrap { position:relative; display:inline-flex; align-items:center; max-width:92vw; }
#_lb-img { max-width:100%; max-height:88vh; object-fit:contain; cursor:default; border-radius:4px; display:block; }
#_lb-prev, #_lb-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.55); border:none; color:#fff; font-size:2rem; width:44px; height:44px; border-radius:50%; cursor:pointer; z-index:2102; display:flex; align-items:center; justify-content:center; transition:background .15s; }
#_lb-prev:hover, #_lb-next:hover { background:rgba(0,0,0,.82); }
#_lb-prev { left:-22px; } #_lb-next { right:-22px; }
#_lb-close { position:absolute; top:10px; right:16px; background:none; border:none; color:#fff; font-size:2.2rem; cursor:pointer; z-index:2102; line-height:1; }
#_lb-counter { color:rgba(255,255,255,.7); font-size:.82rem; margin-top:10px; }

/* Similar cards */
.sim-card { display:block; text-decoration:none; border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); transition:box-shadow .15s; background:#fff; }
.sim-card:hover { box-shadow:0 4px 18px rgba(0,0,0,.12); }
.sim-card img { width:100%; height:130px; object-fit:cover; display:block; background:var(--light); }
.sim-card__body { padding:.5rem .7rem .65rem; }
.sim-card__name { font-size:.82rem; font-weight:600; color:#1a1a2e; line-height:1.3; }
.sim-card__meta { font-size:.74rem; color:var(--pri); font-weight:600; margin-top:.2rem; }
.sim-card__cap  { font-size:.72rem; color:var(--muted); margin-top:.2rem; }

/* Mobile sticky bar */
#mobileBar { position:fixed; bottom:0; left:0; right:0; z-index:1060; background:#fff; border-top:1px solid var(--border); padding:10px 16px; display:flex; gap:10px; transform:translateY(100%); transition:transform .25s; }
@media(min-width:768px) { #mobileBar { display:none !important; } }

/* Floating CTA */
.floating-cta { position:fixed; bottom:28px; right:24px; z-index:1050; border-radius:50px; padding:.65rem 1.2rem; font-weight:600; box-shadow:0 4px 20px rgba(0,0,0,.25); display:none; background:var(--cta); color:#fff; text-decoration:none; align-items:center; gap:.4rem; font-size:.9rem; }
.floating-cta:hover { background:var(--cta-d); color:#fff; }
@media(min-width:992px) { .floating-cta { display:inline-flex; } }

@media(min-width:992px) { .sidebar-sticky { position:sticky; top:16px; } }
@media(max-width:575px)  { .prop-header { padding:.75rem 0 .5rem; } }

/* Tab panes */
.tab-pane { display:none; }
.tab-pane.active { display:block; }
.tab-pane.fade { opacity:0; transition:opacity .15s linear; }
.tab-pane.fade.show { opacity:1; }

/* Unit radio cards (form) */
.unit-check-card:hover { border-color:var(--pri); background:#f0f7ff; }
/* Scroll offset for unit card anchors */
.unit-card { scroll-margin-top: 56px; }

/* Step badge */
.step-badge { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; background:var(--pri); color:#fff; font-size:.7rem; font-weight:700; margin-right:6px; flex-shrink:0; }

/* Footer */
.footer { background:#e8e8e8; color:#555; padding:1.2rem 1.5rem; font-size:.82rem; line-height:1.8; border-top:3px solid #007CC3; margin-top:2rem; text-align:center; }
.footer a { color:#007CC3; text-decoration:none; }
.footer a:hover { text-decoration:underline; color:#005fa0; }
.footer .footer-links { font-size:.72rem; color:#777; margin-top:.4rem; }
.footer .footer-links a { color:#555; }

/* ── MOBILE HAMBURGER NAV ───────────────────────────────── */
.t21-hbg { display:none; position:fixed; top:10px; left:10px; z-index:1100; background:var(--pri); border:none; border-radius:6px; padding:7px 9px; cursor:pointer; flex-direction:column; gap:5px; }
.t21-hbg span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; }
@media(max-width:767px) { .t21-hbg { display:flex; } }
.t21-mnav { position:fixed; top:0; left:-270px; width:250px; height:100vh; background:#fff; z-index:1200; box-shadow:4px 0 20px rgba(0,0,0,.15); transition:left .25s ease; overflow-y:auto; padding:55px 0 30px; }
.t21-mnav.open { left:0; }
.t21-mnav__close { position:absolute; top:10px; right:12px; background:none; border:none; font-size:1.7rem; line-height:1; cursor:pointer; color:#555; padding:2px 6px; }
.t21-mnav ul { list-style:none; margin:0; padding:0; }
.t21-mnav ul li a { display:block; padding:.7rem 1.4rem; font-size:.98rem; color:#1a1a2e; text-decoration:none; border-bottom:1px solid var(--border); font-weight:600; font-variant:small-caps; }
.t21-mnav ul li a:hover,.t21-mnav ul li.t21-mnav__active a { background:var(--light); color:var(--pri); }
.t21-mnav__bg { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:1150; }
.t21-mnav__bg.open { display:block; }
/* Hide header search on mobile for pages that already have hero search */
@media(max-width:767px) { .hdr-search-mobile-hidden { display:none !important; } }
/* Collapsible filter sidebar on mobile */
@media(max-width:991px) { #t21FilterCol { display:none; } #t21FilterCol.t21-filter-open { display:block !important; } }
/* Poznámka – YouTube / video iframe responsive */
.pozn-text iframe { width:100% !important; max-width:560px; height:auto !important; aspect-ratio:16/9; display:block; }
