/*
Theme Name:   Astra Child — The Green Glossary
Theme URI:    https://thegreenglossary.org
Description:  Astra child theme for The Green Glossary. Contains custom glossary term template and meta field registration.
Author:       The Green Glossary LLC
Author URI:   https://thegreenglossary.org
Template:     astra
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:  astra-child
*/

/* ─── GLOBAL GLOSSARY TERM STYLES ──────────────────────────────────────────── */

.type-glossary .entry-content,
.type-glossary .entry-content p,
.type-glossary .entry-content li,
.type-glossary .entry-content a,
.type-glossary .tgg-related-terms,
.type-glossary .tgg-suggest-example,
.type-glossary .tgg-albert-suggest,
.type-glossary .tgg-albert-credit {
  font-family: 'Lora', serif;
}

.type-glossary .tgg-pronunciation,
.type-glossary .tgg-browse-link {
  font-family: 'Lora', serif;
}

.tgg-example-card blockquote {
  font-family: 'Playfair Display', Georgia, serif !important;
}

.type-glossary .entry-header {
  background-color: #1A3D2B;
  padding: 32px 40px;
  margin-bottom: 24px;
  margin-left: -40px;
  margin-right: -40px;
}

.type-glossary .entry-title {
  color: #FAF7F0;
}

.type-glossary .entry-meta {
  display: none;
}

/* ─── META ROW ──────────────────────────────────────────────────────────────── */

.tgg-meta-row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.tgg-meta-col {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  text-align: center;
  flex: 1;
  min-width: 80px;
}

.tgg-meta-label {
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #555555;
  font-family: 'Lora', serif !important;
}

.tgg-pill-pos {
  display: inline-block;
  background: #F0F0F0;
  color: #444444;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 18px;
  border-radius: 20px;
  font-family: 'Lora', serif !important;
  letter-spacing: 0.03em;
  line-height: 1.4;
  width: fit-content;
  text-align: center;
}

.tgg-pill-category {
  display: inline-block;
  background: #D8F3DC;
  color: #1A3D2B;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 18px;
  border-radius: 20px;
  font-family: 'Lora', serif !important;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: background 0.2s;
  line-height: 1.4;
}

.tgg-pill-category:hover {
  background: #95D5B2;
  color: #1A3D2B;
}

.tgg-pill-region {
  display: inline-block;
  background: #FAF7F0;
  color: #2D6A4F;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 18px;
  border-radius: 20px;
  font-family: 'Lora', serif !important;
  letter-spacing: 0.03em;
  border: 1px solid #52b788;
  text-decoration: none;
  transition: background 0.2s;
  line-height: 1.4;
}

.tgg-pill-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}

/* ─── DEFINITION ────────────────────────────────────────────────────────────── */

.tgg-definition {
  font-size: 18px;
  line-height: 1.8;
  color: #1A1A1A;
  border-left: 4px solid #52b788;
  padding-left: 16px;
  margin-bottom: 8px;
  font-family: 'Playfair Display', Georgia, serif;
}

/* ─── PRONUNCIATION ─────────────────────────────────────────────────────────── */

.tgg-pronunciation {
  font-size: 13px;
  color: #2D6A4F;
  font-style: italic;
  margin-bottom: 24px;
  font-family: 'Lora', serif;
}

/* ─── SEPARATORS ────────────────────────────────────────────────────────────── */

.tgg-separator {
  border: none;
  border-top: 1px solid #95D5B2;
  width: 60px;
  margin: 20px auto;
}

.tgg-separator-section {
  border: none;
  border-top: 2px solid #2D6A4F;
  width: 100%;
  margin: 32px 0;
  opacity: 0.4;
}

/* ─── SECTION HEADINGS ──────────────────────────────────────────────────────── */

.tgg-section-heading {
  font-size: 20px;
  font-weight: 600;
  color: #2D6A4F;
  margin-bottom: 12px;
  font-family: 'Playfair Display', Georgia, serif;
}

/* ─── EXAMPLE CARD ──────────────────────────────────────────────────────────── */

.tgg-example-card {
  background: #2D6A4F;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 8px;
}

.tgg-example-card blockquote {
  margin: 0;
  padding: 0;
  border: none;
  font-style: normal;
  color: #FAF7F0;
  font-size: 16px;
  line-height: 1.7;
}

.tgg-suggest-example {
  font-size: 12px;
  color: #555555;
  font-style: italic;
  font-weight: 400;
  margin-bottom: 0;
  font-family: 'Lora', serif !important;
}

.tgg-suggest-example a {
  color: #52b788;
  text-decoration: underline;
  font-family: 'Lora', serif !important;
}

/* ─── GEOGRAPHIC USAGE ──────────────────────────────────────────────────────── */

.tgg-region-name {
  font-size: 14px;
  color: #444444;
  margin-bottom: 4px;
}

.tgg-region-note {
  font-size: 13px;
  color: #888888;
  font-style: italic;
}

/* ─── RELATED TERMS ─────────────────────────────────────────────────────────── */

.tgg-related-terms {
  font-size: 15px;
  color: #444444;
  line-height: 1.8;
}

/* ─── ALBERT FOOTER ─────────────────────────────────────────────────────────── */

.tgg-albert-footer {
  background: #D8F3DC;
  border-radius: 8px;
  padding: 16px 20px;
  margin-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.tgg-albert-suggest {
  font-size: 12px;
  color: #555555;
  font-style: italic;
}

.tgg-albert-suggest a {
  color: #2D6A4F;
  text-decoration: underline;
}

.tgg-albert-credit {
  font-size: 12px;
  color: #2D6A4F;
  font-style: italic;
  text-align: right;
}

.tgg-albert-link {
  color: #2D6A4F;
  text-decoration: underline;
  font-style: italic;
}

/* ─── BROWSE ALL TERMS ──────────────────────────────────────────────────────── */

.tgg-browse-all {
  text-align: center;
  margin-top: 24px;
  padding-top: 16px;
}

.tgg-browse-link {
  font-size: 13px;
  color: #2D6A4F;
  text-decoration: none;
  font-family: 'Lora', serif;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #52b788;
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}

.tgg-browse-link:hover {
  color: #1A3D2B;
  border-color: #1A3D2B;
}

/* ─── RESPONSIVE ────────────────────────────────────────────────────────────── */

@media (max-width: 600px) {
  .tgg-meta-row {
    gap: 12px;
  }

  .type-glossary .entry-header {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: -40px;
    padding: 24px 20px;
    box-sizing: border-box;
  }

  .tgg-albert-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .tgg-albert-credit {
    text-align: left;
  }
}

/* ─── CATEGORY ARCHIVE PAGE ─────────────────────────────────────────────────── */

.tgg-cat-header {
  background-color: #1A3D2B;
  padding: 40px;
  margin-bottom: 0;
  margin-left: -40px;
  margin-right: -40px;
}

.tgg-cat-header-inner {
  max-width: 680px;
}

.tgg-cat-eyebrow {
  font-family: 'Lora', serif;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #95D5B2;
  margin-bottom: 8px;
}

.tgg-cat-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 42px;
  font-weight: 700;
  color: #FAF7F0;
  margin-bottom: 12px;
  line-height: 1.2;
}

