/*
Theme Name:   Alumni Museum
Theme URI:    https://uticainstitute.org
Description:  Child theme of Twenty Twenty-Four for the Alumni Museum community site.
Author:       Alumni Museum
Template:     twentytwentyfour
Version:      1.0.0
License:      GNU General Public License v2 or later
Text Domain:  alumni-museum
*/

:root {
  --am-maroon-deep:  #2E0A16;
  --am-maroon-dark:  #4A1020;
  --am-maroon:       #6B1A2A;
  --am-maroon-light: #8C2A3E;
  --am-gold:         #C9A84C;
  --am-gold-warm:    #D4A843;
  --am-gold-light:   #E2C57A;
  --am-gold-pale:    #F5E8C0;
  --am-cream:        #FAF6EE;
  --am-cream-dark:   #F0E8D8;
  --am-ink:          #1C1008;
  --am-ink-mid:      #3D2B1A;
  --am-ink-light:    #6B5240;
  --am-rule:         rgba(201, 168, 76, 0.27);
  --am-font-display: 'Playfair Display', Georgia, serif;
  --am-font-body:    'Source Serif 4', Georgia, serif;
  --am-font-accent:  'Cormorant Garamond', Georgia, serif;
}

body {
  background-color: var(--am-cream) !important;
  color: var(--am-ink) !important;
  font-family: var(--am-font-body) !important;
  font-size: 18px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,h6,.wp-block-post-title,.entry-title {
  font-family: var(--am-font-display) !important;
  color: var(--am-maroon-dark) !important;
  line-height: 1.18;
}
h1 { font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 800; }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.4rem); font-weight: 700; }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.7rem); font-weight: 600; }
h4 { font-size: 1.2rem; font-weight: 600; }

p { font-family: var(--am-font-body); color: var(--am-ink-mid); line-height: 1.8; margin-bottom: 1.2em; }
a { color: var(--am-maroon); text-decoration-color: var(--am-gold); transition: color 0.2s; }
a:hover { color: var(--am-maroon-light); }

blockquote {
  border-left: 4px solid var(--am-gold);
  margin: 2rem 0; padding: 1rem 1.5rem;
  background: var(--am-gold-pale);
  font-family: var(--am-font-accent);
  font-size: 1.15rem; font-style: italic;
  color: var(--am-ink-mid);
}

/* Header */
.wp-block-template-part[data-slug="header"], header.wp-block-template-part {
  background-color: var(--am-maroon-deep) !important;
  border-bottom: 3px solid var(--am-gold);
  box-shadow: 0 2px 24px rgba(0,0,0,0.4);
}
.wp-block-site-title a, .wp-block-site-title {
  font-family: var(--am-font-display) !important;
  font-size: 1.1rem !important; font-weight: 600 !important;
  color: var(--am-gold-light) !important;
  letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none !important;
}
.wp-block-navigation a, .wp-block-navigation .wp-block-navigation-item__content {
  font-family: var(--am-font-body) !important;
  font-size: 0.78rem !important; font-weight: 600 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  color: var(--am-gold-pale) !important; opacity: 0.85; transition: opacity 0.2s, color 0.2s;
}
.wp-block-navigation a:hover { color: var(--am-gold-light) !important; opacity: 1; }

/* Footer */
.wp-block-template-part[data-slug="footer"], footer.wp-block-template-part {
  background-color: var(--am-maroon-deep) !important;
  border-top: 3px solid var(--am-gold);
}
footer p, footer a { color: var(--am-gold-pale) !important; font-family: var(--am-font-accent); font-style: italic; opacity: 0.7; }

