/* ==========================================================
   AES Clean Theme v1.2.71 — Canonical Filter Action Parity
   Shared control geometry for Culture Map + Observatory.
   ========================================================== */

.aes-culture-map,
.aes-observatory{
  --aes-research-control-height:40px;
  --aes-research-icon-size:16px;
}


/* Canonical archive-filter action geometry: exact parity with AES profile archives. */
.aes-culture-map .aes-profile-filter__actions .aes-profile-filter__button,
.aes-observatory .aes-profile-filter__actions .aes-profile-filter__button{
  appearance:none!important;
  box-sizing:border-box!important;
  min-width:82px!important;
  width:auto!important;
  min-height:34px!important;
  height:34px!important;
  padding:7px 14px!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--aes-navy)!important;
  border-radius:0!important;
  font:800 9px/1 var(--aes-font-body)!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  text-align:center!important;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
.aes-culture-map .aes-profile-filter__actions .aes-profile-filter__button--primary,
.aes-observatory .aes-profile-filter__actions .aes-profile-filter__button--primary{
  background:var(--aes-navy)!important;
  color:#fff!important;
}
.aes-culture-map .aes-profile-filter__actions .aes-profile-filter__button--primary:hover,
.aes-culture-map .aes-profile-filter__actions .aes-profile-filter__button--primary:focus-visible,
.aes-observatory .aes-profile-filter__actions .aes-profile-filter__button--primary:hover,
.aes-observatory .aes-profile-filter__actions .aes-profile-filter__button--primary:focus-visible{
  border-color:var(--aes-gold)!important;
  background:var(--aes-gold)!important;
  color:#fff!important;
}
.aes-culture-map .aes-profile-filter__actions .aes-profile-filter__button--secondary,
.aes-observatory .aes-profile-filter__actions .aes-profile-filter__button--secondary{
  background:#fff!important;
  color:var(--aes-navy)!important;
}
.aes-culture-map .aes-profile-filter__actions .aes-profile-filter__button--secondary:hover,
.aes-culture-map .aes-profile-filter__actions .aes-profile-filter__button--secondary:focus-visible,
.aes-observatory .aes-profile-filter__actions .aes-profile-filter__button--secondary:hover,
.aes-observatory .aes-profile-filter__actions .aes-profile-filter__button--secondary:focus-visible{
  border-color:var(--aes-gold)!important;
  color:var(--aes-gold)!important;
}
.aes-culture-map .aes-profile-filter__actions .aes-profile-filter__button:disabled,
.aes-observatory .aes-profile-filter__actions .aes-profile-filter__button:disabled{
  opacity:.35!important;
  cursor:default!important;
  pointer-events:none!important;
  border-color:#bfc4c8!important;
  background:#fff!important;
  color:#7f878e!important;
}

/* Canonical text/action buttons */
.aes-culture-map .aes-research-tools-shell__buttons button,
.aes-observatory .aes-research-tools-shell__buttons button,
.aes-culture-map__view-switch button,
.aes-observatory__mode-tabs button,
.aes-observatory__utility-controls>button,
.aes-culture-map__compare-controls>button{
  box-sizing:border-box;
  min-height:var(--aes-research-control-height)!important;
  height:var(--aes-research-control-height)!important;
  padding:0 14px!important;
  margin:0;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:middle;
  line-height:1!important;
  white-space:nowrap;
  text-align:center;
}

/* Keep adjacent segmented view switches visually continuous. */
.aes-culture-map__view-switch,
.aes-observatory__mode-tabs{
  align-items:stretch;
}
.aes-culture-map__view-switch button+button,
.aes-observatory__mode-tabs button+button{
  margin-left:-1px;
}

/* Disabled state shared by public research controls. */
.aes-culture-map .aes-profile-filter__button:disabled,
.aes-observatory .aes-profile-filter__button:disabled,
.aes-culture-map .aes-research-tools-shell__buttons button:disabled,
.aes-observatory .aes-research-tools-shell__buttons button:disabled{
  opacity:.38;
  cursor:default;
  pointer-events:none;
  background:#fff!important;
  border-color:#d9d9d5!important;
  color:#9aa0a5!important;
}

/* Keyboard focus parity. */
.aes-culture-map button:focus-visible,
.aes-observatory button:focus-visible{
  outline:2px solid rgba(197,161,105,.48);
  outline-offset:2px;
}

/* Shared square map/network viewport controls. */
.aes-culture-map__zoom,
.aes-observatory__canvas-controls{
  grid-template-columns:40px!important;
  gap:6px!important;
}
.aes-culture-map__zoom button[data-aes-map-zoom],
.aes-observatory__canvas-controls button[data-aes-obs-zoom]{
  box-sizing:border-box!important;
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(21,40,62,.14)!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#15283E!important;
  box-shadow:0 4px 14px rgba(21,40,62,.10)!important;
  line-height:0!important;
  font-size:0!important;
  overflow:hidden!important;
}
.aes-culture-map__zoom button[data-aes-map-zoom]:hover,
.aes-observatory__canvas-controls button[data-aes-obs-zoom]:hover,
.aes-culture-map__zoom button[data-aes-map-zoom]:focus-visible,
.aes-observatory__canvas-controls button[data-aes-obs-zoom]:focus-visible{
  background:#15283E!important;
  border-color:#15283E!important;
  color:#fff!important;
}

/* Critical fix: the Observatory network selector also targets nested icon SVGs.
   Reset every inherited network-SVG dimension/background explicitly here. */
.aes-culture-map__zoom button[data-aes-map-zoom] svg,
.aes-observatory__canvas-controls button[data-aes-obs-zoom] svg{
  box-sizing:content-box!important;
  display:block!important;
  flex:0 0 var(--aes-research-icon-size)!important;
  width:var(--aes-research-icon-size)!important;
  min-width:var(--aes-research-icon-size)!important;
  max-width:var(--aes-research-icon-size)!important;
  height:var(--aes-research-icon-size)!important;
  min-height:0!important;
  max-height:var(--aes-research-icon-size)!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:none!important;
  color:inherit!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transform:none!important;
}
.aes-culture-map__zoom button[data-aes-map-zoom] svg path,
.aes-observatory__canvas-controls button[data-aes-obs-zoom] svg path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
}

/* Close controls use the same optical centering logic without growing drawers. */
.aes-culture-map__drawer-head>button[data-aes-map-drawer-close],
.aes-observatory__drawer-head>button[data-aes-obs-drawer-close],
.aes-observatory__utility-head>button{
  box-sizing:border-box!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:0!important;
}
.aes-culture-map__drawer-head>button[data-aes-map-drawer-close] svg,
.aes-observatory__drawer-head>button[data-aes-obs-drawer-close] svg{
  display:block!important;
  width:14px!important;
  height:14px!important;
  min-height:0!important;
  margin:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}

@media(max-width:700px){
  .aes-culture-map,
  .aes-observatory{
    --aes-research-control-height:38px;
  }
  .aes-culture-map__zoom,
  .aes-observatory__canvas-controls{
    grid-template-columns:38px!important;
  }
  .aes-culture-map__zoom button[data-aes-map-zoom],
  .aes-observatory__canvas-controls button[data-aes-obs-zoom]{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
  }
}
