/*
Theme Name:   Tuba Miasta
Theme URI:    https://tubamiasta.pl/
Description:  Motyw potomny MagazineBook dla tubamiasta.pl – kierunek „Afisz”: wielkie nazwy miast, płaskie pasy błękitu tuby, przegląd dnia jako afisz z programem i arkuszami, sennik jako plakat liter. Kroje lokalne: Big Shoulders i Libre Franklin.
Author:       tubamiasta.pl
Template:     magazinebook
Version:      1.3.0
Requires at least: 6.3
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  tubamiasta
*/

/* ==========================================================================
   Tokeny – kierunek „Afisz”
   Błękit tuby (z logo) jako pasy, jasny błękit jako drugi ton, granat do tekstu.
   Jedyny ciepły kolor – żółć „Dziś” – znaczy wyłącznie świeżość.
   ========================================================================== */

:root {
	--om-tuba: #1b6fae;
	--om-tuba-deep: #155a8f;
	--om-sky: #3d9fd3;
	--om-ink: #0b2239;
	--om-text: #1c2b3a;
	--om-muted: #4d5f71;
	--om-tint: #e8f2fa;
	--om-rule: #c6d6e4;
	--om-today: #ffcc2e;
	--om-white: #ffffff;
	--om-on-ink: #cfe3f2;
	--om-off: #5f7a90; /* litera nieaktywna na tincie – 3,9 : 1 */
	--om-display: "Big Shoulders", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	--om-sans: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
	--om-wrap: 1312px;
	--om-gut: 32px;
}

/* ==========================================================================
   Podstawy
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: 16px;
}

body {
	margin: 0;
	background: var(--om-white);
	color: var(--om-text);
	font: 400 17px/1.55 var(--om-sans);
	font-optical-sizing: auto;
	overflow-wrap: break-word;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

button,
input,
textarea,
select {
	font: inherit;
}

:focus-visible {
	outline: 3px solid var(--om-tuba);
	outline-offset: 2px;
}

.om-afisz :focus-visible,
.om-dh :focus-visible,
.om-ch :focus-visible,
.om-ink :focus-visible,
.om-sky :focus-visible,
.om-news :focus-visible,
.om-menu .sub-menu :focus-visible,
.om-stick :focus-visible {
	outline-color: var(--om-white);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed !important;
	top: 8px;
	left: 8px;
	z-index: 100;
	width: auto;
	height: auto;
	padding: 12px 18px;
	margin: 0;
	clip: auto;
	background: var(--om-ink);
	color: var(--om-white);
	font-weight: 700;
	text-decoration: none;
}

.om-wrap {
	max-width: var(--om-wrap);
	margin: 0 auto;
	padding: 0 var(--om-gut);
}

.om-icon {
	flex: none;
}

.om-arrow {
	width: 20px;
	height: 20px;
}

/* ==========================================================================
   Elementy wspólne
   ========================================================================== */

/* „Dziś” – jedyny ciepły sygnał. */
.om-today {
	display: inline-block;
	background: var(--om-today);
	color: var(--om-ink);
	font: 800 15px/1 var(--om-sans);
	padding: 6px 10px;
}

/* „Materiał partnera” – zwykłymi literami, granatowy obrys (pełny granat na stronie wpisu). */
.om-label {
	display: inline-block;
	padding: 5px 10px;
	border: 2px solid var(--om-ink);
	color: var(--om-ink);
	font: 700 14px/1.1 var(--om-sans);
}

.om-label--solid {
	background: var(--om-ink);
	color: var(--om-white);
}

.om-meta {
	display: block;
	font: 500 14px/1.45 var(--om-sans);
	color: var(--om-muted);
}

.om-meta__author {
	color: var(--om-ink);
	font-weight: 700;
}

.om-ink .om-meta__author,
.om-news .om-meta__author,
.om-duo__slub .om-meta__author {
	color: var(--om-white);
}

.om-author {
	display: inline-block;
	color: var(--om-ink);
	font-weight: 700;
	text-decoration: none;
}

.om-author:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.om-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 54px;
	padding: 0 24px;
	border: 0;
	background: var(--om-ink);
	color: var(--om-white);
	font: 700 17px/1.1 var(--om-sans);
	text-decoration: none;
	cursor: pointer;
}

.om-btn:hover {
	background: var(--om-tuba);
}

.om-btn--white {
	background: var(--om-white);
	color: var(--om-ink);
}

.om-btn--white:hover {
	background: var(--om-tint);
}

.om-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	color: var(--om-ink);
	font: 700 16px/1.2 var(--om-sans);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.om-more:hover {
	color: var(--om-tuba);
}

.om-section {
	padding: 64px 0 60px;
}

.om-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin-bottom: 28px;
}

.om-section__title {
	margin: 0;
	color: var(--om-ink);
	font: 900 clamp(44px, 6vw, 88px)/0.92 var(--om-display);
	letter-spacing: -0.005em;
	text-wrap: balance;
}

.om-section__title a {
	text-decoration: none;
}

.om-section__note {
	margin: 0 0 6px;
	color: var(--om-ink);
	font: 600 17px/1.35 var(--om-sans);
}

.om-sky {
	background: var(--om-sky);
	color: var(--om-ink);
}

.om-ink {
	background: var(--om-ink);
	color: var(--om-white);
}

.om-ink .om-section__title,
.om-ink .om-section__note {
	color: var(--om-white);
}

.om-ink .om-meta {
	color: var(--om-on-ink);
}

.om-ink .om-author {
	color: var(--om-white);
}

.om-ink .om-more {
	color: var(--om-white);
}

.om-ink .om-more:hover {
	color: var(--om-sky);
}

.om-sky .om-meta,
.om-sky .om-author {
	color: var(--om-ink);
}

.om-sky .om-more:hover {
	color: var(--om-white);
}

/* Okruszki */
.om-crumbs {
	margin: 0 0 6px;
	font: 600 15px/1.3 var(--om-sans);
}

.om-crumbs a {
	display: inline-block;
	padding: 13px 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.om-crumbs .om-crumbs__current {
	display: inline-block;
	margin: 0;
	padding: 13px 0;
}

.om-crumbs span {
	margin: 0 8px;
}

/* Wyszukiwarka */
.om-search {
	display: flex;
	height: 48px;
}

.om-search__input {
	flex: 1;
	width: 280px;
	min-width: 0;
	padding: 0 16px;
	border: 2px solid var(--om-ink);
	border-right: 0;
	border-radius: 0;
	background: var(--om-white);
	color: var(--om-ink);
	font: 500 16px var(--om-sans);
	-webkit-appearance: none;
	appearance: none;
}

.om-search__input::placeholder {
	color: var(--om-muted);
}

.om-search__btn {
	display: grid;
	place-items: center;
	width: 52px;
	border: 0;
	background: var(--om-ink);
	color: var(--om-white);
	cursor: pointer;
}

.om-search__btn:hover {
	background: var(--om-tuba);
}

.om-search--big {
	height: 58px;
	width: min(460px, 100%);
}

.om-search--big .om-search__input {
	width: auto;
}

.om-search--big .om-search__btn {
	width: 60px;
}

.om-ink .om-search__input {
	border-color: var(--om-white);
}

.om-ink .om-search__btn {
	background: var(--om-white);
	color: var(--om-ink);
}

.om-ink .om-search__btn:hover {
	background: var(--om-tint);
}

/* ==========================================================================
   Nagłówek i menu
   ========================================================================== */

.om-header {
	position: relative;
	background: var(--om-white);
	border-bottom: 6px solid var(--om-tuba);
}

.om-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	padding-top: 18px;
	padding-bottom: 12px;
}

.om-brand {
	flex: none;
}

.om-brand .custom-logo-link {
	display: block;
}

.om-brand img {
	width: auto;
	height: 64px;
}

.om-wordmark {
	color: var(--om-tuba);
	font: 900 40px/1 var(--om-display);
	text-decoration: none;
}

.om-header__widgets {
	flex: 1;
	display: flex;
	justify-content: center;
	max-height: 90px;
	overflow: hidden;
}

.om-header__widgets .om-widget {
	margin: 0;
}

.om-header__search {
	margin-left: auto;
}

.om-iconbtn {
	display: none;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-left: auto;
	border: 0;
	background: var(--om-ink);
	color: var(--om-white);
	cursor: pointer;
}

.om-iconbtn__close,
.om-iconbtn[aria-expanded="true"] .om-iconbtn__open {
	display: none;
}

.om-iconbtn[aria-expanded="true"] .om-iconbtn__close {
	display: block;
}

