/* Target the media itself, never captions, editor previews, or the entire block. */
:is(#project-overlay .po-block, #mobile-portfolio-root .mp-block)[data-media-border] > :is(img, video, iframe, .po-empty-image, .po-ba-container, .mp-ba-stage),
:is(#project-overlay .po-block, #mobile-portfolio-root .mp-block)[data-media-border] > :is(.po-gallery-item, .mp-gallery-item, .po-twocol-image, .mp-two-column-image, .po-embed-frame, project-video) > :is(img, video, iframe) {
    box-sizing: border-box;
    border: var(--media-border-width) solid var(--media-border-color);
}
.pm-media-border { min-width: 0; margin: 12px 0; padding: 0; border: 0; font: inherit; color: inherit; }
.pm-media-border label { margin: 0; font-size: 0.78rem; text-transform: none; letter-spacing: 0; }
.pm-border-toggle { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.pm-media-border .pm-border-enabled { width: 16px; height: 16px; margin: 0; accent-color: #20201e; }
.pm-border-options { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 8px; }
.pm-border-colour, .pm-border-thickness { display: flex; align-items: center; gap: 7px; min-width: 0; }
.pm-media-border input:not([type="checkbox"]) { height: 34px; margin: 0; padding: 6px 8px; border: 1px solid #acacac; border-radius: 5px; background: transparent; color: inherit; font: inherit; font-size: 0.78rem; box-sizing: border-box; }
.pm-media-border input[type="color"] { flex: 0 0 36px; width: 36px; padding: 3px; cursor: pointer; }
.pm-media-border .pm-border-hex { width: 104px; font-family: ui-monospace, monospace; }
.pm-media-border input[type="number"] { width: 70px; }
.pm-media-border input:disabled { opacity: 0.45; cursor: default; }
