/* Public Blok views and host integration. Editor internals use its own styles. */
.eidoc-blok-view, [data-blok-interface="view"] { color:inherit; font:inherit; line-height:1.65; overflow-wrap:anywhere; }
[data-blok-interface="view"] p { margin:.5em 0; }
[data-blok-interface="view"] h1 { font-size:2em; font-weight:700; }
[data-blok-interface="view"] h2 { font-size:1.6em; font-weight:700; }
[data-blok-interface="view"] h3 { font-size:1.3em; font-weight:700; }
[data-blok-interface="view"] h4, [data-blok-interface="view"] h5, [data-blok-interface="view"] h6 { font-weight:700; }
[data-blok-interface="view"] ul { list-style:disc; padding-inline-start:1.5em; }
[data-blok-interface="view"] ol { list-style:decimal; padding-inline-start:1.5em; }
[data-blok-interface="view"] [data-list-style="checklist"] { list-style:none; }
[data-blok-interface="view"] input[type="checkbox"] { margin-inline-end:.5em; }
[data-blok-interface="view"] a { text-decoration:underline; }
[data-blok-interface="view"] blockquote { border-inline-start:3px solid currentColor; padding-inline-start:1em; margin:1em 0; }
[data-blok-interface="view"] cite, [data-blok-interface="view"] figcaption { display:block; opacity:.7; font-size:.9em; }
[data-blok-interface="view"] pre { white-space:pre-wrap; padding:1em; border-radius:.75em; background:color-mix(in srgb,currentColor 6%,transparent); }
[data-blok-interface="view"] img, [data-blok-interface="view"] video { max-width:100%; height:auto; border-radius:.5em; }
[data-blok-interface="view"] audio { width:100%; }
[data-blok-interface="view"] iframe { width:100%; min-height:320px; border:0; }
[data-blok-interface="view"] aside { display:flex; gap:.75em; padding:1em; background:color-mix(in srgb,currentColor 6%,transparent); border-radius:.75em; }
[data-blok-interface="view"] details { margin:.5em 0; }
[data-blok-interface="view"] summary { cursor:pointer; }
.eidoc-blok-columns { display:flex; gap:1.5em; align-items:flex-start; }
.eidoc-blok-column { flex:1; min-width:0; }
.eidoc-blok-table { overflow-x:auto; margin:.75em 0; }
.eidoc-blok-table table { border-collapse:collapse; width:100%; }
.eidoc-blok-table td, .eidoc-blok-table th { border:1px solid color-mix(in srgb,currentColor 20%,transparent); padding:.5em .75em; vertical-align:top; }
.eidoc-blok-table th { font-weight:700; }
.eidoc-blok-spacer { min-height:24px; }
.eidoc-image-background { padding:1em; background:color-mix(in srgb,currentColor 6%,transparent); }
.eidoc-legacy-marker, mark.cdx-marker { background:#fff3a3; color:#171717; }
.eidoc-blok-html-source { width:100%; min-height:120px; padding:.75em; font-family:monospace; }
.eidoc-blok-error, .eidoc-blok-unsupported { padding:.75em; border:1px dashed currentColor; }
.blok-holder [data-blok-editor] { width:100%; }
[data-blok-interface] { --blok-content-max-width:100%; }
@media(max-width:640px) { .eidoc-blok-columns { flex-direction:column; gap:.75em; } .eidoc-blok-column { width:100%; } }
@media print { [data-blok-interface="view"] details > * { display:block; } }

/* Text blocks do not need an extra focus frame around the active line. */
[data-blok-editor] [contenteditable="true"]:focus,
[data-blok-editor] [contenteditable="true"]:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Apply the same focus treatment to editor controls and floating menus. */
:is([data-blok-editor], [data-blok-popover], [data-blok-interface]:not([data-blok-interface="view"]))
:is(input, textarea, select, button, [tabindex], [contenteditable="true"]):is(:focus, :focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
:is([data-blok-editor], [data-blok-popover])
:is(input, textarea, select):focus {
  border-color: #cbd2dc !important;
}
[data-blok-testid="popover-search-field"]:focus-within {
  border-color: #cbd2dc !important;
  outline: none !important;
  box-shadow: none !important;
}
[data-theme="dark"] :is([data-blok-editor], [data-blok-popover])
:is(input, textarea, select):focus,
[data-theme="dark"] [data-blok-testid="popover-search-field"]:focus-within {
  border-color: #596575 !important;
}

/* Reserve room for shortcut glyphs; long translated actions may wrap. */
[data-blok-popover] [data-blok-popover-item]:has([data-blok-popover-item-secondary-title]) {
  max-height: none;
  min-height: 36px;
}
[data-blok-popover] [data-blok-popover-item]:has([data-blok-popover-item-secondary-title])
[data-blok-popover-item-title] {
  min-width: 0;
  flex: 1 1 auto;
  white-space: normal;
  overflow-wrap: anywhere;
}
[data-blok-popover] [data-blok-popover-item-secondary-title] {
  flex: 0 0 auto;
  padding-left: 8px;
}

/* Insertion-menu categories remain above the scrolling tool list. */
.eidoc-toolbox-categories { display:flex; flex-wrap:wrap; gap:4px; padding:6px 8px; border-bottom:1px solid #e5e7eb; flex-shrink:0; }
.eidoc-toolbox-categories button { border:0; border-radius:5px; padding:5px 7px; font:inherit; font-size:11px; background:transparent; color:#64748b; cursor:pointer; }
.eidoc-toolbox-categories button:hover, .eidoc-toolbox-categories button[aria-current=true] { background:#eef2f6; color:#334155; }
.eidoc-toolbox-more { display:block; flex-shrink:0; width:100%; border:0; border-top:1px solid #e5e7eb; background:#fff; color:#64748b; padding:7px; font:inherit; font-size:12px; cursor:pointer; box-shadow:0 -8px 12px rgba(255,255,255,.95); z-index:1; }
.eidoc-toolbox-categories[hidden], .eidoc-toolbox-categories button[hidden], .eidoc-toolbox-more[hidden] { display:none; }
[data-theme=dark] .eidoc-toolbox-categories { border-color:#374151; }
[data-theme=dark] .eidoc-toolbox-categories button { color:#cbd5e1; }
[data-theme=dark] .eidoc-toolbox-categories button:hover, [data-theme=dark] .eidoc-toolbox-categories button[aria-current=true] { background:#374151; color:#f1f5f9; }
[data-theme=dark] .eidoc-toolbox-more { border-color:#374151; background:#1f2937; color:#cbd5e1; box-shadow:0 -8px 12px rgba(31,41,55,.95); }
.eidoc-toolbox-container > [data-blok-popover-items] { min-height:0; flex:1 1 auto; overflow-y:auto; }
/* Keep scroll gestures inside the insertion menu, including at either edge. */
.eidoc-toolbox-container, .eidoc-toolbox-container > [data-blok-popover-items] { overscroll-behavior:contain; }
/* Reserve the footer height so reaching the end cannot resize the viewport. */
.eidoc-toolbox-container .eidoc-toolbox-more[hidden] { display:block; visibility:hidden; pointer-events:none; }
@media (min-width:650px) {
  .eidoc-toolbox-container { --width:360px; width:360px; min-width:360px; max-width:calc(100vw - 24px); }
  .eidoc-toolbox-categories { flex-wrap:nowrap; }
  .eidoc-toolbox-categories button { white-space:nowrap; }
}

/* Composer controls below the editing surface. */
.eidoc-post-composer__editor-footer { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:10px 0; }
.eidoc-post-composer__editor-footer .eidoc-post-composer__add-block,
#create-post-modal .eidoc-post-composer__editor-footer .eidoc-post-composer__add-block,
#edit-post-modal .eidoc-post-composer__editor-footer .eidoc-post-composer__add-block { position:static; width:auto; min-height:28px; margin:0; padding:4px 0; border:0; background:transparent; font-size:12px; }
.eidoc-post-composer__shortcuts { display:flex; flex-wrap:wrap; gap:6px 12px; color:#8a95a8; font-size:11px; }
.eidoc-post-composer__shortcuts span { white-space:nowrap; }
.eidoc-post-composer__shortcuts kbd { font:inherit; border:1px solid #dce1e9; border-radius:3px; padding:1px 3px; }
#create-post-modal .eidoc-post-composer__editor-footer .eidoc-post-composer__body-counter,
#edit-post-modal .eidoc-post-composer__editor-footer .eidoc-post-composer__body-counter { position:static; margin-left:auto; font-size:11px; }
.eidoc-post-composer__destination-cover { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.8fr); gap:12px; align-items:start; }
.eidoc-post-composer__cover-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.eidoc-post-composer__cover-image { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:8px; margin-bottom:10px; }
.eidoc-post-composer__cover-help { color:#64748b; padding:4px; }
.eidoc-post-composer__cover-tooltip { position:absolute; right:0; top:100%; width:260px; max-width:75vw; padding:12px; border-radius:8px; background:var(--fallback-b1,#fff); color:var(--fallback-bc,#334155); box-shadow:0 4px 20px #0002; border:1px solid #dce1e9; font-size:12px; line-height:1.5; z-index:50; }
@media(max-width:767px) { .eidoc-post-composer__destination-cover { grid-template-columns:1fr; } }
.eidoc-post-composer__cover { padding:14px; }
/* Cover spans the destination, tags and theme rows without sizing those rows. */
.eidoc-post-composer__destination-cover { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto auto; align-items:stretch; }
.eidoc-post-composer__destination-cover > .eidoc-post-composer__publish-location { grid-column:1; grid-row:1; position:relative; }
.eidoc-post-composer__destination-cover > .eidoc-post-composer__publish-tags { grid-column:1; grid-row:2; }
.eidoc-post-composer__destination-cover > .eidoc-post-composer__publish-theme { grid-column:1; grid-row:3; }
.eidoc-post-composer__destination-cover > .eidoc-post-composer__cover { grid-column:2; grid-row:1 / 4; contain:size; display:flex; flex-direction:column; min-height:0; gap:8px; }
.eidoc-post-composer__cover-frame { position:relative; flex:1 1 0; min-height:0; border-radius:8px; overflow:hidden; background:rgba(148,163,184,.08); }
.eidoc-post-composer__cover-frame .eidoc-post-composer__cover-image { position:absolute; inset:0; height:100%; margin:0; aspect-ratio:auto; object-fit:contain; }
.eidoc-post-composer__cover-empty { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#94a3b8; font-size:12px; }
.eidoc-post-composer__cover-empty i { font-size:24px; }
#create-post-modal .eidoc-post-composer__publish-location .eidoc-post-composer__publish-help { position:absolute; top:12px; right:12px; margin:0; }
#create-post-modal .eidoc-post-composer__publish-location .eidoc-post-composer__publish-help button { padding:4px; }
#create-post-modal .eidoc-post-composer__publish-location .eidoc-post-composer__publish-help-popover { left:auto; right:0; }
@media(max-width:767px) {
 .eidoc-post-composer__destination-cover { grid-template-columns:minmax(0,1fr); }
 .eidoc-post-composer__destination-cover > .eidoc-post-composer__cover { grid-column:1; grid-row:4; contain:none; height:300px; }
}
#create-post-modal .eidoc-post-composer__publish-help .eidoc-post-composer__cover-help { padding:4px; font-size:inherit; color:#64748b; }
.create-post-community-dropdown, .eidoc-post-composer__theme-menu { box-sizing:border-box; min-width:0; overflow-x:hidden; }
.eidoc-post-composer__publish-location .create-post-community-dropdown { width:var(--eidoc-publish-menu-width,100%) !important; min-width:0 !important; max-width:var(--eidoc-publish-menu-width,100%) !important; }
.eidoc-post-composer__cover-help,
#create-post-modal .eidoc-post-composer__publish-help .eidoc-post-composer__cover-help { border:0; background:transparent; padding:4px; font-size:14px; line-height:1.35; color:#64748b; }
.eidoc-post-composer__cover-help:hover,
#create-post-modal .eidoc-post-composer__publish-help .eidoc-post-composer__cover-help:hover { color:#334155; }
/* Post composer reserves a left gutter for block controls at every viewport size. */
#create-post-modal .eidoc-blok-editor-host {padding-inline-start:68px;padding-inline-end:4px;box-sizing:border-box}
#create-post-modal [data-blok-toolbar-actions] {right:100%!important;left:auto!important;display:flex;align-items:center;gap:2px;padding-right:6px}
#create-post-modal [data-blok-toolbar-actions]>:is(button,[role=button],div:has(>svg)) {display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:32px!important;min-width:30px!important;min-height:32px!important;padding:0!important;line-height:1!important;box-sizing:border-box}
#create-post-modal [data-blok-toolbar-actions] svg {display:block;width:20px!important;height:20px!important;flex-shrink:0;margin:0!important}

/* Blok lifts its mobile toolbar above the text by one control height.
   Our composer reserves a left gutter, so keep it alongside the first line. */
@media (max-width:649px) {
  #create-post-modal [data-blok-toolbar-actions] {translate:0 35px}
}