.om-nav {
	position: relative;
}

.om-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 0 -16px;
	padding: 0;
	list-style: none;
}

.om-menu > li {
	display: flex;
	align-items: stretch;
}

.om-menu > li > a {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 0 16px;
	color: var(--om-ink);
	font: 800 26px/1 var(--om-display);
	text-decoration: none;
}

.om-menu > li > a:hover,
.om-menu > li.is-open > a {
	background: var(--om-tuba);
	color: var(--om-white);
}

.om-menu > li.current-menu-item > a,
.om-menu > li.current-category-ancestor > a,
.om-menu > li.current-menu-parent > a,
.om-menu > li.current-menu-ancestor > a {
	text-decoration: underline;
	text-decoration-color: var(--om-tuba);
	text-decoration-thickness: 5px;
	text-underline-offset: 9px;
}

.om-menu > li.menu-item-has-children > a {
	padding-right: 4px;
}

.om-sub-toggle {
	display: grid;
	place-items: center;
	min-width: 36px;
	min-height: 52px;
	margin-right: 4px;
	padding: 0 8px 0 2px;
	border: 0;
	background: none;
	color: var(--om-ink);
	cursor: pointer;
}

.om-sub-toggle svg {
	transition: transform 0.15s ease;
}

.om-menu > li.is-open > a,
.om-menu > li.is-open > .om-sub-toggle {
	background: var(--om-ink);
	color: var(--om-white);
}

.om-menu > li.is-open > .om-sub-toggle svg {
	transform: rotate(180deg);
}

/* Podmenu (np. „Miasta”): pełnoszerokościowy granatowy panel z wielkimi nazwami. */
.om-menu .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 30;
	margin: 0;
	padding: 28px max(var(--om-gut), calc((100% - var(--om-wrap)) / 2 + var(--om-gut))) 32px;
	list-style: none;
	background: var(--om-ink);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 24px;
}

.om-menu li.is-open > .sub-menu {
	display: grid;
}

.om-menu .sub-menu a {
	display: block;
	padding: 6px 0;
	color: var(--om-white);
	font: 900 44px/1.05 var(--om-display);
	text-transform: uppercase;
	text-decoration: none;
}

.om-menu .sub-menu a:hover,
.om-menu .sub-menu .current-menu-item > a {
	color: var(--om-sky);
}

.om-below-nav {
	padding: 10px 0;
	border-bottom: 1px solid var(--om-rule);
}

/* Widżet „Tuba: najnowsze przeglądy” */
.om-latest {
	display: flex;
	align-items: baseline;
	gap: 16px;
	overflow-x: auto;
	scrollbar-width: none;
}

.om-latest__label {
	flex: none;
	margin: 0;
	color: var(--om-ink);
	font: 900 22px/1 var(--om-display);
}

.om-latest__list {
	display: flex;
	gap: 0 22px;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.om-latest__list a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--om-ink);
	font: 600 15px/1.2 var(--om-sans);
	text-decoration: none;
}

.om-latest__city {
	margin-right: 6px;
	color: var(--om-tuba);
	font: 900 19px/1 var(--om-display);
	text-transform: uppercase;
}

.om-latest__when {
	color: var(--om-muted);
	font-size: 13px;
}

/* ==========================================================================
   Strona główna: afisz dnia
   ========================================================================== */

.om-afisz {
	padding: 32px 0 56px;
	background: var(--om-tuba);
	color: var(--om-white);
}

.om-afisz__date {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0;
	font: 600 16px/1.3 var(--om-sans);
}

.om-afisz__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-areas: "city fig" "main fig" "main side";
	column-gap: 48px;
	align-items: start;
}

.om-afisz__city {
	grid-area: city;
	overflow-wrap: normal;
	display: block;
	margin: 0.16em 0 0 -0.04em;
	color: var(--om-white);
	font: 900 clamp(96px, 17vw, 256px)/0.8 var(--om-display);
	letter-spacing: -0.01em;
	text-transform: uppercase;
	text-decoration: none;
}

.om-afisz__city.is-long {
	font-size: clamp(56px, 9.5vw, 148px);
	overflow-wrap: anywhere;
}

.om-afisz__fig {
	grid-area: fig;
	display: block;
	margin-top: 24px;
}

.om-afisz__fig img {
	width: 100%;
}

.om-afisz__main {
	grid-area: main;
	padding-top: 32px;
}

.om-afisz__side {
	grid-area: side;
	padding-top: 28px;
}

.om-afisz__title {
	margin: 0 0 20px;
	font: 800 clamp(40px, 4.6vw, 68px)/0.98 var(--om-display);
	text-wrap: balance;
}

.om-afisz__title.is-long {
	font-size: clamp(34px, 3.4vw, 50px);
}

.om-afisz__title a {
	text-decoration: none;
}

.om-afisz__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 4px;
	text-underline-offset: 8px;
}

.om-afisz__lead {
	max-width: 60ch;
	margin: 0 0 18px;
	font: 400 20px/1.55 var(--om-sans);
}

.om-afisz__by {
	margin: 0;
	font: 500 15px/1.45 var(--om-sans);
}

.om-afisz__by .om-author {
	color: var(--om-white);
}

.om-afisz__also {
	margin-bottom: 28px;
	padding-top: 14px;
	border-top: 2px solid rgba(255, 255, 255, 0.6);
}

.om-afisz__also p {
	margin: 0 0 6px;
	font: 600 15px/1.3 var(--om-sans);
}

.om-afisz__also ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.om-afisz__also a {
	display: block;
	padding: 4px 0 8px;
	font: 800 30px/1.02 var(--om-display);
	text-decoration: none;
	text-wrap: balance;
}

.om-afisz__also a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   „Na afiszu w innych miastach” – wiersze
   ========================================================================== */

.om-rows {
	border-top: 3px solid var(--om-ink);
}

.om-row {
	border-bottom: 1px solid var(--om-rule);
}

.om-row__link {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) 200px;
	column-gap: 32px;
	align-items: center;
	margin: 0 -16px;
	padding: 22px 16px;
	color: var(--om-ink);
	text-decoration: none;
}

.om-row__link:hover {
	background: var(--om-tint);
}

.om-row__city {
	grid-column: 1;
	color: var(--om-tuba);
	font: 900 clamp(48px, 5.6vw, 84px)/0.85 var(--om-display);
	letter-spacing: -0.005em;
	text-transform: uppercase;
	overflow-wrap: normal;
}

.om-row__city.is-long {
	font-size: clamp(36px, 3.8vw, 56px);
	overflow-wrap: anywhere;
}

.om-row__head {
	grid-column: 2;
}

.om-row__title {
	margin: 0;
	color: var(--om-ink);
	font: 700 22px/1.28 var(--om-sans);
	text-wrap: pretty;
}

.om-row__link:hover .om-row__title {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.om-row__sub {
	display: block;
	margin-top: 6px;
	color: var(--om-muted);
	font: 400 16px/1.45 var(--om-sans);
}

.om-row__meta {
	display: block;
	margin-top: 8px;
}

.om-row__media {
	grid-column: 3;
	background: var(--om-tint);
}

.om-row__media img {
	width: 200px;
	aspect-ratio: 1376 / 768;
	object-fit: contain;
}

/* ==========================================================================
   Materiał partnera
   ========================================================================== */

.om-partner {
	padding: 0 0 64px;
}

.om-partner.is-after {
	padding-top: 64px;
}

.om-onbill + .om-partner {
	margin-top: -4px;
}

.om-partner__card {
	padding: 28px;
	border: 3px solid var(--om-ink);
}

.om-partner__link {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 40px;
	align-items: center;
	color: var(--om-ink);
	text-decoration: none;
}

.om-partner__media img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: var(--om-tint);
}

.om-partner__title {
	display: block;
	margin-top: 16px;
	font: 800 clamp(32px, 3.2vw, 48px)/1 var(--om-display);
	text-wrap: balance;
}

