/* Shared geometry only. Appearance belongs to each style's bbcodecontext_style.css. */
.bbcm-panel { box-sizing: border-box; position: fixed; z-index: 100000; padding: 5px; max-width: calc(100vw - 16px); max-height: calc(100vh - 16px); overflow: auto; overscroll-behavior: contain; font-family: var(--bbcm-font, inherit); text-align: start; }
.bbcm-columns { display: grid; grid-template-columns: repeat(var(--bbcm-columns), minmax(130px, 1fr)); }
.bbcm-sized .bbcm-columns { grid-template-columns: repeat(var(--bbcm-columns), minmax(0, 1fr)); }
.bbcm-sized .bbcm-item { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.bbcm-column { min-width: 0; padding: 2px 4px; }
.bbcm-column + .bbcm-column { border-inline-start: 1px solid var(--bbcm-line, currentColor); }
.bbcm-item { box-sizing: border-box; display: flex; gap: 8px; align-items: center; position: relative; width: 100%; min-width: 130px; margin: 0; padding: 7px 28px 7px 10px; border: 0; box-shadow: none; color: inherit; background: transparent; font: inherit; text-align: start; text-transform: none; text-decoration: none; cursor: pointer; white-space: nowrap; }
.bbcm-item:disabled { opacity: .38; cursor: default; background: transparent; }
.bbcm-has-submenu::after { content: "›"; position: absolute; inset-inline-end: 9px; font-size: 17px; }
.bbcm-heading { padding: 8px 10px; font-size: .85em; font-weight: 600; overflow-wrap: anywhere; }
.bbcm-hint { padding: 7px 10px 2px; font-size: .8em; border-top: 1px solid var(--bbcm-line, currentColor); margin-top: 4px; }
.bbcm-swatch { width: 12px; height: 12px; border: 1px solid #8888; border-radius: 3px; flex-shrink: 0; }
#bbcm-form { margin: 0; }
#bbcm-form input[type="text"], #bbcm-form textarea { box-sizing: border-box; max-width: 100%; }
#bbcm-form [data-bbcm-error][hidden] { display: none; }
@media (max-width: 600px) {
    .bbcm-columns { grid-template-columns: repeat(min(var(--bbcm-columns), 2), minmax(120px, 1fr)); }
    .bbcm-sized .bbcm-columns { grid-template-columns: repeat(min(var(--bbcm-columns), 2), minmax(0, 1fr)); }
    .bbcm-column { border-inline-start: 0; }
    .bbcm-item { min-width: 120px; }
}
