/* ============================================
   HEAVY METAL MONEY — Complete Site CSS
   GeneratePress Theme | Version 3.0
   Brand Green: #34653D (R:52 G:101 B:61)
   Last updated: April 2026
   ============================================ */

/* --- GOOGLE FONTS --- */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:wght@400;600;700&family=Lora:ital,wght@0,400;0,600;1,400&display=swap');

/* ============================================
   CSS VARIABLES
   ============================================ */
:root {
  --hmm-green:        #34653D;
  --hmm-green-light:  #3f7a49;
  --hmm-green-dark:   #243f28;
  --hmm-black:        #0A0A0A;
  --hmm-dark:         #141414;
  --hmm-dark-mid:     #1E1E1E;
  --hmm-dark-card:    #141414;
  --hmm-gray:         #232323;
  --hmm-gray-mid:     #3A3A3A;
  --hmm-gray-light:   #888;
  --hmm-white:        #F2F2F2;
  --hmm-white-dim:    #C8C8C8;
  --font-display:     'Bebas Neue', sans-serif;
  --font-heading:     'Barlow Condensed', sans-serif;
  --font-body:        'Lora', Georgia, serif;
  --max-width:        1200px;
  --radius:           3px;
  --transition:       all 0.2s ease;
  --shadow-card:      0 4px 24px rgba(0,0,0,0.6);
}

/* ============================================
   GLOBAL BASE
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }

body {
  background-color: var(--hmm-black) !important;
  color: var(--hmm-white) !important;
  font-family: var(--font-body) !important;
  font-size: 17px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ============================================
   TYPOGRAPHY
   ============================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading) !important;
  color: var(--hmm-white) !important;
  letter-spacing: 0.04em;
  line-height: 1.15;
  text-transform: uppercase;
  font-weight: 700;
}

h1 { font-size: clamp(2rem, 4vw, 3.2rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.9rem); }
h4 { font-size: 1.4rem; }

.entry-title a,
.entry-title {
  font-family: var(--font-heading) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

p { color: var(--hmm-white-dim); margin-bottom: 1.5em; }

a {
  color: var(--hmm-green) !important;
  text-decoration: none !important;
  transition: var(--transition);
}
a:hover { color: var(--hmm-green-light) !important; }

strong, b { color: var(--hmm-white); font-weight: 700; }

blockquote {
  border-left: 4px solid var(--hmm-green);
  background: var(--hmm-dark-mid);
  padding: 1.2rem 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: var(--hmm-white);
  border-radius: 0 var(--radius) var(--radius) 0;
}

/* ============================================
   HEADER — Pure black, logo left, nav right
   ============================================ */
.site-header,
#masthead,
.inside-header,
.site-branding,
.main-navigation,
.nav-primary,
#site-navigation,
.primary-navigation,
.header-widget,
.navigation-branding,
.site-header .grid-container,
.site-header .inside-site-header {
  background: #0A0A0A !important;
  background-color: #0A0A0A !important;
}

.site-header {
  box-shadow: none !important;
  border-bottom: 2px solid var(--hmm-green) !important;
}

/* Logo */
.site-logo img,
.custom-logo,
.custom-logo-link img,
.site-branding img {
  max-height: 120px !important;
  width: auto !important;
  max-width: 320px !important;
  display: block !important;
}

.site-branding,
.site-logo {
  display: flex !important;
  align-items: center !important;
  padding: 2px 0 !important;
}

/* Hide text title — logo image replaces it */
.site-title,
.site-description {
  display: none !important;
}

/* ============================================
   NAVIGATION
   ============================================ */
.main-navigation ul li a,
.nav-primary ul li a {
  font-family: var(--font-heading) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--hmm-white) !important;
  background: transparent !important;
  padding: 14px 18px !important;
  transition: var(--transition) !important;
}

.main-navigation ul li a:hover,
.nav-primary ul li a:hover,
.main-navigation ul li.current-menu-item > a {
  color: var(--hmm-green) !important;
  background: transparent !important;
}

/* Dropdowns */
.main-navigation ul ul {
  background: var(--hmm-dark-mid) !important;
  border: 1px solid var(--hmm-gray) !important;
  border-top: 2px solid var(--hmm-green) !important;
}

.main-navigation ul ul li a {
  border-bottom: 1px solid var(--hmm-gray) !important;
  padding: 10px 16px !important;
}

/* ============================================
   SITE LAYOUT — Background + containers
   ============================================ */
.site-content,
.content-area,
#content,
#primary,
.site-main {
  background: var(--hmm-black) !important;
}

