/* ==========================================================================
   print.css — clean printouts (announcements "Yazdır", news, legal texts, tenders).
   No header / navigation / side rail / footer / cookie notice / dialogs / buttons; black on white, link addresses are NOT printed,
   tables, lists, the poster picture and the tender fact grid are kept (phase 5, stream A).
   ========================================================================== */
@page {
  margin: 16mm 14mm;
}

body {
  display: block;
  min-height: 0;
  padding: 0;
  background: none;
  color: var(--color-ink);
  font-size: 11pt;
  line-height: 1.5;
}

.skip-link,
.site-header,
.drawer,
.search-dialog,
.cookie-dialog,
.cookie-banner,
.side-rail,
.site-footer,
.toast-region,
.sidebar-menu,
.sidebar-toc,
.contact-card,
.page-hero__breadcrumb,
.lightbox,
.no-print {
  display: none;
}

.page-hero {
  background: none;
  color: var(--color-ink);
}

.page-hero__inner {
  padding: 0 0 var(--space-16);
  border-bottom: 1px solid var(--color-control-border);
}

.page-hero__title,
h1, h2, h3, h4 {
  color: var(--color-ink);
  break-after: avoid;
}

.page-hero__intro,
.page-hero__meta {
  color: var(--color-slate-600);
}

.page-body {
  padding: var(--space-16) 0 0;
}

.page-layout {
  display: block;
}

.container {
  max-width: none;
  padding-inline: 0;
}

img,
table,
figure,
blockquote {
  break-inside: avoid;
}

.prose a {
  color: var(--color-ink);
  text-decoration: underline;
}

[data-reveal] {
  opacity: 1;
  transform: none;
}

/* ---- phase 5 · stream A: announcement / news / tender printouts ---------------------------------------------------------- */
.pagination,
.list-filter,
.prev-next,
.share,
.notice-docs,
.notice-back,
.meta-bar__actions,
.zoomable__badge,
.poster__hint,
.news-more,
.photo-section,
.empty-state__actions,
.button,
.doc-row__action,
.toast-region,
.skip-link {
  display: none;
}

.print-only {
  display: block;
  margin: var(--space-24) 0 0;
  color: var(--color-slate-600);
  font-size: 9pt;
}

.page-hero__meta {
  color: var(--color-slate-600);
}

.page-hero__title {
  font-size: 20pt;
  line-height: 1.25;
}

.page-layout__main,
.notice-body,
.notice-page,
.page-sections {
  display: block;
}

.notice-page > * + *,
.notice-body > * + *,
.page-sections > * + * {
  margin-top: var(--space-16);
}

a {
  color: var(--color-ink);
  text-decoration: underline;
}

.meta-bar {
  display: block;
}

.meta-bar__info {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-12);
  color: var(--color-slate-600);
}

.badge {
  border: 1px solid var(--color-control-border);
  background: none;
  color: var(--color-ink);
}

/* tender fact grid: no dark boxes on paper, the boxes keep their outline */
.fact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-8);
}

.fact-grid > * {
  flex: none;
}

.fact,
.fact--highlight {
  padding: var(--space-8) var(--space-12);
  border: 1px solid var(--color-control-border);
  background: none;
  break-inside: avoid;
}

.fact__label,
.fact--highlight .fact__label {
  color: var(--color-slate-600);
}

.fact__value,
.fact--highlight .fact__value {
  color: var(--color-ink);
  font-size: 11pt;
  line-height: 1.4;
}

.notice-card,
.notice-callout,
.numbered-list {
  padding: var(--space-8) var(--space-12);
  border: 1px solid var(--color-control-border);
  background: none;
  break-inside: auto;
}

.numbered-list__item {
  break-inside: avoid;
}

.numbered-list__text,
.numbered-list__title {
  color: var(--color-ink);
  font-size: 11pt;
  line-height: 1.45;
}

/* the poster is the notice: full width, uncropped, kept on one page */
.poster,
.notice-poster {
  display: block;
  padding: 0;
  border: 0;
  background: none;
  break-inside: avoid;
}

.notice-poster > .zoomable,
.notice-poster__frame,
.notice-poster__frame--portrait,
.notice-poster__frame--sized {
  display: block;
  width: 100%;
  max-width: 100%;
}

.notice-poster__image {
  width: 100%;
  max-height: 245mm;
  object-fit: contain;
  border-radius: 0;
}

.news-cover {
  border-radius: 0;
  background: none;
}

/* tables are kept as tables: the phone "stacked cards" layout is not used on paper (the print page is narrower than 768 px) */
.table-wrap,
.table-scroll {
  overflow: visible;
  border: 0;
  background: none;
}

.table,
.table--stacked {
  min-width: 0;
  font-size: 10pt;
}

.table--stacked {
  display: table;
}

.table--stacked tbody {
  display: table-row-group;
}

.table--stacked tr {
  display: table-row;
  margin: 0;
  padding: 0;
  border: 0;
}

.table--stacked td,
.table--stacked tbody th {
  display: table-cell;
  padding: var(--space-8) var(--space-12);
  border-bottom: 1px solid var(--color-control-border);
}

.table--stacked td::before,
.table--stacked tbody th::before {
  content: none;
}

.table--stacked thead {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
}

.table th {
  border-bottom: 1px solid var(--color-ink);
  background: none;
  color: var(--color-ink);
}

.table td {
  border-bottom: 1px solid var(--color-control-border);
}

.table thead {
  display: table-header-group;
}

.table tr {
  break-inside: avoid;
}

.visually-hidden {
  display: none;
}

/* black on white: accent and brand colours give way to ink */
.eyebrow,
.section-heading__title,
.numbered-list__item::before,
.numbered-list--conditions .numbered-list__text strong,
.numbered-list--marked .numbered-list__text strong,
.notice-callout .prose strong,
.notice-meta__unit,
.date-tile__day,
.meta,
.table__strong {
  color: var(--color-ink);
}

.numbered-list--letters .numbered-list__item::before {
  background: none;
  border: 1px solid var(--color-control-border);
}
