/* Stylowanie tekstu na podstronie – spójne z sekcjami strony głównej
   (pomarańczowy akcent #ff9a34 / #fa9d1c, ciemny brąz #2e271d, szary pas #f5f5f5).
   Wszystkie klasy mają prefiks .ap_ i działają tylko wewnątrz <div class="ap">. */

.ap {
	font-size: 17px;
	line-height: 1.67;
	color: #000;
}
.ap *,
.ap *:before,
.ap *:after {
	box-sizing: border-box;
}
.ap p {
	margin: 0 0 20px 0;
}

/* Kontenery */
.ap_container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 15px;
}
.ap_container--waski {
	max-width: 820px;
	text-align: center;
}

/* Tekst wprowadzający */
.ap_lead {
	max-width: 820px;
	margin: 0 auto 50px auto !important;
	text-align: center;
}

/* Nagłówek sekcji z pomarańczową kreską (jak .naglowek.center) */
.ap_naglowek {
	position: relative;
	margin: 100px auto 60px auto;
	padding: 0 15px;
	max-width: 900px;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.34;
	color: #000;
	text-align: center;
}
.ap_naglowek:after {
	content: '';
	position: absolute;
	bottom: -20px;
	left: 50%;
	width: 31px;
	height: 4px;
	margin-left: -15px;
	background: #fa9d1c;
}

/* Szary pas (jak "O Akademii" / "Gdzie i kiedy trenujemy") */
.ap_pas {
	background-color: #f5f5f5;
	margin-top: 70px;
	padding: 1px 0 50px 0;
}
.ap_pas .ap_naglowek {
	margin-top: 60px;
}
.ap_pas p:last-child {
	margin-bottom: 0;
}

/* Motto – nagłówek w pasie */
.ap_motto {
	position: relative;
	margin: 60px 0 45px 0;
	padding-bottom: 18px;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.35;
	color: #000;
	text-align: center;
}
.ap_motto:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 31px;
	height: 4px;
	margin-left: -15px;
	background: #fa9d1c;
}

/* Karty (jak .hs_box) */
.ap_karty {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -15px;
}
.ap_karta {
	background: #fff;
	border: 1px solid #ff9a34;
	border-radius: 10px;
	box-shadow: 0 25px 39px 0 #f1f1f1;
	padding: 40px 30px 35px 30px;
}
.ap_karty .ap_karta {
	width: calc(33.333% - 30px);
	margin: 0 15px 30px 15px;
}
.ap_karta p:last-child {
	margin-bottom: 0;
}
.ap_karta_tytul {
	position: relative;
	margin: 0 0 25px 0;
	padding-bottom: 18px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
	color: #000;
	text-align: center;
}
.ap_karta_tytul:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 31px;
	height: 4px;
	margin-left: -15px;
	background: #fa9d1c;
}

/* Lista celów – karta z dwiema kolumnami i pomarańczowymi kropkami (jak .hs_lista) */
.ap_karta--lista {
	max-width: 960px;
	margin: 0 auto;
}
.ap_lista {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2;
	column-gap: 50px;
}
.ap_lista li {
	position: relative;
	break-inside: avoid;
	margin-bottom: 14px;
	padding-left: 24px;
	line-height: 1.5;
}
.ap_lista li:before {
	content: '';
	position: absolute;
	left: 0;
	top: 7px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ff9a34;
}

/* Zaproszenie na końcu */
.ap_sekcja--ostatnia {
	margin-bottom: 60px;
}
.ap_zapraszamy {
	font-size: 20px;
	font-weight: 600;
	margin-top: 30px !important;
}
.ap_podpis {
	font-style: italic;
	color: #555;
	margin-bottom: 35px !important;
}

/* Linki */
.ap a {
	color: #ff9a34;
	text-decoration: underline;
}
.ap a:hover {
	color: #2e271d;
}

/* Przycisk (jak .btn_wiecej) */
.ap a.ap_przycisk {
	display: inline-block;
	padding: 12px 39px;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	background: #2e271d;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
}
.ap a.ap_przycisk:hover {
	color: #fff;
	background: #ff9a34;
}

/* Tablet */
@media screen and (max-width: 991px) {
	.ap_naglowek {
		margin-top: 70px;
		margin-bottom: 50px;
		font-size: 26px;
	}
	.ap_pas {
		margin-top: 40px;
		padding-bottom: 35px;
	}
	.ap_karty .ap_karta {
		width: calc(50% - 30px);
	}
}

/* Telefon */
@media screen and (max-width: 575px) {
	.ap {
		font-size: 16px;
	}
	.ap_naglowek {
		font-size: 22px;
	}
	.ap_motto {
		font-size: 21px;
	}
	.ap_karty .ap_karta {
		width: 100%;
	}
	.ap_karta {
		padding: 30px 20px;
	}
	.ap_lista {
		columns: 1;
	}
}
