:root { --sede-ink:#17252f; --sede-muted:#64727c; --sede-line:#e5eaee; --sede-soft:#f5f8fa; --sede-accent:#00b7eb; --sede-accent-dark:#008fba; }
.sede-page { background:#fff; }
.sede-hero { position:relative; overflow:hidden; padding:72px 0 54px; background:linear-gradient(135deg,#f1fbfe 0%,#fff 52%,#f6f8fa 100%); border-bottom:1px solid var(--sede-line); }
.sede-hero:after { content:""; position:absolute; width:420px; height:420px; right:-180px; top:-230px; border-radius:50%; background:rgba(0,183,235,.08); }
.sede-hero-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.sede-eyebrow,.sede-results-kicker { display:block; color:var(--sede-accent-dark); font-size:.76rem; font-weight:800; letter-spacing:.14em; margin-bottom:10px; }
.sede-hero h1 { font-size:clamp(2.4rem,5vw,4.25rem); margin:0 0 14px; letter-spacing:-.04em; color:var(--sede-ink); }
.sede-hero p { max-width:720px; font-size:1.08rem; line-height:1.75; color:var(--sede-muted); margin:0; }
.sede-hero-mark { width:120px; height:120px; border-radius:30px; display:grid; place-items:center; background:#fff; box-shadow:0 20px 50px rgba(36,66,82,.12); color:var(--sede-accent); flex:0 0 auto; }
.sede-hero-mark i { font-size:3.6rem; }
.sede-content-section { padding:46px 0 76px; }
.sede-search { max-width:900px; margin:0 auto 28px; }
.sede-search-box { display:flex; align-items:center; background:#fff; border:1px solid #dce4e9; border-radius:16px; padding:7px 7px 7px 18px; box-shadow:0 10px 30px rgba(38,62,74,.06); }
.sede-search-box>i { color:#8a98a1; font-size:1.1rem; }
.sede-search-box input { min-width:0; flex:1; border:0; outline:0; padding:12px 14px; font:inherit; color:var(--sede-ink); background:transparent; }
.sede-search-clear { color:#8a98a1; padding:8px; }
.category-tabs { display:flex; gap:9px; overflow-x:auto; scrollbar-width:thin; padding:3px 2px 14px; margin-bottom:30px; }
.category-tab { flex:0 0 auto; border:1px solid #dde5e9; background:#fff; color:#475963; padding:9px 15px; border-radius:999px; font-size:.9rem; font-weight:700; }
.category-tab:hover,.category-tab.active { color:#fff; background:var(--sede-accent-dark); border-color:var(--sede-accent-dark); }
.sede-results-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:12px 0 25px; }
.sede-results-head h2 { margin:0; color:var(--sede-ink); font-size:2rem; letter-spacing:-.02em; }
.sede-results-count { color:var(--sede-muted); font-size:.9rem; }
.news-card { overflow:hidden; border:1px solid var(--sede-line); border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(39,61,72,.055); transition:.25s ease; display:flex; flex-direction:column; }
.news-card:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(39,61,72,.11); }
.news-card-image { display:block; aspect-ratio:16/9; overflow:hidden; background:#edf4f6; }
.news-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.news-card:hover .news-card-image img { transform:scale(1.025); }
.news-card-placeholder { display:grid; place-items:center; background:linear-gradient(135deg,#e9f9fd,#f6f8fa); color:rgba(0,143,186,.45); }
.news-card-placeholder i { font-size:3.25rem; }
.news-card-body { padding:23px; display:flex; flex:1; flex-direction:column; }
.news-date { color:#7a8992; font-size:.82rem; display:flex; align-items:center; gap:7px; margin-bottom:12px; }
.news-card h3 { font-size:1.3rem; line-height:1.35; margin:0 0 11px; }
.news-card h3 a { color:var(--sede-ink); }
.news-card p { color:var(--sede-muted); line-height:1.65; font-size:.94rem; margin-bottom:17px; }
.news-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.news-tags a { color:#347084; background:#edf8fb; border:1px solid #d7eef5; font-size:.74rem; font-weight:700; padding:5px 9px; border-radius:999px; }
.news-read-more { margin-top:auto; font-size:.9rem; font-weight:800; display:inline-flex; gap:7px; align-items:center; color:var(--sede-accent-dark); }
.empty-state { max-width:700px; margin:40px auto; padding:50px 30px; border:1px dashed #ccd8dd; border-radius:20px; text-align:center; color:var(--sede-muted); background:#fafcfd; }
.empty-state>i { font-size:3rem; color:#a6bcc5; }
.empty-state h3,.empty-state h1 { color:var(--sede-ink); margin:12px 0 8px; }
.btn-sea { display:inline-block; margin-top:12px; padding:10px 16px; border-radius:10px; color:#fff; background:var(--sede-accent-dark); font-weight:700; }
.sede-pagination { margin-top:42px; }
.sede-pagination ul { list-style:none; display:flex; justify-content:center; gap:7px; padding:0; margin:0; }
.sede-pagination a { width:40px; height:40px; display:grid; place-items:center; border:1px solid #dce4e8; border-radius:10px; color:#52636c; font-weight:700; }
.sede-pagination a.active,.sede-pagination a:hover { background:var(--sede-accent-dark); border-color:var(--sede-accent-dark); color:#fff; }
.sede-pagination .disabled { opacity:.35; pointer-events:none; }
.article-hero { padding:56px 0 42px; background:linear-gradient(180deg,#f3fbfd,#fff); border-bottom:1px solid var(--sede-line); }
.article-hero .container { max-width:980px; }
.article-back { display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:.88rem; margin-bottom:24px; }
.article-meta { color:#75858e; font-size:.9rem; margin-bottom:10px; }
.article-meta span { display:inline-flex; gap:7px; align-items:center; }
.article-hero h1 { color:var(--sede-ink); font-size:clamp(2rem,4.6vw,3.55rem); line-height:1.08; letter-spacing:-.035em; max-width:900px; margin-bottom:14px; }
.article-summary { color:#63747d; font-size:1.1rem; line-height:1.7; max-width:800px; }
.article-tags { margin:21px 0 0; }
.article-section { padding:48px 0 80px; background:#f7f9fa; }
.article-layout { max-width:980px; margin:auto; }
.article-card { background:#fff; border:1px solid var(--sede-line); border-radius:20px; padding:clamp(24px,5vw,55px); box-shadow:0 16px 45px rgba(31,54,67,.07); }
.article-content { color:#33444d; font-size:1.04rem; line-height:1.8; overflow-wrap:anywhere; }
.article-content p { margin:0 0 1.25em; }
.article-content h2,.article-content h3,.article-content h4 { color:var(--sede-ink); margin:1.6em 0 .65em; line-height:1.2; }
.article-content h2 { font-size:1.9rem; }.article-content h3 { font-size:1.5rem; }.article-content h4 { font-size:1.25rem; }
.article-content blockquote { border-left:4px solid var(--sede-accent); margin:1.5em 0; padding:10px 20px; background:#f4fafc; color:#50616a; }
.article-content a { text-decoration:underline; text-underline-offset:3px; }
.article-content ul,.article-content ol { margin-bottom:1.3em; }
.article-media { margin-top:42px; padding-top:32px; border-top:1px solid var(--sede-line); }
.article-media>h2 { font-size:1.35rem; margin-bottom:18px; }
.image-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.image-gallery a { display:block; border-radius:12px; overflow:hidden; background:#eef3f5; }
.image-gallery img { display:block; width:100%; height:auto; max-height:700px; object-fit:contain; }
.attachment-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; }
.attachment-heading h2 { font-size:1.15rem; margin:4px 0 2px; overflow-wrap:anywhere; }
.attachment-heading small { color:#7c8a92; }
.attachment-type { font-size:.75rem; font-weight:800; color:#b43131; }
.attachment-actions { display:flex; gap:8px; flex-wrap:wrap; }
.attachment-actions a { border:1px solid #dce4e8; padding:8px 11px; border-radius:9px; color:#4c626d; font-size:.84rem; font-weight:700; }
.pdf-preview { width:100%; height:min(72vh,820px); border:1px solid #dbe3e7; border-radius:12px; background:#f1f3f4; }
.attachment-list { display:grid; gap:10px; }
.attachment-item { display:flex; align-items:center; gap:12px; border:1px solid #e1e7ea; border-radius:12px; padding:13px; }
.attachment-item>i { font-size:1.5rem; color:#7c919b; }.attachment-item>div { flex:1; min-width:0; }.attachment-item strong { display:block; overflow-wrap:anywhere; }.attachment-item small { display:block; color:#84929a; margin-top:2px; }.attachment-item>a { font-weight:700; font-size:.85rem; }
@media (max-width:991px){ .sede-hero { padding-top:50px; }.sede-hero-mark{display:none}.sede-content-section{padding-top:32px}.article-card{border-radius:16px}.pdf-preview{height:60vh} }
@media (max-width:767px){.sede-results-head{align-items:flex-start;flex-direction:column;gap:8px}.sede-results-head h2{font-size:1.65rem}.article-section{padding-top:22px}.article-card{padding:24px 18px}.image-gallery{grid-template-columns:1fr}.attachment-heading{align-items:flex-start;flex-direction:column}.attachment-item{align-items:flex-start;flex-wrap:wrap}.attachment-item>a{margin-left:38px}.pdf-preview{height:56vh}.sede-hero p{font-size:1rem} }

/* Navegación dinámica de publicaciones */
#sede-dynamic { position:relative; transition:opacity .18s ease; }
#sede-dynamic.is-loading { opacity:.48; pointer-events:none; }
#sede-dynamic.is-loading::after { content:""; position:fixed; left:50%; top:50%; width:34px; height:34px; margin:-17px 0 0 -17px; border:3px solid rgba(0,143,186,.18); border-top-color:var(--sede-accent-dark); border-radius:50%; animation:sede-spin .65s linear infinite; z-index:1000; }
@keyframes sede-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ #sede-dynamic{transition:none} #sede-dynamic.is-loading::after{animation-duration:1.2s} }


/* Acceso restringido por DNI + búsqueda en vivo */
.sede-search-box:focus-within { border-color:#a7dce9; box-shadow:0 10px 30px rgba(38,62,74,.06),0 0 0 3px rgba(0,183,235,.08); }
.sede-search-clear { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; text-decoration:none; }
.sede-search-clear:hover { color:var(--sede-accent-dark); background:#edf8fb; }
.sede-access-exit { margin-top:18px; }
.sede-access-exit button { border:1px solid #cfe3e9; border-radius:10px; background:rgba(255,255,255,.78); color:#46616d; padding:8px 12px; font-size:.82rem; font-weight:700; }
.sede-access-exit button:hover { background:#fff; color:var(--sede-accent-dark); }
.sede-access-section { min-height:calc(100vh - 180px); display:flex; align-items:center; padding:62px 0 86px; background:linear-gradient(135deg,#effbfe 0%,#fff 52%,#f5f8fa 100%); }
.sede-access-card { width:min(100%,500px); margin:auto; background:#fff; border:1px solid var(--sede-line); border-radius:24px; padding:clamp(26px,5vw,44px); box-shadow:0 24px 65px rgba(28,57,70,.10); }
.sede-access-icon { width:66px; height:66px; display:grid; place-items:center; border-radius:18px; background:#eaf9fd; color:var(--sede-accent-dark); font-size:1.75rem; margin-bottom:20px; }
.sede-access-kicker { color:var(--sede-accent-dark); font-size:.72rem; font-weight:800; letter-spacing:.13em; }
.sede-access-card h1 { color:var(--sede-ink); margin:7px 0 10px; font-size:clamp(1.8rem,5vw,2.5rem); letter-spacing:-.03em; }
.sede-access-card>p { color:var(--sede-muted); line-height:1.65; margin-bottom:24px; }
.sede-access-label { display:block; color:#40545e; font-size:.84rem; font-weight:800; margin-bottom:7px; }
.sede-access-input { width:100%; border:1px solid #d9e3e7; border-radius:12px; padding:14px 15px; font:inherit; font-size:1.08rem; letter-spacing:.035em; outline:0; }
.sede-access-input:focus { border-color:#7fcfe2; box-shadow:0 0 0 4px rgba(0,183,235,.09); }
.sede-access-submit { width:100%; border:0; border-radius:12px; background:var(--sede-accent-dark); color:#fff; padding:13px 16px; font-weight:800; margin-top:14px; }
.sede-access-submit:hover { background:#007c9f; }
.sede-access-error { display:flex; gap:9px; align-items:flex-start; padding:11px 13px; border:1px solid #efcaca; background:#fff3f3; color:#9d3838; border-radius:11px; font-size:.87rem; margin-bottom:18px; }
.sede-access-help { display:block; color:#839099; font-size:.78rem; margin-top:8px; }
@media (max-width:767px){ .sede-access-section{padding:34px 14px 60px}.sede-access-card{border-radius:18px}.sede-access-exit{margin-top:14px} }

/* Filtro local instantáneo: el botón limpiar no ocupa espacio cuando no hay búsqueda. */
.sede-search-clear[hidden] { display:none !important; }
.sede-local-grid > [data-post-card] { animation:sede-local-card-in .12s ease-out both; }
@keyframes sede-local-card-in { from { opacity:.72; transform:translateY(2px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .sede-local-grid > [data-post-card] { animation:none; } }
