/* LISA nieuws-home-widget — opmaak voor Duda. Kleuren via CSS-variabelen.
   Een club overschrijft de huisstijl in één regel:
   .lisa-nh { --lisa-nh-brand: #0a7d4f; } */
.lisa-nh {
  --lisa-nh-accent: #16202a;
  --lisa-nh-text: #16202a;
  --lisa-nh-muted: #6b7a8c;
  --lisa-nh-border: #e4e9f0;
  --lisa-nh-surface: #ffffff;
  --lisa-nh-soft: #f3f4f6;
  --lisa-nh-hover: #eef1f5;
  --lisa-nh-radius: 12px;
  --lisa-nh-shadow: 0 1px 2px rgba(16, 32, 48, 0.06), 0 8px 24px -16px rgba(16, 32, 48, 0.4);
  --lisa-nh-brand: var(--lisa-nh-accent);
  --lisa-nh-brand-text: #ffffff;

  container-type: inline-size;
  background: transparent;
  margin: 0;
  padding: 0;
  color: var(--lisa-nh-text);
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.4;
}
.lisa-nh *, .lisa-nh *::before, .lisa-nh *::after { box-sizing: border-box; }
.lisa-nh ul { list-style: none; margin: 0; padding: 0; }
.lisa-nh button { font: inherit; color: inherit; }
.lisa-nh :focus-visible { outline: 2px solid var(--lisa-nh-text); outline-offset: 2px; }
.lisa-nh-loading { color: var(--lisa-nh-muted); text-align: center; padding: 1.5rem 0; margin: 0; }

