body:not(.rep-portal-page) .rep-product-card a.rep-product-card__action.rep-stock-notify,
body:not(.rep-portal-page) .rep-product-card a.rep-product-card__action.rep-stock-notify:visited,
.rep-single-product .rep-stock-notification > summary,
.rep-single-product .rep-stock-notification button[type="submit"] { background: #10a342; border: 0; border-radius: 6px; color: #fff; cursor: pointer; }
.rep-single-product .rep-stock-notification > summary,
.rep-single-product .rep-stock-notification button[type="submit"] { font-size: 16px; font-weight: 600; line-height: 20px; padding: 8px 16px; text-align: center; }
body:not(.rep-portal-page) .rep-product-card a.rep-product-card__action.rep-stock-notify:hover,
.rep-single-product .rep-stock-notification > summary:hover,
.rep-single-product .rep-stock-notification button[type="submit"]:hover { background: #0b8434; color: #fff; }
.rep-stock-notification { margin: 12px 0; }
.rep-stock-notification > summary { list-style: none; }
.rep-stock-notification > summary::-webkit-details-marker { display: none; }
.rep-stock-notification form { border: 1px solid #d8e1ec; border-radius: 6px; margin-top: 10px; padding: 14px; }
.rep-stock-notification form p,.rep-stock-notification label { font-size: 13px; line-height: 1.5; }
.rep-stock-notification input[type="email"] { box-sizing: border-box; width: 100%; min-height: 38px; border: 1px solid #ccd9eb; border-radius: 6px; padding: 8px 10px; margin: 6px 0 12px; font: inherit; }
.rep-stock-notification .rep-stock-consent { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 12px; }
.rep-stock-consent input { flex: 0 0 auto; margin-top: 3px; }
.rep-stock-notification .rep-stock-trap { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.rep-stock-notification :is(summary,button,input):focus-visible { outline: 2px solid #075ff7; outline-offset: 3px; }
/* Explicit dimensions override the product buy-box's generic button minimums. */
body .rep-stock-notification form[data-stock-notification-form] button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: auto; min-width: 0; height: 36px !important; min-height: 36px !important; padding: 8px 16px !important; font-size: 13px !important; line-height: 20px !important; font-weight: 600; background: #10a342; border: 0; border-radius: 6px; color: #fff; }
body .rep-stock-notification form[data-stock-notification-form] button[type="submit"]:hover { background: #0b8434; }
body .rep-stock-notification > summary { box-sizing: border-box; height: 36px; min-height: 36px; }
html.rep-stock-modal-open { overflow: hidden; }
dialog.rep-stock-dialog { box-sizing: border-box; width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 22px; background: #fff; color: #001f3f; border: 1px solid #d8e1ec; border-radius: 10px; box-shadow: 0 12px 45px #001f3f30; }
dialog.rep-stock-dialog::backdrop { background: #001f3f66; }
dialog.rep-stock-dialog h2 { font-size: 18px; margin: 0 36px 8px 0; }
dialog.rep-stock-dialog #rep-stock-dialog-product { font-size: 13px; margin: 0 24px 12px 0; }
dialog.rep-stock-dialog form { padding: 0; border: 0; margin: 0; }
dialog.rep-stock-dialog .rep-stock-dialog__close { position: absolute; right: 10px; top: 10px; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; box-shadow: none; color: #526681; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; font-size: 24px; line-height: 1; }
