/* ══════════════════════════════════════════════════
   ANKI ／ 開課月曆（首頁同結帳頁共用）
   依賴 :root 嘅 --paper --line --ink --mute --sys --warn --mono --serif
   ══════════════════════════════════════════════════ */
.cal{margin-top:14px;border:1px solid var(--line);border-radius:12px;
 background:var(--paper2);padding:14px 12px 16px;
 box-shadow:0 1px 2px rgba(23,22,20,.05),0 8px 24px rgba(23,22,20,.06)}
.calhd{display:flex;align-items:center;justify-content:space-between;gap:10px;
 padding:2px 4px 12px}
.calhd b{font-family:var(--serif);font-size:17px;font-weight:700;letter-spacing:.01em}
/* 實測 34x34 太細，手機撳唔穩——頂到 44px */
.calnav{width:44px;height:44px;border:1px solid var(--line);border-radius:10px;
 background:var(--paper);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;
 display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.calnav:disabled{opacity:.3;cursor:default}
.calnav:not(:disabled):hover{border-color:var(--ink)}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.caldow{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--mute);
 text-align:center;padding-bottom:6px}
.calcell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;
 font-family:var(--mono);font-size:13px;color:var(--line);border-radius:9px}
.calcell.pad{visibility:hidden}
button.calcell{border:1px solid transparent;background:none;cursor:pointer;
 color:var(--ink);font-weight:700;position:relative;
 transition:transform .16s ease,box-shadow .16s ease}
button.calcell::after{content:"";position:absolute;bottom:5px;left:50%;
 transform:translateX(-50%);width:5px;height:5px;border-radius:50%}
button.calcell.ok{background:rgba(29,138,76,.13);border-color:rgba(29,138,76,.4)}
button.calcell.ok::after{background:var(--sys)}
button.calcell.few{background:rgba(192,138,46,.16);border-color:rgba(192,138,46,.46)}
button.calcell.few::after{background:#C08A2E}
button.calcell.no{background:rgba(179,38,30,.10);border-color:rgba(179,38,30,.3);
 color:var(--mute);cursor:not-allowed}
button.calcell.no::after{background:var(--warn)}
button.calcell.sel{background:var(--ink);border-color:var(--ink);color:var(--paper);
 box-shadow:0 3px 12px rgba(23,22,20,.3)}
button.calcell.sel::after{background:var(--paper)}
/* 第二日（星期日）：同色但淡啲，點細啲——一睇就知係續上一日 */
button.calcell.d2{opacity:.62}
button.calcell.d2::after{width:3.5px;height:3.5px}
@media(hover:hover){button.calcell:not(.no):not(.sel):hover{transform:translateY(-1px)}}

.calkey{display:flex;gap:16px;flex-wrap:wrap;margin-top:11px;padding-inline:3px;
 font-family:var(--mono);font-size:10px;color:var(--mute)}
.calkey span{display:inline-flex;align-items:center;gap:6px}
.calkey i{width:8px;height:8px;border-radius:50%;display:block}
.k-ok{background:var(--sys)}.k-few{background:#C08A2E}.k-no{background:var(--warn)}
.calkey em{font-style:normal;opacity:.85}

.pinfo{margin-top:14px;border:1px solid var(--ink);border-radius:11px;background:#fff;
 padding:17px 18px 16px}
.pinfo .d{font-size:16px;font-weight:700;color:var(--mute)}
/* 時間同地址係人最想知嘅兩樣，唔應該做細字 */
.pinfo .tm{margin-top:9px;display:flex;flex-direction:column;gap:3px}
.pinfo .tm span{font-size:16.5px;font-weight:600;line-height:1.5;letter-spacing:.01em}
.pinfo .ad{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);
 font-size:15px;line-height:1.55;color:var(--ink)}
.pinfo .ad em{display:block;font-style:normal;font-family:var(--mono);font-size:11.5px;
 color:var(--mute);margin-top:4px}
/* 名額標籤同「更改日期」擺同一行——慳返一行高度 */
.pinfo .prow{display:flex;align-items:center;justify-content:space-between;
 gap:12px;flex-wrap:wrap;margin-top:11px}
.pinfo .s{display:inline-block;text-decoration:none;font-family:var(--mono);font-size:10.5px;
 letter-spacing:.08em;padding:4px 10px;border-radius:5px}
.pchg{font:inherit;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;
 border:1px solid var(--line);background:var(--paper2);color:var(--ink2);
 padding:7px 12px;border-radius:6px;cursor:pointer;flex:0 0 auto;
 transition:border-color .2s ease,color .2s ease}
.pchg:hover{border-color:var(--ink);color:var(--ink)}
.pinfo .s.ok{background:rgba(29,138,76,.14);color:var(--sys)}
.pinfo .s.few{background:rgba(192,138,46,.18);color:#96690F}
