.promotion-modal{color:#193c38;background:#fffdf8;border:3px solid #9fc4b5;border-radius:32px;width:min(480px,100vw - 32px);max-height:calc(100dvh - 40px);padding:30px 24px;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 80px #143e384d}.promotion-box{text-align:center}.promotion-gift{color:#386f65;background:#fff0ba;border-radius:50%;padding:18px;display:inline-flex}.promotion-title{margin:18px 0 12px;font-size:clamp(24px,5vw,32px);font-weight:850;line-height:1.25}.promotion-description{white-space:pre-line;color:#526b66;margin-bottom:20px;line-height:1.6}.promotion-code{background:#eaf5ee;border:2px dashed #8ab4a6;border-radius:20px;gap:10px;margin:18px 0;padding:16px;display:grid}.promotion-code strong{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:28px}.promotion-code button{cursor:pointer;min-height:44px;text-decoration:underline}.promotion-action{color:#fff;text-align:center;cursor:pointer;background:#306e64;border:0;border-radius:999px;width:100%;padding:15px;font-weight:800;display:block;box-shadow:0 5px #174c4438}.promotion-action:disabled{opacity:.6}.promotion-box form{text-align:left;gap:16px;display:grid}.promotion-box label{gap:8px;font-weight:700;display:grid}.promotion-box input[type=tel]{background:#fff;border:2px solid #aecabc;border-radius:16px;width:100%;padding:12px;font-size:16px}.promotion-box .promotion-consent{align-items:flex-start;font-size:13px;font-weight:500;line-height:1.5;display:flex}.promotion-consent input{flex-shrink:0;width:20px;height:20px}.promotion-trap{display:none}.promotion-box [role=status]{margin-top:16px;font-size:14px}
