/* Oferty z Resales: archiwum (projekt C), karta (projekt A), sekcja najnowszych na stronie głównej. Kolory i czcionki z styl.css (--cs-*). */
.cof-arch, .cof-karta, .cof-siatka { --cof-zloto: #8a8160; --cof-linia: #e5e5e5; font-family: var(--cs-jost, "Jost", sans-serif); color: #222; }
.cof-etykieta { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cof-zloto); }
.cof-ref { font-size: 12px; color: #666; }
.cof-przycisk { display: inline-block; padding: 13px 20px; border: 1px solid #000; background: #000; color: #fff !important; font: 400 13px/1.5 var(--cs-jost, "Jost", sans-serif); letter-spacing: 4px; text-transform: uppercase; text-align: center; text-decoration: none; cursor: pointer; transition: background .3s, color .3s; }
.cof-przycisk:hover { background: #fff; color: #000 !important; }
.cof-przycisk--jasny { background: transparent; color: #000 !important; }
.cof-przycisk--jasny:hover { background: #000; color: #fff !important; }
.cof-link { color: var(--cof-zloto); font-weight: 500; }

/* ---------- archiwum ---------- */
.cof-arch { display: flex; gap: 30px; align-items: flex-start; flex-wrap: wrap; max-width: 1380px; margin: 0 auto; padding: 10px 20px 80px; text-align: left; font-size: 15px; line-height: 1.55; }
.cof-filtry { flex: 1 1 260px; max-width: 300px; background: #fff; border: 1px solid var(--cof-linia); padding: 24px; position: sticky; top: 110px; }
.cof-filtry__glowa { font-weight: 600; font-size: 17px; margin-bottom: 14px; }
.cof-filtry fieldset { border: 0; padding: 0; margin: 0 0 20px; }
.cof-filtry legend { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cof-zloto); margin-bottom: 8px; padding: 0; }
.cof-filtry label { display: flex; gap: 8px; align-items: center; margin: 5px 0; cursor: pointer; }
.cof-filtry__para { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cof-filtry__para label { display: block; font-size: 12px; color: #666; margin: 0; }
.cof-filtry__para input { display: block; width: 100%; box-sizing: border-box; padding: 9px; border: 1px solid #d5d5d5; font: inherit; margin-top: 2px; }
.cof-filtry__syp { display: flex; gap: 6px; }
.cof-filtry__syp label { flex: 1; margin: 0; }
.cof-filtry__syp input { position: absolute; opacity: 0; pointer-events: none; }
.cof-filtry__syp span { display: block; width: 100%; padding: 8px 0; text-align: center; border: 1px solid #d5d5d5; font-size: 14px; }
.cof-filtry__syp input:checked + span { background: #000; border-color: #000; color: #fff; }
.cof-filtry__syp input:focus-visible + span { outline: 2px solid var(--cof-zloto); outline-offset: 2px; }
.cof-filtry .cof-przycisk { width: 100%; }
.cof-wyczysc { display: block; margin-top: 12px; text-align: center; font-size: 14px; color: #555; }
.cof-wyniki { flex: 999 1 600px; min-width: 0; }
.cof-wyniki__glowa { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.cof-wyniki__ile { margin: 0; font-size: 16px; color: #555; }
.cof-sort select { margin-left: 6px; padding: 7px; border: 1px solid #d5d5d5; font: inherit; background: #fff; }
.cof-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.cof-poz { display: flex; flex-wrap: wrap; background: #fff; border: 1px solid var(--cof-linia); transition: box-shadow .3s; }
.cof-poz:hover { box-shadow: 0 6px 24px rgba(0, 0, 0, .08); }
.cof-poz__foto { flex: 1 1 300px; max-width: 360px; display: block; }
.cof-poz__foto img { width: 100%; height: 100%; min-height: 230px; object-fit: cover; display: block; }
.cof-poz__tresc { flex: 999 1 320px; padding: 22px 26px; display: flex; flex-direction: column; gap: 8px; }
.cof-poz__gora { display: flex; justify-content: space-between; gap: 12px; }
.cof-poz__tytul { margin: 0; font: 400 22px/1.3 var(--cs-tenor, "Tenor Sans", serif); }
.cof-poz__tytul a { color: #222; text-decoration: none; }
.cof-poz__tytul a:hover { color: var(--cof-zloto); }
.cof-poz__fakty { margin: 0; color: #444; }
.cof-poz__dol { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-top: auto; }
.cof-poz__cena { font-size: 24px; font-weight: 400; }
.cof-poz__m2 { color: #666; font-size: 14px; }
.cof-brak { background: #fff; border: 1px solid var(--cof-linia); padding: 30px; margin: 0; }
.cof-strony { display: flex; justify-content: center; gap: 8px; padding-top: 30px; }
.cof-strony a { padding: 8px 14px; border: 1px solid #d5d5d5; background: #fff; color: #222; text-decoration: none; }
.cof-strony a[aria-current] { background: #000; border-color: #000; color: #fff; }

/* ---------- siatka (strona główna, podobne oferty) ---------- */
.cof-siatka { list-style: none; margin: 0 auto; padding: 0 15px; max-width: 1170px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 30px; text-align: left; }
.cof-pion a { display: block; color: #222; text-decoration: none; }
.cof-pion img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; transition: opacity .3s; }
.cof-pion a:hover img { opacity: .88; }
.cof-pion__glowka { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; font-family: var(--cs-tenor, "Tenor Sans", serif); font-size: 20px; line-height: 1.25; }
.cof-pion__cena { white-space: nowrap; }
.cof-pion__lok { display: block; font-family: var(--cs-tenor, "Tenor Sans", serif); font-size: 18px; margin-top: 6px; }
.cof-pion__fakty { display: block; color: #6b6b6b; font-size: 15px; margin-top: 4px; }
.cof-wiecej { justify-content: center; margin-top: 50px !important; }

/* ---------- karta ---------- */
.cof-karta { max-width: 1180px; margin: 0 auto; padding: 50px 20px 90px; font-size: 16px; line-height: 1.7; }
.cof-okruszki { margin: 0 0 18px; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: var(--cof-zloto); }
.cof-okruszki a { color: var(--cof-zloto); text-decoration: none; }
.cof-okruszki a:hover { color: #000; }
.cof-karta__tytul-cena { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; }
.cof-karta__tytul { margin: 0; font: 400 34px/1.25 var(--cs-tenor, "Tenor Sans", serif); letter-spacing: 3px; text-transform: uppercase; color: #000; }
.cof-karta__pod { margin: 10px 0 0; color: #5a5a5a; font-size: 17px; }
.cof-karta__cena { text-align: right; }
.cof-karta__kwota { font: 400 34px/1.2 var(--cs-tenor, "Tenor Sans", serif); color: #000; }
.cof-karta__m2 { color: #6b6b6b; font-size: 14px; }
.cof-galeria { margin-top: 34px; }
.cof-galeria button { all: unset; display: block; position: relative; cursor: zoom-in; }
.cof-galeria button:focus-visible { outline: 2px solid var(--cof-zloto); outline-offset: 2px; }
.cof-galeria__glowne img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; display: block; }
.cof-galeria__miniatury { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.cof-galeria__miniatury img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.cof-galeria__wiecej { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); color: #fff; display: flex; align-items: center; justify-content: center; letter-spacing: 3px; font-size: 13px; text-transform: uppercase; }
.cof-pokaz { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(0, 0, 0, .94); color: #fff; }
.cof-pokaz[open] { display: flex; align-items: center; justify-content: center; }
.cof-pokaz img { max-width: calc(100vw - 160px); max-height: calc(100vh - 100px); object-fit: contain; }
.cof-pokaz button { all: unset; cursor: pointer; position: absolute; color: #fff; font-size: 44px; line-height: 1; padding: 10px 16px; }
.cof-pokaz button:focus-visible { outline: 2px solid #c9be92; }
.cof-pokaz .cof-pokaz__zamknij { top: 16px; right: 20px; }
.cof-pokaz .cof-pokaz__strzalka--l { left: 16px; top: 50%; transform: translateY(-50%); }
.cof-pokaz .cof-pokaz__strzalka--p { right: 16px; top: 50%; transform: translateY(-50%); }
.cof-pokaz__licznik { position: absolute; bottom: 16px; left: 0; right: 0; text-align: center; margin: 0; font-size: 14px; letter-spacing: 2px; }
.cof-karta__uklad { display: flex; gap: 50px; align-items: flex-start; flex-wrap: wrap; padding-top: 50px; }
.cof-karta__glowna { flex: 999 1 600px; min-width: 0; }
.cof-liczby { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border: 1px solid #e6e6e6; }
.cof-liczby > div { padding: 22px 10px; text-align: center; border-right: 1px solid #eee; }
.cof-liczby > div:last-child { border-right: 0; }
.cof-liczby strong { display: block; font: 400 28px/1.2 var(--cs-tenor, "Tenor Sans", serif); }
.cof-liczby span { font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: var(--cof-zloto); }
.cof-romb { width: 22px; height: 22px; background: #a89d74; transform: rotate(45deg); margin: 50px 0 26px; }
.cof-romb--srodek { margin-left: auto; margin-right: auto; }
.cof-h2 { margin: 0 0 22px; font: 400 26px/1.2 var(--cs-tenor, "Tenor Sans", serif); letter-spacing: 4px; text-transform: uppercase; color: #000; }
.cof-srodek { text-align: center; }
.cof-opis p { margin: 0 0 16px; color: #393939; }
.cof-uwaga { margin: 4px 0 0; font-size: 14px; color: #6b6b6b; }
.cof-uwaga summary { cursor: pointer; color: var(--cof-zloto); }
.cof-uwaga .cof-opis { margin-top: 14px; }
.cof-cechy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 40px; margin: 0; }
.cof-cechy dt { font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: var(--cof-zloto); margin-bottom: 4px; }
.cof-cechy dd { margin: 0; color: #393939; }
.cof-koszty { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border: 1px solid #e6e6e6; }
.cof-koszty > div { padding: 20px; border-right: 1px solid #eee; display: flex; flex-direction: column; gap: 4px; }
.cof-koszty > div:last-child { border-right: 0; }
.cof-koszty span { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cof-zloto); }
.cof-koszty strong { font-size: 20px; font-weight: 400; }
.cof-koszty__energia { flex-direction: row !important; align-items: center; gap: 12px !important; }
.cof-energia { width: 40px; height: 40px; flex: 0 0 40px; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #000; background: #ccc; }
.cof-energia--a { background: #00a651; color: #fff; } .cof-energia--b { background: #50b848; } .cof-energia--c { background: #bfd730; }
.cof-energia--d { background: #fff200; } .cof-energia--e { background: #fdb913; } .cof-energia--f { background: #f37021; } .cof-energia--g { background: #ed1c24; color: #fff; }
.cof-mapa { background: #fff; border: 1px solid #e6e6e6; padding: 26px 30px; }
.cof-mapa p { margin: 0 0 8px; }
.cof-kontakt { flex: 1 1 320px; min-width: 290px; background: #fff; border: 1px solid #ddd; padding: 30px; position: sticky; top: 110px; }
.cof-kontakt__osoba { display: flex; gap: 14px; align-items: center; margin: 16px 0 20px; }
.cof-kontakt__osoba span { display: block; font-size: 14px; color: #6b6b6b; }
.cof-kontakt__inicjaly { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50%; background: #1b1b1b; color: #a89d74 !important; display: flex !important; align-items: center; justify-content: center; font: 18px var(--cs-tenor, "Tenor Sans", serif) !important; }
.cof-formularz { display: flex; flex-direction: column; gap: 12px; }
.cof-formularz label { font-size: 13px; color: #555; }
.cof-formularz input:not([type="checkbox"]), .cof-formularz textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 12px; border: 1px solid #ccc; font: 15px var(--cs-jost, "Jost", sans-serif); }
.cof-zgoda { display: flex; gap: 8px; align-items: flex-start; }
.cof-zgoda input { margin-top: 4px; }
.cof-ukryte-pole { position: absolute !important; left: -9999px; }
.cof-komunikat { margin: 0 0 14px; padding: 12px 14px; background: #edf6ee; color: #1f6b2d; font-size: 14px; }
.cof-komunikat--blad { background: #fbeceb; color: #9b1c1c; }
.cof-podobne { padding-top: 70px; }
.cof-siatka--3 { padding: 0; }

/* ---------- tablet / telefon ---------- */
@media (max-width: 1024px) {
	.cof-siatka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cof-filtry, .cof-kontakt { position: static; }
	.cof-filtry { max-width: none; }
}
@media (max-width: 767px) {
	.cof-siatka { grid-template-columns: 1fr; }
	.cof-poz__foto { max-width: none; }
	.cof-karta__tytul { font-size: 26px; }
	.cof-karta__cena { text-align: left; }
	.cof-galeria__glowne img { aspect-ratio: 4 / 3; }
	.cof-galeria__miniatury { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cof-galeria__miniatury button:nth-child(n+4) { display: none; }
	.cof-liczby, .cof-koszty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cof-liczby > div:nth-child(2), .cof-koszty > div:nth-child(2) { border-right: 0; }
	.cof-liczby > div:nth-child(-n+2), .cof-koszty > div:nth-child(-n+2) { border-bottom: 1px solid #eee; }
	.cof-cechy { grid-template-columns: 1fr; }
	.cof-pokaz img { max-width: 100vw; }
}

/* nagłówek strony archiwum (blok cs-intro z mniejszymi odstępami) */
.cs-tresc .cs-intro.cof-intro { padding: 60px 20px 40px; background: transparent; }
.cs-tresc .cs-intro.cof-intro h1 { margin-bottom: 20px; }
/* sekcja najnowszych ofert na stronie głównej */
.cs-tresc .cof-sekcja { padding: 30px 0 90px; margin: 0; text-align: center; }
.cs-tresc .cof-sekcja > :not(.cof-siatka):not(.wp-block-buttons) { max-width: 1120px; margin-left: auto; margin-right: auto; }

/* długi tytuł zostawia cenę z prawej (jak w projekcie A) */
.cof-karta__tytul-cena { flex-wrap: nowrap; }
.cof-karta__tytul-cena > div:first-child { flex: 1 1 auto; min-width: 0; }
.cof-karta__cena { flex: 0 0 auto; }
@media (max-width: 767px) { .cof-karta__tytul-cena { flex-wrap: wrap; } }

/* przycisk „Zobacz więcej” także na stronach z Elementorem (EN/ES), gdzie nie ma styl.css */
.cof-wiecej { display: flex; justify-content: center; }
.cof-wiecej .wp-block-button__link { display: inline-block; padding: 12px 24px; border: 1px solid #000; border-radius: 0; background: transparent; color: #000 !important; font: 400 13px/1.5 "Jost", sans-serif; letter-spacing: 5px; text-transform: uppercase; text-decoration: none; transition: background .3s, color .3s; }
.cof-wiecej .wp-block-button__link:hover { background: #000; color: #fff !important; }
