/* R112: one named category sheet with a raised, bending paper edge. */
body.op-category-browsing .magazine-shell .book-wrap > .book,
body.op-category-browsing .magazine-shell .book-wrap > #op-turn-integrated-book{
  opacity:0!important;
}
.op-category-browse{
  position:fixed!important;z-index:19!important;pointer-events:none!important;
  display:block!important;overflow:visible!important;
  perspective:2800px;transform-style:preserve-3d;isolation:isolate;
}
.op-category-browse-base,.op-category-browse-leaf{
  position:absolute!important;top:0!important;bottom:0!important;width:50%!important;
  height:100%!important;margin:0!important;overflow:hidden!important;
  background:linear-gradient(110deg,#f9efce,#e1c38d);
  border:1px solid rgba(86,53,20,.38);
}
.op-category-browse-base.is-left{left:0!important;right:auto!important;z-index:1!important;border-radius:10px 0 0 10px;}
.op-category-browse-base.is-right{right:0!important;left:auto!important;z-index:1!important;border-radius:0 10px 10px 0;}
.op-category-browse-leaf{
  right:0!important;left:auto!important;z-index:20!important;overflow:visible!important;
  background:transparent!important;border:0!important;
  transform-origin:left center!important;transform-style:preserve-3d!important;
  animation:op-category-browse-next 700ms cubic-bezier(.18,.04,.38,1) both!important;
}
.op-category-browse-leaf::after{
  content:"";position:absolute;z-index:30;top:0;bottom:0;right:0;width:0;
  pointer-events:none;transform:translateZ(4px);transform-origin:right center;
  border-radius:80% 10% 10% 80% / 4% 50% 50% 4%;
  background:linear-gradient(90deg,rgba(64,37,12,.05),rgba(255,249,225,.82) 35%,rgba(183,145,83,.72) 74%,rgba(68,38,12,.3));
  box-shadow:-9px 3px 16px rgba(36,21,5,.25);
  animation:op-category-paper-curl-next 700ms cubic-bezier(.18,.04,.38,1) both;
}
.op-category-browse.is-back .op-category-browse-leaf{
  left:0!important;right:auto!important;transform-origin:right center!important;
  animation-name:op-category-browse-prev!important;
}
.op-category-browse.is-back .op-category-browse-leaf::after{
  right:auto;left:0;transform-origin:left center;
  border-radius:10% 80% 80% 10% / 50% 4% 4% 50%;
  animation-name:op-category-paper-curl-prev;
}
.op-category-browse-face{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;overflow:hidden!important;
  background:linear-gradient(110deg,#f9efce,#e1c38d);
  border:1px solid rgba(86,53,20,.38);
  box-shadow:6px 8px 20px rgba(25,14,4,.26);
  /* Opacity swaps the printed faces at the fold midpoint. Hidden backfaces
     discard the verso in Chromium after the parent crosses 90 degrees. */
  backface-visibility:visible!important;-webkit-backface-visibility:visible!important;
}
.op-category-browse-face.is-front{
  transform:translateZ(1px)!important;
  animation:op-category-turn-front 700ms linear both!important;
}
.op-category-browse-face.is-verso{
  transform:rotateY(180deg) translateZ(1px)!important;
  animation:op-category-turn-back 700ms linear both!important;
}
.op-category-browse.is-back .op-category-browse-face.is-verso{transform:rotateY(-180deg) translateZ(1px)!important;}
.op-category-browse-face.is-front::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(45,26,5,.34),transparent 27%,rgba(255,251,230,.34) 64%,rgba(35,22,4,.28));
}
.op-category-browse-spine{
  position:absolute;z-index:5;left:calc(50% - 7px);top:0;bottom:0;width:14px;
  pointer-events:none;background:linear-gradient(90deg,rgba(41,24,4,.28),rgba(255,248,213,.48) 50%,rgba(41,24,4,.24));
}
.op-category-browse-snapshot.magazine-shell{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;
  margin:0!important;padding:0!important;overflow:hidden!important;transform:none!important;
}
.op-category-browse-snapshot .page{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;
  opacity:1!important;visibility:visible!important;transform:none!important;
  margin:0!important;pointer-events:none!important;
}
.op-category-browse-snapshot .product-card{
  opacity:1!important;visibility:visible!important;
  animation:none!important;transition:none!important;
}
.op-category-browse-snapshot .nc-mobile-card-stack-reader{display:none!important;}
@keyframes op-category-browse-next{
  0%{transform:translateZ(4px) rotateY(0deg) skewY(0deg);border-radius:0 10px 10px 0;filter:brightness(1)}
  28%{transform:translateZ(80px) rotateY(-42deg) skewY(-1.4deg);border-radius:0 28px 28px 0;filter:brightness(.94)}
  52%{transform:translateZ(110px) rotateY(-96deg) skewY(1.2deg);border-radius:13px 23px 23px 13px;filter:brightness(.74)}
  78%{transform:translateZ(80px) rotateY(-153deg) skewY(.6deg);border-radius:10px 0 0 10px;filter:brightness(.94)}
  100%{transform:translateZ(4px) rotateY(-180deg) skewY(0deg);border-radius:10px 0 0 10px;filter:brightness(1)}
}
@keyframes op-category-browse-prev{
  0%{transform:translateZ(4px) rotateY(0deg) skewY(0deg);border-radius:10px 0 0 10px;filter:brightness(1)}
  28%{transform:translateZ(80px) rotateY(42deg) skewY(1.4deg);border-radius:28px 0 0 28px;filter:brightness(.94)}
  52%{transform:translateZ(110px) rotateY(96deg) skewY(-1.2deg);border-radius:23px 13px 13px 23px;filter:brightness(.74)}
  78%{transform:translateZ(80px) rotateY(153deg) skewY(-.6deg);border-radius:0 10px 10px 0;filter:brightness(.94)}
  100%{transform:translateZ(4px) rotateY(180deg) skewY(0deg);border-radius:0 10px 10px 0;filter:brightness(1)}
}
.op-category-turn{
  position:fixed;z-index:10020;pointer-events:none;
  perspective:2800px;transform-style:preserve-3d;isolation:isolate;
  opacity:1;
}
/* Native pages already paint their own mirrored binding shadows. This
   absolutely positioned spine was a second dark stripe over the centre. */
