/* catalogo.css — Página Catálogo de Muebles de Oficina */

body.page-catalogo,
html:has(main.page-catalogo) {
  overflow-x: clip;
}

@media (min-width: 761px) {
  body.page-catalogo,
  html:has(main.page-catalogo) {
    overflow-x: clip;
  }
}

main.page-catalogo {
  --cat-oliva: #575D40;
  --cat-oliva-osc: #3D4230;
  --cat-hueso: #F2F1EA;
  --cat-tinta: #363636;
  --cat-tinta-60: rgba(54, 54, 54, .66);
  --cat-linea: #D9D9CD;
  --cat-blanco: #fff;
  --cat-display: var(--sans);
  --cat-texto: var(--sans);
  --cat-r-m: 16px;
  /* Contenedor estándar (--maxw), no el marco amplio (--frame-max): en pantallas
     grandes ese marco ensancha demasiado el libro y lo deja aplastado/plano. */
  --cat-contenedor: var(--maxw);
  --cat-ease: cubic-bezier(.22, .61, .36, 1);
  background: var(--cat-hueso);
  color: var(--cat-tinta);
  font-family: var(--cat-texto);
}

main.page-catalogo h1,
main.page-catalogo h2,
main.page-catalogo h3,
main.page-catalogo .saber summary {
  font-family: var(--sans);
  font-weight: var(--fw-display);
  letter-spacing: var(--track-display);
  line-height: var(--lh-display);
}

main.page-catalogo h2 {
  font-weight: var(--fw-section);
  letter-spacing: var(--track-section);
  line-height: var(--lh-section);
}

main.page-catalogo h3 {
  font-weight: var(--fw-emphasis);
  letter-spacing: var(--track-heading);
  line-height: var(--lh-heading);
}

main.page-catalogo .contenedor {
  width: min(calc(100% - (var(--frame-gutter) * 2)), var(--cat-contenedor));
  margin-inline: auto;
  overflow: visible;
}

.page-catalogo .contact {
  padding-top: clamp(20px, 2.5vw, 32px);
  padding-bottom: clamp(72px, 8vw, 100px);
}

.page-catalogo .contact > .wrap {
  width: min(var(--frame-max), calc(100% - (var(--frame-gutter) * 2)));
  max-width: none;
  margin-inline: auto;
}

main.page-catalogo .cat-eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-emphasis);
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0 0 .9rem;
  opacity: .72;
}

main.page-catalogo .cat-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  font-family: inherit;
  font-size: var(--fs-btn);
  font-weight: var(--fw-emphasis);
  line-height: 1;
  padding: .95rem 1.8rem;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: transform .25s var(--cat-ease), background .25s, color .25s, border-color .25s;
}

main.page-catalogo .cat-btn:hover { transform: translateY(-2px); }
main.page-catalogo .cat-btn-claro { background: #fff; color: var(--cat-tinta); }
main.page-catalogo .cat-btn-claro:hover { background: #E7E7DD; }
main.page-catalogo .cat-flecha { transition: transform .3s var(--cat-ease); }
main.page-catalogo .cat-btn:hover .cat-flecha { transform: translateX(3px); }

/* ==========================================================================
   SECCIÓN CATÁLOGO
   ========================================================================== */
main.page-catalogo #catalogo{
  --cat-book-radius: 14px;
  --t:#1A1C16; --t2:rgba(54,54,54,.58); --b:rgba(54,54,54,.18);
  position:relative;
  color:var(--t);
  padding:clamp(2rem,4.5vw,3.5rem) 0 clamp(2rem,4.5vw,3rem);
  background:#EBEAE1;
  overflow:visible;
}
main.page-catalogo #catalogo::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:radial-gradient(ellipse 66% 58% at 50% 44%,rgba(255,255,255,.92),transparent 70%);
}
main.page-catalogo #catalogo::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E");
}

main.page-catalogo .cat-cabeza {
  display: grid;
  grid-template-columns: 7fr 3fr;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: end;
  max-width: none;
  width: 100%;
  margin-bottom: clamp(1.4rem, 3vw, 2.2rem);
}

main.page-catalogo .cat-cabeza-titulos {
  min-width: 0;
}

