/* LMS Theme — strona kursu
   Szablon: tutor/single-course.php. Karta zakupu to znaczniki Tutor LMS (zeby
   zachowac jego logike zapisu) - tutaj dostaje wyglad z makiety. Opinie rysuje motyw. */

/* ---------- Naglowek kursu ---------- */

.lms-course-hero {
	position: relative;
	padding-bottom: 40px;
	background:
		radial-gradient(45% 80% at 62% 30%, rgba(225, 48, 108, 0.07), transparent 70%),
		radial-gradient(40% 70% at 100% 0%, rgba(131, 58, 180, 0.08), transparent 70%);
}

.lms-course-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.95fr) minmax(280px, 0.8fr);
	align-items: start;
	gap: 36px;
	padding-top: 8px;
}

.lms-company-chip {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
}

.lms-company-chip__name {
	display: block;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 600;
	color: var(--lms-text);
}

.lms-course-hero__title {
	margin: 0 0 16px;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.lms-course-hero .lms-lead {
	margin-bottom: 24px;
	font-size: 17px;
}

/* Wideo / miniatura */

.lms-course-media {
	position: relative;
	overflow: hidden;
	border-radius: 28px;
	background: var(--lms-gradient-soft);
	box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.6), 0 24px 60px rgba(131, 58, 180, 0.18);
	aspect-ratio: 16 / 11;
}

.lms-course-media > img,
.lms-course-media .tutor-course-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lms-course-media .tutor-video-player,
.lms-course-media .tutor-video-player-wrapper,
.lms-course-media .plyr,
.lms-course-media iframe,
.lms-course-media video {
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 0;
}

/* ---------- Karta zakupu ---------- */

.lms-buybox {
	padding: 24px;
	border: 1px solid var(--lms-border);
	border-radius: var(--lms-radius-card);
	background: var(--lms-surface);
	box-shadow: var(--lms-shadow-elevated);
}

.lms-buybox .tutor-sidebar-card {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.lms-buybox .tutor-sidebar-card > .tutor-card-body {
	padding: 0;
	background: transparent;
}

.lms-buybox .tutor-sidebar-card > .tutor-card-body > div + div,
.lms-buybox .tutor-sidebar-card > .tutor-card-body form {
	margin-top: 16px;
}

.lms-buybox .tutor-sidebar-card > .tutor-card-footer {
	margin-top: 20px;
	padding: 20px 0 0;
	border-top: 1px solid var(--lms-border);
	background: transparent;
}

.lms-buybox .tutor-course-sidebar-card-pricing .tutor-fs-4,
.lms-buybox .tutor-course-single-pricing .tutor-fs-4 {
	font-family: var(--lms-font);
	font-size: 32px;
	line-height: 1.2;
	font-weight: 800;
	color: var(--lms-text);
}

.lms-buybox .tutor-course-sidebar-card-pricing del {
	font-size: 16px;
	color: var(--lms-muted);
}

/* Cena w zapisie motywu ("199 zł", cena przed obnizka, procent obnizki) - inc/tutor.php. */
.lms-buybox__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 12px;
}

.lms-buybox__now {
	font-size: 32px;
	line-height: 1.2;
	font-weight: 800;
	color: var(--lms-text);
}

.lms-buybox__was {
	font-size: 16px;
	color: var(--lms-muted);
}

.lms-buybox__price .lms-badge {
	align-self: center;
}

/* Przycisk "Zapisz sie" nie ma ikony koszyka. */
.lms-buybox .tutor-btn .tutor-icon-cart-line,
.lms-buybox .tutor-btn .tutor-icon-cart-filled {
	display: none;
}

.lms-buybox .tutor-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 52px;
	border-radius: var(--lms-radius-control);
	font-family: var(--lms-font);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.lms-buybox .tutor-btn.tutor-btn-primary {
	border: 0;
	background: var(--lms-gradient);
	color: #fff;
	box-shadow: var(--lms-shadow-glow);
}

.lms-buybox .tutor-btn.tutor-btn-primary:hover {
	transform: translateY(-1px);
	color: #fff;
}

.lms-buybox .tutor-btn.tutor-btn-outline-primary {
	border: 1.5px solid var(--lms-purple);
	background: transparent;
	color: var(--lms-purple);
}

.lms-buybox .tutor-btn.tutor-btn-outline-primary:hover {
	background: var(--lms-purple);
	color: #fff;
}

.lms-buybox .tutor-ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lms-buybox .tutor-ul li,
.lms-buybox__includes li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14px;
	line-height: 22px;
	color: var(--lms-text-2);
}

.lms-buybox .tutor-ul li > span:first-child {
	color: var(--lms-purple);
	font-size: 18px;
}

