/**
 * Panorama — Block & layout styles (1:1 Figma). Depends on tokens.css + base.css.
 */

/* Full-bleed helper: content starts at the container's left edge, runs to the
   viewport's right edge (used by the horizontal sliders). */
.pnr-bleed {
  padding-left: max(var(--gutter), calc((100vw - var(--container)) / 2));
}

/* ============================================================ SITE HEADER */
.site-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 50;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--sp-5);
  padding: 30px max(var(--gutter), calc((100vw - var(--container)) / 2));
  color: var(--c-white);
  transition:
    background-color var(--dur) var(--ease),
    padding var(--dur) var(--ease),
    transform 280ms var(--ease);
  will-change: transform;
}
.site-header.is-hidden {
  transform: translate3d(0, calc(-100% - 2px), 0);
  pointer-events: none;
}
.site-header.is-fixed {
  position: fixed;
}
.site-header__left {
  justify-self: start;
}
.site-header__center {
  justify-self: center;
}
.site-header__right {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-6);
}
.site-header.is-scrolled {
  position: fixed;
  background: rgba(22, 19, 15, 0.78);
  -webkit-backdrop-filter: blur(16px) saturate(1.12);
  backdrop-filter: blur(16px) saturate(1.12);
  padding-block: 1rem;
  box-shadow: 0 10px 40px -20px rgba(0, 0, 0, 0.6);
}
.site-header.is-scrolled .pnr-logo__svg,
.site-header.is-scrolled .pnr-logo img {
  width: 190px;
}
.site-header--solid {
  position: sticky;
  top: 0;
  background: var(--c-dark);
  padding-block: 1.25rem;
}
.site-header--light {
  position: sticky;
  top: 0;
  background: var(--c-cream);
  padding-block: 1.25rem;
  color: var(--c-heading);
}
.site-header--light .pnr-logo__svg path[fill="white"] {
  fill: var(--c-heading);
}
.site-header--light.is-scrolled {
  color: var(--c-white);
}
.site-header--light.is-scrolled .pnr-logo__svg path[fill="white"] {
  fill: var(--c-white);
}
@media (prefers-reduced-motion: reduce) {
  .site-header {
    transition-duration: 0.01ms;
  }
}

.pnr-logo {
  display: inline-flex;
  align-items: center;
}
.pnr-logo img {
  width: 200px;
  height: auto;
}
.pnr-logo__svg {
  display: block;
  width: 200px;
}
.pnr-logo__svg svg {
  display: block;
  width: 100%;
  height: auto;
}
.pnr-logo__mark {
  color: var(--c-gold);
}
.pnr-logo__word {
  font-family: var(--font-display);
  font-weight: var(--fw-xlight);
  font-size: 1.75rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  padding-left: 0.34em;
}
.pnr-logo__sub {
  font-family: var(--font-body);
  font-weight: var(--fw-reg);
  font-size: max(11px, 0.6875rem);
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--c-white-86);
  padding-left: 0.34em;
}

.pnr-menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: none;
  border: 0;
  padding: 0;
  font-family: var(--font-body);
  font-weight: var(--fw-reg);
  font-size: var(--fs-cap);
  line-height: normal;
  letter-spacing: 2.86px;
  text-transform: uppercase;
}
/* Three uneven bars (28 / 16 / 22px) — 1:1 with Figma "Button - Otvori meni". */
.pnr-menu-toggle__lines {
  display: inline-flex;
  flex: 0 0 28px;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  width: 28px;
}
.pnr-menu-toggle__lines span {
  display: block;
  flex: 0 0 1.5px;
  height: 1.5px;
  background: currentColor;
}
.pnr-menu-toggle__lines span:nth-child(1) {
  width: 28px;
}
.pnr-menu-toggle__lines span:nth-child(2) {
  width: 16px;
}
.pnr-menu-toggle__lines span:nth-child(3) {
  width: 22px;
}

.pnr-lang {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: var(--fs-cap);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.pnr-lang a {
  opacity: 0.55;
  transition: opacity var(--dur) var(--ease);
}
.pnr-lang a + a {
  position: relative;
  padding-left: 10px;
}
.pnr-lang a + a::before {
  content: "|";
  position: absolute;
  left: -1px;
  opacity: 0.5;
}
.pnr-lang a.is-active,
.pnr-lang a:hover {
  opacity: 1;
}

/* Orange square reservation button with arrow. */
.pnr-header-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 1rem 2rem;
  background: var(--c-gold);
  color: var(--c-white);
  font-family: var(--font-display);
  font-weight: var(--fw-reg);
  font-size: var(--fs-cap);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: background-color var(--dur) var(--ease);
}
.pnr-header-cta:hover {
  background: #a76e21;
}
.pnr-header-cta__arrow {
  transition: transform var(--dur) var(--ease);
}
.pnr-header-cta:hover .pnr-header-cta__arrow {
  transform: translateX(3px);
}

/* ==================================================================== HERO */
.pnr-hero {
  position: relative;
  min-height: 100svh;
  background-size: cover;
  background-position: center;
  color: var(--c-white);
  isolation: isolate;
  overflow: hidden;
}
.pnr-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.pnr-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(20, 16, 12, 0.6) 0%,
      rgba(20, 16, 12, 0.12) 16%,
      rgba(20, 16, 12, 0) 30%
    ),
    linear-gradient(0deg, rgba(20, 16, 12, 0.55) 0%, rgba(20, 16, 12, 0) 40%);
}

/* Headline position follows the Figma hero above the booking form. */
.pnr-hero__headline {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 75.3%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: calc(var(--container) + 2 * var(--gutter));
  padding-inline: var(--gutter);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.5rem, 0.5rem + 2vw, 3rem);
}
/* ===== Info bar — launch notice under the hero (Figma 812:169) ===== */
.pnr-infobar {
  background: #f2ebe3;
  border-block: 1px solid rgba(20, 16, 12, 0.12);
}
.pnr-infobar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(2rem, 1rem + 3vw, 4rem);
  padding-block: clamp(2rem, 1.4rem + 1.6vw, 3.25rem);
}
.pnr-infobar__text {
  display: flex;
  align-items: flex-start;
  gap: clamp(1rem, 0.5rem + 1.4vw, 2.1875rem);
  max-width: 1010px;
}
.pnr-infobar__icon {
  flex: none;
  color: #14100c;
  display: inline-flex;
}
.pnr-infobar__icon svg {
  width: 38px;
  height: 38px;
}
.pnr-infobar__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 18px;
  line-height: 23px;
  letter-spacing: 0.01em;
  color: #1a1714;
  margin: 0 0 8px;
}
.pnr-infobar__desc {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 16px;
  line-height: 26px;
  color: #4a443b;
  max-width: 907px;
  margin: 0;
}
.pnr-infobar__cta {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 20px 34px;
  border: 1px solid var(--c-gold);
  color: var(--c-gold);
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.186em;
  text-transform: uppercase;
  white-space: nowrap;
  transition:
    background-color var(--dur, 0.25s) var(--ease, ease),
    color var(--dur, 0.25s) var(--ease, ease);
}
.pnr-infobar__cta:hover {
  background: var(--c-gold);
  color: #fff;
}
.pnr-infobar__cta svg {
  width: 16px;
  height: 12px;
}
@media (max-width: 860px) {
  .pnr-infobar__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }
  .pnr-infobar__cta {
    align-self: stretch;
    justify-content: center;
  }
  .pnr-infobar__desc {
    font-size: 15px;
    line-height: 24px;
  }
}
.pnr-hero__rule {
  flex: 1 1 0;
  height: 1px;
  max-width: 300px;
}
.pnr-hero__headline .pnr-hero__rule:first-child {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.55) 100%
  );
}
.pnr-hero__headline .pnr-hero__rule:last-child {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.55) 0%,
    rgba(255, 255, 255, 0) 100%
  );
}
.pnr-hero__title {
  font-family: var(--font-display);
  font-weight: var(--fw-xlight);
  font-size: clamp(2rem, 1.2rem + 2.4vw, 3rem);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--c-white);
  white-space: nowrap;
}

/* Left vertical scroll cue. */
.pnr-hero__scroll {
  position: absolute;
  z-index: 2;
  left: var(--gutter);
  bottom: clamp(2.5rem, 1rem + 4vw, 4rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--sp-6);
  cursor: pointer;
}
.pnr-hero__scroll:hover .pnr-hero__scroll-circle {
  background: rgba(255, 255, 255, 0.12);
}
/* Two parallel vertical text columns (small + main), reading bottom-to-top. */
.pnr-hero__scroll-labels {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  height: 168px;
}
.pnr-hero__scroll-labels span {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-transform: uppercase;
  white-space: nowrap;
}
.pnr-hero__scroll-small {
  font-family: var(--font-display);
  font-size: max(11px, 0.75rem);
  letter-spacing: 0.24em;
  color: var(--c-white-60);
}
.pnr-hero__scroll-main {
  font-family: var(--font-display);
  font-size: max(11px, 0.9375rem);
  letter-spacing: 0.24em;
  color: var(--c-white);
}
.pnr-hero__scroll-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--c-white);
}

/* Dark glass booking form (square, 3 glass segments). */
.pnr-booking {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: clamp(2.5rem, 1rem + 4vw, 4rem);
  transform: translateX(-50%);
  display: flex;
  align-items: stretch;
  width: min(700px, calc(100% - 2 * var(--gutter)));
  background: rgba(18, 14, 10, 0.34);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(16px) saturate(1.1);
  -webkit-backdrop-filter: blur(16px) saturate(1.1);
}
.pnr-booking__seg,
.pnr-booking > label {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 1.1rem 1.5rem;
  position: relative;
  min-width: 0;
}
.pnr-booking__seg:first-of-type,
.pnr-booking > label:first-of-type {
  flex: 1.3;
}
.pnr-booking > label {
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}
.pnr-booking > label span {
  display: block;
  margin-bottom: 6px;
  /* Field names are single-line; "Pristupni kod" must not break in two. */
  white-space: nowrap;
  font-size: max(11px, 0.75rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-white-60);
}
.pnr-booking > label input,
.pnr-booking > label select {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  appearance: none;
  background: transparent;
  color: var(--c-white);
  font: 300 max(11px, 0.9375rem)/1.2 var(--font-display);
}
.pnr-booking > label select {
  cursor: pointer;
}
.pnr-booking > label select option {
  color: var(--c-heading);
  background: var(--c-white);
}
.pnr-booking__ico {
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--c-white);
  opacity: 0.7;
}
.pnr-booking__value {
  white-space: nowrap;
}
.pnr-booking__label {
  font-size: max(11px, 0.75rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-white-60);
}
.pnr-booking__value {
  font-size: max(11px, 0.9375rem);
  color: var(--c-white);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.pnr-booking__arrowmini {
  opacity: 0.7;
}
.pnr-booking__divider {
  width: 1px;
  background: rgba(255, 255, 255, 0.18);
}
.pnr-booking__submit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 1.6rem;
  background: transparent;
  color: var(--c-white);
  border: 0;
  font-family: var(--font-display);
  font-weight: var(--fw-reg);
  font-size: var(--fs-cap);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: background-color var(--dur) var(--ease);
}
.pnr-booking__submit:hover {
  background: rgba(255, 255, 255, 0.08);
}
.pnr-booking__arrow {
  transition: transform var(--dur) var(--ease);
}
.pnr-booking__submit:hover .pnr-booking__arrow {
  transform: translateX(3px);
}

/* ================================================================ MARQUEE */
.pnr-marquee {
  background: var(--c-cream);
  overflow: hidden;
  padding-block: clamp(2rem, 1.4rem + 1.6vw, 3rem);
}
.pnr-marquee__eyebrow {
  text-align: center;
  margin-bottom: clamp(1.25rem, 0.8rem + 1vw, 1.75rem);
}
.pnr-marquee__viewport {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent,
    #000 8%,
    #000 92%,
    transparent
  );
  mask-image: linear-gradient(
    90deg,
    transparent,
    #000 8%,
    #000 92%,
    transparent
  );
}
.pnr-marquee__track {
  display: flex;
  align-items: center;
  gap: 26px;
  width: max-content;
  padding-left: 26px;
  animation: pnr-marq 45s linear infinite;
}
.pnr-marquee:hover .pnr-marquee__track {
  animation-play-state: paused;
}
.pnr-marquee__item {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  font-family: var(--font-body);
  font-weight: var(--fw-reg);
  font-size: max(11px, 0.875rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-heading);
  white-space: nowrap;
}
.pnr-marquee__ico {
  display: inline-flex;
  color: var(--c-heading);
}
.pnr-marquee__ico svg {
  display: block;
  width: 26px;
  height: 26px;
}
.pnr-marquee__item::after {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(190, 129, 43, 0.55);
  margin-left: 26px;
}
@keyframes pnr-marq {
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .pnr-marquee__track {
    animation: none;
  }
}

/* ================================================================== INTRO */
.pnr-intro {
  position: relative;
  overflow: hidden;
}
.pnr-intro__art {
  position: absolute;
  right: -4%;
  top: 50%;
  transform: translateY(-50%);
  width: min(52%, 900px);
  height: auto;
  pointer-events: none;
  z-index: 0;
  opacity: 0.9;
}
.pnr-intro__media {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: min(46%, 820px);
  z-index: 0;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 42%);
  mask-image: linear-gradient(90deg, transparent, #000 42%);
}
.pnr-intro__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pnr-intro__inner {
  position: relative;
  z-index: 1;
  max-width: 1005px;
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
}
.pnr-intro__text {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: var(--fs-d3);
  line-height: 1.38;
  letter-spacing: -0.01em;
}
.pnr-intro__lead,
.pnr-intro__rest {
  color: inherit;
}
.pnr-intro__word {
  position: relative;
  display: inline-block;
  color: var(--c-body-2);
}
.pnr-intro__word-fill {
  position: absolute;
  inset: 0;
  color: var(--c-heading);
  opacity: var(--pnr-word-progress, 0);
  pointer-events: none;
  will-change: opacity;
}
@media (prefers-reduced-motion: reduce) {
  .pnr-intro__word-fill {
    opacity: 1;
  }
}
.pnr-intro__word-base {
  color: var(--c-body-2);
}

/* ============================================================== ISKUSTVA */
.pnr-isk .pnr-container {
  display: flex;
  flex-direction: column;
  gap: clamp(3.5rem, 2rem + 5vw, 6.5rem);
}
/* Content column 856, side image 628 (856/628 = 1.363). Widths swap with side. */
.pnr-isk-row {
  display: grid;
  grid-template-columns: 1.363fr 1fr;
  gap: clamp(1.5rem, 0.5rem + 4vw, 7.2rem);
  align-items: stretch;
}
.pnr-isk-row--right {
  grid-template-columns: 1fr 1.363fr;
}
.pnr-isk-row__col {
  display: flex;
  flex-direction: column;
}
.pnr-isk-row__main {
  aspect-ratio: 856 / 554;
}
.pnr-isk-row__images,
.pnr-isk-row__image {
  position: absolute;
  inset: 0;
}
.pnr-isk-row__images {
  z-index: 0;
}
.pnr-isk-row__image {
  opacity: 0;
  transition: opacity 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none;
}
.pnr-isk-row__image.is-active {
  opacity: 1;
  pointer-events: auto;
}
.pnr-isk-row__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pnr-isk-row__side {
  position: relative;
  align-self: stretch;
  overflow: hidden;
}

/* Tone-setting photo caption: rule, spaced uppercase name, latin name in
   italics, rule, then short lines. No overlay — only the type sits on the photo. */
.pnr-photo-caption {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: min(86%, 430px);
  margin: 0;
  padding: 0 34px 44px;
  color: #fff;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}
.pnr-photo-caption__rule {
  width: 52px;
  height: 1px;
  background: rgba(255, 255, 255, 0.72);
}
.pnr-photo-caption__title {
  margin-top: 20px;
  font: 300 22px/1.15 var(--font-display);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.pnr-photo-caption__latin {
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.86);
  font: italic 300 14px/1.3 var(--font-body);
}
.pnr-photo-caption__latin + .pnr-photo-caption__rule,
.pnr-photo-caption__title + .pnr-photo-caption__rule {
  margin-top: 18px;
}
.pnr-photo-caption__text {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.9);
  font: 300 14px/1.55 var(--font-body);
}
/* Taste Split photo: caption reads from the top-left corner instead of the
   bottom, so it stays clear of the card's own bottom-left content below it. */
.pnr-taste-split__image .pnr-photo-caption {
  top: 0;
  bottom: auto;
  padding: 40px 34px 0;
}
.pnr-taste-split__image .pnr-photo-caption__latin {
  color: var(--c-gold-2);
}
.pnr-isk-row__side img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pnr-isk-row__pills {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.pnr-isk-row__pills .pnr-pill {
  appearance: none;
  cursor: pointer;
}
.pnr-isk-row__pills .pnr-pill:empty {
  display: none;
}
.pnr-isk-row__body {
  padding-top: clamp(1.5rem, 1rem + 1.5vw, 2rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--sp-5);
}
.pnr-isk-row__title {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  flex-wrap: wrap;
}
.pnr-isk-row__icons {
  display: inline-flex;
  gap: 10px;
}
.pnr-isk-row__text {
  max-width: 803px;
}
.pnr-isk-row__btn {
  margin-top: var(--sp-2);
}
/* Image on the right → content column moves to the left. */
.pnr-isk-row--right .pnr-isk-row__col {
  order: 2;
}
.pnr-isk-row--right .pnr-isk-row__side {
  order: 1;
}

/* Facility icon square */
.pnr-fic {
  width: 50px;
  height: 50px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--c-white);
  background: transparent;
  border: 2px solid transparent;
  border-radius: 1px;
}
.pnr-fic svg {
  width: 22px;
  height: auto;
}
.pnr-fic--soul {
  background: transparent;
  border-color: transparent;
  color: var(--c-soul);
}
.pnr-fic--juniper {
  background: transparent;
  border-color: transparent;
  color: var(--c-juniper);
}
.pnr-fic--ritual {
  background: transparent;
  border-color: transparent;
  color: var(--c-ritual);
}
.pnr-fic--hidden {
  background: transparent;
  border-color: transparent;
  color: var(--c-hidden);
}
.pnr-fic--tonegym {
  background: transparent;
  border-color: transparent;
  color: var(--c-tonegym);
}
.pnr-fic--panorama {
  background: transparent;
  border-color: transparent;
  color: var(--c-panorama);
}

/* ============================================================ AKTIVNOSTI */
.pnr-akt__grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: clamp(1.5rem, 0.5rem + 3vw, 4rem);
  align-items: start;
}
.pnr-akt__intro {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  padding-right: var(--sp-6);
}
.pnr-akt__text {
  color: var(--c-body);
}
.pnr-akt__intro .pnr-carousel-nav {
  margin-top: var(--sp-4);
}
.pnr-akt__track {
  min-width: 0;
}
.pnr-akt__track::-webkit-scrollbar {
  display: none;
}
.pnr-akt__card {
  position: relative;
  width: clamp(300px, 27vw, 510px);
  aspect-ratio: 510 / 683;
  overflow: hidden;
  margin-right: 30px;
  color: var(--c-white);
  isolation: isolate;
}
.pnr-akt__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: transparent;
}
.pnr-akt__media img {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal;
}
.pnr-akt__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(1.5rem, 1rem + 1.5vw, 2.25rem);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.72);
}
.pnr-akt__rule {
  width: 100%;
  height: 1px;
  background: var(--c-gold-2);
  margin-bottom: var(--sp-2);
}
.pnr-akt__name {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.375rem);
  line-height: 1.1;
}
.pnr-akt__sub {
  font-size: max(11px, 0.9375rem);
  color: var(--c-white-86);
}

