
/* MASTER436: modal-redesign-v305.css */
/* KamLetíme MASTER225 — functional modal polish, production behaviour preserved */
:root{
  --kl214-navy:#08346f;
  --kl214-navy-deep:#06265d;
  --kl214-blue:#0878eb;
  --kl214-copy:#5f7896;
  --kl214-muted:#748aa3;
  --kl214-coral:#ff426c;
  --kl214-coral-2:#ff345f;
  --kl214-warm:#fff0c7;
  --kl214-blue-soft:#eaf5ff;
  --kl214-surface:#f5fbff;
  --kl214-card:#ffffff;
  --kl214-xs:12.4px;
  --kl214-sm:13px;
  --kl214-body:14px;
  --kl214-shadow:0 10px 28px rgba(21,58,96,.075);
  --kl214-shadow-hover:0 18px 42px rgba(21,58,96,.13);
}

/* ---------- viewport / shell ---------- */
#destinationDetail:not([hidden]){
  position:fixed!important;inset:0!important;z-index:999!important;display:block!important;
  width:100vw!important;height:100dvh!important;margin:0!important;padding:0!important;overflow:hidden!important;background:transparent!important;
}
#destinationDetail .destination-modal__backdrop{
  position:fixed!important;inset:0!important;z-index:0!important;
  background:rgba(10,30,48,.11)!important;
  backdrop-filter:blur(3.5px) saturate(.96)!important;-webkit-backdrop-filter:blur(3.5px) saturate(.96)!important;
}
#destinationDetail .destination-modal__panel.kl214-mounted{
  position:fixed!important;z-index:2!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  width:min(88vw,1560px)!important;height:94dvh!important;max-width:calc(100vw - 30px)!important;max-height:calc(100dvh - 22px)!important;
  margin:0!important;transform:translate(-50%,-50%)!important;overflow-x:hidden!important;overflow-y:auto!important;
  border:0!important;outline:0!important;border-radius:22px!important;background:#eef8ff!important;isolation:isolate!important;
  box-shadow:0 30px 90px rgba(4,27,49,.22)!important;
  scrollbar-gutter:auto!important;scrollbar-width:none!important;-ms-overflow-style:none!important;
}
#destinationDetail .destination-modal__panel.kl214-mounted::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
#destinationDetail .kl214-mounted>.destination-hero{display:none!important}
#destinationDetail .destination-nav{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:#0b4b8f!important;box-shadow:0 10px 28px rgba(5,36,67,.16)!important;cursor:pointer!important;backdrop-filter:blur(4px)!important}#destinationDetail .destination-nav svg{width:20px!important;height:20px!important}#destinationDetail .destination-scrollbar{display:block!important;border-radius:999px!important;background:rgba(255,255,255,.28)!important;overflow:hidden!important}#destinationDetail .destination-scrollbar>span{display:block!important;width:100%!important;border-radius:999px!important;background:rgba(79,112,142,.72)!important}
#destinationDetail .kl214-ui,#destinationDetail .kl214-ui *{box-sizing:border-box!important;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif!important;font-synthesis:none!important;-webkit-font-smoothing:antialiased!important;text-rendering:optimizeLegibility!important}
#destinationDetail .kl214-ui{position:relative!important;z-index:2!important;color:var(--kl214-navy)!important;background:transparent!important;font-size:var(--kl214-body)!important;pointer-events:auto!important}
#destinationDetail .kl225-modal-bg{position:sticky!important;z-index:0!important;top:0!important;height:1px!important;margin:0 0 -1px!important;overflow:visible!important;pointer-events:none!important}
#destinationDetail .kl225-modal-bg:before{content:""!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:355px!important;background-image:linear-gradient(180deg,rgba(244,250,255,.03) 0%,rgba(244,250,255,.11) 32%,rgba(240,248,253,.66) 73%,#eef8ff 100%),linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.42) 34%,rgba(255,255,255,.10) 66%,rgba(255,255,255,0) 100%),var(--kl214-panel-image)!important;background-size:cover!important;background-position:var(--kl225-panel-position,center 38%)!important;background-repeat:no-repeat!important;pointer-events:none!important}
#destinationDetail .kl214-hero,#destinationDetail .kl214-content{position:relative!important;z-index:2!important}
#destinationDetail .kl214-mounted>.destination-modal__body{position:relative!important;z-index:2!important}
#destinationDetail .kl214-ui button,#destinationDetail .kl214-ui a{pointer-events:auto!important}

/* ---------- close / date ---------- */
#destinationDetail .kl214-close{
  position:absolute!important;z-index:40!important;top:18px!important;right:18px!important;
  width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:rgba(235,246,253,.96)!important;color:#4e708f!important;
  box-shadow:0 7px 20px rgba(16,52,86,.09)!important;cursor:pointer!important;appearance:none!important;overflow:hidden!important;
  transition:transform .18s ease,background .18s ease,color .18s ease!important;
}
#destinationDetail .kl214-close>span{position:absolute!important;inset:0!important;display:block!important}
#destinationDetail .kl214-close>span:before,#destinationDetail .kl214-close>span:after{content:""!important;position:absolute!important;left:12px!important;top:20px!important;width:18px!important;height:2px!important;border-radius:2px!important;background:currentColor!important;transform-origin:50% 50%!important}
#destinationDetail .kl214-close>span:before{transform:rotate(45deg)!important}
#destinationDetail .kl214-close>span:after{transform:rotate(-45deg)!important}
#destinationDetail .kl214-date{
  position:absolute!important;z-index:30!important;top:18px!important;right:74px!important;display:flex!important;align-items:center!important;gap:11px!important;
  min-width:255px!important;max-width:360px!important;padding:10px 14px!important;border:0!important;border-radius:16px!important;background:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 22px rgba(12,57,105,.08)!important;backdrop-filter:blur(5px)!important;
}
#destinationDetail .kl214-date>span{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:11px!important;background:#eaf5ff!important;color:#0876e8!important}
#destinationDetail .kl214-date svg{display:block!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;aspect-ratio:1!important}
#destinationDetail .kl214-date strong{display:block!important;color:#123f77!important;font-size:13.2px!important;line-height:1.25!important;font-weight:800!important}
#destinationDetail .kl214-date small{display:block!important;margin-top:2px!important;color:#7890aa!important;font-size:var(--kl214-xs)!important;line-height:1.25!important}

