/* The DAGCity Chronicle: un ziar online. Hârtie albă caldă, cerneală neagră, titluri serif, coloane și linii subțiri.
   Diferit de DAGCity Realty și de hartă; fonturile se servesc local (Playfair Display, Source Serif 4, OFL). */
@font-face { font-family: 'Playfair'; font-weight: 700; font-display: swap; src: url('/fonts/playfair-700.woff2') format('woff2'); }
@font-face { font-family: 'Playfair'; font-weight: 900; font-display: swap; src: url('/fonts/playfair-900.woff2') format('woff2'); }
@font-face { font-family: 'Playfair'; font-weight: 400; font-style: italic; font-display: swap; src: url('/fonts/playfair-400i.woff2') format('woff2'); }
@font-face { font-family: 'SourceSerif'; font-weight: 400; font-display: swap; src: url('/fonts/sourceserif-400.woff2') format('woff2'); }
@font-face { font-family: 'SourceSerif'; font-weight: 400; font-style: italic; font-display: swap; src: url('/fonts/sourceserif-400i.woff2') format('woff2'); }
@font-face { font-family: 'SourceSerif'; font-weight: 600; font-display: swap; src: url('/fonts/sourceserif-600.woff2') format('woff2'); }
@font-face { font-family: 'SourceSerif'; font-weight: 700; font-display: swap; src: url('/fonts/sourceserif-700.woff2') format('woff2'); }
:root { --paper: #fbf8f1; --paper-2: #f3eee2; --ink: #161514; --ink-2: #3b3833; --muted: #6d675d; --rule: #d6cfbf; --rule-dark: #161514; --red: #8a1c1c;
  --head: 'Playfair', Georgia, 'Times New Roman', serif; --body: 'SourceSerif', Georgia, 'Times New Roman', serif; color-scheme: light; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--paper); color: var(--ink); font: 18px/1.6 var(--body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.np-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.muted { color: var(--muted); }
[hidden] { display: none !important; }

/* banda de sus, titlul (masthead), meniul secțiunilor */
.np-strip { border-bottom: 1px solid var(--rule); font-size: 15px; color: var(--muted); }
.np-strip .np-wrap { display: flex; justify-content: space-between; align-items: center; height: 44px; gap: 12px; }
.np-strip .links { display: flex; gap: 18px; align-items: center; }
.np-strip a { color: var(--ink-2); }
/* „Back to the map”: mereu evidențiat (buton plin, în cerneala ziarului) */
.np-strip a[href="/"] { background: var(--ink); color: var(--paper); font-weight: 600; padding: 5px 14px; border-radius: 999px; }
.np-strip a[href="/"]::before { content: '← '; }
.np-strip a[href="/"]:hover { background: var(--red); text-decoration: none; }
.np-mast { text-align: center; padding: 22px 0 8px; }
.np-title { display: inline-block; font: 900 clamp(38px, 7.2vw, 92px)/1 var(--head); letter-spacing: -.015em; color: var(--ink); }
.np-title:hover { text-decoration: none; }
.np-tag { margin: 8px 0 0; font: italic 400 19px/1.3 var(--head); color: var(--ink-2); }
.np-edline { margin: 12px 0 0; padding: 7px 0; border-top: 3px double var(--rule-dark); border-bottom: 1px solid var(--rule-dark); font: 600 15px/1.4 var(--body); letter-spacing: .07em; text-transform: uppercase; color: var(--ink); }
.np-nav { border-bottom: 1px solid var(--rule-dark); }
.np-nav .np-wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 17px; padding-top: 10px; padding-bottom: 10px; }
.np-nav a { font: 600 15px/1.4 var(--body); letter-spacing: .02em; text-transform: uppercase; color: var(--ink-2); padding: 2px 0; border-bottom: 2px solid transparent; }
.np-nav a.on { color: var(--ink); border-bottom-color: var(--red); }
.np-nav a:hover { text-decoration: none; color: var(--red); }
main.np-wrap { padding-top: 28px; padding-bottom: 60px; min-height: 50vh; }
.np-loading { text-align: center; color: var(--muted); }

