/* Psy Event appearance. Every selector requires the optional module body class. */
body.psy-memberlux-library-styles {
	--psy-library-text: #404040;
	--psy-library-link: #007bff;
	--psy-library-accent: #80c1ee;
	--psy-library-button: #dc3545;
	--psy-library-border: #e3e3e3;
	font-family: "Psy MemberLux Raleway", sans-serif;
	font-size: 18px;
	line-height: 24px;
	color: var(--psy-library-text);
	background-color: #f5f5f5;
}

body.psy-memberlux-library-styles .site-content .container,
body.psy-memberlux-library-styles .header-row .container,
body.psy-memberlux-library-styles .footer-row .container {
	width: 100%;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
}

/* MemberLux's video layout sets this container width with !important. */
body.psy-memberlux-library-styles .site-content .lesson-row .container {
	max-width: 100% !important;
}

/* Override both native one-in-line and two-in-line column wrappers. */
body.psy-memberlux-library-styles .materials-row > .container > .row,
body.psy-memberlux-library-styles .search-result-row > .container > .row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 30px;
	margin-right: 0;
	margin-left: 0;
}

body.psy-memberlux-library-styles .materials-row > .container > .row::before,
body.psy-memberlux-library-styles .materials-row > .container > .row::after,
body.psy-memberlux-library-styles .search-result-row > .container > .row::before,
body.psy-memberlux-library-styles .search-result-row > .container > .row::after {
	content: none;
}

body.psy-memberlux-library-styles .materials-row > .container > .row > [class*="col-"],
body.psy-memberlux-library-styles .search-result-row > .container > .row > [class*="col-"] {
	float: none;
	width: auto;
	max-width: 100%;
	min-width: 0;
	margin-bottom: 0;
	padding-right: 0;
	padding-left: 0;
}

body.psy-memberlux-library-styles .materials-row .material-item,
body.psy-memberlux-library-styles .search-result-row .material-item {
	margin-bottom: 0;
}

body.psy-memberlux-library-styles .site-content h1,
body.psy-memberlux-library-styles .site-content h2,
body.psy-memberlux-library-styles .site-content h3 {
	font-family: "Psy MemberLux Raleway", sans-serif;
	font-weight: 900;
	color: var(--psy-library-text);
	text-shadow: none;
	overflow-wrap: anywhere;
}

body.psy-memberlux-library-styles .site-content h1 {
	font-size: 40px;
	line-height: 44px;
}

body.psy-memberlux-library-styles .site-content h2 {
	font-size: 36px;
	line-height: 40px;
}

body.psy-memberlux-library-styles .site-content h3 {
	font-size: 20px;
	line-height: 24px;
}

body.psy-memberlux-library-styles .site-content h4,
body.psy-memberlux-library-styles .site-content h5,
body.psy-memberlux-library-styles .site-content h6 {
	font-family: "Psy MemberLux Raleway", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

body.psy-memberlux-library-styles .page-title-row .page-title {
	margin: 0 0 16px;
	padding-bottom: 10px;
}

body.psy-memberlux-library-styles .page-title-row .page-description {
	font-size: 18px;
	line-height: 24px;
	color: var(--psy-library-text);
}

/* Keep MemberLux's display, opacity and visible/active state handling intact. */
body.psy-memberlux-library-styles .page-title-row .page-description-content {
	width: 100%;
	max-width: 1024px;
	margin: 16px auto;
}

body.psy-memberlux-library-styles .page-title-row .page-description-content.visible {
	padding: 24px;
	border: 0;
	background: #fff;
}

body.psy-memberlux-library-styles .page-title-row .page-description-content .content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 20px 0 0;
	font-size: 18px;
	line-height: 24px;
	overflow-wrap: anywhere;
}

body.psy-memberlux-library-styles .page-description-content .content p,
body.psy-memberlux-library-styles .lesson-tabs .content-wrap p {
	margin-bottom: 16px;
}