/* ---------- hero uses panel background, not its own image ---------- */
#destinationDetail .kl214-hero{
  position:relative!important;min-height:205px!important;padding:28px 42px 20px!important;overflow:visible!important;border-radius:22px 22px 0 0!important;background:transparent!important;
}
#destinationDetail .kl214-hero:after{display:none!important}
#destinationDetail .kl214-hero__copy{position:relative!important;z-index:2!important;width:67%!important;max-width:825px!important}
#destinationDetail .kl214-kicker{display:block!important;margin:0 0 8px!important;color:var(--kl214-coral)!important;font-size:var(--kl214-xs)!important;line-height:1!important;font-weight:800!important;letter-spacing:.075em!important}
#destinationDetail .kl214-hero h2{
  margin:0!important;max-width:820px!important;font-size:32px!important;line-height:1.04!important;font-weight:800!important;letter-spacing:-.036em!important;
  background:linear-gradient(90deg,#07265e 0%,#0a3d82 60%,#1265aa 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
}
#destinationDetail .kl214-hero__copy>p{display:-webkit-box!important;max-width:720px!important;margin:9px 0 17px!important;overflow:hidden!important;color:#587492!important;font-size:14px!important;line-height:1.48!important;font-weight:500!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
#destinationDetail .kl214-facts{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
#destinationDetail .kl214-fact{display:flex!important;align-items:center!important;gap:10px!important;min-height:48px!important;padding:8px 16px!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 6px 18px rgba(22,70,115,.055)!important;color:#5c7694!important;transition:transform .18s ease,box-shadow .18s ease!important}
#destinationDetail .kl214-fact__icon{display:grid!important;place-items:center!important;flex:0 0 31px!important;width:31px!important;height:31px!important;border-radius:50%!important;background:#eef8ff!important;color:#0b79e8!important}
#destinationDetail .kl214-fact:first-child .kl214-fact__icon{background:#fff5df!important;color:#ff9b00!important}
#destinationDetail .kl214-fact:last-child .kl214-fact__icon{background:#e9f8ef!important;color:#21a35a!important}
#destinationDetail .kl214-fact__icon svg{display:block!important;width:19px!important;height:19px!important;aspect-ratio:1!important}
#destinationDetail .kl214-fact strong{display:block!important;color:#103b73!important;font-size:14px!important;line-height:1.05!important;font-weight:800!important}
#destinationDetail .kl214-fact small{display:block!important;margin-top:3px!important;color:#6c839d!important;font-size:var(--kl214-xs)!important;line-height:1.15!important}

/* ---------- common icon ---------- */
#destinationDetail .kl214-icon{display:grid!important;place-items:center!important;flex:0 0 45px!important;width:45px!important;height:45px!important;border-radius:14px!important;background:#eaf5ff!important;color:#0879e7!important}
#destinationDetail .kl214-icon svg{display:block!important;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;aspect-ratio:1!important}
#destinationDetail .kl214-icon--small{flex-basis:40px!important;width:40px!important;height:40px!important;border-radius:12px!important}
#destinationDetail .kl214-icon--small svg{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important}
#destinationDetail .kl214-icon--pink{background:#ffeaf0!important;color:#ff416b!important}

/* ---------- content ---------- */
#destinationDetail .kl214-content{padding:16px 24px 30px!important}
#destinationDetail .kl214-main-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;margin:0 0 16px!important}
#destinationDetail .kl214-service{position:relative!important;display:flex!important;flex-direction:column!important;min-width:0!important;min-height:258px!important;padding:0 18px 16px!important;overflow:hidden!important;border:0!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--kl214-shadow)!important;transition:box-shadow .2s ease!important}
#destinationDetail .kl214-service__media{position:absolute!important;z-index:0!important;inset:0!important;height:auto!important;border-radius:inherit!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:right center!important;overflow:hidden!important;transform:none!important}
#destinationDetail .kl214-service__media:after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.04) 45%,rgba(255,255,255,.56) 68%,rgba(255,255,255,.94) 84%,#fff 96%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.995) 27%,rgba(255,255,255,.90) 45%,rgba(255,255,255,.45) 66%,rgba(255,255,255,.06) 100%)!important;pointer-events:none!important}

#destinationDetail .kl214-media-credit{position:absolute!important;z-index:2!important;right:8px!important;top:8px!important;bottom:auto!important;display:inline-flex!important;align-items:center!important;min-height:20px!important;padding:3px 7px!important;border-radius:999px!important;background:rgba(8,42,78,.40)!important;color:rgba(255,255,255,.92)!important;font-size:12.4px!important;line-height:1!important;font-weight:650!important;opacity:.66!important;pointer-events:none!important}
#destinationDetail .kl214-service__media--flight{background-image:var(--kl214-flight-image)!important}
#destinationDetail .kl214-service__media--hotel{background-image:var(--kl214-hotel-image)!important}
#destinationDetail .kl214-service__media--car{background-image:var(--kl214-car-image)!important}
#destinationDetail .kl214-plane-art{position:absolute!important;z-index:2!important;right:29px!important;top:30px!important;color:#76baf4!important;opacity:.94!important;transform:rotate(-5deg)!important}
#destinationDetail .kl214-plane-art svg{display:block!important;width:92px!important;height:92px!important;stroke-width:1.25!important}
#destinationDetail .kl214-service__head{position:relative!important;z-index:3!important;display:flex!important;align-items:flex-start!important;gap:12px!important;min-height:108px!important;padding-top:18px!important;max-width:72%!important}
#destinationDetail .kl214-service__head h3{margin:2px 0 3px!important;color:#0b376f!important;font-size:19px!important;line-height:1.12!important;font-weight:800!important;letter-spacing:-.025em!important}
#destinationDetail .kl214-service__head p{margin:0!important;color:#5e7896!important;font-size:var(--kl214-xs)!important;line-height:1.32!important;font-weight:500!important}
#destinationDetail .kl214-service__price{position:relative!important;z-index:3!important;margin:4px 0 9px!important;color:#082f69!important;font-size:24px!important;line-height:1.05!important;font-weight:800!important;letter-spacing:-.035em!important;white-space:nowrap!important}
#destinationDetail .kl214-chips{position:relative!important;z-index:3!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-bottom:13px!important}
#destinationDetail .kl214-chips span{padding:5px 10px!important;border:0!important;border-radius:999px!important;background:#eef5fb!important;color:#68809a!important;font-size:var(--kl214-xs)!important;line-height:1.1!important;font-weight:700!important}
#destinationDetail .kl214-chips span.is-warm{background:var(--kl214-warm)!important;color:#9a6400!important}
#destinationDetail .kl214-primary{position:relative!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:100%!important;min-height:42px!important;margin-top:auto!important;padding:10px 15px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--kl214-coral),var(--kl214-coral-2))!important;color:#fff!important;font-size:13.5px!important;line-height:1!important;font-weight:800!important;cursor:pointer!important;box-shadow:0 9px 18px rgba(253,72,108,.14)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}
#destinationDetail .kl214-primary span{display:grid!important;place-items:center!important}
#destinationDetail .kl214-primary svg{width:17px!important;height:17px!important;aspect-ratio:1!important}
#destinationDetail .kl214-primary.is-disabled{opacity:.46!important;cursor:not-allowed!important;box-shadow:none!important}

#destinationDetail .kl214-flight-actions{position:relative!important;z-index:4!important;display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:8px!important;margin-top:auto!important}
#destinationDetail .kl214-flight-actions .kl214-primary{margin-top:0!important;padding:9px 10px!important;font-size:12.4px!important;white-space:nowrap!important}
#destinationDetail .kl214-primary--secondary{background:#eaf5ff!important;color:#0872dc!important;box-shadow:none!important}
#destinationDetail .kl214-primary--exact{background:linear-gradient(135deg,var(--kl214-coral),var(--kl214-coral-2))!important;color:#fff!important}

