/* NOTE.radio Kalendarium v0.4.16 K5.4 — structured editorial modules.
   Scope ONLY existing Kalendarium Elementor/shortcode containers. No theme-global changes. */
.ntr-kal-k51-root .ntr-kal-k54-list,
.ntr-kal-k54-home{--k54-ink:var(--ntr-text-primary,var(--ntr-theme-text-primary,#0c2035));--k54-muted:var(--ntr-text-secondary,var(--ntr-theme-text-secondary,#586a7b));--k54-border:var(--ntr-border,var(--ntr-theme-border,rgba(32,56,77,.13)));--k54-soft:var(--ntr-surface-2,var(--ntr-theme-surface-2,#f1f5f7));--k54-card:var(--ntr-surface,var(--ntr-theme-surface,#fff));--k54-accent:var(--ntr-accent,#ff7900)}
.ntr-kal-k51-root .ntr-kal-k54-list{display:grid;gap:0;font-size:15px;line-height:1.55}
.ntr-kal-k51-root .ntr-kal-k54-holiday{display:grid;grid-template-columns:43px minmax(0,1fr);gap:14px;align-items:start;padding:11px 0;border-bottom:1px solid var(--k54-border);color:var(--k54-ink)}
.ntr-kal-k51-root .ntr-kal-k54-holiday:last-child{border-bottom:0}
.ntr-kal-k51-root .ntr-kal-k54-holiday-icon{width:40px;height:40px;display:grid;place-items:center;background:color-mix(in srgb,var(--k54-accent) 8%,var(--k54-card));border-radius:10px}
.ntr-kal-k51-root .ntr-kal-k54-holiday-icon img{width:21px;height:21px;object-fit:contain}
.ntr-kal-k51-root .ntr-kal-k54-name{font-weight:800;color:var(--k54-ink)}
.ntr-kal-k51-root .ntr-kal-k54-desc,.ntr-kal-k51-root .ntr-kal-k54-event,.ntr-kal-k51-root .ntr-kal-k54-person-description{color:var(--k54-muted);font-weight:400}
.ntr-kal-k51-root .ntr-kal-k54-history{position:relative;padding-left:25px}
.ntr-kal-k51-root .ntr-kal-k54-history:before{content:"";position:absolute;top:23px;bottom:23px;left:5px;background:var(--k54-accent);width:2px;opacity:.55}
.ntr-kal-k51-root .ntr-kal-k54-history-row{position:relative;display:grid;grid-template-columns:minmax(67px,max-content) 1fr;gap:14px;align-items:start;padding:9px 0}
.ntr-kal-k51-root .ntr-kal-k54-history-row:before{content:"";position:absolute;left:-24px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--k54-accent)}
.ntr-kal-k51-root .ntr-kal-k54-year{display:inline-flex;justify-content:center;align-items:center;min-height:32px;padding:4px 10px;border-radius:8px;background:var(--k54-soft);color:var(--k54-ink);font-size:15px;font-weight:850;white-space:nowrap}
.ntr-kal-k51-root .ntr-kal-k54-event{padding-top:3px}
.ntr-kal-k51-root .ntr-kal-k54-births{gap:0}
.ntr-kal-k51-root .ntr-kal-k54-person{display:grid;grid-template-columns:86px minmax(0,1fr);gap:16px;align-items:start;padding:15px 0;border-bottom:1px solid var(--k54-border)}
.ntr-kal-k51-root .ntr-kal-k54-person:last-child{border-bottom:0}
.ntr-kal-k51-root .ntr-kal-k54-person-photo{width:86px;height:92px;border-radius:11px;overflow:hidden;background:var(--k54-soft);display:grid;place-items:center;color:var(--k54-muted)}
.ntr-kal-k51-root .ntr-kal-k54-person-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.ntr-kal-k51-root .ntr-kal-k54-person-deceased .ntr-kal-k54-person-img{filter:grayscale(1);-webkit-filter:grayscale(1)}
.ntr-kal-k51-root .ntr-kal-k54-no-photo{font-size:26px;opacity:.3}
.ntr-kal-k51-root .ntr-kal-k54-person-year{background:color-mix(in srgb,var(--k54-accent) 12%,var(--k54-card));color:var(--k54-accent);padding:3px 9px;border-radius:7px;margin-right:6px;white-space:nowrap;font-size:13px;font-weight:850;display:inline-block}
.ntr-kal-k51-root .ntr-kal-k54-person-name{color:var(--k54-ink);font-weight:850;font-size:16px}
.ntr-kal-k51-root .ntr-kal-k54-person-description{margin:6px 0 5px!important;line-height:1.55}
.ntr-kal-k51-root .ntr-kal-k54-death-date{display:inline-block;font-size:12px;background:var(--k54-soft);color:var(--k54-muted);border-radius:7px;padding:3px 8px;margin-top:4px}
.ntr-kal-k51-root .ntr-kal-k54-legacy-line{margin:0 0 9px!important;padding:5px 0;border-bottom:1px solid var(--k54-border)}
.ntr-kal-k51-root .ntr-kal-m-zodiac{position:relative;padding-right:98px!important;min-height:95px}
.ntr-kal-k51-root .ntr-kal-k54-zodiac-symbol{position:absolute;right:2px;top:5px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:43px;font-family:Arial,sans-serif;color:var(--k54-accent,var(--ntr-accent,#ff7900));background:color-mix(in srgb,var(--ntr-accent,#ff7900) 12%,transparent)}
/* ================================================================
   K5.5 v1.1.0 — Homepage Kalendarium card (real Elementor widget)
   Container-width responsive: built for NOTE.radio's ~330px sidebar.
   Keep all other K5.4 modules unchanged. The featured-image wash is
   retained and never obscures text or switches fixed theme colors.
   ================================================================ */
.ntr-kal-k54-home{
  display:block;position:relative;isolation:isolate;overflow:hidden;width:100%;
  min-height:0;padding:18px 18px 15px;border:1px solid var(--k54-border);
  border-radius:16px;background:var(--k54-card);color:var(--k54-ink);
  text-decoration:none!important;box-shadow:0 8px 26px rgba(6,20,31,.035);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.ntr-kal-k54-home:hover{
  text-decoration:none!important;transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--k54-accent) 35%,var(--k54-border));
  box-shadow:0 12px 28px rgba(6,20,31,.09)
}
.ntr-kal-k54-home:focus-visible{
  outline:3px solid var(--k54-accent);outline-offset:3px
}
.ntr-kal-k54-home-media{
  position:absolute;z-index:0;inset:0;background-position:center;background-size:cover;
  opacity:.17;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 8%,#000 100%);
}
.ntr-kal-k54-home-copy{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:13px;min-width:0
}
.ntr-kal-k55-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.ntr-kal-k54-home-kicker{
  display:inline-flex;gap:6px;align-items:center;min-width:0;
  font-size:10px;letter-spacing:.07em;line-height:1.45;font-weight:800;
  text-transform:uppercase;color:var(--k54-accent);margin:0;
}
.ntr-kal-k54-home-kicker svg{flex:none}
.ntr-kal-k55-kicker-today{color:var(--k54-muted);white-space:nowrap}
.ntr-kal-k55-open{
  display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;
  background:var(--k54-accent);color:#fff;transition:transform .2s ease;
}
.ntr-kal-k54-home:hover .ntr-kal-k55-open{transform:translateX(2px)}
.ntr-kal-k55-date{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.ntr-kal-k55-day{display:block;line-height:.95;letter-spacing:-.06em;font-weight:850;font-size:57px;color:var(--k54-ink)}
.ntr-kal-k55-date-detail{display:flex;flex-direction:column;gap:2px;min-width:0}
.ntr-kal-k55-month{display:block;min-width:0;overflow-wrap:break-word;font-size:clamp(19px,1.5vw,23px);font-weight:850;line-height:1.1;letter-spacing:-.025em;color:var(--k54-ink)}
.ntr-kal-k55-weekday{font-size:14px;line-height:1.4;font-weight:650;color:var(--k54-muted)}
.ntr-kal-k55-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0}
.ntr-kal-k55-stat{
  display:flex;flex-direction:column;min-width:0;padding:10px 11px;border-radius:10px;
  border:1px solid var(--k54-border);
  background:color-mix(in srgb,var(--k54-card) 70%,var(--k54-soft));
}
.ntr-kal-k55-stat-value{font-size:23px;line-height:1.15;font-weight:850;color:var(--k54-ink)}
.ntr-kal-k55-stat-label{font-size:11px;line-height:1.35;font-weight:550;color:var(--k54-muted)}
.ntr-kal-k55-namedays{display:flex;flex-direction:column;gap:4px;min-width:0}
.ntr-kal-k55-namedays-label{text-transform:uppercase;letter-spacing:.065em;color:var(--k54-muted);font-size:10px;font-weight:750}
.ntr-kal-k55-namedays-value{color:var(--k54-ink);font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.ntr-kal-k54-home-cta{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:10px;border-top:1px solid var(--k54-border);
  border-radius:0;background:transparent;color:var(--k54-accent);
  font-size:12px;font-weight:800;line-height:1.4;
}
.ntr-kal-k54-home-cta span:last-child{font-size:18px;line-height:1}
html[data-ntr-theme-effective="dark"] .ntr-kal-k51-root .ntr-kal-k54-list,
html[data-ntr-theme-effective="dark"] .ntr-kal-k54-home{
  --k54-ink:var(--ntr-text-primary,#f4f8fb);
  --k54-muted:var(--ntr-text-secondary,#a2b5c5);
  --k54-border:var(--ntr-border,rgba(255,255,255,.15));
  --k54-card:var(--ntr-surface,#102537);
  --k54-soft:var(--ntr-surface-2,#1d3648);
}
@media(max-width:767px){
 .ntr-kal-k51-root .ntr-kal-k54-history-row{grid-template-columns:60px 1fr;gap:10px}
 .ntr-kal-k51-root .ntr-kal-k54-person{grid-template-columns:68px 1fr;gap:11px}
 .ntr-kal-k51-root .ntr-kal-k54-person-photo{width:68px;height:78px}
 .ntr-kal-k51-root .ntr-kal-k54-person-name{display:block;margin-top:4px}
}
@media(max-width:330px){
 .ntr-kal-k54-home{padding:14px}
 .ntr-kal-k55-day{font-size:47px}
 .ntr-kal-k55-month{font-size:19px}
 .ntr-kal-k55-date{gap:9px}
}
@media(prefers-reduced-motion:reduce){
 .ntr-kal-k54-home,.ntr-kal-k55-open{transition:none!important}
 .ntr-kal-k54-home:hover{transform:none}
}
