.hanzu-campaign-popup[hidden]{display:none!important}
.hanzu-campaign-popup{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;font-family:Arial,sans-serif;overflow:hidden}
.hanzu-campaign-popup__backdrop{position:absolute;inset:0;background:rgba(16,24,32,.72);backdrop-filter:blur(3px)}
.hanzu-campaign-popup__dialog{position:relative;z-index:1;width:min(520px,100%);height:auto;max-height:calc(100vh - 20px);overflow:hidden;background:#fffdf8;border:1px solid #d8cabe;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.3);display:flex;flex-direction:column}
.hanzu-campaign-popup__close{position:absolute;right:10px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#201b18;font-size:25px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.hanzu-campaign-popup__image{display:block;width:100%;height:auto;aspect-ratio:2/1;flex:0 0 auto;object-fit:cover;object-position:center top;border-radius:22px 22px 0 0}
.hanzu-campaign-popup__offer{padding:10px 18px 12px;text-align:center;color:#201b18;flex:0 0 auto}
.hanzu-campaign-popup__kicker{font-size:9px;line-height:1.2;letter-spacing:.18em;font-weight:800;color:#7d6656}
.hanzu-campaign-popup__offer h2{margin:3px 0 2px;font-size:21px;line-height:1.15;letter-spacing:.035em}
.hanzu-campaign-popup__offer p{margin:0 0 4px;color:#6e625a;font-size:12px;line-height:1.25}
.hanzu-campaign-popup__discount{display:block;font-size:29px;line-height:1.05;letter-spacing:.04em;margin:4px 0 6px}
.hanzu-campaign-popup__code{font-size:11px;line-height:1.2;color:#6e625a;margin-bottom:9px}
.hanzu-campaign-popup__code strong{color:#201b18;letter-spacing:.08em}
.hanzu-campaign-popup__claim{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:#201b18;color:#fff;padding:10px 16px;font-weight:800;letter-spacing:.06em;cursor:pointer;min-width:200px;font-size:12px;line-height:1.2}
.hanzu-campaign-popup__claim:disabled{opacity:.6;cursor:wait}
.hanzu-campaign-popup__status{min-height:14px;margin-top:5px;font-size:10px;line-height:1.2;color:#6e625a}
.hanzu-campaign-popup.is-claimed .hanzu-campaign-popup__claim{background:#55685c}
body.hanzu-campaign-popup-page{overflow:hidden}
@media(max-width:600px){
  .hanzu-campaign-popup{padding:6px}
  .hanzu-campaign-popup__dialog{width:min(94vw,520px);height:auto;max-height:calc(100vh - 12px);border-radius:18px}
  .hanzu-campaign-popup__image{height:auto;aspect-ratio:2/1;border-radius:18px 18px 0 0}
  .hanzu-campaign-popup__offer{padding:8px 14px 10px}
  .hanzu-campaign-popup__offer h2{font-size:18px}
  .hanzu-campaign-popup__discount{font-size:25px}
  .hanzu-campaign-popup__code{margin-bottom:7px}
  .hanzu-campaign-popup__claim{width:100%;max-width:260px;padding:9px 14px}
}
@media(max-height:700px){
  .hanzu-campaign-popup__image{height:auto;aspect-ratio:2/1}
  .hanzu-campaign-popup__offer{padding-top:7px;padding-bottom:8px}
  .hanzu-campaign-popup__offer h2{font-size:18px}
  .hanzu-campaign-popup__discount{font-size:25px}
}
/* Integration hook: Smart Recommendations should stay closed while a campaign popup is active. */
body.hanzu-campaign-popup-page [data-hanzu-recommendation-popup],
body.hanzu-campaign-popup-page .hanzu-recommendation-popup,
body.hanzu-campaign-popup-page .hanzu-kohi-recommendation-popup,
body.hanzu-campaign-popup-page .hanzu-smart-recommendation-popup{display:none!important}
