/*
Theme Name: 258HUB LD
Theme URI: 
Author: Shannon Rusnak
Author URI: 
Description: Blank theme based on Learn Dash
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 1.1.991
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 258hub-ld
Tags: 
*/

/* helpers */
.overflow-hidden { overflow: hidden; }
.rounded { border-radius: 1rem; overflow: hidden; }

/* set up */

html,
body {
	min-height: 100%;
}

body {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

body > .wp-site-blocks {
	flex: 1;
	display: flex;
	flex-direction: column;
    gap: 0;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

body > .wp-site-blocks > main {
	flex: 1;
}

/* 
* wp-blocks 
*/

.wp-block-post-navigation-link a { text-decoration:none !important; }

/* wp buttons */
.wp-block-button .wp-block-button__link {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: opacity 0.3s ease;
}

/* Hover gradient layer */
.wp-block-button .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;

	/* Replace this with your hover gradient */
	background: linear-gradient(0deg,rgb(44,26,77) 1%,rgb(140, 104, 205) 100%);

	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: -1;
}

.wp-block-button .wp-block-button__link:hover::before {
	opacity: 1;
}

/* update wp login block */

/* ========================================
   258HUB – WordPress Login Block
   ======================================== */

.wp-block-loginout.logged-out {
	max-width: 500px;
	margin: 0 auto;
}

/* Form */
.wp-block-loginout #loginform {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

/* Remove WordPress paragraph spacing */
.wp-block-loginout #loginform p {
	margin: 0;
}

/* Labels */
.wp-block-loginout #loginform label {
	display: block;
	margin-bottom: 0.4rem;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1rem;
	font-weight: 600;
	color: #2c1a4d;
}

/* Username + password fields */
.wp-block-loginout #loginform input[type="text"],
.wp-block-loginout #loginform input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	padding: 0.8rem 1rem;
	border: 1px solid #d7d2df;
	border-radius: 8px;
	background: #fff;
	color: #2c1a4d;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1rem;
	line-height: 1.5;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

/* Input focus */
.wp-block-loginout #loginform input[type="text"]:focus,
.wp-block-loginout #loginform input[type="password"]:focus {
	border-color: #6f42c1;
	outline: none;
	box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.15);
}

/* Remember me */
.wp-block-loginout #loginform .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 0.95rem;
	font-weight: 400;
	cursor: pointer;
}

.wp-block-loginout #loginform .login-remember input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #6f42c1;
	cursor: pointer;
}

/* Login button */
.wp-block-loginout #loginform #wp-submit {
	width: 100%;
	padding: 0.8rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(
		0deg,
		rgb(44, 26, 77) 1%,
		rgb(111, 66, 193) 100%
	);
	color: #fff;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	cursor: pointer;
	transition:
		opacity 0.3s ease,
		transform 0.2s ease;
}

.wp-block-loginout #loginform #wp-submit:hover {
	opacity: 0.85;
}

.wp-block-loginout #loginform #wp-submit:focus-visible {
	outline: 3px solid rgba(111, 66, 193, 0.3);
	outline-offset: 3px;
}

/* Slight pressed effect */
.wp-block-loginout #loginform #wp-submit:active {
	transform: translateY(1px);
}

/* ========================================
   258HUB – Logout Button
   ======================================== */

.wp-block-loginout.logged-in {
	display: flex;
	justify-content: center;
}

/* Logout link */
.wp-block-loginout.logged-in > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(
		0deg,
		rgb(44, 26, 77) 1%,
		rgb(111, 66, 193) 100%
	);
	color: #fff;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		opacity 0.3s ease,
		transform 0.2s ease;
}

/* Hover */
.wp-block-loginout.logged-in > a:hover {
	color: #fff;
	text-decoration: none;
	opacity: 0.85;
}

/* Keyboard focus */
.wp-block-loginout.logged-in > a:focus-visible {
	outline: 3px solid rgba(111, 66, 193, 0.3);
	outline-offset: 3px;
}

/* Pressed */
.wp-block-loginout.logged-in > a:active {
	transform: translateY(1px);
}

/* end wp-blocks */

/* Woocommerce styles */

/* ========================================
   258HUB – WooCommerce Login Form
   ======================================== */

/* Form */
.woocommerce-form-login {
	max-width: 500px;
	margin: 0;
}

/* Form rows */
.woocommerce-form-login .form-row {
	margin: 0 0 1.25rem;
	padding: 0;
}

/* Labels */
.woocommerce-form-login label {
	display: block;
	margin-bottom: 0.4rem;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1rem;
	font-weight: 600;
	color: #2c1a4d;
}

