/*
Theme Name: Archiwum Spraw
Description: Motyw potomny Ashe dla kampanii RPG: archiwum PRL, teczki spraw, maszynopisy i kartoteki.
Author: Archiwum Spraw
Template: ashe
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: ashe-prl-archive
Tags: blog, custom-header, custom-logo, custom-menu, featured-images, left-sidebar, right-sidebar, threaded-comments
*/

/*
SPIS SEKCJI
01 Kolory, fonty i tekstury       02 Baza i kontenery Ashe
03 Header                        04 Nawigacja
05 Wpisy, metadane i zdjęcia      06 Treść, Gutenberg, tabele i cytaty
07 Sidebar i widgety             08 Wiki / Yada Wiki
09 Klasy specjalne               10 Mapy Leaflet
11 Komentarze i formularze       12 Stopka i paginacja
13 Responsywność                 14 Druk i dostępność

Nie ładuj tu CSS rodzica przez @import — robi to functions.php.
Prefiks body.prl-archive celowo wygrywa z dynamicznym CSS Customizera Ashe.
!important użyto tylko tam, gdzie Ashe lub style inline wymagają nadpisania.
*/

/* === 01. KOLORY, FONTY I TEKSTURY ==================================== */
:root {
  --archive-bg: #171713;
  --archive-paper: #e2d3ae;
  --archive-paper-dark: #c8b98d;
  --archive-panel: #d2c095;
  --archive-ink: #1f1b16;
  --archive-muted: #5b5144;
  --archive-red: #8b1e1e;
  --archive-burgundy: #5c1616;
  --archive-olive: #3f4631;
  --archive-line: #7a6a50;
  --archive-font-heading: "Oswald", "Arial Narrow", Impact, sans-serif;
  --archive-font-body: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --archive-font-mono: "IBM Plex Mono", "Courier New", Courier, monospace;
  --archive-text-size: 18px;
  --archive-leading: 1.85;
  --archive-header-height: 340px;
  --archive-header-shade: rgba(23, 23, 19, .76);
  --archive-paper-texture:
    radial-gradient(ellipse at 4% 0%, rgba(122, 106, 80, .12), transparent 55%),
    repeating-linear-gradient(0deg, rgba(91, 81, 68, .022) 0 1px, transparent 1px 4px);
}

/* === 02. BAZA I KONTENERY ASHE ===================================== */
body.prl-archive {
  color: var(--archive-ink);
  background-color: var(--archive-bg) !important; /* Ashe Dark Mode ma własne !important. */
  font-family: var(--archive-font-body);
  font-size: var(--archive-text-size);
  line-height: var(--archive-leading);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Nie nadpisujemy background-image body: obraz tła nadal ustawia Customizer. */
body.prl-archive .page-content { color: var(--archive-ink); background: transparent; }
body.prl-archive .boxed-wrapper { min-width: 0; }
body.prl-archive .main-content {
  margin-top: 28px;
  margin-bottom: 28px;
  background-color: var(--archive-paper) !important;
  background-image: var(--archive-paper-texture);
  border-top: 5px solid var(--archive-olive);
  box-shadow: 0 12px 38px rgba(0, 0, 0, .3);
}
body.prl-archive .main-container { min-width: 0; }
/* Szerokości i podział na kolumny na desktopie nadal wylicza Ashe. */
body.prl-archive .main-container > article,
body.prl-archive .blog-grid article,
body.prl-archive .category-description,
body.prl-archive .author-description,
body.prl-archive .related-posts,
body.prl-archive .comments-area,
body.prl-archive .blog-pagination {
  color: var(--archive-ink);
  background-color: var(--archive-paper) !important;
  background-image: var(--archive-paper-texture);
  border-color: var(--archive-line);
}
body.prl-archive .page-content h1,
body.prl-archive .page-content h2,
body.prl-archive .page-content h3,
body.prl-archive .page-content h4,
body.prl-archive .page-content h5,
body.prl-archive .page-content h6 {
  color: var(--archive-ink);
  font-family: var(--archive-font-heading);
  font-weight: 600;
  line-height: 1.25;
}
body.prl-archive a { color: var(--archive-red); }
body.prl-archive a:hover { color: var(--archive-burgundy); }
body.prl-archive :focus-visible {
  outline: 3px solid var(--archive-red);
  outline-offset: 4px;
}
body.prl-archive ::selection { color: #fff5df; background: var(--archive-red); }

/* === 03. HEADER: CIEMNA OKŁADKA AKT ================================ */
body.prl-archive #page-header .entry-header {
  min-height: var(--archive-header-height);
  height: auto;
  padding: 54px 24px 62px;
  background-color: var(--archive-olive);
  border-top: 8px solid var(--archive-burgundy);
  border-bottom: 1px solid var(--archive-line);
  isolation: isolate;
}
/* Zostawiamy background-image z get_header_image() i rozmiar z Ashe. */
body.prl-archive #page-header .entry-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(var(--archive-header-shade), var(--archive-header-shade)),
    repeating-linear-gradient(90deg, rgba(226, 211, 174, .025) 0 1px, transparent 1px 5px);
}
body.prl-archive #page-header .entry-header > .cv-outer { display: block; height: auto; }
body.prl-archive #page-header .entry-header .cv-inner { display: block; }
body.prl-archive #page-header .header-logo {
  position: relative;
  max-width: 940px;
  margin: 0 auto;
  padding: 23px 20px;
  border-top: 1px solid rgba(226, 211, 174, .65);
  border-bottom: 4px double rgba(226, 211, 174, .65);
}
body.prl-archive #page-header .header-logo-a {
  max-width: 100%;
  color: var(--archive-paper);
  font-family: var(--archive-font-heading);
  font-size: clamp(2.15rem, 6.8vw, 5.5rem) !important; /* Responsywne Ashe używa !important. */
  font-weight: 700;
  line-height: 1.12 !important;
  letter-spacing: .045em;
  text-transform: uppercase;
  text-decoration: none;
  text-shadow: 1px 2px 0 rgba(0, 0, 0, .35);
  overflow-wrap: anywhere;
  text-wrap: balance;
}
body.prl-archive #page-header .header-logo-a:hover { color: #f3e7cc; }
body.prl-archive #page-header .header-logo .logo-img img {
  max-width: 100%;
  height: auto;
  filter: none;
}
body.prl-archive #page-header .site-description {
  color: var(--archive-paper);
  font-family: var(--archive-font-mono);
  font-size: clamp(.85rem, 1.6vw, 1rem) !important;
  line-height: 1.7;
  letter-spacing: .1em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