/* ============================================================ PANORAMA SISTEM */
.pnr-sistem__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sp-6);
  margin-bottom: clamp(2rem, 1rem + 2vw, 3rem);
}
.pnr-sistem__head .pnr-section-head {
  max-width: 652px;
}
.pnr-sistem__intro {
  color: var(--c-body);
}
.pnr-carousel-nav {
  display: inline-flex;
  gap: 14px;
  flex: none;
}
.pnr-nav-btn svg {
  width: 16px;
  height: 12px;
}

.pnr-sistem__track {
  min-width: 0;
}
.pnr-sistem__track::-webkit-scrollbar {
  display: none;
}
.pnr-fac {
  display: flex;
  flex-direction: column;
  width: clamp(280px, 25vw, 489px);
  height: 100%;
  margin-right: 30px;
  min-width: 0;
  overflow: hidden;
  color: var(--c-white);
  background: var(--c-soul);
}
.pnr-fac--soul {
  background: var(--c-soul);
}
.pnr-fac--juniper {
  background: var(--c-juniper);
}
.pnr-fac--panorama {
  background: var(--c-panorama);
}
.pnr-fac--ritual {
  background: var(--c-ritual);
}
.pnr-fac--hidden {
  background: var(--c-hidden);
}
.pnr-fac--tonegym {
  background: var(--c-tonegym);
}
.pnr-fac__media {
  aspect-ratio: 489 / 288;
}
.pnr-fac__body {
  display: flex;
  flex-direction: column;
  padding: clamp(1.75rem, 1rem + 2vw, 2.375rem);
  flex: 1;
  min-width: 0;
}
.pnr-fac__icon {
  flex: 0 0 56px;
  min-width: 56px;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--c-white);
  margin-bottom: var(--sp-5);
}
.pnr-fac__icon svg {
  width: 26px;
  height: auto;
  color: currentColor;
}
.pnr-fac--soul .pnr-fac__icon,
.pnr-fac--juniper .pnr-fac__icon,
.pnr-fac--panorama .pnr-fac__icon,
.pnr-fac--ritual .pnr-fac__icon,
.pnr-fac--hidden .pnr-fac__icon,
.pnr-fac--tonegym .pnr-fac__icon {
  background: transparent;
  color: var(--c-white);
}
.pnr-fac__kicker {
  font-family: var(--font-body);
  font-weight: var(--fw-reg);
  font-size: var(--fs-kicker);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--c-white-60);
  margin-bottom: var(--sp-3);
}
.pnr-fac__name {
  font-family: var(--font-display);
  font-weight: var(--fw-med);
  font-size: var(--fs-name);
  letter-spacing: var(--ls-name);
  line-height: 1.05;
}
.pnr-fac__sub {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: 1.125rem;
  color: var(--c-white-86);
  /* margin-top: var(--sp-2); */
  line-height: 1.2;
}
.pnr-fac__divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.45);
  margin-block: var(--sp-5);
}
.pnr-fac__text {
  font-size: var(--fs-cap);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
}
.pnr-fac__features {
  margin-top: auto;
  padding-top: var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: var(--fs-cap);
  color: rgba(255, 255, 255, 0.9);
}

/* =================================================================== STATS */
.pnr-stats__intro {
  color: var(--c-body);
}
.pnr-stats__grid {
  margin-top: clamp(2.5rem, 1.5rem + 3vw, 4rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(2rem, 1rem + 3vw, 3.5rem) clamp(2rem, 1rem + 4vw, 5.6rem);
}
.pnr-stats__item {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(20, 16, 12, 0.16);
  padding-top: var(--sp-6);
}
.pnr-stats__value {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: var(--fs-stat);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--c-gold);
  display: flex;
  align-items: baseline;
}
.pnr-stats__suffix {
  font-size: 0.45em;
  margin-left: 2px;
}
.pnr-stats__label {
  margin-top: var(--sp-5);
  font-family: var(--font-body);
  font-weight: var(--fw-med);
  font-size: 1rem;
  letter-spacing: 0.02em;
  color: var(--c-heading);
}
.pnr-stats__desc {
  margin-top: var(--sp-2);
  font-size: var(--fs-cap);
  line-height: 1.6;
  color: var(--c-body-2);
}

/* =================================================================== QUOTE */
.pnr-quote {
  position: relative;
  overflow: hidden;
  background: var(--c-dark);
  color: var(--c-white);
  padding-block: clamp(4rem, 2rem + 7vw, 13rem);
  isolation: isolate;
}
.pnr-quote__backgrounds,
.pnr-quote__background {
  position: absolute;
  inset: 0;
}
.pnr-quote__backgrounds {
  z-index: 0;
  overflow: hidden;
}
.pnr-quote__background {
  background-position: center;
  background-size: cover;
  opacity: 0;
  transition: opacity 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pnr-quote__background.is-active {
  opacity: 1;
}
.pnr-quote__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(20, 16, 12, 0.5);
}
/* Figma vector already carries opacity 0.2 (baked into the SVG's <g>), so no
   extra CSS opacity here — otherwise it compounds to 0.04 and vanishes. The
   shape sits above the scrim but BELOW the card, so it only shows in the
   left/right margins (the opaque card covers its centre), exactly as in Figma. */
.pnr-quote__shape {
  position: absolute;
  left: -72%;
  top: 27%;
  width: 156%;
  max-width: none;
  height: auto;
  z-index: 2;
  pointer-events: none;
}
.pnr-quote .pnr-container {
  position: relative;
  z-index: 3;
}
.pnr-quote__card {
  background: var(--c-dark-2);
  max-width: 1162px;
  min-height: 632px;
  margin-inline: auto;
  padding: clamp(3rem, 2rem + 4vw, 4.5rem) clamp(2rem, 1rem + 4vw, 6rem);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.5rem, 1.5rem + 3vw, 4rem);
}
.pnr-quote__slides {
  width: 100%;
  flex: 1;
}
.pnr-quote__slide {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-7);
}
.pnr-quote__slides .slick-list,
.pnr-quote__slides .slick-track {
  height: 100%;
}
.pnr-quote__eyebrow-top {
  position: absolute;
  top: clamp(3rem, 2rem + 4vw, 4.5rem);
  left: 0;
  right: 0;
}
.pnr-quote__text {
  font-family: var(--font-display);
  font-weight: var(--fw-xlight);
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.625rem);
  line-height: 1.32;
  letter-spacing: -0.01em;
  color: #f7f2e9;
  max-width: 22ch;
}
.pnr-quote__author {
  font-family: var(--font-display);
  font-weight: var(--fw-med);
  font-size: max(11px, 0.75rem);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-gold-2);
}
.pnr-quote .slick-dots {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: var(--sp-6) 0 0;
}
.pnr-quote .slick-dots li {
  line-height: 0;
}
.pnr-quote .slick-dots li button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.32);
  padding: 0;
  font-size: 0;
  color: transparent;
  cursor: pointer;
  transition:
    width var(--dur) var(--ease),
    background-color var(--dur) var(--ease);
}
.pnr-quote .slick-dots li.slick-active button {
  width: 10px;
  height: 10px;
  background: var(--c-gold-2);
}

/* ===================================================================== MAP */
.pnr-map {
  background: var(--c-cream);
}
.pnr-map__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1921 / 919;
  overflow: hidden;
}
.pnr-map__visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
  clip-path: inset(0 0 0 33%);
}
.pnr-map__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pnr-map__pin {
  position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 12px;
}
.pnr-map__dot {
  width: 50px;
  height: 50px;
  flex: none;
  border-radius: 50%;
  background: var(--c-dark);
  color: var(--c-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: var(--fw-reg);
  font-size: 1.125rem;
  box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.5);
}
.pnr-map__label {
  display: flex;
  flex-direction: column;
}
.pnr-map__name {
  font-family: var(--font-body);
  font-weight: var(--fw-med);
  font-size: 1.25rem;
  color: #4c4438;
  line-height: 1.2;
}
.pnr-map__sub {
  font-family: var(--font-body);
  font-weight: var(--fw-reg);
  font-size: 1rem;
  color: var(--c-muted);
}
.pnr-map__intro {
  position: absolute;
  z-index: 1;
  top: 27.2%;
  left: 7.8%;
  width: 25%;
  max-width: 460px;
  display: flex;
  flex-direction: column;
  gap: clamp(1.75rem, 2.1vw, 2.5rem);
}
.pnr-map__intro .pnr-title {
  max-width: 7.5em;
  margin: 0;
  font-size: clamp(2.75rem, 3.55vw, 4.25rem);
  line-height: 1.02;
  letter-spacing: 0.005em;
}
.pnr-map__text {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 1.8vw, 2rem);
  color: var(--c-body);
  font-size: clamp(0.9375rem, 0.95vw, 1.125rem);
  font-weight: var(--fw-light);
  line-height: 1.7;
}
.pnr-map__text p {
  margin: 0;
}

/* ============================================================= DAY (SPLIT) */
.pnr-day__grid {
  display: grid;
  grid-template-columns: 504px 1fr;
  gap: clamp(2rem, 1rem + 3vw, 5rem);
  align-items: start;
}
.pnr-day__intro {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  padding-right: var(--sp-6);
}
.pnr-day__intro .pnr-title {
  margin-block: var(--sp-2);
}
.pnr-day__text {
  color: var(--c-body);
}
.pnr-day__intro .pnr-carousel-nav {
  margin-top: var(--sp-4);
}
.pnr-nav-btn--sm {
  width: 54px;
  height: 54px;
}
.pnr-day__slider {
  border-left: 1px solid rgba(20, 16, 12, 0.14);
  padding-left: clamp(2rem, 1rem + 3vw, 4rem);
  overflow: hidden;
  min-width: 0;
}
.pnr-day__track {
  min-width: 0;
}
.pnr-day__track::-webkit-scrollbar {
  display: none;
}
.pnr-day__card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  width: 330px;
  margin-right: 34px;
}
.pnr-day__meta {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  min-height: 92px;
}
.pnr-day__time {
  color: var(--c-gold);
  letter-spacing: 0.19em;
}
.pnr-day__cap {
  font-size: var(--fs-cap);
  line-height: 1.7;
  color: var(--c-body-2);
}
.pnr-day__media {
  aspect-ratio: 330 / 440;
  background: var(--c-card);
}

/* ============================================================ CONF (CTA) */
.pnr-conf {
  padding-block: 84px 86px;
}
.pnr-conf__head {
  max-width: 776px;
  gap: 18px;
}
.pnr-conf__head .pnr-eyebrow {
  font-weight: var(--fw-reg);
  line-height: 18px;
}
.pnr-conf__head .pnr-title {
  font-size: 48px;
  line-height: 50.4px;
}
.pnr-conf__intro {
  color: var(--c-body);
  font-size: 20px;
  line-height: 33.25px;
}
/* Transform-based carousel: centred slide is bigger, neighbours smaller/dimmed. */
.pnr-conf__viewport {
  overflow: hidden;
  margin-block: 91px 42px;
}
.pnr-conf__track {
  min-width: 0;
}
.pnr-conf__track .slick-track {
  display: flex;
  align-items: center;
}
.pnr-conf__slide {
  display: flex !important;
  height: 696px;
  float: none;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(0.5rem, 0.3rem + 1vw, 1.25rem);
}
.pnr-conf__media {
  flex: 0 0 480px;
  width: 480px;
  height: 504px;
  transform: none;
  opacity: 1;
  transition:
    width 0.5s var(--ease),
    height 0.5s var(--ease),
    flex-basis 0.5s var(--ease),
    transform 0.5s var(--ease),
    opacity 0.5s var(--ease);
}
.pnr-conf__slide:has(+ .slick-center) {
  justify-content: flex-end;
}
.pnr-conf__slide:has(+ .slick-center) .pnr-conf__media {
  transform: translateX(-64px);
}
.slick-center + .pnr-conf__slide {
  justify-content: flex-start;
}
.slick-center + .pnr-conf__slide .pnr-conf__media {
  transform: translateX(64px);
}
.pnr-conf__slide.slick-center .pnr-conf__media {
  flex-basis: 1160px;
  width: 1160px;
  height: 696px;
  transform: scale(1);
  opacity: 1;
}
.pnr-conf__media {
  aspect-ratio: auto;
  box-shadow: none;
}
@media (min-width: 901px) {
  .pnr-conf__track,
  .pnr-conf__track .slick-list,
  .pnr-conf__track .slick-track {
    height: 696px !important;
  }
}
.pnr-conf__tab-images,
.pnr-conf__tab-image {
  position: absolute;
  inset: 0;
}
.pnr-conf__tab-images {
  z-index: 0;
}
.pnr-conf__tab-image {
  opacity: 0;
  transition: opacity 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none;
}
.pnr-conf__tab-image.is-active {
  opacity: 1;
  pointer-events: auto;
}
.pnr-conf__tab-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pnr-conf__tags {
  position: absolute;
  top: 56px;
  left: 56px;
  z-index: 2;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.pnr-conf__tags .pnr-pill {
  appearance: none;
  cursor: pointer;
  padding: 10px 19px;
  border-color: var(--c-gold);
  font-size: 14px;
  letter-spacing: 0;
}
.pnr-conf__tags .pnr-pill:empty {
  display: none;
}
.pnr-conf__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 56px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 16px;
  color: var(--c-white);
  background: linear-gradient(
    180deg,
    rgba(20, 16, 12, 0) 45%,
    rgba(20, 16, 12, 0.14) 65%,
    rgba(20, 16, 12, 0.46) 100%
  );
  opacity: 0;
  transition: opacity 0.5s var(--ease);
}
.pnr-conf__slide.slick-center .pnr-conf__overlay {
  opacity: 1;
}
.pnr-conf__slide-name {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: 40px;
  line-height: 50px;
  letter-spacing: 0.02em;
}
.pnr-conf__slide-kicker {
  color: var(--c-gold-2);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: var(--fw-reg);
  line-height: 16px;
  letter-spacing: 2.64px;
  text-transform: uppercase;
}
.pnr-conf__slide-desc {
  font-size: 18px;
  line-height: 28.9px;
  color: var(--c-white-86);
  max-width: 558px;
}
.pnr-conf__controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  text-align: center;
}
.pnr-conf__pager {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.pnr-conf__count {
  display: inline-flex;
  min-width: 74px;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 15px 20px;
  border-radius: 100px;
  background: #ece4d6;
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: 1.0625rem;
  line-height: normal;
  letter-spacing: 0.08em;
  color: var(--c-body);
}
.pnr-conf__name {
  margin-top: 0;
  font-size: 40px;
  line-height: 50px;
  letter-spacing: -0.01em;
}
.pnr-conf__controls .pnr-isk-row__btn {
  margin-top: 0;
  padding: 16px 32px 20px;
  border-color: var(--c-gold);
  letter-spacing: 0;
}

/* ================================================================== FOOTER */
.site-footer {
  background: var(--c-dark-2);
  color: var(--c-white-86);
}
/* CTA over background image */
.pnr-foot-hero {
  position: relative;
  background-size: cover;
  background-position: center 73%;
  min-height: clamp(520px, 42vw, 775px);
  display: flex;
  align-items: center;
  isolation: isolate;
}
.pnr-foot-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(28, 28, 28, 0.6) 0%,
    rgba(28, 28, 28, 0.72) 55%,
    rgba(28, 28, 28, 0.91) 82.676%,
    #1c1c1c 100%
  );
}
.pnr-foot-hero__inner {
  width: min(877px, 100%);
  max-width: 877px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding-block: clamp(4rem, 2rem + 6vw, 7rem);
}
.pnr-foot-hero__title {
  color: var(--c-white);
  max-width: 759px;
  letter-spacing: -1.36px;
}
.pnr-foot-hero__text {
  max-width: 759px;
  color: var(--c-white-86);
  font-size: 20px;
  line-height: 32.3px;
}
.pnr-foot-hero__btn {
  width: 209.61px;
  height: 57px;
  margin-top: 35px;
  padding: 0;
  border-color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
  letter-spacing: 2.34px;
}

.pnr-foot-cols {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: var(--sp-8) clamp(2rem, 1rem + 4vw, 6rem);
  padding-block: clamp(3rem, 2rem + 4vw, 5rem);
}
.pnr-foot-col {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.pnr-foot-col__title {
  font-family: var(--font-display);
  font-weight: var(--fw-reg);
  font-size: max(11px, 0.6875rem);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #857c6c;
}
.pnr-foot-col ul {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.pnr-foot-col ul a {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: 1.75rem;
  line-height: 1.25;
  color: #e9e0cf;
  transition: color var(--dur) var(--ease);
}
.pnr-foot-col a:hover {
  color: var(--c-white);
}
.pnr-foot-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 210px));
  gap: var(--sp-8) clamp(2rem, 1rem + 2.5vw, 3.5rem);
  align-self: start;
  justify-self: end;
}
.pnr-foot-contact {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.pnr-foot-contact strong {
  color: #cfc6b3;
  font-weight: var(--fw-light);
  font-size: 1rem;
}
.pnr-foot-contact__channels {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
}
.pnr-foot-contact__channels a {
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(207, 198, 179, 0.35);
}
.pnr-foot-contact small {
  color: #857c6c;
  font-size: var(--fs-cap);
}
/* Newsletter hidden until it launches (Figma directive 2026-07-28 "trenutno sakriti"). */
.pnr-foot-newsletter {
  display: none;
}
.pnr-foot-newsletter {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.pnr-foot-form {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  padding-bottom: var(--sp-3);
  max-width: 400px;
}
.pnr-foot-form input {
  flex: 1;
  background: none;
  border: 0;
  color: var(--c-white);
  font: inherit;
  padding: 0.4rem 0;
}
.pnr-foot-form input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.pnr-foot-form input:focus {
  outline: none;
}
.pnr-foot-form button {
  background: none;
  border: 0;
  color: var(--c-gold-2);
  font-size: var(--fs-cap);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pnr-foot-logobar {
  display: flex;
  align-items: center;
  gap: var(--sp-7);
  padding-block: var(--sp-6);
}
.pnr-foot-logobar__line {
  flex: 1;
  height: 1px;
  background: rgba(233, 224, 207, 0.14);
}
.pnr-foot-logobar__logo {
  flex: none;
  width: 200px;
}
.pnr-foot-logobar__logo svg {
  display: block;
  width: 100%;
  height: auto;
}
.pnr-foot-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-6);
  padding-bottom: var(--sp-7);
  font-family: var(--font-body);
  font-weight: var(--fw-light);
  font-size: var(--fs-cap);
  color: #857c6c;
}
.pnr-foot-bottom__legal {
  display: inline-flex;
  gap: var(--sp-6);
}
.pnr-foot-bottom__author {
  white-space: nowrap;
}
.pnr-foot-bottom__legal a:hover,
.pnr-foot-bottom__author:hover {
  color: var(--c-white);
}
@media (min-width: 1750px) {
  .pnr-foot-cols {
    grid-template-columns: 244.41px minmax(0, 963.59px) 392px;
    column-gap: 0;
    padding-block: 80px;
  }
  .pnr-foot-info {
    width: 392px;
    grid-template-columns: 150px 150px;
    gap: 50px 92px;
    justify-self: stretch;
  }
  .pnr-foot-logobar {
    width: 100vw;
    height: 83px;
    margin-left: calc(50% - 50vw);
    gap: 27px;
    padding: 0;
  }
  .pnr-foot-logobar__logo {
    width: 238px;
  }
  .pnr-foot-bottom {
    padding: 9px 0 53px;
  }
}

/* ======================================================= CPT TEMPLATES */
.pnr-single__hero {
  position: relative;
  min-height: 62svh;
  display: flex;
  align-items: flex-end;
  color: var(--c-white);
  isolation: isolate;
  overflow: hidden;
}
.pnr-single__media {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.pnr-single__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pnr-single__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(20, 16, 12, 0.75),
    rgba(20, 16, 12, 0.1) 60%
  );
}
.pnr-single__head {
  padding-block: clamp(3rem, 2rem + 4vw, 6rem);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
}
.pnr-single .pnr-entry {
  margin-top: var(--sp-6);
}
.pnr-single .pnr-entry p + p {
  margin-top: var(--sp-5);
}
.pnr-single__back {
  margin-top: var(--sp-8);
}
.pnr-offer-detail {
  display: grid;
  grid-template-columns: 1fr minmax(320px, 420px);
  gap: var(--sp-9);
  align-items: start;
}
.pnr-offer-detail__main .pnr-title {
  margin-top: var(--sp-4);
}
.pnr-offer-detail__main .pnr-lead {
  margin-top: var(--sp-6);
}
.pnr-offer-detail__card {
  background: var(--c-soul);
  color: var(--c-white);
  padding: var(--sp-7);
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  position: sticky;
  top: var(--sp-9);
}
.pnr-offer-detail__card .pnr-fac__features {
  color: rgba(255, 255, 255, 0.9);
}
.pnr-iskustva__grid--archive {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
  margin-top: var(--sp-8);
}
.pnr-arch-card {
  display: block;
  color: var(--c-heading);
}
.pnr-arch-card .pnr-media {
  aspect-ratio: 4/3;
  margin-bottom: var(--sp-4);
}
.pnr-pagination {
  margin-top: var(--sp-9);
  display: flex;
  justify-content: center;
  gap: var(--sp-3);
}
.pnr-pagination a,
.pnr-pagination .current {
  padding: 0.5rem 0.9rem;
  border: 1px solid var(--c-tan-2);
}
.pnr-pagination .current {
  background: var(--c-heading);
  color: var(--c-white);
}
.pnr-empty {
  margin-top: var(--sp-7);
  color: var(--c-body-2);
  font-style: italic;
}

