/*
Theme Name: Website Style Child
Author: CubeWeb
Description: ScalpMann child theme by CubeWeb. Tutor LMS Pro 4.x, WooCommerce and ACF compatibility layer.
Version: 2.4.3
Template: ws-scalpmann
Text Domain: ws-scalpmann-child
*/

/* Place child-only custom styles here. */

/* [product] shortcode: clean and consistent */
.ws-product-showcase {
	--ws-border-color: #dce5ee;
	--ws-border-color-strong: #c7d5e2;
	--ws-text-color: #1f2a33;
	--ws-muted-color: #5f6f7d;
	--ws-radius: 8px;
	--ws-space: 14px;
	margin: 28px 0;


	font-family: inherit;
	color: var(--ws-text-color);
}

.ws-product-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

.ws-product-sidebar {
	background: #ffffff;
	border: 1px solid var(--ws-border-color);
	border-radius: var(--ws-radius);
	padding: var(--ws-space);
}

.ws-product-sidebar__title {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.ws-product-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.ws-product-sidebar__list li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ws-product-sidebar__list li::before,
.ws-product-sidebar__list li::marker {
	content: none !important;
	display: none;
}

.ws-product-sidebar__item a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	text-decoration: none;
	color: var(--ws-text-color);
	border: 1px solid var(--ws-border-color);
	border-radius: var(--ws-radius);
	padding: 8px 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	background: #ffffff;
}

.ws-product-sidebar__item.is-active a {
	border-color: var(--ws-border-color-strong);
	background: #f4f8fb;
}

.ws-product-sidebar__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	font-size: 12px;
	color: var(--ws-muted-color);
}

.ws-product-category__head {
	margin-bottom: 12px;
}

.ws-product-category__title {
	margin: 0;
	font-size: 28px !important;
	line-height: 1.15 !important;
	font-weight: 700;
	letter-spacing: 0 !important;
}

.ws-product-grid {
	display: grid;
	grid-template-columns: repeat(var(--ws-product-cols, 3), minmax(0, 1fr));
	gap: 16px;
}

