/* そろタッチ 募集案内（空席バー／コースページカード／キャンセル待ち案内）
   既存の v3.css の色変数（--pink, --navy など）を利用。 */

[hidden]{display:none !important}

/* ---- トップ：空席バー ---- */
.vac-bar{max-width:1080px;margin:22px auto 0;padding:0 16px;box-sizing:border-box}
.vac-bar-in{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;
  background:var(--pink-tint);border:2px solid var(--pink);border-radius:18px;
  padding:14px 20px;box-shadow:0 8px 24px rgba(255,47,146,.12);
}
.vac-tag{flex:none;background:var(--pink);color:#fff;padding:4px 12px;border-radius:99px;font-size:.72rem;font-weight:900;letter-spacing:.04em}
.vac-body{flex:1 1 320px;min-width:0}
.vac-title{margin:0;font-size:1.02rem;font-weight:900;color:var(--navy);line-height:1.6}
.vac-title b{color:var(--pink-deep);font-size:1.25em;padding:0 .08em}
.vac-list{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:2px 18px;font-size:.9rem;font-weight:800;color:var(--navy)}
.vac-list li span{color:var(--pink-deep);font-weight:900;margin-left:.3em}
.vac-date{margin:4px 0 0;font-size:.78rem;font-weight:800;color:var(--muted);letter-spacing:.03em}
.vac-btn.v2-btn{flex:none;padding:12px 22px;font-size:.92rem;white-space:nowrap}
@media(max-width:680px){
  .vac-bar{margin-top:18px}
  .vac-bar-in{padding:14px 16px;gap:8px 12px}
  .vac-body{flex:1 1 100%}
  .vac-btn.v2-btn{width:100%;text-align:center;box-sizing:border-box}
}

/* ---- そろタッチのコースページ：カード ---- */
.vac-card{
  margin:20px 0 0;padding:14px 16px;border:2px solid var(--pink);border-radius:16px;
  background:var(--pink-tint);
}
.vac-card .vac-title{font-size:.98rem}
.vac-card .v2-btn{margin-top:10px;padding:11px 20px;font-size:.9rem}
@media(max-width:680px){.vac-card .v2-btn{width:100%;text-align:center;box-sizing:border-box}}

/* 開講クラス一覧の「残り○名」 */
.vac-inline{display:inline-block;margin-left:.6em;padding:1px 10px;border-radius:99px;background:var(--pink);color:#fff;font-size:.78rem;font-weight:900;vertical-align:.05em}

/* ---- 満席クラス向け：キャンセル待ち・相談案内 ---- */
.vac-waitlist{
  margin:18px 0 0;padding:16px 20px;border-radius:16px;background:var(--blue-tint);
  border:1.5px solid var(--blue);color:var(--navy);line-height:1.8;
}
.vac-waitlist h3{margin:0 0 4px;font-size:1rem;font-weight:900}
.vac-waitlist p{margin:0;font-size:.9rem}
.vac-waitlist-mail{
  display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-weight:900;color:var(--navy);
  text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:4px;text-decoration-thickness:2px;word-break:break-all;
}
.vac-waitlist-mail svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.vac-waitlist-mail:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:4px}
.vac-waitlist small{display:block;margin-top:6px;color:var(--muted);font-size:.78rem}

/* ---- JS有無の切り替え（JSなし／情報が古い場合は「お問い合わせください」を表示） ---- */
html:not(.vac-js) .vac-js-only{display:none !important}
html.vac-js .vac-nojs-only{display:none !important}
.ttb-seat[data-seat="ask"]{background:#fff;color:var(--navy);border-color:var(--navy)}
.vac-date a{color:var(--navy);font-weight:900;text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px;word-break:break-all}
