/**
 * Rainbow Academy — nadpisanie kolorów marki na natywnych zmiennych CSS LearnPress.
 *
 * LearnPress definiuje swoje kolory jako CSS custom properties z wartością domyślną
 * (np. var(--lp-primary-color, #ffb606)), ale nigdzie w bazowym CSS nie ustawia ich
 * globalnie w :root — to zamierzony hak do motywowania. Ten plik podmienia wartości
 * na paletę marki Rainbow, bez modyfikowania oryginalnych plików CSS wtyczki.
 *
 * Kolory wg brand booka Rainbow 2026:
 *  - Rainbow Sky 1  #0054A6  — główny (przyciski, linki, aktywne stany)
 *  - Rainbow Sky 2  #38A8D1  — akcent jaśniejszy
 *  - Rainbow Sun 1  #FFBF00  — kolor sygnetu, wyróżnienia drugorzędne
 *  - Rainbow Sun 2  #FFD92D  — apla pod typografię, wyróżnienia
 */

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap');

:root {
	--lp-primary-color: #0054A6;
	--lp-secondary-color: #FFBF00;
	--lp-color-accent: #38A8D1;
	--lp-color-accent-1: #FFD92D;
	--lp-button-background-color: #0054A6;
	--lp-button-color: #ffffff;
}