/* articolele: etichetă de secțiune, titlu, șapou */
.kick { display: block; font: 700 14px/1.3 var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--red); margin-bottom: 6px; }
.hl { font: 700 26px/1.15 var(--head); margin: 0 0 8px; letter-spacing: -.005em; }
.sf { font: italic 400 17.5px/1.45 var(--body); color: var(--ink-2); margin: 0 0 10px; }
.meta { font-size: 15px; color: var(--muted); letter-spacing: .02em; }
.fig { margin: 0 0 12px; }
.fig img, .fig svg { display: block; width: 100%; height: auto; background: var(--paper-2); }
.fig img.bld { aspect-ratio: 3 / 2; object-fit: contain; background: radial-gradient(ellipse at 50% 70%, #fff 0, var(--paper-2) 75%); }
.fig figcaption { font-size: 15px; color: var(--muted); padding: 6px 0 0; border-bottom: 1px solid var(--rule); padding-bottom: 6px; font-style: italic; }
.ph { aspect-ratio: 3 / 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; background: repeating-linear-gradient(135deg, #efe9dc 0 12px, #e9e2d3 12px 24px); color: var(--muted); text-align: center; padding: 10px; }
.ph b { font: 700 16px/1.2 var(--head); color: var(--ink-2); }
.ph code { font-size: 14px; }

/* prima pagină: articolul principal + coloana „This week in numbers” / „Daily briefs” */
.front { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 0 34px; }
.front > .side { border-left: 1px solid var(--rule); padding-left: 28px; }
.lead { padding-bottom: 22px; border-bottom: 1px solid var(--rule-dark); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 26px; align-items: start; }
.lead .hl { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.06; }
.lead .sf { font-size: 20px; }
.lead p.first { margin: 0; font-size: 18px; }
.lead p.first::first-letter { float: left; font: 900 62px/0.85 var(--head); padding: 6px 8px 0 0; }
.more { display: inline-block; margin-top: 10px; font: 600 14.5px/1 var(--body); letter-spacing: .05em; text-transform: uppercase; color: var(--red); }
.cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 20px; }
.cols > article { padding: 0 20px 18px; border-left: 1px solid var(--rule); }
.cols > article:first-child { padding-left: 0; border-left: 0; }
.cols > article:last-child { padding-right: 0; }
.cols .hl { font-size: 23px; }
.secblock { margin-top: 30px; border-top: 3px double var(--rule-dark); padding-top: 12px; }
.secblock > h2 { font: 900 24px/1.2 var(--head); margin: 0 0 14px; display: flex; justify-content: space-between; align-items: baseline; }
.secblock > h2 a.all { font: 600 14.5px/1 var(--body); letter-spacing: .06em; text-transform: uppercase; color: var(--red); }
.grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid4 > article { padding: 0 18px 16px; border-left: 1px solid var(--rule); }
.grid4 > article:nth-child(4n+1) { padding-left: 0; border-left: 0; }
.grid4 .hl { font-size: 20px; }
.grid4 .sf { font-size: 15.5px; }
.side h3 { font: 900 19px/1.2 var(--head); margin: 0 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--rule-dark); }
.nums { margin: 0 0 26px; }
.nums div { padding: 10px 0; border-bottom: 1px solid var(--rule); }
.nums b { display: block; font: 900 30px/1.1 var(--head); }
.nums small { font-size: 15px; color: var(--muted); letter-spacing: .02em; }
.nums .txt { display: block; font-size: 15px; color: var(--ink-2); margin-top: 2px; }
.briefs { list-style: none; margin: 0; padding: 0; }
.briefs li { padding: 9px 0; border-bottom: 1px solid var(--rule); font-size: 16px; line-height: 1.45; }
.briefs li small { display: block; font: 700 14px/1.3 var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--red); margin-bottom: 2px; }

/* mica publicitate */
.ads { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--rule-dark); }
.ads a { display: block; padding: 12px 14px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: 15.5px; line-height: 1.45; }
.ads a:nth-child(4n) { border-right: 0; }
.ads a b { display: block; font: 700 16.5px/1.25 var(--head); margin-bottom: 3px; text-transform: uppercase; letter-spacing: .02em; }
.ads a small { display: block; margin-top: 6px; font: 700 14px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--red); }

