.bn-calc__submit { margin-top: 8px; width: 100%; }
.bn-calc__breakdown[hidden] { display: none; }

.bn-calc__advanced { margin: 4px 0 14px; border-top: 1px solid var(--bn-border, #E2E6EA); padding-top: 10px; }
.bn-calc__advanced summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--bn-text-muted, #5B6673);
  list-style: none;
}
.bn-calc__advanced summary::-webkit-details-marker { display: none; }
.bn-calc__advanced summary::before { content: "+ "; color: var(--bn-accent, #F0466E); font-weight: 800; }
.bn-calc__advanced[open] summary::before { content: "\2212 "; }
.bn-calc__advanced[open] summary { margin-bottom: 12px; }
.bn-calc__advanced .bn-calc__field { margin-bottom: 10px; }

/* Info-tooltips bij velden */
.bn-info { position: relative; display: inline-block; margin-left: 6px; vertical-align: 1px; }
.bn-info__knop {
  width: 17px; height: 17px;
  border-radius: 50%;
  border: 1px solid var(--bn-border, #E2E6EA);
  background: var(--bn-bg-alt, #F4F6F8);
  color: var(--bn-text-muted, #5B6673);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.bn-info__knop:hover, .bn-info__knop[aria-expanded="true"] {
  background: var(--bn-accent, #F0466E);
  border-color: var(--bn-accent, #F0466E);
  color: #fff;
}
.bn-info__tekst {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: 260px;
  background: var(--bn-primary-dark, #142943);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.5;
  padding: 10px 12px;
  border-radius: 8px;
  z-index: 30;
  text-transform: none;
  letter-spacing: normal;
}
.bn-info__tekst::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--bn-primary-dark, #142943);
}
.bn-info__knop[aria-expanded="true"] + .bn-info__tekst,
.bn-info:hover .bn-info__tekst { display: block; }
@media (max-width: 520px) {
  .bn-info__tekst { left: auto; right: -10px; transform: none; width: 220px; }
  .bn-info__tekst::after { left: auto; right: 14px; transform: none; }
}

/* Voorkom dubbele plus/min: binnen .bn-content stylet het thema details/summary
   al als FAQ-accordion; deze component gebruikt zijn eigen indicator links. */
.bn-content .bn-calc__advanced { background: transparent; padding-right: 0; }
.bn-content .bn-calc__advanced summary::after { content: none; }

/* CAO-loontabel (templates/single-bn_cao.php) */
.bn-cao-loontabel { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 24px; }
.bn-cao-schaal {
  border: 1px solid var(--bn-border, #e2e8f0);
  border-radius: 12px;
  background: var(--bn-white, #fff);
  overflow: hidden;
}
.bn-cao-schaal summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.bn-cao-schaal summary::-webkit-details-marker { display: none; }
.bn-cao-schaal__range { font-weight: 400; font-size: 0.85rem; color: var(--bn-text-muted, #64748b); }
.bn-cao-treden {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 16px 16px;
  border-top: 1px solid var(--bn-border, #e2e8f0);
  margin-top: -1px;
  padding-top: 12px;
}
.bn-cao-trede-chip {
  background: var(--bn-bg-alt, #f8fafc);
  border: 1px solid var(--bn-border, #e2e8f0);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 0.85rem;
  white-space: nowrap;
  font-family: inherit;
  cursor: pointer;
  transition: background-color .15s, border-color .15s, transform .15s;
}
.bn-cao-trede-chip:hover,
.bn-cao-trede-chip:focus-visible {
  background: var(--bn-accent-soft, #fce7ec);
  border-color: var(--bn-accent, #f0466e);
  color: var(--bn-accent-dark, #d6335a);
  transform: translateY(-1px);
}
.bn-calc--highlight {
  animation: bn-cao-pulse 1.2s ease;
}
@keyframes bn-cao-pulse {
  0% { box-shadow: 0 0 0 0 rgba(240,70,110,.45); }
  70% { box-shadow: 0 0 0 14px rgba(240,70,110,0); }
  100% { box-shadow: 0 0 0 0 rgba(240,70,110,0); }
}
.bn-cao-bron { font-size: 0.85rem; color: var(--bn-text-muted, #64748b); margin: 24px 0; }

/* Secundaire arbeidsvoorwaarden: icoontegel-kaartjes i.p.v. platte statcijfers */
.bn-cao-voorwaarden {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin: 16px 0 28px;
}
.bn-cao-voorwaarde {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bn-white, #fff);
  border: 1px solid var(--bn-border, #e2e8f0);
  border-radius: var(--bn-radius-xl, 16px);
  padding: 14px 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.bn-cao-voorwaarde__waarde {
  display: block;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--bn-primary, #1e3a5f);
  line-height: 1.2;
}
.bn-cao-voorwaarde__label {
  display: block;
  font-size: .8rem;
  color: var(--bn-text-muted, #64748b);
}
