/* P-LEGAL — Terms / Privacy prose + site-wide footer legal chrome */

/* ============================================================
   Site footer band — match page / chrome canvas across themes.
   GlobalNav leaves the Kadence footer transparent so body canvas
   shows through. React shells (and some packs) wipe body to solid
   --hw-bg while the page stage keeps an atmospheric wash, so the
   footer reads as a flat off-strip. Paint the band with the same
   fixed chrome/fe canvas tokens hub chrome already uses.
============================================================ */


/* Restore fixed chrome canvas on hub shells. Vite island CSS often
   wipes body to solid --hw-bg after HomepageReactShell, which leaves the
   transparent/painted footer looking like a flat off-strip under the stage. */
body.hw-global-nav-active.hw-homepage-react-shell,
body.hw-global-nav-active.hw-collections-react-shell,
body.hw-global-nav-active.hw-explore-react-shell,
body.hw-global-nav-active.hw-social-react:not(.hw-messages-page):not(.hw-notifications-page),
body.hw-global-nav-active.hw-communities-page,
body.hw-global-nav-active.hw-feed-page,
body.hw-global-nav-active.hw-legal-page {
  background: var(--hw-chrome-canvas, var(--hw-fe-canvas, var(--hw-canvas-bg, var(--hw-fe-bg, transparent)))) !important;
  background-color: var(--hw-fe-bg, var(--hw-bg, transparent)) !important;
  background-attachment: fixed !important;
}
body.hw-global-nav-active .site-footer,
body.hw-global-nav-active #colophon,
body.hw-global-nav-active .site-footer-wrap,
body.hw-global-nav-active .site-top-footer-wrap,
body.hw-global-nav-active .site-middle-footer-wrap,
body.hw-global-nav-active .site-bottom-footer-wrap,
body.hw-global-nav-active .site-footer-row-container,
body.hw-global-nav-active .site-footer-row-container-inner,
body.hw-global-nav-active .site-bottom-footer-inner-wrap {
  background: var(--hw-chrome-canvas, var(--hw-fe-canvas, var(--hw-canvas-bg, var(--hw-fe-bg, transparent)))) !important;
  background-color: var(--hw-fe-bg, var(--hw-bg, transparent)) !important;
  background-attachment: fixed !important;
  border-top: none !important;
  box-shadow: none !important;
  color: var(--hw-chrome-ink, var(--hw-fe-text-soft, inherit)) !important;
}

body.hw-global-nav-active .site-footer a,
body.hw-global-nav-active #colophon a {
  color: var(--hw-chrome-link, var(--hw-fe-text, inherit)) !important;
}

body.hw-global-nav-active .site-footer a:hover,
body.hw-global-nav-active #colophon a:hover,
body.hw-global-nav-active .site-footer a:focus-visible,
body.hw-global-nav-active #colophon a:focus-visible {
  color: var(--hw-fe-accent, var(--hw-flame-light, inherit)) !important;
}

/* Legal link row — layout only; ink follows footer band tokens */
.hw-legal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.55rem;
  margin-top: 0.65rem;
  font-size: 0.9rem;
  line-height: 1.4;
  color: inherit;
}

.hw-legal-footer__link {
  color: inherit !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.hw-legal-footer__link:hover,
.hw-legal-footer__link:focus-visible {
  color: var(--hw-fe-accent, var(--hw-flame-light, inherit)) !important;
  border-bottom-color: color-mix(in srgb, currentColor 45%, transparent);
}

/* Hide Kadence theme-credit link if markup still injects (belt-and-suspenders).
   Prefer PHP strip via theme_mod + kadence_theme_options_defaults. */
.site-info .footer-html-inner a[href*="kadencewp.com"],
.site-footer .footer-html-inner a[href*="kadencewp.com"],
#colophon .footer-html-inner a[href*="kadencewp.com"] {
  display: none !important;
}

.hw-legal-footer__sep {
  color: inherit;
  opacity: 0.72;
  user-select: none;
}

body.hw-legal-page .content-area,
body.hw-legal-page .entry-content-wrap {
  max-width: none;
}

body.hw-legal-page .entry-hero,
body.hw-legal-page .entry-header,
body.hw-legal-page .entry-title {
  display: none !important;
}

.hw-legal-doc {
  width: 100%;
  padding: 1.25rem 1rem 3rem;
  color: var(--hw-fe-text, #211b16);
  background: transparent;
}

.hw-legal-doc__inner {
  max-width: 44rem;
  margin: 0 auto;
}

.hw-legal-doc__chrome {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin-bottom: 1.25rem;
  font-size: 0.92rem;
  color: var(--hw-fe-text-soft, #5c564e);
}

.hw-legal-doc__chrome a,
.hw-legal-doc__foot a {
  color: var(--hw-fe-accent-strong, #8f4027);
  text-decoration: none;
  border-bottom: 1px solid rgba(143, 64, 39, 0.28);
}

.hw-legal-doc__chrome a:hover,
.hw-legal-doc__foot a:hover,
.hw-legal-doc__chrome a:focus-visible,
.hw-legal-doc__foot a:focus-visible {
  color: var(--hw-fe-accent, #b85c3a);
  border-bottom-color: rgba(184, 92, 58, 0.55);
}

.hw-legal-doc__chrome-sep {
  color: var(--hw-fe-muted, #8a8379);
}

.hw-legal-doc__prose {
  font-size: 1.05rem;
  line-height: 1.7;
}

.hw-legal-doc__prose .hw-legal-doc__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.75rem, 4vw, 2.15rem);
  line-height: 1.2;
  font-weight: 700;
  color: var(--hw-fe-text, #211b16);
  letter-spacing: -0.02em;
}

.hw-legal-doc__prose .hw-legal-doc__heading {
  margin: 1.85rem 0 0.65rem;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 700;
  color: var(--hw-fe-text, #211b16);
}

.hw-legal-doc__prose .hw-legal-doc__meta-line {
  margin: 0.15rem 0;
  font-size: 0.95rem;
  color: var(--hw-fe-text-soft, #5c564e);
}

.hw-legal-doc__prose p {
  margin: 0.85rem 0;
}

.hw-legal-doc__prose .hw-legal-doc__list {
  margin: 0.65rem 0 0.85rem;
  padding-left: 1.25rem;
}

.hw-legal-doc__prose .hw-legal-doc__list li {
  margin: 0.35rem 0;
}

.hw-legal-doc__prose a {
  color: var(--hw-fe-accent-strong, #8f4027);
  text-decoration: none;
  border-bottom: 1px solid rgba(143, 64, 39, 0.28);
  word-break: break-word;
}

.hw-legal-doc__prose a:hover,
.hw-legal-doc__prose a:focus-visible {
  color: var(--hw-fe-accent, #b85c3a);
  border-bottom-color: rgba(184, 92, 58, 0.55);
}

.hw-legal-doc__prose strong {
  font-weight: 700;
  color: var(--hw-fe-text, #211b16);
}

.hw-legal-doc__foot {
  margin-top: 2.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--hw-fe-border-soft, rgba(33, 27, 22, 0.07));
  font-size: 0.95rem;
  color: var(--hw-fe-text-soft, #5c564e);
}

.hw-legal-doc__foot p {
  margin: 0;
}

@media (max-width: 720px) {
  .hw-legal-doc {
    padding: 0.85rem 0.85rem 2.5rem;
  }

  .hw-legal-doc__prose {
    font-size: 1.02rem;
    line-height: 1.65;
  }

  .hw-legal-doc__prose .hw-legal-doc__heading {
    font-size: 1.12rem;
  }
}