body {
	--ph-navy: #0a192f;
	--ph-navy-deep: #06111f;
	--ph-green: #00d4aa;
	--ph-blue: #1e88e5;
	--ph-light: #f8fafc;
	--ph-text: #101828;
	--ph-muted: #667085;
	--ph-white: #ffffff;
	--ph-border: #dce4ec;
}

body:not(.home) #header {
	background: var(--ph-white);
	border-bottom: 1px solid rgba(10, 25, 47, 0.1);
	position: relative;
	z-index: 100;
}

body:not(.home) #header .header_default {
	background: var(--ph-white) !important;
	padding: 7px 0;
}

body:not(.home) #header .logo-unit img {
	height: 48px;
	max-height: 48px;
	object-fit: contain;
	width: auto !important;
}

body:not(.home) #header .header_main_menu_wrapper {
	margin-top: 0 !important;
}

body #header .stm_lms_wishlist_button,
body #header .sign-up-item {
	display: none;
}

body #header .header-menu > li > a,
body #header .header-login-button a,
body #header .search-toggler,
body #header .search-toggler i,
body #header .wpmenucart-contents {
	color: var(--ph-navy) !important;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	opacity: 1;
	visibility: visible;
}

body #header .header-menu > li > a {
	padding-bottom: 18px;
	padding-top: 18px;
}

body #header .header-menu > li.current-menu-item > a,
body #header .header-menu > li > a:hover,
body #header .search-toggler:hover,
body #header .wpmenucart-contents:hover {
	color: #087d6d !important;
}

body #header .ph-account-menu-item {
	margin-left: 10px;
	padding: 7px 0;
}

body #header .ph-account-menu-item > a {
	background: var(--ph-green);
	border: 1px solid var(--ph-green);
	border-radius: 4px;
	color: #04251f !important;
	padding: 11px 18px !important;
	white-space: nowrap;
}

body #header .ph-account-menu-item > a:hover {
	background: #28e3bd;
	border-color: #28e3bd;
	color: #04251f !important;
}

body #header .wpmenucartli a {
	align-items: center;
	display: flex;
	gap: 4px;
	white-space: nowrap;
}

body #header .wpmenucart-icon-shopping-cart-0 {
	margin-right: 0;
}

@media (min-width: 1200px) {
	body #header .header_default > .container > .row {
		align-items: center;
		display: flex;
		flex-wrap: nowrap;
		min-height: 54px;
	}

	body #header .header_default > .container > .row > .col-md-3 {
		flex: 0 0 86px;
		max-width: 86px;
		width: 86px;
	}

	body #header .header_default > .container > .row > .col-md-9 {
		flex: 1 1 auto;
		max-width: none;
		width: auto;
	}

	body #header .header_main_menu_wrapper {
		align-items: center;
		display: flex;
		flex-wrap: nowrap;
		height: 54px;
		justify-content: flex-end;
	}

	body #header .header_main_menu_wrapper .collapse.navbar-collapse.pull-right {
		align-items: center;
		display: flex !important;
		flex: 1 1 auto;
		float: none !important;
		height: auto !important;
		justify-content: flex-end;
		opacity: 1;
		order: 1;
		width: auto;
		visibility: visible !important;
	}

	body #header .header_main_menu_wrapper .right_buttons {
		align-items: center;
		display: flex;
		float: none;
		height: 36px;
		margin: 0 0 0 8px;
		order: 2;
		width: 36px;
	}

	body #header .header-menu {
		align-items: center;
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
		margin: 0;
		white-space: nowrap;
	}

	body #header .header-menu > li {
		float: none;
		margin: 0;
		padding: 0 7px;
		white-space: nowrap;
	}

	body #header .header-menu > li > a {
		font-size: 12px;
		padding: 12px 0;
		white-space: nowrap;
	}

	body #header .ph-account-menu-item {
		margin-left: 4px;
		padding: 0;
	}

	body #header .ph-account-menu-item > a {
		padding: 10px 15px !important;
	}

	body #header .search-toggler {
		align-items: center;
		background: transparent;
		display: flex;
		height: 36px;
		justify-content: center;
		margin: 0;
		padding: 0;
		width: 36px;
	}

	body #header .search-toggler i {
		border: 2px solid var(--ph-navy);
		border-radius: 50%;
		display: block;
		font-size: 0;
		height: 14px;
		position: relative;
		width: 14px;
	}

	body #header .search-toggler i::before {
		display: none;
	}

	body #header .search-toggler i::after {
		background: var(--ph-navy);
		content: "";
		height: 2px;
		position: absolute;
		right: -6px;
		top: 10px;
		transform: rotate(45deg);
		width: 7px;
	}

	body #header .search-toggler::after {
		display: none;
	}

	body #header .wpmenucartli .cartcontents {
		display: none;
	}
}

body:not(.home) #main {
	background: var(--ph-light);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	padding-bottom: 88px;
}

body:not(.home) #footer {
	display: none;
}

body:not(.home) #main > .stm_lms_breadcrumbs {
	display: none;
}

body:not(.home) #main > .container {
	padding-top: 54px;
}

body.page-id-392 #main > .container,
body.page-id-413 #main > .container,
body.page-id-27113 #main > .container {
	max-width: none;
	padding: 0;
	width: 100%;
}

body.page-id-392 #main > .container > .post_type_exist,
body.page-id-413 #main > .container > .post_type_exist,
body.page-id-27113 #main > .container > .post_type_exist {
	margin: 0;
}

.ph-inner-page,
.ph-page-hero {
	color: var(--ph-text);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.ph-inner-page *,
.ph-page-hero * {
	box-sizing: border-box;
	letter-spacing: 0;
}

.ph-page-shell {
	margin: 0 auto;
	max-width: 1200px;
	padding-left: 24px;
	padding-right: 24px;
	width: 100%;
}

.ph-page-hero {
	background: var(--ph-navy);
	color: var(--ph-white);
	margin-bottom: 0;
	padding: 76px 0 72px;
}

.ph-page-hero span,
.ph-inner-kicker {
	color: var(--ph-green);
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.ph-page-hero h1 {
	color: var(--ph-white);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 48px;
	font-weight: 780;
	letter-spacing: 0;
	line-height: 1.12;
	margin: 0 0 15px;
}

.ph-page-hero p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 17px;
	line-height: 1.7;
	margin: 0;
	max-width: 720px;
}

.ph-inner-section {
	background: var(--ph-white);
	padding: 88px 0;
}

.ph-inner-section--light {
	background: var(--ph-light);
}

.ph-inner-page h2 {
	color: var(--ph-navy);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 38px;
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 20px;
}

.ph-inner-page h3 {
	color: var(--ph-navy);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 19px;
	font-weight: 740;
	letter-spacing: 0;
	line-height: 1.35;
}

.ph-inner-page p {
	color: var(--ph-muted);
	font-size: 15px;
	line-height: 1.75;
}

.ph-about-intro {
	display: grid;
	gap: 80px;
	grid-template-columns: 0.9fr 1.1fr;
}

.ph-about-intro p:first-child {
	margin-top: 2px;
}

.ph-mission-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: 1fr 1.25fr;
}

.ph-brand-panel {
	background: var(--ph-white);
	border: 1px solid var(--ph-border);
	padding: 30px;
}

.ph-brand-panel--dark {
	background: var(--ph-navy);
	border-color: var(--ph-navy);
	padding: 42px;
}

.ph-brand-panel--dark h2 {
	color: var(--ph-white);
	font-size: 32px;
}

.ph-brand-panel--dark p {
	color: rgba(255, 255, 255, 0.68);
}

.ph-value-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, 1fr);
}

.ph-value-grid .ph-brand-panel {
	border-top: 3px solid var(--ph-green);
}

.ph-brand-panel strong {
	color: #087d6d;
	display: block;
	font-size: 12px;
	margin-bottom: 26px;
}