.container,
.grid-container {
  max-width: var(--max-width) !important;
  padding: 0 20px !important;
}

/* ============================================
   HOMEPAGE — Hide title, fix hero breakout
   ============================================ */

/* Hide ONLY the page title — not post card titles */
.home .page-header .entry-title,
.home > #primary > .site-main > article > .entry-header > .entry-title,
.home .type-page > .entry-header > .entry-title {
  display: none !important;
}

/* Make sure Newspack article titles are always visible */
.wp-block-newspack-blocks-homepage-articles .entry-title,
.wp-block-newspack-blocks-homepage-articles h2,
.wp-block-newspack-blocks-homepage-articles h3 {
  display: block !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #F2F2F2 !important;
  padding: 12px 16px 6px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.wp-block-newspack-blocks-homepage-articles .entry-title a {
  display: block !important;
  color: #F2F2F2 !important;
  text-decoration: none !important;
}

.wp-block-newspack-blocks-homepage-articles .entry-title a:hover {
  color: #34653D !important;
}

/* Remove top padding so hero sits flush under nav */
.home .entry-content,
.home .page-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ---- HERO FULL WIDTH BREAKOUT ----
   Forces hero to escape the content column
   and stretch edge to edge across the viewport */
.home .hmm-hero {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* ============================================
   HERO BLOCK — Black background, centered
   ============================================ */
.hmm-hero {
  background: #0A0A0A !important;
  background-image: none !important;
  text-align: center !important;
  padding-top: 72px !important;
  padding-bottom: 60px !important;
  border-bottom: 3px solid var(--hmm-green) !important;
}

.hmm-hero__bg {
  display: none !important;
}

.hmm-hero__content {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  padding-left: 0 !important;
}

.hmm-hero__eyebrow {
  display: inline-block !important;
  text-align: center !important;
}

.hmm-hero__headline {
  text-align: center !important;
  width: 100% !important;
}

.hmm-hero__sub {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.hmm-hero__ctas {
  justify-content: center !important;
  text-align: center !important;
}

.hmm-hero__signup {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.hmm-hero__signup-label,
.hmm-hero__signup-fine {
  text-align: center !important;
}

/* ============================================
   POST CARDS — Homepage & Blog
   ============================================ */
.post,
article.post {
  background: var(--hmm-dark-card) !important;
  border: 1px solid var(--hmm-gray) !important;
  border-radius: var(--radius) !important;
  margin-bottom: 28px !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  box-shadow: var(--shadow-card) !important;
}

.post:hover {
  border-color: var(--hmm-green) !important;
  transform: translateY(-2px) !important;
}

.post-thumbnail img,
.entry-image img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
  display: block !important;
}

.post:hover .post-thumbnail img {
  transform: scale(1.04) !important;
}

.entry-header { padding: 16px 20px 8px !important; }

.entry-content {
  padding: 0 20px !important;
  color: var(--hmm-white-dim) !important;
}

.entry-footer,
.post-footer {
  padding: 10px 20px 16px !important;
  border-top: 1px solid var(--hmm-gray) !important;
  margin-top: 12px !important;
}

/* Post meta */
.entry-meta {
  font-family: var(--font-heading) !important;
  font-size: 0.78rem !important;
  color: var(--hmm-gray-light) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

/* Category badge */
.cat-links a,
a[rel="category tag"] {
  background: var(--hmm-green) !important;
  color: var(--hmm-white) !important;
  font-family: var(--font-heading) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 2px !important;
  display: inline-block !important;
}

/* Read more */
a.more-link {
  display: inline-block !important;
  font-family: var(--font-heading) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--hmm-green) !important;
  border-bottom: 1px solid var(--hmm-green) !important;
  padding-bottom: 2px !important;
}

/* ============================================
   QUERY LOOP — Block editor post cards
   ============================================ */
.wp-block-query .wp-block-post {
  background: var(--hmm-dark-card) !important;
  border: 1px solid var(--hmm-gray) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  transition: var(--transition) !important;
}

.wp-block-query .wp-block-post:hover {
  border-color: var(--hmm-green) !important;
  transform: translateY(-2px) !important;
}

.wp-block-query .wp-block-post-featured-image img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}

.wp-block-query .wp-block-post-terms {
  padding: 12px 16px 0 !important;
}

.wp-block-query .wp-block-post-terms a {
  background: var(--hmm-green) !important;
  color: var(--hmm-white) !important;
  font-family: var(--font-heading) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 2px !important;
  display: inline-block !important;
  text-decoration: none !important;
}

.wp-block-query .wp-block-post-title {
  padding: 8px 16px 4px !important;
  margin: 0 !important;
}

.wp-block-query .wp-block-post-title a {
  font-family: var(--font-heading) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--hmm-white) !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

.wp-block-query .wp-block-post-title a:hover {
  color: var(--hmm-green) !important;
}

.wp-block-query .wp-block-post-excerpt {
  padding: 4px 16px 8px !important;
}

.wp-block-query .wp-block-post-excerpt p,
.wp-block-query .wp-block-post-excerpt__excerpt {
  font-size: 0.9rem !important;
  color: var(--hmm-gray-light) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.wp-block-query .wp-block-post-excerpt__more-link {
  color: var(--hmm-green) !important;
  font-family: var(--font-heading) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.wp-block-query .wp-block-post-date {
  padding: 4px 16px 14px !important;
  font-family: var(--font-heading) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #555 !important;
}

/* ============================================
   SIDEBAR — Widgets
   ============================================ */
.widget {
  background: var(--hmm-dark-card) !important;
  border: 1px solid var(--hmm-gray) !important;
  border-top: 3px solid var(--hmm-green) !important;
  border-radius: var(--radius) !important;
  padding: 20px !important;
  margin-bottom: 24px !important;
}

.widget-title,
.widgettitle {
  font-family: var(--font-heading) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--hmm-green) !important;
  border-bottom: 1px solid var(--hmm-gray) !important;
  padding-bottom: 10px !important;
  margin-bottom: 14px !important;
}

/* Sidebar widget links */
.hmm-widget__links {
  display: flex !important;
  flex-direction: column !important;
}

.hmm-widget__link {
  display: block !important;
  font-family: var(--font-heading) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--hmm-white-dim) !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid var(--hmm-dark-mid) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.hmm-widget__link:hover {
  color: var(--hmm-green) !important;
}

.hmm-widget__title {
  font-family: var(--font-heading) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--hmm-green) !important;
  border-bottom: 1px solid var(--hmm-gray) !important;
  padding-bottom: 10px !important;
  margin-bottom: 12px !important;
}

/* ============================================
   BUTTONS
   ============================================ */
.button,
button,
input[type="submit"],
.wp-block-button__link {
  background: var(--hmm-green) !important;
  color: var(--hmm-white) !important;
  font-family: var(--font-heading) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 12px 28px !important;
  border: none !important;
  border-radius: var(--radius) !important;
  cursor: pointer !important;
  transition: var(--transition) !important;
}

.button:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--hmm-green-light) !important;
  transform: translateY(-1px) !important;
}