.om-partner__link:hover .om-partner__title {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.om-partner__lead {
	display: block;
	margin-top: 10px;
	color: var(--om-text);
	font: 400 17px/1.5 var(--om-sans);
}

.om-partner__meta {
	display: block;
	margin-top: 12px;
}

.om-partner__link:not(:has(.om-partner__media)) {
	grid-template-columns: minmax(0, 1fr);
}

/* ==========================================================================
   „Wcześniej” – trzy dni
   ========================================================================== */

.om-days {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
}

.om-day__title {
	margin: 0;
	padding-top: 14px;
	border-top: 3px solid var(--om-ink);
	color: var(--om-ink);
	font: 800 32px/1 var(--om-display);
}

.om-day__date {
	display: block;
	margin-top: 6px;
	color: var(--om-muted);
	font: 500 15px/1.3 var(--om-sans);
}

/* Separator „Wczoraj · niedziela, …” tylko dla czytników i kopiowania – wizualnie data stoi pod etykietą. */
.om-day__sep {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.om-day__list {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.om-day__list li {
	border-top: 1px solid var(--om-rule);
}

.om-day__list a {
	display: block;
	padding: 14px 0 16px;
	text-decoration: none;
}

.om-day__city {
	display: block;
	color: var(--om-tuba);
	font: 900 28px/0.95 var(--om-display);
	text-transform: uppercase;
}

.om-day__head {
	display: block;
	margin-top: 6px;
	color: var(--om-ink);
	font: 700 18px/1.3 var(--om-sans);
}

.om-day__list a:hover .om-day__head {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.om-day__meta {
	display: block;
	margin-top: 6px;
}

/* ==========================================================================
   „Ślub i wesele” – afisz poradników
   ========================================================================== */

.om-slub {
	padding: 60px 0 68px;
}

.om-slub__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 56px;
	align-items: start;
}

.om-slub__grid.is-list {
	grid-template-columns: minmax(0, 1fr);
}

.om-slub__lead-link {
	display: block;
	text-decoration: none;
}

.om-slub__media {
	display: block;
	background: var(--om-tuba-deep);
}

.om-slub__media img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.om-slub__title {
	margin: 20px 0 12px;
}

.om-slub__title .om-guide__main {
	font-size: clamp(44px, 4.8vw, 72px);
	line-height: 1;
}

.om-slub__lead-link:hover .om-guide__main {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

.om-slub__lead-text {
	display: block;
	margin: 0 0 10px;
	font: 400 17px/1.5 var(--om-sans);
}

.om-slub__lead-link .om-guide__meta {
	margin-top: 0;
}

.om-ink .om-slub__lead-text {
	color: #e3edf6;
}

.om-guides {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 3px solid currentColor;
}

.om-guide {
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

.om-guide__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 24px;
	align-items: start;
	padding: 20px 0 22px;
	text-decoration: none;
}

.om-guide__title {
	grid-column: 1;
}

.om-guide__title {
	margin: 0;
	font-weight: inherit;
}

.om-guide__main {
	display: block;
	font: 800 38px/1.02 var(--om-display);
	text-wrap: balance;
}

.om-guide__sub {
	display: block;
	margin-top: 6px;
	font: 500 16px/1.4 var(--om-sans);
}

.om-ink .om-guide__sub {
	color: #e3edf6;
}

.om-guide__link:hover .om-guide__main {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.om-guide__fig {
	overflow-wrap: normal;
	white-space: nowrap;
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	max-width: 5.5em;
	color: var(--om-sky);
	font: 900 52px/0.85 var(--om-display);
	text-align: right;
}

.om-guide__cap {
	display: block;
	margin-top: 6px;
	color: var(--om-on-ink);
	font: 500 14px/1.3 var(--om-sans);
}

.om-guide__meta {
	grid-column: 1;
	display: block;
	margin-top: 8px;
}

.om-slub .om-more {
	margin-top: 22px;
}

/* Afisz poradników na białym tle (strona działu). */
.om-guides--light {
	color: var(--om-ink);
}

.om-guides--light .om-guide {
	border-bottom-color: var(--om-rule);
}

.om-guides--light .om-guide__fig {
	color: var(--om-tuba);
}

.om-guides--light .om-guide__sub {
	color: var(--om-text);
}

/* Wersja zwarta (pod przeglądem). */
.om-guides--compact .om-guide {
	border-bottom-color: rgba(255, 255, 255, 0.3);
}

.om-guides--compact .om-guide__link {
	padding: 14px 0 16px;
}

.om-guides--compact .om-guide__main {
	font-size: 30px;
}

.om-guides--compact .om-guide__fig {
	font-size: 38px;
}

/* ==========================================================================
   Przegląd dnia – głowa (afisz z programem)
   ========================================================================== */

.om-dh {
	padding: 16px 0 0;
	background: var(--om-tuba);
	color: var(--om-white);
}

.om-dh__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-areas: "title fig" "prog prog";
	column-gap: 48px;
	align-items: end;
}

.om-dh__title {
	grid-area: title;
}

.om-dh__fig {
	grid-area: fig;
	margin: 0;
}

.om-dh__fig img {
	width: 100%;
}

.om-dh h1 {
	margin: 0;
	color: var(--om-white);
	font-family: var(--om-display);
}

.om-dh h1 span {
	display: block;
}

.om-dh__pre,
.om-dh__date {
	font: 800 clamp(28px, 3.2vw, 46px)/1.02 var(--om-display);
}

/* Nazwa miasta jest duża, ale nie dominuje nad programem wiadomości. */
.om-dh__city {
	overflow-wrap: normal;
	margin: 0.16em 0 0.06em -0.03em;
	font: 900 clamp(76px, 10vw, 150px)/0.82 var(--om-display);
	letter-spacing: -0.01em;
	text-transform: uppercase;
}

.om-dh__city.is-long {
	font-size: clamp(52px, 7vw, 104px);
	overflow-wrap: anywhere;
}

.om-dh__plain {
	font: 800 clamp(40px, 4.6vw, 64px)/1 var(--om-display);
	text-wrap: balance;
}

.om-dh__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 22px 0 0;
	font: 500 16px/1.4 var(--om-sans);
}

.om-dh__meta .om-author {
	color: var(--om-white);
}

.om-program {
	grid-area: prog;
	margin-top: 40px;
	padding: 22px 0 32px;
	border-top: 3px solid var(--om-white);
}

.om-program__label {
	margin: 0 0 14px;
	font: 700 16px/1.3 var(--om-sans);
}

.om-program__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 14px 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.om-program__list a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	min-height: 44px;
	padding: 4px 0;
	text-decoration: none;
}

.om-program__n {
	font: 900 56px/0.8 var(--om-display);
}

.om-program__t {
	font: 800 36px/1 var(--om-display);
	text-wrap: balance;
}

.om-program__list a:hover .om-program__t {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 5px;
}

/* ==========================================================================
   Przegląd dnia – arkusze pozycji
   ========================================================================== */

.om-sheets {
	display: grid;
	grid-template-columns:
		[full-start] minmax(var(--om-gut), 1fr)
		[num-start] 200px [num-end] 40px
		[text-start] minmax(0, 760px) [text-end] 240px minmax(var(--om-gut), 1fr)
		[full-end];
	padding-top: 44px;
	color: var(--om-text);
	font: 400 19px/1.65 var(--om-sans);
	counter-reset: item;
}

.om-sheets > * {
	grid-column: text;
}

.om-sheets p:has(> script:only-child) {
	display: none;
}

.om-sheets .digest-ai-label {
	margin: 0 0 28px !important;
	padding: 14px 16px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--om-tint) !important;
	color: var(--om-ink) !important;
	font: 500 15px/1.45 var(--om-sans) !important;
}

.om-sheets .digest-ai-badge {
	border-radius: 0 !important;
	background: var(--om-ink) !important;
	font-family: var(--om-sans);
}

.om-sheets > p.lead {
	margin: 0 0 40px;
	color: var(--om-ink);
	font: 500 24px/1.46 var(--om-sans);
}

/* Spis i „Najważniejsze dziś” zastępuje program w głowie (lista wszystkich pozycji). */
.om-sheets .digest-toc,
.om-sheets .digest-top {
	display: none;
}

.om-sheets .digest-section {
	grid-column: full;
	display: grid;
	grid-template-columns: subgrid;
}

.om-sheets .digest-section > h2 {
	grid-column: num-start / text-end;
	margin: 0;
	padding: 12px 0 14px;
	border-top: 6px solid var(--om-tuba);
	color: var(--om-tuba);
	font: 800 40px/1 var(--om-display);
}

.om-sheets .digest-section.is-only > h2 {
	display: none;
}

.om-sheets .digest-item {
	grid-column: full;
	display: grid;
	grid-template-columns: subgrid;
	align-content: start;
	padding: 44px 0 48px;
	counter-increment: item;
	scroll-margin-top: 0;
}

.om-sheets .digest-item:nth-of-type(even) {
	background: var(--om-tint);
}

.om-sheets .digest-item::before {
	content: counter(item, decimal-leading-zero);
	grid-column: num;
	grid-row: 1 / span 6;
	color: var(--om-tuba);
	font: 900 184px/0.74 var(--om-display);
	letter-spacing: -0.02em;
}

.om-sheets .digest-item > * {
	grid-column: text;
}

.om-sheets .digest-item h3 {
	margin: 0 0 18px;
	color: var(--om-ink);
	font: 800 clamp(36px, 3.6vw, 52px)/1 var(--om-display);
	text-wrap: balance;
}

.om-sheets .digest-badge {
	display: inline-block;
	margin-right: 12px;
	padding: 7px 10px;
	background: var(--om-ink);
	color: var(--om-white);
	font: 700 14px/1 var(--om-sans);
	vertical-align: 0.3em;
}

.om-sheets .digest-item > p {
	max-width: 66ch;
	margin: 0 0 20px;
}

.om-sheets .digest-takeaways {
	margin: 0 0 20px;
	padding: 20px 24px;
	list-style: none;
	background: var(--om-tint);
}

.om-sheets .digest-item:nth-of-type(even) .digest-takeaways {
	background: var(--om-white);
}

.om-sheets .digest-takeaways li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 26px;
	color: var(--om-ink);
	font-size: 18px;
	line-height: 1.55;
}

