/* 137. Curated feed on Media & Articles (2026-10-23, owner approved: draft Outputs\external-materials\nove-europa-feed-v1.html).
   Only used while ne_cur_feed_active(); classes start with ncf- so nothing else on the site is touched. */
.ncf-wrap { max-width: 1100px; margin: 0 auto; padding: 30px var(--gutter) 60px; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 36px; align-items: start; }
.ncf-fbox { position: sticky; top: calc(var(--mast-h, 84px) + 14px); background: var(--paper-2); border: 1px solid var(--burg); border-radius: 2px; box-shadow: 0 8px 18px -10px rgba(29, 20, 24, 0.35); }
.ncf-fhead { display: grid; grid-template-columns: 48px minmax(0, 1fr); border-bottom: 1px solid var(--paper-3); }
.ncf-handle { background: var(--burg); color: var(--gold-soft); display: grid; place-items: center; }
.ncf-handle svg { width: 20px; height: 20px; }
.ncf-mt { padding: 12px 14px; color: var(--burg); font: 600 15px/1.3 var(--f-ui); }
.ncf-mbar { display: none; }
.ncf-filters { padding: 14px 10px 12px; font: 15px/1.4 var(--f-ui); max-height: calc(100vh - var(--mast-h, 84px) - 110px); overflow-y: auto; }
.ncf-group { margin-bottom: 20px; }
.ncf-group h2 { font: 500 13px/1.3 var(--f-ui); color: var(--ink-2); margin: 0 0 8px; letter-spacing: 0.02em; }
.ncf-group label { display: flex; gap: 8px; align-items: flex-start; padding: 5px 8px; border-radius: 2px; cursor: pointer; color: var(--ink); }
.ncf-group label:has(input:checked) { background: var(--paper); color: var(--burg); }
.ncf-group input { accent-color: var(--burg); margin-top: 4px; }
.ncf-n { margin-left: auto; color: var(--ink-2); font-size: 13px; }
.ncf-mode { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 14px; color: var(--ink-2); }
.ncf-seg { display: inline-flex; border: 1px solid var(--paper-3); border-radius: 2px; overflow: hidden; }
.ncf-seg button { background: transparent; border: 0; color: var(--ink-2); padding: 3px 10px; cursor: pointer; font: inherit; }
.ncf-seg button[aria-pressed="true"] { background: var(--burg); color: var(--on-dark); }
.ncf-clear, .ncf-clear2 { background: none; border: 0; color: var(--burg); text-decoration: underline; cursor: pointer; padding: 0 8px; font: inherit; }
.ncf-done { display: none; }
.ncf-tip { background: var(--paper-2); border: 1px solid var(--paper-3); border-radius: 2px; padding: 10px 40px 10px 14px; position: relative; font: 15px/1.5 var(--f-ui); color: var(--ink); margin: 0 0 14px; }
.ncf-tipx { position: absolute; top: 6px; right: 8px; background: none; border: 0; font-size: 20px; line-height: 1; color: var(--ink-2); cursor: pointer; }
.ncf-count { color: var(--ink-2); font: 14px/1.4 var(--f-ui); margin: 0 0 14px; }
.ncf-feed { list-style: none; margin: 0; padding: 0; }
.ncf-card { background: var(--paper-2); padding: 26px 30px; margin: 0 0 18px; border-radius: 2px; font-family: var(--f-read); }
.ncf-card[hidden] { display: none; }
.ncf-card h3 { font: 400 21px/1.3 var(--f-display); color: var(--burg); margin: 0 0 3px; text-wrap: pretty; }
.ncf-card h3 a { color: inherit; text-decoration: none; }
.ncf-card h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ncf-sub { margin: 0 0 10px; color: var(--ink); font-size: 16px; line-height: 1.5; }
.ncf-go { display: inline-flex; gap: 8px; align-items: center; color: var(--burg); font-weight: 500; text-decoration: none; }
.ncf-go svg { width: 18px; height: 18px; }
.ncf-src { display: flex; justify-content: space-between; gap: 10px; font: 14px/1.4 var(--f-ui); color: var(--ink-2); margin: 0 0 8px; }
.ncf-src b { font-weight: 500; color: var(--burg); }
.ncf-media { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; background: #2b1f24; overflow: hidden; border-radius: 2px; margin: 0 0 14px; border: 0; padding: 0; cursor: pointer; }
.ncf-media.ncf-tall, .ncf-media.ncf-tiktok, .ncf-media.ncf-instagram { aspect-ratio: 9 / 16; max-width: 340px; }
.ncf-media.ncf-instagram { aspect-ratio: auto; min-height: 420px; background: transparent; }
.ncf-media img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.94; }
.ncf-media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* Reddit's own player after the click (owner, 2026-10-28): its frame has a header above the video; the height follows the frame's own message (ne-feed.js) */
.ncf-media.ncf-reddit { aspect-ratio: auto; height: 680px; max-width: 420px; background: transparent; cursor: auto; }
.ncf-pic { cursor: default; }
.ncf-noimg { display: grid; place-items: center; width: 100%; height: 100%; color: var(--on-dark-2); font: 400 48px/1 var(--f-display); }
.ncf-play { position: absolute; inset: 0; margin: auto; width: 58px; height: 58px; border-radius: 50%; background: rgba(59, 26, 40, 0.88); border: 1.5px solid var(--gold); display: grid; place-items: center; }
.ncf-play svg { width: 22px; height: 22px; margin-left: 3px; fill: var(--on-dark); }
.ncf-media:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.ncf-langwrap { max-width: none; font-size: 15px; margin: -4px 0 14px; }
.ncf-langwrap details.ne-lang { margin: 0; background: var(--paper); }
.ncf-langwrap + .ncf-src { margin-top: -11px; }
.ncf-acc { all: unset; cursor: pointer; display: flex; align-items: center; gap: 8px; font: 500 15px/1.4 var(--f-ui); color: var(--burg); margin-top: 4px; }
.ncf-acc svg { width: 16px; height: 16px; transition: transform 0.2s; }
.ncf-acc[aria-expanded="true"] svg { transform: rotate(90deg); }
.ncf-acc:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.ncf-panel { margin-top: 8px; padding: 12px 14px; background: var(--paper); border-left: 2px solid var(--gold); }
.ncf-panel p { margin: 0 0 6px; }
.ncf-panel small { color: var(--ink-2); font-size: 13px; }
.ncf-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ncf-btn { font: 500 14px/1.3 var(--f-ui); text-decoration: none; color: var(--burg); border: 1px solid var(--burg); border-radius: 2px; padding: 6px 12px; }
.ncf-btn.ncf-solid { background: var(--burg); color: var(--on-dark); }
.ncf-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; margin-top: 12px; font: 14px/1.4 var(--f-ui); color: var(--ink-2); }
.ncf-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.ncf-pill { display: inline-block; font-size: 13px; line-height: 1.3; padding: 2px 10px; border-radius: 999px; background: var(--paper); border: 1px solid var(--paper-3); color: var(--ink-2); }
.ncf-pill.ncf-cat { color: var(--burg); border-color: #cdb9a9; }
.ncf-flag { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; color: var(--ink-2); text-decoration: none; }
.ncf-flag svg { width: 12px; height: 12px; opacity: 0.8; }
.ncf-flag:hover, .ncf-flag:focus-visible { color: var(--burg); text-decoration: underline; text-underline-offset: 2px; }
.ncf-more[hidden], .ncf-tip[hidden] { display: none; }
.ncf-more { display: block; margin: 8px auto 0; background: var(--paper-2); border: 1px solid var(--burg); color: var(--burg); border-radius: 2px; padding: 8px 18px; font: 500 15px var(--f-ui); cursor: pointer; }
@media all {
  .ncf-wrap { grid-template-columns: 1fr; gap: 0; padding-top: 0; }
  .ncf-fbox { top: var(--stick, 0px); z-index: 30; background: var(--paper); border: 0; border-bottom: 1px solid var(--paper-3); border-radius: 0; box-shadow: none; margin: 0 calc(-1 * var(--gutter)) 16px; padding: 10px var(--gutter); transition: top 0.5s cubic-bezier(0.22, 0.61, 0.36, 1); }
  .ncf-fhead { display: none; }
  .ncf-mbar { display: block; }
  .ncf-toggle { width: 100%; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; text-align: left; background: var(--paper-2); border: 1px solid var(--burg); border-radius: 2px; padding: 0; overflow: hidden; color: var(--burg); cursor: pointer; box-shadow: 0 6px 14px -8px rgba(29, 20, 24, 0.35); font: inherit; }
  .ncf-toggle .ncf-handle { grid-row: 1 / 3; align-self: stretch; }
  .ncf-toggle .ncf-mt { padding: 10px 0 0; }
  .ncf-chips { grid-column: 2; display: flex; flex-wrap: wrap; gap: 5px; padding-bottom: 11px; }
  .ncf-chip { font: 13px/1 var(--f-ui); padding: 4px 8px; border-radius: 2px; background: #f6eeda; color: var(--burg); border: 1px solid var(--gold); white-space: nowrap; }
  .ncf-chev { grid-column: 3; grid-row: 1 / 3; width: 20px; height: 20px; margin-right: 14px; transition: transform 0.2s; }
  .ncf-toggle[aria-expanded="true"] .ncf-chev { transform: rotate(180deg); }
  .ncf-filters { display: none; position: absolute; left: var(--gutter); right: var(--gutter); top: calc(100% - 11px); max-height: calc(100vh - 100px); padding: 14px 14px 0; background: var(--paper-2); border: 1px solid var(--burg); border-top: 0; box-shadow: 0 14px 24px -8px rgba(29, 20, 24, 0.3); }
  .ncf-filters.ncf-open { display: block; }
  .ncf-done { display: block; position: sticky; bottom: 0; width: 100%; margin-top: 12px; box-shadow: 0 -10px 0 var(--paper-2); background: var(--burg); color: var(--on-dark); border: 0; border-radius: 2px; padding: 10px; font: 500 15px var(--f-ui); cursor: pointer; }
  .ncf-card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { .ncf-acc svg, .ncf-chev, .ncf-fbox { transition: none; } }

/* 141. Article cards (/articles/ and anywhere .ncf-card is used): the 'Read ->' link sits at the lower right, on the same row as the tags, and is smaller (15px instead of 18px) (owner). */
.ncf-card { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: end; }
.ncf-card > * { grid-column: 1 / -1; }
.ncf-card > .ncf-go { grid-column: 2; grid-row: 99; justify-self: end; align-self: end; margin: 12px 0 0 !important; font-size: 15px !important; }
.ncf-card > .ncf-go svg { width: 15px; height: 15px; }
.ncf-card > .ncf-meta { grid-column: 1; grid-row: 99; margin-top: 12px !important; }

/* 144. /articles/: two columns from tablet width (768px) up; cards keep their natural height and flow down the left column, then the right (owner chose 'free-flowing columns', 2026-10-25). Phones stay one column. */
@media (min-width: 768px) {
  .ncf-feed { column-count: 2; column-gap: 18px; }
  .ncf-card { break-inside: avoid; page-break-inside: avoid; -webkit-column-break-inside: avoid; padding: 20px 22px; }
  .ncf-card h3 { font-size: 19px; }
  .ncf-media.ncf-tall, .ncf-media.ncf-tiktok { max-width: 260px; margin-left: auto; margin-right: auto; }
}

/* 145. /articles/ (owner, 2026-10-25): the filter bar sits on top at every width, as on the phone (the phone rules of section 137 now apply everywhere: its media query is 'all'); on wide screens the open panel lays Show / Kind / Topics side by side. The two columns are centred and about 660px each (page width 1338px + gutters). Language bar text in the cards 14px (was 16px). Card titles get the same tight letter spacing as the other titles of the site (-0.035em, like h3 in articles); 21px from 1100px wide. */
.ncf-wrap { max-width: calc(1338px + 2 * var(--gutter)); }
.ncf-card h3 { letter-spacing: -0.035em; }
.ncf-langwrap details.ne-lang summary { font-size: 14px; }
@media (min-width: 1100px) { .ncf-card h3 { font-size: 21px; } }
@media (min-width: 861px) {
  .ncf-filters.ncf-open { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; align-items: start; }
  .ncf-filters .ncf-clear, .ncf-filters .ncf-done { grid-column: 1 / -1; }
  .ncf-filters .ncf-clear { justify-self: start; margin-top: 6px; }
}

/* 146. /articles/ filter bar (owner, 2026-10-25): thinner on screens from 600px up - the chosen-filter label ('All') sits to the right of the text, one row; the text is 17px (was 15px). Phones keep the two-row bar. */
@media (min-width: 600px) {
  .ncf-toggle { grid-template-columns: 52px auto minmax(0, 1fr) auto; }
  .ncf-toggle .ncf-handle { grid-row: 1; }
  .ncf-toggle .ncf-mt { grid-column: 2; grid-row: 1; padding: 12px 0; font-size: 17px; white-space: nowrap; }
  .ncf-chips { grid-column: 3; grid-row: 1; padding: 0 0 0 16px; }
  .ncf-chev { grid-column: 4; grid-row: 1; }
}

/* 147. /articles/ cards tighter (owner, 2026-10-25): less loose space around the text and above the bottom row. Top/bottom padding 16px (was 20px), no gap under the text paragraph, line height 1.4, bottom row (tags / read more / external link) 8px under the text (was 22px). */
.ncf-card { padding-top: 16px; padding-bottom: 16px; }
.ncf-card .ncf-sub { margin-bottom: 0; line-height: 1.4; }
.ncf-card > .ncf-meta, .ncf-card > .ncf-go { margin-top: 8px !important; }

/* 155. Curated video cards: the opened "Full caption" fold continues the card text, so same size and spacing as that text (2026-10-25, log 193) */
.ncf-card .ncf-cap p { font-size: 16px; line-height: 1.4; margin: 0 0 8px; }
.ncf-card .ncf-cap p:last-child { margin-bottom: 0; }


/* 156. Curated video cards: the caption shows about 4 lines fading into the card; "Show full caption" slides the same text open (owner chose variant B, 2026-10-25, log 194). Replaces the "Full caption" fold of 155. */
.ncf-card .ncf-cap { position: relative; }
.ncf-card .ncf-cap .ncf-sub { margin: 0 0 8px; }
.ncf-card .ncf-cap .ncf-sub:last-child { margin-bottom: 0; }
.ncf-card .ncf-clamp .ncf-capbody { max-height: 90px; overflow: hidden; transition: max-height 0.35s ease; }
.ncf-card .ncf-fits .ncf-capbody { max-height: none; }
.ncf-card .ncf-fade { position: absolute; left: 0; right: 0; bottom: 0; height: 46px; pointer-events: none; background: linear-gradient(to bottom, rgba(251, 247, 237, 0), var(--paper-2) 85%); transition: opacity 0.25s; }
.ncf-card .ncf-capopen .ncf-fade, .ncf-card .ncf-fits .ncf-fade { opacity: 0; }
.ncf-capbtn { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; justify-self: start; font: 500 15px/1.4 var(--f-ui); color: var(--burg); }
.ncf-capbtn:hover span { text-decoration: underline; }
.ncf-capbtn:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.ncf-capbtn .ncf-chev { width: 16px; height: 16px; margin: 0; grid-column: auto; grid-row: auto; transition: transform 0.2s; }
.ncf-capbtn[aria-expanded="true"] .ncf-chev { transform: rotate(180deg); }
.ncf-capbtn[hidden] { display: none; }
/* "Arată textul original" under an English material shown in Romanian (owner, 2026-10-28): small and quiet, like the "material extern" link */
.ncf-origbtn { all: unset; cursor: pointer; justify-self: start; width: max-content; margin-top: 6px; font: 400 13px/1.4 var(--f-ui); color: var(--ink-2); text-decoration: underline; text-underline-offset: 2px; }
.ncf-origbtn:hover { color: var(--burg); }
.ncf-origbtn:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .ncf-card .ncf-capbody, .ncf-capbtn .ncf-chev, .ncf-card .ncf-fade { transition: none; } }


/* 157. /articles/ "Follow this feed": wine card at the top of the feed and a bar that slides up from the bottom (owner chose bar + card, wording approved, 2026-10-25, log 195). */
.ncf-card.ncf-follow { background: var(--burg); color: #fff; }
.ncf-card.ncf-follow h3 { color: #fff; margin: 0 0 4px; }
.ncf-follow .ncf-fsub { margin: 0 0 14px; font: 15px/1.45 var(--f-ui); color: #E9D29A; }
.ncf-fways { display: grid; gap: 8px; }
.ncf-fway { all: unset; box-sizing: border-box; cursor: pointer; display: flex; gap: 12px; align-items: flex-start; width: 100%; padding: 12px; border-radius: 3px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(233, 210, 154, 0.35); color: #fff; text-decoration: none !important; }
.ncf-fway:hover { background: rgba(233, 210, 154, 0.14); }
.ncf-fway:focus-visible, .ncf-fbtn:focus-visible, .ncf-fbar-x:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.ncf-fway .ncf-fi { width: 22px; height: 22px; flex: none; margin-top: 1px; color: #E9D29A; }
.ncf-fwt b { display: block; font: 600 15.5px/1.3 var(--f-ui); color: #fff; }
.ncf-fwt span { display: block; margin-top: 2px; font: 14px/1.4 var(--f-ui); color: #e8dccd; }

.ncf-fbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 800; background: var(--burg); color: #fff; box-shadow: 0 -6px 20px rgba(40, 15, 25, 0.25); transform: translateY(110%); visibility: hidden; transition: transform 0.35s ease, visibility 0s linear 0.35s; }
.ncf-fbar.ncf-on { transform: none; visibility: visible; transition: transform 0.35s ease; }
.ncf-fbar-in { max-width: 1338px; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 10px; }
.ncf-fbar-t { font: 600 15px/1.2 var(--f-ui); color: #E9D29A; margin-right: 6px; white-space: nowrap; }
.ncf-fbtn { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(233, 210, 154, 0.65); color: #fff; font: 500 15px/1.2 var(--f-ui); white-space: nowrap; text-decoration: none !important; }
.ncf-fbtn:hover { background: rgba(233, 210, 154, 0.14); }
.ncf-fbtn .ncf-fi { width: 18px; height: 18px; flex: none; color: #E9D29A; }
.ncf-fbtn .ncf-fs { display: none; }
.ncf-fbar-x { all: unset; cursor: pointer; margin-left: auto; padding: 4px 8px; font-size: 22px; line-height: 1; color: #E9D29A; }
body.ncf-fbar-room { padding-bottom: 60px; }
body.ncf-fbar-on .generate-back-to-top { bottom: 72px !important; }
@media (max-width: 760px) {
  .ncf-fbar-in { gap: 6px; padding: 8px 10px; }
  .ncf-fbar-t { display: none; }
  .ncf-fbtn { flex: 1; justify-content: center; padding: 9px 6px; font-size: 14px; gap: 6px; }
  .ncf-fbtn .ncf-fl { display: none; }
  .ncf-fbtn .ncf-fs { display: inline; }
}

.ncf-fpop { position: fixed; z-index: 9000; width: min(360px, calc(100vw - 32px)); padding: 18px 18px 16px; background: var(--paper-2); border: 1px solid var(--burg); border-radius: 4px; box-shadow: 0 12px 34px rgba(40, 15, 25, 0.28); font: 15px/1.45 var(--f-ui); color: var(--ink); }
.ncf-fpop h4 { margin: 0 0 6px; font: 600 17px/1.3 var(--f-ui); color: var(--burg); }
.ncf-fpop p { margin: 0 0 12px; }
.ncf-fpop small { display: block; margin-top: 10px; font-size: 13px; color: var(--ink-2); }
.ncf-fpop-x { all: unset; cursor: pointer; position: absolute; top: 8px; right: 10px; font-size: 22px; line-height: 1; color: var(--ink-2); }
.ncf-fpop-row { display: flex; gap: 8px; }
.ncf-fpop-row input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #b9a98f; border-radius: 3px; background: #fff; font: 15px/1.2 var(--f-ui); color: var(--ink); }
.ncf-fcopy { all: unset; cursor: pointer; padding: 10px 14px; border-radius: 3px; background: var(--burg); color: #fff; font: 600 14px/1.2 var(--f-ui); }
.ncf-fcopy:focus-visible, .ncf-fpop-x:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .ncf-fbar, .ncf-fbar.ncf-on { transition: none; } }

/* 158. /articles/ cards: a 1px line above the labels row separates the caption (or summary) from the labels below (owner, 2026-10-25, log 198). */
.ncf-card .ncf-meta { border-top: 1px solid var(--paper-3); padding-top: 12px; margin-top: 14px; }
/* 159. Own article cards: the line of 158 runs the full card width, under "read more" too (it sits in its own column beside the labels) (owner, 2026-10-25, log 199). */
.ncf-card:has(> .ncf-go) > .ncf-meta { border-top: 0; }
.ncf-card:has(> .ncf-go)::after { content: ""; grid-column: 1 / -1; grid-row: 98; height: 1px; background: var(--paper-3); margin-top: 8px; }
.ncf-card:has(> .ncf-go) > .ncf-meta, .ncf-card:has(> .ncf-go) > .ncf-go { padding-top: 12px; margin-top: 0 !important; }
/* 159b. Cards without "read more" (video cards): the labels row and its line span the full width, not stopping 16px short at the empty "read more" column (log 199). */
.ncf-card:not(:has(> .ncf-go)) > .ncf-meta { grid-column: 1 / -1; }
/* 160. /articles/ two columns: the first card dealt to the right column starts it (set by ne-feed.js), so the browser no longer re-balances cards between the columns when a box opens (owner, 2026-10-25, log 200). */
.ncf-feed > .ncf-colbreak { break-before: column; }
/* 161. /articles/ wide screens: the cards sit in two real columns made by ne-feed.js (li.ncf-col > ul.ncf-colul), because Firefox ignores the column break of 160; a card that grows only pushes down its own column (owner, 2026-10-25, log 201). */
.ncf-feed.ncf-dealt { column-count: auto; display: flex; gap: 18px; align-items: flex-start; }
.ncf-feed.ncf-dealt > .ncf-col { flex: 1 1 0; min-width: 0; }
.ncf-colul { list-style: none; margin: 0; padding: 0; }

/* 162. /articles/ video cards: tall (TikTok) pictures show the whole creator cover; a cover shorter than the tall box gets dark bands above and below instead of losing its sides. Play button fill half as solid (0.88 -> 0.44); gold ring and triangle unchanged (owner, 2026-10-26, log 214). */
.ncf-media.ncf-tall img { object-fit: contain; }
.ncf-play { background: rgba(59, 26, 40, 0.44); }
/* 163. /articles/ video cards: play button bigger (58 -> 76px circle, triangle 22 -> 29px); gold ring and white triangle at 65% strength, circle fill 0.44 -> 0.38 (owner, 2026-10-26, log 216). */
.ncf-play { width: 76px; height: 76px; background: rgba(59, 26, 40, 0.38); border-color: rgba(203, 166, 82, 0.65); }
.ncf-play svg { width: 29px; height: 29px; margin-left: 4px; fill: rgba(246, 244, 239, 0.82); } /* triangle 0.65 -> 0.82 (owner, 2026-10-26) */
/* 164. /articles/ TikTok cards: a "Watch on TikTok" link under every opened TikTok player, because TikTok's in-page players fail in some browsers (owner, 2026-10-26, log 220). */
.ncf-watch { display: block; width: max-content; margin: -4px auto 14px; font: 500 14px/1.3 var(--f-ui); color: var(--burg); text-decoration: underline; text-underline-offset: 3px; }
.ncf-watch:hover { color: var(--ink); }
.ncf-watch:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* ---- nouaromania.eu additions (2026-10-26). The rules above are nove-europa.eu's site.css sections for its /articles/ feed (137-164, without 157b notifications), copied unchanged. */
/* The site's top bar stays at the top while scrolling: the filter bar sticks just under it. */
/* (2026-10-28) removed a body-level --stick value: it hid the value the site script sets, so the filter bar stayed 82px down after the menu slid away */
/* The page before the first material arrives */
.ncf-empty { font: 400 1.05rem/1.5 var(--f-read); color: var(--ink-2); margin: 8px 0 24px; }
/* Home row: curated pictures come in many shapes; the same frame as the other home cards */
.ncf-hcard img { width: 100%; height: auto; aspect-ratio: 768 / 429; object-fit: cover; }

/* "Edit" link on each card, only for the owner while logged in (2026-10-28) */
.ncf-edit { margin-left: auto; font-size: 12.5px; color: var(--burg); text-decoration: underline; text-underline-offset: 2px; }
.ncf-edit:hover { color: var(--ink); }
.ncf-edit + .ncf-flag { margin-left: 14px; }

/* Materiale Externe: each material on its own lighter cream card, as on nove-europa.eu (owner, 2026-10-28); --paper-2 equals the page beige on this site */
.ncf-feed .ncf-card:not(.ncf-follow) { background: #FBF7ED; }
.ncf-feed .ncf-card .ncf-fade { background: linear-gradient(to bottom, rgba(251, 247, 237, 0), #FBF7ED 85%); }

/* Tall video pictures (TikTok, Reddit, Instagram) centred at every width; before, only from 768px up (owner, 2026-10-28) */
.ncf-media.ncf-tall, .ncf-media.ncf-tiktok, .ncf-media.ncf-instagram, .ncf-media.ncf-reddit { margin-left: auto; margin-right: auto; }

/* "Notificări în browser" on the Follow card and bar (copied from nove-europa.eu site.css 157b; owner, 2026-10-28). Both states are in the page; html.ncf-push-on (set by ne-feed.js) shows the "on" words, filled bell and green dot; browsers that cannot show notifications never see the button (html.ncf-nopush). */
.ncf-fwt .ncf-poff, .ncf-fwt .ncf-pon { display: inline; margin: 0; font: inherit; color: inherit; }
html:not(.ncf-push-on) .ncf-pon, html.ncf-push-on .ncf-poff, html.ncf-nopush .ncf-push { display: none !important; }
.ncf-fwt .ncf-pdot { display: inline-block; width: 8px; height: 8px; margin: 0 7px 2px 0; border-radius: 50%; background: #8fcf9a; vertical-align: middle; }
html.ncf-push-on .ncf-push .ncf-bell { fill: currentColor; }
html.ncf-push-on .ncf-fway.ncf-push { background: rgba(233, 210, 154, 0.16); border-color: rgba(233, 210, 154, 0.7); }
html.ncf-push-on .ncf-fbtn.ncf-push { background: rgba(233, 210, 154, 0.2); border-color: #E9D29A; }
.ncf-fpop ol { margin: 0 0 4px; padding-left: 20px; }
.ncf-fpop li { margin: 0 0 4px; }
.ncf-fghost { all: unset; cursor: pointer; padding: 9px 13px; border-radius: 3px; border: 1px solid var(--burg); color: var(--burg); font: 600 14px/1.2 var(--f-ui); }
.ncf-fghost:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.ncf-fcopy:disabled, .ncf-fghost:disabled { opacity: 0.6; cursor: wait; }
@media (max-width: 760px) {
  .ncf-fbtn.ncf-push { min-width: 0; white-space: normal; text-align: center; line-height: 1.15; -webkit-hyphens: auto; hyphens: auto; }
  .ncf-fbar .ncf-fbtn { align-self: stretch; } /* RSS as tall as a two-line Notifications button */
  body.ncf-fbar-room { padding-bottom: 72px; } /* room for a two-line bar */
}

/* 323. Card titles on /materiale-externe/ in Source Serif 4 like all other titles (were DM Serif Display from the Nove Europa copy; owner, 2026-10-28): same family as --f-head, 700 like other headings, normal letter spacing as in 236 */
.ncf-card h3 { font-family: var(--f-head); font-weight: 700; letter-spacing: normal; }

/* 2026-10-28 (log 325): more side space inside the cards, owner asked for text further from the left/right edges */
.ncf-card { padding-left: 26px; padding-right: 26px; }
@media (min-width: 768px) { .ncf-card { padding-left: 38px; padding-right: 38px; } }