/* Meta */
.lisa-nh-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.55rem; font-size: 0.75rem; color: var(--lisa-nh-muted); }
.lisa-nh-tag { display: inline-flex; align-items: center; font-weight: 600; color: var(--lisa-nh-text); background: var(--lisa-nh-soft, #f3f4f6); border-radius: 999px; padding: 0.15rem 0.6rem; font-size: 0.6875rem; letter-spacing: 0.02em; line-height: 1.4; }
.lisa-nh-branded .lisa-nh-tag { background: var(--lisa-nh-brand); color: var(--lisa-nh-brand-text); }

/* Media */
.lisa-nh-hero-media, .lisa-nh-thumb, .lisa-nh-dialog-media { position: relative; overflow: hidden; background: var(--lisa-nh-soft); }
.lisa-nh-hero-media img, .lisa-nh-thumb img, .lisa-nh-dialog-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.lisa-nh-noimg { background: linear-gradient(135deg, var(--lisa-nh-soft), var(--lisa-nh-hover)); }
.lisa-nh-branded .lisa-nh-noimg { background: color-mix(in srgb, var(--lisa-nh-brand) 10%, #fff); }
.lisa-nh-hero-media img.lisa-nh-logo, .lisa-nh-thumb img.lisa-nh-logo, .lisa-nh-dialog-media img.lisa-nh-logo {
  position: absolute; inset: 0; margin: auto; width: auto; height: auto; max-width: 38%; max-height: 48%; object-fit: contain; transform: none; transition: none;
}
.lisa-nh-thumb img.lisa-nh-logo { max-width: 62%; max-height: 66%; }

/* Groot bericht + twee berichten eronder: foto met info eroverheen (NOS-opbouw) */
.lisa-nh-top { display: flex; flex-direction: column; gap: 1.25rem; }
.lisa-nh-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.lisa-nh-duo-single { grid-template-columns: minmax(0, 1fr); }
.lisa-nh .lisa-nh-cover {
  position: relative; display: block; width: 100%; padding: 0; border: 0; cursor: pointer; text-align: left; color: #ffffff;
  border-radius: var(--lisa-nh-radius); overflow: hidden; background: var(--lisa-nh-soft); box-shadow: var(--lisa-nh-shadow);
}
.lisa-nh-cover-lg { aspect-ratio: 16 / 8; }
.lisa-nh-cover-md { aspect-ratio: 16 / 11; }
.lisa-nh-cover-media { position: absolute; inset: 0; }
.lisa-nh-cover-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.lisa-nh-cover:hover .lisa-nh-cover-media img:not(.lisa-nh-logo) { transform: scale(1.03); }
.lisa-nh-cover-media img.lisa-nh-logo { position: absolute; inset: 0; margin: auto; width: auto; height: auto; max-width: 34%; max-height: 42%; object-fit: contain; transform: translateY(-18%); transition: none; }
.lisa-nh-cover-caption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 5rem 1.75rem 1.5rem;
  background: linear-gradient(to top, rgba(10, 16, 24, 0.9) 0%, rgba(10, 16, 24, 0.6) 55%, rgba(10, 16, 24, 0) 100%);
  display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem;
}
.lisa-nh-cover-md .lisa-nh-cover-caption { padding: 4rem 1.25rem 1.15rem; gap: 0.4rem; }
.lisa-nh-meta-cover, .lisa-nh-meta-cover .lisa-nh-date { color: rgba(255, 255, 255, 0.85); }
.lisa-nh-meta-cover .lisa-nh-tag { background: var(--lisa-nh-surface); color: var(--lisa-nh-text); border-radius: 999px; padding: 0.15rem 0.6rem; font-size: 0.6875rem; letter-spacing: 0.02em; }
.lisa-nh-branded .lisa-nh-meta-cover .lisa-nh-tag { background: var(--lisa-nh-brand); color: var(--lisa-nh-brand-text); }
.lisa-nh .lisa-nh-cover-title { color: #ffffff; margin: 0; font-size: 2rem; font-weight: 700; line-height: 1.12; letter-spacing: -0.02em; overflow-wrap: anywhere; text-wrap: balance; }
.lisa-nh-cover-md .lisa-nh-cover-title { font-size: 1.3rem; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lisa-nh-cover-summary { margin: 0; color: rgba(255, 255, 255, 0.85); max-width: 44rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lisa-nh-cover-md .lisa-nh-cover-summary { -webkit-line-clamp: 1; font-size: 0.8125rem; }
.lisa-nh-more { display: inline-flex; align-items: center; gap: 0.35rem; margin-top: 0.2rem; font-size: 0.8125rem; font-weight: 600; color: #ffffff; }
.lisa-nh-cover:hover .lisa-nh-more .lisa-nh-arrow { transform: translateX(3px); }

/* Sponsorcarrousel tussen het nieuws: kleinere tegels */
.lisa-nh-sponsors { margin: 1.25rem 0; }
.lisa-nh-sponsors .lisa-sc { --lisa-sc-item-w: 7.5rem; --lisa-sc-item-h: 3.9rem; --lisa-sc-gap: 0.6rem; }

/* Rij van drie, zoals de nieuws-widget */
.lisa-nh .lisa-nh-row { margin-top: 1.25rem; } .lisa-nh-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.lisa-nh-tile { display: flex; }
.lisa-nh-tile-button {
  display: flex; flex-direction: column; width: 100%; padding: 0; text-align: left; cursor: pointer; overflow: hidden;
  background: var(--lisa-nh-surface); border: 1px solid var(--lisa-nh-border); border-radius: var(--lisa-nh-radius);
  transition: box-shadow 0.2s, transform 0.2s;
}
.lisa-nh-tile-button:hover { box-shadow: var(--lisa-nh-shadow); transform: translateY(-2px); }
.lisa-nh-tile-media { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: var(--lisa-nh-soft); }
.lisa-nh-tile-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.lisa-nh-tile-button:hover .lisa-nh-tile-media img:not(.lisa-nh-logo) { transform: scale(1.04); }
.lisa-nh-tile-media img.lisa-nh-logo { position: absolute; inset: 0; margin: auto; width: auto; height: auto; max-width: 45%; max-height: 55%; object-fit: contain; transform: none; }
.lisa-nh-tile-body { display: flex; flex-direction: column; gap: 0.35rem; padding: 0.9rem 1rem 1rem; }
.lisa-nh-tile-title { font-size: 1rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.lisa-nh-tile-summary { color: var(--lisa-nh-muted); font-size: 0.8125rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.lisa-nh-all {
  display: flex; width: fit-content; margin: 1rem 0 0 auto; align-items: center; gap: 0.4rem; font-size: 0.8125rem; font-weight: 500;
  color: var(--lisa-nh-text); text-decoration: none; background: var(--lisa-nh-surface); border: 1px solid var(--lisa-nh-border); border-radius: 999px; padding: 0.4rem 0.95rem;
  transition: background-color 0.15s;
}
.lisa-nh-all:hover { background: var(--lisa-nh-hover); }
.lisa-nh-arrow { transition: transform 0.2s; }
.lisa-nh-all:hover .lisa-nh-arrow { transform: translateX(3px); }
.lisa-nh-branded .lisa-nh-all .lisa-nh-arrow { color: var(--lisa-nh-brand); }

/* Artikel als pop-up */
.lisa-nh-lock { overflow: hidden; }
.lisa-nh-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(16, 32, 48, 0.45); display: flex; align-items: center; justify-content: center; padding: 1rem; animation: lisa-nh-fade .15s ease-out; }
.lisa-nh-dialog { position: relative; width: 100%; max-width: 44rem; max-height: calc(100vh - 2rem); overflow: auto; background: var(--lisa-nh-surface); border-radius: 14px; box-shadow: 0 24px 60px -20px rgba(16,32,48,.5); animation: lisa-nh-pop .18s ease-out; }
.lisa-nh-dialog-media { aspect-ratio: 16 / 9; }
.lisa-nh-dialog-body { padding: 1.5rem; }
.lisa-nh-dialog-title { margin: 0.5rem 0 0.75rem; padding-right: 2rem; font-size: 1.625rem; line-height: 1.2; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.lisa-nh-lead { margin: 0 0 1rem; font-size: 1rem; font-weight: 500; }
.lisa-nh-paragraph { margin: 0 0 0.9rem; line-height: 1.6; }
.lisa-nh-button {
  display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 0.5rem; font-size: 0.8125rem; color: var(--lisa-nh-text); text-decoration: none;
  background: var(--lisa-nh-surface); border: 1px solid var(--lisa-nh-border); border-radius: 999px; padding: 0.4rem 0.9rem;
}
.lisa-nh-button:hover { background: var(--lisa-nh-hover); }
.lisa-nh-icon { font-size: 0.8rem; color: var(--lisa-nh-muted); }
.lisa-nh-close { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 2; width: 2.25rem; height: 2.25rem; border-radius: 999px; border: 1px solid var(--lisa-nh-border); background: var(--lisa-nh-surface); font-size: 1.25rem !important; line-height: 1; cursor: pointer; box-shadow: 0 1px 2px rgba(16,32,48,.12); }
.lisa-nh-close:hover { background: var(--lisa-nh-hover); }
.lisa-nh-close:focus-visible { outline: 2px solid var(--lisa-nh-text); outline-offset: 2px; }
@keyframes lisa-nh-fade { from { opacity: 0; } }
@keyframes lisa-nh-pop { from { opacity: 0; transform: translateY(8px) scale(.98); } }

/* Tablet */
@container (max-width: 820px) {
  .lisa-nh-cover-lg { aspect-ratio: 16 / 10; }
  .lisa-nh-cover-title { font-size: 1.5rem; }
  .lisa-nh-cover-md .lisa-nh-cover-title { font-size: 1.05rem; }
  .lisa-nh-cover-md .lisa-nh-cover-summary { display: none; }
  .lisa-nh-top, .lisa-nh-duo, .lisa-nh-row { gap: 0.9rem; }
  .lisa-nh .lisa-nh-row { margin-top: 0.9rem; }
  .lisa-nh-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Mobiel: NOS-app-opbouw. Groot bericht met titel op de foto, twee berichten
   naast elkaar (foto + titel eronder), daarna een rustige lijst met thumbnail
   links en titel rechts, gescheiden door dunne lijnen. Meta subtiel onder de titel. */
@container (max-width: 560px) {
  .lisa-nh-top { gap: 1.1rem; }
  .lisa-nh-cover-lg { aspect-ratio: 4 / 3.3; }
  .lisa-nh-cover-lg .lisa-nh-cover-caption { padding: 4rem 1rem 0.9rem; gap: 0.4rem; }
  .lisa-nh .lisa-nh-cover-lg .lisa-nh-cover-title { font-size: 1.35rem; line-height: 1.18; }
  .lisa-nh-cover-lg .lisa-nh-cover-summary, .lisa-nh-cover-lg .lisa-nh-more { display: none; }
  .lisa-nh-cover-lg .lisa-nh-meta-cover { order: 2; }

  /* Twee berichten naast elkaar: foto boven, titel eronder, geen kaart */
  .lisa-nh-duo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
  .lisa-nh-duo-single { grid-template-columns: minmax(0, 1fr); }
  .lisa-nh .lisa-nh-cover-md { aspect-ratio: auto; display: flex; flex-direction: column; overflow: visible; background: none; box-shadow: none; border-radius: 0; color: var(--lisa-nh-text); }
  .lisa-nh-cover-md .lisa-nh-cover-media { position: relative; inset: auto; aspect-ratio: 4 / 3; border-radius: calc(var(--lisa-nh-radius) - 2px); overflow: hidden; background: var(--lisa-nh-soft); }
  .lisa-nh-cover-md .lisa-nh-cover-media img.lisa-nh-logo { transform: none; max-width: 50%; max-height: 55%; }
  .lisa-nh-cover-md .lisa-nh-cover-caption { position: static; padding: 0.55rem 0 0; background: none; gap: 0.35rem; }
  .lisa-nh .lisa-nh-cover-md .lisa-nh-cover-title { color: var(--lisa-nh-text); font-size: 0.95rem; font-weight: 600; line-height: 1.28; -webkit-line-clamp: 3; }
  .lisa-nh-cover-md .lisa-nh-cover-summary, .lisa-nh-cover-md .lisa-nh-more { display: none; }
  .lisa-nh-cover-md .lisa-nh-meta-cover { order: 2; color: var(--lisa-nh-muted); }
  .lisa-nh-cover-md .lisa-nh-meta-cover .lisa-nh-date { color: var(--lisa-nh-muted); }
  .lisa-nh-cover-md .lisa-nh-meta-cover .lisa-nh-tag { background: var(--lisa-nh-soft, #f3f4f6); }
  .lisa-nh-branded .lisa-nh-cover-md .lisa-nh-meta-cover .lisa-nh-tag { background: var(--lisa-nh-brand); }

  /* Lijst: thumbnail links, titel rechts, dunne scheidingslijnen */
  .lisa-nh .lisa-nh-row { margin-top: 0.4rem; }
  .lisa-nh-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .lisa-nh-tile + .lisa-nh-tile { border-top: 1px solid var(--lisa-nh-border); }
  .lisa-nh-tile-button { flex-direction: row; align-items: center; gap: 0.85rem; padding: 0.85rem 0; background: none; border: 0; border-radius: 0; }
  .lisa-nh-tile-button:hover { box-shadow: none; transform: none; }
  .lisa-nh-tile-media { flex: 0 0 38%; aspect-ratio: 4 / 3; border-radius: calc(var(--lisa-nh-radius) - 2px); }
  .lisa-nh-tile-body { flex: 1; min-width: 0; padding: 0; gap: 0.35rem; }
  .lisa-nh-tile-body .lisa-nh-meta { order: 2; }
  .lisa-nh-tile-title { font-size: 0.95rem; line-height: 1.28; -webkit-line-clamp: 3; }
  .lisa-nh-tile-summary, .lisa-nh-tile-more { display: none; }
  .lisa-nh-meta { gap: 0.25rem 0.45rem; font-size: 0.6875rem; }
  .lisa-nh-tag { font-size: 0.625rem; padding: 0.1rem 0.5rem; }
  .lisa-nh-tile-body .lisa-nh-tag, .lisa-nh-cover-md .lisa-nh-meta-cover .lisa-nh-tag { background: var(--lisa-nh-surface); box-shadow: inset 0 0 0 1px var(--lisa-nh-border); }
  .lisa-nh-branded .lisa-nh-tile-body .lisa-nh-tag, .lisa-nh-branded .lisa-nh-cover-md .lisa-nh-meta-cover .lisa-nh-tag { background: var(--lisa-nh-brand); box-shadow: none; }

  .lisa-nh-all { width: 100%; justify-content: center; }
}
@media (max-width: 640px) {
  .lisa-nh-overlay { padding: 0; align-items: flex-end; }
  .lisa-nh-dialog { border-radius: 14px 14px 0 0; max-height: 88vh; }
  .lisa-nh-dialog-body { padding: 1.1rem; }
  .lisa-nh-dialog-title { font-size: 1.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .lisa-nh *, .lisa-nh-overlay, .lisa-nh-dialog { transition: none !important; animation: none !important; }
  .lisa-nh-cover:hover img, .lisa-nh-tile-button:hover img { transform: none !important; }
}

/* Sponsorcarrousel (ingebouwd) */
.lisa-sc {
  --lisa-sc-text: #16202a;
  --lisa-sc-muted: #6b7a8c;
  --lisa-sc-border: #e4e9f0;
  --lisa-sc-surface: #ffffff;
  --lisa-sc-radius: 12px;
  --lisa-sc-gap: 0.75rem;
  --lisa-sc-item-w: 9.5rem;
  --lisa-sc-item-h: 5rem;
  --lisa-sc-shadow: 0 1px 2px rgba(16, 32, 48, 0.06), 0 8px 24px -16px rgba(16, 32, 48, 0.4);
  --lisa-sc-fade: 3rem;
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--lisa-sc-text);
  font: inherit;
}
.lisa-sc *, .lisa-sc *::before, .lisa-sc *::after { box-sizing: border-box; }

.lisa-sc-loading { margin: 0; font-size: 0.8125rem; color: var(--lisa-sc-muted); text-align: center; }

.lisa-sc-viewport {
  overflow: hidden;
  padding: 0.5rem 0; /* ruimte voor schaduw bij hover, binnen de widget */
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--lisa-sc-fade), #000 calc(100% - var(--lisa-sc-fade)), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 var(--lisa-sc-fade), #000 calc(100% - var(--lisa-sc-fade)), transparent);
}
.lisa-sc-track {
  display: flex;
  width: max-content;
  animation: lisa-sc-scroll 40s linear infinite;
}
.lisa-sc-group { display: flex; gap: var(--lisa-sc-gap); padding-right: var(--lisa-sc-gap); }

/* Snelheid schaalt mee met het aantal logo's, zodat het tempo gelijk aanvoelt */
.lisa-sc-len-s .lisa-sc-track { animation-duration: 16s; }
.lisa-sc-len-m .lisa-sc-track { animation-duration: 24s; }
.lisa-sc-len-l .lisa-sc-track { animation-duration: 38s; }
.lisa-sc-len-xl .lisa-sc-track { animation-duration: 54s; }
.lisa-sc-speed-slow.lisa-sc-len-s .lisa-sc-track { animation-duration: 26s; }
.lisa-sc-speed-slow.lisa-sc-len-m .lisa-sc-track { animation-duration: 38s; }
.lisa-sc-speed-slow.lisa-sc-len-l .lisa-sc-track { animation-duration: 60s; }
.lisa-sc-speed-slow.lisa-sc-len-xl .lisa-sc-track { animation-duration: 86s; }
.lisa-sc-speed-fast.lisa-sc-len-s .lisa-sc-track { animation-duration: 10s; }
.lisa-sc-speed-fast.lisa-sc-len-m .lisa-sc-track { animation-duration: 15s; }
.lisa-sc-speed-fast.lisa-sc-len-l .lisa-sc-track { animation-duration: 24s; }
.lisa-sc-speed-fast.lisa-sc-len-xl .lisa-sc-track { animation-duration: 34s; }

.lisa-sc-pausable .lisa-sc-viewport:hover .lisa-sc-track,
.lisa-sc-pausable .lisa-sc-viewport:focus-within .lisa-sc-track { animation-play-state: paused; }

@keyframes lisa-sc-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.lisa-sc-item {
  flex: 0 0 auto;
  width: var(--lisa-sc-item-w);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 0.75rem 1rem;
  background: var(--lisa-sc-surface);
  border: 1px solid var(--lisa-sc-border);
  border-radius: var(--lisa-sc-radius);
  color: inherit;
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
a.lisa-sc-item:hover { box-shadow: var(--lisa-sc-shadow); transform: translateY(-2px); border-color: #d6dde6; }
.lisa-sc-item:focus-visible { outline: 3px solid rgba(22, 32, 42, 0.35); outline-offset: 2px; }

.lisa-sc-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(var(--lisa-sc-item-h) - 1.5rem);
}
.lisa-sc-img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; transition: filter 0.25s ease, opacity 0.25s ease; }
.lisa-sc-gray .lisa-sc-img { filter: grayscale(1); opacity: 0.7; }
.lisa-sc-gray .lisa-sc-item:hover .lisa-sc-img,
.lisa-sc-gray .lisa-sc-item:focus-visible .lisa-sc-img { filter: none; opacity: 1; }

.lisa-sc-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  background: #f3f4f6;
  color: var(--lisa-sc-muted);
  font-size: 0.8125rem;
  font-weight: 600;
}
.lisa-sc-name {
  max-width: 100%;
  font-size: 0.75rem;
  color: var(--lisa-sc-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 560px) {
  .lisa-sc { --lisa-sc-item-w: 7.5rem; --lisa-sc-item-h: 4.25rem; --lisa-sc-gap: 0.5rem; --lisa-sc-fade: 1.5rem; }
}

/* Geen beweging: logo's als handmatig scrollbare rij, dubbele reeks verborgen */
@media (prefers-reduced-motion: reduce) {
  .lisa-sc-track { animation: none; }
  .lisa-sc-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .lisa-sc-group[aria-hidden="true"] { display: none; }
  .lisa-sc-item { transition: none; }
  a.lisa-sc-item:hover { transform: none; }
}

/* Bijlagen: subtiel paperclipje in het overzicht, downloadlijst in de pop-up */
.lisa-nh-attach-badge { display: inline-flex; align-items: center; gap: 0.2rem; color: var(--lisa-nh-muted); font-weight: 500; }
.lisa-nh-attach-icon { width: 0.85em; height: 0.85em; flex-shrink: 0; }
.lisa-nh-meta-cover .lisa-nh-attach-badge { color: inherit; opacity: 0.9; }
.lisa-nh-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lisa-nh-attachments { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--lisa-nh-border); }
.lisa-nh-attachments-title { margin: 0 0 0.75rem; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--lisa-nh-muted); }
.lisa-nh-attachments-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.lisa-nh-file { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0.75rem; border: 1px solid var(--lisa-nh-border); border-radius: 0.75rem; background: var(--lisa-nh-surface); color: var(--lisa-nh-text); text-decoration: none; transition: border-color 0.15s, box-shadow 0.15s; }
.lisa-nh-file:hover { border-color: var(--lisa-nh-brand); box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06); }
.lisa-nh-file:focus-visible { outline: 2px solid var(--lisa-nh-brand); outline-offset: 2px; }
.lisa-nh-file-ext { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; padding: 0 0.3rem; border-radius: 0.5rem; background: var(--lisa-nh-soft, #f3f4f6); color: var(--lisa-nh-text); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.03em; }
.lisa-nh-branded .lisa-nh-file-ext { background: var(--lisa-nh-brand); color: var(--lisa-nh-brand-text); }
.lisa-nh-file-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.lisa-nh-file-name { font-size: 0.875rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lisa-nh-file-info { font-size: 0.75rem; color: var(--lisa-nh-muted); }
.lisa-nh-file-dl { flex-shrink: 0; font-size: 0.8125rem; font-weight: 600; padding: 0.35rem 0.75rem; border-radius: 999px; background: var(--lisa-nh-soft, #f3f4f6); }
.lisa-nh-file-dl::before { content: "↓ "; }
@media (max-width: 480px) { .lisa-nh-file-dl { font-size: 0; padding: 0.35rem 0.6rem; } .lisa-nh-file-dl::before { content: "↓"; font-size: 0.875rem; } }
@media (prefers-reduced-motion: reduce) { .lisa-nh-file { transition: none; } }
.lisa-nh-tile-body { flex: 1; }
.lisa-nh .lisa-nh-tile-more { margin-top: auto; padding-top: 0.35rem; color: var(--lisa-nh-text); }
.lisa-nh-branded .lisa-nh-tile-more .lisa-nh-arrow { color: var(--lisa-nh-brand); }
.lisa-nh-tile-button:hover .lisa-nh-tile-more .lisa-nh-arrow { transform: translateX(3px); }
.lisa-nh .lisa-nh-more { font-weight: 500; }
.lisa-nh .lisa-nh-tile-more { color: var(--lisa-nh-muted); }
/* Bericht zonder foto: iets duidelijker vlak dan de website-achtergrond */
.lisa-nh .lisa-nh-noimg { background: linear-gradient(135deg, #e3e8ef, #d6dde6); }
.lisa-nh.lisa-nh-branded .lisa-nh-noimg, .lisa-nh-branded .lisa-nh-noimg { background: color-mix(in srgb, var(--lisa-nh-brand) 18%, #fff); }

/* Afgelastingenbalk: alleen zichtbaar als er afgelastingen zijn. */
.lisa-nh { --lisa-nh-danger: #b91c1c; --lisa-nh-danger-soft: #fdecec; --lisa-nh-danger-border: #f5c2c2; }
.lisa-nh-cancel-slot:empty { display: none; }
.lisa-nh-cancel-slot { margin-bottom: 1rem; }
.lisa-nh-cancel {
  display: flex; align-items: center; gap: 0.75rem; width: 100%; text-align: left; cursor: pointer;
  padding: 0.65rem 0.9rem; border-radius: var(--lisa-nh-radius);
  background: var(--lisa-nh-danger-soft); border: 1px solid var(--lisa-nh-danger-border);
  color: var(--lisa-nh-text); transition: background .15s ease, border-color .15s ease;
}
.lisa-nh-cancel:hover { border-color: var(--lisa-nh-danger); }
.lisa-nh-cancel-icon {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 1.6rem; height: 1.6rem; border-radius: 999px; background: var(--lisa-nh-danger); color: #ffffff;
  font-weight: 800; font-size: 0.875rem;
}
.lisa-nh-cancel-main { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.75rem; }
.lisa-nh-cancel-count { color: var(--lisa-nh-danger); font-size: 0.9375rem; white-space: nowrap; }
.lisa-nh-cancel-days { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.lisa-nh-cancel-day {
  display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.15rem 0.25rem 0.15rem 0.6rem;
  border-radius: 999px; background: var(--lisa-nh-surface); border: 1px solid var(--lisa-nh-danger-border);
  font-size: 0.75rem; white-space: nowrap;
}
.lisa-nh-cancel-day-n {
  display: inline-flex; align-items: center; justify-content: center; min-width: 1.25rem; height: 1.25rem; padding: 0 0.35rem;
  border-radius: 999px; background: var(--lisa-nh-danger); color: #ffffff; font-size: 0.6875rem; font-weight: 700;
}
.lisa-nh-cancel-go { flex: none; display: inline-flex; align-items: center; gap: 0.25rem; font-weight: 600; color: var(--lisa-nh-danger); font-size: 0.8125rem; }
.lisa-nh-cancel-dialog { max-width: 36rem; }
.lisa-nh-cancel-group + .lisa-nh-cancel-group { margin-top: 1.1rem; }
.lisa-nh-cancel-group-title { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.4rem; font-size: 0.8125rem; color: var(--lisa-nh-muted); font-weight: 600; }
.lisa-nh .lisa-nh-cancel-list, .lisa-nh-cancel-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--lisa-nh-border); border-radius: 10px; overflow: hidden; }
.lisa-nh-cancel-item { display: grid; grid-template-columns: 3rem 1fr auto; align-items: center; gap: 0.75rem; padding: 0.6rem 0.8rem; }
.lisa-nh-cancel-item + .lisa-nh-cancel-item { border-top: 1px solid var(--lisa-nh-border); }
.lisa-nh-cancel-time { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lisa-nh-muted); }
.lisa-nh-cancel-teams { display: flex; flex-direction: column; min-width: 0; }
.lisa-nh-cancel-own { font-weight: 700; overflow-wrap: anywhere; }
.lisa-nh-cancel-opp { color: var(--lisa-nh-muted); font-size: 0.8125rem; overflow-wrap: anywhere; }
.lisa-nh-cancel-reason { margin-top: 0.15rem; font-size: 0.75rem; color: var(--lisa-nh-danger); }
.lisa-nh-cancel-ha { font-size: 0.6875rem; padding: 0.1rem 0.5rem; border-radius: 999px; border: 1px solid var(--lisa-nh-border); color: var(--lisa-nh-muted); }
@media (max-width: 560px) {
  .lisa-nh-cancel { padding: 0.6rem 0.7rem; gap: 0.6rem; }
  .lisa-nh-cancel-go-text { display: none; }
}
.lisa-nh-cancel-day-date { display: inline-block; } .lisa-nh-cancel-day-date::first-letter { text-transform: uppercase; }

/* Balk: hele vlak klikbaar, datumlabels openen alleen die dag */
.lisa-nh-cancel { cursor: pointer; }
button.lisa-nh-cancel-day { font: inherit; cursor: pointer; transition: border-color .15s, background-color .15s; }
button.lisa-nh-cancel-day:hover { border-color: currentColor; }
button.lisa-nh-cancel-day:focus-visible, button.lisa-nh-cancel-go:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
button.lisa-nh-cancel-go { font: inherit; background: none; border: 0; padding: 0.2rem 0; color: inherit; cursor: pointer; white-space: nowrap; }
/* Duidelijk onderscheid tussen dagen in het overzicht */
.lisa-nh-cancel-group { border: 1px solid var(--lisa-nh-border, rgba(0,0,0,.08)); border-radius: 12px; padding: 0.75rem 0.9rem; background: var(--lisa-nh-surface, #fff); }
.lisa-nh-cancel-group + .lisa-nh-cancel-group { margin-top: 0.75rem; }
.lisa-nh-cancel-group-title { font-size: 0.9rem; color: var(--lisa-nh-text, inherit); font-weight: 700; padding-bottom: 0.45rem; border-bottom: 1px solid var(--lisa-nh-border, rgba(0,0,0,.08)); margin-bottom: 0.5rem; }
.lisa-nh-cancel-group-title > span:first-child::first-letter { text-transform: uppercase; }
.lisa-nh-cancel-dialog--day .lisa-nh-cancel-group { padding: 0.75rem; }
.lisa-nh-cancel-dialog--day .lisa-nh-cancel-group-title { display: none; }
@media (max-width: 560px) { .lisa-nh-cancel-go-text { font-size: 0.8rem; } }
/* Dagvak lichtgrijs, lijst erin wit */
.lisa-nh-cancel-group { background: var(--lisa-nh-day-bg, #f3f4f6); }
.lisa-nh-cancel-group-title { border-bottom-color: rgba(0,0,0,.08); }
.lisa-nh-cancel-group .lisa-nh-cancel-list { background: #fff; }

/* >>> lisa-ui shared (automatisch, niet handmatig wijzigen) */
/* Categorie-tabs: één navigatielaag, mobiel scrollbaar met vervaagde rand */
.lisa-ui-tabs { position: relative; min-width: 0; max-width: 100%; }
.lisa-ui-tabs > .lisa-ui-tabs-track { display: flex !important; flex-wrap: nowrap !important; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.lisa-ui-tabs > .lisa-ui-tabs-track::-webkit-scrollbar { display: none; }
.lisa-ui-tabs > .lisa-ui-tabs-track > * { flex: 0 0 auto !important; white-space: nowrap; }
.lisa-ui-tabs::before, .lisa-ui-tabs::after { content: ""; position: absolute; top: 0; bottom: 0; width: 2rem; pointer-events: none; opacity: 0; transition: opacity 0.15s; z-index: 1; }
.lisa-ui-tabs::after { right: 0; background: linear-gradient(90deg, rgba(243,244,246,0), #f3f4f6 85%); border-radius: 0 999px 999px 0; }
.lisa-ui-tabs::before { left: 0; background: linear-gradient(270deg, rgba(243,244,246,0), #f3f4f6 85%); border-radius: 999px 0 0 999px; }
.lisa-ui-tabs.lisa-ui-tabs-more::after, .lisa-ui-tabs.lisa-ui-tabs-less::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .lisa-ui-tabs::before, .lisa-ui-tabs::after { transition: none; } }

/* Shared controls, legends and disclosure panels: neutral widget tokens. */
[class^="lisa-"] { --lisa-ui-text: #16202a; --lisa-ui-muted: #6b7a8c; --lisa-ui-border: #e4e9f0; --lisa-ui-surface: #fff; --lisa-ui-soft: #f3f4f6; --lisa-ui-win: #16845b; --lisa-ui-draw: #c58420; --lisa-ui-loss: #cf4242; --lisa-ui-shadow: 0 8px 24px -12px rgba(16,32,48,.3); }
.lisa-ui-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem 1rem; margin-top: .75rem; font-size: .75rem; color: var(--lisa-ui-muted); }
.lisa-ui-legend-item { display: inline-flex; gap: .35rem; align-items: center; }
.lisa-ui-legend-symbol { font-weight: 700; }
.lisa-ui-legend-win, .lisa-ui-legend-draw, .lisa-ui-legend-loss { width: .5rem; height: .5rem; border-radius: 50%; }
.lisa-ui-legend-win { background: var(--lisa-ui-win); }
.lisa-ui-legend-draw { background: var(--lisa-ui-draw); }
.lisa-ui-legend-loss { background: var(--lisa-ui-loss); }
.lisa-ui-filter { position: relative; min-width: 0; flex: 0 1 auto; }
.lisa-ui-filter > summary { display: none; }
.lisa-ui-filter > .lisa-ui-filter-panel { display: block; }
.lisa-ui-filter-heading { display: none; }
.lisa-ui-filter .lisa-ui-control, .lisa-ui-control { width: auto !important; flex-basis: auto !important; min-width: 0; padding-inline: .65rem !important; gap: .35rem; font-size: .8125rem !important; }
.lisa-ui-control-label { display: inline !important; font-size: .8125rem; font-weight: 500; }
.lisa-ui-sort { display: inline-flex; flex: 0 1 auto; min-width: 0; }
.lisa-ui-sort select { max-width: 100%; min-width: 0; height: 36px; padding: 0 .7rem; border: 1px solid var(--lisa-ui-border); border-radius: 999px; background: var(--lisa-ui-surface); color: var(--lisa-ui-text); font: inherit; font-size: .8125rem; cursor: pointer; }
.lisa-ui-sort select:focus-visible, .lisa-ui-filter-trigger:focus-visible { outline: 2px solid var(--lisa-ui-muted); outline-offset: 2px; }
.lisa-ui-filter-trigger { list-style: none; cursor: pointer; font: inherit; font-size: .8125rem; border: 1px solid var(--lisa-ui-border); background: var(--lisa-ui-surface); color: var(--lisa-ui-text); border-radius: 999px; padding: .45rem .85rem; }
.lisa-ui-filter-trigger::-webkit-details-marker { display: none; }
.lisa-ui-filter-trigger::before { content: "☷"; margin-right: .35rem; }
.lisa-ui-expand { cursor: pointer; }
.lisa-ui-season { color: var(--lisa-ui-muted); font-size: .8125rem; font-weight: 500; margin: 0 0 .75rem; }
.lisa-ui-week-tabs { display: flex; width: 100%; gap: .25rem; padding: .2rem; background: var(--lisa-ui-soft); border-radius: 999px; margin: 0 0 .75rem; box-sizing: border-box; }
.lisa-ui-week-tabs button { flex: 1 1 0; min-width: 0; height: 34px; border: 0; border-radius: 999px; background: transparent; color: var(--lisa-ui-muted); font: inherit; font-size: .8125rem; cursor: pointer; }
.lisa-ui-week-tabs button[aria-pressed="true"] { background: var(--lisa-ui-surface); color: var(--lisa-ui-text); box-shadow: var(--lisa-ui-shadow); }
.lisa-ui-week-tabs button:focus-visible { outline: 2px solid var(--lisa-ui-muted); }
@media (min-width: 561px) { .lisa-ui-filter:not([open]) > .lisa-ui-filter-panel { display: block; } }
@media (max-width: 560px) {
  .lisa-ui-control-label { display: inline !important; }
  .lisa-ui-filter > summary { display: inline-flex; align-items: center; height: 36px; box-sizing: border-box; }
  .lisa-ui-filter:not(.lisa-ui-filter-mobile-open) > .lisa-ui-filter-panel { display: none; }
  .lisa-ui-filter-mobile-open > .lisa-ui-filter-panel { position: absolute; right: 0; top: calc(100% + .4rem); width: min(280px, calc(100vw - 48px)); padding: .9rem; border: 1px solid var(--lisa-ui-border); border-radius: 8px; background: var(--lisa-ui-surface); box-shadow: var(--lisa-ui-shadow); z-index: 40; box-sizing: border-box; }
  .lisa-ui-filter-left > .lisa-ui-filter-panel { right: auto; left: 0; }
  .lisa-ui-filter-heading { display: block; margin-bottom: .6rem; font-size: .8125rem; }
  .lisa-ui-filter-panel > [role="group"] { display: flex !important; flex-wrap: wrap !important; width: 100% !important; }
  .lisa-ui-filter-panel .lisa-ui-control { flex: 1 1 auto !important; height: 32px; }
  .lisa-ui-sort { max-width: 100%; }
  .lisa-ui-week-tabs button { font-size: .75rem; }
  .lisa-sd-rows .lisa-sd-row .lisa-sd-loc-field { display: inline !important; font-size: .6875rem; }
  .lisa-dn-row-item .lisa-dn-fill { display: flex !important; }
  .lisa-ah-go .lisa-ah-go-text { display: inline !important; font-size: .75rem; }
  .lisa-ah-box { flex-wrap: wrap; }
  .lisa-ah-go { margin-left: auto; }
}
.lisa-sd-toolbar, .lisa-af-toolbar, .lisa-sr-toolbar { flex-wrap: wrap !important; min-width: 0; max-width: 100%; flex-shrink: 1; }
.lisa-sd-filterrow, .lisa-af-filterrow, .lisa-sr-filterrow { flex-wrap: wrap; }
.lisa-sd-filterrow > .lisa-sd-search, .lisa-af-filterrow > .lisa-af-search, .lisa-sr-filterrow > .lisa-sr-search { flex: 1 1 15rem; min-width: 0; }
.lisa-ts-list .lisa-ts-remark-toggle { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border: 0; background: transparent; color: var(--lisa-ui-muted); cursor: pointer; }
.lisa-ts-list .lisa-ts-row > .lisa-ts-remark-toggle { grid-column: -1; grid-row: 1; justify-self: end; }
.lisa-ts-list .lisa-ts-row > .lisa-ts-remark { grid-column: 1 / -1; }
.lisa-ts-list .lisa-ts-row > .lisa-ts-remark[hidden] { display: none !important; }
.lisa-dn-row-item .lisa-dn-chev { display: flex !important; }
.lisa-ag-cal-stat { font-size: .5625rem; padding-inline: .2rem; }
@media (max-width: 560px) {
  .lisa-ui-sort { flex: 0 1 55%; }
  .lisa-ui-sort select { width: 100%; }
  .lisa-dn-row-item .lisa-dn-fill .lisa-dn-fill-text { display: block; font-size: .625rem; white-space: normal; }
  .lisa-ts-toolbar-top .lisa-ts-period { flex-shrink: 1; }
  .lisa-ts-toolbar-top .lisa-ts-period button { width: auto; padding-inline: .4rem; font-size: .75rem; }
  .lisa-ts-toolbar-top { flex-wrap: wrap; }
  .lisa-ts-toolbar-top .lisa-ts-toolbar-date { flex: 1 1 100%; }
  .lisa-sd-rows .lisa-sd-row .lisa-sd-col-field { flex-direction: column; min-width: 2.5rem; }
  .lisa-nw-toolbar { flex-wrap: wrap; }
  .lisa-nw-toolbar-right { flex-wrap: wrap; min-width: 0; max-width: 100%; }
  .lisa-nw-filter-wrap { margin-left: auto; }
  .lisa-sd-filterrow > .lisa-sd-search, .lisa-af-filterrow > .lisa-af-search, .lisa-sr-filterrow > .lisa-sr-search { flex: 0 0 auto; width: 100%; height: 36px; box-sizing: border-box; }
}
/* <<< lisa-ui shared */