.ph-brand-panel p {
	font-size: 14px;
	margin-bottom: 0;
}

.ph-about-ecosystem {
	background: var(--ph-white);
}

.ph-journey-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 42px;
}

.ph-journey-grid article {
	background: var(--ph-navy);
	min-height: 235px;
	padding: 30px;
}

.ph-journey-grid span {
	color: var(--ph-green);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.ph-journey-grid h3 {
	color: var(--ph-white);
	font-size: 23px;
	margin: 36px 0 12px;
}

.ph-journey-grid p {
	color: rgba(255, 255, 255, 0.65);
	font-size: 14px;
	margin: 0;
}

.ph-inner-cta {
	background: var(--ph-navy);
	padding: 68px 0;
}

.ph-inner-cta .ph-page-shell {
	align-items: center;
	display: flex;
	gap: 50px;
	justify-content: space-between;
}

.ph-inner-cta h2 {
	color: var(--ph-white);
	font-size: 35px;
	margin-bottom: 0;
}

.ph-inner-actions {
	display: flex;
	flex-shrink: 0;
	gap: 12px;
}

.ph-ui-button,
body.woocommerce-page .button,
body.woocommerce-page button.button,
body.woocommerce-page input.button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 4px;
	display: inline-flex;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 14px;
	font-weight: 750;
	justify-content: center;
	min-height: 48px;
	padding: 12px 21px;
	text-decoration: none;
}

.ph-ui-button--primary {
	background: var(--ph-green);
	color: #04251f;
}

.ph-ui-button--outline-light {
	border-color: rgba(255, 255, 255, 0.55);
	color: var(--ph-white);
}

.ph-contact-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, 1fr);
}

.ph-contact-card {
	background: var(--ph-white);
	border: 1px solid var(--ph-border);
	min-height: 210px;
	padding: 28px;
}

.ph-contact-card > span {
	color: #087d6d;
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 34px;
	text-transform: uppercase;
}

.ph-contact-card h2 {
	font-size: 20px;
}

.ph-contact-card--accent {
	background: var(--ph-navy);
	border-color: var(--ph-navy);
	display: flex;
	flex-direction: column;
}

.ph-contact-card--accent > span {
	color: var(--ph-green);
}

.ph-contact-card--accent a {
	color: var(--ph-white);
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 12px;
	overflow-wrap: anywhere;
}

.ph-contact-form-layout {
	display: grid;
	gap: 80px;
	grid-template-columns: 0.85fr 1.15fr;
}

.ph-contact-note {
	border-top: 1px solid var(--ph-border);
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 17px 0;
}

.ph-contact-note strong {
	color: var(--ph-navy);
}

.ph-contact-note span {
	color: var(--ph-muted);
	font-size: 13px;
}

.ph-contact-form-card {
	background: var(--ph-light);
	border: 1px solid var(--ph-border);
	padding: 34px;
}

.ph-contact-form-card .wpcf7-form p {
	margin-bottom: 16px;
}

.ph-contact-form-card input:not([type="submit"]),
.ph-contact-form-card textarea,
body.woocommerce-page input.input-text,
body.woocommerce-page textarea,
body.woocommerce-page select,
body.page-id-1 .masterstudy-authorization__form-field input {
	background: var(--ph-white);
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	box-shadow: none;
	color: var(--ph-text);
	font-size: 15px;
	min-height: 48px;
	padding: 11px 14px;
	width: 100%;
}

.ph-contact-form-card textarea {
	min-height: 150px;
	resize: vertical;
}

.ph-contact-form-card input:focus,
.ph-contact-form-card textarea:focus,
body.woocommerce-page input.input-text:focus,
body.woocommerce-page textarea:focus,
body.woocommerce-page select:focus {
	border-color: var(--ph-blue);
	box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.13);
	outline: 0;
}

.ph-contact-form-card input[type="submit"] {
	background: var(--ph-green);
	border: 0;
	border-radius: 4px;
	color: #04251f;
	font-weight: 750;
	min-height: 48px;
	padding: 12px 24px;
}

/* Dynamic MasterStudy course archive */
body.page-id-27113 .ph-page-hero {
	margin-bottom: 64px;
}

body.page-id-27113 .ms_lms_courses_archive {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 24px 96px;
}

body.page-id-27113 .ms_lms_courses_archive__title h2 {
	color: var(--ph-navy);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 30px;
}

body.page-id-27113 .ms_lms_courses_archive__filter {
	background: var(--ph-white);
	border: 1px solid var(--ph-border);
	border-radius: 4px;
	padding: 22px;
}

body.page-id-27113 .ms_lms_courses_archive__filter_options_item {
	border-color: var(--ph-border);
}

body.page-id-27113 .ms_lms_courses_archive__filter_options_item_title,
body.page-id-27113 .ms_lms_courses_archive__sorting_button {
	color: var(--ph-navy);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
}

body.page-id-27113 .ms_lms_courses_archive__sorting_button.active,
body.page-id-27113 .ms_lms_courses_archive__sorting_button:hover {
	color: #087d6d;
}

body.page-id-27113 .ms_lms_courses_card_wrapper {
	align-items: stretch;
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
}

body.page-id-27113 .ms_lms_courses_card {
	display: contents;
}

body.page-id-27113 .ms_lms_courses_card_item,
body.page-id-27113 .ms_lms_courses_card_item_wrapper,
body.page-id-27113 .stm_lms_courses__single__inner {
	background: var(--ph-white);
	border: 1px solid var(--ph-border);
	border-radius: 4px;
	box-shadow: none;
	overflow: hidden;
}

body.page-id-27113 .ms_lms_courses_card_item {
	align-self: start;
	display: flex;
	flex-direction: column;
	height: auto !important;
	min-width: 0;
	padding: 0;
	width: 100% !important;
}

body.page-id-27113 .ms_lms_courses_card_item_wrapper {
	border: 0;
	display: flex;
	flex: none;
	flex-direction: column;
	height: auto !important;
	width: 100% !important;
}

body.page-id-27113 .ms_lms_courses_card_item_image,
body.page-id-27113 .ms_lms_courses_card_item_image img,
body.page-id-27113 .stm_lms_courses__single--image img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

body.page-id-27113 .ms_lms_courses_card_item_info {
	display: flex;
	flex: none !important;
	flex-direction: column;
	min-height: 0;
	padding: 18px !important;
}

body.page-id-27113 .ms_lms_courses_card_item_info_title {
	display: block;
	margin-bottom: 12px;
}

body.page-id-27113 .ms_lms_courses_card_item_info_title h3,
body.page-id-27113 .stm_lms_courses__single h3 {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--ph-navy);
	display: -webkit-box;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.4;
	margin: 0;
	overflow: hidden;
}

body.page-id-27113 .ms_lms_courses_card_item_info_meta {
	margin-bottom: 14px;
}

body.page-id-27113 .ms_lms_courses_card_item_info_divider {
	margin-top: auto;
}

body.page-id-27113 .ms_lms_courses_card_item_info_bottom_wrapper {
	align-items: center;
	margin-top: 14px;
}

body.page-id-27113 .ms_lms_courses_card_item_info_price {
	margin-top: auto;
}

body.page-id-27113 .ms_lms_courses_archive__pagination_wrapper {
	grid-column: 1 / -1;
}

/* MasterStudy account */
body.page-id-1 #main > .container {
	max-width: 1200px;
}

body.page-id-1 .ph-page-hero {
	margin: -54px calc(50% - 50vw) 64px;
}

body.page-id-1 .masterstudy__login-page {
	align-items: center;
	background: transparent;
	justify-content: center;
	padding: 34px 0 80px;
}

body.page-id-1 .masterstudy__login-page-form {
	max-width: 480px;
	width: 100%;
}

