/* ============================================================
   96 — Two fixed overlays that were covering the page under them.
   Fix lane fix-6. Findings T7-009 and T7-010.
   ============================================================ */

/* ---------------------------------------------------------- T7-009
   /create/ on a phone: a.rhc-postcard-mobile-cta is position:fixed,
   full width, 64px tall, and the document reserved no room for it.
   At full scroll it sat on top of the footer's last rows - "Terms"
   half cut, "Cookie choices" completely hidden and unclickable.

   The bar itself is right; the page just has to end above it. The
   reservation is hung off :has() so it applies exactly where the
   bar is rendered, and only while the bar's own media query has it
   on screen. assets/css/postcard-landing.css owns the bar and is
   enqueued after this file, so nothing here restyles it - the
   padding is added to elements that sheet never touches. */

@media (max-width: 599px) {
  body:has(.rhc-postcard-mobile-cta) .rh-shell-footer {
    padding-block-end: 88px;
  }
}

/* ---------------------------------------------------------- T7-010
   /policies/, /privacy/ and /cookie/ print a fixed legal-links card
   (.rhc-complianz-runtime-fallback, injected by the runtime repair
   in functions.php when Complianz's own banner is missing). It has
   no dismiss control, so it never goes away, and as a bottom-right
   floating card it permanently covered the Related-pages rail on
   /privacy/ - hiding the "Field trips" and "Canceling a booking"
   links.

   It is a compliance affordance and must stay visible, so it is not
   hidden and not made dismissible. It becomes a full-width bar at
   the foot of the window instead, and the page reserves the height
   it occupies, so it covers nothing at any scroll position.

   It also arrives from style.css wearing none of the design kit -
   a white rounded card with a drop shadow and near-black 700-weight
   underlined links. It now composes the kit like everything else. */

.rhc-complianz-runtime-fallback {
  inset: auto 0 0 0;
  max-width: none;
  padding: 14px clamp(16px, 4vw, 40px);
  border: 0;
  border-block-start: 1px solid var(--rule);
  border-radius: 0;
  background: var(--surface);
  color: var(--tx);
  box-shadow: 0 -6px 22px rgba(20, 32, 27, .14);
  font-family: var(--b);
  font-size: var(--fs-sm);
  line-height: 1.5;

  /* Its two paragraphs stacked into a 129px card. As one row it is a single
     line of type on a wide screen, which is both less of the page and a
     smaller, predictable height for the reservation below to clear. */
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 22px;
}

.rhc-complianz-runtime-fallback p {
  margin: 0;
  max-inline-size: none;
}

.rhc-complianz-runtime-fallback a {
  color: var(--river);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--clay);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
}

.rhc-complianz-runtime-fallback a:hover,
.rhc-complianz-runtime-fallback a:focus-visible {
  color: var(--rust-tx);
  text-decoration-color: currentColor;
}

/* The reservation has to clear the bar's own height with room to spare, or the
   last rows of the page stay under it at full scroll - which is the actual
   defect. Measured: one line at 1440 is 48px; three wrapped lines at 390 are
   about 110px. */
body:has(.rhc-complianz-runtime-fallback) .rh-shell-footer {
  padding-block-end: 120px;
}

@media (max-width: 620px) {
  body:has(.rhc-complianz-runtime-fallback) .rh-shell-footer {
    padding-block-end: 180px;
  }
}