/* Required asterisk */
.woocommerce-form-login .required {
	color: #6f42c1;
}

/* Username + password fields */
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	padding: 0.8rem 1rem;
	border: 1px solid #d7d2df;
	border-radius: 8px;
	background: #fff;
	color: #2c1a4d;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1rem;
	line-height: 1.5;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

/* Input focus */
.woocommerce-form-login input[type="text"]:focus,
.woocommerce-form-login input[type="password"]:focus {
	border-color: #6f42c1;
	outline: none;
	box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.15);
}


/* ========================================
   Password Field
   ======================================== */

.woocommerce-form-login .password-input {
	display: block;
	position: relative;
	width: 100%;
}

.woocommerce-form-login .password-input input {
	padding-right: 3rem;
}


/* ========================================
   Remember Me
   ======================================== */

.woocommerce-form-login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1rem;
	font-size: 0.95rem;
	font-weight: 400;
	cursor: pointer;
}

.woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #6f42c1;
	cursor: pointer;
}


/* ========================================
   Login Button
   ======================================== */

.woocommerce-form-login .woocommerce-form-login__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 0.8rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(
		0deg,
		rgb(44, 26, 77) 1%,
		rgb(111, 66, 193) 100%
	);
	color: #fff;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	cursor: pointer;
	transition:
		opacity 0.3s ease,
		transform 0.2s ease;
}

.woocommerce-form-login .woocommerce-form-login__submit:hover {
	color: #fff;
	opacity: 0.85;
}

.woocommerce-form-login .woocommerce-form-login__submit:focus-visible {
	outline: 3px solid rgba(111, 66, 193, 0.3);
	outline-offset: 3px;
}

.woocommerce-form-login .woocommerce-form-login__submit:active {
	transform: translateY(1px);
}


/* ========================================
   Lost Password
   ======================================== */

.woocommerce-form-login .lost_password {
	margin: 1rem 0 0;
}

.woocommerce-form-login .lost_password a {
	color: #6f42c1;
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	transition: opacity 0.2s ease;
}

.woocommerce-form-login .lost_password a:hover {
	opacity: 0.75;
}

/* hides the empty p tags that gets output on customer dashboard */

.woocommerce-account .woocommerce-MyAccount-content > p:empty {
	display: none;
}

/* hyperlink block has no transition by default */
.wp-block-tiptip-hyperlink-group-block { text-decoration: none; transition: background 0.2s ease-in-out; }

/* fix cut off course nav sidebar on course pages */
.learndash-wrapper .ld-focus .ld-focus-sidebar {
  height: auto !important; 
}

/* fix weird overlap on top of course nav bar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading { 
  width: auto !important; 
}

/* =========================================================
   258HUB Course Grid Filters
   Page ID: 10204
   ========================================================= */


/* Filter panel
   --------------------------------------------------------- */

.page-id-10204 .learndash-course-grid-filter {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 2rem;
    padding: 0;

    background: transparent;
    border: 0;
    box-shadow: none;
}
 
/* Force the LearnDash filter panel to stay open */
.page-id-10204 .learndash-course-grid-filter {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
}

/* Hide the toggle button since the panel is now permanently open */
.page-id-10204 button.toggle-filter {
    display: none !important;
}



/* Soft card wrapper
   --------------------------------------------------------- */

.page-id-10204 .learndash-course-grid-filter .filter-wrapper {
    width: 100%;
    max-width: none;
}


/* Form
   --------------------------------------------------------- */

.page-id-10204 .learndash-course-grid-filter form {
    margin: 0;
    padding: 0;
}


/* Filter groups in a row
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.taxonomies-wrapper {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2rem;
    width: 100%;
}

/* =========================================================
   258HUB Course Grid Filter Order
   ========================================================= */

.page-id-10204
.learndash-course-grid-filter
.taxonomies-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}


/* 1. Course Providers */
.page-id-10204
.learndash-course-grid-filter
.taxonomy.course-provider {
	order: 1;
}


/* 2. Categories */
.page-id-10204
.learndash-course-grid-filter
.taxonomy.category {
	order: 2;
}


/* 3. Course Categories */
.page-id-10204
.learndash-course-grid-filter
.taxonomy.ld_course_category {
	order: 3;
}


/* 4. Languages */
.page-id-10204
.learndash-course-grid-filter
.taxonomy.language {
	order: 4;
}


/* 5. Course Prices */
.page-id-10204
.learndash-course-grid-filter
.taxonomy.course-price {
	order: 5;
}

/* =========================================================
   Hide selected Course Category filter options
   ========================================================= */

/* Deaf Training Program */
.page-id-10204
.taxonomy.category
.term:has(
	input[id$="-category-deaf-training-program"]
) {
	display: none;
}


