/* Shared printable-calendar structure (grid + toolbar + print). Themed by each
   skin through --c (accent), --line/--line2, --card, --ink, --mut, --cal-hol. */
.cal-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 20px}
.cal-btn{display:inline-flex;align-items:center;gap:7px;background:var(--c);color:#fff;border:0;border-radius:8px;
  padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;font-family:inherit;line-height:1}
.cal-btn.alt{background:transparent;color:var(--c);border:1.5px solid var(--c)}
.cal-btn:hover{filter:brightness(1.07);text-decoration:none}

.cal-yearnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.cal-yearnav a{padding:7px 15px;border-radius:999px;font-weight:700;font-size:14px;border:1px solid var(--line2,#ddd);color:var(--ink,#222);text-decoration:none}
.cal-yearnav a:hover{border-color:var(--c);color:var(--c);text-decoration:none}
.cal-yearnav a.is-cur{background:var(--c);color:#fff;border-color:var(--c)}

/* Year view: twelve mini-months */
.cal-months{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0}
.cal-month{border:1px solid var(--line2,#e2e2e2);border-radius:10px;overflow:hidden;background:var(--card,#fff)}
.cal-m-head{background:var(--c);color:#fff;font-weight:700;padding:9px 13px;font-size:15px}
.cal-m-head a{color:#fff;text-decoration:none}
.cal-m-head a:hover{text-decoration:underline}
.cal-grid{width:100%;border-collapse:collapse;table-layout:fixed}
.cal-grid th{font-size:11px;font-weight:700;color:var(--mut,#777);padding:6px 0;text-transform:uppercase}
.cal-grid td{text-align:center;font-size:12.5px;padding:5px 0;border:1px solid var(--line,#f0f0f0);
  font-variant-numeric:tabular-nums;height:30px;color:var(--ink,#222)}
.cal-grid td.cal-empty{background:var(--parch2,#fafafa);border-color:transparent}
.cal-grid td.cal-hol{background:var(--cal-hol,#fdecec);color:var(--cal-hol-ink,#c0392b);font-weight:700}

/* Single large month */
.cal-lg{max-width:820px}
.cal-lg .cal-m-head{font-size:24px;padding:14px 18px;font-family:var(--serif,inherit)}
.cal-lg .cal-grid td{font-size:17px;height:78px;vertical-align:top;text-align:right;padding:8px 11px}
.cal-lg .cal-grid th{font-size:13px;padding:9px 11px;text-align:left}
.cal-lg .cal-grid td.cal-hol{position:relative}

.cal-hol-list{max-width:820px;margin:14px 0 0}

@media(max-width:760px){
  .cal-months{grid-template-columns:repeat(2,1fr);gap:12px}
  .cal-lg .cal-grid td{height:54px;font-size:14px;padding:5px 7px}
}
@media(max-width:460px){
  .cal-months{grid-template-columns:1fr}
  .cal-lg .cal-grid td{height:46px}
}

/* Print: strip chrome, clean black-and-white calendar */
@media print{
  .g-header,.g-footer,.cal-toolbar,.cal-yearnav,.articles-strip,.faq,.mnav-btn,.mnav-overlay,
  .crumbs,.cal-monthnav,.longform,.content-body{display:none !important}
  body{background:#fff !important;color:#000 !important}
  .g-main{max-width:100% !important;padding:0 !important;margin:0 !important}
  .cal-month{break-inside:avoid;border-color:#000}
  .cal-m-head{background:#fff !important;color:#000 !important;border-bottom:2px solid #000}
  .cal-grid td{border-color:#333 !important;color:#000 !important}
  .cal-grid td.cal-hol{background:#fff !important;color:#000 !important;text-decoration:underline;font-weight:700}
  .cal-months{grid-template-columns:repeat(3,1fr);gap:8px}
  .cal-lg .cal-grid td{height:96px}
}
