/* Scoped to content, never the whole document. Editor/form controls remain native. */
.oscp-selection :where(main, .entry-content, .site-header, .site-footer, .elementor-location-header, .elementor-location-footer, .sheet, .floating-dock, .legal-bar, [data-oscp-protect]) ,
.oscp-selection :where(main, .entry-content, .site-header, .site-footer, .elementor-location-header, .elementor-location-footer, .sheet, .floating-dock, .legal-bar, [data-oscp-protect]) * {
 -webkit-user-select: none !important;
 user-select: none !important;
}
.oscp-images :where(img, picture, svg[role="img"]) {
 -webkit-user-drag: none !important;
 -webkit-user-select: none !important;
 user-select: none !important;
}
.oscp-mobile :where(main, .entry-content, .site-header, .site-footer, .elementor-location-header, .elementor-location-footer, .sheet, .floating-dock, .legal-bar, [data-oscp-protect]),
.oscp-mobile :where(main, .entry-content, .site-header, .site-footer, .elementor-location-header, .elementor-location-footer, .sheet, .floating-dock, .legal-bar, [data-oscp-protect]) * {
 -webkit-touch-callout: none !important;
}
:is(.oscp-selection,.oscp-mobile,.oscp-images) :where(main, .entry-content, .site-header, .site-footer, .elementor-location-header, .elementor-location-footer, .sheet, .floating-dock, .legal-bar, [data-oscp-protect]) :is(input, textarea, select, option, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-oscp-allow], [data-oscp-allow] *) {
 -webkit-user-select: text !important;
 user-select: text !important;
 -webkit-touch-callout: default !important;
 -webkit-user-drag: auto !important;
}
.oscp-mobile.oscp-images :where(img, picture, svg[role="img"]) { -webkit-touch-callout: none !important; }
#oscp-toast {
 position: fixed; z-index: 2147483647; left: 16px;
 bottom: calc(max(16px, env(safe-area-inset-bottom)) + var(--legal-height, 54px));
 width: min(350px, calc(100vw - 32px)); box-sizing: border-box;
 padding: 14px 16px; border: 1px solid #dce4f8; border-radius: 16px;
 background: #fff; color: #14213f; box-shadow: 0 8px 30px #10234024;
 font: 14px/1.4 system-ui, sans-serif; pointer-events: none;
}
#oscp-toast strong, #oscp-toast small { display: block; }
#oscp-toast strong { font-size: 14px; font-weight: 600; }
#oscp-toast small { margin-top: 5px; font-size: 11px; color: #63718b; }
#oscp-toast[hidden] { display: none; }
@media(max-width:480px) { #oscp-toast { width: min(290px, calc(100vw - 88px)); font-size: 12px; } }

:is(.oscp-selection,.oscp-mobile,.oscp-images) :is([data-oscp-allow], [data-oscp-allow] *, [contenteditable]:not([contenteditable="false"]) *) { -webkit-user-select:text !important; user-select:text !important; -webkit-touch-callout:default !important; -webkit-user-drag:auto !important; }
