.modal[data-modal="loyalty"] .modal-content { max-height: calc(100vh - 24px); overflow-y: auto; justify-content: flex-start; }
.modal[data-modal="loyalty"] .modal-close:focus { outline: 2px solid currentColor; outline-offset: 2px; }
#loyaltySignup .loyalty-marketing { margin: 1rem 0; padding: 0; border: 0; text-align: left; }
#loyaltySignup .loyalty-choice { display: flex; align-items: flex-start; gap: .65rem; margin: .8rem 0; cursor: pointer; }
#loyaltySignup .loyalty-choice input { appearance: auto; -webkit-appearance: checkbox; width: 1.1rem; height: 1.1rem; flex: 0 0 1.1rem; margin: .2rem 0 0; padding: 0; }
#loyaltySignup #loyalty-sms-disclosure { white-space: pre-line; font-size: .9em; }
#loyaltySignup .button:disabled { opacity: .6; cursor: default; }

/* Soften only the loyalty texture by 40%; keep form content fully opaque. */
.modal[data-modal="loyalty"] .modal-content {
  background-image: linear-gradient(rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4)), url(/dist/img/halftone.png);
}
