@charset "utf-8";

.wcfront_calendar { width:100%; }
.wcfront_calendar_nav { display:flex; align-items:center; justify-content:center; gap:24px; margin-bottom:10px; }
.wcfront_calendar_prev,
.wcfront_calendar_next { display:inline-flex; align-items:center; gap:6px; margin:0; padding:0; border:0; background:transparent; color:inherit; font:inherit; line-height:1.4; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
body.pc .wcfront_calendar_prev:hover,
body.pc .wcfront_calendar_next:hover { opacity:0.7; }
.wcfront_calendar_nav_icon { display:inline-block; width:0.45em; height:0.45em; border-left:2px solid currentColor; border-bottom:2px solid currentColor; box-sizing:border-box; flex:0 0 auto; }
.wcfront_calendar_prev .wcfront_calendar_nav_icon { transform:rotate(45deg); }
.wcfront_calendar_next .wcfront_calendar_nav_icon { transform:rotate(-135deg); }
.wcfront_calendar_label { font-weight:700; text-align:center; min-width:8em; }
.wcfront_calendar_table { width:100%; border-collapse:collapse; table-layout:fixed; }
.wcfront_calendar_table th,
.wcfront_calendar_table td { border:1px solid #ddd; text-align:center; padding:8px 0; vertical-align:middle; }
.wcfront_calendar_wday._sun { color:#c0392b; }
.wcfront_calendar_wday._sat { color:#2980b9; }
.wcfront_calendar_day._empty { background:#f7f7f7; }
.wcfront_calendar_day._closed { background:#ffebec; }
.wcfront_calendar_day._today { box-shadow:inset 0 0 0 2px var(--wc-main1, #333); }
.wcfront_calendar_day._today .wcfront_calendar_day_num { font-weight:bold; }
.wcfront_calendar_day_num { display:inline-block; }
.wcfront_calendar_legend { display:flex; align-items:center; gap:8px; margin-top:10px; font-size:13px; }
.wcfront_calendar_legend_swatch { display:inline-block; width:16px; height:16px; border:1px solid #ccc; box-sizing:border-box; }
.wcfront_calendar_legend_swatch._closed { background:#ffebec; border-color:#f1aeb5; }
