/* Strona /portfolio/: kafelki i filtr w stylu podstrony Referencje (te same kolory i kształty). */
body {
	--elp-accent: #4d70e4;
	--elp-accent-soft: #eef2fd;
	--elp-dark: #343f4f;
	--elp-text: #374151;
	--elp-muted: #6b7280;
	--elp-line: #e5e7eb;
}

/* Filtr: zaokrąglone przyciski zamiast podkreślonych napisów */
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 0 12px;
	padding: 0;
}
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list li { margin: 0; padding: 0; }
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list li a,
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list li a span {
	text-transform: none;
	letter-spacing: 0;
}
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list li a {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid var(--elp-line);
	border-radius: 999px;
	background: #fff;
	color: var(--elp-dark);
	font: 600 15px/1.3 "Source Sans Pro", Arial, sans-serif;
	box-shadow: none;
	transition: background .2s, color .2s, border-color .2s;
}
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list li a::before,
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list li a::after { display: none; }
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list li a:hover { border-color: var(--elp-accent); color: var(--elp-accent); }
body .cmsmasters_project_filter_wrap .cmsmasters_project_filter_list li.current a {
	background: var(--elp-accent);
	border-color: var(--elp-accent);
	color: #fff;
}

/* Kafelek */
body .portfolio.grid article.project .project_outer {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--elp-line);
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(17, 24, 39, .04);
	text-align: left;
	overflow: hidden;
}
body .portfolio.grid article.project .project_inner { display: contents; }

/* Kolejność: kategoria, logo, nazwa, kwota */
body .portfolio.grid article.project .cmsmasters_project_meta_info { order: 1; margin: 0 0 6px; padding: 0; }
body .portfolio.grid article.project .cmsmasters_img_rollover_wrap { order: 2; }
body .portfolio.grid article.project .cmsmasters_project_header { order: 3; }
body .portfolio.grid article.project .cmsmasters_project_content { order: 4; }

/* Kategoria jako etykieta (ukrycie tekstu "w" i przecinków między kategoriami) */
body .portfolio.grid article.project .cmsmasters_project_cont_info { padding: 0; margin: 0; }
body .portfolio.grid article.project .cmsmasters_project_category {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 0;
	line-height: 0;
}
body .portfolio.grid article.project .cmsmasters_project_category a {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: #f3f4f6;
	color: var(--elp-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* Logo */
body .portfolio.grid article.project .cmsmasters_img_rollover_wrap {
	display: flex;
	align-items: center;
	height: 110px;
	margin: 0 0 14px;
	background: none;
}
body .portfolio.grid article.project .cmsmasters_img_rollover_wrap img {
	width: auto;
	max-width: min(260px, 100%);
	max-height: 104px;
	object-fit: contain;
}

/* Nazwa firmy */
body .portfolio.grid article.project .cmsmasters_project_header { margin: 0 0 14px; padding: 0; }
body .portfolio.grid article.project .cmsmasters_project_title,
body .portfolio.grid article.project .cmsmasters_project_title div {
	margin: 0;
	font-family: Merriweather, Georgia, serif;
	font-size: 17px;
	line-height: 1.35;
	color: var(--elp-dark);
	text-align: left;
}

/* Kwota w tym samym polu co w Referencjach */
body .portfolio.grid article.project .cmsmasters_project_content { margin-top: auto; padding: 0; }
body .portfolio.grid article.project .cmsmasters_project_content p {
	margin: 0;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--elp-accent-soft);
	color: var(--elp-dark);
	font-size: 15px;
	line-height: 1.4;
	text-align: left;
}
body .portfolio.grid article.project .cmsmasters_project_content p br { display: none; }
body .portfolio.grid article.project .cmsmasters_project_content p b {
	display: block;
	margin: 0;
	color: var(--elp-accent);
	white-space: nowrap;
}

/* Etykieta "Referencja →" w prawym górnym rogu kafelka (dopisywana do treści kafelka w portfolio.php).
   W kafelkach z referencją wiersz kategorii ma zarezerwowane miejsce na etykietę; długa kategoria
   przechodzi do nowej linii. HTML jest od początku, więc motyw układa kafelki z właściwą wysokością. */
body .portfolio.grid article.project .project_outer { position: relative; }
body .portfolio.grid article.project .project_outer:has(.elp-pf-ref) .cmsmasters_project_meta_info { padding-right: 112px; }
body .portfolio.grid article.project .elp-pf-ref-wrap {
	position: absolute;
	z-index: 3;
	top: 22px;
	right: 22px;
	margin: 0;
}
body .portfolio.grid article.project .elp-pf-ref {
	display: inline-block;
	padding: 4px 12px;
	border: 1px solid var(--elp-accent);
	border-radius: 999px;
	background: #fff;
	color: var(--elp-accent);
	font: 700 13px/1.4 "Source Sans Pro", Arial, sans-serif;
	white-space: nowrap;
	text-decoration: none;
	transition: background .2s, color .2s;
}
body .portfolio.grid article.project .elp-pf-ref:hover,
body .portfolio.grid article.project .elp-pf-ref:focus-visible { background: var(--elp-accent); color: #fff; }

/* Strona główna: przyciski pod sekcją projektów obok siebie ("Sprawdź projekty..." i "Zobacz referencje...").
   Drugi przycisk dodany w treści strony (shortcode_id elpref01bt), bez CSS generowanego przez motyw. */
body div:has(> #cmsmasters_button_elpref01bt) { text-align: center; }
body #cmsmasters_button_7e7l9orru4,
body #cmsmasters_button_elpref01bt { display: inline-block; vertical-align: top; margin: 0 8px 12px; }
body #cmsmasters_button_elpref01bt .cmsmasters_button { padding: 0 30px; }

/* Strona główna, sekcja "Zespół ekspertów": niższe zdjęcia (portretowe 2:3 robiły kafelki ok. 670 px).
   Zdjęcie kadrowane do 300 px od góry (twarze), obrazek zastępczy WooCommerce pomniejszony. */
body .team-name-home2 .profile_outer .cmsmasters_img_wrap_elpartner {
	height: 300px;
	overflow: hidden;
	background: #f3f4f6;
}
body .team-name-home2 .profile_outer .cmsmasters_img_wrap_elpartner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}
body .team-name-home2 .profile_outer .cmsmasters_img_wrap_elpartner img[src*="woocommerce-placeholder"],
body .team-name-home2 .profile_outer .cmsmasters_img_wrap_elpartner img[data-lazy-src*="woocommerce-placeholder"] {
	object-fit: contain;
	padding: 70px;
	opacity: .6;
}
/* nadpisuje min-height: 625px z motywu potomnego (.home .cmsmasters_profile.horizontal article) */
body.home .cmsmasters_profile.horizontal.team-name-home2 article { min-height: 0; }
