/*
Theme Name: RHS Child Theme
Theme URI: https://rhs.got2web.dev
Description: Rutland High School Class of 1977 Reunion — child theme of Divi. Talisman design system: Raider Crimson, Cream, and Gold palette with Playfair Display, Oswald, and Lora typography.
Author: Dave Morgan / Got2Web
Author URI: https://got2web.com
Template: Divi
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rhs-child
*/

/* ==========================================================================
   RHS Class of 1977 — The Golden Gathering
   Talisman Design System — Global CSS Custom Properties
   ========================================================================== */

:root {
  /* Color Palette */
  --rhs-crimson:     #8C1515;
  --rhs-crimson-dark:#6B0F0F;
  --rhs-gold:        #C9963F;
  --rhs-cream:       #F5F0E8;
  --rhs-ink:         #1A1A1A;
  --rhs-white:       #FFFFFF;
  --rhs-warm-gray:   #B0A89A;
  --rhs-muted:       #6B6359;

  /* Typography */
  --font-display:    'Playfair Display', serif;
  --font-label:      'Oswald', sans-serif;
  --font-body:       'Lora', serif;
  --font-caption:    'Dancing Script', cursive;

  /* Spacing */
  --space-sm:  16px;
  --space-md:  40px;
  --space-lg:  80px;
  --space-section-v: 90px;
  --space-section-h: 60px;
}

/* Google Fonts — loaded here so they cascade through Divi */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Oswald:wght@400;700&family=Lora:ital,wght@0,400;0,600;1,400;1,600&family=Dancing+Script:wght@700&display=swap');

/* ==========================================================================
   Global Base Overrides
   ========================================================================== */

body {
  background-color: var(--rhs-cream);
  color: var(--rhs-ink);
  font-family: var(--font-body);
}

h1, .et_pb_slide_title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--rhs-ink);
}

h2, h3 {
  font-family: var(--font-label);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rhs-crimson);
}

h4, h5, h6 {
  font-family: var(--font-body);
  font-weight: 600;
  font-style: italic;
}

a {
  color: var(--rhs-crimson);
}

a:hover {
  color: var(--rhs-gold);
}

/* ==========================================================================
   Double-Rule Divider — yearbook motif
   ========================================================================== */

.rhs-divider {
  border: none;
  border-top: 1px solid var(--rhs-crimson);
  box-shadow: 0 6px 0 0 var(--rhs-crimson);
  height: 1px;
  margin: var(--space-md) auto;
  width: 120px;
}

/* ==========================================================================
   Section Label — Oswald uppercase eyebrow
   ========================================================================== */

.rhs-eyebrow {
  display: block;
  font-family: var(--font-label);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.38em;
  color: var(--rhs-crimson);
  margin-bottom: 12px;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.et_pb_button,
.et_pb_button:visited {
  background-color: var(--rhs-crimson) !important;
  color: var(--rhs-cream) !important;
  border-color: var(--rhs-crimson) !important;
  border-radius: 4px !important;
  font-family: var(--font-label) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  padding: 14px 32px !important;
}

.et_pb_button:hover {
  background-color: var(--rhs-crimson-dark) !important;
  border-color: var(--rhs-crimson-dark) !important;
  color: var(--rhs-cream) !important;
}

.et_pb_button.rhs-btn-gold {
  background-color: transparent !important;
  color: var(--rhs-gold) !important;
  border-color: var(--rhs-gold) !important;
}

.et_pb_button.rhs-btn-gold:hover {
  background-color: var(--rhs-gold) !important;
  color: var(--rhs-ink) !important;
}

/* ==========================================================================
   Header / Nav
   ========================================================================== */

#main-header,
#main-header.et-fixed-header {
  background-color: var(--rhs-white) !important;
  border-bottom: 3px solid var(--rhs-crimson) !important;
}

#et-top-navigation nav > ul > li > a,
#et-top-navigation nav > ul > li > a:visited {
  font-family: var(--font-label) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  color: var(--rhs-ink) !important;
}

#et-top-navigation nav > ul > li > a:hover {
  color: var(--rhs-crimson) !important;
}

/* ==========================================================================
   Portrait Cards — In Memoriam / Committee
   ========================================================================== */

.rhs-portrait-card {
  background: var(--rhs-white);
  border-top: 4px solid var(--rhs-crimson);
  padding: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.10);
  text-align: center;
}

.rhs-portrait-card img {
  width: 100%;
  max-width: 200px;
  height: auto;
  margin: 0 auto 16px;
  display: block;
}

.rhs-portrait-card .name {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--rhs-ink);
  margin-bottom: 4px;
}

.rhs-portrait-card .years {
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-style: italic;
  color: var(--rhs-muted);
}

/* ==========================================================================
   Pull Quote
   ========================================================================== */

.rhs-pull-quote {
  font-family: var(--font-body);
  font-size: 1.4em;
  font-weight: 600;
  font-style: italic;
  color: var(--rhs-ink);
  text-align: center;
  position: relative;
  padding: 0 40px;
}

.rhs-pull-quote::before,
.rhs-pull-quote::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background: var(--rhs-gold);
  margin: 20px auto;
}

/* ==========================================================================
   Sticky Site Header — Theme Builder header section
   ========================================================================== */

.rhs-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: 0 1px 6px rgba(26,26,26,0.10) !important;
  width: 100% !important;
}

/* Offset admin bar when logged in */
.admin-bar .rhs-site-header {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  .admin-bar .rhs-site-header {
    top: 46px !important;
  }
}

/* Nav link spacing */
.rhs-site-header .et_pb_text p a {
  display: inline-block;
  margin: 0 14px;
  text-decoration: none !important;
  color: var(--rhs-ink) !important;
  transition: color 0.2s;
}

.rhs-site-header .et_pb_text p a:hover {
  color: var(--rhs-crimson) !important;
}

/* ==========================================================================
   Footer
   ========================================================================== */

#main-footer {
  background-color: var(--rhs-crimson) !important;
  color: var(--rhs-cream) !important;
}

#main-footer a,
#main-footer .footer-widget h4 {
  color: var(--rhs-gold) !important;
}

#main-footer a:hover {
  color: var(--rhs-cream) !important;
}