/* Uncategorized */
.page-id-10204
.taxonomy.category
.term:has(
	input[id$="-category-uncategorized"]
) {
	display: none;
}

/* Hide DTP from the Course Categories filter. */
.page-id-10204
.taxonomy.ld_course_category
.term:has(
	input[id$="-ld_course_category-deaf-training-program"]
) {
	display: none;
}


/* Individual filter sections
   --------------------------------------------------------- */

/* Borders between Course Grid filters. */
.page-id-10204
.learndash-course-grid-filter
.taxonomy {
	border-right: 1px solid #e5e5e5;
}

/* No border after the final displayed filter. */
.page-id-10204
.learndash-course-grid-filter
.taxonomy.course-price {
	border-right: 0;
}


/* Section headings
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.taxonomy > label {
    display: block;

    margin: 0 0 1rem;
    padding: 0;

    font-family: var(--wp--preset--font-family--poppins);
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.25;

    color: var(--wp--preset--color--contrast);
}


/* Term lists
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.terms {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;

    margin: 0;
    padding: 0;

    list-style: none;
    max-height: 160px !important;
}

.page-id-10204
.learndash-course-grid-filter
.term {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
}


/* Checkbox rows
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.term label {
    display: flex;
    align-items: center;
    gap: 0.65rem;

    margin: 0;
    padding: 0;

    font-size: 1rem;
    line-height: 1.4;
    font-weight: 400;

    cursor: pointer;
}


/* Checkboxes
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.term input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;

    margin: 0;
    flex: 0 0 auto;

    accent-color: var(--wp--preset--color--primary);

    cursor: pointer;
}


/* Buttons area
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.buttons {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.75rem;

    margin-top: 1.5rem;
    padding-top: 1.25rem;

    border-top: 1px solid #e5e5e5;
}

/* =========================================================
   Course Grid Filter Buttons
   ========================================================= */

/* Hide Apply button because filters auto-apply. */
.page-id-10204
.learndash-course-grid-filter
.buttons .apply {
	display: none;
}


/* Selected course category description
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.hub258-category-description {
    display: none;

    flex: 1;
    max-width: 750px;

    margin-right: auto;
    padding-right: 2rem;

    color: var(--wp--preset--color--contrast);

    font-size: 0.95rem;
    line-height: 1.5;
}

.page-id-10204
.learndash-course-grid-filter
.hub258-category-description.is-visible {
    display: block;
}

.page-id-10204
.learndash-course-grid-filter
.hub258-category-description p {
    margin: 0;
}

.page-id-10204
.learndash-course-grid-filter
.hub258-category-description p + p {
    margin-top: 0.5rem;
}


/* Apply button
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.buttons .apply {
    width: auto !important;
    min-width: 140px;

    padding: 0.75rem 1.5rem !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: linear-gradient(
        0deg,
        rgb(44, 26, 77) 1%,
        rgb(111, 66, 193) 100%
    ) !important;

    color: #fff !important;

    font-family: var(--wp--preset--font-family--poppins);
    font-size: 1rem !important;
    font-weight: 600;

    cursor: pointer;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.page-id-10204
.learndash-course-grid-filter
.buttons .apply:hover {
    opacity: 0.9;
}


/* Clear button
   --------------------------------------------------------- */