.om-sheets .digest-takeaways li:last-child {
	margin-bottom: 0;
}

.om-sheets .digest-takeaways li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 10px;
	height: 10px;
	background: var(--om-tuba);
}

.om-sheets .digest-source {
	margin: 0;
	color: var(--om-muted);
	font: 500 14px/1.4 var(--om-sans);
}

.om-sheets .source-link {
	color: var(--om-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.om-sheets a {
	color: var(--om-tuba);
	text-underline-offset: 3px;
}

/* ==========================================================================
   Przegląd dnia – dalej: to samo miasto, ściana miast, działy
   ========================================================================== */

.om-same {
	margin-top: 56px;
	margin-bottom: 64px;
}

.om-same__inner {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	border: 3px solid var(--om-ink);
}

.om-same__step,
.om-same__all {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 128px;
	padding: 22px 28px;
	text-decoration: none;
}

.om-same__step {
	border-right: 3px solid var(--om-ink);
	color: var(--om-ink);
}

.om-same__step--next {
	text-align: right;
}

.om-same__label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--om-muted);
	font: 600 14px/1.3 var(--om-sans);
}

.om-same__step--next .om-same__label {
	justify-content: flex-end;
}

.om-same__label .om-arrow {
	width: 16px;
	height: 16px;
}

.om-same__title {
	display: block;
	margin-top: 8px;
	font: 800 32px/1 var(--om-display);
	text-wrap: balance;
}

.om-same__step:hover .om-same__title {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.om-same__all {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: var(--om-ink);
	color: var(--om-white);
	font: 800 34px/1 var(--om-display);
}

.om-same__all .om-arrow {
	width: 30px;
	height: 30px;
}

.om-same__all:hover {
	background: var(--om-tuba);
}

.om-wallband {
	padding: 56px 0 64px;
}

.om-wallband .om-section__title {
	margin-bottom: 28px;
}

.om-wall {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 36px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.om-wall__item {
	border-top: 3px solid currentColor;
}

.om-wall__link {
	display: block;
	padding: 14px 0 4px;
	text-decoration: none;
}

.om-wall__city {
	display: block;
	overflow-wrap: normal;
	font: 900 clamp(40px, 3.8vw, 56px)/0.85 var(--om-display);
	text-transform: uppercase;
}

.om-wall__city.is-long {
	font-size: clamp(32px, 2.8vw, 42px);
}

.om-wall__title {
	display: block;
	margin-top: 10px;
	font: 700 18px/1.3 var(--om-sans);
}

.om-wall__link:hover .om-wall__title {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.om-sky .om-wall__link:hover .om-wall__city {
	color: var(--om-white);
}

.om-wall__meta {
	display: block;
	margin-top: 8px;
}

.om-wall__rest-title {
	margin: 14px 0 4px;
	font: 700 16px/1.3 var(--om-sans);
}

.om-wall__rest ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.om-wall__rest a {
	display: flex;
	align-items: center;
	min-height: 44px;
	font: 600 18px/1.2 var(--om-sans);
	text-underline-offset: 4px;
}

.om-duo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 24px;
	padding-top: 56px;
	padding-bottom: 64px;
}

.om-duo > section {
	padding: 32px 32px 28px;
}

.om-duo:has(> section:only-child) {
	grid-template-columns: minmax(0, 1fr);
}

.om-duo__slub {
	background: var(--om-ink);
	color: var(--om-white);
}

.om-duo__slub .om-meta,
.om-duo__slub .om-author {
	color: var(--om-on-ink);
}

.om-duo__slub .om-author {
	color: var(--om-white);
}

.om-duo__title {
	margin: 0 0 18px;
	font: 900 60px/0.9 var(--om-display);
}

.om-duo__title a {
	text-decoration: none;
}

.om-duo .om-search--big {
	width: 100%;
	height: 52px;
}

/* Pasek przyklejony (telefon). */
.om-stick {
	display: none;
}

/* ==========================================================================
   Hasło sennika – plakat jednego słowa
   ========================================================================== */

.om-eh {
	padding: 16px 0 52px;
	background: var(--om-sky);
	color: var(--om-ink);
}

.om-eh__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 48px;
	align-items: end;
}

.om-eh__grid.is-single {
	grid-template-columns: minmax(0, 1fr);
}

.om-eh__title {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 28px;
	align-items: end;
}

.om-eh__letter {
	grid-row: 1 / span 2;
	align-self: start;
	display: grid;
	place-items: center;
	width: 132px;
	height: 132px;
	margin-top: 16px;
	background: var(--om-ink);
	color: var(--om-sky);
	font: 900 104px/1 var(--om-display);
	text-decoration: none;
}

.om-eh__letter:hover {
	background: var(--om-white);
	color: var(--om-ink);
}

.om-eh h1 {
	margin: 0;
	font: 800 clamp(40px, 4.6vw, 64px)/1 var(--om-display);
}

.om-eh h1 span {
	display: block;
}

.om-eh__pre {
	font: 800 clamp(28px, 3vw, 44px)/1 var(--om-display);
}

.om-eh__word {
	margin: 0.12em 0 0.04em -0.03em;
	font: 900 clamp(96px, 15vw, 220px)/0.84 var(--om-display);
	letter-spacing: -0.015em;
}

.om-eh__word::first-letter {
	text-transform: uppercase;
}

.om-eh__rest {
	font: 800 clamp(26px, 2.8vw, 40px)/1.05 var(--om-display);
}

.om-eh__meta {
	grid-column: 2;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 18px 0 0;
	font: 500 15px/1.4 var(--om-sans);
}

.om-eh__short {
	padding: 26px 28px 24px;
	background: var(--om-white);
}

.om-eh__short h2 {
	margin: 0 0 12px;
	color: var(--om-tuba);
	font: 900 34px/0.95 var(--om-display);
}

.om-eh__short ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.om-eh__short li {
	position: relative;
	padding: 10px 0 10px 24px;
	border-top: 1px solid var(--om-rule);
	color: var(--om-ink);
	font: 600 17px/1.4 var(--om-sans);
}

.om-eh__short li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.05em;
	width: 10px;
	height: 10px;
	background: var(--om-tuba);
}

/* ==========================================================================
   Treść do czytania (hasła, poradniki, strony)
   ========================================================================== */

.om-prose {
	max-width: 760px;
	margin: 0 auto;
	padding: 48px 0 56px;
	color: var(--om-text);
	font: 400 19px/1.68 var(--om-sans);
}

.om-prose > p:first-child,
.om-prose--entry > p:first-of-type {
	color: var(--om-ink);
	font-size: 23px;
	font-weight: 500;
	line-height: 1.5;
}

.om-prose--entry > p:first-of-type {
	margin-bottom: 36px;
}

.om-prose h2 {
	margin: 48px 0 14px;
	padding-top: 12px;
	border-top: 6px solid var(--om-tuba);
	color: var(--om-ink);
	font: 900 clamp(34px, 3.4vw, 46px)/1 var(--om-display);
	text-wrap: balance;
}

.om-prose h3 {
	margin: 28px 0 8px;
	color: var(--om-ink);
	font: 700 21px/1.3 var(--om-sans);
}

.om-prose h4 {
	margin: 24px 0 6px;
	color: var(--om-ink);
	font: 700 18px/1.3 var(--om-sans);
}

.om-prose p {
	margin: 0 0 18px;
}

.om-prose ul,
.om-prose ol {
	margin: 0 0 20px;
	padding: 0 0 0 24px;
}

.om-prose ul {
	padding: 0;
	list-style: none;
}

