/* Rising Tide custom page fixes */
.rt-site,
.rt-site * {
  box-sizing: border-box !important;
}

.rt-site {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.rt-site a,
.rt-site a:link,
.rt-site a:visited,
.rt-site a:hover,
.rt-site a:focus,
.rt-site a:active {
  text-decoration: none !important;
}

/* Layout containers */
.rt-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.rt-container {
  width: calc(100% - 48px) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.rt-card-grid {
  justify-content: center !important;
}

/* Button source of truth */
.rt-site .rt-btn,
.rt-site a.rt-btn,
.rt-site a.rt-btn:link,
.rt-site a.rt-btn:visited,
.rt-site a.rt-btn:hover,
.rt-site a.rt-btn:focus,
.rt-site a.rt-btn:active {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 50px !important;
  height: auto !important;
  max-height: none !important;

  padding: 12px 26px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  border-width: 1px !important;
  border-style: solid !important;

  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;

  vertical-align: middle !important;
  cursor: pointer !important;

  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  filter: none !important;
  outline: none !important;
  overflow: visible !important;

  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Smaller header button */
.rt-site .rt-nav .rt-btn,
.rt-site .rt-nav a.rt-btn,
.rt-site .rt-nav a.rt-btn:link,
.rt-site .rt-nav a.rt-btn:visited,
.rt-site .rt-nav a.rt-btn:hover,
.rt-site .rt-nav a.rt-btn:focus,
.rt-site .rt-nav a.rt-btn:active {
  min-height: 46px !important;
  padding: 11px 22px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

/* Remove theme pseudo-elements that can distort buttons */
.rt-site a.rt-btn::before,
.rt-site a.rt-btn::after,
.rt-site a.rt-btn span::before,
.rt-site a.rt-btn span::after {
  display: none !important;
  content: none !important;
}

/* Primary buttons */
.rt-site .rt-btn-primary,
.rt-site a.rt-btn-primary,
.rt-site a.rt-btn-primary:link,
.rt-site a.rt-btn-primary:visited,
.rt-site a.rt-btn-primary:hover,
.rt-site a.rt-btn-primary:focus,
.rt-site a.rt-btn-primary:active {
  background: #0f6f8f !important;
  background-color: #0f6f8f !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: #0f6f8f !important;
}

/* Secondary buttons */
.rt-site .rt-btn-secondary,
.rt-site a.rt-btn-secondary,
.rt-site a.rt-btn-secondary:link,
.rt-site a.rt-btn-secondary:visited,
.rt-site a.rt-btn-secondary:hover,
.rt-site a.rt-btn-secondary:focus,
.rt-site a.rt-btn-secondary:active {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #0a4f66 !important;
  border-color: rgba(15, 111, 143, 0.22) !important;
}

/* Default hidden utility */
.rt-site .rt-desktop-hide {
  display: none !important;
}

/* Button rows */
.rt-site .rt-hero-actions,
.rt-site .rt-button-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 20px 0 0 0 !important;
  padding: 0 !important;
  line-height: normal !important;
}

/* Center CTA button row */
.rt-site .rt-button-row-center {
  justify-content: center !important;
}

/* Trip card button spacing */
.rt-site .rt-card-grid .rt-btn {
  margin-top: 4px !important;
}

/* Prevent WordPress block button styles from interfering */
.rt-site .wp-block-button,
.rt-site .wp-block-buttons,
.rt-site .wp-block-button__link {
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Mobile behavior */
@media (max-width: 800px) {
  .rt-hero-grid,
  .rt-two-col,
  .rt-featured-trip,
  .rt-three-grid,
  .rt-card-grid {
    grid-template-columns: 1fr !important;
  }

  .rt-container {
    width: calc(100% - 32px) !important;
  }

  .rt-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-top: 26px !important;
    padding-bottom: 18px !important;
    gap: 18px !important;
  }

  .rt-header > a {
    font-size: 28px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
  }

  .rt-nav {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 18px !important;
  }

  .rt-nav > a:not(.rt-btn) {
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  .rt-nav .rt-btn {
    margin-top: 4px !important;
  }

  .rt-site .rt-button-row {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .rt-site .rt-btn,
  .rt-site a.rt-btn,
  .rt-site a.rt-btn:link,
  .rt-site a.rt-btn:visited,
  .rt-site a.rt-btn:hover,
  .rt-site a.rt-btn:focus,
  .rt-site a.rt-btn:active {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  .rt-hero-section {
    padding: 28px 0 34px !important;
  }

  .rt-hero-grid {
    gap: 24px !important;
  }

  .rt-hero-card {
    padding: 30px 22px 28px !important;
    border-radius: 0 !important;
  }

  .rt-eyebrow {
    font-size: 13px !important;
    letter-spacing: 0.15em !important;
    line-height: 1.35 !important;
    margin-bottom: 12px !important;
  }

  .rt-hero-title {
    font-size: clamp(40px, 13vw, 56px) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.065em !important;
  }

  .rt-hero-copy {
    font-size: 19px !important;
    line-height: 1.45 !important;
    margin-top: 16px !important;
  }

  .rt-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: 20px !important;
    gap: 10px !important;
  }

  .rt-stat-grid > div {
    min-height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  .rt-hero-image-wrap {
    margin-top: 8px !important;
  }

  .rt-hero-image {
    height: 360px !important;
    border-radius: 26px !important;
  }

  /*
    Critical mobile CTA logic:
    The broad .rt-site .rt-hero-actions rule above forces hero actions visible.
    These more specific rules intentionally override it so mobile only shows
    the CTA row below the hero image.
  */
  .rt-site .rt-hero-actions.rt-mobile-hide,
  .rt-site .rt-hero-card .rt-hero-actions.rt-mobile-hide {
    display: none !important;
  }

  .rt-site .rt-mobile-hero-actions.rt-desktop-hide {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    line-height: normal !important;
  }

  .rt-site .rt-mobile-hero-actions.rt-desktop-hide .rt-btn {
    width: 100% !important;
    max-width: 100% !important;
  }

  .rt-site .rt-mobile-hero-actions .rt-btn-secondary {
    display: inline-flex !important;
  }
}

/* Smaller mobile screens */
@media (max-width: 480px) {
  .rt-container {
    width: calc(100% - 28px) !important;
  }

  .rt-header > a {
    font-size: 25px !important;
  }

  .rt-nav {
    gap: 16px !important;
  }

  .rt-nav > a:not(.rt-btn) {
    font-size: 17px !important;
  }

  .rt-hero-card {
    padding: 28px 18px 26px !important;
  }

  .rt-hero-title {
    font-size: clamp(38px, 12.5vw, 50px) !important;
  }

  .rt-hero-copy {
    font-size: 18px !important;
  }

  .rt-hero-image {
    height: 330px !important;
  }
}

/* Desktop-only CTA logic */
@media (min-width: 801px) {
  .rt-site .rt-mobile-hero-actions.rt-desktop-hide {
    display: none !important;
  }

  .rt-site .rt-hero-actions.rt-mobile-hide {
    display: flex !important;
  }
}