/* ============================================
   AD ZONES
   ============================================ */
.ad-zone,
.hmm-ad {
  text-align: center !important;
  padding: 12px 0 !important;
  margin: 28px 0 !important;
  clear: both !important;
}

.ad-label {
  font-family: var(--font-heading) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--hmm-gray-light) !important;
  display: block !important;
  margin-bottom: 6px !important;
}

/* ============================================
   SINGLE BLOG POST
   ============================================ */
.single .entry-title {
  font-family: var(--font-display) !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  line-height: 1.05 !important;
  border-bottom: 3px solid var(--hmm-green) !important;
  padding-bottom: 16px !important;
  margin-bottom: 20px !important;
}

.single .entry-content p {
  font-size: 1.05rem !important;
  line-height: 1.9 !important;
  color: var(--hmm-white-dim) !important;
}

.single .entry-content h2 {
  color: var(--hmm-green) !important;
  border-left: 4px solid var(--hmm-green) !important;
  padding-left: 14px !important;
  margin-top: 2em !important;
}

.single .entry-content h3 {
  color: var(--hmm-white) !important;
  margin-top: 1.5em !important;
}

.single .entry-content a {
  color: var(--hmm-green) !important;
  text-decoration: underline !important;
}

.single .entry-content ul li::marker {
  color: var(--hmm-green) !important;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer,
#colophon {
  background: var(--hmm-dark) !important;
  border-top: 2px solid var(--hmm-green) !important;
  color: var(--hmm-gray-light) !important;
  padding: 40px 0 20px !important;
  margin-top: 60px !important;
}

.site-footer a { color: var(--hmm-green) !important; }
.site-footer a:hover { color: var(--hmm-green-light) !important; }

/* ============================================
   MOBILE
   ============================================ */
