/* Do Celu — pages.css: podstrony, wpisy, archiwa (reguły specyficzne, globalne są w global.css) */

/* archiwum / lista aktualności (Astra blog) */
.blog .ast-article-post, .archive .ast-article-post { border-bottom: 1px solid var(--dc-line); padding-bottom: 28px; margin-bottom: 28px; }
.blog .ast-article-post .entry-title, .archive .ast-article-post .entry-title { font-size: 30px; }
.blog .ast-article-post .post-thumb img, .archive .ast-article-post .post-thumb img { aspect-ratio: 16/9; object-fit: cover; object-position: 50% 20%; width: 100%; }
.ast-archive-entry-banner { padding-bottom: 8px !important; }
.ast-archive-entry-banner h1::after { content: ''; display: block; width: 72px; height: 8px; background: var(--dc-sun); margin-top: 16px; }

/* wpis: logotypy ministerstwa jako cichy wiersz */
.single-post .entry-content > p:first-child img.size-full { vertical-align: middle; }
.single-post .entry-content p { margin-bottom: 1.1em; }
.single-post .ast-single-entry-banner .entry-title { max-width: 1000px; }

/* strony Elementora: oddech pod banerem */
.page .ast-single-entry-banner + .site-content, .page .ast-single-entry-banner ~ #content { padding-top: 0; }

/* formularz wyszukiwania w archiwum */
.widget_search, .wp-block-search { margin-bottom: 28px; }
.wp-block-search__input { border: 2px solid var(--dc-ink) !important; border-radius: var(--dc-r) !important; }