/* ---------- second row ---------- */
#destinationDetail .kl214-secondary-grid{display:grid!important;grid-template-columns:minmax(0,.90fr) minmax(0,1.55fr)!important;gap:16px!important;margin-bottom:19px!important}
#destinationDetail .kl214-package{position:relative!important;min-height:214px!important;overflow:hidden!important;border:0!important;border-radius:20px!important;background:rgba(255,255,255,.97)!important;box-shadow:var(--kl214-shadow)!important;transition:transform .2s ease,box-shadow .2s ease!important}
#destinationDetail .kl214-package__media{position:absolute!important;z-index:0!important;inset:0 0 0 37%!important;background-image:var(--kl214-holiday-image)!important;background-size:cover!important;background-position:center!important}
#destinationDetail .kl214-package__media:after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.88) 19%,rgba(255,255,255,.18) 60%,rgba(255,255,255,0) 100%)!important}
#destinationDetail .kl214-package__copy{position:relative!important;z-index:2!important;width:76%!important;padding:16px 16px 14px!important}
#destinationDetail .kl214-package header{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:10px!important}
#destinationDetail .kl214-package header small{display:block!important;color:#6c8096!important;font-size:var(--kl214-xs)!important;line-height:1!important;font-weight:800!important;letter-spacing:.045em!important}
#destinationDetail .kl214-package h3{margin:4px 0 0!important;color:#0a356d!important;font-size:20px!important;line-height:1.08!important;font-weight:800!important}
#destinationDetail .kl214-package__copy>p{margin:0 0 12px!important;color:#5f7896!important;font-size:13.4px!important;line-height:1.45!important}
#destinationDetail .kl214-package__benefits{display:flex!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 13px!important;color:#5f7896!important;font-size:var(--kl214-xs)!important}
#destinationDetail .kl214-package__benefits span{display:flex!important;align-items:center!important;gap:6px!important}
#destinationDetail .kl214-package__benefits svg{width:16px!important;height:16px!important;aspect-ratio:1!important;color:#0878eb!important}
#destinationDetail .kl214-addons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
#destinationDetail .kl214-addon{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:214px!important;padding:13px!important;border:0!important;border-radius:18px!important;background:rgba(255,255,255,.97)!important;box-shadow:var(--kl214-shadow)!important;transition:transform .2s ease,box-shadow .2s ease!important}
#destinationDetail .kl214-addon header{display:flex!important;align-items:center!important;gap:9px!important;min-height:43px!important;margin-bottom:9px!important}
#destinationDetail .kl214-addon header strong{min-width:0!important;color:#103b73!important;font-size:13.5px!important;line-height:1.16!important;font-weight:800!important}
#destinationDetail .kl214-addon header em{margin-left:auto!important;padding:4px 7px!important;border:0!important;border-radius:999px!important;background:#ffeaf0!important;color:#ff416b!important;font-size:var(--kl214-xs)!important;line-height:1!important;font-style:normal!important;font-weight:800!important;white-space:nowrap!important}
#destinationDetail .kl214-addon__media{position:relative!important;height:96px!important;overflow:hidden!important;margin-bottom:9px!important;border-radius:13px!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
#destinationDetail .kl214-addon__media--ticket{background-image:var(--kl214-ticket-image)!important}
#destinationDetail .kl214-addon__media--transfer{background-image:var(--kl214-transfer-image)!important}
#destinationDetail .kl214-addon__media--shield{background-image:var(--kl214-insurance-image)!important}
#destinationDetail .kl214-addon>p{margin:0 0 10px!important;color:#667f99!important;font-size:var(--kl214-xs)!important;line-height:1.36!important}
#destinationDetail .kl214-addon__cta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;width:100%!important;min-height:38px!important;margin-top:auto!important;padding:9px 11px!important;border:0!important;border-radius:10px!important;background:#eaf5ff!important;color:#0872df!important;font-size:var(--kl214-xs)!important;font-weight:800!important;cursor:pointer!important;transition:transform .18s ease,background .18s ease!important}
#destinationDetail .kl214-addon__cta svg{width:15px!important;height:15px!important;aspect-ratio:1!important}
#destinationDetail .kl214-addon__cta.is-disabled{background:#eef3f7!important;color:#92a2b1!important;cursor:not-allowed!important}

/* ---------- section titles ---------- */
#destinationDetail .kl214-section-title{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin:0 0 11px!important}
#destinationDetail .kl214-section-title h3{margin:0!important;color:#0b376f!important;font-size:21px!important;line-height:1.1!important;font-weight:800!important;letter-spacing:-.025em!important}
#destinationDetail .kl214-section-title p{margin:4px 0 0!important;color:#69819a!important;font-size:var(--kl214-xs)!important;line-height:1.36!important}
#destinationDetail .kl214-all-areas{display:flex!important;align-items:center!important;gap:8px!important;min-height:38px!important;padding:8px 13px!important;border:0!important;border-radius:10px!important;background:#eaf5ff!important;color:#0872df!important;font-size:var(--kl214-xs)!important;font-weight:800!important;cursor:pointer!important}
#destinationDetail .kl214-all-areas svg{width:15px!important;height:15px!important;aspect-ratio:1!important}

/* ---------- where to stay ---------- */
#destinationDetail .kl214-areas{margin:0 0 18px!important}
#destinationDetail .kl214-areas__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
#destinationDetail .kl214-area{display:grid!important;grid-template-columns:132px minmax(0,1fr)!important;min-height:110px!important;overflow:hidden!important;border:0!important;border-radius:16px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 7px 20px rgba(21,58,96,.055)!important;transition:transform .18s ease,box-shadow .18s ease!important}
#destinationDetail .kl214-area__photo{min-height:110px!important;background-image:var(--kl214-area-image)!important;background-size:cover!important;background-position:center!important;transition:transform .25s ease,filter .25s ease!important}
#destinationDetail .kl214-area__copy{display:grid!important;grid-template-rows:auto auto 1fr!important;min-width:0!important;padding:11px 12px 10px!important}
#destinationDetail .kl214-area__copy>strong{color:#123b72!important;font-size:14.5px!important;line-height:1.15!important;font-weight:800!important}
#destinationDetail .kl214-area__copy>p{margin:4px 0 8px!important;color:#6d839b!important;font-size:var(--kl214-xs)!important;line-height:1.34!important}
#destinationDetail .kl214-area__copy>button{align-self:end!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-height:36px!important;padding:8px 10px!important;border:0!important;border-radius:10px!important;background:#eaf5ff!important;color:#0872df!important;font-size:var(--kl214-xs)!important;font-weight:800!important;cursor:pointer!important}
#destinationDetail .kl214-area__copy>button svg{width:14px!important;height:14px!important;aspect-ratio:1!important}

/* ---------- summary ---------- */
#destinationDetail .kl214-summary{margin-top:2px!important;padding:15px 16px 16px!important;border:0!important;border-radius:18px!important;background:rgba(225,243,255,.82)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important}
#destinationDetail .kl214-summary .kl214-section-title{margin-bottom:10px!important}
#destinationDetail .kl214-summary__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
#destinationDetail .kl214-summary-card{display:grid!important;grid-template-columns:44px minmax(0,1fr) 32px!important;align-items:center!important;gap:10px!important;min-height:104px!important;padding:12px!important;border:0!important;border-radius:14px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 5px 16px rgba(17,60,102,.045)!important;transition:transform .2s ease,box-shadow .2s ease!important}
#destinationDetail .kl214-summary-card__icon{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:12px!important;background:#eaf5ff!important;color:#0879e7!important}
#destinationDetail .kl214-summary-card__icon svg{width:21px!important;height:21px!important;aspect-ratio:1!important}
#destinationDetail .kl214-summary-card__copy{min-width:0!important}
#destinationDetail .kl214-summary-card__title{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
#destinationDetail .kl214-summary-card__title strong{color:#123b71!important;font-size:13.2px!important;line-height:1.15!important;font-weight:800!important}
#destinationDetail .kl214-plan-pill{appearance:none!important;border:0!important;border-radius:999px!important;padding:4px 8px!important;background:#edf4fa!important;color:#6d8095!important;font-family:inherit!important;font-size:var(--kl214-xs)!important;line-height:1!important;font-weight:800!important;cursor:pointer!important}
#destinationDetail .kl214-plan-pill.is-added{background:#dcf5e4!important;color:#25804a!important}
#destinationDetail .kl214-plan-pill.is-waiting{background:#f0f2f5!important;color:#8b98a5!important;cursor:default!important}
#destinationDetail .kl214-summary-card__copy p{margin:5px 0 0!important;color:#647e99!important;font-size:var(--kl214-xs)!important;line-height:1.35!important}
#destinationDetail .kl214-summary-open{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border:0!important;border-radius:9px!important;background:#f1f7fc!important;color:#718ba5!important;cursor:pointer!important}
#destinationDetail .kl214-summary-open svg{width:16px!important;height:16px!important;aspect-ratio:1!important}

