/* ==========================================================================
   Animal Libre — v19 · biblioteca de cursos, noticias, blog y artículos
   ========================================================================== */
:root {
  --c-veganismo: #7E17BE; --c-nutricion: #E93B24; --c-etica: #2B2525; --c-rodeo: #9C3733;
  --c-industria: #4b1675; --c-activismo: #B42A9A; --c-cultura: #6b5878; --c-planeta: #46705a;
}

/* ---------------------------------------------------------------- Biblioteca de cursos */
.al-bib-filtros, .al-bb-chips, .al-not-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 30px; }
.al-bib-chip, .al-bb-chip, .al-not-filtros button, .al-bb-sug button {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 99px; border: 1px solid rgba(43,37,37,.16);
  background: transparent; font: inherit; font-size: .88rem; color: var(--texto, #2B2525); cursor: pointer; transition: background .3s ease, color .3s ease, border-color .3s ease; }
.al-bib-chip i, .al-bb-chip i { font-style: normal; font-size: .72rem; opacity: .55; }
.al-bib-chip:hover, .al-bb-chip:hover, .al-not-filtros button:hover { border-color: var(--violeta); }
.al-bib-chip.al-activa, .al-bb-chip.al-activa, .al-not-filtros button.al-activa { background: var(--texto, #2B2525); border-color: var(--texto, #2B2525); color: #fff; }
.al-oscura .al-not-filtros button { color: var(--hueso); border-color: rgba(244,239,233,.2); }
.al-oscura .al-not-filtros button.al-activa { background: var(--hueso); color: #0b0710; border-color: var(--hueso); }

.al-bib-mueble { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); gap: clamp(24px, 4vw, 60px); align-items: end; }
.al-bib-estante { position: relative; }
.al-bib-libros { list-style: none; margin: 0; padding: 40px 6px 0; display: flex; align-items: flex-end; gap: 6px; height: 440px; overflow-x: auto; overflow-y: visible; scrollbar-width: thin; }
.al-bib-tabla { height: 16px; margin-top: -2px; border-radius: 3px; background: linear-gradient(180deg, #3a3030, #2B2525 60%, #1b1616); box-shadow: 0 18px 30px -12px rgba(43,37,37,.45); }
.al-bib-libro { flex: 0 0 auto; height: var(--h); width: 58px; transition: opacity .5s ease, filter .5s ease; }
.al-bib-libro:nth-child(3n) { width: 66px; } .al-bib-libro:nth-child(4n+1) { width: 52px; } .al-bib-libro:nth-child(7n) { width: 72px; }
.al-bib-lomo { --fondo: var(--c-veganismo); --tinta: #fff; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 10px;
  width: 100%; height: 100%; padding: 14px 6px 12px; border: 0; border-radius: 5px 5px 2px 2px; cursor: pointer; color: var(--tinta); font: inherit; text-align: left;
  background: linear-gradient(90deg, rgba(0,0,0,.22), transparent 18%, rgba(255,255,255,.12) 40%, transparent 62%, rgba(0,0,0,.18)), var(--fondo);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 1px 0 rgba(0,0,0,.2);
  transform: translateY(0); transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease; }
.al-bib-lomo::before, .al-bib-lomo::after { content: ""; position: absolute; left: 8px; right: 8px; height: 2px; border-radius: 2px; background: currentColor; opacity: .35; }
.al-bib-lomo::before { top: 34px; } .al-bib-lomo::after { bottom: 46px; }
.al-bib-libro[data-c="cocina"] .al-bib-lomo { --fondo: #E93B24; }
.al-bib-libro[data-c="nutricion"] .al-bib-lomo { --fondo: #7E17BE; }
.al-bib-libro[data-c="etica"] .al-bib-lomo { --fondo: #2B2525; }
.al-bib-libro[data-c="planeta"] .al-bib-lomo { --fondo: #9C3733; }
.al-bib-libro[data-c="bienestar"] .al-bib-lomo { --fondo: #cfa8ef; --tinta: #2B2525; }
.al-bib-libro:nth-child(5n+2) .al-bib-lomo { filter: saturate(.85) brightness(.94); }
.al-bib-cat { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; opacity: .75; writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; max-height: 30%; overflow: hidden; }
.al-bib-lomo b { flex: 1; min-height: 0; overflow: hidden; writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--display); font-weight: 500; font-size: .95rem; line-height: 1.1; letter-spacing: -0.01em; text-overflow: ellipsis; }
.al-bib-ico { display: grid; place-items: center; width: 24px; height: 24px; }
.al-bib-ico .al-picto { width: 22px; height: 22px; color: currentColor; fill: currentColor; }
.al-bib-lomo:hover, .al-bib-lomo:focus-visible { transform: translateY(-14px); box-shadow: 0 16px 24px -14px rgba(43,37,37,.6); }
.al-bib-lomo[aria-expanded="true"] { transform: translateY(-30px) rotate(-1.5deg); box-shadow: 0 26px 34px -16px rgba(43,37,37,.65); }
.al-bib-libro.al-fuera { opacity: .16; filter: grayscale(1); }
.al-bib-libro.al-fuera .al-bib-lomo { pointer-events: none; }
.al-bib-ficha { position: relative; align-self: stretch; display: flex; }
.al-bib-ficha-in { position: relative; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; min-height: 360px; padding: clamp(24px, 3vw, 36px); border-radius: 22px; background: #fff; border: 1px solid rgba(43,37,37,.08); box-shadow: 0 30px 60px -40px rgba(43,37,37,.4); overflow: hidden; }
.al-bib-ficha-in::before { content: ""; position: absolute; right: -40px; top: -40px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(126,23,190,.14), transparent 70%); }
.al-bib-ficha-in.al-entra-ficha > * { animation: al-bib-sube .6s cubic-bezier(.2,.8,.2,1) both; }
.al-bib-ficha-in.al-entra-ficha > *:nth-child(2) { animation-delay: .05s; } .al-bib-ficha-in.al-entra-ficha > *:nth-child(3) { animation-delay: .1s; } .al-bib-ficha-in.al-entra-ficha > *:nth-child(n+4) { animation-delay: .15s; }
@keyframes al-bib-sube { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.al-bib-ficha-cat { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 14px; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--violeta); }
.al-bib-alianza { padding: 4px 10px; border-radius: 99px; background: rgba(233,59,36,.1); color: #c3301c; letter-spacing: .08em; }
.al-bib-ficha h3 { margin: 0 0 10px; font-family: var(--display); font-weight: 500; font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); line-height: 1.05; letter-spacing: -0.03em; }
.al-bib-ficha h3 em { font-family: var(--serif); font-weight: 400; color: var(--violeta); }
.al-bib-ficha p { margin: 0 0 14px; color: rgba(43,37,37,.75); line-height: 1.6; }
.al-bib-ficha-quien { font-family: var(--serif); font-style: italic; font-size: 1.12rem; color: var(--texto) !important; }
.al-bib-ficha-meta { font-size: .8rem !important; color: rgba(43,37,37,.55) !important; margin-bottom: 22px !important; }
.al-bib-ficha .mil-button { align-self: flex-start; }
@media (max-width: 991px) {
  .al-bib-mueble { grid-template-columns: 1fr; }
  .al-bib-libros { height: 330px; padding-top: 34px; }
  .al-bib-libro { width: 48px !important; }
  .al-bib-lomo b { font-size: .84rem; }
  .al-bib-ficha-in { min-height: 0; }
}

/* ---------------------------------------------------------------- Noticias */
.al-not-sec { overflow: hidden; }
.al-not-cinta { position: relative; margin: 10px 0 40px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.al-not-cinta > div { display: flex; width: max-content; gap: 34px; align-items: center; animation: al-not-cinta 46s linear infinite; }
.al-not-cinta span { font-family: var(--serif); font-style: italic; font-size: clamp(2.2rem, 1.4rem + 3vw, 4.4rem); line-height: 1.1; color: transparent; -webkit-text-stroke: 1px rgba(244,239,233,.32); white-space: nowrap; }
.al-not-cinta i { font-style: normal; color: #f05c40; font-size: 1.1rem; }
@keyframes al-not-cinta { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .al-not-cinta > div { animation: none; } }
.al-not-lista { list-style: none; margin: 0 auto; padding: 0 clamp(20px, 5vw, 90px); max-width: 1400px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.al-not { position: relative; min-width: 0; }
.al-not:first-child { grid-column: span 2; grid-row: span 2; }
.al-not[hidden] { display: none; }
.al-not > a { position: relative; display: flex; flex-direction: column; height: 100%; padding: clamp(22px, 2.4vw, 32px); border-radius: 22px; background: rgba(244,239,233,.04); border: 1px solid rgba(244,239,233,.09); color: var(--hueso); text-decoration: none; overflow: hidden; transition: background .4s ease, border-color .4s ease, transform .5s cubic-bezier(.2,.8,.2,1); }
.al-not > a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, #7E17BE, #E93B24); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .4s ease; }
.al-not > a:hover { background: rgba(244,239,233,.07); transform: translateY(-4px); }
.al-not > a:hover::before { opacity: 1; }
.al-not:first-child > a { background: radial-gradient(90% 80% at 85% 10%, rgba(126,23,190,.38), transparent 60%), radial-gradient(60% 60% at 10% 100%, rgba(233,59,36,.18), transparent 60%), rgba(244,239,233,.04); justify-content: flex-end; min-height: 440px; }
.al-not-medio { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 18px; }
.al-not-medio b { font-family: var(--display); font-weight: 600; font-size: 1.15rem; letter-spacing: -0.02em; color: #fff; }
.al-not-medio span { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(244,239,233,.45); }
.al-not h3 { margin: 0 0 12px; font-family: var(--serif); font-weight: 400; font-size: 1.32rem; line-height: 1.22; color: #fff; }
.al-not:first-child h3 { font-size: clamp(1.8rem, 1.2rem + 1.6vw, 2.8rem); line-height: 1.08; max-width: 18em; }
.al-not-x { margin: 0 0 22px; font-size: .94rem; line-height: 1.6; color: rgba(244,239,233,.66); }
.al-not--cita .al-not-x { font-family: var(--serif); font-style: italic; font-size: 1.1rem; color: rgba(244,239,233,.88); padding-left: 14px; border-left: 2px solid #f05c40; }
.al-not-pie { display: flex; align-items: center; gap: 12px; margin: auto 0 0; font-size: .78rem; color: rgba(244,239,233,.5); }
.al-not-tipo { padding: 4px 10px; border-radius: 99px; border: 1px solid rgba(244,239,233,.16); }
.al-not[data-k="entrevista"] .al-not-tipo { border-color: rgba(207,168,239,.5); color: var(--lila); }
.al-not[data-k="campana"] .al-not-tipo { border-color: rgba(240,92,64,.45); color: #f58a72; }
.al-not-ir { margin-left: auto; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(244,239,233,.08); transition: background .3s ease, transform .4s ease; }
.al-not-ir .al-icono { width: 15px; height: 15px; transform: rotate(-45deg); }
.al-not > a:hover .al-not-ir { background: #fff; color: #0b0710; transform: rotate(0); }
.al-not-prensa { margin: 34px 0 0; font-size: .9rem; color: rgba(244,239,233,.55); }
.al-not-prensa a { color: #fff; border-bottom: 1px solid rgba(244,239,233,.35); }
@media (max-width: 1100px) { .al-not-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .al-not-lista { grid-template-columns: 1fr; padding: 0 20px; } .al-not:first-child { grid-column: auto; grid-row: auto; } .al-not:first-child > a { min-height: 360px; } }

/* ---------------------------------------------------------------- Blog: buscador y grilla */
.al-bb-buscador { position: sticky; top: 84px; z-index: 5; margin: 0 0 30px; padding: 18px 0 6px; background: linear-gradient(180deg, var(--fondo-sec, #fbf9f6) 82%, rgba(251,249,246,0)); }
html.al-baja .al-bb-buscador { top: 0; }
.al-bb-campo { position: relative; display: flex; align-items: center; gap: 14px; padding: 6px 10px 6px 22px; border-radius: 99px; background: #fff; border: 1px solid rgba(43,37,37,.12); box-shadow: 0 20px 50px -30px rgba(43,37,37,.35); transition: border-color .3s ease, box-shadow .3s ease; }
.al-bb-campo:focus-within { border-color: var(--violeta); box-shadow: 0 0 0 4px rgba(126,23,190,.12), 0 20px 50px -30px rgba(43,37,37,.35); }
.al-bb-campo svg { flex: none; width: 22px; height: 22px; fill: none; stroke: var(--violeta); stroke-width: 2; stroke-linecap: round; }
.al-bb-campo input { flex: 1; min-width: 0; height: 52px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 1.08rem; color: var(--texto); }
.al-bb-campo input::-webkit-search-cancel-button { cursor: pointer; }
.al-bb-campo kbd { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; border: 1px solid rgba(43,37,37,.15); font: 500 .8rem var(--display, sans-serif); color: rgba(43,37,37,.5); }
.al-bb-sug { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 14px 0 14px; font-size: .78rem; color: rgba(43,37,37,.5); }
.al-bb-sug > span { margin-right: 6px; letter-spacing: .1em; text-transform: uppercase; font-size: .68rem; }
.al-bb-sug button { padding: 5px 12px; font-size: .8rem; border-style: dashed; }
.al-bb-chips { margin-bottom: 10px; }
.al-bb-estado { min-height: 1.2em; margin: 0; font-size: .82rem; color: rgba(43,37,37,.55); }
.al-bb-aviso { margin: -10px 0 26px; font-size: .85rem; color: rgba(43,37,37,.6); }
.al-bb-grilla { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; grid-auto-flow: dense; }
.al-bb-carta { --cc: var(--c-veganismo); min-width: 0; }
.al-bb-carta[hidden] { display: none; }
.al-bb-carta--grande { grid-column: span 2; }
.al-bb-carta > a { position: relative; display: flex; flex-direction: column; height: 100%; min-height: 250px; padding: 26px 26px 28px; border-radius: 20px; background: #fff; border: 1px solid rgba(43,37,37,.07); color: var(--texto); text-decoration: none; overflow: hidden; transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease, border-color .4s ease; }
.al-bb-carta > a:hover { transform: translateY(-5px); box-shadow: 0 30px 50px -34px rgba(43,37,37,.45); border-color: color-mix(in srgb, var(--cc) 35%, transparent); }
.al-bb-carta--grande > a { background: radial-gradient(70% 90% at 100% 0%, color-mix(in srgb, var(--cc) 14%, transparent), transparent 70%), #fff; }
.al-bb-animal { position: absolute; right: -14px; bottom: -18px; width: 150px; height: 150px; color: var(--cc); opacity: .07; transition: opacity .5s ease, transform .8s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.al-bb-animal svg { width: 100%; height: 100%; fill: currentColor; }
.al-bb-carta > a:hover .al-bb-animal { opacity: .16; transform: translate(-8px, -6px) rotate(-4deg); }
.al-bb-carta--grande .al-bb-animal { width: 220px; height: 220px; }
.al-bb-meta { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-size: .76rem; color: rgba(43,37,37,.5); }
.al-bb-cat { --cc: var(--c-veganismo); display: inline-flex; align-items: center; gap: 8px; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cc); }
.al-bb-cat::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.al-bb-carta h3 { margin: 0 0 12px; font-family: var(--display); font-weight: 500; font-size: 1.32rem; line-height: 1.15; letter-spacing: -0.02em; }
.al-bb-carta--grande h3 { font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); max-width: 16em; }
.al-bb-x { margin: 0; font-size: .92rem; line-height: 1.6; color: rgba(43,37,37,.66); }
.al-bb-carta mark { background: linear-gradient(transparent 55%, rgba(233,59,36,.28) 55%); color: inherit; padding: 0 1px; }
[data-c="veganismo"] { --cc: var(--c-veganismo); } [data-c="nutricion"] { --cc: var(--c-nutricion); } [data-c="etica"] { --cc: var(--c-etica); } [data-c="rodeo"] { --cc: var(--c-rodeo); }
[data-c="industria"] { --cc: var(--c-industria); } [data-c="activismo"] { --cc: var(--c-activismo); } [data-c="cultura"] { --cc: var(--c-cultura); } [data-c="planeta"] { --cc: var(--c-planeta); }
.al-bb-vacio { padding: 50px 0; text-align: center; }
.al-bb-vacio p:first-child { font-family: var(--serif); font-style: italic; font-size: 1.6rem; margin: 0 0 8px; }
.al-bb-vacio p { color: rgba(43,37,37,.65); }
.al-bb-grilla--3 .al-bb-carta--grande { grid-column: auto; }
@media (max-width: 1100px) { .al-bb-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .al-bb-grilla { grid-template-columns: 1fr; } .al-bb-carta--grande { grid-column: auto; } .al-bb-buscador { top: 64px; } .al-bb-campo kbd { display: none; } .al-bb-sug { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; } }

/* ---------------------------------------------------------------- Artículo */
.al-art-portada h1.al-art-h1 { font-size: clamp(2.3rem, 1.4rem + 3.2vw, 4.6rem) !important; max-width: 16em; }
.al-art-cat { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 18px; font-size: .78rem; color: rgba(244,239,233,.6); }
.al-art-cat .al-bb-cat { color: var(--lila); }
.al-art-grid { display: grid; grid-template-columns: 240px minmax(0, 720px); gap: clamp(30px, 6vw, 100px); justify-content: center; }
.al-art-lado { position: relative; }
.al-art-toc { position: sticky; top: 120px; }
.al-art-toc p, .al-art-compartir p { margin: 0 0 12px; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(43,37,37,.5); }
.al-art-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; border-left: 1px solid rgba(43,37,37,.12); }
.al-art-toc a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: .9rem; line-height: 1.35; color: rgba(43,37,37,.6); transition: color .3s ease, border-color .3s ease; }
.al-art-toc a:hover { color: var(--texto); }
.al-art-toc a.al-activa { color: var(--violeta); border-left-color: var(--violeta); }
.al-art-compartir { position: sticky; top: calc(120px + 340px); margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.al-art-compartir p { flex-basis: 100%; }
.al-art-compartir button, .al-art-compartir a { padding: 7px 14px; border-radius: 99px; border: 1px solid rgba(43,37,37,.16); background: transparent; font: inherit; font-size: .82rem; color: var(--texto); cursor: pointer; }
.al-art-compartir button.al-ok { border-color: var(--violeta); color: var(--violeta); }
.al-art-cuerpo { min-width: 0; }
.al-art-intro { margin: 0 0 30px; font-family: var(--display); font-weight: 400; font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); line-height: 1.5; letter-spacing: -0.01em; color: var(--texto); }
.al-art-claves { margin: 0 0 40px; padding: 22px 26px; border-radius: 18px; background: linear-gradient(120deg, rgba(126,23,190,.07), rgba(233,59,36,.05)); border: 1px solid rgba(126,23,190,.14); }
.al-art-claves p { margin: 0 0 10px; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--violeta); }
.al-art-claves ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.al-art-claves li { position: relative; padding-left: 22px; line-height: 1.55; }
.al-art-claves li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(135deg, #7E17BE, #E93B24); }
.al-art-sec, .al-art-faq, .al-art-fuentes { scroll-margin-top: 110px; }
.al-art-sec h2, .al-art-faq h2, .al-art-fuentes h2 { margin: 46px 0 16px; font-family: var(--display); font-weight: 500; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem); line-height: 1.1; letter-spacing: -0.03em; }
.al-art-sec p { margin: 0 0 18px; font-size: 1.08rem; line-height: 1.78; color: rgba(43,37,37,.86); }
.al-art-sec strong { color: var(--texto); }
.al-art-sec em { font-family: var(--serif); font-size: 1.08em; }
.al-art-faq-item { border-top: 1px solid rgba(43,37,37,.12); }
.al-art-faq-item:last-child { border-bottom: 1px solid rgba(43,37,37,.12); }
.al-art-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; cursor: pointer; list-style: none; }
.al-art-faq-item summary::-webkit-details-marker { display: none; }
.al-art-faq-item h3 { margin: 0; font-family: var(--display); font-weight: 500; font-size: 1.12rem; line-height: 1.3; }
.al-art-faq-item .al-icono { flex: none; width: 18px; height: 18px; transform: rotate(90deg); transition: transform .4s ease; color: var(--violeta); }
.al-art-faq-item[open] .al-icono { transform: rotate(-90deg); }
.al-art-faq-item p { margin: 0 0 20px; line-height: 1.7; color: rgba(43,37,37,.78); }
.al-art-fuentes ol { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: .9rem; color: rgba(43,37,37,.7); }
.al-art-fuentes a { color: var(--texto); border-bottom: 1px solid rgba(126,23,190,.3); }
.al-art-autor { margin: 22px 0 0; font-size: .86rem; color: rgba(43,37,37,.55); }
.al-art-autor a { color: var(--violeta); }
.al-art-cta { display: grid; grid-template-columns: auto 1fr; gap: 10px 22px; align-items: center; margin: 54px 0 0; padding: clamp(24px, 3vw, 36px); border-radius: 24px; background: radial-gradient(80% 90% at 100% 0%, rgba(126,23,190,.4), transparent 60%), #0e0a14; color: var(--hueso); }
.al-art-golo { grid-row: span 2; width: 52px; height: 84px; fill: url(#al-grad-marca); }
.al-art-cta h2 { margin: 0 0 6px; font-family: var(--display); font-weight: 500; font-size: 1.6rem; color: #fff; letter-spacing: -0.02em; }
.al-art-cta p { margin: 0; color: rgba(244,239,233,.72); line-height: 1.55; }
.al-art-cta .mil-button { grid-column: 2; justify-self: start; margin-top: 10px; }
@media (max-width: 991px) {
  .al-art-grid { grid-template-columns: 1fr; }
  .al-art-lado { order: 2; }
  .al-art-toc { position: static; display: none; }
  .al-art-compartir { position: static; margin: 0; }
  .al-art-cta { grid-template-columns: 1fr; }
  .al-art-golo { grid-row: auto; }
  .al-art-cta .mil-button { grid-column: auto; }
}
.al-bib-lomo b { flex: none; height: calc(100% - 92px); font-size: .86rem; line-height: 1.12; white-space: normal; text-overflow: clip; }
.al-bb-campo input, .al-bb-campo input::placeholder { text-transform: none !important; letter-spacing: 0 !important; font-weight: 400; }
.al-bb-campo input::placeholder { color: rgba(43,37,37,.42); }
.al-bib-libros { height: 300px; padding-top: 34px; overflow: visible; }
.al-bib-tabla + .al-bib-libros { margin-top: 26px; }
.al-bib-libro { flex: 1 1 0; min-width: 0; max-width: 74px; width: auto !important; }
.al-bib-cat { font-size: .52rem; max-height: 40%; }
.al-bib-lomo b { height: calc(100% - 88px); }
@media (max-width: 991px) { .al-bib-libros { height: 260px; gap: 4px; } .al-bib-lomo b { font-size: .74rem; } .al-bib-cat { display: none; } .al-bib-lomo::before { top: 16px; } .al-bib-lomo b { height: calc(100% - 66px); } }
.al-bib-libro { max-width: 92px; }
@media (max-width: 991px) { .al-bib-libro { width: auto !important; } }

/* Bloque 03: biblioteca progresiva y controles explícitos de búsqueda. */
.al-bb-limpiar, .al-bb-mas { min-height: 44px; padding: 10px 18px; border: 1px solid #756f78; border-radius: 24px; font: inherit; font-size: .9rem; cursor: pointer; }
.al-bb-limpiar { align-self: flex-start; background: transparent; color: #0b0710; }
.al-bb-limpiar:disabled { opacity: .5; cursor: default; }
.al-bb-mas { display: block; margin: 28px auto 0; background: #0b0710; color: #fff; }
.al-bb-mas[hidden] { display: none; }
.al-bb-limpiar:focus-visible, .al-bb-mas:focus-visible, .al-bb-chip:focus-visible, .al-bb-sug button:focus-visible { outline: 3px solid #7e17be; outline-offset: 3px; }
.al-bb-idioma { margin: 0; font-size: .9rem; line-height: 1.5; color: #504951; }
.al-bb-estado { color: #504951; }
.al-bb-chip, .al-bb-sug button { min-height: 44px; }
/* Los controles crecen al traducirse: no deben ocupar la pantalla al desplazarse. */
@media (max-width: 680px) { .al-bb-buscador { position: static; } }