@media (max-width: 768px) {

  body { font-size: 16px !important; }
  h1   { font-size: 1.9rem !important; }
  h2   { font-size: 1.5rem !important; }

  /* Shrink logo */
  .site-logo img,
  .custom-logo,
  .custom-logo-link img {
    max-height: 60px !important;
  }

  /* Hamburger menu */
  .menu-toggle,
  button.menu-toggle {
    background: var(--hmm-green) !important;
    color: var(--hmm-white) !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    padding: 10px 18px !important;
    border: none !important;
    border-radius: var(--radius) !important;
    width: 100% !important;
    display: block !important;
  }

  .main-navigation.toggled ul {
    background: var(--hmm-dark) !important;
    border-top: 2px solid var(--hmm-green) !important;
    padding: 8px 0 !important;
  }

  .main-navigation.toggled ul li a {
    padding: 12px 20px !important;
    border-bottom: 1px solid var(--hmm-gray) !important;
    display: block !important;
    font-size: 1rem !important;
  }

  .main-navigation.toggled ul li:last-child a {
    border-bottom: none !important;
  }

  /* Hero on mobile */
  .home .hmm-hero {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Post images */
  .post-thumbnail img,
  .entry-image img,
  .wp-block-query .wp-block-post-featured-image img {
    height: 200px !important;
  }

  /* Sidebar stacks below posts */
  #secondary,
  .widget-area {
    margin-top: 32px !important;
  }
}

/* ============================================
   HOMEPAGE COLUMNS + BLOG WIDGET FIX
   Forces black background everywhere
   ============================================ */

/* Columns block background */
.home .wp-block-columns,
.home .wp-block-column {
  background: #0A0A0A !important;
}

/* Blog posts widget background */
.home .wp-block-latest-posts,
.home .wp-latest-posts,
.home ul.wp-block-latest-posts {
  background: #0A0A0A !important;
  padding: 0 !important;
}

/* Each post item in the widget */
.home .wp-block-latest-posts li,
.home ul.wp-block-latest-posts li {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-radius: 3px !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
  list-style: none !important;
  transition: all 0.2s ease !important;
}

.home .wp-block-latest-posts li:hover {
  border-color: #34653D !important;
  transform: translateY(-2px) !important;
}

/* Post title link */
.home .wp-block-latest-posts li a,
.home .wp-block-latest-posts__post-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #F2F2F2 !important;
  text-decoration: none !important;
  display: block !important;
  padding: 12px 16px 6px !important;
  line-height: 1.2 !important;
}

.home .wp-block-latest-posts li a:hover {
  color: #34653D !important;
}

/* Post excerpt */
.home .wp-block-latest-posts__post-excerpt {
  font-size: 0.9rem !important;
  color: #888 !important;
  line-height: 1.65 !important;
  padding: 0 16px 10px !important;
  margin: 0 !important;
}

/* Post date */
.home .wp-block-latest-posts__post-date {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  padding: 0 16px 12px !important;
  display: block !important;
}

/* Featured image inside post widget */
.home .wp-block-latest-posts__featured-image {
  margin: 0 !important;
}

.home .wp-block-latest-posts__featured-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}

/* White content area wrapper behind everything */
.home .entry-content > *,
.home .page-content > * {
  background: #0A0A0A !important;
}

/* Any remaining white boxes */
.home .wp-block-group,
.home .wp-block-group__inner-container {
  background: #0A0A0A !important;
}

/* Advertisement label */
.home .widget,
.home #secondary,
.home .widget-area {
  background: #0A0A0A !important;
}

/* White line between hero and content */
.home .entry-content {
  background: #0A0A0A !important;
}

