.stf__parent {
  position: relative;
  display: block;
  box-sizing: border-box;
  transform: translateZ(0);

  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.sft__wrapper {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.stf__parent canvas {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.stf__block {
  position: absolute;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  perspective: 2000px;
}

.stf__item {
  display: none;
  position: absolute;
  transform-style: preserve-3d;
}

.stf__outerShadow {
  position: absolute;
  left: 0;
  top: 0;
}

.stf__innerShadow {
  position: absolute;
  left: 0;
  top: 0;
}

.stf__hardShadow {
  position: absolute;
  left: 0;
  top: 0;
}

.stf__hardInnerShadow {
  position: absolute;
  left: 0;
  top: 0;
}
/* ---- Anita Boutique · visor de catálogos ---- */
.ab-fb{--rose:#9e5559;--gold:#d5ac79;--blush:#f0e2df;--blush2:#fdf6f3;--muted:#7a6a6c;color:#2b2224;background:linear-gradient(180deg,#fdf6f3 0%,#f3e6e3 100%);border-top:1px solid #ead7d3}
.ab-fb__bar{display:flex;align-items:center;gap:12px;max-width:1400px;margin:0 auto;padding:12px 24px}
.ab-fb__back{color:var(--rose);font-weight:600;font-size:14px;white-space:nowrap}
.ab-fb__back:hover{text-decoration:underline}
.ab-fb__title{flex:1;min-width:0;text-align:center}
.ab-fb__title h1{font-family:'Playfair Display',Georgia,serif;color:var(--rose);font-size:24px;line-height:1.15;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-fb__title p{color:var(--muted);font-size:12.5px;margin:2px 0 0}
.ab-fb__tools{display:flex;gap:8px}
.ab-fb__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;min-width:38px;padding:0 12px;border-radius:999px;border:1px solid var(--gold);background:#fff;color:var(--rose);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.15s}
.ab-fb__btn:hover{background:var(--blush2)}
.ab-fb__btn--solid{background:var(--rose);border-color:var(--rose);color:#fff}
.ab-fb__btn--solid:hover{background:#87464a}
.ab-fb__btn svg{width:18px;height:18px;flex:none}
.ab-fb__stage{position:relative;display:flex;align-items:center;justify-content:center;padding:6px 64px 10px;user-select:none}
.ab-fb__book{margin:0 auto}
.ab-fb__page{background:#fff;overflow:hidden}
.ab-fb__page img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;pointer-events:none}
.ab-fb__page .ab-fb__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#c9b3b0;font-size:13px;background:#fbf4f2}
.ab-fb__page img.is-loaded+.ab-fb__ph{display:none}
.ab-fb__nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);background:#fff;color:var(--rose);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(158,85,89,.15);z-index:5}
.ab-fb__nav:hover{background:var(--rose);color:#fff;border-color:var(--rose)}
.ab-fb__nav:disabled{opacity:.35;cursor:default;background:#fff;color:var(--rose)}
.ab-fb__nav--prev{left:10px}.ab-fb__nav--next{right:10px}
.ab-fb__nav svg{width:22px;height:22px}
.ab-fb__foot{display:flex;align-items:center;justify-content:center;gap:14px;padding:6px 24px 18px;flex-wrap:wrap}
.ab-fb__count{font-size:13.5px;color:var(--muted);min-width:110px;text-align:center}
.ab-fb__range{width:min(420px,60vw);accent-color:var(--rose)}
.ab-fb__jump{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.ab-fb__jump input{width:64px;height:34px;border:1px solid #e3cfc9;border-radius:8px;padding:0 8px;text-align:center;font-size:14px}
.ab-fb__jump button{height:34px;padding:0 12px;border-radius:8px;border:0;background:var(--rose);color:#fff;font-weight:700;cursor:pointer}
/* panel de miniaturas */
.ab-fb__thumbs{position:fixed;inset:0;z-index:10050;background:rgba(43,34,36,.55);display:none}
.ab-fb__thumbs.is-open{display:block}
.ab-fb__thumbs-box{position:absolute;right:0;top:0;bottom:0;width:min(560px,100%);background:#fff;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.2)}
.ab-fb__thumbs-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #f0e2df}
.ab-fb__thumbs-head strong{font-family:'Playfair Display',Georgia,serif;color:var(--rose);font-size:20px}
.ab-fb__thumbs-grid{flex:1 1 auto;min-height:0;grid-auto-rows:max-content;align-content:start;overflow:auto;padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}
.ab-fb__thumb{border:2px solid transparent;border-radius:8px;padding:0;background:#fbf4f2;cursor:pointer;text-align:center;font-size:11.5px;color:var(--muted);overflow:hidden}
.ab-fb__thumb img{width:100%;aspect-ratio:var(--ab-ratio-w,1)/var(--ab-ratio-h,1.3);object-fit:cover;display:block;background:#f6ecea}
.ab-fb__thumb span{display:block;padding:3px 0 4px}
.ab-fb__thumb.is-current{border-color:var(--rose)}
/* zoom */
.ab-fb__zoom{position:fixed;inset:0;z-index:10060;background:#1d1617;display:none;flex-direction:column}
.ab-fb__zoom.is-open{display:flex}
.ab-fb__zoom-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;color:#fff}
.ab-fb__zoom-bar .ab-fb__btn{border-color:#5a4648;background:#2b2224;color:#fff}
.ab-fb__zoom-scroll{flex:1;overflow:auto;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
.ab-fb__zoom-inner{display:flex;justify-content:center;gap:4px;margin:0 auto;padding:10px;width:max-content;min-width:100%}
.ab-fb__zoom-inner img{display:block;height:auto;max-width:none;background:#fff;flex:none}
/* pantalla completa */
.ab-fb:fullscreen{overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.ab-fb:-webkit-full-screen{overflow:auto}
.ab-fb__noscript{text-align:center;padding:40px}
@media (max-width:767px){
 .ab-fb__bar{flex-wrap:wrap;padding:10px 12px;gap:8px}
 .ab-fb__title{order:-1;flex-basis:100%}
 .ab-fb__title h1{font-size:20px}
 .ab-fb__back{font-size:13px}
 .ab-fb__tools{margin-left:auto;gap:6px}
 .ab-fb__btn{height:36px;min-width:36px;padding:0 10px}
 .ab-fb__btn .ab-fb__lbl{display:none}
 .ab-fb__stage{padding:4px 8px 6px}
 .ab-fb__nav{width:38px;height:38px;top:auto;bottom:-46px;transform:none}
 .ab-fb__nav--prev{left:12px}.ab-fb__nav--next{right:12px}
 .ab-fb__foot{padding:8px 60px 16px;gap:8px}
 .ab-fb__range{width:100%;order:3}
 .ab-fb__jump{display:none}
}
.ab-fb__zoom-ctrl{display:flex;gap:8px;align-items:center}
.ab-fb:fullscreen,.ab-fb.is-fs{background:linear-gradient(180deg,#fdf6f3 0%,#f3e6e3 100%);border-top:0}
.ab-fb:fullscreen .ab-fb__stage,.ab-fb.is-fs .ab-fb__stage{flex:1 1 auto}
.ab-fb:-webkit-full-screen{display:flex;flex-direction:column;justify-content:center;width:100%;height:100%}
.ab-fb:fullscreen,.ab-fb.is-fs{overflow:hidden;overflow-x:hidden;width:100%;max-width:100%;height:100%;box-sizing:border-box}
.ab-fb:fullscreen .ab-fb__stage,.ab-fb.is-fs .ab-fb__stage{min-height:0;max-width:100%;overflow:hidden}
.ab-fb__back,.ab-fb__tools{flex-shrink:0}
@media (max-width:1279px){.ab-fb:fullscreen .ab-fb__lbl,.ab-fb.is-fs .ab-fb__lbl{display:none}}
