/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.5.15,
* Autoprefixer: v10.5.0
* Browsers: last 4 version
*/

/* ============================================
   HOMEPAGE HERO — Duna reveal efekt a základní layout.
   ============================================ */
.hero-marquee {
  overflow: hidden;
  width: 100%;
}

.hero-marquee-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;   
  -ms-flex-wrap: nowrap !important;   
      flex-wrap: nowrap !important;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform; 
}

.hero-photo {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.333vw;       
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.hero-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* ── "Duna" reveal ── */
.hero-photo--reveal::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 120%;   
  background: linear-gradient(
    to right,
    var(--background-color) 0%,
    var(--background-color) 84%,
    transparent 100%
  );
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);          
  pointer-events: none;
}

.hero-photo--reveal.is-revealing::after {
  -webkit-animation: hero-dune-reveal 1.6s cubic-bezier(.4, 0, .2, 1) forwards;
          animation: hero-dune-reveal 1.6s cubic-bezier(.4, 0, .2, 1) forwards;
}

.hero-photo--reveal:nth-of-type(1).is-revealing::after { -webkit-animation-delay: 0s; animation-delay: 0s;   }
.hero-photo--reveal:nth-of-type(2).is-revealing::after { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; }
.hero-photo--reveal:nth-of-type(3).is-revealing::after { -webkit-animation-delay: 1s; animation-delay: 1s;   }

@-webkit-keyframes hero-dune-reveal {
  to { -webkit-transform: translateX(100%); transform: translateX(100%); }
}

@keyframes hero-dune-reveal {
  to { -webkit-transform: translateX(100%); transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-photo--reveal::after {
    -webkit-animation: none !important;
            animation: none !important;
    display: none;
  }
}

/* ── Textový blok pod fotkami ── */
.hero-text {
  max-width: 1400px;
  padding-block: 56px 90px;
}

.hero-title {
  font-family: var(--font-heading);
  font-style: normal; 
  font-weight: 300;
  color: var(--primary-color);
  font-size: var(--heading-xl); /* Aplikována proměnná */
  line-height: 1.1;
  margin: 0 0 12px;
}

.hero-subheadline {
  margin-bottom: 20px !important;
}

.hero-body {
  font-family: var(--font-body);
  font-weight: 300;
  color: var(--text-secondary);
  line-height: 1.7;
  font-size: 16px;
  max-width: 420px;
  margin: 0;
}

.hero-buttons-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important; 
  -webkit-box-align: center; 
      -ms-flex-align: center; 
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
}

.hero-link-decorated, button.bricks-button {
  position: relative;
  display: inline-block;
  font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 18px;
  color: var(--primary-color);
  text-decoration: none;
  padding: 8px 20px;
  border-top: 1px solid var(--primary-color);
  border-bottom: 1px solid var(--primary-color);
  -webkit-transition: font-weight .35s ease, letter-spacing .35s ease;
  transition: font-weight .35s ease, letter-spacing .35s ease;
}

.hero-link-decorated::before, button.bricks-button::before,
.hero-link-decorated::after, button.bricks-button::after {
  content: '';
  position: absolute;
  width: 22px;
  height: 1px;
  background: var(--primary-color);
  pointer-events: none;
  -webkit-transition: width .35s cubic-bezier(.65, 0, .35, 1),
              top .35s cubic-bezier(.65, 0, .35, 1),
              bottom .35s cubic-bezier(.65, 0, .35, 1);
  transition: width .35s cubic-bezier(.65, 0, .35, 1),
              top .35s cubic-bezier(.65, 0, .35, 1),
              bottom .35s cubic-bezier(.65, 0, .35, 1);
}

button.bricks-button {
    background: transparent !important;
    width: 100%;
    min-width: 170px;
}
.hero-link-decorated::before, button.bricks-button::before { top: -6px; left: 0; }
.hero-link-decorated::after, button.bricks-button::after { bottom: -6px; right: 0; }
.hero-link-decorated:hover, button.bricks-button:hover, .hero-link-decorated:focus-visible, button.bricks-button:focus-visible { letter-spacing: 2px; }
.hero-link-decorated:hover::before, button.bricks-button:hover::before, .hero-link-decorated:focus-visible::before, button.bricks-button:focus-visible::before { top: -3px; width: 30px; }
.hero-link-decorated:hover::after, button.bricks-button:hover::after, .hero-link-decorated:focus-visible::after, button.bricks-button:focus-visible::after { bottom: -3px; width: 30px; }

