/* Българският календар – only what the imena calendar's stylesheet does not have. */
/* Colours inside the day cells: at least 4.5:1 on the tinted cells in both modes (WCAG AA). --k-off-tint only tints backgrounds. */
.kalendar{--k-off-tint:#d33a2c;--k-off:#a01b11;--k-weekend:#8a2a20;--k-fast:#146236;--k-fish:#174f92;--k-mark:#7a1f64;--k-muted:#4f5357;max-width:none}
:root[data-theme=dark] .kalendar{--k-off:#ff8a7a;--k-weekend:#ffb3a8;--k-fast:#5fd38f;--k-fish:#7ab4f5;--k-mark:#f0a3dc;--k-muted:#a9b4c4}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .kalendar{--k-off:#ff8a7a;--k-weekend:#ffb3a8;--k-fast:#5fd38f;--k-fish:#7ab4f5;--k-mark:#f0a3dc;--k-muted:#a9b4c4}}
.kalendar .imena-calendar-header a.kalendar-nav{align-items:center;border:1px solid var(--imena-edge);border-radius:999px;color:var(--imena-muted)!important;display:inline-flex;font-weight:700;height:2.5rem;justify-content:center;min-width:2.5rem;padding:0 .9rem;text-decoration:none}
.kalendar .imena-calendar-header a[rel]{font-size:1.4rem;padding:0 .6rem}
.kalendar .imena-calendar-header a.kalendar-nav:hover,.kalendar .imena-calendar-header a.kalendar-nav:focus-visible{border-color:color-mix(in srgb,var(--imena-accent) 45%,transparent);color:var(--imena-accent-text)!important}
.kalendar .imena-month-year{font-size:1.05rem;margin:0;order:0}
.kalendar-day-page .imena-month-year{text-transform:none}
.kalendar .imena-month-year a{color:inherit;text-decoration:none}
.kalendar .imena-calendar-header a[rel=prev]{order:1}.kalendar .kalendar-today{order:2}.kalendar .imena-calendar-header a[rel=next]{order:3}
.kalendar .imena-calendar-body td{padding:0}
.kalendar .imena-calendar-body td>a{color:inherit;display:block;height:100%;min-height:inherit;overflow:hidden;padding:.4rem;text-decoration:none}
.kalendar .day-number{display:block}
.kalendar td.weekend .day-number{color:var(--k-weekend)}
.kalendar td.off .day-number,.kalendar .k-off{color:var(--k-off);font-weight:800}
.kalendar td.off{background:color-mix(in srgb,var(--k-off-tint) 14%,transparent)}
.kalendar td.today{border-color:var(--imena-accent);box-shadow:inset 0 0 0 1px var(--imena-accent)}
.kalendar-marks{display:flex;flex-wrap:wrap;gap:2px;font-size:.75rem;line-height:1;margin-top:.2rem}
.k-feast,.k-holiday,.k-idea{color:var(--k-mark)}
.k-fast{color:var(--k-fast)}.k-fish{color:var(--k-fish)}.k-free{color:var(--k-muted)}.k-moon{color:var(--k-muted)}
.kalendar-t{color:var(--k-muted);display:block;font-size:.7rem;line-height:1.2;margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kalendar-legend{color:var(--imena-muted);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.25rem 1rem;list-style:none;margin:.6rem 0 0;padding:0}
.kalendar-legend li{margin:0}.kalendar-legend li::before{content:none}
.kalendar-switches{border:0;display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem;padding:0}
.kalendar-switches[hidden]{display:none}
.kalendar-switches legend{float:left;font-size:.8rem;margin-right:.3rem;padding:0;color:var(--imena-muted)}
.kalendar-switches label{align-items:center;border:1px solid var(--imena-edge);border-radius:999px;color:var(--imena-muted);cursor:pointer;display:inline-flex;font-size:.8rem;min-height:2rem;padding:0 .75rem;position:relative}
.kalendar-switches label:has(input:checked){background:color-mix(in srgb,var(--imena-accent) 16%,transparent);border-color:color-mix(in srgb,var(--imena-accent) 55%,transparent);color:var(--imena-strong)}
.kalendar-switches label:has(input:focus-visible){outline:2px solid var(--imena-accent-text);outline-offset:2px}
.kalendar-switches input{appearance:none;-webkit-appearance:none;height:100%;inset:0;margin:0;opacity:0;position:absolute;width:100%}
.kalendar .kalendar-agenda li{align-items:flex-start}
.kalendar .kalendar-agenda li.off time a{color:var(--k-off)}
.kalendar .kalendar-agenda li>span>span:not(:last-child)::after{content:" · ";color:var(--imena-muted)}
.kalendar-agenda time a{color:inherit;text-decoration:none}
.kalendar-summary{display:flex;flex-wrap:wrap;gap:.4rem;margin:.25rem 0 1rem}
.kalendar-chip{align-items:center;background:var(--imena-soft);border:1px solid var(--imena-edge);border-radius:999px;display:inline-flex;gap:.35rem;padding:.3rem .7rem}
.kalendar-chip .kalendar-ic{font-size:1.1rem}
.kalendar-section{border-top:1px solid var(--imena-edge);margin-top:.9rem;padding-top:.6rem}
.kalendar-section h3{align-items:center;display:flex;font-size:1.05rem;gap:.45rem;margin:0 0 .5rem}
.kalendar-section h3 .kalendar-ic{font-size:1.35rem}
.kalendar-items{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}
.kalendar-items>li{align-items:flex-start;display:flex;gap:.7rem;margin:0}
.kalendar-items>li::before{content:none}
.kalendar-items .kalendar-ic{flex:0 0 2.2rem;font-size:1.7rem;line-height:1.15;text-align:center}
.kalendar-items>li>div{min-width:0}
.kalendar-ic{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.kalendar-note{color:var(--imena-muted);display:block;font-size:.95rem;line-height:1.5}
.kalendar-items strong,.kalendar-note strong{color:var(--imena-strong)}
.kalendar-sign{white-space:nowrap}
.kalendar-source{color:var(--imena-muted);font-size:.85rem}
.kalendar-status{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:700;margin-left:.3rem;padding:.05rem .5rem;vertical-align:middle}
.kalendar-status.k-good{background:color-mix(in srgb,var(--k-fast) 18%,transparent)}
.kalendar-status.k-ok{background:color-mix(in srgb,#e0a100 20%,transparent)}
.kalendar-status.k-bad{background:color-mix(in srgb,var(--k-off-tint) 16%,transparent)}
.kalendar-quiet{color:var(--imena-muted)}
.kalendar-periods{color:var(--imena-muted);font-size:.9rem;margin:0 0 .6rem}
.kalendar-year-link{margin:1rem 0 0;text-align:right}
.kalendar-months{display:grid;gap:1rem .8rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr))}
.kalendar-mini h3{font-size:1rem;margin:0 0 .3rem;text-transform:capitalize}
.kalendar-mini table{border-collapse:collapse;font-size:.8rem;table-layout:fixed;width:100%}
.kalendar-mini th{color:var(--imena-muted);font-weight:600;padding:.1rem 0}
.kalendar-mini td{padding:0;text-align:center}
.kalendar-mini td a{border-radius:.4rem;color:inherit;display:block;line-height:1.9;text-decoration:none}
.kalendar-mini td.weekend a{color:var(--k-weekend)}
.kalendar-mini td.off a{background:color-mix(in srgb,var(--k-off-tint) 16%,transparent);color:var(--k-off);font-weight:800}
.kalendar-mini td.feast a{text-decoration:underline dotted}
.kalendar-mini td.today a{box-shadow:inset 0 0 0 1px var(--imena-accent)}
.kalendar[data-hide~=days_off] td.off{background:none}
.kalendar .k-layer-off{display:none!important}
/* Layers off by default stay hidden until the reader switches them on (the script then decides). */
.kalendar[data-view=month]:not([data-hide]) .k-l-garden{display:none}
.k-moonday{font-size:.95em;line-height:1}.k-zodiac,.k-season,.k-retro{color:var(--k-mark)}.k-season{font-weight:800}
.kalendar-countdown{margin:1rem 0}
.kalendar-countdown h3{font-size:1rem;margin:0 0 .5rem}
.kalendar-countdown ul{display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,6.6rem),1fr));list-style:none;margin:0;padding:0}
.kalendar-countdown li{margin:0}.kalendar-countdown li::before{content:none}
.kalendar-countdown a{background:var(--imena-soft);border:1px solid var(--imena-edge);border-radius:.75rem;color:inherit;display:grid;gap:0;height:100%;line-height:1.25;padding:.45rem .55rem;text-decoration:none}
.kalendar-countdown strong{font-size:.85rem}
.kalendar-countdown a:hover{border-color:color-mix(in srgb,var(--imena-accent) 55%,transparent)}
.kalendar-cd-date{color:var(--imena-muted);font-size:.75rem}
.kalendar-cd-left{color:var(--k-mark);font-size:1rem;font-weight:800}
/* Phones: the calendar takes the whole width – no frame of its own – with taller, wider cells (like the year view) and at most three marks a day. */
@media (max-width:600px){
.kalendar.imena-calendar{background:transparent;border:0;box-shadow:none;padding:0}
.kalendar .imena-calendar-table{border-spacing:3px;margin:0 -3px;width:calc(100% + 6px)}
.kalendar .imena-calendar-body td{border-radius:.55rem;height:3.9rem}
.kalendar .imena-calendar-body td>a{padding:.4rem .1rem .3rem;text-align:center}
.kalendar .day-number{font-size:1.05rem}
.kalendar-t{display:none}
.kalendar-marks{flex-wrap:nowrap;font-size:.8rem;gap:1px;justify-content:center;margin-top:.3rem;overflow:hidden}
.kalendar-marks>span:nth-child(n+4){display:none}
.kalendar-items .kalendar-ic{flex-basis:2rem;font-size:1.5rem}
}

/* Day page extras */
.kalendar-dayinfo{color:var(--imena-muted);font-size:.9rem;margin:-.4rem 0 .8rem}
.kalendar-now{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .8rem}
.kalendar-now[hidden]{display:none}
.kalendar-now strong{font-size:.9rem;margin-right:.2rem}
.kalendar-now a{align-items:center;border:1px solid var(--imena-edge);border-radius:999px;display:inline-flex;gap:.3rem;padding:.25rem .65rem;text-decoration:none}
.kalendar-names{display:block}
.kalendar-wishes{display:inline-flex;gap:.3rem;margin-top:.3rem}
/* The reader's own names */
.kalendar td.k-mine{box-shadow:inset 0 0 0 2px #e0a100}
.kalendar td.k-mine>a::after{content:"🎂";font-size:.8rem;position:absolute;right:.2rem;top:.15rem}
.kalendar li.k-mine,.kalendar .kalendar-names.k-mine{background:color-mix(in srgb,#e0a100 14%,transparent);border-radius:.4rem}
.kalendar .kalendar-names.k-mine::after{content:" 🎉 от вашите имена"}
/* Feed box */
.kalendar-feed{background:var(--imena-soft);border:1px solid var(--imena-edge);border-radius:.75rem;margin:1.2rem 0 0;padding:.6rem .9rem}
.kalendar-feed summary{cursor:pointer;font-weight:700}
.kalendar-feed-layers{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:.4rem 0}
.kalendar-feed-layers label{align-items:center;display:inline-flex;gap:.3rem}
.kalendar-feed-links{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 .2rem}
.kalendar-feed-links a.disabled{opacity:.45;pointer-events:none}
/* Year: printable */
.kalendar-print-title{display:none}
.kalendar-print-row{margin:0 0 .6rem}
@media print{
body *{visibility:hidden}
}
@media print{
/* The year on its own A4 landscape page (a named page: the month prints portrait). */
@page kyear{size:A4 landscape;margin:10mm}
.kalendar-year-page{page:kyear}
.kalendar-year-page,.kalendar-year-page *{visibility:visible}
.kalendar-year-page{background:#fff!important;border:0!important;box-shadow:none!important;color:#000;left:0;padding:0!important;position:absolute;top:0;width:100%}
.kalendar-year-page .imena-calendar-header,.kalendar-year-page .kalendar-countdown,.kalendar-year-page .kalendar-print-row,.kalendar-year-page .kalendar-section,.kalendar-year-page .kalendar-quiet{display:none!important}
.kalendar-print-title{display:block;font-size:16pt;font-weight:800;margin:0 0 4mm}
.kalendar-months{gap:4mm 6mm!important;grid-template-columns:repeat(4,1fr)!important}
.kalendar-mini h3{font-size:11pt!important;margin:0 0 1mm!important}
.kalendar-mini h3 a{color:#000;text-decoration:none}
.kalendar-mini table{font-size:9pt}
.kalendar-mini td a{color:#000!important;line-height:1.55}
.kalendar-mini td.weekend a{color:#a01b11!important}
.kalendar-mini td.off a{background:#f6d5d1!important;color:#a01b11!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.kalendar-mini td.today a,.kalendar-year-page td.today{border-color:transparent!important;box-shadow:none!important}
}
@media print{
/* A month on A4 portrait: the grid with names and marks, the legend; not the switches, lists or boxes. */
@page{margin:10mm}
.kalendar[data-view=month],.kalendar[data-view=month] *{visibility:visible}
.kalendar[data-view=month]{background:#fff!important;border:0!important;box-shadow:none!important;color:#000;left:0;padding:0!important;position:absolute;top:0;width:100%}
.kalendar[data-view=month] .imena-calendar-header,.kalendar[data-view=month] .kalendar-switches,.kalendar[data-view=month] .kalendar-print-row,.kalendar[data-view=month] .kalendar-countdown,.kalendar[data-view=month] .imena-calendar-agenda,.kalendar[data-view=month] .kalendar-feed,.kalendar[data-view=month] .kalendar-year-link{display:none!important}
.kalendar[data-view=month] .imena-calendar-body td{background:#fff!important;border:1px solid #bbb!important;box-shadow:none!important;height:22mm!important;vertical-align:top}
.kalendar[data-view=month] td.off{background:#f6d5d1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.kalendar[data-view=month] .kalendar-t{color:#333!important;display:block!important;font-size:8pt;white-space:normal}
.kalendar[data-view=month] .kalendar-marks>span{display:inline!important}
.kalendar[data-view=month] td.k-mine>a::after{content:none}
}
