/* Colecciones APASH: mismas familias, paleta y anchura que la web existente. */
.apash-collection { --ink:#222222; --paper:#F1EFE5; --orange:#E75925; --green:#588034; --blue:#00649C; padding-top:3.5rem; padding-bottom:6rem; color:var(--ink); }
.apash-collection-heading { padding-bottom:3rem; }
.apash-eyebrow { font-size:.8rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1.25rem; }
.apash-collection-heading h1 { font-size:clamp(4rem,9vw,9rem); line-height:.86; text-transform:uppercase; margin:0 0 2rem; }
.apash-intro { max-width:48rem; font-size:clamp(1.1rem,1.6vw,1.35rem); line-height:1.6; }
.apash-library-section { margin-bottom:4rem; }
.apash-library-filters { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; align-items:end; gap:1rem; margin-bottom:1.5rem; scroll-margin-top:7rem; }
.apash-library-filters label { display:block; font-size:.9rem; font-weight:600; margin-bottom:.5rem; }
.apash-library-filters input[type=search], .apash-library-filters select { width:100%; min-width:0; height:48px; margin:0; padding:.65rem .8rem; border:1px solid var(--ink); border-radius:24px; background-color:transparent; color:var(--ink); font:inherit; font-size:1rem; box-shadow:none; }
.apash-library-filters select { padding-right:2rem; }
.apash-library-submit { min-height:48px; padding:.65rem 1.4rem; border:1px solid var(--ink); border-radius:50px; background:var(--ink); color:var(--paper); font-size:1rem; cursor:pointer; }
.apash-library-submit:hover { background:var(--orange); color:var(--ink); }
.apash-library-filters input:focus-visible, .apash-library-filters select:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.apash-library-filters > p { grid-column:1 / -1; margin:0; font-size:.85rem; }
.apash-library-reset { grid-column:1 / -1; justify-self:start; color:var(--ink); text-decoration:underline; text-underline-offset:.2em; }
.apash-library-results { font-size:.9rem; margin-bottom:2rem; }
@media(max-width:1100px) { .apash-library-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .apash-library-submit { grid-column:1 / -1; justify-self:start; } }
@media(max-width:640px) { .apash-library-filters { grid-template-columns:minmax(0,1fr); } .apash-library-submit { justify-self:stretch; } }
.apash-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; border-top:2px solid var(--ink); padding-top:1rem; }
.apash-section-heading h2 { font-size:clamp(2rem,4vw,3.5rem); text-transform:uppercase; margin-bottom:1rem; }
.apash-section-heading span { font-size:.8rem; white-space:nowrap; }
.apash-section-intro { font-size:1rem; max-width:45rem; }
.apash-document-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; margin-top:2rem; }
.apash-document { display:grid; grid-template-columns:minmax(5rem,30%) minmax(0,1fr); gap:1.15rem; align-items:start; }
.apash-document-cover { aspect-ratio:3/4; padding:1rem; background:var(--green); color:var(--paper); display:flex; flex-direction:column; justify-content:space-between; border-left:5px solid rgba(0,0,0,.22); }
.apash-document:nth-child(even) .apash-document-cover { background:var(--blue); }
.apash-document-cover img { width:100%; height:100%; object-fit:cover; }
.apash-cover-series { font-size:.6rem; line-height:1.3; text-transform:uppercase; letter-spacing:.08em; }
.apash-cover-year { font-family:'Archivo ExtraCondensed',sans-serif; font-size:2rem; line-height:1; }
.apash-document h3 { font-size:1.9rem; margin:0 0 .7rem; }
.apash-document-details > p { font-size:.88rem; line-height:1.55; }
.apash-document-meta { opacity:.75; }
.apash-demo-label { display:block; font-size:.72rem!important; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:#73402b; margin:0 0 .75rem; }
.apash-download { display:flex; justify-content:space-between; align-items:center; gap:.7rem; border-top:1px solid currentColor; padding:.65rem 0; color:inherit; font-size:.88rem; font-weight:600; }
.apash-download:hover { color:var(--blue); }
.apash-unavailable,.apash-empty { font-size:1rem; padding:1rem 0; }
.apash-promotions .apash-collection-heading h1, .apash-promotions .apash-collection-heading h1 span { color:var(--ink); }
.apash-years { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:2rem; }
.apash-years a { padding:.45rem 1rem; border:1px solid var(--ink); border-radius:2rem; color:inherit; font-size:1rem; }
.apash-years a:hover { background:var(--green); color:var(--paper); }
.apash-promotion { display:grid; grid-template-columns:minmax(7rem,22%) minmax(0,1fr); gap:3rem; padding:2rem 0 4rem; border-top:2px solid var(--ink); scroll-margin-top:8rem; }
.apash-promotion { --promotion-color:var(--orange); }
.apash-promotion:nth-of-type(3n+2) { --promotion-color:var(--green); }
.apash-promotion:nth-of-type(3n) { --promotion-color:var(--blue); }
.apash-promotion-date span { font-family:'Archivo ExtraCondensed',sans-serif; font-size:clamp(4rem,10vw,10rem); line-height:.9; color:var(--promotion-color); }
.apash-promotion-photo { border-bottom:5px solid var(--promotion-color); }
.apash-promotion-photo { margin:0 0 1.5rem; background:#e3e0d4; }
.apash-promotion-photo img { display:block; width:100%; height:auto; aspect-ratio:15/8; object-fit:cover; }
.apash-promotion-body h2 { font-size:clamp(2.3rem,4vw,4rem); margin:0 0 1rem; }
.apash-promotion-text { font-size:1.1rem; max-width:46rem; }
.apash-photo-pending { aspect-ratio:15/8; display:grid; place-items:center; font-size:1rem; }
@media(min-width:1400px) { .apash-document-grid {gap:2.75rem} }
@media(max-width:1000px) { .apash-document-grid {grid-template-columns:1fr} .apash-document {grid-template-columns:7.5rem minmax(0,1fr)} }
@media(max-width:640px) { .apash-collection {padding-top:2rem;padding-bottom:3rem} .apash-section-heading {align-items:start} .apash-section-heading span {padding-top:.25rem} .apash-promotion {grid-template-columns:1fr;gap:1rem;padding-bottom:2.5rem} .apash-promotion-date span {font-size:4.5rem} .apash-document {grid-template-columns:6rem minmax(0,1fr)} .apash-library-content {min-width:0;width:100%} }

/* Biblioteca comparte hero, columnas y sidebar con el resto de la intranet. */
.apash-library { padding-top:2rem; min-width:0; }
.apash-library .apash-collection-heading { padding-bottom:2rem; }
.apash-library .apash-collection-heading h2 { color:var(--ink); margin-bottom:1.5rem; }
