
html, body { max-width: 100%; overflow-x: hidden; }
body { min-width: 0; }
img { max-width: 100%; height: auto; }
svg { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }
main { display: block; width: 100%; }
main > section:not(:first-child) > :first-child { padding-top: 12px; padding-bottom: 12px; }
.form-status { margin-top: 14px; font-weight: 600; color: var(--color-primary, #725A78); }
.serenique-footer-direct-link { cursor: default; }
.navigation-link-dummy, .serenique-footer-nav-link-dummy { cursor: default; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.legal-meta span { padding: 8px 12px; border-radius: 999px; background: rgba(114,90,120,.10); }

/* Keep hero copy readable over every crop of the photography.  The exported
   gradients became transparent through the middle, exactly where most copy sits. */
.homepage-ui-home-hero-overlay-elm,
.hero-atmos-scrim,
.services-hero-overlay,
.abouthtml-rlunk-ui-about-hero-overlay-elm,
.contactshtml-kapcsolat-ui-contact-hero-overlay-elm,
.mdia-s-kpek-ui-media-hero-overlay-elm,
.stdi-szablyok-s-biztonsg-ui-rules-hero-overlay-elm,
.foglals-zenet-kldse-ui-confirmation-hero-overlay-elm,
.newsletter-hero-scrim {
  background: linear-gradient(
    180deg,
    rgba(20, 16, 20, .62) 0%,
    rgba(20, 16, 20, .57) 48%,
    rgba(20, 16, 20, .68) 100%
  ) !important;
}

.home-hero :is(h1, p, a, span),
.hero-atmos :is(h1, p, a, span),
.services-hero :is(h1, p, a, span),
.about-hero :is(h1, p, a, span),
.contact-hero :is(h1, p, a, span),
.media-hero :is(h1, p, a, span),
.rules-hero :is(h1, p, a, span),
.confirmation-hero :is(h1, p, a, span),
.newsletter-hero :is(h1, p, a, span) {
  text-shadow: 0 1px 3px rgba(0, 0, 0, .72);
}

.home-hero :is(.hero-subtitle, [class*="benefit"], [class*="rating"]),
.hero-atmos :is(.hero-subtitle, [class*="benefit"], [class*="rating"]),
.services-hero :is(.hero-subtitle, [class*="benefit"], [class*="rating"]),
.about-hero :is(.hero-subtitle, [class*="benefit"], [class*="rating"]),
.contact-hero :is(.hero-subtitle, [class*="benefit"], [class*="rating"]),
.media-hero :is(.hero-subtitle, [class*="benefit"], [class*="rating"]),
.rules-hero :is(.hero-subtitle, [class*="benefit"], [class*="rating"]),
.confirmation-hero :is(.hero-subtitle, [class*="benefit"], [class*="rating"]),
.newsletter-hero :is(.hero-subtitle, [class*="benefit"], [class*="rating"]) {
  opacity: 1 !important;
}

/* Secondary hero actions must stay light; the global .btn-link token is dark
   and disappeared over the photograph on the media and rules pages. */
.home-hero .btn-link,
.hero-atmos .btn-link,
.services-hero .btn-link,
.about-hero .btn-link,
.contact-hero .btn-link,
.media-hero .btn-link,
.rules-hero .btn-link,
.confirmation-hero .btn-link,
.newsletter-hero .btn-link {
  color: #fff !important;
  border-bottom-color: rgba(255, 255, 255, .82) !important;
}

/* About page editorial refresh. */
.abouthtml-rlunk-ui-studio-mission-panel-elm {
  gap: clamp(32px, 5vw, 72px) !important;
  padding: clamp(28px, 4vw, 56px) !important;
  background: linear-gradient(135deg, #f5eff2 0%, #eee7eb 100%) !important;
  border: 1px solid rgba(114, 90, 120, .10) !important;
  border-radius: 32px !important;
  box-shadow: 0 24px 70px rgba(62, 45, 64, .09) !important;
}
.abouthtml-rlunk-ui-studio-mission-media-elm {
  flex: 1.08 !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 40px rgba(45, 34, 46, .16) !important;
}
.abouthtml-rlunk-image13 {
  filter: none !important;
  object-position: center !important;
  transition: transform .5s ease;
}
.abouthtml-rlunk-ui-studio-mission-panel-elm:hover .abouthtml-rlunk-image13 {
  transform: scale(1.025);
}
.abouthtml-rlunk-ui-studio-mission-content-elm {
  padding-right: clamp(0px, 2vw, 24px);
}
.abouthtml-rlunk-ui-section-title-elm1 {
  line-height: 1.08 !important;
}

.abouthtml-rlunk-ui-studio-atmosphere-elm {
  margin-top: clamp(24px, 4vw, 56px) !important;
  margin-bottom: clamp(24px, 4vw, 56px) !important;
  padding: clamp(36px, 5vw, 64px) !important;
  background: linear-gradient(145deg, #f3edf0 0%, #ebe4e8 100%) !important;
  border: 1px solid rgba(114, 90, 120, .09) !important;
  border-radius: 32px !important;
  box-shadow: 0 22px 60px rgba(62, 45, 64, .07) !important;
}
.abouthtml-rlunk-ui-studio-atmosphere-header-elm {
  max-width: 720px !important;
  margin: 0 auto clamp(32px, 4vw, 52px) !important;
  text-align: center !important;
}
.abouthtml-rlunk-ui-section-title-elm3 {
  font-size: clamp(36px, 4vw, 54px) !important;
  line-height: 1.06 !important;
  text-wrap: balance;
}
.abouthtml-rlunk-ui-studio-atmosphere-gallery-elm {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  padding: 0 !important;
}
.abouthtml-rlunk-ui-studio-atmosphere-gallery-elm > [class*="atmosphere-tile"] {
  width: 100% !important;
  max-width: none !important;
  height: clamp(250px, 24vw, 340px) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(45, 34, 46, .10);
}
.abouthtml-rlunk-ui-studio-atmosphere-gallery-elm img {
  transition: transform .45s ease;
}
.abouthtml-rlunk-ui-studio-atmosphere-gallery-elm > [class*="atmosphere-tile"]:hover img {
  transform: scale(1.035);
}
.abouthtml-rlunk-ui-studio-features-list-elm {
  gap: 16px !important;
  margin-top: 24px !important;
}
.abouthtml-rlunk-ui-studio-features-list-elm > div {
  padding: 24px !important;
  background: rgba(255, 255, 255, .72) !important;
  border: 1px solid rgba(114, 90, 120, .10) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(62, 45, 64, .05);
}
.abouthtml-rlunk-ui-studio-features-list-elm h4 {
  font-weight: 700 !important;
  letter-spacing: .07em !important;
}

@media (max-width: 768px) {
  .abouthtml-rlunk-ui-studio-mission-panel-elm {
    gap: 28px !important;
    padding: 20px !important;
  }
  .abouthtml-rlunk-ui-studio-mission-content-elm { padding: 4px 4px 12px; }
  .abouthtml-rlunk-ui-studio-atmosphere-elm {
    margin: 24px 16px !important;
    width: calc(100% - 32px) !important;
    padding: 28px 16px !important;
    border-radius: 24px !important;
  }
  .abouthtml-rlunk-ui-studio-atmosphere-gallery-elm {
    grid-template-columns: 1fr !important;
  }
  .abouthtml-rlunk-ui-studio-atmosphere-gallery-elm > [class*="atmosphere-tile"] {
    height: 330px !important;
  }
  .abouthtml-rlunk-ui-studio-features-list-elm {
    flex-direction: column !important;
  }
}

/* Contact page: keep the hero content away from both edges and let the dark
   details section span the same full viewport width as the photograph. */
.contactshtml-kapcsolat-ui-contact-hero-elm {
  min-height: clamp(560px, 68vh, 720px) !important;
  padding: clamp(52px, 7vh, 80px) 24px !important;
  overflow: visible !important;
}
.contactshtml-kapcsolat-ui-contact-hero-container-elm {
  width: min(100%, 860px) !important;
  max-width: 860px !important;
  padding: 0 !important;
}
.contactshtml-kapcsolat-ui-trust-strip-elm {
  margin-bottom: 24px !important;
}
.contactshtml-kapcsolat-ui-hero-title-elm {
  font-size: clamp(48px, 5vw, 72px) !important;
  line-height: 1.02 !important;
}
.contactshtml-kapcsolat-ui-hero-subtitle-elm {
  max-width: 680px !important;
  line-height: 1.65 !important;
}
.contactshtml-kapcsolat-ui-benefits-strip-elm {
  margin-top: 30px !important;
}
.contactshtml-kapcsolat-ui-contact-details-elm {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(64px, 8vw, 104px) 0 !important;
  border-radius: 0 !important;
}
.contactshtml-kapcsolat-ui-contact-details-inner-elm {
  width: min(100%, 1200px) !important;
  max-width: 1200px !important;
  padding-left: clamp(24px, 5vw, 64px) !important;
  padding-right: clamp(24px, 5vw, 64px) !important;
}

@media (max-width: 768px) {
  .contactshtml-kapcsolat-ui-contact-hero-elm {
    min-height: 760px !important;
    padding: 56px 20px !important;
    overflow: hidden !important;
  }
  .contactshtml-kapcsolat-ui-contact-hero-container-elm {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
    min-width: 0 !important;
  }
  .contactshtml-kapcsolat-ui-contact-hero-container-elm > * {
    max-width: 100% !important;
  }
  .contactshtml-kapcsolat-ui-hero-title-elm {
    font-size: 42px !important;
  }
  .contactshtml-kapcsolat-ui-hero-actions-elm {
    flex-direction: column !important;
  }
  .contactshtml-kapcsolat-ui-hero-actions-elm .btn {
    width: 100% !important;
    max-width: 300px !important;
    box-sizing: border-box !important;
  }
  .contactshtml-kapcsolat-ui-benefits-strip-elm {
    gap: 14px !important;
    flex-direction: column !important;
  }
  .contactshtml-kapcsolat-ui-contact-details-elm {
    padding: 56px 0 !important;
  }
}

@media (max-width: 768px) {
  h1, h2, h3, h4 { text-align: center !important; overflow-wrap: anywhere; }
  h1 { font-size: 34px !important; line-height: 1.16 !important; }
  h2 { font-size: 28px !important; line-height: 1.2 !important; }
  h3 { font-size: 22px !important; line-height: 1.25 !important; }
  .form-row { display: flex !important; flex-direction: column !important; gap: 16px !important; width: 100% !important; }
  .form-field, .form-input, .form-select, .form-textarea { width: 100% !important; min-width: 0 !important; }
  .form-actions, .form-actions .btn { width: 100% !important; }
  .serenique-footer-utility-row, .serenique-footer-bottom { flex-direction: column !important; align-items: center !important; text-align: center !important; }
  .serenique-footer-nav { justify-content: center !important; }
  main > section:not(:first-child) > :first-child { padding-top: 18px; padding-bottom: 18px; }
  .legal-meta {
    width: 100%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 10px;
  }
  .legal-meta span {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 9px 14px;
    text-align: center;
    line-height: 1.35;
  }
}

@media (max-width: 480px) {
  h1 { font-size: 30px !important; }
  h2 { font-size: 25px !important; }
  h3 { font-size: 20px !important; }
  .navigation-bar, .navigation-centered, .serenique-footer-inner { max-width: 100% !important; }
}

/* Final responsive containment overrides: loaded after page-specific export CSS. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }

@media (max-width: 991px) {
  .contact-details-inner,
  .booking-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .details-illustration,
  .booking-illustration { display: none !important; }
  .details-content,
  .booking-form-wrap,
  .info-group,
  .info-grid,
  .opening-list,
  .contact-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  .info-item,
  .opening-row { max-width: 100% !important; min-width: 0 !important; }
  .info-text { min-width: 0 !important; max-width: 100% !important; overflow-wrap: anywhere; }

  .home-final-cta-inner {
    width: 100% !important;
    max-width: 600px !important;
    min-width: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .home-final-cta-inner > * { max-width: 100% !important; min-width: 0 !important; }

  .atmosphere-gallery-track {
    overflow-x: hidden !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .gallery-item {
    flex: 1 1 240px !important;
    width: 100% !important;
    max-width: 360px !important;
  }
}

@media (max-width: 768px) {
  .btn,
  .btn-lg,
  .btn-xl,
  [class*="-btn-elm"] {
    max-width: 100% !important;
    white-space: normal !important;
  }
  .home-final-cta-inner .btn,
  .final-cta-section .btn,
  .services-final-cta .btn {
    width: 100% !important;
  }
  .btn span,
  [class*="-btn-elm"] span { white-space: normal !important; overflow-wrap: anywhere; }
  .opening-row { flex-wrap: wrap !important; gap: 6px 12px !important; }
}

@media (max-width: 480px) {
  .contact-details-inner,
  .booking-container,
  .atmosphere-gallery-track,
  .home-final-cta-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .gallery-item { flex-basis: 100% !important; max-width: 100% !important; }
}

/* Remove exported horizontal carousels in favor of responsive wrapped galleries. */
.abouthtml-rlunk-ui-studio-atmosphere-gallery-elm,
.mdia-s-kpek-ui-photo-gallery-strip-elm,
.atmosphere-gallery-track {
  overflow-x: hidden !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  scroll-snap-type: none !important;
}
.abouthtml-rlunk-ui-studio-atmosphere-gallery-elm > [class*="atmosphere-tile"],
.mdia-s-kpek-ui-photo-gallery-strip-elm > [class*="gallery-item"] {
  flex: 1 1 260px !important;
  width: 100% !important;
  max-width: 360px !important;
}

@media (max-width: 991px) {
  header.navigation-wrapper { padding: 0 !important; width: 100% !important; max-width: 100% !important; }
  .navigation-centered { width: 100% !important; max-width: 100% !important; padding-left: 24px !important; padding-right: 24px !important; }
  .navigation-centered > .navigation-wrapper { padding: 0 !important; width: 100% !important; max-width: 100% !important; }
  .navigation-bar { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; justify-content: space-between !important; }
  .navigation-links-cluster { display: none !important; }
  .navigation-actions > a { display: none !important; }
  .navigation-hamburger { display: flex !important; }
  .navigation-actions { flex: 0 0 auto !important; }
  .navigation-logo-link, .logo-lockup { min-width: 0 !important; max-width: 100% !important; }
}

@media (max-width: 768px) {
  .confirmation-floating-card { display: none !important; }
  .location-guide-inner { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
}

@media (max-width: 480px) {
  .navigation-centered { padding-left: 16px !important; padding-right: 16px !important; }
  .abouthtml-rlunk-ui-studio-atmosphere-gallery-elm > [class*="atmosphere-tile"],
  .mdia-s-kpek-ui-photo-gallery-strip-elm > [class*="gallery-item"] {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 480px) {
  .homepage-ui-home-services-inner-elm {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .homepage-services-grid,
  .homepage-service-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .guidelines-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .guidelines-visual {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 480px) {
  .homepage-ui-home-why-container-elm {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .mdia-s-kpek-ui-guidelines-visual-elm .mdia-s-kpek-container34 {
    left: 0 !important;
    width: 100% !important;
  }
  .mdia-s-kpek-ui-guidelines-visual-elm .mdia-s-kpek-container35 {
    right: 0 !important;
  }
  .mdia-s-kpek-ui-media-contact-container-elm {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    flex-direction: column !important;
  }
  .mdia-s-kpek-ui-media-contact-visual-elm,
  .mdia-s-kpek-ui-media-contact-form-box-elm {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}
