/** Gedenana sidebar, mobile-menu, and header-image options. */

/* The desktop and mobile menus are separate so each can have its own assignment. */
.gedenana-primary-nav { display: none !important; }
.gedenana-mobile-nav {
  position: fixed;
  z-index: 1002;
  top: var(--gedenana-admin-offset, 0px);
  bottom: auto;
  width: min(var(--mobile-menu-width, 360px), calc(100% - 10px));
  height: calc(100vh - var(--gedenana-admin-offset, 0px));
  height: calc(100dvh - var(--gedenana-admin-offset, 0px));
  margin: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  background: var(--mobile-menu-drawer-bg, #071b31);
  color: var(--mobile-menu-drawer-text, #fff);
  box-shadow: 0 0 35px rgba(0,0,0,.3);
  visibility: hidden;
  transition: transform .28s ease, visibility 0s linear .28s;
  --nav-bg: var(--mobile-menu-drawer-bg, #071b31);
  --nav-text: var(--mobile-menu-drawer-text, #fff);
  --nav-hover: var(--mobile-menu-drawer-accent, #1976bd);
}
.mobile-menu-from-left .gedenana-mobile-nav { right: auto; left: 0; transform: translate3d(-105%,0,0); }
.mobile-menu-from-right .gedenana-mobile-nav { right: 0; left: auto; transform: translate3d(105%,0,0); }
.gedenana-menu-open .gedenana-mobile-nav { visibility: visible; transform: translate3d(0,0,0); transition-delay: 0s; }
.gedenana-mobile-nav .nav-inner { width: 100%; min-height: 100%; padding: 68px 22px 28px; }
.gedenana-mobile-nav .gedenana-primary-menu {
  display: flex !important;
  min-height: 0 !important;
  margin: 0;
  padding: 0;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  list-style: none;
}
.gedenana-mobile-nav .gedenana-drawer-close {
  position: absolute;
  z-index: 4;
  top: 14px;
  right: 17px;
  display: grid !important;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  border: 1px solid currentColor;
  background: transparent;
  color: var(--mobile-menu-drawer-text, #fff);
  font-size: 1.6rem;
  cursor: pointer;
}
.mobile-menu-from-right .gedenana-mobile-nav .gedenana-drawer-close { right: auto; left: 17px; }
.gedenana-mobile-nav .gedenana-submenu-toggle { color: var(--gedenana-menu-item-text, var(--mobile-menu-drawer-text, #fff)) !important; }
.gedenana-mobile-nav .gedenana-primary-menu li > a:hover,
.gedenana-mobile-nav .gedenana-primary-menu li > a:focus-visible { background: var(--mobile-menu-drawer-accent, #1976bd); }

.site-header .gedenana-menu-toggle {
  width: var(--mobile-menu-button-size, 44px);
  min-width: var(--mobile-menu-button-size, 44px);
  height: var(--mobile-menu-button-size, 44px);
  padding: 0;
  border: 1px solid var(--mobile-menu-button-border, #071b31);
  border-radius: var(--mobile-menu-button-radius, 4px);
  background: var(--mobile-menu-button-bg, #fff);
  color: var(--mobile-menu-button-icon, #071b31);
  box-shadow: none;
}
.site-header .gedenana-menu-toggle:hover,
.site-header .gedenana-menu-toggle:focus-visible,
.site-header .gedenana-menu-toggle.is-active {
  border-color: var(--mobile-menu-button-hover-bg, #071b31);
  background: var(--mobile-menu-button-hover-bg, #071b31);
  color: var(--mobile-menu-button-hover-icon, #fff);
}
.site-header .gedenana-menu-toggle:focus-visible,
.gedenana-mobile-nav button:focus-visible,
.gedenana-mobile-nav a:focus-visible { outline: 3px solid var(--accent, #1976bd); outline-offset: 3px; }
.gedenana-menu-trigger-icon { font-size: 1.15rem; line-height: 1; transition: transform .2s ease; }
.gedenana-menu-toggle.is-active .gedenana-menu-trigger-icon { transform: rotate(90deg); }
.mobile-menu-button-solid .site-header .gedenana-menu-toggle { border-color: var(--mobile-menu-button-bg); }
.mobile-menu-button-soft .site-header .gedenana-menu-toggle { border-color: transparent; box-shadow: 0 5px 16px rgba(0,0,0,.16); }
.mobile-menu-button-minimal .site-header .gedenana-menu-toggle { border-color: transparent; background: transparent; }

/* Native custom-header image. It has no visual effect until an image is selected. */
.site-header { position: relative; isolation: isolate; }
.gedenana-header-image { position: relative; width: 100%; height: var(--header-image-height, 240px); overflow: hidden; background: var(--header-bg, #fff); }
.gedenana-header-image__media { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: var(--header-image-position, center center); }
.header-image-layout-background .gedenana-header-image { position: absolute; z-index: -2; inset: 0; height: 100%; }
.header-image-layout-background .gedenana-header-image::after { position: absolute; z-index: 1; inset: 0; background: var(--header-image-overlay, #000); content: ''; opacity: var(--header-image-overlay-opacity, .28); pointer-events: none; }
.header-image-layout-background .masthead { position: relative; z-index: 1; min-height: max(var(--mobile-header-height, 82px), var(--header-image-height, 240px)); }
.header-image-layout-background .site-header,
.header-image-layout-background .site-header .site-title,
.header-image-layout-background .site-header .site-description,
.header-image-layout-background .site-header .gedenana-mobile-tagline,
.header-image-layout-background .site-header .header-login { color: var(--header-image-foreground, #fff); }

/* Sidebar panel styling remains independent from category-specific label colors. */
.sidebar { min-width: 0; color: var(--sidebar-text, #131313); }
.sidebar__inner { padding: var(--sidebar-padding, 18px); border: 1px solid var(--sidebar-border, #d9d5cc); border-radius: var(--sidebar-radius, 0); background: var(--sidebar-bg, #fff); color: inherit; }
.sidebar .widget { margin-bottom: 30px; padding-top: 0; border-top: 2px solid var(--sidebar-title-bg, #222); }
.sidebar .widget:last-child { margin-bottom: 0; }
.sidebar .widget-title,
.sidebar .widget > .wp-block-heading:first-child {
  display: inline-block;
  max-width: 100%;
  margin: -2px 0 16px;
  padding: 7px 12px;
  background: var(--sidebar-title-bg, #222);
  color: var(--sidebar-title-text, #fff);
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.sidebar a { color: var(--sidebar-link, #071b31); }
.sidebar a:hover { color: var(--sidebar-link-hover, #1976bd); }
.sidebar a:focus-visible { outline: 3px solid var(--sidebar-link-hover, #1976bd); outline-offset: 3px; }
.sidebar li { border-bottom-color: var(--sidebar-border, #d9d5cc); }

@media (max-width: 63.99rem) {
  .mobile-header-align-center .masthead { grid-template-columns: max(44px, var(--mobile-menu-button-size, 44px)) minmax(0, 1fr) max(44px, var(--mobile-menu-button-size, 44px)); }
  .header-image-mobile-hidden .gedenana-header-image { display: none; }
  .header-image-mobile-hidden.header-image-layout-background .masthead { min-height: var(--mobile-header-height, 82px); }
  .header-image-mobile-hidden.header-image-layout-background .site-header { background: var(--mobile-header-bg, #fff); color: var(--mobile-header-icon, #071b31); }
  .header-image-mobile-hidden.header-image-layout-background .site-header .site-title,
  .header-image-mobile-hidden.header-image-layout-background .site-header .site-description,
  .header-image-mobile-hidden.header-image-layout-background .site-header .gedenana-mobile-tagline,
  .header-image-mobile-hidden.header-image-layout-background .site-header .header-login { color: var(--mobile-header-icon, #071b31); }
}

@media (min-width: 64rem) {
  .gedenana-primary-nav { display: block !important; }
  .gedenana-mobile-nav { display: none !important; visibility: hidden !important; transform: none !important; }
  .sidebar-sticky .content-layout > .sidebar { position: sticky; top: var(--sidebar-sticky-offset, 24px); align-self: start; }
  .admin-bar.sidebar-sticky .content-layout > .sidebar { top: calc(var(--sidebar-sticky-offset, 24px) + 32px); }
  .header-image-layout-background .masthead { min-height: max(104px, var(--header-image-height, 240px)); }
}

@media (prefers-reduced-motion: reduce) {
  .gedenana-mobile-nav,
  .gedenana-menu-trigger-icon { transition: none; }
}

@media (forced-colors: active) {
  .site-header .gedenana-menu-toggle,
  .gedenana-mobile-nav .gedenana-drawer-close,
  .sidebar__inner,
  .sidebar .widget { border: 1px solid CanvasText; }
}

@media print {
  .gedenana-primary-nav,
  .gedenana-mobile-nav,
  .gedenana-menu-overlay { display: none !important; }
  .content-layout > .sidebar { position: static !important; top: auto !important; }
}
