/* Zagadnienia Google Ads (agencja/parts/ads-zagadnienia.php) na /kampanie-adwords-marketing-ads/ — akordeon i ścieżka
   pomiaru w układzie „Zakres usług” / „Customer journey” ze stron agencji (agencja.css: .g2c-acc, .g2c-journey),
   w szerokości kontenera tej strony (.container). Krój z motywu, tekst jak w sekcjach strony (300, #333). */

.g2ads {
	padding-top: 116px; /* jak odstęp między sekcjami tej strony (.dark-section: margin-top 116px) */
	color: #111;
}

/* Ta sama szerokość co sekcje „Reklamy Google ADS” i „Usługi” (page-googleads.php: .text-section/.dark-section .container). */
@media (min-width: 1150px) {
	.g2ads .container {
		width: 1120px;
	}
}

.g2ads p,
.g2ads ul,
.g2ads ol {
	margin: 0;
}

.g2ads ul,
.g2ads ol {
	padding: 0;
	list-style: none;
}

.g2ads a,
.g2ads a:visited {
	color: #111;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.g2ads a:hover,
.g2ads a:focus {
	color: #111;
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

.g2ads .g2ads__label {
	margin-bottom: 32px;
	color: #888;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* Nagłówek: czarny tekst jednym ciągiem, między słowami miniatury zdjęć z akordeonu. */
.g2ads .g2ads__title {
	margin: 0 0 64px;
	color: #111;
	font-size: clamp(40px, 5.7vw, 80px);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -0.045em;
	text-transform: none;
	text-wrap: pretty;
}

.g2ads .g2ads__title--sm {
	margin-bottom: 0;
	font-size: clamp(34px, 4.3vw, 60px);
}

.g2ads__pic {
	display: inline-block;
	overflow: hidden;
	width: 1.5em;
	height: 0.78em;
	margin: 0 0.04em;
	vertical-align: -0.04em;
	background-color: #eee;
}

.g2ads__pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.g2ads__pic:hover img {
	transform: scale(1.12);
}

/* Pod nagłówkiem: licznik po lewej, tekst w prawej połowie. */
.g2ads__head-foot {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: end;
	gap: 40px 64px;
	margin-bottom: 72px;
}

.g2ads .g2ads__count {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #888;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.g2ads__count-num {
	color: #111;
	font-size: 44px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.04em;
	font-variant-numeric: tabular-nums;
}

.g2ads__count svg {
	flex: none;
	color: #bcbcbc;
}

.g2ads .g2ads__intro {
	color: #333;
	font-size: 19px;
	font-weight: 300;
	line-height: 1.65;
}

/* --- Akordeon --- */
.g2ads-acc {
	border-top: 1px solid #e0e0e0;
}

.g2ads-acc__item {
	border-bottom: 1px solid #e0e0e0;
}

.g2ads-acc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 34px 0;
	cursor: pointer;
	list-style: none;
	transition: padding-left 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.g2ads-acc__head::-webkit-details-marker {
	display: none;
}

.g2ads-acc__head::marker {
	content: "";
}

.g2ads-acc__head:focus {
	outline: none;
}

.g2ads-acc__head:focus-visible {
	outline: 2px solid #111;
	outline-offset: 6px;
}

.g2ads-acc__head:hover,
.g2ads-acc__item[open] > .g2ads-acc__head {
	padding-left: 30px;
}

.g2ads .g2ads-acc__title {
	margin: 0;
	color: #1a1a1a;
	font-size: clamp(26px, 2.9vw, 42px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.03em;
	text-transform: none;
}

.g2ads-acc__icon {
	position: relative;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.g2ads-acc__icon::before,
.g2ads-acc__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #111;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.g2ads-acc__icon::before {
	width: 100%;
	height: 1.5px;
	transform: translate(-50%, -50%);
}

.g2ads-acc__icon::after {
	width: 1.5px;
	height: 100%;
	transform: translate(-50%, -50%);
}

.g2ads-acc__item[open] > .g2ads-acc__head .g2ads-acc__icon::before,
.g2ads-acc__item[open] > .g2ads-acc__head .g2ads-acc__icon::after {
	transform: translate(-50%, -50%) rotate(45deg);
}

.g2ads-acc__body {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	gap: 64px;
	padding: 0 0 48px 30px;
}

.g2ads .g2ads-acc__text p {
	color: #333;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.7;
}

.g2ads .g2ads-acc__text p + p {
	margin-top: 16px;
}

/* Prawa kolumna: etykiety u góry, zdjęcie 4:3 w prawym dolnym rogu (dosunięte do dołu tekstu). */
.g2ads-acc__side {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.g2ads .g2ads-acc__photo {
	margin: auto 0 0;
	overflow: hidden;
	background-color: #f2f2f2;
}

.g2ads-acc__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.g2ads-pills {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 10px;
}

.g2ads .g2ads-pills li {
	padding: 10px 20px;
	border: 1px solid #e0e0e0;
	border-radius: 50px;
	color: #111;
	font-size: 14px;
	line-height: 1.3;
	white-space: nowrap;
}

/* --- Zdjęcie pozycji wysuwające się obok kursora (komputer; agencja/ads-zagadnienia.js dodaje .g2ads-float do body) --- */
.g2ads-float {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 30;
	width: clamp(220px, 20vw, 320px);
	aspect-ratio: 4 / 3;
	overflow: hidden;
	pointer-events: none;
	background-color: #f2f2f2;
	opacity: 0;
	clip-path: inset(0 100% 0 0); /* wysuwa się z boku: od lewej krawędzi w prawo */
	transition: opacity 0.3s ease, clip-path 0.7s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform, clip-path;
}

.g2ads-float.is-visible {
	opacity: 1;
	clip-path: inset(0 0 0 0);
}

.g2ads-float img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.18);
	transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Najazd: zdjęcie lekko się oddala po pojawieniu się i po zmianie pozycji. */
.g2ads-float.is-visible img {
	transform: scale(1);
}

.g2ads-float.is-swap img {
	animation: g2ads-swap 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes g2ads-swap {
	from {
		transform: scale(1.12);
	}

	to {
		transform: scale(1);
	}
}

@media not all and (hover: hover) and (pointer: fine), (max-width: 991px) {
	.g2ads-float {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.g2ads-float {
		clip-path: none;
		transition: opacity 0.2s ease;
	}

	.g2ads-float img,
	.g2ads-float.is-visible img {
		transform: none;
		transition: none;
		animation: none;
	}
}

/* --- Słownik Google Ads na dole strony (agencja/parts/ads-slownik.php), w bloku tekstu SEO .about-developer-process --- */
.g2ads-slownik {
	margin-top: 96px;
}

.about-developer-process .g2ads-slownik h3 {
	margin: 56px 0 8px;
	color: #111;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
}

.g2ads-slownik__list {
	margin: 0;
}

.g2ads-slownik__list dt {
	margin-top: 24px;
	color: #111;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.5;
	scroll-margin-top: 120px; /* przyklejone menu przy przejściu z kotwicy #slownik-… */
}

.g2ads-slownik__list dd {
	margin: 4px 0 0;
	color: #333;
	font-size: 17px;
	font-weight: 300;
	line-height: 30px;
}

.g2ads-slownik a,
.g2ads-slownik a:visited {
	color: #111;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.g2ads-slownik a:hover {
	text-decoration-thickness: 2px;
}

@media (max-width: 767px) {
	.g2ads-slownik {
		margin-top: 64px;
	}

	.about-developer-process .g2ads-slownik h3 {
		margin-top: 40px;
		font-size: 21px;
	}

	.g2ads-slownik__list dd {
		font-size: 16px;
		line-height: 1.7;
	}
}

/* --- Szerokie zdjęcie 16:9 między akordeonem a ścieżką pomiaru (w szerokości treści) --- */
.g2ads--foto {
	padding-top: 112px;
}

.g2ads .g2ads-foto {
	margin: 0;
	overflow: hidden;
	background-color: #f2f2f2;
}

.g2ads-foto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* Zdjęcie 16:9 przed „Rozpocznij działania…” (page-googleads.php): na telefonie footer.php podciąga nagłówek tej sekcji
   (.social-leads h3 { margin-top: -65px }) — bez zdjęcia zmniejszało to pustą przestrzeń, ze zdjęciem nagłówek wchodził
   na jego dół. Tylko gdy sekcja stoi zaraz po zdjęciu, więc strona social media zostaje bez zmian. */
@media (max-width: 767px) {
	.g2ads--foto + .social-leads h3 {
		margin-top: 40px;
	}
}

/* --- Ścieżka pomiaru: 5 kolumn, kropka na linii, numer, tytuł, opis, lista --- */
.g2ads--journey {
	padding-top: 128px;
}

.g2ads-journey {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 32px;
}

.g2ads .g2ads-journey {
	margin-top: 64px; /* .g2ads ol zeruje marginesy, stąd wyższa specyficzność */
}

.g2ads-journey__stage {
	position: relative;
	display: flex;
	flex-direction: column;
	padding-top: 24px;
	border-top: 1px solid #111;
}

.g2ads-journey__stage::before {
	content: "";
	position: absolute;
	top: -4px;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #111;
}

.g2ads .g2ads-journey__num {
	display: block;
	margin-bottom: 30px;
	color: #999;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.14em;
	font-variant-numeric: tabular-nums;
}

.g2ads .g2ads-journey__title {
	margin: 0 0 14px;
	color: #111;
	font-size: clamp(22px, 1.9vw, 28px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.025em;
	text-transform: none;
}

/* Opis rozciąga się w kolumnie, więc listy we wszystkich etapach zaczynają się na tej samej wysokości. */
.g2ads .g2ads-journey__stage > p {
	flex: 1 0 auto;
	margin-bottom: 26px;
	color: #333;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.7;
}

.g2ads-journey__list {
	border-top: 1px solid #eee;
}

.g2ads .g2ads-journey__list li {
	padding: 11px 0;
	border-bottom: 1px solid #eee;
	color: #333;
	font-size: 14px;
	line-height: 1.4;
}

/* --- Responsywność --- */
@media (max-width: 1199px) {
	.g2ads-journey {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 48px 24px;
	}
}

@media (max-width: 991px) {
	.g2ads-acc__body {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.g2ads-acc__photo {
		max-width: 560px;
	}

	.g2ads-journey {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.g2ads {
		padding-top: 72px;
	}

	.g2ads--journey {
		padding-top: 80px;
	}

	.g2ads--foto {
		padding-top: 64px;
	}

	.g2ads .g2ads__label {
		margin-bottom: 24px;
	}

	.g2ads .g2ads__title {
		margin-bottom: 36px;
		font-size: clamp(34px, 10vw, 44px);
	}

	.g2ads .g2ads__title--sm {
		margin-bottom: 0;
		font-size: clamp(30px, 8.5vw, 40px);
	}

	.g2ads__head-foot {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		margin-bottom: 48px;
	}

	.g2ads .g2ads__intro {
		grid-row: 1;
		font-size: 16px;
	}

	.g2ads__count-num {
		font-size: 36px;
	}

	.g2ads .g2ads-journey {
		margin-top: 48px;
	}
}

@media (max-width: 600px) {
	.g2ads-acc__head {
		gap: 20px;
		padding: 22px 0;
	}

	.g2ads-acc__head:hover,
	.g2ads-acc__item[open] > .g2ads-acc__head {
		padding-left: 0;
	}

	.g2ads-acc__body {
		padding-left: 0;
		padding-bottom: 32px;
	}

	.g2ads .g2ads-acc__title {
		font-size: 22px;
	}

	.g2ads .g2ads-acc__text p {
		font-size: 16px;
	}

	.g2ads .g2ads-pills li {
		padding: 8px 14px;
		font-size: 13px;
	}

	.g2ads-journey {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}
}

/* Płynne otwieranie akordeonu tam, gdzie przeglądarka to obsługuje (bez tego po prostu się rozwija). */
@media (prefers-reduced-motion: no-preference) {
	.g2ads-acc {
		interpolate-size: allow-keywords;
	}

	.g2ads-acc__item::details-content {
		height: 0;
		overflow: clip;
		transition: height 0.5s cubic-bezier(0.16, 1, 0.3, 1), content-visibility 0.5s allow-discrete;
	}

	.g2ads-acc__item[open]::details-content {
		height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.g2ads-acc__head,
	.g2ads-acc__icon::before,
	.g2ads-acc__icon::after {
		transition: none;
	}
}
