/* Funnel core styles. Concepts theme these with the --wm-* variables. */
:root{--wm-paper:#faf6ee;--wm-ink:#1f1b16;--wm-muted:#6b6254;--wm-line:#e3d9c6;--wm-head:#1e3428;--wm-head-ink:#fff;--wm-accent:#f2b53d;--wm-accent-ink:#1d1406;--wm-font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--wm-ease:cubic-bezier(.2,.7,.2,1)}
[hidden]{display:none!important}
html,body{overflow-x:clip}

/* reveal on scroll: content is visible without JS; hidden only once core.js marks <html class="js"> */
.js [data-reveal]{opacity:0;transition:opacity .9s var(--wm-ease),transform .9s var(--wm-ease),clip-path 1.1s var(--wm-ease),filter .9s var(--wm-ease);transition-delay:var(--d,0s);will-change:transform,opacity}
.js [data-reveal=""],.js [data-reveal="up"]{transform:translateY(34px)}
.js [data-reveal="left"]{transform:translateX(-48px)}
.js [data-reveal="right"]{transform:translateX(48px)}
.js [data-reveal="scale"]{transform:scale(.9)}
.js [data-reveal="blur"]{filter:blur(12px);transform:translateY(12px)}
.js [data-reveal="clip"]{clip-path:inset(0 100% 0 0)}
.js [data-reveal="rise"]{clip-path:inset(100% 0 0 0);transform:translateY(20px)}
.js [data-reveal].is-in{opacity:1;transform:none;clip-path:inset(0 0 0 0);filter:none}

/* 3D book: <div class="wm-book"><img src=cover></div> */
.wm-book{--w:260px;--depth:30px;width:var(--w);aspect-ratio:2/3;position:relative;transform-style:preserve-3d;transform:rotateY(-24deg) rotateX(4deg);transition:transform .8s var(--wm-ease);margin:0 auto}
.wm-book:hover{transform:rotateY(-8deg) rotateX(2deg)}
.wm-book>img{position:absolute;inset:0;width:100%;height:100%;border-radius:2px 6px 6px 2px;transform:translateZ(calc(var(--depth)/2));box-shadow:inset 4px 0 10px #0004}
.wm-book::before{content:"";position:absolute;top:1.5%;bottom:1.5%;left:calc(var(--w) - var(--depth)/2 - 3px);width:var(--depth);transform:rotateY(90deg);background:repeating-linear-gradient(90deg,#f4efe4 0 2px,#ddd4c2 2px 3px);border-radius:0 3px 3px 0}
.wm-book::after{content:"";position:absolute;inset:0;transform:translateZ(calc(var(--depth)/-2));background:#16261c;border-radius:2px 6px 6px 2px;box-shadow:24px 30px 50px -10px #000a}
.wm-book.float{animation:wm-float 6s ease-in-out infinite}
@keyframes wm-float{0%,100%{translate:0 0}50%{translate:0 -12px}}

/* checkout sheet */
dialog.wm-co{border:0;padding:0;border-radius:18px;width:min(520px,94vw);max-height:92vh;background:var(--wm-paper);color:var(--wm-ink);box-shadow:0 40px 100px #000b;font-family:var(--wm-font)}
dialog.wm-co[open]{animation:wm-pop .35s var(--wm-ease)}
dialog.wm-co::backdrop{background:#0a0f0ccc;backdrop-filter:blur(3px)}
@keyframes wm-pop{from{opacity:0;transform:translateY(24px) scale(.97)}}
.wm-co-top{display:flex;gap:14px;align-items:center;padding:16px 18px;background:var(--wm-head);color:var(--wm-head-ink)}
.wm-co-top img{width:54px;border-radius:2px 5px 5px 2px;box-shadow:0 6px 14px #0006}
.wm-co-top div{font-weight:700;line-height:1.3}
.wm-co-top small{display:block;font-weight:500;opacity:.75}
.wm-co-top .wm-x{position:static;margin-left:auto;flex:0 0 40px;width:40px;height:40px;font-size:1.3rem}
.wm-co-body{padding:18px 20px 20px;overflow:auto}
.wm-co-tot{display:flex;justify-content:space-between;font-weight:800;font-size:1.12rem;padding:6px 0 14px;border-bottom:1px solid var(--wm-line);margin-bottom:16px}
.wm-co-tot s{font-weight:500;color:var(--wm-muted)}
.wm-co-note{font-size:.86rem;color:var(--wm-muted);line-height:1.45;margin:14px 0 0}
.wm-co-err{display:none;background:#fbe9e2;border:1px solid #e0a58d;color:#7a2b10;border-radius:10px;padding:12px;font-size:.92rem;margin-bottom:14px}
#paybox{min-height:220px;position:relative}
#dodo-inline-box{width:100%;min-height:360px}
#dodo-inline-box iframe{border:none!important}
.wm-spin{width:34px;height:34px;border:4px solid var(--wm-line);border-top-color:var(--wm-head);border-radius:50%;margin:24px auto;animation:wm-rot .8s linear infinite}
@keyframes wm-rot{to{transform:rotate(360deg)}}
.wm-x{position:fixed;top:12px;right:12px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#111;font:700 1.5rem/1 var(--wm-font);cursor:pointer;box-shadow:0 4px 14px #0004}

/* lightbox */
dialog.wm-lb{border:0;padding:0;background:transparent;max-width:min(96vw,1100px);max-height:94vh;overflow:visible}
dialog.wm-lb::backdrop{background:#070b09e8}
dialog.wm-lb[open] img{animation:wm-pop .3s var(--wm-ease)}
dialog.wm-lb img{max-height:88vh;width:auto;max-width:100%;margin:0 auto;border-radius:6px;background:#fff;display:block}

.wm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