/* ---------- keep original detailed guide, only restyle; never replace its behaviour ---------- */
#destinationDetail .kl214-mounted>.destination-modal__body{display:block!important;padding:0 24px 30px!important;background:transparent!important}
#destinationDetail .kl214-mounted #destinationProviderHub{display:none!important}
#destinationDetail .kl214-mounted #destinationGuideLive{display:block!important;margin-top:20px!important;font-size:13px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-card--areas,#destinationDetail .kl214-mounted #destinationGuideLive .kl-booking-strip{display:none!important}
#destinationDetail .kl214-mounted .destination-modal__note{margin:15px 0 0!important;padding:14px 16px!important;border:0!important;border-radius:13px!important;background:#eaf5ff!important;color:#64809a!important;font-size:var(--kl214-xs)!important}
#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-guide__head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)!important;gap:15px!important;align-items:stretch!important;margin:0 0 13px!important;padding:8px 4px 14px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-guide__title>span{color:var(--kl214-coral)!important;font-size:var(--kl214-xs)!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important}
#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-guide__title h3{margin:5px 0 0!important;color:#0a356d!important;font-size:24px!important;line-height:1.08!important;font-weight:800!important}
#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-guide__note{display:flex!important;align-items:center!important;gap:11px!important;margin:0!important;padding:14px 15px!important;border:0!important;border-radius:13px!important;background:#eef7ff!important;color:#587492!important;text-decoration:none!important;font-size:var(--kl214-xs)!important;line-height:1.45!important}
#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-guide__note-icon{display:grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;height:40px!important;border-radius:11px!important;background:#fff!important;color:#0872df!important}
#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 13px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-chip{padding:7px 12px!important;border:0!important;border-radius:999px!important;background:#edf5fc!important;color:#587492!important;font-size:var(--kl214-xs)!important;font-weight:700!important}
#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-guide__quick{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:11px!important;margin:0 0 13px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .quick-fact{min-height:104px!important;padding:16px!important;border:0!important;border-radius:15px!important;background:#fff!important;box-shadow:0 5px 18px rgba(15,52,89,.055)!important}
#destinationDetail .kl214-mounted #destinationGuideLive .quick-fact small{display:block!important;margin-bottom:6px!important;color:#72879f!important;font-size:var(--kl214-xs)!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.04em!important}
#destinationDetail .kl214-mounted #destinationGuideLive .quick-fact strong{color:#0a356d!important;font-size:19px!important;font-weight:800!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:11px!important;margin:0 0 14px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-card.kl225-guide-food-duplicate{display:none!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-grid.kl225-guide-two-col{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-card{overflow:hidden!important;border:0!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--kl214-shadow)!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-card__media{height:160px!important;background-size:cover!important;background-position:center!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-card__top{padding:15px 16px 7px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-card__top h4{margin:0!important;color:#0a356d!important;font-size:18px!important;line-height:1.15!important;font-weight:800!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-list,#destinationDetail .kl214-mounted #destinationGuideLive .guide-practical-list{padding:5px 16px 16px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-list__item{padding:9px 0!important;border:0!important;background:transparent!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-list__item strong{display:block!important;color:#123b72!important;font-size:14px!important;font-weight:800!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-list__item span{display:block!important;margin-top:3px!important;color:#70859d!important;font-size:var(--kl214-xs)!important;line-height:1.42!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-practical-row{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important;padding:10px 0!important;border:0!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-practical-row__icon{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:11px!important;background:#edf6ff!important;color:#0870dc!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-practical-row strong{color:#123b72!important;font-size:13.5px!important;font-weight:800!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-practical-row p{margin:3px 0 0!important;color:#70859d!important;font-size:var(--kl214-xs)!important;line-height:1.42!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-map-section,#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-section{margin:14px 0!important;padding:19px!important;border:0!important;border-radius:17px!important;background:#fff!important;box-shadow:var(--kl214-shadow)!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-section-title{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important;margin:0 0 12px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-section-title span{display:block!important;color:var(--kl214-coral)!important;font-size:var(--kl214-xs)!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-section-title h4{margin:3px 0 0!important;color:#0a356d!important;font-size:22px!important;line-height:1.15!important;font-weight:800!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-map-layout{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)!important;gap:12px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-map{min-height:360px!important;overflow:hidden!important;border-radius:14px!important;background:#eef5fb!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-card{overflow:hidden!important;border:0!important;border-radius:14px!important;background:#f9fcff!important;box-shadow:0 5px 18px rgba(15,52,89,.055)!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-card__image{display:block!important;height:150px!important;overflow:hidden!important;background:#edf5fb!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-card__image img{width:100%!important;height:100%!important;object-fit:cover!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-card>div:last-child{padding:12px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-card strong{color:#123b72!important;font-size:14px!important;font-weight:800!important}
#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-card p,#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-card small{color:#70859d!important;font-size:var(--kl214-xs)!important;line-height:1.42!important}
#destinationDetail .kl214-mounted #destinationGuideLive .destination-more-wrap{display:flex!important;justify-content:center!important;margin:16px 0 3px!important}
#destinationDetail .kl214-mounted #destinationGuideLive .destination-more-btn{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:42px!important;padding:9px 19px!important;border:0!important;border-radius:10px!important;background:linear-gradient(135deg,var(--kl214-coral),var(--kl214-coral-2))!important;color:#fff!important;text-decoration:none!important;font-size:var(--kl214-xs)!important;font-weight:800!important;box-shadow:0 8px 18px rgba(253,72,108,.14)!important}

/* every small copy in the redesigned modal must remain readable */
#destinationDetail .kl214-ui small,#destinationDetail .kl214-ui em,#destinationDetail .kl214-ui button,#destinationDetail .kl214-ui p,#destinationDetail .kl214-ui span{font-size:max(var(--kl214-xs),1em)}

@media(hover:hover) and (pointer:fine){
  #destinationDetail .kl214-fact:hover{transform:translateY(-2px)!important;box-shadow:0 11px 26px rgba(22,70,115,.11)!important}
  #destinationDetail .kl214-service:hover{transform:none!important;box-shadow:var(--kl214-shadow-hover)!important}
  #destinationDetail .kl214-package:hover,#destinationDetail .kl214-addon:hover,#destinationDetail .kl214-area:hover,#destinationDetail .kl214-summary-card:hover{transform:translateY(-2px)!important;box-shadow:var(--kl214-shadow-hover)!important}
  #destinationDetail .kl214-area:hover .kl214-area__photo{transform:scale(1.025)!important;filter:saturate(1.04) contrast(1.015)!important}
  #destinationDetail .kl214-primary:hover{transform:translateY(-1px)!important;filter:saturate(1.06)!important;box-shadow:0 13px 25px rgba(253,64,98,.24)!important}
  #destinationDetail .kl214-addon__cta:hover,#destinationDetail .kl214-area button:hover,#destinationDetail .kl214-all-areas:hover,#destinationDetail .kl214-plan-pill:not(:disabled):hover,#destinationDetail .kl214-summary-open:hover{background:#dceeff!important;transform:translateY(-1px)!important}
  #destinationDetail .kl214-close:hover{transform:scale(1.05)!important;background:#fff!important;color:#0c66b8!important}
}