body.page-id-1 .masterstudy-authorization__wrapper {
	background: var(--ph-white);
	border: 1px solid var(--ph-border);
	border-radius: 8px;
	box-shadow: 0 16px 44px rgba(10, 25, 47, 0.08);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	overflow: hidden;
	padding: 34px 40px 30px;
	position: relative;
	width: 100%;
}

body.page-id-1 .masterstudy-authorization__wrapper::before {
	background: var(--ph-green);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

body.page-id-1 .masterstudy-authorization__header {
	color: var(--ph-navy);
	font-size: 24px;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-weight: 760;
	margin-bottom: 24px;
	text-align: center;
}

body.page-id-1 .masterstudy-authorization__form {
	width: 100%;
}

body.page-id-1 .masterstudy-authorization__form-wrapper {
	gap: 16px;
}

body.page-id-1 .masterstudy-authorization__form-field {
	position: relative;
	width: 100%;
}

body.page-id-1 .masterstudy-authorization__form-field input {
	border-radius: 5px;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	height: 50px;
	padding-left: 15px;
	padding-right: 46px;
}

body.page-id-1 .masterstudy-authorization__form-show-pass {
	align-items: center;
	display: flex;
	height: 50px;
	justify-content: center;
	right: 0;
	top: 0;
	width: 44px;
}

body.page-id-1 .masterstudy-authorization__actions {
	align-items: center;
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr;
	margin-top: 20px;
	width: 100%;
}

body.page-id-1 .masterstudy-authorization__actions-remember {
	justify-content: flex-start;
}

body.page-id-1 .masterstudy-authorization__checkbox,
body.page-id-1 .masterstudy-authorization__checkbox-wrapper {
	height: 20px;
	width: 20px;
}

body.page-id-1 .masterstudy-authorization__checkbox-title {
	color: var(--ph-muted);
	font-size: 13px;
}

body.page-id-1 .masterstudy-authorization__actions .masterstudy-button {
	border-radius: 5px;
	height: 50px;
	justify-content: center;
	width: 100%;
}

body.page-id-1 .masterstudy-button_style-primary {
	background: var(--ph-green);
	border-color: var(--ph-green);
	color: #04251f;
}

body.page-id-1 .masterstudy-button_style-primary:hover {
	background: #28e3bd;
	border-color: #28e3bd;
	color: #04251f;
}

body.page-id-1 .masterstudy-authorization__switch {
	margin-top: 20px;
	width: 100%;
}

body.page-id-1 .masterstudy-authorization__switch-wrapper {
	border-top: 1px solid var(--ph-border);
	gap: 12px;
	padding-top: 20px;
}

body.page-id-1 .masterstudy-authorization__switch-account-link,
body.page-id-1 .masterstudy-authorization__switch-lost-pass {
	color: #087d6d;
	font-weight: 700;
}

body.page-id-1 .masterstudy-authorization__switch-account-link:hover,
body.page-id-1 .masterstudy-authorization__switch-lost-pass:hover {
	color: var(--ph-blue);
}

/* Branded inner-page footer. */
.ph-site-footer {
	background: var(--ph-navy-deep);
	color: rgba(255, 255, 255, 0.7);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	padding: 70px 0 26px;
	position: relative;
	z-index: 1;
}

.ph-site-footer__grid {
	display: grid;
	gap: 44px;
	grid-template-columns: 2fr 1fr 1fr 1.2fr;
}

.ph-site-footer__grid > div:not(.ph-site-footer__about) {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.ph-site-footer__brand {
	color: var(--ph-white);
	display: inline-block;
	font-size: 21px;
	font-weight: 800;
	margin-bottom: 17px;
}

.ph-site-footer__about p {
	color: rgba(255, 255, 255, 0.64);
	font-size: 14px;
	line-height: 1.75;
	margin: 0;
	max-width: 420px;
}

.ph-site-footer h2 {
	color: var(--ph-white);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 13px;
	font-weight: 750;
	letter-spacing: 0;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.ph-site-footer a,
.ph-site-footer span {
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
	text-decoration: none;
}

.ph-site-footer a:hover {
	color: var(--ph-green);
}

.ph-site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
	padding-top: 22px;
}

/* BuddyPress member profiles */
body.bp-user #main {
	background: var(--ph-light);
}

body.bp-user .entry-header {
	background: var(--ph-navy);
	margin: 0;
	padding: 60px 0;
}

body.bp-user .entry-header h1 {
	color: var(--ph-white);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 42px;
	letter-spacing: 0;
}

body.bp-user #buddypress.masterstudy-bp-member-home {
	background: var(--ph-white);
	border: 1px solid var(--ph-border);
	border-radius: 4px;
	min-height: 240px;
	padding: 26px;
}

body.bp-user #buddypress .item-list-tabs {
	border-bottom: 1px solid var(--ph-border);
}

body.bp-user #buddypress .item-list-tabs a {
	color: var(--ph-navy);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
}

/* WooCommerce cart and checkout */
body.woocommerce-page .entry-header {
	display: none;
}

body.woocommerce-page #main > .container {
	max-width: 1200px;
}

body.woocommerce-page .ph-page-hero {
	margin: -54px calc(50% - 50vw) 64px;
}

body.woocommerce-page .woocommerce {
	color: var(--ph-text);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
}

body.woocommerce-page table.shop_table,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #payment,
body.woocommerce-cart .cart_totals {
	background: var(--ph-white);
	border: 1px solid var(--ph-border);
	border-radius: 4px;
}

body.woocommerce-page table.shop_table th {
	color: var(--ph-navy);
	font-weight: 750;
}

body.woocommerce-page table.shop_table td,
body.woocommerce-page table.shop_table th {
	border-color: var(--ph-border);
	padding: 18px;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-checkout #place_order {
	background: var(--ph-green);
	border-color: var(--ph-green);
	color: #04251f;
	font-size: 15px;
	min-height: 52px;
	width: 100%;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-checkout #place_order:hover {
	background: #28e3bd;
	color: #04251f;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-cart .cart_totals h2 {
	color: var(--ph-navy);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 24px;
	letter-spacing: 0;
}

body.woocommerce-checkout #payment {
	margin-top: 20px;
}

body.woocommerce-checkout #payment .payment_methods {
	border-bottom: 1px solid var(--ph-border);
}

body.woocommerce-page .woocommerce-error,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-message {
	background: var(--ph-white);
	border: 1px solid var(--ph-border);
	border-left: 4px solid var(--ph-blue);
	color: var(--ph-text);
}

body.woocommerce-cart .cart-empty {
	padding: 24px;
}