.tgg-cat-desc {
  font-family: 'Lora', serif;
  font-size: 15px;
  color: #D8F3DC;
  line-height: 1.7;
  margin-bottom: 0;
}

.tgg-cat-content {
  padding-top: 24px;
}

.tgg-cat-count {
  font-family: 'Lora', serif;
  font-size: 13px;
  color: #555555;
  margin-bottom: 20px;
}

.tgg-cat-count-sep {
  margin: 0 8px;
  color: #95D5B2;
}

.tgg-cat-all-link {
  color: #2D6A4F;
  text-decoration: underline;
  font-family: 'Lora', serif;
}

.tgg-cat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.tgg-cat-nav-pill {
  display: inline-block;
  font-family: 'Lora', serif;
  font-size: 13px;
  font-weight: 500;
  padding: 6px 16px;
  border-radius: 20px;
  text-decoration: none;
  border: 1px solid #52b788;
  color: #2D6A4F;
  background: transparent;
  transition: background 0.2s, color 0.2s;
}

.tgg-cat-nav-pill:hover {
  background: #D8F3DC;
  color: #1A3D2B;
}

.tgg-cat-nav-pill-active {
  background: #2D6A4F;
  color: #FAF7F0;
  border-color: #2D6A4F;
}

.tgg-cat-nav-pill-active:hover {
  background: #1A3D2B;
  color: #FAF7F0;
}

.tgg-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
}

.tgg-cat-card {
  background: #FAF7F0;
  border: 1px solid #D8F3DC;
  border-radius: 8px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.tgg-cat-card:hover {
  border-color: #52b788;
  box-shadow: 0 2px 12px rgba(26, 61, 43, 0.08);
}

.tgg-cat-card-header {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.tgg-cat-card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0;
  line-height: 1.3;
}

.tgg-cat-card-link {
  color: #1A3D2B;
  text-decoration: none;
}

.tgg-cat-card-link:hover {
  color: #2D6A4F;
  text-decoration: underline;
}

.tgg-cat-card-pos {
  font-family: 'Lora', serif;
  font-size: 11px;
  font-weight: 500;
  color: #888888;
  background: #F0F0F0;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}

.tgg-cat-card-pron {
  font-family: 'Lora', serif;
  font-size: 12px;
  color: #2D6A4F;
  font-style: italic;
  margin: 0;
}

.tgg-cat-card-excerpt {
  font-family: 'Lora', serif;
  font-size: 14px;
  color: #444444;
  line-height: 1.6;
  margin: 0;
  flex-grow: 1;
}

.tgg-cat-card-read-more {
  font-family: 'Lora', serif;
  font-size: 13px;
  color: #2D6A4F;
  text-decoration: none;
  font-weight: 500;
  margin-top: 4px;
  align-self: flex-start;
  border-bottom: 1px solid #52b788;
  padding-bottom: 1px;
  transition: color 0.2s;
}

.tgg-cat-card-read-more:hover {
  color: #1A3D2B;
}

.tax-glossary-categories .site-main > .nav-links,
.tax-glossary-categories .entry-content > .nav-links,
.tax-glossary-categories .nav-links:not(.tgg-cat-pagination .nav-links) {
  display: none !important;
}

.tgg-cat-pagination {
  margin: 32px 0;
  text-align: center;
}

.tgg-cat-pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}

.tgg-cat-pagination .page-numbers {
  font-family: 'Lora', serif;
  font-size: 14px;
  color: #2D6A4F;
  padding: 8px 14px;
  border: 1px solid #52b788;
  border-radius: 20px;
  text-decoration: none;
  transition: background 0.2s;
  display: inline-block;
}

.tgg-cat-pagination .page-numbers:hover,
.tgg-cat-pagination .page-numbers.current {
  background: #2D6A4F;
  color: #FAF7F0;
}

.tgg-cat-pagination .page-numbers.dots {
  border: none;
  background: none;
  color: #888;
  padding: 8px 4px;
}

.tgg-cat-empty {
  font-family: 'Lora', serif;
  color: #555555;
  font-style: italic;
  padding: 40px 0;
}

@media (max-width: 600px) {
  .tgg-cat-header {
    margin-left: -20px;
    margin-right: -20px;
    padding: 28px 20px;
  }

  .tgg-cat-title {
    font-size: 32px;
  }

  .tgg-cat-grid {
    grid-template-columns: 1fr;
  }

  .tgg-cat-pagination .page-numbers {
    padding: 6px 10px;
    font-size: 13px;
  }
}

/* ─── WORD OF THE DAY ───────────────────────────────────────────────────────── */

.tgg-wotd {
  background: #FAF7F0;
  border: none;
  border-radius: 0;
  padding: 0;
  box-sizing: border-box;
}

.home .wp-block-shortcode {
  width: 100% !important;
}

.tgg-wotd-label {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #1A3D2B;
  margin-bottom: 16px;
  line-height: 1.2;
}

.tgg-wotd-header {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.tgg-wotd-term {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  color: #1A3D2B;
  margin: 0;
  line-height: 1.2;
}

.tgg-wotd-term-link {
  color: #1A3D2B;
  text-decoration: none;
}

.tgg-wotd-term-link:hover {
  color: #2D6A4F;
}

.tgg-wotd-pos {
  font-family: 'Lora', serif;
  font-size: 12px;
  font-weight: 500;
  color: #888888;
  background: #F0F0F0;
  padding: 4px 12px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}

.tgg-wotd-rule {
  border: none;
  border-top: 1px solid #95D5B2;
  width: 60px;
  margin: 20px 0;
}

.tgg-wotd-definition {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  line-height: 1.8;
  color: #1A1A1A;
  margin-bottom: 24px;
}

.tgg-wotd-read-more {
  font-family: 'Lora', serif;
  font-size: 14px;
  font-weight: 500;
  color: #2D6A4F;
  text-decoration: none;
  border-bottom: 1px solid #52b788;
  padding-bottom: 2px;
  transition: color 0.2s;
  display: inline-block;
  margin-top: 8px;
}

.tgg-wotd-read-more:hover {
  color: #1A3D2B;
}

@media (max-width: 600px) {
  .tgg-wotd {
    padding: 24px 20px;
  }

  .tgg-wotd-term {
    font-size: 28px;
  }

  .tgg-wotd-definition {
    font-size: 16px;
  }
}

/* ─── HERO SEARCH BAR ───────────────────────────────────────────────────────── */

.home .glossary-search-label {
  display: none !important;
}

.home form:has( #glossary-search-term ) {
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border: 1px solid #FAF7F0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  width: 100% !important;
  padding: 0 !important;
}

.home #glossary-search-term,
.home .glossary-search-term {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: #FAF7F0 !important;
  font-family: 'Lora', serif !important;
  font-size: 14px !important;
  padding: 12px 20px !important;
  width: 100% !important;
  outline: none !important;
  box-shadow: none !important;
  flex: 1 !important;
}

.home #glossary-search-term::placeholder,
.home .glossary-search-term::placeholder {
  color: rgba(250, 247, 240, 0.5) !important;
  font-family: 'Lora', serif !important;
}


/* ─── ABOUT SECTION STAT CARDS ─────────────────────────────────────────────── */

.tgg-stat-card {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  color: #D8F3DC !important;
  line-height: 1.1 !important;
}

.tgg-stat-label {
  font-family: 'Lora', serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #95D5B2 !important;
  margin-top: 8px !important;
  line-height: 1.4 !important;
}

.tgg-stat-card.tgg-stat-card-sm {
  font-size: 28px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BROWSE A-Z PAGE — /glossary/
   ═══════════════════════════════════════════════════════════════════════════ */

.glossary-search-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid #1A3D2B;
  border-radius: 30px;
  overflow: hidden;
  max-width: 540px;
  margin-bottom: 36px;
  background: #FAF7F0;
}

.glossary-search-wrapper #glossary-search-term {
  flex: 1;
  border: none !important;
  background: transparent !important;
  padding: 13px 24px !important;
  font-family: 'Lora', serif !important;
  font-size: 15px !important;
  color: #1A3D2B !important;
  outline: none !important;
  box-shadow: none !important;
}

.glossary-search-wrapper #glossary-search-term::placeholder {
  color: #95D5B2;
}

