/**
 * gin_llct.css
 * Custom overrides for the LLCT Gin sub-theme.
 *
 * Fixes:
 *  1. Action buttons (local-actions) always appear at the top-right.
 *  2. Sidebar menu parent items are navigable and have an "Overview" link.
 *  3. Sidebar submenus collapse by default; expand only the active trail and
 *     on hover/click.
 */

/* -----------------------------------------------------------------------
 * 1. Action buttons – ensure they are pushed to the right in the sticky
 *    header and are always visible when the page has local actions.
 * --------------------------------------------------------------------- */

.region-sticky__items__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--gin-spacing-m, 16px);
}

/* The local-actions block wrapper inside the sticky header. */
.region-sticky__items__inner .block-local-actions-block {
  margin-inline-start: auto;
  flex-shrink: 0;
}

/* -----------------------------------------------------------------------
 * 2. Sidebar menu – "Overview" link styling.
 *    Gin already styles .toolbar-icon links; we just make sure the overview
 *    item looks consistent and stands out slightly.
 * --------------------------------------------------------------------- */

.toolbar-menu-administration .gin-llct-overview>a {
  font-style: italic;
  opacity: 0.85;
}

.toolbar-menu-administration .gin-llct-overview>a:hover {
  opacity: 1;
}

/* -----------------------------------------------------------------------
 * 3. Sidebar submenus – collapse/expand accordion behaviour.
 *
 * When Gin runs with toolbar_variant = 'new' but the Navigation module is
 * disabled, no JS registers the accordion. We add CSS defaults here and let
 * gin_llct.js wire up the click handlers.
 *
 * Default: submenus are collapsed.
 * Active trail + JS-toggled (.gin-llct-open): submenu is expanded.
 * --------------------------------------------------------------------- */

/* Hide level-1+ menus by default (overrides any "display: block" from
   Drupal core toolbar when the tray is opened in full). */
.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item>.toolbar-menu,
.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item>ul.toolbar-menu {
  display: none !important;
}

