/*
Theme Name: Portal lokalny (rodzic)
Description: Wspólny motyw blokowy sieci portali lokalnych: szablony, komponenty, tokeny. Tożsamość serwisu (logo, kolory, menu, strona główna, konfiguracja regionu portal/portal.json) – w motywie potomnym. Wymaga wtyczki md-core.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Author: Publinkacja
License: GNU General Public License v2 or later
Text Domain: lokalny
*/

/* ---------- Ramy: nagłówek ---------- */
.md-site-header { position: sticky; top: 0; z-index: 50; }
.md-site-header__bar { background: var(--wp--preset--color--primary); color: #fff; }
.md-site-header__bar a { color: #fff; }
.md-brand { display: inline-flex; align-items: center; gap: 10px; min-height: 60px; text-decoration: none !important; }
.md-brand img { display: block; height: 34px; width: auto; }
@media (min-width: 1200px) { .md-brand img { height: 44px; } }
.md-brand__claim { display: none; font-size: 15px; opacity: .85; }
.md-header-cta .wp-block-button__link { background: #fff !important; color: var(--wp--preset--color--primary) !important; min-height: 44px; display: inline-flex; align-items: center; }
.md-site-header .wp-block-search__button { min-width: 44px; min-height: 44px; background: rgba(255,255,255,.12); color: #fff; border: 0; }
.md-site-header .wp-block-search__button svg { fill: currentColor; }
.md-nav { background: #fff; border-bottom: 1px solid var(--wp--preset--color--line); }
.md-nav .wp-block-navigation { font-size: 16px; font-weight: 700; }
.md-nav .wp-block-navigation-item__content { min-height: 50px; display: inline-flex; align-items: center; color: var(--wp--preset--color--ink); }
.md-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content { box-shadow: inset 0 -3px 0 var(--wp--preset--color--primary); }
.md-nav .md-nav-alarm > .wp-block-navigation-item__content { color: var(--wp--preset--color--accent); }
.md-nav .wp-block-navigation__submenu-container { background: var(--wp--preset--color--sand) !important; box-shadow: var(--wp--preset--shadow--2); min-width: 260px !important; }
.md-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 44px; font-weight: 600; }
.md-nav .wp-block-navigation__responsive-container-open, .md-nav .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
@media (max-width: 767px) { .md-site-header .md-header-cta, .md-site-header .wp-block-search { display: none !important; } }

/* ---------- Treść ---------- */
.md-main { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--80); }
.md-lead, .wp-block-post-excerpt.md-lead { font-size: var(--wp--preset--font-size--lg); font-weight: 500; line-height: 1.5; }
.md-meta { font-size: 15px; color: var(--wp--preset--color--ink-muted); }
.md-meta a { color: inherit; }
.md-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 3px solid var(--wp--preset--color--primary); padding-bottom: 6px; margin-top: var(--wp--preset--spacing--70) !important; }
.md-section-title--alarm { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); }
.md-section-title a { font-size: 15px; font-weight: 700; }

/* Karty newsów (Query Loop) */
.md-news-list .wp-block-post { border-bottom: 1px solid var(--wp--preset--color--line); padding-bottom: 16px; }
.md-news-list .wp-block-post-title { font-size: 21px; font-weight: 800; line-height: 1.2; margin: 6px 0; }
.md-news-list .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.md-news-list .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }
.md-news-lead .wp-block-post-title { font-size: clamp(26px, 3.2vw, 38px); }
/* Listy newsów: zdjęcie po lewej (stała kolumna), tekst po prawej; bez zdjęcia tekst zajmuje całą szerokość. */
.md-news-compact .wp-block-post-template { display: flex; flex-direction: column; gap: 0; }
.md-news-compact .wp-block-post { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 20px; row-gap: 4px; align-content: start; padding-block: 16px; }
.md-news-compact .wp-block-post:has(.wp-block-post-featured-image) { grid-template-columns: 120px minmax(0, 1fr); }
@media (min-width: 768px) { .md-news-compact .wp-block-post:has(.wp-block-post-featured-image) { grid-template-columns: 240px minmax(0, 1fr); } }
.md-news-compact .wp-block-post > * { grid-column: -2 / -1; margin: 0; }
.md-news-compact .wp-block-post-featured-image { grid-column: 1 / 2 !important; grid-row: 1 / span 4; width: 100% !important; height: auto !important; }
.md-news-compact .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.md-excerpt { color: var(--wp--preset--color--ink-muted); font-size: 16px; }
.md-excerpt .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 767px) { .md-excerpt { display: none; } }
.md-alarm-list .wp-block-post { border-left: 4px solid var(--wp--preset--color--accent); padding-left: 12px; }
.md-alarm-list .wp-block-post-date { color: var(--wp--preset--color--accent); font-weight: 700; }
.wp-block-post-terms.taxonomy-format a { display: inline-block; padding: 2px 8px; background: var(--wp--preset--color--primary); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.wp-block-post-terms.taxonomy-lokalizacja a { color: var(--wp--preset--color--primary-600); font-size: 15px; font-weight: 600; }

/* Kafle informatora */
.md-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 1200px) { .md-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.md-tiles a { display: flex; flex-direction: column; justify-content: center; min-height: 88px; padding: 14px; background: var(--wp--preset--color--primary-100); color: var(--wp--preset--color--primary); font-weight: 800; font-size: 18px; text-decoration: none; }
.md-tiles a small { font-weight: 500; font-size: 15px; color: var(--wp--preset--color--ink-muted); }
.md-tiles a:hover { background: var(--wp--preset--color--primary); color: #fff; }
.md-tiles a:hover small { color: #fff; }
.md-tiles--sand a { background: var(--wp--preset--color--sand); }

/* CTA „Zgłoś temat” */
.md-cta { background: var(--wp--preset--color--sand); padding: var(--wp--preset--spacing--50); }
.md-cta .wp-block-button__link { background: var(--wp--preset--color--accent); }

/* Stopka */
.md-site-footer { background: var(--wp--preset--color--ink); color: #C9D1CC; }
.md-site-footer a { color: #fff; display: inline-flex; min-height: 32px; align-items: center; text-decoration: none; }
.md-site-footer a:hover { text-decoration: underline; }
.md-site-footer h2 { color: #fff; font-size: 17px; font-weight: 700; letter-spacing: 0; }
.md-site-footer ul { list-style: none; padding: 0; margin: 0; }
.md-site-footer .wp-block-button__link { background: var(--wp--preset--color--accent); }
.md-footer-bottom { border-top: 1px solid rgba(255,255,255,.15); font-size: 15px; }

/* Reklama – zarezerwowana wysokość (CLS) */
.md-ad { display: flex; flex-direction: column; align-items: center; justify-content: center; background: #F3F3F1; margin-block: var(--wp--preset--spacing--50); min-height: 270px; }
.md-ad::before { content: "Reklama"; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #3A433E; align-self: flex-start; padding: 4px 8px; }
@media (min-width: 1200px) { .md-ad--billboard { min-height: 270px; } }

/* Nagłówek mobilny wg makiety: menu w zielonym pasku, bez osobnego białego paska */
/* Hamburger tylko na telefonie. Selektor musi przebić core'owe .wp-block-navigation.is-layout-flex { display:flex } */
.md-site-header .wp-block-navigation.md-nav-mobile { display: none !important; }
/* Wygląd otwartego menu – poza media query, żeby nigdy nie pokazało się „gołe” (np. po obróceniu tabletu) */
.md-nav-mobile .wp-block-navigation__responsive-container-open { color: #fff; min-width: 44px; min-height: 44px; justify-content: center; }
.md-nav-mobile .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--sand) !important; color: var(--wp--preset--color--ink) !important; padding: 16px 20px; }
.md-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; gap: 0; }
.md-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { min-height: 48px; padding: 0; display: flex; align-items: center; font-size: 19px; font-weight: 700; color: var(--wp--preset--color--ink); }
.md-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .md-nav-alarm > .wp-block-navigation-item__content { color: var(--wp--preset--color--accent); }
.md-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child { width: 100%; border-top: 1px solid var(--wp--preset--color--line); padding-top: 4px; margin-top: 4px; }
.md-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 8px 14px !important; gap: 0; }
.md-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 17px; font-weight: 600; min-height: 44px; padding: 0 !important; }
.md-nav-mobile .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; color: var(--wp--preset--color--ink); }
@media (max-width: 767px) {
	.md-nav { display: none; }
	.md-site-header .wp-block-navigation.md-nav-mobile { display: flex !important; }
	.md-site-header .wp-block-search { display: none !important; }
}
.md-sidebar .md-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.md-sidebar .md-tiles a { min-height: 64px; font-size: 16px; }
