/* Catalogue-first entry: offer is an inline benefit, not a separate promotion panel. */
header{border-bottom:1px solid #eddfd5;padding:12px 0;margin-bottom:18px}
.catalog-intro{display:block;margin:0 0 12px}
.catalog-intro h1{font-size:30px;line-height:1.35;letter-spacing:0;margin:0;color:#392426}
.inline-offer{font-size:15px;line-height:1.6;color:#9b5049;margin:7px 0 0}
.inline-offer strong{font-size:20px;font-weight:800;color:#d5353e;margin:0 5px;white-space:nowrap}
.tools{padding-top:5px}
.catalog-note{margin:2px 0 14px}
.activity-scope{font-size:13px;line-height:1.7;color:#806a60;margin:-10px 0 22px}
.guide-benefit .guide-total{border-top:1px solid #edcdbc;padding-top:10px;margin-top:2px;align-items:center;font-weight:700}
.guide-benefit .guide-total b{font-size:20px;color:#d5353e}
.card-price{display:flex;align-items:baseline;justify-content:space-between;gap:5px}
.card-price strong{white-space:nowrap;font-variant-numeric:tabular-nums}
#dialog,#rewardDialog{position:fixed;top:50%;bottom:auto;left:0;right:0;margin:0 auto;transform:translateY(-50%)}
.reward-envelope{position:relative;min-height:140px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#fff0e0;border:1px solid #f0ceb4;border-radius:16px;margin:18px 0;color:#934328}
.reward-envelope svg{width:68px;height:68px;fill:none}
.reward-envelope span{font-size:13px;font-weight:700}
.reward-ticket[hidden],.reward-envelope[hidden]{display:none}
.reward-product .reward-due{font-size:18px;white-space:nowrap}
.reward-product .reward-due small{display:block;font-size:10px;font-weight:400;color:#806a60;text-align:right}
.reward-eligibility{font-size:11px;line-height:1.55;color:#806a60;margin:14px 0 0}
.reward-opening .reward-envelope svg{animation:open-newcomer-gift .7s ease-in-out both}
.reward-revealed .reward-ticket{animation:reveal-newcomer-gift .45s ease-out both}
@keyframes open-newcomer-gift{0%,100%{transform:scale(1)}35%{transform:scale(1.12) rotate(-5deg)}70%{transform:scale(1.08) rotate(5deg)}}
@keyframes reveal-newcomer-gift{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.reward-opening .reward-envelope svg,.reward-revealed .reward-ticket{animation:none}}
.coupon-success-mark{position:relative;width:74px;height:66px;margin:18px auto 4px}
.coupon-success-mark svg{width:64px;height:64px;animation:coupon-success-pop .5s ease-out both}
.coupon-success-mark circle{fill:#fbe8df;stroke:#ecb5a4;stroke-width:1}
.coupon-success-mark path{fill:none;stroke:#db3945;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:44;stroke-dashoffset:44;animation:coupon-success-check .45s .15s ease-out forwards}
.coupon-success-mark i{position:absolute;width:5px;height:9px;border-radius:2px;background:#ed6470;left:-13px;top:12px;animation:coupon-success-pop .65s ease-out both;transform:rotate(-25deg)}
.coupon-success-mark i:nth-of-type(2){left:auto;right:-13px;top:6px;background:#e8ac51;transform:rotate(25deg)}
.coupon-success-mark i:nth-of-type(3){left:-3px;top:53px;background:#e8ac51;width:5px;height:5px}
.coupon-success-mark i:nth-of-type(4){left:auto;right:-8px;top:48px;width:5px;height:5px}
.reward-checkout .reward-eyebrow{margin-top:4px}
.reward-checkout .reward-sub{font-size:14px;color:#9e443d;font-weight:700}
.reward-checkout.reward-revealed .reward-ticket{animation:coupon-ticket-pop .45s ease-out both}
.coupon-next-step{font-size:12px;line-height:1.6;color:#806a60;margin:10px 0 12px}
.reward-checkout .reward-cta{min-height:48px;padding:12px 10px}
@keyframes coupon-success-pop{from{opacity:0;transform:translateY(9px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes coupon-success-check{to{stroke-dashoffset:0}}
@keyframes coupon-ticket-pop{from{transform:translateY(6px) scale(.94)}to{transform:translateY(0) scale(1)}}
@media(max-height:620px){.coupon-success-mark{width:52px;height:44px;margin-top:16px}.coupon-success-mark svg{width:44px;height:44px}.reward-checkout .reward-ticket>strong{font-size:48px}.reward-checkout .reward-back{padding:6px 10px;margin-top:4px}.reward-checkout .reward-product{margin:9px 0}}
@media(prefers-reduced-motion:reduce){.coupon-success-mark svg,.coupon-success-mark i,.coupon-success-mark path,.reward-checkout.reward-revealed .reward-ticket{animation:none}.coupon-success-mark path{stroke-dashoffset:0}}
@media(max-width:700px){
  header{padding:6px 1px;margin-bottom:13px}
  .header-offer{font-size:12px;min-height:44px}
  .catalog-intro{margin:0 0 8px}
  .catalog-intro h1{font-size:24px;line-height:1.4}
  .inline-offer{font-size:13px;margin-top:4px;line-height:1.5}
  .inline-offer strong{font-size:18px;margin:0 4px}
  .tools{padding-top:3px}
  .catalog-note{font-size:11px;line-height:1.5;margin:2px 0 11px}
}
@media(max-width:359px){
  header{margin-bottom:10px}
  .catalog-intro h1{font-size:22px}
  .inline-offer{font-size:13px}
  .inline-offer strong{font-size:18px}
}