@media (min-width: 992px) and (max-width: 1199px) {
	body #header .header_default > .container > .row > .hidden-sm {
		display: none !important;
	}

	body #header .header_default > .container > .row > .visible-sm {
		display: block !important;
	}

	body #header .navbar-toggle {
		display: block;
	}

	body.page-id-27113 .ms_lms_courses_card_wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	body #header .header-menu-mobile .ph-account-menu-item {
		margin: 12px 20px 20px;
		padding: 0;
	}

	body #header .header-menu-mobile .ph-account-menu-item > a {
		display: block;
		text-align: center;
	}

	.ph-mission-grid,
	.ph-contact-form-layout {
		grid-template-columns: 1fr;
	}

	.ph-contact-grid,
	.ph-journey-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	body.page-id-27113 .ms_lms_courses_card_wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ph-site-footer__grid {
		grid-template-columns: 2fr 1fr 1fr;
	}

	.ph-site-footer__grid > div:last-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	body:not(.home) #header .header_default {
		padding: 9px 0;
	}

	body:not(.home) #header .logo-unit img {
		height: 44px;
		max-height: 44px;
	}

	.ph-page-shell {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ph-page-hero {
		padding: 58px 0 54px;
	}

	.ph-page-hero h1 {
		font-size: 36px;
	}

	.ph-inner-section {
		padding: 68px 0;
	}

	.ph-inner-page h2 {
		font-size: 31px;
	}

	.ph-about-intro {
		gap: 28px;
		grid-template-columns: 1fr;
	}

	.ph-inner-cta .ph-page-shell {
		align-items: flex-start;
		flex-direction: column;
	}

	.ph-value-grid {
		grid-template-columns: 1fr;
	}

	body.page-id-27113 .ms_lms_courses_archive {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.page-id-27113 .ms_lms_courses_card_wrapper {
		grid-template-columns: 1fr;
	}

	body.woocommerce-page table.shop_table_responsive tr {
		background: var(--ph-white);
		border: 1px solid var(--ph-border);
		display: block;
		margin-bottom: 18px;
		padding: 10px;
	}

	body.woocommerce-page table.shop_table_responsive td {
		min-height: 48px;
	}

	body.bp-user .entry-header {
		display: block !important;
	}

	body.bp-user .entry-header .container,
	body.bp-user .entry-header .entry-title-left,
	body.bp-user .entry-header .entry-title {
		display: block;
		width: 100%;
	}

	body.bp-user .entry-header h1 {
		font-size: 34px;
		line-height: 1.2;
		margin: 0;
		overflow-wrap: anywhere;
	}

	.ph-site-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ph-site-footer__about {
		grid-column: 1 / -1;
	}

	.ph-site-footer__grid > div:last-child {
		grid-column: auto;
	}

	.ph-site-footer__bottom {
		flex-direction: column;
		gap: 8px;
	}
}

@media (max-width: 520px) {
	.ph-contact-grid,
	.ph-journey-grid {
		grid-template-columns: 1fr;
	}

	.ph-inner-actions {
		flex-direction: column;
		width: 100%;
	}

	.ph-inner-actions .ph-ui-button {
		width: 100%;
	}

	.ph-contact-form-card,
	.ph-brand-panel--dark {
		padding: 26px 22px;
	}

	body.page-id-1 .masterstudy-authorization__wrapper {
		padding: 30px 22px 26px;
	}

	.ph-site-footer__grid {
		grid-template-columns: 1fr;
	}

	.ph-site-footer__about,
	.ph-site-footer__grid > div:last-child {
		grid-column: auto;
	}
}

/* PentestHint ecosystem shell starts. */
body.home #header,
body.page #header,
body.search #header,
body.error404 #header,
body.single-stm-courses #header {
	display: none !important;
}

/* PentestHint Academy loader replaces the default MasterStudy spinner on branded frontend pages. */
body.home .ms_lms_loader_bg,
body.page .ms_lms_loader_bg,
body.search .ms_lms_loader_bg,
body.error404 .ms_lms_loader_bg,
body.single-stm-courses .ms_lms_loader_bg {
	display: none !important;
}

.ph-academy-loader {
	align-items: center;
	animation: phAcademyLoaderSafetyFade 260ms ease 2400ms forwards;
	background:
		radial-gradient(circle at 50% 42%, rgba(0, 212, 170, 0.18), transparent 34%),
		linear-gradient(135deg, #06111f 0%, #0a192f 54%, #071525 100%);
	color: #ffffff;
	display: flex;
	inset: 0;
	justify-content: center;
	min-height: 100vh;
	opacity: 1;
	padding: 24px;
	position: fixed;
	transition: opacity 360ms ease, visibility 360ms ease;
	visibility: visible;
	z-index: 100000;
}

.ph-academy-loader.is-hidden {
	animation: none;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.ph-academy-loader__panel {
	align-items: center;
	display: grid;
	gap: 18px;
	justify-items: center;
	position: relative;
}

.ph-academy-loader__ring {
	animation: phAcademyLoaderSpin 1400ms linear infinite;
	border: 1px solid rgba(114, 245, 231, 0.25);
	border-radius: 50%;
	box-shadow: 0 0 38px rgba(0, 212, 170, 0.24);
	height: 136px;
	position: absolute;
	top: -22px;
	width: 136px;
}

.ph-academy-loader__ring::before,
.ph-academy-loader__ring::after {
	border-radius: 50%;
	content: "";
	inset: -1px;
	position: absolute;
}

.ph-academy-loader__ring::before {
	border: 2px solid transparent;
	border-right-color: #20d3d2;
	border-top-color: #00d4aa;
}

.ph-academy-loader__ring::after {
	background: linear-gradient(90deg, transparent, rgba(32, 211, 210, 0.65), transparent);
	height: 2px;
	left: 18px;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
}

.ph-academy-loader__logo {
	align-items: center;
	animation: phAcademyLoaderPulse 1800ms ease-in-out infinite;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(188, 239, 240, 0.4);
	border-radius: 8px;
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.38), 0 0 34px rgba(0, 212, 170, 0.16);
	display: flex;
	height: 92px;
	justify-content: center;
	overflow: hidden;
	padding: 12px;
	position: relative;
	width: 92px;
	z-index: 1;
}

.ph-academy-loader__logo img {
	display: block;
	height: 100%;
	max-height: 68px;
	max-width: 68px;
	object-fit: contain;
	width: auto;
}

.ph-academy-loader__logo:empty::before {
	color: #0a192f;
	content: "PH";
	font: 800 24px/1 Inter, "Segoe UI", Arial, sans-serif;
}

.ph-academy-loader__text {
	color: #eaf8fb;
	font: 800 15px/1.25 Inter, "Segoe UI", Arial, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-shadow: 0 0 24px rgba(0, 212, 170, 0.22);
}

@keyframes phAcademyLoaderSpin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes phAcademyLoaderPulse {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.035);
	}
}

@keyframes phAcademyLoaderSafetyFade {
	to {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
	}
}

.ph-ecosystem-header {
	background: rgba(7, 21, 37, 0.98);
	border-bottom: 1px solid rgba(32, 211, 210, 0.2);
	color: #fff;
	position: sticky;
	top: 0;
	z-index: 999;
}

.ph-ecosystem-header,
.ph-ecosystem-header * {
	box-sizing: border-box;
	letter-spacing: 0;
}

.ph-ecosystem-header__bar {
	align-items: center;
	display: flex;
	gap: 20px;
	margin: 0 auto;
	max-width: 1280px;
	min-height: 74px;
	padding: 10px 24px;
}

.ph-ecosystem-header__brand {
	align-items: center;
	color: #fff;
	display: inline-flex;
	gap: 10px;
	min-width: 172px;
	text-decoration: none;
}

.ph-ecosystem-header__brand img {
	display: block;
	height: auto;
	object-fit: contain;
	width: auto;
}

.ph-ecosystem-header__menu-toggle {
	align-items: center;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(188, 239, 240, 0.2);
	border-radius: 8px;
	display: none;
	height: 42px;
	justify-content: center;
	margin-left: auto;
	padding: 0;
	width: 42px;
}

.ph-ecosystem-header__menu-toggle span[aria-hidden="true"] {
	background: #dcefff;
	border-radius: 999px;
	display: block;
	height: 2px;
	position: absolute;
	transition: transform 180ms ease, opacity 180ms ease;
	width: 18px;
}

.ph-ecosystem-header__menu-toggle span[aria-hidden="true"]:nth-child(2) {
	transform: translateY(-6px);
}

.ph-ecosystem-header__menu-toggle span[aria-hidden="true"]:nth-child(4) {
	transform: translateY(6px);
}

.ph-ecosystem-header.is-menu-open .ph-ecosystem-header__menu-toggle span[aria-hidden="true"]:nth-child(2) {
	transform: rotate(45deg);
}

.ph-ecosystem-header.is-menu-open .ph-ecosystem-header__menu-toggle span[aria-hidden="true"]:nth-child(3) {
	opacity: 0;
}

.ph-ecosystem-header.is-menu-open .ph-ecosystem-header__menu-toggle span[aria-hidden="true"]:nth-child(4) {
	transform: rotate(-45deg);
}

.ph-ecosystem-header__nav-panel {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	gap: 16px;
	min-width: 0;
}