/* Buttons */
.wp-block-button__link, .wp-element-button {
  font-family: var(--am-font-body) !important; font-size: 0.78rem !important;
  font-weight: 600 !important; letter-spacing: 0.14em !important;
  text-transform: uppercase !important; border-radius: 2px !important; transition: all 0.2s !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background-color: var(--am-gold) !important; color: var(--am-maroon-deep) !important;
  border: 2px solid var(--am-gold) !important; padding: 0.8rem 2rem !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: var(--am-gold-light) !important; border-color: var(--am-gold-light) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important; color: var(--am-maroon) !important;
  border: 2px solid var(--am-gold) !important; padding: 0.8rem 2rem !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--am-gold) !important; color: var(--am-maroon-deep) !important;
}

/* Decade Ribbon — add class "am-decade-ribbon" to a Group block */
.am-decade-ribbon {
  background-color: var(--am-maroon) !important;
  border-top: 1px solid var(--am-gold); border-bottom: 1px solid var(--am-gold);
  overflow-x: auto; scrollbar-width: none;
}
.am-decade-ribbon::-webkit-scrollbar { display: none; }
.am-decade-ribbon a {
  font-family: var(--am-font-display) !important; font-size: 0.9rem !important;
  font-weight: 600 !important; color: var(--am-gold-pale) !important;
  padding: 0.85rem 1.4rem !important;
  border-right: 1px solid rgba(201,168,76,0.2); white-space: nowrap;
  transition: background 0.2s, color 0.2s !important;
}
.am-decade-ribbon a:hover, .am-decade-ribbon a.current-menu-item {
  background-color: var(--am-maroon-dark) !important; color: var(--am-gold-light) !important;
}

/* Section labels — add class "am-section-label" to Paragraph blocks */
.am-section-label {
  font-family: var(--am-font-accent); font-size: 0.85rem;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--am-gold-warm); display: block; margin-bottom: 0.5rem;
}
.am-gold-rule { width: 56px; height: 3px; background: var(--am-gold); border: none; margin: 0.8rem 0 2rem; }

/* Decade feature card — add class "am-decade-card" to Media & Text blocks */
.am-decade-card { border: 1px solid var(--am-gold) !important; overflow: hidden; box-shadow: 0 8px 48px rgba(107,26,42,0.13); }
.am-decade-card .wp-block-media-text__media { background: var(--am-maroon) !important; }
.am-decade-card .wp-block-media-text__content { background: white; padding: 3rem !important; }

/* Memory cards — add class "am-memory-card" to Group blocks */
.am-memory-card {
  background: white !important; border: 1px solid var(--am-cream-dark) !important;
  border-top: 3px solid var(--am-maroon) !important; padding: 1.8rem !important;
  transition: box-shadow 0.2s, transform 0.2s;
}
.am-memory-card:hover { box-shadow: 0 8px 32px rgba(107,26,42,0.1); transform: translateY(-3px); }

/* Alumni badges — add class "am-badge" / "am-badge--hs" / "am-badge--jc" / "am-badge--both" */
.am-badge {
  display: inline-block; font-family: var(--am-font-accent); font-size: 0.75rem;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--am-maroon) !important; background: var(--am-gold-pale);
  border: 1px solid var(--am-gold); padding: 0.2rem 0.7rem; border-radius: 1px;
}
.am-badge--hs   { border-color: var(--am-maroon); background: rgba(107,26,42,0.07); }
.am-badge--jc   { border-color: var(--am-gold-warm); background: var(--am-gold-pale); }
.am-badge--both { border-color: var(--am-maroon); background: var(--am-maroon); color: var(--am-gold-light) !important; }

/* Hero — add class "am-hero" to a Cover or Group block */
.am-hero {
  background-color: var(--am-maroon-deep) !important;
  background-image: radial-gradient(ellipse at 70% 50%, rgba(140,42,62,0.18) 0%, transparent 60%) !important;
  padding: 6rem 2rem 5rem !important; text-align: center;
}
.am-hero h1, .am-hero h2 { color: var(--am-cream) !important; }
.am-hero p { color: var(--am-gold-pale); font-family: var(--am-font-accent); font-size: 1.25rem; font-style: italic; }
.am-hero em { color: var(--am-gold-light); }
.am-hero .wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--am-gold-pale) !important;
  border-color: var(--am-gold) !important;
}
.am-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--am-gold) !important;
  color: var(--am-maroon-deep) !important;
}

