/* Overlay on sold-out shop loop cards. Covers exactly the 4:5 media box of .pcsl-card */
.pcsl-card.pcim-out { position: relative; }
.pcim-out .pcsl-card-media img { opacity: 0.6; }
.pcim-ov { position: absolute; top: 0; left: 0; right: 0; aspect-ratio: 4 / 5; z-index: 3; display: flex; align-items: flex-end; justify-content: center; padding: 12px; pointer-events: none; background: linear-gradient(to top, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0) 45%); }
.pcim-ov__btn { pointer-events: auto; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border: 1.5px solid var(--bde-brand-primary-color, #cc1517); border-radius: 999px; background: #fff; color: var(--bde-brand-primary-color, #cc1517); font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1; cursor: pointer; box-shadow: 0 6px 18px -8px rgba(20, 20, 30, 0.35); transition: background 0.15s, color 0.15s; }
.pcim-ov__btn:hover, .pcim-ov__btn:focus-visible { background: var(--bde-brand-primary-color, #cc1517); color: #fff; }

/* Popup */
/* Centre explicitly: the site's normalize resets the browser's dialog margin */
.pcim-dlg { position: fixed; inset: 0; margin: auto; height: fit-content; max-height: calc(100vh - 32px); overflow: auto; width: min(420px, calc(100vw - 32px)); max-width: none; padding: 24px; border: 0; border-radius: 18px; background: #fff; color: #1a1a1f; font-family: inherit; box-shadow: 0 30px 60px -20px rgba(20, 20, 30, 0.45); }
.pcim-dlg::backdrop { background: rgba(20, 20, 30, 0.55); }
.pcim-dlg__close { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; background: none; font-size: 26px; line-height: 1; color: #6b6b75; cursor: pointer; }
.pcim-dlg__title { margin: 0 32px 6px 0; font-size: 18px; font-weight: 700; }
.pcim-dlg__name { margin: 0 0 16px; color: #555; font-size: 14px; }
.pcim-dlg__form { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.pcim-dlg__form[hidden], .pcim-dlg [hidden] { display: none !important; }
.pcim-dlg__variant { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
.pcim-dlg select, .pcim-dlg input[type="email"] { width: 100%; height: 46px; padding: 0 12px; border: 1px solid #d6d6dc; border-radius: 10px; background: #fff; font: inherit; font-size: 15px; color: inherit; box-sizing: border-box; }
.pcim-dlg input[type="email"]:focus, .pcim-dlg select:focus { outline: 2px solid var(--bde-brand-primary-color, #cc1517); outline-offset: 1px; }
.pcim-dlg__submit { height: 48px; border: 0; border-radius: 12px; background: var(--bde-brand-primary-color, #cc1517); color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.pcim-dlg__submit:disabled { opacity: 0.6; cursor: wait; }
.pcim-dlg__note { margin: 2px 0 0; font-size: 12px; color: #6b6b75; }
.pcim-dlg__note a { color: inherit; }
.pcim-dlg__msg { margin: 0 0 12px; padding: 10px 12px; border-left: 4px solid #2e7d32; background: #f1f8f1; font-size: 14px; }
.pcim-dlg__msg.is-error { border-left-color: #cc1517; background: #fdf1f1; }
.pcim-dlg__label, .pcim-dlg__hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
