/*
Theme Name:   FBC — Family Business Center
Theme URI:    https://cbu-fbc.org
Description:  GeneratePress child theme for the Family Business Center at California Baptist University. Carries the approved prototype's ink/gold palette, Archivo · Spectral · IBM Plex Mono type, dark header, section spine layout, tier cards, and call-to-action band. Section layouts are available as block patterns under the "FBC" category.
Author:       Dr. Thomas M. Fryer, Director, Family Business Center
Template:     generatepress
Version:      1.1.0
Requires PHP: 8.1
Text Domain:  fbc
*/

/* ==========================================================================
   1. GeneratePress overrides — header, navigation, footer, content width
   Component styles (bands, tiers, cards, hero, ledger) live in prototype.css,
   which functions.php enqueues after this file.
   ========================================================================== */

/* Content width matches the prototype's 1180px wrap */
.site-content .grid-container,
.site-header .inside-header,
.site-footer .inside-site-info,
.main-navigation .inside-navigation {
  max-width: 1180px;
}

/* Body ground and type */
body {
  background: var(--paper, #F2F1EC);
  color: var(--ink, #0B1B33);
  font-family: 'Spectral', Georgia, serif;
  font-size: 1.0625rem;
  line-height: 1.65;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Archivo', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.04;
}

/* ---------- Header / primary navigation (dark, sticky) ---------- */
.site-header,
.main-navigation,
.main-navigation .inside-navigation {
  background: rgba(11, 27, 51, .96);
  color: #fff;
}
.site-header {
  border-bottom: 1px solid rgba(232, 217, 168, .16);
}
.main-title a,
.site-description {
  color: #fff;
}
.main-title a {
  font-family: 'Archivo', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -.01em;
}
.site-description {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: .6875rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold-pale, #E8D9A8);
}
.main-navigation a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-item > a {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: .75rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .72);
}
.main-navigation .main-nav ul li a {
  padding-left: .8rem;
  padding-right: .8rem;
  border-bottom: 2px solid transparent;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a {
  color: #fff;
  background: transparent;
  border-bottom-color: var(--gold, #C9A227);
}
.main-navigation ul ul {
  background: var(--ink, #0B1B33);
}
.main-navigation .menu-item-members > a {
  color: var(--gold-pale, #E8D9A8);
}

/* Header buttons injected by functions.php */
.fbc-nav-buttons {
  display: flex;
  gap: .6rem;
  align-items: center;
  padding: 0 .5rem;
}
.fbc-nav-buttons .fbc-login {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: .75rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gold-pale, #E8D9A8);
  text-decoration: none;
  padding: .55rem .95rem;
  border: 1px solid rgba(232, 217, 168, .4);
}
.fbc-nav-buttons .fbc-login:hover {
  border-color: var(--gold, #C9A227);
  color: #fff;
}
.fbc-nav-buttons .fbc-join {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: .75rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--gold, #C9A227);
  color: var(--ink, #0B1B33);
  text-decoration: none;
  padding: .55rem .95rem;
  font-weight: 500;
}
.fbc-nav-buttons .fbc-join:hover {
  background: var(--gold-pale, #E8D9A8);
}

/* ---------- Page content ---------- */
/* Pages built from FBC patterns are full-width bands; remove GP's content box. */
.page .inside-article,
.single .inside-article {
  padding: 0;
  background: transparent;
}
.page .entry-header {
  display: none; /* pattern heroes carry the page title */
}
.page.fbc-show-title .entry-header {
  display: block;
  padding: 2rem 0 1rem;
}
.entry-content > *:not(.alignfull):not(.alignwide):not(.band):not(.hero):not(.cta-band) {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1.25rem, 4vw, 3.5rem);
  padding-right: clamp(1.25rem, 4vw, 3.5rem);
}
.entry-content .band,
.entry-content .hero,
.entry-content .cta-band {
  width: 100%;
}

/* Links inside body copy */
.entry-content a:not(.btn) {
  color: var(--navy, #16365E);
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Core blocks that should inherit the prototype look */
.wp-block-table table { font-size: .9375rem; }
.wp-block-buttons .wp-block-button__link {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 0;
  background: var(--ink, #0B1B33);
  color: #fff;
  padding: .8rem 1.3rem;
}
.wp-block-buttons .is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--ink, #0B1B33);
  border: 1px solid var(--ink, #0B1B33);
}
.wp-block-buttons .is-style-fbc-gold .wp-block-button__link {
  background: var(--gold, #C9A227);
  color: var(--ink, #0B1B33);
}

/* ---------- Footer ---------- */
.site-footer,
.site-info,
.footer-widgets {
  background: var(--ink, #0B1B33);
  color: rgba(255, 255, 255, .6);
  font-size: .875rem;
}
.footer-widgets .widget-title {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: .6875rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold, #C9A227);
  font-weight: 500;
}
.footer-widgets a,
.site-info a {
  color: rgba(255, 255, 255, .72);
  text-decoration: none;
}
.footer-widgets a:hover,
.site-info a:hover {
  color: var(--gold-pale, #E8D9A8);
}
.site-info .copyright {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: .6875rem;
  color: rgba(255, 255, 255, .38);
  line-height: 1.7;
}
.site-info {
  border-top: 1px solid rgba(232, 217, 168, .18);
}

/* ---------- Paid Memberships Pro ---------- */
.pmpro_content_message,
#pmpro_form,
.pmpro_box {
  font-family: 'Spectral', Georgia, serif;
}
.pmpro_btn,
.pmpro_btn-submit {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .75rem !important;
  border-radius: 0 !important;
  background: var(--ink, #0B1B33) !important;
  border-color: var(--ink, #0B1B33) !important;
}

/* ---------- WPForms ---------- */
.wpforms-container .wpforms-form .wpforms-field-label {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: .6875rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--slate, #5B6472);
}
.wpforms-container .wpforms-form input[type=submit],
.wpforms-container .wpforms-form button[type=submit] {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .75rem;
  border-radius: 0;
  background: var(--ink, #0B1B33);
  border-color: var(--ink, #0B1B33);
  color: #fff;
}

/* Editor: keep patterns readable in the block editor */
.editor-styles-wrapper .band,
.editor-styles-wrapper .hero,
.editor-styles-wrapper .cta-band {
  margin-left: 0;
  margin-right: 0;
}

/* Dashboard quick-link cards (pattern: Member Dashboard) */
a.res { color: inherit; }
a.res:hover { border-color: var(--gold, #C9A227); }
a.res:hover h4 { color: var(--navy, #16365E); }

/* Rumble embeds (pattern: Podcast episode) — responsive 16:9 */
.rumble-wrap { position: relative; max-width: 720px; aspect-ratio: 16 / 9; background: var(--ink, #0B1B33); margin: .8rem 0; }
.rumble-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
