/*
Theme Name: Zephyr Child
Template: Zephyr
Version: 1.1
Author:	UpSolution
Theme URI: http://zephyr.us-themes.com/
Author URI: http://us-themes.com/
*/

/* =================================================================
   Style interfejsu kursów/filmów przeniesione ze starego motywu
   "matematyka-na-tak". Usunięto zależności od #wrapper (Incubator);
   dodano bazowe style przycisków (.tt_button) i alertów (.kd-alertbox),
   które wcześniej dostarczał motyw nadrzędny.
   ================================================================= */

/* ---------- Banner (pojedynczy film / landing) ---------- */
.baner_strony {
	position: relative;
	padding: 70px 0 50px;
	overflow: hidden;
}

/* Sekcja pojedynczego filmu (bez tła i okruszków – tytuł/okruszki daje titlebar) */
.single-film-baner {
	position: relative;
	padding: 20px 0 40px;
}

.single-film-inner {
	position: relative;
	z-index: 1;
}

.tlo_single_film {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	height: 100%;
	background-size: cover;
	background-position: center;
	z-index: 0;
}

.tlo_single_film::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, .3), rgba(255, 255, 255, .78));
}

/* Landing „Korepetycje video” */
.korepetycje-baner {
	background-size: cover;
	background-position: center;
	padding: 80px 0;
}

.baner_strony_tytul {
	position: relative;
	color: #17233f;
	font-size: 30px;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom: 22px;
	line-height: 1.15;
}

.baner_strony_podtytul {
	position: relative;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	color: #17233f;
	margin-bottom: 40px !important;
}

/* Biały box z treścią filmu */
.single-film-content-box {
	position: relative;
	background: #fff;
	padding: 24px;
	border-radius: 12px;
	box-shadow: 0 18px 40px -22px rgba(24, 46, 92, 0.5);
	margin-bottom: 24px;
}

/* Kafle kategorii – siatka niezależna od Bootstrapa Incubatora */
.kategorie_video .row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
}

.kategorie_video .row > div {
	width: 50%;
	padding: 0 15px;
	margin-bottom: 24px;
}

@media (max-width: 767px) {
	.kategorie_video .row > div {
		width: 100%;
	}
}

/* ---------- Kafle kategorii (landing "Korepetycje video") ---------- */
.kategorie_video {
	display: block;
	max-width: 870px;
	margin: 0 auto;
}

.kategorie_video .row {
	margin-right: -15px;
	margin-left: -15px;
}

@media (min-width: 960px) {
	.kategorie_video .row > div {
		margin-bottom: 2rem;
	}
}

.kategorie_video_kategoria {
	background: #fff;
	padding: 5px;
	cursor: pointer;
	position: relative;
}

@media (max-width: 959px) {
	.kategorie_video_kategoria {
		margin-bottom: 20px;
	}
}

.kategorie_video_kategoria > div {
	transition: 0.5s;
	padding: 70px 35px;
	border: 4px solid #fff;
	position: relative;
	z-index: 10;
}

@media (max-width: 1199px) {
	.kategorie_video_kategoria > div {
		min-height: 220px;
		padding: 30px 20px;
	}
}

@media (max-width: 959px) {
	.kategorie_video_kategoria > div {
		min-height: inherit;
	}
}

.kategorie_video_kategoria.active > div,
.kategorie_video_kategoria:hover > div {
	border: 4px solid #f2a707 !important;
}

.kategorie_video_kategoria::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #000;
	opacity: 0.5;
	z-index: 1;
	transition: .5s;
}

.kategorie_video_kategoria:hover::after {
	opacity: 0.2;
}

.kategorie_video_kategoria img {
	display: inline-block;
	vertical-align: top;
	max-width: 80px !important;
}

@media (max-width: 1199px) {
	.kategorie_video_kategoria img {
		display: block;
	}
}

.kategorie_video_kategoria p {
	display: inline-block;
	vertical-align: top;
	margin: 0 !important;
	padding-left: 22px;
	font-size: 30px;
	font-weight: 900;
	line-height: 32px;
	text-transform: uppercase;
	color: #fdfdfd !important;
	width: calc(100% - 90px);
	padding-top: 5px;
}

@media (max-width: 1199px) {
	.kategorie_video_kategoria p {
		font-size: 24px;
		line-height: 30px;
		width: auto;
	}
}

@media (max-width: 991px) {
	.kategorie_video_kategoria p {
		font-size: 21px;
	}
}

/* Tła kafli (obrazy w wp-content/uploads) */
.class-19 .kategorie_video_kategoria {
	background: url("/wp-content/uploads/szkola-podstawowa.jpg");
	background-size: cover;
}
.class-64 .kategorie_video_kategoria {
	background: url("/wp-content/uploads/szkola-srednia-pp.jpg");
	background-size: cover;
}
.class-21 .kategorie_video_kategoria {
	background: url("/wp-content/uploads/szkola-srednia-pr.jpg");
	background-size: cover;
}
.class-513 .kategorie_video_kategoria {
	background: url("/wp-content/uploads/szkola-srednia-pppr.jpg");
	background-size: cover;
}