@media(max-width:1180px) and (min-width:721px){
  #destinationDetail .destination-modal__panel.kl214-mounted{width:94vw!important;height:94dvh!important}
  #destinationDetail .kl214-hero h2{font-size:29px!important}
  #destinationDetail .kl214-summary__grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:900px) and (min-width:721px){
  #destinationDetail .kl214-main-grid{grid-template-columns:1fr 1fr!important}
  #destinationDetail .kl214-service--car{grid-column:1/-1!important}
  #destinationDetail .kl214-areas__grid{grid-template-columns:1fr!important}
  #destinationDetail .kl214-area{grid-template-columns:150px minmax(0,1fr)!important}
  #destinationDetail .kl214-mounted #destinationGuideLive .guide-food-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  #destinationDetail .destination-modal__panel.kl214-mounted{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
  #destinationDetail .kl214-hero{min-height:300px!important;padding:18px 15px!important;border-radius:0!important}
  #destinationDetail .kl214-hero__copy{width:100%!important;padding-top:68px!important}
  #destinationDetail .kl214-hero h2{font-size:27px!important}
  #destinationDetail .kl214-date{top:10px!important;left:15px!important;right:64px!important;min-width:0!important;max-width:none!important}
  #destinationDetail .kl214-close{top:10px!important;right:12px!important}
  #destinationDetail .kl214-content{padding:12px 11px 20px!important}
  #destinationDetail .kl214-main-grid,#destinationDetail .kl214-secondary-grid,#destinationDetail .kl214-addons,#destinationDetail .kl214-areas__grid,#destinationDetail .kl214-summary__grid{grid-template-columns:1fr!important}
  #destinationDetail .kl214-service--car{grid-column:auto!important}
  #destinationDetail .kl214-package__copy{width:100%!important}
  #destinationDetail .kl214-package__media{opacity:.23!important;inset:0!important}
  #destinationDetail .kl214-all-areas{display:none!important}
  #destinationDetail .kl214-area{grid-template-columns:118px minmax(0,1fr)!important}
  #destinationDetail .kl214-mounted>.destination-modal__body{padding:0 11px 20px!important}
  #destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-guide__head,#destinationDetail .kl214-mounted #destinationGuideLive .trip-hub-guide__quick,#destinationDetail .kl214-mounted #destinationGuideLive .guide-teaser-grid,#destinationDetail .kl214-mounted #destinationGuideLive .guide-map-layout,#destinationDetail .kl214-mounted #destinationGuideLive .guide-food-gallery{grid-template-columns:1fr!important}
}
#destinationDetail .destination-modal__sticky-close{display:flex!important;position:sticky!important;z-index:95!important;top:0!important;height:0!important;justify-content:flex-end!important;pointer-events:none!important}
#destinationDetail .destination-modal__sticky-close .detail-close{display:grid!important;place-items:center!important;pointer-events:auto!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:16px 16px 0 0!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(235,246,253,.97)!important;color:#4e708f!important;box-shadow:0 7px 20px rgba(16,52,86,.09)!important;cursor:pointer!important}
#destinationDetail .destination-modal__sticky-close .detail-close svg{width:20px!important;height:20px!important}

/* Exact-date holiday handoff: reuse KamLetíme form, never a foreign iframe. */
#holidayPartnerSearchDialog .kl224-invia-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px 18px;background:#f7fbff;color:#0b356e}
#holidayPartnerSearchDialog .kl224-invia-head small{display:block;color:#ff416b;font-size:12.4px;font-weight:850;letter-spacing:.06em}
#holidayPartnerSearchDialog .kl224-invia-head h3{margin:4px 0 5px;font-size:25px;line-height:1.1}
#holidayPartnerSearchDialog .kl224-invia-head p{margin:0;color:#617c98;font-size:13px}
#holidayPartnerSearchDialog .kl224-invia-head button{width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#5f7891;font-size:24px;cursor:pointer}
#holidayPartnerSearchDialog .kl224-invia-note{padding:12px 24px;background:#eef7ff;color:#5e7893;font-size:12.4px;line-height:1.45}
#holidayPartnerSearchDialog .kl224-invia-body{padding:20px 24px 26px;background:#fff}