.glossary-search-wrapper #glossary-search.button {
  background: #1A3D2B !important;
  border: none !important;
  border-left: 1px solid #1A3D2B !important;
  border-radius: 0 30px 30px 0 !important;
  padding: 13px 28px !important;
  color: #FAF7F0 !important;
  font-family: 'Lora', serif !important;
  font-size: 14px !important;
  cursor: pointer !important;
  white-space: nowrap;
  letter-spacing: 0.05em;
}

.glossary-search-wrapper #glossary-search.button::after {
  content: 'Search →';
}

#glossaryList-nav {
  margin-bottom: 8px;
}

#glossaryList-nav .ln-letters {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  margin-bottom: 20px;
  overflow-x: auto;
  padding-bottom: 4px;
}

#glossaryList-nav .ln-letters a.ln-serv-letter {
  display: inline-block;
  font-family: 'Playfair Display', serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1A3D2B !important;
  background: transparent !important;
  border: 1.5px solid #95D5B2 !important;
  border-radius: 30px !important;
  padding: 4px 10px !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
  line-height: 1.4;
  white-space: nowrap;
  flex-shrink: 0;
}

#glossaryList-nav .ln-letters a.ln-serv-letter:hover {
  background: #1A3D2B !important;
  color: #D8F3DC !important;
  border-color: #1A3D2B !important;
}

#glossaryList-nav .ln-letters a.ln-selected {
  background: #1A3D2B !important;
  color: #D8F3DC !important;
  border-color: #1A3D2B !important;
}

#glossaryList-nav .ln-letters a.ln-disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

#glossaryList-nav .query-results-count {
  font-family: 'Lora', serif;
  font-size: 13px;
  color: #555555;
  margin-bottom: 24px;
}

ul.glossaryList {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 40px !important;
  width: 100% !important;
}

ul.glossaryList li {
  padding: 8px 12px !important;
  border-bottom: 1px solid #D8F3DC !important;
  border-radius: 4px;
  transition: background 0.15s ease;
}

ul.glossaryList li:hover {
  background: #D8F3DC !important;
}

ul.glossaryList li a.glossaryLink {
  font-family: 'Lora', serif !important;
  font-size: 15px !important;
  color: #1A3D2B !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  display: block;
}

ul.glossaryList li a.glossaryLink:hover {
  color: #2D6A4F !important;
}

ul.pageNumbers {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 32px 0 !important;
  margin: 0 !important;
  align-items: center;
}

ul.pageNumbers a {
  text-decoration: none !important;
}

ul.pageNumbers li.numeric {
  font-family: 'Playfair Display', serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1A3D2B !important;
  border: 1.5px solid #95D5B2 !important;
  border-radius: 30px !important;
  padding: 6px 14px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  list-style: none !important;
}

ul.pageNumbers li.numeric:hover {
  background: #1A3D2B !important;
  color: #D8F3DC !important;
  border-color: #1A3D2B !important;
}

ul.pageNumbers li.numeric.selected {
  background: #1A3D2B !important;
  color: #D8F3DC !important;
  border-color: #1A3D2B !important;
}

ul.pageNumbers li.next-section {
  display: none !important;
}

ul.pageNumbers li.next,
ul.pageNumbers li.prev,
ul.pageNumbers li.previous {
  font-family: 'Lora', serif !important;
  font-size: 14px !important;
  color: #FAF7F0 !important;
  background: #2D6A4F !important;
  border: 1.5px solid #2D6A4F !important;
  border-radius: 30px !important;
  padding: 6px 14px !important;
  list-style: none !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

ul.pageNumbers li.next:hover,
ul.pageNumbers li.prev:hover,
ul.pageNumbers li.previous:hover {
  background: #1A3D2B !important;
  border-color: #1A3D2B !important;
}

/* ─── WPFORMS BRANDING ───────────────────────────────────────────────────────── */

.wpforms-container {
  font-family: 'Lora', serif;
}

.wpforms-field-label {
  color: #1A3D2B !important;
  font-family: 'Lora', serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 6px !important;
}

.wpforms-field-sublabel {
  color: #777 !important;
  font-family: 'Lora', serif !important;
  font-size: 12px !important;
}

.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="tel"],
.wpforms-field input[type="url"],
.wpforms-field input[type="number"],
.wpforms-field textarea,
.wpforms-field select {
  border: 1.5px solid #95D5B2 !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-family: 'Lora', serif !important;
  font-size: 15px !important;
  color: #1A1A1A !important;
  background: #fff !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  width: 100% !important;
  box-shadow: none !important;
}

.wpforms-field input[type="text"]:focus,
.wpforms-field input[type="email"]:focus,
.wpforms-field input[type="tel"]:focus,
.wpforms-field input[type="url"]:focus,
.wpforms-field input[type="number"]:focus,
.wpforms-field textarea:focus,
.wpforms-field select:focus {
  border-color: #52B788 !important;
  box-shadow: 0 0 0 3px rgba(82, 183, 136, 0.15) !important;
  outline: none !important;
}

.wpforms-field input::placeholder,
.wpforms-field textarea::placeholder {
  color: #aaa !important;
  font-style: italic;
  font-family: 'Lora', serif !important;
}

.wpforms-submit-container .wpforms-submit,
button.wpforms-submit {
  background: #1A3D2B !important;
  color: #FAF7F0 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 32px !important;
  font-family: 'Lora', serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.wpforms-submit-container .wpforms-submit:hover,
button.wpforms-submit:hover {
  background: #2D6A4F !important;
}

.wpforms-required-label {
  color: #52B788 !important;
}

.wpforms-error-container,
.wpforms-field .wpforms-error {
  color: #c0392b !important;
  font-family: 'Lora', serif !important;
  font-size: 13px !important;
  margin-top: 4px !important;
}

.wpforms-confirmation-container-full,
.wpforms-confirmation-container {
  background: #D8F3DC !important;
  border: 1.5px solid #95D5B2 !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  color: #1A3D2B !important;
  font-family: 'Lora', serif !important;
  font-size: 15px !important;
}

.wpforms-field-description {
  color: #777 !important;
  font-family: 'Lora', serif !important;
  font-size: 12px !important;
  margin-top: 4px !important;
}

.wpforms-page-indicator-steps {
  font-family: 'Lora', serif !important;
  color: #2D6A4F !important;
}
/* ═══════════════════════════════════════════════════════════════════════════
   BLOG INDEX PAGE — The Green Glossary
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── INDEX PAGE HEADER BAND ─────────────────────────────────────────────── */

.blog .entry-header,
.blog .page-header {
  background-color: #1A3D2B;
  padding: 40px;
  margin-bottom: 0;
  margin-left: -40px;
  margin-right: -40px;
}

.blog .page-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 42px;
  font-weight: 700;
  color: #FAF7F0;
  margin: 0 0 8px 0;
}