/* Show the submenu for items that are in the active trail or toggled open. */
.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item.menu-item--active-trail>.toolbar-menu,
.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item.menu-item--active-trail>ul.toolbar-menu,
.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item.gin-llct-open>.toolbar-menu,
.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item.gin-llct-open>ul.toolbar-menu {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  box-shadow: none !important;
  border-inline-start: 2px solid var(--gin-color-primary-light, #e8f0fe) !important;
  margin-inline-start: var(--gin-spacing-xl, 24px) !important;
  overflow: visible !important;
}

/* Toggle indicator arrow on parent items. */
.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item.menu-item--expanded>a::after {
  content: ' ▾';
  font-size: 0.7em;
  opacity: 0.6;
  margin-inline-start: 4px;
}

.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item.menu-item--active-trail>a::after,
.gin--new-toolbar .toolbar-menu-administration>.toolbar-menu>.menu-item.gin-llct-open>a::after {
  content: ' ▴';
  opacity: 0.8;
}

/**
 * Disable GIN's sticky local-actions bar (the frosted-glass bar holding
 * per-page action buttons like "Discover jobs", "Add content", etc).
 * position: sticky pins it in place as the page scrolls, and rows/content
 * that scroll underneath end up visually covered/cut off by it instead of
 * cleanly disappearing above the fold. GIN's own rule has no !important
 * and boosts its specificity via `:is(#extra-specificity-hack, ...)`, so
 * this needs !important to win regardless of load order.
 */
.region-sticky {
  position: static !important;
}

.sticky-shadow {
  display: none;
}

@media screen and (max-width: 960px) {
  table.gin--sticky-table-header {
    display: none !important;
  }
}
.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons {
  max-width: 100% !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick,
.ui-dialog .ui-icon.ui-icon-closethick {
  /* background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23000000' d='M3.51 13.925c.194.194.512.195.706.001l3.432-3.431c.194-.194.514-.194.708 0l3.432 3.431c.192.194.514.193.707-.001l1.405-1.417c.191-.195.189-.514-.002-.709l-3.397-3.4c-.192-.193-.192-.514-.002-.708l3.401-3.43c.189-.195.189-.515 0-.709l-1.407-1.418c-.195-.195-.513-.195-.707-.001l-3.43 3.431c-.195.194-.516.194-.708 0l-3.432-3.431c-.195-.195-.512-.194-.706.001l-1.407 1.417c-.194.195-.194.515 0 .71l3.403 3.429c.193.195.193.514-.001.708l-3.4 3.399c-.194.195-.195.516-.001.709l1.406 1.419z'/%3E%3C/svg%3E") center center no-repeat !important; */
  background-size: 16px 16px !important;
}
/* Quản lý chuyên mục, kênh: tách tab khỏi nội dung (xóa, translate, phân quyền). */
.llct-entity-manage-page #block-gin-llct-local-tasks {
  margin-bottom: 1.5rem !important;
}

/* Nút Lưu / Xóa / Hủy cùng kích thước. */
body.llct-entity-manage-page form :is(input, button)[data-drupal-selector^="edit-submit"],
body.llct-entity-manage-page form :is(a, input, button)[data-drupal-selector^="edit-delete"],
body.llct-entity-manage-page form a[data-drupal-selector^="edit-cancel"] {
  min-width: 80px;
  height: 36px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  border-radius: 4px !important;
  text-decoration: none !important;
}

/* Nút chính (Lưu ở form sửa, Xóa ở form xóa): đỏ đặc. */
body.llct-entity-manage-page form :is(input, button)[data-drupal-selector^="edit-submit"] {
  background: #d5082f !important;
  border: 1px solid #d5082f !important;
  box-shadow: none !important;
  color: #fff !important;
}

body.llct-entity-manage-page form :is(input, button)[data-drupal-selector^="edit-submit"]:is(:hover, :focus) {
  background: #b00627 !important;
  border-color: #b00627 !important;
  color: #fff !important;
}

/* Link Xóa ở form sửa: nút phụ, viền nhạt. */
body.llct-entity-manage-page form :is(a, input, button)[data-drupal-selector^="edit-delete"] {
  background: #f8f9fb !important;
  border: 1px solid #f0b8c3 !important;
  box-shadow: none !important;
  color: #d5082f !important;
}

body.llct-entity-manage-page form :is(a, input, button)[data-drupal-selector^="edit-delete"]:is(:hover, :focus) {
  background: #fff4f6 !important;
  border-color: #d5082f !important;
  color: #d5082f !important;
}

/* Nút hủy / trở về: viền xám. */
body.llct-entity-manage-page form a[data-drupal-selector^="edit-cancel"] {
  background: #fff !important;
  border: 1px solid #d1d5db !important;
  box-shadow: none !important;
  color: #374151 !important;
}

body.llct-entity-manage-page form a[data-drupal-selector^="edit-cancel"]:is(:hover, :focus) {
  background: #f3f4f6 !important;
  color: #111827 !important;
}


.entity-browser-modal,
.entity-select-dialog,
.relation-select-dialog {
  display: flex !important;
  flex-direction: column;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  max-width: none !important;
  width: 100vw !important;
  height: 100vh !important;
}

.entity-browser-modal .ui-dialog-content,
.entity-select-dialog .ui-dialog-content,
.relation-select-dialog .ui-dialog-content {
  flex-grow: 1;
  height: auto !important;
  max-height: none !important;
  display: flex;
  flex-direction: column;
}

.entity-browser-modal .ui-dialog-content iframe,
.entity-select-dialog .ui-dialog-content iframe,
.relation-select-dialog .ui-dialog-content iframe {
  flex-grow: 1;
  height: 100% !important;
  width: 100%;
  border: none;
}

.entity-select-dialog .ui-dialog-content form,
.entity-select-dialog .ui-dialog-content #entity-embed-dialog-form,
.entity-select-dialog .entity-browser-iframe-container,
.relation-select-dialog .ui-dialog-content form,
.relation-select-dialog .ui-dialog-content #editor-relation-dialog-form,
.relation-select-dialog .entity-browser-iframe-container {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: 100%;
}

.relation-select-dialog .entity-browser-iframe-container {
  width: 100% !important;
}

.ck .drupal-entity [data-drupal-entity-preview] audio,
.ck .drupal-entity [data-drupal-entity-preview] video {
  pointer-events: auto;
}

@supports (height: 100dvh) {
  .ui-dialog.entity-browser-modal,
  .ui-dialog.entity-select-dialog,
  .ui-dialog.relation-select-dialog {
    height: 100dvh !important;
  }
}

.entity-browser-form [id^="edit-actions"]:has(.is-entity-browser-submit) {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  margin: 0;
  display: flex;
  justify-content: flex-end;
  background-color: #EEEEEE;
}

html:has(form[id^="entity-browser-poll-browser-form"]) {
  overflow-x: hidden !important;
}

body:has(form[id^="entity-browser-poll-browser-form"]) {
  padding-left: 10px;
  padding-right: 10px;
}

.konvas-pick-actions {
  position: sticky;
  bottom: 0;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  padding: 10px 0;
  background-color: #EEEEEE;
}

.konvas-pick-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.konvas-pick-filter [data-konvas-pick-filter] {
  flex: 2 1 240px;
}

.konvas-pick-filter input[type="date"] {
  flex: 1 1 140px;
}

.konvas-pick-filter__actions {
  flex: 0 0 100%;
  display: flex;
  justify-content: center;
}

.konvas-pick-filter__actions .button {
  margin: 0;
}

.konvas-pick-list tr.konvas-pick-empty td {
  padding: 24px 12px;
  text-align: center;
  color: #6B7280;
}

.konvas-pick-list input[type="radio"][name="konvas_pick"] {
  accent-color: #C8001E;
}

.ui-dialog:has(.llct-tts-dialog) .ui-dialog-buttonset .button:first-child {
  background-color: #C8001E;
  border: 0 !important;
}

.ui-dialog:has(.llct-tts-dialog) .ui-dialog-buttonset .button:last-child {
  background-color: #C8001E;
  border: 0 !important;
}

.form-item--attributes-data-align input.form-radio:checked {
  box-shadow: inset 0 0 0 5px #c8001e !important;
  border-color: #c8001e !important;
}

.entity-browser-form:has(.is-entity-browser-submit) {
  padding-bottom: 70px;
}