.lms-buybox .tutor-ul .tutor-fs-6 {
	font-size: 14px;
	color: var(--lms-text-2);
}

.lms-buybox__includes {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--lms-border);
}

.lms-buybox__title {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0;
}

.lms-buybox__includes ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lms-buybox__includes .lms-icon {
	margin-top: 2px;
	color: var(--lms-purple);
}

.lms-buybox .tutor-progress-bar {
	--tutor-color-primary: var(--lms-purple);
}

/* ---------- Tresc ---------- */

.lms-course__body {
	padding-top: 40px;
}

.lms-course__split {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: start;
	gap: 40px var(--lms-gap);
}

.lms-course__split--people {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
}

.lms-course__split--single {
	grid-template-columns: minmax(0, 1fr);
}

/* Rowny odstep miedzy kolejnymi blokami strony kursu. */
.lms-course__body > * + * {
	margin-top: 56px;
}

.lms-course__body > .lms-cta-banner {
	margin-top: var(--lms-section);
}

.lms-course__section {
	scroll-margin-top: calc(var(--lms-header-h) + 80px);
}

/* Czego sie nauczysz */

.lms-benefits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lms-course__split--single .lms-benefits {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lms-benefit {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 20px;
	border-radius: var(--lms-radius-md);
}

.lms-benefit__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--lms-tone-bg);
	color: var(--lms-tone);
}

.lms-benefit__text {
	padding-top: 2px;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--lms-text);
}

/* Program kursu */

.lms-program {
	display: grid;
	gap: 8px;
}

.lms-program__item {
	border: 1px solid var(--lms-border);
	border-radius: 14px;
	background: var(--lms-surface);
}

.lms-program__head {
	margin: 0;
	font-size: inherit;
	letter-spacing: 0;
}

.lms-program__btn {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 52px;
	padding: 8px 16px 8px 10px;
	border: 0;
	border-radius: 14px;
	background: transparent;
	color: var(--lms-text);
	font-family: var(--lms-font);
	font-size: 15px;
	line-height: 1.4;
	font-weight: 600;
	text-align: left;
	white-space: normal;
	cursor: pointer;
}

.lms-program__btn:hover,
.lms-program__btn:focus {
	background: var(--lms-surface-2);
	color: var(--lms-text);
}

.lms-program__btn[disabled] {
	cursor: default;
	opacity: 1;
}

.lms-program__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: var(--lms-tint-purple);
	color: var(--lms-purple);
	font-size: 14px;
	font-weight: 800;
}

.lms-program__title {
	flex: 1;
	min-width: 0;
}

.lms-program__meta {
	flex: none;
	font-size: 13px;
	font-weight: 500;
	color: var(--lms-muted);
}

.lms-program__btn > .lms-icon {
	color: var(--lms-muted);
	transition: transform var(--lms-ease);
}

.lms-program__btn[aria-expanded="true"] > .lms-icon {
	transform: rotate(180deg);
}

.lms-program__list {
	margin: 0;
	padding: 4px 16px 12px 56px;
	list-style: none;
}

.lms-program__list li {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	border-top: 1px solid var(--lms-border);
	font-size: 14px;
	color: var(--lms-text-2);
}

.lms-program__list li > .lms-icon:first-child {
	color: var(--lms-purple);
}

.lms-program__list li > a,
.lms-program__list li > span:not(.lms-tag):not(.lms-program__time):not(.screen-reader-text) {
	flex: 1;
	min-width: 0;
	color: var(--lms-text-2);
}

.lms-program__list a:hover {
	color: var(--lms-purple);
}

.lms-program__time,
.lms-program__lock {
	flex: none;
	font-size: 13px;
	color: var(--lms-muted);
}

/* Opis kursu i listy Tutora (wymagania, dla kogo, materialy) */

.lms-course__about {
	padding: 32px;
}

.lms-course__about .tutor-course-details-content {
	height: auto !important;
}

.lms-course__about h2,
.lms-course__about h3 {
	font-family: var(--lms-font);
	font-size: 22px !important;
	line-height: 1.3;
	font-weight: 700 !important;
	color: var(--lms-text) !important;
}

.lms-course__about .tutor-fs-6 {
	font-size: 16px;
	line-height: 1.75;
}

.lms-course__lists {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 8px 32px;
	margin-top: 8px;
}

.lms-course__lists .tutor-course-details-widget {
	margin-top: 24px !important;
}

/* Prowadzacy i firma */

.lms-person,
.lms-company-card {
	padding: 24px;
}

