/* Shared product-request dialog; catalog and product layouts retain their owners. */
html.r5-product-request-open { overflow: hidden; scrollbar-gutter: stable; }
.r5-product-request[hidden], .r5-product-request [hidden] { display: none !important; }
dialog.r5-product-request { width: min(580px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 56px 60px 48px; overflow-y: auto; overscroll-behavior: contain; border: 0; color: #333; background: #fff; box-shadow: 0 8px 40px rgb(0 0 0 / 20%); font: 400 14px/22px Montserrat, Arial, sans-serif; }
.r5-product-request::backdrop { background: rgb(0 0 0 / 57%); }
.r5-product-request :focus-visible { outline: 2px solid #a84500; outline-offset: 3px; }
.r5-product-request__close { position: absolute; top: 5px; right: 8px; display: grid; width: 44px; height: 44px; margin: 0; padding: 0; place-items: center; border: 0; color: #767676; background: transparent; font-size: 28px; font-weight: 400; line-height: 1; cursor: pointer; }
.r5-product-request__title { margin: 0 0 36px; color: #333; font-size: 24px; font-weight: 400; line-height: 31px; letter-spacing: 0; }
.r5-product-request__field { display: block; min-width: 0; margin: 0 0 26px; color: #767676; font-size: 13px; line-height: 20px; }
.r5-product-request__field > :is(input, textarea, select) { display: block; width: 100%; margin-top: 6px; padding: 10px 14px; border: 1px solid #e7e7e7; border-radius: 3px; color: #333; background: #f7f7f7; font: inherit; }
.r5-product-request__field > :is(input, select) { height: 48px; min-height: 48px; }
dialog.r5-product-request .r5-product-request__field input:not([type="checkbox"]):not([type="radio"]) { min-height: 48px; padding: 10px 14px; }
.r5-product-request__field textarea { min-height: 190px; resize: vertical; }
.r5-product-request__field :is(input, textarea):focus { border-color: #19118c; }
.r5-product-request__field :is(abbr, .required) { color: #b32020; text-decoration: none; }
.r5-product-request__field > span[aria-hidden="true"] { color: #b32020; }
.r5-product-request__field input[readonly] { background: #fff; }
.r5-product-request__field :is([aria-invalid="true"], :user-invalid) { border-color: #b32020; }
.r5-product-request__consent { display: flex; align-items: flex-start; gap: 16px; margin: 26px 0 0; color: #767676; font-size: 13px; line-height: 21px; }
.r5-product-request__consent input { flex: 0 0 34px; width: 34px; height: 20px; margin: 1px 0 0; appearance: none; border: 1px solid #bbb; border-radius: 12px; background: #ddd; cursor: pointer; }
.r5-product-request__consent input::after { display: block; width: 14px; height: 14px; margin: 2px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 18%); content: ''; }
.r5-product-request__consent input:checked { border-color: #19118c; background: #19118c; }
.r5-product-request__consent input:checked::after { transform: translateX(14px); }
.r5-product-request__consent a { color: #19118c; }
.r5-product-request__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 32px; }
.r5-product-request__actions :is(button, a) { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 24px; border: 1px solid #19118c; border-radius: 3px; color: #fff; background: #19118c; font: 600 12px/20px Montserrat, Arial, sans-serif; text-align: center; text-decoration: none; text-transform: uppercase; }
.r5-product-request__actions button:disabled { opacity: .55; cursor: not-allowed; }
.r5-product-request__notice, .r5-product-request__status { margin: 16px 0 0; color: #767676; font-size: 12px; line-height: 20px; overflow-wrap: anywhere; }
.r5-product-request__status[role="alert"] { color: #a32323; }
@media (max-width: 767px) {
	dialog.r5-product-request { width: 100%; max-width: none; max-height: 100dvh; margin: auto; padding: 56px 30px 40px; border-radius: 0; }
	.r5-product-request__actions { align-items: stretch; flex-direction: column; gap: 12px; }
	.r5-product-request__actions :is(button, a) { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.r5-product-request * { scroll-behavior: auto; }
}