/* Krój pisma dopełniający wg brand booka — do dłuższych tekstów (opisy kursów, treść lekcji). */
body.learnpress-page,
.learn-press-message,
.course-item .item-content,
.entry-content {
	font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Hover przycisków głównych ciemniejszym odcieniem Rainbow Sky, zamiast przyciemniania żółtego. */
.lp-button:hover,
.learn-press-message.button:hover,
button.lp-button:hover {
	background: #004E86 !important; /* Rainbow gradient — ciemniejszy koniec */
	border-color: #004E86 !important;
}

/**
 * Ochrona testu przed ściąganiem: blokada zaznaczania treści pytań, gdy trener włączy
 * "Anti-Cheat Protection" dla danego quizu i próba jest aktywna (status "started").
 * Klasa dodawana warunkowo w komponencie React: assets/src/apps/js/frontend/quiz/components/questions/index.js
 */
.quiz-questions.anti-cheat-active {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.learn-press-message.anti-cheat-warning {
	border-left: 4px solid #FFBF00;
}

.quiz-result.anti-cheat-failed .result-message {
	color: #FF3B30;
	font-weight: 700;
}

/* --- Progress bar: ciemny niebieski + czytelna czcionka --- */
.learn-press-progress::before,
.course-progress__line,
.course-progress__line::before {
	background: #dbe7f5 !important;
}

.learn-press-progress .learn-press-progress__active,
.learn-press-progress .progress-bg .progress-active,
.course-progress__line__active {
	background: #0054A6 !important;
}

.course-summary-sidebar .course-results-progress .items-progress__heading,
.course-summary-sidebar .course-results-progress .course-progress .items-progress__heading,
.course-summary-sidebar .course-results-progress .number,
.lp-single-course .items-progress .number {
	color: #0054A6 !important;
	font-weight: 700;
}

.course-summary-sidebar .course-results-progress .items-progress__heading,
.course-summary-sidebar .course-results-progress .course-progress .items-progress__heading {
	font-size: 0.95rem;
}

/* --- Karty kursów: zaokrąglone rogi, cień, spójny wygląd --- */
.learn-press-courses[data-layout=grid] {
	row-gap: 32px;
}

.learn-press-courses[data-layout=grid] .course {
	margin-bottom: 8px;
	padding: 0 14px;
}

.learn-press-courses .course-item {
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e8edf2;
	box-shadow: 0 4px 20px rgba(0, 84, 166, 0.08);
}

.learn-press-courses .course-item:hover {
	box-shadow: 0 8px 28px rgba(0, 84, 166, 0.14);
	transform: translateY(-2px);
}

.learn-press-courses .course-thumbnail {
	border-radius: 16px 16px 0 0;
}

.learn-press-courses .course-thumbnail img {
	border-radius: 16px 16px 0 0;
}

.learn-press-courses .course-content {
	padding: 20px 22px 22px;
}

.learn-press-courses .course-content .wap-course-title {
	margin-bottom: 14px;
}

.learn-press-courses .course-content .course-instructor-category {
	gap: 12px;
	margin-bottom: 16px;
}

.learn-press-courses .course-wrap-meta {
	margin-bottom: 16px;
	gap: 24px;
}

.learn-press-courses .course-info {
	margin-top: 8px;
	padding-top: 14px;
	border-top: 1px solid #eef2f7;
}

.learn-press-courses .course-content .wap-course-title a {
	color: #0054A6;
	font-weight: 700;
}

.learn-press-courses .course-content .course-instructor-category label {
	color: #6b7c93;
	font-size: 0.85em;
	font-weight: 400;
}

.learn-press-courses .course-info .course-price {
	display: none;
}

.learn-press-courses .course-readmore a,
.learn-press-courses .course-readmore button,
.learn-press-courses .course-info .lp-button {
	border-radius: 10px;
}

/* Ukryj widżety WP na stronie pojedynczego kursu (gdy motyw je duplikuje). */
body.single-lp_course .course-sidebar-secondary,
body.single-lp_course .lp-single-course-sidebar {
	display: none !important;
}

/* Sekcja trenera na stronie kursu */
.lp-section-instructor {
	border-radius: 16px;
	border: 1px solid #e8edf2;
	padding: 24px;
	background: #f8fbff;
}

.lp-section-instructor .section-title {
	color: #0054A6;
}

/* "Przygotowane przez" w 2 liniach — nadpisanie LP display:inline */
.ra-prepared-by {
	display: block !important;
	width: 100%;
	margin: 6px 0 10px;
}

.ra-prepared-by__label {
	display: block !important;
	color: #6b7c93;
	font-size: 0.85em;
	font-weight: 500;
	line-height: 1.3;
	margin-bottom: 4px;
}

.ra-prepared-by__name {
	display: block !important;
	font-weight: 700;
	color: #0b2545;
	line-height: 1.35;
	margin-top: 2px;
}

.learn-press-courses .course-instructor-category .ra-prepared-by > *,
.lp-single-course__header .course-instructor-category .ra-prepared-by > * {
	display: block !important;
}

.ra-prepared-by__name .course-instructor {
	display: block !important;
	margin: 0;
	padding: 0;
}

.ra-prepared-by__name .course-instructor a {
	display: inline-block;
	font-weight: 700;
	color: #0b2545;
	text-decoration: none;
}

.ra-prepared-by__name .course-instructor a:hover {
	color: #0054A6;
}

/* Motyw EduPress wymusza inline na trenerze w siatce kursów */
.edu-press .learn-press-courses[data-layout=grid] .course-content .ra-prepared-by__name .course-instructor,
.theme-edu-press .learn-press-courses[data-layout=grid] .course-content .ra-prepared-by__name .course-instructor {
	display: block !important;
}

/* --- Premium: wnętrze kursu (opis, sekcje, curriculum) --- */
.lp-single-course,
.lp-entry-content {
	color: #0b2545;
}

.lp-single-course__header__inner,
.lp-entry-content.lp-content-area {
	border-radius: 18px;
}

.lp-single-course__header {
	background: linear-gradient(180deg, #f8fbff 0%, #ffffff 60%);
	border-bottom: 1px solid #e8edf2;
}

.lp-single-course-main__left > *:first-child,
.lp-entry-content .learnpress-content-wrap > *:first-child {
	margin-top: 0;
}

.lp-single-course-main__left p,
.lp-entry-content p {
	line-height: 1.75;
	font-size: 1.02rem;
	color: #143a5a;
	margin-bottom: 1.1em;
}

.lp-single-course-main__left > div,
.lp-single-course-main__right__inner > div {
	margin-bottom: 28px !important;
}

.lp-single-course-main__left .lp-course-curriculum__title,
.lp-single-course-main__left .extra-box__title {
	margin-bottom: 28px !important;
	padding-bottom: 4px;
}

/* Program kursu — wewnętrzny padding i odstępy */
.lp-single-course .lp-course-curriculum,
.lp-single-course-main__left .lp-course-curriculum {
	padding: 32px 28px 28px !important;
}

.lp-course-curriculum .course-curriculum-info {
	margin-top: 2px !important;
	margin-bottom: 28px !important;
	padding: 16px 20px !important;
	background: #f8fbff;
	border: 1px solid #eef2f7;
	border-radius: 12px;
}

.lp-course-curriculum .course-curriculum-info__left {
	gap: 12px;
}

.lp-course-curriculum .course-curriculum-info__right {
	padding-left: 12px;
}

.lp-course-curriculum .course-toggle-all-sections {
	color: #0054A6;
	font-weight: 600;
}

.lp-course-curriculum .course-section {
	margin-bottom: 16px !important;
	border-radius: 12px !important;
	border: 1px solid #e8edf2 !important;
}

.learnpress-v4 .lp-course-curriculum {
	padding: 32px 28px 28px !important;
	background: transparent;
}

.learnpress-v4 .lp-course-curriculum .course-section {
	margin-bottom: 16px !important;
	border: 1px solid #e8edf2 !important;
	border-radius: 12px !important;
}

.learnpress-v4 .lp-course-curriculum .course-section:last-child {
	margin-bottom: 0 !important;
	border-width: 1px !important;
}

.learnpress-v4 .lp-course-curriculum .course-section-header {
	padding: 22px 24px !important;
	background: #f8fbff !important;
}

.learnpress-v4 .lp-course-curriculum .course-section__description {
	margin-top: 14px !important;
	padding: 0 0 4px !important;
	line-height: 1.65;
	color: #526580;
	font-size: 0.95rem;
}

.learnpress-v4 .lp-course-curriculum .course-item {
	padding: 14px 24px !important;
}

.lp-course-curriculum .course-section .course-section-header {
	padding: 22px 24px !important;
}

.lp-course-curriculum .course-section__title {
	line-height: 1.4;
}

.lp-course-curriculum .course-section__description {
	margin-top: 14px !important;
	padding-bottom: 8px;
	line-height: 1.65;
	color: #526580;
	font-size: 0.95rem;
}

.lp-course-curriculum .course-section .course-item {
	padding: 14px 24px !important;
}

.course-curriculum .section-header {
	padding: 22px 0 !important;
}

.course-curriculum .section-header .section-desc {
	margin-top: 14px !important;
	margin-bottom: 6px;
	line-height: 1.6;
}

/* Sidebar: postęp + metadane — więcej oddechu */
.lp-single-course-main__right__inner {
	padding: 28px !important;
}

.lp-single-course .lp-single-course-main .course-img {
	margin: -28px -28px 24px -28px !important;
}

.lp-single-course-main__right__inner > div {
	margin-bottom: 26px !important;
}

.lp-single-course-main__right__inner > div:last-child {
	margin-bottom: 0 !important;
}

.info-learning {
	padding: 6px 4px 22px !important;
	margin-bottom: 6px !important;
	border-bottom: 1px solid #e8edf2;
}

.info-learning .course-progress {
	margin-bottom: 0 !important;
	padding-bottom: 0;
}

.info-learning .course-progress__label {
	display: block !important;
	color: #0054A6 !important;
	font-weight: 700 !important;
	font-size: 0.95rem;
	margin-bottom: 10px !important;
	line-height: 1.45;
}

.info-learning .course-progress__label + .course-progress__line {
	margin-top: 2px;
	margin-bottom: 22px !important;
}

.info-learning .course-progress__line + .course-progress__label {
	margin-top: 6px !important;
	padding-top: 4px;
}

.info-learning .course-progress__number,
.info-learning .course-progress__number .number {
	color: #0054A6 !important;
	font-weight: 700 !important;
}

.info-learning .course-progress__line {
	height: 8px !important;
	border-radius: 8px !important;
}

.info-learning .start-date,
.info-learning .end-date {
	margin-top: 16px;
	padding-top: 6px;
	line-height: 1.5;
}

.lp-single-course .lp-single-course-main .info-metas {
	padding: 4px 4px 10px;
}

.lp-single-course .lp-single-course-main .info-metas .info-meta-item {
	margin-bottom: 18px !important;
	gap: 12px;
}

.lp-single-course .lp-single-course-main .course-buttons {
	padding-top: 6px;
	margin-top: 4px !important;
}

.course-summary-sidebar .course-results-progress .items-progress,
.course-summary-sidebar .course-results-progress .course-progress {
	margin-bottom: 18px !important;
	padding-bottom: 6px;
}

.course-summary-sidebar .course-results-progress .items-progress__heading,
.course-summary-sidebar .course-results-progress .course-progress .items-progress__heading {
	margin-bottom: 12px !important;
}

.lp-single-course-main__left h2,
.lp-single-course-main__left h3,
.lp-entry-content h2,
.lp-entry-content h3 {
	color: #0054A6;
	letter-spacing: -0.02em;
}

.course-curriculum,
.lp-course-curriculum {
	border-radius: 16px;
	border: 1px solid #e8edf2;
	background: #fff;
	box-shadow: 0 6px 26px rgba(0, 84, 166, 0.06);
	overflow: hidden;
}

.course-curriculum .section-header,
.lp-course-curriculum .course-section__header {
	background: #f8fbff;
}

.course-curriculum .section-content,
.lp-course-curriculum .course-section__items {
	padding: 6px 0;
}

.lp-single-course-main__right__inner,
.course-summary-sidebar__inner {
	border-radius: 16px;
	border: 1px solid #e8edf2;
	box-shadow: 0 6px 26px rgba(0, 84, 166, 0.06);
	overflow: hidden;
	background: #fff;
}