.page-id-10204
.learndash-course-grid-filter
.buttons .clear {
    width: auto !important;

    padding: 0.75rem 1.25rem !important;

    border: 1px solid #ccc !important;
    border-radius: 999px !important;

    background: transparent !important;

    color: var(--wp--preset--color--contrast) !important;

    font-family: var(--wp--preset--font-family--poppins);
    font-size: 1rem !important;
    font-weight: 500;

    cursor: pointer;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

.page-id-10204
.learndash-course-grid-filter
.buttons .clear:hover {
    background: #f2f2f2 !important;
    border-color: #aaa !important;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 900px) {

    .page-id-10204
    .learndash-course-grid-filter
    .taxonomies-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-id-10204
    .learndash-course-grid-filter
    .taxonomy {
        padding-right: 0;
    }

    .page-id-10204
    .learndash-course-grid-filter
    .taxonomy:not(:last-child) {
        border-right: 0;
    }
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 600px) {

    .page-id-10204
    .learndash-course-grid-filter
    .filter-wrapper {
        padding: 1.25rem;
    }

    .page-id-10204
    .learndash-course-grid-filter
    .taxonomies-wrapper {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .page-id-10204
    .learndash-course-grid-filter
    .taxonomy:not(:last-child) {
        padding-bottom: 1.5rem;
        border-bottom: 1px solid #e5e5e5;
    }

    .page-id-10204
    .learndash-course-grid-filter
    .buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .page-id-10204
    .learndash-course-grid-filter
    .hub258-category-description {
        width: 100%;
        max-width: none;
        margin: 0 0 0.75rem;
        padding: 0;
    }

    .page-id-10204
    .learndash-course-grid-filter
    .buttons .apply,
    .page-id-10204
    .learndash-course-grid-filter
    .buttons .clear {
        width: 100% !important;
    }
}

/* =========================================================
   Course Grid - No Results
   ========================================================= */

.page-id-10204 .hub258-no-courses {
    grid-column: 1 / -1;

    width: 100%;
    padding: 3rem 2rem;
    margin: 1rem 0;

    text-align: center;

    background: #fff;
    border: 1px solid #ddd;
    border-radius: 1rem;

    box-shadow: 0 4px 18px rgb(0 0 0 / 8%);
}

.page-id-10204 .hub258-no-courses h3 {
    margin: 0 0 0.75rem;

    font-family: var(--wp--preset--font-family--poppins);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
}

.page-id-10204 .hub258-no-courses p {
    max-width: 600px;
    margin: 0 auto 1.5rem;

    font-size: 1rem;
    line-height: 1.6;
}

.page-id-10204 .hub258-clear-filters {
    padding: 0.75rem 1.5rem;

    border: 0;
    border-radius: 999px;

    background: linear-gradient(
        0deg,
        rgb(44, 26, 77) 1%,
        rgb(111, 66, 193) 100%
    );

    color: #fff;

    font-family: var(--wp--preset--font-family--poppins);
    font-size: 1rem;
    font-weight: 600;

    cursor: pointer;

    transition: opacity 0.3s ease;
}

.page-id-10204 .hub258-clear-filters:hover {
    opacity: 0.9;
}

/* =========================================================
   Course Grid Loading State
   ========================================================= */

.page-id-10204 .learndash-course-grid {
    position: relative;
}


/* Dim the course results while refreshing */
.page-id-10204
.learndash-course-grid.hub258-is-loading
.items-wrapper {
    opacity: 0.35;
    pointer-events: none;
}


/* Loading overlay */
.page-id-10204
.learndash-course-grid.hub258-is-loading::after {
    content: "";

    position: absolute;
    z-index: 20;

    left: 50%;
    top: 60%;

    width: 44px;
    height: 44px;

    margin-left: -22px;
    margin-top: -22px;

    border: 4px solid rgb(0 0 0 / 15%);
    border-top-color: var(--wp--preset--color--primary);
    border-radius: 50%;

    animation: hub258-course-grid-spin 0.7s linear infinite;
}


@keyframes hub258-course-grid-spin {
    to {
        transform: rotate(360deg);
    }
}

/* end learndash course grid filter */

/* style default ld course grid seen on group pages for associated courses */

.learndash-course-grid--modern .items-wrapper.grid {
  column-gap: var(--wp--preset--spacing--40) !important;
  margin-bottom: var(--wp--preset--spacing--40) !important;
  row-gap: var(--wp--preset--spacing--40) !important;
}

.learndash-course-grid--modern .items-wrapper .grid-3 .post {
border: 1px solid var(--wp--preset--color--stertiary);
  border-radius: 1rem;
  color: var(--wp--preset--color--contrast);
  gap: (--wp--preset--spacing--40);
}

.learndash-course-grid--modern .items-wrapper .grid-3 .content { 
  gap: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--20);
  justify-content: space-between;
}

.learndash-course-grid .items-wrapper .grid-3 .content .entry-content, .learndash-course-grid .items-wrapper .grid-3 .content .ld-progress-steps { 
  display: none;
}

.learndash-course-grid .items-wrapper .grid-3 .content .entry-title, .learndash-course-grid .items-wrapper .grid-3 .content .entry-title a {
  color: var(--wp--preset--color--contrast);
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.25;
  text-align: center;
}

.learndash-course-grid--modern .items-wrapper .grid-3 .content > :not(.button):last-child {
  margin-bottom: 0;
}

/*
 * ------------------------------------------------------------
 * Related LearnDash Courses
 * ------------------------------------------------------------
 */

.hub258-related-courses {
	margin-block-start: 3rem;
}


/*
 * Heading.
 */
.hub258-related-courses-title {
	margin-block-end: 1.5rem;
}


/*
 * ------------------------------------------------------------
 * Load More area
 * ------------------------------------------------------------
 */

.hub258-related-courses-actions {
	display: flex;
	justify-content: center;
	margin-block-start: 2rem;
}


/*
 * ------------------------------------------------------------
 * Load More Courses button
 *
 * 258HUB branded button styling.
 * ------------------------------------------------------------
 */

.hub258-related-load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 12rem;
	padding: 0.8rem 1.4rem;

	border: 2px solid var(--wp--preset--color--contrast);
	border-radius: 999px;

	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);

	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;

	cursor: pointer;

	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}