body.psy-memberlux-library-styles .page-description-content .content a,
body.psy-memberlux-library-styles .lesson-tabs .content-wrap a:not(.mbr-btn) {
	color: var(--psy-library-link);
}

body.psy-memberlux-library-styles .page-description-content .content a:hover,
body.psy-memberlux-library-styles .lesson-tabs .content-wrap a:not(.mbr-btn):hover {
	color: #0056b3;
	text-decoration: underline;
}

body.psy-memberlux-library-styles .top-nav-row,
body.psy-memberlux-library-styles .mobile-menu,
body.psy-memberlux-library-styles .breadcrumbs-wrap,
body.psy-memberlux-library-styles .folder-wrap .folder-content .bottom-icons,
body.psy-memberlux-library-styles .mbr-btn,
body.psy-memberlux-library-styles .form-control {
	font-family: "Psy MemberLux Raleway", sans-serif;
	font-size: 16px;
	line-height: 24px;
}

body.psy-memberlux-library-styles .top-nav-row a:hover,
body.psy-memberlux-library-styles .footer-row a:hover {
	color: var(--psy-library-accent);
}

body.psy-memberlux-library-styles .mbr-btn {
	border-radius: 4px;
}

body.psy-memberlux-library-styles .mbr-btn.btn-solid.btn-green {
	background: var(--psy-library-button);
	color: #fff;
}

body.psy-memberlux-library-styles .mbr-btn.btn-solid.btn-green:hover:not(:disabled) {
	background: #c82333;
	color: #fff;
}

body.psy-memberlux-library-styles .page-title-row .page-description-content .mbr-btn.btn-bordered.btn-gray,
body.psy-memberlux-library-styles .page-title-row .page-description-content.visible .mbr-btn.btn-bordered.btn-gray.active {
	color: var(--psy-library-text);
	border-color: #c1c1c1;
	background: #fff;
}

body.psy-memberlux-library-styles .page-title-row .page-description-content .mbr-btn.btn-bordered.btn-gray .iconmoon {
	color: var(--psy-library-text);
}