@media(max-width:720px){#destinationDetail .kl214-flight-actions{grid-template-columns:1fr!important}}

@media(max-width:980px) and (min-width:721px){#destinationDetail .kl214-secondary-grid{grid-template-columns:1fr!important}}

/* MASTER296 — ski-aware current modal. Keep the approved modal shell, only
   adapt the reservation hierarchy to a ski trip. */
#destinationDetail .kl214-main-grid--ski-no-flight{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:1020px}
#destinationDetail .kl214-main-grid--ski .kl214-service--car .kl214-service__price{color:#0b3d74}
#destinationDetail .kl214-main-grid--ski .kl214-service--car .kl214-primary{background:#ff3f63!important}
#destinationDetail .kl214-main-grid--ski .kl214-service--hotel .kl214-primary{background:#ff3f63!important}
#destinationDetail .kl214-fact--snow .kl214-fact__icon{background:#edf7ff;color:#0872df}
#destinationDetail .kl214-main-grid--ski-no-flight + .kl214-secondary-grid .kl214-addons{grid-template-columns:minmax(0,1fr)!important}
#destinationDetail .kl214-ui:has(.kl214-main-grid--ski) .kl214-package__copy p{max-width:500px}
@media (max-width:900px){#destinationDetail .kl214-main-grid--ski-no-flight{grid-template-columns:1fr!important;max-width:none}}

/* MASTER297 — ski modal unification and winter media consistency */
#destinationDetail[data-ski-modal="1"] .kl214-main-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
#destinationDetail[data-ski-modal="1"] .kl214-secondary-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.95fr);align-items:stretch;}
#destinationDetail[data-ski-modal="1"] .kl214-addons{grid-template-columns:repeat(2,minmax(0,1fr));}
#destinationDetail[data-ski-modal="1"] .kl214-service__media,
#destinationDetail[data-ski-modal="1"] .kl214-package__media,
#destinationDetail[data-ski-modal="1"] .kl214-addon__media{background-position:center;background-size:cover;}
#destinationDetail[data-ski-modal="1"] .kl214-area__photo{background-color:#eaf3fb;background-size:cover;background-position:center;}
@media (max-width:980px){
  #destinationDetail[data-ski-modal="1"] .kl214-main-grid{grid-template-columns:1fr;}
  #destinationDetail[data-ski-modal="1"] .kl214-secondary-grid{grid-template-columns:1fr;}
  #destinationDetail[data-ski-modal="1"] .kl214-addons{grid-template-columns:1fr;}
}


/* MASTER305: modal visibility/close/navigation are controlled exclusively by
   modal-motion-v261.css and the proven classic-destination lifecycle. */


/* MASTER305 — close shell and backdrop in one short motion. This removes the
   perceptible backdrop-only pause while the native close lifecycle catches up. */
#destinationDetail.kl305-closing .destination-modal__backdrop{
  opacity:0!important;
  transition:opacity .15s ease-out!important;
}
body.detail-open #destinationDetail.kl252-managed.kl305-closing
.destination-modal__panel.kl252-closing{
  opacity:0!important;
  transition:opacity .15s ease-out!important;
}


/* MASTER436: insurance-generali-v372.css */
/* MASTER372 — Generali affiliate card; isolated from modal-redesign CSS. */
.kl214-addon--shield[data-kl-generali372="1"] header em.kl372-generali-badge{
  background:#eef7ff;
  color:#0457a7;
  border:1px solid rgba(4,87,167,.14);
}
.kl214-addon--shield[data-kl-generali372="1"] .kl214-addon__cta{
  cursor:pointer;
}
.kl214-addon--shield[data-kl-generali372="1"] .kl214-addon__cta:not(.is-disabled){
  opacity:1;
}


/* MASTER436: reservation-plan-pill-v321.css */
/* MASTER317 — only the reservation-summary Add/Added control */
#destinationDetail .kl214-plan-pill{
  position:relative!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:26px!important;
  padding:6px 10px!important;
  border:0!important;
  border-radius:999px!important;
  background:#edf5fc!important;
  color:#39709f!important;
  font:800 12.4px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  white-space:nowrap!important;
  transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
#destinationDetail .kl214-plan-pill:not(:disabled):hover{
  background:#dfefff!important;
  color:#0d6fdc!important;
  transform:translateY(-1px)!important;
  box-shadow:0 4px 12px rgba(21,101,192,.10)!important;
}
#destinationDetail .kl214-plan-pill:focus-visible{
  outline:2px solid rgba(13,111,220,.32)!important;
  outline-offset:2px!important;
}
#destinationDetail .kl214-plan-pill.is-added{
  background:#dcf5e4!important;
  color:#25804a!important;
}
#destinationDetail .kl214-plan-pill.is-added:not(:disabled):hover{
  background:#fff0f2!important;
  color:#b94b5f!important;
  box-shadow:0 4px 12px rgba(185,75,95,.08)!important;
}
#destinationDetail .kl214-plan-pill__hover{display:none!important}
#destinationDetail .kl214-plan-pill.is-added:hover .kl214-plan-pill__normal{display:none!important}
#destinationDetail .kl214-plan-pill.is-added:hover .kl214-plan-pill__hover{display:inline!important}
/* MASTER320 — stable Add/Remove pill width and explicit remove icon */
#destinationDetail .kl214-plan-pill{
  min-width:88px!important;
}
#destinationDetail .kl214-plan-pill__normal,
#destinationDetail .kl214-plan-pill__hover{
  width:100%!important;
  text-align:center!important;
}
#destinationDetail .kl214-plan-pill.is-added:hover .kl214-plan-pill__hover{
  display:inline-block!important;
}
/* MASTER321 — keep both states the same physical size */
#destinationDetail .kl214-plan-pill{
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
}
#destinationDetail .kl214-plan-pill__normal,
#destinationDetail .kl214-plan-pill__hover{
  display:inline-block;
  width:100%!important;
  text-align:center!important;
}


/* MASTER436: modal-mobile-swipe-v326.css */
/* MASTER322 — mobile-only modal navigation. Desktop remains untouched. */
@media (max-width: 820px) {
  #destinationDetail .destination-nav--prev,
  #destinationDetail .destination-nav--next {
    display: none !important;
  }

  #destinationDetail .kl322-swipe-hint {
    position: fixed;
    left: 50%;
    bottom: max(18px, env(safe-area-inset-bottom));
    transform: translate(-50%, 10px);
    z-index: 120;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: calc(100vw - 34px);
    padding: 9px 13px;
    border: 0;
    border-radius: 999px;
    background: rgba(12, 42, 72, .92);
    box-shadow: 0 10px 28px rgba(7, 38, 68, .18);
    color: #fff;
    font: 700 12.5px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: .01em;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  #destinationDetail .kl322-swipe-hint.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
  }

  #destinationDetail .kl322-swipe-hint__arrows {
    display: inline-block;
    font-size: 16px;
    line-height: 1;
    animation: kl322SwipeHint 1.4s ease-in-out 2;
  }

  @keyframes kl322SwipeHint {
    0%, 100% { transform: translateX(0); }
    35% { transform: translateX(-3px); }
    70% { transform: translateX(3px); }
  }

  @media (prefers-reduced-motion: reduce) {
    #destinationDetail .kl322-swipe-hint,
    #destinationDetail .kl322-swipe-hint__arrows {
      transition: none !important;
      animation: none !important;
    }
  }
}

/* MASTER323 — mobile-only cleanup: feedback FAB hidden, close button slightly farther right. */
@media (max-width: 820px) {
  .kl-feedback-fab {
    display: none !important;
  }

  #destinationDetail .destination-modal__sticky-close {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 6px !important;
    display: flex !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
  }


  /* MASTER326 — mobile uses only one scrollbar indicator.
     The desktop custom scrollbar remains untouched. */
  #destinationDetail .destination-scrollbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #destinationDetail .destination-modal__sticky-close .detail-close {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
    pointer-events: auto !important;
  }
}


/* MASTER436: mobile-map-follow-v327.css */
@media (max-width: 820px){
  /* Enough breathing room when a map is brought into view in either the page
     or the internally scrolling destination modal. */
  .leaflet-container,
  .guide-map,
  [data-kamletime-map]{
    scroll-margin-top: 72px;
    scroll-margin-bottom: 24px;
  }
}


/* MASTER436: guide-layout-v246.css */
/* KamLetíme MASTER240 — clean guide presentation
   Clean replacement for v234–v239 guide CSS. No stacked historical overrides.
   Booking MASTER232 is untouched.
*/

/* Correct modal background behaviour: destination image scrolls with modal content. */
#destinationDetail .kl225-modal-bg{
  position:relative!important;
  top:auto!important;
}

/* Keep the old standalone accommodation strip out of the layout.
   We reuse the original accommodation card inside the guide. */
#destinationDetail .kl214-areas{display:none!important}

/* Upper food teaser is duplicated by the full gastronomy section below. */
#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-grid>.guide-teaser-card--food,
#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-grid>.kl240-guide-food-hidden{
  display:none!important;
}

/* 3 equal guide columns. */
#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-grid,
#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-grid.kl225-guide-two-col,
#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-grid.kl240-guide-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start!important;
  margin:0 0 18px!important;
  padding:14px!important;
  border:0!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:none!important;
  position:relative!important;
  z-index:5!important;
  pointer-events:auto!important;
}

/* Restore the existing accommodation guide card hidden by the modal stylesheet. */
#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-card--areas{
  display:flex!important;
}

/* All three section shells are identical. */
#destinationDetail .kl214-mounted #destinationGuideLive
:is(.guide-teaser-card--trips,.guide-teaser-card--practical,.guide-teaser-card--areas).kl240-guide-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  position:relative!important;
  z-index:6!important;
  pointer-events:auto!important;
}

/* Original one-photo-per-section media is no longer shown. */
#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-card>.guide-teaser-card__media{
  display:none!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-card>.guide-teaser-card__top{
  flex:0 0 auto!important;
  margin:0!important;
  padding:4px 5px 11px!important;
  border:0!important;
  background:transparent!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-card>.guide-teaser-card__top h4{
  margin:0!important;
  color:#08346f!important;
  font-size:19px!important;
  line-height:1.15!important;
  font-weight:850!important;
  letter-spacing:-.018em!important;
}

/* Same vertical list in all three cards. */
#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-card>:is(.guide-teaser-list,.guide-practical-list){
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-auto-rows:auto!important;
  gap:10px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}

