/* ============================================================
   ELM Beauty - Legal & Utility Pages
   legal.css
   ============================================================ */

.legal-hero {
  min-height: 32vh;
  display: flex; align-items: flex-end;
  padding-top: calc(var(--nav-height) + var(--space-lg));
  padding-bottom: var(--space-md);
  background: var(--off-white);
  position: relative; overflow: hidden;
}
.legal-hero .floral-accent {
  position: absolute; right: -80px; top: 50%; transform: translateY(-50%);
  width: 400px; height: 400px; opacity: 0.07; pointer-events: none;
}
.legal-hero .floral-accent img { width:100%; height:100%; object-fit:contain; }

.legal-body {
  background: #fff;
  padding: var(--space-lg) 0;
}
.legal-wrap {
  max-width: 760px;
}
.legal-updated {
  font-size: 0.75rem; letter-spacing: 0.08em; color: var(--mid-gray);
  margin-bottom: var(--space-md); display: block;
}
.legal-wrap h2 {
  font-family: var(--font-display); font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 400; color: var(--near-black);
  margin-top: var(--space-md); margin-bottom: 0.75rem;
  padding-top: var(--space-md);
  border-top: 1px solid var(--light-gray);
}
.legal-wrap h2:first-of-type { border-top: none; margin-top: 0; padding-top: 0; }
.legal-wrap p {
  font-size: 0.92rem; color: var(--mid-gray);
  line-height: 1.9; margin-bottom: 1rem;
}
.legal-wrap ul, .legal-wrap ol {
  padding-left: 1.5rem; margin-bottom: 1rem;
}
.legal-wrap li {
  font-size: 0.92rem; color: var(--mid-gray);
  line-height: 1.9; margin-bottom: 0.4rem;
}
.legal-wrap ul li { list-style: disc; }
.legal-wrap ol li { list-style: decimal; }
.legal-wrap a { color: var(--hot-pink); }
.legal-wrap a:hover { text-decoration: underline; }
.legal-wrap strong { color: var(--charcoal); font-weight: 500; }

.legal-nav {
  background: var(--blush);
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--light-gray);
}
.legal-nav-inner {
  display: flex; align-items: center; gap: 0.5rem;
  flex-wrap: wrap; font-size: 0.75rem;
}
.legal-nav-inner a {
  padding: 0.4rem 1rem; border-radius: var(--radius-pill);
  border: 1px solid var(--light-gray); background: #fff;
  font-size: 0.7rem; font-weight: 500; letter-spacing: 0.08em;
  color: var(--charcoal); transition: var(--transition);
}
.legal-nav-inner a:hover,
.legal-nav-inner a.active { border-color: var(--hot-pink); color: var(--hot-pink); background: rgba(247,37,133,0.04); }
.legal-nav-label {
  font-size: 0.65rem; font-weight: 600; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--mid-gray); margin-right: 0.5rem;
}

/* 404 */
.not-found-section {
  min-height: calc(100vh - var(--nav-height));
  display: flex; align-items: center; justify-content: center;
  background: var(--off-white); text-align: center;
  padding: var(--space-lg) 0; position: relative; overflow: hidden;
}
.not-found-section .floral-l {
  position: absolute; left: -100px; top: 50%; transform: translateY(-50%);
  width: 500px; height: 500px; opacity: 0.06; pointer-events: none;
}
.not-found-section .floral-r {
  position: absolute; right: -100px; top: 50%; transform: translateY(-50%);
  width: 500px; height: 500px; opacity: 0.06; pointer-events: none; transform: translateY(-50%) scaleX(-1);
}
.not-found-section .floral-l img,
.not-found-section .floral-r img { width:100%; height:100%; object-fit:contain; }
.not-found-inner { position: relative; z-index: 1; }
.not-found-code {
  font-family: var(--font-display);
  font-size: clamp(8rem, 25vw, 20rem);
  font-weight: 300; line-height: 1;
  color: var(--light-gray); letter-spacing: -0.04em;
  margin-bottom: 0;
}
.not-found-inner h1 {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 400;
  margin-top: 0; margin-bottom: 1rem; color: var(--near-black);
}
.not-found-inner p {
  font-size: 1rem; color: var(--mid-gray); max-width: 440px;
  margin: 0 auto 2.5rem; line-height: 1.8;
}
.not-found-links {
  display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;
}
