.nm-cinema-v2 {border:1px solid rgba(230,57,70,.28);border-radius:24px;padding:20px 14px;background:linear-gradient(180deg,rgba(48,12,17,.78),rgba(4,4,4,.96));color:#eee}.nm-cv2-head h2 {margin:0 0 8px;font-size:36px;line-height:.95;letter-spacing:.02em}.nm-cv2-head p {margin:0 0 16px;color:#888;font-family:monospace;letter-spacing:.12em;text-transform:uppercase}.nm-cv2-tabs {display:flex;gap:8px;margin-bottom:14px}.nm-cv2-tabs button {border:1px solid rgba(255,255,255,.12);background:#050505;color:#eee;border-radius:999px;padding:8px 12px;font-family:monospace}.nm-cv2-tabs button.is-active {border-color:#e63946}.nm-cv2-cal {display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-family:monospace}.nm-cv2-day {min-height:42px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(0,0,0,.25);color:#aaa;padding:6px;text-align:left}.nm-cv2-day.has {border-color:rgba(230,57,70,.55);color:#fff}.nm-cv2-day b {display:block;color:#e63946;margin-top:4px}.nm-cv2-day.empty {opacity:.18}.nm-cv2-date {border-top:1px solid rgba(255,255,255,.08);padding:14px 0 4px}.nm-cv2-date h3 {margin:0 0 8px;color:#e63946;font-family:monospace;letter-spacing:.08em}.nm-cv2-empty {border:1px dashed rgba(255,255,255,.16);border-radius:16px;color:#888;padding:18px;font-family:monospace}@media(max-width:520px){.nm-cinema-v2 {padding:18px 12px}.nm-cv2-head h2 {font-size:34px}.nm-cv2-head p {font-size:12px}.nm-cv2-day {min-height:38px;font-size:12px}}.nm-cv2-day.selected {border-color:#e63946;
  box-shadow:0 0 0 1px rgba(230,57,70,.28),0 0 18px rgba(230,57,70,.12);
  background:rgba(230,57,70,.08);}.nm-cv2-empty {margin-top:14px;}.nm-cv2-day-label {color:#888;
  font-family:monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:-4px 0 10px;}.nm-cv2-film-open {width:100%;
  text-align:left;
  background:transparent;
  color:#eee;
  border-left:0;
  border-right:0;
  border-bottom:0;
  cursor:pointer;}.nm-cv2-film-open:hover strong {color:#fff;
  text-decoration:underline;
  text-decoration-color:#e63946;}/* NoiseMap Cinema v2 — projection row thumbnails */.nm-cv2-row {display:grid;
  grid-template-columns:54px 54px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px dashed rgba(255,255,255,.10);}.nm-cv2-row .time {color:#e63946;
  font-family:"Space Mono",monospace;
  font-size:13px;
  font-weight:700;}.nm-cv2-thumb {width:46px;
  height:64px;
  border-radius:7px;
  overflow:hidden;
  display:block;
  background:linear-gradient(135deg,rgba(230,57,70,.18),rgba(0,0,0,.9));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 18px rgba(230,57,70,.12);}.nm-cv2-thumb img {width:100%;
  height:100%;
  object-fit:cover;
  display:block;}.nm-cv2-title {appearance:none;
  border:0;
  background:transparent;
  color:#eee;
  text-align:left;
  padding:0;
  font:inherit;
  cursor:pointer;
  min-width:0;}.nm-cv2-title strong {display:block;
  font-family:"Barlow Condensed",system-ui,sans-serif;
  font-size:20px;
  line-height:1.05;
  letter-spacing:.02em;}.nm-cv2-title p {margin:4px 0 0;
  color:#aaa;
  font-family:"Space Mono",monospace;
  font-size:12px;}.nm-cv2-row-link {grid-column:3;
  justify-self:start;
  color:#eee;
  font-family:"Space Mono",monospace;
  font-size:13px;
  text-decoration:none;
  border-bottom:1px solid rgba(230,57,70,.75);
  margin-top:-4px;}.nm-cv2-row-link:hover {color:#fff;}@media(max-width:520px){.nm-cv2-row {grid-template-columns:46px 46px minmax(0,1fr);
    gap:9px;}.nm-cv2-thumb {width:40px;
    height:56px;}.nm-cv2-title strong {font-size:18px;}.nm-cv2-row-link {font-size:12px;}}/* NoiseMap Cinema v2 — larger projection row thumbnails +40%
   Owner: modules/cinema-calendar/cinema-calendar.css
*/.nm-cv2-row {grid-template-columns: 58px 78px 1fr !important;}.nm-cv2-thumb {width: 72px !important;
  height: 98px !important;
  min-width: 72px !important;}.nm-cv2-thumb img {width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;}@media (max-width: 520px){.nm-cv2-row {grid-template-columns: 50px 70px 1fr !important;
    gap: 10px !important;}.nm-cv2-thumb {width: 66px !important;
    height: 92px !important;
    min-width: 66px !important;}}/* NoiseMap Cinema v2 — larger projection row thumbnails +40%
   Owner: modules/cinema-calendar/cinema-calendar.css
*/.nm-cv2-row {grid-template-columns: 58px 78px 1fr !important;}.nm-cv2-thumb {width: 72px !important;
  height: 98px !important;
  min-width: 72px !important;}.nm-cv2-thumb img {width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;}@media (max-width: 520px){.nm-cv2-row {grid-template-columns: 50px 70px 1fr !important;
    gap: 10px !important;}.nm-cv2-thumb {width: 66px !important;
    height: 92px !important;
    min-width: 66px !important;}}.nm-cinema-v2 .nm-cv2-thumb, .nm-cinema-v2 .nm-cv2-thumb img {width: 72px;
  height: 72px;}.nm-cinema-v2 .nm-cv2-thumb {border-radius: 14px;}.nm-cinema-v2 .nm-cv2-thumb img {object-fit: cover;}@media(max-width:520px){.nm-cinema-v2 .nm-cv2-thumb, .nm-cinema-v2 .nm-cv2-thumb img {width: 72px;
    height: 72px;}}/* NoiseMap Cinema v2 — canonical poster thumb size
   Owner: modules/cinema-calendar/cinema-calendar.css
   Reason: film posters need portrait ratio, not square thumbs. */.nm-cinema-v2 .nm-cv2-row, .nm-cv2-row {grid-template-columns: 58px 78px 1fr !important;
  gap: 12px !important;}.nm-cinema-v2 .nm-cv2-thumb, .nm-cv2-thumb {width: 72px !important;
  height: 98px !important;
  min-width: 72px !important;
  border-radius: 14px !important;
  overflow: hidden !important;}.nm-cinema-v2 .nm-cv2-thumb img, .nm-cv2-thumb img {width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;}@media(max-width:520px){.nm-cinema-v2 .nm-cv2-row, .nm-cv2-row {grid-template-columns: 50px 70px 1fr !important;
    gap: 10px !important;}.nm-cinema-v2 .nm-cv2-thumb, .nm-cv2-thumb {width: 66px !important;
    height: 92px !important;
    min-width: 66px !important;}}.nm-cv2-cal-rolling {grid-template-columns:repeat(7,minmax(0,1fr));}.nm-cv2-month-sep {grid-column:1/-1;
  margin:12px 0 4px;
  padding:8px 10px;
  border-top:1px solid rgba(230,57,70,.24);
  border-bottom:1px solid rgba(255,255,255,.05);
  color:#e63946;
  font-family:"Space Mono",monospace;
  font-size:13px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;}.nm-cv2-day small {display:block;
  margin-top:3px;
  opacity:.54;
  font-size:10px;
  letter-spacing:.08em;}.nm-cv2-day:disabled {opacity:.28;
  cursor:not-allowed;}/* NOISEMAP Cinema grouped v002 */.nm-cv2-tabs-v002 {display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:18px 0 22px;}.nm-cv2-range-note {margin:10px 0 18px;
  color:rgba(255,255,255,.58);
  font-family:"Space Mono",monospace;
  font-size:13px;
  letter-spacing:.05em;}.nm-cv2-cal-rolling {display:grid;
  grid-template-columns:repeat(7,minmax(42px,1fr));
  gap:8px;
  margin:12px 0 22px;}.nm-cv2-month-sep {grid-column:1/-1;
  margin:18px 0 4px;
  padding-top:14px;
  border-top:1px solid rgba(230,57,70,.22);
  color:#e63946;
  font-family:"Space Mono",monospace;
  font-weight:800;
  letter-spacing:.24em;}.nm-cv2-day em {display:block;
  margin-top:2px;
  color:rgba(255,255,255,.45);
  font-style:normal;
  font-size:12px;
  text-transform:uppercase;}.nm-cv2-films-grid {display:grid;
  gap:14px;}.nm-cv2-filmcard {display:grid;
  grid-template-columns:86px 1fr;
  gap:14px;
  padding:14px;
  border:1px solid rgba(230,57,70,.24);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(20,0,6,.72),rgba(4,4,4,.94));}.nm-cv2-filmcard-thumb {width:86px;
  height:120px;
  display:block;
  overflow:hidden;
  border-radius:14px;
  background:#050505;
  border:1px solid rgba(255,255,255,.08);}.nm-cv2-filmcard-thumb img {width:100%;
  height:100%;
  object-fit:cover;
  display:block;}.nm-cv2-filmcard-body h3 {margin:0 0 5px;
  color:#fff;
  font-size:22px;
  line-height:1.05;}.nm-cv2-filmcard-body p {margin:0 0 8px;
  color:rgba(255,255,255,.58);
  font-family:"Space Mono",monospace;}.nm-cv2-nearest {margin:8px 0 10px;
  color:#e63946;
  font-family:"Space Mono",monospace;
  font-size:13px;}.nm-cv2-small-open {appearance:none;
  border:1px solid rgba(230,57,70,.45);
  background:#050505;
  color:#f3f3f3;
  border-radius:999px;
  padding:7px 10px;
  margin:0 0 10px;
  font-family:"Space Mono",monospace;}.nm-cv2-thumb-fallback {display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:8px;
  text-align:center;
  background:
    linear-gradient(90deg,transparent 49%,rgba(255,255,255,.07) 50%,transparent 51%),
    linear-gradient(0deg,transparent 49%,rgba(255,255,255,.07) 50%,transparent 51%),
    #070707;}.nm-cv2-thumb-fallback b {color:#f3f3f3;
  font-size:11px;
  line-height:1.1;
  text-transform:uppercase;}.nm-cv2-thumb-fallback small {margin-top:5px;
  color:#e63946;
  font-size:10px;
  font-family:"Space Mono",monospace;}@media (max-width:560px){.nm-cv2-cal-rolling {grid-template-columns:repeat(4,minmax(58px,1fr));}.nm-cv2-filmcard {grid-template-columns:74px 1fr;
    padding:12px;}.nm-cv2-filmcard-thumb {width:74px;
    height:108px;}.nm-cv2-filmcard-body h3 {font-size:19px;}}/* NOISEMAP Cinema calendar UX v002.1 */.nm-cv2-cal-rolling {gap:10px;}.nm-cv2-day {min-height:86px;
  position:relative;
  text-align:left;
  padding:12px 10px;
  border-radius:16px;
  background:
    radial-gradient(circle at top right,rgba(230,57,70,.08),transparent 38%),
    rgba(8,4,5,.72);
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    opacity .16s ease;}.nm-cv2-day.has {cursor:pointer;
  border-color:rgba(230,57,70,.62);
  background:
    radial-gradient(circle at top right,rgba(230,57,70,.18),transparent 42%),
    linear-gradient(180deg,rgba(24,4,8,.96),rgba(7,4,5,.96));
  box-shadow:0 0 18px rgba(230,57,70,.08);}.nm-cv2-day.has:active {transform:scale(.98);}.nm-cv2-day.selected {border-color:rgba(255,90,105,.95);
  box-shadow:
    0 0 0 1px rgba(230,57,70,.5),
    0 0 26px rgba(230,57,70,.22);}.nm-cv2-day:not(.has) {opacity:.34;
  border-color:rgba(255,255,255,.08);}.nm-cv2-day span {display:block;
  font-size:23px;
  line-height:1;}.nm-cv2-day em {margin-top:6px;
  font-size:13px;
  letter-spacing:.08em;}.nm-cv2-day b {display:flex;
  align-items:baseline;
  gap:5px;
  margin-top:10px;
  color:#e63946;
  font-family:"Space Mono",monospace;
  line-height:1;}.nm-cv2-day b strong {font-size:20px;}.nm-cv2-day b small {font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(230,57,70,.82);}.nm-cv2-day i {display:block;
  margin-top:10px;
  font-style:normal;
  font-family:"Space Mono",monospace;
  font-size:10px;
  color:rgba(255,255,255,.22);}.nm-cv2-month-sep {margin-top:22px;
  margin-bottom:8px;}@media (max-width:560px){.nm-cv2-cal-rolling {grid-template-columns:repeat(4,minmax(72px,1fr));
    gap:8px;}.nm-cv2-day {min-height:82px;
    padding:10px 9px;
    border-radius:14px;}.nm-cv2-day span {font-size:21px;}.nm-cv2-day b {flex-direction:column;
    align-items:flex-start;
    gap:2px;}.nm-cv2-day b strong {font-size:19px;}}.nm-cv2-trailer {display:block;margin:14px 0;padding:10px 14px;border:1px solid #e63946;background:transparent;color:#fff;cursor:pointer;font:700 13px monospace}.nm-cv2-trailer-frame {display:block;width:100%;aspect-ratio:16/9;margin:14px 0;border:0;border-radius:12px;background:#000}@keyframes nmCv2PosterEnter {from {
    opacity: .18;
    transform: translateY(10px) scale(.68);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }}.nm-cv2-trailer {display: inline-flex;
  min-height: 42px;
  padding: 0 16px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;}.nm-cv2-trailer-frame {width: min(100%, 720px);
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 12px;}/* ============================================================
   NOISEMAP Cinema v2 — compact->expanded single-card UX
   Owner: modules/cinema-calendar/cinema-calendar.css
   lab-candidate 20260910-lab2 (contract: film-detail UX)
   One card: compact -> expanded in place. No separate panel.
   ============================================================ *//* --- transition setup (poster grows from the SAME element) --- */
