/* Minimal functional styles. Brands may restyle controls, layout and colors. */
[data-subscribe-form] [hidden] { display: none !important; }
[data-subscribe-spinner] {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: .15em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -.13em;
  animation: subscribe-spin .7s linear infinite;
}
[data-subscribe-success-mark] {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 50%;
  color: #075f43;
  background: #d6f4e7;
  font-size: 1.6rem;
  animation: subscribe-check .4s cubic-bezier(.2,.8,.2,1) both;
}
[data-subscribe-form] :focus-visible { outline: 3px solid #2b5fff; outline-offset: 3px; }
@keyframes subscribe-spin { to { transform: rotate(360deg); } }
@keyframes subscribe-check { from { opacity: 0; transform: scale(.65); } to { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  [data-subscribe-spinner], [data-subscribe-success-mark] { animation: none; }
}