/* SAME ROW GEOMETRY everywhere. */
#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-row{
  display:grid!important;
  grid-template-columns:minmax(150px,200px) minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:3px!important;
  align-items:center!important;
  min-width:0!important;
  min-height:116px!important;
  margin:0!important;
  padding:7px!important;
  overflow:visible!important;
  border:0!important;
  outline:0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 4px 15px rgba(17,57,98,.045)!important;
  position:relative!important;
  z-index:1!important;
  isolation:isolate!important;
  pointer-events:auto!important;
  cursor:default!important;
  transition:
    transform .20s cubic-bezier(.2,.75,.2,1),
    box-shadow .20s ease,
    background .20s ease!important;
}

/* ~200 px image requested; responsive minmax prevents it crushing text. */
#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-thumb{
  grid-column:1!important;
  grid-row:1/3!important;
  display:block!important;
  width:100%!important;
  max-width:200px!important;
  height:102px!important;
  min-height:102px!important;
  align-self:center!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:13px!important;
  background-color:#e8f3fb!important;
  background-image:linear-gradient(145deg,#edf6fc,#dcecf8)!important;
  background-size:cover!important;
  background-position:center!important;
  position:relative!important;
  z-index:1!important;
  pointer-events:none!important;
  transform-origin:center!important;
  transition:transform .24s ease,filter .24s ease!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-thumb.has-image{
  background-image:
    linear-gradient(180deg,rgba(8,44,82,0),rgba(8,44,82,.07)),
    var(--kl240-thumb-image)!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-thumb::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-thumb--icon svg{
  position:relative!important;
  z-index:1!important;
}
#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-thumb--icon.has-image>svg{display:none!important}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-thumb-credit{
  position:absolute!important;
  right:4px!important;
  bottom:4px!important;
  z-index:2!important;
  display:inline-flex!important;
  padding:2px 4px!important;
  border-radius:999px!important;
  background:rgba(8,42,78,.34)!important;
  color:rgba(255,255,255,.90)!important;
  font-size:7px!important;
  line-height:1!important;
  text-decoration:none!important;
  opacity:.52!important;
  pointer-events:none!important;
}

/* Copy: reuse live .guide-teaser-list__copy on accommodation rows. */
#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-copy{
  grid-column:2!important;
  grid-row:1/3!important;
  align-self:center!important;
  min-width:0!important;
  margin:0!important;
  padding:2px 1px!important;
  position:relative!important;
  z-index:3!important;
  pointer-events:auto!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-copy strong{
  display:block!important;
  margin:0!important;
  color:#103b73!important;
  font-size:15.2px!important;
  line-height:1.22!important;
  font-weight:850!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-copy>:is(span,p){
  display:block!important;
  margin:5px 0 0!important;
  color:#70859d!important;
  font-size:13.4px!important;
  line-height:1.4!important;
}

/* Accommodation keeps the exact original Booking CTA as a sibling of the original copy node. */
#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-card--areas .kl240-guide-row--action .kl240-guide-copy{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-card--areas .kl240-guide-row
>:is(.guide-teaser-list__cta,a[href],button){
  grid-column:2!important;
  grid-row:2!important;
  justify-self:start!important;
  align-self:start!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:31px!important;
  margin:5px 0 0!important;
  padding:7px 11px!important;
  border:0!important;
  border-radius:10px!important;
  background:#e7f4ff!important;
  box-shadow:none!important;
  color:#0872df!important;
  font-size:11.8px!important;
  line-height:1!important;
  font-weight:820!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:20!important;
  pointer-events:auto!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}

/* MASTER246 — subtle hover matching the calmer KamLetíme cards. */
#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-row:hover{
  z-index:10!important;
  transform:translateY(-2px)!important;
  background:#fff!important;
  box-shadow:0 9px 22px rgba(15,55,95,.085)!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-row:hover .kl240-guide-thumb{
  transform:scale(1.016)!important;
  filter:saturate(1.035) contrast(1.01)!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.kl240-guide-row:hover .kl240-guide-copy strong{
  color:#0a417f!important;
}

#destinationDetail .kl214-mounted #destinationGuideLive
.guide-teaser-card--areas .kl240-guide-row:hover
>:is(.guide-teaser-list__cta,a[href],button){
  transform:translateX(1px)!important;
  background:#e2f1ff!important;
  box-shadow:0 4px 10px rgba(8,114,223,.07)!important;
}

/* Restore hover on top service cards too. */
#destinationDetail .kl214-service{
  transition:transform .22s ease,box-shadow .22s ease!important;
}
#destinationDetail .kl214-service__media{
  transition:transform .28s ease,filter .28s ease!important;
}
#destinationDetail .kl214-service:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 19px 40px rgba(17,57,99,.15)!important;
}
#destinationDetail .kl214-service:hover .kl214-service__media{
  transform:scale(1.018)!important;
  filter:saturate(1.035) contrast(1.01)!important;
}

/* Pexels/credits stay tiny. */
#destinationDetail .kl214-media-credit{
  top:6px!important;
  right:6px!important;
  min-height:14px!important;
  padding:2px 5px!important;
  font-size:9px!important;
  line-height:1!important;
  opacity:.50!important;
  pointer-events:none!important;
}

/* Responsive. */
@media (max-width:1280px){
  #destinationDetail .kl214-mounted #destinationGuideLive .kl240-guide-row{
    grid-template-columns:minmax(130px,165px) minmax(0,1fr)!important;
  }
  #destinationDetail .kl214-mounted #destinationGuideLive .kl240-guide-thumb{
    max-width:165px!important;
    height:96px!important;
    min-height:96px!important;
  }
}

@media (max-width:980px){
  #destinationDetail .kl214-mounted #destinationGuideLive
  .guide-teaser-grid,
  #destinationDetail .kl214-mounted #destinationGuideLive
  .guide-teaser-grid.kl225-guide-two-col,
  #destinationDetail .kl214-mounted #destinationGuideLive
  .guide-teaser-grid.kl240-guide-grid{
    grid-template-columns:1fr!important;
  }
  #destinationDetail .kl214-mounted #destinationGuideLive .kl240-guide-row{
    grid-template-columns:200px minmax(0,1fr)!important;
  }
  #destinationDetail .kl214-mounted #destinationGuideLive .kl240-guide-thumb{
    max-width:200px!important;
    height:104px!important;
    min-height:104px!important;
  }
}

@media (max-width:620px){
  #destinationDetail .kl214-mounted #destinationGuideLive .kl240-guide-row{
    grid-template-columns:105px minmax(0,1fr)!important;
    min-height:92px!important;
  }
  #destinationDetail .kl214-mounted #destinationGuideLive .kl240-guide-thumb{
    max-width:105px!important;
    height:80px!important;
    min-height:80px!important;
  }
  #destinationDetail .kl214-mounted #destinationGuideLive .kl240-guide-copy strong{
    font-size:14.4px!important;
  }
  #destinationDetail .kl214-mounted #destinationGuideLive .kl240-guide-copy>:is(span,p){
    font-size:12.7px!important;
  }
}


/* MASTER436: modal-background-v245.css */
/* KamLetíme MASTER245 — modal background readability FIX
   The actual destination photo lives on .kl225-modal-bg::before.
   .kl225-modal-bg itself is only 1px high, which is why MASTER244 ::after
   produced only the white line at the top.
*/