body.op-turntest-ready .magazine-shell .op-turn-integrated-spine{
  display:none!important;opacity:0!important;visibility:hidden!important;
}
/* The permanent decorative spine is correct for an open spread, but under a
   lifted category sheet it becomes a second dark bar at the binding. */
body.op-category-turning .magazine-shell .book-wrap::before,
body.op-category-turning .op-turn-integrated-spine{
  opacity:0!important;visibility:hidden!important;
}
.op-category-turn-leaf{
  position:absolute;top:0;bottom:0;right:0;width:50%;z-index:20;
  transform-origin:left center;transform-style:preserve-3d;
  will-change:transform;
  animation:op-category-turn-next 780ms cubic-bezier(.32,.03,.2,1) both;
  animation-play-state:paused;
}
.op-category-turn-leaf::after{
  content:"";position:absolute;z-index:30;top:0;bottom:0;right:0;width:22%;
  pointer-events:none;transform:translateZ(4px);transform-origin:right center;
  will-change:transform,opacity;
  border-radius:80% 10% 10% 80% / 4% 50% 50% 4%;
  background:linear-gradient(90deg,rgba(64,37,12,.05),rgba(255,249,225,.84) 35%,rgba(183,145,83,.74) 74%,rgba(68,38,12,.3));
  animation:op-category-paper-curl-next 780ms linear both;
  animation-play-state:paused;
}
.op-category-turn.is-back .op-category-turn-leaf{
  right:auto;left:0;transform-origin:right center;
  animation-name:op-category-turn-previous;
}
.op-category-turn.is-back .op-category-turn-leaf::after{
  right:auto;left:0;transform-origin:left center;
  border-radius:10% 80% 80% 10% / 50% 4% 4% 50%;
  animation-name:op-category-paper-curl-prev;
}
.op-category-turn-face{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;max-width:none!important;margin:0!important;
  overflow:hidden!important;backface-visibility:visible!important;-webkit-backface-visibility:visible!important;
  background:linear-gradient(110deg,#f8edcb,#dfc18a);
  border:1px solid rgba(79,48,16,.42);
  box-shadow:none;
}
.op-category-turn-face.is-front{
  border-radius:0 11px 11px 0;
  animation:op-category-turn-front 780ms linear both;
  animation-play-state:paused;
}
.op-category-turn.is-back .op-category-turn-face.is-front{border-radius:11px 0 0 11px;}
.op-category-turn-face.is-back{
  transform:rotateY(180deg);border-radius:11px 0 0 11px;
  animation:op-category-turn-back 780ms linear both;
  animation-play-state:paused;
  display:flex!important;flex-direction:column;justify-content:center;align-items:center;
  gap:clamp(10px,2vw,25px);padding:8%;text-align:center;color:#2e1b0e;
  background:repeating-linear-gradient(0deg,rgba(67,40,11,.026) 0 1px,transparent 1px 5px),
    linear-gradient(110deg,#e6ce96,#f9ebc1 47%,#d2ab6a);
}
.op-category-turn.is-back .op-category-turn-face.is-back{border-radius:0 11px 11px 0;}
.op-category-turn-face.is-back::before{
  content:"";position:absolute;inset:5%;border:1px solid rgba(98,60,25,.36);
  box-shadow:inset 0 0 0 8px rgba(255,249,221,.26);pointer-events:none;
}
.op-category-turn.is-ready .op-category-turn-leaf,
.op-category-turn.is-ready .op-category-turn-leaf::after,
.op-category-turn.is-ready .op-category-turn-face{animation-play-state:running;}
.op-category-turn .op-category-turn-snapshot.magazine-shell{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;
  margin:0!important;padding:0!important;transform:none!important;overflow:hidden!important;
}
.op-category-turn-snapshot .product-card,
.op-category-turn-snapshot .product-card *{
  animation:none!important;transition:none!important;
}
.op-category-turn-face.is-front .page{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;min-width:0!important;display:block!important;
  opacity:1!important;visibility:visible!important;transform:none!important;
  margin:0!important;pointer-events:none!important;
  /* The original book binding is already visible beneath the turning sheet. */
  box-shadow:inset 0 0 22px rgba(92,59,22,.18)!important;
}
.op-category-turn-face.is-front .nc-mobile-card-stack-reader{display:none!important;}
.op-category-turn-kicker{
  position:relative;z-index:1;color:#87331e;letter-spacing:.2em;
  font:italic 800 clamp(12px,1.3vw,21px)/1.2 Georgia,serif;
}
.op-category-turn-title{
  position:relative;z-index:1;max-width:95%;overflow-wrap:anywhere;text-transform:uppercase;
  font:900 clamp(21px,2.3vw,40px)/1.08 Impact,"Arial Narrow",Arial,sans-serif;
}
.op-category-turn-title::after{
  content:"";display:block;width:72%;height:3px;margin:clamp(10px,1.8vw,28px) auto 0;
  background:linear-gradient(90deg,transparent,#93331e,transparent);
}
@keyframes op-category-turn-front{0%,44%{opacity:1}56%,100%{opacity:0}}
@keyframes op-category-turn-back{0%,44%{opacity:0}56%,100%{opacity:1}}
@keyframes op-category-paper-curl-next{
  0%,100%{opacity:0;transform:translateZ(4px) scaleX(0)}
  25%{opacity:.65;transform:translateZ(18px) scaleX(.45) skewY(-2deg)}
  50%{opacity:1;transform:translateZ(30px) scaleX(1) skewY(1.4deg)}
  75%{opacity:.65;transform:translateZ(18px) scaleX(.5) skewY(.8deg)}
}
@keyframes op-category-paper-curl-prev{
  0%,100%{opacity:0;transform:translateZ(4px) scaleX(0)}
  25%{opacity:.65;transform:translateZ(18px) scaleX(.45) skewY(2deg)}
  50%{opacity:1;transform:translateZ(30px) scaleX(1) skewY(-1.4deg)}
  75%{opacity:.65;transform:translateZ(18px) scaleX(.5) skewY(-.8deg)}
}
@keyframes op-category-turn-next{
  0%{transform:translate3d(0,0,4px) rotateY(0deg)}
  100%{transform:translate3d(0,0,4px) rotateY(-180deg)}
}
@keyframes op-category-turn-previous{
  0%{transform:translate3d(0,0,4px) rotateY(0deg)}
  100%{transform:translate3d(0,0,4px) rotateY(180deg)}
}
@media(max-width:760px),(prefers-reduced-motion:reduce){.op-category-turn,.op-category-browse{display:none!important}}