/*
 * Hover.
 */
.hub258-related-load-more:hover {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	transform: translateY(-1px);
}


/*
 * Active / pressed.
 */
.hub258-related-load-more:active {
	transform: translateY(0);
}


/*
 * Keyboard focus.
 */
.hub258-related-load-more:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}


/*
 * ------------------------------------------------------------
 * Hidden related courses
 *
 * Courses beyond the initial shortcode limit are hidden
 * until the Load More Courses button is clicked.
 * ------------------------------------------------------------
 */

.hub258-related-course-hidden {
	display: none !important;
}

/* ld page template tweaks */

.ld-layout {
  grid-gap: var(--wp--preset--spacing--40);
}

/* ld enrollment info and button on group page sidebar */
.ld-enrollment, .ld-details {
border: 1px solid var(--wp--preset--color--stertiary);
  border-radius: 1rem;
  color: var(--wp--preset--color--contrast);
  gap: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
}

.ld-enrollment__pricing-label, .ld-enrollment__pricing-price, .ld-enrollment__status-description, .ld-enrollment__status-label {
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--body); 
}

/* LearnDash Resume Course + Login buttons */

.ld-button {
  border-radius: 9999px !important;
  font-size: var(--wp--preset--font-size--small) !important;
  font-style: normal;
  font-weight: 600 !important;
}

.learndash-wrapper .ld-course-resume,
.learndash-wrapper .ld-login-button, .btn-join {
	background: linear-gradient(
		0deg,
		rgb(44, 26, 77) 1%,
		rgb(111, 66, 193) 100%
	) !important;
  background-color: transparent !important;
	color: var(--wp--preset--color--base);
	text-align: center;
	font-family: var(--wp--preset--font-family--poppins) !important;
	font-size: var(--wp--preset--font-size--small) !important;
	font-style: normal;
	font-weight: 600 !important;
	letter-spacing: 0.5px;
	line-height: inherit;

	border: 0;
	border-radius: 9999px !important;
	box-shadow: none;

	padding: calc(0.667em + 2px) calc(1.333em + 2px);

	text-decoration: none;
	text-transform: inherit;
	cursor: pointer;

	box-sizing: border-box;
	display: inline-block;
}

/* make login button slightly smaller for menu */

header .ld-button { padding: 0.5rem 1rem !important; }

.ld-button-transparent { background: transparent !important; }

.ld-featured-image, .ld-tab-bar__panel .ld-featured-image { display: none !important; }

.ld-tab-bar__panel > p {
  margin-bottom: 20px;
}

/**
 * 258HUB LearnDash
 *
 * Dynamic WooCommerce purchase buttons for
 * LearnDash courses and groups.
 */


/**
 * Add to Cart wrapper.
 *
 * Override WooCommerce shortcode and block-theme styles.
 */
body.single-sfwd-courses
.woocommerce.add_to_cart_inline,
body.single-groups
.woocommerce.add_to_cart_inline {
	display: flex;
	align-items: center;
	justify-content: flex-start;
    gap: 1rem;
	margin: 0;
	padding: 0 !important;

	border: none !important;
	background: none !important;
	box-shadow: none !important;
}


/**
 * Hide WooCommerce's duplicate product price.
 *
 * LearnDash already displays the price separately
 * in the course/group template.
 */
body.single-sfwd-courses
.woocommerce.add_to_cart_inline
> .woocommerce-Price-amount,
body.single-groups
.woocommerce.add_to_cart_inline
> .woocommerce-Price-amount {
	display: none;
}


/**
 * Add to Cart button.
 */
body.single-sfwd-courses
.woocommerce.add_to_cart_inline
.button.wp-element-button,
body.single-groups
.woocommerce.add_to_cart_inline
.button.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	padding: 12px 24px;

	border: none !important;
	border-radius: 9999px !important;

	background: linear-gradient(
		0deg,
		rgb(44, 26, 77) 1%,
		rgb(111, 66, 193) 100%
	) !important;

	color: #fff !important;

	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.2;

	text-align: center;
	text-decoration: none !important;

	cursor: pointer;

	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}


/**
 * Hover state.
 */
body.single-sfwd-courses
.woocommerce.add_to_cart_inline
.button.wp-element-button:hover,
body.single-groups
.woocommerce.add_to_cart_inline
.button.wp-element-button:hover {
	opacity: 0.88;
	transform: translateY(-1px);
}