.om-prose ul > li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 24px;
}

.om-prose ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 9px;
	height: 9px;
	background: var(--om-tuba);
}

.om-prose ul > li:has(> a:only-child)::before {
	top: 1.2em;
}

/* Listy samych linków („Zobacz także”): cały wiersz jest celem ≥ 44 px. */
.om-prose li > a:only-child {
	display: block;
	min-height: 44px;
	padding: 9px 0;
}

.om-prose a {
	color: var(--om-tuba);
	font-weight: 600;
	text-underline-offset: 3px;
}

.om-prose a:hover {
	color: var(--om-ink);
}

.om-prose blockquote {
	margin: 28px 0;
	padding: 6px 0 6px 24px;
	border-left: 6px solid var(--om-sky);
	color: var(--om-ink);
	font-size: 21px;
}

.om-prose table {
	width: 100%;
	margin: 0 0 24px;
	border-collapse: collapse;
	font-size: 16px;
	display: block;
	overflow-x: auto;
}

.om-prose th,
.om-prose td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--om-rule);
	text-align: left;
	vertical-align: top;
}

.om-prose th {
	border-bottom: 3px solid var(--om-ink);
	color: var(--om-ink);
	font-weight: 700;
}

.om-prose img,
.om-prose figure {
	max-width: 100%;
	height: auto;
	margin: 28px 0;
}

.om-prose figcaption,
.om-post__media figcaption {
	margin-top: 8px;
	color: var(--om-muted);
	font-size: 14px;
}

.om-prose .wp-block-image img {
	margin: 0;
}

/* Inne hasła na tę literę, indeks */
.om-same-letter {
	padding: 48px 0 52px;
	background: var(--om-tint);
}

.om-same-letter__head {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 20px;
}

.om-same-letter h2 {
	margin: 0;
	color: var(--om-ink);
	font: 900 clamp(40px, 4.4vw, 64px)/0.9 var(--om-display);
}

.om-letterblock {
	display: grid;
	place-items: center;
	flex: none;
	width: 72px;
	height: 72px;
	margin: 0;
	background: var(--om-ink);
	color: var(--om-sky);
	font: 900 52px/1 var(--om-display);
}

