.prime-product-modal {
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  width: min(1152px, calc(100% - 48px));
  max-width: none;
  max-height: calc(100dvh - 128px);
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: #0a0d11;
  overscroll-behavior: contain;
}
.prime-product-modal[open] { animation: prime-modal-in .22s ease-out both; }
.prime-product-modal::backdrop { background: rgba(0,0,0,.5); backdrop-filter: blur(16px); }
.prime-product-modal.is-closing { animation: prime-modal-out .18s ease-in both; }
.prime-product-modal__close-bar { position: sticky; top: 0; z-index: 2; display: flex; justify-content: flex-end; padding: 32px 32px 0; pointer-events: none; }
.prime-product-modal__close { pointer-events: auto; cursor: pointer; font: 32px/1 sans-serif; width: 48px; height: 48px; display: grid; place-items: center; background: #fff; border: 1px solid #e5e7eb; border-radius: 6px; }
.prime-product-modal__close:hover { background: #f3f4f6; }
.prime-product-modal__close:focus-visible { outline: 2px solid #168c87; outline-offset: 3px; }
.prime-product-modal__content .c-section { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: 0 64px 64px; }
[data-prime-modals-ready] [data-click-id="card"]:focus-visible { outline: 2px solid #168c87; outline-offset: 4px; }
@keyframes prime-modal-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes prime-modal-out { to { opacity: 0; transform: translateY(16px); } }
@media (max-width: 767px) {
  .prime-product-modal { width: calc(100% - 16px); max-height: calc(100dvh - 32px); }
  .prime-product-modal__close-bar { padding: 16px 16px 0; }
  .prime-product-modal__content .c-section { padding: 8px 24px 40px; }
}
@media (prefers-reduced-motion: reduce) { .prime-product-modal[open], .prime-product-modal.is-closing { animation: none; } }