main.page-catalogo .cat-cabeza .eyebrow,
main.page-catalogo .cat-eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-emphasis);
  letter-spacing: .22em;
  text-transform: uppercase;
  line-height: 1;
  color: var(--ink-soft);
  margin: 0 0 .9rem;
  opacity: 1;
}

main.page-catalogo .cat-cabeza h1 {
  font-family: var(--sans);
  font-size: var(--fs-h1);
  font-weight: var(--fw-display);
  letter-spacing: var(--track-display);
  line-height: var(--lh-display);
  color: var(--ink);
  max-width: 18ch;
  margin: 0;
}

main.page-catalogo .cat-cabeza .lead,
main.page-catalogo .cat-cabeza .lede {
  color: var(--ink-soft);
  font-size: var(--fs-lead);
  font-weight: var(--fw-body);
  line-height: var(--lh-body);
  max-width: none;
  margin: 0;
}

main.page-catalogo .riel-cabeza{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
main.page-catalogo .busca{
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-emphasis);
  letter-spacing: .18em;
  text-transform: uppercase;
  line-height: 1;
  color: var(--ink-soft);
  margin: 0;
}
main.page-catalogo .riel-flechas{display:flex;gap:.4rem;flex:0 0 auto}
main.page-catalogo .riel-flecha{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(54,54,54,.18);background:none;color:var(--t);
  cursor:pointer;display:grid;place-items:center;font-size:1rem;line-height:1;padding:0;
  transition:opacity .2s,border-color .2s,background .2s;
}
main.page-catalogo .riel-flecha:hover{border-color:currentColor;background:rgba(54,54,54,.05)}
main.page-catalogo .riel-flecha[disabled]{opacity:.25;cursor:default}
main.page-catalogo .pista{position:relative}
main.page-catalogo .pista::before,main.page-catalogo .pista::after{
  content:"";position:absolute;top:0;bottom:.5rem;width:52px;pointer-events:none;
  opacity:0;transition:opacity .25s;z-index:2;
}
main.page-catalogo .pista::before{left:0;background:linear-gradient(90deg,#EBEAE1,rgba(235,234,225,0))}
main.page-catalogo .pista::after{right:0;background:linear-gradient(270deg,#EBEAE1,rgba(235,234,225,0))}
main.page-catalogo .pista.hay-izq::before{opacity:1}
main.page-catalogo .pista.hay-der::after{opacity:1}
main.page-catalogo .capitulos{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1.3rem;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
main.page-catalogo .capitulos::-webkit-scrollbar{display:none}
main.page-catalogo .cap{
  flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:.5rem;
  background:none;border:1px solid rgba(54,54,54,.18);color:var(--t);
  border-radius:999px;padding:.58rem 1.05rem;
  font-family: var(--sans);
  font-size: var(--fs-btn);
  font-weight: var(--fw-emphasis);
  line-height: 1;
  cursor:pointer;white-space:nowrap;transition:background .25s,border-color .25s,color .25s;
}
main.page-catalogo .cap .pg{font-size:.72rem;opacity:.55;font-variant-numeric:tabular-nums}
main.page-catalogo .cap:hover{border-color:currentColor}
main.page-catalogo .cap[aria-current="true"]{background:var(--cat-tinta);color:#F4F4EE;border-color:var(--cat-tinta)}
main.page-catalogo .cap[aria-current="true"] .pg{opacity:.7}

/* Escenario del libro ----------------------------------------------------- */
main.page-catalogo .escenario{
  position:relative;
  display:block;
  width:100%;
  overflow:visible;
}
main.page-catalogo .libro-stage{
  position:relative;
  width:100%;
  min-height:var(--cat-book-h, 480px);
  overflow:visible;
  background:transparent;
}
main.page-catalogo .libro-fondo{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:var(--cat-book-radius);
  background:linear-gradient(180deg,#f3f2ec 0%,#e9e8e2 100%);
  box-shadow:
    0 28px 56px -28px rgba(54,54,54,.14),
    0 10px 24px -16px rgba(54,54,54,.08),
    inset 0 0 0 1px rgba(54,54,54,.04);
}
main.page-catalogo .catalogo-carga{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-items:center;
  pointer-events:none;
  border-radius:var(--cat-book-radius);
  background:linear-gradient(180deg, rgba(243,242,236,.92) 0%, rgba(233,232,226,.96) 100%);
}
main.page-catalogo .catalogo-carga .cat-cargando-stage{
  margin:0;
  font-family:var(--sans);
  font-size:var(--fs-btn);
  font-weight:var(--fw-body);
  color:rgba(54,54,54,.55);
  letter-spacing:.04em;
}
main.page-catalogo .escenario.is-ready .catalogo-carga{
  display:none !important;
}
/* Póster antiguo (si queda en cache HTML): no mostrar — era el flash borroso */
main.page-catalogo .catalogo-portada{
  display:none !important;
}
main.page-catalogo .flip-viewport{
  position:relative;
  z-index:1;
  width:100%;
  height:var(--cat-book-h, 480px);
  min-height:var(--cat-book-h, 480px);
  overflow:visible;
}
main.page-catalogo .escenario.volteando-portada{
  padding-top:36px;
  padding-bottom:16px;
}
/* Sin lomo/separación central: el pliego debe verse continuo */
main.page-catalogo .flip-viewport::after{
  content: none !important;
  display: none !important;
}
main.page-catalogo .escenario.vista-doble.is-ready:not(.volteando) .cat-page-inner{
  box-shadow: none;
}
main.page-catalogo .escenario.volteando .cat-page-inner{
  box-shadow: none;
}
main.page-catalogo .flip-root{
  position:absolute;
  inset:0;
  visibility:hidden;
  pointer-events:none;
  transition:transform .55s var(--cat-ease);
}
main.page-catalogo .escenario.is-ready .flip-root{
  visibility:visible;
  pointer-events:auto;
  z-index:3;
}
/* Desktop: centrar la carátula (mitad derecha del pliego) en el visor */
main.page-catalogo .escenario.en-portada.modo-apaisado.is-ready:not(.volteando) .flip-root{
  transform:translateX(-25%);
}
main.page-catalogo .catalogo-flipbook{
  width:var(--cat-book-w, 100%);
  max-width:100%;
  height:100%;
  margin-inline:auto;
}
main.page-catalogo .catalogo-flipbook.stf__parent{
  overflow:visible !important;
}
main.page-catalogo .catalogo-flipbook .stf__wrapper,
main.page-catalogo .catalogo-flipbook .stf__block{
  overflow:visible !important;
}
main.page-catalogo .catalogo-flipbook .stf__outerShadow,
main.page-catalogo .catalogo-flipbook .stf__innerShadow,
main.page-catalogo .catalogo-flipbook .stf__hardShadow,
main.page-catalogo .catalogo-flipbook .stf__hardInnerShadow{
  display: none !important;
  opacity: 0 !important;
  filter: none !important;
  background: none !important;
  box-shadow: none !important;
}
/* PáginaFlip a veces deja 1px entre hojas; lo cerramos en vista doble */
main.page-catalogo .escenario.vista-doble .catalogo-flipbook .stf__item,
main.page-catalogo .escenario.vista-doble .catalogo-flipbook .stf__block {
  margin: 0 !important;
  padding: 0 !important;
}
main.page-catalogo .escenario:not(.cat-interactivo) .catalogo-flipbook,
main.page-catalogo .escenario:not(.cat-interactivo) .nav-libro.next{
  pointer-events:none;
}
main.page-catalogo .escenario:not(.cat-interactivo) .nav-libro.next{opacity:.35}
main.page-catalogo .catalogo-flipbook .cat-cargando,
main.page-catalogo .catalogo-flipbook .cat-error{
  display:grid;
  place-items:center;
  min-height:380px;
  margin:0;
  font-size:.92rem;
  color:rgba(54,54,54,.65);
  text-align:center;
  padding:1rem;
}
main.page-catalogo .catalogo-flipbook .cat-error a{
  color:var(--cat-oliva);
  font-weight:600;
}
main.page-catalogo .cat-page,
main.page-catalogo .cat-page.--hard,
main.page-catalogo .cat-page.--soft,
main.page-catalogo .cat-page.stf__item.--simple{
  background:#fff;
  overflow:hidden !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  /* Esquinas del libro: solo el exterior redondeado vía stage; juntas al centro = 0 */
  border-radius: 0;
}
main.page-catalogo .cat-page-inner{
  width:100%;
  height:100%;
  overflow:hidden;
  background:#fff;
  border: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
/* Vista doble: páginas perfectamente pegadas, sin radio en la unión */
main.page-catalogo .escenario.vista-doble .cat-page,
main.page-catalogo .escenario.vista-doble .cat-page-inner {
  border-radius: 0 !important;
}
main.page-catalogo .cat-page-inner canvas,
main.page-catalogo .cat-page-inner img{
  display:block;
  width:100%;
  height:100%;
  /* Proporción del PDF: no estirar (fill aplastaba) */
  object-fit: contain;
  object-position: center center;
  background:#fff;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: top;
}
/* Portada = página completa del PDF (ya no es un pliego recortado) */
main.page-catalogo .cat-page-inner img.cat-portada-media{
  width:100%;
  max-width:none;
  height:100%;
  object-fit: contain;
  object-position: center center;
  margin-left:0;
}
main.page-catalogo .cat-page-inner img.cat-page-half{
  width:200%;
  max-width:none;
  height:100%;
  object-fit:cover;
}
main.page-catalogo .cat-page-inner img.cat-page-half--left{
  object-position:left center;
  margin-left:0;
}
main.page-catalogo .cat-page-inner img.cat-page-half--right{
  object-position:right center;
  margin-left:-100%;
}
main.page-catalogo .nav-libro{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;height:52px;
  border-radius:50%;
  border:1px solid rgba(54,54,54,.22);
  background:#fff;
  color:var(--t);
  cursor:pointer;
  font-size:1.45rem;
  font-weight:300;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 4px 18px rgba(54,54,54,.18);
  transition:background .2s,border-color .2s,opacity .2s,transform .2s;
  z-index:25;
}
main.page-catalogo .nav-libro.prev{left:.35rem}
main.page-catalogo .nav-libro.next{right:.35rem}
main.page-catalogo .nav-libro:hover{
  border-color:var(--cat-oliva);
  background:#fff;
  transform:translateY(-50%) scale(1.06);
}
main.page-catalogo .nav-libro[disabled]{opacity:.3;cursor:default;transform:translateY(-50%)}

main.page-catalogo .pie-libro{display:flex;justify-content:center;margin-top:1.3rem}
main.page-catalogo .contador{font-size:.85rem;color:rgba(54,54,54,.58);font-variant-numeric:tabular-nums;margin:0}
main.page-catalogo .acciones{display:flex;flex-wrap:wrap;gap:.7rem}

/* ==========================================================================
   DATOS CLAVE
   ========================================================================== */
main.page-catalogo .resumen{background:var(--cat-blanco);padding:clamp(2.4rem,5vw,3.4rem) 0}
main.page-catalogo .resumen-grid{display:grid;grid-template-columns:1.7fr .75fr;gap:clamp(2rem,5vw,3.5rem);align-items:start}
main.page-catalogo .portada-card{margin:0;background:var(--cat-hueso);border:1px solid var(--cat-linea);border-radius:var(--cat-r-m);padding:1.1rem;text-align:center}
main.page-catalogo .portada-card img{width:100%;max-width:210px;height:auto;margin:0 auto .9rem;border-radius:4px;box-shadow:0 12px 26px -14px rgba(54,54,54,.6)}
main.page-catalogo .portada-card .meta{display:block;font-size:.76rem;letter-spacing:.02em;color:var(--cat-tinta-60);margin-bottom:.85rem}
main.page-catalogo .btn-descarga{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--cat-oliva);color:#fff;font-size:.88rem;font-weight:600;
  padding:.8rem 1rem;border-radius:8px;text-decoration:none;
  transition:background .25s,transform .25s var(--cat-ease);
}
main.page-catalogo .btn-descarga:hover{background:var(--cat-oliva-osc);transform:translateY(-1px)}
main.page-catalogo .resumen-lead{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:300;max-width:23ch;margin:0 0 1.1rem}
main.page-catalogo .respuesta-corta{font-family:var(--sans);font-size:var(--fs-lead);line-height:var(--lh-body);color:rgba(54,54,54,.88);max-width:66ch;margin:0 0 1.8rem}
main.page-catalogo .respuesta-corta b{font-weight:var(--fw-emphasis);color:var(--cat-tinta)}
main.page-catalogo .resumen-lead + .respuesta-corta{margin-top:0}
main.page-catalogo .datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:1.3rem 2rem;border-top:1px solid var(--cat-linea);padding-top:1.6rem;margin:0}
main.page-catalogo .dato-clave dt{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cat-tinta-60);margin-bottom:.25rem}
main.page-catalogo .dato-clave dd{margin:0;font-size:.95rem;font-weight:500}

/* ==========================================================================
   COLECCIONES
   ========================================================================== */
main.page-catalogo .colecciones{padding:clamp(2.2rem,5vw,3.2rem) 0;background:var(--cat-hueso);border-top:1px solid var(--cat-linea)}
main.page-catalogo .col-fila{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem}
main.page-catalogo .col-chip{display:inline-flex;align-items:baseline;gap:.5rem;text-decoration:none;background:var(--cat-blanco);
  border:1px solid var(--cat-linea);border-radius:999px;padding:.55rem 1.05rem;font-size:.92rem;transition:border-color .25s,transform .25s var(--cat-ease)}
main.page-catalogo .col-chip:hover{border-color:var(--cat-oliva);transform:translateY(-2px)}
main.page-catalogo .col-chip b{font-family:var(--sans);font-weight:var(--fw-section);font-size:1.02rem}
main.page-catalogo .col-chip span{color:var(--cat-tinta-60);font-size:.82rem}

/* ==========================================================================
   GUÍA + FAQ
   ========================================================================== */
main.page-catalogo .saber{background:var(--cat-blanco);padding:clamp(2.8rem,6vw,4.5rem) 0;border-top:1px solid var(--cat-linea)}
main.page-catalogo .saber-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:start}
main.page-catalogo .saber h2{font-size:var(--fs-h2);font-weight:var(--fw-section);margin-bottom:1.2rem}
main.page-catalogo .tabla-envoltura{overflow-x:auto;border:1px solid var(--cat-linea);border-radius:var(--cat-r-m)}
main.page-catalogo .saber table{border-collapse:collapse;width:100%;min-width:420px;font-size:.9rem}
main.page-catalogo .saber th,main.page-catalogo .saber td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--cat-linea);vertical-align:top}
main.page-catalogo .saber thead th{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cat-tinta-60);font-weight:600;background:var(--cat-hueso)}
main.page-catalogo .saber tbody tr:last-child td{border-bottom:0}
main.page-catalogo .saber details{border-bottom:1px solid var(--cat-linea)}
main.page-catalogo .saber details:first-of-type{border-top:1px solid var(--cat-linea)}
main.page-catalogo .saber summary{list-style:none;cursor:pointer;padding:1rem 2.2rem 1rem 0;position:relative;font-family:var(--sans);font-size:var(--fs-h3);font-weight:var(--fw-emphasis);line-height:var(--lh-heading)}
main.page-catalogo .saber summary::-webkit-details-marker{display:none}
main.page-catalogo .saber summary::after{content:"+";position:absolute;right:.3rem;top:.9rem;font-size:1.35rem;font-weight:200;color:var(--cat-oliva);transition:transform .3s var(--cat-ease)}
main.page-catalogo .saber details[open] summary::after{transform:rotate(45deg)}
main.page-catalogo .saber details p{color:var(--cat-tinta-60);font-size:.93rem;padding-right:2rem;margin:0 0 1rem}

@media (max-width: 1024px) {
  /* H1 hereda --fs-h1 */
}

@media (max-width: 900px) {
  main.page-catalogo .saber-grid { grid-template-columns: 1fr; }
  main.page-catalogo .resumen-grid { grid-template-columns: 1fr; }
  main.page-catalogo .portada-card { max-width: 320px; }
}

@media (max-width: 900px) {
  main.page-catalogo .cat-cabeza {
    display: block;
    margin-bottom: 1.2rem;
  }

  main.page-catalogo .cat-cabeza h1 {
    max-width: none;
    margin: 0 0 .75rem;
  }
}

@media (max-width: 760px) {
  html:has(main.page-catalogo),
  body.page-catalogo {
    overflow-x: clip !important;
  }

  main.page-catalogo .contenedor {
    width: min(calc(100% - (var(--frame-gutter) * 2)), var(--cat-contenedor));
    overflow: hidden;
  }

  main.page-catalogo #catalogo {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
    overflow: hidden;
  }

  main.page-catalogo .cat-cabeza {
    display: block;
    margin-bottom: 1.1rem;
  }
  main.page-catalogo .cat-cabeza h1 {
    max-width: none;
    margin: 0 0 .75rem;
  }
  main.page-catalogo .cat-cabeza .lead,
  main.page-catalogo .cat-cabeza .lede {
    max-width: none;
  }
  main.page-catalogo .capitulos { margin-bottom: 1rem; }

  main.page-catalogo .escenario {
    padding: 0;
    margin: 0;
    max-width: 100%;
    overflow: hidden;
  }

  main.page-catalogo .cat-page,
  main.page-catalogo .cat-page-inner {
    border-radius: var(--cat-book-radius);
  }

  main.page-catalogo .cat-page-inner canvas,
  main.page-catalogo .cat-page-inner img {
    object-fit: contain;
  }

  main.page-catalogo .escenario.volteando {
    overflow: visible;
  }

  main.page-catalogo .libro-stage {
    min-height: var(--cat-book-h, 320px);
    max-width: 100%;
    overflow: hidden;
  }

  main.page-catalogo .flip-viewport {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  main.page-catalogo .escenario.volteando .flip-viewport {
    overflow: visible;
  }

  main.page-catalogo .flip-root {
    position: relative;
    inset: auto;
    width: var(--cat-book-w, 100%);
    max-width: 100%;
    height: 100%;
    flex: 0 0 auto;
    transform: none !important;
  }

  main.page-catalogo .catalogo-flipbook.stf__parent {
    width: var(--cat-book-w, 100%) !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 auto;
    overflow: hidden !important;
  }

  main.page-catalogo .catalogo-flipbook .stf__wrapper,
  main.page-catalogo .catalogo-flipbook .stf__block {
    overflow: hidden !important;
  }

  main.page-catalogo .escenario.volteando .catalogo-flipbook.stf__parent,
  main.page-catalogo .escenario.volteando .catalogo-flipbook .stf__wrapper,
  main.page-catalogo .escenario.volteando .catalogo-flipbook .stf__block {
    overflow: visible !important;
  }

  main.page-catalogo .escenario.volteando-portada {
    padding-top: 44px;
    padding-bottom: 20px;
  }

  main.page-catalogo .nav-libro {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 2px 14px rgba(54, 54, 54, 0.14);
  }

  main.page-catalogo .nav-libro:hover {
    transform: translateY(-50%) scale(1.04);
  }

  main.page-catalogo .nav-libro[disabled] {
    transform: translateY(-50%);
    opacity: 0.25;
  }

  main.page-catalogo .nav-libro.prev { left: 0.25rem; }
  main.page-catalogo .nav-libro.next { right: 0.25rem; }

  main.page-catalogo .riel-flecha {
    width: 44px;
    height: 44px;
    font-size: 1.1rem;
  }

  main.page-catalogo .cap {
    min-height: 44px;
    padding: 10px 14px;
  }

  main.page-catalogo .pie-libro {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 1rem;
  }

  main.page-catalogo .contador { text-align: center; }
  main.page-catalogo .col-chip { font-size: .88rem; padding: .5rem .9rem; }
  main.page-catalogo .saber table { min-width: 0; font-size: .86rem; }
  main.page-catalogo .saber th,
  main.page-catalogo .saber td { padding: .7rem .75rem; }
  main.page-catalogo .saber summary { font-size: 1rem; padding-right: 1.9rem; }
}

@media (prefers-reduced-motion: reduce) {
  main.page-catalogo .cat-btn,
  main.page-catalogo .col-chip {
    transition-duration: .01ms !important;
  }
}
