/* =============================================================================
 *  KT CLINIC — 担当医カレンダー（page-information.php）
 *  2026-07-30 モック（KT担当医カレンダー_モック.html）に合わせて実装
 *  セレクタは .kt-dcal 配下にスコープしている
 *
 *  カレンダーのマークアップは inc/calendar-render.php の共通パーツ。
 *  トップページや診療科ページと同じなので、見た目だけここで上書きする。
 *
 *  ★ スコープ名は .kt-dcal。以前は .kt-cal だったが、
 *    components.css の 2369行目に旧カレンダーの器として同名の
 *
 *        .kt-cal { background:white; border-radius:12px; overflow:hidden;
 *                  box-shadow:0 2px 16px rgba(0,0,0,.04); border:1px solid #E8E2D8; }
 *
 *    があり、ページ全体を囲む器にこの枠線と影がかかっていた。
 *    その結果、パンくずのすぐ下に全幅の横線が出ていた（2026-07-31 修正）。
 *    旧カレンダーは page-beauty.php がまだ使っているので components.css 側は触らない。
 *    **新しいスコープ名を決めるときは、components.css に同名が無いか必ず確認すること。**
 * ========================================================================== */

/* ===== components.css の打ち消し ========================================= */
.kt-dcal .hero{height:auto;min-height:0;}

/* ===== 全体 ============================================================== */
.kt-dcal{color:var(--ink);font-family:var(--sans);line-height:1.75;}
.kt-dcal *{box-sizing:border-box;}
.kt-dcal a{color:inherit;text-decoration:none;}

/* ===== ページ見出し ====================================================== */
.kt-dcal .cal-head{text-align:center;}
.kt-dcal .cal-h1{font-family:var(--serif);font-size:2.5rem;font-weight:500;letter-spacing:.08em;
                line-height:1.5;margin:0 0 1.3rem;}
.kt-dcal .cal-sub{font-size:.93rem;line-height:2.05;color:var(--sub);}

/* ===== 本体 ============================================================== */
.kt-dcal .cal-body{padding:3.25rem 2.5rem 7rem;}
.kt-dcal .cal-inner{max-width:64rem;margin:0 auto;}
.kt-dcal .cal-empty{font-size:.92rem;color:var(--sub);text-align:center;padding:3rem 0;margin:0;}

.kt-dcal .cal-grp + .cal-grp{margin-top:4.5rem;}
.kt-dcal .cal-h2{font-family:var(--serif);font-size:1.5rem;font-weight:500;letter-spacing:.06em;
                line-height:1.6;margin:0 0 1.5rem;padding-bottom:.9rem;
                border-bottom:1px solid var(--grey-line);}

/* ===== 凡例 ============================================================== */
.kt-dcal .cal-leg{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin:0 0 1.4rem;}
.kt-dcal .cal-leg-i{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;letter-spacing:.03em;}
.kt-dcal .cal-leg .cal-tag{width:1.15rem;height:1.15rem;font-size:.66rem;}

/* ===== 月の切り替え ====================================================== */
.kt-dcal .cal-months{display:flex;gap:.5rem;margin:0 0 1.2rem;}
.kt-dcal .cal-mo{cursor:pointer;font-size:.88rem;letter-spacing:.08em;color:var(--sub);
                background:#fff;border:1px solid var(--grey-line);border-radius:4px;
                padding:.5rem 1.3rem;transition:all .2s;}
.kt-dcal .cal-mo:hover{border-color:var(--gold-line);color:var(--gold-deep);}
.kt-dcal .cal-mo[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:#fff;}
.kt-dcal .cal-mo:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;}
.kt-dcal .cal-panel{display:none;}
.kt-dcal .cal-panel.is-active{display:block;}

/* ===== カレンダー ======================================================== */
.kt-dcal .cal-hint{display:none;}
.kt-dcal .cal-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.kt-dcal .cal-scroll::-webkit-scrollbar{display:none;}
.kt-dcal .cal-tbl{min-width:52rem;background:#fff;border:1px solid var(--line);}
.kt-dcal .cal-ym{text-align:center;font-family:var(--serif);font-size:1.1rem;letter-spacing:.08em;
                padding:.9rem 0;border-bottom:1px solid var(--line);}
.kt-dcal .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.kt-dcal .cal-dh{text-align:center;font-size:.75rem;letter-spacing:.1em;color:var(--sub);
                padding:.6rem 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);}
