/* Listados, tablas y fichas del portal: documentos, transparencia, eventos, dependencias y páginas individuales. */
:root {
	--aramberri-line: #ece4d3;
	--aramberri-line: color-mix(in srgb, var(--aramberri-brand) 18%, #fff);
	--aramberri-soft: color-mix(in srgb, var(--aramberri-brand) 7%, #fff);
}

/* Filters */
.document-filters.is-extended { grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)); align-items:end; }
.filter-field { display:grid; gap:5px; }
.filter-field > span { font-size:11px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; color:var(--aramberri-muted); }
.filter-more { grid-column:1 / -1; }
.filter-more summary { cursor:pointer; width:max-content; font-size:13px; font-weight:800; color:var(--aramberri-brand); }
.filter-more summary:focus-visible { outline:2px solid var(--aramberri-brand); outline-offset:3px; border-radius:4px; }
.filter-more__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:10px; }
.filter-actions { grid-column:1 / -1; display:flex; align-items:center; gap:16px; }
.filter-actions .button { min-height:44px; }
.filter-reset { font-size:13px; font-weight:700; color:var(--aramberri-muted); text-decoration:underline; }
.document-filters input:focus-visible,
.document-filters select:focus-visible { outline:2px solid var(--aramberri-brand); outline-offset:1px; }
.results-summary { margin:0 0 10px; font-size:13px; color:var(--aramberri-muted); }

