/* ══════════════════════════════════════════════════════════
   SP固定CTA統合バー
   画面下部の固定CTAを［WEB予約］［LINE］の1本にまとめる。
   SP（600px以下）だけに適用し、PC・タブレットは一切変更しない。
   リンク先は各ページの既存 .float-reserve / .float-line をそのまま使う。
   ══════════════════════════════════════════════════════════ */
@media (max-width: 600px) {

  /* 旧・下部フローティング2種はSPでは出さない（WEB予約の重複解消） */
  .float-reserve,
  .float-line { display: none !important; }

  .sp-cta-bar {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 1000;
    display: flex;
    gap: 8px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(10,10,10,0.08);
    box-sizing: border-box;
    transition: opacity .25s;
  }
  .sp-cta-bar a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 48px;                      /* タップ領域を確保 */
    border-radius: 999px;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: .08em;
    white-space: nowrap;               /* 文字切れ・折返し防止 */
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
  }
  .sp-cta-bar .sp-cta-reserve { flex: 0 0 71%; background: #1560d4; color: #fff; font-size: .8rem; }
  .sp-cta-bar .sp-cta-line    { flex: 1 1 auto; background: #06C755; color: #fff; font-size: .72rem; }
  .sp-cta-bar .sp-cta-line svg { flex-shrink: 0; }

  /* 本文・メニュー最下部がバーに隠れないよう余白を確保する。
     バーを実際に設置したページ（JSが body.spcta-on を付ける）だけに適用し、
     固定CTAが無いページ（予約ページなど）に余白を作らない。 */
  body.spcta-on             { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important; }
  body.spcta-on .mobile-menu{ padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important; }

  /* 画面を覆う要素（ハンバーガーメニュー・各種モーダル）を開いている間は
     固定CTAを出さない。position:fixed なので表示/非表示でレイアウトは動かない
     （本文が動かず画面が跳ねない）。 */
  body.spcta-cover-open .sp-cta-bar { display: none; }

  /* 既存の「CTAを一時的に隠す」制御に追従する */
  .sp-cta-bar.cta-hidden { opacity: 0; pointer-events: none; }
}

/* PC・タブレットでは出さない */
@media (min-width: 601px) { .sp-cta-bar { display: none !important; } }
