/*
 * 開催日程カレンダー(無料オンライン説明会・無料体験会)
 * レイアウトは school.inkmake.jp の講習カレンダー(FullCalendar)に準拠し、配色はモック(mock-base.css)の変数に合わせる。
 * FullCalendar 本体の CSS(/lib/AdminLTE/plugins/fullcalendar/main.min.css)の後に読み込むこと。
 * 639px 以下はスマホ表示(.ev-short を表示、マスを詰める)。
 */

/* ===== 枠 ===== */
.schedule-calendar{background:#fff;border:1px solid var(--line,#dcd6cc);padding:40px;margin:8px 0 48px;font-size:14px;line-height:1.5;letter-spacing:.02em;color:var(--text,#232a35)}
.schedule-calendar + .article h3,.schedule-calendar + .single-note{margin-top:0}

/* ===== ツールバー ===== */
.schedule-calendar.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.2em}
.schedule-calendar.fc .fc-toolbar-title{font-family:var(--serif,serif);font-size:1.5em;font-weight:600;letter-spacing:.08em;color:var(--ink,#0A1C37)}
.schedule-calendar.fc .fc-button-primary,
.schedule-calendar.fc .fc-button-primary:disabled{background-color:var(--copper,#b0814e) !important;border-color:var(--copper,#b0814e) !important;color:#fff}
.schedule-calendar.fc .fc-button-primary:not(:disabled):hover{opacity:.85}
.schedule-calendar.fc .fc-button-primary:focus,
.schedule-calendar.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:none}
.schedule-calendar.fc .fc-button{min-width:0;width:auto;line-height:1.5}

/* ===== 曜日・日付 ===== */
.schedule-calendar.fc-theme-standard td,
.schedule-calendar.fc-theme-standard th,
.schedule-calendar.fc-theme-standard .fc-scrollgrid{border-color:var(--line,#dcd6cc)}
.schedule-calendar.fc .fc-col-header-cell-cushion{font-weight:600;padding:6px 4px}
.schedule-calendar.fc .fc-day-sun .fc-col-header-cell-cushion,
.schedule-calendar.fc .fc-day-sun .fc-daygrid-day-number{color:#c0392b}
.schedule-calendar.fc .fc-day-sat .fc-col-header-cell-cushion,
.schedule-calendar.fc .fc-day-sat .fc-daygrid-day-number{color:#2a6fb0}
.schedule-calendar.fc .fc-day-today{background:var(--paper-dim,#f2efe9) !important}
.schedule-calendar .fc-daygrid-day-number{font-size:1.2em}

/* 開催日のアクセント: マスを淡い銅色、日付を銅色の丸で囲む。受付中の会が無い日(満席・受付期間前のみ)はグレー */
.schedule-calendar.fc .fc-daygrid-day.has-event{background:rgba(176,129,78,.09) !important}
.schedule-calendar.fc .fc-daygrid-day.has-event.is-closed{background:rgba(35,42,53,.035) !important}
.schedule-calendar.fc .fc-daygrid-day.has-event .fc-daygrid-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.6em;margin:4px 4px 0 0;padding:0 .25em;border-radius:.8em;background:var(--copper,#b0814e);color:#fff !important;font-weight:600;line-height:1}
.schedule-calendar.fc .fc-daygrid-day.has-event.is-closed .fc-daygrid-day-number{background:#c6c1b8}
.schedule-calendar.fc .fc-daygrid-day.has-event.fc-day-today .fc-daygrid-day-number{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--copper,#b0814e)}
.schedule-calendar table.fc-scrollgrid-sync-table tr{height:100px}

/* ===== イベント(○×−のアイコン + 文言) ===== */
.schedule-calendar .fc-daygrid-event-dot{margin:0;width:12px;min-width:12px;height:22px;border:none;background-repeat:no-repeat;background-position:left center}
.schedule-calendar .fc-daygrid-event{margin-left:10px !important;white-space:normal;font-size:14px}
.schedule-calendar .fc-daygrid-dot-event{flex-wrap:nowrap;align-items:normal;color:var(--text,#232a35)}
.schedule-calendar .fc-daygrid-dot-event .fc-event-title{font-weight:normal;padding-left:4px}
.schedule-calendar .fc-event-time{display:none}
.schedule-calendar .ex-event-ok{cursor:pointer}
.schedule-calendar .ex-event-ok:hover{background:var(--paper-dim,#f2efe9)}
.schedule-calendar .ex-event-ok:hover .fc-event-title{color:var(--copper,#b0814e)}
.schedule-calendar .ex-event-full,
.schedule-calendar .ex-event-before{cursor:default}
.schedule-calendar .ex-event-full:hover,
.schedule-calendar .ex-event-before:hover{background:none}
.schedule-calendar .ex-event-before{opacity:.6}
.schedule-calendar .ev-short{display:none}
.schedule-calendar .ev-full{word-break:keep-all;overflow-wrap:anywhere}

/* アイコン(school.inkmake.jp の icon-maru / icon-batsu / icon-none と同じ図形) */
.schedule-calendar .ex-event-ok .fc-daygrid-event-dot,
.schedule-calendar-icon.is-ok{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10.7 10.7' width='10.7' height='10.7'%3E%3Cpath fill='%231f9b9b' d='M10.7,5.4c0,3-2.4,5.4-5.4,5.4S0,8.3,0,5.4,2.4,0,5.4,0s5.4,2.4,5.4,5.4ZM1.4,5.4c0,2.2,1.8,4,4,4s4-1.8,4-4-1.8-4-4-4-4,1.8-4,4Z'/%3E%3C/svg%3E")}
.schedule-calendar .ex-event-full .fc-daygrid-event-dot,
.schedule-calendar-icon.is-full{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10.1 10.2' width='10.1' height='10.2'%3E%3Cpath fill='%23ed7272' d='M1,10.1L0,9.1l4-4L0,1,1,0l4.1,4.1L9.1,0l1,1-4,4,4,4.1-1,1-4-4.1L1,10.1Z'/%3E%3C/svg%3E")}
.schedule-calendar .ex-event-before .fc-daygrid-event-dot,
.schedule-calendar-icon.is-before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 1.8' width='10' height='1.8'%3E%3Crect fill='%23bbb' width='10' height='1.8'/%3E%3C/svg%3E")}

/* ===== 凡例 ===== */
.schedule-calendar-legend{display:flex;flex-wrap:wrap;gap:6px 24px;margin:4px 0 20px;padding:0;list-style:none;font-size:13px;color:var(--text-soft,#6b7280)}
.schedule-calendar-legend li{display:flex;align-items:center;gap:6px;margin:0;padding:0}
.schedule-calendar-legend li::before{content:none}
.schedule-calendar-icon{display:inline-block;width:12px;height:12px;background-repeat:no-repeat;background-position:center;background-size:contain}

/* ===== スマホ(school.inkmake.jp と同じ 639px 境界) ===== */
@media screen and (max-width:639px){
  .schedule-calendar{padding:16px 8px;margin-bottom:40px;font-size:13px}
  .schedule-calendar .ev-full{display:none}
  .schedule-calendar .ev-short{display:block;margin:2px 0}
  .schedule-calendar table.fc-scrollgrid-sync-table tr{height:auto}
  .schedule-calendar .fc-daygrid-day-events{margin-bottom:0 !important}
  .schedule-calendar .fc-daygrid-event-harness{margin-bottom:2px}
  .schedule-calendar.fc .fc-toolbar-title{font-size:1.1em;letter-spacing:.04em}
  .schedule-calendar.fc .fc-button{padding:.2em .5em;font-size:.85em}
  .schedule-calendar.fc .fc-toolbar.fc-header-toolbar{margin-bottom:.8em}
  .schedule-calendar.fc .fc-col-header-cell-cushion{padding:4px 0}
  .schedule-calendar .fc-daygrid-day-number{font-size:.9em;padding:2px 4px}
  .schedule-calendar.fc .fc-daygrid-day.has-event .fc-daygrid-day-number{min-width:1.6em;height:1.6em;margin:2px 2px 0 0;padding:0 .2em}
  .schedule-calendar.fc .fc-daygrid-day-frame{min-height:60px}
  .schedule-calendar .fc-daygrid-event{padding:0 !important;margin:2px 1px !important;font-size:.8em}
  .schedule-calendar .fc-daygrid-dot-event{flex-direction:column;align-items:center}
  .schedule-calendar .fc-daygrid-event-dot{width:8px;min-width:8px;height:8px;background-size:contain !important;background-position:center !important}
  .schedule-calendar .fc-daygrid-dot-event .fc-event-title{padding:0;line-height:1.2;text-align:center;word-break:break-all}
  .schedule-calendar-legend{gap:4px 16px;font-size:12px}
}