/* Documents table */
.document-table-wrap { overflow-x:auto; background:#fff; border-radius:12px; box-shadow:0 3px 14px rgba(15,38,77,.06); }
.document-table { width:100%; border-collapse:collapse; font-size:14px; }
.document-table th { text-align:left; padding:13px 16px; font-size:11px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; color:var(--aramberri-muted); background:var(--aramberri-soft); border-bottom:1px solid var(--aramberri-line); white-space:nowrap; }
.document-table th a { color:inherit; }
.document-table th a.is-sorted { color:var(--aramberri-brand); }
.document-table th a.is-sorted::after { content:" ↓"; }
.document-table td { padding:14px 16px; vertical-align:top; border-bottom:1px solid var(--aramberri-line); color:var(--aramberri-ink); }
.document-table tbody tr:last-child td { border-bottom:0; }
.document-table tbody tr:hover { background:var(--aramberri-soft); }
.document-cell { display:flex; gap:12px; min-width:260px; }
.document-cell .document-icon { width:40px; height:40px; font-size:21px; flex:0 0 40px; }
.document-title { display:block; font-weight:800; line-height:1.25; color:var(--aramberri-navy); }
.document-excerpt { margin:4px 0 0; font-size:12px; line-height:1.35; color:var(--aramberri-muted); }
.document-action { text-align:right; white-space:nowrap; }
.document-action .button { padding:8px 14px; font-size:13px; min-height:40px; }
.file-pill,
.status-pill { display:inline-block; padding:3px 9px; border-radius:20px; font-size:11px; font-weight:800; background:var(--aramberri-soft); color:var(--aramberri-brand); white-space:nowrap; }
.status-pill.is-historic { background:#efeeea; color:#6b604e; margin-top:6px; }
.button .aramberri-icon { width:16px; height:16px; }

@media (max-width:760px) {
	.document-filters.is-extended,
	.filter-more__grid { grid-template-columns:1fr; }
	.document-table-wrap { background:transparent; box-shadow:none; overflow:visible; }
	.document-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
	.document-table,
	.document-table tbody,
	.document-table tr,
	.document-table td { display:block; width:100%; }
	.document-table tr { margin-bottom:10px; padding:14px; background:#fff; border-radius:11px; box-shadow:0 3px 14px rgba(15,38,77,.06); }
	.document-table td { padding:5px 0; border:0; }
	.document-table td[data-label]:not(:first-child) { display:flex; justify-content:space-between; gap:12px; font-size:13px; }
	.document-table td[data-label]:not(:first-child)::before { content:attr(data-label); font-weight:800; color:var(--aramberri-muted); }
	.document-cell { min-width:0; }
	.document-action { text-align:left; padding-top:10px !important; }
	.document-action .button { width:auto; }
}

/* Chips, sections and pagination */
.term-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.term-chips a { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:6px 14px; border-radius:20px; background:#fff; color:var(--aramberri-ink); font-size:13px; font-weight:700; box-shadow:0 2px 8px rgba(15,38,77,.06); }
.term-chips a span { font-size:11px; color:var(--aramberri-muted); }
.term-chips a[aria-current] { background:var(--aramberri-brand); color:#fff; }
.term-chips a[aria-current] span { color:#fff; }
.transparency-sections { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; margin-bottom:22px; }
.transparency-section { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center; padding:15px; background:#fff; border-radius:12px; border:2px solid transparent; box-shadow:0 3px 14px rgba(15,38,77,.06); color:var(--aramberri-ink); }
.transparency-section .document-icon { grid-row:1 / 3; width:42px; height:42px; font-size:21px; }
.transparency-section strong { font-size:14px; line-height:1.2; }
.transparency-section small { font-size:12px; color:var(--aramberri-muted); }
.transparency-section:hover,
.transparency-section.is-active { border-color:var(--aramberri-brand); }
.pagination .page-numbers { display:inline-flex; min-width:40px; min-height:40px; align-items:center; justify-content:center; color:var(--aramberri-ink); font-weight:700; }
.pagination .page-numbers.current { background:var(--aramberri-brand); color:#fff; }
.pagination .nav-links { flex-wrap:wrap; }
.pagination-summary { margin:10px 0 0; font-size:12px; color:var(--aramberri-muted); }

/* Singles */
.meta-details { display:flex; flex-wrap:wrap; gap:1px; max-width:940px; margin:0 0 25px; background:var(--aramberri-line); border:1px solid var(--aramberri-line); border-radius:12px; overflow:hidden; }
.meta-details > div { flex:1 1 200px; padding:12px 15px; background:#fff; }
.meta-details dt { font-size:11px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; color:var(--aramberri-muted); }
.meta-details dd { margin:3px 0 0; font-size:15px; color:var(--aramberri-ink); }
.meta-details dd a { color:var(--aramberri-brand); font-weight:700; }
.meta-details.is-compact { flex-direction:column; margin:10px 0; border:0; background:transparent; }
.meta-details.is-compact > div { padding:3px 0; background:transparent; display:flex; gap:8px; }
.meta-details.is-compact dd { margin:0; font-size:13px; }
.document-download { display:flex; align-items:center; gap:15px; max-width:940px; margin:0 0 15px; padding:18px; background:#fff; border-radius:12px; box-shadow:0 3px 14px rgba(15,38,77,.06); }
.document-download > div { flex:1; display:grid; }
.document-download small { color:var(--aramberri-muted); font-size:12px; }
.single-progress { max-width:940px; margin:0 0 15px; padding:16px; background:#fff; border-radius:12px; }
.related-content { max-width:800px; margin-top:30px; }
.related-content h2 { font-size:20px; margin:0 0 8px; color:var(--aramberri-navy); }
.related-content ul { margin:0 0 10px; padding-left:18px; }
.related-content li { margin:4px 0; }
.related-content a { color:var(--aramberri-brand); font-weight:700; }

/* Listings */
.event-list--archive .event-item time span { white-space:nowrap; }
.dependency-card > .aramberri-icon { width:30px; height:30px; color:var(--aramberri-brand); margin-bottom:12px; }
.dependency-head { font-weight:700; color:var(--aramberri-ink) !important; margin:0 0 6px; }
.cabildo-card h2 a { color:inherit; }
.cabildo-card .card-link { display:block; margin-top:6px; overflow-wrap:anywhere; }

/* Banner image for phones */
.hero-slide.has-mobile-image { --hero-image:var(--hero-image-desktop); }
@media (max-width:600px) { .hero-slide.has-mobile-image { --hero-image:var(--hero-image-mobile); } }

/* Document actions and viewer */
.document-actions { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.document-action .document-actions { flex-wrap:nowrap; }
.document-action .button { padding:8px 12px; }
.document-download .document-actions { justify-content:flex-start; }
.document-preview { max-width:940px; margin:0 0 25px; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 3px 14px rgba(15,38,77,.06); }
.document-preview object { display:block; width:100%; height:min(80vh, 900px); }
.document-preview img { display:block; max-width:100%; height:auto; margin:0 auto; }
.document-preview__fallback { padding:24px; text-align:center; }
.document-preview__fallback p { margin:0 0 12px; color:var(--aramberri-muted); }
.has-document-viewer { overflow:hidden; }
.document-viewer { width:min(1100px, 96vw); height:92vh; max-height:92vh; padding:0; border:0; border-radius:14px; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.35); overflow:hidden; }
.document-viewer[open] { display:flex; flex-direction:column; }
.document-viewer::backdrop { background:rgba(20,16,10,.6); }
.document-viewer__bar { display:flex; align-items:center; gap:12px; padding:10px 12px 10px 18px; border-bottom:1px solid var(--aramberri-line); }
.document-viewer__bar h2 { flex:1; min-width:0; margin:0; font-size:16px; color:var(--aramberri-navy); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.document-viewer__actions { display:flex; align-items:center; gap:8px; }
.document-viewer__actions .button { padding:8px 14px; font-size:13px; }
.document-viewer__close { width:40px; height:40px; border:0; border-radius:50%; background:transparent; font-size:26px; line-height:1; color:var(--aramberri-ink); cursor:pointer; }
.document-viewer__close:hover, .document-viewer__close:focus-visible { background:var(--aramberri-soft); }
.document-viewer__body { flex:1; min-height:0; background:#525659; display:flex; align-items:center; justify-content:center; }
.document-viewer__body iframe { width:100%; height:100%; border:0; background:#fff; }
.document-viewer__body img { max-width:100%; max-height:100%; object-fit:contain; }
@media (max-width:760px) {
	.document-actions, .document-action .document-actions { width:100%; flex-wrap:wrap; }
	.document-actions .button { flex:1; }
}