/* ============================================================== REVEAL */
.js-reveal .pnr-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.7s var(--ease),
    transform 0.7s var(--ease);
}
.js-reveal .pnr-reveal.is-in {
  opacity: 1;
  transform: none;
}
.js-reveal .pnr-hero.pnr-reveal {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .pnr-mega__link {
    transition-duration: 0.01ms;
  }
  .pnr-quote__background {
    transition: none;
  }
  .pnr-isk-row__image {
    transition: none;
  }
  .pnr-conf__tab-image {
    transition: none;
  }
  .js-reveal .pnr-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ============================================================== RESPONSIVE */
@media (max-width: 1100px) {
  /* Feature rows stack in the Figma mobile order: TEXT (title, desc, link),
	   then the image-with-pills, then the tall image. */
  .pnr-isk-row,
  .pnr-isk-row--right {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .pnr-isk-row__col {
    display: contents;
  }
  .pnr-isk-row__body {
    order: 1;
    padding-top: 0;
  }
  .pnr-isk-row__main {
    order: 2;
    aspect-ratio: 357 / 261;
    margin-top: 28px;
  }
  .pnr-isk-row__side,
  .pnr-isk-row--right .pnr-isk-row__side {
    order: 3;
    aspect-ratio: 357 / 425;
    margin-top: 28px;
  }
  .pnr-day__grid,
  .pnr-akt__grid {
    grid-template-columns: 1fr;
  }
  .pnr-stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
  /* Header: hamburger · logo · lang. Equal 1fr sides keep the logo dead-centre
	   in the viewport (uneven hamburger/lang widths must not shift it). */
  .site-header {
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }
  /* Flex (not block) so the logo has no inline-baseline gap and sits on the
	   same vertical centre as the hamburger and language switch. */
  .site-header__center {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .site-header__left {
    display: inline-flex;
    align-items: center;
  }
  .pnr-logo {
    display: flex;
    align-items: center;
  }
  .pnr-menu-toggle {
    align-items: center;
  }
  .pnr-logo__svg {
    width: 140px;
  }
  .pnr-logo img,
  .site-header.is-scrolled .pnr-logo img {
    width: 140px;
    height: auto;
  }
  .pnr-header-cta {
    display: inline-flex;
    min-height: 42px;
    gap: 7px;
    padding: 10px 14px;
    font-size: 11px;
    line-height: 1;
    letter-spacing: 1.35px;
    white-space: nowrap;
  }
  .pnr-header-cta__arrow {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
  }
  .site-header__right {
    gap: var(--sp-4);
  }

  .pnr-sistem__head {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--sp-6);
  }
  .pnr-sistem__head .pnr-carousel-nav,
  .pnr-akt__intro .pnr-carousel-nav,
  .pnr-day__intro .pnr-carousel-nav {
    align-self: flex-start;
  }
  /* Intro: drop the side artwork, full-width text. */
  .pnr-intro__media,
  .pnr-intro__art {
    display: none;
  }
  .pnr-intro__inner {
    max-width: none;
  }
  .pnr-intro__text {
    font-size: clamp(1.375rem, 4.5vw, 1.75rem);
    line-height: 1.42;
  }
  /* Sliders align with the container (no fixed divider). */
  .pnr-day__slider {
    border-left: 0;
    padding-left: 0;
    overflow: visible;
  }
  .pnr-day__track,
  .pnr-akt__track,
  .pnr-sistem__track {
    grid-auto-columns: 78vw;
  }

  /* Okupljanja leaves the fixed 1920px desktop composition below 900px. */
  .pnr-conf {
    padding-block: var(--section-y);
  }
  .pnr-conf__head {
    max-width: 620px;
    gap: var(--sp-5);
  }
  .pnr-conf__head .pnr-eyebrow {
    line-height: 1.44;
  }
  .pnr-conf__head .pnr-title {
    font-size: var(--fs-d2);
    line-height: var(--lh-tight);
  }
  .pnr-conf__intro {
    font-size: 18px;
    line-height: var(--lh-body);
  }
  .pnr-conf__viewport {
    margin-block: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
  }
  .pnr-conf__slide,
  .pnr-conf__slide:has(+ .slick-center),
  .slick-center + .pnr-conf__slide {
    display: block !important;
    height: auto;
    padding-inline: clamp(0.5rem, 0.3rem + 1vw, 1.25rem);
  }
  .pnr-conf__media,
  .pnr-conf__slide:has(+ .slick-center) .pnr-conf__media,
  .slick-center + .pnr-conf__slide .pnr-conf__media,
  .pnr-conf__slide.slick-center .pnr-conf__media {
    width: 100%;
    height: auto;
    flex-basis: auto;
    aspect-ratio: 1000 / 600;
  }
  .pnr-conf__media,
  .pnr-conf__slide:has(+ .slick-center) .pnr-conf__media,
  .slick-center + .pnr-conf__slide .pnr-conf__media {
    transform: scale(0.84);
  }
  .pnr-conf__slide.slick-center .pnr-conf__media {
    transform: scale(1);
  }
  .pnr-conf__tags {
    top: 24px;
    left: 24px;
  }
  .pnr-conf__overlay {
    padding: clamp(1.75rem, 1rem + 2vw, 2.75rem);
    gap: var(--sp-3);
  }
  .pnr-conf__slide-name {
    font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.125rem);
    line-height: 1.1;
    letter-spacing: 0;
  }
  .pnr-conf__slide-kicker {
    font-size: 12px;
    line-height: 1.25;
    letter-spacing: 0.16em;
  }
  .pnr-conf__slide-desc {
    max-width: 46ch;
    line-height: 1.6;
  }
  .pnr-conf__controls {
    gap: var(--sp-5);
  }
  .pnr-conf__name {
    margin-top: var(--sp-2);
    font-size: var(--fs-d4);
    line-height: var(--lh-tight);
  }

  /* Mobile footer: logo top, stacked nav / newsletter / contact. */
  .site-footer > .pnr-container {
    display: flex;
    flex-direction: column;
  }
  .pnr-foot-logobar {
    order: -1;
    justify-content: center;
    padding-block: 0 var(--sp-9);
  }
  .pnr-foot-logobar__line {
    display: none;
  }
  .pnr-foot-cols {
    order: 0;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-9) var(--sp-6);
    padding-top: 0;
  }
  .pnr-foot-info {
    grid-column: span 2;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-8) var(--sp-6);
    margin-top: var(--sp-6);
    justify-self: stretch;
  }
  .pnr-foot-newsletter {
    order: -1;
  }
  .pnr-foot-bottom {
    flex-direction: column-reverse;
    align-items: flex-start;
    text-align: left;
    gap: var(--sp-4);
    border-top: 1px solid rgba(233, 224, 207, 0.14);
    padding-top: var(--sp-7);
  }
  .pnr-conf__slide {
    flex-basis: 84vw;
  }
  .pnr-iskustva__grid--archive {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .pnr-fac__name {
    font-size: 26px;
  }
}
@media (max-width: 900px) {
  .pnr-foot-bottom {
    flex-direction: column-reverse;
  }
}
.pnr-quote.pnr-reveal.is-in {
  display: none !important;
}
@media (max-width: 640px) {
  .pnr-stats__grid {
    grid-template-columns: 1fr;
  }
  /* Booking form stacks vertically. */
  .pnr-booking {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    width: min(440px, 100%);
  }
  .pnr-booking__seg,
  .pnr-booking > label {
    padding: 1.1rem 1.5rem;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
  .pnr-booking__divider {
    display: none;
  }
  .pnr-booking__submit {
    width: 100%;
    justify-content: center;
    padding-block: 1.1rem;
    background: rgba(255, 255, 255, 0.06);
  }
  .pnr-hero__scroll {
    display: none;
  }
  .pnr-hero__headline {
    top: 63.15%;
  }
  .pnr-foot-hero__title {
    font-size: clamp(2rem, 5vw + 1rem, 2.75rem);
  }
  .pnr-foot-info {
    grid-template-columns: 1fr 1fr;
  }
  .pnr-conf__controls .pnr-conf__name {
    font-size: 1.5rem;
  }
  .pnr-map__name {
    font-size: 1rem;
  }
  .pnr-map__sub {
    font-size: max(11px, 0.8rem);
  }
  .pnr-map__dot {
    width: 40px;
    height: 40px;
  }
  .pnr-iskustva__grid--archive {
    grid-template-columns: 1fr;
  }
  .pnr-quote__card {
    min-height: auto;
    padding: clamp(2.5rem, 8vw, 3.5rem) clamp(1.5rem, 6vw, 2.5rem);
  }
  .pnr-section-head,
  .pnr-conf__head,
  .pnr-stats .pnr-section-head {
    max-width: 100%;
  }
}

/* Draggable carousels */
.slick-slider .slick-list {
  cursor: grab;
}
.slick-slider .slick-list:active {
  cursor: grabbing;
}
/* slick handles drag */

/* ============================================================ SLICK GLUE */
/* Equal-height card slides. */
.pnr-sistem__track .slick-track,
.pnr-akt__track .slick-track,
.pnr-day__track .slick-track {
  display: flex;
}
.pnr-sistem__track .slick-slide,
.pnr-akt__track .slick-slide,
.pnr-day__track .slick-slide {
  height: auto;
}
/* Sistem panels (.pnr-fac is itself the slide) already carry height:100%,
   so their coloured body fills the row; day/akt cards keep their own
   intrinsic aspect-ratio height. No blanket height on card children. */
/* Slick lists shouldn't add default margins; keep our own spacing. */
.slick-slider {
  margin-bottom: 0;
}
.slick-list:focus {
  outline: none;
}
/* Conf: let the scaled centre image show without clipping neighbours. */
.pnr-conf__viewport .slick-list {
  overflow: visible;
}
.pnr-conf__viewport {
  overflow: hidden;
}

/* ==================================================== SLIDER EDGE FADES */
/* Figma pins a gradient rectangle over the screen edge of each full-bleed
   slider so the peeking card dissolves into the section background instead of
   being hard-cut. Colour = that section's bg; width is 1:1 with Figma
   (166 / 257 / 368 px at the 1920 design width, expressed as vw so it scales). */
.pnr-akt .pnr-bleed,
.pnr-sistem .pnr-bleed,
.pnr-day__slider,
.pnr-conf__viewport {
  position: relative;
}
.pnr-akt .pnr-bleed::after,
.pnr-sistem .pnr-bleed::after,
.pnr-day__slider::after,
.pnr-conf__viewport::before,
.pnr-conf__viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  pointer-events: none;
}
/* Right-edge fades: solid section colour at the screen edge → transparent inward. */
.pnr-akt .pnr-bleed::after {
  right: 0;
  width: 8.65vw;
  background: linear-gradient(to left, #faf8f4, rgba(250, 248, 244, 0));
}
.pnr-sistem .pnr-bleed::after {
  right: 0;
  width: 8.65vw;
  background: linear-gradient(to left, #f2ebe3, rgba(242, 235, 227, 0));
}
.pnr-day__slider::after {
  right: 0;
  width: 13.4vw;
  background: linear-gradient(to left, #f2ebe3, rgba(242, 235, 227, 0));
}
/* Conf runs in centre mode, so it fades BOTH edges. */
.pnr-conf__viewport::after {
  right: 0;
  width: 19.2vw;
  background: linear-gradient(to left, #faf8f4, rgba(250, 248, 244, 0));
}
.pnr-conf__viewport::before {
  left: 0;
  width: 19.2vw;
  background: linear-gradient(to right, #faf8f4, rgba(250, 248, 244, 0));
}

/* ======================================================= MEGA MENU (Figma 248-2467) */
.pnr-mega {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  background: #1c1c1c;
  color: #f1e9d8;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.45s var(--ease, ease),
    visibility 0s linear 0.45s;
}
.pnr-mega[hidden] {
  display: flex;
} /* keep laid out so it can fade; visibility gates interaction */
.pnr-mega.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.45s var(--ease, ease);
}

/* Left panel — logo, nav, contact, language, CTA. */
.pnr-mega__panel {
  flex: 0 0 63.3%;
  max-width: 63.3%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 40px clamp(1.5rem, 5.9vw, 113px) 76px;
}
.pnr-mega__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}
.pnr-mega__logo {
  display: inline-flex;
}
.pnr-mega__logo .pnr-logo__svg {
  width: 160px;
}
.pnr-mega__close {
  flex: none;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid #e6e6e6;
  background: transparent;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background-color 0.25s ease,
    transform 0.25s ease;
}
.pnr-mega__close:hover {
  background: rgba(255, 255, 255, 0.09);
  transform: rotate(90deg);
}

.pnr-mega__rule {
  display: block;
  height: 1px;
  background: #e9e0cf;
  opacity: 0.26;
}
.pnr-mega__rule:not(.pnr-mega__rule--foot) {
  margin-top: 38px;
}

/* Big vertical nav; inactive items are dimmed, the hovered/active one is cream. */
.pnr-mega__nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: clamp(2rem, 3.4vw, 65px);
}
.pnr-mega__link {
  font-family: var(--font-display);
  font-weight: 200;
  font-size: clamp(2.25rem, 3.39vw, 65px);
  line-height: 1.14;
  letter-spacing: -0.022em;
  color: #f1e9d8;
  opacity: 0.42;
  text-decoration: none;
  transform: translateX(0);
  transition:
    opacity 0.28s var(--ease, ease),
    transform 0.28s var(--ease, ease);
  will-change: opacity, transform;
}
.pnr-mega__link:hover,
.pnr-mega__link:focus-visible,
.pnr-mega__link.is-active {
  opacity: 1;
  transform: translateX(14px);
}

@media (min-width: 901px) and (max-width: 1700px) {
  .pnr-mega__link {
    font-size: clamp(44px, 3.1vw, 56px);
    line-height: 1.1;
  }
}

/* Bottom block: contact (left), language + CTA (right). */
.pnr-mega__foot {
  margin-top: auto;
  position: relative;
  padding-top: 41px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 2rem;
}
.pnr-mega__rule--foot {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.pnr-mega__contact {
  display: flex;
  flex-direction: column;
  min-height: 152px;
}
.pnr-mega__kontakt {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #be812b;
}
.pnr-mega__addr {
  margin-top: 14px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 15px;
  font-style: normal;
  line-height: 27px;
  color: #cfc6b3;
}
.pnr-mega__addr a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pnr-mega__addr a:hover {
  color: #f1e9d8;
}
.pnr-mega__social {
  margin-top: auto;
  display: flex;
  gap: 22px;
}
.pnr-mega__social a {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 15px;
  color: #cfc6b3;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pnr-mega__social a:hover {
  color: #f1e9d8;
}

.pnr-mega__foot-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
}
.pnr-mega__lang {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.pnr-mega__lang a {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
}
.pnr-mega__lang a:not(.is-active) {
  opacity: 0.5;
}
.pnr-mega__lang-sep {
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, 0.6);
}

/* Phase one: language versions are not live yet. Keep markup ready to restore. */
.pnr-lang,
.pnr-mega__lang {
  display: none;
}
.pnr-mega__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #be812b;
  color: #fff;
  border-radius: 2px;
  padding: 14px 28px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background-color 0.25s ease;
}
.pnr-mega__cta:hover {
  background: #a86e1f;
}
.pnr-mega__cta svg {
  width: 18px;
  height: 12px;
}
.pnr-mega__cta svg path {
  stroke: currentColor;
}

/* Right panel — the active item's image, feathered into the dark panel on its left. */
.pnr-mega__media {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
  background: #211c15;
}
.pnr-mega__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.55s var(--ease, ease);
}
.pnr-mega__img.is-active {
  opacity: 1;
}
.pnr-mega__media-fade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* background: linear-gradient(to right, #1c1c1c 0%, rgba(28, 28, 28, 0) 28%); */
}

/* Small screens: single column, image hidden, nav scaled down. */
@media (max-width: 860px) {
  .pnr-mega__panel {
    flex-basis: 100%;
    max-width: 100%;
    padding: 24px 24px 40px;
    overflow-y: auto;
  }
  .pnr-mega__media {
    display: none;
  }
  .pnr-mega__logo .pnr-logo__svg {
    width: 140px;
  }
  .pnr-mega__nav {
    margin-top: 1.5rem;
    gap: 10px;
  }
  .pnr-mega__link {
    font-size: clamp(1.75rem, 7vw, 2.25rem);
    line-height: 1.3;
    letter-spacing: -0.01em;
  }
  .pnr-mega__foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.75rem;
    padding-top: 32px;
  }
  .pnr-mega__foot-right {
    align-items: flex-start;
    gap: 1.5rem;
    width: 100%;
  }
  .pnr-mega__contact {
    min-height: 0;
    gap: 14px;
  }
  .pnr-mega__social {
    margin-top: 4px;
  }
}

