/*
Theme Name: PST STEM
Theme URI: https://stem.pst.co
Author: Plain Simple Technology, Inc.
Author URI: https://pst.co
Description: Block theme for STEM.pst.co — PST's youth STEM programs. Dark PST brand system: black canvas, Archivo display, IBM Plex Sans body, JetBrains Mono eyebrow labels, orange CTAs, square corners, hairline rules. No gradients, no shadows, no rounded cards.
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.1
Version: 0.1.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pst-stem
Tags: full-site-editing, block-theme, custom-colors, custom-menu, editor-style, one-column
*/

/*
 * Block themes are driven by theme.json. This file carries only the theme
 * header (required by WP) plus a few hand rules that theme.json cannot yet
 * express cleanly. Keep it minimal — prefer theme.json.
 */

/* Eyebrow label helper — uppercase, letterspaced mono (applied via the
   "Eyebrow" block style and the .eyebrow class used in patterns). */
.eyebrow,
.is-style-eyebrow {
  font-family: var(--wp--preset--font-family--mono);
  font-weight: 500;
  font-size: var(--wp--preset--font-size--eyebrow);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--wp--preset--color--muted);
}

/* Hairline rule utility for group/columns edges. */
.has-hairline-border { border: 1px solid var(--wp--preset--color--hairline); }
.has-hairline-top    { border-top: 1px solid var(--wp--preset--color--hairline); }

/* Square everything — belt-and-suspenders against plugin CSS that rounds. */
.wp-block-button__link,
.wp-block-image img,
.wp-block-group,
.wp-block-columns,
input, textarea, select, .frm-fluent-form input, .ff-btn {
  border-radius: 0 !important;
}

/* Kill shadows/gradients that plugins may inject. */
* { box-shadow: none !important; background-image: none; }
.has-background-gradient { background-image: none !important; }

/* Progress meter (funding) — square, hairline track, orange fill. Yellow is
   reserved for deadlines only, so funding progress uses orange. */
.pst-meter { display:block; width:100%; height:10px; background:var(--wp--preset--color--surface); border:1px solid var(--wp--preset--color--hairline); }
.pst-meter > span { display:block; height:100%; background:var(--wp--preset--color--orange); }

/* Deadline / alert banner — the ONLY sanctioned use of yellow. */
.pst-deadline { border:1px solid var(--wp--preset--color--yellow); color:var(--wp--preset--color--yellow); font-family:var(--wp--preset--font-family--mono); text-transform:uppercase; letter-spacing:0.12em; padding: .75rem 1rem; }

/* Skip link accessibility default WP provides; ensure visible focus. */
:where(a, button, input, [tabindex]):focus-visible { outline: 2px solid var(--wp--preset--color--orange); outline-offset: 2px; }