/* ─── BLOG LAYOUT WRAPPER ────────────────────────────────────────────────── */

.blog .ast-container {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* ─── POST CARDS ─────────────────────────────────────────────────────────── */

.blog .ast-article-post {
  background: #FAF7F0;
  border: 1px solid #D8F3DC;
  border-radius: 8px;
  padding: 28px 32px;
  margin-bottom: 24px;
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
}

.blog .ast-article-post:hover {
  border-color: #52B788;
  box-shadow: 0 2px 16px rgba(26, 61, 43, 0.08);
}

/* Hide the empty featured image placeholder */
.blog .ast-blog-featured-section {
  display: none;
}

/* Category tag pill */
.blog .ast-taxonomy-container a {
  display: inline-block;
  background: #D8F3DC;
  color: #1A3D2B !important;
  font-family: 'Lora', serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  text-decoration: none !important;
  margin-bottom: 12px;
  transition: background 0.2s;
}

.blog .ast-taxonomy-container a:hover {
  background: #95D5B2;
}

/* Post title */
.blog .entry-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  line-height: 1.3 !important;
  margin: 0 0 12px 0 !important;
}

.blog .entry-title a {
  color: #1A3D2B !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.blog .entry-title a:hover {
  color: #2D6A4F !important;
}

/* Post meta — date etc */
.blog .entry-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.blog .entry-meta .posted-on,
.blog .entry-meta .byline,
.blog .entry-meta span {
  font-family: 'Lora', serif;
  font-size: 12px;
  color: #888888;
  font-style: italic;
}

.blog .entry-meta a {
  color: #888888 !important;
  text-decoration: none !important;
}

/* Mint dot separator between meta items */
.blog .entry-meta span + span::before {
  content: '·';
  color: #52B788;
  margin-right: 12px;
}

/* Excerpt */
.blog .ast-excerpt-container p {
  font-family: 'Lora', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #444444;
  margin: 0 0 16px 0;
}

/* Read More link */
.blog .ast-read-more-container a {
  font-family: 'Lora', serif;
  font-size: 13px;
  font-weight: 600;
  color: #2D6A4F !important;
  text-decoration: none !important;
  border-bottom: 1px solid #52B788;
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}

.blog .ast-read-more-container a:hover {
  color: #1A3D2B !important;
  border-color: #1A3D2B;
}

/* Hide the screen reader text in read more */
.blog .screen-reader-text {
  display: none;
}

/* ─── SIDEBAR ────────────────────────────────────────────────────────────── */

.blog .widget-area {
  min-width: 260px;
  max-width: 260px;
}

/* Widget card base */
.blog .widget {
  background: #FAF7F0;
  border: 1px solid #D8F3DC;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 24px;
}

/* Widget title */
.blog .widget-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1A3D2B !important;
  margin: 0 0 14px 0 !important;
  padding-bottom: 10px;
  border-bottom: 2px solid #D8F3DC;
}

/* Widget links */
.blog .widget a {
  font-family: 'Lora', serif;
  font-size: 14px;
  color: #2D6A4F !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.blog .widget a:hover {
  color: #1A3D2B !important;
}

/* Widget list items */
.blog .widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.blog .widget ul li {
  font-family: 'Lora', serif;
  font-size: 14px;
  color: #444444;
  padding: 6px 0;
  border-bottom: 1px solid #D8F3DC;
}

.blog .widget ul li:last-child {
  border-bottom: none;
}

/* Search widget */
.blog .widget_search input[type="search"] {
  border: 1.5px solid #95D5B2 !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  font-family: 'Lora', serif !important;
  font-size: 14px !important;
  width: 100% !important;
  color: #1A1A1A !important;
  background: #fff !important;
  box-sizing: border-box;
}

.blog .widget_search input[type="search"]:focus {
  border-color: #52B788 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(82, 183, 136, 0.15) !important;
}

.blog .widget_search input[type="submit"] {
  background: #1A3D2B !important;
  color: #FAF7F0 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  font-family: 'Lora', serif !important;
  font-size: 13px !important;
  margin-top: 8px;
  cursor: pointer !important;
  width: 100%;
  transition: background 0.2s;
}

.blog .widget_search input[type="submit"]:hover {
  background: #2D6A4F !important;
}

/* ─── GLOSSARY CTA WIDGET ─────────────────────────────────────────────────── */

.tgg-blog-cta {
  background: #1A3D2B !important;
  border: none !important;
}

.tgg-blog-cta .widget-title {
  color: #FAF7F0 !important;
  border-bottom-color: #2D6A4F !important;
}

.tgg-blog-cta p {
  font-family: 'Lora', serif;
  font-size: 13px;
  color: #D8F3DC;
  line-height: 1.6;
  margin: 0 0 14px 0;
}

.tgg-blog-cta a.tgg-cta-button {
  display: block;
  background: #52B788;
  color: #1A3D2B !important;
  font-family: 'Lora', serif;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  padding: 10px 16px;
  border-radius: 6px;
  text-decoration: none !important;
  transition: background 0.2s;
}

.tgg-blog-cta a.tgg-cta-button:hover {
  background: #95D5B2 !important;
}

/* ─── PAGINATION ─────────────────────────────────────────────────────────── */

.blog .pagination .nav-links {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 16px 0 32px 0;
}

.blog .pagination .page-numbers {
  font-family: 'Lora', serif;
  font-size: 14px;
  color: #2D6A4F;
  padding: 8px 14px;
  border: 1px solid #52B788;
  border-radius: 20px;
  text-decoration: none;
  transition: background 0.2s;
  display: inline-block;
}

.blog .pagination .page-numbers:hover,
.blog .pagination .page-numbers.current {
  background: #2D6A4F;
  color: #FAF7F0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   SINGLE POST PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── HEADER BAND ────────────────────────────────────────────────────────── */

.single-post .entry-header {
  background-color: #1A3D2B;
  padding: 40px;
  margin-bottom: 32px;
  margin-left: -40px;
  margin-right: -40px;
}

/* Category pill in header */
.single-post .entry-header .cat-links a {
  display: inline-block;
  background: #2D6A4F;
  color: #95D5B2 !important;
  font-family: 'Lora', serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  text-decoration: none !important;
  margin-bottom: 14px;
  display: inline-block;
}

/* Post title */
.single-post .entry-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  color: #FAF7F0 !important;
  line-height: 1.2 !important;
  margin: 0 0 16px 0 !important;
  max-width: 720px;
}

/* Meta — date, author */
.single-post .entry-header .entry-meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.single-post .entry-header .entry-meta span,
.single-post .entry-header .entry-meta a {
  font-family: 'Lora', serif;
  font-size: 13px;
  color: #95D5B2 !important;
  text-decoration: none !important;
  font-style: italic;
}

