/* Opt-in width: applied only to pages approved for the gradual rollout. */
.container.portal-wide-page { max-width:1600px; padding-bottom:36px; }
@media(min-width:1200px) {
  .container.portal-wide-page { width:calc(100% - 48px); }
}
/* Catalogue alignment is shared; existing cover sizes and row spacing stay intact. */
@media(min-width:768px) {
  .portal-wide-page .memorias-table .memorias-date-cell,
  .portal-wide-page .memorias-table .memorias-file-cell { text-align:center; }
  .portal-wide-page .memorias-table .memorias-content-cell .memorias-title { text-align:left; }
  /* Municipios: Municipio column centred horizontally and vertically (desktop only). */
  .portal-wide-page.municipios-public .memorias-table .memorias-content-cell { text-align:center; vertical-align:middle; }
  .portal-wide-page.municipios-public .municipios-name { justify-content:center; align-items:center; text-align:center; }
  .portal-wide-page.municipios-public .memorias-table .memorias-content-cell .memorias-title { text-align:center; }
  /* Municipios: same left/right gutter in the 3 columns, headers and cells. */
  .portal-wide-page.municipios-public .municipios-table > thead > tr > th,
  .portal-wide-page.municipios-public .municipios-table > tbody > tr > td { padding-left:24px; padding-right:24px; text-align:center; vertical-align:middle; }
  .portal-wide-page.municipios-public .municipios-table .memorias-cover-cell,
  .portal-wide-page.municipios-public .municipios-table .memorias-content-cell,
  .portal-wide-page.municipios-public .municipios-table .municipios-file-cell { padding-left:24px; padding-right:24px; }
  .portal-wide-page.municipios-public .municipios-name,
  .portal-wide-page.municipios-public .municipios-table .memorias-cover { margin-left:auto; margin-right:auto; }
  /* Municipios: 3 equal columns (33.3% each), content centered in each. */
  .portal-wide-page.municipios-public .municipios-table .memorias-cover-col,
  .portal-wide-page.municipios-public .municipios-table .memorias-file-col,
  .portal-wide-page.municipios-public .municipios-table th:nth-child(2) { width:33.3333%; }
  /* SNN: same treatment — each of the 4 columns centers its content with equal gutters. */
  .portal-wide-page.snn-public .memorias-table > thead > tr > th,
  .portal-wide-page.snn-public .memorias-table > tbody > tr > td { padding-left:24px; padding-right:24px; text-align:center; vertical-align:middle; }
  .portal-wide-page.snn-public .memorias-table .memorias-cover { margin-left:auto; margin-right:auto; }
  /* SNN: 4 equal columns (25% each). */
  .portal-wide-page.snn-public .memorias-table .memorias-cover-col,
  .portal-wide-page.snn-public .memorias-table .memorias-file-col,
  .portal-wide-page.snn-public .memorias-table .snn-date-col { width:25%; }
  /* Infografias: 4 equal columns (25% each), each content centered in its column. */
  .portal-wide-page.infografias-public .memorias-table > thead > tr > th,
  .portal-wide-page.infografias-public .memorias-table > tbody > tr > td { padding-left:24px; padding-right:24px; text-align:center; vertical-align:middle; }
  .portal-wide-page.infografias-public .memorias-table .memorias-content-cell .memorias-title { text-align:center; }
  .portal-wide-page.infografias-public .memorias-table .memorias-cover { margin-left:auto; margin-right:auto; }
  .portal-wide-page.infografias-public .memorias-table .memorias-cover-col,
  .portal-wide-page.infografias-public .memorias-table .memorias-file-col,
  .portal-wide-page.infografias-public .memorias-table .info-date-col,
  .portal-wide-page.infografias-public .memorias-table th:nth-child(2) { width:25%; }
}
.memorias-catalogue .memorias-table .memorias-content-cell .memorias-title { text-align:left; }
/* Keep the mobile cards and tablet-specific layouts; align wide-screen column tracks. */
@media(min-width:992px) {
  .portal-wide-page .memorias-table .memorias-cover-col { width:15%; }
  .portal-wide-page .memorias-table .memorias-file-col { width:20%; }
  .portal-wide-page .memorias-table .memorias-date-col { width:15%; }
  .portal-wide-page .memorias-table .memorias-content-col { width:50%; }
  .portal-wide-page .municipios-table th:nth-child(2) { width:65%; }
  /* Municipios: 3 equal columns (33.3% each), content centered in each. */
  .portal-wide-page.municipios-public .municipios-table .memorias-cover-col,
  .portal-wide-page.municipios-public .municipios-table .memorias-file-col,
  .portal-wide-page.municipios-public .municipios-table th:nth-child(2) { width:33.3333%; }
  /* SNN: 4 equal columns (25% each), content centered in each. */
  .portal-wide-page.snn-public .memorias-table .memorias-cover-col,
  .portal-wide-page.snn-public .memorias-table .memorias-file-col,
  .portal-wide-page.snn-public .memorias-table .snn-date-col { width:25%; }
  /* Infografias: 4 equal columns (25% each), each content centered in its column. */
  .portal-wide-page.infografias-public .memorias-table .memorias-cover-col,
  .portal-wide-page.infografias-public .memorias-table .memorias-file-col,
  .portal-wide-page.infografias-public .memorias-table .info-date-col,
  .portal-wide-page.infografias-public .memorias-table th:nth-child(2) { width:25%; }
  .portal-wide-page.infografias-public .memorias-table .memorias-content-cell .memorias-title { text-align:center; }
/* Titles follow the reading edge; dates, covers and download cells stay centred. */
.portal-wide-page.infografias-public .memorias-content-cell { text-align:left; }
.xunuta-public .xunuta-content { padding:0; }
.xunuta-public #acordeonXunuta .card-header { padding:12px 16px; background:#f7f7f7; }
.xunuta-public #acordeonXunuta .btn-link { display:block; width:100%; min-height:44px; padding:0; text-align:left; color:#444; text-decoration:none; }
.xunuta-public #acordeonXunuta .btn-link:hover { color:#222; }
.xunuta-public #acordeonXunuta .btn-link:focus-visible { outline:2px solid #555; outline-offset:3px; box-shadow:none; }
.xunuta-public .xunuta-month { display:block; font-size:1rem; font-weight:600; line-height:1.4; }
.portal-document-picker { background:#f7f7f7; border:1px solid #dedede; border-radius:6px; padding:16px; }
.portal-document-picker label { display:block; margin:0 0 8px; font-size:.88rem; font-weight:600; color:#333; }
.portal-document-picker .form-control { width:100%; max-width:760px; }
.portal-document-picker .form-control:focus { border-color:#8c8c8c; box-shadow:0 0 0 .2rem rgba(64,64,64,.15); }
.portal-document-picker .alert { margin-bottom:0; }
.portal-document-intro { display:grid; grid-template-columns:minmax(0,1fr) 120px; align-items:center; gap:24px; margin-bottom:20px; }
.portal-document-intro p { margin:0; text-align:justify; }
.portal-document-illustration { display:block; width:100%; max-width:120px; height:auto; margin:0 auto; }
@media(max-width:767.98px) {
  .portal-wide-page .form-control { min-height:44px; height:44px; }
  .portal-wide-page .memorias-filter-actions .btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
  .portal-document-picker { padding:14px; }
  .portal-document-intro { grid-template-columns:minmax(0,1fr) 72px; gap:16px; }
  .portal-document-illustration { max-width:72px; }
}