/**
 * Keyboard focus state.
 */
body.single-sfwd-courses
.woocommerce.add_to_cart_inline
.button.wp-element-button:focus-visible,
body.single-groups
.woocommerce.add_to_cart_inline
.button.wp-element-button:focus-visible {
	opacity: 0.88;

	outline: 3px solid rgba(111, 66, 193, 0.35);
	outline-offset: 3px;
}


/**
 * WooCommerce AJAX loading state.
 */
body.single-sfwd-courses
.woocommerce.add_to_cart_inline
.button.wp-element-button.loading,
body.single-groups
.woocommerce.add_to_cart_inline
.button.wp-element-button.loading {
	opacity: 0.65;
	pointer-events: none;
}


/**
 * WooCommerce AJAX added state.
 */
body.single-sfwd-courses
.woocommerce.add_to_cart_inline
.button.wp-element-button.added,
body.single-groups
.woocommerce.add_to_cart_inline
.button.wp-element-button.added {
	opacity: 0.88;
}


/**
 * WooCommerce "View cart" link that may appear
 * after AJAX Add to Cart.
 */
body.single-sfwd-courses
.woocommerce.add_to_cart_inline
.added_to_cart,
body.single-groups
.woocommerce.add_to_cart_inline
.added_to_cart {
	margin-left: 16px;

	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
}


/**
 * Mobile.
 */
@media (max-width: 600px) {

	body.single-sfwd-courses
	.woocommerce.add_to_cart_inline,
	body.single-groups
	.woocommerce.add_to_cart_inline {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	body.single-sfwd-courses
	.woocommerce.add_to_cart_inline
	.button.wp-element-button,
	body.single-groups
	.woocommerce.add_to_cart_inline
	.button.wp-element-button {
		width: 100%;
	}

	body.single-sfwd-courses
	.woocommerce.add_to_cart_inline
	.added_to_cart,
	body.single-groups
	.woocommerce.add_to_cart_inline
	.added_to_cart {
		margin-left: 0;
		text-align: center;
	}
}

/**
 * 258HUB purchase state.
 *
 * Product is already in the WooCommerce cart.
 */
body.single-sfwd-courses
.hub258-product-in-cart,
body.single-groups
.hub258-product-in-cart {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
    width: 100%;
}


/**
 * Disabled Add to Cart button.
 */
body.single-sfwd-courses
.hub258-purchase-disabled,
body.single-groups
.hub258-purchase-disabled {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	padding: 12px 24px;

	border: none !important;
	border-radius: 9999px !important;

	background: #ddd !important;
	color: #666 !important;

	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.2;

	cursor: not-allowed;
	opacity: 1;
}


/**
 * Purchase limit message.
 */
body.single-sfwd-courses
.hub258-purchase-message,
body.single-groups
.hub258-purchase-message {
    display: block;
	margin: 0;

	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}


/**
 * Mobile.
 */
@media (max-width: 600px) {

	body.single-sfwd-courses
	.hub258-product-in-cart,
	body.single-groups
	.hub258-product-in-cart {
		width: 100%;
	}

	body.single-sfwd-courses
	.hub258-purchase-disabled,
	body.single-groups
	.hub258-purchase-disabled {
		width: 100%;
	}
}

/* woocommerce - hide start shopping button from mini cart sidebar */

/* Hide "Start shopping" button in empty WooCommerce Mini Cart. */
.wp-block-woocommerce-empty-mini-cart-contents-block
.wp-block-woocommerce-mini-cart-shopping-button-block {
	display: none;
}

/* Mega Max Menu fixes */

@media only screen and (max-width: 992px) {
  #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle {
    height: 100%;
    }
}

.featured-video .value {display: flex; justify-content: center; }

.featured-video iframe { display: flex; }

.featured-video-vertical iframe { 
width: 100%;
height: 80vh; }

.featured-video-horizontal iframe { 
width: 100%; 
height: 30vh; }

@media (min-width: 768px) { 

.featured-video-vertical iframe { 
width: 100%;
height: 100vh; }

.featured-video-horizontal iframe { 
height: 50vh; }
}

@media (min-width: 992px) {
.featured-video-horizontal iframe { 
height: 70vh; 
}
}

.player {
max-width: 100% !important;
height: 100% !important;
}

.ld-progress-bar { display: none; }
.wp-block-ld-progress-bar .ld-progress-bar {display: block;}


/* Hide Course Content by default. */
.ld-accordion--course {
	display: none;
}

/* Show Course Content for Open courses. */
body.ld-course-open .ld-accordion--course {
	display: block;
}