/* ─── POST BODY CONTENT ──────────────────────────────────────────────────── */

.single-post .entry-content {
  font-family: 'Lora', serif;
  font-size: 17px;
  line-height: 1.85;
  color: #1A1A1A;
  max-width: 720px;
}

.single-post .entry-content p {
  margin-bottom: 24px;
}

/* Headings inside post */
.single-post .entry-content h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px;
  font-weight: 700;
  color: #1A3D2B;
  margin: 40px 0 16px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #D8F3DC;
}

.single-post .entry-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  color: #2D6A4F;
  margin: 32px 0 12px 0;
}

.single-post .entry-content h4 {
  font-family: 'Lora', serif;
  font-size: 16px;
  font-weight: 700;
  color: #1A3D2B;
  margin: 24px 0 8px 0;
}

/* Links in post body */
.single-post .entry-content a {
  color: #2D6A4F !important;
  text-decoration: underline !important;
  text-decoration-color: #52B788 !important;
  transition: color 0.2s;
}

.single-post .entry-content a:hover {
  color: #1A3D2B !important;
}

/* Blockquote — for pull quotes or highlighted points */
.single-post .entry-content blockquote {
  background: #2D6A4F;
  border: none;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 32px 0;
}

.single-post .entry-content blockquote p {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  font-style: italic;
  color: #FAF7F0;
  margin: 0;
  line-height: 1.7;
}

/* Inline callout box — add class "tgg-callout" to a paragraph block */
.single-post .entry-content .tgg-callout {
  background: #D8F3DC;
  border-left: 4px solid #52B788;
  border-radius: 0 8px 8px 0;
  padding: 16px 20px;
  margin: 24px 0;
  font-size: 15px;
  color: #1A3D2B;
}

/* Lists */
.single-post .entry-content ul,
.single-post .entry-content ol {
  padding-left: 24px;
  margin-bottom: 24px;
}

.single-post .entry-content li {
  margin-bottom: 8px;
  line-height: 1.75;
}

/* ─── POST FOOTER ────────────────────────────────────────────────────────── */

.single-post .entry-footer {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid #D8F3DC;
}

.single-post .entry-footer .cat-links,
.single-post .entry-footer .tags-links {
  font-family: 'Lora', serif;
  font-size: 13px;
  color: #888888;
}

.single-post .entry-footer a {
  color: #2D6A4F !important;
  text-decoration: none !important;
}

/* ─── POST NAVIGATION ────────────────────────────────────────────────────── */

.single-post .post-navigation {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.single-post .post-navigation .nav-previous,
.single-post .post-navigation .nav-next {
  background: #FAF7F0;
  border: 1px solid #D8F3DC;
  border-radius: 8px;
  padding: 16px 20px;
  flex: 1;
  transition: border-color 0.2s;
}

.single-post .post-navigation .nav-previous:hover,
.single-post .post-navigation .nav-next:hover {
  border-color: #52B788;
}

.single-post .post-navigation .nav-next {
  text-align: right;
}

.single-post .post-navigation a {
  font-family: 'Lora', serif;
  font-size: 14px;
  color: #2D6A4F !important;
  text-decoration: none !important;
  font-weight: 600;
}

.single-post .post-navigation .nav-subtitle {
  font-size: 11px;
  font-weight: 400;
  color: #888888;
  display: block;
  margin-bottom: 4px;
  font-style: italic;
}

/* ─── COMMENTS SECTION ───────────────────────────────────────────────────── */

.single-post #comments {
  margin-top: 48px;
}

.single-post .comments-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 22px !important;
  color: #1A3D2B !important;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid #D8F3DC;
}

/* Comment list */
.single-post .comment-body {
  background: #FAF7F0;
  border: 1px solid #D8F3DC;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 16px;
}

.single-post .comment-author .fn {
  font-family: 'Lora', serif;
  font-weight: 700;
  color: #1A3D2B;
  font-size: 15px;
}

.single-post .comment-metadata {
  font-family: 'Lora', serif;
  font-size: 12px;
  color: #888888;
  font-style: italic;
  margin-bottom: 10px;
}

.single-post .comment-metadata a {
  color: #888888 !important;
  text-decoration: none !important;
}

.single-post .comment-content p {
  font-family: 'Lora', serif;
  font-size: 15px;
  line-height: 1.7;
  color: #444444;
  margin: 0;
}

/* Comment reply link */
.single-post .reply a {
  font-family: 'Lora', serif;
  font-size: 12px;
  color: #2D6A4F !important;
  text-decoration: underline !important;
}

/* Comment form */
.single-post .comment-reply-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 20px !important;
  color: #1A3D2B !important;
  margin-bottom: 20px;
}

.single-post .comment-form input[type="text"],
.single-post .comment-form input[type="email"],
.single-post .comment-form input[type="url"],
.single-post .comment-form textarea {
  border: 1.5px solid #95D5B2 !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-family: 'Lora', serif !important;
  font-size: 15px !important;
  color: #1A1A1A !important;
  background: #fff !important;
  width: 100% !important;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.single-post .comment-form input:focus,
.single-post .comment-form textarea:focus {
  border-color: #52B788 !important;
  box-shadow: 0 0 0 3px rgba(82, 183, 136, 0.15) !important;
  outline: none !important;
}

.single-post .comment-form input[type="submit"] {
  background: #1A3D2B !important;
  color: #FAF7F0 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 32px !important;
  font-family: 'Lora', serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.single-post .comment-form input[type="submit"]:hover {
  background: #2D6A4F !important;
}

/* ─── RESPONSIVE ─────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  .blog .widget-area {
    min-width: 100%;
    max-width: 100%;
  }

  .single-post .entry-title {
    font-size: 28px !important;
  }

  .single-post .entry-header {
    padding: 28px 20px;
  }

  .blog .entry-header {
    padding: 28px 20px;
  }

  .single-post .post-navigation {
    flex-direction: column;
  }
}
 

/* ─── STICKY HEADER ──────────────────────────────────────────────────────── */

#masthead {
    position: sticky;
    top: 0;
    z-index: 9999;
    box-shadow: 0 2px 8px rgba(26, 61, 43, 0.12);
}

/* ─── BROWSE A-Z — LETTER FILTER PILLS ──────────────────────────────────── */

.tgg-letter-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 24px;
}

.tgg-letter-pill {
  display: inline-block;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 13px;
  font-weight: 600;
  color: #1A3D2B;
  background: transparent;
  border: 1.5px solid #95D5B2;
  border-radius: 30px;
  padding: 4px 10px;
  text-decoration: none;
  transition: all 0.2s ease;
  line-height: 1.4;
  white-space: nowrap;
}

.tgg-letter-pill:hover {
  background: #1A3D2B;
  color: #D8F3DC;
  border-color: #1A3D2B;
}

.tgg-letter-pill-active {
  background: #1A3D2B;
  color: #D8F3DC;
  border-color: #1A3D2B;
}