.kt-dcal .cal-dh:nth-child(7n+7){border-right:none;}
.kt-dcal .cal-dh.sun{color:#C0736F;}
.kt-dcal .cal-c{min-height:6.2rem;padding:.5rem .45rem;
               border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.kt-dcal .cal-c:nth-child(7n+7){border-right:none;}
.kt-dcal .cal-c.empty,
.kt-dcal .cal-c.closed{background:#FAFAF9;}
.kt-dcal .cal-d{font-size:.8rem;color:var(--sub);margin-bottom:.4rem;}
.kt-dcal .cal-c.sun .cal-d,
.kt-dcal .cal-c.holi .cal-d{color:#C0736F;}
.kt-dcal .cal-closed{font-size:.72rem;color:#A39B8E;}
.kt-dcal .cal-none{font-size:.72rem;color:#C6C0B5;}
.kt-dcal .cal-dr{display:block;margin-bottom:.45rem;}
.kt-dcal .cal-dr:last-child{margin-bottom:0;}
.kt-dcal .cal-dr-h{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;}
.kt-dcal .cal-dr-n{font-size:.75rem;line-height:1.5;color:var(--ink);}
.kt-dcal .cal-dr-t{display:block;font-size:.66rem;line-height:1.5;color:var(--sub);
                  font-variant-numeric:tabular-nums;}

/* 担当科の印。色は kt_get_specialties() が持つ */
.kt-dcal .cal-dr-tags{display:inline-flex;gap:.15rem;flex:none;}
.kt-dcal .cal-tag{display:inline-flex;align-items:center;justify-content:center;flex:none;
                 width:1.05rem;height:1.05rem;border-radius:3px;font-style:normal;
                 font-size:.62rem;font-weight:600;line-height:1;color:#fff;letter-spacing:0;}

/* ===== 注記 ============================================================== */
.kt-dcal .cal-note{margin:1.2rem 0 0;font-size:.8rem;line-height:1.95;color:var(--sub);}
.kt-dcal .cal-note p{margin:0;}

/* ===== 関連ページへの導線 ================================================ */
.kt-dcal .rel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:4.5rem;}
.kt-dcal .rel a{border:1px solid var(--gold-line);background:#fff;padding:1.5rem 1.7rem;
               transition:background .25s,border-color .25s,color .25s;
               display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
               column-gap:1rem;row-gap:.3rem;}
.kt-dcal .rel a:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.kt-dcal .rel .t{grid-column:1;grid-row:1;font-family:var(--serif);font-size:1.1rem;font-weight:500;
                letter-spacing:.05em;color:var(--gold-deep);transition:color .25s;}
.kt-dcal .rel .d{grid-column:1;grid-row:2;font-size:.8rem;line-height:1.8;color:var(--sub);
                transition:color .25s;}
.kt-dcal .rel .ar{grid-column:2;grid-row:1/span 2;font-size:1.15rem;color:var(--gold-deep);
                 transition:transform .2s,color .25s;}
.kt-dcal .rel a:hover .t,.kt-dcal .rel a:hover .ar{color:#fff;}
.kt-dcal .rel a:hover .d{color:rgba(255,255,255,.85);}
.kt-dcal .rel a:hover .ar{transform:translateX(3px);}
.kt-dcal .rel a:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;}

/* ===== スマホ ============================================================
 *  印が3つ付いたとき、表の最小幅が44remだとセル幅100pxで名前と印が
 *  折り返してしまう。49remに広げてある。
 * ====================================================================== */
@media (max-width:1080px){
  .kt-dcal .cal-head{text-align:left;}
  .kt-dcal .cal-h1{font-size:1.75rem;}
  .kt-dcal .cal-sub{text-align:left;font-size:.88rem;}
  .kt-dcal .cal-body{padding:2.25rem 1.25rem 4.5rem;}
  .kt-dcal .cal-grp + .cal-grp{margin-top:3.25rem;}
  .kt-dcal .cal-h2{font-size:1.25rem;}
  .kt-dcal .cal-hint{display:block;font-size:.72rem;letter-spacing:.06em;color:#A39B8E;
                    margin:0 0 .5rem;text-align:right;}
  .kt-dcal .cal-scroll{margin:0 -1.25rem;padding:0 1.25rem;}
  .kt-dcal .cal-tbl{min-width:49rem;}
  .kt-dcal .cal-c{min-height:5.4rem;}
  .kt-dcal .rel{grid-template-columns:minmax(0,1fr);margin-top:3rem;}
}
