/* Custom Mobile Bottom Nav */
:root{
  --cmbn-bg:#fff;
  --cmbn-text:#333;
  --cmbn-accent:#3b82f6;
  --cmbn-z:9999;
  --cmbn-home-raise:16px;
}

.cmbn {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  background: var(--cmbn-bg);
  color: var(--cmbn-text);
  display: grid;
  grid-template-columns: 1fr 1fr 0 1fr 1fr;
  align-items: center;
  gap: 8px;
  padding: 8px 10px env(safe-area-inset-bottom);
  border-top: 1px solid rgba(0,0,0,.06);
  z-index: var(--cmbn-z);
  user-select: none;
}
.cmbn-rtl{
  direction: rtl;
}
.cmbn.cmbn-shadow{
  box-shadow: 0 -6px 20px rgba(0,0,0,.08);
}
.cmbn a{
  text-decoration: none;
  color: inherit;
}
.cmbn .cmbn-item{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1.2;
  gap: 4px;
}
.cmbn .cmbn-icon .dashicons{
  font-size: 20px;
  width: 20px;
  height: 20px;
}
.cmbn .cmbn-icon img{
  width: 22px;
  height: 22px;
  display: block;
}
.cmbn .cmbn-label{
  opacity: .9;
}
.cmbn .cmbn-badge{
  position: absolute;
  top: -2px;
  inset-inline-end: 16px;
  background: var(--cmbn-accent);
  color: #fff;
  border-radius: 999px;
  padding: 0 6px;
  font-size: 10px;
  line-height: 18px;
  min-width: 18px;
  text-align: center;
}

/* Center FAB */
.cmbn .cmbn-fab{
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  height: 0;
}
.cmbn .cmbn-fab .cmbn-fab-btn{
  position: absolute;
  top: calc(-1 * var(--cmbn-home-raise));
  transform: translateY(-12%);
  background: var(--cmbn-accent);
  color: #fff;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.cmbn .cmbn-fab .cmbn-fab-btn .dashicons{
  color:#fff;
  font-size: 26px;
  width: 26px;
  height: 26px;
}

/* Search overlay */
.cmbn-search-overlay{
  position: fixed;
  inset: 0;
  display: none;
  z-index: calc(var(--cmbn-z) + 1);
}
.cmbn-search-overlay.active{ display: block; }
.cmbn-search-backdrop{
  position: absolute; inset: 0; background: rgba(0,0,0,.4);
}
.cmbn-search-modal{
  position: absolute;
  left: 50%; top: 12%;
  transform: translateX(-50%);
  background: #fff;
  width: min(92%, 560px);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 20px 40px rgba(0,0,0,.22);
}
.cmbn-search-form{
  display: flex; gap: 8px;
}
.cmbn-search-input{
  flex:1; padding: 10px 12px; border: 1px solid #ddd; border-radius: 10px;
}
.cmbn-search-submit, .cmbn-close{
  padding: 10px 14px; border: 0; border-radius: 10px; background: var(--cmbn-accent); color:#fff; cursor: pointer;
}
.cmbn .screen-reader-text{ position: absolute; left: -9999em; }

/* Hide on tablet/desktop */
@media (min-width: 769px){
  .cmbn{ display: none; }
}