@media (max-width: 600px) {
  .tgg-letter-nav {
    gap: 3px;
  }

  .tgg-letter-pill {
    font-size: 12px;
    padding: 3px 8px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE FIXES — Homepage + About Page
   Paste at the bottom of style.css
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    /* ─── HOMEPAGE HERO — reduce oversized headings ──────────────────────── */

    /* Main hero H1 */
    .home .entry-title,
    .home h1 {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }

    /* Hero subheading / tagline paragraph */
    .home .wp-block-cover__inner-container p,
    .home .hero-tagline,
    .home h1 + p {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }

    /* ─── CATEGORY NAV PILLS — compact so they wrap in 2-3 lines not 5 ──── */

    .tgg-cat-nav {
        gap: 5px !important;
    }

    .tgg-cat-nav-pill {
        font-size: 11px !important;
        padding: 4px 10px !important;
        line-height: 1.3 !important;
    }

    /* ─── STAT CARDS — keep two per row on mobile ────────────────────────── */

    /* Target the columns block containing stat cards */
    .home .wp-block-columns.tgg-stat-row,
    .page-id-2175 .wp-block-columns.tgg-stat-row {
        flex-wrap: wrap !important;
    }

    /* Force two columns per row by making each column ~48% wide */
    .home .wp-block-columns.tgg-stat-row .wp-block-column,
    .page-id-2175 .wp-block-columns.tgg-stat-row .wp-block-column {
        flex-basis: 48% !important;
        min-width: 48% !important;
        max-width: 48% !important;
    }

    .tgg-stat-card {
        font-size: 28px !important;
    }

    .tgg-stat-card.tgg-stat-card-sm {
        font-size: 20px !important;
    }

    .tgg-stat-label {
        font-size: 11px !important;
    }

    /* ─── ABOUT PAGE HERO — reduce oversized heading ─────────────────────── */

    .page-id-2175 .entry-header h1,
    .page-id-2175 .tgg-cat-title,
    .page-id-2175 h1 {
        font-size: 30px !important;
        line-height: 1.2 !important;
    }

    .page-id-2175 .entry-header p,
    .page-id-2175 .tgg-cat-desc {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    /* ─── ABOUT PAGE VALUES SECTION — collapse excess spacing ───────────── */

    /* Reduce bottom margin/padding on value columns */
    .page-id-2175 .wp-block-columns {
        gap: 16px !important;
        margin-bottom: 16px !important;
    }

    .page-id-2175 .wp-block-column {
        margin-bottom: 8px !important;
        padding-bottom: 0 !important;
    }

    /* Tighten paragraph spacing inside value blocks */
    .page-id-2175 .wp-block-column p {
        margin-bottom: 12px !important;
    }

    /* Tighten H4 headings in values */
    .page-id-2175 .wp-block-column h4 {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

}

/* ═══════════════════════════════════════════════════════════════════════════
   ULTIMATE MEMBER STYLING — The Green Glossary
   Covers: Login, Register, Profile, Account, Password Reset pages
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── PAGE HEADER BANDS ──────────────────────────────────────────────────── */
/* Applies the forest green header to all UM pages */

.page-id-3304 .entry-header,
.page-id-3305 .entry-header,
.page-id-3306 .entry-header,
.page-id-3308 .entry-header,
.page-id-3309 .entry-header,
.page-id-3310 .entry-header {
    background-color: #1A3D2B;
    padding: 40px;
    margin-bottom: 32px;
    margin-left: -40px;
    margin-right: -40px;
}

.page-id-3304 .entry-title,
.page-id-3305 .entry-title,
.page-id-3306 .entry-title,
.page-id-3308 .entry-title,
.page-id-3309 .entry-title,
.page-id-3310 .entry-title {
    color: #FAF7F0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 36px;
    margin: 0;
}

/* ─── FORM WRAPPER ───────────────────────────────────────────────────────── */

.um-form {
    background: #FAF7F0;
    border: 1px solid #D8F3DC;
    border-radius: 8px;
    padding: 32px !important;
    max-width: 560px;
    margin: 0 auto;
}

/* ─── FIELD LABELS ───────────────────────────────────────────────────────── */

.um-form .um-field-label label,
.um-form .um-field-label span {
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1A3D2B !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}

/* Required asterisk */
.um-form .um-field-label .req {
    color: #52B788 !important;
}

/* ─── INPUT FIELDS ───────────────────────────────────────────────────────── */

.um-form .um-field input[type="text"],
.um-form .um-field input[type="email"],
.um-form .um-field input[type="password"],
.um-form .um-field input[type="tel"],
.um-form .um-field input[type="url"],
.um-form .um-field input[type="number"],
.um-form .um-field textarea,
.um-form .um-field select,
.um-form-field input[type="text"],
.um-form-field input[type="email"],
.um-form-field input[type="password"] {
    border: 1.5px solid #95D5B2 !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-family: 'Lora', serif !important;
    font-size: 15px !important;
    color: #1A1A1A !important;
    background: #fff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    width: 100% !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.um-form .um-field input:focus,
.um-form .um-field textarea:focus,
.um-form .um-field select:focus {
    border-color: #52B788 !important;
    box-shadow: 0 0 0 3px rgba(82, 183, 136, 0.15) !important;
    outline: none !important;
}

.um-form .um-field input::placeholder,
.um-form .um-field textarea::placeholder {
    color: #aaa !important;
    font-style: italic !important;
    font-family: 'Lora', serif !important;
}

/* ─── PRIMARY BUTTON ─────────────────────────────────────────────────────── */

.um-button,
.um-form .um-button,
.um .um-button {
    background: #1A3D2B !important;
    color: #FAF7F0 !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 32px !important;
    font-family: 'Lora', serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    margin-top: 8px !important;
}

.um-button:hover,
.um-form .um-button:hover {
    background: #2D6A4F !important;
    color: #FAF7F0 !important;
}

/* ─── SECONDARY BUTTON ───────────────────────────────────────────────────── */

.um-form .um-alt-btn,
.um .um-alt-btn {
    display: block !important;
    text-align: center !important;
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    color: #2D6A4F !important;
    text-decoration: none !important;
    margin-top: 12px !important;
    padding: 8px !important;
    border: 1.5px solid #52B788 !important;
    border-radius: 6px !important;
    transition: background 0.2s, color 0.2s !important;
}

.um-form .um-alt-btn:hover {
    background: #D8F3DC !important;
    color: #1A3D2B !important;
}

/* ─── FORGOT PASSWORD + OTHER LINKS ──────────────────────────────────────── */

.um-form .um-login-forgot,
.um-form a,
.um .um-login-forgot {
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    color: #2D6A4F !important;
    text-decoration: underline !important;
}

.um-form a:hover {
    color: #1A3D2B !important;
}

/* ─── REMEMBER ME CHECKBOX ───────────────────────────────────────────────── */

.um-form .um-field-checkbox label,
.um-form .um-remember-me label {
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    color: #444444 !important;
}

/* ─── FORM NOTICES / ERRORS ──────────────────────────────────────────────── */

.um-notice,
.um-form .um-notice {
    border-radius: 6px !important;
    padding: 12px 16px !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    margin-bottom: 16px !important;
}

.um-notice.notice-error,
.um-form .um-notice.notice-error {
    background: #fdf0f0 !important;
    border: 1.5px solid #e74c3c !important;
    color: #c0392b !important;
}

.um-notice.notice-success,
.um-form .um-notice.notice-success {
    background: #D8F3DC !important;
    border: 1.5px solid #52B788 !important;
    color: #1A3D2B !important;
}

/* ─── FIELD ERROR MESSAGES ───────────────────────────────────────────────── */

.um-form .um-field-error {
    font-family: 'Lora', serif !important;
    font-size: 12px !important;
    color: #c0392b !important;
    margin-top: 4px !important;
}

/* ─── HONEYPOT FIELD — hide cleanly ──────────────────────────────────────── */

.um-form .um-field.um-field-type_hidden {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PROFILE PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── PROFILE HEADER ─────────────────────────────────────────────────────── */

.um-profile .um-profile-header {
    background: #1A3D2B !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 32px !important;
    position: relative;
}

/* Cover photo area */
.um-profile .um-cover {
    border-radius: 8px 8px 0 0 !important;
    overflow: hidden;
}

/* Profile photo */
.um-profile .um-profile-photo img,
.um-profile .um-avatar img {
    border: 3px solid #52B788 !important;
    border-radius: 50% !important;
}

/* Display name */
.um-profile .um-name a,
.um-profile .um-profile-header .um-name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #FAF7F0 !important;
    text-decoration: none !important;
}

/* Bio / description */
.um-profile .um-profile-header .um-profile-desc,
.um-profile .um-profile-desc {
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #D8F3DC !important;
    line-height: 1.6 !important;
    margin-top: 8px !important;
}

/* Meta info (joined date etc) */
.um-profile .um-profile-header .um-meta,
.um-profile .um-meta span {
    font-family: 'Lora', serif !important;
    font-size: 12px !important;
    color: #95D5B2 !important;
}

/* ─── PROFILE MENU TABS ──────────────────────────────────────────────────── */

.um-profile .um-profile-nav {
    background: #FAF7F0 !important;
    border-bottom: 2px solid #D8F3DC !important;
    padding: 0 !important;
}

.um-profile .um-profile-nav-item a {
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #2D6A4F !important;
    text-decoration: none !important;
    padding: 12px 20px !important;
    display: block !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    transition: color 0.2s, border-color 0.2s !important;
}

.um-profile .um-profile-nav-item a:hover {
    color: #1A3D2B !important;
    border-bottom-color: #52B788 !important;
}

.um-profile .um-profile-nav-item.active a,
.um-profile .um-profile-nav-item.current a {
    color: #1A3D2B !important;
    font-weight: 700 !important;
    border-bottom-color: #1A3D2B !important;
}

/* ─── PROFILE BODY ───────────────────────────────────────────────────────── */

.um-profile .um-profile-body {
    background: #FAF7F0 !important;
    border: 1px solid #D8F3DC !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    padding: 28px 32px !important;
}

/* Field labels in view mode */
.um-profile .um-field-label label {
    font-family: 'Lora', serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #888888 !important;
}

/* Field values in view mode */
.um-profile .um-field-value {
    font-family: 'Lora', serif !important;
    font-size: 15px !important;
    color: #1A1A1A !important;
    line-height: 1.6 !important;
}

/* Edit profile button */
.um-profile .um-profile-edit-btn,
.um-profile a.um-profile-edit {
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    background: #1A3D2B !important;
    color: #FAF7F0 !important;
    border-radius: 6px !important;
    padding: 8px 20px !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    display: inline-block !important;
}

.um-profile .um-profile-edit-btn:hover,
.um-profile a.um-profile-edit:hover {
    background: #2D6A4F !important;
    color: #FAF7F0 !important;
}

/* ─── ACCOUNT PAGE ───────────────────────────────────────────────────────── */

.um-account .um-account-nav {
    border-right: 2px solid #D8F3DC !important;
}

.um-account .um-account-nav-item a {
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #2D6A4F !important;
    text-decoration: none !important;
    padding: 10px 16px !important;
    display: block !important;
    border-radius: 6px !important;
    transition: background 0.2s, color 0.2s !important;
}

.um-account .um-account-nav-item a:hover {
    background: #D8F3DC !important;
    color: #1A3D2B !important;
}

.um-account .um-account-nav-item.current a,
.um-account .um-account-nav-item.active a {
    background: #1A3D2B !important;
    color: #FAF7F0 !important;
    font-weight: 600 !important;
}

/* Account content area */
.um-account .um-account-content {
    padding: 0 0 0 32px !important;
}

/* ─── EMPTY PROFILE MESSAGE ──────────────────────────────────────────────── */

.um-profile .um-profile-empty {
    font-family: 'Lora', serif !important;
    font-size: 15px !important;
    color: #888888 !important;
    font-style: italic !important;
    text-align: center !important;
    padding: 32px 0 !important;
}

/* ─── SOCIAL LINKS ───────────────────────────────────────────────────────── */

.um-profile .um-social-icon a {
    color: #52B788 !important;
    transition: color 0.2s !important;
}

.um-profile .um-social-icon a:hover {
    color: #1A3D2B !important;
}

/* ─── RESPONSIVE ─────────────────────────────────────────────────────────── */

@media (max-width: 600px) {
    .um-form {
        padding: 20px !important;
    }

    .page-id-3304 .entry-header,
    .page-id-3305 .entry-header,
    .page-id-3306 .entry-header,
    .page-id-3308 .entry-header,
    .page-id-3309 .entry-header,
    .page-id-3310 .entry-header {
        padding: 28px 20px;
        margin-left: -20px;
        margin-right: -20px;
    }

    .um-profile .um-profile-header {
        padding: 20px !important;
    }

    .um-profile .um-profile-body {
        padding: 20px !important;
    }

    .um-account .um-account-content {
        padding: 16px 0 0 0 !important;
    }
}
/* ═══════════════════════════════════════════════════════════════════════════

/* ─── HEADER SEARCH ──────────────────────────────────────────────────────── */

.ast-search-menu-icon.slide-search .search-form {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    left: 0 !important;
    right: auto !important;
    min-width: 300px !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
    border: 1.5px solid #52B788 !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.ast-search-menu-icon.slide-search .search-form label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#search-field.search-field {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #FAF7F0 !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    padding: 10px 16px !important;
    outline: none !important;
    box-shadow: none !important;
    flex: 1 !important;
    width: 100% !important;
}

#search-field.search-field::placeholder {
    color: rgba(250, 247, 240, 0.5) !important;
    font-family: 'Lora', serif !important;
    font-style: italic !important;
}

.ast-search-menu-icon .search-submit.ast-search-submit {
    background: transparent !important;
    border: none !important;
    border-left: 1px solid rgba(82, 183, 136, 0.4) !important;
    border-radius: 0 !important;
    padding: 10px 14px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ast-search-menu-icon .search-submit.ast-search-submit:hover {
    background: rgba(82, 183, 136, 0.1) !important;
}

.ast-search-menu-icon .search-submit.ast-search-submit svg path,
.ast-search-menu-icon .ast-search-submit i svg path {
    fill: #2D6A4F !important;
}

.ast-search-icon .ast-icon svg path {
    fill: #2D6A4F !important;
}

.ast-search-menu-icon .search-submit.ast-search-submit i {
    display: none !important;
}

/* ─── SIDEBAR WIDTH FIX ──────────────────────────────────────────────────── */

.sidebar-main {
    width: 320px !important;
    min-width: 320px !important;
    flex-shrink: 0 !important;
}

.sidebar-main .widget {
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 24px !important;
}

/* ─── GLOSSARY SEARCH — pill style ──────────────────────────────────────── */


.glossary_search_widget form span {
    width: 100% !important;
    margin-bottom: 6px !important;
    font-family: 'Lora', serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #1A3D2B !important;
}

.glossary_search_widget form input[type="hidden"] {
    display: none !important;
}

.glossary-widget-search-term {
    flex: 1 !important;
    border: 1.5px solid #52B788 !important;
    border-right: none !important;
    border-radius: 30px 0 0 30px !important;
    padding: 9px 16px !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #1A1A1A !important;
    background: #fff !important;
    box-sizing: border-box !important;
    outline: none !important;
    min-width: 0 !important;
}

.glossary-widget-search-term:focus {
    border-color: #1A3D2B !important;
    outline: none !important;
}

.glossary-widget-search-term::placeholder {
    color: #aaa !important;
    font-style: italic !important;
}

#glossary-search.glossary-search {
    background: #1A3D2B !important;
    color: #FAF7F0 !important;
    border: 1.5px solid #1A3D2B !important;
    border-radius: 0 30px 30px 0 !important;
    padding: 9px 16px !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background 0.2s !important;
    width: auto !important;
}

#glossary-search.glossary-search:hover {
    background: #2D6A4F !important;
    border-color: #2D6A4F !important;
}

/* ─── BLOG SEARCH — pill style ───────────────────────────────────────────── */

.wp-block-search__button-outside .wp-block-search__inside-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    border: 1.5px solid #52B788 !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    background: #fff !important;
    padding: 0 !important;
}

.wp-block-search__button-outside .wp-block-search__inside-wrapper:focus-within {
    border-color: #2D6A4F !important;
    box-shadow: 0 0 0 3px rgba(82, 183, 136, 0.15) !important;
}

.wp-block-search__button-outside .wp-block-search__input {
    border: none !important;
    border-radius: 0 !important;
    padding: 9px 16px !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #1A1A1A !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.wp-block-search__button-outside .wp-block-search__input::placeholder {
    color: #aaa !important;
    font-style: italic !important;
}

.wp-block-search__button-outside .wp-block-search__button {
    background: #52B788 !important;
    color: #1A3D2B !important;
    border: none !important;
    border-radius: 0 30px 30px 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background 0.2s !important;
    width: 44px !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231A3D2B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='M21 21l-4.35-4.35'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px !important;
}

.wp-block-search__button-outside .wp-block-search__button:hover {
    background: #2D6A4F !important;
    color: #FAF7F0 !important;
}

/* ─── BLOG SEARCH BUTTON HEIGHT FIX ─────────────────────────────────────── */

.wp-block-search__button-outside .wp-block-search__inside-wrapper {
    align-items: stretch !important;
}

.wp-block-search__button-outside .wp-block-search__button {
    align-self: stretch !important;
    height: auto !important;
}

/* ─── RECENT POSTS STYLING ───────────────────────────────────────────────── */

.wp-block-latest-posts__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wp-block-latest-posts__list li {
    padding: 8px 0 !important;
    border-bottom: 1px solid #D8F3DC !important;
    font-family: 'Lora', serif !important;
}

.wp-block-latest-posts__list li:last-child {
    border-bottom: none !important;
}

.wp-block-latest-posts__post-title {
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #2D6A4F !important;
    text-decoration: none !important;
}

.wp-block-latest-posts__post-title:hover {
    color: #1A3D2B !important;
    text-decoration: underline !important;
}

.wp-block-heading {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    color: #1A3D2B !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #D8F3DC !important;
}

/* ─── HOMEPAGE HERO HEADING FIX ─────────────────────────────────────────── */

.home .wp-block-group .wp-block-heading.has-ast-global-color-7-color,
.home .wp-block-group h1.has-ast-global-color-7-color {
    color: #FAF7F0 !important;
    font-size: clamp(36px, 5vw, 72px) !important;
    line-height: 1.1 !important;
}

.home .wp-block-group p.has-ast-global-color-7-color {
    color: #FAF7F0 !important;
}

/* ─── SIDEBAR CTA BOX PADDING FIX ───────────────────────────────────────── */

.tgg-blog-cta {
    padding: 20px 20px !important;
}

.tgg-blog-cta .widget-title {
    margin-bottom: 12px !important;
}

/* ─── GLOSSARY SEARCH INPUT BORDER COMPLETE PILL ────────────────────────── */

.glossary-widget-search-term {
    border: 1.5px solid #52B788 !important;
    border-right: none !important;
}

#glossary-search.glossary-search {
    border: 1.5px solid #52B788 !important;
    border-left: none !important;
    border-radius: 0 30px 30px 0 !important;
    background: #52B788 !important;
    color: #1A3D2B !important;
}

