/* Stage 4 — gentle completion celebrations and local-only sticker rewards. */
.sticker-celebration{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;background:#30204120;pointer-events:none;opacity:0;transition:opacity .22s ease}
.sticker-celebration.is-showing{opacity:1}
.sticker-celebration-card{width:min(430px,92vw);padding:28px 26px 24px;border:3px solid #fff7dd;border-radius:26px;background:linear-gradient(145deg,#fff8dc,#f1e9f7 58%,#e8f5f1);box-shadow:0 18px 55px #2e173b45;text-align:center;transform:translateY(12px) scale(.96);transition:transform .25s ease;pointer-events:auto}
.sticker-celebration.is-showing .sticker-celebration-card{transform:translateY(0) scale(1)}
.sticker-sparkles{color:#c8791c;font-size:26px;letter-spacing:.18em}
.sticker-celebration-title{display:block;margin-top:3px;font-family:'Baloo 2',sans-serif;font-size:clamp(34px,7vw,48px);line-height:1;color:#4b2968}
.sticker-celebration-copy{margin:8px auto 14px;max-width:340px;color:#5c5065;font-size:17px;font-weight:750;line-height:1.45}
.sticker-celebration-link{display:inline-flex;padding:9px 15px;border-radius:999px;background:#4b2968;color:#fff;font-weight:900;text-decoration:none}
@media(prefers-reduced-motion:reduce){.sticker-celebration,.sticker-celebration-card{transition:none}}

.sticker-book-page{padding-block:52px 92px}
.sticker-book-hero{max-width:850px;margin:0 auto 38px;text-align:center}
.sticker-book-hero h1{font-size:clamp(46px,7vw,78px);line-height:1.02;margin:6px 0 12px}
.sticker-book-hero h1 em{font-style:normal;color:#d45c3e}
.sticker-book-hero .lead{max-width:720px;margin:0 auto;color:#62556b;font-size:18px;line-height:1.65}
.sticker-count{display:inline-block;margin-top:18px;padding:8px 15px;border:1px solid #dfcfb9;border-radius:999px;background:#fff7df;color:#513363;font-weight:900}
.sticker-note{max-width:780px;margin:0 auto 30px;padding:16px 19px;border-left:5px solid #e5ad4f;border-radius:9px;background:#fff8e5;color:#5c5065}
.sticker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.sticker-card{position:relative;overflow:hidden;border:1px solid #eadacc;border-radius:22px;background:#fff;box-shadow:0 8px 22px #45325d12}
.sticker-card figure{position:relative;margin:0;aspect-ratio:1;background:#f7f2ea;overflow:hidden}
.sticker-card img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .2s ease,transform .2s ease}
.sticker-card.is-locked img{filter:grayscale(1) opacity(.24) blur(2px);transform:scale(.94)}
.sticker-lock{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:16px;color:#594568;font-weight:900}
.sticker-lock span{display:block;margin:auto;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#fff8e5;border:1px solid #dfcfb9;font-size:25px}
.sticker-card-body{padding:16px}
.sticker-card h2{margin:0 0 5px;font-size:22px}
.sticker-state{margin:0 0 12px;color:#75677b;font-size:14px;font-weight:800}
.sticker-download{display:inline-flex;align-items:center;gap:5px;color:#4b2968;font-weight:900;text-underline-offset:4px}
.sticker-coming{margin:0;color:#8a7d8d;font-size:14px;line-height:1.4}
.sticker-book-actions{margin-top:42px;padding:30px;border-radius:22px;background:#eaf5f2;text-align:center}
.sticker-book-actions h2{font-size:clamp(29px,4vw,42px);margin:0 0 9px}
.sticker-book-actions p{max-width:650px;margin:0 auto 18px;color:#5e5666}
@media(max-width:1050px){.sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sticker-book-page{padding-top:32px}}
@media(max-width:420px){.sticker-grid{grid-template-columns:1fr 1fr;gap:11px}.sticker-card-body{padding:12px}.sticker-card h2{font-size:18px}.sticker-coming,.sticker-state{font-size:12px}}

.sticker-celebration[hidden]{display:none}

/* Parent-friendly Sticker Book reset. Clears only Collyvale sticker progress. */
.sticker-reset{max-width:760px;margin:28px auto 0;padding:24px;border:2px dashed #cbb9d5;border-radius:22px;background:#faf7fc;text-align:center}
.sticker-reset h2{margin:0 0 7px;font-size:clamp(25px,4vw,34px);color:#4b2968}
.sticker-reset p{max-width:620px;margin:0 auto 15px;color:#665b6b;line-height:1.55}
.sticker-reset-button{border:0;border-radius:999px;padding:12px 18px;background:#4b2968;color:#fff;font:inherit;font-weight:900;cursor:pointer}
.sticker-reset-button:hover,.sticker-reset-button:focus-visible{outline:3px solid #e5ad4f;outline-offset:3px}
.sticker-reset-status{min-height:1.5em;margin-top:12px!important;font-weight:850;color:#4f735e!important}