@media (prefers-reduced-motion: reduce) {
  .hero-link-decorated, button.bricks-button,
  .hero-link-decorated::before, button.bricks-button::before,
  .hero-link-decorated::after, button.bricks-button::after {
    -webkit-transition: none !important;
    transition: none !important;
  }
}
.hero-link-decorated-white {
  color: var(--background-color);
  border-top-color: var(--background-color);
  border-bottom-color: var(--background-color);
}
.hero-link-decorated-white::before,
.hero-link-decorated-white::after {
  background: var(--background-color);
}

.hero-link-plain {
  font-family: var(--font-body);
  font-weight: 300;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 18px;
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* ── Mobilní zobrazení pro Brand Intro a Hero Text ── */
@media (max-width: 680px) {
  .hero-marquee {
    position: relative !important;
    height: 80vh !important;
  }
  .hero-marquee-track {
    display: block !important; 
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important; 
  }
  .hero-photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important; 
    -webkit-transition: opacity 1.5s ease, visibility 1.5s ease !important; 
    transition: opacity 1.5s ease, visibility 1.5s ease !important;
  }
  .hero-photo.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important; 
  }
  .hero-photo--reveal::after {
    display: none !important; 
  }
  .hero-buttons-row {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .hero-text {
    padding-top: 10px;
  }
  .hero-text .hero-link-decorated {
    margin: 0 auto;
  }
  .hero-text .hero-link-plain {
    margin-top: 30px;
    margin-right: 5px;
    font-size: 15px;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
	.brand-photo-window--small {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 160px !important;
            flex: 0 0 160px !important; 
    width: 160px !important;
    height: 213px !important; /* Fallback pro mobil */
    margin-left: -80px !important; 
  }
  
  .brand-photo-window--large {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 0px !important;
            flex: 1 1 0 !important; 
    width: 100% !important; /* Musí mít šířku */
    min-height: 380px !important; /* Zabrání zhroucení kontejneru */
  }
}

/* ============================================
   BRAND INTRO
   ============================================ */
.brand-intro {
  background-color: var(--secondary-color); 
  padding-block: var(--section-pad-y);
  overflow: hidden;
}

.brand-intro-heading {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 300;
  color: var(--background-color); 
  text-align: center;
  font-size: var(--heading-lg); /* Aplikována proměnná */
  line-height: 1.35;
  max-width: 900px;
  margin: 0 auto 72px;
}

.brand-intro-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important; 
  -webkit-box-align: center; 
      -ms-flex-align: center; 
          align-items: center;   
  gap: var(--gap-lg);
  width: 100%;
  max-width: none;    
  margin-inline: 0;
  padding-left: 0;    
  padding-right: var(--container-pad); 
}

.brand-photo-duo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;   
  gap: var(--gap-lg);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;            
}

.brand-photo-window--small {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 260px;
          flex: 0 0 260px;
  width: 260px; /* Vynucení šířky pro Safari */
  height: 346px; /* Explicitní výška jako fallback pro aspect-ratio */
  aspect-ratio: 3 / 4;
}

.brand-photo-window--large {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 420px;
          flex: 0 0 420px;
  width: 420px; /* Vynucení šířky pro Safari */
  height: 560px; /* Explicitní výška jako fallback pro aspect-ratio */
  aspect-ratio: 3 / 4;
}

.brand-intro-text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  max-width: 420px;
}

.brand-intro-text p {
  color: var(--background-color);
  font-family: var(--font-body);
  font-weight: 300;
  line-height: 1.8;
  font-size: 16px;
  margin: 0 0 24px;
}

.brand-intro-text .hero-link-plain {
  color: var(--background-color);
  font-weight: 600;
}

@media (max-width: 960px) {
  .brand-intro-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.brand-photo-pool {
  display: none; 
}

.brand-photo-window {
  position: relative;
  overflow: hidden;
}

.brand-photo-window img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  -webkit-transition: opacity 1.4s ease;
  transition: opacity 1.4s ease; 
  pointer-events: none;
}

.brand-photo-window img.is-active {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .brand-photo-window img {
    -webkit-transition: none !important;
    transition: none !important;
  }
}

@media (max-width: 680px) {
  .brand-intro-row {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; 
    padding-right: 0 !important; 
  }
  .brand-photo-duo {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; 
    width: 100% !important;
    gap: 16px !important; 
  }
  .brand-photo-window--small {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 160px !important;
            flex: 0 0 160px !important; 
    margin-left: -80px !important; 
  }
  .brand-photo-window--large {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 0px !important;
            flex: 1 1 0 !important; 
    margin-right: 24px !important; 
  }
  .brand-intro-text {
    max-width: none !important;
    margin-top: 32px !important; 
    padding-inline: 24px !important; 
  }
}

