/*
Theme Name: Poorman Media
Theme URI: https://poormanmedia.com
Author: InnovaERP
Description: Block theme for Poorman Media LLC — wildlife photography portfolio and print gallery. Ships three style variations: Understory (dark gallery), Field Notes (paper archive), and Blind & Bough (graphic). Palette sampled from Ethan Burnham's photographs.
Version: 0.1.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: poorman-media
Tags: portfolio, photography, block-patterns, full-site-editing, wide-blocks
*/

/* Block themes style through theme.json. Only what the editor cannot express lives here. */

.pm-lockup__by{
  font-size: var(--wp--preset--font-size--tiny);
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--dim);
  font-family: var(--wp--preset--font-family--body);
  font-weight: 500;
  margin-block-start: 1.1rem;
}
.pm-eyebrow{
  font-size: var(--wp--preset--font-size--tiny);
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--dim);
  font-family: var(--wp--preset--font-family--body);
  font-weight: 500;
}

/* photographs sit flush; the image is the only luminous thing on a dark ground */
.pm-plate img{ width:100%; height:100%; object-fit:cover; display:block; }
.pm-plate--glow img{ box-shadow: 0 0 120px 28px rgb(from var(--wp--preset--color--accent) r g b / .13); }

/* photo grid rendered by [pm_photos] */
.pm-photos{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fill, minmax(min(100%, 260px), 1fr)); margin-block: 2rem; }
.pm-photos figure{ margin:0; }
.pm-photos img{ width:100%; height:auto; display:block; }
.pm-photos figcaption{
  font-size:.72rem; letter-spacing:.06em; color:var(--wp--preset--color--dim);
  margin-block-start:.5rem;
}
.pm-photos--empty{ color:var(--wp--preset--color--dim); font-size:.9rem; }

/* collection cards in a query loop */
.pm-card__meta{
  font-size: var(--wp--preset--font-size--tiny);
  letter-spacing:.2em; text-transform:uppercase; color:var(--wp--preset--color--dim);
}

/* keyboard focus is always visible */
:where(a, button, input, textarea, summary):focus-visible{
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ── tables ──────────────────────────────────────────────────────
   Core ships a boxed grid (1px borders that inherit the text colour) and a
   stripes style hard-coded to #f0f0f0. Both assume a light ground and break
   on ours. Replaced with horizontal rules drawn from the palette, so the
   treatment follows whichever style variation is active.
   Selectors include `table` to out-specify the core block stylesheet.       */
.wp-block-table table{ border-collapse:collapse; width:100%; }
.wp-block-table table :is(td,th){
  border:0;
  border-block-end:1px solid var(--wp--preset--color--line);
  padding:.72rem 0;
  text-align:left;
  vertical-align:baseline;
}
.wp-block-table table thead{ border-bottom:0; }
.wp-block-table table th{
  font-family:var(--wp--preset--font-family--body);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--wp--preset--color--dim);
  padding-block-end:.55rem;
}
.wp-block-table table td{
  font-size:.88rem;
  font-variant-numeric:tabular-nums;
  color:var(--wp--preset--color--contrast);
}
.wp-block-table table :is(td,th):last-child{
  text-align:right;
  color:var(--wp--preset--color--dim);
}
/* neutralise the stripes style wherever the class still exists */
.wp-block-table.is-style-stripes{ border-bottom:0; background-color:transparent; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd){ background-color:transparent; }
.wp-block-table.is-style-stripes table :is(td,th){ border-color:var(--wp--preset--color--line); }

/* captions read as annotation, never as body copy */
.wp-element-caption,
.wp-block-table figcaption{
  color:var(--wp--preset--color--dim);
  font-size:.72rem;
  line-height:1.5;
  margin-block-start:.8rem;
}

/* the prints columns should not collide on narrow screens */
@media (max-width: 781px){
  .wp-block-columns:not(.is-not-stacked-on-mobile){ gap:var(--wp--preset--spacing--30); }
}