/* ---------- Wrapper sekcji (Zephyr / WPBakery) ---------- */
.filmy-section .l-section-h {
	position: relative;
	z-index: 1;
}

.filmy-wrap {
	max-width: 960px;
	margin: 0 auto;
}

/* ---------- Lista filmów / rozwijane sekcje (akordeon) ---------- */
.listy_contenter {
	padding: 0;
}

.lista_filmow_kat {
	padding: 0;
	margin: 0 0 30px;
	list-style: none;
	display: none;
	background: #fff;
	border: 1px solid #e7ecf4;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 24px 50px -24px rgba(24, 46, 92, 0.45);
}

.lista_filmow_kat.active {
	display: block;
}

.lista_filmow_kat ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Poziom 1 – nagłówek karty (tytuł kategorii / „Wszystkie filmy”) */
.lista_filmow_kat > li > p {
	margin: 0;
	padding: 22px 28px;
	background: linear-gradient(135deg, #4267b2 0%, #34508b 100%);
	color: #fff;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.3;
}

.lista_filmow_kat > li > p span {
	font-weight: 300;
	opacity: .85;
}

/* Opis kategorii */
.term-description-inside {
	padding: 20px 28px;
	background: #f6f8fc;
	border-bottom: 1px solid #e7ecf4;
	color: #566178;
	font-size: 14px;
	line-height: 1.65;
}

.term-description-inside p:last-child {
	margin-bottom: 0;
}

/* Nagłówki rozwijane (poziom 2+) */
.lista_filmow_kat li ul li {
	position: relative;
	cursor: pointer;
}

.lista_filmow_kat li ul li:not(:last-child) {
	border-bottom: 1px solid #eef1f7;
}

.lista_filmow_kat li ul li > p {
	position: relative;
	margin: 0;
	padding: 15px 48px 15px 28px;
	color: #26324c;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
	transition: background .2s, color .2s;
	-webkit-user-select: none;
	user-select: none;
}

.lista_filmow_kat li ul li > p:hover {
	background: #eef3fb;
	color: #4267b2;
}

/* Chevron rozwijania */
.lista_filmow_kat li ul li > p::after {
	content: "";
	position: absolute;
	right: 24px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #9aa7c1;
	border-bottom: 2px solid #9aa7c1;
	transform: translateY(-65%) rotate(45deg);
	transition: transform .25s ease, border-color .2s;
}

.lista_filmow_kat li ul li.is-open > p {
	color: #4267b2;
}

.lista_filmow_kat li ul li.is-open > p::after {
	transform: translateY(-30%) rotate(225deg);
	border-color: #4267b2;
}

/* Pierwszy poziom podkategorii – mocniejszy */
.lista_filmow_kat > li > ul > li > p {
	font-size: 16px;
	background: #fff;
}

/* Zagnieżdżenia – wcięcie i coraz jaśniejsze tło */
.lista_filmow_kat li ul li ul {
	display: none;
	background: #fafbff;
	box-shadow: inset 3px 0 0 #d7e0f2;
}

.lista_filmow_kat li ul li ul li > p {
	padding-left: 40px;
	font-size: 14px;
}

.lista_filmow_kat li ul li ul li ul {
	background: #f4f7fd;
}

.lista_filmow_kat li ul li ul li ul li > p {
	padding-left: 52px;
}

.lista_filmow_kat li ul li ul li ul li ul {
	background: #eff3fb;
}

.lista_filmow_kat li ul li ul li ul li ul li > p {
	padding-left: 64px;
}

/* Linki do filmów (liście) */
.lista_filmow_kat li a {
	display: block;
	position: relative;
	padding: 13px 22px 13px 44px;
	color: #35528b;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: background .2s, padding .2s, color .2s;
}

.lista_filmow_kat li ul li ul li a {
	padding-left: 56px;
}

.lista_filmow_kat li ul li ul li ul li a {
	padding-left: 68px;
}

.lista_filmow_kat li a::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -3px;
	border-radius: 50%;
	background: #f2a707;
	transition: transform .2s;
}

.lista_filmow_kat li ul li ul li a::before {
	left: 36px;
}

.lista_filmow_kat li ul li ul li ul li a::before {
	left: 48px;
}

.lista_filmow_kat li a:hover {
	background: #eef3fb;
	color: #4267b2;
}

.lista_filmow_kat li a:hover::before {
	transform: scale(1.4);
}

/* Opisy / pytania pod pozycjami */
.lista_filmow_kat .term-description,
.lista_filmow_kat .short-description,
.lista_filmow_kat .short-description-cat {
	padding: 0 24px 14px 44px;
	margin: -2px 0 0;
	color: #6c7690;
	font-size: 13px;
	line-height: 1.55;
	cursor: pointer;
}