/* ============================================ MAP — mobile layout (Figma 388-2481) */
/* Phones use their dedicated ACF copy + wide map artwork from the design. */
.pnr-map__m {
  display: none;
}
@media (max-width: 900px) {
  .pnr-map__stage {
    display: none;
  }
  .pnr-map {
    background: var(--c-cream);
    padding-block: clamp(2.75rem, 8vw, 4rem) clamp(2.5rem, 7vw, 3.5rem);
  }
  .pnr-map__m {
    display: block;
  }
  .pnr-map__m-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    padding-inline: var(--gutter);
  }
  .pnr-map__m-title {
    font-family: var(--font-display);
    font-weight: 300;
    font-size: clamp(2rem, 10.7vw, 2.625rem);
    line-height: 1;
    letter-spacing: 0.04em;
    color: #1a1714;
    margin: 0;
  }
  .pnr-map__m-eyebrow {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #6e655a;
  }
  .pnr-map__m-text {
    display: flex;
    flex-direction: column;
    gap: 18px;
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 16px;
    line-height: 28px;
    color: #8c8275;
    margin: 0;
  }
  .pnr-map__m-text p {
    margin: 0;
  }
  .pnr-map__m-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
    background: #be812b;
    color: #fff;
    border-radius: 2px;
    padding: 17px 34px;
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
  }
  .pnr-map__m-btn svg {
    width: 18px;
    height: 12px;
  }
  .pnr-map__m-btn svg path {
    stroke: currentColor;
  }
  .pnr-map__m-btn {
    display: none;
  }
  /* map-mobile.png has a wide empty/transparent margin on its left third;
	   crop that dead space out (anchored right) so the full building cluster
	   and all pins stay visible, shown bigger, with a bit of side breathing room. */
  .pnr-map__m-map {
    position: relative;
    overflow: hidden;
    height: 62vw;
    margin-top: clamp(2rem, 8vw, 3rem);
    padding-inline: var(--gutter);
  }
  .pnr-map__m-map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    display: block;
  }
}

