/* Only frontend-specific fixes. All visual rules come from the supplied theme. */
.image-box img,
.image-box-secondary img,
.transaction-image-box img { display: block; }

.booking-wrapper iframe { width: 100%; height: 100%; border: 0; }

/* Keep the standalone build edge-to-edge on displays wider than the theme's
   former 1920px WordPress canvas. Section-level content widths stay intact. */
.page-wrapper {
  width: 100%;
  max-width: none;
}

.page-wrapper::after { display: none; }

/* Swiper's runtime normally injects these dimensions. The standalone slider
   supplies the same one-card/two-card layout without the WordPress bundle. */
.portrait .transactions {
  overflow: hidden;
  touch-action: pan-y;
}

.portrait .transactions-list {
  width: 100%;
  transition: transform 0.3s ease;
}

.portrait .transaction {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
}

.portrait .card {
  width: 100%;
  min-width: 0;
}

@media (min-width: 1400px) {
  .portrait .transaction {
    flex-basis: 50%;
    width: 50%;
  }
}

/* Keep every headline in the portrait section on the same content axis as
   its copy, statistics and transaction cards. The theme's negative landscape
   margin pulled the headings into the sticky image column on wide screens. */
@media (orientation: landscape) {
  .portrait .title,
  .portrait .sub-headline {
    margin-left: 0;
    text-wrap: balance;
  }
}

/* Fade the wide-screen hero title before it reaches the sticky header. */
@media (min-width: 1000px) and (orientation: landscape) {
  .main-stage .title {
    opacity: var(--hero-title-scroll-opacity, 1);
    will-change: opacity;
  }
}

.faq .question {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  text-align: left;
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