.nm-cv2-thumb, .nm-cv2-filmcard-thumb {transition: width 240ms ease-out, height 240ms ease-out;}.nm-cv2-row {transition: grid-template-columns 240ms ease-out;}/* --- ROW expanded state: time column collapses to 0, poster ~1.45x --- */.nm-cv2-row.is-expanded {grid-template-columns: 0px 108px minmax(0, 1fr) !important;}.nm-cv2-row.is-expanded .time {width: 0;
  min-width: 0;
  padding: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;}.nm-cv2-row.is-expanded .nm-cv2-thumb {width: 104px !important;
  height: 148px !important;
  min-width: 104px !important;}/* --- FILM CARD expanded state: poster ~1.44x --- */.nm-cv2-filmcard.is-expanded .nm-cv2-filmcard-thumb {width: 124px !important;
  height: 172px !important;
  min-width: 124px !important;}/* anti-duplication: "najbliżej" is covered by the SEANSE list */.nm-cv2-filmcard.is-expanded .nm-cv2-nearest {display: none;}/* --- expanded head (in the title column) --- */.nm-cv2-x-head {margin: 8px 0 0;}.nm-cv2-x-original {color: #b9b9b9;
  font-style: italic;
  font-size: 13px;
  line-height: 1.25;
  margin: 2px 0 0;}.nm-cv2-x-meta {color: #9a9a9a;
  font-family: "Space Mono", monospace;
  font-size: 12px;
  margin: 5px 0 0;}.nm-cv2-x-rating {margin: 3px 0 0;
  font-family: "Space Mono", monospace;
  font-size: 13px;
  color: #f5c542;}.nm-cv2-x-rating strong {color: #f5c542;
  font-weight: 700;}.nm-cv2-x-rating small {color: #8a8a8a;
  font-size: 11px;}.nm-cv2-x-director {margin: 3px 0 0;
  color: #d6d6d6;
  font-size: 13px;
  line-height: 1.3;}.nm-cv2-x-context {margin: 5px 0 0;
  color: #8a8a8a;
  font-family: "Space Mono", monospace;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;}/* --- expanded body (full width under the card) --- */.nm-cv2-x-body {grid-column: 1 / -1;
  margin: 12px 0 2px;
  padding: 12px 0 0;
  border-top: 1px dashed rgba(255, 255, 255, .10);}.nm-cv2-x-desc {margin: 0 0 0;
  color: #cfcfcf;
  font-size: 14px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;}.nm-cv2-x-cast {margin: 8px 0 0;
  color: #9a9a9a;
  font-size: 12px;
  line-height: 1.4;}.nm-cv2-x-trailer {display: inline-block;
  margin: 12px 0 0;
  padding: 10px 16px;
  border: 1px solid #e63946;
  border-radius: 999px;
  background: rgba(230, 57, 70, .12);
  color: #fff;
  font: 700 13px "Space Mono", monospace;
  letter-spacing: .08em;
  cursor: pointer;}.nm-cv2-x-trailer:hover {background: rgba(230, 57, 70, .22);}/* --- SEANSE list --- */.nm-cv2-x-seanse-label {margin: 14px 0 2px;
  color: #e63946;
  font-family: "Space Mono", monospace;
  font-size: 11px;
  letter-spacing: .16em;}.nm-cv2-x-seanse {display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px dashed rgba(255, 255, 255, .08);}.nm-cv2-x-seanse > span {color: #ddd;
  font-family: "Space Mono", monospace;
  font-size: 13px;}.nm-cv2-x-bilet {border: 1px solid #e63946;
  border-radius: 999px;
  padding: 4px 12px;
  color: #fff;
  text-decoration: none;
  font: 700 11px "Space Mono", monospace;
  letter-spacing: .1em;
  white-space: nowrap;}.nm-cv2-x-bilet:hover {background: rgba(230, 57, 70, .2);}/* --- mobile (<=520px): expanded sizes for phones --- */@media (max-width: 520px){.nm-cv2-row.is-expanded {grid-template-columns: 0px 100px minmax(0, 1fr) !important;}.nm-cv2-row.is-expanded .nm-cv2-thumb {width: 96px !important;
    height: 136px !important;
    min-width: 96px !important;}.nm-cv2-filmcard.is-expanded .nm-cv2-filmcard-thumb {width: 106px !important;
    height: 148px !important;
    min-width: 106px !important;}.nm-cv2-x-desc {font-size: 13px;}}/* --- prefers-reduced-motion: instant state change, no animation --- */@media (prefers-reduced-motion: reduce){.nm-cv2-thumb, .nm-cv2-filmcard-thumb, .nm-cv2-row, .nm-cv2-x-body {transition: none !important;}}
