.ubytovanie {
  position: relative; padding: 76px 0;
}
.ubytovanie-header {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 0 26px;
}
.ubytovanie-heading {
  min-width: 0;
}
.ubytovanie-title {
  margin: 0 0 8px; font-family: var(--font-heading); font-size: clamp(34px, 3.5vw, 54px); font-weight: 800; line-height: 1.1; color: var(--color-ink);
}
.ubytovanie-intro {
  margin: 0; font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--color-muted);
}
.ubytovanie-slider {
  --ubytovanie-slider-mode: grid; --ubytovanie-photo-max-height: 330px; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5009380863fr); gap: 24px;
}
.ubytovanie-slider.owl-loaded {
  display: block;
}
.ubytovanie-slider .owl-stage {
  display: flex; align-items: flex-start;
}
.ubytovanie-slider .owl-item {
  flex-shrink: 0; float: none;
}
.ubytovanie-slider .owl-stage-outer {
  padding-bottom: 24px;
}
.ubytovanie-slider.owl-drag .owl-item {
  cursor: grab; touch-action: pan-y;
}
.ubytovanie-slider.owl-grab .owl-item {
  cursor: grabbing;
}
.ubytovanie-card {
  position: relative; display: block; min-width: 0; color: var(--color-cream); background: #34452d; border-radius: 22px; box-shadow: 0 8px 24px rgba(36, 49, 24, 0.12); overflow: hidden; isolation: isolate; transition: box-shadow 180ms ease;
}
.ubytovanie-slider--active .ubytovanie-card {
  width: calc(var(--ubytovanie-photo-height, 330px) * var(--ubytovanie-ratio, 1));
}
.ubytovanie-card::before {
  position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, rgba(13, 27, 17, 0.88), rgba(13, 27, 17, 0.32) 36%, transparent 72%); pointer-events: none; content: "";
}
.ubytovanie-card::after {
  position: absolute; z-index: 1; inset: 0; background-image: var(--surface-grain); background-size: 200px 200px; opacity: 0.12; mix-blend-mode: soft-light; pointer-events: none; content: "";
}
.ubytovanie-slider .ubytovanie-card-photo {
  display: block; width: 100%; height: auto; transition: transform 250ms ease; -webkit-user-drag: none; user-select: none;
}
.ubytovanie-card-copy {
  position: absolute; z-index: 2; right: 20px; bottom: 22px; left: 20px;
}
.ubytovanie-card-title {
  margin: 0 0 8px; font-family: var(--font-heading); font-size: clamp(22px, 1.7vw, 32px); font-weight: 800; line-height: 1.1; color: var(--color-cream); text-shadow: 0 2px 12px rgba(13, 27, 17, 0.25);
}
.ubytovanie-card-capacity {
  display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 800; line-height: 1.4;
}
.ubytovanie-card-capacity .icon {
  width: 19px; height: 19px;
}
.ubytovanie-card-arrow {
  position: absolute; z-index: 2; top: 16px; right: 16px;
}
.ubytovanie-card:hover {
  box-shadow: 0 12px 30px rgba(36, 49, 24, 0.18);
}
.ubytovanie-card:hover .ubytovanie-card-photo {
  transform: scale(1.035);
}
.ubytovanie-card:focus-visible {
  outline: 3px solid var(--color-yellow); outline-offset: -4px;
}
.ubytovanie-navigation {
  display: flex; flex-shrink: 0; align-items: center; gap: 10px; padding-bottom: 2px;
}
.ubytovanie-navigation:empty, .ubytovanie-navigation.disabled {
  display: none;
}
.ubytovanie-slider .owl-dots {
  display: flex; align-items: center; justify-content: center; gap: 6px;
}
.ubytovanie-slider .owl-dots.disabled {
  display: none;
}
.ubytovanie-slider button.owl-dot {
  display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; background: transparent; border: 0; border-radius: 50%; cursor: pointer;
}
.ubytovanie-slider .owl-dot span {
  display: block; width: 10px; height: 10px; background: var(--color-dot); border-radius: 50%; transition: background-color 160ms ease, transform 160ms ease;
}
.ubytovanie-slider .owl-dot.active span {
  background: var(--color-dot-active); transform: scale(1.25);
}
.ubytovanie-slider .owl-dot:hover span {
  background: var(--color-dot-hover);
}