/* ============================================
   LOCATIONS
   ============================================ */
.locations-section {
  background-color: #fff !important;
  padding-block: var(--section-pad-y) !important;
  overflow: hidden !important;
}
.locations-heading-block {
  max-width: var(--container-max) !important;
  margin-inline: auto !important;
  padding-inline: var(--container-pad) !important;
  margin-bottom: 56px !important;
}
.locations-heading {
  font-family: var(--font-heading) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  color: var(--text-primary) !important;
  font-size: var(--heading-lg) !important; /* Aplikována proměnná */
  line-height: 1.2 !important;
  margin: 0 0 10px !important;
}

.locations-strip {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  padding-inline: var(--container-pad) !important;
  padding-bottom: 8px !important;
  -webkit-overflow-scrolling: touch !important;
}
.locations-strip::-webkit-scrollbar { height: 4px; }
.locations-strip::-webkit-scrollbar-thumb {
  background: var(--surface-tan);
  border-radius: 2px;
}

.location-label {
  -webkit-writing-mode: vertical-rl !important;
      -ms-writing-mode: tb-rl !important;
          writing-mode: vertical-rl !important;
  -webkit-transform: rotate(180deg) !important;
      -ms-transform: rotate(180deg) !important;
          transform: rotate(180deg) !important;
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  color: var(--text-label) !important;
  white-space: nowrap !important;
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
  margin-right: 20px !important;
}

.location-photo {
  position: relative !important;
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
  width: clamp(320px, 30vw, 420px) !important;
  aspect-ratio: 3 / 5 !important;
  overflow: hidden !important;
  background-color: var(--surface-tan) !important;
  margin-right: 64px !important;
}
.location-photo img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  aspect-ratio: 3 / 5 !important;
  display: block !important;
  z-index: 2 !important;
  opacity: 1 !important;
  -webkit-transition: opacity 3s ease !important;
  transition: opacity 3s ease !important;
  pointer-events: none !important;
}
.location-photo .brxe-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.location-photo .brxe-video,
.location-photo .brxe-video video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  border: 0 !important;
  pointer-events: none !important;
}
.location-photo.is-video-active img {
  opacity: 0 !important;
}

.location-copy {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
  max-width: 280px !important;
  margin-right: 96px !important;
}
.location-title {
  font-family: var(--font-heading) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-size: var(--heading-xl) !important; /* Aplikována proměnná */
  line-height: 1.05 !important;
  color: var(--primary-color) !important;
  margin: 0 0 20px !important;
}
.location-subtitle {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--text-primary) !important;
  margin: 0 !important;
}

.locations-footer {
  max-width: var(--container-max) !important;
  margin-inline: auto !important;
  padding-inline: var(--container-pad) !important;
  margin-top: 48px !important;
}

@media (max-width: 960px) {
  .location-photo { width: clamp(260px, 40vw, 340px) !important; }
  .location-copy { margin-right: 64px !important; }
}
@media (max-width: 680px) {
  .location-photo { width: 62vw !important; aspect-ratio: 3 / 4.6 !important; margin-right: 40px !important; }
  .location-copy { max-width: 220px !important; margin-right: 56px !important; }
  .location-label { font-size: 11px !important; margin-right: 14px !important; }
}