/* pagina articolului */
.artpage { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 0 34px; align-items: start; }
.artpage > .side { border-left: 1px solid var(--rule); padding-left: 28px; }
.art { min-width: 0; }
.art .hl { font-size: clamp(32px, 4.4vw, 50px); line-height: 1.08; margin-bottom: 12px; }
.art .sf { font-size: 21px; }
.art .meta { border-top: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule); padding: 8px 0; margin: 14px 0 18px; }
.art .fig { margin-bottom: 22px; }
.art .text p { margin: 0 0 16px; font-size: 19px; line-height: 1.65; }
.art .text p:first-child::first-letter { float: left; font: 900 72px/0.82 var(--head); padding: 8px 10px 0 0; }
table.np { width: 100%; border-collapse: collapse; margin: 6px 0 22px; font-size: 16.5px; font-variant-numeric: tabular-nums; }
table.np th { text-align: left; font: 700 14px/1.3 var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid var(--rule-dark); padding: 6px 8px; }
table.np td { padding: 8px; border-bottom: 1px solid var(--rule); }
table.np td:last-child, table.np th:last-child { text-align: right; }
table.np td:first-child { width: 36px; color: var(--muted); }
.related { margin: 0 0 26px; }
.related h3 { font: 900 19px/1.2 var(--head); margin: 0 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--rule-dark); }
.related .grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.related article { padding: 10px 0; border-bottom: 1px solid var(--rule); }
.related .hl { font-size: 19px; margin: 0 0 4px; }
.related .sf { font-size: 15.5px; margin: 0; }
.ednav { display: flex; justify-content: space-between; margin-top: 30px; padding-top: 12px; border-top: 1px solid var(--rule-dark); font: 600 15px/1 var(--body); letter-spacing: .04em; text-transform: uppercase; }
.ednav a { color: var(--red); }

/* arhiva și paginile de secțiune */
.archive h1, .seclist h1 { font: 900 40px/1.1 var(--head); margin: 0 0 4px; text-align: center; }
.archive > p, .seclist > p { text-align: center; color: var(--muted); font-style: italic; margin: 0 0 22px; }
.ed { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; padding: 18px 0; border-top: 1px solid var(--rule); align-items: start; }
.ed .no { font: 900 15px/1.3 var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--red); }
.ed .hl { font-size: 28px; }
.ed .fig { margin: 0; }
.seclist article { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 22px; padding: 16px 0; border-top: 1px solid var(--rule); }
.seclist article .fig { margin: 0; }
.empty { text-align: center; color: var(--muted); font-style: italic; padding: 30px 0; }

.np-foot { border-top: 3px double var(--rule-dark); padding: 18px 0 28px; font-size: 15px; color: var(--muted); }
.np-foot .np-wrap { display: grid; gap: 6px; }
.np-foot b { font: 900 20px/1.2 var(--head); color: var(--ink); }
.np-foot .links { display: flex; flex-wrap: wrap; gap: 16px; }
.np-foot a { color: var(--ink-2); }