#glossary-search.glossary-search:hover {
    background: #2D6A4F !important;
    border-color: #2D6A4F !important;
    color: #FAF7F0 !important;
}

/* ─── GLOSSARY SEARCH BUTTON — icon only, aligned ───────────────────────── */

.glossary_search_widget form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    align-items: stretch !important;
}

#glossary-search.glossary-search {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    min-height: 38px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231A3D2B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='M21 21l-4.35-4.35'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px !important;
    width: 44px !important;
    flex-shrink: 0 !important;
}

.glossary-widget-search-term {
    flex: 1 !important;
    border: 1.5px solid #52B788 !important;
    border-right: none !important;
    border-radius: 30px 0 0 30px !important;
    padding: 9px 16px !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #1A1A1A !important;
    background: #fff !important;
    box-sizing: border-box !important;
    outline: none !important;
    min-width: 0 !important;
    vertical-align: middle !important;
    height: auto !important;
}

.ast-search-menu-icon.slide-search.ast-dropdown-active .search-submit.ast-search-submit i {
    display: flex !important;
}

/* ─── HERO SEARCH BUTTON — override sidebar styles ───────────────────────── */

.home #glossary-search,
.home .glossary-search.button {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: #FAF7F0 !important;
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    padding: 12px 20px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: background 0.2s !important;
    width: auto !important;
    min-height: auto !important;
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
}

.home #glossary-search::after,
.home .glossary-search.button::after {
    content: 'Search →' !important;
    font-size: 13px !important;
}

.home #glossary-search:hover,
.home .glossary-search.button:hover {
    background: rgba(250, 247, 240, 0.1) !important;
}

.home form[action*="glossary"] {
    align-items: stretch !important;
}

.home #glossary-search-term {
    align-self: stretch !important;
}

/* ─── RECENT POSTS SIDEBAR REFINEMENT ───────────────────────────────────── */

.wp-block-latest-posts__list li {
    padding: 10px 0 !important;
    border-bottom: 1px solid #D8F3DC !important;
    font-family: 'Lora', serif !important;
    line-height: 1.4 !important;
}

.wp-block-latest-posts__list li:first-child {
    padding-top: 0 !important;
}

.wp-block-latest-posts__list li:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.wp-block-latest-posts__post-title {
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #1A3D2B !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    display: block !important;
    transition: color 0.2s !important;
}

.wp-block-latest-posts__post-title:hover {
    color: #52B788 !important;
    text-decoration: none !important;
}