@charset "UTF-8";
/* ==========================================================================
   Treść: pasek tytułowy podstron, kolumna tekstu (.entry-content) i wszystkie bloki
   rdzenia WordPressa. Cel: wpis albo podstrona dodana przez klienta wygląda schludnie
   bez żadnej pracy nad stylami i niczego nie rozpycha.
   ========================================================================== */

/* --- Pasek tytułowy podstron i wpisów ------------------------------------- */
.page-hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(2.75rem, 5.5vw, 5rem);
  background-color: var(--dark);
}
.page-hero__inner { position: relative; }
.page-hero__title {
  max-width: 24ch;
  margin: 0;
  font-size: clamp(2rem, 1.3rem + 3.2vw, 3.75rem);
  line-height: 1.04;
  letter-spacing: -0.026em;
}
.page-hero__subtitle { max-width: 56ch; margin: var(--space-4) 0 0; }
.page-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: var(--space-4);
  font-size: var(--fs-sm);
  color: var(--on-dark-muted);
}
.page-hero a.chip-link {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.2em 0.95em;
  border-radius: var(--pill);
  background: var(--orange);
  color: var(--dark);
  font-weight: 700;
  text-decoration: none;
}
.page-hero a.chip-link:hover { background: var(--orange-hover); color: var(--dark); }
.page-hero__pill { z-index: -1; right: 12%; top: 20%; width: 2.2rem; height: 5.5rem; transform: rotate(10deg); }
.page-hero__star { z-index: -1; right: 21%; bottom: 20%; width: 3rem; height: 3rem; color: var(--blue); }

@media (max-width: 900px) {
  .page-hero__pill,
  .page-hero__star { display: none; }
}

/* --- Strona zbudowana z sekcji: luźne bloki dostają kontener --------------- */
.page-content > :not(section):not(.hero-strip) {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.page-content > :not(section):not(.hero-strip):first-child { margin-top: clamp(2.5rem, 6vw, 4rem); }
.page-content > :not(section):not(.hero-strip):last-child { margin-bottom: clamp(2.5rem, 6vw, 4rem); }

/* --- Kolumna treści -------------------------------------------------------- */
.entry-content {
  font-size: 1.125rem;
  line-height: 1.7;
  overflow-wrap: break-word;
  min-width: 0;
}
.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content > * { max-width: 100%; }

.entry-content h2 { margin-top: var(--space-8); font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem); }
.entry-content h3 { margin-top: var(--space-7); font-size: clamp(1.4rem, 1.2rem + 0.9vw, 1.85rem); }
.entry-content h4 { margin-top: var(--space-6); }
.entry-content h5,
.entry-content h6 { margin-top: var(--space-5); }

.entry-content a { font-weight: 600; text-decoration-thickness: 2px; }
.entry-content ul li::marker,
.entry-content ol li::marker { color: var(--orange-ink); font-weight: 700; }
.entry-content ul,
.entry-content ol { padding-left: 1.4rem; }
.entry-content li > ul,
.entry-content li > ol { margin-top: 0.35rem; margin-bottom: 0.35rem; }

.entry-content code {
  padding: 0.12em 0.4em;
  border-radius: 6px;
  background: var(--surface-2);
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.88em;
  overflow-wrap: anywhere;
}
.entry-content pre {
  overflow: auto;
  margin: var(--space-5) 0;
  padding: var(--space-5);
  border-radius: var(--radius);
  background: var(--dark);
  color: var(--on-dark);
  font-size: 0.9rem;
  line-height: 1.6;
  tab-size: 2;
}
.entry-content pre code { padding: 0; background: none; color: inherit; font-size: inherit; overflow-wrap: normal; }

.entry-content mark { padding: 0 0.2em; border-radius: 3px; background: var(--orange); color: var(--dark); }
.entry-content kbd {
  padding: 0.1em 0.45em;
  border: 1px solid var(--line-strong);
  border-bottom-width: 2px;
  border-radius: 6px;
  background: #fff;
  font-size: 0.85em;
}