/* White border/outline around the whole content area */
.home #primary,
.home .content-area,
.home .site-main {
  background: #0A0A0A !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Inner content padding restore for posts area */
.home .wp-block-columns {
  padding: 24px 20px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Remove WordPress default block margin above hero */
.home .entry-content > .hmm-hero,
.home .wp-block-html:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================
   NEWSPACK HOMEPAGE ARTICLES — Image Fix
   Exact selector from browser inspector
   ============================================ */

/* Image height and crop control */
.wp-block-newspack-blocks-homepage-articles .post-thumbnail,
.wp-block-newspack-blocks-homepage-articles figure.post-thumbnail {
  height: 300px !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.wp-block-newspack-blocks-homepage-articles .post-thumbnail img,
.wp-block-newspack-blocks-homepage-articles figure.post-thumbnail img {
  width: 100% !important;
  height: 400px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Card background and border */
.wp-block-newspack-blocks-homepage-articles article {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  transition: all 0.2s ease !important;
}

.wp-block-newspack-blocks-homepage-articles article:hover {
  border-color: #34653D !important;
  transform: translateY(-2px) !important;
}

/* Article title */
.wp-block-newspack-blocks-homepage-articles .entry-title,
.wp-block-newspack-blocks-homepage-articles h2,
.wp-block-newspack-blocks-homepage-articles h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #F2F2F2 !important;
  padding: 12px 16px 6px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.wp-block-newspack-blocks-homepage-articles .entry-title a {
  color: #F2F2F2 !important;
  text-decoration: none !important;
}

.wp-block-newspack-blocks-homepage-articles .entry-title a:hover {
  color: #34653D !important;
}

/* Excerpt */
.wp-block-newspack-blocks-homepage-articles .entry-excerpt,
.wp-block-newspack-blocks-homepage-articles p {
  font-size: 0.9rem !important;
  color: #888 !important;
  line-height: 1.65 !important;
  padding: 0 16px 10px !important;
  margin: 0 !important;
}

/* Date and meta */
.wp-block-newspack-blocks-homepage-articles .entry-meta,
.wp-block-newspack-blocks-homepage-articles time {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  padding: 0 16px 12px !important;
  display: block !important;
}

/* Category badge */
.wp-block-newspack-blocks-homepage-articles .cat-links a,
.wp-block-newspack-blocks-homepage-articles .category {
  background: #34653D !important;
  color: #F2F2F2 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 2px !important;
  display: inline-block !important;
  text-decoration: none !important;
  margin: 10px 16px 0 !important;
}

/* Keep reading link */
.wp-block-newspack-blocks-homepage-articles .more-link,
.wp-block-newspack-blocks-homepage-articles a.more-link {
  color: #34653D !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 0 16px 14px !important;
  display: inline-block !important;
}

/* Overall block background */
.wp-block-newspack-blocks-homepage-articles {
  background: #0A0A0A !important;
}

/* Fix Beehiiv iframe container height */
.hmm-hero__signup {
  padding-bottom: 16px !important;
}

.hmm-hero__signup .beehiiv-embed {
  width: 100% !important;
  max-width: 100% !important;
  height: 60px !important;
  min-height: unset !important;
  max-height: 60px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Kill any extra space Beehiiv adds below */
.hmm-hero__signup iframe {
  max-height: 175px !important;
  display: block !important;
}

/* Alternative — hide first date, keep second */
.wp-block-newspack-blocks-homepage-articles time:first-of-type {
  display: none !important;
}

/* ============================================
   PODCAST PAGE — Full black background
   ============================================ */

/* Main page background */
.page-id-YOUR-PAGE-ID #primary,
.page-template-full-width #primary,
body.page #primary,
body.page .site-main,
body.page article,
body.page .entry-content {
  background: #0A0A0A !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Content wrapper */
body.page .inside-article,
body.page .entry-content > * {
  background: #0A0A0A !important;
}

/* Podcast page specific */
.pod-hero,
.pod-latest,
.pod-episodes,
.pod-signup {
  margin-left: -28px !important;
  margin-right: -28px !important;
}

/* ============================================
   SINGLE POST / ARTICLE PAGE FIXES
   ============================================ */

/* Black background on article pages */
.single article,
.single .entry-content,
.single #primary,
.single .site-main,
.single .inside-article {
  background: #0A0A0A !important;
  border: none !important;
  box-shadow: none !important;
}

/* White wrapper box removal */
.single .content-area {
  background: #0A0A0A !important;
}

/* Post title — white and visible */
.single .entry-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(2rem, 5vw, 3.8rem) !important;
  color: #F2F2F2 !important;
  line-height: 1.05 !important;
  border-bottom: 3px solid #34653D !important;
  padding: 24px 0 16px !important;
  margin-bottom: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

/* Post meta — date, author */
.single .entry-meta {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  margin-bottom: 28px !important;
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
}

.single .entry-meta a {
  color: #34653D !important;
  text-decoration: none !important;
}

/* Featured image */
.single .post-thumbnail {
  margin-bottom: 28px !important;
}

.single .post-thumbnail img {
  width: 100% !important;
  height: auto !important;
  max-height: 500px !important;
  object-fit: cover !important;
  border-radius: 3px !important;
  display: block !important;
}

/* Body text */
.single .entry-content p {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 1.05rem !important;
  line-height: 1.9 !important;
  color: #C8C8C8 !important;
  margin-bottom: 1.5em !important;
}

/* H2 inside article — green left border */
.single .entry-content h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.75rem !important;
  color: #34653D !important;
  border-left: 4px solid #34653D !important;
  padding-left: 14px !important;
  margin: 2.2em 0 0.8em !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* H3 inside article */
.single .entry-content h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.4rem !important;
  color: #F2F2F2 !important;
  margin-top: 1.8em !important;
  text-transform: uppercase !important;
}

/* Links inside article */
.single .entry-content a {
  color: #34653D !important;
  text-decoration: underline !important;
}

.single .entry-content a:hover {
  color: #3f7a49 !important;
}

/* Bullet lists */
.single .entry-content ul,
.single .entry-content ol {
  color: #C8C8C8 !important;
  padding-left: 1.5rem !important;
  margin-bottom: 1.5em !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
}

.single .entry-content ul li::marker {
  color: #34653D !important;
}

/* Blockquote */
.single .entry-content blockquote {
  border-left: 4px solid #34653D !important;
  background: #1E1E1E !important;
  padding: 18px 24px !important;
  margin: 2em 0 !important;
  font-style: italic !important;
  color: #F2F2F2 !important;
  border-radius: 0 3px 3px 0 !important;
}

/* Post navigation (prev/next) */
.post-navigation {
  background: #141414 !important;
  border-top: 2px solid #34653D !important;
  padding: 24px !important;
  margin-top: 40px !important;
}

.post-navigation a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #34653D !important;
  text-decoration: none !important;
}

/* Author box if visible */
.author-box {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-top: 3px solid #34653D !important;
  border-radius: 3px !important;
  padding: 24px !important;
  margin-top: 32px !important;
}

/* Comments area */
.comments-area {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-radius: 3px !important;
  padding: 24px !important;
  margin-top: 32px !important;
}

.comments-title,
.comment-reply-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  color: #F2F2F2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* ============================================
   RESOURCES PAGE — Table & Border Fixes
   ============================================ */

/* Remove white borders from all tables */
table,
table td,
table th,
table tr,
.wp-block-table table,
.wp-block-table td,
.wp-block-table th {
  border-color: #232323 !important;
  background: #141414 !important;
  color: #C8C8C8 !important;
}

/* Table wrapper */
.wp-block-table {
  background: transparent !important;
  border: none !important;
}

/* Table cell padding and font */
table td,
table th {
  padding: 12px 16px !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
}

/* Table header row */
table th {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #34653D !important;
  background: #1E1E1E !important;
}

/* Alternating row color */
table tr:nth-child(even) td {
  background: #1A1A1A !important;
}

table tr:hover td {
  background: #1E1E1E !important;
}

/* Links inside tables */
table a {
  color: #34653D !important;
}

table a:hover {
  color: #3f7a49 !important;
}

/* ============================================
   RESOURCES — Remove white thead/tbody border
   ============================================ */

/* Target the exact structure shown in inspector */
.wp-block-table.is-style-regular thead tr th,
.wp-block-table.is-style-regular thead,
.wp-block-table.is-style-regular thead tr,
.wp-block-table figure table thead tr th {
  border-bottom: 1px solid #232323 !important;
  border-color: #232323 !important;
}

/* Kill ALL borders on this table style */
.wp-block-table.is-style-regular table,
.wp-block-table.is-style-regular td,
.wp-block-table.is-style-regular th,
.wp-block-table.is-style-regular tr,
.wp-block-table.is-style-regular thead,
.wp-block-table.is-style-regular tbody {
  border-color: #232323 !important;
  border-top-color: #232323 !important;
  border-bottom-color: #232323 !important;
  border-left-color: #232323 !important;
  border-right-color: #232323 !important;
}

/* Also target any inline border styles WordPress adds */
.wp-block-table.is-style-regular * {
  border-color: #232323 !important;
}

/* ============================================
   FOOTER — Complete Fix
   ============================================ */

/* Kill the narrow white/gray wrapper box */
.site-footer,
#colophon {
  background: #0A0A0A !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 3px solid #34653D !important;
}

/* Footer widgets full width */
.footer-widgets,
.footer-widgets-wrap {
  background: #0A0A0A !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Inner container — 3 columns */
.inside-footer-widgets {
  background: #0A0A0A !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 48px 24px 36px !important;
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: 48px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Remove box/border around widget area */
.footer-widgets .widget,
.site-footer .widget {
  background: transparent !important;
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================
   FOOTER BAR — Bottom strip
   ============================================ */
.footer-bar-wrap,
.footer-bar {
  background: #000 !important;
  border-top: 1px solid #1A1A1A !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.inside-footer-bar {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 14px 24px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Copyright + disclaimer text */
.inside-footer-bar p,
.inside-footer-bar span,
.inside-footer-bar div {
  text-align: center !important;
  color: #333 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
}

/* ============================================
   MOBILE FOOTER
   ============================================ */
@media (max-width: 768px) {
  .inside-footer-widgets {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 32px 18px 24px !important;
  }

  .inside-footer-bar {
    padding: 12px 18px !important;
  }
}

/* ============================================
   FOOTER — Fix gray background + center GP
   ============================================ */

/* Kill the gray background on footer bar area */
.footer-bar-wrap,
.footer-bar,
.site-footer .footer-bar-wrap,
#colophon .footer-bar-wrap {
  background: #000 !important;
  background-color: #000 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* The gray area LEFT of the footer bar */
body,
.site,
.site-wrapper,
#page {
  background: #0A0A0A !important;
}

/* GeneratePress credit line — center it */
.site-info,
.site-footer .site-info,
.footer-bar .site-info,
.inside-footer-bar .site-info {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  background: #000 !important;
  padding: 10px 24px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #222 !important;
}

.site-info a,
.footer-bar .site-info a {
  color: #222 !important;
  text-decoration: none !important;
}

.site-info a:hover {
  color: #34653D !important;
}

/* Full width black strip for GeneratePress row */
.footer-bar {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  background: #000 !important;
  width: 100% !important;
}

/* ============================================
   HIDE GENERATEPRESS DEFAULT COPYRIGHT
   ============================================ */

/* Target every possible GP copyright container */
.footer-bar-wrap .site-info,
.footer-bar .site-info,
.inside-footer-bar .site-info,
p.site-info,
.site-footer p.site-info,
#colophon p.site-info,
#colophon .site-info,
.copyright-bar,
.site-footer .copyright-bar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Also hide the Built with text specifically */
span.sep,
span.footer-copyright,
.footer-bar a[href*="generatepress"],
.footer-bar a[href*="wordpress.org"] {
  display: none !important;
}

/* ============================================
   ARCHIVE / CATEGORY / DATE PAGES
   Force black background everywhere
   ============================================ */

/* Main content area */
.archive #primary,
.archive .site-main,
.archive .content-area,
.archive article,
.archive .entry-content,
.archive .inside-article,
.archive .entry-header,
.archive .entry-footer,
.category #primary,
.category .site-main,
.tag #primary,
.tag .site-main {
  background: #0A0A0A !important;
  border-color: #232323 !important;
  box-shadow: none !important;
}

/* Archive page title bar */
.archive .page-header,
.archive .archive-title,
.category .page-header {
  background: #141414 !important;
  border-left: 4px solid #34653D !important;
  padding: 16px 20px !important;
  margin-bottom: 28px !important;
  border-radius: 2px !important;
}

.archive .page-header h1,
.archive .archive-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #F2F2F2 !important;
  margin: 0 !important;
}

/* Post cards */
.archive article.post,
.category article.post {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  box-shadow: none !important;
  transition: all 0.2s !important;
}

.archive article.post:hover,
.category article.post:hover {
  border-color: #34653D !important;
  transform: translateY(-2px) !important;
}

/* Post titles */
.archive .entry-title a,
.category .entry-title a {
  color: #F2F2F2 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.archive .entry-title a:hover,
.category .entry-title a:hover {
  color: #34653D !important;
}

/* Post excerpt */
.archive .entry-summary p,
.category .entry-summary p {
  color: #888 !important;
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
}

/* Post meta */
.archive .entry-meta,
.category .entry-meta {
  color: #555 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* ============================================
   SIDEBAR — Dark styling on all pages
   ============================================ */

#secondary,
.sidebar,
.widget-area {
  background: #0A0A0A !important;
}

#secondary .widget,
.widget-area .widget,
.sidebar .widget {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-top: 2px solid #34653D !important;
  border-radius: 3px !important;
  padding: 18px !important;
  margin-bottom: 20px !important;
  box-shadow: none !important;
}

#secondary .widget-title,
.widget-area .widget-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #34653D !important;
  border-bottom: 1px solid #232323 !important;
  padding-bottom: 10px !important;
  margin-bottom: 12px !important;
}

/* ============================================
   ARCHIVE PAGES — Target exact body classes
   from inspector
   ============================================ */

/* Body class on archive pages */
body.archive,
body.date,
body.category,
body.tag {
  background: #0A0A0A !important;
}

/* Site grid container */
body.archive .site-grid-container,
body.archive #page,
body.archive .site,
body.date .site-grid-container,
body.date #page {
  background: #0A0A0A !important;
}

/* The white card around each post preview */
body.archive .separate-containers .inside-article,
body.date .separate-containers .inside-article,
body.archive .separate-containers article,
body.date .separate-containers article {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

body.archive .separate-containers article:hover,
body.date .separate-containers article:hover {
  border-color: #34653D !important;
}

/* Page header — "Month: April 2025" box */
body.archive .page-header,
body.date .page-header {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-left: 4px solid #34653D !important;
  border-radius: 3px !important;
}

body.archive .page-header .page-title,
body.date .page-header .page-title {
  color: #F2F2F2 !important;
}

/* Content area wrapper */
body.archive #primary,
body.archive #content,
body.archive .content-area,
body.date #primary,
body.date #content,
body.date .content-area {
  background: #0A0A0A !important;
}

/* Entry text areas */
body.archive .entry-header,
body.archive .entry-summary,
body.archive .entry-footer,
body.date .entry-header,
body.date .entry-summary,
body.date .entry-footer {
  background: #141414 !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Titles */
body.archive .entry-title a,
body.date .entry-title a {
  color: #F2F2F2 !important;
}

body.archive .entry-title a:hover,
body.date .entry-title a:hover {
  color: #34653D !important;
}

/* Excerpt text */
body.archive .entry-summary p,
body.date .entry-summary p {
  color: #C8C8C8 !important;
}

/* ============================================
   BLOG PAGE — Black background fix
   ============================================ */

body.blog,
body.home.blog {
  background: #0A0A0A !important;
}

body.blog .site-grid-container,
body.blog #page,
body.blog .site,
body.blog #primary,
body.blog #content,
body.blog .content-area {
  background: #0A0A0A !important;
}

/* Post cards */
body.blog .separate-containers .inside-article,
body.blog .separate-containers article {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

body.blog .separate-containers article:hover {
  border-color: #34653D !important;
}

/* Entry text areas */
body.blog .entry-header,
body.blog .entry-summary,
body.blog .entry-footer {
  background: #141414 !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Titles */
body.blog .entry-title a {
  color: #F2F2F2 !important;
}

body.blog .entry-title a:hover {
  color: #34653D !important;
}

/* Excerpt */
body.blog .entry-summary p {
  color: #C8C8C8 !important;
}

/* Meta */
body.blog .entry-meta,
body.blog .entry-meta a {
  color: #555 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

body.blog .entry-meta a:hover {
  color: #34653D !important;
}

/* ============================================
   BLOG PAGE — Fix white content area behind image
   ============================================ */

body.blog .separate-containers .inside-article,
body.blog article.post,
body.blog .post,
body.blog .type-post,
body.blog .hentry {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

/* The white area specifically around the image */
body.blog .post-image,
body.blog .post-thumbnail,
body.blog figure.post-thumbnail,
body.blog .wp-post-image {
  background: #141414 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

body.blog .post-thumbnail img,
body.blog .wp-post-image {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Kill any remaining white wrappers */
body.blog .entry-content,
body.blog .entry-header,
body.blog .entry-summary,
body.blog .entry-footer,
body.blog .inside-article {
  background: #141414 !important;
}

/* Also fix archive pages same way */
body.archive .post-thumbnail,
body.archive figure.post-thumbnail,
body.date .post-thumbnail,
body.date figure.post-thumbnail {
  background: #141414 !important;
  margin: 0 !important;
}

body.archive article.post,
body.archive .hentry,
body.date article.post,
body.date .hentry {
  background: #141414 !important;
  border: 1px solid #232323 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

/* ============================================
   WPFORMS — Description text lighter color
   ============================================ */
.guest-form__box .wpforms-field-description,
.guest-form__box .wpforms-field-sublabel,
.guest-form__box .wpforms-description,
.wpforms-field-description,
.wpforms-description {
  color: #888 !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 0.82rem !important;
  line-height: 1.6 !important;
  margin-top: 6px !important;
}

/* Terms & Conditions description specifically */
.guest-form__box .wpforms-field-checkbox .wpforms-field-description {
  color: #666 !important;
  padding: 12px 16px !important;
  background: #0A0A0A !important;
  border: 1px solid #232323 !important;
  border-left: 3px solid #34653D !important;
  border-radius: 2px !important;
  margin-top: 10px !important;
}

/* ============================================
   WPFORMS CHECKBOX — Nuclear fix
   ============================================ */



/* Reset the entire checkbox list item */
.wpforms-field-checkbox ul li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* The checkbox itself */
.wpforms-field-checkbox ul li input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  flex-shrink: 0 !important;
  margin: 3px 0 0 0 !important;
  padding: 0 !important;
  accent-color: #34653D !important;
  cursor: pointer !important;
}

/* The label text */
.wpforms-field-checkbox ul li label {
  display: inline !important;
  flex: 1 !important;
  color: #C8C8C8 !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
  white-space: normal !important;
  word-break: normal !important;
}

/* Guest page step numbers — green */
.guest-expect__num {
  color: #34653D !important;
  opacity: 1 !important;
}