/*
 * NOISEMAP · CINEMA MOBILE CARD CONTRACT
 * 2026-09-13
 *
 * The poster track and poster dimensions are one contract.
 * Expanded metadata remains in normal flow.
 * A film header does not claim ownership of a screening venue.
 */

.nm-cinema-v2 .nm-cv2-filmcard {
  grid-template-columns: 86px minmax(0, 1fr) !important;
  column-gap: 14px;
  align-items: start;
}

.nm-cinema-v2 .nm-cv2-filmcard-body,
.nm-cinema-v2 .nm-cv2-title,
.nm-cinema-v2 .nm-cv2-x-head,
.nm-cinema-v2 .nm-cv2-x-body {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.nm-cinema-v2 .nm-cv2-filmcard-body,
.nm-cinema-v2 .nm-cv2-filmcard-body h3,
.nm-cinema-v2 .nm-cv2-filmcard-body p,
.nm-cinema-v2 .nm-cv2-x-original,
.nm-cinema-v2 .nm-cv2-x-director,
.nm-cinema-v2 .nm-cv2-x-context,
.nm-cinema-v2 .nm-cv2-title {
  overflow-wrap: anywhere;
  word-break: normal;
}

.nm-cinema-v2 .nm-cv2-context {
  color: #999;
}

.nm-cinema-v2 .nm-cv2-filmcard-thumb,
.nm-cinema-v2 .nm-cv2-filmcard.is-expanded .nm-cv2-filmcard-thumb {
  width: 86px !important;
  min-width: 0 !important;
  max-width: 86px !important;
  height: 120px !important;
  box-sizing: border-box;
}

.nm-cinema-v2 .nm-cv2-filmcard-thumb img {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.nm-cinema-v2 .nm-cv2-thumb-fallback {
  box-sizing: border-box;
  overflow: hidden;
  padding: 10px 8px;
  align-items: center;
  justify-content: center;
  text-align: center;
  background:
    linear-gradient(
      145deg,
      rgba(230, 57, 70, .13),
      rgba(0, 0, 0, .82)
    );
}

.nm-cinema-v2 .nm-cv2-thumb-fallback b,
.nm-cinema-v2 .nm-cv2-thumb-fallback small {
  width: 100%;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.nm-cinema-v2 .nm-cv2-film-open,
.nm-cinema-v2 .nm-cv2-small-open {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.nm-cinema-v2 .nm-cv2-x-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  min-width: 0;
  max-width: 100%;
}

.nm-cinema-v2 .nm-cv2-x-body {
  grid-column: 1 / -1;
  width: 100%;
  overflow: visible;
}

.nm-cinema-v2 .nm-cv2-x-seanse {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.nm-cinema-v2 .nm-cv2-x-seanse > span {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.nm-cinema-v2 .nm-cv2-x-bilet {
  position: static;
  justify-self: end;
}

.nm-cinema-v2 .nm-cv2-row.is-expanded {
  grid-template-columns:
    0
    88px
    minmax(0, 1fr) !important;
}

.nm-cinema-v2 .nm-cv2-row.is-expanded .nm-cv2-thumb {
  width: 84px !important;
  min-width: 0 !important;
  max-width: 84px !important;
  height: 118px !important;
}

@media (max-width: 520px) {
  .nm-cinema-v2 .nm-cv2-filmcard,
  .nm-cinema-v2 .nm-cv2-filmcard.is-expanded {
    grid-template-columns:
      82px
      minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start;
  }

  .nm-cinema-v2 .nm-cv2-filmcard-thumb,
  .nm-cinema-v2 .nm-cv2-filmcard.is-expanded .nm-cv2-filmcard-thumb {
    width: 82px !important;
    min-width: 0 !important;
    max-width: 82px !important;
    height: 116px !important;
  }

  .nm-cinema-v2 .nm-cv2-filmcard-body h3 {
    margin-top: 0;
    font-size: 19px;
    line-height: 1.12;
  }

  .nm-cinema-v2 .nm-cv2-filmcard-body p {
    line-height: 1.28;
  }

  .nm-cinema-v2 .nm-cv2-x-head {
    margin-top: 6px;
  }

  .nm-cinema-v2 .nm-cv2-x-body {
    padding-top: 14px;
  }

  .nm-cinema-v2 .nm-cv2-row.is-expanded {
    grid-template-columns:
      0
      82px
      minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .nm-cinema-v2 .nm-cv2-row.is-expanded .nm-cv2-thumb {
    width: 78px !important;
    min-width: 0 !important;
    max-width: 78px !important;
    height: 110px !important;
  }

  .nm-cinema-v2 .nm-cv2-x-seanse {
    gap: 8px;
  }
}

@media (max-width: 380px) {
  .nm-cinema-v2 .nm-cv2-filmcard,
  .nm-cinema-v2 .nm-cv2-filmcard.is-expanded {
    grid-template-columns:
      76px
      minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .nm-cinema-v2 .nm-cv2-filmcard-thumb,
  .nm-cinema-v2 .nm-cv2-filmcard.is-expanded .nm-cv2-filmcard-thumb {
    width: 76px !important;
    max-width: 76px !important;
    height: 108px !important;
  }

  .nm-cinema-v2 .nm-cv2-filmcard-body h3 {
    font-size: 18px;
  }

  .nm-cinema-v2 .nm-cv2-x-seanse {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }
}

/*
 * NOISEMAP · CINEMA FILM DETAIL CONTRACT
 * Canonical owner: cinema-calendar.css
 *
 * Expanded film metadata owns the entire card width.
 * Prevent stale/narrow grid tracks from collapsing readable text.
 */

.nm-cinema-v2 .nm-cv2-filmcard > .nm-cv2-x-head-full {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box;
  margin: 4px 0 0 !important;
}

.nm-cinema-v2 .nm-cv2-filmcard > .nm-cv2-x-body {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.nm-cinema-v2 .nm-cv2-x-meta,
.nm-cinema-v2 .nm-cv2-x-rating,
.nm-cinema-v2 .nm-cv2-x-director,
.nm-cinema-v2 .nm-cv2-x-original,
.nm-cinema-v2 .nm-cv2-x-context {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal;
}

.nm-cinema-v2 .nm-cv2-x-meta {
  display: block;
  line-height: 1.45;
}

.nm-cinema-v2 .nm-cv2-x-rating {
  line-height: 1.4;
}

.nm-cinema-v2 .nm-cv2-x-director {
  line-height: 1.4;
}

.nm-cinema-v2 .nm-cv2-filmcard-thumb img,
.nm-cinema-v2 .nm-cv2-thumb img {
  visibility: visible;
  opacity: 1;
}

@media (max-width: 520px) {
  .nm-cinema-v2 .nm-cv2-filmcard > .nm-cv2-x-head-full {
    padding-top: 10px;
  }

  .nm-cinema-v2 .nm-cv2-x-meta,
  .nm-cinema-v2 .nm-cv2-x-rating,
  .nm-cinema-v2 .nm-cv2-x-director {
    font-size: 13px;
  }

  .nm-cinema-v2 .nm-cv2-x-director {
    margin-top: 6px;
  }
}