/* Obrazy, galerie, wideo. */
.entry-content img,
.entry-content video,
.entry-content iframe { max-width: 100%; }
.entry-content figure { margin: var(--space-6) 0; }
.entry-content .wp-block-image img,
.entry-content .wp-block-post-featured-image img { border-radius: var(--radius); }
.entry-content figcaption,
.entry-content .wp-element-caption {
  margin-top: var(--space-2);
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--muted);
  text-align: left;
}
.entry-content .aligncenter { margin-inline: auto; }
.entry-content .alignleft { float: left; max-width: 50%; margin: 0.3rem var(--space-5) var(--space-3) 0; }
.entry-content .alignright { float: right; max-width: 50%; margin: 0.3rem 0 var(--space-3) var(--space-5); }
.entry-content::after { content: ""; display: table; clear: both; }

/* Szerokie i pełne: wychodzą poza wąską kolumnę, ale nigdy poza ekran. */
.entry-content .alignwide {
  position: relative;
  left: 50%;
  width: min(1100px, calc(100vw - 2 * var(--gutter)));
  max-width: none;
  transform: translateX(-50%);
}
.entry-content .alignfull {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  transform: translateX(-50%);
}
.entry-content .alignfull img { border-radius: 0; }

.wp-block-gallery { margin: var(--space-6) 0; }
.wp-block-gallery .wp-block-image img { border-radius: var(--radius-sm); }

/* Cytaty. */
.entry-content blockquote,
.entry-content .wp-block-quote {
  margin: var(--space-6) 0;
  padding: var(--space-5) var(--space-6);
  border: 0;
  border-radius: var(--radius);
  background: var(--surface-2);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5;
}
.entry-content blockquote cite,
.entry-content .wp-block-quote cite {
  display: block;
  margin-top: var(--space-3);
  font-size: var(--fs-sm);
  font-style: normal;
  font-weight: 500;
  color: var(--muted);
}
.entry-content .wp-block-pullquote {
  margin: var(--space-7) 0;
  padding: var(--space-6) 0;
  border-block: 3px solid var(--orange);
  text-align: center;
}
.entry-content .wp-block-pullquote blockquote { padding: 0; background: none; font-size: clamp(1.4rem, 1.2rem + 1vw, 2rem); }

/* Tabele: poziome przewijanie zamiast rozpychania strony. */
.entry-content .wp-block-table { overflow-x: auto; margin: var(--space-6) 0; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.entry-content th,
.entry-content td { padding: 0.75rem 1rem; border: 1px solid var(--line-strong); text-align: left; vertical-align: top; }
.entry-content thead th { background: var(--dark); border-color: var(--dark); color: var(--on-dark); font-weight: 700; }
.entry-content tbody tr:nth-child(even) td { background: var(--surface-2); }

/* Przyciski. */
.entry-content .wp-block-buttons { gap: var(--space-3); margin: var(--space-6) 0; }
.entry-content .wp-block-button__link {
  min-height: 3.25rem;
  padding: 0.8em 1.7em;
  border: 2px solid transparent;
  border-radius: var(--pill);
  background: var(--orange);
  color: var(--dark);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-decoration: none;
  transition: background-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.entry-content .wp-block-button__link:hover { background: var(--orange-hover); color: var(--dark); transform: translateY(-2px); }
.entry-content .is-style-outline > .wp-block-button__link {
  background: transparent;
  border-color: var(--ink);
  color: var(--ink);
}

/* Separator, kolumny, grupy, okładki, pliki, szczegóły. */
.entry-content .wp-block-separator { height: 1px; margin: var(--space-7) auto; border: 0; background: var(--line-strong); opacity: 1; }
.entry-content .wp-block-separator.is-style-dots { height: auto; background: none; }
.entry-content .wp-block-columns { gap: var(--space-5) var(--space-6); margin: var(--space-6) 0; }
.entry-content .wp-block-group.has-background { padding: var(--space-5) var(--space-6); border-radius: var(--radius); }
.entry-content .wp-block-cover { min-height: 18rem; margin: var(--space-6) 0; border-radius: var(--radius); overflow: hidden; }
.entry-content .wp-block-media-text { margin: var(--space-6) 0; gap: var(--space-5); }
.entry-content .wp-block-file { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-5) 0; padding: var(--space-4) var(--space-5); border-radius: var(--radius); background: var(--surface-2); }
.entry-content .wp-block-file a:not(.wp-block-file__button) { font-weight: 700; }
.entry-content .wp-block-file__button {
  padding: 0.5em 1.2em;
  border-radius: var(--pill);
  background: var(--dark);
  color: var(--on-dark);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-decoration: none;
}
.entry-content .wp-block-details { margin: var(--space-4) 0; padding: var(--space-4) var(--space-5); border-radius: var(--radius); background: var(--surface-2); }
.entry-content .wp-block-details summary { cursor: pointer; font-weight: 700; }
.entry-content .wp-block-verse { padding: var(--space-4) var(--space-5); border-radius: var(--radius-sm); background: var(--surface-2); font-family: inherit; }
.entry-content .wp-block-latest-posts { padding-left: 1.4rem; }

/* Osadzenia (YouTube i inne): zawsze w proporcjach, nigdy poza kolumną. */
.entry-content .wp-block-embed { margin: var(--space-6) 0; }
.entry-content .wp-block-embed__wrapper { position: relative; }
.entry-content .wp-has-aspect-ratio iframe { border-radius: var(--radius); }

/* Podział na strony. */
.page-links { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-6); font-weight: 700; }
.page-links > a,
.page-links > span:not(.post-page-numbers-label) {
  display: inline-flex;
  min-width: 2.5rem;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--pill);
  box-shadow: inset 0 0 0 2px var(--line-strong);
  text-decoration: none;
}

