/* Bounded welcome-dialog design; catalogue retains the original visual system. */
#rewardDialog{width:min(430px,calc(100% - 28px));max-height:calc(100dvh - 28px);border-radius:26px;background:#fffdf9;overflow:auto;overscroll-behavior:contain;box-shadow:0 25px 100px #27170755}
#rewardDialog::backdrop{background:#20150f91;backdrop-filter:blur(4px)}
#rewardContent{padding:20px 24px 19px;text-align:center;position:relative;overflow:hidden}
.reward-close{position:absolute;z-index:2;inset-inline-end:13px;top:13px;width:32px;height:32px;border:1px solid #eadfd0;border-radius:50%;background:#fffdf9;color:#7a6b5a;font-size:24px;line-height:1}
.reward-art{height:75px;position:relative;margin:0 0 8px}.reward-art svg{width:80px;height:80px;position:relative;filter:drop-shadow(0 8px 12px #e7792a25);animation:gift-pop .6s ease-out both}.reward-art:before{content:'';position:absolute;inset:-55px -24px -30px;background:radial-gradient(ellipse,#ffe4ad70 0,transparent 65%)}
.reward-art i{display:block;position:absolute;width:5px;height:10px;background:#edaf4b;left:16%;top:22%;transform:rotate(-25deg);animation:confetti-in .65s ease-out both}.reward-art i:nth-child(2){left:28%;top:65%;height:5px;background:#f18e62;transform:rotate(30deg)}.reward-art i:nth-child(3){left:77%;top:20%;transform:rotate(22deg)}.reward-art i:nth-child(4){left:85%;top:73%;height:5px;background:#da784f;transform:rotate(60deg)}.reward-art i:nth-child(5){left:9%;top:77%;width:4px;height:4px;border-radius:50%;background:#d9bf87}.reward-art i:nth-child(6){left:68%;top:77%;width:4px;height:4px;border-radius:50%}
.reward-eyebrow{font-size:11px;font-weight:700;color:#9d5527;letter-spacing:.09em;margin-bottom:9px}
#rewardTitle{font-size:25px;line-height:1.3;letter-spacing:-.8px;margin:0;overflow-wrap:anywhere}.reward-sub{font-size:12px;line-height:1.7;color:#8a7a69;margin:9px 0 19px}
.reward-ticket{position:relative;padding:14px 12px 0;border:1px solid #f3d4ad;border-radius:15px;background:linear-gradient(135deg,#fff5df,#ffecd0);color:#a75422}
.reward-ticket:before,.reward-ticket:after{content:'';position:absolute;width:18px;height:18px;border:1px solid #f3d4ad;border-radius:50%;background:#fffdf9;bottom:34px}.reward-ticket:before{left:-10px;clip-path:inset(0 0 0 50%)}.reward-ticket:after{right:-10px;clip-path:inset(0 50% 0 0)}
.reward-ticket>span{font-size:12px;font-weight:700}.reward-ticket>strong{display:block;font-size:68px;letter-spacing:-4px;line-height:1.18;color:#ce4f1a;margin:2px 0 8px;font-weight:900}.reward-ticket small{font-size:30px;letter-spacing:-1px;margin-right:4px;vertical-align:18px}
.reward-equation{font-size:12px;line-height:1.4;letter-spacing:.04em;padding:12px 0;border-top:1px dashed #ddb986}.reward-equation span{margin:0 5px;color:#b29576}.reward-equation b{color:#bf4917;font-size:16px}
.reward-product{display:flex;gap:10px;align-items:center;text-align:start;border:1px solid #eee5d9;background:#fff;border-radius:12px;padding:9px;margin:15px 0}.reward-product>img{width:44px;height:44px;object-fit:contain;flex-shrink:0}.reward-product>div:nth-child(2){min-width:0;flex:1}.reward-product b{display:block;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.reward-product span{display:block;font-size:10px;color:#948270;margin-top:4px}.reward-due{font-weight:800;color:#d15a22;font-size:18px;white-space:nowrap}
.reward-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;line-height:1.5;padding:15px 14px;font-size:14px;border-radius:12px;background:linear-gradient(110deg,#ed732d,#e75c23);box-shadow:0 5px 15px #e9662022}.reward-cta>span{font-size:20px}.reward-back{font-size:12px;margin:7px auto 0;padding:8px 12px;text-decoration:none}.reward-terms{font-size:10px;color:#8f7d69;line-height:1.65;margin:5px 0 10px}.reward-preview{display:inline-block;border-radius:5px;padding:4px 8px;background:#f2eee7;color:#8e8174;font-size:9px;line-height:1.4}
.welcome-reminder{border:1px dashed #e4a670;background:#fff7eb;color:#ad511d;border-radius:9px;font-size:12px;padding:12px;text-align:start}.welcome-reminder span{float:right}.price-strip del{font-size:13px;color:#9f8870;font-weight:400}.guide-benefit{display:grid;gap:8px;border:1px solid #f1d5b4;border-radius:12px;padding:12px 14px;background:#fff8ec;font-size:12px;margin:16px 0}.guide-benefit span{display:flex;justify-content:space-between;gap:12px}.guide-benefit b{color:#cf561e;white-space:nowrap}.guide-product{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #ebe3d7;border-radius:10px;font-size:11px;line-height:1.6}.guide-product img{width:48px;height:48px;object-fit:contain}.copy-fallback{margin-top:18px;border:1px solid #e4d8c6;border-radius:10px;padding:12px;font-size:13px}.copy-fallback summary{cursor:pointer;font-weight:700}.guide-play[hidden]{display:none}.steps{font-size:13px;line-height:1.6}.safari-guide{margin:12px 0}.safari-guide figcaption{font-size:10px}.guide-play{margin:6px 0}.trust b{font-weight:400}
@keyframes gift-pop{from{transform:translateY(12px) scale(.8);opacity:0}to{transform:none;opacity:1}}@keyframes confetti-in{from{translate:0 -15px;opacity:0}to{translate:0 0;opacity:1}}
@media(max-width:360px){#rewardContent{padding:18px}#rewardTitle{font-size:23px}.reward-ticket>strong{font-size:60px}.reward-cta{font-size:12px}.reward-art{height:63px}.reward-art svg{height:68px}.reward-sub{margin-bottom:14px}}
@media(max-height:700px){#rewardContent{padding-top:14px}.reward-art{height:54px;margin-bottom:5px}.reward-art svg{height:60px}.reward-sub{margin:7px 0 12px}.reward-ticket{padding-top:10px}.reward-ticket>strong{font-size:56px}.reward-product{margin:12px 0}}
@media(prefers-reduced-motion:reduce){.reward-art svg,.reward-art i{animation:none}}

/* Category navigation remains reachable while browsing the catalogue. */
body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
.bottom-categories{position:fixed;inset:auto 0 0;z-index:8;background:#fffdf9f5;border-top:1px solid #e4d9c9;box-shadow:0 -5px 22px #5133180b;padding-bottom:env(safe-area-inset-bottom,0px);backdrop-filter:blur(16px)}
.bottom-categories .tabs{max-width:1280px;margin:0 auto;padding:12px 24px;gap:8px;scrollbar-width:thin;scrollbar-color:#d9cdbd transparent}
.bottom-categories .tabs button{min-height:44px;padding:10px 20px;flex-shrink:0;border-color:#e6ded3;background:#faf6ef;font-size:13px}
.bottom-categories .tabs button.active{background:#27231f;border-color:#27231f;color:#fff}
.top{bottom:calc(90px + env(safe-area-inset-bottom,0px))}
.tools .searchrow{margin-bottom:0}
@media(max-width:700px){.bottom-categories .tabs{padding:10px 16px}.bottom-categories .tabs button{font-size:12px;padding:10px 17px}.tools{padding-bottom:12px}}
