/* Hereda tipografías y colores base del tema; solo añade estructura y el color por eje */
.gb, .gb-ficha { font-family: inherit; }
.gb-card[hidden], .gb-empty[hidden], .gb-more[hidden] { display: none !important; }
.gb-search { margin: 0 0 16px; }
.gb-q { width: 100%; max-width: 640px; padding: 14px 16px; font: inherit; font-size: 1.05em; border: 1px solid #c9c2cc; border-radius: 6px; }
.gb-q:focus, .gb-chip:focus-visible, .gb-tipo:focus-visible, .gb-anio:focus-visible, .gb-more:focus-visible, .gb-card:focus-visible, .gb-btn:focus-visible { outline: 3px solid #0CB2B7; outline-offset: 2px; }
.gb-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.gb-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gb-chip { --c: #421D4F; display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; font: inherit; font-size: .9em; font-weight: 600; color: inherit; background: transparent; border: 2px solid var(--c); border-radius: 99px; cursor: pointer; }
.gb-chip i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.gb-chip[aria-pressed="true"] { background: var(--c); color: #fff; }
.gb-chip[aria-pressed="true"] i { background: #fff; }
.gb-chip[data-eje="autonomia-economica"][aria-pressed="true"] { color: #2A1A30; }
.gb-chip[data-eje="autonomia-economica"][aria-pressed="true"] i { background: #2A1A30; }
.gb-tipo, .gb-anio { padding: 8px 10px; font: inherit; font-size: .9em; border: 1px solid #c9c2cc; border-radius: 6px; background: #fff; color: inherit; }
.gb-count { margin: 14px 0 18px; opacity: .7; font-size: .9em; }
.gb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 24px; }
.gb-card { --c: #421D4F; display: flex; flex-direction: column; text-decoration: none; color: inherit; border: 1px solid #e3dde5; border-top: 4px solid var(--c); border-radius: 6px; overflow: hidden; background: #fff; }
.gb-card:hover { border-color: var(--c); box-shadow: 0 2px 10px rgba(0,0,0,.1); }
.gb-cover { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; background: #f3eff5; }
.gb-nocover { display: flex; align-items: flex-end; padding: 14px; font-weight: 700; line-height: 1.2; color: #fff; background: var(--c); }
.gb-card[href] .gb-nocover { box-sizing: border-box; }
.gb-meta { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 16px; }
.gb-tag { font-size: .8em; font-weight: 700; color: var(--c); }
.gb-title { font-weight: 700; line-height: 1.3; }
.gb-sub { font-size: .85em; opacity: .7; }
.gb-empty { padding: 30px; text-align: center; border: 2px dashed #d8d0db; border-radius: 6px; }
.gb-morewrap { text-align: center; margin-top: 28px; }
.gb-more, .gb-btn { display: inline-block; padding: 12px 22px; font: inherit; font-weight: 700; color: #fff; background: #421D4F; border: 2px solid #421D4F; border-radius: 6px; text-decoration: none; cursor: pointer; }
.gb-btn-o { color: #421D4F; background: transparent; }
.gb-more:hover, .gb-btn:hover { opacity: .88; }
/* Evita el texto justificado del tema */
.gb, .gb-card, .gb-ficha { text-align: left; }
.gb-title, .gb-sub, .gb-tag { text-align: left; }
/* Página del documento */
.gb-lector[hidden] { display: none !important; }
.gb-lector { margin-top: 22px; }
.gb-lector iframe { width: 100%; height: 80vh; min-height: 480px; border: 1px solid #e3dde5; border-radius: 4px; background: #f3eff5; }
.gb-lector-nota { font-size: .9em; opacity: .75; }
.gb-ficha { --c: #421D4F; margin: 0 0 28px; padding: 0 0 22px; border-bottom: 1px solid #e3dde5; }
.gb-back a { font-size: .9em; }
.gb-ficha-top { display: flex; gap: 28px; flex-wrap: wrap; align-items: flex-start; }
.gb-ficha-img { width: 220px; max-width: 100%; height: auto; border: 1px solid #e3dde5; border-top: 4px solid var(--c); border-radius: 4px; }
.gb-ficha-top > div { flex: 1; min-width: 240px; }
.gb-dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 12px 0 18px; }
.gb-dl dt { opacity: .65; }
.gb-dl dd { margin: 0; }
.gb-acts { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 520px) { .gb-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; } }

/* Más descargados */
.gb-top[hidden] { display: none !important; }
.gb-top { margin: 6px 0 26px; padding: 16px 20px; border: 1px solid #e3dde5; border-left: 4px solid #FAB80E; border-radius: 6px; background: #fff; }
.gb-top-h { margin: 0 0 8px; font-size: 1.15em; }
.gb-top-list { margin: 0; padding-left: 22px; }
.gb-top-list li { margin: 4px 0; }
.gb-top-list span { opacity: .65; font-size: .9em; margin-left: 6px; }

/* v1.4 · Buscador destacado */
.gb-buscador { padding: 22px; margin: 0 0 22px; background: rgba(66,29,79,.07); border-radius: 10px; }
.gb-search { margin: 0 0 16px; }
.gb-search-l { display: block; margin: 0 0 8px; font-weight: 700; font-size: 1.1em; color: #421D4F; }
.gb-search-row { display: flex; align-items: stretch; background: #fff; border: 2px solid #421D4F; border-radius: 8px; overflow: hidden; max-width: 760px; }
.gb-search-row:focus-within { box-shadow: 0 0 0 3px rgba(12,178,183,.55); }
.gb-lupa { display: flex; align-items: center; padding: 0 4px 0 14px; color: #421D4F; }
.gb-search-row .gb-q { flex: 1; min-width: 0; max-width: none; border: 0; border-radius: 0; padding: 16px 12px; font-size: 1.1em; background: transparent; }
.gb-search-row .gb-q:focus { outline: none; box-shadow: none; }
.gb-buscar { border: 0; background: #421D4F; color: #fff; font: inherit; font-weight: 700; padding: 0 26px; cursor: pointer; }
.gb-buscar:hover { opacity: .9; }
.gb-buscar:focus-visible, .gb-limpiar:focus-visible, .gb-leermas:focus-visible, .gb-citar:focus-visible, .gb-copiar-enlace:focus-visible { outline: 3px solid #0CB2B7; outline-offset: 2px; }
.gb-limpiar { padding: 7px 14px; font: inherit; font-size: .9em; font-weight: 600; color: #421D4F; background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
.gb-limpiar[hidden] { display: none !important; }
.gb-tipo, .gb-anio { border-color: #b9aabf; }
mark { background: #FAB80E; color: #2A1A30; padding: 0 1px; border-radius: 2px; }
/* Fragmento en tarjetas */
.gb-ext { font-size: .88em; line-height: 1.45; opacity: .85; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-top: 4px; }
/* Resumen con "Leer más" */
.gb-resumen.gb-clamp { max-height: 11em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 65%, transparent); mask-image: linear-gradient(#000 65%, transparent); }
.gb-leermas-wrap { margin: 6px 0 24px; }
.gb-leermas { padding: 0; font: inherit; font-weight: 700; color: #421D4F; background: none; border: 0; border-bottom: 2px solid #FAB80E; cursor: pointer; }
.gb-leermas[hidden] { display: none !important; }
/* Citar y compartir */
.gb-citar { font: inherit; }
.gb-cita[hidden] { display: none !important; }
.gb-cita { margin-top: 18px; padding: 14px 16px; background: rgba(66,29,79,.07); border-radius: 6px; }
.gb-cita-txt { margin: 0 0 10px; word-break: break-word; }
.gb-share { margin: 6px 0 0; font-size: .92em; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.gb-copiar-enlace { padding: 0; font: inherit; color: inherit; background: none; border: 0; text-decoration: underline; cursor: pointer; }
/* Relacionados */
.gb-rel { margin-top: 36px; padding-top: 22px; border-top: 1px solid #e3dde5; }
.gb-rel-h { font-size: 1.2em; margin: 0 0 16px; }
.gb-ext, .gb-card .gb-meta { text-align: left; }
@media (max-width: 520px) { .gb-buscador { padding: 14px; } .gb-buscar { padding: 0 16px; } .gb-search-row .gb-q { padding: 14px 8px; } }