.ph-academy-logo {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	min-width: 0;
}

.ph-academy-logo__media {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(188, 239, 240, 0.28);
	border-radius: 8px;
	display: inline-flex;
	flex: 0 0 auto;
	height: 48px;
	justify-content: center;
	overflow: hidden;
	padding: 4px;
	width: 48px;
}

.ph-academy-logo__media img {
	display: block;
	height: 100%;
	max-height: 48px;
	object-fit: contain;
	width: auto;
}

.ph-academy-logo__text {
	display: grid;
	line-height: 1;
	min-width: 0;
}

.ph-academy-logo__text strong {
	color: #fff;
	font-size: 16px;
	font-weight: 950;
	letter-spacing: 0;
	white-space: nowrap;
}

.ph-academy-logo__text small {
	color: #20d3d2;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: nowrap;
}

.ph-ecosystem-header__brand strong,
.ph-ecosystem-header__brand small {
	display: block;
	line-height: 1.1;
}

.ph-ecosystem-header__brand strong {
	font-size: 15px;
}

.ph-ecosystem-header__brand small {
	color: #8fb0c8;
	font-size: 12px;
	font-weight: 800;
}

.ph-ecosystem-nav {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	gap: 4px;
	min-width: 0;
}

.ph-ecosystem-nav--academy {
	justify-content: flex-start;
	margin-right: auto;
}

.ph-ecosystem-nav--utility {
	justify-content: flex-end;
	margin-left: auto;
}

.ph-ecosystem-nav > a,
.ph-ecosystem-nav__item > a {
	border-radius: 8px;
	color: #dcefff;
	display: inline-flex;
	font-size: 13px;
	font-weight: 850;
	padding: 10px;
	text-decoration: none;
	white-space: nowrap;
}

.ph-ecosystem-nav > a:hover,
.ph-ecosystem-nav__item:hover > a,
.ph-ecosystem-nav__item:focus-within > a,
.ph-ecosystem-nav__item.is-open > a {
	background: rgba(32, 211, 210, 0.12);
	color: #20d3d2;
}

.ph-ecosystem-nav__item {
	position: relative;
}

/* Custom Academy UI: keep dropdowns open while the pointer moves from the parent link to the submenu. */
.ph-ecosystem-nav__item::after {
	content: "";
	height: 14px;
	left: 0;
	position: absolute;
	right: 0;
	top: 100%;
}

.ph-ecosystem-nav__dropdown {
	background: #fff;
	border: 1px solid #dfe9f0;
	border-radius: 8px;
	box-shadow: 0 18px 48px rgba(7, 21, 37, 0.18);
	display: grid;
	gap: 4px;
	left: 0;
	min-width: 210px;
	opacity: 0;
	padding: 10px;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 10px);
	transform: translateY(6px);
	transition: opacity 160ms ease, transform 160ms ease;
	z-index: 10020;
}

.ph-ecosystem-nav__item:hover .ph-ecosystem-nav__dropdown,
.ph-ecosystem-nav__item:focus-within .ph-ecosystem-nav__dropdown,
.ph-ecosystem-nav__item.is-open .ph-ecosystem-nav__dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.ph-ecosystem-nav__dropdown a,
.ph-ecosystem-nav__dropdown span {
	border-radius: 7px;
	color: #16344a;
	font-size: 13px;
	font-weight: 800;
	padding: 9px 10px;
	text-decoration: none;
}

.ph-ecosystem-nav__dropdown a span {
	color: #6c8799;
	display: block;
	font-size: 11px;
	font-weight: 800;
	margin-top: 2px;
	padding: 0;
	text-transform: none;
}

.ph-ecosystem-nav__dropdown a:hover {
	background: #eef9fb;
	color: #071525;
}

.ph-ecosystem-nav__dropdown span {
	color: #7c96aa;
}

.ph-ecosystem-header__actions {
	align-items: center;
	display: flex;
	gap: 10px;
	margin-left: auto;
}

.ph-ecosystem-search {
	align-items: center;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(188, 239, 240, 0.18);
	border-radius: 8px;
	display: flex;
	height: 40px;
	overflow: hidden;
	width: 190px;
}

.ph-ecosystem-search input {
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 13px;
	min-width: 0;
	padding: 0 10px;
	width: 100%;
}

.ph-ecosystem-search input::placeholder {
	color: #8fb0c8;
}

.ph-ecosystem-search button,
.ph-ecosystem-login {
	align-items: center;
	background: #20d3d2;
	border: 0;
	border-radius: 7px;
	color: #071525;
	display: inline-flex;
	font-size: 13px;
	font-weight: 900;
	height: 40px;
	justify-content: center;
	padding: 0 14px;
	text-decoration: none;
}

.ph-ecosystem-search button {
	background: transparent;
	color: #20d3d2;
	width: 42px;
}

.ph-site-footer,
.ph-footer {
	background: #071525;
	color: #dcefff;
}

.ph-site-footer__grid,
.ph-footer__grid {
	display: grid;
	gap: 30px;
	grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr));
	padding-bottom: 46px;
	padding-top: 56px;
}

.ph-site-footer__brand,
.ph-footer__brand {
	color: #fff;
	display: inline-block;
	font-size: 22px;
	font-weight: 950;
	margin-bottom: 12px;
	text-decoration: none;
}

.ph-site-footer__brand--logo img,
.ph-footer__brand--logo img {
	display: block;
	height: auto;
	max-height: 44px;
	max-width: 220px;
	object-fit: contain;
	width: auto;
}

.ph-site-footer__brand--logo,
.ph-footer__brand--logo {
	display: inline-flex;
}

.ph-site-footer p,
.ph-footer p {
	color: #9eb8cc;
	line-height: 1.7;
	margin: 0;
	max-width: 390px;
}

