/* The Kickin' Crab — "fine print" pages (privacy, terms, accessibility,
   allergy, nutrition, high-chair). Loaded after site.css. */

/* ---------- Two-column layout ---------- */
.kc-legal {
  max-width: 1080px; margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: 44px 56px; align-items: flex-start;
}
.kc-doc { flex: 2 1 460px; min-width: min(280px, 100%); scroll-margin-top: 16px; }

/* ---------- Document body ---------- */
.kc-doc > h2 {
  margin: 34px 0 0; font-family: var(--font-display); font-weight: 400;
  font-size: 28px; line-height: 1.15; color: var(--kc-brick);
}
.kc-doc > h2:first-child { margin-top: 0; }
.kc-doc > p { margin: 12px 0 0; font-size: 17.5px; line-height: 1.6; color: var(--kc-ink-2); }
.kc-doc > p + p, .kc-doc > ul + p { margin-top: 14px; }
.kc-doc > ol + p { margin-top: 26px; }
.kc-doc > ul { margin: 14px 0 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.kc-doc > ul > li { margin: 0; font-size: 17.5px; line-height: 1.6; color: var(--kc-ink-2); }

/* "Last updated" box */
.kc-doc__meta {
  margin: 0 0 30px; padding: 20px 22px; background: var(--kc-cream-2);
  border: 2px solid var(--kc-line); border-radius: 18px;
  display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; font-size: 16px;
}
.kc-doc__meta dt {
  margin: 0; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  font-size: 13px; color: var(--kc-rust); align-self: center;
}
.kc-doc__meta dd { margin: 0; color: var(--kc-ink); font-weight: 600; }

/* Numbered steps (high-chair) */
.kc-doc__steps {
  margin: 20px 0 0; padding-left: 0; list-style: none;
  display: flex; flex-direction: column; gap: 20px; counter-reset: kc;
}
.kc-doc__step { display: flex; gap: 14px; align-items: flex-start; }
.kc-doc__num {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%; background: var(--kc-brick); color: #ffffff;
  font-family: 'Figtree', sans-serif; font-size: 16px; font-weight: 800;
}
.kc-doc__step h2 { margin: 4px 0 0; font-size: 19px; font-weight: 800; color: var(--kc-teal); }
.kc-doc__step p { margin: 6px 0 0; font-size: 17.5px; line-height: 1.6; color: var(--kc-ink-2); }

/* ---------- "All policies" card ---------- */
.kc-policies { box-sizing: border-box; flex: 1 1 250px; min-width: min(240px, 100%); }
.kc-policies__h2 {
  margin: 0; font-size: 14px; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: var(--kc-rust);
}
.kc-policies__nav { display: flex; flex-direction: column; gap: 2px; margin-top: 10px; }
.kc-policies__nav a {
  display: flex; align-items: center; min-height: 44px;
  font-size: 15.5px; font-weight: 600; color: var(--kc-teal); text-decoration: none;
}
.kc-policies__nav a:hover { color: var(--kc-brick); text-decoration: underline; }
.kc-policies__nav a[aria-current="page"] { font-weight: 800; color: var(--kc-brick); }
.kc-policies__nav a[aria-current="page"]:hover { text-decoration: none; }
.kc-policies__dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--kc-brick); margin-right: 9px; }
.kc-policies__note {
  margin: 18px 0 0; padding-top: 16px; border-top: 2px solid var(--kc-line-2);
  font-size: 15px; line-height: 1.5; color: var(--kc-ink-3);
}
