/* E-89: the shared band follows the approved home/contact/shipping references. */
.sh-frontend .sh-newsletter {
  background: var(--sh-surface); border-block: 1px solid var(--sh-line);
  padding-block: calc(var(--sh-space-6) + var(--sh-space-1)); width: 100%;
}
.sh-frontend .sh-newsletter-inner { display: grid; gap: 1.75rem; align-items: start; }
.sh-frontend .sh-newsletter :is(.sh-newsletter-copy, .sh-newsletter-form, .sh-field, .sh-newsletter-row) { min-width: 0; }
.sh-frontend .sh-newsletter h2 {
  font: 800 clamp(2rem, 1.2rem + 3.6vw, 3.5rem)/.95 var(--font-display);
  letter-spacing: -.02em; text-transform: uppercase; overflow-wrap: anywhere;
}
.sh-frontend .sh-newsletter .sh-newsletter-sub { margin-top: .875rem; max-width: 32.5rem; color: var(--sh-text-muted); }
.sh-frontend .sh-newsletter-form { display: grid; gap: .75rem; width: 100%; align-content: start; margin: 0; }
.sh-frontend .sh-newsletter-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sh-space-1); }
.sh-frontend .sh-newsletter .sh-field > label { font-weight: 600; }
.sh-frontend .sh-newsletter input[type="email"] {
  width: 100%; min-width: 0; min-height: var(--sh-field-height); padding: .75rem 1rem;
  background: var(--sh-bg); color: var(--sh-text); border: 1px solid var(--sh-control);
  border-radius: var(--sh-radius); font: 400 var(--t-base)/1.5 var(--font-body);
}
.sh-frontend .sh-newsletter input::placeholder { color: var(--sh-text-muted); opacity: 1; }
.sh-frontend .sh-newsletter input:hover { border-color: var(--sh-text); }
.sh-frontend .sh-newsletter input[aria-invalid="true"] { border-color: var(--sh-error); }
.sh-frontend .sh-newsletter button.sh-btn[type="submit"] { min-height: var(--sh-field-height); }
.sh-frontend .sh-newsletter-consent { color: var(--sh-text-muted); }
.sh-frontend .sh-newsletter-consent > span { min-width: 0; }
.sh-frontend .sh-newsletter a { color: var(--sh-text); text-decoration: underline; text-underline-offset: .2em; }
.sh-frontend .sh-newsletter a:hover { text-decoration-thickness: 2px; }
.sh-frontend .sh-newsletter-required { font-size: var(--t-sm); color: var(--sh-text-muted); }
.sh-frontend .sh-newsletter-done { color: var(--sh-gold); font-weight: 600; }
.sh-frontend .sh-newsletter-err { color: var(--sh-error); font-size: var(--t-sm); }
.sh-frontend .sh-newsletter .sh-hp { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; padding: 0; }
/* Match the mockup at 900px; rem also adapts when the browser enlarges text. */
@media (min-width: 56.25rem) {
  .sh-frontend .sh-newsletter-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(var(--sh-space-12) - var(--sh-space-2)); align-items: center; }
  .sh-frontend .sh-newsletter-row { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (forced-colors: active) {
  .sh-frontend .sh-newsletter input { border-color: ButtonText; }
  .sh-frontend .sh-newsletter-err { color: CanvasText; }
}
