/* --------------------------------------------------------------------------
   WordPress overrides — alignment, blocks, galleries, editor styles
   ------------------------------------------------------------------------- */
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: .35rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .35rem 0 1rem 1.5rem; }
.alignwide { max-width: var(--ed-container); margin-inline: auto; }
.alignfull { max-width: none; width: 100%; }
.wp-caption { max-width: 100%; }
.wp-block-button__link { border-radius: var(--ed-radius-button); background: var(--ed-accent); color: var(--ed-button-ink); }
.wp-block-separator { border: 0; border-top: 1px solid var(--ed-rule); }
.wp-block-pullquote { border-top: 2px solid var(--ed-accent-dark); border-bottom: 2px solid var(--ed-accent-dark); }
.sticky .entry-title::before { content: 'Featured / '; color: var(--ed-muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.bypostauthor { outline: 0; }

.gallery { display: grid; gap: 1rem; }
.gallery-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-columns-4, .gallery-columns-5, .gallery-columns-6,
.gallery-columns-7, .gallery-columns-8, .gallery-columns-9 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-item { margin: 0; }

@media (max-width: 699px) {
  .gallery-columns-2, .gallery-columns-3, .gallery-columns-4,
  .gallery-columns-5, .gallery-columns-6, .gallery-columns-7,
  .gallery-columns-8, .gallery-columns-9 { grid-template-columns: 1fr; }
}

/* Additional WordPress helpers */
.editorial-canvas, .page-template-template-editorial-canvas .entry-content,
.page-template-template-landing .entry-content { max-width: none; margin: 0; }
.editorial-canvas-content { max-width: none; }
.page-template-template-full-width .entry-content { max-width: none; }
.page-template-template-full-width .post-thumbnail { max-width: var(--ed-container); }
.editorial-landing-template { max-width: none; }
.page-content, .no-results { max-width: var(--ed-content-measure); }
.page-links { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--ed-rule); }
.no-comments { color: var(--ed-muted); border-top: 1px solid var(--ed-rule); padding-top: 1rem; }
.skip-link:focus { z-index: 100000; }
.vcard, .author, .fn, .n, .url { font-style: normal; }

/* Transition animations */
@media (prefers-reduced-motion: no-preference) {
  .will-animate {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .48s ease, transform .48s ease;
  }
  .will-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Print styles — publication-friendly */
@media print {
  *, *::before, *::after { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; }
  a, a:visited { text-decoration: underline; }
  a[href]::after { content: " (" attr(href) ")"; font-size: .72rem; }
  a[href^="#"]::after, a[href^="javascript:"]::after { content: ""; }
  .site-header, .site-footer, .scroll-top, .mobile-toggle, .header-cta-wrap,
  .cta-section, .breadcrumbs, .post-navigation, .related-posts, .comments-area,
  .author-box, .widget-area, .btn-group, .skip-link { display: none !important; }
  .site-main { min-height: auto; }
  .container, .section-inner { width: 100%; max-width: 100%; margin: 0; padding: 0; }
  .entry-content { max-width: 100%; font-size: 10.5pt; line-height: 1.65; }
  .entry-content a[href]::after { content: none; }
  .post-thumbnail img, .entry-content img { border: 1px solid #ccc; filter: none; }
  .hero h1 { font-size: 24pt; }
  h1, h2, h3, h4 { page-break-after: avoid; }
  img { page-break-inside: avoid; max-width: 100% !important; }
  p, li, blockquote { orphans: 3; widows: 3; }
}

/* Image grayscale — signature editorial treatment (content images only) */
.story-img, .prog-img, .prog-image,
.team-photo, .founder-photo,
.blog-card img, .post-thumbnail img,
.entry-content img,
img.size-the-edition-card,
img.size-the-edition-featured {
  filter: grayscale(1) contrast(1.045) brightness(.985);
}
img { display: block; max-width: 100%; height: auto; }