.om-words {
	display: flex;
	flex-wrap: wrap;
	gap: 0 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.om-words a {
	display: inline-flex;
	align-items: center;
	min-height: 56px;
	color: var(--om-tuba);
	font: 900 clamp(40px, 4vw, 60px)/1 var(--om-display);
	text-decoration: none;
}

.om-words a:hover {
	color: var(--om-ink);
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

/* A–Ż – bloki liter */
.om-abc {
	padding: 56px 0 24px;
}

.om-abc--entry {
	padding-bottom: 56px;
}

.om-abc__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin-bottom: 22px;
}

.om-abc__note {
	margin: 0;
	color: var(--om-muted);
	font: 500 15px/1.4 var(--om-sans);
}

.om-abc--entry .om-section__title {
	margin-bottom: 20px;
}

.om-letters {
	display: grid;
	grid-template-columns: repeat(15, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.om-letters a,
.om-letters span {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	font: 900 clamp(32px, 3.8vw, 60px)/1 var(--om-display);
	text-decoration: none;
}

.om-letters a {
	background: var(--om-tuba);
	color: var(--om-white);
}

.om-letters a:hover,
.om-letters a[aria-current] {
	background: var(--om-ink);
}

.om-letters span {
	background: var(--om-tint);
	color: var(--om-off);
}

/* ==========================================================================
   Sennik – strona działu
   ========================================================================== */

.om-dh-sky {
	padding: 16px 0 48px;
}

.om-dict__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 48px;
	align-items: end;
}

.om-dict__title {
	margin: 0 0 0 -0.03em;
	padding-top: 0.06em;
	font: 900 clamp(120px, 19vw, 288px)/0.78 var(--om-display);
	letter-spacing: -0.015em;
}

.om-dict__desc {
	margin: 22px 0 0;
	font: 600 21px/1.35 var(--om-sans);
}

.om-dict__desc p {
	margin: 0;
}

.om-dict__ask {
	margin: 0 0 10px;
	font: 800 32px/1 var(--om-display);
}

.om-dict__search .om-search--big {
	width: 100%;
	height: 66px;
}

.om-dict__search .om-search__input {
	font-size: 19px;
	padding: 0 18px;
}

.om-dict__search .om-search__btn {
	width: 72px;
}

.om-latestwords .om-section__title {
	margin-bottom: 24px;
}

.om-bigwords {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 36px 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.om-bigwords li {
	border-top: 3px solid var(--om-ink);
}

.om-bigwords a {
	display: block;
	padding-top: 14px;
	color: var(--om-ink);
	text-decoration: none;
}

.om-bigwords__w {
	display: block;
	color: var(--om-tuba);
	font: 900 clamp(64px, 6.4vw, 104px)/0.98 var(--om-display);
	letter-spacing: -0.01em;
}

.om-bigwords a:hover .om-bigwords__w {
	color: var(--om-ink);
}

.om-bigwords__x {
	display: block;
	margin: 10px 0 0;
	color: var(--om-text);
	font: 400 17px/1.55 var(--om-sans);
}

.om-bigwords__meta {
	display: block;
	margin-top: 10px;
}

.om-index {
	padding: 52px 0 60px;
	background: var(--om-tint);
}

.om-index .om-section__title {
	margin-bottom: 28px;
}

.om-index__cols {
	columns: 3 300px;
	column-gap: 40px;
}

.om-index__group {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 16px;
	padding: 0 0 22px;
	break-inside: avoid;
	scroll-margin-top: 16px;
}

.om-index__group .om-letterblock {
	width: 64px;
	height: 64px;
	font-size: 44px;
}

.om-words--index {
	gap: 0 14px;
	padding-top: 6px;
}

.om-words--index a {
	min-height: 36px;
	color: var(--om-ink);
	font: 800 26px/1 var(--om-display);
}

.om-words--index a:hover {
	color: var(--om-tuba);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

/* ==========================================================================
   Listy wierszy (wyszukiwanie, archiwa, „Czytaj też”, „O snach”)
   ========================================================================== */

.om-items {
	border-top: 3px solid var(--om-ink);
}

.om-items--2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
}

.om-item {
	border-bottom: 1px solid var(--om-rule);
}

.om-item__link {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	padding: 20px 0;
	color: var(--om-ink);
	text-decoration: none;
}

.om-item__link:not(:has(.om-item__media)) {
	grid-template-columns: minmax(0, 1fr);
}

.om-item__media img {
	width: 240px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	background: var(--om-tint);
}

.om-item__media.is-cover img {
	aspect-ratio: 1376 / 768;
	object-fit: contain;
}

.om-item__body {
	display: block;
}

.om-item__body .om-label {
	margin-bottom: 8px;
}

.om-item__city {
	display: block;
	margin-bottom: 4px;
	color: var(--om-tuba);
	font: 900 28px/0.95 var(--om-display);
	text-transform: uppercase;
}

.om-item__title {
	margin: 0;
	color: var(--om-ink);
	font: 700 21px/1.3 var(--om-sans);
	text-wrap: pretty;
}

.om-item__link:hover .om-item__title {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.om-item__lead {
	display: block;
	margin-top: 6px;
	color: var(--om-muted);
	font: 400 16px/1.5 var(--om-sans);
}

.om-item__meta {
	display: block;
	margin-top: 8px;
}

.om-pagination {
	margin-top: 32px;
}

.om-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.om-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	padding: 0 14px;
	border: 2px solid var(--om-ink);
	color: var(--om-ink);
	font: 800 22px/1 var(--om-display);
	text-decoration: none;
}

.om-pagination .page-numbers.current,
.om-pagination a.page-numbers:hover {
	background: var(--om-ink);
	color: var(--om-white);
}

.om-pagination .page-numbers.dots {
	border-color: transparent;
}

.om-empty {
	padding: 48px var(--om-gut);
	font: 500 18px/1.5 var(--om-sans);
}

.om-empty p {
	margin: 0;
}

/* Głowa list (wyszukiwanie, archiwa, autor) */
.om-lh {
	padding: 40px 0 36px;
	background: var(--om-tint);
}

.om-lh__title {
	margin: 0;
	color: var(--om-ink);
	font: 900 clamp(48px, 6vw, 88px)/0.92 var(--om-display);
	text-wrap: balance;
}

.om-lh__desc {
	margin: 14px 0 0;
	color: var(--om-ink);
	font: 500 18px/1.45 var(--om-sans);
}

.om-lh__desc a {
	color: var(--om-ink);
	font-weight: 700;
}

.om-lh__search {
	margin-top: 22px;
	max-width: 560px;
}

.om-lh__search .om-search__input {
	width: auto;
}

.om-listp__body {
	padding-top: 40px;
	padding-bottom: 64px;
}

.om-404__code {
	margin: 0 0 6px;
	color: var(--om-tuba);
	font: 900 clamp(96px, 14vw, 200px)/0.8 var(--om-display);
}

/* Autor */
.om-authorbox__name {
	margin: 0;
	color: var(--om-ink);
	font: 900 clamp(48px, 6vw, 88px)/0.92 var(--om-display);
}

.om-authorbox__bio {
	max-width: 62ch;
	margin: 14px 0 0;
	font: 400 18px/1.55 var(--om-sans);
}

/* ==========================================================================
   Strona miasta
   ========================================================================== */

.om-ch {
	padding: 16px 0 40px;
	background: var(--om-tuba);
	color: var(--om-white);
}

.om-ch__title {
	overflow-wrap: normal;
	margin: 0.12em 0 0 -0.04em;
	font: 900 clamp(96px, 17vw, 256px)/0.8 var(--om-display);
	letter-spacing: -0.01em;
	text-transform: uppercase;
}

.om-ch__title.is-long {
	font-size: clamp(56px, 9.5vw, 148px);
	overflow-wrap: anywhere;
}

.om-ch__desc {
	max-width: 62ch;
	margin: 18px 0 0;
	font: 500 18px/1.5 var(--om-sans);
}

.om-ch__desc p {
	margin: 0;
}

.om-cfeat {
	padding: 48px 0 8px;
}

.om-cfeat__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 48px;
	align-items: start;
}

.om-cfeat__date {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: var(--om-ink);
	font: 600 16px/1.3 var(--om-sans);
}

.om-cfeat__title {
	margin: 0 0 16px;
	color: var(--om-ink);
	font: 800 clamp(40px, 4.4vw, 64px)/0.98 var(--om-display);
	text-wrap: balance;
}

.om-cfeat__title.is-long {
	font-size: clamp(32px, 3.2vw, 46px);
}

.om-cfeat__title a {
	text-decoration: none;
}

.om-cfeat__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

.om-cfeat__lead {
	max-width: 62ch;
	margin: 0 0 12px;
	font: 400 19px/1.55 var(--om-sans);
}

.om-cfeat__meta {
	margin: 0 0 24px;
}

.om-cfeat__subtitle {
	margin: 0;
	padding-top: 12px;
	border-top: 3px solid var(--om-ink);
	color: var(--om-ink);
	font: 700 16px/1.3 var(--om-sans);
}

.om-cfeat__items {
	margin: 8px 0 28px;
	padding: 0;
	list-style: none;
}

.om-cfeat__items a {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 12px;
	align-items: baseline;
	min-height: 44px;
	padding: 8px 0;
	border-bottom: 1px solid var(--om-rule);
	color: var(--om-ink);
	font: 800 26px/1.05 var(--om-display);
	text-decoration: none;
}

.om-cfeat__items .om-program__n {
	color: var(--om-tuba);
	font-size: 36px;
}

.om-cfeat__items a:hover span:last-child {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.om-cfeat__fig img {
	width: 100%;
}

.om-dayrows {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 3px solid var(--om-ink);
}

.om-dayrow {
	border-bottom: 1px solid var(--om-rule);
}

.om-dayrow__link {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
	gap: 32px;
	align-items: baseline;
	padding: 18px 0;
	color: var(--om-ink);
	text-decoration: none;
}

.om-dayrow__title {
	display: block;
}

.om-dayrow__day {
	color: var(--om-tuba);
	font: 900 36px/0.95 var(--om-display);
}

.om-dayrow__day time {
	display: block;
	margin-top: 4px;
	color: var(--om-muted);
	font: 500 14px/1.3 var(--om-sans);
}

.om-dayrow__title {
	font: 700 21px/1.3 var(--om-sans);
}

.om-dayrow__link:hover .om-dayrow__title {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.om-dayrow__meta {
	display: block;
	margin-top: 6px;
}

/* ==========================================================================
   Strona działu (np. „Ślub i wesele”)
   ========================================================================== */

.om-sh {
	padding: 16px 0 44px;
}

.om-sh__grid {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px 48px;
}

.om-sh__title {
	margin: 0;
	padding-top: 0.14em;
	font: 900 clamp(72px, 11vw, 168px)/0.84 var(--om-display);
	letter-spacing: -0.01em;
}

.om-sh__desc {
	max-width: 62ch;
	margin: 18px 0 0;
	color: var(--om-on-ink);
	font: 500 18px/1.5 var(--om-sans);
}

.om-sh__desc p {
	margin: 0;
}

.om-sectionp__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 56px;
	align-items: start;
}

.om-sectionp__grid.is-list {
	grid-template-columns: minmax(0, 1fr);
}

.om-sectionp__lead {
	color: var(--om-ink);
}

.om-sectionp__lead .om-guide__fig {
	display: block;
	margin-top: 18px;
	color: var(--om-tuba);
	text-align: left;
	max-width: none;
	font-size: clamp(56px, 6vw, 88px);
}

.om-sectionp__lead .om-guide__sub {
	color: var(--om-text);
}

/* ==========================================================================
   Zwykły wpis i strona
   ========================================================================== */

.om-ph {
	padding: 16px 0 36px;
	background: var(--om-tint);
}

.om-ph__inner {
	max-width: 1200px;
}

.om-ph__label {
	margin: 10px 0 14px;
}

.om-ph__title {
	margin: 8px 0 0;
	color: var(--om-ink);
	font: 900 clamp(44px, 5.4vw, 80px)/0.95 var(--om-display);
	text-wrap: pretty;
}

.om-ph__title.is-long {
	font-size: clamp(36px, 4vw, 58px);
}

.om-ph__lead {
	max-width: 62ch;
	margin: 18px 0 0;
	color: var(--om-ink);
	font: 500 21px/1.5 var(--om-sans);
}

.om-ph__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 18px 0 0;
	color: var(--om-muted);
	font: 500 15px/1.4 var(--om-sans);
}

.om-post__body {
	padding-bottom: 24px;
}

.om-post__media {
	max-width: 760px;
	margin: 40px auto 0;
}

.om-post__media img {
	width: 100%;
}

.om-post__media + .om-prose {
	padding-top: 32px;
}

.om-partner-note {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	max-width: 760px;
	margin: 0 auto 24px;
	padding: 16px 0;
	border-top: 3px solid var(--om-ink);
	color: var(--om-ink);
	font: 500 16px/1.4 var(--om-sans);
}

.om-partnerbox {
	max-width: 760px;
	margin: 0 auto 32px;
	padding: 18px 0;
	border-top: 3px solid var(--om-ink);
	border-bottom: 1px solid var(--om-rule);
}

.om-partnerbox__title {
	margin: 0 0 6px;
	color: var(--om-ink);
	font: 900 30px/1 var(--om-display);
}

.om-partnerbox__name {
	margin: 0;
	color: var(--om-ink);
	font: 700 17px/1.4 var(--om-sans);
}

.om-partnerbox__desc {
	margin: 6px 0 0;
}

.om-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 760px;
	margin: 0 auto 32px;
}

.om-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	border: 2px solid var(--om-ink);
	color: var(--om-ink);
	font: 600 15px/1 var(--om-sans);
	text-decoration: none;
}

.om-chip:hover {
	background: var(--om-ink);
	color: var(--om-white);
}

.om-related {
	padding: 48px 0 64px;
}

.om-related .om-section__title {
	margin-bottom: 24px;
	font-size: clamp(40px, 4.4vw, 64px);
}

.page-links {
	margin: 24px 0;
	font-weight: 700;
}

/* Komentarze */
.om-single__comments {
	padding-top: 8px;
	padding-bottom: 56px;
}

.om-comments {
	max-width: 760px;
	margin: 0 auto;
	padding-top: 24px;
	border-top: 3px solid var(--om-ink);
}

.om-comments__title,
.om-comments .comment-reply-title {
	margin: 0 0 18px;
	color: var(--om-ink);
	font: 900 40px/1 var(--om-display);
}

