.rpb4j { container-type: inline-size; color: inherit; font: inherit; }
.rpb4j *, .rpb4j *::before, .rpb4j *::after { box-sizing: border-box; }
.rpb4j .rpbrevo-box { width: 100%; margin-inline: auto; margin-block: 0 2rem; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; font: inherit; }
.rpb4j h2 { margin-block: 0 .65rem; color: inherit; font-family: inherit; }
.rpb4j .rpbrevo-intro { margin-block-end: 1.5rem; color: inherit; font: inherit; }
.rpb4j .rpbrevo-required-note { margin-block: 0 1rem; color: inherit; font: inherit; }
.rpb4j form { display: grid; gap: 1.1rem; }
.rpb4j fieldset { min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.rpb4j legend { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.rpb4j .rpbrevo-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .95rem 1.25rem; }
.rpb4j--layout-two .rpbrevo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpb4j .rpbrevo-field { display: grid; gap: .38rem; min-width: 0; }
.rpb4j .rpbrevo-field-full { grid-column: 1 / -1; }
.rpb4j label { color: inherit; font-family: inherit; }
.rpb4j input, .rpb4j select, .rpb4j button { font: inherit; }
.rpb4j input:not([type='checkbox']), .rpb4j select { width: 100%; max-width: 100%; }
.rpb4j input:focus-visible, .rpb4j select:focus-visible, .rpb4j button:focus-visible, .rpb4j a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.rpb4j .rpbrevo-consents { display: grid; gap: .75rem; }
.rpb4j .rpbrevo-check { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .6rem; align-items: start; }
.rpb4j .rpbrevo-check input { margin-block-start: .22em; }
.rpb4j .rpbrevo-check label { font-weight: inherit; line-height: 1.45; }
.rpb4j a { text-decoration: underline; text-underline-offset: .16em; }
.rpb4j .rpbrevo-submit { justify-self: center; }
.rpb4j .rpbrevo-status:not(:empty) { margin-block-end: .5rem; }
.rpb4j .rpbrevo-status:empty { display: none; }
.rpb4j .rpbrevo-hp { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.rpb4j.rpbrevo-modal { position: fixed; inset: 0; z-index: 10000; padding: clamp(.75rem,3vw,2rem); overflow-y: auto; background: rgb(0 0 0 / 60%); }
.rpb4j.rpbrevo-modal:not([hidden]) { display: grid; place-items: center; }
.rpb4j.rpbrevo-modal .rpbrevo-box { position: relative; width: min(100%, 44rem); max-height: calc(100dvh - 2rem); overflow: auto; padding: clamp(1rem,3vw,2rem); background: Canvas; color: CanvasText; }
.rpb4j .rpbrevo-close { position: absolute; inset-block-start: .5rem; inset-inline-end: .5rem; inline-size: 2.75rem; block-size: 2.75rem; padding: 0; border: 0; background: transparent; color: inherit; font-size: 2rem; line-height: 1; cursor: pointer; }
body.rpbrevo-modal-open { overflow: hidden; }
@container (max-width: 42rem) { .rpb4j--layout-two .rpbrevo-grid { grid-template-columns: 1fr; } .rpb4j .rpbrevo-field-full { grid-column: auto; } }
@media (forced-colors: active) { .rpb4j input, .rpb4j select, .rpb4j button { border: 1px solid CanvasText; } }
@media (prefers-reduced-motion: reduce) { .rpb4j * { scroll-behavior: auto; transition: none; animation: none; } }
.rpbrevo-vm-newsletter { margin-block: 1rem; }
.rpbrevo-vm-newsletter label { display: flex; gap: .65rem; align-items: flex-start; }