/* =========================================================
   258HUB – LearnDash Enrollment
   ========================================================= */


/* ---------------------------------------------------------
   Enroll Button
   --------------------------------------------------------- */

.ld-enrollment__join .ld-enrollment__join-button {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 100% !important;
	min-height: 52px !important;
	padding: 14px 28px !important;
	box-sizing: border-box !important;

	background: linear-gradient(
		180deg,
		var(--wp--preset--color--stertiary) 0%,
		var(--wp--preset--color--secondary) 100%
	) !important;

	color: var(--wp--preset--color--base) !important;

	border: 0 !important;
	border-radius: 999px !important;

	font-family: "Poppins", sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;

	text-decoration: none !important;

	transform: none !important;
	box-shadow: none !important;

	filter: brightness(1);

	cursor: pointer;

	transition: filter 0.4s ease !important;
}


/* ---------------------------------------------------------
   Enroll Button – Hover / Focus
   Smoothly lighten the existing gradient
   --------------------------------------------------------- */

.ld-enrollment__join .ld-enrollment__join-button:hover,
.ld-enrollment__join .ld-enrollment__join-button:focus,
.ld-enrollment__join .ld-enrollment__join-button:focus-visible {
	width: 100% !important;
	min-height: 52px !important;
	padding: 14px 28px !important;

	background: linear-gradient(
		180deg,
		var(--wp--preset--color--stertiary) 0%,
		var(--wp--preset--color--secondary) 100%
	) !important;

	color: var(--wp--preset--color--base) !important;

	border: 0 !important;
	border-radius: 999px !important;

	font-family: "Poppins", sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;

	text-decoration: none !important;

	transform: none !important;
	box-shadow: none !important;

	filter: brightness(1.22);
}


/* ---------------------------------------------------------
   Enroll Button – Active
   --------------------------------------------------------- */

.ld-enrollment__join .ld-enrollment__join-button:active {
	width: 100% !important;
	min-height: 52px !important;
	padding: 14px 28px !important;

	background: linear-gradient(
		180deg,
		var(--wp--preset--color--stertiary) 0%,
		var(--wp--preset--color--secondary) 100%
	) !important;

	color: var(--wp--preset--color--base) !important;

	border: 0 !important;
	border-radius: 999px !important;

	font-family: "Poppins", sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;

	text-decoration: none !important;

	transform: none !important;
	box-shadow: none !important;

	filter: brightness(1.08);
}


/* =========================================================
   Login Area
   ========================================================= */

.ld-enrollment__join .ld-enrollment__login {
	display: flex;
	align-items: center;
	gap: 6px;

	margin-top: 16px;
}


/* "or" text */

.ld-enrollment__join .ld-enrollment__login-text {
	font-family: "Poppins", sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}


/* ---------------------------------------------------------
   Log In Link
   --------------------------------------------------------- */

.ld-enrollment__join .ld-enrollment__login-link {
	padding: 0 !important;

	background: transparent !important;
	color: var(--wp--preset--color--stertiary) !important;

	border: 0 !important;
	border-radius: 0 !important;

	font-family: "Poppins", sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: inherit;

	text-decoration: underline;
	text-underline-offset: 3px;

	transform: none !important;
	box-shadow: none !important;

	opacity: 1;

	cursor: pointer;

	transition: opacity 0.3s ease !important;
}


/* ---------------------------------------------------------
   Log In – Hover / Focus
   --------------------------------------------------------- */

.ld-enrollment__join .ld-enrollment__login-link:hover,
.ld-enrollment__join .ld-enrollment__login-link:focus,
.ld-enrollment__join .ld-enrollment__login-link:focus-visible {
	padding: 0 !important;

	background: transparent !important;
	color: var(--wp--preset--color--stertiary) !important;

	border: 0 !important;
	border-radius: 0 !important;

	font-family: "Poppins", sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;

	text-decoration: underline;
	text-underline-offset: 3px;

	transform: none !important;
	box-shadow: none !important;

	opacity: 0.75;
}


/* ---------------------------------------------------------
   Log In – Active
   --------------------------------------------------------- */

.ld-enrollment__join .ld-enrollment__login-link:active {
	opacity: 0.6;
}

/* =========================================================
   258HUB – LearnDash Password Reset page-id-10
   ========================================================= */

.page-id-10 .ld-registration__heading { display: none; } 

/* =========================================================
   258HUB – LearnDash Password Reset Flow
   ========================================================= */


/* =========================================================
   Form Labels
   ========================================================= */

/* Forgot Password + Set New Password */

.learndash-wrapper
.ld-registration__forgot-password-form > label,
.learndash-wrapper
.ld-registration__reset-password-form > label {
	display: block;
	width: 100%;

	text-align: center !important;
}


