/* =========================================================================
   CHEF KENZO — LEGAL & COMPLIANCE PAGES
   Shared layout for privacy, terms, refunds, delivery, compliance, contact.
   Depends on styles.css (design tokens + nav + footer).
   ========================================================================= */

/* ===== HERO BAND (dark, compact — keeps fixed white nav legible) ===== */
.legal-hero {
  background:
    radial-gradient(ellipse 900px 420px at 85% -10%, rgba(255, 77, 161, 0.14), transparent 60%),
    radial-gradient(ellipse 700px 380px at 10% 110%, rgba(241, 94, 94, 0.10), transparent 60%),
    var(--kenzo-charcoal);
  color: var(--kenzo-white);
  padding: clamp(8.5rem, 16vw, 11rem) var(--gutter) clamp(3rem, 6vw, 4.5rem);
}
.legal-hero__inner {
  max-width: 860px;
  margin: 0 auto;
}
.legal-hero__eyebrow {
  font-family: var(--mono);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--kenzo-pink);
  margin-bottom: 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.legal-hero__eyebrow::before {
  content: '';
  width: 30px;
  height: 1px;
  background: currentColor;
}
.legal-hero__title {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(2.4rem, 6vw, 4rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
  margin-bottom: 1.25rem;
}
.legal-hero__title em {
  font-style: italic;
  color: var(--kenzo-pink);
}
.legal-hero__meta {
  font-family: var(--mono);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.8;
}

/* ===== BODY ===== */
.legal {
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5rem) var(--gutter) clamp(4rem, 9vw, 6.5rem);
}
.legal__intro {
  font-size: 1.12rem;
  line-height: 1.65;
  margin-bottom: 2.25rem;
}
.legal__intro strong { font-weight: 600; }

/* On-this-page box */
.legal__toc {
  background: var(--kenzo-cream);
  border: 1px solid rgba(22, 22, 23, 0.08);
  border-radius: 10px;
  padding: 1.5rem 1.75rem;
  margin-bottom: 3rem;
}
.legal__toc-label {
  font-family: var(--mono);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--kenzo-coral-deep);
  margin-bottom: 0.85rem;
}
.legal__toc ol {
  list-style: decimal;
  padding-left: 1.4rem;
  columns: 2;
  column-gap: 2.5rem;
  font-size: 0.95rem;
  line-height: 1.9;
}
.legal__toc a { text-decoration: none; border-bottom: 1px solid rgba(22, 22, 23, 0.2); }
.legal__toc a:hover { color: var(--kenzo-coral-deep); border-color: currentColor; }
@media (max-width: 640px) {
  .legal__toc ol { columns: 1; }
}

/* Sections */
.legal section { margin-bottom: 2.75rem; }
.legal section:last-child { margin-bottom: 0; }
.legal h2 {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(1.5rem, 3vw, 1.9rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(22, 22, 23, 0.1);
}
.legal h2 .legal__num {
  font-family: var(--mono);
  font-size: 0.85rem;
  color: var(--kenzo-coral);
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 0.35rem;
}
.legal h3 {
  font-family: var(--sans);
  font-weight: 700;
  font-size: 1.05rem;
  margin: 1.5rem 0 0.6rem;
}
.legal p {
  line-height: 1.7;
  margin-bottom: 0.9rem;
}
.legal ul, .legal ol {
  padding-left: 1.4rem;
  margin: 0.5rem 0 1.1rem;
  line-height: 1.7;
}
.legal ul { list-style: disc; }
.legal ol { list-style: decimal; }
.legal li { margin-bottom: 0.45rem; }
.legal li::marker { color: var(--kenzo-coral); }
.legal a { border-bottom: 1px solid rgba(22, 22, 23, 0.25); }
.legal a:hover { color: var(--kenzo-coral-deep); border-color: currentColor; }
.legal strong { font-weight: 650; }

/* Callout (escalation / contact blocks) */
.legal__callout {
  background: var(--kenzo-pink-soft);
  border: 1px solid rgba(241, 94, 94, 0.25);
  border-radius: 10px;
  padding: 1.4rem 1.6rem;
  margin: 1.25rem 0 1.75rem;
}
.legal__callout p { margin-bottom: 0.5rem; }
.legal__callout p:last-child { margin-bottom: 0; }

/* Tables (compliance registers, fee slabs) */
.legal__table-wrap {
  overflow-x: auto;
  margin: 1rem 0 1.5rem;
  border: 1px solid rgba(22, 22, 23, 0.12);
  border-radius: 10px;
}
.legal table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  min-width: 520px;
}
.legal th {
  text-align: left;
  font-family: var(--mono);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  background: var(--kenzo-charcoal);
  color: var(--kenzo-cream);
  padding: 0.8rem 1rem;
}
.legal td {
  padding: 0.8rem 1rem;
  border-top: 1px solid rgba(22, 22, 23, 0.1);
  vertical-align: top;
  line-height: 1.55;
}
.legal tbody tr:nth-child(even) { background: rgba(242, 226, 190, 0.35); }

/* Visible pre-merge placeholder — replace before go-live */
.fill-me {
  background: var(--kenzo-lemon-bright);
  font-family: var(--mono);
  font-size: 0.82em;
  padding: 0.1em 0.45em;
  border-radius: 4px;
  white-space: nowrap;
}

/* Definition-style contact rows */
.legal__contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 1.25rem 0 1.75rem;
}
.legal__contact-card {
  background: var(--kenzo-cream);
  border: 1px solid rgba(22, 22, 23, 0.08);
  border-radius: 10px;
  padding: 1.25rem 1.4rem;
}
.legal__contact-card h3 { margin: 0 0 0.5rem; }
.legal__contact-card p { margin-bottom: 0.3rem; font-size: 0.95rem; }
.legal__contact-card .legal__contact-note {
  font-size: 0.82rem;
  opacity: 0.7;
}