/* tabele (harmonogramy, rozstrzygnięcia) */
.entry-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.entry-content th { background: var(--dc-ink); color: #fff; font-family: var(--dc-display); font-weight: 700; font-size: 17px; letter-spacing: .03em; text-align: left; padding: 10px 12px; }
.entry-content td { padding: 10px 12px; border-bottom: 1px solid var(--dc-line); vertical-align: top; }
.entry-content tr:hover td { background: var(--dc-soft); }

/* ---- O stowarzyszeniu v3: ludzie, placówki, wiersze bez numerów ---- */
.dc-people { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.dc-person { display: grid; grid-template-columns: 48px 1fr; grid-template-areas: 'ini name' 'ini role'; column-gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--dc-line); border-radius: var(--dc-r); background: #fff; }
.dc-person__ini { grid-area: ini; width: 48px; height: 48px; border-radius: 50%; background: var(--dc-soft); color: var(--dc-accent); font-family: var(--dc-display); font-weight: 800; font-size: 20px; display: grid; place-items: center; }
.dc-person__name { grid-area: name; font-weight: 600; color: var(--dc-ink); font-size: 16px; line-height: 1.2; }
.dc-person__role { grid-area: role; font-size: 13px; color: #5a6b60; }
.dc-people--sm { grid-template-columns: 1fr; }
.dc-people__contact { margin: 18px 0 0; font-size: 15px; } .dc-people__contact a { color: var(--dc-accent); font-weight: 600; text-decoration: none; }
.dc-places { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 8px; }
.dc-place { display: flex; flex-direction: column; text-decoration: none !important; color: var(--dc-ink); }
.dc-place__img { display: block; aspect-ratio: 4/3; border-radius: 18px; overflow: hidden; margin-bottom: 12px; }
.dc-place__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; transition: transform 1s var(--dc-ease); }
.dc-place:hover .dc-place__img img { transform: scale(1.04); }
.dc-place__t { font-family: var(--dc-display); font-weight: 800; font-size: 24px; line-height: 1.05; transition: color .3s; }
.dc-place:hover .dc-place__t { color: var(--dc-accent); }
.dc-place__d { font-size: 14px; color: #5a6b60; margin-top: 4px; }
@media (max-width: 900px) { .dc-places { grid-template-columns: repeat(2, 1fr); } }
.dc-rows--plain { border-top: 0; }
.dc-rows--plain a.dc-row { grid-template-columns: 1fr auto; align-items: center; border-radius: var(--dc-r-sm); }
.dc-rows--plain .dc-row-t { display: block; font-size: clamp(22px, 2.2vw, 30px); }
.dc-rows--plain .dc-row-d { display: block; }
.dc-rows--plain .dc-row-a { font-family: var(--dc-display); font-weight: 800; font-size: 28px; color: var(--dc-accent); transition: transform .3s var(--dc-ease); }
.dc-rows--plain a.dc-row:hover .dc-row-a { transform: translateX(6px); }
.dc-docs-note { font-size: 14px; color: #5a6b60; margin: 0 0 12px; }

/* ---- PFRON v3: projekty, zapytania ofertowe ---- */
.dc-pfron-logo img { max-width: 260px; }
.dc-projs { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 8px; }
.dc-proj { display: flex; flex-direction: column; border: 1px solid var(--dc-line); border-radius: var(--dc-r-lg); overflow: hidden; background: #fff; }
.dc-proj__img { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; }
.dc-proj__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; transition: transform 1s var(--dc-ease); }
.dc-proj:hover .dc-proj__img img { transform: scale(1.03); }
.dc-proj__years { position: absolute; left: 16px; top: 16px; background: var(--dc-sun); color: var(--dc-sun-ink); font-weight: 700; font-size: 14px; padding: 6px 12px; border-radius: var(--dc-r-pill); }
.dc-proj__body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.dc-proj__who { font-size: 13px; font-weight: 600; color: var(--dc-accent); }
.dc-proj h3 { margin: 0; font-size: 28px; line-height: 1.05; } .dc-proj h3 a { color: var(--dc-ink); text-decoration: none; } .dc-proj h3 a:hover { color: var(--dc-accent); }
.dc-proj p { margin: 0; font-size: 15px; line-height: 1.55; color: #424242; }
.dc-proj__links { margin-top: auto !important; padding-top: 10px; display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 800px) { .dc-projs { grid-template-columns: 1fr; } }
.dc-tenders { list-style: none; margin: 8px 0 0; padding: 0; }
.dc-tenders li { border-bottom: 1px solid var(--dc-line); }
.dc-tenders a { display: grid; grid-template-columns: 96px 1fr auto; gap: 16px; align-items: center; padding: 14px 10px; text-decoration: none !important; color: var(--dc-ink); border-radius: var(--dc-r-sm); transition: background var(--dc-t) var(--dc-ease); }
.dc-tenders a:hover { background: var(--dc-soft); }
.dc-tenders__date { font-size: 14px; color: #5a6b60; font-variant-numeric: tabular-nums; }
.dc-tenders__t { font-weight: 600; font-size: 16px; line-height: 1.3; }
.dc-tenders__tag { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: var(--dc-r-pill); background: var(--dc-sun); color: var(--dc-sun-ink); white-space: nowrap; }
.dc-tenders__tag.is-done { background: var(--dc-soft); color: var(--dc-accent); }
@media (max-width: 600px) { .dc-tenders a { grid-template-columns: 1fr; gap: 4px; } }

/* ---- Kontakt v3 ---- */
.dc-contact { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.dc-contact__block { padding: 18px 20px; border: 1px solid var(--dc-line); border-radius: var(--dc-r); background: #fff; }
.dc-contact__block--soft { background: var(--dc-soft); border-color: transparent; }
.dc-contact__block h3 { margin: 0 0 8px; font-size: 22px; }
.dc-contact__block p { margin: 0 0 8px; font-size: 15px; line-height: 1.55; } .dc-contact__block p:last-child { margin-bottom: 0; }
.dc-contact__block a { color: var(--dc-accent); font-weight: 600; text-decoration: none; }
.dc-contact__big { font-family: var(--dc-display); font-weight: 800; font-size: 30px !important; line-height: 1.1; color: var(--dc-ink) !important; }
.dc-contact .dc-copy__btn { margin-left: 6px; vertical-align: middle; }
.dc-form-wrap h3 { margin: 0 0 4px; font-size: 26px; } .dc-form-wrap__note { margin: 0 0 16px; font-size: 14px; color: #5a6b60; }
.dc-form .elementor-field-group { margin-bottom: 14px; }
.dc-form .elementor-field-label { font-size: 14px; font-weight: 600; color: var(--dc-ink); margin-bottom: 4px; }
.dc-form .elementor-field-textual { border: 1px solid var(--dc-line) !important; border-radius: var(--dc-btn-radius) !important; padding: 12px 14px !important; font-size: 15px; background: #fff; }
.dc-form .elementor-field-textual:focus { border-color: var(--dc-accent) !important; box-shadow: 0 0 0 3px rgba(0,127,53,.15); outline: 0; }
.dc-form .elementor-field-subgroup label { font-size: 14px; line-height: 1.4; }
.dc-form .elementor-button { font-weight: 600 !important; font-size: 16px !important; }
.dc-addr { list-style: none; margin: 8px 0 0; padding: 0; }
.dc-addr li { border-bottom: 1px solid var(--dc-line); }
.dc-addr a { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 10px; text-decoration: none !important; color: var(--dc-ink); border-radius: var(--dc-r-sm); transition: background var(--dc-t) var(--dc-ease); }
.dc-addr a:hover { background: rgba(255,255,255,.7); }
.dc-addr__t { font-family: var(--dc-display); font-weight: 800; font-size: 22px; }
.dc-addr__d { font-size: 14px; color: #5a6b60; text-align: right; }
.dc-map iframe { border-radius: var(--dc-r-lg); width: 100%; }
.dc-addr-wide .dc-addr { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; } @media (max-width: 700px) { .dc-addr-wide .dc-addr { grid-template-columns: 1fr; } }

/* wpis bez zdjęcia wyróżniającego: ciemnozielony, niższy baner z płynnym tłem (białe litery czytelne) */
.dc-no-thumb .ast-single-entry-banner { background: var(--dc-ink) !important; min-height: 0 !important; padding: 72px 20px 56px !important; }
.dc-no-thumb .ast-single-entry-banner.dc-liquid { background: linear-gradient(120deg, var(--liquid-1) 0%, var(--liquid-2) 34%, var(--liquid-3) 56%, var(--liquid-4) 130%) !important; background-size: 240% 240% !important; }
.dc-no-thumb .ast-single-entry-banner .ast-container { position: relative; z-index: 3; }
@media (max-width: 600px) { .dc-no-thumb .ast-single-entry-banner { padding: 44px 16px 36px !important; } }

/* ---- Strony placówek v3 (21.10.2026) ---- */
.dc-facts { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.dc-facts li { padding: 14px 16px; border-radius: var(--dc-r); background: var(--dc-soft); }
.dc-facts strong { display: block; font-family: var(--dc-display); font-weight: 800; font-size: 30px; line-height: 1; color: var(--dc-accent); }
.dc-facts span { display: block; margin-top: 4px; font-size: 14px; color: #3d4f43; }
.dc-chiplist { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.dc-chiplist li { margin: 0; padding: 10px 16px; border-radius: var(--dc-r-pill); background: #fff; border: 1px solid var(--dc-line); font-weight: 600; font-size: 15px; color: var(--dc-ink); }
.dc-rows--static .dc-row { display: grid; grid-template-columns: 1fr; padding: 18px 0; border-bottom: 1px solid var(--dc-line); }
.dc-rows--static .dc-row:last-child { border-bottom: 0; }
.dc-rows--static .dc-row-t { display: block; font-size: clamp(20px, 2vw, 26px); }
.dc-rows--static .dc-row-d { display: block; margin-top: 4px; }
.dc-place-quote { margin: 28px 0 0; padding: 20px 24px; border-radius: var(--dc-r); background: var(--dc-ink); color: #fff; font-family: var(--dc-display); font-weight: 700; font-size: 24px; line-height: 1.2; border-left: 6px solid var(--dc-sun); }
.dc-place-btns { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 0; }
.dc-place-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: 50% 30%; }
.dc-places--3 .dc-places { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 760px) { .dc-facts { grid-template-columns: repeat(3, 1fr); gap: 8px; } .dc-facts li { padding: 10px; } .dc-facts strong { font-size: 22px; } .dc-facts span { font-size: 12px; } .dc-places--3 .dc-places { grid-template-columns: 1fr 1fr; } }
.dc-places--4 .dc-places { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .dc-places--4 .dc-places { grid-template-columns: 1fr 1fr; } }
.dc-places--5 .dc-places { grid-template-columns: repeat(5, 1fr); gap: 16px; }
@media (max-width: 1100px) { .dc-places--5 .dc-places { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .dc-places--5 .dc-places { grid-template-columns: 1fr 1fr; } }