/* --- Wpis pojedynczy ------------------------------------------------------- */
.post-single__image { margin: 0 0 var(--space-7); }
.post-single__image img { width: 100%; border-radius: var(--radius-lg); }
.post-single__tags { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-7) 0 0; }
.post-single__tags a {
  padding: 0.25em 0.9em;
  border-radius: var(--pill);
  background: var(--surface-2);
  color: var(--ink);
  font-size: var(--fs-sm);
  font-weight: 600;
  text-decoration: none;
}
.post-single__tags a:hover { background: var(--orange); color: var(--dark); }

.post-navigation { margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid var(--line-strong); }
.post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.post-navigation a {
  display: grid;
  gap: 0.25rem;
  height: 100%;
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius);
  box-shadow: inset 0 0 0 2px var(--line);
  color: var(--ink);
  text-decoration: none;
  transition: box-shadow var(--dur) var(--ease);
}
.post-navigation a:hover { box-shadow: inset 0 0 0 2px var(--orange); color: var(--ink); }
.post-navigation .nav-next { text-align: right; }
.post-navigation .nav-label { font-size: var(--fs-xs); font-weight: 700; color: var(--orange-ink); }
.post-navigation .nav-title { font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
@media (max-width: 600px) { .post-navigation .nav-links { grid-template-columns: minmax(0, 1fr); } .post-navigation .nav-next { text-align: left; } }

/* --- Wyszukiwarka i 404 ---------------------------------------------------- */
.search-form { display: flex; gap: var(--space-2); max-width: 32rem; }
.search-form label { flex: 1; min-width: 0; }
.search-form .search-field {
  width: 100%;
  min-height: 3.4rem;
  padding: 0.8rem 1.2rem;
  border: 2px solid var(--line-strong);
  border-radius: var(--pill);
  background: #fff;
  color: var(--ink);
  font: inherit;
}
.search-form .search-field:focus { outline: none; border-color: var(--orange-ink); box-shadow: 0 0 0 4px oklch(74.9% 0.169 54 / 0.3); }
.search-form .search-submit {
  min-height: 3.4rem;
  padding: 0 1.6rem;
  border: 0;
  border-radius: var(--pill);
  background: var(--dark);
  color: var(--on-dark);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.search-form .search-submit:hover { background: var(--dark-3); }
.not-found__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }

/* --- Strona ze zwykłą treścią ---------------------------------------------- */
.page-basic.section { padding-top: clamp(2.5rem, 5vw, 4.5rem); }

@media (max-width: 700px) {
  .entry-content { font-size: 1.0625rem; }
  .entry-content .alignleft,
  .entry-content .alignright { float: none; max-width: 100%; margin: var(--space-4) 0; }
}