/* Opcjonalna wersja jasna: dodaj poniższe reguły w Dodatkowym CSS.
body.prl-archive { --archive-header-shade: rgba(226, 211, 174, .92); }
body.prl-archive #page-header .header-logo-a,
body.prl-archive #page-header .site-description { color: var(--archive-ink); text-shadow: none; }
body.prl-archive #page-header .header-logo { border-color: var(--archive-line); }
*/

/* === 04. MENU: INDEKS TECZKI ====================================== */
body.prl-archive #main-nav,
body.prl-archive #top-bar {
  color: var(--archive-ink);
  background: var(--archive-paper-dark);
  border-bottom: 2px solid var(--archive-line);
  box-shadow: none;
}
body.prl-archive #main-nav a,
body.prl-archive #main-nav i,
body.prl-archive #top-bar a { color: var(--archive-ink); }
body.prl-archive #main-menu li a,
body.prl-archive #top-menu li a,
body.prl-archive #mobile-menu li,
body.prl-archive .mobile-menu-btn a {
  font-family: var(--archive-font-mono);
  font-size: .84rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .065em;
  text-transform: uppercase;
}
body.prl-archive #main-menu > li > a { border-bottom: 3px solid transparent; }
body.prl-archive #main-nav a:hover,
body.prl-archive #main-nav i:hover,
body.prl-archive #main-nav li.current-menu-item > a,
body.prl-archive #main-nav li.current-menu-ancestor > a,
body.prl-archive #top-bar a:hover { color: var(--archive-red); }
body.prl-archive #main-menu > li.current-menu-item > a,
body.prl-archive #main-menu > li > a:hover { border-bottom-color: var(--archive-red); }
body.prl-archive #main-menu .sub-menu,
body.prl-archive #main-menu .sub-menu a,
body.prl-archive #top-menu .sub-menu,
body.prl-archive #top-menu .sub-menu a,
body.prl-archive .mobile-menu-container {
  color: var(--archive-ink);
  background: var(--archive-paper);
  border-color: var(--archive-line);
}
body.prl-archive #mobile-menu li a { padding-top: 12px; padding-bottom: 12px; }
body.prl-archive #main-menu li:focus-within > .sub-menu,
body.prl-archive #top-menu li:focus-within > .sub-menu { display: block; }
body.prl-archive .main-nav-sidebar span,
body.prl-archive .sidebar-alt-close-btn span { background-color: var(--archive-ink); }
body.prl-archive #main-nav #s {
  color: var(--archive-ink);
  background: var(--archive-paper-dark);
  font-family: var(--archive-font-mono);
  font-size: 16px;
}
body.prl-archive #main-nav #s::placeholder { color: var(--archive-muted); opacity: 1; }