.lms-person {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.lms-person + .lms-person {
	margin-top: 16px;
}

.lms-person__name {
	margin: 0 0 2px;
	font-size: 18px;
}

.lms-person__job {
	margin: 0 0 10px;
	font-size: 14px;
	color: var(--lms-muted);
}

.lms-person__bio {
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
}

.lms-company-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px 32px;
}

.lms-company-card .lms-company-chip {
	margin-bottom: 14px;
}

.lms-company-card__name {
	margin: 0;
	font-size: 20px;
}

.lms-company-card__main p {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.65;
}

.lms-company-card__stats {
	display: grid;
	align-content: start;
	gap: 16px;
	margin: 0;
	padding: 0 0 0 32px;
	border-left: 1px solid var(--lms-border);
	list-style: none;
}

.lms-company-card__stats:empty {
	display: none;
}

.lms-company-card__stats li {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--lms-muted);
}

.lms-company-card__stats strong {
	display: block;
	font-size: 18px;
	font-weight: 800;
	color: var(--lms-text);
}

/* ---------- Opinie uczestnikow (inc/reviews.php) ---------- */

.lms-reviews__grid {
	display: grid;
	grid-template-columns: minmax(300px, 0.95fr) minmax(0, 2.4fr);
	align-items: stretch;
	gap: var(--lms-gap);
}

.lms-reviews__summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	padding: 24px;
}

.lms-reviews__score {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.lms-reviews__score strong {
	font-size: 44px;
	line-height: 1;
	font-weight: 800;
	color: var(--lms-text);
}

.lms-reviews__score > span:not(.lms-stars) {
	font-size: 12px;
	color: var(--lms-muted);
}

.lms-reviews__score .lms-btn {
	margin-top: 8px;
}

.lms-reviews__bars {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lms-reviews__bars li {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 38px;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	line-height: 1;
	color: var(--lms-text-2);
}

.lms-reviews__bar-label {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-weight: 600;
}

.lms-reviews__bar-label .lms-icon {
	color: var(--lms-yellow);
}

.lms-reviews__bar {
	display: block;
	height: 8px;
	overflow: hidden;
	border-radius: var(--lms-radius-pill);
	background: var(--lms-border);
}

.lms-reviews__bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--lms-gradient);
}

.lms-reviews__bar-value {
	text-align: right;
	color: var(--lms-muted);
}

.lms-reviews__more {
	margin-top: var(--lms-gap);
	text-align: center;
}

.lms-reviews__more .lms-review-cards {
	margin-bottom: var(--lms-gap);
	text-align: left;
}

.lms-reviews__more .lms-review-cards[hidden] {
	display: none;
}

.lms-reviews__more button[aria-expanded="true"] .lms-icon {
	transform: rotate(180deg);
}

.lms-reviews__empty {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 24px;
}

.lms-reviews__empty h3 {
	margin: 0 0 4px;
	font-size: 18px;
}

.lms-reviews__empty p {
	margin: 0;
	font-size: 14px;
}

.lms-reviews__empty .lms-btn {
	flex: none;
	margin-left: auto;
}

.lms-course__extra {
	padding: 32px;
}

/* ---------- Responsywnosc ---------- */

@media (max-width: 1199px) {
	.lms-course-hero__grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	}

	.lms-course-hero__buy {
		grid-column: 1 / -1;
	}

	.lms-buybox {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 40px;
	}

	.lms-buybox__includes {
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}
}

@media (max-width: 1023px) {
	.lms-course__split,
	.lms-course__split--people {
		grid-template-columns: minmax(0, 1fr);
	}

	.lms-course__split--single .lms-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lms-reviews__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.lms-course-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.lms-course-media {
		aspect-ratio: 16 / 10;
		border-radius: 20px;
	}

	.lms-buybox {
		display: block;
	}

	.lms-buybox__includes {
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid var(--lms-border);
	}

	.lms-benefits,
	.lms-course__split--single .lms-benefits {
		grid-template-columns: minmax(0, 1fr);
	}

	.lms-program__meta {
		display: none;
	}

	.lms-program__list {
		padding-left: 16px;
	}

	.lms-course__about,
	.lms-course__extra {
		padding: 24px 20px;
	}

	.lms-person {
		flex-direction: column;
	}

	.lms-company-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.lms-company-card__stats {
		padding: 20px 0 0;
		border-left: 0;
		border-top: 1px solid var(--lms-border);
	}

	.lms-reviews__summary {
		grid-template-columns: minmax(0, 1fr);
	}

	.lms-reviews__empty {
		flex-direction: column;
		align-items: flex-start;
	}

	.lms-reviews__empty .lms-btn {
		width: 100%;
		margin-left: 0;
	}
}