/* ============================================ MOBILE 1:1 — exact Figma values (388-2480) */
@media (max-width: 640px) {
  /* Tighter rhythm to match the 390px design (was 72px sections / 20px gutter). */
  :root {
    --gutter: 16px;
    --section-y: 2rem;
  }

  /* Client feedback: mobile CTAs should feel lighter than their desktop pair. */
  .pnr-btn:not(.pnr-isk-row__btn) {
    gap: 9px;
    padding: 13px 22px;
    font-size: 12px;
  }
  .pnr-infobar__cta {
    gap: 9px;
    padding: 14px 22px;
    font-size: 12px;
  }
  .pnr-foot-hero__btn {
    width: 172px;
    height: 46px;
    margin-top: 22px;
    padding: 0;
    font-size: 12px;
  }

  /* — HOME HERO: 390 × 844 Figma composition with the live PHOBS fields. */
  .pnr-booking {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 69px 76px 54px;
    left: calc(50% - 2px);
    width: min(356px, calc(100% - 34px));
    height: 201px;
    bottom: calc(27px + env(safe-area-inset-bottom, 0px));
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(18, 14, 10, 0.34);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }
  .pnr-booking > label {
    min-width: 0;
    min-height: 0;
    justify-content: center;
    gap: 0;
    padding: 13px 16px 10px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }
  .pnr-booking > label:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
  }
  .pnr-booking > label:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
  }
  .pnr-booking > label:nth-of-type(3) {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .pnr-booking > label span {
    margin-bottom: 5px;
    font-size: 10px;
    line-height: 15px;
    letter-spacing: 2px;
  }
  .pnr-booking > label input,
  .pnr-booking > label select {
    height: 18px;
    min-height: 0;
    font-size: 14px;
    line-height: 18px;
  }
  .pnr-booking__submit {
    grid-column: 1 / -1;
    grid-row: 3;
    width: auto;
    height: 54px;
    min-height: 0;
    padding: 0;
  }
  .pnr-hero__title {
    font-size: 28px;
    letter-spacing: 0.03em;
  }
  /* Flanking lines and vertical position match the 390 × 844 Figma hero. */
  .pnr-hero__headline {
    width: max-content;
    max-width: none;
    padding-inline: 0;
    gap: 6px;
    z-index: 3;
    left: calc(50% - 0.5px);
    top: auto;
    bottom: calc(262px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
  }
  .pnr-hero__rule {
    flex: 0 0 61px;
    max-width: none;
  }

  /* — INTRO: narrower than the container (Figma insets it 48px), exact type. */
  .pnr-intro .pnr-container {
    padding-inline: 48px;
  }
  .pnr-intro__inner {
    gap: 16px;
  }
  .pnr-intro__text {
    font-size: 22px;
    line-height: 1.45;
    letter-spacing: -0.01em;
  }

  /* — FEATURE ROWS (Boravak/Ukusi/Oporavak u Panorami): exact type. */
  .pnr-isk .pnr-container {
    gap: 54px;
  }
  .pnr-isk-row__body {
    gap: 20px;
  }
  .pnr-isk-row__title {
    font-size: 28px;
    letter-spacing: -0.01em;
    line-height: 1.25;
  }
  .pnr-isk-row__text {
    font-size: 15px;
    line-height: 1.8;
  }
  /* Link is a plain gold text link with an arrow on mobile, not a ghost button. */
  .pnr-isk-row__btn {
    padding: 0;
    border: 0;
    background: none;
    color: var(--c-gold);
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.18em;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 7px;
  }
  .pnr-isk-row__btn::after {
    content: "→";
    font-size: 15px;
    letter-spacing: 0;
  }
  .pnr-isk-row__btn:hover {
    background: none;
    color: var(--c-gold);
    border-color: transparent;
  }

  /* — SECTION TITLES → exact phone sizes. */
  .pnr-sistem .pnr-title--d2,
  .pnr-conf .pnr-title--d2,
  .pnr-akt .pnr-title--d2 {
    font-size: 28px;
    letter-spacing: -0.015em;
    line-height: 1.05;
  }
  .pnr-day .pnr-title--d1 {
    font-size: 40px;
    letter-spacing: 0.02em;
    line-height: 1;
  }

  /* — PANORAMA SISTEM cards (coloured): exact width, image, padding, type. */
  .pnr-fac {
    width: 290px;
  }
  .pnr-fac__media {
    aspect-ratio: 290 / 180;
  }
  .pnr-fac__body {
    padding: 22px;
  }
  .pnr-fac__icon {
    width: 54px;
    height: 54px;
    margin-bottom: 22px;
  }
  .pnr-fac__name {
    font-size: 26px;
  }
  .pnr-fac__sub {
    font-size: 15px;
  }
  .pnr-fac__text {
    font-size: 14px;
    line-height: 1.72;
  }
  .pnr-fac__features {
    font-size: 14px;
    padding-top: 18px;
  }

  /* — RITAM BORAVKA (Vaš dan) cards. */
  .pnr-day__card {
    width: 260px;
  }
  .pnr-day__media {
    aspect-ratio: 260 / 347;
  }

  /* — OKUPLJANJA: portrait card + exact pager pill + name size. */
  .pnr-conf__media,
  .pnr-conf__slide:has(+ .slick-center) .pnr-conf__media,
  .slick-center + .pnr-conf__slide .pnr-conf__media,
  .pnr-conf__slide.slick-center .pnr-conf__media {
    aspect-ratio: 315 / 437;
  } /* landscape → portrait */
  .pnr-conf__overlay {
    display: none;
  } /* name/desc shown below the pager instead */
  .pnr-conf__count {
    background: #ece4d6;
    color: #6e655a;
    font-family: var(--font-display);
    font-weight: 300;
    font-size: 17px;
    letter-spacing: 0.08em;
    padding: 15px 20px;
    border-radius: 100px;
  }
  .pnr-conf__controls .pnr-conf__name {
    font-size: 26px;
    letter-spacing: -0.01em;
  }
  .pnr-conf__controls .pnr-isk-row__btn {
    padding: 0;
  }
  /* Prev/next slides sit flush at the very edges (no edge-fade, no slide gap).
	   Figma: centre 315x437 with a drop shadow; neighbours scaled to 0.74
	   (233x323) with their centre-facing edge flush against the centre card. */
  .pnr-conf__viewport::before,
  .pnr-conf__viewport::after {
    display: none;
  }
  .pnr-conf__slide {
    padding-inline: 0;
  }
  .pnr-conf__slide:has(+ .slick-center),
  .slick-center + .pnr-conf__slide {
    padding-inline: 0;
  }
  .pnr-conf__media,
  .pnr-conf__slide:has(+ .slick-center) .pnr-conf__media,
  .slick-center + .pnr-conf__slide .pnr-conf__media {
    transform: scale(0.74);
    box-shadow: none;
  }
  .pnr-conf__slide:has(+ .slick-center) .pnr-conf__media {
    transform-origin: right center;
  }
  .slick-center + .pnr-conf__slide .pnr-conf__media {
    transform-origin: left center;
  }
  .pnr-conf__slide.slick-center .pnr-conf__media {
    transform: scale(1);
    box-shadow: 0 30px 80px rgba(20, 16, 12, 0.22);
  }

  /* — TESTIMONIALS: more of the forest shows above/below the card. */
  .pnr-quote {
    padding-block: 110px;
  }

  /* — FOOTER CTA: title + button only (drop the paragraph), tighter height. */
  .pnr-foot-hero {
    min-height: 400px;
  }
  .pnr-foot-hero__text {
    display: block;
    max-width: 310px;
    font-size: 15px;
    line-height: 1.65;
  }
  .pnr-foot-hero__inner {
    padding-block: clamp(3rem, 12vw, 5rem);
    gap: var(--sp-5);
  }

  /* — HEADER: icon-only hamburger (no "Meni" label), 128px logo. */
  .pnr-menu-toggle__label {
    display: none;
  }
  .pnr-logo__svg {
    width: 128px;
  }
  .pnr-logo img,
  .site-header.is-scrolled .pnr-logo img {
    width: 128px;
    height: auto;
  }

  /* ---- EXACT FONT SIZES per element (audited against Figma 388-2480) ---- */
  /* Eyebrow stays 14px everywhere per Figma directive 2026-07-28 (no mobile shrink). */
  /* Hero booking form. */
  .pnr-booking__label {
    font-size: 10px;
  }
  .pnr-booking__value {
    font-size: 14px;
    font-family: var(--font-display);
  }
  .pnr-booking__submit {
    font-size: 12px;
    font-family: var(--font-body);
  }
  /* Feature-row pills. */
  .pnr-isk-row__pills .pnr-pill {
    font-size: 9.3px;
  }
  /* Panorama Sistem intro/lead. */
  .pnr-sistem__intro {
    font-size: 15px;
  }
  .pnr-akt__text {
    font-size: 15px;
    line-height: 1.8;
  }
  /* Stats ("Iskustva gostiju"). */
  .pnr-stats .pnr-title--d3 {
    font-size: 26px;
  }
  .pnr-stats__intro {
    font-size: 12px;
  }
  .pnr-stats__value {
    font-size: 40px;
  }
  .pnr-stats__suffix {
    font-size: 18px;
  }
  .pnr-stats__label {
    font-size: 13.5px;
  }
  .pnr-stats__desc {
    font-size: 13.5px;
  }
  /* Testimonials quote. */
  .pnr-quote__text {
    font-size: 24px;
  }
  /* Ritam boravka. */
  .pnr-day__text {
    font-size: 15px;
  }
  .pnr-day__time {
    font-size: 13px;
  }
  /* Okupljanja link. */
  .pnr-conf__link {
    font-size: 13px;
  }
  /* Footer CTA: 32px title constrained so it wraps to 3 lines like Figma; Jost link. */
  .pnr-foot-hero__title {
    font-size: 32px;
    max-width: 220px;
  }
  .pnr-foot-hero__btn {
    font-size: 12px;
    font-family: var(--font-body);
  }
  /* Footer columns / newsletter. */
  .pnr-foot-col ul a {
    font-size: 20px;
  }
  .pnr-foot-form input {
    font-size: 15px;
  }
}

/* Keep the mobile hero composition intact on narrower 320–360px screens. */
@media (max-width: 360px) {
  .pnr-hero__headline {
    width: 100%;
    max-width: 100%;
    padding-inline: 12px;
  }
  .pnr-hero__title {
    flex: none;
    font-size: 26px;
  }
  .pnr-hero__rule {
    flex: 1 1 0;
    min-width: 24px;
    max-width: 43px;
  }
}

/* Short landscape/tablet viewports also keep the headline clear of the
   horizontal booking bar. */
@media (min-width: 641px) and (max-width: 900px) and (max-height: 700px) {
  .pnr-hero__headline {
    z-index: 3;
    top: auto;
    bottom: calc(130px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
  }
}

/* Full-size values apply only at the artboard's native 1920px width. Laptop
   widths use the proportional tokens declared in tokens.css. */
@media (min-width: 1920px) {
  .pnr-lead {
    font-size: 20px;
  } /* body/lead 18 → 20 */
  .pnr-fac__text,
  .pnr-fac__features {
    font-size: 18px;
  } /* sistem card copy 14 → 18 */
  .pnr-stats .pnr-title--d3 {
    font-size: 42px;
  } /* 44 → 42 */
  .pnr-day .pnr-title--d1 {
    font-size: 74px;
  } /* 76 → 74 */
  .pnr-conf .pnr-title--d2 {
    font-size: 48px;
  } /* 50 → 48 */
  .pnr-conf__name {
    font-size: 40px;
  } /* 38 → 40 */
}
.pnr-fac-header {
  display: flex;
  gap: 24px;
  padding-bottom: 34px;
  margin-bottom: 34px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.pnr-fac-header .pnr-fac__icon {
  margin-bottom: 0;
}
.pnr-fac__upper {
  min-width: 0;
  flex: 1 1 auto;
}
/* Keep the 1920px composition, but scale its internal rhythm when a carousel
   card reaches the narrower desktop range. Long names must stay in their own
   card instead of bleeding into the following slide. */
@media (min-width: 641px) and (max-width: 900px) {
  .pnr-fac__body {
    padding: clamp(24px, 2vw, 30px);
  }
  .pnr-fac-header {
    gap: 16px;
    padding-bottom: 26px;
    margin-bottom: 26px;
  }
  .pnr-fac__icon {
    flex-basis: 48px;
    min-width: 48px;
    width: 48px;
    height: 48px;
  }
  .pnr-fac__icon svg {
    width: 23px;
  }
  .pnr-fac__name {
    font-size: clamp(24px, 2.1vw, 30px);
    letter-spacing: 0.14em;
    white-space: nowrap;
  }
  .pnr-fac__sub {
    font-size: 16px;
  }
  .pnr-fac__text,
  .pnr-fac__features {
    font-size: 13px;
  }
}
@media (min-width: 901px) and (max-width: 1919px) {
  .pnr-fac__body {
    padding: clamp(24px, 1.9792vw, 38px);
  }
  .pnr-fac-header {
    gap: clamp(14px, 1.25vw, 24px);
    padding-bottom: clamp(22px, 1.7708vw, 34px);
    margin-bottom: clamp(22px, 1.7708vw, 34px);
  }
  .pnr-fac__icon {
    flex-basis: clamp(36px, 2.9167vw, 56px);
    min-width: clamp(36px, 2.9167vw, 56px);
    width: clamp(36px, 2.9167vw, 56px);
    height: clamp(36px, 2.9167vw, 56px);
  }
  .pnr-fac__icon svg {
    width: clamp(17px, 1.3542vw, 26px);
  }
  .pnr-fac__name {
    font-size: var(--fs-name);
    letter-spacing: var(--ls-name);
    white-space: nowrap;
  }
  .pnr-fac__sub {
    font-size: clamp(12px, 0.9375vw, 18px);
  }
  .pnr-fac__text,
  .pnr-fac__features {
    font-size: var(--fs-cap);
  }
}
@media (max-width: 640px) {
  .pnr-fac-header {
    gap: 16px;
    padding-bottom: 24px;
    margin-bottom: 24px;
  }
  .pnr-fac__icon {
    flex-basis: 54px;
    min-width: 54px;
    margin-bottom: 0;
  }
  .pnr-fac__name {
    font-size: 24px;
    letter-spacing: 0.14em;
  }
}
.pnr-stats {
  display: none;
}

.pnr-foot-newsletter {
  display: none !important;
}

/* ======================================================= CONTACT BLOCKS
   Figma 749:5. Three ACF blocks own the hero, form and travel layout. */
.site-header--contact {
  position: absolute;
  height: 130px;
  padding: 30px max(var(--gutter), calc((100vw - var(--container)) / 2));
  color: var(--c-heading);
  background: var(--c-cream);
}
.site-header--contact .pnr-logo__svg {
  width: 200px;
}
.site-header--contact .pnr-logo img {
  width: auto;
  height: 69.7px;
}
.site-header--contact .site-header__right {
  gap: 41px;
}
.site-header--contact .pnr-menu-toggle {
  color: #1c1c1c;
}
.site-header--contact .pnr-lang {
  letter-spacing: 0.2043em;
}
.site-header--contact .pnr-header-cta {
  color: var(--c-white);
}
.site-header--contact .pnr-header-cta__arrow {
  width: 11.196px;
  height: 11.196px;
}
.site-header--contact .pnr-logo__svg path[fill="white"] {
  fill: var(--c-heading);
}
.site-header--contact.is-scrolled {
  height: auto;
  color: var(--c-white);
  background: rgba(22, 19, 15, 0.78);
  -webkit-backdrop-filter: blur(16px) saturate(1.12);
  backdrop-filter: blur(16px) saturate(1.12);
  padding-block: 1rem;
}
.site-header--contact.is-scrolled .pnr-menu-toggle {
  color: var(--c-white);
}
.site-header--contact.is-scrolled .pnr-logo__svg {
  width: 190px;
}
.site-header--contact.is-scrolled .pnr-logo img {
  height: 44px;
}
.site-header--contact.is-scrolled .pnr-logo__svg path[fill="white"] {
  fill: var(--c-white);
}
@media (max-width: 900px) {
  .site-header--contact.is-scrolled .pnr-logo__svg {
    width: 140px;
  }
  .site-header--contact .pnr-logo img,
  .site-header--contact.is-scrolled .pnr-logo img {
    width: 140px;
    height: auto;
  }
}
@media (max-width: 640px) {
  .site-header--contact.is-scrolled .pnr-logo__svg {
    width: 128px;
  }
  .site-header--contact .pnr-logo img,
  .site-header--contact.is-scrolled .pnr-logo img {
    width: 128px;
    height: auto;
  }
}

.pnr-contact-page {
  overflow-x: clip;
  overflow-y: visible;
  background: var(--c-cream);
}
.pnr-contact-hero {
  min-height: 1036px;
  background: var(--c-cream);
}
.pnr-contact-hero__inner {
  display: grid;
  grid-template-columns: minmax(560px, 676px) minmax(0, 1fr);
  gap: clamp(70px, 6.45vw, 124px);
  min-height: inherit;
  padding-top: 201px;
  padding-left: max(var(--gutter), calc((100vw - var(--container)) / 2));
}
.pnr-contact-hero__content {
  display: flex;
  flex-direction: column;
  gap: 63px;
  min-width: 0;
}
.pnr-contact-hero__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 19px;
  max-width: 550px;
}
.pnr-contact-hero__eyebrow {
  font-size: 16px;
  font-weight: var(--fw-light);
  line-height: 1.5;
  letter-spacing: 0.4675em;
  text-transform: uppercase;
  color: var(--c-heading);
}
.pnr-contact-hero__title {
  margin: 0;
  max-width: 550px;
  font-family: var(--font-display);
  font-size: clamp(54px, 3.86vw, 74px);
  font-weight: var(--fw-xlight);
  line-height: 1.054;
  letter-spacing: -0.032em;
  color: #16130f;
  text-wrap: balance;
}
.pnr-contact-hero__text {
  max-width: 550px;
  font-size: 20px;
  font-weight: var(--fw-light);
  line-height: 1.6625;
  color: var(--c-body);
}
.pnr-contact-hero__media {
  position: relative;
  height: 805px;
  margin: 0;
  overflow: hidden;
}
.pnr-contact-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
}
.pnr-contact-hero__scrim {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(20, 16, 12, 0.3) 0%,
    rgba(20, 16, 12, 0.12) 28%,
    transparent 55%,
    rgba(20, 16, 12, 0.28) 100%
  );
}
.pnr-contact-list {
  border-top: 1px solid rgba(20, 16, 12, 0.12);
}
.pnr-contact-list__item {
  min-height: 76px;
  border-bottom: 1px solid rgba(20, 16, 12, 0.12);
}
.pnr-contact-list__link {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 8px 14px;
}
a.pnr-contact-list__link {
  transition: background-color 180ms var(--ease);
}
@media (hover: hover) and (pointer: fine) {
  a.pnr-contact-list__link:hover {
    background: rgba(190, 129, 43, 0.055);
  }
}
.pnr-contact-list__icon {
  flex: 0 0 28px;
  min-width: 28px;
  color: #9b9180;
}
.pnr-contact-list__icon img {
  display: block;
  width: 28px;
  height: 28px;
}
.pnr-contact-list__copy {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pnr-contact-list__label {
  margin-bottom: 7px;
  font-size: 14px;
  font-weight: var(--fw-reg);
  line-height: 18px;
  text-transform: uppercase;
  color: #9b9180;
}
.pnr-contact-list__value {
  overflow-wrap: anywhere;
  font-size: 18px;
  font-weight: var(--fw-light);
  line-height: 23px;
  color: #16130f;
}

/* Contact form. */
.pnr-contact-form-section {
  padding: 96px 0 140px;
  background: var(--c-cream);
  scroll-margin-top: 90px;
}
.pnr-contact-section-head {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 44px;
}
.pnr-contact-section-head .pnr-title {
  font-size: 52px;
  line-height: 54.6px;
  letter-spacing: -1.04px;
}
.pnr-contact-section-head .pnr-lead {
  max-width: 734px;
  font-size: 20px;
  line-height: 33.25px;
}
.pnr-contact-section-head .pnr-eyebrow {
  font-size: 13px;
  font-weight: var(--fw-reg);
  line-height: 16px;
  letter-spacing: 4.16px;
}
.pnr-contact-alert {
  margin: -18px 0 24px;
  padding: 14px 18px;
  border: 1px solid rgba(20, 16, 12, 0.12);
  background: #fffdfb;
  color: var(--c-heading);
}
.pnr-contact-alert--success {
  border-color: rgba(74, 87, 51, 0.35);
  background: rgba(74, 87, 51, 0.07);
}
.pnr-contact-alert--error {
  border-color: rgba(158, 31, 38, 0.28);
  background: rgba(158, 31, 38, 0.05);
}
.pnr-contact-panel {
  display: grid;
  grid-template-columns: minmax(0, 1098px) 360px;
  gap: 52px;
  padding: 45px;
  border: 1px solid rgba(20, 16, 12, 0.12);
  border-radius: 3px;
  background: #fffdfb;
}
.pnr-contact-form {
  min-width: 0;
}
.pnr-contact-panel > .wpcf7 {
  min-width: 0;
}
.pnr-contact-form-area {
  min-width: 0;
}
.pnr-contact-type-step {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 0;
  padding-bottom: 38px;
  border-bottom: 1px solid rgba(20, 16, 12, 0.1);
}
.pnr-contact-type-step > h3 {
  margin: 0;
  color: #16130f;
  font-size: 18px;
  font-weight: var(--fw-reg);
  line-height: 23px;
}
.pnr-contact-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.pnr-contact-tab {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  appearance: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.pnr-contact-tab.is-active .pnr-inquiry-type__visual {
  border-color: var(--c-gold);
  background: rgba(190, 129, 43, 0.1);
}
.pnr-contact-tab.is-active .pnr-inquiry-type__icon {
  color: var(--c-gold);
}
.pnr-contact-tab:focus-visible {
  outline: 0;
}
.pnr-contact-tab:focus-visible .pnr-inquiry-type__visual {
  outline: 2px solid var(--c-gold);
  outline-offset: 2px;
}
.pnr-contact-tab:active .pnr-inquiry-type__visual {
  transform: scale(0.98);
}
.pnr-contact-pane[hidden] {
  display: none !important;
}
.pnr-contact-form__section {
  min-width: 0;
  margin: 0;
  padding: 31px 0 38px;
  border: 0;
}
.pnr-contact-form__section--types {
  padding-top: 0;
  border-top: 0;
}
.pnr-contact-form__section--first {
  padding-top: 31px;
  border-bottom: 1px solid rgba(20, 16, 12, 0.1);
}
.pnr-contact-form__section legend {
  float: left;
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  font-size: 18px;
  font-weight: var(--fw-reg);
  line-height: 23px;
  color: #16130f;
}
.pnr-contact-form__section legend + * {
  clear: both;
}
.pnr-contact-form__section--first legend::before {
  content: "2. ";
}
.pnr-contact-form__section:not(.pnr-contact-form__section--first)
  legend::before {
  content: "3. ";
}
.pnr-inquiry-types {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.pnr-inquiry-type {
  position: relative;
  min-width: 0;
  cursor: pointer;
}
.pnr-inquiry-type input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.pnr-inquiry-type__visual {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 71px;
  height: 71px;
  padding: 15px 13px;
  border: 1px solid rgba(20, 16, 12, 0.14);
  background: #fffdfb;
  color: #16130f;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    transform 140ms var(--ease);
}
.pnr-inquiry-type input:checked + .pnr-inquiry-type__visual {
  border-color: rgba(190, 129, 43, 0.75);
  background: rgba(190, 129, 43, 0.045);
}
.pnr-inquiry-type input:focus-visible + .pnr-inquiry-type__visual {
  outline: 2px solid var(--c-gold);
  outline-offset: 2px;
}
.pnr-inquiry-type:active .pnr-inquiry-type__visual {
  transform: scale(0.98);
}
.pnr-inquiry-type__icon {
  display: block;
  flex: 0 0 28px;
  min-width: 28px;
  width: 28px;
  height: 28px;
  background: currentColor;
  color: #16130f;
  -webkit-mask: var(--pnr-contact-tab-icon) center / contain no-repeat;
  mask: var(--pnr-contact-tab-icon) center / contain no-repeat;
}
.pnr-inquiry-type
  input:checked
  + .pnr-inquiry-type__visual
  .pnr-inquiry-type__icon {
  color: var(--c-gold);
}
.pnr-inquiry-type__visual > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}
.pnr-inquiry-type strong,
.pnr-contact-tab strong {
  display: block;
  font-size: 16px;
  font-weight: var(--fw-reg);
  line-height: 1.25;
}
.pnr-inquiry-type small,
.pnr-contact-tab small {
  display: block;
  overflow: hidden;
  color: #9b9180;
  font-size: 14px;
  font-weight: var(--fw-light);
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pnr-inquiry-types--cf7 > .wpcf7-form-control-wrap,
.pnr-inquiry-types--cf7 .wpcf7-radio,
.pnr-inquiry-types--cf7 > p {
  display: contents;
}
.pnr-inquiry-types--cf7 .wpcf7-list-item {
  position: relative;
  min-width: 0;
  margin: 0;
}
.pnr-inquiry-types--cf7 .wpcf7-list-item label {
  position: relative;
  display: block;
  min-width: 0;
  cursor: pointer;
}
.pnr-inquiry-types--cf7 input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.pnr-inquiry-types--cf7 .wpcf7-list-item-label {
  display: flex;
  min-height: 71px;
  flex-direction: column;
  justify-content: center;
  padding: 10px 8px 10px 46px;
  border: 1px solid rgba(20, 16, 12, 0.14);
  background: #fffdfb;
  color: #16130f;
  font-size: 15px;
  font-weight: var(--fw-reg);
  line-height: 1.25;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    transform 140ms var(--ease);
}
.pnr-inquiry-types--cf7 .wpcf7-list-item-label::before {
  position: absolute;
  top: 20px;
  left: 12px;
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(20, 16, 12, 0.35);
  border-radius: 50%;
  color: #16130f;
  content: "·";
  font-size: 18px;
  line-height: 1;
}
.pnr-inquiry-types--cf7 .wpcf7-list-item-label::after {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: #9b9180;
  content: "Opšte informacije";
  font-size: 12px;
  font-weight: var(--fw-light);
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pnr-inquiry-types--cf7
  .wpcf7-list-item:nth-child(1)
  .wpcf7-list-item-label::before {
  content: "⌂";
}
.pnr-inquiry-types--cf7
  .wpcf7-list-item:nth-child(1)
  .wpcf7-list-item-label::after {
  content: "Smeštaj i sadržaji";
}
.pnr-inquiry-types--cf7
  .wpcf7-list-item:nth-child(2)
  .wpcf7-list-item-label::before {
  content: "◇";
}
.pnr-inquiry-types--cf7
  .wpcf7-list-item:nth-child(2)
  .wpcf7-list-item-label::after {
  content: "Rezervacije";
}
.pnr-inquiry-types--cf7
  .wpcf7-list-item:nth-child(3)
  .wpcf7-list-item-label::before {
  content: "○";
}
.pnr-inquiry-types--cf7
  .wpcf7-list-item:nth-child(3)
  .wpcf7-list-item-label::after {
  content: "Događaj / konferencija";
}
.pnr-inquiry-types--cf7
  .wpcf7-list-item:nth-child(4)
  .wpcf7-list-item-label::before {
  content: "✦";
}
.pnr-inquiry-types--cf7
  .wpcf7-list-item:nth-child(4)
  .wpcf7-list-item-label::after {
  content: "Spa i tretmani";
}
.pnr-inquiry-types--cf7 input:checked + .wpcf7-list-item-label {
  border-color: rgba(190, 129, 43, 0.75);
  background: rgba(190, 129, 43, 0.045);
}
.pnr-inquiry-types--cf7 input:checked + .wpcf7-list-item-label::before {
  border-color: var(--c-gold);
  color: var(--c-gold);
}
.pnr-inquiry-types--cf7 input:focus-visible + .wpcf7-list-item-label {
  outline: 2px solid var(--c-gold);
  outline-offset: 2px;
}
.pnr-inquiry-types--cf7 label:active .wpcf7-list-item-label {
  transform: scale(0.98);
}
.pnr-contact-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 32px;
}
.pnr-contact-fields > p {
  display: contents;
}
.pnr-contact-fields > p > br {
  display: none;
}
.pnr-contact-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  color: #16130f;
}
.pnr-contact-field > span {
  color: #4a443b;
  font-size: 14px;
  font-weight: var(--fw-reg);
  line-height: 1.3;
}
.pnr-contact-field b {
  color: var(--c-gold);
  font-weight: var(--fw-reg);
}
.pnr-contact-field input,
.pnr-contact-field textarea,
.pnr-contact-field select {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(20, 16, 12, 0.14);
  border-radius: 2px;
  background: #fffdfb;
  color: #16130f;
  font: inherit;
  font-size: 16px;
  font-weight: var(--fw-light);
  line-height: 1.45;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}
.pnr-contact-field input,
.pnr-contact-field select {
  height: 50px;
  padding: 0 17px;
}
.pnr-contact-field input.pnr-datepicker {
  padding-right: 48px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23be812b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='1'/%3E%3Cpath d='M7 3v4M17 3v4M3 9h18'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-repeat: no-repeat;
  cursor: pointer;
}
.pnr-contact-field select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #8b806f 50%),
    linear-gradient(135deg, #8b806f 50%, transparent 50%);
  background-position:
    calc(100% - 20px) 21px,
    calc(100% - 15px) 21px;
  background-repeat: no-repeat;
  background-size:
    5px 5px,
    5px 5px;
}
.pnr-contact-field textarea {
  min-height: 136px;
  resize: vertical;
  padding: 14px 17px;
}
.pnr-contact-field input::placeholder,
.pnr-contact-field textarea::placeholder {
  color: #9b9180;
  opacity: 1;
}
.pnr-contact-field input:focus,
.pnr-contact-field textarea:focus,
.pnr-contact-field select:focus {
  border-color: var(--c-gold);
  box-shadow: 0 0 0 3px rgba(190, 129, 43, 0.09);
  outline: 0;
}

/* Flatpickr calendar — Panorama visual language. */
.flatpickr-calendar.pnr-flatpickr {
  z-index: 9999;
  width: 328px;
  padding: 14px;
  border: 1px solid rgba(20, 16, 12, 0.14);
  border-radius: 3px;
  background: #fffdfb;
  box-shadow: 0 20px 55px rgba(20, 16, 12, 0.18);
  color: #16130f;
  font-family: var(--font-body);
}
.flatpickr-calendar.pnr-flatpickr::before,
.flatpickr-calendar.pnr-flatpickr::after {
  display: none;
}
.pnr-flatpickr .flatpickr-months {
  align-items: center;
  margin-bottom: 10px;
}
.pnr-flatpickr .flatpickr-months .flatpickr-month {
  height: 40px;
  color: #16130f;
}
.pnr-flatpickr .flatpickr-current-month {
  height: 40px;
  padding-top: 8px;
  font-size: 16px;
  font-weight: var(--fw-reg);
}
.pnr-flatpickr .flatpickr-current-month .flatpickr-monthDropdown-months,
.pnr-flatpickr .flatpickr-current-month input.cur-year {
  color: #16130f;
  font-family: var(--font-display);
  font-weight: var(--fw-reg);
}
.pnr-flatpickr .flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.pnr-flatpickr .flatpickr-current-month input.cur-year:hover,
.pnr-flatpickr .numInputWrapper:hover {
  background: rgba(190, 129, 43, 0.07);
}
.pnr-flatpickr .flatpickr-prev-month,
.pnr-flatpickr .flatpickr-next-month {
  top: 14px;
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  padding: 9px;
  border: 1px solid rgba(20, 16, 12, 0.12);
  border-radius: 50%;
  color: #16130f;
}
.pnr-flatpickr .flatpickr-prev-month:hover,
.pnr-flatpickr .flatpickr-next-month:hover {
  border-color: var(--c-gold);
  color: var(--c-gold);
}
.pnr-flatpickr .flatpickr-prev-month svg,
.pnr-flatpickr .flatpickr-next-month svg {
  fill: currentColor;
}
.pnr-flatpickr .flatpickr-weekdays {
  height: 34px;
}
.pnr-flatpickr span.flatpickr-weekday {
  color: #8b806f;
  font-size: 11px;
  font-weight: var(--fw-med);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pnr-flatpickr .flatpickr-days,
.pnr-flatpickr .dayContainer {
  width: 298px;
  min-width: 298px;
  max-width: 298px;
}
.pnr-flatpickr .flatpickr-day {
  width: 42px;
  max-width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #16130f;
  line-height: 40px;
}
.pnr-flatpickr .flatpickr-day:hover,
.pnr-flatpickr .flatpickr-day:focus {
  border-color: rgba(190, 129, 43, 0.35);
  background: rgba(190, 129, 43, 0.09);
}
.pnr-flatpickr .flatpickr-day.today {
  border-color: var(--c-gold);
}
.pnr-flatpickr .flatpickr-day.selected,
.pnr-flatpickr .flatpickr-day.startRange,
.pnr-flatpickr .flatpickr-day.endRange,
.pnr-flatpickr .flatpickr-day.selected:hover,
.pnr-flatpickr .flatpickr-day.startRange:hover,
.pnr-flatpickr .flatpickr-day.endRange:hover {
  border-color: var(--c-gold);
  background: var(--c-gold);
  color: #fff;
}
.pnr-flatpickr .flatpickr-day.inRange {
  border-color: transparent;
  border-radius: 0;
  background: rgba(190, 129, 43, 0.12);
  box-shadow:
    -5px 0 0 rgba(190, 129, 43, 0.12),
    5px 0 0 rgba(190, 129, 43, 0.12);
}
.pnr-flatpickr .flatpickr-day.flatpickr-disabled,
.pnr-flatpickr .flatpickr-day.flatpickr-disabled:hover,
.pnr-flatpickr .flatpickr-day.prevMonthDay,
.pnr-flatpickr .flatpickr-day.nextMonthDay {
  color: rgba(139, 128, 111, 0.38);
}
.pnr-contact-field--wide {
  grid-column: 1 / -1;
}
.pnr-contact-checks .wpcf7-form-control {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.pnr-contact-checks .wpcf7-list-item {
  margin: 0;
}
.pnr-contact-checks .wpcf7-list-item label {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(20, 16, 12, 0.14);
  background: #fffdfb;
  color: #16130f;
  cursor: pointer;
}
.pnr-contact-checks input {
  width: 16px;
  height: 16px;
  accent-color: var(--c-gold);
}
.pnr-contact-checks .wpcf7-list-item-label {
  font-size: 14px;
  line-height: 1.3;
}
.pnr-contact-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  max-width: 672px;
  margin-top: 0;
  color: var(--c-body);
  font-size: 14px;
  line-height: 1.6;
  cursor: pointer;
}
.pnr-contact-consent input {
  position: absolute;
  opacity: 0;
}
.pnr-contact-consent__box {
  display: inline-flex;
  flex: 0 0 18px;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 1px solid var(--c-gold);
  border-radius: 2px;
  color: transparent;
  background: #fffdfb;
}
.pnr-contact-consent__box svg {
  width: 13px;
  height: 13px;
  stroke-width: 2;
}
.pnr-contact-consent input:checked + .pnr-contact-consent__box {
  color: var(--c-white);
  background: var(--c-gold);
}
.pnr-contact-consent input:focus-visible + .pnr-contact-consent__box {
  outline: 2px solid var(--c-gold);
  outline-offset: 2px;
}
.pnr-contact-consent-wrap .wpcf7-form-control-wrap,
.pnr-contact-consent-wrap .wpcf7-list-item {
  display: block;
  margin: 0;
}
.pnr-contact-form__section > p,
.pnr-contact-consent-wrap > p,
.pnr-contact-submit-row > p {
  margin: 0;
}
.pnr-contact-consent-wrap label {
  position: relative;
  display: block;
  cursor: pointer;
}
.pnr-contact-consent-wrap input.pnr-contact-consent {
  position: absolute;
  opacity: 0;
}
.pnr-contact-consent-wrap .wpcf7-list-item-label {
  display: block;
  max-width: 672px;
  padding-left: 30px;
  color: var(--c-body);
  font-size: 14px;
  line-height: 1.6;
}
.pnr-contact-consent-wrap .wpcf7-list-item-label::before {
  position: absolute;
  top: 2px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid var(--c-gold);
  border-radius: 2px;
  background: #fffdfb;
  content: "";
}
.pnr-contact-consent-wrap .wpcf7-list-item-label::after {
  position: absolute;
  top: 3px;
  left: 5px;
  color: transparent;
  content: "✓";
  font-size: 12px;
  font-weight: var(--fw-med);
}
.pnr-contact-consent-wrap
  input.pnr-contact-consent:checked
  + .wpcf7-list-item-label::before {
  background: var(--c-gold);
}
.pnr-contact-consent-wrap
  input.pnr-contact-consent:checked
  + .wpcf7-list-item-label::after {
  color: var(--c-white);
}
.pnr-contact-consent-wrap
  input.pnr-contact-consent:focus-visible
  + .wpcf7-list-item-label::before {
  outline: 2px solid var(--c-gold);
  outline-offset: 2px;
}
.pnr-contact-submit-row {
  display: flex;
  align-items: center;
  gap: 34px;
  margin-top: 38px;
}
.pnr-contact-submit {
  min-width: 251px;
  min-height: 50px;
  border: 0;
  background-image: url("../images/icons/contact/submit-arrow.svg");
  background-position: calc(50% + 54px) center;
  background-repeat: no-repeat;
  background-size: 9px 9px;
  cursor: pointer;
  text-indent: -20px;
  transition:
    background-color 180ms ease,
    transform 140ms var(--ease);
}
.pnr-contact-submit:active {
  transform: scale(0.97);
}
.pnr-contact-submit:hover,
.pnr-contact-submit:focus-visible {
  background-image: url("../images/icons/contact/submit-arrow.svg");
}
.pnr-contact-reassurance {
  display: flex;
  align-items: center;
  gap: 11px;
  max-width: 236px;
  color: var(--c-body);
  font-size: 14px;
  line-height: 21.7px;
}
.pnr-contact-reassurance svg {
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  color: var(--c-gold);
}
.pnr-contact-reassurance__clock {
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  background: url("../images/icons/contact/response-clock.svg") center / contain
    no-repeat;
  color: transparent;
  font-size: 0;
}
.pnr-contact-panel .wpcf7-not-valid-tip {
  margin-top: 5px;
  color: #9d2d27;
  font-size: 12px;
}
.pnr-contact-panel .wpcf7 form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 12px 16px;
  border: 1px solid #9d2d27;
  color: var(--c-body);
  font-size: 14px;
  line-height: 1.5;
}
.pnr-contact-panel .wpcf7 form.sent .wpcf7-response-output {
  border-color: #48735c;
  background: rgba(72, 115, 92, 0.07);
}
.pnr-contact-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.pnr-contact-aside {
  position: sticky;
  top: 0;
  align-self: start;
  padding: 32px 33px 33px;
  border: 1px solid rgba(20, 16, 12, 0.08);
  border-radius: 3px;
  background: #f7f2ea;
}
.pnr-contact-aside > h3 {
  margin: 0 0 34px;
  font-size: 24px;
  font-weight: var(--fw-light);
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #16130f;
}
.pnr-contact-steps {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.pnr-contact-steps li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.pnr-contact-steps__icon {
  display: inline-flex;
  flex: 0 0 44px;
  min-width: 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(20, 16, 12, 0.1);
  border-radius: 50%;
  background: #fffdfb;
  color: #9b9180;
}
.pnr-contact-steps__icon img {
  display: block;
  width: 21px;
  height: 21px;
}
.pnr-contact-steps li > span:last-child {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 4px;
}
.pnr-contact-steps strong {
  color: #16130f;
  font-size: 16px;
  font-weight: var(--fw-reg);
  line-height: 1.25;
}
.pnr-contact-steps small {
  color: var(--c-body);
  font-size: 14px;
  font-weight: var(--fw-light);
  line-height: 1.6;
}
.pnr-contact-quick {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 16px;
  margin-top: 34px;
  padding-top: 29px;
  border-top: 1px solid rgba(20, 16, 12, 0.12);
}
.pnr-contact-quick__icon {
  min-width: 32px;
  color: #9b9180;
}
.pnr-contact-quick__icon img {
  display: block;
  width: 32px;
  height: 32px;
}
.pnr-contact-quick h4 {
  margin: 0 0 6px;
  color: #16130f;
  font-size: 18px;
  font-weight: var(--fw-reg);
  line-height: 1.3;
}
.pnr-contact-quick p {
  margin: 0 0 8px;
  color: var(--c-body);
  font-size: 14px;
  line-height: 1.6;
}
.pnr-contact-quick a {
  display: flex;
  min-height: 44px;
  flex-direction: column;
  justify-content: center;
  padding: 5px 0;
}
.pnr-contact-quick a small {
  color: var(--c-body);
  font-size: 14px;
}
.pnr-contact-quick a strong {
  color: #16130f;
  font-size: 18px;
  font-weight: var(--fw-reg);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Location / travel. */
.pnr-contact-location {
  padding: 103px 0 102px;
  background: #f4eee4;
}
.pnr-contact-location__top {
  display: grid;
  grid-template-columns: minmax(0, 649px) minmax(0, 887px);
  gap: 64px;
  min-height: 409px;
}
.pnr-contact-location__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 39px;
}
.pnr-contact-location__intro .pnr-title {
  margin-top: 19px;
  font-size: 54px;
  line-height: 55.62px;
  letter-spacing: -1.08px;
}
.pnr-contact-location__intro .pnr-lead {
  max-width: 500px;
  margin-top: 19px;
  font-size: 20px;
  line-height: 1.65;
}
.pnr-contact-location__intro h3 {
  margin: 17px 0 13px;
  color: #16130f;
  font-size: 20px;
  font-weight: var(--fw-reg);
}
.pnr-contact-nav-links {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.pnr-contact-nav-links a {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 12px;
  padding: 13px 17px;
  border: 1px solid rgba(20, 16, 12, 0.14);
  border-radius: 2px;
  background: #fffdfb;
  color: #16130f;
  font-size: 14px;
  font-weight: var(--fw-reg);
  letter-spacing: 1.35px;
  text-transform: uppercase;
  transition:
    border-color 180ms ease,
    transform 140ms var(--ease);
}
.pnr-contact-nav-links a:active {
  transform: scale(0.98);
}
.pnr-contact-nav-links a > span {
  display: inline-flex;
  flex: 0 0 26px;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  overflow: hidden;
  letter-spacing: 0;
}
.pnr-contact-nav-links a > span img {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
}
@media (hover: hover) and (pointer: fine) {
  .pnr-contact-nav-links a:hover {
    border-color: var(--c-gold);
  }
}
.pnr-contact-location__map {
  position: relative;
  display: block;
  height: 409px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(20, 16, 12, 0.08);
}
.pnr-contact-location__map::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(20, 16, 12, 0.03),
    rgba(20, 16, 12, 0.16)
  );
}
.pnr-contact-location__map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
}
.pnr-contact-location__map-caption {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translate(-50%, -50%);
  padding: 8px 14px;
  background: rgba(20, 16, 12, 0.78);
  box-shadow: 0 6px 18px rgba(20, 16, 12, 0.2);
  color: var(--c-white);
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
}
.pnr-contact-location__map-caption span {
  position: absolute;
  top: calc(100% + 10px);
  width: 16px;
  height: 16px;
  border: 2px solid var(--c-white);
  border-radius: 50%;
  background: var(--c-gold);
  box-shadow: 0 3px 10px rgba(20, 16, 12, 0.25);
}
.pnr-contact-location__cards {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 20px;
  margin-top: 20px;
}
.pnr-contact-card {
  min-height: 387px;
  padding: 31px;
  border: 1px solid rgba(20, 16, 12, 0.12);
  border-radius: 3px;
  background: #fffdfb;
}
.pnr-contact-card__icon {
  display: inline-flex;
  flex: 0 0 52px;
  min-width: 52px;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 15px;
  border: 1px solid rgba(190, 129, 43, 0.32);
  border-radius: 50%;
  background: rgba(190, 129, 43, 0.05);
  color: var(--c-gold);
}
.pnr-contact-card__icon img {
  display: block;
  width: 24px;
  height: 24px;
}
.pnr-contact-card h3 {
  margin: 0 0 12px;
  color: #16130f;
  font-size: 24px;
  font-weight: var(--fw-reg);
  line-height: 1.25;
}
.pnr-contact-card > p,
.pnr-contact-card header p {
  margin: 0;
  color: var(--c-body);
  font-size: 16px;
  line-height: 26.35px;
}
.pnr-contact-card--times header {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 16px;
}
.pnr-contact-card__plain-icon {
  flex: 0 0 24px;
  min-width: 24px;
  color: var(--c-gold);
}
.pnr-contact-card__plain-icon img {
  display: block;
  width: 24px;
  height: 24px;
}
.pnr-contact-card--times h3 {
  margin-bottom: 2px;
  font-size: 20px;
}
.pnr-contact-card--times header p {
  color: #9b9180;
}
.pnr-contact-card--times > ul {
  display: flex;
  flex-direction: column;
}
.pnr-contact-card--times > ul li {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid rgba(20, 16, 12, 0.09);
  color: #16130f;
  font-size: 16px;
}
.pnr-contact-card--times > ul strong {
  color: var(--c-gold);
  font-size: 18px;
  font-weight: var(--fw-reg);
}
.pnr-contact-card__checks {
  display: flex;
  flex-direction: column;
  gap: 11px;
  margin-top: 0;
  padding-top: 16px;
}
.pnr-contact-card__checks li {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--c-body);
  font-size: 16px;
}
.pnr-contact-card__checks img {
  display: block;
  flex: 0 0 24px;
  min-width: 24px;
  width: 24px;
  height: 24px;
}
.pnr-contact-station {
  display: flex;
  flex-direction: column;
  margin-top: 61px;
  padding-top: 17px;
  border-top: 1px solid rgba(20, 16, 12, 0.1);
}
.pnr-contact-station small,
.pnr-contact-station span {
  color: var(--c-body);
  font-size: 14px;
  line-height: 1.5;
}
.pnr-contact-station strong {
  color: #16130f;
  font-size: 18px;
  font-weight: var(--fw-reg);
}
.pnr-contact-travel-notes {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-top: 20px;
  padding: 31px;
  border: 1px solid rgba(20, 16, 12, 0.12);
  border-radius: 3px;
  background: #fffdfb;
}
.pnr-contact-travel-notes li {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 12px;
  max-width: 258px;
}
.pnr-contact-travel-notes__icon {
  min-width: 26px;
  color: var(--c-gold);
}
.pnr-contact-travel-notes__icon img {
  display: block;
  width: 26px;
  height: 26px;
}
.pnr-contact-travel-notes li > span:last-child {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pnr-contact-travel-notes strong {
  color: #16130f;
  font-size: 20px;
  font-weight: var(--fw-reg);
  line-height: 1.35;
}
.pnr-contact-travel-notes small {
  color: var(--c-body);
  font-size: 16px;
  line-height: 22.4px;
}

@media (max-width: 1380px) {
  .pnr-contact-hero__inner {
    grid-template-columns: minmax(500px, 590px) minmax(0, 1fr);
    gap: 60px;
  }
  .pnr-contact-panel {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 36px;
    padding: 36px;
  }
  .pnr-inquiry-type__visual {
    gap: 8px;
    padding: 10px 8px;
  }
  .pnr-inquiry-type__icon {
    flex-basis: 24px;
  }
  .pnr-contact-location__top {
    grid-template-columns: minmax(420px, 0.75fr) minmax(0, 1fr);
  }
  .pnr-contact-travel-notes {
    gap: 20px;
  }
}

@media (max-width: 1100px) {
  .pnr-contact-hero {
    min-height: auto;
  }
  .pnr-contact-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
    gap: 42px;
    padding-top: 165px;
    padding-right: var(--gutter);
    padding-bottom: 70px;
  }
  .pnr-contact-hero__content {
    gap: 45px;
  }
  .pnr-contact-hero__media {
    height: auto;
    min-height: 720px;
  }
  .pnr-contact-hero__title {
    font-size: clamp(46px, 5.6vw, 62px);
  }
  .pnr-contact-panel {
    grid-template-columns: minmax(0, 1fr);
  }
  .pnr-contact-aside {
    position: static;
    display: grid;
    grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1fr);
    gap: 34px;
  }
  .pnr-contact-aside > h3 {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }
  .pnr-contact-quick {
    margin-top: 0;
    padding-top: 0;
    padding-left: 30px;
    border-top: 0;
    border-left: 1px solid rgba(20, 16, 12, 0.12);
  }
  .pnr-contact-location__top {
    grid-template-columns: 1fr;
  }
  .pnr-contact-location__intro {
    max-width: 650px;
    padding-top: 0;
  }
  .pnr-contact-location__cards {
    grid-template-columns: 1fr 1fr;
  }
  .pnr-contact-card--times {
    grid-row: span 2;
  }
  .pnr-contact-travel-notes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .pnr-photo-caption {
    max-width: 88%;
    padding: 0 20px 24px;
  }
  .pnr-photo-caption__rule {
    width: 40px;
  }
  .pnr-photo-caption__title {
    margin-top: 14px;
    font-size: 18px;
  }
  .pnr-photo-caption__latin {
    margin-top: 5px;
    font-size: 12px;
  }
  .pnr-photo-caption__latin + .pnr-photo-caption__rule,
  .pnr-photo-caption__title + .pnr-photo-caption__rule {
    margin-top: 12px;
  }
  .pnr-photo-caption__text {
    margin-top: 12px;
    font-size: 12px;
  }
  .pnr-taste-split__image .pnr-photo-caption {
    padding: 24px 20px 0;
  }

  .site-header--contact {
    padding-block: 1.2rem;
  }
  .site-header--contact .pnr-logo__svg {
    width: 135px;
  }
  .pnr-contact-hero__inner {
    grid-template-columns: 1fr;
    gap: 42px;
    padding-top: 132px;
  }
  .pnr-contact-hero__media {
    min-height: 0;
    aspect-ratio: 4 / 4.7;
  }
  .pnr-contact-hero__eyebrow {
    font-size: 12px;
    letter-spacing: 0.35em;
  }
  .pnr-contact-hero__title {
    font-size: clamp(42px, 11vw, 58px);
  }
  .pnr-contact-hero__text {
    font-size: 17px;
  }
  .pnr-contact-list__link,
  .pnr-contact-list__item {
    min-height: 68px;
  }
  .pnr-contact-form-section {
    padding: 72px 0 86px;
  }
  .pnr-contact-section-head .pnr-title,
  .pnr-contact-location__intro .pnr-title {
    font-size: 38px;
  }
  .pnr-contact-panel {
    gap: 28px;
    padding: 20px;
  }
  .pnr-contact-aside {
    padding: 22px;
  }
  .pnr-inquiry-types {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pnr-contact-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pnr-inquiry-type:last-child {
    grid-column: 1 / -1;
  }
  .pnr-inquiry-types--cf7 .wpcf7-list-item:last-child {
    grid-column: 1 / -1;
  }
  .pnr-contact-tab:last-child {
    grid-column: 1 / -1;
  }
  .pnr-contact-fields {
    grid-template-columns: 1fr;
  }
  .pnr-contact-field--wide {
    grid-column: auto;
  }
  .pnr-contact-checks .wpcf7-form-control {
    grid-template-columns: 1fr 1fr;
  }
  .pnr-contact-submit-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .pnr-contact-submit {
    width: 100%;
    min-width: 0;
  }
  .pnr-contact-submit-row > p:first-child {
    width: 100%;
  }
  .pnr-contact-aside {
    display: block;
  }
  .pnr-contact-aside > h3 {
    margin-bottom: 30px;
  }
  .pnr-contact-quick {
    margin-top: 30px;
    padding-top: 26px;
    padding-left: 0;
    border-top: 1px solid rgba(20, 16, 12, 0.12);
    border-left: 0;
  }
  .pnr-contact-location {
    padding: 76px 0;
  }
  .pnr-contact-location__intro .pnr-lead {
    font-size: 17px;
  }
  .pnr-contact-nav-links {
    grid-template-columns: 1fr;
  }
  .pnr-contact-location__map {
    height: 330px;
  }
  .pnr-contact-location__map-caption {
    max-width: calc(100% - 40px);
    text-align: center;
    white-space: normal;
  }
  .pnr-contact-location__cards {
    grid-template-columns: 1fr;
  }
  .pnr-contact-card {
    min-height: 0;
    padding: 22px;
  }
  .pnr-contact-card h3 {
    font-size: 22px;
  }
  .pnr-contact-card > p,
  .pnr-contact-card header p,
  .pnr-contact-card__checks li {
    font-size: 15px;
  }
  .pnr-contact-station {
    margin-top: 32px;
  }
  .pnr-contact-card--times {
    grid-row: auto;
  }
  .pnr-contact-travel-notes {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 22px;
  }
  .pnr-contact-travel-notes li {
    max-width: none;
  }
  .pnr-contact-travel-notes strong {
    font-size: 18px;
  }
  .pnr-contact-travel-notes small {
    font-size: 15px;
    line-height: 1.55;
  }
}