.ph-site-footer h2,
.ph-footer h2 {
	color: #fff;
	font-size: 14px;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.ph-site-footer a,
.ph-site-footer span,
.ph-footer a,
.ph-footer span {
	color: #9eb8cc;
	display: block;
	font-size: 14px;
	margin-bottom: 9px;
	text-decoration: none;
}

.ph-site-footer a:hover,
.ph-footer a:hover {
	color: #20d3d2;
}

.ph-site-footer__bottom,
.ph-footer__bottom {
	align-items: center;
	border-top: 1px solid rgba(188, 239, 240, 0.12);
	display: flex;
	justify-content: space-between;
	padding-bottom: 24px;
	padding-top: 18px;
}

.ph-search-page {
	background: #f5f8fb;
	color: #18334a;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.ph-search-hero {
	background: radial-gradient(circle at 82% 0%, rgba(32, 211, 210, 0.18), transparent 34%), #071525;
	color: #fff;
	padding: 82px 0 76px;
}

.ph-search-hero h1 {
	color: #fff;
	font-size: clamp(38px, 5vw, 64px);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 12px 0 16px;
}

.ph-search-hero p {
	color: #b6cadd;
	font-size: 18px;
	line-height: 1.7;
	margin: 0;
	max-width: 760px;
}

.ph-search-hero p strong {
	color: #20d3d2;
	font-weight: 900;
	overflow-wrap: anywhere;
}

.ph-search-form {
	align-items: stretch;
	display: flex;
	gap: 10px;
	margin-top: 28px;
	max-width: 720px;
}

.ph-search-form input {
	background: #fff;
	border: 1px solid rgba(188, 239, 240, 0.36);
	border-radius: 8px;
	color: #071525;
	flex: 1;
	font-size: 16px;
	min-height: 52px;
	min-width: 0;
	padding: 0 16px;
}

.ph-search-form button {
	background: #20d3d2;
	border: 0;
	border-radius: 8px;
	color: #071525;
	font-size: 15px;
	font-weight: 900;
	min-height: 52px;
	padding: 0 22px;
}

.ph-search-results {
	padding: 58px 0 88px;
}

.ph-search-results__head {
	color: #57748b;
	font-size: 13px;
	font-weight: 900;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.ph-search-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ph-search-result-card,
.ph-empty-state {
	background: #fff;
	border: 1px solid #dfe9f0;
	border-radius: 8px;
	box-shadow: 0 14px 36px rgba(15, 38, 58, 0.08);
	padding: 28px;
}

.ph-search-result-card span,
.ph-empty-state span {
	color: #087d6d;
	display: block;
	font-size: 12px;
	font-weight: 900;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.ph-search-result-card h2,
.ph-empty-state h2 {
	color: #071525;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.2;
	margin: 0 0 12px;
}

.ph-search-result-card h2 a {
	color: inherit;
	text-decoration: none;
}

.ph-search-result-card p,
.ph-empty-state p {
	color: #405b72;
	font-size: 15px;
	line-height: 1.7;
	margin: 0 0 18px;
}

.ph-search-result-card__link {
	color: #087d6d;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
}

.ph-empty-state {
	max-width: 720px;
}

.ph-error-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.ph-validator-layout {
	max-width: 880px;
}

.ph-validator-card {
	background: #fff;
	border: 1px solid #dfe9f0;
	border-radius: 8px;
	box-shadow: 0 18px 46px rgba(15, 38, 58, 0.1);
	color: #18334a;
	padding: 32px;
}

.ph-validator-card span {
	color: #087d6d;
	display: block;
	font-size: 12px;
	font-weight: 900;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.ph-validator-card h2 {
	color: #071525;
	font-size: 28px;
	font-weight: 950;
	line-height: 1.18;
	margin: 0 0 12px;
}

.ph-validator-card p {
	color: #405b72;
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
}

.ph-validator-card #certificate_checker input,
.ph-validator-card input[type="text"] {
	border: 1px solid #d4e1ea;
	border-radius: 8px;
	color: #071525;
	font-size: 16px;
	min-height: 52px;
	padding: 0 16px;
	width: 100%;
}

.ph-validator-card #certificate_checker button,
.ph-validator-card button {
	background: #20d3d2;
	border: 0;
	border-radius: 8px;
	color: #071525;
	font-size: 15px;
	font-weight: 900;
	min-height: 52px;
	padding: 0 22px;
}

@media (max-width: 1120px) {
	.ph-ecosystem-header__bar {
		align-items: center;
		flex-wrap: wrap;
	}

	.ph-ecosystem-header__menu-toggle {
		display: inline-flex;
		position: relative;
	}

	.ph-ecosystem-header__nav-panel {
		background: rgba(5, 17, 31, 0.98);
		border: 1px solid rgba(188, 239, 240, 0.16);
		border-radius: 8px;
		display: none;
		flex-basis: 100%;
		flex-direction: column;
		gap: 10px;
		margin-top: 8px;
		padding: 12px;
		width: 100%;
	}

	.ph-ecosystem-header.is-menu-open .ph-ecosystem-header__nav-panel {
		display: flex;
	}

	.ph-ecosystem-nav {
		display: grid;
		gap: 6px;
		justify-content: flex-start;
		overflow-x: visible;
		width: 100%;
	}

	.ph-ecosystem-nav--utility {
		margin-left: 0;
	}

	.ph-ecosystem-nav > a,
	.ph-ecosystem-nav__item > a {
		justify-content: space-between;
		width: 100%;
	}

	.ph-ecosystem-nav__item::after {
		display: none;
	}

	.ph-ecosystem-nav__dropdown {
		display: none;
		margin-top: 6px;
		opacity: 1;
		position: static;
		transform: none;
		width: 100%;
	}

	.ph-ecosystem-nav__item.is-open .ph-ecosystem-nav__dropdown,
	.ph-ecosystem-nav__item:focus-within .ph-ecosystem-nav__dropdown {
		display: grid;
		pointer-events: auto;
	}

	.ph-ecosystem-header__actions {
		align-items: stretch;
		display: grid;
		margin-left: 0;
		width: 100%;
	}

	.ph-ecosystem-search {
		width: 100%;
	}

	.ph-ecosystem-login {
		width: 100%;
	}

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

@media (max-width: 760px) {
	.ph-academy-loader__ring {
		height: 112px;
		top: -18px;
		width: 112px;
	}

	.ph-academy-loader__logo {
		height: 78px;
		padding: 10px;
		width: 78px;
	}

	.ph-academy-loader__logo img {
		max-height: 58px;
		max-width: 58px;
	}

	.ph-academy-loader__text {
		font-size: 13px;
		text-align: center;
	}

	.ph-ecosystem-header__bar {
		padding: 10px 16px;
	}

	.ph-ecosystem-header__brand {
		min-width: 0;
	}

	.ph-ecosystem-header__brand img {
		max-height: 38px;
	}

	.ph-academy-logo__media {
		height: 38px;
		padding: 3px;
		width: 38px;
	}

	.ph-academy-logo__text strong {
		font-size: 14px;
	}

	.ph-academy-logo__text small {
		font-size: 11px;
	}

	.ph-search-hero {
		padding: 60px 0;
	}

	.ph-search-form {
		flex-direction: column;
	}

	.ph-search-grid {
		grid-template-columns: 1fr;
	}

	.ph-site-footer__brand--logo img,
	.ph-footer__brand--logo img {
		max-height: 36px;
	}

	.ph-site-footer__grid,
	.ph-footer__grid {
		grid-template-columns: 1fr;
	}

	.ph-site-footer__bottom,
	.ph-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.ph-validator-card {
		padding: 24px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ph-academy-loader,
	.ph-academy-loader__ring,
	.ph-academy-loader__logo {
		animation: none;
	}

	.ph-academy-loader {
		transition-duration: 160ms;
	}
}
/* PentestHint ecosystem shell ends. */

/* PentestHint course archive and single-course redesign starts. */
.ph-course-archive,
.ph-course-single {
	--ph-course-navy: #071525;
	--ph-course-panel: #0d2034;
	--ph-course-panel-2: #102a42;
	--ph-course-cyan: #20d3d2;
	--ph-course-teal: #1fb59f;
	--ph-course-ink: #dcefff;
	--ph-course-muted: #8fb0c8;
	--ph-course-line: rgba(151, 203, 226, 0.18);
	background: #f5f8fb;
	color: #102033;
	overflow-x: hidden;
}

.ph-course-archive {
	padding: 72px max(24px, calc((100vw - 1180px) / 2)) 86px;
}

.ph-course-archive__toolbar {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin: 0 auto 28px;
	max-width: 1180px;
}

.ph-course-archive__toolbar h2,
.ph-course-single h1,
.ph-course-single h2 {
	letter-spacing: 0;
}

.ph-course-archive__toolbar h2 {
	color: #071525;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.08;
	margin: 8px 0 0;
}

.ph-course-search {
	background: #fff;
	border: 1px solid #dbe6ee;
	border-radius: 8px;
	display: flex;
	max-width: 430px;
	min-height: 52px;
	overflow: hidden;
	width: 100%;
}

.ph-course-search input,
.ph-course-filter input,
.ph-course-filter select {
	background: #fff;
	border: 1px solid #d7e3ec;
	border-radius: 8px;
	color: #102033;
	font-size: 15px;
	min-height: 46px;
	padding: 0 14px;
	width: 100%;
}

.ph-course-search input {
	border: 0;
	border-radius: 0;
	min-width: 0;
}

.ph-course-search button,
.ph-course-filter button,
.ph-course-card--catalog .ph-course-card__footer a {
	background: linear-gradient(135deg, var(--ph-course-cyan), var(--ph-course-teal));
	border: 0;
	border-radius: 7px;
	color: #04121f;
	font-size: 14px;
	font-weight: 800;
	min-height: 44px;
	padding: 0 18px;
	text-decoration: none;
	white-space: nowrap;
}

.ph-course-search button {
	margin: 4px;
}

.ph-course-archive__layout {
	align-items: start;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1180px;
}

.ph-course-filter {
	background: var(--ph-course-navy);
	border: 1px solid var(--ph-course-line);
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(7, 21, 37, 0.18);
	color: var(--ph-course-ink);
	padding: 22px;
	position: sticky;
	top: 24px;
}

.ph-course-filter form,
.ph-course-filter label {
	display: grid;
	gap: 12px;
}

.ph-course-filter form {
	gap: 18px;
}

.ph-course-filter__head {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.ph-course-filter h2 {
	color: #fff;
	font-size: 20px;
	line-height: 1.2;
	margin: 0;
}

.ph-course-filter a {
	color: var(--ph-course-cyan);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.ph-course-filter span {
	color: var(--ph-course-muted);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.ph-course-results {
	min-width: 0;
}

.ph-course-results__meta {
	color: #547086;
	font-size: 14px;
	font-weight: 800;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.ph-course-grid--archive {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ph-course-archive .masterstudy-course-card__popup {
	display: none !important;
}

.ph-course-card--catalog {
	background: #fff;
	border: 1px solid #dfe9f0;
	border-radius: 8px;
	box-shadow: 0 14px 36px rgba(15, 38, 58, 0.08);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	position: relative;
	transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.ph-course-card--catalog:hover {
	border-color: rgba(32, 211, 210, 0.55);
	box-shadow: 0 20px 48px rgba(15, 38, 58, 0.16);
	transform: translateY(-4px);
}

.ph-course-card--catalog .ph-course-card__media {
	aspect-ratio: 16 / 10;
	background: var(--ph-course-panel);
	display: block;
	position: relative;
	width: 100%;
}

.ph-course-card--catalog .ph-course-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ph-course-card__price {
	background: rgba(7, 21, 37, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	padding: 7px 11px;
	position: absolute;
	right: 12px;
	top: 12px;
}

.ph-course-card--catalog .ph-course-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 14px;
	padding: 22px;
}

.ph-course-card--catalog .ph-course-card__meta,
.ph-course-card__details,
.ph-course-card--catalog .ph-course-card__footer {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ph-course-card--catalog .ph-course-card__meta span,
.ph-course-card__details span {
	background: #eef7fb;
	border-radius: 999px;
	color: #26536c;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	padding: 8px 10px;
}

.ph-course-card--catalog h3 {
	font-size: 21px;
	line-height: 1.25;
	margin: 0;
	overflow-wrap: anywhere;
}

.ph-course-card--catalog h3 a {
	color: #071525;
	text-decoration: none;
}

.ph-course-card--catalog p {
	color: #557189;
	display: -webkit-box;
	font-size: 15px;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	line-height: 1.65;
	margin: 0;
	overflow: hidden;
}

.ph-course-card--catalog .ph-course-card__footer {
	justify-content: space-between;
	margin-top: auto;
	padding-top: 4px;
}

.ph-course-card--catalog .ph-course-card__footer strong {
	color: #071525;
	font-size: 17px;
}

.ph-course-pagination {
	margin-top: 32px;
}

.ph-course-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ph-course-pagination a,
.ph-course-pagination span {
	background: #fff;
	border: 1px solid #dce7ef;
	border-radius: 8px;
	color: #102033;
	display: inline-flex;
	font-weight: 800;
	min-width: 42px;
	padding: 10px 13px;
	text-decoration: none;
}

.ph-course-pagination .current {
	background: var(--ph-course-navy);
	color: #fff;
}

.ph-course-single {
	background: #f5f8fb;
	color: #18334a;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
}

/* PentestHint single-course layout fix: let the custom course UI use the full page width inside the MasterStudy wrapper. */
body.single-stm-courses .stm-lms-wrapper > .container {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

body.single-stm-courses .ph-course-single {
	box-sizing: border-box;
	clear: both;
	display: block;
	inline-size: 100%;
	margin: 0;
	max-inline-size: none;
	min-inline-size: 0;
	overflow-x: clip;
}

.ph-course-single__hero {
	background: radial-gradient(circle at 80% 10%, rgba(32, 211, 210, 0.18), transparent 32%), var(--ph-course-navy);
	color: var(--ph-course-ink);
	padding: 72px max(24px, calc((100vw - 1180px) / 2)) 78px;
}

.ph-course-single__hero-grid {
	align-items: center;
	display: grid;
	gap: 36px;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1180px;
	min-width: 0;
	width: 100%;
}

.ph-course-single__badges,
.ph-course-single__signals,
.ph-course-single__utility {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ph-course-single__badges span,
.ph-course-single__signals span {
	border: 1px solid rgba(32, 211, 210, 0.28);
	border-radius: 999px;
	color: #bceff0;
	font-size: 13px;
	font-weight: 900;
	padding: 8px 12px;
}

.ph-course-single h1 {
	color: #fff;
	display: block;
	font-size: clamp(36px, 4vw, 56px);
	font-weight: 900;
	inline-size: 100%;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 18px 0;
	max-inline-size: 860px;
	min-inline-size: 0;
	overflow-wrap: break-word !important;
	text-wrap: balance;
	white-space: normal !important;
	word-break: normal !important;
	writing-mode: horizontal-tb !important;
}

.ph-course-single__intro p {
	color: #b6cadd;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	margin: 0 0 22px;
	max-width: 760px;
}

.ph-course-single__intro {
	inline-size: 100%;
	max-inline-size: 860px;
	min-width: 0;
	width: 100%;
}

.ph-course-single__byline {
	align-items: center;
	color: #c8d9e8;
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
	gap: 12px;
	margin: 0 0 22px;
}

.ph-course-single__byline img {
	border: 2px solid rgba(32, 211, 210, 0.48);
	border-radius: 50%;
	height: 42px;
	width: 42px;
}

.ph-course-single__byline strong {
	color: #fff;
}

.ph-course-single__preview {
	background: #fff;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

.ph-course-single__media {
	aspect-ratio: 16 / 10;
	background: var(--ph-course-panel);
	color: #fff;
	display: grid;
	place-items: center;
}

.ph-course-single__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ph-course-single__price {
	color: #071525;
	font-size: 30px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.1;
	padding: 24px 24px 10px;
}

.ph-course-single__cta,
.ph-course-single__utility {
	padding: 0 24px 24px;
}

.ph-course-single__cta .masterstudy-buy-button,
.ph-course-single__cta a,
.ph-course-single__cta button {
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.2;
	max-width: 100%;
}

.ph-course-single__tabs {
	background: #071525;
	border-bottom: 1px solid rgba(32, 211, 210, 0.22);
	border-top: 1px solid rgba(32, 211, 210, 0.22);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	padding: 14px 24px;
	position: sticky;
	top: 0;
	z-index: 20;
}

.ph-course-single__tabs a {
	border: 1px solid rgba(188, 239, 240, 0.22);
	border-radius: 8px;
	color: #bceff0;
	font-size: 14px;
	font-weight: 900;
	padding: 11px 16px;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.ph-course-single__tabs a:hover,
.ph-course-single__tabs a.is-active {
	background: #20d3d2;
	border-color: #20d3d2;
	color: #071525;
}

.ph-course-tab-panel {
	animation: phFadeIn 180ms ease;
	display: grid;
	gap: 24px;
	min-width: 0;
}

.ph-course-tab-panel[hidden] {
	display: none !important;
}

@keyframes phFadeIn {
	from {
		opacity: 0;
		transform: translateY(6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ph-course-quick-info {
	background: #0b1b2c;
	border-radius: 8px;
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	margin: 24px auto 0;
	max-width: 1180px;
	overflow: hidden;
	position: relative;
	z-index: 1;
	width: calc(100% - 48px);
}

.ph-course-quick-info__item {
	align-content: start;
	background: #102a42;
	color: #fff;
	display: grid;
	gap: 8px;
	min-height: 104px;
	padding: 22px 20px;
}

.ph-course-quick-info__item span {
	color: #8fb0c8;
	display: block;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.25;
	text-transform: uppercase;
}

.ph-course-quick-info__item strong {
	color: #fff;
	font-size: 18px;
	line-height: 1.25;
}

.ph-course-single__body {
	align-items: start;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
	margin: 0 auto;
	max-width: 1180px;
	padding: 42px 24px 86px;
}

.ph-course-single__content {
	display: grid;
	gap: 24px;
	min-width: 0;
}

.ph-course-panel,
.ph-course-single__details {
	background: #fff;
	border: 1px solid #dfe9f0;
	border-radius: 8px;
	box-shadow: 0 14px 36px rgba(15, 38, 58, 0.08);
	padding: 30px;
}

.ph-course-panel h2 {
	color: #071525;
	font-size: clamp(27px, 3vw, 38px);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 8px 0 20px;
}

.ph-course-learn-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ph-course-learn-grid div {
	background: #eef7fb;
	border: 1px solid #d7e9ef;
	border-radius: 8px;
	color: #18334a;
	font-weight: 700;
	line-height: 1.55;
	padding: 16px 18px;
}

.ph-course-richtext {
	color: #405b72;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.78;
}

.ph-course-richtext p {
	margin: 0 0 16px;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list {
	margin-top: 14px;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list {
	background: transparent;
	border: 0;
	display: grid;
	gap: 12px;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__wrapper {
	background: #f7fbfd;
	border: 1px solid #d7e9ef;
	border-radius: 8px;
	overflow: hidden;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__section {
	align-items: center;
	background: #fff;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	min-height: 58px;
	padding: 16px 18px;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__section-title {
	color: #071525;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.35;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__toggler {
	align-items: center;
	background: #eaf8fb;
	border-radius: 999px;
	color: #071525;
	display: inline-flex;
	font-size: 14px;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__toggler::before {
	content: "v";
	font-weight: 900;
}

.ph-course-panel--curriculum .ph-curriculum-module--closed .masterstudy-curriculum-list__toggler::before {
	content: ">";
}

.ph-course-panel--curriculum .ph-curriculum-module--closed .masterstudy-curriculum-list__materials {
	display: none;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__materials {
	background: #fff;
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0 18px 16px;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__item {
	border-top: 1px solid #e4edf3;
	margin: 0;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__link {
	align-items: center;
	border-radius: 8px;
	color: #25445b;
	display: flex;
	gap: 12px;
	min-height: 54px;
	padding: 12px 8px 12px 48px;
	position: relative;
	text-decoration: none;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__image {
	display: none;
}

/* Custom Academy UI: replace mixed lesson glyphs with one consistent play icon. */
.ph-course-panel--curriculum .masterstudy-curriculum-list__link::before,
.ph-course-panel--curriculum .masterstudy-curriculum-list__link::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__link::before {
	background: #eaf8fb;
	border: 1px solid #cde7ee;
	border-radius: 999px;
	height: 30px;
	left: 8px;
	width: 30px;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__link::after {
	border-bottom: 5px solid transparent;
	border-left: 8px solid #071525;
	border-top: 5px solid transparent;
	height: 0;
	left: 20px;
	width: 0;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__title {
	color: #18334a;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 15px;
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.45;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__meta,
.ph-course-panel--curriculum .masterstudy-curriculum-list__duration,
.ph-course-panel--curriculum .masterstudy-curriculum-list__preview {
	color: #5b7488;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

.ph-course-panel--curriculum .masterstudy-curriculum-list__link:hover {
	background: #eef9fb;
}

.ph-course-panel--reviews .masterstudy-single-course-reviews {
	margin-top: 16px;
}

.ph-course-panel--info .ph-course-richtext ul {
	margin: 0;
	padding-left: 20px;
}

.ph-course-instructor-bio {
	border-top: 1px solid #dfe9f0;
	color: #405b72;
	line-height: 1.7;
	margin-top: 20px;
	padding-top: 18px;
}

.ph-course-single__details {
	display: grid;
	gap: 18px;
	position: sticky;
	top: 24px;
}

.ph-course-single__details .masterstudy-single-course-details,
.ph-course-single__details .masterstudy-single-course-complete {
	border: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
}

.ph-course-detail-cards {
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr;
}

.ph-course-detail-cards--wide {
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.ph-course-detail-card {
	align-items: start;
	background: linear-gradient(180deg, #ffffff 0%, #eef8fb 100%);
	border: 1px solid #d7e9ef;
	border-radius: 8px;
	display: grid;
	gap: 7px 10px;
	grid-template-columns: auto minmax(0, 1fr);
	min-height: 96px;
	padding: 16px;
	width: 100%;
}

.ph-course-detail-card__icon {
	align-items: center;
	background: #071525;
	border-radius: 8px;
	color: #20d3d2;
	display: inline-flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.ph-course-detail-card__icon svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
	width: 18px;
}

.ph-course-detail-card__label {
	color: #57748b;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.25;
	text-transform: uppercase;
}

.ph-course-detail-card__value {
	align-self: end;
	color: #071525;
	grid-column: 2;
	font-size: 14px;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.45;
	overflow-wrap: anywhere;
	word-break: normal;
}

.ph-js .ph-course-detail-card--expandable:not(.is-expanded) .ph-course-detail-card__value {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.ph-course-detail-card__toggle {
	background: transparent;
	border: 0;
	color: #087d6d;
	display: none;
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 13px;
	font-weight: 900;
	grid-column: 2;
	justify-self: start;
	line-height: 1.2;
	padding: 2px 0 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ph-js .ph-course-detail-card--expandable .ph-course-detail-card__toggle {
	display: inline-flex;
}

.ph-course-detail-card--expandable .ph-course-detail-card__value {
	transition: max-height 220ms ease;
}

.ph-course-related {
	margin: 0 auto;
	max-width: 1180px;
	padding: 0 24px 86px;
}

.ph-course-related__head {
	margin-bottom: 22px;
}

.ph-course-related__head h2 {
	color: #071525;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.15;
	margin: 8px 0 0;
}

.ph-course-related__grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1080px) {
	.ph-course-grid--archive {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ph-course-single__hero-grid,
	.ph-course-single__body {
		grid-template-columns: 1fr;
	}

	.ph-course-quick-info,
	.ph-course-related__grid,
	.ph-course-detail-cards--wide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ph-course-single__details,
	.ph-course-filter {
		position: static;
	}
}

@media (max-width: 780px) {
	.ph-course-archive {
		padding: 52px 18px 64px;
	}

	.ph-course-archive__toolbar,
	.ph-course-archive__layout {
		grid-template-columns: 1fr;
	}

	.ph-course-archive__toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.ph-course-grid--archive,
	.ph-course-learn-grid,
	.ph-course-related__grid {
		grid-template-columns: 1fr;
	}

	.ph-course-single__hero {
		padding: 54px 18px 58px;
	}

	.ph-course-single__body {
		padding: 36px 18px 64px;
	}

	.ph-course-quick-info {
		margin-top: 18px;
		width: calc(100% - 36px);
	}

	.ph-course-single__tabs {
		justify-content: flex-start;
		overflow-x: auto;
	}

	.ph-course-panel,
	.ph-course-single__details {
		padding: 24px 20px;
	}
}

@media (max-width: 520px) {
	.ph-course-quick-info,
	.ph-course-detail-cards--wide {
		grid-template-columns: 1fr;
	}

	.ph-course-search {
		display: grid;
	}

	.ph-course-search button {
		margin: 0 4px 4px;
	}

	.ph-course-card--catalog .ph-course-card__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.ph-course-card--catalog .ph-course-card__footer a {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		width: 100%;
	}
}
/* PentestHint course archive and single-course redesign ends. */
