/* News & Events — Figma 661:4972 "EVENTS" (+ 663:5218 kalendar, 663:5418 filtr, 663:5437 karty).
   Prefix ne-. Hodnoty calc(N * var(--u)) = design px pri 1920. Karty (.ne-card, .ne-list) pouziva i detail clanku. */

/* ---------------------------------------------------------------- KALENDAR (663:5218, navy, 1144 vysoky) */
.ne-cal { position: relative; background: var(--c-navy); color: #fff; margin-top: calc(-5 * var(--u)); }
.ne-cal__wrap { max-width: var(--maxw); margin-inline: auto; padding: calc(58 * var(--u)) calc(72 * var(--u)) calc(7 * var(--u)) calc(95 * var(--u)); }
.ne-cal__bar { display: flex; align-items: center; gap: calc(23 * var(--u)); min-height: calc(47 * var(--u)); }
.ne-cal__nav { width: max(36px, calc(47 * var(--u))); height: max(36px, calc(47 * var(--u))); border-radius: 50%; background: #fff; color: var(--c-navy); display: inline-grid; place-items: center; flex: none; transition: background-color .2s, color .2s; }
.ne-cal__nav .cs-ico { width: max(20px, calc(26 * var(--u))); height: max(20px, calc(26 * var(--u))); }
.ne-cal__nav:hover { background: var(--c-gold); color: #fff; }
.ne-cal__month { min-width: calc(255 * var(--u)); font-weight: 700; font-size: max(22px, calc(32 * var(--u))); line-height: calc(39 / 32); text-transform: uppercase; }
.ne-cal__grid { margin-top: calc(47 * var(--u)); }
.ne-cal__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: calc(3 * var(--u)); background: #cc994a; border-radius: 7px; }
.ne-cal__day { display: block; padding: calc(11.7 * var(--u)) 0; text-align: center; font-weight: 700; font-size: max(12px, calc(18 * var(--u))); line-height: calc(21.9 / 18); letter-spacing: 1.44px; text-transform: uppercase; color: var(--c-navy); border-radius: 7px; }
.ne-cal__day--wk { background: #dce8ff; }
.ne-cal__cells { display: grid; grid-template-columns: repeat(7, 1fr); gap: calc(4 * var(--u)); margin-top: calc(47 * var(--u)); }
.ne-cal__cell { position: relative; min-height: calc(175 * var(--u)); padding: calc(17.5 * var(--u)); display: flex; flex-direction: column; gap: calc(11.7 * var(--u)); background: #fff; border: 1.46px solid #e5eaf5; border-radius: 7px; color: var(--c-navy); min-width: 0; }
.ne-cal__cell--wk { background: #dce8ff; }
.ne-cal__cell--out .ne-cal__num { font-weight: 500; opacity: .75; }
.ne-cal__cell--today { border: 4px solid #cc994a; box-shadow: 0 4px 16px rgba(0, 0, 0, .08); padding: calc(17.5 * var(--u) - 2.5px); }
.ne-cal__cell--today::after { content: ""; position: absolute; top: calc(25 * var(--u)); right: calc(17.5 * var(--u)); width: 9px; height: 9px; border-radius: 50%; background: #cc994a; }
.ne-cal__num { font-weight: 700; font-size: max(14px, calc(22 * var(--u))); line-height: calc(26.8 / 22); }
.ne-cal__ev { display: flex; align-items: center; gap: calc(5.8 * var(--u)); min-height: calc(24 * var(--u)); padding: calc(3 * var(--u)) calc(8.8 * var(--u)) calc(3 * var(--u)) calc(11.7 * var(--u)); background: #cc994a; border: 1.46px solid #cc994a; border-radius: 6px; color: var(--c-navy); font-weight: 600; font-size: max(11px, calc(15 * var(--u))); line-height: calc(18.3 / 15); min-width: 0; transition: background-color .2s, color .2s; }
.ne-cal__ev span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ne-cal__ev:hover { background: var(--c-navy); color: #fff; }
.ne-cal__ico { width: max(12px, calc(15 * var(--u))); height: max(12px, calc(15 * var(--u))); }
.ne-cal__ev.is-off { display: none; }

/* ---------------------------------------------------------------- FILTR (663:5418, navy, 181 vysoky) */
.ne-filter { background: var(--c-navy); }
.ne-filter__wrap { max-width: var(--maxw); margin-inline: auto; min-height: calc(181 * var(--u)); padding: calc(27 * var(--u)) calc(73 * var(--u)) calc(48 * var(--u)) calc(95 * var(--u)); display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.ne-filter__chips { display: flex; flex-wrap: wrap; gap: calc(9 * var(--u)); padding-top: calc(3 * var(--u)); }
.ne-chip { min-height: max(40px, calc(49 * var(--u))); padding: 0 calc(26.7 * var(--u)); background: #fff; color: var(--c-navy-2); border: 1.33px solid transparent; border-radius: 7px; font-weight: 700; font-size: max(13px, calc(18 * var(--u))); line-height: calc(21.9 / 18); letter-spacing: .72px; text-transform: uppercase; transition: background-color .2s, color .2s; }
.ne-chip:hover { background: #dce8ff; }
.ne-chip[aria-pressed="true"] { background: #cc994a; color: #fff; }
.ne-filter__search { position: relative; flex: none; width: max(260px, calc(400 * var(--u))); }
.ne-filter__ico { position: absolute; left: calc(21 * var(--u) + 2px); top: 50%; transform: translateY(-50%); width: max(18px, calc(21 * var(--u))); height: max(18px, calc(21 * var(--u))); color: #5f6d94; pointer-events: none; }
.ne-filter__search input { width: 100%; height: max(44px, calc(54 * var(--u))); padding: 0 calc(21 * var(--u)) 0 calc(55 * var(--u) + 8px); background: #f3f7fc; border: 1.33px solid #e1e6f0; border-radius: 7px; font: inherit; font-weight: 400; font-size: max(14px, calc(18 * var(--u))); color: var(--c-navy); }
.ne-filter__search input::placeholder { color: #5f6d94; opacity: 1; }

/* ---------------------------------------------------------------- KARTY (663:5437 Upcoming / Past) */
.ne-list { background: #fff; color: var(--c-navy-2); }
.ne-list__wrap { max-width: var(--maxw); margin-inline: auto; padding: calc(109 * var(--u)) calc(90 * var(--u)) 0 calc(91 * var(--u)); }
.ne-list--past .ne-list__wrap, .ne-list + .ne-list .ne-list__wrap { padding-top: calc(127 * var(--u)); padding-bottom: calc(96 * var(--u)); }
.ne-list__eyebrow { font-weight: 700; font-size: max(14px, calc(20 * var(--u))); line-height: 14px; color: #cc994a; text-transform: uppercase; }
.ne-list__head { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: calc(2 * var(--u)); }
.ne-list__h { font-weight: 700; font-size: max(26px, calc(45 * var(--u))); line-height: calc(81 / 45); text-transform: uppercase; color: var(--c-navy-2); }
.ne-list__all { flex: none; display: inline-flex; align-items: center; justify-content: flex-end; gap: calc(12 * var(--u)); min-width: calc(205 * var(--u)); height: max(38px, calc(43 * var(--u))); padding: 0 calc(12 * var(--u)) 0 calc(14 * var(--u)); border: 1px solid var(--c-navy-2); border-radius: 7px; color: var(--c-navy-2); font-weight: 500; font-size: max(14px, calc(20 * var(--u))); line-height: 1; white-space: nowrap; transition: background-color .2s, color .2s; }
.ne-list__all:hover { background: var(--c-navy-2); color: #fff; }
.ne-list__arr { width: max(12px, calc(14 * var(--u))); height: auto; }
.ne-list__all[aria-expanded="true"] .ne-list__arr { transform: rotate(90deg); }
.ne-list__rail { --gap: calc(31 * var(--u)); margin-top: calc(41 * var(--u)); padding-bottom: 4px; }
.ne-list__rail.is-all { display: grid; grid-template-columns: repeat(5, calc(322 * var(--u))); row-gap: calc(40 * var(--u)); overflow: visible; }
.ne-list__empty { margin-top: 24px; font-weight: 500; }

.ne-card { width: calc(322 * var(--u)); min-width: 240px; }
.ne-card.is-off { display: none; }
.ne-card__a { position: relative; display: flex; flex-direction: column; height: calc(481 * var(--u)); min-height: 440px; padding-bottom: calc(46 * var(--u)); border: 1px solid var(--c-navy-2); border-radius: 7px; overflow: hidden; color: var(--c-navy-2); background: #fff; transition: box-shadow .25s var(--ease); }
.ne-card__a:hover { box-shadow: 0 8px 24px rgba(2, 22, 117, .18); }
.ne-card__img { display: block; flex: none; aspect-ratio: 321 / 311; overflow: hidden; background: var(--c-bg); }
.ne-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.ne-card__a:hover .ne-card__img img { transform: scale(1.04); }
.ne-card__t { margin: calc(10 * var(--u)) calc(16 * var(--u)) 0; font-weight: 600; font-size: max(15px, calc(18 * var(--u))); line-height: calc(20.7 / 18); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: none; }
.ne-card__d { margin: calc(5 * var(--u)) calc(16 * var(--u)) 0; font-weight: 600; font-size: max(10px, calc(11 * var(--u))); line-height: calc(17 / 11); color: #cc994a; text-transform: uppercase; }
.ne-card__p { margin: calc(8 * var(--u)) calc(16 * var(--u)) 0; font-weight: 500; font-size: max(12px, calc(13 * var(--u))); line-height: calc(19.3 / 13); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ne-card__arr { position: absolute; right: calc(22 * var(--u)); bottom: calc(15 * var(--u)); width: max(13px, calc(16 * var(--u))); height: auto; }

/* ---------------------------------------------------------------- RESPONZIVITA */
@media (max-width: 1279px) {
  .ne-list__rail.is-all { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
  .ne-list__rail.is-all .ne-card { width: auto; }
}
@media (max-width: 1023px) {
  .ne-cal__wrap, .ne-filter__wrap, .ne-list__wrap { padding-inline: var(--gut); }
  .ne-cal__cell { min-height: 110px; padding: 10px; }
  .ne-cal__cell--today { padding: 7px; }
  .ne-cal__ev { padding: 3px 6px; }
  .ne-cal__ev .ne-cal__ico { display: none; }
  .ne-filter__wrap { flex-direction: column; padding-top: 24px; padding-bottom: 40px; }
  .ne-filter__search { width: 100%; max-width: 480px; }
  .ne-list__rail { padding-inline: var(--gut); margin-inline: calc(-1 * var(--gut)); scroll-padding-inline: var(--gut); }
}
@media (max-width: 767px) {
  .ne-cal__wrap { padding-top: 32px; }
  .ne-cal__bar { gap: 12px; }
  .ne-cal__month { min-width: 0; flex: 1; text-align: center; }
  .ne-cal__days { margin-right: 0; gap: 2px; }
  .ne-cal__day { letter-spacing: 0; font-size: 11px; padding: 8px 0; }
  .ne-cal__cells { gap: 2px; margin-top: 16px; }
  .ne-cal__cell { min-height: 64px; padding: 5px 4px; gap: 4px; border-radius: 5px; }
  .ne-cal__cell--today { padding: 2px 1px; }
  .ne-cal__cell--today::after { top: 6px; right: 5px; width: 6px; height: 6px; }
  .ne-cal__num { font-size: 13px; }
  /* udalost na mobilu = zlata tecka (cela bunka zustane cilem odkazu) */
  .ne-cal__ev { min-height: 0; padding: 0; height: 22px; justify-content: center; font-size: 0; border-radius: 4px; }
  .ne-cal__ev .ne-cal__ico { display: block; width: 14px; height: 14px; }
  .ne-chip { padding: 0 14px; }
  .ne-list__head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .ne-list__h { line-height: 1.15; margin-top: 8px; }
  .ne-list__wrap, .ne-list--past .ne-list__wrap, .ne-list + .ne-list .ne-list__wrap { padding-top: 56px; padding-bottom: 56px; }
  .ne-list:not(.ne-list--past) .ne-list__wrap { padding-bottom: 0; }
  .ne-card { width: 72vw; max-width: 300px; }
  .ne-card__a { height: 100%; min-height: 0; padding-bottom: 40px; }
}

/* Figma: ls 0 (base body ma .3px) */
.ne-cal, .ne-filter, .ne-list { letter-spacing: 0; }
