/* Bogo Modal Language Switcher (scoped) */
.bmsw{display:inline-block;position:relative;font-size:14px;line-height:1.2;}
.bmsw--fixed{position:fixed;z-index:2147483646;}

.bmsw__trigger{display:inline-flex;align-items:center;gap:.5em;border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:999px;padding:.45em .7em;cursor:pointer;}
.bmsw__trigger:focus{outline:2px solid currentColor;outline-offset:2px;}
.bmsw__trigger-inner{display:inline-flex;align-items:center;gap:.45em;}
.bmsw__flag{font-size:1.15em;}
.bmsw__label{white-space:nowrap;}

.bmsw__modal[hidden]{display:none;}

/* ===== 最強オーバーレイ（テーマの重なりに負けない） ===== */
.bmsw__modal{
  position:fixed;inset:0;width:100vw;height:100vh;
  z-index:2147483647;
  isolation:isolate;
  pointer-events:auto;
}

.bmsw__backdrop{
  position:fixed;inset:0;width:100vw;height:100vh;
  background:rgba(0,0,0,.45);
  z-index:0;
}

/* ラッパーをflexにして上下左右中央寄せ */
.bmsw__dialog{
  position:fixed;inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  box-sizing:border-box;
  z-index:1;
}

/* モーダルパネル */
.bmsw__panel{
  position:relative;
  max-width:420px;
  width:calc(100% - 32px);
  background:#fff;
  border-radius:12px;
  box-shadow:0 12px 40px rgba(0,0,0,.25);

  /* 管理画面から設定（CSS変数） */
  border:var(--bmsw-panel-border-width,0px) solid var(--bmsw-panel-border-color,#e5e7eb);

  /* 画面が低い場合の逃げ */
  max-height:calc(100vh - 32px);
  overflow:auto;
}

.bmsw__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.08);}
.bmsw__title{margin:0;font-size:16px;}
.bmsw__close{border:0;background:transparent;font-size:20px;line-height:1;padding:6px 10px;cursor:pointer;}
.bmsw__close:focus{outline:2px solid currentColor;outline-offset:2px;}

.bmsw__list{list-style:none;margin:0;padding:8px;}
.bmsw__item{margin:0;}
.bmsw__link{display:flex;align-items:center;gap:.55em;padding:10px 12px;border-radius:10px;text-decoration:none;color:inherit;}
.bmsw__link:hover{background:rgba(0,0,0,.06);}
.bmsw__item.is-current .bmsw__link{background:rgba(0,0,0,.06);font-weight:600;cursor:default;}

.bmsw__footer{padding:10px 16px 14px;}
.bmsw__hint{margin:0;font-size:12px;opacity:.7;}
