/* ============================================================
 * SP用 下部固定バー＋メニュー スタイル
 * ファイル: assets/css/ssm-footer.css
 * ============================================================ */

:root{
  --ssm-orange:#ea5515;
  --ssm-line:#06C755;
  --ssm-ink:#211d1b;
  --ssm-muted:#cdc3bb;
  --ssm-dock-h:86px; /* JSで実測値に上書き */
}

/* ---- 下部ドック ---- */
.ssm-dock{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:var(--ssm-ink);
  padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 16px rgba(0,0,0,.18)}
.ssm-dock__note{margin:0;padding:6px 10px;text-align:center;font-size:14px;font-weight:600;
  line-height:1.4;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.08)}
.ssm-dock__note strong{color:#fff}

.ssm-bar{display:flex;margin:0;padding:0 2px;list-style:none}
.ssm-bar>li{flex:1;min-width:0;display:flex}
.ssm-bar a,.ssm-bar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;margin:0;padding:9px 2px 10px;border:0;background:none;color:var(--ssm-muted);
  font:inherit;font-size:10.5px;font-weight:600;letter-spacing:.03em;line-height:1;
  text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ssm-bar a:active,.ssm-bar button:active{opacity:.75}
.ssm-bar .is-tel a{background:var(--ssm-orange);color:#fff;border-radius:9px;margin:6px 3px}
.ssm-bar .is-line a{background:var(--ssm-line);color:#fff;border-radius:9px;margin:6px 3px}
#ssmMenuBtn[aria-expanded="true"]{color:#fff}

.ssm-dock svg,.ssm-sheet svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ssm-ico-close{display:none!important}
#ssmMenuBtn[aria-expanded="true"] .ssm-ico-menu{display:none!important}
#ssmMenuBtn[aria-expanded="true"] .ssm-ico-close{display:block!important}

/* ---- 暗幕 ---- */
.ssm-overlay{position:fixed;inset:0;z-index:998;background:rgba(0,0,0,.45);
  opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.ssm-overlay.is-open{opacity:1;visibility:visible;transition:opacity .25s}

/* ---- メニューシート ---- */
.ssm-sheet{position:fixed;left:0;right:0;bottom:var(--ssm-dock-h);z-index:999;
  max-height:calc(100vh - var(--ssm-dock-h) - 48px);max-height:calc(100dvh - var(--ssm-dock-h) - 48px);
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.2);
  transform:translateY(calc(100% + var(--ssm-dock-h)));visibility:hidden;
  transition:transform .3s ease,visibility 0s .3s}
.ssm-sheet.is-open{transform:none;visibility:visible;transition:transform .3s ease}

.ssm-sheet__head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;
  padding:12px 12px 10px 20px;background:#fff;border-bottom:1px solid #eee;
  font-size:15px;font-weight:700;color:var(--ssm-ink)}
.ssm-sheet__close{border:0;background:none;padding:8px;color:#666;cursor:pointer}
.ssm-sheet__group{margin:0;padding:16px 20px 6px;font-size:11px;font-weight:700;letter-spacing:.08em;color:#9a918a}
.ssm-sheet__list{list-style:none;margin:0;padding:0}
.ssm-sheet__list a{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 20px;color:#2a2622;font-size:15px;font-weight:600;text-decoration:none;
  border-bottom:1px solid #f2efec}
.ssm-sheet__list a::after{content:"";flex:none;width:7px;height:7px;
  border-top:1.7px solid #b9b0a8;border-right:1.7px solid #b9b0a8;transform:rotate(45deg)}
.ssm-sheet__list a:active{background:#fdf3ec}
.ssm-sheet__legal{list-style:none;margin:12px 0 0;padding:16px 20px 22px;display:flex;flex-wrap:wrap;
  gap:8px 16px;background:#faf8f6}
.ssm-sheet__legal a{font-size:11.5px;color:#7a716a;text-decoration:none}

html.ssm-lock,html.ssm-lock body{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .ssm-sheet,.ssm-overlay{transition:none}
}