/* スケジュール（週タブ） [yss_schedule]。スマホは縦リスト、PC（本文幅700px以上）は日付＋横3列のカード。 */
.yss-sch{--sch-accent:var(--yoga-accent,#d2793f);--sch-line:#e7e0d2;--sch-text:var(--yoga-text,#1c2531);--sch-sub:#7d7368;--sch-red:#b23a3a;--sch-card:#fffefb;max-width:1200px;margin:0 auto;color:var(--sch-text);font-size:16px;line-height:1.6;container-type:inline-size}
.yss-sch *,.yss-sch *::before,.yss-sch *::after{box-sizing:border-box}
.yss-sch__tabs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 4px 8px;margin:0 -4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.yss-sch__tabs::-webkit-scrollbar{display:none}
.yss-sch__tab{flex:none;font:inherit;font-size:17px;font-weight:500;line-height:1.4;padding:10px 18px;border-radius:14px;border:1.5px solid var(--sch-line);background:#faf6ee;color:var(--sch-text);cursor:pointer;scroll-snap-align:center;white-space:nowrap;transition:background-color .2s,color .2s}
.yss-sch__tab[aria-selected="true"]{background:var(--sch-accent);border-color:var(--sch-accent);color:#fff}
.yss-sch__tab:focus-visible{outline:3px solid var(--sch-text);outline-offset:2px}
.yss-sch__panels{background:var(--sch-card);border:1.5px solid var(--sch-line);border-radius:20px;padding:18px 18px 8px;margin-top:6px}
.yss-sch__panel+.yss-sch__panel{margin-top:28px}
.yss-sch__title{margin:0 0 10px;text-align:center;font-size:22px;font-weight:500;line-height:1.4;color:var(--sch-text)}
.yss-sch__title small{display:block;font-size:16px;font-weight:400;color:var(--sch-sub);margin-top:2px}
.yss-sch__day{display:flex;gap:14px;padding:12px 0;border-top:1.5px solid var(--sch-line)}
.yss-sch__date{width:58px;flex:none;text-align:center;line-height:1.2}
.yss-sch__date b{display:block;font-size:26px;font-weight:500}
.yss-sch__date span{display:block;font-size:14px;color:var(--sch-sub)}
.yss-sch__day.is-red .yss-sch__date b,.yss-sch__day.is-red .yss-sch__date span{color:var(--sch-red)}
.yss-sch__slots{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:6px}
.yss-sch__slot{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0 !important;padding:7px 12px;border-radius:10px;background:var(--c,#eee)}
.yss-sch__time{font-size:15px}
.yss-sch__name{font-size:17px;font-weight:500;word-break:auto-phrase;text-wrap:balance}
.yss-sch__slot.is-off{background:#f0ece4;color:var(--sch-red)}
.yss-sch__day.is-empty{display:none}
.yss-sch__day.is-past{opacity:.55}
.yss-sch__day.is-today .yss-sch__date b{color:var(--sch-accent)}
.yss-sch__legend{margin:16px 0 0;text-align:center;font-size:15px;color:var(--sch-sub)}
.yss-sch__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0 10px}
.yss-sch .yss-sch__btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:260px;min-height:52px;padding:12px 28px;border-radius:999px;background:var(--sch-accent);color:#fff!important;font-size:17px;font-weight:500;line-height:1.3;text-decoration:none!important;text-align:center;transition:filter .2s}
.yss-sch .yss-sch__btn.is-line{background:#00c755}
.yss-sch .yss-sch__btn:hover{filter:brightness(.94)}
.yss-sch .yss-sch__btn:focus-visible{outline:3px solid var(--sch-text);outline-offset:2px}
@media (max-width:600px){.yss-sch__cta{flex-direction:column;align-items:stretch}.yss-sch .yss-sch__btn{min-width:0;width:100%}}
/* JS なしでは全週を縦に並べる（タブは隠す） */
.yss-sch:not(.is-js) .yss-sch__tabs{display:none}
.yss-sch.is-js .yss-sch__panel[hidden]{display:none}
/* 画面幅ではなく、置かれた場所の幅で切り替える。本文幅800pxなら「日付＋横3列のカード」（PC）。
   それより狭い場所（スマホ・サイドバー等）は縦リストのまま。 */
@container (min-width:700px){
  .yss-sch__tabs{gap:10px;padding-bottom:10px}
  .yss-sch__tab{font-size:19px;padding:10px 22px}
  .yss-sch__panels{background:var(--sch-card);border:0;border-radius:20px;padding:28px 45px 16px;margin-top:8px}
  .yss-sch__title{font-size:24px;margin-bottom:14px}
  .yss-sch__title small{font-size:17px}
  .yss-sch__day{gap:28px;padding:14px 0}
  .yss-sch__date{width:56px}
  .yss-sch__date b{font-size:28px}
  .yss-sch__date span{font-size:15px}
  .yss-sch__slots{flex-direction:row;flex-wrap:wrap;gap:10px 10px}
  .yss-sch__slot{display:block;flex:0 0 calc((100% - 20px) / 3);width:auto;max-width:calc((100% - 20px) / 3);padding:8px 17px;border-radius:10px}
  .yss-sch__time{display:block;font-size:17px}
  .yss-sch__name{display:block;font-size:16px;font-weight:700;text-wrap:balance}
  .yss-sch__legend{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.yss-sch__tab{transition:none}}