@media (max-width: 480px) {
  .pnr-contact-panel {
    padding: 18px;
  }
  .pnr-contact-type-step {
    gap: 14px;
    padding-bottom: 30px;
  }
  .pnr-contact-type-step > h3 {
    font-size: 17px;
    line-height: 1.35;
  }
  .pnr-contact-tabs,
  .pnr-inquiry-types,
  .pnr-inquiry-types--cf7 .wpcf7-radio,
  .pnr-contact-checks .wpcf7-form-control {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .pnr-contact-tab:last-child,
  .pnr-inquiry-type:last-child,
  .pnr-inquiry-types--cf7 .wpcf7-list-item:last-child {
    grid-column: auto;
  }
  .pnr-contact-tab .pnr-inquiry-type__visual,
  .pnr-inquiry-type__visual,
  .pnr-inquiry-types--cf7 .wpcf7-list-item-label {
    width: 100%;
    height: auto;
    min-height: 68px;
  }
  .pnr-contact-tab .pnr-inquiry-type__visual,
  .pnr-inquiry-type__visual {
    gap: 12px;
    padding: 12px 14px;
  }
  .pnr-contact-tab small,
  .pnr-inquiry-type small {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

@media (max-width: 360px) {
  .flatpickr-calendar.pnr-flatpickr {
    width: calc(100vw - 24px);
    padding: 10px;
  }
  .pnr-flatpickr .flatpickr-days,
  .pnr-flatpickr .dayContainer {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .pnr-flatpickr .flatpickr-day {
    width: 14.2857%;
    max-width: 14.2857%;
    flex-basis: 14.2857%;
  }
  .pnr-contact-panel {
    padding: 16px;
  }
  .pnr-contact-card {
    padding: 18px;
  }
  .pnr-contact-aside,
  .pnr-contact-travel-notes {
    padding: 18px;
  }
  .pnr-contact-card--times > ul li {
    gap: 12px;
  }
  .pnr-contact-card--times > ul strong {
    white-space: nowrap;
  }
}

/* Compact translucent header after it becomes fixed on mobile. Kept after the
   contact-page breakpoints so the same treatment wins on both page types. */
@media (max-width: 640px) {
  .site-header.is-fixed {
    padding-block: 10px;
  }
  .site-header.is-fixed .pnr-logo__svg,
  .site-header.is-fixed .pnr-logo img,
  .site-header--contact.is-fixed .pnr-logo__svg,
  .site-header--contact.is-fixed .pnr-logo img {
    width: 112px;
    height: auto;
  }
  .site-header.is-scrolled,
  .site-header--contact.is-scrolled {
    background: rgba(22, 19, 15, 0.72);
    -webkit-backdrop-filter: blur(14px) saturate(1.12);
    backdrop-filter: blur(14px) saturate(1.12);
    box-shadow: 0 8px 28px -18px rgba(0, 0, 0, 0.7);
  }
}

/* ================================================= LAPTOP DESKTOP SCALE
   The desktop source frame is 1920px wide. Figma preview scales that entire
   frame on 1280/1440 laptops, while CSS pixel constants otherwise stay large.
   Keep the same visual proportions here; tablet/mobile rules are untouched. */
@media (min-width: 1200px) and (max-width: 1919px) {
  /* Global chrome and shared controls. */
  .site-header,
  .site-header--contact {
    padding: 1.5625vw max(var(--gutter), calc((100vw - var(--container)) / 2));
  }
  .pnr-logo img,
  .pnr-logo__svg,
  .site-header--contact .pnr-logo__svg {
    width: 10.416667vw;
  }
  .site-header.is-scrolled .pnr-logo__svg,
  .site-header.is-scrolled .pnr-logo img,
  .site-header--contact.is-scrolled .pnr-logo__svg {
    width: 9.895833vw;
  }
  .pnr-menu-toggle {
    gap: 0.729167vw;
    letter-spacing: 0.148958vw;
  }
  .pnr-menu-toggle__lines {
    flex-basis: 1.458333vw;
    gap: 0.3125vw;
    width: 1.458333vw;
  }
  .pnr-menu-toggle__lines span:nth-child(1) {
    width: 1.458333vw;
  }
  .pnr-menu-toggle__lines span:nth-child(2) {
    width: 0.833333vw;
  }
  .pnr-menu-toggle__lines span:nth-child(3) {
    width: 1.145833vw;
  }
  .pnr-header-cta {
    gap: 0.520833vw;
  }
  .pnr-nav-btn,
  .pnr-nav-btn--sm {
    width: 2.8125vw;
    height: 2.8125vw;
  }
  .pnr-nav-btn svg {
    width: 0.833333vw;
    height: 0.625vw;
  }
  .pnr-section-head {
    max-width: 35.416667vw;
  }

  /* Open menu uses the same artboard scale, including its bottom contact row. */
  .pnr-mega__panel {
    padding: 2.083333vw 5.885417vw 3.958333vw;
  }
  .pnr-mega__logo .pnr-logo__svg {
    width: 8.333333vw;
  }
  .pnr-mega__close {
    width: 2.708333vw;
    height: 2.708333vw;
  }
  .pnr-mega__rule:not(.pnr-mega__rule--foot) {
    margin-top: 1.979167vw;
  }
  .pnr-mega__nav {
    gap: 0.625vw;
    margin-top: 3.385417vw;
  }
  .pnr-mega__link {
    font-size: max(11px, 3.385417vw);
  }
  .pnr-mega__link:hover,
  .pnr-mega__link:focus-visible,
  .pnr-mega__link.is-active {
    transform: translateX(0.729167vw);
  }
  .pnr-mega__foot {
    gap: 1.666667vw;
    padding-top: 2.135417vw;
  }
  .pnr-mega__contact {
    min-height: 7.916667vw;
  }
  .pnr-mega__kontakt {
    font-size: max(11px, 0.625vw);
  }
  .pnr-mega__addr {
    margin-top: 0.729167vw;
    font-size: max(11px, 0.78125vw);
    line-height: 1.40625vw;
  }
  .pnr-mega__social {
    gap: 1.145833vw;
  }
  .pnr-mega__social a {
    font-size: max(11px, 0.78125vw);
  }
  .pnr-mega__cta {
    gap: 0.520833vw;
    padding: 0.729167vw 1.458333vw;
    font-size: max(11px, 0.729167vw);
  }
  .pnr-mega__cta svg {
    width: 0.9375vw;
    height: 0.625vw;
  }

  /* Home hero and information strip. */
  .pnr-hero__headline {
    gap: 2.5vw;
  }
  .pnr-hero__rule {
    max-width: 15.625vw;
  }
  .pnr-hero__scroll {
    bottom: 3.333333vw;
  }
  .pnr-hero__scroll-labels {
    gap: 0.3125vw;
    height: 8.75vw;
  }
  .pnr-hero__scroll-circle {
    width: 2.916667vw;
    height: 2.916667vw;
  }
  .pnr-infobar__text {
    gap: 1.822917vw;
    max-width: 52.604167vw;
  }
  .pnr-infobar__icon svg {
    width: 1.979167vw;
    height: 1.979167vw;
  }
  .pnr-infobar__title {
    margin-bottom: 0.416667vw;
    font-size: max(11px, 0.9375vw);
    line-height: 1.197917vw;
  }
  .pnr-infobar__desc {
    max-width: 47.239583vw;
    font-size: max(11px, 0.833333vw);
    line-height: 1.354167vw;
  }
  .pnr-infobar__cta {
    gap: 0.625vw;
    padding: 1.041667vw 1.770833vw;
    font-size: max(11px, 0.729167vw);
  }
  .pnr-infobar__cta svg {
    width: 0.833333vw;
    height: 0.625vw;
  }
  .pnr-marquee__track {
    gap: 1.354167vw;
    padding-left: 1.354167vw;
  }
  .pnr-marquee__item {
    gap: 0.78125vw;
  }
  .pnr-marquee__ico svg {
    width: 1.354167vw;
    height: 1.354167vw;
  }
  .pnr-marquee__item::after {
    width: 0.260417vw;
    height: 0.260417vw;
    margin-left: 1.354167vw;
  }

  /* Main editorial sections and carousels. */
  .pnr-intro__art {
    width: min(52%, 46.875vw);
  }
  .pnr-intro__media {
    width: min(46%, 42.708333vw);
  }
  .pnr-intro__inner {
    max-width: 52.34375vw;
  }
  .pnr-isk-row__pills {
    top: 1.041667vw;
    left: 1.041667vw;
    gap: 0.520833vw;
  }
  .pnr-isk-row__text {
    max-width: 41.822917vw;
  }
  .pnr-fic {
    width: 2.604167vw;
    height: 2.604167vw;
  }
  .pnr-fic svg {
    width: 1.945833vw;
  }
  .pnr-akt__grid {
    grid-template-columns: 21.875vw 1fr;
  }
  .pnr-akt__card {
    width: 26.5625vw;
    margin-right: 1.5625vw;
  }
  .pnr-sistem__head .pnr-section-head {
    max-width: 33.958333vw;
  }
  .pnr-carousel-nav {
    gap: 0.729167vw;
  }
  .pnr-fac {
    width: 25.46875vw;
    margin-right: 1.5625vw;
  }
  .pnr-quote__card {
    max-width: 60.520833vw;
    min-height: 32.916667vw;
  }
  .pnr-quote .slick-dots {
    gap: 0.625vw;
  }
  .pnr-quote .slick-dots li button {
    width: 0.416667vw;
    height: 0.416667vw;
  }
  .pnr-quote .slick-dots li.slick-active button {
    width: 0.520833vw;
    height: 0.520833vw;
  }
  .pnr-map__intro {
    max-width: 23.958333vw;
  }
  .pnr-map__pin {
    gap: 0.625vw;
  }
  .pnr-map__dot {
    width: 2.604167vw;
    height: 2.604167vw;
    font-size: max(11px, 0.9375vw);
  }
  .pnr-map__name {
    font-size: max(11px, 1.041667vw);
  }
  .pnr-map__sub {
    font-size: max(11px, 0.833333vw);
  }
  .pnr-day__grid {
    grid-template-columns: 26.25vw 1fr;
  }
  .pnr-day__card {
    width: 17.1875vw;
    margin-right: 1.770833vw;
  }
  .pnr-day__meta {
    min-height: 4.791667vw;
  }

  /* Okupljanja: scale the fixed 1920px slider geometry as one composition. */
  .pnr-conf {
    padding-block: 4.375vw 4.479167vw;
  }
  .pnr-conf__head {
    max-width: 40.416667vw;
    gap: 0.9375vw;
  }
  .pnr-conf__head .pnr-eyebrow {
    line-height: 0.9375vw;
  }
  .pnr-conf__head .pnr-title {
    font-size: max(11px, 2.5vw);
    line-height: 2.625vw;
  }
  .pnr-conf__intro {
    font-size: max(11px, 1.041667vw);
    line-height: 1.731771vw;
  }
  .pnr-conf__viewport {
    margin-block: 4.739583vw 2.1875vw;
  }
  .pnr-conf__slide {
    height: 36.25vw;
  }
  .pnr-conf__media {
    flex-basis: 25vw;
    width: 25vw;
    height: 26.25vw;
  }
  .pnr-conf__slide:has(+ .slick-center) .pnr-conf__media {
    transform: translateX(-3.333333vw);
  }
  .slick-center + .pnr-conf__slide .pnr-conf__media {
    transform: translateX(3.333333vw);
  }
  .pnr-conf__slide.slick-center .pnr-conf__media {
    flex-basis: 60.416667vw;
    width: 60.416667vw;
    height: 36.25vw;
  }
  .pnr-conf__track,
  .pnr-conf__track .slick-list,
  .pnr-conf__track .slick-track {
    height: 36.25vw !important;
  }
  .pnr-conf__tags {
    top: 2.916667vw;
    left: 2.916667vw;
    gap: 0.520833vw;
  }
  .pnr-conf__tags .pnr-pill {
    padding: 0.520833vw 0.989583vw;
    font-size: max(11px, 0.729167vw);
  }
  .pnr-conf__overlay {
    gap: 0.833333vw;
    padding: 2.916667vw;
  }
  .pnr-conf__slide-name,
  .pnr-conf__name {
    font-size: max(11px, 2.083333vw);
    line-height: 2.604167vw;
  }
  .pnr-conf__slide-kicker {
    font-size: max(11px, 0.729167vw);
    line-height: max(11px, 0.833333vw);
    letter-spacing: 0.1375vw;
  }
  .pnr-conf__slide-desc {
    max-width: 29.0625vw;
    font-size: max(11px, 0.9375vw);
    line-height: 1.505208vw;
  }
  .pnr-conf__controls {
    gap: 1.354167vw;
  }
  .pnr-conf__pager {
    gap: 0.833333vw;
  }
  .pnr-conf__count {
    min-width: 3.854167vw;
    min-height: 2.708333vw;
    padding: 0.78125vw 1.041667vw;
    font-size: max(11px, 0.885417vw);
  }

  /* Footer keeps the same 1920px text measure and logo proportions. */
  .pnr-foot-hero__inner,
  .pnr-foot-hero__title,
  .pnr-foot-hero__text {
    max-width: 39.53125vw;
  }
  .pnr-foot-hero__inner {
    width: min(45.677083vw, 100%);
  }
  .pnr-foot-hero__text {
    font-size: max(11px, 1.041667vw);
    line-height: 1.682292vw;
  }
  .pnr-foot-hero__btn {
    width: 10.917188vw;
    height: 2.96875vw;
    margin-top: 1.822917vw;
    font-size: max(11px, 0.677083vw);
    letter-spacing: 0.121875vw;
  }
  .pnr-foot-col ul a {
    font-size: max(11px, 1.458333vw);
  }
  .pnr-foot-info {
    grid-template-columns: repeat(2, minmax(0, 10.9375vw));
  }
  .pnr-foot-contact strong {
    font-size: max(11px, 0.833333vw);
  }
  .pnr-foot-logobar__logo {
    width: 10.416667vw;
  }

  /* Contact header and hero. */
  .site-header--contact {
    height: 6.770833vw;
  }
  .site-header--contact .pnr-logo img {
    height: 3.630208vw;
  }
  .site-header--contact .site-header__right {
    gap: 2.135417vw;
  }
  .site-header--contact .pnr-header-cta__arrow {
    width: 0.583125vw;
    height: 0.583125vw;
  }
  .site-header--contact.is-scrolled .pnr-logo img {
    height: 2.291667vw;
  }
  .pnr-contact-hero {
    min-height: 53.958333vw;
  }
  .pnr-contact-hero__inner {
    grid-template-columns: minmax(0, 35.208333vw) minmax(0, 1fr);
    gap: 6.458333vw;
    padding-top: 10.46875vw;
  }
  .pnr-contact-hero__content {
    gap: 3.28125vw;
  }
  .pnr-contact-hero__head {
    gap: 0.989583vw;
    max-width: 28.645833vw;
  }
  .pnr-contact-hero__eyebrow {
    font-size: max(11px, 0.833333vw);
  }
  .pnr-contact-hero__title {
    max-width: 28.645833vw;
    font-size: max(11px, 3.854167vw);
  }
  .pnr-contact-hero__text {
    max-width: 28.645833vw;
    font-size: max(11px, 1.041667vw);
  }
  .pnr-contact-hero__media {
    height: 41.927083vw;
  }
  .pnr-contact-list__item,
  .pnr-contact-list__link {
    min-height: 3.958333vw;
  }
  .pnr-contact-list__link {
    gap: 0.729167vw;
    padding: 0.416667vw 0.729167vw;
  }
  .pnr-contact-list__icon {
    flex-basis: 1.458333vw;
    min-width: 1.458333vw;
  }
  .pnr-contact-list__icon img {
    width: 1.458333vw;
    height: 1.458333vw;
  }
  .pnr-contact-list__label {
    margin-bottom: 0.364583vw;
    font-size: max(11px, 0.729167vw);
    line-height: 0.9375vw;
  }
  .pnr-contact-list__value {
    font-size: max(11px, 0.9375vw);
    line-height: 1.197917vw;
  }

  /* Contact form and travel cards. */
  .pnr-contact-form-section {
    padding: 5vw 0 7.291667vw;
  }
  .pnr-contact-section-head {
    gap: 0.625vw;
    margin-bottom: 2.291667vw;
  }
  .pnr-contact-section-head .pnr-title {
    font-size: max(11px, 2.708333vw);
    line-height: 2.84375vw;
    letter-spacing: -0.054167vw;
  }
  .pnr-contact-section-head .pnr-lead {
    max-width: 38.229167vw;
    font-size: max(11px, 1.041667vw);
    line-height: 1.731771vw;
  }
  .pnr-contact-section-head .pnr-eyebrow {
    font-size: max(11px, 0.677083vw);
    line-height: max(11px, 0.833333vw);
    letter-spacing: 0.216667vw;
  }
  .pnr-contact-panel {
    grid-template-columns: minmax(0, 57.1875vw) 18.75vw;
    gap: 2.708333vw;
    padding: 2.34375vw;
  }
  .pnr-contact-type-step {
    gap: 0.833333vw;
    padding-bottom: 1.979167vw;
  }
  .pnr-contact-type-step > h3,
  .pnr-contact-form__section legend {
    font-size: max(11px, 0.9375vw);
    line-height: 1.197917vw;
  }
  .pnr-contact-tabs,
  .pnr-inquiry-types {
    gap: 0.520833vw;
  }
  .pnr-contact-form__section {
    padding: 1.614583vw 0 1.979167vw;
  }
  .pnr-contact-form__section--first {
    padding-top: 1.614583vw;
  }
  .pnr-contact-form__section legend {
    margin-bottom: 0.9375vw;
  }
  .pnr-inquiry-type__visual {
    gap: 0.572917vw;
    min-height: 3.697917vw;
    height: 3.697917vw;
    padding: 0.78125vw 0.677083vw;
  }
  .pnr-inquiry-type__icon {
    flex-basis: 1.458333vw;
    min-width: 1.458333vw;
    width: 1.458333vw;
    height: 1.458333vw;
  }
  .pnr-inquiry-type strong,
  .pnr-contact-tab strong {
    font-size: max(11px, 0.833333vw);
  }
  .pnr-inquiry-type small,
  .pnr-contact-tab small {
    font-size: max(11px, 0.729167vw);
  }
  .pnr-inquiry-types--cf7 .wpcf7-list-item-label {
    min-height: 3.697917vw;
    padding: 0.520833vw 0.416667vw 0.520833vw 2.395833vw;
    font-size: max(11px, 0.78125vw);
  }
  .pnr-inquiry-types--cf7 .wpcf7-list-item-label::before {
    top: 1.041667vw;
    left: 0.625vw;
    width: 1.354167vw;
    height: 1.354167vw;
    font-size: max(11px, 0.9375vw);
  }
  .pnr-inquiry-types--cf7 .wpcf7-list-item-label::after {
    font-size: max(11px, 0.625vw);
  }
  .pnr-contact-fields {
    gap: 0.9375vw 1.666667vw;
  }
  .pnr-contact-field {
    gap: 0.416667vw;
  }
  .pnr-contact-field > span {
    font-size: max(11px, 0.729167vw);
  }
  .pnr-contact-field input,
  .pnr-contact-field textarea,
  .pnr-contact-field select {
    font-size: max(11px, 0.833333vw);
  }
  .pnr-contact-field input,
  .pnr-contact-field select {
    height: 2.604167vw;
    padding-inline: 0.885417vw;
  }
  .pnr-contact-field textarea {
    min-height: 7.083333vw;
    padding: 0.729167vw 0.885417vw;
  }
  .flatpickr-calendar.pnr-flatpickr {
    width: 17.083333vw;
    padding: 0.729167vw;
    font-size: max(11px, 0.729167vw);
  }
  .pnr-flatpickr .flatpickr-months {
    margin-bottom: 0.520833vw;
  }
  .pnr-flatpickr .flatpickr-months .flatpickr-month,
  .pnr-flatpickr .flatpickr-current-month {
    height: 2.083333vw;
  }
  .pnr-flatpickr .flatpickr-current-month {
    padding-top: 0.416667vw;
    font-size: max(11px, 0.833333vw);
  }
  .pnr-flatpickr .flatpickr-prev-month,
  .pnr-flatpickr .flatpickr-next-month {
    top: 0.729167vw;
    width: 1.875vw;
    height: 1.875vw;
    padding: 0.46875vw;
  }
  .pnr-flatpickr .flatpickr-weekdays {
    height: 1.770833vw;
  }
  .pnr-flatpickr span.flatpickr-weekday {
    font-size: max(11px, 0.572917vw);
  }
  .pnr-flatpickr .flatpickr-days,
  .pnr-flatpickr .dayContainer {
    width: 15.520833vw;
    min-width: 15.520833vw;
    max-width: 15.520833vw;
  }
  .pnr-flatpickr .flatpickr-day {
    width: 2.1875vw;
    max-width: 2.1875vw;
    height: 2.1875vw;
    line-height: 2.083333vw;
  }
  .pnr-contact-checks .wpcf7-form-control {
    gap: 0.520833vw;
  }
  .pnr-contact-checks .wpcf7-list-item label {
    min-height: 2.5vw;
    gap: 0.520833vw;
    padding: 0.520833vw 0.625vw;
  }
  .pnr-contact-checks input {
    width: 0.833333vw;
    height: 0.833333vw;
  }
  .pnr-contact-checks .wpcf7-list-item-label,
  .pnr-contact-consent,
  .pnr-contact-consent-wrap .wpcf7-list-item-label {
    font-size: max(11px, 0.729167vw);
  }
  .pnr-contact-consent-wrap .wpcf7-list-item-label {
    max-width: 35vw;
    padding-left: 1.5625vw;
  }
  .pnr-contact-consent-wrap .wpcf7-list-item-label::before {
    width: 0.9375vw;
    height: 0.9375vw;
  }
  .pnr-contact-submit-row {
    gap: 1.770833vw;
    margin-top: 1.979167vw;
  }
  .pnr-contact-submit {
    min-width: 13.072917vw;
    min-height: 2.604167vw;
    background-position: calc(50% + 2.8125vw) center;
    background-size: 0.46875vw 0.46875vw;
    text-indent: -1.041667vw;
  }
  .pnr-contact-reassurance {
    gap: 0.572917vw;
    max-width: 12.291667vw;
    font-size: max(11px, 0.729167vw);
    line-height: 1.130208vw;
  }
  .pnr-contact-reassurance svg,
  .pnr-contact-reassurance__clock {
    flex-basis: 1.09375vw;
    width: 1.09375vw;
    height: 1.09375vw;
  }
  .pnr-contact-aside {
    padding: 1.666667vw 1.71875vw 1.71875vw;
  }
  .pnr-contact-aside > h3 {
    margin-bottom: 1.770833vw;
    font-size: max(11px, 1.25vw);
  }
  .pnr-contact-steps {
    gap: 1.354167vw;
  }
  .pnr-contact-steps li {
    gap: 0.833333vw;
  }
  .pnr-contact-steps__icon {
    flex-basis: 2.291667vw;
    min-width: 2.291667vw;
    width: 2.291667vw;
    height: 2.291667vw;
  }
  .pnr-contact-steps__icon img {
    width: 1.09375vw;
    height: 1.09375vw;
  }
  .pnr-contact-steps strong {
    font-size: max(11px, 0.833333vw);
  }
  .pnr-contact-steps small {
    font-size: max(11px, 0.729167vw);
  }
  .pnr-contact-quick {
    grid-template-columns: 1.666667vw minmax(0, 1fr);
    gap: 0.833333vw;
    margin-top: 1.770833vw;
    padding-top: 1.510417vw;
  }
  .pnr-contact-quick__icon,
  .pnr-contact-quick__icon img {
    min-width: 1.666667vw;
    width: 1.666667vw;
    height: 1.666667vw;
  }
  .pnr-contact-quick h4,
  .pnr-contact-quick a strong {
    font-size: max(11px, 0.9375vw);
  }
  .pnr-contact-quick p,
  .pnr-contact-quick a small {
    font-size: max(11px, 0.729167vw);
  }

  .pnr-contact-location {
    padding: 5.364583vw 0 5.3125vw;
  }
  .pnr-contact-location__top {
    grid-template-columns: minmax(0, 33.802083vw) minmax(0, 46.197917vw);
    gap: 3.333333vw;
    min-height: 21.302083vw;
  }
  .pnr-contact-location__intro {
    padding-top: 2.03125vw;
  }
  .pnr-contact-location__intro .pnr-title {
    margin-top: 0.989583vw;
    font-size: max(11px, 2.8125vw);
    line-height: 2.896875vw;
    letter-spacing: -0.05625vw;
  }
  .pnr-contact-location__intro .pnr-lead {
    max-width: 26.041667vw;
    margin-top: 0.989583vw;
    font-size: max(11px, 1.041667vw);
  }
  .pnr-contact-location__intro h3 {
    margin: 0.885417vw 0 0.677083vw;
    font-size: max(11px, 1.041667vw);
  }
  .pnr-contact-nav-links {
    gap: 0.46875vw;
  }
  .pnr-contact-nav-links a {
    min-height: 2.708333vw;
    gap: 0.625vw;
    padding: 0.677083vw 0.885417vw;
    font-size: max(11px, 0.729167vw);
  }
  .pnr-contact-nav-links a > span,
  .pnr-contact-nav-links a > span img {
    flex-basis: 1.354167vw;
    width: 1.354167vw;
    height: 1.354167vw;
  }
  .pnr-contact-location__map {
    height: 21.302083vw;
  }
  .pnr-contact-location__map-caption {
    padding: 0.416667vw 0.729167vw;
    font-size: max(11px, 0.729167vw);
  }
  .pnr-contact-location__cards {
    gap: 1.041667vw;
    margin-top: 1.041667vw;
  }
  .pnr-contact-card {
    min-height: 20.15625vw;
    padding: 1.614583vw;
  }
  .pnr-contact-card__icon {
    flex-basis: 2.708333vw;
    min-width: 2.708333vw;
    width: 2.708333vw;
    height: 2.708333vw;
    margin-bottom: 0.78125vw;
  }
  .pnr-contact-card__icon img,
  .pnr-contact-card__plain-icon img,
  .pnr-contact-card__checks img {
    width: 1.25vw;
    height: 1.25vw;
  }
  .pnr-contact-card__plain-icon,
  .pnr-contact-card__checks img {
    flex-basis: 1.25vw;
    min-width: 1.25vw;
  }
  .pnr-contact-card h3 {
    font-size: max(11px, 1.25vw);
  }
  .pnr-contact-card > p,
  .pnr-contact-card header p,
  .pnr-contact-card__checks li,
  .pnr-contact-card--times > ul li {
    font-size: max(11px, 0.833333vw);
  }
  .pnr-contact-card--times > ul strong {
    font-size: max(11px, 0.9375vw);
  }
  .pnr-contact-station {
    margin-top: 3.177083vw;
  }
  .pnr-contact-travel-notes {
    gap: 2.083333vw;
    margin-top: 1.041667vw;
    padding: 1.614583vw;
  }
  .pnr-contact-travel-notes li {
    grid-template-columns: 1.354167vw minmax(0, 1fr);
    gap: 0.625vw;
    max-width: 13.4375vw;
  }
  .pnr-contact-travel-notes__icon,
  .pnr-contact-travel-notes__icon img {
    min-width: 1.354167vw;
    width: 1.354167vw;
    height: 1.354167vw;
  }
  .pnr-contact-travel-notes strong {
    font-size: max(11px, 1.041667vw);
  }
  .pnr-contact-travel-notes small {
    font-size: max(11px, 0.833333vw);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pnr-inquiry-type__visual,
  .pnr-contact-tab .pnr-inquiry-type__visual,
  .pnr-inquiry-types--cf7 .wpcf7-list-item-label,
  .pnr-contact-submit,
  .pnr-contact-nav-links a {
    transition-duration: 0.01ms;
  }
}

/* ================================================================== FOOTER
   Exact desktop composition from Figma 1147:1230. This final layer also
   supersedes the footer's retired newsletter/mobile rules above. */
.site-footer {
  min-height: 1352px;
  overflow: hidden;
  background: #1c1c1c;
}
/* No CTA band on this page (e.g. Dokumentacija) — don't reserve its height. */
.site-footer.pnr-foot--no-cta {
  min-height: 0;
}
.pnr-foot-hero {
  height: 775px;
  min-height: 775px;
  background-repeat: no-repeat;
  background-position: center -367.6px;
  background-size: 100% auto;
}
.pnr-foot-hero > .pnr-container {
  display: flex;
  height: 100%;
  align-items: center;
}
.pnr-foot-hero__inner {
  width: 877px;
  max-width: 877px;
  gap: 28px;
  padding: 0;
}
.pnr-foot-hero__title {
  width: 759px;
  max-width: 759px;
  margin: 0;
  font:
    200 68px/71.4px "Outfit",
    sans-serif;
  letter-spacing: -1.36px;
}
.pnr-foot-hero__text {
  width: 759px;
  max-width: 759px;
  margin: 0;
  font:
    300 20px/32.3px "Outfit",
    sans-serif;
}
.pnr-foot-hero__btn {
  flex: 0 0 auto;
  width: 209.61px;
  height: 57px;
  min-height: 57px;
  margin-top: 35px;
  font:
    400 13px/normal "Jost",
    sans-serif;
  letter-spacing: 2.34px;
}
.site-footer > .pnr-container {
  position: relative;
  display: block;
  height: 577px;
}
.pnr-foot-cols {
  height: 443px;
  grid-template-columns: 244.41px minmax(0, 963.59px) 392px;
  column-gap: 0;
  row-gap: 0;
  align-items: start;
  padding: 80px 0 0;
}
.pnr-foot-col {
  gap: 29px;
}
.pnr-foot-col__title {
  font:
    400 11px/13px "Outfit",
    sans-serif;
  letter-spacing: 3.08px;
}
.pnr-foot-col ul {
  gap: 13px;
}
.pnr-foot-col ul a {
  font:
    300 28px/35px "Outfit",
    sans-serif;
}
.pnr-foot-info {
  width: 392px;
  grid-template-columns: 150px 174px;
  column-gap: 68px;
  row-gap: 46px;
  justify-self: stretch;
}
.pnr-foot-info .pnr-foot-col__title {
  letter-spacing: 2.64px;
}
.pnr-foot-contact {
  min-width: 0;
  gap: 0;
}
.pnr-foot-contact > .pnr-foot-col__title {
  margin-bottom: 14px;
}
.pnr-foot-contact a {
  width: max-content;
  max-width: 100%;
}
.pnr-foot-contact--phone > a,
.pnr-foot-contact--channels a,
.pnr-foot-contact--email > a {
  white-space: nowrap;
}
.pnr-foot-contact strong {
  display: block;
  color: #cfc6b3;
  font:
    300 16px/24px "Jost",
    sans-serif;
}
.pnr-foot-contact--phone > a strong,
.pnr-foot-contact--channels strong,
.pnr-foot-contact--email > a strong {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.pnr-foot-contact small {
  margin-top: 2px;
  color: #857c6c;
  font:
    300 13px/20.8px "Jost",
    sans-serif;
}
.pnr-foot-contact__channels {
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
  gap: 3px;
}
.pnr-foot-contact__channels a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
}
.pnr-foot-contact__channels img {
  display: block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}
.pnr-foot-contact--address strong {
  white-space: normal;
  text-decoration: none;
}
.pnr-foot-newsletter {
  position: relative;
  top: 8px;
  display: flex !important;
  grid-column: 1 / -1;
  flex-direction: column;
  gap: 0;
  width: 392px;
}
.pnr-foot-newsletter > .pnr-foot-col__title {
  margin-bottom: 1px;
}
.pnr-foot-form {
  width: 392px;
  max-width: none;
  height: 35px;
  gap: 0;
  padding: 0;
  border-bottom-color: rgba(255, 255, 255, 0.4);
}
.pnr-foot-form input {
  min-width: 0;
  height: 35px;
  padding: 0;
  font:
    300 15px/22px "Jost",
    sans-serif;
}
.pnr-foot-form input::placeholder {
  color: #757575;
  opacity: 1;
}
.pnr-foot-form button {
  flex: 0 0 auto;
  padding: 0;
  color: #e8b75a;
  font:
    500 12px/normal "Jost",
    sans-serif;
  letter-spacing: 2.4px;
}
.pnr-foot-logobar {
  width: 100vw;
  height: 83px;
  margin-left: calc(50% - 50vw);
  gap: 27px;
  padding: 0;
}
.pnr-foot-logobar__logo {
  flex: 0 0 238px;
  width: 238px;
  height: 82.943px;
}
.pnr-foot-logobar__logo img {
  display: block;
  width: 100%;
  height: 100%;
}
.pnr-foot-bottom {
  height: 51px;
  gap: 24px;
  padding: 6px 0 0;
  align-items: flex-start;
  font:
    300 14px/normal "Jost",
    sans-serif;
}
.pnr-foot-bottom__legal {
  gap: 20px;
}

@media (min-width: 601px) {
  .pnr-foot-bottom__legal,
  .pnr-foot-bottom__legal a {
    white-space: nowrap;
  }
}

@media (min-width: 1200px) and (max-width: 1919px) {
  .site-footer {
    min-height: 70.416667vw;
  }
  .site-footer.pnr-foot--no-cta {
    min-height: 0;
  }
  .pnr-foot-hero {
    height: 40.364583vw;
    min-height: 40.364583vw;
    background-position: center -19.145833vw;
  }
  .pnr-foot-hero__inner {
    width: 45.677083vw;
    max-width: 45.677083vw;
    gap: 1.458333vw;
  }
  .pnr-foot-hero__title {
    width: 39.53125vw;
    max-width: 39.53125vw;
    font-size: 3.541667vw;
    line-height: 3.71875vw;
    letter-spacing: -0.070833vw;
  }
  .pnr-foot-hero__text {
    width: 39.53125vw;
    max-width: 39.53125vw;
    font-size: max(11px, 1.041667vw);
    line-height: 1.682292vw;
  }
  .pnr-foot-hero__btn {
    width: 10.917188vw;
    height: 2.96875vw;
    min-height: 2.96875vw;
    margin-top: 1.822917vw;
    font-size: max(11px, 0.677083vw);
    letter-spacing: 0.121875vw;
  }
  .site-footer > .pnr-container {
    height: 30.052083vw;
  }
  .pnr-foot-cols {
    height: 23.072917vw;
    grid-template-columns: 12.729688vw minmax(0, 1fr) max(20.416667vw, 320px);
    padding-top: 4.166667vw;
  }
  .pnr-foot-col {
    gap: 1.510417vw;
  }
  .pnr-foot-col__title {
    font-size: 11px;
    line-height: max(11px, 0.677083vw);
    letter-spacing: 0.160417vw;
  }
  .pnr-foot-col ul {
    gap: 0.677083vw;
  }
  .pnr-foot-col ul a {
    font-size: max(11px, 1.458333vw);
    line-height: 1.822917vw;
  }
  .pnr-foot-info {
    width: max(20.416667vw, 320px);
    grid-template-columns: minmax(120px, 1fr) minmax(140px, 1.16fr);
    column-gap: 3.541667vw;
    row-gap: 2.395833vw;
  }
  .pnr-foot-info .pnr-foot-col__title {
    letter-spacing: 0.1375vw;
  }
  .pnr-foot-contact > .pnr-foot-col__title {
    margin-bottom: 0.729167vw;
  }
  .pnr-foot-contact strong {
    font-size: max(11px, 0.833333vw);
    line-height: 1.25vw;
  }
  .pnr-foot-contact small {
    margin-top: 0.104167vw;
    font-size: max(11px, 0.677083vw);
    line-height: max(11px, 1.083333vw);
  }
  .pnr-foot-contact__channels {
    gap: 0.15625vw;
  }
  .pnr-foot-contact__channels a {
    gap: 0.3125vw;
  }
  .pnr-foot-contact__channels img {
    flex-basis: 0.9375vw;
    width: 0.9375vw;
    height: 0.9375vw;
  }
  .pnr-foot-newsletter {
    top: 0.416667vw;
    width: 100%;
  }
  .pnr-foot-form {
    width: 100%;
    height: 1.822917vw;
  }
  .pnr-foot-form input {
    height: 1.822917vw;
    font-size: max(11px, 0.78125vw);
    line-height: 1.145833vw;
  }
  .pnr-foot-form button {
    font-size: max(11px, 0.625vw);
    letter-spacing: 0.125vw;
  }
  .pnr-foot-logobar {
    height: 4.322917vw;
    gap: 1.40625vw;
  }
  .pnr-foot-logobar__logo {
    flex-basis: 12.395833vw;
    width: 12.395833vw;
    height: 4.32099vw;
  }
  .pnr-foot-bottom {
    height: 2.65625vw;
    padding-top: 0.3125vw;
    font-size: max(11px, 0.729167vw);
  }
  .pnr-foot-bottom__legal {
    gap: 1.041667vw;
  }
}

@media (max-width: 1199px) {
  .site-footer {
    min-height: 0;
  }
  .pnr-foot-hero {
    height: auto;
    min-height: 520px;
    background-position: center;
    background-size: cover;
  }
  .pnr-foot-hero > .pnr-container {
    height: auto;
    min-height: inherit;
  }
  .pnr-foot-hero__inner {
    width: min(877px, 100%);
    max-width: 877px;
    padding: 72px 0;
  }
  .pnr-foot-hero__title,
  .pnr-foot-hero__text {
    width: min(759px, 100%);
  }
  .pnr-foot-hero__title {
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.06;
  }
  .site-footer > .pnr-container {
    display: flex;
    height: auto;
    flex-direction: column;
  }
  .pnr-foot-cols {
    order: 0;
    height: auto;
    grid-template-columns: 1fr 1fr;
    gap: 56px 32px;
    padding: 56px 0;
  }
  .pnr-foot-info {
    width: 100%;
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    gap: 40px 32px;
    justify-self: stretch;
  }
  .pnr-foot-newsletter {
    top: 0;
    order: 5;
    width: 100%;
  }
  .pnr-foot-form {
    width: 100%;
  }
  .pnr-foot-logobar {
    order: -1;
    width: 100vw;
    height: auto;
    margin-left: calc(50% - 50vw);
    gap: 24px;
    padding: 42px 0;
  }
  .pnr-foot-logobar__line {
    display: block;
  }
  .pnr-foot-logobar__logo {
    flex-basis: 200px;
    width: 200px;
    height: auto;
  }
  .pnr-foot-logobar__logo img {
    height: auto;
  }
  .pnr-foot-bottom {
    height: auto;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 14px;
    padding: 24px 0 32px;
    border-top: 1px solid rgba(233, 224, 207, 0.14);
  }
}

@media (max-width: 600px) {
  .site-header {
    padding-inline: 16px;
  }
  .pnr-menu-toggle__label {
    display: none;
  }
  .pnr-logo__svg,
  .pnr-logo img,
  .site-header.is-scrolled .pnr-logo img,
  .site-header--contact .pnr-logo__svg,
  .site-header--contact .pnr-logo img {
    width: 116px;
    height: auto;
  }
  .pnr-header-cta {
    min-height: 38px;
    padding: 9px 11px;
    font-size: 10px;
    letter-spacing: 1px;
  }
  .pnr-foot-hero {
    height: auto;
    min-height: 0;
  }
  .pnr-foot-hero__inner {
    gap: 18px;
    padding: 93px 0 100px;
  }
  .pnr-foot-hero__title {
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: -0.64px;
  }
  .pnr-foot-hero__text {
    font-size: 15px;
    line-height: 1.65;
  }
  .pnr-foot-hero__btn {
    width: 172px;
    height: 48px;
    min-height: 48px;
    margin-top: 18px;
    font-size: 11px;
    letter-spacing: 1.7px;
  }
  .pnr-foot-logobar {
    gap: 16px;
    padding: 36px 0;
  }
  .pnr-foot-logobar__logo {
    flex-basis: 170px;
    width: 170px;
  }
  .pnr-foot-cols {
    gap: 42px 24px;
    padding: 44px 0;
  }
  .pnr-foot-col {
    gap: 20px;
  }
  .pnr-foot-col ul {
    gap: 10px;
  }
  .pnr-foot-col ul a {
    font-size: 22px;
    line-height: 1.3;
  }
  .pnr-foot-info {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .pnr-foot-newsletter {
    grid-column: 1;
  }
  .pnr-foot-bottom,
  .pnr-foot-bottom__legal {
    font-size: 11px;
  }
  .pnr-foot-bottom__legal {
    flex-wrap: wrap;
    gap: 8px 16px;
  }
}

/* Inquiry labels are ellipsised by design, but between 1200 and 1919 the tab
   grid is narrow enough to cut a word — they wrap instead. */
@media (min-width: 1200px) and (max-width: 1919px) {
  .pnr-inquiry-type__visual {
    height: auto;
    min-height: 3.697917vw;
  }
  .pnr-contact-tab small,
  .pnr-inquiry-type small {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}
