.rokr-sales-offers { --rokr-sales-accent: rgb(var(--color-button-background)); display: block; padding-block: 40px 56px; background: rgb(var(--color-background)); }
.rokr-sales-offers [hidden] { display: none !important; }
.rokr-sales-offers__heading { margin: 0 0 24px; }
.rokr-sales-offers__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rokr-sales-offers__card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: rgb(var(--color-background)); border: 1px solid rgb(var(--color-entry-line)); border-radius: var(--image-border-radius, 6px); }
.rokr-sales-offers__image { aspect-ratio: 2; overflow: hidden; background: rgb(var(--color-media-background)); }
.rokr-sales-offers__image > :is(img, svg) { display: block; width: 100%; height: 100%; object-fit: cover; }
.rokr-sales-offers__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 24px; }
.rokr-sales-offers__title { margin: 0 0 12px; overflow-wrap: anywhere; }
.rokr-sales-offers__description { color: rgb(var(--color-text)); }
.rokr-sales-offers__description > :last-child { margin-bottom: 0; }
.rokr-sales-offers__terms { margin-top: 12px; color: rgb(var(--color-light-text)); }
.rokr-sales-offers__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; width: 100%; padding-top: 24px; margin-top: auto; }
.rokr-sales-offers__actions .button { min-height: 44px; padding-inline: 0; white-space: normal; text-align: start; }
.rokr-sales-offers__actions theme-modal { display: block; }
.rokr-sales-offers__subscribe { list-style: none; }
.rokr-sales-offers__subscribe::-webkit-details-marker { display: none; }
.rokr-sales-offers__footer { padding-top: 20px; margin-top: 28px; color: rgb(var(--color-light-text)); border-top: 1px solid rgb(var(--color-entry-line)); }
.rokr-sales-offers__dialog { width: min(480px, calc(100vw - 40px)) !important; max-height: calc(100dvh - 40px); padding: 40px 28px 28px; overflow-y: auto; overscroll-behavior: contain; }
.rokr-sales-offers__modal-title { margin: 0 0 16px; padding-inline-end: 10px; }
.rokr-sales-offers__modal-copy { margin-bottom: 20px; color: rgb(var(--color-text)); }
.rokr-sales-offers__email-label { display: block; margin-bottom: 8px; }
.rokr-sales-offers__email { display: block; width: 100%; min-height: 48px; padding: 12px; margin-bottom: 14px; font: inherit; font-size: 16px; color: rgb(var(--color-text)); background: rgb(var(--color-background)); border: 1px solid rgb(var(--color-entry-line)); border-radius: var(--input-border-radius, 0); }
.rokr-sales-offers__submit { width: 100%; gap: 10px; }
.rokr-sales-offers__submit[aria-busy="true"]::after { display: inline-block; flex: 0 0 16px; width: 16px; height: 16px; content: ""; border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: rokr-sales-submitting .8s linear infinite; }
.rokr-sales-offers__privacy { margin-top: 16px; color: rgb(var(--color-light-text)); }
.rokr-sales-offers__privacy a { text-decoration: underline; }
.rokr-sales-offers__status { margin: 16px 0 0; color: rgb(var(--color-text)); }
.rokr-sales-offers__code { display: inline-block; padding: 4px 10px; font-size: 1.2em; letter-spacing: .04em; border: 1px solid rgb(var(--color-entry-line)); border-radius: 4px; }
.rokr-sales-offers [data-sales-result="success"] .button { margin-top: 24px; }
.rokr-sales-offers :is(a, button, summary, input):focus-visible { outline: 2px solid var(--rokr-sales-accent); outline-offset: 3px; }
@keyframes rokr-sales-submitting { to { transform: rotate(360deg); } }
@media (max-width: 959px) {
  .rokr-sales-offers { padding-block: 32px 40px; }
  .rokr-sales-offers__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rokr-sales-offers__heading { margin-bottom: 20px; }
  .rokr-sales-offers__body { padding: 20px; }
  .rokr-sales-offers__dialog { inset: 0 !important; max-height: calc(100dvh - 32px); padding: 40px 24px max(24px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .rokr-sales-offers__dialog { animation-duration: .01ms !important; }
  .rokr-sales-offers__submit[aria-busy="true"]::after { animation: none; }
}
