/* kalendar.crazyartzone.com - layout, calendar tables, printable designs (.kd-<id>), A4 print rules. Ad slots untouched. */
:root { --ink:#22252e; --muted:#6b7080; --line:#e7e9f0; --bg:#f7f8fc; --card:#fff; --acc:#e0485f; --acc2:#3d6fe0;
	--k-bg:#ffffff; --k-ink:#22252e; --k-head:#22252e; --k-th:#6b7080; --k-hol:#e0485f; --k-holbg:#fdecef; --k-we:#e0485f; --k-line:#eceef3; --k-font:'Quicksand'; --k-tfont:'Quicksand'; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.6 'Quicksand', system-ui, sans-serif; font-weight:500; }
a { color:var(--acc2); text-decoration:none; } a:hover { color:var(--acc); }
h1 { font-size:clamp(1.6rem, 3.4vw, 2.3rem); line-height:1.2; margin:.3em 0 .3em; } h2 { margin:1.4em 0 .5em; }
.top { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.93); backdrop-filter:blur(8px); box-shadow:0 4px 18px rgba(34,37,46,.06); }
.top .in { max-width:1200px; margin:0 auto; padding:8px 14px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.logo { font-weight:700; color:var(--ink) !important; margin-right:10px; font-size:17px; } .logo b { color:var(--acc); }
.top nav { display:flex; flex-wrap:wrap; gap:4px; }
.top nav a { padding:6px 12px; border-radius:999px; color:var(--ink); font-weight:600; font-size:14px; }
.top nav a:hover, .top nav a.on { background:var(--acc); color:#fff; }
.wrap { max-width:1200px; margin:0 auto; padding:14px; }
.lead { color:var(--muted); max-width:860px; }
.quick { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0; }
.btn { display:inline-flex; align-items:center; gap:6px; font:inherit; font-weight:700; border:0; border-radius:999px; padding:10px 18px; cursor:pointer; background:var(--acc); color:#fff !important; }
.btn.ghost { background:#fff; color:var(--ink) !important; border:2px solid var(--line); }
.count { display:inline-block; background:#fff; border-radius:14px; padding:8px 14px; box-shadow:0 6px 20px rgba(34,37,46,.06); font-weight:600; }
.states { margin:12px 0; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.states a { background:#fff; border:1px solid var(--line); border-radius:999px; padding:4px 11px; font-size:14px; font-weight:600; }
.ad { margin:14px 0; }
.hint { font-size:13px; color:var(--muted); }
.months a { margin-right:8px; }
footer { text-align:center; color:var(--muted); font-size:13px; padding:28px 14px 60px; }

/* holiday tables */
.tablewrap { overflow-x:auto; background:#fff; border-radius:16px; box-shadow:0 6px 22px rgba(34,37,46,.05); }
table.list { width:100%; border-collapse:collapse; font-size:15px; }
table.list th { text-align:left; background:#f3f4f8; color:var(--muted); font-size:13px; padding:10px 12px; }
table.list td { padding:9px 12px; border-top:1px solid var(--line); vertical-align:top; }
table.list tr.fed td:nth-child(3) { font-weight:700; }
table.list tr.gan td { color:#7a5a00; background:#fffaf0; font-style:italic; }
table.list tr.past td { opacity:.5; }
table.list .all { color:var(--acc); font-weight:700; }
.runs { padding-left:18px; } .runs li { margin:6px 0; } .runs small { color:var(--muted); }

/* options for printable pages */
.opts { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:flex-end; background:#fff; padding:12px 14px; border-radius:16px; box-shadow:0 6px 22px rgba(34,37,46,.05); }
.opts label { display:flex; flex-direction:column; font-size:13px; font-weight:700; gap:4px; }
.opts select { font:inherit; padding:8px 10px; border:2px solid var(--line); border-radius:10px; background:#fff; }
.dpick { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.dpick .sw { padding:6px 14px; border-radius:999px; border:2px solid var(--line); font-weight:700; font-size:13px; color:var(--ink) !important; background:#fff; }
.dpick .sw.on { border-color:var(--acc2); box-shadow:0 0 0 3px rgba(61,111,224,.18); }
.pager { display:flex; justify-content:space-between; margin:14px 0; font-weight:700; }

/* ===== calendar months ===== */
.yeargrid { display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }
@media (max-width:980px) { .yeargrid { grid-template-columns:repeat(3, 1fr); } }
@media (max-width:700px) { .yeargrid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:440px) { .yeargrid { grid-template-columns:1fr; } }
table.mon { width:100%; border-collapse:collapse; background:var(--k-bg); color:var(--k-ink); border-radius:12px; overflow:hidden; font-family:var(--k-font), sans-serif; }
table.mon caption { font-family:var(--k-tfont), sans-serif; font-weight:700; font-size:16px; padding:6px 0 4px; text-align:left; color:var(--k-head); }
table.mon caption a { color:inherit; }
table.mon th { font-size:11px; color:var(--k-th); font-weight:700; padding:3px 0; text-align:center; }
table.mon th.we { color:var(--k-we); }
table.mon td { text-align:center; font-size:13px; padding:4px 0; border-top:1px solid var(--k-line); position:relative; }
table.mon td b { font-weight:600; }
table.mon td.we { color:var(--k-we); }
table.mon td.hol b { display:inline-block; min-width:1.9em; border-radius:999px; background:var(--k-hol); color:#fff; }
table.mon td.today b { outline:2px solid var(--acc2); border-radius:999px; }
/* big month */
table.mon.big { table-layout:fixed; }
table.mon.big caption { display:none; }
table.mon.big th { font-size:13px; padding:8px 0; }
table.mon.big td { height:92px; vertical-align:top; text-align:left; padding:6px 8px; border:1px solid var(--k-line); }
table.mon.big td b { font-size:22px; font-weight:700; }
table.mon.big td.hol { background:var(--k-holbg); }
table.mon.big td.hol b { background:none; color:var(--k-hol); min-width:0; }
table.mon.big td i { position:absolute; right:7px; top:7px; font-size:11px; font-style:normal; color:var(--k-th); }
table.mon.big td small { display:block; font-size:10.5px; line-height:1.25; color:var(--k-hol); font-weight:700; margin-top:3px; }
@media (max-width:640px) { table.mon.big td { height:64px; padding:3px; } table.mon.big td b { font-size:15px; } table.mon.big td small { display:none; } table.mon.big td i { display:none; } }

/* the printable sheet */
.sheet { background:var(--k-bg); color:var(--k-ink); border-radius:18px; padding:22px 24px; margin:16px 0; box-shadow:0 10px 34px rgba(34,37,46,.08); position:relative; overflow:hidden; }
.sheet-head { display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.sheet-title { font-family:var(--k-tfont), sans-serif; font-size:44px; font-weight:700; color:var(--k-head); line-height:1; }
.sheet-sub { color:var(--k-th); font-weight:600; }
.sheet .yeargrid { gap:12px 16px; }
.sheet-list { display:flex; flex-wrap:wrap; gap:4px 16px; margin-top:12px; font-size:12px; }
.sheet-list b { color:var(--k-hol); }
.sheet-foot { text-align:right; font-size:11px; color:var(--k-th); margin-top:8px; }

/* designs */
.kd-pastel  { --k-bg:linear-gradient(140deg, #fff5f8, #f2f6ff 55%, #f1fbf6); --k-ink:#3b3550; --k-head:#d0578a; --k-th:#8a84a3; --k-hol:#d0578a; --k-holbg:#ffe6ef; --k-we:#7a8ee8; --k-line:#ece6f2; --k-tfont:'Fredoka'; }
.kd-bunga   { --k-bg:#fffaf7; --k-ink:#4b3a3f; --k-head:#b94b6d; --k-th:#a08a90; --k-hol:#c2507a; --k-holbg:#fde8ee; --k-we:#c2507a; --k-line:#f3e4e8; --k-tfont:'Playfair Display'; }
.kd-bunga .sheet::before, .kd-bunga .sheet::after { content:"✿"; position:absolute; font-size:120px; color:#f6c9d7; opacity:.55; line-height:1; }
.kd-bunga .sheet::before { top:-62px; right:-18px; }
.kd-bunga .sheet-head, .kd-bunga .yeargrid, .kd-bunga table.mon { position:relative; z-index:1; } .kd-bunga .sheet::after { bottom:-40px; left:6px; transform:rotate(20deg); }
.kd-islamik { --k-bg:linear-gradient(160deg, #f6fbf7, #e8f3ec); --k-ink:#22392d; --k-head:#1d6b47; --k-th:#5d7d6b; --k-hol:#b8892a; --k-holbg:#fbf3dc; --k-we:#1d6b47; --k-line:#d8e8de; --k-tfont:'Amiri'; }
.kd-islamik .sheet { border:3px double #c9a24a; }
.kd-kraf    { --k-bg:#f8f3ec; --k-ink:#3a2e2a; --k-head:#d9577b; --k-th:#7d6d66; --k-hol:#d9577b; --k-holbg:#fbe3ea; --k-we:#6fa58f; --k-line:#ebdfd2; --k-tfont:'Fredoka'; }
.kd-kraf .sheet { background-image:repeating-linear-gradient(0deg, rgba(120,90,60,.04) 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg, rgba(120,90,60,.04) 0 1px, transparent 1px 4px); outline:2px dashed rgba(217,87,123,.35); outline-offset:-10px; }
.kd-moden   { --k-bg:#1d2030; --k-ink:#e9ebf5; --k-head:#ffffff; --k-th:#9aa0bd; --k-hol:#ff6b8b; --k-holbg:#3a2635; --k-we:#7ea2ff; --k-line:#2d3146; }
.kd-pastel .sheet, .kd-islamik .sheet { background:var(--k-bg); }
.sw-minimal { } .sw-pastel { background:linear-gradient(140deg, #fff0f5, #eaf0ff) !important; } .sw-bunga { background:#fff1f5 !important; }
.sw-islamik { background:#e8f3ec !important; } .sw-kraf { background:#f8f3ec !important; } .sw-moden { background:#1d2030 !important; color:#fff !important; }

/* ===== print: just the sheet, A4 landscape ===== */
@media print {
	@page { size:A4 landscape; margin:8mm; }
	body { background:#fff !important; }
	.noprint, .top, footer, .ad, ins, iframe, .adsbygoogle, [class*="google-auto"] { display:none !important; }
	.wrap { padding:0; max-width:none; }
	.sheet { box-shadow:none; border-radius:0; margin:0; padding:6mm 7mm; min-height:190mm; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
	.sheet * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
	.sheet-year .yeargrid { grid-template-columns:repeat(4, 1fr) !important; gap:6px 12px; }
	.sheet-year table.mon caption { font-size:13px; padding:2px 0; }
	.sheet-year table.mon th { font-size:9px; padding:1px 0; }
	.sheet-year table.mon td { font-size:10px; padding:2px 0; }
	.sheet-title { font-size:34px; }
	.sheet-month table.mon.big td { height:24mm; }
	.sheet-list { font-size:9px; }
}
