/* Calendar-date decoration only. Existing shift colors, date selection,
   focus outlines, sticky cells and table dimensions remain authoritative. */
[data-holiday-theme="winter"]{--hcal-accent:#225ba0;--hcal-line:#c9dcee;--hcal-tint:#eff6fd;--hcal-trim:url("season-winter-trim.webp")}
[data-holiday-theme="valentine"]{--hcal-accent:#aa2755;--hcal-line:#edc8d5;--hcal-tint:#fff3f6;--hcal-trim:url("season-valentine-trim.webp")}
[data-holiday-theme="clover"]{--hcal-accent:#20733e;--hcal-line:#c5dcc4;--hcal-tint:#eff8ee;--hcal-trim:url("season-clover-trim.webp")}
[data-holiday-theme="spring"]{--hcal-accent:#386740;--hcal-line:#d3e0c6;--hcal-tint:#f6faf0;--hcal-trim:url("season-spring-trim.webp")}
[data-holiday-theme="memorial"]{--hcal-accent:#a32a3e;--hcal-line:#c7d5e8;--hcal-tint:#f2f6fc;--hcal-trim:url("season-memorial-trim.webp")}
[data-holiday-theme="summer"]{--hcal-accent:#0b7081;--hcal-line:#c1dfe0;--hcal-tint:#edf9fa;--hcal-trim:url("season-summer-trim.webp")}
[data-holiday-theme="independence"]{--hcal-accent:#265aa4;--hcal-line:#c4d3ed;--hcal-tint:#f0f4fc;--hcal-trim:url("season-independence-trim.webp")}
[data-holiday-theme="autumn"]{--hcal-accent:#a24923;--hcal-line:#e5ccad;--hcal-tint:#fff6eb;--hcal-trim:url("season-autumn-trim.webp")}
[data-holiday-theme="halloween"]{--hcal-accent:#64359b;--hcal-line:#d6c8e4;--hcal-tint:#f8f3fb;--hcal-trim:url("season-halloween-trim.webp")}
[data-holiday-theme="midnight-masquerade"]{--hcal-accent:#85172b;--hcal-line:#bac8db;--hcal-tint:#edf2f8;--hcal-trim:url("season-midnight-masquerade-trim.webp")}
[data-holiday-theme="thanksgiving"]{--hcal-accent:#a4481b;--hcal-line:#e5cbaa;--hcal-tint:#fff7ed;--hcal-trim:url("season-thanksgiving-trim.webp")}
[data-holiday-theme="christmas"]{--hcal-accent:#a82432;--hcal-line:#c4dcda;--hcal-tint:#f1f8f6;--hcal-trim:url("season-christmas-trim.webp")}

/* Recolor existing edges only; do not add width or replace today/focus shadows. */
[data-holiday-date][data-holiday-theme][data-holiday-art][data-holiday]:is([data-holiday-kind="header"],[data-holiday-kind="cell"],[data-holiday-kind="card"]){border-inline-color:var(--hcal-accent)}
[data-holiday-date][data-holiday-theme][data-holiday-art][data-holiday][data-holiday-kind="header"]{border-bottom-color:var(--hcal-accent)}

.hcal-badge[data-holiday-label]:not([data-holiday-theme]){display:none}
.hcal-badge[data-holiday-label][data-holiday-theme]{
 display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px;
 box-sizing:border-box;width:fit-content;max-width:100%;min-width:0;margin:4px auto 0;
 padding:3px 5px;border:1px solid var(--hcal-line);border-radius:6px;
 background:var(--hcal-tint);color:var(--hcal-accent);font-size:10px;font-weight:650;line-height:1.35;
 letter-spacing:0;text-transform:none;text-align:center;white-space:normal;vertical-align:middle;
 overflow-wrap:anywhere;pointer-events:none;
}
.hcal-icon{display:inline-block;flex:0 0 auto;font-size:14px;font-weight:400;line-height:1.1}
.hcal-icon>svg{display:block;width:1em;height:1em}
.hcal-name{display:inline;min-width:0;font-size:inherit;font-weight:650;line-height:1.35;white-space:normal;overflow-wrap:anywhere}

/* Artwork has its own small row below the readable label, never behind a shift.
   Compact dates use the motif and a visible date/name key below their calendar. */
[data-holiday-kind="header"]>.hcal-badge[data-holiday-art="full"]:not(.hcal-badge-compact)::after,
[data-holiday-kind="day"] .hcal-badge[data-holiday-art="full"]:not(.hcal-badge-compact)::after,
[data-holiday-kind="card"]>.hcal-badge[data-holiday-art="full"]:not(.hcal-badge-compact)::after{
 content:"";display:block;flex:0 0 100%;width:100%;height:8px;max-height:8px;margin-top:1px;border-radius:2px;
 background:var(--hcal-trim) center/cover no-repeat;pointer-events:none;
}
.hcal-badge[data-holiday-label].hcal-badge-compact{align-self:center;width:auto;margin-top:2px;padding:1px 3px;border-radius:4px;line-height:1.2}
.hcal-badge-compact .hcal-icon{font-size:13px}
.hcal-badge-compact .hcal-name{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.hcal-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0;padding:0 2px;line-height:1.4}
.hcal-summary:empty{display:none}
.hcal-summary-item{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;flex-wrap:wrap}
.hcal-summary-date{font-size:11px;font-weight:650;color:#43566f;white-space:normal}
.hcal-summary .hcal-badge[data-holiday-label]{margin:0}

[data-holiday-ink="true"]{--hcal-accent:#111;--hcal-line:#777;--hcal-tint:#fff;--hcal-trim:none}
[data-holiday-ink="true"].hcal-badge::after,[data-holiday-ink="true"] .hcal-badge::after{display:none!important}
@media(forced-colors:active){
 [data-holiday-theme]{--hcal-accent:CanvasText;--hcal-line:CanvasText;--hcal-tint:Canvas;--hcal-trim:none}
 .hcal-badge[data-holiday-label][data-holiday-theme]{forced-color-adjust:auto;background:Canvas;color:CanvasText;border-color:CanvasText}
 .hcal-badge::after{display:none!important}
 .hcal-summary-date{color:CanvasText}
}
@media print{
 .hcal-badge[data-holiday-label][data-holiday-theme]{font-size:8px;padding:2px 3px;break-inside:avoid;page-break-inside:avoid}
 .hcal-icon{font-size:11px}
 .hcal-summary{margin:5px 0;gap:4px 8px}
}
