:root {
  --glex-glass: color-mix(in srgb, var(--paper, #fff) 78%, transparent);
  --glex-glass-strong: color-mix(in srgb, var(--paper, #fff) 90%, transparent);
  --glex-glass-line: color-mix(in srgb, var(--line, #d7d3c9) 72%, rgba(255,255,255,.42));
  --glex-glass-shadow: 0 14px 38px rgba(4, 37, 27, .08), inset 0 1px 0 rgba(255,255,255,.62);
}

.masthead {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: color-mix(in srgb, #063c29 76%, transparent) !important;
  border-bottom: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 34px rgba(1,28,19,.16);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
}

.masthead .mast-inner {
  max-width: 1480px;
  min-height: 84px;
  padding-block: .62rem;
}

.masthead .mast-emblem { width: 38px; height: 54px; object-fit: contain; }
.masthead .wordmark { font-size: clamp(1.65rem, 2vw, 2rem); }

.mast-nav,
.side,
.filters,
.doc-card,
.toc,
.reader-panel,
.renvois-card,
.doc-body,
.cat-card,
.corpus-metric,
.tl-item,
.farba-card {
  border-color: var(--glex-glass-line) !important;
  background: var(--glex-glass) !important;
  box-shadow: var(--glex-glass-shadow);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}

.doc-body { background: var(--glex-glass-strong) !important; }

.doc-card,
.cat-card,
.tl-item {
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.doc-card:hover,
.cat-card:hover,
.tl-item:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--gold, #d5a934) 55%, var(--glex-glass-line)) !important;
  box-shadow: 0 18px 44px rgba(4,37,27,.12), inset 0 1px 0 rgba(255,255,255,.76);
}

.side-search,
.filters-search,
.txt-search,
.search-box,
.filter-opt,
.account-menu,
.nav-more-panel,
.nav-burger-panel {
  border-color: var(--glex-glass-line) !important;
  background: var(--glex-glass-strong) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 12px 30px rgba(4,37,27,.09);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
}

@media (prefers-reduced-motion: reduce) {
  .doc-card,
  .cat-card,
  .tl-item { transition: none; }
}