@media (max-width: 1080px) {
  .front, .artpage { grid-template-columns: 1fr; }
  .front > .side, .artpage > .side { border-left: 0; padding-left: 0; border-top: 3px double var(--rule-dark); padding-top: 14px; margin-top: 24px; }
  .grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid4 > article:nth-child(4n+1) { padding-left: 18px; border-left: 1px solid var(--rule); }
  .grid4 > article:nth-child(2n+1) { padding-left: 0; border-left: 0; }
  .ads { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ads a:nth-child(4n) { border-right: 1px solid var(--rule); }
  .ads a:nth-child(2n) { border-right: 0; }
}
/* pe telefon: o singură coloană, imaginile pe toată lățimea */
@media (max-width: 720px) {
  html, body { font-size: 17px; }
  .np-wrap { padding: 0 16px; }
  .np-strip #np-today { display: none; }
  .np-edline { font-size: 14px; letter-spacing: .04em; }
  .np-nav .np-wrap { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; gap: 18px; scrollbar-width: none; }
  .np-nav a { white-space: nowrap; font-size: 14px; }
  .lead { grid-template-columns: 1fr; gap: 12px; }
  .lead .fig { margin: 0 -16px; }
  .lead .fig figcaption { padding-left: 16px; padding-right: 16px; }
  .cols, .grid4 { grid-template-columns: 1fr; }
  .cols > article, .grid4 > article, .grid4 > article:nth-child(4n+1) { padding: 16px 0; border-left: 0; border-bottom: 1px solid var(--rule); }
  .cols .fig, .grid4 .fig { margin-left: -16px; margin-right: -16px; }
  .cols .fig figcaption, .grid4 .fig figcaption { padding-left: 16px; padding-right: 16px; }
  .ads { grid-template-columns: 1fr; }
  .ads a { border-right: 0 !important; }
  .art .fig { margin-left: -16px; margin-right: -16px; }
  .art .fig figcaption { padding-left: 16px; padding-right: 16px; }
  .art .text p { font-size: 18px; }
  .related .grid { grid-template-columns: 1fr; }
  .ed, .seclist article { grid-template-columns: 1fr; gap: 10px; }
  table.np { font-size: 15px; }
}

/* graficele: pe ecran îngust se derulează orizontal, ca textul din ele să rămână lizibil (cel puțin ~14 px);
   în miniaturi (prima pagină, arhiva, secțiunile) apar fără text, doar ca imagine */
.fig.chart { overflow-x: auto; }
.art .fig.chart svg { min-width: 680px; }
.teaser .fig.chart svg text, .teaser .fig svg .lab { display: none; }

/* caseta „About the business” din articol */
.about { border-top: 2px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark); background: var(--paper-2); padding: 14px 18px 12px; margin: 4px 0 22px; }
.about h4 { font: 700 22px/1.2 var(--head); margin: 0 0 6px; }
.about h4 small { font: italic 400 16px var(--body); color: var(--muted); margin-left: 6px; }
.about p { margin: 0 0 10px !important; font-size: 17px !important; font-style: italic; color: var(--ink-2); }
.about p::first-letter { float: none !important; font: inherit !important; padding: 0 !important; }
.about dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 18px; margin: 0; }
.about dt { font: 700 14px/1.3 var(--body); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.about dd { margin: 0; font-size: 16.5px; font-variant-numeric: tabular-nums; }
@media (max-width: 720px) { .about dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* „Coming soon”: cardurile afacerilor planificate (click → toate datele) */
.soon-hint { font-style: italic; color: var(--muted); font-size: 16px !important; margin: 0 0 10px !important; }
.soon-hint::first-letter, .soon p::first-letter { float: none !important; font: inherit !important; padding: 0 !important; }
.soon { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; margin: 0 0 22px; align-items: start; }
.soon-card { border: 1px solid var(--rule); background: #fff; }
.soon-card[open] { grid-column: 1 / -1; display: grid; grid-template-columns: 300px minmax(0, 1fr); column-gap: 20px; }
.soon-card summary { list-style: none; cursor: pointer; padding: 0 0 12px; position: relative; }
.soon-card summary::-webkit-details-marker { display: none; }
.soon-card summary:hover h4 { color: var(--red); }
.soon-card summary img, .soon-card summary .ph { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; background: radial-gradient(ellipse at 50% 70%, #fff 0, var(--paper-2) 75%); }
.soon-card .badge { position: absolute; top: 10px; left: 10px; font: 700 14px/1 var(--body); letter-spacing: .06em; text-transform: uppercase; padding: 6px 9px; background: var(--ink); color: var(--paper); }
.soon-card .badge.available { background: var(--red); }
.soon-card h4 { font: 700 20px/1.2 var(--head); margin: 10px 14px 4px; }
.soon-card h4 small { font: italic 400 16px var(--body); color: var(--muted); }
.soon-card summary p { margin: 0 14px !important; font-size: 16px !important; line-height: 1.45 !important; color: var(--ink-2); }
.soon-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 14px 14px 6px; align-content: start; }
.soon-card dt { font: 700 14px/1.3 var(--body); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.soon-card dd { margin: 0; font-size: 16.5px; }
.soon-card .soon-state { grid-column: 2; margin: 4px 14px 6px !important; font-size: 16px !important; font-style: italic; }
.soon-card .soon-links { grid-column: 2; display: flex; gap: 22px; margin: 4px 14px 14px !important; font-size: 16px !important; }
.soon-card .soon-links a { color: var(--red); font-weight: 600; }
.soon-card[open] summary { grid-row: 1 / span 3; }
@media (max-width: 720px) {
  .soon-card[open] { grid-template-columns: 1fr; }
  .soon-card[open] summary { grid-row: auto; }
  .soon-card .soon-state, .soon-card .soon-links { grid-column: 1; }
  .soon-card dl { grid-template-columns: 1fr 1fr; }
}

/* mica publicitate: imaginea clădirii deasupra anunțului */
.ads a img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; margin: 0 0 8px; background: radial-gradient(ellipse at 50% 70%, #fff 0, var(--paper-2) 75%); }
@media (max-width: 720px) {
  .secblock > h2 { flex-wrap: wrap; gap: 4px 12px; }
  .secblock > h2 > span { flex-basis: 100%; }
}

/* ilustrațiile editoriale: tăiate la 3:2, ca în ziar */
.fig img.ill { aspect-ratio: 3 / 2; object-fit: cover; }
.art .text .fig { margin: 6px 0 22px; }
.art .text .fig, .art .text table, .art .text .about, .art .text .soon, .art .text .ads { clear: both; }
/* tabelele cu două coloane (ce s-a întâmplat → rezultat): eticheta pe un rând */
table.np tr td:first-child:nth-last-child(2) { width: 34%; color: var(--ink-2); }
