/* WordPress-only additions. The design itself is main.css (copied from the static site). */

/* form honeypot: invisible to people, tempting to bots */
.zp-hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px; height: 1px;
  overflow: hidden;
}

/* keep the fixed header below the admin bar when logged in */
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }

/* Privacy, Terms, new pages and single stories: text from the block editor,
   styled like the original legal pages */
.legal-content { margin-top: clamp(2rem, 4vw, 3rem); }
.legal-content > h2,
.legal-content > h3 {
  font-size: var(--fs-h3);
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: 1.6rem;
  border-top: 1px solid var(--line);
}
.legal-content > h2:first-child,
.legal-content > h3:first-child { margin-top: 0; }
.legal-content > p,
.legal-content > ul,
.legal-content > ol { margin-top: 1rem; }
.legal-content > ul,
.legal-content > ol { padding-left: 1.3em; }
.legal-content > ul { list-style: disc; }
.legal-content > ol { list-style: decimal; }
.legal-content a { text-decoration: underline; text-underline-offset: .15em; }
.legal-content img { max-width: 100%; height: auto; border-radius: 16px; }
.legal-content .small.muted { margin-top: 3rem; }

.zp-story-photo { margin-bottom: 1.6rem; border-radius: 20px; overflow: hidden; }
.zp-story-photo img { width: 100%; height: 100%; object-fit: cover; }
.zp-story-videos { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin-top: 2rem; }
.zp-story-video { margin: 0; }
.zp-story-video video { width: 100%; height: 100%; object-fit: contain; background: #111; border-radius: 16px; }

.zp-post-list { list-style: none; padding: 0; display: grid; gap: 1.4rem; }
