/* Všetky responzívne štýly webu. Tento súbor sa načítava ako posledný. */
@media (max-width: 1500px) {
  .footer-content {
    padding-right: 240px;
  }
  .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 36px;
  }
  .footer-mascot {
    width: 210px; right: 18px;
  }
}
@media (max-width: 1400px) {
  .accommodation-layout {
    grid-template-columns: 272px minmax(0, 1fr); gap: 24px;
  }
  .accommodation-row {
    grid-template-columns: minmax(180px, 27%) minmax(0, 1fr) 174px; gap: 20px; padding: 18px;
  }
  .accommodation-row-price {
    padding: 22px 12px;
  }
  .hero-content {
    padding-right: 70px; padding-left: 70px;
  }
  .hero-title {
    font-size: 82px;
  }
  .page-grid {
    gap: 48px;
  }
  .page-copy h2, .page-section-heading h2, .page-location h2 {
    font-size: 42px;
  }
  .site-header .primary-nav {
    gap: 16px; font-size: 14px;
  }
  .visit-info-title, .visit-info-value {
    font-size: 16px;
  }
  .visit-info-icon {
    width: 44px; height: 44px;
  }
}
@media (max-width: 1320px) {
  .visitor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pricing-content {
    padding-right: 22px; padding-left: 22px;
  }
  .pricing-intro {
    gap: 32px;
  }
  .pricing-info {
    gap: 8px;
  }
  .pricing-info-item {
    gap: 8px; padding: 12px 10px;
  }
  .pricing-info-item > .icon {
    width: 22px; height: 22px;
  }
  .pricing-info-item strong {
    font-size: 11px;
  }
  .pricing-info-item > span > span {
    font-size: 11px;
  }
  .pricing-panel-heading {
    gap: 12px; padding: 16px 20px;
  }
  .pricing-panel-heading h2 {
    font-size: 21px;
  }
  .pricing-panel-heading h2 > span {
    display: block; margin-top: 3px; padding-left: 0;
  }
  .pricing-discount {
    max-width: 180px; font-size: 11px;
  }
  .pricing-free-content {
    padding: 22px 20px;
  }
  .pricing-free-content > img {
    flex-basis: 56px; width: 56px;
  }
  .pricing-rate {
    padding-right: 8px; padding-left: 8px;
  }
  .pricing-rate h3 {
    font-size: 13px;
  }
  .pricing-planning {
    gap: 24px;
  }
  .pricing-calculator-content {
    padding: 24px 22px;
  }
  .pricing-counters {
    gap: 10px;
  }
  .pricing-stepper > button {
    flex-basis: 30px;
  }
  .pricing-trip {
    grid-template-columns: 21px minmax(0, 1fr) 138px; gap: 12px;
  }
  .pricing-trip-content > strong {
    font-size: 24px;
  }
}
@media (max-width: 1299px) {
  .ubytovanie-slider {
    --ubytovanie-slider-mode: carousel;
  }
}
@media (max-width: 1250px) {
  .accommodation-row {
    grid-template-columns: minmax(160px, 32%) minmax(0, 1fr); gap: 20px;
  }
  .accommodation-photo {
    grid-row: 1 / 3;
  }
  .accommodation-row-price {
    flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 8px 12px; padding: 15px; text-align: left;
  }
  .accommodation-row-price .accommodation-price-caption {
    display: none;
  }
  .accommodation-row-price .accommodation-price {
    font-size: 29px;
  }
  .accommodation-row-price .accommodation-price-note {
    margin: 0;
  }
  .accommodation-row-price .button {
    width: auto; margin: 0 0 0 auto;
  }
  .accommodation-row-price .accommodation-price-footnote {
    max-width: none; width: 100%; margin: 0;
  }
  .accommodation-detail-layout {
    grid-template-columns: minmax(0, 1fr) 310px; gap: 32px;
  }
  .accommodation-booking {
    padding: 25px;
  }
  .accommodation-detail-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px;
  }
  .accommodation-equipment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .site-header {
    flex-wrap: wrap; gap: 16px; padding-top: 18px; padding-bottom: 18px;
  }
  .site-header .site-logo {
    margin-right: auto;
  }
  .site-header .header-actions {
    display: none;
  }
  .menu-toggle {
    display: inline-flex; gap: 10px; min-height: 46px; padding: 12px 16px; background: var(--color-section-tinted);
  }
  .site-header .primary-nav {
    position: static; display: grid; flex: 1 0 100%; order: 4; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 10px; text-align: left; background: #fffefb; border: 1px solid var(--color-divider); border-radius: 20px;
  }
  .site-js .site-header .primary-nav {
    position: absolute; z-index: 1; top: calc(100% + 10px); right: 0; left: 0; display: block; max-height: max(0px, calc(100dvh - var(--site-menu-top, 120px) - 16px)); overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; scrollbar-color: #b5c0a6 #f5f2e9; box-shadow: 0 18px 42px rgba(28, 45, 30, 0.16); visibility: hidden; opacity: 0; transform: translateY(-12px); transition: opacity 180ms ease, transform 220ms ease, visibility 0s linear 220ms; pointer-events: none; -webkit-overflow-scrolling: touch;
  }
  .site-js .site-header[data-menu-open="true"] .primary-nav {
    visibility: visible; opacity: 1; transform: translateY(0); transition-delay: 0s; pointer-events: auto;
  }
  .site-header .primary-nav > a {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 60px; padding: 17px 18px; font-size: 17px; font-weight: 800; line-height: 1.4; white-space: normal; border-bottom: 1px solid #eee8dc; border-radius: 10px;
  }
  .site-header .primary-nav > a:hover {
    background: #f5f5ed;
  }
  .site-header .primary-nav > a[aria-current="page"] {
    color: var(--color-green-dark); background: #edf0e3;
  }
  .site-header .primary-nav > a > .icon {
    display: block; width: 18px; height: 18px; opacity: 0.55;
  }
  .site-header .primary-nav .primary-nav-booking {
    display: flex; justify-content: center; gap: 10px; min-height: 56px; margin-top: 10px; padding: 16px; font-size: 15px; background: var(--color-yellow); border: 0; border-radius: 14px;
  }
  .site-header .primary-nav .primary-nav-booking:hover {
    background: var(--color-yellow-hover); transform: none;
  }
  .site-header .primary-nav .primary-nav-booking > .icon {
    width: 21px; height: 21px; opacity: 1;
  }
  .experiences-slider {
    --experience-emphasis: 1; --experience-card-height: 420px; --experience-photo-height: 270px;
  }
}
@media (max-width: 1199px) {
  .site-header.is-fixed {
    min-height: 68px; padding-top: 10px; padding-bottom: 10px;
  }
  .site-header.is-fixed .site-logo {
    flex-basis: 154px; width: 154px;
  }
  .reviews-slider {
    --carousel-items: 2;
  }
}
@media (max-width: 1100px) {
  .footer-content {
    padding: 36px 36px 30px;
  }
  .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px;
  }
  .footer-bottom {
    padding-right: 190px;
  }
  .footer-mascot {
    right: 18px; width: 170px;
  }
  .hero {
    min-height: 740px;
  }
  .hero-content {
    padding: 100px 40px 125px;
  }
  .hero-title {
    font-size: 76px;
  }
  .experiences-slider {
    --carousel-items: 2; --carousel-peek: 0.2;
  }
  .visit-info {
    padding-right: 0; padding-left: 0;
  }
  .visit-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px;
  }
  .visit-info-item {
    grid-column: auto; padding: 18px 14px;
  }
  .visit-info-item:nth-child(3) {
    grid-column: 1 / -1; border-top: 1px solid var(--color-divider); border-bottom: 1px solid var(--color-divider);
  }
  .visit-info-item:nth-child(3)::before, .visit-info-item:nth-child(4)::before {
    display: none;
  }
  .visit-info-item:nth-child(5)::before {
    display: block;
  }
}
@media (max-width: 1000px) {
  .visitor-info {
    margin-top: 56px; margin-bottom: 56px;
  }
  .visitor-heading h2 {
    font-size: 36px;
  }
  .faq-section {
    grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 56px; margin-bottom: 56px;
  }
  .faq-intro {
    max-width: 680px; padding-top: 0;
  }
  .faq-title {
    font-size: 42px;
  }
  .faq-contact {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 24px; padding-top: 18px;
  }
  .faq-contact p {
    margin: 0;
  }
  :root {
    --page-inset: 24px;
  }
  .page-grid-video, .page-grid-media-left, .page-grid-media-right {
    grid-template-columns: minmax(0, 1fr); gap: 32px;
  }
  .page-trip-heading {
    grid-template-columns: minmax(0, 1fr); gap: 18px;
  }
  .page-trip-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-trip-map-heading {
    align-items: flex-start;
  }
  .page-trip-map-label {
    display: none;
  }
  .page-video-section {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 28px; padding: 30px;
  }
  .page-video-section .page-copy h2 {
    font-size: 36px;
  }
  .page-template .page-grid, .page-template .page-banner, .page-template .page-location {
    grid-template-columns: minmax(0, 1fr); gap: 32px;
  }
  .page-template .page-intro-inner {
    padding-right: 260px;
  }
  .page-template .page-intro-rabbit {
    width: 190px;
  }
  .pricing-content {
    padding-top: 52px;
  }
  .pricing-title {
    font-size: 46px;
  }
  .pricing-info {
    grid-template-columns: minmax(0, 1fr);
  }
  .pricing-info-item {
    padding: 10px 14px;
  }
  .pricing-info-item > span {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  }
  .pricing-info-item strong {
    margin: 0; font-size: 12px;
  }
  .pricing-admission {
    grid-template-columns: minmax(0, 1fr); gap: 20px;
  }
  .pricing-free-content {
    min-height: 0; padding: 22px 26px;
  }
  .pricing-free-value {
    font-size: 38px;
  }
  .pricing-free-content p:not(.pricing-free-value) {
    margin-bottom: 10px;
  }
  .pricing-free-content > img {
    flex-basis: 74px; width: 74px;
  }
  .pricing-parking-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pricing-planning {
    grid-template-columns: minmax(0, 1fr);
  }
  .pricing-counter > label {
    min-height: 20px;
  }
  .pricing-trip {
    grid-template-columns: 22px minmax(0, 1fr) minmax(150px, 0.48fr); gap: 16px;
  }
  .pricing-trip-content > strong {
    font-size: 29px;
  }
  .pricing-contact {
    align-items: start; padding: 28px;
  }
  .pricing-contact-actions {
    flex-direction: column; align-items: flex-start;
  }
  .page-heading {
    padding: 42px 0 24px;
  }
  .page-heading-with-image {
    min-height: 300px; padding: 56px 0;
  }
  .page-title {
    font-size: 60px;
  }
  .page-section {
    margin-top: 56px; margin-bottom: 56px;
  }
  .page-grid, .page-banner, .page-location {
    grid-template-columns: minmax(0, 1fr); gap: 32px;
  }
  .page-copy {
    overflow-wrap: anywhere;
  }
  .page-copy h2, .page-section-heading h2, .page-location h2 {
    font-size: 38px;
  }
  .page-intro {
    min-height: 360px;
  }
  .page-intro-inner {
    padding: 0 240px 0 var(--page-inset);
  }
  .page-intro-art {
    width: 230px; height: 360px;
  }
  .page-intro-glow {
    right: -50px; width: 300px; height: 360px;
  }
  .page-intro-rabbit {
    width: 190px;
  }
  .page-banner {
    padding: 32px;
  }
  .page-banner .page-copy {
    padding: 0;
  }
  .page-banner-photo {
    height: 340px;
  }
  .page-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
  }
  .page-location {
    margin-top: 56px; margin-bottom: 56px; padding: 32px;
  }
  .page-location-copy {
    padding: 0;
  }
  .page-location h2 {
    margin-bottom: 24px;
  }
  .page-location-map {
    height: 360px;
  }
  .page-location-with-photo .page-location-map {
    height: auto;
  }
  .page-video-section, .page-video-section-media-right {
    grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 32px;
  }
  .page-video-section .page-copy {
    order: 0;
  }
  .page-video-section .page-media-video {
    order: 1; justify-self: center; width: 100%; max-width: 680px;
  }
  .page-video-section .page-copy h2 {
    font-size: 38px;
  }
  .page-subtitle p {
    font-size: 26px;
  }
}
@media (max-width: 900px) {
  .accommodation-layout {
    grid-template-columns: minmax(0, 1fr); gap: 22px; margin-bottom: 35px;
  }
  .accommodation-filter-mobile {
    display: inline-flex; justify-content: space-between; width: 100%; min-height: 48px; padding: 12px 18px; font-size: 14px; background: var(--color-section-tinted); border: 1px solid var(--color-divider);
  }
  .site-js .accommodation-filters {
    display: none; margin-top: 15px;
  }
  .site-js .accommodation-sidebar[data-filter-open="true"] .accommodation-filters {
    display: block;
  }
  .accommodation-filter-body {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;
  }
  .accommodation-filter-group + .accommodation-filter-group {
    margin-top: 0;
  }
  .accommodation-filter-actions {
    grid-column: 1 / -1; margin-top: 0;
  }
  .accommodation-help {
    display: none;
  }
  .accommodation-row {
    grid-template-columns: minmax(180px, 32%) minmax(0, 1fr);
  }
  .accommodation-gallery {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 10px; height: 340px;
  }
  .accommodation-gallery-previews {
    gap: 10px;
  }
  .accommodation-detail-layout {
    grid-template-columns: minmax(0, 1fr); gap: 32px;
  }
  .accommodation-booking {
    position: relative; top: auto; order: -1;
  }
  .accommodation-detail-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .accommodation-booking > .button {
    max-width: 360px;
  }
  .accommodation-booking > .accommodation-price-footnote {
    text-align: left;
  }
  .accommodation-related-grid {
    gap: 18px;
  }
  .accommodation-related-card h3 {
    padding-right: 0; font-size: 20px;
  }
  .accommodation-related-card p {
    padding-right: 0;
  }
  .accommodation-related-card > .arrow-circle {
    display: none;
  }
}
@media (max-width: 767px) {
  .reviews {
    padding-top: 48px;
  }
  .reviews-title {
    font-size: 32px;
  }
  .reviews-intro {
    font-size: 14px;
  }
  .review-card {
    min-height: 285px; padding: 24px;
  }
  .review-text {
    font-size: 16px;
  }
  .reviews-slider {
    --carousel-items: 1; --carousel-gap: 16px;
  }
  .reviews-slider:not(.owl-loaded) {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  .pricing-content {
    padding: 44px 12px 0;
  }
  .pricing-intro {
    grid-template-columns: minmax(0, 1fr); gap: 24px;
  }
  .pricing-title {
    font-size: 48px;
  }
  .pricing-intro-description {
    margin-bottom: 22px; font-size: 17px;
  }
  .pricing-intro-photo {
    aspect-ratio: 16 / 10; max-height: 390px;
  }
  .pricing-panel-heading {
    align-items: start;
  }
  .pricing-ticket-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 0; padding: 16px 8px;
  }
  .pricing-ticket-grid .pricing-rate {
    border-left: 0;
  }
  .pricing-ticket-grid .pricing-rate:nth-child(3n + 2), .pricing-ticket-grid .pricing-rate:nth-child(3n + 3) {
    border-left: 1px solid var(--color-divider);
  }
  .pricing-rate-value {
    font-size: 30px;
  }
  .pricing-rate h3 {
    font-size: 13px;
  }
  .pricing-parking {
    padding: 20px;
  }
  .pricing-parking-heading {
    align-items: start;
  }
  .pricing-parking-heading .pricing-discount {
    max-width: 154px;
  }
  .pricing-contact {
    flex-direction: column; gap: 24px;
  }
  .pricing-contact-actions {
    flex-direction: row; align-items: center; justify-content: flex-start;
  }
  .hero-content {
    padding: 90px 24px 115px;
  }
  .hero-title {
    font-size: 68px;
  }
  .ubytovanie {
    padding-top: 52px; padding-bottom: 52px;
  }
  .ubytovanie-header {
    align-items: center; gap: 16px;
  }
  .ubytovanie-intro {
    font-size: 15px;
  }
  .ubytovanie-slider:not(.owl-loaded) {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
  }
  .footer-bottom {
    flex-wrap: wrap;
  }
  .page-trip-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-trip-guide {
    padding: 28px;
  }
  .page-trip-card {
    gap: 12px; padding: 18px;
  }
  .page-trip-card h3 {
    font-size: 23px;
  }
  .visit-info {
    margin-top: -50px;
  }
  .visit-info-item {
    gap: 10px; padding: 16px 10px;
  }
  .visit-info-title, .visit-info-value {
    font-size: 16px;
  }
  .visit-info-icon {
    width: 42px; height: 42px;
  }
  .visit-info-icon img {
    width: 28px; height: 28px;
  }
}
@media (max-width: 600px) {
  .visitor-info {
    margin-top: 36px; margin-bottom: 36px;
  }
  .visitor-heading {
    margin-bottom: 22px;
  }
  .visitor-heading h2 {
    font-size: 30px;
  }
  .visitor-grid {
    grid-template-columns: minmax(0, 1fr); gap: 14px;
  }
  .visitor-card {
    padding: 22px; border-radius: 20px;
  }
  .visitor-card-heading {
    margin-bottom: 16px;
  }
  .faq-section {
    gap: 24px; margin-top: 36px; margin-bottom: 36px;
  }
  .faq-eyebrow {
    margin-bottom: 14px;
  }
  .faq-title {
    margin-bottom: 16px; font-size: 36px;
  }
  .faq-description {
    font-size: 16px;
  }
  .faq-question {
    gap: 16px; min-height: 80px; padding: 18px; font-size: 16px;
  }
  .faq-toggle {
    flex-basis: 32px; width: 32px; height: 32px;
  }
  .faq-answer {
    padding: 0 18px 20px;
  }
  .faq-answer p {
    font-size: 15px;
  }
  :root {
    --page-inset: 8px;
  }
  .page-description {
    font-size: 16px;
  }
  .site-footer {
    margin-top: 44px; border-radius: 26px;
  }
  .footer-content {
    padding: 30px 24px 20px;
  }
  .footer-top {
    grid-template-columns: minmax(0, 1fr); gap: 28px;
  }
  .footer-logo {
    width: 230px;
  }
  .footer-bottom {
    flex-direction: column; align-items: flex-start; padding-right: 0;
  }
  .footer-partner {
    width: 48px; height: 48px;
  }
  .footer-mascot {
    position: relative; right: auto; bottom: 0; display: block; width: 160px; margin: 0 auto;
  }
  .page-text-intro .page-copy h2, .page-trip-heading h2, .page-video-section .page-copy h2 {
    font-size: 32px;
  }
  .page-trip-guide {
    padding: 24px; border-radius: 22px;
  }
  .page-trip-list {
    grid-template-columns: minmax(0, 1fr); gap: 12px;
  }
  .page-trip-card {
    gap: 14px; padding: 18px;
  }
  .page-trip-card h3 {
    font-size: 23px;
  }
  .page-trip-map-heading h3 {
    font-size: 27px;
  }
  .page-trip-maps .page-gallery-grid {
    grid-template-columns: minmax(0, 1fr); gap: 16px;
  }
  .page-video-section {
    grid-template-columns: minmax(0, 1fr); padding: 24px; border-radius: 22px;
  }
  .page-video-section .page-video-frame {
    border-radius: 16px;
  }
  .page-video-card {
    --video-max-height: min(460px, 65vh); padding: 12px; border-radius: 22px;
  }
  .page-video-heading {
    gap: 8px; margin-bottom: 12px;
  }
  .page-video-title {
    font-size: 17px;
  }
  .page-video-frame {
    border-radius: 14px;
  }
  .page-video-play {
    width: 60px; height: 60px;
  }
  .page-template .page-copy h2, .page-template .page-section-heading h2 {
    font-size: 32px;
  }
  .page-template .page-panel, .page-template .page-banner, .page-template .page-location, .page-template .page-park-map {
    padding: 24px;
  }
  .page-template .page-intro-inner {
    padding: 0 var(--page-inset);
  }
  .page-template .page-intro-art {
    display: none;
  }
  .page-template .page-card-grid, .page-template .page-document-pair .page-gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .page-template .page-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-template .page-document .page-gallery-grid, .page-template .page-location-with-photo .page-gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .accommodation-eyebrow {
    font-size: 14px;
  }
  .accommodation-filter-body {
    grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 20px;
  }
  .accommodation-results-heading {
    gap: 12px; margin-bottom: 14px; padding: 0;
  }
  .accommodation-sort {
    justify-content: space-between; width: 100%;
  }
  .accommodation-sort select {
    flex: 1; margin-left: 12px;
  }
  .accommodation-row {
    grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 15px; border-radius: 20px;
  }
  .accommodation-photo {
    grid-row: auto; height: 230px; min-height: 0;
  }
  .accommodation-photo img {
    min-height: 0;
  }
  .accommodation-row-body {
    padding: 0 3px;
  }
  .accommodation-row-title h2 {
    font-size: 27px;
  }
  .accommodation-row-description {
    font-size: 14px;
  }
  .accommodation-contact-strip {
    gap: 18px; margin-top: 16px; padding: 18px 0;
  }
  .accommodation-detail-heading {
    align-items: flex-start; gap: 14px;
  }
  .accommodation-detail-meta {
    gap: 12px 18px; margin-top: 18px; font-size: 14px;
  }
  .accommodation-gallery {
    grid-template-columns: minmax(0, 1fr); height: auto; gap: 9px; border-radius: 18px;
  }
  .accommodation-gallery-main {
    height: 270px;
  }
  .accommodation-gallery-previews {
    grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 75px; gap: 8px;
  }
  .accommodation-gallery-previews a:only-child {
    grid-column: 1 / 3; grid-row: auto;
  }
  .accommodation-gallery a {
    border-radius: 10px;
  }
  .accommodation-gallery-main-caption {
    top: 14px; bottom: auto; left: 14px; font-size: 14px;
  }
  .accommodation-gallery-show {
    right: 12px; bottom: 100px; min-height: 36px; padding: 10px 12px; font-size: 14px;
  }
  .accommodation-gallery-show .icon {
    width: 16px; height: 16px;
  }
  .accommodation-detail-layout {
    gap: 30px; margin-top: 25px;
  }
  .accommodation-detail-about h2, .accommodation-detail-section h2, .accommodation-related h2 {
    font-size: 25px;
  }
  .accommodation-detail-about p, .accommodation-location p {
    font-size: 14px; line-height: 1.75;
  }
  .accommodation-detail-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 24px; padding: 21px;
  }
  .accommodation-detail-facts > div {
    gap: 9px;
  }
  .accommodation-detail-facts .icon {
    width: 21px; height: 21px;
  }
  .accommodation-detail-facts strong {
    font-size: 14px;
  }
  .accommodation-equipment-grid {
    gap: 16px 17px;
  }
  .accommodation-equipment-grid li {
    gap: 9px; font-size: 14px;
  }
  .accommodation-equipment-grid .icon {
    width: 20px; height: 20px;
  }
  .accommodation-detail-two-columns {
    grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 30px;
  }
  .accommodation-detail-two-columns .accommodation-detail-section {
    margin-top: 0;
  }
  .accommodation-detail-two-columns .accommodation-detail-section, .accommodation-notes {
    padding: 23px;
  }
  .accommodation-price-table {
    font-size: 14px;
  }
  .accommodation-price-table > div {
    gap: 14px; padding: 13px 12px;
  }
  .accommodation-booking {
    padding: 25px;
  }
  .accommodation-related {
    margin-top: 45px; margin-bottom: 40px;
  }
  .accommodation-related-grid {
    grid-template-columns: minmax(0, 1fr); gap: 28px;
  }
  .accommodation-related-photo {
    height: 230px;
  }
  .accommodation-related-card h3 {
    font-size: 25px;
  }
  :root {
    --main-gutter: 16px;
  }
  .button {
    max-width: 100%; padding: 12px 18px; font-size: 14px;
  }
  .hero {
    min-height: 0;
  }
  .hero-background {
    background-position: 60% center;
  }
  .hero-shade {
    background: linear-gradient(90deg, rgba(19, 29, 17, 0.65), rgba(19, 29, 17, 0.1));
  }
  .hero-content {
    padding: 82px 12px 110px;
  }
  .hero-copy {
    width: 100%; max-width: 520px;
  }
  .hero-title {
    margin-bottom: 20px; font-size: clamp(44px, 11vw, 64px); line-height: 1.05;
  }
  .hero-description {
    margin-bottom: 26px; font-size: 18px;
  }
  .hero-button {
    min-height: 52px; padding: 14px 20px; font-size: 15px;
  }
  .experiences {
    padding-bottom: 44px;
  }
  .experiences-slider {
    --carousel-items: 1; --carousel-gap: 16px; --carousel-peek: 0.1;
  }
  .experience-card-title {
    font-size: 30px;
  }
  .experiences-slider .owl-nav button.owl-prev {
    left: 8px;
  }
  .experiences-slider .owl-nav button.owl-next {
    right: 8px;
  }
  .ubytovanie {
    padding-top: 42px; padding-bottom: 42px;
  }
  .ubytovanie-header {
    align-items: flex-start;
  }
  .ubytovanie-title {
    font-size: 32px;
  }
  .ubytovanie-slider {
    --ubytovanie-photo-max-height: 280px;
  }
  .ubytovanie-slider:not(.owl-loaded) {
    grid-template-columns: minmax(0, 1fr);
  }
  .ubytovanie-card-title {
    font-size: 26px;
  }
  .ubytovanie-card-copy {
    right: 16px; bottom: 18px; left: 16px;
  }
  .ubytovanie-navigation {
    gap: 6px;
  }
  .ubytovanie-navigation .arrow-circle {
    width: 38px; height: 38px;
  }
  .section-actions {
    flex-wrap: wrap; margin-top: 24px;
  }
  .page-heading {
    padding: 36px 0 20px;
  }
  .page-heading-with-image {
    min-height: 240px; margin-top: 20px; padding: 42px 0;
  }
  .page-title {
    font-size: clamp(36px, 10vw, 46px); line-height: 1.1; overflow-wrap: anywhere;
  }
  .page-section {
    margin-top: 36px; margin-bottom: 36px;
  }
  .page-grid {
    gap: 24px;
  }
  .page-copy h2, .page-section-heading h2, .page-location h2 {
    margin-bottom: 20px; font-size: 32px;
  }
  .page-copy p, .page-copy ul, .page-copy ol {
    font-size: 16px; line-height: 1.75;
  }
  .page-eyebrow, .page-copy .page-eyebrow {
    font-size: 12px;
  }
  .page-intro {
    min-height: 0; margin-top: 16px; padding: 0;
  }
  .page-intro-inner {
    padding: 0 var(--page-inset);
  }
  .page-intro-art {
    display: none;
  }
  .page-photo-grid {
    gap: 10px;
  }
  .page-photo-grid-one {
    grid-template-rows: auto;
  }
  .page-photo-grid-one .page-photo {
    aspect-ratio: 16 / 11;
  }
  .page-photo-grid-two-columns {
    grid-template-rows: 210px;
  }
  .page-photo-grid-two-rows {
    grid-template-rows: repeat(2, 190px);
  }
  .page-photo-grid-three {
    grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto;
  }
  .page-photo-grid-three > .page-photo:first-child {
    grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 10;
  }
  .page-photo-grid-three > .page-photo:not(:first-child) {
    aspect-ratio: 1;
  }
  .page-photo-grid-four {
    grid-template-rows: repeat(2, 160px);
  }
  .page-photo, .page-map-photo {
    border-radius: 16px;
  }
  .page-gallery-open {
    right: 12px; bottom: 12px; min-height: 40px; padding: 10px 13px; font-size: 13px;
  }
  .page-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
  }
  .page-document-pair .page-gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .page-document .page-gallery-grid, .page-location-with-photo .page-gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .page-panel, .page-banner, .page-park-map {
    padding: 24px; border-radius: 22px;
  }
  .page-banner-photo {
    height: 250px; border-radius: 16px;
  }
  .page-card-grid {
    grid-template-columns: minmax(0, 1fr); gap: 16px;
  }
  .page-card {
    padding: 24px;
  }
  .page-card h3 {
    font-size: 26px;
  }
  .page-location {
    gap: 24px; margin-top: 36px; margin-bottom: 36px; padding: 24px; border-radius: 22px;
  }
  .page-location-plain {
    padding: 16px 0;
  }
  .page-location-map {
    height: 300px; border-radius: 16px;
  }
  .page-location-with-photo .page-location-map {
    height: auto;
  }
  .page-map-zoom {
    right: 10px; bottom: 10px; gap: 6px; padding: 8px 11px; font-size: 12px;
  }
  .page-video-section, .page-video-section-media-right {
    gap: 24px; padding: 24px;
  }
  .page-video-section .page-video-card {
    width: min(100%, calc(min(560px, 75svh) * var(--video-width) / var(--video-height)));
  }
  .page-video-section .page-video-frame {
    aspect-ratio: var(--video-ratio);
  }
  .page-video-section .page-copy h2 {
    font-size: 32px;
  }
  .page-trip-heading {
    gap: 16px; margin-bottom: 24px;
  }
  .page-trip-heading h2 {
    margin-bottom: 0;
  }
  .page-trip-heading > p {
    font-size: 16px;
  }
  .page-trip-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .page-trip-guide {
    padding: 24px;
  }
  .page-trip-map-heading {
    margin-top: 28px; padding-top: 24px;
  }
  .page-subtitle p {
    font-size: 22px;
  }
  .page-template-nav {
    flex-direction: column; align-items: stretch;
  }
  .page-template-code {
    padding: 16px; font-size: 12px;
  }
  .accommodation-sort select {
    min-width: 0;
  }
  .accommodation-detail-heading {
    flex-wrap: wrap;
  }
  .accommodation-price-table > div {
    grid-template-columns: minmax(0, 1fr); gap: 5px;
  }
  .accommodation-price-table dd {
    text-align: left;
  }
  .accommodation-contact-strip {
    overflow-wrap: anywhere;
  }
  .site-header {
    gap: 10px; min-height: 76px; padding: 15px 16px; border-radius: 22px; transform: translateY(16px);
  }
  .site-header-subpage {
    margin-top: 16px; transform: none;
  }
  .site-header .site-logo {
    flex-basis: 150px; width: 150px;
  }
  .site-header .menu-toggle {
    width: 46px; min-height: 46px; padding: 13px; border-radius: 14px;
  }
  .menu-toggle-label {
    display: none;
  }
  .site-header.is-fixed {
    min-height: 60px; padding: 8px 16px;
  }
  .site-header.is-fixed .site-logo {
    flex-basis: 132px; width: 132px;
  }
  .site-header.is-fixed .menu-toggle {
    width: 44px; min-height: 44px; padding: 12px;
  }
  .site-header .primary-nav > a {
    min-height: 58px; padding: 16px; font-size: 17px;
  }
  .site-header .primary-nav .primary-nav-booking {
    min-height: 56px; font-size: 15px;
  }
  .visit-info {
    margin-bottom: 36px;
  }
  .visit-info-grid {
    padding: 10px; border-radius: 20px;
  }
  .visit-info-title, .visit-info-value {
    font-size: 15px;
  }
  .visit-info-icon {
    width: 38px; height: 38px;
  }
  .experiences-slider {
    --experience-card-height: 420px; --experience-photo-height: 250px;
  }
  .site-breadcrumbs-wrap {
    margin-top: 22px;
  }
  .site-breadcrumbs li {
    font-size: 13px; overflow-wrap: anywhere;
  }
  .site-breadcrumbs li + li::before {
    margin-right: 10px; margin-left: 8px;
  }
}
@media (max-width: 480px) {
  .pricing-content {
    padding-right: 0; padding-left: 0;
  }
  .pricing-title {
    font-size: clamp(34px, 9vw, 43px);
  }
  .pricing-photo-label {
    right: 12px; bottom: 12px; font-size: 10px;
  }
  .pricing-panel {
    border-radius: 20px;
  }
  .pricing-panel-heading {
    flex-direction: column; gap: 12px; min-height: 0; padding: 18px;
  }
  .pricing-free .pricing-panel-heading {
    padding: 14px 18px;
  }
  .pricing-panel-heading h2 {
    font-size: 23px;
  }
  .pricing-panel-heading h2 > span {
    display: inline; margin: 0; padding-left: 9px;
  }
  .pricing-discount {
    max-width: 100%;
  }
  .pricing-free-content {
    padding: 20px;
  }
  .pricing-free-value {
    font-size: 36px;
  }
  .pricing-rate-icon {
    width: 46px; height: 46px; margin-bottom: 10px;
  }
  .pricing-rate h3 {
    min-height: 44px; font-size: 12px;
  }
  .pricing-rate-value {
    font-size: 25px;
  }
  .pricing-rate-cash {
    font-size: 12px;
  }
  .pricing-parking {
    padding: 18px;
  }
  .pricing-parking-heading {
    flex-direction: column; gap: 12px;
  }
  .pricing-parking-heading .pricing-discount {
    max-width: 100%;
  }
  .pricing-parking-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
  }
  .pricing-calculator-heading {
    padding: 20px;
  }
  .pricing-calculator-heading h2 {
    font-size: 27px;
  }
  .pricing-calculator-content {
    padding: 20px 16px;
  }
  .pricing-counters {
    gap: 8px;
  }
  .pricing-counter > label {
    min-height: 38px; font-size: 11px;
  }
  .pricing-stepper > button {
    flex-basis: 26px;
  }
  .pricing-stepper > input {
    font-size: 15px;
  }
  .pricing-concessions > summary > span {
    display: inline-block;
  }
  .pricing-parking-select {
    flex-direction: column; align-items: stretch; gap: 8px;
  }
  .pricing-parking-select > select {
    flex: auto;
  }
  .pricing-summary-heading, .pricing-summary-lines, .pricing-total {
    padding-right: 14px; padding-left: 14px;
  }
  .pricing-summary-lines > div {
    gap: 10px;
  }
  .pricing-total p {
    font-size: 34px;
  }
  .pricing-total > div > span {
    font-size: 12px;
  }
  .pricing-savings {
    padding-right: 14px; padding-left: 14px;
  }
  .pricing-trips > legend {
    font-size: 31px;
  }
  .pricing-trip {
    grid-template-columns: 21px minmax(0, 1fr) 85px; gap: 10px; padding: 12px; border-radius: 18px;
  }
  .pricing-trip-content > strong {
    font-size: 21px;
  }
  .pricing-trip-content > span:not(.pricing-trip-tags) {
    font-size: 12px;
  }
  .pricing-trip > img {
    height: 110px; border-radius: 12px;
  }
  .pricing-trip-tags {
    grid-column: auto; gap: 6px;
  }
  .pricing-trip-tags > span {
    padding: 5px 7px; font-size: 10px;
  }
  .pricing-contact {
    padding: 24px 20px;
  }
  .pricing-contact h2 {
    font-size: 29px;
  }
}
@media (max-width: 380px) {
  .ubytovanie-header {
    flex-wrap: wrap;
  }
  .page-trip-guide, .page-panel, .page-banner, .page-park-map, .page-location, .page-video-section {
    padding: 20px;
  }
  .page-trip-card {
    gap: 10px; padding: 16px;
  }
  .page-trip-number {
    flex-basis: 36px; width: 36px; height: 36px;
  }
  .page-trip-card h3 {
    font-size: 21px;
  }
  .pricing-ticket-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pricing-ticket-grid .pricing-rate:nth-child(n) {
    border-left: 0;
  }
  .pricing-ticket-grid .pricing-rate:nth-child(2n) {
    border-left: 1px solid var(--color-divider);
  }
  .pricing-counters {
    grid-template-columns: minmax(0, 1fr);
  }
  .pricing-counter > label {
    min-height: 0;
  }
  .pricing-trip {
    grid-template-columns: 21px minmax(0, 1fr);
  }
  .pricing-trip > img {
    grid-column: 2; width: 100%; height: 150px;
  }
  .footer-content {
    padding-right: 20px; padding-left: 20px;
  }
  .footer-partners {
    gap: 12px;
  }
  .footer-secondary-logo {
    width: 140px;
  }
  .visit-info-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .visit-info-item, .visit-info-item:nth-child(3) {
    grid-column: auto;
  }
  .visit-info-item + .visit-info-item {
    border-top: 1px solid var(--color-divider);
  }
  .visit-info-item:nth-child(3) {
    border-bottom: 0;
  }
  .visit-info-item + .visit-info-item::before {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .visitor-details summary .icon, .visitor-link .icon {
    transition: none;
  }
  .faq-item, .faq-toggle, .faq-toggle::after {
    transition: none;
  }
  .faq-item[open] .faq-answer {
    animation: none;
  }
  .accommodation-page *, .accommodation-page *::before, .accommodation-page *::after {
    scroll-behavior: auto; transition: none;
  }
  html {
    scroll-behavior: auto;
  }
  .experience-card, .experience-card img, .ubytovanie-card, .ubytovanie-card img, .page-photo img, .button {
    transition: none;
  }
  .site-js .site-header .primary-nav, .menu-toggle-line {
    transition: none;
  }
}
