.jp-xmas-ribbon{background:#8a1c22;color:#fbf3e4;border-bottom:3px solid #d7b56d;font-family:inherit}
.jp-xmas-ribbon[hidden],.jp-xmas-bar[hidden],.jp-xmas-card[hidden],.jp-xmas-modal[hidden]{display:none!important}
.jp-xmas-ribbon__inner{display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:12px 20px;text-align:center}
.jp-xmas-ribbon__tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;background:#d7b56d;color:#2a0d0f;padding:5px 12px;border-radius:2px;font-weight:700}
.jp-xmas-ribbon__msg{font-size:15px;line-height:1.4;font-weight:600;letter-spacing:.02em}
.jp-xmas-ribbon__msg small{display:block;font-size:12px;font-weight:400;opacity:.88;margin-top:2px}
.jp-xmas-ribbon__msg small a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.jp-xmas-count{display:flex;gap:6px;align-items:stretch}
.jp-xmas-count__cell{min-width:46px;background:#2a0d0f;border-radius:3px;padding:5px 6px;text-align:center}
.jp-xmas-count__num{display:block;font-size:19px;line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums;color:#fff}
.jp-xmas-count__lab{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#d7b56d;margin-top:2px}
.jp-xmas-btn{display:inline-block;background:#fbf3e4;color:#8a1c22;padding:10px 22px;border-radius:999px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;text-decoration:none;border:1px solid #fbf3e4;cursor:pointer;transition:background-color .16s ease-out,color .16s ease-out}
.jp-xmas-btn:hover,.jp-xmas-btn:focus-visible{background:#d7b56d;border-color:#d7b56d;color:#2a0d0f}
.jp-xmas-btn--dark{background:#111;color:#fff;border-color:#111}
.jp-xmas-btn--dark:hover,.jp-xmas-btn--dark:focus-visible{background:#8a1c22;border-color:#8a1c22;color:#fff}
.jp-xmas-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:#8a1c22;color:#fbf3e4;border-top:3px solid #d7b56d;transform:translateY(110%);transition:transform .3s ease-out}
.jp-xmas-bar.is-on{transform:none}
.jp-xmas-bar__inner{display:flex;align-items:center;justify-content:center;gap:10px 20px;flex-wrap:wrap;padding:10px 48px 10px 20px;font-size:14px;text-align:center}
.jp-xmas-x{position:absolute;top:8px;right:10px;width:32px;height:32px;border:0;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}
.jp-xmas-card{position:fixed;left:16px;bottom:16px;z-index:910;width:min(300px,calc(100vw - 32px));background:#f6efe2;color:#1a1a1a;border:1px solid #d7b56d;border-radius:6px;padding:18px 18px 16px;box-shadow:0 6px 24px rgba(0,0,0,.14)}
.jp-xmas-card__eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#8a1c22;font-weight:700;margin:0 0 4px}
.jp-xmas-card__title{font-size:17px;line-height:1.25;margin:0 0 10px;font-weight:600}
.jp-xmas-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,8,9,.62)}
.jp-xmas-dialog{position:relative;display:grid;grid-template-columns:1fr 1.1fr;width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#f6efe2;color:#1a1a1a;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.jp-xmas-dialog__art{background:#8a1c22;color:#fbf3e4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:36px 24px;border-right:3px solid #d7b56d}
.jp-xmas-dialog__pct{font-size:84px;line-height:1;font-weight:700;letter-spacing:-.03em;color:#fff}
.jp-xmas-dialog__off{font-size:13px;letter-spacing:.34em;text-transform:uppercase;color:#d7b56d;margin-top:6px}
.jp-xmas-dialog__gift{font-size:12px;letter-spacing:.1em;margin-top:22px;opacity:.9;max-width:200px;line-height:1.6}
.jp-xmas-dialog__body{padding:36px 32px 28px}
.jp-xmas-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8a1c22;font-weight:700;margin:0 0 8px}
.jp-xmas-title{font-size:26px;line-height:1.2;margin:0 0 12px;font-weight:600}
.jp-xmas-text{font-size:14px;line-height:1.65;margin:0 0 18px;color:#4a4034}
.jp-xmas-field{width:100%;height:48px;border-radius:999px;border:1px solid #ddcdb7;background:#f9f4ea;padding:0 20px;font-size:15px;color:#1a1a1a;margin:0 0 12px}
.jp-xmas-field:focus{outline:none;border-color:#d7b56d}
.jp-xmas-submit{width:100%;height:48px;border-radius:999px}
.jp-xmas-fine{font-size:11.5px;line-height:1.55;color:#7d6f5c;margin:12px 0 0}
.jp-xmas-err{font-size:13px;color:#8a1c22;margin:0 0 10px}
.jp-xmas-code{display:flex;gap:8px;align-items:center;margin:0 0 14px}
.jp-xmas-code__val{flex:1;border:2px dashed #8a1c22;border-radius:4px;padding:12px;text-align:center;font-size:22px;letter-spacing:.22em;font-weight:700;color:#8a1c22;background:#fffaf0}
.jp-xmas-modal .jp-xmas-x{color:#1a1a1a}
@media (max-width:749px){.jp-xmas-ribbon__msg{font-size:13.5px}.jp-xmas-dialog{grid-template-columns:1fr}.jp-xmas-dialog__art{flex-direction:row;gap:14px;padding:16px 20px;border-right:0;border-bottom:3px solid #d7b56d}.jp-xmas-dialog__pct{font-size:44px}.jp-xmas-dialog__off{margin-top:0}.jp-xmas-dialog__gift{display:none}.jp-xmas-dialog__body{padding:22px 20px 20px}.jp-xmas-title{font-size:22px}.jp-xmas-count__cell{min-width:40px}}
@media (prefers-reduced-motion:reduce){.jp-xmas-bar{transition:none}}
