:root{
  --hhsn-accent: #1e66ff;
}

/* Popup */
.hhsn-overlay{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,.45);
  z-index: 999999;
}
.hhsn-overlay.is-open{ display: flex; }

.hhsn-modal{
  width: min(520px, 100%);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  position: relative;
  overflow: hidden;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.hhsn-close{
  position: absolute;
  top: 10px;
  right: 10px;
  border: 0;
  background: transparent;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
  color: #0a0a0a;
}
.hhsn-close:hover{ background: rgba(0,0,0,.06); }

.hhsn-header{
  padding: 18px 18px 12px 18px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.hhsn-badge{
  width: 42px;
  height: 6px;
  border-radius: 999px;
  background: var(--hhsn-accent);
  margin-bottom: 10px;
}
.hhsn-title{
  margin: 0;
  font-size: 18px;
  letter-spacing: .3px;
}

.hhsn-content{
  padding: 16px 18px 18px 18px;
}
.hhsn-message{
  font-size: 15px;
  line-height: 1.5;
  color: #1b1b1b;
}
.hhsn-actions{
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
}
.hhsn-primary{
  appearance: none;
  border: 0;
  background: var(--hhsn-accent);
  color: #fff;
  font-weight: 600;
  padding: 10px 14px;
  border-radius: 12px;
  cursor: pointer;
}
.hhsn-primary:hover{ filter: brightness(.95); }

/* Checkout notice */
.hhsn-checkout-notice{
  border: 1px solid rgba(0,0,0,.08);
  border-left: 6px solid var(--hhsn-accent);
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 14px 0;
}
.hhsn-checkout-title{
  font-weight: 700;
  margin-bottom: 6px;
}
.hhsn-checkout-message{
  line-height: 1.5;
}


/* Message formatting (signoff) */
.hhsn-message-main{ }
.hhsn-signoff{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.06);
  font-size: 14px;
  color: rgba(0,0,0,.72);
}
.hhsn-signoff .hhsn-greeting{
  margin-bottom: 4px;
}
.hhsn-signoff .hhsn-team{
  font-weight: 650;
  color: rgba(0,0,0,.86);
}
