/* Komponenty md-core – kolory i fonty z theme.json (zmienne --wp--preset--*). Promienie 0, cele dotyku 44px. */
:root {
	--md-primary: var(--wp--preset--color--primary, #173F30);
	--md-primary-600: var(--wp--preset--color--primary-600, #2E6B4A);
	--md-primary-100: var(--wp--preset--color--primary-100, #E6ECE7);
	--md-accent: var(--wp--preset--color--accent, #B5482F);
	--md-accent-100: var(--wp--preset--color--accent-100, #F7E4DE);
	--md-sand: var(--wp--preset--color--sand, #F4F1EA);
	--md-sand-300: var(--wp--preset--color--sand-300, #E1DACB);
	--md-ink: var(--wp--preset--color--ink, #16201B);
	--md-muted: var(--wp--preset--color--ink-muted, #56605A);
	--md-line: var(--wp--preset--color--line, #DADFDB);
	--md-border-ui: var(--wp--preset--color--border-ui, #7F8984);
	--md-tap: 44px;
}

.md-icon { flex: none; vertical-align: -0.2em; }
.md-muted { color: var(--md-muted); }

.md-eyebrow { margin: 0 0 4px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--md-primary-600); }

/* Przyciski */
.md-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.md-actions--grid { display: grid; grid-template-columns: 1fr 1fr; }
.md-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--md-tap); padding: 10px 16px; border: 2px solid var(--md-primary); background: var(--md-primary); color: #fff !important; font-weight: 700; font-size: 17px; line-height: 1.2; text-decoration: none !important; border-radius: 0; cursor: pointer; }
.md-btn:hover { background: var(--md-primary-600); border-color: var(--md-primary-600); }
.md-btn--secondary { background: #fff; color: var(--md-primary) !important; }
.md-btn--secondary:hover { background: var(--md-primary-100); }
.md-btn--lg { min-height: 54px; }
.md-btn--lg span { display: flex; flex-direction: column; align-items: flex-start; }
.md-btn small { font-weight: 400; font-size: 15px; }
.md-btn--white { background: #fff; border-color: #fff; color: var(--md-primary) !important; }
.md-btn--ghost-light { background: transparent; border-color: #fff; }
.md-link-action { display: inline-flex; align-items: center; gap: 6px; min-height: var(--md-tap); font-weight: 700; }

/* Status otwarcia – zawsze ikona + tekst */
.md-status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; font-weight: 700; font-size: 15px; }
.md-status--open { color: var(--wp--preset--color--status-open, #1E6B43); background: var(--wp--preset--color--status-open-bg, #E3F0E6); }
.md-status--soon { color: var(--wp--preset--color--status-soon, #7A4B00); background: var(--wp--preset--color--status-soon-bg, #FFF0CC); }
.md-status--closed { color: var(--wp--preset--color--status-closed, #4E5652); background: var(--wp--preset--color--status-closed-bg, #ECEEEC); }

/* Tagi i chipy */
.md-tags { margin: 10px 0 0; display: flex; gap: 6px; flex-wrap: wrap; }
.md-tag { display: inline-block; padding: 3px 8px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: var(--md-primary-100); color: var(--md-primary); }
.md-tag--premium { background: var(--md-primary); color: #fff; }
.md-tag--premium::before { content: "★ "; }
.md-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.md-chips--meta { margin-bottom: 12px; }
.md-chip { position: relative; }
.md-chip input { position: absolute; opacity: 0; inset: 0; }
.md-chip span, .md-chip-link { display: inline-flex; align-items: center; min-height: var(--md-tap); padding: 0 14px; border: 1.5px solid var(--md-border-ui); background: #fff; color: var(--md-ink); font-weight: 600; text-decoration: none; cursor: pointer; }
.md-chip input:checked + span { background: var(--md-primary); border-color: var(--md-primary); color: #fff; }
.md-chip input:checked + span::before { content: "✓ "; white-space: pre; }
.md-chip input:focus-visible + span { outline: 3px solid var(--md-accent); outline-offset: 3px; }
.md-chip span:hover, .md-chip-link:hover { border-color: var(--md-primary); }
.md-chip-format, .md-chip-loc { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 2px 10px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.md-chip-format { background: var(--md-primary); color: #fff !important; }
.md-chip-format.is-alarm { background: var(--md-accent); }
.md-chip-loc { background: var(--md-primary-100); color: var(--md-primary) !important; }

/* Filtry list */
.md-filters { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; margin: 0 0 16px; }
.md-filters fieldset { border: 0; padding: 0; margin: 0; flex-basis: 100%; overflow-x: auto; }
.md-filters .md-chips { flex-wrap: nowrap; }
@media (min-width: 768px) { .md-filters .md-chips { flex-wrap: wrap; } }
.md-switch { display: inline-flex; align-items: center; gap: 10px; min-height: var(--md-tap); font-weight: 600; cursor: pointer; }
.md-switch input { appearance: none; width: 52px; height: 30px; border-radius: 999px; background: var(--md-border-ui); position: relative; cursor: pointer; margin: 0; }
.md-switch input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: left .15s; }
.md-switch input:checked { background: var(--md-primary); }
.md-switch input:checked::after { left: 25px; }
.md-count { color: var(--md-muted); font-size: 15px; margin: 0 0 12px; }
.md-empty { border: 2px dashed var(--md-border-ui); padding: 16px; }

/* Siatka i karty */
.md-grid { display: grid; gap: 16px; }
@media (min-width: 768px) { .md-grid--places { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .md-grid--places { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.md-card { border: 1px solid var(--md-line); background: #fff; padding: 16px; }
.md-place--premium { border-top: 4px solid var(--md-primary); }
@media (min-width: 1200px) { .md-place--premium { border-top-width: 1px; border-left: 4px solid var(--md-primary); } }
.md-place__name { margin: 0 0 4px; font-size: 20px; font-weight: 800; line-height: 1.2; }
.md-place__name a { color: var(--md-ink); text-decoration: none; }
.md-place__name a:hover { color: var(--md-accent); text-decoration: underline; }
.md-place__addr { margin: 0 0 8px; color: var(--md-muted); font-size: 15px; }
.md-place__status { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 15px; }

/* Box „Najważniejsze” */
.md-box { background: var(--md-sand); padding: 16px; margin: 0 0 24px; }
.md-box p { margin: 0 0 8px; }
.md-box__today { font-size: 18px; }
.md-box__addr { display: flex; gap: 6px; }
.md-box__links { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 8px; }
.md-box .md-checked { margin-top: 12px; }
@media (min-width: 1200px) { .md-box { display: grid; grid-template-columns: 1.2fr 1fr; gap: 8px 24px; } .md-box .md-actions--grid, .md-box__links, .md-box .md-checked, .md-box__tel2 { grid-column: 2; } .md-box__now { grid-row: span 4; } }
.md-checked { font-size: 15px; color: var(--md-muted); }

/* Tabela godzin */
.md-hours-table table { width: 100%; border-collapse: collapse; font-size: 17px; }
.md-hours-table th, .md-hours-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--md-line); font-weight: 400; }
.md-hours-table tr.is-today { background: var(--md-primary-100); font-weight: 700; }
.md-hours-table tr.is-today th, .md-hours-table tr.is-today td { font-weight: 700; }
.md-hours-ex { font-size: 15px; color: var(--md-muted); }

/* Mapa */
.md-map__canvas { min-height: 240px; background: var(--md-primary-100); display: flex; align-items: center; justify-content: center; }
.md-map__credit { font-size: 13px; color: var(--md-muted); }

/* Listy wierszy (miejscowości A–Ż, najbliższe dni) – cele 44px */
.md-rows { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
@media (min-width: 768px) { .md-rows { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.md-rows li { border-bottom: 1px solid var(--md-line); }
.md-rows a { display: flex; align-items: center; min-height: var(--md-tap); font-weight: 600; }
.md-rows--plain { grid-template-columns: 1fr !important; }
.md-rows--plain li { display: flex; gap: 12px; align-items: center; min-height: var(--md-tap); }

/* Pasek „Dziś” */
.md-today-bar { background: var(--md-sand); border-bottom: 1px solid var(--md-sand-300); font-size: 15px; }
.md-today-bar__inner { display: flex; flex-wrap: wrap; gap: 4px 24px; max-width: var(--wp--style--global--wide-size, 1240px); margin: 0 auto; padding: 6px clamp(14px, 4vw, 32px); }
.md-today-item { display: inline-flex; align-items: center; gap: 8px; min-height: var(--md-tap); color: var(--md-ink); text-decoration: none; }
.md-today-item a { font-weight: 700; }

/* Alerty IMGW */
.md-alert { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; margin: 0 0 16px; border-left: 6px solid; }
.md-alert p { margin: 4px 0 0; }
.md-alert--imgw-1 { background: #FFF6D1; border-color: #F2C200; color: #2A2300; }
.md-alert--imgw-2 { background: #FFE8CC; border-color: #F08A00; color: #1F1200; }
.md-alert--imgw-3 { background: #C8102E; border-color: #8E0B20; color: #fff; }
.md-today-bar + .md-alert { margin: 0; }

/* Dyżur apteki */
.md-duty-card { background: var(--md-primary); color: #fff; padding: 20px 16px; margin-bottom: 12px; }
.md-duty-card a { color: #fff; }
.md-duty-card__head { margin: 0 0 6px; font-weight: 600; }
.md-duty-card__name { margin: 0 0 6px; font-size: 28px; font-weight: 800; line-height: 1.1; color: #fff; }
.md-duty-card__addr, .md-duty-card__hours { margin: 0 0 6px; }
.md-duty-card .md-btn--lg { min-height: 56px; }
.md-duty-card--empty { background: var(--md-sand); color: var(--md-ink); }

/* Pogoda */
.md-weather__now { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.md-weather__temp { margin: 0; font-size: 72px; font-weight: 800; line-height: 1; }
.md-weather__desc { margin: 0; font-size: 21px; font-weight: 700; }
.md-weather__hours { list-style: none; padding: 0 0 8px; margin: 0 0 24px; display: flex; overflow-x: auto; gap: 0; }
.md-weather__hours li { flex: 0 0 62px; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 0; border-right: 1px solid var(--md-line); font-size: 15px; }
.md-weather__days { width: 100%; border-collapse: collapse; }
.md-weather__days th, .md-weather__days td { text-align: left; padding: 10px 6px; border-bottom: 1px solid var(--md-line); font-weight: 400; }
.md-weather__days td:first-of-type { display: flex; gap: 8px; align-items: center; }
.md-weather__credit { font-size: 13px; color: var(--md-muted); margin-top: 16px; }

/* News */
.md-source { font-size: 15px; color: var(--md-muted); }
.md-photo-credit { font-size: 13px; color: var(--md-muted); margin-top: 6px; }
.md-related h2, .md-in-place h2, .md-villages h2 { margin-top: 32px; }

/* Okruszki */
.md-crumbs ol { list-style: none; padding: 0; margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: var(--md-muted); }
.md-crumbs li { display: inline; }
.md-crumbs li + li::before { content: " › "; }
.md-crumbs a { color: var(--md-muted); padding-block: 6px; }

/* Lista newsów */
.md-news { display: grid; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--md-line); }
.md-news__title { margin: 2px 0 4px; font-size: 19px; font-weight: 800; line-height: 1.2; }
.md-news__title a { color: var(--md-ink); text-decoration: none; }
.md-news__title a:hover { color: var(--md-accent); text-decoration: underline; }
.md-news .md-meta { margin: 0; font-size: 15px; color: var(--md-muted); }
.md-news--kompakt { grid-template-columns: 1fr 104px; }
.md-news--kompakt .md-news__img { grid-column: 2; grid-row: 1; }
.md-news--kompakt .md-news__body { grid-column: 1; grid-row: 1; }
.md-news__img img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.md-news--lead .md-news__img img { aspect-ratio: 3 / 2; }
.md-news--lead .md-news__title { font-size: clamp(26px, 3.2vw, 38px); }
.md-news__lead { font-size: 19px; margin: 4px 0 8px; }
@media (min-width: 1200px) { .md-news--lead { grid-template-columns: 1.2fr 1fr; gap: 24px; } }
.md-news--alarm { border-left: 4px solid var(--md-accent); padding-left: 12px; margin-bottom: 8px; }
.md-news--alarm .md-meta time { color: var(--md-accent); font-weight: 700; }

/* URL jako tekst */
.md-url { font-weight: 600; word-break: break-word; }
.md-link-row { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.md-duty-note { font-size: 15px; background: var(--md-sand); padding: 12px 16px; }

/* ---------- v0.5: zdjęcia, strona główna ---------- */
.md-news--lead { grid-template-columns: 1fr !important; gap: 14px; border-bottom: 0; padding-top: 0; }
.md-news--lead .md-news__img img { aspect-ratio: 16 / 9; }
.md-news--lead .md-news__title { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.1; }
.md-news-feed--karty { display: grid; gap: 20px; grid-template-columns: 1fr; margin-block: 8px 24px; }
@media (min-width: 600px) { .md-news-feed--karty { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .md-news-feed--karty { grid-template-columns: repeat(3, minmax(0, 1fr)); } .md-home .md-news-feed--karty:has(> :nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.md-news--karty { display: flex; flex-direction: column; gap: 10px; padding: 0; border-bottom: 0; }
.md-news--karty .md-news__img img { aspect-ratio: 3 / 2; }
.md-news--karty .md-news__title { font-size: 19px; }
.md-news--karty .md-news__lead { font-size: 16px; color: var(--md-muted); margin: 0 0 4px; }
.md-news--karty.md-news--noimg { border-top: 4px solid var(--md-primary); padding-top: 10px; }
.md-news--kompakt .md-news__img img { aspect-ratio: 4 / 3; }
.md-news--kompakt { grid-template-columns: 1fr 132px; }
.md-news__img { display: block; overflow: hidden; background: var(--md-primary-100); }
.md-news__img img { transition: transform .3s; }
.md-news__img:hover img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .md-news__img img { transition: none; } }
.md-more { margin-top: 10px; font-weight: 700; }
.md-ad:empty { display: none; }
.md-photo-credit { font-size: 13px; color: var(--md-muted); margin-top: 6px; }
.md-hero { margin: 0 0 24px; }
.md-hero img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; }

/* Pogoda mini */
.md-wx-mini { background: var(--md-primary-100); padding: 16px; }
.md-wx-mini__now { display: flex; align-items: center; gap: 12px; }
.md-wx-mini__now p { margin: 0; line-height: 1.3; }
.md-wx-mini__temp { white-space: nowrap; font-size: 40px; font-weight: 800; line-height: 1; }
.md-wx-mini__days { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; text-align: center; }
.md-wx-mini__days li { display: flex; flex-direction: column; align-items: center; gap: 2px; background: #fff; padding: 8px 4px; font-size: 15px; }
.md-wx-mini__more { margin: 12px 0 0; font-weight: 700; }

/* Kafle z ikonami: wyśrodkowana kolumna (ikona nad tekstem); podwójna klasa, bo motyw ładuje .md-tiles a później */
.md-tiles.md-tiles--icons a { flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; padding: 16px 10px; }
.md-tiles.md-tiles--icons a .md-icon { flex: none; color: var(--md-primary-600); }
.md-tiles.md-tiles--icons a span { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.md-tiles.md-tiles--icons a small { display: block; }
.md-tiles.md-tiles--icons a:hover .md-icon { color: #fff; }

/* Gminy ze zdjęciami */
.md-gminy { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 20px; }
@media (min-width: 1000px) { .md-gminy { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.md-gmina-tile { position: relative; display: block; min-height: 150px; overflow: hidden; background: var(--md-primary); color: #fff; text-decoration: none; }
.md-gmina-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.md-gmina-tile:hover img { transform: scale(1.04); }
.md-gmina-tile__txt { position: absolute; inset: auto 0 0 0; padding: 32px 14px 12px; background: linear-gradient(transparent, rgba(10, 30, 22, .85)); display: flex; flex-direction: column; }
.md-gmina-tile.is-noimg .md-gmina-tile__txt { background: none; }
.md-gmina-tile strong { font-size: 20px; }
.md-gmina-tile small { font-size: 14px; opacity: .9; }

/* Mapy (Leaflet) */
.md-map__canvas { height: 340px; background: var(--md-primary-100); z-index: 0; }
.md-map__canvas--wide { height: 420px; margin-block: 12px 20px; }
.md-map__credit { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; margin-top: 10px; font-size: 14px; color: var(--md-muted); }
.md-pin span { display: block; width: 28px; height: 28px; background: var(--md-primary); border: 2px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 1px 3px rgba(0,0,0,.35); }
.md-pin.is-active span { background: var(--md-accent); }
.leaflet-container { font: inherit; }
.leaflet-container a { color: var(--md-primary); }

/* ---------- Huby gmin (v0.5) ---------- */
.md-loc-intro .md-lead { font-size: 19px; line-height: 1.55; margin-top: 0; }
.md-more-text { margin: 8px 0 24px; }
.md-more-text summary { cursor: pointer; font-weight: 700; color: var(--md-primary); min-height: var(--md-tap); display: flex; align-items: center; }
.md-more-text p { line-height: 1.6; }
.md-facts { background: var(--md-sand); padding: 18px; margin-bottom: 8px; }
.md-facts dl { margin: 0 0 12px; display: grid; gap: 8px; }
.md-facts dl > div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--md-sand-300); padding-bottom: 6px; }
.md-facts dt { color: var(--md-muted); }
.md-facts dd { margin: 0; font-weight: 700; text-align: right; }
.md-facts__office { display: grid; gap: 8px; }
.md-facts__office p { margin: 0; }
.md-facts__name { font-size: 18px; font-weight: 800; }
.md-facts__name a { color: var(--md-ink); text-decoration: none; }
.md-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 16px; }
.md-tab { display: inline-flex; align-items: center; gap: 8px; min-height: var(--md-tap); padding: 8px 14px; border: 2px solid var(--md-primary); color: var(--md-primary); font-weight: 700; text-decoration: none; background: #fff; }
.md-tab span { font-weight: 500; font-size: 14px; background: var(--md-primary-100); padding: 1px 8px; border-radius: 10px; color: var(--md-ink); }
.md-tab:hover { background: var(--md-primary-100); }
.md-tab.is-active { background: var(--md-primary); color: #fff; }
.md-tab.is-active span { background: #fff; }
.md-loc-info__body { display: grid; gap: 20px; }
@media (min-width: 1000px) { .md-loc-info__body { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; } .md-loc-info__body .md-map__canvas { position: sticky; top: 16px; margin: 0; } }
.md-place-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--md-line); }
.md-place-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; padding: 12px 0; border-bottom: 1px solid var(--md-line); }
.md-place-row__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 260px; }
.md-place-row__name { font-weight: 800; font-size: 18px; color: var(--md-ink); text-decoration: none; }
.md-place-row__name:hover { color: var(--md-accent); text-decoration: underline; }
.md-place-row__meta { font-size: 15px; color: var(--md-muted); }
.md-place-row__side { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.md-place-row__tel { display: inline-flex; align-items: center; gap: 6px; min-height: var(--md-tap); padding: 6px 12px; border: 2px solid var(--md-primary); color: var(--md-primary); font-weight: 700; text-decoration: none; white-space: nowrap; }
.md-place-row__tel:hover { background: var(--md-primary); color: #fff; }
.md-chips-list { list-style: none; margin: 8px 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.md-chips-list a { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 12px; background: var(--md-sand); color: var(--md-ink); text-decoration: none; font-weight: 600; }
.md-chips-list a:hover { background: var(--md-primary); color: #fff; }

/* Pogoda – szczegóły, opis, wykres (v0.5) */
.md-weather__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 16px 0; }
@media (min-width: 768px) { .md-weather__details { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.md-weather__details > div { background: var(--md-primary-100); padding: 10px 12px; }
.md-weather__details dt { font-size: 14px; color: var(--md-muted); }
.md-weather__details dd { margin: 2px 0 0; font-weight: 800; font-size: 18px; }
.md-weather__say { border-left: 4px solid var(--md-primary); padding: 4px 0 4px 14px; margin-bottom: 8px; }
.md-weather__say p { margin: 4px 0; font-size: 18px; }
.md-chart { margin: 8px 0 12px; }
.md-chart svg { display: block; width: 100%; height: 220px; background: #fff; border: 1px solid var(--md-line); }
.md-chart__line { fill: none; stroke: var(--md-accent); stroke-width: 3; vector-effect: non-scaling-stroke; }
.md-chart__bar { fill: #7FA6C9; }
.md-chart__t { font-size: 15px; font-weight: 700; text-anchor: middle; fill: var(--md-ink); }
.md-chart__h { font-size: 14px; text-anchor: middle; fill: var(--md-muted); }
.md-weather__days thead th { font-size: 14px; color: var(--md-muted); font-weight: 600; text-align: left; }
@media (max-width: 599px) { .md-wx-col { display: none; } }

/* Karty miejsc: liczba kolumn wg szerokości kontenera, nie ekranu (v0.5) */
.md-grid--places { grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)) !important; }

/* Filtry: fieldset nie może rozpychać strony na telefonie */
.md-filters fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.md-filters .md-chips { flex-wrap: wrap; }

/* Sidebar huba gminy: nawigacja informatora (v0.5.1) */
.md-side-nav { border: 2px solid var(--md-primary); padding: 14px 14px 10px; margin-bottom: 16px; background: #fff; }
.md-side-nav__title { font-size: 20px; margin: 0 0 8px; }
.md-side-nav ul { list-style: none; margin: 0; padding: 0; }
.md-side-nav li + li { border-top: 1px solid var(--md-line); }
.md-side-nav li a { display: flex; align-items: center; gap: 10px; min-height: var(--md-tap); padding: 6px 4px; color: var(--md-ink); text-decoration: none; font-weight: 700; }
.md-side-nav li a .md-icon { color: var(--md-primary-600); flex: none; }
.md-side-nav li a span { flex: 1; }
.md-side-nav li a small { font-weight: 600; font-size: 14px; background: var(--md-primary-100); padding: 1px 8px; border-radius: 10px; }
.md-side-nav li a:hover, .md-side-nav li a.is-active { background: var(--md-primary-100); color: var(--md-primary); }
.md-side-nav__all { display: inline-block; margin-top: 8px; font-weight: 700; }
#informator { scroll-margin-top: 16px; }

/* ---------- Strona główna v0.7 ---------- */
.md-dzialy { display: grid; gap: 24px; grid-template-columns: 1fr; margin: 8px 0 24px; }
@media (min-width: 640px) { .md-dzialy { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .md-dzialy { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.md-dzial__title { font-size: 18px; margin: 0 0 10px; padding-bottom: 6px; border-bottom: 3px solid var(--md-primary); }
.md-dzial__title a { color: var(--md-ink); text-decoration: none; }
.md-dzial__title a::after { content: " ›"; color: var(--md-primary-600); }
.md-dzial .md-news__title { font-size: 17px; }
.md-dzial__more { list-style: none; margin: 8px 0 0; padding: 0; }
.md-dzial__more li { border-top: 1px solid var(--md-line); padding: 8px 0; font-weight: 700; font-size: 16px; line-height: 1.3; }
.md-dzial__more a { color: var(--md-ink); text-decoration: none; }
.md-dzial__more a:hover, .md-dzial__title a:hover { color: var(--md-accent); text-decoration: underline; }
.md-duty-mini { margin-top: 12px; padding: 14px 16px; border-left: 4px solid var(--md-primary); background: var(--md-sand); }
.md-duty-mini p { margin: 0 0 4px; }
.md-duty-mini__name { font-size: 19px; font-weight: 800; }
.md-duty-mini__name a { color: var(--md-ink); text-decoration: none; }
.md-phones ul { list-style: none; margin: 0; padding: 0; }
.md-phones li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--md-line); }
.md-phones .md-tel { font-weight: 800; white-space: nowrap; color: var(--md-primary); }
/* Karta bez zdjęcia (np. przewodnik): pełnoprawna karta z tłem, równa wysokością */
.md-news--karty.md-news--noimg { border-top: 0; padding: 18px; background: var(--md-primary-100); justify-content: flex-start; }
.md-news--karty.md-news--noimg::before { content: ""; display: block; height: 6px; background: var(--md-primary); margin: -18px -18px 12px; }

/* Karty instytucji 2.0 */
.md-sprawy { border: 2px solid var(--md-primary); padding: 16px 18px; margin: 20px 0; background: #fff; }
.md-sprawy h2 { margin: 0 0 10px; font-size: 22px; }
.md-sprawy__list { margin: 0 0 8px; padding: 0; list-style: none; display: grid; gap: 6px 24px; }
@media (min-width: 768px) { .md-sprawy__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.md-sprawy__list li { padding-left: 22px; position: relative; line-height: 1.4; }
.md-sprawy__list li::before { content: "›"; position: absolute; left: 4px; color: var(--md-primary-600); font-weight: 800; }
.md-sprawy__list span { color: var(--md-muted); }
.md-sprawy__area { display: flex; gap: 8px; align-items: flex-start; margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--md-line); }
.md-sprawy__area .md-icon { flex: none; margin-top: 3px; color: var(--md-primary-600); }
.md-sprawy__alias { margin: 6px 0 0; font-size: 15px; color: var(--md-muted); }

.md-sprawy__note { margin: 10px 0 0; padding: 10px 12px; background: var(--md-sand); }
.md-sprawy__note ul { margin: 4px 0 0; padding-left: 18px; }

/* Tabele ligowe */
.md-league { margin: 16px 0 24px; }
.md-league__title { font-weight: 800; font-size: 18px; margin-bottom: 6px; }
.md-league__wrap { overflow-x: auto; }
.md-league table { width: 100%; border-collapse: collapse; font-variant-numeric: lining-nums; }
.md-league th, .md-league td { padding: 8px 10px; border-bottom: 1px solid var(--md-line); text-align: left; white-space: nowrap; }
.md-league thead th { font-size: 14px; color: var(--md-muted); font-weight: 600; }
.md-league tbody th { font-weight: 600; white-space: normal; }
.md-league tr.is-ours { background: var(--md-primary-100); }
.md-league tr.is-ours th { font-weight: 800; color: var(--md-primary); }
.md-league__gap td { text-align: center; color: var(--md-muted); padding: 2px; }
.md-league__meta { font-size: 14px; color: var(--md-muted); margin: 6px 0 0; }

/* Sport: karty klubów i terminarz */
.md-clubs { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); margin: 12px 0 28px; }
.md-club { border: 1px solid var(--md-line); border-top: 5px solid var(--md-primary); padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; background: #fff; }
.md-club p { margin: 0; }
.md-club__name { margin: 0; font-size: 21px; line-height: 1.2; }
.md-club__name a { color: var(--md-ink); text-decoration: none; }
.md-club__name a:hover { color: var(--md-accent); text-decoration: underline; }
.md-club__league { color: var(--md-muted); font-size: 15px; }
.md-club__pos { font-size: 17px; }
.md-club__pos strong { font-size: 28px; color: var(--md-primary); }
.md-club__pos .md-muted { font-size: 14px; }
.md-club__next { display: flex; gap: 6px; align-items: flex-start; background: var(--md-sand); padding: 8px 10px; font-size: 15px; }
.md-club__next .md-icon { flex: none; margin-top: 3px; color: var(--md-primary-600); }
.md-club__desc { font-size: 15px; color: var(--md-muted); }
.md-club__more { margin-top: auto; font-weight: 700; padding-top: 4px; }
.md-matches { list-style: none; margin: 8px 0 24px; padding: 0; border-top: 1px solid var(--md-line); }
.md-match { display: flex; gap: 14px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--md-line); }
.md-match__date { flex: none; width: 74px; text-align: center; background: var(--md-primary); color: #fff; padding: 6px 4px; line-height: 1.15; display: flex; flex-direction: column; }
.md-match__date strong { font-size: 20px; }
.md-match__date span { font-size: 13px; opacity: .9; }
.md-match__body p { margin: 0; }
.md-match__teams { font-size: 17px; }
.md-match__vs { display: inline-block; min-width: 28px; text-align: center; color: var(--md-muted); font-weight: 700; }
.md-match__meta { font-size: 14px; color: var(--md-muted); }

/* =================== Design v0.9: kolory kategorii =================== */
:root { --md-cat: var(--md-primary); --md-cat-100: var(--md-primary-100); }
.md-cat-urzedy { --md-cat: #2C5A8C; --md-cat-100: #E6EEF7; }
.md-cat-zdrowie { --md-cat: #A33A55; --md-cat-100: #F7E6EB; }
.md-cat-praca { --md-cat: #7A5A1E; --md-cat-100: #F4ECDD; }
.md-cat-komunikacja { --md-cat: #4F4A9E; --md-cat-100: #ECEBF7; }
.md-cat-edukacja { --md-cat: #9A6A0A; --md-cat-100: #FBF0D9; }
.md-cat-parafie { --md-cat: #6B4C8A; --md-cat-100: #F0EAF6; }
.md-cat-czas-wolny, .md-cat-sport { --md-cat: #B4501A; --md-cat-100: #FBEADF; }
.md-cat-turystyka { --md-cat: #1D6F6F; --md-cat-100: #E1F1F0; }
.md-cat-firmy { --md-cat: #4E5A27; --md-cat-100: #EEF1E2; }
.md-cat-pogoda { --md-cat: #2A6AA0; --md-cat-100: #E4F0FA; }
.md-cat-alarm { --md-cat: var(--md-accent); --md-cat-100: var(--md-accent-100); }
.md-cat-news { --md-cat: var(--md-primary); --md-cat-100: var(--md-primary-100); }

/* Nagłówek strony w pasie kategorii */
.md-pagehead { background: var(--md-cat-100); border-top: 6px solid var(--md-cat); padding: 14px 20px 18px; margin: 0 0 24px; }
.md-pagehead .md-breadcrumbs, .md-pagehead nav { margin: 0 0 10px; }
.md-pagehead__row { display: flex; gap: 14px; align-items: center; }
.md-pagehead__icon { flex: none; width: 56px; height: 56px; border-radius: 50%; background: var(--md-cat); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.md-pagehead__cat { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--md-cat); }
.md-pagehead__title { margin: 2px 0 0; font-size: clamp(28px, 3.6vw, 44px); line-height: 1.1; }
.md-pagehead__sub { margin: 6px 0 0; color: var(--md-muted); }
@media (max-width: 599px) { .md-pagehead { padding: 12px 14px 14px; } .md-pagehead__icon { width: 44px; height: 44px; } .md-pagehead__icon .md-icon { width: 24px; height: 24px; } }

/* Kolor kategorii w elementach treści */
body[class*="md-cat-"] .md-main .md-eyebrow, body[class*="md-cat-"] .md-main .md-sprawy__list li::before { color: var(--md-cat); }
body[class*="md-cat-"] .md-main .wp-block-post-content h2, body[class*="md-cat-"] .md-main .md-section-title { border-bottom-color: var(--md-cat); }
body[class*="md-cat-"] .md-main .wp-block-post-content > h2 { padding-bottom: 6px; border-bottom: 3px solid var(--md-cat); }
body[class*="md-cat-"] .md-sprawy, body[class*="md-cat-"] .md-club { border-color: var(--md-line); border-top: 5px solid var(--md-cat); }
body[class*="md-cat-"] .md-match__date { background: var(--md-cat); }

/* Szerokie strony, tekst w czytelnej kolumnie (~780 px) */
.md-main .wp-block-post-content > :is(p, ul, ol, h2, h3, h4, .wp-block-details, blockquote) { max-width: 780px; }

/* Lżejsze karty miejsc */
.md-place { border: 1px solid var(--md-line); border-left: 4px solid var(--md-cat, var(--md-primary)); padding: 14px 16px; background: #fff; transition: box-shadow .2s; }
.md-place:hover { box-shadow: 0 4px 14px rgba(22, 32, 27, .08); }
.md-place .md-actions { gap: 8px; margin-top: 10px; }
.md-place__act { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 12px; border: 1px solid var(--md-border-ui); color: var(--md-ink); font-weight: 700; font-size: 15px; text-decoration: none; background: #fff; white-space: nowrap; }
.md-place__act:hover { border-color: var(--md-cat, var(--md-primary)); color: var(--md-cat, var(--md-primary)); }
.md-place__act--tel { background: var(--md-cat-100, var(--md-primary-100)); border-color: transparent; color: var(--md-cat, var(--md-primary)); }
.md-place__act .md-icon { flex: none; }

/* Kafle informatora: ikona w kolorze kategorii */
.md-tiles.md-tiles--icons a[class*="md-cat-"] .md-icon { color: var(--md-cat); }
.md-tiles.md-tiles--icons a[class*="md-cat-"] { border-bottom: 3px solid var(--md-cat); }
.md-tiles.md-tiles--icons a[class*="md-cat-"]:hover { background: var(--md-cat); }
.md-tiles.md-tiles--icons a[class*="md-cat-"]:hover .md-icon { color: #fff; }
.md-dzial[class*="md-cat-"] .md-dzial__title { border-bottom-color: var(--md-cat); }
.md-dzial[class*="md-cat-"] .md-dzial__title a::after { color: var(--md-cat); }
body[class*="md-cat-"] .md-chip input:checked + span { background: var(--md-cat); border-color: var(--md-cat); }
body[class*="md-cat-"] .md-switch input:checked { background: var(--md-cat); }
body[class*="md-cat-"] .md-duty-card { background: var(--md-cat); }
body[class*="md-cat-"] .md-tab.is-active { background: var(--md-cat); border-color: var(--md-cat); }
body[class*="md-cat-"] .md-box .md-btn:not(.md-btn--secondary) { background: var(--md-cat); border-color: var(--md-cat); }
body[class*="md-cat-"] .md-box .md-btn--secondary { border-color: var(--md-cat); color: var(--md-cat) !important; }
.md-weather__now { flex-wrap: wrap; }
.md-weather__now > div { min-width: 0; flex: 1 1 160px; }

/* =================== Design v0.9.1: gminy i listy wiadomości =================== */
.md-cat-gmina { --md-cat: #2E6B4A; --md-cat-100: #E3EFE7; }
.md-pagehead__text { min-width: 0; }
/* Listy wiadomości: węższy pas */
.md-pagehead--slim { padding: 10px 18px 14px; border-top-width: 5px; }
.md-pagehead--slim .md-pagehead__icon { width: 44px; height: 44px; }
.md-pagehead--slim .md-pagehead__icon .md-icon { width: 24px; height: 24px; }
.md-pagehead--slim .md-pagehead__title { font-size: clamp(26px, 3vw, 36px); }
.md-pagehead--slim .md-pagehead__sub { max-width: 780px; }
/* Gminy: pas ze zdjęciem */
.md-pagehead--photo { display: grid; gap: 0; padding: 0; }
.md-pagehead--photo .md-pagehead__text { padding: 14px 20px 20px; align-self: center; }
.md-pagehead__photo { margin: 0; position: relative; min-height: 200px; }
.md-pagehead__photo img { display: block; width: 100%; height: 100%; min-height: 200px; max-height: 340px; object-fit: cover; }
.md-pagehead__photo .md-photo-credit { position: absolute; right: 0; bottom: 0; margin: 0; padding: 3px 8px; font-size: 12px; color: #fff; background: rgba(0, 0, 0, .55); max-width: 100%; }
.md-pagehead--photo .md-pagehead__title { font-size: clamp(32px, 4vw, 52px); }
@media (min-width: 800px) {
	.md-pagehead--photo { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
	.md-pagehead--photo .md-pagehead__text { padding: 20px 28px 24px; }
	.md-pagehead__photo img { position: absolute; inset: 0; max-height: none; }
}
@media (max-width: 799px) { .md-pagehead--photo .md-pagehead__photo { order: -1; } }

/* Formularz zgłoszeń */
.md-form { max-width: 780px; display: grid; gap: 4px; margin: 8px 0 32px; }
.md-form__grid { display: grid; gap: 0 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.md-form__field { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; }
.md-form__field label { font-weight: 700; }
.md-form input[type=text], .md-form input[type=email], .md-form textarea { font: inherit; padding: 10px 12px; border: 1px solid var(--md-border-ui); background: #fff; width: 100%; box-sizing: border-box; }
.md-form input:focus, .md-form textarea:focus { border-color: var(--md-cat, var(--md-primary)); }
.md-form__consent { font-size: 15px; } .md-form__consent label { display: flex; gap: 8px; align-items: flex-start; }
.md-form__consent input { margin-top: 5px; }
.md-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.md-form__error { background: var(--md-accent-100); border-left: 4px solid var(--md-accent); padding: 10px 14px; margin: 0 0 12px; }
.md-form--ok { background: var(--md-primary-100); border-left: 4px solid var(--md-primary-600); padding: 14px 18px; }
.md-form--ok p { margin: 0 0 6px; }

/* Wiadomości na karcie miejsca */
.md-related-news { margin: 40px 0 8px; }
.md-related-news .md-section-title { margin-bottom: 2px; }
.md-related-news__sub { margin: 0 0 14px; color: var(--md-muted); font-size: 15px; }
.md-rel-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.md-rel { margin: 0; }
.md-rel__link { display: flex; gap: 14px; height: 100%; box-sizing: border-box; padding: 12px; background: #fff; border: 1px solid var(--md-line); border-left: 4px solid var(--md-cat, var(--md-primary)); color: var(--md-ink); text-decoration: none; transition: box-shadow .2s; }
.md-rel__link:hover { box-shadow: 0 4px 14px rgba(22, 32, 27, .08); }
.md-rel__link:hover .md-rel__title { color: var(--md-cat, var(--md-primary)); text-decoration: underline; }
.md-rel__img { flex: none; width: 112px; }
.md-rel__img img { display: block; width: 112px; height: 84px; object-fit: cover; }
.md-rel__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.md-rel__cat { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--md-cat, var(--md-primary)); }
.md-rel__title { font-weight: 700; font-size: 17px; line-height: 1.3; }
.md-rel__ex { font-size: 14px; color: var(--md-muted); line-height: 1.45; }
.md-rel__date { font-size: 13px; color: var(--md-muted); margin-top: auto; }
.md-related-news__more { margin: 14px 0 0; font-weight: 700; }
@media (max-width: 420px) { .md-rel__img, .md-rel__img img { width: 88px; height: 66px; } }
