/* ===========================================================
 * member-overlays.css
 * 共通: ヘッダーの 🔍検索 / 🔔お知らせ オーバーレイ
 * =========================================================== */

/* ---- 共通: スクリム ---- */
.mo-scrim{
  position:fixed;inset:0;z-index:1000;
  background:rgba(6,20,46,.5);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.mo-scrim.show{opacity:1;pointer-events:auto}

/* ============================================================
 * 検索モーダル
 * ============================================================ */
.mo-search{
  position:fixed;left:50%;top:80px;transform:translate(-50%,-20px);
  z-index:1005;width:calc(100% - 40px);max-width:640px;
  background:#fff;border-radius:14px;
  box-shadow:0 24px 60px rgba(6,20,46,.4);
  opacity:0;pointer-events:none;
  transition:opacity .2s, transform .2s;
  overflow:hidden;
  border:1px solid rgba(201,169,97,.3);
}
.mo-search.show{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.mo-search-head{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;border-bottom:1px solid #eee2cf;
  background:linear-gradient(180deg,#fffaf0,#fff);
}
.mo-search-head .mo-icon{
  width:18px;height:18px;color:#b8924a;flex-shrink:0;
}
.mo-search-input{
  flex:1;border:0;outline:none;
  font-size:15px;font-weight:500;color:#1a1f2e;background:transparent;
  font-family:inherit;
}
.mo-search-input::placeholder{color:#878c98;font-weight:400}
.mo-search-close{
  background:none;border:0;cursor:pointer;
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#444b5d;font-size:20px;transition:background .15s;
}
.mo-search-close:hover{background:#f0ebdf}
.mo-search-results{
  max-height:60vh;overflow-y:auto;
  padding:6px 0;
}
.mo-section-head{
  font-size:10.5px;letter-spacing:.18em;font-weight:800;
  color:#b8924a;padding:14px 20px 6px;
  text-transform:uppercase;
}
.mo-result{
  display:flex;align-items:center;gap:12px;
  padding:11px 20px;text-decoration:none;color:#1a1f2e;
  transition:background .12s;border-left:3px solid transparent;
}
.mo-result:hover, .mo-result:focus{
  background:#fbfaf6;border-left-color:#c9a961;
}
.mo-result .mo-r-icon{
  width:32px;height:32px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(201,169,97,.14);color:#b8924a;
}
.mo-result .mo-r-icon svg{width:16px;height:16px}
.mo-result .mo-r-body{flex:1;min-width:0}
.mo-result .mo-r-title{
  font-size:13.5px;font-weight:700;line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mo-result .mo-r-sub{
  font-size:11.5px;color:#878c98;margin-top:2px;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mo-search-empty{
  padding:30px 20px;text-align:center;color:#878c98;font-size:13px;
}

/* ============================================================
 * お知らせ ドロップダウン
 * ============================================================ */
.mo-notif{
  position:fixed;top:74px;right:24px;
  z-index:1005;width:calc(100vw - 32px);max-width:380px;
  background:#fff;border-radius:14px;
  box-shadow:0 24px 60px rgba(6,20,46,.4);
  opacity:0;pointer-events:none;transform:translateY(-8px);
  transition:opacity .2s, transform .2s;
  overflow:hidden;
  border:1px solid rgba(201,169,97,.3);
}
.mo-notif.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.mo-notif-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 18px;border-bottom:1px solid #eee2cf;
  background:linear-gradient(180deg,#fffaf0,#fff);
}
.mo-notif-head h3{
  font-family:"Shippori Mincho B1",serif;
  font-size:15px;font-weight:700;color:#0a1d3d;
}
.mo-notif-mark{
  font-size:11px;color:#b8924a;font-weight:700;
  background:none;border:0;cursor:pointer;letter-spacing:.04em;
  padding:6px 10px;border-radius:6px;
}
.mo-notif-mark:hover{background:rgba(201,169,97,.12)}
.mo-notif-list{
  max-height:70vh;overflow-y:auto;padding:4px 0 10px;
}
.mo-notif-item{
  display:block;text-decoration:none;color:inherit;
  padding:12px 18px 13px;
  border-left:3px solid transparent;
  transition:background .12s, border-color .12s;
  position:relative;
}
.mo-notif-item:hover{background:#fbfaf6;border-left-color:#c9a961}
.mo-notif-item.unread{background:rgba(201,169,97,.05);border-left-color:#c9a961}
.mo-notif-item.unread::after{
  content:"";position:absolute;top:18px;right:18px;
  width:8px;height:8px;border-radius:50%;background:#d33a3a;
  box-shadow:0 0 0 3px rgba(211,58,58,.18);
}
.mo-notif-title{
  font-size:13.5px;font-weight:700;color:#0a1d3d;line-height:1.45;
  margin-bottom:3px;padding-right:18px;
}
.mo-notif-desc{
  font-size:12px;color:#444b5d;line-height:1.55;
}
.mo-notif-date{
  font-size:10.5px;color:#878c98;
  margin-top:4px;letter-spacing:.04em;font-weight:600;
}
.mo-notif-empty{
  padding:30px 20px;text-align:center;color:#878c98;font-size:13px;
}

/* ============================================================
 * アイコンの未読バッジ
 * ============================================================ */
.icon-btn{position:relative}
.icon-btn .mo-badge{
  position:absolute;top:5px;right:5px;
  min-width:8px;height:8px;border-radius:50%;
  background:#d33a3a;
  box-shadow:0 0 0 2px var(--navy-800, #0a1d3d);
  display:none;
}
.icon-btn.has-unread .mo-badge{display:block}

/* ============================================================
 * モバイル調整
 * ============================================================ */
@media(max-width:560px){
  .mo-search{top:70px}
  .mo-notif{top:64px;right:12px;left:12px;max-width:none;width:auto}
}
