/**
 * Copyright (c) 2026 DNA Genics, S.L. All rights reserved.
 *
 * Heritage glossary: readable definitions, compact filters and responsive browsing.
 */
.hgl-page { padding-top:calc(var(--nav-height,72px) + 8px) !important; background:var(--hd-bg); color:var(--hd-ink); font-family:var(--hd-sans); }
.hgl-page *, .hgl-page *::before, .hgl-page *::after { box-sizing:border-box; }
.hgl-page [hidden], .hgl-page .hidden, .hgl-page .glossary-terms-hidden { display:none !important; }
.hgl-page [id] { scroll-margin-top:calc(var(--nav-height,72px) + 24px); }
.hgl-page :is(a,button,input,[tabindex]):focus-visible { outline:3px solid #92723b; outline-offset:4px; }
.hgl-page .pl-wrap { width:100%; max-width:1440px; margin-inline:auto; padding-inline:clamp(18px,4vw,56px); }
.hgl-page .hg-hero { padding-block:30px 42px; }
.hgl-page .hg-hero h1 { font:500 clamp(2.8rem,5vw,4.8rem)/1.06 var(--hd-serif); color:var(--hd-primary); letter-spacing:-.025em; }
.hgl-page .hg-hero p { line-height:1.8; }
.hgl-page .hgl-search-label { display:block; font-size:.85rem; font-weight:600; margin-top:28px; }
.hgl-page .glossary-search-box { margin-top:10px; border:1px solid var(--hd-border); border-radius:10px; padding:8px 12px; gap:12px; }
.hgl-page .glossary-search-input { width:100%; font:400 max(1rem,16px)/1.6 var(--hd-sans); padding:10px 0; background:transparent; color:var(--hd-ink); }
.hgl-page .glossary-search-clear { border:0; background:var(--hd-sand); border-radius:6px; min-width:44px; }
.hgl-page #glossaryResultsStatus { font-size:.8rem; color:#626559; margin:12px 0 0; }
.hgl-page .pl-section { padding-block:30px; }
.hgl-page .pl-section-heading h2 { font:500 clamp(1.9rem,3vw,2.6rem)/1.2 var(--hd-serif); color:var(--hd-primary); }
.hgl-page .glossary-category-tabs { gap:8px; margin:20px 0; }
.hgl-page .glossary-category-tab { border:1px solid var(--hd-border); border-radius:8px; padding:10px 14px; min-height:46px; font:500 .85rem/1.5 var(--hd-sans); gap:8px; display:inline-flex; align-items:center; }
.hgl-page .glossary-category-tab.active { background:var(--hd-primary); color:#fff; border-color:var(--hd-primary); }
.hgl-page .glossary-tab-count { opacity:.8; font-size:.8em; }
.hgl-page .glossary-alphabet-bar { background:var(--hd-sand); padding:16px; border-radius:10px; }
.hgl-page .glossary-alphabet-links { margin:10px 0 0; gap:4px; }
.hgl-page .glossary-alphabet-link { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:0; padding:8px; border-radius:6px; font-size:.85rem; }
.hgl-page .glossary-alphabet-link.disabled { opacity:.45; cursor:default; }
.hgl-page .glossary-terms-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.hgl-page .glossary-letter-section { margin-bottom:36px; }
.hgl-page .glossary-letter-heading { display:flex; align-items:baseline; gap:16px; border-bottom:1px solid var(--hd-border); padding-bottom:12px; margin-bottom:20px; }
.hgl-page .glossary-letter { font:500 2.8rem/1 var(--hd-serif); color:var(--hd-primary); }
.hgl-page .glossary-letter-count { font:400 .8rem/1.5 var(--hd-sans); color:#626559; }
.hgl-page .glossary-term-card { padding:24px; border:1px solid var(--hd-border); border-radius:12px; background:var(--hd-surface); min-width:0; box-shadow:none; }
.hgl-page .glossary-term-title { font:600 1.5rem/1.25 var(--hd-serif); margin:0; color:var(--hd-primary); }
.hgl-page .glossary-term-header { gap:16px; margin-bottom:14px; }
.hgl-page .glossary-term-definition { font:400 .94rem/1.85 var(--hd-sans); color:#4f554c; margin:0; }
.hgl-page :is(p,h1,h2,h3,a) { overflow-wrap:anywhere; }
.hgl-page .glossary-term-expand { border:1px solid var(--hd-border); border-radius:8px; padding:10px; min-width:44px; min-height:44px; flex-shrink:0; }
.hgl-page.hgl-enhanced .glossary-term-card:not(.expanded) .glossary-related-terms { display:none; }
.hgl-page .glossary-related-terms { border-top:1px solid var(--hd-border); padding-top:16px; margin-top:18px; }
.hgl-page .glossary-related-label { color:#626559; font-size:.78rem; }
.hgl-page .glossary-related-links { display:flex; flex-wrap:wrap; gap:8px 16px; }
.hgl-page .glossary-related-link { display:inline-flex; align-items:center; min-height:44px; color:var(--hd-primary); text-decoration:underline; text-underline-offset:3px; font-size:.85rem; }
.hgl-page .glossary-category-intro { padding:20px 24px; background:var(--hd-sand); border-radius:10px; margin-bottom:28px; }
.hgl-page .glossary-category-title { font-family:var(--hd-serif); }
.hgl-page .glossary-no-results { padding:32px; border:1px solid var(--hd-border); border-radius:12px; background:var(--hd-surface); text-align:center; }
.hgl-page .glossary-cta-content { border-top:1px solid var(--hd-border); padding-top:24px; }
@media (max-width:767px) { .hgl-page .hg-hero { grid-template-columns:minmax(0,1fr); } .hgl-page .glossary-terms-grid { grid-template-columns:minmax(0,1fr); } .hgl-page .glossary-term-card { padding:20px; } .hgl-page .glossary-category-tabs { flex-wrap:nowrap; overflow-x:auto; padding:5px 4px 12px; } .hgl-page .glossary-category-tab { flex-shrink:0; } }
@media (prefers-reduced-motion:reduce) { .hgl-page * { scroll-behavior:auto !important; transition:none !important; } }
@media print { .hgl-page { padding:0 !important; } .hgl-page .hg-hero { display:block; } .hgl-page :is(.hg-context,.glossary-search-box,.hgl-search-label,#navigation,#cta,.glossary-term-expand,#glossaryResultsStatus) { display:none !important; } .hgl-page .glossary-terms-grid { display:block; } .hgl-page .glossary-term-card { break-inside:avoid; margin-bottom:12px; } .hgl-page .glossary-related-terms { display:block !important; } }