.om-comments__list {
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

.om-comments__list .comment-body {
	padding: 16px 0;
	border-bottom: 1px solid var(--om-rule);
}

.om-comments__list .children {
	margin: 0;
	padding-left: 24px;
	list-style: none;
}

.om-comments .comment-meta {
	font-size: 14px;
	color: var(--om-muted);
}

.om-comments .comment-author {
	color: var(--om-ink);
	font-weight: 700;
}

.om-comments label {
	display: block;
	margin-bottom: 4px;
	color: var(--om-ink);
	font-weight: 600;
}

.om-comments input[type="text"],
.om-comments input[type="email"],
.om-comments textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 2px solid var(--om-ink);
	border-radius: 0;
	background: var(--om-white);
}

.om-comments .comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
}

.om-comments .comment-form-cookies-consent input {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--om-ink);
}

.om-comments .comment-form-cookies-consent label {
	display: inline;
	margin: 0;
	font-weight: 400;
}

/* ==========================================================================
   Pas z wiadomościami z miast (działy, wpisy, 404)
   ========================================================================== */

.om-news {
	padding: 52px 0 56px;
	background: var(--om-tuba);
	color: var(--om-white);
}

.om-news__title {
	margin: 0 0 24px;
	font: 900 clamp(44px, 5vw, 72px)/0.9 var(--om-display);
}

.om-news .om-meta,
.om-news .om-author {
	color: var(--om-white);
}

/* ==========================================================================
   Stopka – biała, logo w oryginalnych kolorach
   ========================================================================== */

.om-footer {
	padding: 44px 0 28px;
	border-top: 8px solid var(--om-tuba);
	background: var(--om-white);
	color: var(--om-ink);
}

.om-footer__logo {
	display: inline-block;
}

.om-footer__logo img {
	width: auto;
	height: 56px;
}

.om-footer__tagline {
	max-width: 52ch;
	margin: 12px 0 0;
	color: var(--om-muted);
	font: 500 15px/1.5 var(--om-sans);
}

.om-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 3fr) minmax(0, 3fr);
	gap: 48px;
	margin-top: 32px;
}

.om-footer__title {
	margin: 0 0 10px;
	color: var(--om-muted);
	font: 700 15px/1.3 var(--om-sans);
}

.om-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.om-footer__col--cities ul {
	columns: 3;
	column-gap: 24px;
	max-width: 640px;
}

.om-footer li a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--om-ink);
	font: 600 17px/1.2 var(--om-sans);
	text-decoration: none;
}

.om-footer li a:hover {
	color: var(--om-tuba);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.om-footer__bottom {
	margin: 36px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--om-rule);
	color: var(--om-muted);
	font: 500 14px/1.4 var(--om-sans);
}

/* ==========================================================================
   Do 1100 px
   ========================================================================== */