/* === 05. WPISY: RAPORTY, METADANE, ZDJĘCIA ========================= */
body.prl-archive .post-header {
  margin-bottom: 25px;
  padding: 12px 0 20px;
  border-top: 3px double var(--archive-line);
  border-bottom: 1px solid var(--archive-line);
  text-align: left;
}
body.prl-archive .page-content .post-title,
body.prl-archive .page-content .page-title,
body.prl-archive .page-content .post-title a {
  color: var(--archive-ink);
  font-family: var(--archive-font-heading);
  font-size: clamp(1.9rem, 3.8vw, 3rem);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: .015em;
  text-decoration: none;
  overflow-wrap: anywhere;
}
body.prl-archive .page-content .post-title a:hover { color: var(--archive-red); }
body.prl-archive .post-title,
body.prl-archive .page-title { margin-top: 8px; margin-bottom: 15px; }
body.prl-archive .post-meta,
body.prl-archive .post-footer,
body.prl-archive .page-content .post-date,
body.prl-archive .page-content .post-author,
body.prl-archive .page-content .post-author a,
body.prl-archive .page-content .post-comments,
body.prl-archive .page-content .related-post-date {
  color: var(--archive-muted);
  font-family: var(--archive-font-mono);
  font-size: .8rem;
  font-style: normal;
  line-height: 1.8;
  letter-spacing: .025em;
}
body.prl-archive .post-meta { padding: 8px 0 0; }
body.prl-archive .post-meta .meta-sep { display: none; }
body.prl-archive .post-meta > :not(.meta-sep) { display: inline-block; margin-right: 1em; }
body.prl-archive .post-footer { border-color: var(--archive-line); border-top-style: dashed; }
body.prl-archive .post-categories { color: var(--archive-muted); margin-bottom: 12px; }
body.prl-archive .post-categories a,
body.prl-archive .page-content .post-tags a,
body.prl-archive .page-content .tagcloud a,
.file-label {
  display: inline-block;
  margin: 3px 4px 3px 0;
  padding: 3px 9px;
  color: var(--archive-red);
  background: rgba(200, 185, 141, .4);
  border: 1px solid var(--archive-line);
  border-radius: 0;
  font-family: var(--archive-font-mono);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-decoration: none;
}
body.prl-archive .post-categories a:hover,
body.prl-archive .post-tags a:hover { color: var(--archive-paper); background: var(--archive-red); }
body.prl-archive .post-media { padding: 6px; border: 1px solid var(--archive-line); }
body.prl-archive .post-media:empty { display: none; }
/* Ashe umieszcza w pustej ramce sam odnośnik, więc :empty nie wystarcza. */
body.prl-archive .post-media:not(:has(img, video, iframe, audio, embed, object, svg)) { display: none; }
body.prl-archive .post-media img { max-width: 100%; height: auto; filter: none; }
/* Opcjonalny efekt dla wybranych zdjęć: klasa archive-photo w bloku Obraz. */
body.prl-archive .archive-photo img { filter: sepia(.35) saturate(.6) contrast(.95); }
body.prl-archive .blog-grid > li { border-color: var(--archive-line); }
body.prl-archive .blog-grid .post-title,
body.prl-archive .blog-grid .post-title a { font-size: clamp(1.65rem, 2.5vw, 2.25rem); }
body.prl-archive .sticky { border-left: 4px solid var(--archive-red); }

/* === 06. TREŚĆ, GUTENBERG, TABELE I CYTATY ========================= */
body.prl-archive .post-content {
  color: var(--archive-ink);
  font-family: var(--archive-font-body);
  font-size: var(--archive-text-size);
  line-height: var(--archive-leading);
  text-align: left;
  overflow-wrap: anywhere;
}
/* Ograniczenie długości WIERSZA, bez zwężania map, zdjęć i całych bloków. */
body.prl-archive .post-content > p,
body.prl-archive .post-content > ul,
body.prl-archive .post-content > ol { max-width: 72ch; }
body.prl-archive .post-content p { margin: 0 0 1.3em; }
body.prl-archive .post-content p:where(:not([class*="has-text-align-"])) { text-align: inherit; }
body.prl-archive .post-content p:last-child { margin-bottom: 0; }
body.prl-archive .post-content h2 { margin: 1.5em 0 .7em; font-size: 1.85em; }
body.prl-archive .post-content h3 { margin: 1.4em 0 .65em; font-size: 1.4em; }
body.prl-archive .post-content a:not(.wp-block-button__link):not(.file-label):not(.stamp) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
body.prl-archive .post-content ul,
body.prl-archive .post-content ol { padding-left: 1.5em; margin: 0 0 1.3em; }
body.prl-archive .post-content li { margin-bottom: .4em; }
body.prl-archive .post-content li::marker { color: var(--archive-red); }
body.prl-archive .post-content li > ul,
body.prl-archive .post-content li > ol { margin-top: .4em; margin-bottom: .4em; }
body.prl-archive .post-content hr { height: 0; border: 0; border-top: 3px double var(--archive-line); background: none; }
body.prl-archive .post-content :is(pre, code, kbd, samp) { font-family: var(--archive-font-mono); }
body.prl-archive .post-content pre { padding: 18px; background: var(--archive-panel); border: 1px solid var(--archive-line); overflow-x: auto; }
body.prl-archive .post-content :is(figure, iframe, video) { max-width: 100%; }
body.prl-archive .post-content .wp-block-image img { height: auto; }
body.prl-archive .post-content .wp-block-cover .wp-block-cover__image-background { height: 100%; }
body.prl-archive .post-content .wp-block-cover :where(h1, h2, h3, h4, h5, h6) { color: inherit; }
body.prl-archive figcaption,
body.prl-archive .wp-caption-text,
body.prl-archive .gallery-caption {
  color: var(--archive-muted);
  font-family: var(--archive-font-mono);
  font-size: .8rem;
  line-height: 1.65;
  text-align: left;
  border-color: var(--archive-line);
  padding: 8px 0;
}
/* Własne kolory bloków Gutenberg pozostają dostępne dzięki .has-*-color. */
body.prl-archive .post-content .wp-block-columns { gap: 1.6rem; }
body.prl-archive .post-content .wp-block-column { min-width: 0; }
body.prl-archive .post-content .alignwide,
body.prl-archive .post-content .alignfull { max-width: 100%; margin-left: 0; margin-right: 0; }
body.prl-archive .post-content .wp-block-separator { border-color: var(--archive-line); }

