/* Glossary term page styles */

.term-hero {
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%);
  padding: 3.5rem 0 2.5rem;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-light, #e5e9f2);
}
.term-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 50% at 100% 0%, rgba(30,64,175,.06) 0%, transparent 55%),
    radial-gradient(ellipse 50% 45% at 0% 100%, rgba(185,127,28,.05) 0%, transparent 55%);
}
.term-hero .container { position: relative; z-index: 1; }
.term-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--accent-amber, #b97f1c);
  margin-bottom: 1rem;
}
.term-hero__title {
  font-family: var(--font-display, 'Source Serif 4', serif);
  font-size: clamp(2.2rem, 4.4vw, 3.2rem);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.1;
  color: var(--navy-dark, #0c1c3a);
  margin-bottom: 1rem;
}
.term-hero__alias {
  font-size: 1rem;
  color: var(--text-tertiary, #6b7388);
  font-style: italic;
  margin-bottom: 1.5rem;
}

.term-definition {
  background: #fff;
  border: 1px solid var(--border-light, #e5e9f2);
  border-left: 4px solid var(--accent-amber, #b97f1c);
  border-radius: 10px;
  padding: 1.4rem 1.6rem;
  font-size: 1.08rem;
  line-height: 1.55;
  color: var(--text-primary, #1a2238);
  max-width: 760px;
  margin-bottom: 1.75rem;
}
.term-definition__label {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent-amber, #b97f1c);
  margin-bottom: .5rem;
}

.term-jurisdiction {
  max-width: 760px;
  background: #fff;
  border: 1px solid var(--border-light, #e5e9f2);
  border-radius: 10px;
  padding: 1rem 1.4rem;
  margin-bottom: 1.5rem;
}
.term-jurisdiction__label {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-tertiary, #6b7388);
  margin-bottom: .65rem;
}
.term-jurisdiction table {
  width: 100%;
  margin: 0;
  font-size: .95rem;
}
.term-jurisdiction th,
.term-jurisdiction td {
  padding: .35rem .75rem .35rem 0;
  vertical-align: top;
  text-align: left;
}
.term-jurisdiction th {
  width: 110px;
  font-weight: 600;
  color: var(--navy-dark, #0c1c3a);
  white-space: nowrap;
}
.term-jurisdiction td { color: var(--text-secondary, #4d566b); }

.term-body {
  padding: 2.5rem 0 3rem;
}
.term-prose h2 {
  font-family: var(--font-display, 'Source Serif 4', serif);
  font-size: 1.55rem;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--navy-dark, #0c1c3a);
  margin-top: 2.25rem;
  margin-bottom: .9rem;
}
.term-prose h2:first-child { margin-top: 0; }
.term-prose p {
  font-size: 1.04rem;
  line-height: 1.65;
  color: var(--text-primary, #1a2238);
  margin-bottom: 1.1rem;
}
.term-prose ul {
  font-size: 1.02rem;
  line-height: 1.6;
  color: var(--text-primary, #1a2238);
  padding-left: 1.2rem;
  margin-bottom: 1.25rem;
}
.term-prose ul li { margin-bottom: .45rem; }
.term-prose a { color: var(--navy-dark, #0c1c3a); text-decoration: underline; text-decoration-color: rgba(185,127,28,.4); text-underline-offset: 3px; }
.term-prose a:hover { text-decoration-color: var(--accent-amber, #b97f1c); }

.term-product-callout {
  margin: 2rem 0 1rem;
  padding: 1.4rem 1.5rem;
  background: linear-gradient(135deg, #f6f8fc 0%, #eef2f9 100%);
  border-radius: 12px;
  border: 1px solid var(--border-light, #e5e9f2);
}
.term-product-callout__eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent-amber, #b97f1c);
  margin-bottom: .5rem;
}
.term-product-callout__title {
  font-family: var(--font-display, 'Source Serif 4', serif);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--navy-dark, #0c1c3a);
  margin-bottom: .55rem;
}
.term-product-callout__body {
  font-size: .96rem;
  line-height: 1.55;
  color: var(--text-secondary, #4d566b);
  margin-bottom: .85rem;
}
.term-product-callout__cta {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .92rem;
  font-weight: 600;
  color: var(--navy-dark, #0c1c3a);
  text-decoration: none;
}
.term-product-callout__cta:hover { color: var(--accent-amber, #b97f1c); }

.term-related {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-light, #e5e9f2);
}
.term-related__title {
  font-family: var(--font-display, 'Source Serif 4', serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--navy-dark, #0c1c3a);
  margin-bottom: 1rem;
}
.term-related__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: .75rem;
}
.term-related__item {
  display: block;
  padding: .9rem 1.1rem;
  background: #fff;
  border: 1px solid var(--border-light, #e5e9f2);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, transform .15s ease;
}
.term-related__item:hover {
  border-color: var(--navy-dark, #0c1c3a);
  transform: translateY(-1px);
  color: inherit;
}
.term-related__term {
  font-weight: 600;
  color: var(--navy-dark, #0c1c3a);
  margin-bottom: .15rem;
  font-size: .98rem;
}
.term-related__hint {
  font-size: .82rem;
  color: var(--text-tertiary, #6b7388);
}

.term-sidebar-card {
  background: #fff;
  border: 1px solid var(--border-light, #e5e9f2);
  border-radius: 12px;
  padding: 1.25rem 1.3rem;
}
.term-sidebar-card h3 {
  font-family: var(--font-display, 'Source Serif 4', serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--navy-dark, #0c1c3a);
  margin-bottom: .8rem;
}
.term-sidebar-card a {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .35rem 0;
  font-size: .92rem;
  color: var(--text-primary, #1a2238);
  text-decoration: none;
}
.term-sidebar-card a:hover { color: var(--accent-amber, #b97f1c); }
.term-sidebar-card a i { color: var(--accent-amber, #b97f1c); width: 18px; }

.term-back {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: 1rem;
  font-size: .88rem;
  font-weight: 500;
  color: var(--text-secondary, #4d566b);
  text-decoration: none;
}
.term-back:hover { color: var(--navy-dark, #0c1c3a); }

/* ---------------------------------------------------------------------- */
/* Glossary hub (index page) styles                                       */
/* ---------------------------------------------------------------------- */
.glossary-hero {
  background: linear-gradient(180deg, #0b1f3a 0%, #102a4f 100%);
  color: #fff;
  padding: 4.5rem 0 3rem;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.glossary-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 90% 0%, rgba(28, 181, 185, 0.16) 0%, transparent 55%),
    radial-gradient(ellipse 50% 45% at 5% 100%, rgba(96, 165, 250, 0.10) 0%, transparent 55%);
}
.glossary-hero .container { position: relative; z-index: 1; }
.glossary-hero .blog-breadcrumbs { color: rgba(255, 255, 255, 0.7); }
.glossary-hero .blog-breadcrumbs a { color: rgba(255, 255, 255, 0.7); }
.glossary-hero .blog-breadcrumbs a:hover { color: #fff; }
.glossary-hero .blog-breadcrumbs .separator { color: rgba(255, 255, 255, 0.4); }
.glossary-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #5eead4;
  background: rgba(28, 181, 185, 0.12);
  border: 1px solid rgba(94, 234, 212, 0.3);
  padding: .32rem .8rem;
  border-radius: 999px;
  margin-bottom: 1rem;
}
.glossary-hero__title {
  font-family: var(--font-display, 'Source Serif 4', serif);
  font-size: clamp(2.2rem, 4.2vw, 3.15rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.1;
  color: #fff;
  margin-bottom: 1rem;
}
.glossary-hero__sub {
  font-size: 1.1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  max-width: 720px;
}
/* Tools section, light band between dark hero and the term grid */
.glossary-tools {
  background: #fff;
  border-bottom: 1px solid var(--border-light, #e5e9f2);
  padding: 1.75rem 0 1.5rem;
}
.glossary-search { max-width: 720px; }
.glossary-search input {
  width: 100%;
  padding: .85rem 1.1rem;
  border: 1px solid var(--border-light, #e5e9f2);
  border-radius: 10px;
  font-size: 1rem;
  font-family: inherit;
  background: #fff;
  color: var(--text-primary, #1a2238);
  transition: border-color .15s, box-shadow .15s;
}
.glossary-search input::placeholder { color: var(--text-tertiary, #6b7388); }
.glossary-search input:focus {
  outline: none;
  border-color: var(--navy-dark, #0c1c3a);
  box-shadow: 0 0 0 3px rgba(12, 28, 58, 0.08);
}
.glossary-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.25rem 0 .5rem;
}
.glossary-filter {
  display: inline-flex;
  align-items: center;
  padding: .45rem .9rem;
  border-radius: 999px;
  border: 1px solid var(--border-light, #e5e9f2);
  background: #fff;
  color: var(--text-secondary, #4d566b);
  font-size: .85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s ease;
}
.glossary-filter:hover {
  border-color: var(--navy-dark, #0c1c3a);
  color: var(--navy-dark, #0c1c3a);
  background: #f6f8fc;
}
.glossary-filter[aria-pressed="true"] {
  background: var(--navy-dark, #0c1c3a);
  color: #fff;
  border-color: var(--navy-dark, #0c1c3a);
}
.glossary-section { padding: 2.5rem 0 4rem; }
.glossary-section__title {
  font-family: var(--font-display, 'Source Serif 4', serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--navy-dark, #0c1c3a);
  margin: 0 0 1.25rem;
}
.glossary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}
.glossary-card {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: 1.25rem 1.25rem 1.1rem;
  background: #fff;
  border: 1px solid var(--border-light, #e5e9f2);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.glossary-card:hover {
  border-color: var(--navy-dark, #0c1c3a);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -12px rgba(12, 28, 58, 0.18);
  color: inherit;
}
.glossary-card__cat {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent-amber, #b97f1c);
}
.glossary-card__term {
  font-family: var(--font-display, 'Source Serif 4', serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--navy-dark, #0c1c3a);
  margin: 0;
}
.glossary-card__alias {
  font-size: .82rem;
  color: var(--text-tertiary, #6b7388);
  font-style: italic;
}
.glossary-card__def {
  font-size: .92rem;
  line-height: 1.45;
  color: var(--text-secondary, #4d566b);
  margin: 0;
}
.glossary-card__arrow {
  margin-top: .35rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--navy-dark, #0c1c3a);
}
.glossary-card.is-hidden { display: none; }
.glossary-empty {
  padding: 3rem 1rem;
  text-align: center;
  color: var(--text-tertiary, #6b7388);
  font-size: 1rem;
}
