/* Hand-written styles. Add new rules here — main.css is the auto-pruned legacy bundle. */

/* SVG sprite icons (see build.js `icon()` global). Replaces FontAwesome.
   Symbols use fill="currentColor" so the icon picks up the parent's text colour. */
.icon         { width: 1em; height: 1em; vertical-align: -0.125em; display: inline-block; }
.icon--2x     { font-size: 2em; }
.icon--3x     { font-size: 3em; }
.icon--spin   { animation: spin 2s linear infinite; } /* @keyframes spin lives in main.css */

/* Comment form status messages. */
.form-status--pending  { color: #555; }
.form-status--success  { color: #1f7a1f; }
.form-status--error    { color: #b00020; }

/* Lock the page to viewport-height + no scroll until cover-loaded fires (theme.js removes
   this class). Otherwise users who land mid-page or scroll fast can miss the loading state.
   The cover section is already 100vh so this just enforces "you start at the top". */
html.cover-loading { overflow: hidden; height: 100vh; }

/* Cover image: was a <div> with background-size:cover; now an <img>. object-fit replicates
   that crop-to-fill behavior; width:100% overrides img's default intrinsic-width sizing.
   theme.js sets object-position:left center for winter to mirror the old background-position. */
.m-landing__cover { width: 100%; object-fit: cover; object-position: center center; }

/* Post-feed thumbnail: same div→img conversion, same object-fit treatment. */
.m-pfeed__bg     { object-fit: cover; object-position: center center; }