.locations-strip {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.locations-strip::-webkit-scrollbar {
  display: none !important;
}

/* ============================================
   PROCESS
   ============================================ */
.process-section {
  background-color: var(--surface-tan) !important;
  padding-block: var(--section-pad-y) !important;
}
.process-section .process-heading {
  font-family: var(--font-heading) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  color: var(--text-primary) !important;
  font-size: var(--heading-lg) !important; /* Aplikována proměnná */
  line-height: 1.3 !important;
  text-align: left !important;
  max-width: var(--container-max) !important;
  width: 100% !important;
  margin: 0 auto 72px !important;
  padding-inline: var(--container-pad) !important;
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important;
}

.process-section .process-row {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  gap: var(--gap-lg) !important;
  max-width: var(--container-max) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: var(--container-pad) !important;
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important;
}
.process-section .process-step {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 0px !important;
          flex: 1 1 0 !important;
  min-width: 0 !important;
}
.process-section .process-step-title {
  font-family: var(--font-heading) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: var(--text-primary) !important;
  font-size: var(--heading-sm) !important; /* Aplikována proměnná */
  margin: 0 auto 20px !important;
}
.process-section .process-step-text {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  color: var(--text-secondary) !important;
  line-height: 1.7 !important;
  font-size: 16px !important;
  text-align: center !important;
  max-width: 320px !important;
  margin: 0 auto !important;
}
@media (max-width: 960px) {
  .process-section .process-row {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .process-section .process-step {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 100% !important;
            flex: 1 1 100% !important;
  }
}
@media (max-width: 680px) {
  .process-section .process-heading {
    margin-bottom: 60px !important;
  }
  .process-section .process-row {
    gap: 40px !important;
  }
  .process-section .process-step-title {
    text-align: center !important;
  }
}

/* ============================================
   PACKAGES
   ============================================ */
.packages-section {
  background-color: #fff !important;
  padding-block: var(--section-pad-y) !important;
}
.packages-section .packages-heading-block {
  max-width: var(--container-max) !important;
  margin-inline: auto !important;
  padding-inline: var(--container-pad) !important;
  margin-bottom: 96px !important;
}
.packages-section .packages-heading {
  font-family: var(--font-heading) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  color: var(--text-primary);
  font-size: var(--heading-lg) !important; /* Aplikována proměnná */
  line-height: 1.2 !important;
  text-align: left !important;
  margin: 0 0 8px !important;
}

.packages-section .packages-row {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
  gap: var(--gap-lg) !important;
  max-width: var(--container-max) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: var(--container-pad) !important;
	padding-bottom: 60px;
}
.packages-section .package-card {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
  gap: 20px !important;
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 0px !important;
          flex: 1 1 0 !important;
  min-width: 0 !important;
}
.packages-section .package-photo {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
  width: 26% !important;
  max-width: 190px !important;
  aspect-ratio: auto !important; 
  -ms-flex-item-align: stretch !important; 
      -ms-grid-row-align: stretch !important; 
      align-self: stretch !important; 
  overflow: hidden !important;
  -o-object-fit: cover !important;
     object-fit: cover !important; 
  background-color: var(--surface-tan) !important;
}

.packages-section .package-info {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 0px !important;
          flex: 1 1 0 !important;
  min-width: 0 !important;
	overflow: hidden !important;
	max-height: 452px;
}
.packages-section .package-name {
  font-family: var(--font-heading) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: var(--primary-color) !important;
  font-size: var(--heading-md) !important; /* Aplikována proměnná */
  line-height: 1.15 !important;
  margin: 0 0 16px !important;
	min-height: 60px;
}
.packages-section .package-price {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 17px !important;
  letter-spacing: 0.3px !important;
  color: var(--text-primary) !important;
  margin: 0 0 6px !important;
}
.packages-section .package-meta {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: var(--text-secondary) !important;
  margin: 0 0 20px !important;
}
.packages-section .package-location {
  margin: 0 0 20px !important;
}
.packages-section .package-location-label {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: var(--text-primary) !important;
  margin: 0 0 2px !important;
}
.packages-section .package-location-text {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--text-secondary) !important;
  margin: 0 !important;
}
.packages-section .package-addons {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--text-secondary) !important;
  margin: 0 0 20px !important;
}
.packages-section .package-highlight {
  font-family: var(--font-body) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.2px !important;
  color: var(--text-primary) !important;
  margin: 0 0 20px !important;
}
.packages-section .package-footer {
  margin-top: auto !important;
}
.packages-section .package-best-for-label {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: var(--text-primary) !important;
  margin: 0 0 2px !important;
}
.packages-section .package-best-for-text {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--text-secondary) !important;
  margin: 0 0 16px !important;
}
.packages-section .package-cta {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  color: var(--text-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
.packages-section .packages-footer {
  text-align: center !important;
  margin-top: 72px !important;
}
.packages-section .packages-view-all {
  position: relative !important;
  display: inline-block !important;
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  color: var(--primary-color) !important;
  text-decoration: none !important;
  padding: 8px 20px !important;
  border-top: 1px solid var(--primary-color) !important;
  border-bottom: 1px solid var(--primary-color) !important;
  margin: 0 auto;
}
@media (max-width: 960px) {
  .packages-section .packages-row { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
  .packages-section .package-card { -webkit-box-flex: 1 !important; -ms-flex: 1 1 100% !important; flex: 1 1 100% !important; }
}
@media (max-width: 680px) {
  .packages-section .package-card { 
    display: -webkit-box !important; 
    display: -ms-flexbox !important; 
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; 
    -ms-flex-wrap: wrap !important; 
        flex-wrap: wrap !important;
    gap: 0 !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent; 
    margin-bottom: 40px !important;
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }

  .packages-section .package-photo {
    width: 120px !important; 
    max-width: 120px !important;
    height: 460px !important; 
    -webkit-box-flex: 0 !important; 
        -ms-flex: 0 0 auto !important; 
            flex: 0 0 auto !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
    border-radius: 0 !important; 
    -webkit-transition: width 0.4s ease-out, max-width 0.4s ease-out !important; 
    transition: width 0.4s ease-out, max-width 0.4s ease-out !important;
  }

  .packages-section .package-info {
    width: calc(100% - 120px) !important;
	max-width: 210px;
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 auto !important;
            flex: 0 0 auto !important;
    padding-left: 20px !important;
    padding-top: 0 !important;
    -webkit-transition: width 0.4s ease-out, padding 0.4s ease-out !important;
    transition: width 0.4s ease-out, padding 0.4s ease-out !important;
  }

  .packages-section .package-card.is-expanded .package-photo {
    width: 100% !important;
    max-width: 100% !important;
  }

  .packages-section .package-card.is-expanded .package-info {
    width: 100% !important;
    padding-left: 0 !important;
    padding-top: 24px !important;
	min-height: 496px !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  .packages-section .package-card {
    -webkit-transition: flex-grow 0.7s cubic-bezier(.4, 0, .2, 1), -webkit-box-flex 0.7s cubic-bezier(.4, 0, .2, 1) !important;
    transition: flex-grow 0.7s cubic-bezier(.4, 0, .2, 1), -webkit-box-flex 0.7s cubic-bezier(.4, 0, .2, 1) !important;
    transition: flex-grow 0.7s cubic-bezier(.4, 0, .2, 1) !important;
    transition: flex-grow 0.7s cubic-bezier(.4, 0, .2, 1), -webkit-box-flex 0.7s cubic-bezier(.4, 0, .2, 1), -ms-flex-positive 0.7s cubic-bezier(.4, 0, .2, 1) !important;
  }
  .packages-section .package-photo {
    -webkit-transition: width 0.7s cubic-bezier(.4, 0, .2, 1), max-width 0.7s cubic-bezier(.4, 0, .2, 1) !important;
    transition: width 0.7s cubic-bezier(.4, 0, .2, 1), max-width 0.7s cubic-bezier(.4, 0, .2, 1) !important;
  }
.packages-section .package-info {
    -webkit-transition: opacity 0.3s ease-out !important;
    transition: opacity 0.3s ease-out !important;
}
}

.packages-section .package-footer {
  margin-top: 32px !important; 
}

/* ============================================
   TESTIMONIALS 
   ============================================ */
.testimonials-section {
  position: relative;
  overflow: hidden;
  padding-block: var(--section-pad-y) !important;
}
.testimonials-vertical-label {
  position: absolute;
  left: var(--container-pad);
  bottom: 96px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  font-family: var(--font-body);
  font-weight: 300;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--text-label);
  white-space: nowrap;
}
.testimonials-heading-block {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  margin-bottom: 64px;
}
.testimonials-heading {
  font-family: var(--font-heading);
  font-style: normal;
  font-weight: 300;
  font-size: var(--heading-lg); /* Aplikována proměnná */
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-primary);
  margin: 0 0 6px;
}

.testimonial-wrap {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}
.testimonial-widget {
  position: relative;
  max-width: 700px;
  margin-left: 38%;
  padding-top: 20px;
  -webkit-transition: opacity .5s ease;
  transition: opacity .5s ease;
}
.testimonial-widget.is-fading {
  opacity: 0;
}
.testimonial-quote-mark {
  position: absolute;
  top: -70px;
  right: -40px;
  font-family: var(--font-heading);
  font-size: 140px;
  line-height: 1;
  color: var(--surface-tan);
  z-index: 0;
  pointer-events: none;
}
.testimonial-text {
  position: relative;
  z-index: 1;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 19px;
  line-height: 1.7;
  color: var(--text-primary);
  margin: 0 0 24px;
}
.testimonial-author {
  position: relative;
  z-index: 1;
  font-family: var(--font-body);
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.3px;
  text-align: right;
  color: var(--text-primary);
  margin: 0;
}
@media (max-width: 960px) {
  .testimonials-vertical-label { display: none; }
  .testimonial-widget { margin-left: 10%; }
}
@media (max-width: 680px) {
  .testimonial-widget { margin-left: 0; }
  .testimonial-quote-mark { font-size: 90px; top: -40px; right: -10px; }
  .testimonial-text { font-size: 16px; }
}