/* Preserve native folder images, labels, locks and progress indicators. */
body.psy-memberlux-library-styles .folder-wrap .folder-content .title {
	font-family: "Psy MemberLux Raleway", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

body.psy-memberlux-library-styles .site-content .material-item .content-wrap .title {
	font-size: 20px;
	font-weight: 700;
	line-height: 26px;
	/* MemberLux's configurable titles already use !important. */
	color: var(--psy-library-text) !important;
}

body.psy-memberlux-library-styles .site-content .material-item .content-wrap .description,
body.psy-memberlux-library-styles .site-content .material-item .content-wrap .description p {
	font-size: 16px;
	line-height: 24px;
	color: var(--psy-library-text);
}

/* Keep the preview compact while the text column takes the remaining width. */
body.psy-memberlux-library-styles .site-content .material-item > .flex-wrap {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	align-items: stretch;
	height: 100%;
}

body.psy-memberlux-library-styles .site-content .material-item .col-thumb {
	width: 100%;
	height: auto;
	min-height: 210px;
	aspect-ratio: 4 / 3;
	align-self: stretch;
	border-radius: 0;
}

body.psy-memberlux-library-styles .site-content .material-item .col-content {
	width: 100%;
	height: auto;
	min-width: 0;
	border-radius: 0;
	background: #fff;
	border-color: var(--psy-library-border);
}

body.psy-memberlux-library-styles .site-content .material-item .col-content .content-wrap {
	height: auto;
	max-height: none;
	padding: 24px;
	border-bottom: 0;
	overflow: visible;
}

body.psy-memberlux-library-styles .site-content .material-item .thumbnail-wrap {
	width: 100%;
	height: 100%;
	min-height: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

body.psy-memberlux-library-styles .lesson-tabs .content-wrap,
body.psy-memberlux-library-styles .comments-row .content-wrap {
	font-size: 18px;
	line-height: 24px;
	overflow-wrap: anywhere;
}

/* Only editorial images; player controls, avatars and folder SVG stay native. */
body.psy-memberlux-library-styles .page-description-content .content img,
body.psy-memberlux-library-styles .lesson-content > .content-wrap > p > img,
body.psy-memberlux-library-styles .lesson-content > .content-wrap > img,
body.psy-memberlux-library-styles .lesson-content > .content-wrap figure img {
	max-width: 100%;
	height: auto;
}

body.psy-memberlux-library-styles .footer-row {
	font-size: 13px;
	line-height: 20px;
}

/* Compact cart rows without changing cart data, totals or checkout controls. */
body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item {
	margin-bottom: 16px;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .tab-content {
	padding: 16px 52px 16px 16px;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .remove-cart-item {
	display: grid;
	place-items: center;
	padding: 0;
	line-height: 1;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .remove-cart-item .icon-close::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: url("trash.svg") center / contain no-repeat;
	mask: url("trash.svg") center / contain no-repeat;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .tab-content > .row {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	align-items: start;
	gap: 24px;
	margin: 0;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .tab-content > .row::before,
body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .tab-content > .row::after {
	content: none;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .tab-content > .row > .col-sm-6 {
	float: none;
	width: auto;
	min-width: 0;
	padding: 0;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap {
	width: 200px;
	height: 180px;
	min-height: 0;
	max-height: none;
	margin: 0;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap svg {
	width: 100%;
	height: auto;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap.folder-image {
	display: flex;
	align-items: flex-end;
	height: auto;
	min-height: 180px;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-image .folder-content {
	position: relative;
	left: auto;
	bottom: auto;
	overflow: visible;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-image .folder-content .title {
	max-height: none;
	overflow: visible;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap .folder-content .title {
	font-size: 14px;
	line-height: 18px;
	padding: 8px;
	border-bottom: 0;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap .bottom-icons {
	padding: 0;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .cart-row {
	margin: 0 0 12px;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .cart-row:last-child {
	margin-bottom: 0;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .cart-row > [class*="col-"] {
	padding-right: 0;
	padding-left: 0;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .cart-th-value {
	font-size: 14px;
	line-height: 20px;
}

body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .cart-td-value {
	padding: 4px 0;
	font-size: 16px;
	line-height: 22px;
	overflow-wrap: anywhere;
}

@media (min-width: 1200px) {
	body.psy-memberlux-library-styles .materials-row > .container > .row,
	body.psy-memberlux-library-styles .search-result-row > .container > .row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .tab-content {
		padding: 12px 44px 12px 12px;
	}

	body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .tab-content > .row {
		grid-template-columns: 140px minmax(0, 1fr);
		gap: 16px;
	}

	body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap {
		width: 140px;
		height: 126px;
	}

	body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap.folder-image {
		min-height: 126px;
	}

	body.psy-memberlux-library-styles .page-title-row .page-description-content.visible {
		padding: 16px;
	}

	body.psy-memberlux-library-styles .site-content .material-item > .flex-wrap {
		grid-template-columns: minmax(0, 1fr);
	}

	body.psy-memberlux-library-styles .site-content .material-item .col-thumb {
		min-height: 0;
	}

	body.psy-memberlux-library-styles .site-content h1 {
		font-size: 30px;
		line-height: 36px;
	}

	body.psy-memberlux-library-styles .site-content h2 {
		font-size: 26px;
		line-height: 32px;
	}

	body.psy-memberlux-library-styles .folder-wrap .folder-content .title {
		font-size: 16px;
		line-height: 24px;
	}

	body.psy-memberlux-library-styles .site-content .material-item .content-wrap .title {
		font-size: 20px;
		line-height: 26px;
	}
}

@media (max-width: 479px) {
	body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .tab-content > .row {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 12px;
	}

	body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap {
		width: 120px;
		height: 108px;
	}

	body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .folder-wrap.folder-image {
		min-height: 108px;
	}

	body.psy-memberlux-library-styles .woocommerce-cart-form .mblp-product-cart-item .cart-row > .col-xs-6 {
		width: 100%;
		margin-bottom: 8px;
	}
}