body.prl-archive .post-content table {
  width: 100%;
  margin-bottom: 1.4em;
  border-collapse: collapse;
  font-family: var(--archive-font-mono);
  font-size: .88rem;
  line-height: 1.65;
}
body.prl-archive .post-content table :is(th, td) {
  padding: 11px 12px;
  color: var(--archive-ink);
  border: 1px solid var(--archive-line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
body.prl-archive .post-content table th { background: var(--archive-paper-dark); font-weight: 600; }
body.prl-archive .post-content table caption { color: var(--archive-muted); text-align: left; padding-bottom: 10px; }
body.prl-archive .post-content .wp-block-table,
body.prl-archive .post-content .archive-table-scroll { max-width: 100%; overflow-x: auto; }
body.prl-archive .post-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: rgba(200, 185, 141, .4); }

body.prl-archive blockquote,
body.prl-archive .wp-block-quote,
body.prl-archive .su-quote {
  position: relative;
  margin: 1.7em 0;
  padding: 22px 25px;
  color: var(--archive-ink);
  background-color: var(--archive-panel);
  background-image: var(--archive-paper-texture);
  border: 1px solid var(--archive-line);
  border-left: 5px solid var(--archive-red);
  box-shadow: 3px 4px 0 rgba(91, 81, 68, .12);
  font-family: var(--archive-font-mono);
  font-size: 1rem;
  font-style: normal;
  line-height: 1.8;
  text-align: left;
}
body.prl-archive blockquote p,
body.prl-archive .wp-block-quote.is-style-large p,
body.prl-archive .su-quote-inner {
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  letter-spacing: 0;
}
body.prl-archive blockquote cite,
body.prl-archive .su-quote-cite {
  display: block;
  margin-top: 1em;
  color: var(--archive-muted);
  font-family: var(--archive-font-mono);
  font-size: .8rem;
  font-style: normal;
  text-align: left;
}
body.prl-archive .wp-block-pullquote { border: 0; padding: 0; }
body.prl-archive .su-quote::before,
body.prl-archive .su-quote::after,
body.prl-archive .su-quote-inner::before,
body.prl-archive .su-quote-inner::after { content: none; }

/* === 07. SIDEBAR: KARTOTEKA I WIDGETY ============================== */
body.prl-archive .sidebar-left-wrap,
body.prl-archive .sidebar-right-wrap { min-width: 0; }
body.prl-archive .sidebar-left,
body.prl-archive .sidebar-right { color: var(--archive-ink); }
body.prl-archive .sidebar-alt { color: var(--archive-ink); background: var(--archive-paper-dark); }
body.prl-archive .ashe-widget {
  padding: 18px;
  margin-bottom: 26px;
  color: var(--archive-ink);
  background-color: var(--archive-panel) !important;
  background-image: var(--archive-paper-texture);
  border: 1px solid var(--archive-line);
  border-top: 4px solid var(--archive-olive);
  box-shadow: 3px 4px 0 rgba(91, 81, 68, .12);
  font-family: var(--archive-font-mono);
  font-size: .86rem;
  line-height: 1.75;
}
body.prl-archive .ashe-widget .widget-title { margin-bottom: 15px; text-align: left; }
body.prl-archive .ashe-widget .widget-title h2,
body.prl-archive .ashe-widget .wp-block-heading {
  display: block;
  padding: 0 0 10px;
  color: var(--archive-burgundy);
  border-bottom: 2px solid var(--archive-line);
  font-family: var(--archive-font-heading);
  font-size: 1.25rem;
  line-height: 1.35;
  letter-spacing: .07em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
body.prl-archive .widget-title h2::before,
body.prl-archive .widget-title h2::after { display: none; }
body.prl-archive .page-content .ashe-widget a { color: var(--archive-ink); }
body.prl-archive .page-content .ashe-widget a:hover { color: var(--archive-red); }
body.prl-archive .ashe-widget li,
body.prl-archive .ashe-widget .widget_nav_menu li a { border-color: var(--archive-line); }
body.prl-archive .ashe-widget :is(ul, ol) { margin-bottom: 0; }
body.prl-archive .ashe-widget li { padding-top: 8px; padding-bottom: 8px; }
body.prl-archive .ashe-widget .wp-block-search__label { font-weight: 600; }
body.prl-archive .ashe-widget .wp-block-search__inside-wrapper { flex-wrap: wrap; gap: 8px; }
body.prl-archive .ashe-widget .wp-block-search__button { margin-left: 0; }
body.prl-archive .ashe-widget :is(input, select, textarea) { max-width: 100%; }
body.prl-archive .ashe-widget .stamp { font-size: 1.15rem; letter-spacing: .08em; }

/* === 08. YADA WIKI: KARTY ARCHIWALNE =============================== */
body.prl-archive .type-yada_wiki { border-top: 5px solid var(--archive-olive); padding-top: 14px; }
body.prl-archive .type-yada_wiki .post-header { border-top: 0; }
body.prl-archive .type-yada_wiki .post-title { text-transform: uppercase; }
/* Przełącznik w functions.php: ashe_prl_hide_wiki_meta.
   Chowamy widoczne metadane, bez ingerencji w schema/Yoast czy daty w bazie. */
body.prl-archive.archive-hide-wiki-meta .type-yada_wiki .post-meta,
body.prl-archive.archive-hide-wiki-meta .type-yada_wiki .post-footer > .post-author,
body.prl-archive.archive-hide-wiki-meta.single-yada_wiki .author-description { display: none; }
body.prl-archive .wiki-cat-list { list-style: none; margin: 1em 0; padding-left: 0; }
body.prl-archive .wiki-cat-list .wiki-cat-item {
  list-style: none;
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px dashed var(--archive-line);
  font-family: var(--archive-font-mono);
  font-size: .95rem;
}
body.prl-archive .wiki-cat-link,
body.prl-archive a.wikilink-published,
body.prl-archive a.wikilink-private,
body.prl-archive a.wikilink-other {
  color: var(--archive-red);
  text-decoration: underline;
  text-underline-offset: .18em;
}
body.prl-archive .wiki-cat-item a::before { content: "↳ "; color: var(--archive-muted); }
/* Zachowujemy odróżnienie haseł nieopublikowanych/brakujących. */
body.prl-archive :is(.wikilink-new, .wikilink-pending, .wikilink-no-edit, .wikilink-trash) {
  color: var(--archive-muted);
  text-decoration-line: underline;
  text-decoration-style: dashed;
}
body.prl-archive .wikilink-trash { text-decoration: line-through; }
/* Faktyczne klasy indeksu [yadawiki-index]. Układ kolumn nadal obsługuje Yada. */
body.prl-archive .ywtable {
  width: 100%;
  color: var(--archive-ink);
  border-color: var(--archive-line);
  font-family: var(--archive-font-mono);
  font-size: .9rem;
  line-height: 1.75;
}
body.prl-archive .ywtable :is(.ywrow, .ywcolumn, .ywcolumn-alt) { border-color: var(--archive-line); }
body.prl-archive .ywtable-head .ywcolumn { color: var(--archive-paper); background: var(--archive-olive); }
body.prl-archive .ywcolumn:hover { background: var(--archive-panel); }
body.prl-archive .ywcolumn a { overflow-wrap: anywhere; }

/* === 09. KLASY SPECJALNE DO TREŚCI WPISÓW ========================== */
/* Grupa w Gutenbergu: Zaawansowane > Dodatkowe klasy CSS, bez kropki.
   Warianty is-style-* są również dostępne jako style bloku Grupa.
   UWAGA: classified, mg-only-box i redacted są wyłącznie dekoracyjne.
   Prawdziwe sekrety publikuj w osobnych wpisach z kontrolą dostępu. */
.archive-note,
.is-style-archive-note,
.classified,
.is-style-classified,
.case-file,
.is-style-case-file,
.mg-only-box,
.is-style-mg-only-box {
  position: relative;
  margin: 1.5em 0;
  padding: clamp(18px, 3vw, 28px);
  color: var(--archive-ink);
  background-color: var(--archive-panel);
  background-image: var(--archive-paper-texture);
  border: 1px solid var(--archive-line);
  box-shadow: 3px 4px 0 rgba(91, 81, 68, .1);
}
.archive-note,
.is-style-archive-note { border-left: 5px solid var(--archive-olive); }
.classified,
.is-style-classified { border: 3px double var(--archive-red); }
.case-file,
.is-style-case-file { border-top: 7px solid var(--archive-olive); }
.mg-only-box,
.is-style-mg-only-box { border: 2px dashed var(--archive-red); }
.stamp {
  display: inline-block;
  max-width: 100%;
  padding: .15em .5em;
  margin: .35em .15em .6em 0;
  color: var(--archive-red);
  background: transparent;
  border: 3px double currentColor;
  font-family: var(--archive-font-heading);
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .12em;
  text-transform: uppercase;
  transform: rotate(-3deg);
  overflow-wrap: anywhere;
}
/* Pieczątka jest prawdziwym tekstem HTML, np. <span class="stamp">DO AKT</span>. */
.typewritten,
body.prl-archive .post-content .typewritten {
  font-family: var(--archive-font-mono);
  font-size: 1rem;
  line-height: 1.9;
  letter-spacing: .005em;
}
.newspaper-column {
  column-count: 2;
  column-width: 18rem;
  column-gap: 2rem;
  column-rule: 1px solid var(--archive-line);
  text-align: left;
}
.newspaper-column :is(h2, h3, h4) { break-after: avoid; }
.newspaper-column :is(figure, blockquote, .archive-note) { break-inside: avoid; }
.redacted {
  padding: .05em .2em;
  color: transparent !important;
  background: var(--archive-ink);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  text-shadow: none;
}
.redacted > * { color: transparent !important; }
/* Tekst .redacted nadal jest w HTML, kopiowaniu i czytniku ekranu.
   Do właściwej anonimizacji USUŃ tekst i wstaw np. [USUNIĘTO Z ODPISU]. */
.dropcap {
  float: left;
  margin: .04em .12em 0 0;
  color: var(--archive-red);
  font-family: var(--archive-font-body);
  font-size: 3.65em;
  font-weight: 700;
  line-height: .92;
}
/* Neutralizujemy automatyczny inicjał Ashe: stosuj świadomie .dropcap
   lub wbudowany przełącznik Gutenberg (p.has-drop-cap). */
body.prl-archive .ashe-dropcaps .post-content > p:not(.has-drop-cap):first-of-type::first-letter {
  float: none;
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
}
body.prl-archive .post-content p.has-drop-cap:not(:focus)::first-letter {
  color: var(--archive-red);
  font-family: var(--archive-font-body);
  font-size: 3.65em;
  font-weight: 700;
  line-height: .92;
}
.document-meta {
  display: block;
  margin: 1em 0 1.5em;
  padding: 12px 0;
  color: var(--archive-muted);
  border-top: 1px solid var(--archive-line);
  border-bottom: 1px solid var(--archive-line);
  font-family: var(--archive-font-mono);
  font-size: .85rem;
  line-height: 1.85;
}
.document-meta dt { font-weight: 600; }
.document-meta dd { margin: 0 0 .7em; }
.case-number {
  color: var(--archive-burgundy);
  font-family: var(--archive-font-mono);
  font-size: .85rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .09em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

/* === 10. MAPY LEAFLET: ZAŁĄCZNIK KARTOGRAFICZNY ==================== */
/* Motyw styluje mapę. Leaflet i dane mapy dostarcza Twoja wtyczka.
   Dodaj campaign-map do Grupy z mapą; klasy body ustawia functions.php.
   Rozmiar zadany przez wtyczkę bezpośrednio w style="height:..." ma pierwszeństwo. */
body.prl-archive .campaign-map {
  margin: 1.5em 0;
  padding: clamp(6px, 1.5vw, 12px);
  background: var(--archive-paper-dark);
  border: 1px solid var(--archive-line);
  border-top: 4px solid var(--archive-red);
  box-shadow: 3px 5px 0 rgba(91, 81, 68, .2);
}
body.prl-archive .leaflet-container {
  max-width: 100%;
  color: var(--archive-ink);
  background: var(--archive-bg);
  border: 2px solid var(--archive-line);
  border-radius: 0;
  font-family: var(--archive-font-mono);
  font-size: 14px;
  line-height: 1.6;
  isolation: isolate;
}
body.prl-archive .campaign-map .leaflet-container,
body.prl-archive.campaign-map-page .leaflet-container,
body.prl-archive.leaflet-map-page .leaflet-container {
  height: clamp(320px, 62vh, 720px);
}
/* Nie stosujemy max-width:100% / height:auto do kafelków ani markerów. */
body.prl-archive .leaflet-container img.leaflet-tile,
body.prl-archive .leaflet-container img.leaflet-marker-icon,
body.prl-archive .leaflet-container img.leaflet-marker-shadow,
body.prl-archive .leaflet-container img.leaflet-image-layer {
  max-width: none !important;
  max-height: none !important;
  border: 0;
  padding: 0;
  box-shadow: none;
  filter: none;
}
body.prl-archive .leaflet-popup-content-wrapper,
body.prl-archive .leaflet-popup-tip {
  color: var(--archive-ink);
  background: var(--archive-paper);
  border-radius: 0;
}
body.prl-archive .leaflet-popup-content-wrapper { border-top: 4px solid var(--archive-red); }
body.prl-archive .leaflet-popup-content {
  max-width: min(310px, 70vw);
  margin: 15px 20px;
  font-family: var(--archive-font-mono);
  font-size: .88rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
body.prl-archive .leaflet-popup-content p { margin: .7em 0; }
body.prl-archive .leaflet-container a { color: var(--archive-red); }
body.prl-archive .leaflet-container a.leaflet-popup-close-button { color: var(--archive-red); font-size: 24px; }
body.prl-archive .leaflet-bar { border: 1px solid var(--archive-line); border-radius: 0; }
body.prl-archive .leaflet-bar a {
  color: var(--archive-ink);
  background: var(--archive-paper);
  border-color: var(--archive-line);
  border-radius: 0;
  text-decoration: none !important;
}
body.prl-archive .leaflet-bar a:hover { color: var(--archive-paper); background: var(--archive-red); }
body.prl-archive .leaflet-bar a.leaflet-disabled { color: var(--archive-muted); background: var(--archive-paper-dark); cursor: default; }
body.prl-archive .leaflet-control-layers,
body.prl-archive .leaflet-tooltip {
  color: var(--archive-ink);
  background: var(--archive-paper);
  border: 1px solid var(--archive-line);
  border-radius: 0;
}
body.prl-archive .leaflet-control-attribution { color: var(--archive-ink); background: rgba(226, 211, 174, .95); }
body.prl-archive .leaflet-control-attribution a { color: var(--archive-burgundy); }
body.prl-archive .leaflet-control-scale-line { color: var(--archive-ink); background: var(--archive-paper); border-color: var(--archive-line); }
/* Zawsze zachowujemy atrybucję autora mapy / dostawcy kafelków. */
body.prl-archive.campaign-map-page .main-container,
body.prl-archive.leaflet-map-page .main-container { min-width: 0; }
body.prl-archive.campaign-map-page .sidebar-left-wrap,
body.prl-archive.leaflet-map-page .sidebar-left-wrap { border-color: var(--archive-line); }

/* UKRYCIE SIDEBARÓW TYLKO NA JEDNEJ STRONIE MAPY:
   Skopiuj do Dodatkowego CSS i zamień 123 na prawdziwe ID strony.
   Usuwamy obie boczne kolumny i zwalniamy ich miejsce w układzie Ashe.

body.prl-archive.page-id-123 .main-content > .sidebar-left-wrap,
body.prl-archive.page-id-123 .main-content > .sidebar-right-wrap { display: none !important; }
body.prl-archive.page-id-123 .main-content > .main-container { width: 100% !important; float: none; }

   Jeżeli chcesz ukryć wyłącznie LEWY sidebar, pozostaw regułę dla .sidebar-left-wrap.
   Regułę width:100% stosuj wtedy tylko przy nieaktywnym prawym sidebarze.
*/

/* === 11. KOMENTARZE I FORMULARZE: DOPISKI DO AKT =================== */
body.prl-archive .entry-comments,
body.prl-archive .comment-respond { margin-top: 30px; padding-top: 25px; border-top: 3px double var(--archive-line); }
body.prl-archive .comment-reply-title,
body.prl-archive .comments-title,
body.prl-archive .entry-comments > h3 { font-family: var(--archive-font-heading); letter-spacing: .035em; }
body.prl-archive .comment-body { border-color: var(--archive-line); padding-bottom: 20px; }
body.prl-archive .page-content .comment-author { color: var(--archive-ink); }
body.prl-archive .comment-meta,
body.prl-archive .comment-meta a,
body.prl-archive .comment-notes,
body.prl-archive .logged-in-as { color: var(--archive-muted); font-family: var(--archive-font-mono); font-size: .83rem; }
body.prl-archive .comment-content { font-family: var(--archive-font-body); font-size: 1rem; line-height: 1.8; }
body.prl-archive .comment-form label { display: block; margin-bottom: 7px; font-family: var(--archive-font-mono); font-size: .85rem; }
body.prl-archive .comment-form-cookies-consent label { display: inline; }
body.prl-archive .page-content input:where([type="text"], [type="email"], [type="url"], [type="search"], [type="password"], [type="tel"], [type="number"]),
body.prl-archive .page-content textarea,
body.prl-archive .page-content select {
  max-width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--archive-ink);
  background: #eadfc3;
  border: 1px solid var(--archive-line);
  border-bottom: 2px solid var(--archive-line);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--archive-font-mono);
  font-size: 16px;
  line-height: 1.7;
}
body.prl-archive .page-content textarea { width: 100%; min-height: 170px; resize: vertical; }
body.prl-archive .page-content :is(input, textarea)::placeholder { color: var(--archive-muted); opacity: 1; }
body.prl-archive input:where([type="checkbox"], [type="radio"]) { accent-color: var(--archive-red); }
body.prl-archive .page-content .submit,
body.prl-archive .page-content input[type="submit"],
body.prl-archive .wp-block-search__button,
body.prl-archive .wp-block-button__link,
body.prl-archive .read-more a {
  min-height: 44px;
  padding: 10px 18px;
  color: var(--archive-paper);
  background: var(--archive-red);
  border: 3px double var(--archive-paper-dark);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--archive-font-mono);
  font-size: .85rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}
body.prl-archive .page-content .submit:hover,
body.prl-archive .page-content input[type="submit"]:hover,
body.prl-archive .wp-block-search__button:hover,
body.prl-archive .wp-block-button__link:hover,
body.prl-archive .read-more a:hover { color: #fff5df; background: var(--archive-burgundy); }
body.prl-archive .widget_search #searchsubmit { padding: 0; min-height: 0; border: 0; }
body.prl-archive .widget_search i { color: var(--archive-paper); background: var(--archive-red); }

/* === 12. STOPKA, PAGINACJA I DODATKI ASHE ========================== */
body.prl-archive #page-footer { color: var(--archive-paper); background: var(--archive-bg); }
body.prl-archive .page-footer-inner { color: var(--archive-paper); background: var(--archive-bg); border-top: 1px solid var(--archive-line); }
body.prl-archive #page-footer a { color: var(--archive-paper); }
body.prl-archive #page-footer a:hover { color: #f5e7c4; text-decoration: underline; }
body.prl-archive #page-footer .ashe-widget,
body.prl-archive #page-footer .ashe-widget a { color: var(--archive-ink); }
body.prl-archive #page-footer .ashe-widget .widget-title h2 { color: var(--archive-burgundy); }
body.prl-archive .footer-copyright,
body.prl-archive #footer-menu { font-family: var(--archive-font-mono); font-size: .78rem; }
body.prl-archive .page-content .blog-pagination.numeric :is(a, span),
body.prl-archive .single-pagination .post-page-numbers {
  color: var(--archive-ink);
  background: var(--archive-panel);
  border: 1px solid var(--archive-line);
  border-radius: 0;
  font-family: var(--archive-font-mono);
}
body.prl-archive .page-content .blog-pagination.numeric .current,
body.prl-archive .page-content .blog-pagination.numeric a:hover { color: var(--archive-paper); background: var(--archive-red); }
body.prl-archive .single-navigation i { color: var(--archive-ink); background: var(--archive-panel); }
body.prl-archive .featured-slider-area,
body.prl-archive #featured-links { background: var(--archive-paper); }
body.prl-archive #featured-links h6 { color: var(--archive-ink); background: var(--archive-paper); font-family: var(--archive-font-mono); }
body.prl-archive .ashe-preloader-wrap { background: var(--archive-bg); }

/* === 13. RESPONSYWNOŚĆ ============================================ */
/* Breakpoint 979px odpowiada mobilnemu układowi Ashe.
   Flex zmienia wyłącznie kolejność kolumn na mobile: najpierw treść.
   Działa z oboma sidebarami oraz bez nich; menu nadal obsługuje JS rodzica. */
@media (max-width: 979px) {
  body.prl-archive .main-content { display: flex; flex-direction: column; }
  body.prl-archive .main-content > .main-container { order: 0; width: 100% !important; }
  body.prl-archive .main-content > .sidebar-left-wrap,
  body.prl-archive .main-content > .sidebar-right-wrap {
    order: 1;
    float: none;
    width: 100% !important;
    height: auto !important; /* Pozostałości wymiarów Sticky Kit Ashe po zmianie viewportu. */
    margin: 30px 0 0 !important;
  }
  body.prl-archive .sidebar-left,
  body.prl-archive .sidebar-right {
    position: static !important;
    width: 100% !important;
    padding: 0 !important;
  }
  body.prl-archive #page-header .entry-header { min-height: 260px; padding: 40px 22px; }
}
@media (max-width: 600px) {
  :root { --archive-text-size: 17px; --archive-leading: 1.85; }
  body.prl-archive .main-content { margin-top: 16px; margin-bottom: 16px; padding: 24px 18px; }
  body.prl-archive #page-header .entry-header { min-height: 220px; padding: 30px 16px; }
  body.prl-archive #page-header .header-logo { padding: 18px 4px; }
  body.prl-archive #page-header .site-description { letter-spacing: .035em; }
  body.prl-archive .post-header { padding-top: 10px; }
  body.prl-archive blockquote,
  body.prl-archive .wp-block-quote,
  body.prl-archive .su-quote { padding: 18px 16px; font-size: .95rem; }
  .newspaper-column { column-count: 1; column-width: auto; }
  body.prl-archive .ywcolumn-alt { display: block; }
  .stamp { letter-spacing: .07em; }
  body.prl-archive .post-content table { font-size: .8rem; }
  body.prl-archive .post-content table :is(th, td) { padding: 8px; }
  body.prl-archive .campaign-map .leaflet-container,
  body.prl-archive.campaign-map-page .leaflet-container,
  body.prl-archive.leaflet-map-page .leaflet-container { height: 60vh; min-height: 300px; }
  body.prl-archive .comment-form :is(.comment-form-author, .comment-form-email, .comment-form-url) { float: none; width: 100%; }
}

/* === 14. DRUK I DOSTĘPNOŚĆ ======================================== */
@media (prefers-reduced-motion: reduce) {
  body.prl-archive *, body.prl-archive *::before, body.prl-archive *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
@media print {
  body.prl-archive { background: white !important; color: #111; font-size: 11pt; }
  body.prl-archive #page-header,
  body.prl-archive #page-footer,
  body.prl-archive .sidebar-left-wrap,
  body.prl-archive .sidebar-right-wrap,
  body.prl-archive .sidebar-alt,
  body.prl-archive .comment-respond,
  body.prl-archive .post-share,
  body.prl-archive .blog-pagination { display: none !important; }
  body.prl-archive .main-content,
  body.prl-archive .main-container,
  body.prl-archive .main-container > article {
    display: block;
    width: 100% !important;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    overflow: visible;
    background: white !important;
  }
  body.prl-archive .post-content { font-size: 11pt; line-height: 1.65; }
  body.prl-archive :is(blockquote, .archive-note, .case-file, .classified, .mg-only-box) { break-inside: avoid; box-shadow: none; }
  body.prl-archive .redacted { color: transparent !important; background: #111 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