/* Stat - add class "am-stat" to a Group block wrapping each stat */
.am-stat {
  text-align: left;
  padding-top: 1.5rem;
  border-top: 1px solid var(--am-rule);
}
.am-stat-number {
  font-family: var(--am-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--am-maroon);
  line-height: 1;
  margin-bottom: 0.3rem;
}
.am-stat-label {
  font-family: var(--am-font-accent);
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--am-ink-light);
  margin-bottom: 0;
}

/* WPForo */
#wpforo, .wpforo-wrap { font-family: var(--am-font-body) !important; color: var(--am-ink-mid) !important; }
.wpforo-wrap .wpf-cat-title, .wpforo-wrap .wpf-forum-title a { font-family: var(--am-font-display) !important; color: var(--am-maroon-dark) !important; }
.wpforo-wrap .wpf-cate-head { background-color: var(--am-maroon-dark) !important; border-bottom: 2px solid var(--am-gold) !important; }
.wpforo-wrap .wpf-cate-head * { color: var(--am-gold-light) !important; }
.wpforo-wrap .wpf-forum-wrap { border-color: var(--am-rule) !important; background: white !important; transition: background 0.15s; }
.wpforo-wrap .wpf-forum-wrap:hover { background: var(--am-cream) !important; }
.wpforo-wrap .wpf-topic-title a { font-family: var(--am-font-display) !important; font-weight: 600; color: var(--am-maroon-dark) !important; }
.wpforo-wrap .wpf-topic-title a:hover { color: var(--am-maroon-light) !important; }
.wpforo-wrap .wpf-post-body { font-family: var(--am-font-body) !important; font-size: 1rem; line-height: 1.8; color: var(--am-ink-mid) !important; }
.wpforo-wrap .wpf-post-author a { font-family: var(--am-font-display) !important; font-weight: 600; color: var(--am-maroon) !important; }
.wpforo-wrap .wpf-btn, .wpforo-wrap button[type="submit"] {
  background-color: var(--am-maroon) !important; color: var(--am-gold-pale) !important;
  font-family: var(--am-font-body) !important; font-size: 0.78rem !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important;
  border: none !important; border-radius: 2px !important; transition: background 0.2s !important;
}
.wpforo-wrap .wpf-btn:hover, .wpforo-wrap button[type="submit"]:hover { background-color: var(--am-maroon-light) !important; }
.wpforo-wrap .wpf-user-rank, .wpforo-wrap .wpf-member-rank {
  font-family: var(--am-font-accent) !important; font-size: 0.7rem !important;
  letter-spacing: 0.16em !important; text-transform: uppercase !important;
  color: var(--am-maroon) !important; background: var(--am-gold-pale) !important;
  border: 1px solid var(--am-gold) !important; padding: 0.1rem 0.5rem !important; border-radius: 1px !important;
}
.wpforo-wrap .wpf-breadcrumb a { color: var(--am-maroon) !important; }
.wpforo-wrap input[type="search"] { border: 1px solid var(--am-cream-dark) !important; font-family: var(--am-font-body) !important; border-radius: 2px !important; }
.wpforo-wrap input[type="search"]:focus { border-color: var(--am-gold) !important; outline: 2px solid rgba(201,168,76,0.3) !important; }

/* Responsive */
@media (max-width: 768px) {
  body { font-size: 16px; }
  .am-decade-ribbon a { padding: 0.75rem 1rem !important; }
  .am-decade-card .wp-block-media-text__content { padding: 1.8rem !important; }
}
@media (max-width: 480px) {
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.4rem; }
  .am-hero { padding: 3.5rem 1.2rem 3rem !important; }
}