/* ccb-employee.css — ARIA menu, stable visibility, original visuals preserved
   --------------------------------------------------------------------------- */

/* visually hidden utility */
.visually-hidden {
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0);
  white-space:nowrap; border:0;
}

/* variables */
:root{
  --ccb-employee-control-h: 28px;
  --ccb-pad-outer: 12px;
  --ccb-gap-inner: 8px;
  --ccb-gap-below: 0.9rem; /* one blank line */
  --ccb-brand: #194467;
  --ccb-text: #222;
  --ccb-panel-border: #c9c9c9;
  --ccb-panel-bg: #fff;
  --ccb-hover: #f1f5f9;
  --ccb-radius: 6px;
  --ccb-focus-ring: #2f8fff;
}

/* container & spacing (deterministic gap; neutralize rogue wrappers) */
.ccb-employee-container{
  display:grid;
  grid-auto-flow: row;
  row-gap: var(--ccb-gap-below);
  align-items:start;
  justify-items:start;
  width:190px;
  margin:0; padding:0;
  box-sizing:border-box;
}
.ccb-employee-container *{ box-sizing:border-box; }
.ccb-employee-container > *{ margin:0 !important; }
.ccb-employee-container > p:empty{ display:none !important; }

/* controls row */
.ccb-employee-controls{
  display:inline-flex;
  align-items:stretch;
  flex-wrap:nowrap;
  width:100%;
  margin:0 !important; padding:0;
}
.ccb-employee-controls > p{ margin:0 !important; padding:0 !important; }

/* unified button styling (original look) */
.ccb-employee-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:var(--ccb-employee-control-h);
  border:1px solid var(--ccb-brand);
  background:var(--ccb-brand);
  color:#fff !important;          /* default: white text */
  font:600 0.75em/1 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  border-radius:0;
  text-decoration:none;           /* no underline on buttons */
  cursor:pointer;
  vertical-align:middle;
  padding:0;
}

/* left half (main link) */
a.ccb-employee-main-link.ccb-employee-btn{
  flex:1 1 auto;
  min-width:0;
  border-radius:2px 0 0 2px;
  padding-left:var(--ccb-pad-outer);
  padding-right:0;
  white-space:nowrap;
  text-overflow:ellipsis;
  overflow:hidden;
  text-align:center;
}

/* 🔧 VISUAL TWEAK #1: on hover/focus of Employee button, text = black (forced) */
a.ccb-employee-main-link.ccb-employee-btn:hover,
a.ccb-employee-main-link.ccb-employee-btn:focus-visible{
  color:#000 !important;          /* force black */
  text-decoration:none !important;/* keep no underline */
}

/* right half (toggle summary) */
summary.ccb-employee-toggle.ccb-employee-btn{
  flex:0 0 auto;
  margin-left:-1px;     /* hide seam */
  border-left:none;
  border-radius:0 2px 2px 0;
  list-style:none;
  padding-left:var(--ccb-gap-inner);
  padding-right:var(--ccb-pad-outer);
  position:relative;
  z-index:2;            /* above panel for click */
  -webkit-user-select:none; user-select:none;
}
summary.ccb-employee-toggle *{ pointer-events:none; } /* clicks hit summary */
summary.ccb-employee-toggle::-webkit-details-marker{ display:none; }

/* WCAG focus ring */
.ccb-employee-btn:focus-visible{
  outline:3px solid var(--ccb-focus-ring);
  outline-offset:2px;
  box-shadow:0 0 0 2px #fff; /* halo for contrast */
}

/* details wrapper */
.ccb-employee-dropdown{
  position:relative;
  display:inline-block;
  vertical-align:middle;
  z-index:1;
}

/* chevron */
.ccb-employee-chevron{
  font-size:0.9em;
  line-height:1;
  transition:transform .2s ease;
}
.ccb-employee-dropdown[open] .ccb-employee-chevron{ transform:rotate(180deg); }
@media (prefers-reduced-motion: reduce){
  .ccb-employee-chevron{ transition:none; }
}

/* submenu panel: stable hide/show without layout shift */
.ccb-employee-menu-wrap{
  position:absolute;
  left:0;
  top:calc(100% + 6px);
  min-width:100%;
  width:max-content;
  max-width:90vw;
  background:var(--ccb-panel-bg);
  border:1px solid var(--ccb-panel-border);
  border-radius:var(--ccb-radius);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  /* visibility model */
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .12s linear, visibility 0s linear .12s;
  z-index:1;
  overflow-x:auto;
}
.ccb-employee-dropdown[open] .ccb-employee-menu-wrap{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition:opacity .12s linear, visibility 0s;
}

/* submenu list & items (keep original look; no underlines) */
.ccb-employee-menu{
  list-style:none; margin:0; padding:6px 0;
}
.ccb-employee-menu [role="menuitem"],
.ccb-employee-menu a{
  display:block;
  padding:10px 14px;
  color:var(--ccb-text);
  font-size:13px;
  line-height:1.2;
  white-space:nowrap;
  text-overflow:ellipsis;
  overflow:hidden;
  text-decoration:none !important; /* 🔧 VISUAL TWEAK #2: never underline */
  outline:none;
}
.ccb-employee-menu [role="menuitem"]:hover,
.ccb-employee-menu [role="menuitem"]:focus-visible,
.ccb-employee-menu a:hover,
.ccb-employee-menu a:focus-visible{
  background:var(--ccb-hover);
  text-decoration:none !important; /* ensure Olivero doesn’t add underline */
}

/* view area */
.ccb-employee-view,
.ccb-employee-container .view{
  display:block;
  width:100%;
  margin:0 !important; padding:0 !important;
  text-align:left;
  font-size:.82rem; line-height:1.25;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.ccb-employee-view ul,
.ccb-employee-view ol{ list-style:none; margin:0; padding:0; }
.ccb-employee-view li{ margin:0; padding:0; text-align:left; }

/* custom element spacing */
.ccb-employee-container > drupal-view{
  display:block; margin:0 !important; padding:0 !important; min-height:0;
}
@supports selector(drupal-view:not(:has(*))){
  .ccb-employee-container > drupal-view:not(:has(*)){
    font-size:0 !important; line-height:0 !important;
    height:0 !important; overflow:hidden !important;
  }
}

/* neutralize common wrappers locally */
.ccb-employee-container .text-content,
.ccb-employee-container .field{
  margin:0 !important; padding:0 !important;
}

/* kill stray <br> after controls */
.ccb-employee-controls + br,
.ccb-employee-controls + br + br{ display:none !important; }
