/* Product photos stay inside the card while the Etsy link stays in view. */
.shop-gallery{isolation:isolate;touch-action:pan-y}
.shop-gallery .shop-gallery-slide{position:absolute;inset:0;margin:auto;max-width:calc(100% - 28px);max-height:calc(100% - 28px);width:auto;height:auto;object-fit:contain;opacity:0;visibility:hidden;transition:opacity .28s ease}
.shop-gallery .shop-gallery-slide.is-active{opacity:1;visibility:visible}
.shop-gallery-prev,.shop-gallery-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:38px;height:42px;border:1px solid #e9cad9ad;border-radius:9px;background:#251229dc;color:#fff;font:700 28px/1 var(--display);cursor:pointer}
.shop-gallery-prev{left:10px}.shop-gallery-next{right:10px}
.shop-gallery-prev:hover,.shop-gallery-next:hover{background:#612849}
.shop-gallery-count{position:absolute;z-index:2;bottom:10px;left:50%;transform:translateX(-50%);padding:4px 9px;border-radius:50px;background:#251229de;color:#fff;font-size:11px;font-weight:700}

/* Card peeks reveal a line while leaving profile links accessible. */
.cast-card-portrait{display:block;position:relative;overflow:hidden}
.cast-peek{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;gap:8px;padding:38px 18px 17px;background:linear-gradient(transparent,#230e2df2 38%,#230e2d);color:#fff;opacity:0;transform:translateY(14px);transition:opacity .23s ease,transform .23s ease;pointer-events:none}
.cast-peek span{font:650 clamp(17px,2vw,23px)/1.15 var(--display)}
.cast-peek small{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.rtd-peek-link:hover .cast-peek,.rtd-peek-link:focus-visible .cast-peek,.rtd-peek-link.is-peek-open .cast-peek{opacity:1;transform:none}
.cast-teaser-lead .cast-peek{right:53%;padding:28px 14px 16px}
@media(max-width:760px){.cast-teaser-lead .cast-peek{right:53%;padding:25px 10px 11px}.cast-teaser-lead .cast-peek span{font-size:17px}}

/* Panel reading uses the original image with editor-defined crop boxes. */
.reader-panel-view{width:min(742px,100%);margin:0 auto;padding:14px;border:1px solid #ac835e;border-radius:14px;background:#381e36;text-align:center;box-shadow:0 20px 70px #0007;scroll-margin-top:86px}
.reader-panel-view[hidden],.reader-figure[hidden]{display:none}
.reader-panel-stage{display:block;max-width:100%;width:100%;height:auto;max-height:min(72vh,760px);margin:auto;border-radius:5px;background:#1b0e23;touch-action:pan-y}
.reader-panel-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 0}
.reader-panel-controls button{border:1px solid #ae7a9e;border-radius:40px;background:#482540;color:var(--cream);padding:9px 16px;font-size:12px;font-weight:750;cursor:pointer}
.reader-panel-controls button:hover{background:#683158}.reader-panel-controls button:disabled{opacity:.4;cursor:default}
.reader-panel-controls span{font-size:12px;color:var(--gold);font-weight:800}
.reader-panel-view p{font-size:11px;color:#bca9b8;margin:10px 0 0}
.reader-view-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.reader-actions{align-items:flex-start}.reader-view-actions{max-width:60%}.reader-view-actions .comic-zoom-btn{padding:8px 12px}.reader-panel-view{padding:6px}}

/* A brief ink curtain uncovers the shop card after the comic. */
.reader-shop{position:relative}
.reader-shop.is-reveal-ready{opacity:0;transform:translateY(18px)}
.reader-shop.is-reveal-ready.is-revealed{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
.reader-shop.is-reveal-ready::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#28132e;transform-origin:right center;transform:scaleX(1);pointer-events:none}
.reader-shop.is-reveal-ready.is-revealed::after{transform:scaleX(0);transition:transform .62s cubic-bezier(.72,0,.18,1)}
@media(prefers-reduced-motion:reduce){.shop-gallery .shop-gallery-slide,.cast-peek{transition:none}.reader-shop.is-reveal-ready{opacity:1;transform:none}.reader-shop.is-reveal-ready::after{display:none}}
.about-fact .section-link{display:inline-flex;margin-top:15px;padding:0}