.ws-product-card {
	background: #ffffff;
	border: 1px solid var(--ws-border-color);
	border-radius: var(--ws-radius);
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.ws-product-showcase .ws-product-card,
.ws-product-showcase .ws-product-sidebar,
.ws-product-showcase .ws-product-sidebar__item a,
.ws-product-showcase .ws-product-card__btn {
	border-width: 1px !important;
	border-style: solid !important;
	border-radius: var(--ws-radius) !important;
}

.ws-product-card__media {
	display: block;
	aspect-ratio: 16 / 9;
	background: #f6f8fa;
	border-bottom: 1px solid var(--ws-border-color);
}

.ws-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ws-product-card__body {
	padding: var(--ws-space);
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.ws-product-card__title {
	margin: 0;
	font-size: 22px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
}

.ws-product-card__title a {
	color: var(--ws-text-color);
	text-decoration: none;
	font-size: inherit !important;
	line-height: inherit !important;
	font-weight: inherit !important;
}

.ws-product-card__price {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--ws-text-color);
}

.ws-product-card__btn {
	display: inline-block;
	align-self: flex-start;
	border: 1px solid var(--ws-border-color-strong);
	padding: 6px 12px !important;
	text-decoration: none;
	font-size: 12px !important;
	font-weight: 600;
	color: #244e71;
	background: #f7fbff;
}

@media (max-width: 992px) {
	.ws-product-layout {
		grid-template-columns: 1fr;
	}

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

@media (max-width: 640px) {
	.ws-product-grid {
		grid-template-columns: 1fr;
	}

	.ws-product-category__title {
		font-size: 24px !important;
	}

	.ws-product-card__title {
		font-size: 20px !important;
	}
}

/* Final consistency override for provided HTML structure */
.section-margin .grid .text > .ws-product-showcase {
	--ws-radius: 8px;
	--ws-space: 12px;
	--ws-border-color: #d9e3ec;
	--ws-border-color-strong: #c6d4e1;
}

.section-margin .grid .text > .ws-product-showcase .ws-product-category__title {
	font-size: 24px !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	font-weight: 700 !important;
}

.section-margin .grid .text > .ws-product-showcase .ws-product-card__title,
.section-margin .grid .text > .ws-product-showcase .ws-product-card__title a {
	font-size: 18px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
}

.section-margin .grid .text > .ws-product-showcase .ws-product-sidebar__title {
	font-size: 11px !important;
	letter-spacing: 0.08em;
}

.section-margin .grid .text > .ws-product-showcase .ws-product-sidebar,
.section-margin .grid .text > .ws-product-showcase .ws-product-card,
.section-margin .grid .text > .ws-product-showcase .ws-product-sidebar__item a,
.section-margin .grid .text > .ws-product-showcase .ws-product-card__btn {
	border-radius: 8px !important;
}

.section-margin .grid .text > .ws-product-showcase .ws-product-card__btn {
	padding: 6px 10px !important;
	font-size: 12px !important;
	line-height: 1.2;
}

/* Sidebar spacing/heading fix */
.section-margin .grid .text > .ws-product-showcase .ws-product-sidebar {
	padding: 10px !important;
}

.section-margin .grid .text > .ws-product-showcase .ws-product-sidebar__title {
	margin: 0 0 8px !important;
	padding-left: 8px !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	letter-spacing: 0.04em !important;
	font-weight: 700 !important;
}

.section-margin .grid .text > .ws-product-showcase .ws-product-sidebar__list {
	margin: 0 !important;
	padding: 0 !important;
	gap: 6px !important;
}

.section-margin .grid .text > .ws-product-showcase .ws-product-sidebar__item a {
	padding: 7px 8px !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
}

/* Tutor courses archive: keep Tutor content/meta, update only visual layer */
body.post-type-archive-courses .tutor-course-archive-page,
body.tax-course-category .tutor-course-archive-page,
body.tax-course-tag .tutor-course-archive-page {
	padding-top: 1.5rem;
}

body.post-type-archive-courses .tutor-course-list,
body.tax-course-category .tutor-course-list,
body.tax-course-tag .tutor-course-list {
	gap: 3rem;
	align-items: stretch;
}

body.post-type-archive-courses .tutor-course-list .tutor-card.tutor-course-card,
body.tax-course-category .tutor-course-list .tutor-card.tutor-course-card,
body.tax-course-tag .tutor-course-list .tutor-card.tutor-course-card {
	background-color: #effcfc;
	border: 0;
	border-radius: 2.5rem 0 2.5rem 0;
	overflow: hidden;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: transform 0.25s ease, background-color 0.25s ease;
}

body.post-type-archive-courses .tutor-course-list .tutor-card.tutor-course-card:hover,
body.tax-course-category .tutor-course-list .tutor-card.tutor-course-card:hover,
body.tax-course-tag .tutor-course-list .tutor-card.tutor-course-card:hover {
	background-color: #d0efee;
	transform: translateY(-4px);
}

body.post-type-archive-courses .tutor-course-list .tutor-course-thumbnail,
body.tax-course-category .tutor-course-list .tutor-course-thumbnail,
body.tax-course-tag .tutor-course-list .tutor-course-thumbnail {
	border-radius: 0;
	overflow: hidden;
}

body.post-type-archive-courses .tutor-course-list .tutor-course-thumbnail img,
body.tax-course-category .tutor-course-list .tutor-course-thumbnail img,
body.tax-course-tag .tutor-course-list .tutor-course-thumbnail img {
	width: 100%;
	height: 22rem;
	object-fit: cover;
}

body.post-type-archive-courses .tutor-course-list .tutor-card-body,
body.tax-course-category .tutor-course-list .tutor-card-body,
body.tax-course-tag .tutor-course-list .tutor-card-body {
	padding: 3rem 2.4rem 2rem;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 1.4rem;
}

body.post-type-archive-courses .tutor-course-list .tutor-course-name,
body.tax-course-category .tutor-course-list .tutor-course-name,
body.tax-course-tag .tutor-course-list .tutor-course-name {
	font-size: 3.2rem;
	line-height: 1.2;
	font-weight: 500;
	color: #24564a;
	margin: 0;
}

body.post-type-archive-courses .tutor-course-list .tutor-course-name a,
body.tax-course-category .tutor-course-list .tutor-course-name a,
body.tax-course-tag .tutor-course-list .tutor-course-name a {
	color: inherit;
	text-decoration: none;
}

body.post-type-archive-courses .tutor-course-list .tutor-meta,
body.tax-course-category .tutor-course-list .tutor-meta,
body.tax-course-tag .tutor-course-list .tutor-meta {
	color: #24564a;
	font-size: 1.5rem;
	line-height: 1.45;
}

body.post-type-archive-courses .tutor-course-list .tutor-meta.tutor-mt-auto,
body.tax-course-category .tutor-course-list .tutor-meta.tutor-mt-auto,
body.tax-course-tag .tutor-course-list .tutor-meta.tutor-mt-auto {
	margin-top: auto;
	padding-top: 1.6rem;
	border-top: 1px solid #c2dfd4;
}

body.post-type-archive-courses .tutor-course-list .tutor-avatar,
body.tax-course-category .tutor-course-list .tutor-avatar,
body.tax-course-tag .tutor-course-list .tutor-avatar {
	width: 4.2rem;
	height: 4.2rem;
}

body.post-type-archive-courses .tutor-course-list .tutor-card-footer,
body.tax-course-category .tutor-course-list .tutor-card-footer,
body.tax-course-tag .tutor-course-list .tutor-card-footer {
	padding: 2rem 2.4rem 2.6rem;
	border-top: 1px solid #c2dfd4;
	margin-top: 0;
	background: transparent;
}

body.post-type-archive-courses .tutor-course-list .tutor-course-price,
body.post-type-archive-courses .tutor-course-list .price,
body.tax-course-category .tutor-course-list .tutor-course-price,
body.tax-course-category .tutor-course-list .price,
body.tax-course-tag .tutor-course-list .tutor-course-price,
body.tax-course-tag .tutor-course-list .price {
	font-size: 2.1rem;
	font-weight: 600;
	color: #20a5a1;
}

body.post-type-archive-courses .tutor-course-list .tutor-course-list-btn,
body.post-type-archive-courses .tutor-course-list .list-item-button,
body.tax-course-category .tutor-course-list .tutor-course-list-btn,
body.tax-course-category .tutor-course-list .list-item-button,
body.tax-course-tag .tutor-course-list .tutor-course-list-btn,
body.tax-course-tag .tutor-course-list .list-item-button {
	margin-left: auto;
}

body.post-type-archive-courses .tutor-course-list .tutor-btn,
body.post-type-archive-courses .tutor-course-list .add_to_cart_button,
body.tax-course-category .tutor-course-list .tutor-btn,
body.tax-course-category .tutor-course-list .add_to_cart_button,
body.tax-course-tag .tutor-course-list .tutor-btn,
body.tax-course-tag .tutor-course-list .add_to_cart_button {
	border: 2px solid #20a5a1;
	background: transparent;
	color: #20a5a1;
	border-radius: 99px;
	padding: 1rem 2.2rem;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
}

body.post-type-archive-courses .tutor-course-list .tutor-btn:hover,
body.post-type-archive-courses .tutor-course-list .add_to_cart_button:hover,
body.tax-course-category .tutor-course-list .tutor-btn:hover,
body.tax-course-category .tutor-course-list .add_to_cart_button:hover,
body.tax-course-tag .tutor-course-list .tutor-btn:hover,
body.tax-course-tag .tutor-course-list .add_to_cart_button:hover {
	background: #20a5a1;
	color: #fff;
}

@media (min-width: 768px) {
	body.post-type-archive-courses .tutor-course-list .tutor-card.tutor-course-card,
	body.tax-course-category .tutor-course-list .tutor-card.tutor-course-card,
	body.tax-course-tag .tutor-course-list .tutor-card.tutor-course-card {
		border-radius: 5rem 0 5rem 0;
	}

	body.post-type-archive-courses .tutor-course-list .tutor-card-body,
	body.tax-course-category .tutor-course-list .tutor-card-body,
	body.tax-course-tag .tutor-course-list .tutor-card-body {
		padding: 4rem 3rem 2.4rem;
	}

	body.post-type-archive-courses .tutor-course-list .tutor-card-footer,
	body.tax-course-category .tutor-course-list .tutor-card-footer,
	body.tax-course-tag .tutor-course-list .tutor-card-footer {
		padding: 2.2rem 3rem 3rem;
	}
}

/* Course card price: del i ins jedno pod drugim, bez łamania w środku liczby */
body.post-type-archive-courses .tutor-course-loop-price .price,
body.tax-course-category .tutor-course-loop-price .price,
body.tax-course-tag .tutor-course-loop-price .price {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2px !important;
}

body.post-type-archive-courses .tutor-course-loop-price .price del,
body.post-type-archive-courses .tutor-course-loop-price .price ins,
body.tax-course-category .tutor-course-loop-price .price del,
body.tax-course-category .tutor-course-loop-price .price ins,
body.tax-course-tag .tutor-course-loop-price .price del,
body.tax-course-tag .tutor-course-loop-price .price ins {
	white-space: nowrap !important;
}

/* Tutor single course: stronger typography for readability */
body.single-courses .tutor-course-details-page {
	font-size: 1.7rem;
}

body.single-courses .tutor-course-details-title {
	font-size: 4.4rem !important;
	line-height: 1.15 !important;
}

body.single-courses .tutor-course-details-ratings,
body.single-courses .tutor-course-details-info,
body.single-courses .tutor-course-details-top,
body.single-courses .tutor-meta,
body.single-courses .tutor-tab .tutor-fs-6,
body.single-courses .tutor-course-details-content,
body.single-courses .tutor-course-details-content p,
body.single-courses .tutor-course-details-content li {
	font-size: 1.8rem !important;
	line-height: 1.55 !important;
}

body.single-courses .tutor-tab .tutor-fs-5,
body.single-courses .tutor-course-content-title,
body.single-courses .tutor-course-details-widget-title {
	font-size: 2.8rem !important;
	line-height: 1.25 !important;
}

body.single-courses .tutor-sidebar-card .tutor-fs-4,
body.single-courses .tutor-sidebar-card .tutor-course-price {
	font-size: 3.6rem !important;
	line-height: 1.15 !important;
}

body.single-courses .tutor-sidebar-card .tutor-fs-5 {
	font-size: 2.4rem !important;
}

body.single-courses .tutor-sidebar-card .tutor-fs-6,
body.single-courses .tutor-sidebar-card .tutor-fs-7,
body.single-courses .tutor-sidebar-card li,
body.single-courses .tutor-sidebar-card p,
body.single-courses .tutor-sidebar-card span {
	font-size: 1.7rem !important;
	line-height: 1.5 !important;
}

body.single-courses .tutor-btn,
body.single-courses .tutor-btn-lg,
body.single-courses .tutor-btn-md,
body.single-courses .tutor-add-to-cart-button {
	font-size: 1.8rem !important;
	line-height: 1.25 !important;
}

@media (max-width: 991px) {
	body.single-courses .tutor-course-details-title {
		font-size: 3.4rem !important;
	}

	body.single-courses .tutor-tab .tutor-fs-5,
	body.single-courses .tutor-course-content-title,
	body.single-courses .tutor-course-details-widget-title {
		font-size: 2.4rem !important;
	}

	body.single-courses .tutor-sidebar-card .tutor-fs-4,
	body.single-courses .tutor-sidebar-card .tutor-course-price {
		font-size: 3rem !important;
	}
}

/* Tutor layering: keep close button visible and tabs below menu/header */
body.post-type-archive-courses .header,
body.tax-course-category .header,
body.tax-course-tag .header,
body.single-courses .header {
	z-index: 2100;
}

body.post-type-archive-courses .nav,
body.tax-course-category .nav,
body.tax-course-tag .nav,
body.single-courses .nav {
	z-index: 2090;
}

body.post-type-archive-courses .header__wrapper,
body.tax-course-category .header__wrapper,
body.tax-course-tag .header__wrapper,
body.single-courses .header__wrapper {
	z-index: 2200;
}

body.post-type-archive-courses .tutor-is-sticky,
body.tax-course-category .tutor-is-sticky,
body.tax-course-tag .tutor-is-sticky,
body.single-courses .tutor-is-sticky {
	z-index: 1;
}

/* Tutor single: clearer collapsed description (no gradient overlay) */
body.single-courses .tutor-course-details-content.tutor-toggle-more-collapsed,
body.single-courses .tutor-toggle-more-content.tutor-toggle-more-collapsed {
	position: relative;
	overflow: hidden;
	padding-bottom: 1.4rem;
	border-bottom: 2px solid rgba(6, 69, 82, 0.35);
}

body.single-courses .tutor-course-details-content.tutor-toggle-more-collapsed::after,
body.single-courses .tutor-toggle-more-content.tutor-toggle-more-collapsed::after {
	content: none !important;
	display: none !important;
}

body.single-courses .tutor-course-details-content.tutor-toggle-more-collapsed::before,
body.single-courses .tutor-toggle-more-content.tutor-toggle-more-collapsed::before {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Tutor single: clearer CTA for content toggle */
body.single-courses .tutor-btn-show-more.tutor-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	margin-top: 2rem !important;
	padding: 1rem 1.8rem !important;
	min-height: 4.2rem;
	border: 2px solid #20a5a1;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	font-size: 1.7rem !important;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

body.single-courses .tutor-btn-show-more.tutor-btn:hover {
	background: #20a5a1;
	border-color: #20a5a1;
	color: #ffffff;
}

/* Tutor single: improve readability of meta above thumbnail/cart */
body.single-courses .tutor-course-details-info {
	display: none !important;
}

body.single-courses .tutor-course-details-title {
	color: #ffffff;
	text-wrap: balance;
}

body.single-courses .tutor-course-details-top .tutor-course-details-info > div {
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 1.25rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.45);
	background: rgba(255, 255, 255, 0.28);
	color: #ffffff;
	font-size: 1.45rem !important;
	font-weight: 600;
	line-height: 1.2;
}

body.single-courses .tutor-course-details-actions {
	display: flex;
	gap: 0.8rem;
	flex-wrap: wrap;
}

body.single-courses .tutor-course-details-actions .tutor-btn-ghost {
	padding: 0.75rem 1.3rem !important;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: rgba(255, 255, 255, 0.28);
	color: #ffffff;
	font-size: 1.35rem !important;
	font-weight: 600;
	line-height: 1.2;
}

body.single-courses .tutor-course-details-actions .tutor-btn-ghost:hover {
	background: rgba(255, 255, 255, 0.36);
	border-color: rgba(255, 255, 255, 0.62);
	color: #ffffff;
}

/* Tutor single: force white text for description and small curriculum tiles */
body.single-courses .tutor-course-details-content,
body.single-courses .tutor-course-details-content p,
body.single-courses .tutor-course-details-content li,
body.single-courses .tutor-tab .tutor-nav-link,
body.single-courses .tutor-tab .tutor-nav-link span,
body.single-courses .tutor-course-topic,
body.single-courses .tutor-course-topic-title,
body.single-courses .tutor-course-content-title,
body.single-courses .tutor-course-topic-item,
body.single-courses .tutor-course-topic-item a,
body.single-courses .tutor-course-topic-item span,
body.single-courses .tutor-course-topic-item i {
	color: #ffffff !important;
}



/* Tutor single: improve instructor card readability */
body.single-courses .tutor-course-details-instructors h3 {
	font-size: 1.8rem !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	margin-bottom: 1.2rem !important;
}

body.single-courses .tutor-course-details-instructors a.tutor-fs-6 {
	font-size: 1.8rem !important;
	line-height: 1.3 !important;
}

/* Tutor single: force white on all text in "O kursie" content block,
   overriding Tutor utility classes (tutor-color-black, tutor-color-secondary) */
body.single-courses .tutor-course-details-content .tutor-color-black,
body.single-courses .tutor-course-details-content .tutor-color-secondary,
body.single-courses .tutor-course-details-content h1,
body.single-courses .tutor-course-details-content h2,
body.single-courses .tutor-course-details-content h3,
body.single-courses .tutor-course-details-content h4,
body.single-courses .tutor-course-details-content span,
body.single-courses .tutor-course-details-content a {
	color: #ffffff !important;
}

/* Tutor single: restore proper list/bullet styling for WYSIWYG content
   inside course description (Tutor resets list-style globally) */
body.single-courses .tutor-course-details-content .tutor-fs-6 ul,
body.single-courses .tutor-course-details-content .tutor-toggle-more-content ul {
	list-style: disc !important;
	padding-left: 1.8em !important;
	margin: 0.6em 0 1em !important;
}
body.single-courses .tutor-course-details-content .tutor-fs-6 ul li,
body.single-courses .tutor-course-details-content .tutor-toggle-more-content ul li {
	display: list-item !important;
	list-style: disc !important;
	color: #ffffff !important;
	font-size: 1.8rem !important;
	line-height: 1.55 !important;
	margin-bottom: 0.4em !important;
}
body.single-courses .tutor-course-details-content .tutor-fs-6 ol,
body.single-courses .tutor-course-details-content .tutor-toggle-more-content ol {
	list-style: decimal !important;
	padding-left: 1.8em !important;
	margin: 0.6em 0 1em !important;
}

/* Tutor single: bigger font only in sidebar-more widgets (no color change — white card bg) */
body.single-courses .tutor-single-course-sidebar-more .tutor-course-details-widget-title {
	font-size: 2.2rem !important;
	line-height: 1.25 !important;
}
body.single-courses .tutor-single-course-sidebar-more .tutor-course-details-widget-list li,
body.single-courses .tutor-single-course-sidebar-more .tutor-course-details-widget-list li span,
body.single-courses .tutor-single-course-sidebar-more .tutor-course-details-widget-list .tutor-fs-6,
body.single-courses .tutor-single-course-sidebar-more .tutor-fs-6 {
	font-size: 1.7rem !important;
	line-height: 1.55 !important;
}
body.single-courses .tutor-single-course-sidebar-more .tutor-tag-list a {
	font-size: 1.5rem !important;
}

/* Tutor single: white text for "Czego się nauczysz?" widget (main content, gradient bg) */
body.single-courses .tutor-course-details-widget-col-2 .tutor-course-details-widget-title,
body.single-courses .tutor-course-details-widget-col-2 h3,
body.single-courses .tutor-course-details-widget-col-2 .tutor-color-black,
body.single-courses .tutor-course-details-widget-col-2 .tutor-color-secondary,
body.single-courses .tutor-course-details-widget-col-2 .tutor-color-muted,
body.single-courses .tutor-course-details-widget-col-2 li span {
	color: #ffffff !important;
}

/* WooCommerce cart: clean two-column layout + empty cart state */
body.woocommerce-cart,
body.woocommerce-checkout {
	background-color: #20a5a1 !important;
}

body.woocommerce-cart main.main,
body.woocommerce-checkout main.main {
	padding-top: 124px;
}

/* WooCommerce Archive Products - Default WooCommerce Styling */
body.woocommerce-shop {
	background: #20a5a1 !important;
}

body.woocommerce-shop .article-content {
	padding: 40px 20px !important;
	border-radius: 0 !important;
	margin-top: 80px !important;
	background: transparent !important;
	max-width: 1251px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.woocommerce-shop .article-h1,
body.woocommerce-shop .page-title {
	display: none !important;
}

.article-body .woocommerce {
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

.article-body .woocommerce .page-title {
	color: #ffffff !important;
	font-size: 28px !important;
	margin-bottom: 30px !important;
	display: none !important;
}

/* Override WooCommerce columns */
.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4 {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 20px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	justify-content: start !important;
	align-content: start !important;
}

.woocommerce ul.products.columns-4 li.product,
.woocommerce-page ul.products.columns-4 li.product {
	background: #ffffff !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 12px rgba(32, 165, 161, 0.08) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	display: flex !important;
	flex-direction: column !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	height: 100% !important;
	float: none !important;
	clear: none !important;
	align-self: stretch !important;
	grid-column: 1 !important;
	margin-left: 0 !important;
}

.woocommerce ul.products.columns-4 li.product:hover,
.woocommerce-page ul.products.columns-4 li.product:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 8px 20px rgba(32, 165, 161, 0.12) !important;
}

.woocommerce ul.products.columns-4 li.product .woocommerce-loop-product__link,
.woocommerce-page ul.products.columns-4 li.product .woocommerce-loop-product__link {
	display: flex !important;
	flex-direction: column !important;
	text-decoration: none !important;
	color: inherit !important;
	flex: 1 !important;
	padding: 0 !important;
}

.woocommerce ul.products.columns-4 li.product img,
.woocommerce-page ul.products.columns-4 li.product img {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	transition: transform 0.3s ease !important;
	height: auto !important;
}

.woocommerce ul.products.columns-4 li.product:hover img,
.woocommerce-page ul.products.columns-4 li.product:hover img {
	transform: scale(1.05) !important;
}

.woocommerce ul.products.columns-4 h2.woocommerce-loop-product__title,
.woocommerce-page ul.products.columns-4 h2.woocommerce-loop-product__title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1f3f48 !important;
	margin: 0 20px 12px 20px !important;
	line-height: 1.25 !important;
	padding: 16px 0 0 0 !important;
}

.woocommerce ul.products.columns-4 .price,
.woocommerce-page ul.products.columns-4 .price {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #20a5a1 !important;
	margin: 0 20px 12px 20px !important;
	display: block !important;
}

.woocommerce ul.products.columns-4 .button,
.woocommerce-page ul.products.columns-4 .button {
	background: #20a5a1 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 12px !important;
	padding: 12px 20px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	margin: auto 20px 20px 20px !important;
	display: inline-block !important;
	min-width: 150px !important;
	text-align: center !important;
}

.woocommerce ul.products.columns-4 .button:hover,
.woocommerce-page ul.products.columns-4 .button:hover {
	background: #1a8a85 !important;
	box-shadow: 0 4px 12px rgba(32, 165, 161, 0.2) !important;
}

@media (max-width: 1024px) {
	.woocommerce ul.products.columns-4,
	.woocommerce-page ul.products.columns-4 {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 640px) {
	.woocommerce ul.products.columns-4,
	.woocommerce-page ul.products.columns-4 {
		grid-template-columns: 1fr !important;
	}
}

body.woocommerce-cart {
	--ws-cart-bg: #ffffff;
	--ws-cart-border: #dce8f3;
	--ws-cart-border-strong: #c5d8ea;
	--ws-cart-text: #203040;
	--ws-cart-muted: #6a7f92;
	--ws-cart-accent: #2f6fa6;
	--ws-cart-accent-soft: #eef5fc;
	--ws-cart-radius: 16px;
	--ws-cart-shadow: 0 10px 26px rgba(34, 86, 128, 0.09);
}

body.woocommerce-cart .article-content {
	max-width: 1220px;
	margin: 0 auto;
	padding: 24px 0 30px;
}

body.woocommerce-cart .article-content > .article-h1 {
	margin-bottom: 24px;
	color: var(--ws-cart-text);
}

body.woocommerce-cart .wc-block-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
	align-items: start;
}

body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 360px !important;
	gap: 24px;
	align-items: start;
}

body.woocommerce-cart .wc-block-cart__main {
	grid-column: 1;
}

body.woocommerce-cart .wc-block-cart__sidebar {
	grid-column: 2;
}

body.woocommerce-cart .wc-block-cart > div:empty {
	display: none;
}

@media (min-width: 981px) {
	body.woocommerce-cart .wc-block-cart {
		grid-template-columns: minmax(0, 1fr) 360px !important;
	}
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals {
	background: var(--ws-cart-bg);
	border: 1px solid var(--ws-cart-border);
	border-radius: var(--ws-cart-radius);
	box-shadow: var(--ws-cart-shadow);
}

/* Tutor dashboard styling moved to assets/css/tutor-dashboard.css in 2.4.1. */

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .woocommerce-cart-form {
	padding: 22px;
	overflow: hidden;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .cart_totals {
	padding: 18px;
	position: sticky;
	top: 24px;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-button {
	display: flex !important;
	width: 100% !important;
	justify-content: center;
	align-items: center;
	min-height: 46px;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-button__text {
	width: auto !important;
	display: inline !important;
}

body.woocommerce-cart .wc-block-cart__submit-container {
	margin-top: 12px;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart table.shop_table {
	margin: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row,
body.woocommerce-cart table.shop_table tbody tr {
	border-bottom: 1px solid #e8eff6;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row:last-child,
body.woocommerce-cart table.shop_table tbody tr:last-child {
	border-bottom: 0;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-product-name,
body.woocommerce-cart table.shop_table td.product-name a {
	font-weight: 700;
	font-size: 1.7rem;
	line-height: 1.3;
	color: var(--ws-cart-text);
	text-decoration: none;
}

body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-formatted-money-amount,
body.woocommerce-cart table.shop_table td.product-price,
body.woocommerce-cart table.shop_table td.product-subtotal {
	font-weight: 700;
	color: #18364f;
}

body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .quantity .qty {
	border: 1px solid var(--ws-cart-border-strong);
	border-radius: 10px;
	background: #fff;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .cart_totals table {
	border-top: 1px solid #e8eff6;
	padding-top: 14px;
	margin-top: 12px;
}

body.woocommerce-cart .wc-block-components-button,
body.woocommerce-cart .button,
body.woocommerce-cart .checkout-button,
body.woocommerce-cart .wp-element-button {
	border-radius: 999px !important;
	border: 1px solid var(--ws-cart-accent) !important;
	background: var(--ws-cart-accent) !important;
	color: #fff !important;
	font-weight: 700;
	letter-spacing: 0.01em;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
	box-shadow: 0 8px 18px rgba(47, 111, 166, 0.24);
}

body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-cart .button:hover,
body.woocommerce-cart .checkout-button:hover,
body.woocommerce-cart .wp-element-button:hover {
	background: #285f8f !important;
	transform: translateY(-1px);
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wc-empty-cart-message,
body.woocommerce-cart .woocommerce-info {
	margin: 0 0 18px;
	padding: 16px 18px;
	border: 1px solid var(--ws-cart-border-strong);
	border-radius: 12px;
	background: linear-gradient(180deg, #f8fbff 0%, #f2f8ff 100%);
	color: #214463;
	font-weight: 700;
	box-shadow: 0 6px 18px rgba(39, 93, 136, 0.1);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	background: var(--ws-cart-bg);
	border: 1px solid var(--ws-cart-border);
	border-radius: var(--ws-cart-radius);
	box-shadow: var(--ws-cart-shadow);
	padding: 24px;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2 {
	color: var(--ws-cart-text);
	margin: 18px 0 14px;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	background: #fff;
	border: 1px solid var(--ws-cart-border);
	border-radius: 12px;
	padding: 14px;
	box-shadow: 0 6px 16px rgba(41, 90, 130, 0.08);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 10px;
	background: #f3f8fd;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ws-cart-text);
	text-decoration: none;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
	font-weight: 700;
	color: #1b3f5e;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
	margin-top: 12px;
}

@media (max-width: 860px) {
	body.woocommerce-cart .wc-block-cart {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
	body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wc-block-cart__sidebar {
		grid-column: auto;
	}

	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart .cart_totals {
		position: static;
	}

	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	body.woocommerce-cart .article-content > .article-h1 {
		margin-bottom: 18px;
	}

	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart .cart_totals,
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
		padding: 16px;
		border-radius: 12px;
	}

	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
		grid-template-columns: 1fr;
	}
}

/* Woo cart row alignment tune-up (block cart table variant) */
body.woocommerce-cart .wc-block-cart-items {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
}

body.woocommerce-cart .wc-block-cart-items thead th {
	font-size: 1.5rem;
	font-weight: 700;
	color: #223b52;
	padding: 10px 8px 14px;
	border-bottom: 1px solid #e4edf6;
}

body.woocommerce-cart .wc-block-cart-items thead th:nth-child(1) {
	width: 108px;
}

body.woocommerce-cart .wc-block-cart-items thead th:nth-child(3) {
	width: 170px;
	text-align: right;
}

body.woocommerce-cart .wc-block-cart-items td {
	vertical-align: top;
	padding: 14px 8px;
	border-bottom: 1px solid #e8eff6;
}

body.woocommerce-cart .wc-block-cart-items tbody tr:last-child td {
	border-bottom: 0;
}

body.woocommerce-cart .wc-block-cart-item__image {
	width: 88px;
	min-width: 88px;
}

body.woocommerce-cart .wc-block-cart-item__image img {
	width: 88px !important;
	height: 88px !important;
	max-width: none;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid #dce8f3;
	background: #f5f9fd;
	display: block;
}

body.woocommerce-cart .wc-block-cart-item__wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

body.woocommerce-cart .wc-block-components-product-name {
	display: block;
	margin: 2px 0 0;
	font-size: 2.6rem;
	line-height: 1.15;
	font-weight: 700;
	color: #132f47;
	word-break: break-word;
}

/* Hide duplicate unit price in details column; keep only "Lacznie" price column. */
body.woocommerce-cart .wc-block-cart-item__product .wc-block-cart-item__prices {
	display: none;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details {
	margin: 0;
	color: #627a90;
	font-size: 1.35rem;
	line-height: 1.4;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
	margin-top: 2px;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: center;
	height: 40px;
	border-radius: 10px;
	overflow: hidden;
}

body.woocommerce-cart .wc-block-components-quantity-selector input {
	min-width: 44px;
	text-align: center;
	font-weight: 700;
	color: #18364f;
}

body.woocommerce-cart .wc-block-cart-item__total {
	text-align: right;
	white-space: nowrap;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.1;
	color: #153b5a;
}

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-components-product-remove-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: 6px;
	border: 1px solid #d9e7f5;
	border-radius: 999px;
	color: #3e5f80;
	text-decoration: none;
	background: #f7fbff;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart .wc-block-components-product-remove-button:hover {
	background: #eef6ff;
	border-color: #bed3e7;
	color: #204c73;
}

@media (max-width: 760px) {
	body.woocommerce-cart .wc-block-cart-items thead {
		display: none;
	}

	body.woocommerce-cart .wc-block-cart-items,
	body.woocommerce-cart .wc-block-cart-items tbody,
	body.woocommerce-cart .wc-block-cart-items tr,
	body.woocommerce-cart .wc-block-cart-items td {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart .wc-block-cart-items tr {
		padding: 12px;
		border: 1px solid #dfeaf5;
		border-radius: 12px;
		margin-bottom: 12px;
	}

	body.woocommerce-cart .wc-block-cart-item__image,
	body.woocommerce-cart .wc-block-cart-item__product,
	body.woocommerce-cart .wc-block-cart-item__total {
		text-align: left;
	}

	body.woocommerce-cart .wc-block-cart-item__total {
		margin-top: 6px;
	}

	body.woocommerce-cart .wc-block-components-product-name {
		font-size: 2.6rem;
	}

	body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
		font-size: 3rem;
	}
}

/* Classic cart table (rendered via [woocommerce_cart]) */
body.woocommerce-cart .woocommerce-cart-form {
	padding: 18px;
	background: #fff;
	border: 1px solid #dce8f3;
	border-radius: 16px;
	box-shadow: 0 10px 26px rgba(34, 86, 128, 0.09);
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	margin: 0;
}

body.woocommerce-cart .woocommerce-cart-form thead th {
	border: 0;
	border-bottom: 1px solid #e4edf6;
	padding: 8px 10px 14px;
	font-size: 1.5rem;
	font-weight: 700;
	color: #223b52;
}

body.woocommerce-cart .woocommerce-cart-form td {
	border: 0;
	border-bottom: 1px solid #e8eff6;
	padding: 16px 10px;
	vertical-align: top;
}

body.woocommerce-cart .woocommerce-cart-form tr:last-child td {
	border-bottom: 0;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid #dce8f3;
	background: #f5f9fd;
}

body.woocommerce-cart .woocommerce-cart-form .product-name a {
	font-size: 2.3rem;
	line-height: 1.15;
	font-weight: 700;
	color: #132f47;
	text-decoration: none;
}

body.woocommerce-cart .woocommerce-cart-form .product-price,
body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
	font-size: 2.3rem;
	line-height: 1.1;
	font-weight: 700;
	color: #153b5a;
	white-space: nowrap;
}



body.woocommerce-cart .article-content > .article-h1,
body.woocommerce-checkout .article-content > .article-h1 {
	color: #ffffff;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid #d9e7f5;
	border-radius: 999px;
	color: #3e5f80 !important;
	background: #f7fbff;
	font-size: 2rem;
	line-height: 1;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove:hover {
	background: #eef6ff;
	border-color: #bed3e7;
	color: #204c73 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	padding: 20px;
	background: #fff;
	border: 1px solid #dce8f3;
	border-radius: 16px;
	box-shadow: 0 10px 26px rgba(34, 86, 128, 0.09);
}

/* ── Custom login form [ws_login_form] ─────────────────────────────────── */
body:has(.ws-login-wrap) {
	background: #20a5a1 !important;
}

body:has(.ws-login-wrap) .article-h1 {
	display: none !important;
}

.ws-login-wrap {
	max-width: 420px;
	margin: 125px auto 40px;
	padding: 40px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 32px rgba(32, 165, 161, 0.12);
}

.ws-login-wrap #loginform,
.ws-login-wrap form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ws-login-wrap label {
	display: block;
	margin-bottom: 4px;
	font-size: 1rem;
	font-weight: 600;
	color: #1f3f48;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.ws-login-wrap input[type="text"],
.ws-login-wrap input[type="password"] {
	width: 100%;
	padding: 12px 16px;
	border: 1.5px solid #d4f2f0;
	border-radius: 10px;
	font-size: 1rem;
	color: #1f3f48;
	background: #f7fdfd;
	transition: border-color 0.2s;
	box-sizing: border-box;
}

.ws-login-wrap input[type="text"]:focus,
.ws-login-wrap input[type="password"]:focus {
	border-color: #20a5a1;
	outline: none;
	background: #fff;
}

.ws-login-wrap input[type="submit"] {
	width: 100%;
	padding: 14px;
	background: #20a5a1;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
	margin-top: 4px;
}

.ws-login-wrap input[type="submit"]:hover {
	background: #178a87;
	transform: translateY(-1px);
}

.ws-login-wrap .login-remember {
	margin-bottom: 10px;
}

.ws-login-wrap .login-remember label {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	margin-bottom: 0;
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
	cursor: pointer;
}

.ws-login-wrap .login-remember input[type="checkbox"] {
	accent-color: #20a5a1;
	width: 18px;
	height: 18px;
	min-width: 18px;
	flex-shrink: 0;
}

.ws-login-lost-pw {
	margin-top: 16px;
	text-align: center;
	font-size: 1rem;
}

.ws-login-lost-pw a {
	color: #20a5a1;
	text-decoration: none;
}

.ws-login-lost-pw a:hover {
	text-decoration: underline;
}

.ws-login-already {
	padding: 16px 20px;
	background: #d4f2f0;
	border-radius: 10px;
	color: #1f3f48;
	text-align: center;
}

.ws-login-error {
	padding: 12px 16px;
	background: #fff0f0;
	border: 1px solid #f5c6cb;
	border-radius: 10px;
	color: #c0392b;
	font-size: 0.9rem;
	margin-bottom: 8px;
}

/* === Tutor LMS lesson / quiz player === */

/* Module (topic) names in sidebar — slightly smaller */
body.single-lesson .tutor-accordion-item-header-main .tutor-fw-bold,
body.single-lesson .tutor-accordion-item-header .tutor-fw-bold,
body.single-tutor_quiz .tutor-accordion-item-header-main .tutor-fw-bold {
	font-size: 11px !important;
	line-height: 1.35 !important;
}

/* Lesson names in sidebar — bigger */
body.single-lesson .tutor-course-content-list-item-title,
body.single-lesson .tutor-course-content-list-item a,
body.single-tutor_quiz .tutor-course-content-list-item-title {
	font-size: 14px !important;
	line-height: 1.4 !important;
}
/* Hide theme navigation header on lesson/quiz/assignment player pages */
body.single-lesson .header,
body.single-tutor_quiz .header,
body.single-tutor_assignments .header {
        display: none !important;
}

/* Ensure lesson video container is visible and has proper dimensions */
body.single-lesson .tutor-video-player,
body.single-tutor_quiz .tutor-video-player {
        overflow: visible !important;
}

body.single-lesson .tutor-ratio,
body.single-tutor_quiz .tutor-ratio {
        overflow: visible !important;
}

/* "Zawartość kursu" sidebar heading — bigger */
body.single-lesson .tutor-course-single-sidebar-title .tutor-fs-6,
body.single-tutor_quiz .tutor-course-single-sidebar-title .tutor-fs-6,
body.single-tutor_assignments .tutor-course-single-sidebar-title .tutor-fs-6 {
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

/* Section/topic names in sidebar — smaller (also covers new template markup) */
body.single-lesson .tutor-course-topic-title,
body.single-tutor_quiz .tutor-course-topic-title,
body.single-tutor_assignments .tutor-course-topic-title {
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

/* Lesson names in sidebar — bigger (new template markup) */
body.single-lesson .tutor-course-topic-item-title,
body.single-tutor_quiz .tutor-course-topic-item-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

/* Sidebar — better contrast / visibility */
body.single-lesson .tutor-course-single-sidebar-wrapper,
body.single-tutor_quiz .tutor-course-single-sidebar-wrapper {
    background: rgba(255, 255, 255, 0.92) !important;
    border-left: 1px solid rgba(0, 0, 0, 0.12) !important;
}

/* Spotlight nav tabs (Przegląd / Notes / Take Note) — transparent bg, white text */
body.single-lesson .tutor-course-spotlight-wrapper .tutor-course-spotlight-nav,
body.single-tutor_quiz .tutor-course-spotlight-wrapper .tutor-course-spotlight-nav {
    background: transparent !important;
    border-bottom-color: rgba(255, 255, 255, 0.35) !important;
}
body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link,
body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link span,
body.single-lesson .tutor-course-spotlight-nav .tutor-nav-item,
body.single-tutor_quiz .tutor-course-spotlight-nav .tutor-nav-link,
body.single-tutor_quiz .tutor-course-spotlight-nav .tutor-nav-link span {
    color: #ffffff !important;
}
body.single-lesson .tutor-course-spotlight-nav svg path,
body.single-tutor_quiz .tutor-course-spotlight-nav svg path {
    fill: #ffffff !important;
}
body.single-lesson #tutor-lesson-nav-take-note-btn,
body.single-tutor_quiz #tutor-lesson-nav-take-note-btn {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    background: rgba(255, 255, 255, 0.15) !important;
}
body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link.is-active,
body.single-tutor_quiz .tutor-course-spotlight-nav .tutor-nav-link.is-active {
    border-bottom-color: #ffffff !important;
}

/* Overview tab content — bigger text */
body.single-lesson .tutor-lesson-wrapper,
body.single-lesson .tutor-lesson-wrapper p,
body.single-lesson .tutor-lesson-wrapper li,
body.single-tutor_quiz .tutor-lesson-wrapper,
body.single-tutor_quiz .tutor-lesson-wrapper p {
    font-size: 17px !important;
    line-height: 1.65 !important;
    color: #ffffff !important;
}

/* Footer prev/next bar — stronger contrast */
body.single-lesson .tutor-course-topic-single-footer,
body.single-tutor_quiz .tutor-course-topic-single-footer,
body.single-tutor_assignments .tutor-course-topic-single-footer {
    background: rgba(255, 255, 255, 0.18) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
}
body.single-lesson .tutor-course-topic-single-footer .tutor-btn,
body.single-tutor_quiz .tutor-course-topic-single-footer .tutor-btn {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
    background: rgba(255, 255, 255, 0.22) !important;
}
body.single-lesson .tutor-course-topic-single-footer .tutor-btn:hover,
body.single-tutor_quiz .tutor-course-topic-single-footer .tutor-btn:hover {
    background: rgba(255, 255, 255, 0.38) !important;
}

/* Hide WhatsApp + reCAPTCHA on lesson / quiz / assignment player pages */
body.single-lesson .qlwapp__container,
body.single-tutor_quiz .qlwapp__container,
body.single-tutor_assignments .qlwapp__container,
body.single-lesson .grecaptcha-badge,
body.single-tutor_quiz .grecaptcha-badge,
body.single-tutor_assignments .grecaptcha-badge {
    display: none !important;
}

/* Spotlight tab — white text (overrides Tutor color utility classes) */
body.single-lesson .tutor-course-spotlight-tab [class*="tutor-color-"],
body.single-tutor_quiz .tutor-course-spotlight-tab [class*="tutor-color-"] {
    color: #ffffff !important;
}

/* Spotlight tab — file attachment cards: semi-transparent on dark player bg */
body.single-lesson .tutor-course-spotlight-tab .tutor-card,
body.single-tutor_quiz .tutor-course-spotlight-tab .tutor-card {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

/* Floating "Take Note" panel — dark semi-transparent bg + white text */
body.single-lesson .tutor-lesson-note-form-wrapper,
body.single-tutor_quiz .tutor-lesson-note-form-wrapper {
    background: rgba(15, 50, 40, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
}
body.single-lesson .tutor-lesson-note-form-wrapper [class*="tutor-color-"],
body.single-lesson .tutor-lesson-note-form-wrapper .tutor-lesson-note-form-title,
body.single-tutor_quiz .tutor-lesson-note-form-wrapper [class*="tutor-color-"],
body.single-tutor_quiz .tutor-lesson-note-form-wrapper .tutor-lesson-note-form-title {
    color: #ffffff !important;
}

/* Lesson player — font family */
body.single-lesson .tutor-course-spotlight-tab,
body.single-lesson .tutor-course-spotlight-wrapper,
body.single-lesson .tutor-course-single-sidebar-wrapper,
body.single-lesson .tutor-course-topic-single-footer,
body.single-lesson .tutor-lesson-note-form-wrapper,
body.single-tutor_quiz .tutor-course-spotlight-tab,
body.single-tutor_quiz .tutor-course-spotlight-wrapper,
body.single-tutor_quiz .tutor-course-single-sidebar-wrapper,
body.single-tutor_quiz .tutor-course-topic-single-footer,
body.single-tutor_quiz .tutor-lesson-note-form-wrapper,
body.single-tutor_assignments .tutor-course-topic-single-footer {
    font-family: "tt-commons-pro", sans-serif;
}
/* ========================================================================== */
/* Tutor LMS 4.x integration                                                  */
/* ========================================================================== */

/* Tutor 4 dashboard is an application shell, not a normal content page. */
body.ws-tutor-dashboard-shell,
body.ws-tutor-dashboard-page {
	margin: 0;
	background: linear-gradient(135deg, #28a9a2 0%, #8ed9b0 100%);
}

body.ws-tutor-dashboard-shell .tutor-dashboard-layout,
body.ws-tutor-dashboard-page .tutor-dashboard-layout {
	min-height: 100vh;
	background: transparent;
}

body.ws-tutor-dashboard-shell .tutor-dashboard-sidebar,
body.ws-tutor-dashboard-page .tutor-dashboard-sidebar {
	background: rgba(255, 255, 255, 0.96);
	border-right: 1px solid rgba(20, 80, 78, 0.10);
}

body.ws-tutor-dashboard-shell .tutor-dashboard-sidebar-logo,
body.ws-tutor-dashboard-page .tutor-dashboard-sidebar-logo {
	color: #173f43;
}

body.ws-tutor-dashboard-shell .tutor-dashboard-sidebar-nav a,
body.ws-tutor-dashboard-page .tutor-dashboard-sidebar-nav a {
	border-radius: 12px;
	color: #24484d;
}

body.ws-tutor-dashboard-shell .tutor-dashboard-sidebar-nav a:hover,
body.ws-tutor-dashboard-shell .tutor-dashboard-sidebar-nav a.active,
body.ws-tutor-dashboard-page .tutor-dashboard-sidebar-nav a:hover,
body.ws-tutor-dashboard-page .tutor-dashboard-sidebar-nav a.active {
	background: #e9f8f5;
	color: #143c40;
}

body.ws-tutor-dashboard-shell .tutor-dashboard-main,
body.ws-tutor-dashboard-page .tutor-dashboard-main {
	background: transparent;
}

body.ws-tutor-dashboard-shell .tutor-dashboard-header,
body.ws-tutor-dashboard-page .tutor-dashboard-header {
	background: rgba(255, 255, 255, 0.90);
	border-bottom: 1px solid rgba(20, 80, 78, 0.10);
	backdrop-filter: blur(10px);
}

body.ws-tutor-dashboard-shell .tutor-dashboard-body,
body.ws-tutor-dashboard-page .tutor-dashboard-body {
	background: transparent;
}

body.ws-tutor-dashboard-shell .tutor-dashboard-page,
body.ws-tutor-dashboard-page .tutor-dashboard-page {
	color: #173f43;
}

body.ws-tutor-dashboard-shell .tutor-surface-l1,
body.ws-tutor-dashboard-shell .tutor-card,
body.ws-tutor-dashboard-page .tutor-surface-l1,
body.ws-tutor-dashboard-page .tutor-card {
	border-radius: 16px;
}

/* Generated Tutor system pages should not inherit the large generic page H1. */
body.ws-tutor-login-page .article-h1,
body.ws-tutor-registration-page .article-h1 {
	display: none;
}

body.ws-tutor-login-page,
body.ws-tutor-registration-page {
	background: linear-gradient(135deg, #28a9a2 0%, #8ed9b0 100%);
}

body.ws-tutor-login-page .tutor-login-wrap,
body.ws-tutor-registration-page .tutor-template-segment {
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(12, 74, 77, 0.16);
}

/* Tutor 4 learning area owns the full viewport. */
body.single-lesson,
body.single-tutor_quiz,
body.single-tutor_assignments {
	margin: 0;
}

body.single-lesson .header,
body.single-tutor_quiz .header,
body.single-tutor_assignments .header,
body.single-lesson .footer,
body.single-tutor_quiz .footer,
body.single-tutor_assignments .footer {
	display: none !important;
}

/* Preserve readable minimum typography in the current Tutor 4 UI. */
body.ws-tutor-dashboard-shell .tutor-dashboard-page,
body.ws-tutor-dashboard-shell .tutor-dashboard-page input,
body.ws-tutor-dashboard-shell .tutor-dashboard-page select,
body.ws-tutor-dashboard-shell .tutor-dashboard-page textarea,
body.ws-tutor-dashboard-shell .tutor-dashboard-page button {
	font-size: 16px;
}

@media (max-width: 768px) {
	body.ws-tutor-dashboard-shell .tutor-dashboard-header,
	body.ws-tutor-dashboard-page .tutor-dashboard-header {
		backdrop-filter: none;
	}
}


/* Tutor LMS 4.x: bright course/dashboard views need a visible fixed site header. */
body.cw-tutor-view:not(.nav-toggled) .header,
body.cw-light-header:not(.nav-toggled) .header {
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 8px 30px rgba(11, 55, 58, 0.08) !important;
    backdrop-filter: blur(12px);
}

body.cw-tutor-view:not(.nav-toggled) .header .brand svg,
body.cw-light-header:not(.nav-toggled) .header .brand svg {
    filter: brightness(0) saturate(100%) !important;
}

body.cw-tutor-view:not(.nav-toggled) .header .btn-nav,
body.cw-tutor-view:not(.nav-toggled) .header .btn-tel,
body.cw-tutor-view:not(.nav-toggled) .header .btn-tel span,
body.cw-light-header:not(.nav-toggled) .header .btn-nav,
body.cw-light-header:not(.nav-toggled) .header .btn-tel,
body.cw-light-header:not(.nav-toggled) .header .btn-tel span {
    color: #173f43 !important;
}

body.cw-tutor-view:not(.nav-toggled) .header .hamburger__el,
body.cw-light-header:not(.nav-toggled) .header .hamburger__el {
    background-color: #173f43 !important;
}

body.cw-tutor-view:not(.nav-toggled) .header .btn-contact svg path,
body.cw-light-header:not(.nav-toggled) .header .btn-contact svg path {
    stroke: #20a5a1 !important;
}

body.cw-tutor-view:not(.nav-toggled) .header .btn-tel img,
body.cw-light-header:not(.nav-toggled) .header .btn-tel img {
    filter: brightness(0) saturate(100%) !important;
}

/* Tutor plugin templates do not always render inside the parent <main>.
 * Put the offset on the page itself so every Tutor 4 non-learning view starts
 * below the fixed ScalpMann header exactly once. */
body.cw-tutor-view:not(.cw-tutor-learning) {
    padding-top: 150px !important;
}

@media (max-width: 767px) {
    body.cw-tutor-view:not(.cw-tutor-learning) {
        padding-top: 112px !important;
    }
}

/* CubeWeb 2.2: fixed header must always be anchored to viewport top.
 * Parent declares position:fixed but does not declare top:0. When a page gets
 * body padding (Tutor etc.), CSS preserves the static position and the header
 * appears halfway down the page. */
.header {
    top: 0 !important;
    left: 0;
    right: 0;
}


/* CubeWeb 2.2.1: Woo notice icons are disabled globally. Woo/parent icon fonts
 * were rendering pseudo-elements on top of the first characters of notices. */
.woocommerce-message::before,
.woocommerce-message::after,
.woocommerce-info::before,
.woocommerce-info::after,
.woocommerce-error::before,
.woocommerce-error::after,
.woocommerce-error li::before,
.woocommerce-error li::after {
    content: none !important;
    display: none !important;
}
.woocommerce-error,
.woocommerce-error li {
    list-style: none !important;
}