@media (max-width: 1100px) {
	.om-row__link {
		grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) 168px;
	}
	.om-row__media img {
		width: 168px;
	}
	.om-sheets {
		grid-template-columns:
			[full-start] minmax(var(--om-gut), 1fr)
			[num-start] 150px [num-end] 32px
			[text-start] minmax(0, 760px) [text-end] minmax(var(--om-gut), 1fr)
			[full-end];
	}
	.om-sheets .digest-item::before {
		font-size: 140px;
	}
	.om-wall {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.om-letters {
		grid-template-columns: repeat(10, minmax(0, 1fr));
	}
	.om-bigwords {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Telefon i tablet (do 900 px)
   ========================================================================== */

@media (max-width: 900px) {
	:root {
		--om-gut: 18px;
	}

	.om-header__inner {
		padding-top: 12px;
		padding-bottom: 8px;
	}
	.om-brand img {
		height: 44px;
	}
	.om-header__widgets {
		display: none;
	}
	.om-iconbtn {
		display: grid;
	}
	.om-header__search {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 40;
		margin: 0;
		padding: 14px var(--om-gut);
		background: var(--om-white);
		border-bottom: 3px solid var(--om-ink);
	}
	.om-header__search.is-open {
		display: block;
	}
	.om-header__search .om-search__input {
		width: auto;
	}

	/* Menu: jeden rząd, przewijany w poziomie, gdy pozycji jest więcej niż miejsca. */
	.om-menu {
		flex-wrap: nowrap;
		margin: 0 calc(-1 * var(--om-gut));
		padding: 0 calc(var(--om-gut) - 10px);
		overflow-x: auto;
		scrollbar-width: none;
	}
	.om-menu::-webkit-scrollbar {
		display: none;
	}
	.om-menu > li > a {
		min-height: 48px;
		padding: 0 10px;
		font-size: 22px;
		white-space: nowrap;
	}
	.om-sub-toggle {
		min-height: 48px;
	}
	.om-menu .sub-menu {
		grid-template-columns: 1fr 1fr;
		padding: 18px var(--om-gut) 22px;
	}
	.om-menu .sub-menu a {
		padding: 8px 0;
		font-size: clamp(22px, 6.6vw, 30px);
		white-space: nowrap;
	}

	.om-section {
		padding: 44px 0 40px;
	}
	.om-section__head {
		margin-bottom: 20px;
	}

	.om-afisz {
		padding: 20px 0 36px;
	}
	.om-afisz__grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "city" "fig" "main" "side";
	}
	.om-afisz__city {
		font-size: clamp(72px, 24vw, 120px);
	}
	.om-afisz__city.is-long {
		font-size: clamp(44px, 13vw, 72px);
	}
	.om-afisz__main {
		padding-top: 20px;
	}
	.om-afisz__title {
		font-size: 38px;
	}
	.om-afisz__lead {
		margin-bottom: 12px;
		font-size: 17px;
	}
	.om-afisz__side {
		padding-top: 22px;
	}
	.om-afisz__also {
		margin-bottom: 22px;
	}
	.om-afisz__also a {
		font-size: 28px;
	}

	.om-row__link {
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 16px;
		margin: 0;
		padding: 16px 0 18px;
	}
	.om-row__link:hover {
		background: none;
	}
	.om-row__city,
	.om-row__city.is-long {
		grid-column: 1;
		grid-row: 1;
		font-size: 36px;
	}
	.om-row__media {
		grid-column: 2;
		grid-row: 1;
	}
	.om-row__media img {
		width: 112px;
	}
	.om-row__head {
		grid-column: 1 / -1;
		grid-row: 2;
		margin-top: 10px;
	}
	.om-row__title {
		font-size: 18px;
	}
	.om-row__sub {
		display: none;
	}

	.om-partner {
		padding-bottom: 44px;
	}
	.om-partner.is-after {
		padding-top: 44px;
	}
	.om-partner__card {
		padding: 18px;
	}
	.om-partner__link {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.om-partner__title {
		font-size: 30px;
	}

	.om-slub {
		padding: 40px 0 44px;
	}
	.om-search--big {
		width: 100%;
	}
	.om-days {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	.om-day__list li:nth-child(n+3) {
		display: none;
	}

	.om-slub__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.om-slub .om-guides .om-guide:nth-child(n+4) {
		display: none;
	}

	.om-dh {
		padding-top: 8px;
	}
	.om-dh__grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "title" "prog" "fig";
	}
	.om-dh__pre,
	.om-dh__date {
		font-size: 24px;
	}
	.om-dh__city,
	.om-dh__city.is-long {
		margin-top: 0.2em;
		font-size: clamp(52px, 17vw, 76px);
	}
	.om-dh__meta {
		margin-top: 16px;
	}
	.om-dh__fig {
		margin: 0 calc(-1 * var(--om-gut));
	}
	.om-program {
		margin-top: 18px;
		padding: 14px 0 18px;
		border-top-width: 2px;
	}
	.om-program__label {
		margin-bottom: 8px;
	}
	.om-program__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}
	.om-program__n {
		font-size: 36px;
	}
	.om-program__t {
		font-size: 26px;
	}

	.om-sheets {
		grid-template-columns:
			[full-start] var(--om-gut)
			[num-start text-start] minmax(0, 1fr)
			[num-end text-end] var(--om-gut)
			[full-end];
		padding-top: 28px;
		font-size: 18px;
	}
	.om-sheets > p.lead {
		margin-bottom: 32px;
		font-size: 20px;
	}
	.om-sheets .digest-section > h2 {
		font-size: 32px;
	}
	.om-sheets .digest-item {
		padding: 32px 0 36px;
	}
	.om-sheets .digest-item::before {
		grid-row: auto;
		margin-bottom: 14px;
		font-size: 96px;
	}
	.om-sheets .digest-item h3 {
		font-size: 34px;
	}

	.om-same {
		margin-top: 40px;
		margin-bottom: 48px;
	}
	.om-same__inner {
		grid-auto-flow: row;
		grid-auto-columns: auto;
	}
	.om-same__step {
		min-height: 0;
		padding: 18px 20px;
		border-right: 0;
		border-bottom: 3px solid var(--om-ink);
	}
	.om-same__step--next {
		text-align: left;
	}
	.om-same__step--next .om-same__label {
		justify-content: flex-start;
	}
	.om-same__title {
		font-size: 26px;
	}
	.om-same__all {
		min-height: 72px;
		padding: 18px 20px;
		font-size: 28px;
	}

	.om-wallband,
	.om-news {
		padding: 44px 0 48px;
	}
	.om-wall {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	.om-duo {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 40px;
		padding-bottom: 48px;
	}
	.om-duo > section {
		padding: 26px 20px 22px;
	}
	.om-duo__title {
		font-size: 48px;
	}
	.om-guide__link {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 8px;
	}
	.om-guide__fig {
		grid-column: 1;
		grid-row: auto;
	}
	.om-guide__main {
		font-size: 30px;
	}
	.om-guide__fig {
		max-width: none;
		font-size: 36px;
		text-align: left;
	}

	/* Pasek z miastem przy przewijaniu przeglądu. */
	.om-stick {
		display: flex;
		align-items: center;
		gap: 10px;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 50;
		height: 52px;
		padding: 0 var(--om-gut);
		background: var(--om-tuba);
		color: var(--om-white);
		transform: translateY(-100%);
		transition: transform 0.2s ease;
	}
	.om-stick.is-visible {
		transform: translateY(0);
	}
	.om-stick__city {
		font: 900 26px/1 var(--om-display);
		text-transform: uppercase;
	}
	.om-stick__date {
		font: 500 14px/1 var(--om-sans);
	}
	.om-stick__all {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		margin-left: auto;
		color: var(--om-white);
		font: 700 15px/1 var(--om-sans);
		text-underline-offset: 3px;
	}
	.om-single--digest .om-sheets .digest-item,
	.om-single--digest .om-sheets .digest-section {
		scroll-margin-top: 56px;
	}

	.om-eh {
		padding-bottom: 28px;
	}
	.om-eh__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
	.om-eh__title {
		display: block;
	}
	.om-eh__letter {
		display: inline-grid;
		width: 60px;
		height: 60px;
		margin: 4px 0 14px;
		font-size: 46px;
	}
	.om-eh__pre {
		font-size: 24px;
	}
	.om-eh__word {
		font-size: clamp(72px, 24vw, 112px);
	}
	.om-eh__rest {
		font-size: 24px;
	}
	.om-eh__meta {
		margin-top: 12px;
	}
	.om-eh__short {
		padding: 20px 18px 16px;
	}
	.om-eh__short h2 {
		font-size: 28px;
	}
	.om-eh__short li {
		font-size: 16px;
	}

	.om-prose {
		padding: 32px 0 40px;
		font-size: 18px;
	}
	.om-prose > p:first-child,
	.om-prose--entry > p:first-of-type {
		font-size: 20px;
	}

	.om-same-letter,
	.om-abc--entry {
		padding: 40px 0 44px;
	}
	.om-words a {
		min-height: 44px;
		font-size: 30px;
	}
	.om-words {
		gap: 0 16px;
	}
	.om-abc {
		padding-top: 36px;
	}
	.om-letters {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 6px;
	}
	.om-letters a,
	.om-letters span {
		font-size: 32px;
	}

	.om-dh-sky {
		padding-bottom: 36px;
	}
	.om-dict__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	.om-dict__title {
		font-size: clamp(88px, 29vw, 128px);
	}
	.om-dict__desc {
		margin-top: 14px;
		font-size: 18px;
	}
	.om-dict__ask {
		font-size: 26px;
	}
	.om-dict__search .om-search--big {
		height: 58px;
	}
	.om-bigwords {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
	.om-bigwords__w {
		font-size: 64px;
	}
	.om-bigwords__x {
		font-size: 16px;
	}
	.om-index {
		padding: 40px 0 44px;
	}
	.om-index__group {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 12px;
	}
	.om-index__group .om-letterblock {
		width: 52px;
		height: 52px;
		font-size: 36px;
	}
	.om-words--index a {
		min-height: 44px;
		font-size: 24px;
	}

	.om-items--2 {
		grid-template-columns: minmax(0, 1fr);
	}
	.om-item__link {
		grid-template-columns: minmax(0, 1fr) 112px;
		gap: 14px;
	}
	.om-item__media {
		grid-column: 2;
		grid-row: 1;
	}
	.om-item__body {
		grid-column: 1;
		grid-row: 1;
	}
	.om-item__media img {
		width: 112px;
	}
	.om-item__title {
		font-size: 18px;
	}
	.om-item__lead {
		display: none;
	}

	.om-lh {
		padding: 28px 0 28px;
	}

	.om-ch {
		padding-bottom: 28px;
	}
	.om-ch__title {
	overflow-wrap: normal;
		font-size: clamp(72px, 24vw, 120px);
	}
	.om-ch__title.is-long {
		font-size: clamp(44px, 13vw, 72px);
	}
	.om-cfeat {
		padding-top: 32px;
	}
	.om-cfeat__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	.om-cfeat__fig {
		grid-row: 1;
	}
	.om-cfeat__title {
		font-size: 36px;
	}
	.om-cfeat__lead {
		font-size: 17px;
	}
	.om-dayrow__link {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}
	.om-dayrow__day {
		font-size: 28px;
	}
	.om-dayrow__day time {
		display: inline;
		margin-left: 8px;
	}
	.om-dayrow__title {
		font-size: 18px;
	}

	.om-sh {
		padding-bottom: 32px;
	}
	.om-sh__title {
		font-size: clamp(56px, 17vw, 96px);
	}
	.om-sectionp__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.om-ph {
		padding-bottom: 28px;
	}
	.om-ph__title {
		font-size: clamp(38px, 10vw, 52px);
	}
	.om-ph__title.is-long {
		font-size: clamp(32px, 8vw, 42px);
	}
	.om-ph__lead {
		font-size: 18px;
	}
	.om-post__media {
		margin: 24px calc(-1 * var(--om-gut)) 0;
	}
	.om-related {
		padding: 36px 0 44px;
	}

	.om-footer__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 28px;
	}
	.om-footer__col--cities {
		grid-column: 1 / -1;
	}
	.om-footer__logo img {
		height: 44px;
	}
}

@media (max-width: 560px) {
	.om-footer__col--cities ul {
		columns: 2;
	}
	.om-slub__media,
	.om-slub__lead-text {
		display: none;
	}
	.om-slub__title {
		margin-top: 0;
	}
	.om-slub__title .om-guide__main {
		font-size: 40px;
	}
	.om-sectionp__lead .om-slub__media {
		display: block;
	}
}

@media (max-width: 374px) {
	.om-menu > li > a {
		padding: 0 7px;
		font-size: 19px;
	}
	.om-letters {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}

/* Autor w metryczce strony wpisu – link z celem ≥ 44 px. */
.om-dh__meta .om-author,
.om-eh__meta .om-author,
.om-ph__meta .om-author,
.om-afisz__by .om-author {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* Galerie kartek z życzeniami („custom-download-gallery” z treści): siatka zamiast kolumny pojedynczych obrazków. */
.om-prose .custom-download-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
	margin: 28px 0;
}

.om-prose .custom-download-gallery .gallery-item {
	margin: 0;
}

.om-prose .custom-download-gallery img {
	width: 100%;
	height: auto;
	margin: 0;
}

.om-prose .custom-download-gallery a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

@media (max-width: 560px) {
	.om-prose .custom-download-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
}

/* Listy haseł rozdzielone kropką („Kaczka · Kameleon · Kanarek”). */
.om-words--sep li:not(:last-child)::after {
	content: "·";
	margin-left: 0.3em;
	color: var(--om-muted);
	font: 700 0.6em/1 var(--om-sans);
	vertical-align: middle;
}

.om-words--sep {
	gap: 0 0.45em;
}

/* Jedna linia z sennikiem na dole strony głównej – bez tła, zwykłym krojem. */
.om-also-line {
	padding-top: 40px;
	padding-bottom: 48px;
}

.om-also-line p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin: 0;
	padding-top: 16px;
	border-top: 1px solid var(--om-rule);
	color: var(--om-muted);
	font: 500 16px/1.4 var(--om-sans);
}

.om-also-line a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	color: var(--om-ink);
	text-underline-offset: 3px;
}

.om-also-line .om-also-line__label {
	font-weight: 700;
	text-decoration: none;
}

.om-also-line .om-arrow {
	width: 16px;
	height: 16px;
}

.om-slub + .om-also-line,
.om-partner.is-after + .om-also-line {
	padding-top: 32px;
}
