/* =============================================================================
   lu-essentials.css — Lu Social site-essentials remediation, 2026-09-13
   (audit items 1, 4, 11, 15/16, 17)

   A NEW file in the child theme, enqueued from functions.php with filemtime()
   versioning. It is not an append to style.css because that sheet is pinned to
   LU_SOCIAL_CHILD_VERSION '20260727-3' and an append would serve stale.
   This sheet loads after the child sheet, so nothing here needs !important.

   Scope: Astra-rendered pages only. The static homepage
   (wp-content/lu-home/index.html) bypasses wp_head/wp_footer and carries its
   own inline copy of the consent styles.

   Revert: delete this file and the marked block in functions.php.
   ========================================================================== */

/* --- Item 11: sticky mobile CTA on inner pages ---------------------------- */
.lu-sticky-cta { display: none; }

@media (max-width: 768px) {
  .lu-sticky-cta {
    display: block;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 9998;
    background: var(--cinnabar, #C5402B);
    box-shadow: 0 -6px 18px rgba(26, 21, 18, .22);
    box-sizing: border-box;
  }
  .lu-sticky-cta a {
    display: block;
    padding: 15px 18px;
    text-align: center;
    color: #F1EBDD;
    text-decoration: none;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: .03em;
  }
  .lu-sticky-cta a:hover { color: #fff; }
  .lu-sticky-cta a:focus-visible {
    outline: 3px solid var(--brass, #BE8F3C);
    outline-offset: -3px;
  }
  body { padding-bottom: 58px; }
}

/* --- Item 17: consent banner clears the sticky CTA ------------------------ */
@media (max-width: 768px) {
  #vd-consent { bottom: 66px; }          /* 54px bar + 12px gap */
  #vd-consent-reopen { bottom: 64px; }
}

/* --- Item 4: CTA above the fold on /contact/ ------------------------------ */
.lu-contact-cta {
  margin: 1.2rem 0 2rem;
  padding: 1.1rem 1.3rem;
  background: var(--cream, #E7DECB);
  border-left: 4px solid var(--cinnabar, #C5402B);
}
.lu-contact-cta p { margin: 0 0 .8rem; }
.lu-contact-cta .button-primary { display: inline-block; }

/* --- Item 1: 404 ---------------------------------------------------------- */
.lu-404__eyebrow {
  font-size: .8rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--cinnabar, #C5402B);
  margin: 0 0 .4rem;
  font-weight: 700;
}
.lu-404 .entry-title { margin-top: 0; }
.lu-404__search { max-width: 32rem; margin: 1.8rem 0 2rem; }
.lu-404__search .search-form { display: flex; gap: .6rem; flex-wrap: wrap; }
.lu-404__search label { flex: 1 1 14rem; margin: 0; }
.lu-404__search .search-field { width: 100%; }
.lu-404__links {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.4rem;
}

/* --- Items 15/16: legal pages --------------------------------------------- */
.lu-legal { max-width: 44rem; }
.lu-legal h2 {
  margin: 2.4rem 0 .8rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--paper-2, #E7DECB);
  font-size: 1.35rem;
}
.lu-legal h2:first-of-type { border-top: 0; padding-top: 0; margin-top: 1.2rem; }
.lu-legal p, .lu-legal li { line-height: 1.7; }
.lu-legal ul { padding-left: 1.2rem; }
.lu-legal li { margin-bottom: .5rem; }
.lu-legal__updated {
  font-size: .82rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-soft, #4A423B);
  margin-bottom: 1.6rem;
}

/* --- Footer credit: Privacy · Terms · Contact ----------------------------- */
.ast-footer-copyright a { text-decoration: underline; text-underline-offset: 2px; }
.ast-footer-copyright p { margin: 0; }

/* --- /thank-you/ ---------------------------------------------------------- */
.lu-thanks__next { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .7rem; }
