/* Pie compartido del portal público. No cambia los estilos ni las plantillas de SICAP. */
.site-footer { width:100%; padding:0; margin:0; color:#e4e6e8; background:#30353a; border-top:1px solid #4d5257; text-align:left; }
.site-footer-inner { width:100%; max-width:1600px; margin:0 auto; padding:0 15px; }
.site-footer-main { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,.7fr); gap:clamp(28px,4vw,64px); padding:38px 0 30px; }
.site-footer h2 { margin:0 0 15px; color:#fff; font-size:.98rem; font-weight:600; line-height:1.5; }
.site-footer p,.site-footer address { margin:0; font-size:.88rem; font-style:normal; line-height:1.8; }
.site-footer-identity { display:flex; flex-direction:column; align-items:flex-start; gap:18px; min-width:0; }
.site-footer-institution { width:100%; min-width:0; }
.site-footer-primary { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.site-footer-logo { display:flex; align-items:center; justify-content:center; width:122px; min-height:52px; padding:7px; border:1px solid #e0e0e0; border-radius:6px; background:#fff; }
.site-footer-logo img { display:block; width:100%; height:auto; }
.site-footer-affiliation { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:12px; max-width:350px; padding-top:16px; border-top:1px solid #ffffff26; }
.site-footer-congress-logo { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #e0e0e0; border-radius:50%; background:#fff; }
.site-footer-congress-logo img { display:block; width:30px; height:auto; }
.site-footer .site-footer-identity h2 { margin:0; max-width:40ch; font-size:.98rem; line-height:1.6; }
.site-footer-identity p { color:#bdc2c7; font-size:.8rem; }
.site-footer-affiliation .site-footer-affiliation-label { margin:0 0 3px; color:#bdc2c7; font-size:.72rem; line-height:1.4; }
.site-footer-affiliation p:not(.site-footer-affiliation-label) { color:#e4e6e8; font-size:.82rem; line-height:1.5; }
.site-footer a { color:#e4e6e8; text-decoration:none; text-underline-offset:4px; transition:color .16s,background-color .16s,border-color .16s; }
.site-footer a:hover { color:#fff; text-decoration:underline; }
.site-footer a:focus-visible { outline:2px solid #fff; outline-offset:4px; border-radius:3px; }
.site-footer-logo:hover { opacity:.85; text-decoration:none; }
.site-footer svg { display:inline-block; flex:0 0 15px; width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.site-footer address { display:flex; align-items:flex-start; gap:10px; }
.site-footer address svg { margin-top:5px; color:#bdc2c7; }
.site-footer .site-footer-phone { display:inline-flex; align-items:center; gap:9px; padding:7px 0; margin-top:3px; font-size:.9rem; }
.site-footer-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; margin-top:9px; }
.site-footer .site-footer-message { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:40px; padding:9px 14px; border:1px solid #ffffff60; border-radius:6px; font-size:.8rem; line-height:1.5; }
.site-footer .site-footer-message:hover { background:#fff; border-color:#fff; color:#30353a; text-decoration:none; }
.site-footer-message-arrow { margin-left:5px; transition:transform .16s; }
.site-footer-message:hover .site-footer-message-arrow { transform:translateX(3px); }
.site-footer .site-footer-map { display:inline-flex; align-items:center; gap:7px; min-height:40px; font-size:.8rem; }
.site-footer-nav ul { margin:0; padding:0; list-style:none; }
.site-footer-nav li + li { margin-top:3px; }
.site-footer-nav a { display:inline-flex; align-items:center; gap:9px; padding:5px 0; font-size:.87rem; line-height:1.7; }
.site-footer-bottom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:12px 28px; padding:17px 0 20px; border-top:1px solid #ffffff26; color:#bdc2c7; }
.site-footer-bottom p { font-size:.75rem; line-height:1.6; }
.site-footer-credits { text-align:right; }
@media(min-width:1200px) { .site-footer-inner { width:calc(100% - 48px); } }
@media(max-width:991.98px) {
  .site-footer-main { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px 48px; padding-top:30px; }
  .site-footer-identity { grid-column:1 / -1; }
  .site-footer .site-footer-identity h2 { max-width:40ch; }
}
@media(max-width:575.98px) {
  .site-footer-main { grid-template-columns:1fr; gap:27px; padding:28px 0; }
  .site-footer-identity { gap:16px; }
  .site-footer-primary { gap:12px; }
  .site-footer-logo { width:116px; min-height:48px; }
  .site-footer-affiliation { max-width:100%; padding-top:14px; }
  .site-footer .site-footer-identity h2 { font-size:.92rem; margin:0; }
  .site-footer h2 { margin-bottom:12px; }
  .site-footer p,.site-footer address { font-size:.84rem; }
  .site-footer .site-footer-phone,.site-footer .site-footer-message,.site-footer .site-footer-map { min-height:44px; }
  .site-footer-nav ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
  .site-footer-nav li + li { margin:0; }
  .site-footer-nav a { display:flex; align-items:center; min-height:44px; padding:8px 0; font-size:.83rem; }
  .site-footer-bottom { grid-template-columns:minmax(0,1fr); gap:8px; padding:17px 0 20px; text-align:center; }
  .site-footer-bottom p { font-size:.72rem; }
  .site-footer-credits { text-align:center; }
}
@media(prefers-reduced-motion:reduce) { .site-footer a,.site-footer-message-arrow { transition:none; } }
@media print { .site-footer { display:none; } }