/* Login Form */

.learndash-wrapper
.ld-registration__login-form
.login-username > label,
.learndash-wrapper
.ld-registration__login-form
.login-password > label {
	display: block;
	width: 100%;

	text-align: center !important;
}


/* =========================================================
   Form Field Text
   ========================================================= */

/* Forgot Password + Set New Password */

.learndash-wrapper
.ld-registration__forgot-password-form
input.ld-form__field,
.learndash-wrapper
.ld-registration__reset-password-form
input.ld-form__field {
	color: var(--wp--preset--color--contrast) !important;
}


/* Login Username + Password */

.learndash-wrapper
.ld-registration__login-form
input.ld-form__field {
	color: var(--wp--preset--color--contrast) !important;
}


/* =========================================================
   Primary Buttons
   ========================================================= */

/*
 * Applies to:
 *
 * 1. Forgot Password → Reset Password
 * 2. Set New Password → Reset Password
 * 3. Password Reset Success → Log In
 */

.learndash-wrapper
.ld-registration__forgot-password-form
input[type="submit"].button,

.learndash-wrapper
.ld-registration__reset-password-form
input[type="submit"].button,

.learndash-wrapper
.ld-registration__login-form
input[type="submit"].button {
	display: block !important;

	min-height: 52px !important;
	padding: 14px 28px !important;
	margin-left: auto !important;
	margin-right: auto !important;

	box-sizing: border-box !important;

	background: linear-gradient(
		180deg,
		var(--wp--preset--color--stertiary) 0%,
		var(--wp--preset--color--secondary) 100%
	) !important;

	color: var(--wp--preset--color--base) !important;

	border: 0 !important;
	border-radius: 999px !important;

	font-family: "Poppins", sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;

	text-align: center !important;
	text-decoration: none !important;

	transform: none !important;
	box-shadow: none !important;

	filter: brightness(1);

	cursor: pointer;

	transition: filter 0.4s ease !important;
}


/* =========================================================
   Primary Buttons – Hover / Focus
   ========================================================= */

.learndash-wrapper
.ld-registration__forgot-password-form
input[type="submit"].button:hover,

.learndash-wrapper
.ld-registration__forgot-password-form
input[type="submit"].button:focus,

.learndash-wrapper
.ld-registration__forgot-password-form
input[type="submit"].button:focus-visible,

.learndash-wrapper
.ld-registration__reset-password-form
input[type="submit"].button:hover,

.learndash-wrapper
.ld-registration__reset-password-form
input[type="submit"].button:focus,

.learndash-wrapper
.ld-registration__reset-password-form
input[type="submit"].button:focus-visible,

.learndash-wrapper
.ld-registration__login-form
input[type="submit"].button:hover,

.learndash-wrapper
.ld-registration__login-form
input[type="submit"].button:focus,

.learndash-wrapper
.ld-registration__login-form
input[type="submit"].button:focus-visible {
	min-height: 52px !important;
	padding: 14px 28px !important;
	margin-left: auto !important;
	margin-right: auto !important;

	background: linear-gradient(
		180deg,
		var(--wp--preset--color--stertiary) 0%,
		var(--wp--preset--color--secondary) 100%
	) !important;

	color: var(--wp--preset--color--base) !important;

	border: 0 !important;
	border-radius: 999px !important;

	font-family: "Poppins", sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;

	text-align: center !important;
	text-decoration: none !important;

	transform: none !important;
	box-shadow: none !important;

	filter: brightness(1.22);
}


/* =========================================================
   Primary Buttons – Active
   ========================================================= */

.learndash-wrapper
.ld-registration__forgot-password-form
input[type="submit"].button:active,

.learndash-wrapper
.ld-registration__reset-password-form
input[type="submit"].button:active,

.learndash-wrapper
.ld-registration__login-form
input[type="submit"].button:active {
	min-height: 52px !important;
	padding: 14px 28px !important;
	margin-left: auto !important;
	margin-right: auto !important;

	background: linear-gradient(
		180deg,
		var(--wp--preset--color--stertiary) 0%,
		var(--wp--preset--color--secondary) 100%
	) !important;

	color: var(--wp--preset--color--base) !important;

	border: 0 !important;
	border-radius: 999px !important;

	font-family: "Poppins", sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;

	text-align: center !important;
	text-decoration: none !important;

	transform: none !important;
	box-shadow: none !important;

	filter: brightness(1.08);
}

/* My courses page - 9131 */

/**
 * My Courses — Course Series
 */
.page-id-9131.has-no-learndash-group #my-course-series {
	display: none !important;
}