/* Remove the incorrect v244 pseudo overlay completely. */
#destinationDetail .kl225-modal-bg::after{
  content:none!important;
  display:none!important;
}

/* Desktop: strong left-side light veil for headline / description / facts,
   while the right side keeps the photo alive. Keep the existing vertical
   fade into the modal body. */
#destinationDetail .kl225-modal-bg::before{
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,.94) 0%,
      rgba(255,255,255,.90) 20%,
      rgba(255,255,255,.78) 36%,
      rgba(255,255,255,.56) 50%,
      rgba(255,255,255,.28) 64%,
      rgba(255,255,255,.08) 76%,
      rgba(255,255,255,0) 88%
    ),
    linear-gradient(
      180deg,
      rgba(244,250,255,.03) 0%,
      rgba(244,250,255,.10) 32%,
      rgba(240,248,253,.64) 73%,
      #eef8ff 100%
    ),
    var(--kl214-panel-image)!important;
}

/* Notebook/tablet: text occupies more horizontal space, extend the readable
   zone farther to the right. */
@media (max-width:1180px){
  #destinationDetail .kl225-modal-bg::before{
    background-image:
      linear-gradient(
        90deg,
        rgba(255,255,255,.95) 0%,
        rgba(255,255,255,.91) 28%,
        rgba(255,255,255,.78) 48%,
        rgba(255,255,255,.50) 66%,
        rgba(255,255,255,.18) 82%,
        rgba(255,255,255,0) 100%
      ),
      linear-gradient(
        180deg,
        rgba(244,250,255,.04) 0%,
        rgba(244,250,255,.12) 30%,
        rgba(240,248,253,.68) 74%,
        #eef8ff 100%
      ),
      var(--kl214-panel-image)!important;
  }
}

/* Mobile: headline spans nearly the whole width. Instead of a left-only veil,
   use a soft overall light layer on the top of the photo. */
@media (max-width:700px){
  #destinationDetail .kl225-modal-bg::before{
    background-image:
      linear-gradient(
        180deg,
        rgba(255,255,255,.84) 0%,
        rgba(255,255,255,.80) 34%,
        rgba(255,255,255,.66) 58%,
        rgba(240,248,253,.82) 78%,
        #eef8ff 100%
      ),
      var(--kl214-panel-image)!important;
  }
}


/* MASTER436: modal-motion-v261.css */
/* KamLetíme MASTER252 — stable modal shell + subtle horizontal content slide
   The shell dimensions are fixed BEFORE the modal becomes visible. This removes
   the visible wide -> final-width recalculation on homepage open and navigation.
*/

/* Stable desktop shell. Same geometry as the final .kl214-mounted modal, but it
   applies immediately when body.detail-open is set — before rendering finishes. */
body.detail-open #destinationDetail.kl252-managed .destination-modal__panel{
  position:fixed!important;
  z-index:2!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:min(88vw,1560px)!important;
  height:94dvh!important;
  max-width:calc(100vw - 30px)!important;
  max-height:calc(100dvh - 22px)!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  border-radius:22px!important;
  box-sizing:border-box!important;
  opacity:0!important;
  transition:opacity .19s ease!important;
  will-change:opacity!important;
}

body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel.kl252-ready{
  opacity:1!important;
}

/* Navigation drops the shell only slightly in opacity, enough to mask the
   background/content swap without making the modal disappear for long. */
body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel.kl252-switch-out{
  opacity:.14!important;
  transition:opacity .15s ease-in!important;
  pointer-events:none!important;
}

body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel.kl252-closing{
  opacity:0!important;
  transition:opacity .18s ease-in!important;
  pointer-events:none!important;
}

/* Only the CONTENT moves, never the modal shell. 10px is intentionally subtle. */
body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel>.kl214-ui{
  opacity:1;
  transform:translateX(0);
  transition:opacity .20s ease,transform .20s cubic-bezier(.22,.7,.25,1)!important;
  will-change:opacity,transform;
}

body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel.kl252-switch-out.kl252-next>.kl214-ui{
  opacity:0!important;
  transform:translateX(-10px)!important;
}

body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel.kl252-switch-out.kl252-prev>.kl214-ui{
  opacity:0!important;
  transform:translateX(10px)!important;
}

/* Initial state of the newly rendered destination. Class is removed two frames
   later so it softly slides into place while the fixed shell fades back up. */
body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel>.kl214-ui.kl252-ui-enter-next{
  opacity:0!important;
  transform:translateX(10px)!important;
  transition:none!important;
}

body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel>.kl214-ui.kl252-ui-enter-prev{
  opacity:0!important;
  transform:translateX(-10px)!important;
  transition:none!important;
}

/* Same stable geometry as existing modal breakpoints. */
@media(max-width:1180px) and (min-width:721px){
  body.detail-open #destinationDetail.kl252-managed .destination-modal__panel{
    width:94vw!important;
    height:94dvh!important;
  }
}

@media(max-width:720px){
  body.detail-open #destinationDetail.kl252-managed .destination-modal__panel{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
}

/* Keep symmetric navigation controls. */
#destinationDetail :is(.destination-nav--prev,.destination-nav--next){
  width:46px!important;
  height:46px!important;
  margin:0!important;
  opacity:.82!important;
  transition:opacity .18s ease,box-shadow .18s ease,background .18s ease!important;
}

#destinationDetail :is(.destination-nav--prev,.destination-nav--next):hover{
  opacity:1!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 10px 25px rgba(5,36,67,.13)!important;
}

@media(prefers-reduced-motion:reduce){
  body.detail-open #destinationDetail.kl252-managed .destination-modal__panel,
  body.detail-open #destinationDetail.kl252-managed .destination-modal__panel.kl252-ready,
  body.detail-open #destinationDetail.kl252-managed .destination-modal__panel.kl252-switch-out,
  body.detail-open #destinationDetail.kl252-managed .destination-modal__panel.kl252-closing{
    opacity:1!important;
    transition:none!important;
  }
  body.detail-open #destinationDetail.kl252-managed
  .destination-modal__panel>.kl214-ui{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* ==========================================================
   MASTER253 — scrollbar stability + real close animation
   ========================================================== */

/* Reserve the browser scrollbar gutter from initial page load.
   This prevents the page/modal centre from shifting when body.detail-open
   changes page scrolling. */
html{
  scrollbar-gutter:stable;
}

/* Also reserve the modal's own vertical scroll gutter so its content width
   cannot change when a destination is shorter/longer than the previous one. */
body.detail-open #destinationDetail.kl252-managed .destination-modal__panel{
  scrollbar-gutter:stable!important;
}

/* The custom modal scrollbar is positioned by positionChrome().
   Keep it invisible until the FINAL panel rect has been measured and applied. */
#destinationDetail.kl253-chrome-managed .destination-scrollbar{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:none!important;
}

#destinationDetail.kl253-chrome-managed.kl253-chrome-ready .destination-scrollbar{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:opacity .12s ease!important;
}

/* Close now uses the same settled shell; only opacity changes. */
body.detail-open #destinationDetail.kl252-managed
.destination-modal__panel.kl252-closing{
  opacity:0!important;
  transition:opacity .18s ease-in!important;
}

/* MASTER261 — header spacing only: more air between trip info and close icon. */
@media (min-width:721px){
  #destinationDetail .kl214-date{
    right:84px!important;
  }
}