.lista_filmow_kat .term-description p,
.lista_filmow_kat .short-description p,
.lista_filmow_kat .short-description-cat p {
	margin: 0;
}

/* ---------- Okruszki (breadcrumbs) ---------- */
.okruszki {
	padding: 0;
	list-style-type: none;
	margin: 0 0 15px 0;
	overflow: hidden;
}

.okruszki li {
	float: left;
	color: #fff;
	font-size: 14px;
}

.okruszki li a {
	color: #fff;
	font-size: 14px;
}

.okruszki li .fa {
	padding: 0 10px;
	color: #0d4bff;
}

.okruszki li:last-child .fa {
	display: none;
}

/* ---------- Player Vimeo ---------- */
.vimeo_object {
	margin-top: 0px;
	position: relative;
}

.vimeo_error {
	margin-top: 20px;
}

.vimeo_image .fa {
	font-size: 72px;
	position: absolute;
	color: #fff;
	left: 0;
	right: 0;
	text-align: center;
	top: 50%;
	margin-top: -35px;
	cursor: pointer;
}

.vimeo_object iframe {
	border: none;
	margin: 0;
	border-radius: 10px;
}

@media (max-width: 959px) {
	.vimeo_object iframe {
		height: 400px;
	}
}

@media (max-width: 639px) {
	.vimeo_object iframe {
		height: 260px;
	}
}

.vimeo_object img {
	width: 100%;
	cursor: pointer;
	border-radius: 10px;
	box-shadow: 0px 20px 20px -10px rgba(0, 0, 0, 0.5);
}

/* ---------- Loader ---------- */
.cs-loader {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: 80px;
	display: none;
	width: 100%;
}

.cs-loader-inner {
	transform: translateY(-50%);
	top: 50%;
	position: absolute;
	width: 100%;
	color: #FFF;
	padding: 0 100px;
	text-align: center;
}

.cs-loader-inner label {
	font-size: 20px;
	opacity: 0;
	display: inline-block;
}

@keyframes lol {
	0%   { opacity: 0; transform: translateX(-300px); }
	33%  { opacity: 1; transform: translateX(0px); }
	66%  { opacity: 1; transform: translateX(0px); }
	100% { opacity: 0; transform: translateX(300px); }
}

.cs-loader-inner label:nth-child(6) { animation: lol 3s infinite ease-in-out; }
.cs-loader-inner label:nth-child(5) { animation: lol 3s 100ms infinite ease-in-out; }
.cs-loader-inner label:nth-child(4) { animation: lol 3s 200ms infinite ease-in-out; }
.cs-loader-inner label:nth-child(3) { animation: lol 3s 300ms infinite ease-in-out; }
.cs-loader-inner label:nth-child(2) { animation: lol 3s 400ms infinite ease-in-out; }
.cs-loader-inner label:nth-child(1) { animation: lol 3s 500ms infinite ease-in-out; }

/* ---------- Przyciski (baza dostarczana wcześniej przez Incubator) ---------- */
.tt_button {
	display: inline-block;
	text-decoration: none;
	background: #4267b2;
	color: #fff !important;
	padding: 10px 22px;
	border-radius: 4px;
	line-height: 1.2;
	text-align: center;
	transition: .3s;
}

.tt_button:hover {
	background: #f2a707;
	color: #fff !important;
}

.tt_button.second-inline {
	margin: 5px 8px;
}

.tt_button .iconita {
	margin-right: 8px;
}

.tt_button .sec_text {
	display: block;
	font-size: 11px;
	opacity: .85;
}

.tt_button .prim_text {
	display: block;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

/* ---------- Alerty (baza dostarczana wcześniej przez Incubator) ---------- */
.kd-alertbox {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px 44px 15px 16px;
	margin: 15px 0;
	border-radius: 4px;
	text-align: left;
}

.kd-alertbox.ab_error {
	background: #fdecea;
	color: #611a15;
	border: 1px solid #f5c6cb;
}

.kd-alertbox.ab_info {
	background: #e8f4fd;
	color: #0c5460;
	border: 1px solid #bee5eb;
}

.kd-alertbox .ab-icon {
	font-size: 20px;
	flex: 0 0 auto;
}

.kd-alertbox .ab-message {
	flex: 1 1 auto;
}

.kd-alertbox .ab-message p {
	margin: 0;
}

.kd-alertbox .ab-message p:empty {
	display: none;
}

.kd-alertbox .ab-message a {
	text-decoration: underline;
	color: inherit;
}

.kd-alertbox .ab-close {
	position: absolute;
	right: 14px;
	top: 12px;
	color: inherit;
	text-decoration: none;
	font-weight: 700;
}

/* ---------- Rejestracja WooCommerce ---------- */
.registration-form.woocommerce h2 {
	display: none;
}
