/*
Theme Name: AUS-QUAL
Theme URI: https://ausqual.com.au
Author: AUS-QUAL
Author URI: https://ausqual.com.au
Description: Custom WordPress theme for AUS-QUAL Training Services, featuring a modern block-based design with integrated patterns for courses, training categories, and contact forms.
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ausqual
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, wide-blocks, block-styles, accessibility-ready, education, portfolio
*/

/* ==========================================================================
   Form Input Variables
   ========================================================================== */
:root {
    /* Sizing */
    --form-input-padding: 0.75rem 1rem;
    --form-input-padding-textarea: 0.75rem 1rem;
    --form-input-font-size: 1rem;
    --form-input-border-radius: 5px;
    --form-textarea-min-height: 100px;

    /* Colors - Default (light background) */
    --form-input-bg: rgba(231, 239, 230, 0.5);
    --form-input-color: #1F2828;
    --form-input-border: 1px solid #1F2828;
    --form-input-placeholder: rgba(31, 40, 40, 0.5);

    /* Focus state */
    --form-input-focus-border-color: #235C28;
    --form-input-focus-shadow: 0 0 0 3px rgba(35, 92, 40, 0.1);

    /* Error state */
    --form-input-error-border-color: #DC2626;
    --form-input-error-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

/* Link styles */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .15em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Navigation focus styles */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/* Typography improvements */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/* More link display */
.more-link {
	display: block;
}

/* Preformatted text */
:where(pre) {
	overflow-x: auto;
}

/* AUS-QUAL Custom Styles */

/* Course card styles */
.ausqual-course-card {
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ausqual-course-card:hover {
	box-shadow: 0 12px 24px rgba(31, 40, 40, 0.12);
}

/* Category tag styles */
.ausqual-category-tag {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
}

/* CTA Button styles */
.ausqual-btn-primary {
	background-color: var(--wp--preset--color--grains) !important;
	color: var(--wp--preset--color--fertiliser) !important;
	border-radius: 8px !important;
	font-weight: 500 !important;
	transition: all 0.3s ease !important;
}

.ausqual-btn-primary:hover {
	background-color: #e5c157 !important;
	transform: translateY(-2px);
}

.ausqual-btn-outline {
	background-color: transparent !important;
	border: 2px solid var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--base) !important;
	border-radius: 8px !important;
}

.ausqual-btn-outline:hover {
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--fertiliser) !important;
}

/* Link button style - looks like a simple text link */
.wp-block-button.is-style-link-button .wp-block-button__link {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
}

.wp-block-button.is-style-link-button .wp-block-button__link:hover {
	text-decoration: underline;
}

/* Horizontal scroll for courses */
.ausqual-courses-scroll {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 16px;
}

.ausqual-courses-scroll::-webkit-scrollbar {
	height: 6px;
}

.ausqual-courses-scroll::-webkit-scrollbar-track {
	background: var(--wp--preset--color--light-bg);
	border-radius: 3px;
}

.ausqual-courses-scroll::-webkit-scrollbar-thumb {
	background: var(--wp--preset--color--grass);
	border-radius: 3px;
}

.ausqual-courses-scroll > * {
	scroll-snap-align: start;
	flex-shrink: 0;
}

/* Hero section */
.ausqual-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
}

.ausqual-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(31, 40, 40, 0.85) 0%, rgba(31, 40, 40, 0.4) 100%);
}

/* Category cards - Figma design (supports both block style and legacy class) */
.wp-block-cover.is-style-category-card,
.wp-block-cover.ausqual-category-card {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0px 4px 30px 0px rgba(0, 62, 51, 0.15);
}

/* Cover block overlay - masked to bottom area for tinting the frosted glass */
.wp-block-cover.is-style-category-card > .wp-block-cover__background,
.wp-block-cover.ausqual-category-card > .wp-block-cover__background {
	mask-image: linear-gradient(to top, black 0%, black 30%, transparent 60%);
	-webkit-mask-image: linear-gradient(to top, black 0%, black 30%, transparent 60%);
	z-index: 2;
}

/* Frosted glass effect at bottom - blur layer */
.wp-block-cover.is-style-category-card::before,
.wp-block-cover.ausqual-category-card::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 180px;
	background: linear-gradient(to top, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	mask-image: linear-gradient(to top, black 0%, black 40%, transparent 100%);
	-webkit-mask-image: linear-gradient(to top, black 0%, black 40%, transparent 100%);
	pointer-events: none;
	z-index: 1;
}

/* Card content - above the blur and tint overlay */
.wp-block-cover.is-style-category-card > .wp-block-cover__inner-container,
.wp-block-cover.ausqual-category-card > .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
}

/* Card title - starts shifted up, returns to normal on hover */
.wp-block-cover.is-style-category-card .ausqual-card-title,
.wp-block-cover.ausqual-category-card .ausqual-card-title,
.wp-block-cover.is-style-category-card > .wp-block-cover__inner-container > h3,
.wp-block-cover.ausqual-category-card > .wp-block-cover__inner-container > h3 {
	transform: translateY(30px);
	transition: transform 0.3s ease;
}

/* View Courses link - hidden by default using transform */
.wp-block-cover.is-style-category-card .ausqual-view-courses,
.wp-block-cover.ausqual-category-card .ausqual-view-courses {
	transform: translateY(10px);
	opacity: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
	margin-top: 8px;
}

/* Hover state - title returns to normal position, link revealed */
.wp-block-cover.is-style-category-card:hover .ausqual-card-title,
.wp-block-cover.ausqual-category-card:hover .ausqual-card-title,
.wp-block-cover.is-style-category-card:hover > .wp-block-cover__inner-container > h3,
.wp-block-cover.ausqual-category-card:hover > .wp-block-cover__inner-container > h3 {
	transform: translateY(0);
}

.wp-block-cover.is-style-category-card:hover .ausqual-view-courses,
.wp-block-cover.ausqual-category-card:hover .ausqual-view-courses {
	transform: translateY(0);
	opacity: 1;
}

/* ==========================================================================
   Contact Form 7 Custom Styles
   ========================================================================== */

/* Base WPCF7 input styles using global variables */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	padding: var(--form-input-padding);
	font-family: inherit;
	font-size: var(--form-input-font-size);
	color: var(--form-input-color);
	background: var(--form-input-bg);
	border: var(--form-input-border);
	border-radius: var(--form-input-border-radius);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: var(--form-input-placeholder);
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	outline: none;
	border-color: var(--form-input-focus-border-color);
	box-shadow: var(--form-input-focus-shadow);
}

.wpcf7 textarea {
	padding: var(--form-input-padding-textarea);
	resize: vertical;
	min-height: var(--form-textarea-min-height);
}

.wpcf7 label {
	display: block;
	margin-bottom: 8px;
	font-weight: 500;
	color: var(--form-input-color);
	font-size: 0.875rem;
}

/* WPCF7 validation states */
.wpcf7 .wpcf7-not-valid {
	border-color: var(--form-input-error-border-color);
}

.wpcf7 .wpcf7-not-valid:focus {
	box-shadow: var(--form-input-error-shadow);
}

.wpcf7 .wpcf7-not-valid-tip {
	color: var(--form-input-error-border-color);
	font-size: 0.75rem;
	margin-top: 0.25rem;
}

/* WPCF7 submit button */
.wpcf7 .wpcf7-submit {
	background-color: var(--wp--preset--color--grains);
	color: var(--wp--preset--color--fertiliser);
	border: none;
	padding: 14px 32px;
	border-radius: var(--form-input-border-radius);
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	width: 100%;
}

.wpcf7 .wpcf7-submit:hover {
	background-color: #e5c157;
}

.wpcf7 .wpcf7-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* WPCF7 on green/dark background - override colors */
.has-grass-background-color .wpcf7 input[type="text"],
.has-grass-background-color .wpcf7 input[type="email"],
.has-grass-background-color .wpcf7 input[type="tel"],
.has-grass-background-color .wpcf7 input[type="url"],
.has-grass-background-color .wpcf7 input[type="number"],
.has-grass-background-color .wpcf7 input[type="date"],
.has-grass-background-color .wpcf7 select,
.has-grass-background-color .wpcf7 textarea {
	--form-input-bg: #fff;
	--form-input-border: none;
	--form-input-focus-border-color: transparent;
	--form-input-focus-shadow: 0 0 0 3px rgba(255, 216, 97, 0.4);
}

.has-grass-background-color .wpcf7 label {
	color: #fff;
}

.has-grass-background-color .wpcf7 textarea {
	min-height: 150px;
}

/* ==========================================================================
   Gutenberg Form Block Styles
   ========================================================================== */

/* Base form input styles using variables */
.wp-block-form-input__input {
	width: 100%;
	padding: var(--form-input-padding);
	font-family: inherit;
	font-size: var(--form-input-font-size);
	color: var(--form-input-color);
	background: var(--form-input-bg);
	border: var(--form-input-border);
	border-radius: var(--form-input-border-radius);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}

.wp-block-form-input__input::placeholder {
	color: var(--form-input-placeholder);
}

.wp-block-form-input__input:focus {
	outline: none;
	border-color: var(--form-input-focus-border-color);
	box-shadow: var(--form-input-focus-shadow);
}

textarea.wp-block-form-input__input {
	padding: var(--form-input-padding-textarea);
	resize: vertical;
	min-height: var(--form-textarea-min-height);
}

/* Green background context - override colors only */
.has-grass-background-color .wp-block-form-input__input {
	--form-input-bg: #fff;
	--form-input-border: none;
	--form-input-focus-border-color: transparent;
	--form-input-focus-shadow: 0 0 0 3px rgba(255, 216, 97, 0.4);
}

.has-grass-background-color .wp-block-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.has-grass-background-color .wp-block-form-input {
	display: flex;
	flex-direction: column;
}

.has-grass-background-color .wp-block-form-input__label {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-weight: 400;
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
}

.has-grass-background-color .wp-block-form-input__label-content {
	display: block;
}

.has-grass-background-color textarea.wp-block-form-input__input {
	min-height: 150px;
}

/* Submit button styling */
.has-grass-background-color .wp-block-form .wp-block-button__link {
	width: 100%;
	padding: 20px 30px;
	background-color: var(--wp--preset--color--grains, #FFD861) !important;
	color: var(--wp--preset--color--fertiliser, #13322c) !important;
	border: none;
	border-radius: 6px;
	font-family: inherit;
	font-size: 18px;
	font-weight: 400;
	cursor: pointer;
	transition: background-color 0.3s ease, transform 0.2s ease;
}

.has-grass-background-color .wp-block-form .wp-block-button__link:hover {
	background-color: #ffe082 !important;
	transform: translateY(-1px);
}

/* Notification styles - hidden by default */
.has-grass-background-color .wp-block-form-submission-notification {
	display: none;
	padding: 1rem;
	border-radius: 5px;
	font-size: 0.875rem;
}

.has-grass-background-color .wp-block-form-submission-notification[data-type="success"] {
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.has-grass-background-color .wp-block-form-submission-notification[data-type="error"] {
	background: rgba(220, 38, 38, 0.15);
	color: #FCA5A5;
	border: 1px solid rgba(220, 38, 38, 0.3);
}

/* ==========================================================================
   Shared Form Spinner
   ========================================================================== */

/* Keyframe for the spinner rotation */
@keyframes ausqual-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Spinner element used inside submit buttons */
.ausqual-spinner {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2.5px solid rgba(31, 40, 40, 0.25);
	border-top-color: var(--wp--preset--color--fertiliser, #1F2828);
	border-radius: 50%;
	animation: ausqual-spin 0.6s linear infinite;
	vertical-align: middle;
}

/* Loading state for Gutenberg form button */
.wp-block-form .wp-block-button__link.is-loading {
	pointer-events: none;
	opacity: 0.8;
	width: 100%;
	min-height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ==========================================================================
   CF7 Spinner & Response Messages
   ========================================================================== */

/* Hide CF7's native spinner entirely — we show our own inside the button */
.wpcf7 .wpcf7-spinner {
	display: none !important;
}

/* CF7 submit spinner — use ::after on the parent <p> wrapper since <input> can't have pseudo-elements */
.wpcf7-form p:has(.wpcf7-submit) {
	position: relative;
}

.wpcf7-form.submitting .wpcf7-submit {
	color: transparent !important;
	pointer-events: none;
}

.wpcf7-form.submitting p:has(.wpcf7-submit)::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2.5px solid rgba(31, 40, 40, 0.25);
	border-top-color: var(--wp--preset--color--fertiliser, #1F2828);
	border-radius: 50%;
	animation: ausqual-spin 0.6s linear infinite;
	pointer-events: none;
}

/* Green background — white spinner */
.has-grass-background-color .wpcf7-form.submitting p:has(.wpcf7-submit)::after {
	border-color: rgba(255, 255, 255, 0.3);
	border-top-color: #fff;
}

/* CF7 response messages — standardized with Gutenberg form notifications */
.wpcf7 .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 1rem;
	border-radius: 5px;
	font-size: 0.875rem;
	border: none;
}

/* Success */
.wpcf7-form.sent .wpcf7-response-output {
	background: rgba(34, 197, 94, 0.1);
	color: #166534;
	border: 1px solid rgba(34, 197, 94, 0.3);
}

/* Validation error */
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output {
	background: rgba(220, 38, 38, 0.08);
	color: #991b1b;
	border: 1px solid rgba(220, 38, 38, 0.2);
}

/* Send failure / spam */
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output {
	background: rgba(220, 38, 38, 0.08);
	color: #991b1b;
	border: 1px solid rgba(220, 38, 38, 0.2);
}

/* On green background — light text variants */
.has-grass-background-color .wpcf7-form.sent .wpcf7-response-output {
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.has-grass-background-color .wpcf7-form.invalid .wpcf7-response-output,
.has-grass-background-color .wpcf7-form.unaccepted .wpcf7-response-output,
.has-grass-background-color .wpcf7-form.failed .wpcf7-response-output,
.has-grass-background-color .wpcf7-form.aborted .wpcf7-response-output,
.has-grass-background-color .wpcf7-form.spam .wpcf7-response-output {
	background: rgba(220, 38, 38, 0.15);
	color: #FCA5A5;
	border: 1px solid rgba(220, 38, 38, 0.3);
}


/* Fixed Transparent Header */
.ausqual-header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: transparent;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Pages with hero as first section - transparent header */
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header {
	background: transparent;
}

body:has(main > .ausqual-hero-cover:first-child) .ausqual-header .ausqual-nav .wp-block-navigation-item a,
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header .ausqual-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base) !important;
}

body:has(main > .ausqual-hero-cover:first-child) .ausqual-header .ausqual-search-toggle {
	color: var(--wp--preset--color--base);
}

/* Scrolled header - solid background (on hero pages) */
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.is-scrolled {
	background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.is-scrolled .ausqual-nav .wp-block-navigation-item a,
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.is-scrolled .ausqual-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--fertiliser, #1F2828) !important;
}

body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.is-scrolled .ausqual-search-toggle {
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

/* Pages WITHOUT hero first - solid header */
body:not(:has(main > .ausqual-hero-cover:first-child)) .ausqual-header {
	background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

body:not(:has(main > .ausqual-hero-cover:first-child)) .ausqual-header .ausqual-nav .wp-block-navigation-item a,
body:not(:has(main > .ausqual-hero-cover:first-child)) .ausqual-header .ausqual-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--fertiliser, #1F2828) !important;
}

body:not(:has(main > .ausqual-hero-cover:first-child)) .ausqual-header .ausqual-search-toggle {
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

/* Logo inversion for transparent header on hero pages */
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header:not(.is-scrolled):not(.megamenu-active) .ausqual-logo img {
	filter: brightness(0) invert(1);
	transition: filter 0.3s ease;
}

/* Keep logo normal (dark) when scrolled or megamenu active */
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.is-scrolled .ausqual-logo img,
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.megamenu-active .ausqual-logo img {
	filter: none;
	transition: filter 0.3s ease;
}

/* Fill transparent header when megamenu is open (on hero pages) */
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.megamenu-active {
	background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}

/* Reduce shadow to 1px line when megamenu is open (all pages) */
.ausqual-header.megamenu-active {
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) !important;
}

body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.megamenu-active .ausqual-nav .wp-block-navigation-item a,
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.megamenu-active .ausqual-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--fertiliser, #1F2828) !important;
}

body:has(main > .ausqual-hero-cover:first-child) .ausqual-header.megamenu-active .ausqual-search-toggle {
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

/* Header spacing for body content */
body {
	padding-top: 0;
}

/* Hero cover - no extra margin needed, padding handles header */
.ausqual-hero-cover {
	margin-top: 0 !important;
}

/* Match hero cover inner padding with global layout padding */
.ausqual-hero-cover > .wp-block-cover__inner-container {
	padding-left: var(--wp--preset--spacing--50, 2rem) !important;
	padding-right: var(--wp--preset--spacing--50, 2rem) !important;
}

/* Pages without hero first need padding for fixed header */
body:not(:has(main > .ausqual-hero-cover:first-child)) main {
	padding-top: 107px;
}

/* Blob hover effect on all WP block buttons */
.wp-block-button:not(.is-style-link-button) .wp-block-button__link {
	--blob-bg: var(--wp--preset--color--grass);
	--blob-text: var(--wp--preset--color--base);
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.45s cubic-bezier(0.19, 1, 0.22, 1),
		transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}

/* Contrast pairings: yellow buttons on green/dark backgrounds get yellow blob */
.wp-block-button:not(.is-style-link-button) .wp-block-button__link.has-grass-background-color,
.wp-block-button:not(.is-style-link-button) .wp-block-button__link.has-fertiliser-background-color,
.has-grass-background-color .wp-block-button:not(.is-style-link-button) .wp-block-button__link,
.has-fertiliser-background-color .wp-block-button:not(.is-style-link-button) .wp-block-button__link {
	--blob-bg: var(--wp--preset--color--fertiliser);
	--blob-text: var(--wp--preset--color--grains);
}

.wp-block-button:not(.is-style-link-button) .wp-block-button__link::before {
	content: "";
	position: absolute;
	bottom: -50%;
	left: 50%;
	width: 300%;
	aspect-ratio: 1;
	background: var(--blob-bg);
	border-radius: 50%;
	filter: blur(20px);
	transform: translateX(-50%) scale(0);
	transform-origin: center bottom;
	transition: transform 0.55s cubic-bezier(0.19, 1, 0.22, 1),
		filter 0.45s cubic-bezier(0.19, 1, 0.22, 1);
	z-index: -1;
}

.wp-block-button:not(.is-style-link-button) .wp-block-button__link:hover::before {
	transform: translateX(-50%) scale(1);
	filter: blur(0);
}

.wp-block-button:not(.is-style-link-button) .wp-block-button__link:hover {
	color: var(--blob-text) !important;
	transform: translateY(-2px);
}

/* Button icon styles */
.wp-block-button.has-icon .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

.wp-block-button__icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
}

/* Ensure icon inherits button text color */
.wp-block-button__icon {
	stroke: currentColor;
}

/* Training For - Overlapping columns */
.training-for-columns.wp-block-columns {
	position: relative;
	flex-wrap: nowrap !important;
}

.training-for-col-left {
	position: relative;
	z-index: 2;
}

.training-for-col-right {
	position: relative;
	z-index: 1;
	margin-left: -10% !important;
}

.training-for-col-right .wp-block-image {
	margin: 0;
}

.training-for-col-right .wp-block-image img {
	height: 480px;
	width: 100%;
	object-fit: cover;
}

/* Responsive: Stack columns on mobile */
@media (max-width: 781px) {
	.training-for-columns.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.training-for-col-left,
	.training-for-col-right {
		flex: 0 0 100% !important;
	}

	.training-for-col-right {
		margin-left: 0 !important;
		margin-top: -40px;
	}

	.training-for-col-right .wp-block-image img {
		height: 280px;
	}
}

/* ==========================================================================
   Hero Category - Overlapping columns
   ========================================================================== */

.hero-category-columns.wp-block-columns {
	position: relative;
	flex-wrap: nowrap !important;
}

.hero-category-col-left {
	position: relative;
	z-index: 2;
	flex: 0 0 55% !important;
}

.hero-category-col-right {
	position: relative;
	z-index: 1;
	flex: 0 0 55% !important;
	margin-left: -10% !important;
}

.hero-category-col-right .wp-block-image {
	margin: 0;
}

.hero-category-col-right .wp-block-image img {
	height: 400px;
	width: 100%;
	object-fit: cover;
}


/* Responsive: Stack columns on mobile */
@media (max-width: 781px) {
	.hero-category-columns.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.hero-category-col-left,
	.hero-category-col-right {
		flex: 0 0 100% !important;
	}

	.hero-category-col-right {
		margin-left: 0 !important;
		margin-top: -40px;
	}

	.hero-category-col-right .wp-block-image img {
		height: 280px;
	}
}

/* ==========================================================================
   Courses Grid Section
   ========================================================================== */

.ausqual-courses-grid-section {
	scroll-margin-top: 120px;
}

/* Filter bar */
.ausqual-courses-filter {
	gap: 20px;
}

/* Courses grid layout */
.ausqual-courses-grid {
	gap: 20px !important;
}

/* List view layout */
.ausqual-courses-grid.is-list-view {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
}

.ausqual-courses-grid.is-list-view .wp-block-post,
.ausqual-courses-grid.is-list-view > div {
	width: 100%;
}

.ausqual-courses-grid.is-list-view .ausqual-course-card {
	display: flex;
	flex-direction: row;
	max-width: none;
	height: auto;
}

/* Disable hover animations in list view */
.ausqual-courses-grid.is-list-view .ausqual-course-card:hover .ausqual-course-card-content {
	transform: none;
}

.ausqual-courses-grid.is-list-view .ausqual-course-card-image {
	flex: 0 0 280px;
	width: 280px;
}

.ausqual-courses-grid.is-list-view .ausqual-course-card-image img {
	height: 100%;
	object-fit: cover;
}

/* Disable image zoom on hover in list view */
.ausqual-courses-grid.is-list-view .ausqual-course-card:hover .ausqual-course-card-image img {
	transform: none;
}

.ausqual-courses-grid.is-list-view .ausqual-course-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 12px;
	padding: 24px 32px;
}

.ausqual-courses-grid.is-list-view .ausqual-course-card-info {
	flex: none;
	width: 100%;
}

.ausqual-courses-grid.is-list-view .ausqual-course-card-footer {
	flex: none;
	width: 100%;
	margin-top: 0;
	padding-top: 12px;
	flex-direction: row;
	align-items: center;
	gap: 24px;
}

.ausqual-courses-grid.is-list-view .ausqual-course-card-separator {
	display: none;
}

/* Always show Learn More in list view (no hover animation) */
.ausqual-courses-grid.is-list-view .ausqual-course-card-learn-more {
	opacity: 1;
	transform: none;
	margin-top: 0;
}

/* Card in grid context - ensure consistent sizing */
.ausqual-courses-grid .ausqual-course-card {
	max-width: none;
	height: 100%;
}

/* Pagination styling */
.ausqual-courses-query .wp-block-query-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: var(--wp--preset--spacing--50);
}

.ausqual-courses-query .wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
}

.ausqual-courses-query .wp-block-query-pagination-numbers a,
.ausqual-courses-query .wp-block-query-pagination-numbers span,
.ausqual-courses-query .wp-block-query-pagination-previous,
.ausqual-courses-query .wp-block-query-pagination-next {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.2s ease;
}

.ausqual-courses-query .wp-block-query-pagination a:hover {
	border-color: var(--wp--preset--color--grass);
	color: var(--wp--preset--color--grass);
}

.ausqual-courses-query .wp-block-query-pagination .current {
	background: var(--wp--preset--color--grass);
	border-color: var(--wp--preset--color--grass);
	color: #fff;
}

/* Responsive grid */
@media (max-width: 1024px) {
	.ausqual-courses-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 600px) {
	.ausqual-courses-grid {
		grid-template-columns: 1fr !important;
	}

	.ausqual-courses-filter {
		flex-direction: column;
	}

	.ausqual-course-search-form {
		max-width: none;
		width: 100%;
	}

	.ausqual-view-toggle {
		display: none;
	}
}

/* Responsive adjustments */
@media (max-width: 782px) {
	.ausqual-hero {
		min-height: 80vh;
	}

	.ausqual-courses-scroll > * {
		min-width: 280px;
	}
}

/* ==========================================================================
   Course Card Styles - Global (used by both carousel and grid)
   ========================================================================== */

.ausqual-course-card {
	position: relative;
	width: 100%;
	max-width: 420px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 30px rgba(0, 62, 51, 0.15);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: box-shadow 0.3s ease;
}

.ausqual-course-card:hover {
	box-shadow: 0 8px 40px rgba(0, 62, 51, 0.2);
}

/* Content slides up on hover to overlap the image */
.ausqual-course-card-content {
	transition: transform 0.3s ease;
}

.ausqual-course-card:hover .ausqual-course-card-content {
	transform: translateY(-40px);
}

/* Learn More button - hidden by default, fades in on hover */
.ausqual-course-card-learn-more {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	margin: 0 0 -45px !important;
}

.ausqual-course-card:hover .ausqual-course-card-learn-more {
	opacity: 1;
	transform: translateY(0);
}

/* Card Image - Using core/post-featured-image */
.ausqual-course-card-image {
	position: relative;
	flex: 0 0 auto;
	overflow: hidden;
	background: var(--wp--preset--color--light-bg, #F4F7F4);
}

.ausqual-course-card-image .wp-block-group {
	margin: 0;
	padding: 0;
}

.ausqual-course-card-image .wp-block-post-featured-image {
	margin: 0;
}

.ausqual-course-card-image .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	aspect-ratio: 4/3;
}

.ausqual-course-card:hover .ausqual-course-card-image img,
.ausqual-course-card:hover .ausqual-course-card-image .wp-block-post-featured-image img {
	transform: scale(1.08);
}

/* Card Content */
.ausqual-course-card-content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 20px;
	background: #fff;
}

.ausqual-course-card-content .wp-block-group {
	margin: 0;
	padding: 0;
}

/* Course Info Section */
.ausqual-course-card-info {
	display: flex;
	flex-direction: column;
	gap: 17px;
}

.ausqual-course-card-info .wp-block-group {
	display: flex;
	flex-direction: column;
	gap: 17px;
}

/* Category Tag - Using core/post-terms */
.ausqual-course-card-category,
.ausqual-course-card .wp-block-post-terms.ausqual-course-card-category {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-self: flex-start;
	font-size: 0;
	margin: 0;
	padding: 0;
	border: none;
}

.ausqual-course-card-category a,
.ausqual-course-card .wp-block-post-terms.ausqual-course-card-category a {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border: 1px solid var(--wp--preset--color--fertiliser, #1F2828);
	border-radius: 5px;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
	color: var(--wp--preset--color--fertiliser, #1F2828);
	text-decoration: none;
	transition: all 0.3s ease;
}

.ausqual-course-card-category a:hover,
.ausqual-course-card .wp-block-post-terms.ausqual-course-card-category a:hover {
	background: var(--wp--preset--color--grass, #235C28);
	color: var(--wp--preset--color--light-bg, #F4F7F4);
}

/* Title - Using core/post-title */
.ausqual-course-card-title,
.ausqual-course-card .wp-block-post-title.ausqual-course-card-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 28px;
	font-weight: 500;
	line-height: 1;
	color: var(--wp--preset--color--fertiliser, #1F2828);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

/* Footer Section with separator and date */
.ausqual-course-card-footer {
	display: flex;
	flex-direction: column;
	gap: 17px;
	padding-top: 10px;
	margin-top: auto;
}

.ausqual-course-card-footer .wp-block-group {
	display: flex;
	flex-direction: column;
	gap: 17px;
}

/* Separator - Using core/separator */
.ausqual-course-card-separator,
.ausqual-course-card .wp-block-separator.ausqual-course-card-separator {
	width: 100%;
	height: 1px;
	background: var(--wp--preset--color--cream, #F9F6ED);
	border: none;
	margin: 0;
	opacity: 1;
}

/* Date with calendar icon - Using ausqual/course-card-date */
.ausqual-course-card-date {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

.ausqual-course-card-date svg {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

/* Course Card Responsive Styles */
@media (max-width: 1024px) {
	.ausqual-course-card-category a,
	.ausqual-course-card .wp-block-post-terms.ausqual-course-card-category a {
		font-size: 18px;
		padding: 8px;
	}

	.ausqual-course-card-title,
	.ausqual-course-card .wp-block-post-title.ausqual-course-card-title {
		font-size: 28px;
	}
}

@media (max-width: 768px) {
	.ausqual-course-card-content {
		padding: 16px;
	}

	.ausqual-course-card-info,
	.ausqual-course-card-info .wp-block-group {
		gap: 12px;
	}

	.ausqual-course-card-category a,
	.ausqual-course-card .wp-block-post-terms.ausqual-course-card-category a {
		font-size: 16px;
		padding: 6px 8px;
	}

	.ausqual-course-card-title,
	.ausqual-course-card .wp-block-post-title.ausqual-course-card-title {
		font-size: 24px;
	}

	.ausqual-course-card-footer,
	.ausqual-course-card-footer .wp-block-group {
		gap: 12px;
	}

	/* List view reverts to vertical cards on tablet */
	.ausqual-courses-grid.is-list-view .ausqual-course-card {
		flex-direction: column;
	}

	.ausqual-courses-grid.is-list-view .ausqual-course-card-image {
		flex: 0 0 auto;
		width: 100%;
	}

	.ausqual-courses-grid.is-list-view .ausqual-course-card-content {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		padding: 16px;
	}

	.ausqual-courses-grid.is-list-view .ausqual-course-card-footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.ausqual-courses-grid.is-list-view .ausqual-course-card-separator {
		display: block;
	}
}

@media (max-width: 480px) {
	.ausqual-course-card-content {
		padding: 14px;
	}

	.ausqual-course-card-category a,
	.ausqual-course-card .wp-block-post-terms.ausqual-course-card-category a {
		font-size: 14px;
		padding: 5px 7px;
	}

	.ausqual-course-card-title,
	.ausqual-course-card .wp-block-post-title.ausqual-course-card-title {
		font-size: 20px;
		-webkit-line-clamp: 2;
	}

	.ausqual-course-card-date {
		font-size: 12px;
	}
}

/* ==========================================================================
   Video Content Section - Side-by-side overlapping columns
   ========================================================================== */

.video-content-columns.wp-block-columns {
	position: relative;
	flex-wrap: nowrap !important;
}

.video-content-col-left {
	position: relative;
	z-index: 1;
	flex: 0 0 55% !important;
}

.video-content-col-right {
	position: relative;
	z-index: 2;
	flex: 0 0 55% !important;
	margin-left: -10% !important;
}

/* Green content box */
.ausqual-video-content-box {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ausqual-video-content-box .wp-block-heading {
	margin: 0 !important;
}

.ausqual-video-content-box p {
	margin: 0;
	line-height: 1.5;
}

/* Responsive: Stack columns on mobile */
@media (max-width: 781px) {
	.video-content-columns.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.video-content-col-left,
	.video-content-col-right {
		flex: 0 0 100% !important;
	}

	.video-content-col-right {
		margin-left: 0 !important;
		margin-top: -40px;
	}

	.ausqual-video-content-box .wp-block-heading {
		font-size: 32px !important;
	}
}

@media (max-width: 480px) {
	.ausqual-video-content-box .wp-block-heading {
		font-size: 28px !important;
	}
}

/* ==========================================================================
   Swiper Sections - Overflow Control
   ========================================================================== */

/* Prevent horizontal scrolling on sections containing swipers */
.wp-block-group.alignfull:has(.swiper),
.wp-block-group.alignfull:has(.ausqual-carousel-template) {
	overflow-x: clip;
}

/* ==========================================================================
   Global Swiper Navigation Styles
   ========================================================================== */

.ausqual-swiper-navigation {
	display: flex;
	gap: 12px;
	margin-top: 32px;
}

.ausqual-swiper-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 2px solid var(--wp--preset--color--fertiliser, #1F2828);
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--fertiliser, #1F2828);
	cursor: pointer;
	transition: all 0.2s ease;
}

.ausqual-swiper-nav:hover {
	background: var(--wp--preset--color--fertiliser, #1F2828);
	color: #fff;
}

.ausqual-swiper-nav:disabled,
.ausqual-swiper-nav.swiper-button-disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.ausqual-swiper-nav:disabled:hover,
.ausqual-swiper-nav.swiper-button-disabled:hover {
	background: transparent;
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

.ausqual-swiper-nav svg {
	width: 24px;
	height: 24px;
}

@media (max-width: 768px) {
	.ausqual-swiper-navigation {
		margin-top: 24px;
	}

	.ausqual-swiper-nav {
		width: 44px;
		height: 44px;
	}
}

/* ==========================================================================
   Reviews Carousel Section
   ========================================================================== */

.ausqual-reviews-carousel {
	position: relative;
}

.ausqual-reviews-swiper {
	overflow: visible;
}

.ausqual-reviews-swiper .swiper-wrapper {
	display: flex;
}

.ausqual-reviews-swiper .swiper-slide {
	width: 383px;
	flex-shrink: 0;
}

/* Review card */
.ausqual-review-card {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	padding: 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Quote icon */
.ausqual-review-quote-icon {
	width: 54px;
	height: 54px;
	background: var(--wp--preset--color--grass, #235C28);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	flex-shrink: 0;
}

.ausqual-review-quote-icon svg {
	width: 18px;
	height: 18px;
}

/* Star rating */
.ausqual-review-stars {
	margin-bottom: 16px;
	flex-shrink: 0;
}

.ausqual-review-stars svg {
	display: block;
}

/* Review text */
.ausqual-review-text {
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 16px;
	color: var(--wp--preset--color--fertiliser, #1F2828);
	margin: 0 0 20px 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1;
}

/* Author name */
.ausqual-review-author {
	font-family: var(--wp--preset--font-family--manrope, 'Manrope', sans-serif);
	font-weight: 600;
	font-size: 14px;
	color: #453232;
	margin: 0;
	flex-shrink: 0;
}

/* Navigation buttons */
.ausqual-reviews-navigation {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 40px;
}

.ausqual-reviews-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--wp--preset--color--border, #E5E5E5);
	color: var(--wp--preset--color--fertiliser, #1F2828);
	cursor: pointer;
	transition: all 0.2s ease;
}

.ausqual-reviews-nav:hover {
	background: var(--wp--preset--color--grass, #235C28);
	border-color: var(--wp--preset--color--grass, #235C28);
	color: #fff;
}

.ausqual-reviews-nav:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.ausqual-reviews-nav:disabled:hover {
	background: #fff;
	border-color: var(--wp--preset--color--border, #E5E5E5);
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

.ausqual-reviews-nav svg {
	width: 24px;
	height: 24px;
}

/* Responsive */
@media (max-width: 1024px) {
	.ausqual-reviews-swiper .swiper-slide {
		width: 320px;
	}
}

@media (max-width: 600px) {
	.ausqual-reviews-swiper .swiper-slide {
		width: 280px;
	}

	.ausqual-review-card {
		padding: 24px;
	}

	.ausqual-review-quote-icon {
		width: 44px;
		height: 44px;
	}

	.ausqual-reviews-navigation {
		margin-top: 30px;
	}

	.ausqual-reviews-nav {
		width: 44px;
		height: 44px;
	}
}

/* ==========================================================================
   Course Tabs (Details/Summary as Accordion Tabs)
   ========================================================================== */

.ausqual-course-tabs {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.ausqual-course-tabs .wp-block-details {
	border: 1px solid var(--wp--preset--color--grains, #e5e5e5);
	border-bottom: none;
	margin: 0;
}

.ausqual-course-tabs .wp-block-details:first-child {
	border-radius: 8px 8px 0 0;
}

.ausqual-course-tabs .wp-block-details:last-child {
	border-bottom: 1px solid var(--wp--preset--color--grains, #e5e5e5);
	border-radius: 0 0 8px 8px;
}

.ausqual-course-tabs .wp-block-details summary {
	padding: 1.25rem 1.5rem;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--medium, 1rem);
	color: var(--wp--preset--color--contrast, #1a1a1a);
	background: var(--wp--preset--color--grains, #f9f9f9);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background-color 0.2s ease;
}

.ausqual-course-tabs .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.ausqual-course-tabs .wp-block-details summary::after {
	content: '';
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.ausqual-course-tabs .wp-block-details[open] summary::after {
	transform: rotate(-135deg);
}

.ausqual-course-tabs .wp-block-details summary:hover {
	background: var(--wp--preset--color--grains, #f0f0f0);
}

.ausqual-course-tabs .wp-block-details[open] summary {
	background: var(--wp--preset--color--fertiliser, #0d6360);
	color: var(--wp--preset--color--base, #ffffff);
}

.ausqual-course-tabs .wp-block-details > *:not(summary) {
	padding: 1.5rem;
	background: var(--wp--preset--color--base, #ffffff);
}

/* Course meta content blocks */
.ausqual-course-overview__content,
.ausqual-course-contents__content,
.ausqual-course-requirements__content {
	font-size: var(--wp--preset--font-size--medium, 1rem);
	line-height: 1.7;
	color: var(--wp--preset--color--contrast-2, #4a4a4a);
}

.ausqual-course-overview__content p,
.ausqual-course-contents__content p,
.ausqual-course-requirements__content p {
	margin: 0 0 1em;
}

.ausqual-course-overview__content p:last-child,
.ausqual-course-contents__content p:last-child,
.ausqual-course-requirements__content p:last-child {
	margin-bottom: 0;
}

.ausqual-course-overview__content ul,
.ausqual-course-contents__content ul,
.ausqual-course-requirements__content ul,
.ausqual-course-overview__content ol,
.ausqual-course-contents__content ol,
.ausqual-course-requirements__content ol {
	margin: 0 0 1em;
	padding-left: 1.5em;
}

.ausqual-course-overview__content li,
.ausqual-course-contents__content li,
.ausqual-course-requirements__content li {
	margin-bottom: 0.5em;
}

.ausqual-course-overview__placeholder,
.ausqual-course-contents__placeholder,
.ausqual-course-requirements__placeholder {
	padding: 2rem;
	background: var(--wp--preset--color--grains, #f5f5f5);
	border: 2px dashed var(--wp--preset--color--contrast-3, #cccccc);
	border-radius: 8px;
	text-align: center;
	color: var(--wp--preset--color--contrast-2, #666666);
	font-style: italic;
	margin: 0;
}

/* Course Hero specific adjustments */
.ausqual-course-hero::before,
.ausqual-course-hero::after {
	content: '';
    position: absolute;
    inset: 0;
    mask: radial-gradient(circle at left, black 30%, transparent 80%);
    backdrop-filter: blur(20px);
}
.ausqual-course-hero .wp-block-post-excerpt {
	margin-bottom: var(--wp--preset--spacing--40, 1.5rem);
}

/* Page Hero - same blur effect as course hero */
.ausqual-page-hero::before,
.ausqual-page-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	mask: radial-gradient(circle at left, black 30%, transparent 80%);
	backdrop-filter: blur(20px);
	z-index: 0;
}
.ausqual-page-hero > .wp-block-cover__inner-container {
	z-index: 1;
}
.ausqual-page-hero .wp-block-post-excerpt {
	margin-bottom: var(--wp--preset--spacing--40, 1.5rem);
}

/* Mobile responsiveness for tabs */
@media (max-width: 782px) {
	.ausqual-course-tabs .wp-block-details summary {
		padding: 1rem 1.25rem;
	}

	.ausqual-course-tabs .wp-block-details > *:not(summary) {
		padding: 1rem 1.25rem;
	}
}

/* ==========================================================================
   Course Sidebar (Sticky Snapshot Card)
   ========================================================================== */

.ausqual-course-sidebar-column.wp-block-column {
	margin-top: -180px;
}

.ausqual-course-sidebar {
	position: sticky;
	z-index: 10;
	top: 120px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Mobile - sidebar moves above tabs, collapsible, with overlay offset */
@media (max-width: 782px) {
	.ausqual-course-sidebar-column {
		order: -1;
		margin-top: -40px;
		position: relative;
		z-index: 11;
	}

	.ausqual-course-sidebar {
		position: static;
	}

	/* Collapsible toggle heading */
	.ausqual-course-sidebar > .wp-block-heading {
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 0 !important;
		user-select: none;
		-webkit-user-select: none;
	}

	.ausqual-course-sidebar > .wp-block-heading::after {
		content: '';
		display: inline-block;
		width: 10px;
		height: 10px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.3s ease;
		flex-shrink: 0;
		margin-left: 12px;
	}

	.ausqual-course-sidebar.is-collapsed > .wp-block-heading::after {
		transform: rotate(-45deg);
	}

	/* Collapsible content wrapper */
	.ausqual-course-sidebar__collapsible {
		overflow: hidden;
		transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.35s ease;
		max-height: 1000px;
		opacity: 1;
		padding-top: 20px;
	}

	.ausqual-course-sidebar.is-collapsed .ausqual-course-sidebar__collapsible {
		max-height: 0;
		opacity: 0;
		padding-top: 0;
	}

	/* Sticky CTA bar */
	.ausqual-sticky-cta {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 999;
		background: var(--wp--preset--color--base, #fff);
		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
		padding: 12px 20px;
		padding-bottom: max(12px, env(safe-area-inset-bottom));
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		transform: translateY(100%);
		transition: transform 0.3s ease;
	}

	.ausqual-sticky-cta.is-visible {
		transform: translateY(0);
	}

	.ausqual-sticky-cta__price {
		display: flex;
		flex-direction: column;
		gap: 1px;
		flex-shrink: 0;
	}

	.ausqual-sticky-cta__price-label {
		font-size: 10px;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		color: var(--wp--preset--color--muted, #666);
	}

	.ausqual-sticky-cta__price-value {
		font-size: 20px;
		font-weight: 700;
		color: var(--wp--preset--color--fertiliser, #0d6360);
		line-height: 1;
	}

	.ausqual-sticky-cta__btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 12px 24px;
		background: var(--wp--preset--color--grains, #ffd861);
		color: #1f2828;
		font-size: 14px;
		font-weight: 500;
		text-decoration: none;
		text-transform: uppercase;
		border: none;
		border-radius: 8px;
		cursor: pointer;
		white-space: nowrap;
		flex-shrink: 0;
	}

	.ausqual-sticky-cta__btn:hover {
		background: #f0c84d;
		color: #1f2828;
	}

	.ausqual-sticky-cta__btn--full {
		width: 100%;
		text-align: center;
	}
}

/* ==========================================================================
   Single Blog Post Template
   ========================================================================== */

/* Post Hero Cover */
.ausqual-post-hero {
	position: relative;
}

.ausqual-post-hero .wp-block-cover__background {
	background: linear-gradient(
		180deg,
		rgba(31, 40, 40, 0.15) 0%,
		rgba(31, 40, 40, 0.75) 100%
	) !important;
}

.ausqual-post-hero .wp-block-cover__inner-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Category badge on hero - matches course card style */
.ausqual-post-hero-category a {
	display: inline-flex;
	align-items: center;
	background: transparent;
	color: #fff !important;
	padding: 5px 10px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 5px;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
	transition: all 0.3s ease;
}

.ausqual-post-hero-category a:hover {
	background: rgba(255, 255, 255, 0.15);
	border-color: #fff;
}

/* Post body - refined reading typography */
.ausqual-post-body .wp-block-post-content p {
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

.ausqual-post-body .wp-block-post-content > *:first-child {
	margin-top: 0;
}

/* Drop cap for first paragraph */
.ausqual-post-body .wp-block-post-content > p:first-of-type::first-letter {
	float: left;
	font-family: var(--wp--preset--font-family--mackinac, Georgia, serif);
	font-size: 3.75em;
	line-height: 0.8;
	font-weight: 700;
	margin-right: 0.08em;
	margin-top: 0.07em;
	color: var(--wp--preset--color--grass, #235C28);
}

/* Blockquote styling within posts */
.ausqual-post-body .wp-block-post-content blockquote,
.ausqual-post-body .wp-block-post-content .wp-block-quote {
	border-left: 4px solid var(--wp--preset--color--grass, #235C28);
	padding: 1.5rem 2rem;
	margin: 2.5rem 0;
	background: var(--wp--preset--color--light-bg, #F4F7F4);
	border-radius: 0 8px 8px 0;
}

.ausqual-post-body .wp-block-post-content blockquote p,
.ausqual-post-body .wp-block-post-content .wp-block-quote p {
	font-family: var(--wp--preset--font-family--mackinac, Georgia, serif);
	font-size: 1.25rem !important;
	font-style: italic;
	line-height: 1.6 !important;
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

.ausqual-post-body .wp-block-post-content blockquote cite,
.ausqual-post-body .wp-block-post-content .wp-block-quote cite {
	font-style: normal;
	font-weight: 500;
	font-size: 0.875rem;
	color: var(--wp--preset--color--muted, #686868);
	display: block;
	margin-top: 0.75rem;
}

/* Headings within post content */
.ausqual-post-body .wp-block-post-content h2 {
	margin-top: 3rem;
	margin-bottom: 1rem;
}

.ausqual-post-body .wp-block-post-content h3 {
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
}

/* Images within post content */
.ausqual-post-body .wp-block-post-content .wp-block-image {
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

.ausqual-post-body .wp-block-post-content .wp-block-image img {
	border-radius: 12px;
}

.ausqual-post-body .wp-block-post-content .wp-block-image figcaption {
	text-align: center;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted, #686868);
	margin-top: 0.75rem;
}

/* Tag pills */
.ausqual-post-tags a {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid var(--wp--preset--color--border, rgba(31, 40, 40, 0.1));
	border-radius: 100px;
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--wp--preset--color--fertiliser, #1F2828);
	text-decoration: none;
	transition: all 0.2s ease;
}

.ausqual-post-tags a:hover {
	background: var(--wp--preset--color--grass, #235C28);
	border-color: var(--wp--preset--color--grass, #235C28);
	color: #fff;
}

/* Blog grid - featured first post */
.ausqual-blog-grid > li:first-child {
	grid-column: span 2;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card {
	display: grid;
	grid-template-columns: 55% 1fr;
	max-width: none;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card-image {
	min-height: 0;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card-image,
.ausqual-blog-grid > li:first-child .ausqual-course-card-image .wp-block-group,
.ausqual-blog-grid > li:first-child .ausqual-course-card-image .wp-block-post-featured-image {
	height: 100%;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px !important;
}

/* Disable all hover animations on featured post */
.ausqual-blog-grid > li:first-child .ausqual-course-card:hover {
	box-shadow: 0 8px 40px rgba(0, 62, 51, 0.2);
}

.ausqual-blog-grid > li:first-child .ausqual-course-card:hover .ausqual-course-card-content {
	transform: none;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card:hover .ausqual-course-card-image img,
.ausqual-blog-grid > li:first-child .ausqual-course-card:hover .ausqual-course-card-image .wp-block-post-featured-image img {
	transform: none;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card-info {
	flex: 1;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card-title {
	font-size: var(--wp--preset--font-size--x-large);
}

/* Hide excerpt and Read More on regular cards */
.ausqual-blog-grid .ausqual-course-card-excerpt {
	display: none;
}

/* Show excerpt and Learn More on featured post */
.ausqual-blog-grid > li:first-child .ausqual-course-card-excerpt {
	display: block;
	margin: 0;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card-excerpt .wp-block-post-excerpt__excerpt {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	line-height: 1.6;
}

.ausqual-blog-grid > li:first-child .ausqual-course-card-learn-more {
	opacity: 1;
	transform: none;
	margin: 0 !important;
}

@media (max-width: 781px) {
	.ausqual-blog-grid > li:first-child {
		grid-column: span 1;
	}

	.ausqual-blog-grid > li:first-child .ausqual-course-card {
		flex-direction: column;
		max-width: 420px;
	}

	.ausqual-blog-grid > li:first-child .ausqual-course-card-title {
		font-size: inherit;
	}
}

/* Responsive adjustments for blog post */
@media (max-width: 782px) {
	.ausqual-post-hero {
		min-height: 400px !important;
	}


}

@media (max-width: 600px) {
	.ausqual-post-hero {
		min-height: 360px !important;
	}

	.ausqual-post-body .wp-block-post-content > p:first-of-type::first-letter {
		font-size: 3em;
	}
}

/* ==========================================================================
   Skeleton Loader Cards (AJAX filtering/search)
   ========================================================================== */

@keyframes ausqual-skeleton-pulse {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

.ausqual-skeleton-card {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 30px rgba(0, 62, 51, 0.15);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.ausqual-skeleton-card__image {
	aspect-ratio: 4/3;
	background: linear-gradient(90deg, #e8ece8 25%, #f4f7f4 50%, #e8ece8 75%);
	background-size: 200% 100%;
	animation: ausqual-skeleton-pulse 1.5s ease-in-out infinite;
}

.ausqual-skeleton-card__content {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 17px;
}

.ausqual-skeleton-card__category {
	height: 28px;
	width: 40%;
	border-radius: 5px;
	background: linear-gradient(90deg, #e8ece8 25%, #f4f7f4 50%, #e8ece8 75%);
	background-size: 200% 100%;
	animation: ausqual-skeleton-pulse 1.5s ease-in-out infinite;
}

.ausqual-skeleton-card__title {
	height: 22px;
	width: 80%;
	border-radius: 4px;
	background: linear-gradient(90deg, #e8ece8 25%, #f4f7f4 50%, #e8ece8 75%);
	background-size: 200% 100%;
	animation: ausqual-skeleton-pulse 1.5s ease-in-out infinite;
}

.ausqual-skeleton-card__title--short {
	width: 55%;
}

.ausqual-skeleton-card__footer {
	height: 40px;
	margin-top: auto;
	border-radius: 4px;
	background: linear-gradient(90deg, #e8ece8 25%, #f4f7f4 50%, #e8ece8 75%);
	background-size: 200% 100%;
	animation: ausqual-skeleton-pulse 1.5s ease-in-out infinite;
}

/* Grid fade transitions (AJAX content swap) */
.ausqual-courses-grid {
	transition: opacity 0.2s ease;
}

.ausqual-courses-grid.is-fading-out {
	opacity: 0;
}

.ausqual-courses-grid.is-fading-in {
	opacity: 1;
}

/* No results and error messages */
.ausqual-courses-no-results,
.ausqual-courses-error {
	grid-column: 1 / -1;
	text-align: center;
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	font-size: 1rem;
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

.ausqual-courses-no-results a {
	color: var(--wp--preset--color--grass, #235C28);
}

/* ==========================================================================
   Footer Styles
   ========================================================================== */

/* Footer column heading spacing */
.ausqual-footer .wp-block-column > .wp-block-heading {
	margin-bottom: var(--wp--preset--spacing--40);
}

/* Footer social icons - outline circles */
.ausqual-social-outline.wp-block-social-links .wp-block-social-link {
	border: 1px solid rgba(231, 239, 230, 0.6);
	border-radius: 50%;
	padding: 4px;
}

/* ==========================================================================
   Mobile Menu - Sheet Navigation
   ========================================================================== */

/* Hamburger button - only visible on mobile */
.ausqual-mobile-hamburger {
	display: none;
}

@media (max-width: 782px) {
	/* Show hamburger, hide desktop nav & desktop-only buttons */
	.ausqual-mobile-hamburger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 44px;
		height: 44px;
		padding: 10px;
		background: none;
		border: none;
		cursor: pointer;
		z-index: 1001;
		flex-shrink: 0;
	}

	.ausqual-mobile-hamburger span {
		display: block;
		width: 22px;
		height: 2px;
		background: var(--wp--preset--color--fertiliser, #1F2828);
		border-radius: 2px;
		transition: transform 0.3s ease, opacity 0.3s ease;
	}

	/* White hamburger on transparent hero pages */
	body:has(main > .ausqual-hero-cover:first-child) .ausqual-header:not(.is-scrolled) .ausqual-mobile-hamburger span {
		background: var(--wp--preset--color--base, #fff);
	}

	.ausqual-mobile-hamburger.is-active span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.ausqual-mobile-hamburger.is-active span:nth-child(2) {
		opacity: 0;
	}

	.ausqual-mobile-hamburger.is-active span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	/* Hide desktop navigation on mobile, keep search + CTA */
	.ausqual-header .ausqual-nav {
		display: none !important;
	}

	/* Keep the logo + actions group visible */
	.ausqual-header .wp-block-group.alignwide {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
	}

	/* Right-side group: search + CTA + hamburger in a row */
	.ausqual-header .wp-block-group.alignwide > .wp-block-group:last-child {
		display: flex !important;
		align-items: center;
		gap: 10px;
	}

	/* The inner group wrapping search + CTA + hamburger */
	.ausqual-header .wp-block-group:has(.wp-block-buttons) {
		display: flex !important;
		align-items: center;
		gap: 10px;
	}

	/* CTA button on mobile - push to end, stretch full height */
	.ausqual-header .wp-block-buttons {
		order: 10;
		align-items: stretch;
	}

	.ausqual-header .wp-block-buttons .wp-block-button {
		display: flex;
	}

	.ausqual-header .wp-block-buttons .wp-block-button__link {
		padding: 10px 16px !important;
		font-size: 0.8125rem !important;
		white-space: nowrap;
	}

	/* Hide Student Login on mobile, keep Enrol Now */
	.ausqual-header .ausqual-student-login-btn {
		display: none !important;
	}

	/* Hide CTA when too narrow, keep search + hamburger */
	@media (max-width: 450px) {
		.ausqual-header .wp-block-buttons {
			display: none !important;
		}
	}

	/* Header padding on mobile */
	.ausqual-header {
		padding-top: var(--wp--preset--spacing--20, 12px) !important;
		padding-bottom: var(--wp--preset--spacing--20, 12px) !important;
	}

	/* Smaller logo on mobile */
	.ausqual-logo img {
		width: 140px !important;
		height: auto;
	}

	/* Reduce header offset for non-hero pages */
	body:not(:has(main > .ausqual-hero-cover:first-child)) main {
		padding-top: 72px;
	}
}

/* Fix #5: body overflow lock via class instead of inline style */
body.ausqual-mobile-menu-open {
	overflow: hidden;
}

/* Header CTA - stretch to full row height on all viewports */
.ausqual-header .wp-block-buttons {
	align-items: stretch;
}

.ausqual-header .wp-block-buttons .wp-block-button {
	display: flex;
}

/* Outline buttons - match border to blob hover background */
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button[class*="is-style-outline"] > .wp-block-button__link:hover {
	border-color: var(--blob-bg) !important;
}

/* Student Login button - white on transparent navbar */
body:has(main > .ausqual-hero-cover:first-child) .ausqual-header:not(.is-scrolled):not(.megamenu-active) .ausqual-student-login-btn .wp-block-button__link:not(:hover) {
	color: var(--wp--preset--color--base, #fff) !important;
	border-color: var(--wp--preset--color--base, #fff) !important;
}


/* Overlay */
.ausqual-mobile-overlay {
	position: fixed;
	inset: 0;
	background: rgba(31, 40, 40, 0.55);
	z-index: 1100;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.ausqual-mobile-overlay.is-active {
	opacity: 1;
	visibility: visible;
}

/* Sheet */
.ausqual-mobile-sheet {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(380px, 85vw);
	background: #fff;
	z-index: 1200;
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
	will-change: transform;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	color: var(--wp--preset--color--fertiliser, #1F2828);
}

.ausqual-mobile-sheet.is-active {
	transform: translateX(0);
}

/* Sheet header */
.ausqual-mobile-sheet__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid rgba(31, 40, 40, 0.08);
	flex-shrink: 0;
}

/* Logo in sheet header */
.ausqual-mobile-sheet__logo {
	display: block;
	text-decoration: none;
}

.ausqual-mobile-sheet__logo img {
	width: 120px !important;
	height: auto;
}

.ausqual-mobile-sheet__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	cursor: pointer;
	color: inherit;
	border-radius: 50%;
	transition: background 0.2s ease;
	touch-action: manipulation;
}

.ausqual-mobile-sheet__close:hover {
	background: rgba(31, 40, 40, 0.06);
}

/* Sheet body */
.ausqual-mobile-sheet__body {
	flex: 1;
	overflow-y: auto;
	padding: 8px 0;
	-webkit-overflow-scrolling: touch;
}

/* Nav list */
.ausqual-mobile-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ausqual-mobile-nav__item {
	margin: 0;
}

.ausqual-mobile-nav__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 16px 24px;
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	color: inherit;
	text-decoration: none;
	background: none;
	border: none;
	cursor: pointer;
	transition: background 0.15s ease;
	text-align: left;
	touch-action: manipulation;
}

.ausqual-mobile-nav__link:hover,
.ausqual-mobile-nav__link:active {
	background: rgba(35, 92, 40, 0.04);
}

.ausqual-mobile-nav__link--parent svg {
	color: var(--wp--preset--color--muted, #686868);
	flex-shrink: 0;
}

/* CTA - matches desktop Enrol Now button */
.ausqual-mobile-sheet__cta {
	padding: 20px 24px 24px;
}

.ausqual-mobile-cta {
	display: block;
	text-align: center;
	padding: 14px 24px;
	background: var(--wp--preset--color--grains, #FFD861);
	color: var(--wp--preset--color--fertiliser, #1F2828);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 6px;
	transition: background 0.2s ease;
	touch-action: manipulation;
}

.ausqual-mobile-cta:hover {
	background: var(--wp--preset--color--grains, #e5c157);
	filter: brightness(0.92);
}

.ausqual-mobile-cta--outline {
	background: transparent;
	border: 2px solid var(--wp--preset--color--grass, #235C28);
	color: var(--wp--preset--color--grass, #235C28);
}

.ausqual-mobile-cta--outline:hover {
	background: var(--wp--preset--color--grass, #235C28);
	color: #fff;
}

/* Nested sheet (overlay for megamenu content) */
.ausqual-mobile-nested-sheet {
	position: absolute;
	inset: 0;
	background: #fff;
	z-index: 10;
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
	will-change: transform;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.ausqual-mobile-nested-sheet.is-active {
	transform: translateX(0);
}

/* Nested sheet header */
.ausqual-mobile-nested-sheet__header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 16px 20px;
	border-bottom: 1px solid rgba(31, 40, 40, 0.08);
	flex-shrink: 0;
}

.ausqual-mobile-nested-sheet__back {
	display: flex;
	align-items: center;
	gap: 4px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px 12px 8px 8px;
	margin: -8px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	color: var(--wp--preset--color--grass, #235C28);
	border-radius: 6px;
	transition: background 0.15s ease;
	touch-action: manipulation;
}

.ausqual-mobile-nested-sheet__back:hover {
	background: rgba(35, 92, 40, 0.06);
}

.ausqual-mobile-nested-sheet__title {
	font-family: var(--wp--preset--font-family--mackinac, Georgia, serif);
	font-size: 18px;
	font-weight: 700;
	margin-left: auto;
}

/* Nested sheet body */
.ausqual-mobile-nested-sheet__body {
	flex: 1;
	overflow-y: auto;
	padding: 16px 0;
	-webkit-overflow-scrolling: touch;
}

/* Submenu sections */
.ausqual-mobile-submenu-section {
	padding: 12px 24px 20px;
	border-bottom: 1px solid rgba(31, 40, 40, 0.06);
}

.ausqual-mobile-submenu-section:last-child {
	border-bottom: none;
}

.ausqual-mobile-submenu-heading {
	font-family: var(--wp--preset--font-family--mackinac, Georgia, serif);
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 12px;
}

.ausqual-mobile-submenu-heading a {
	color: inherit;
	text-decoration: none;
}

.ausqual-mobile-submenu-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ausqual-mobile-submenu-links li {
	margin: 0;
}

.ausqual-mobile-submenu-links a {
	display: block;
	padding: 10px 0;
	font-size: 15px;
	font-weight: 400;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(31, 40, 40, 0.04);
	transition: color 0.15s ease;
}

.ausqual-mobile-submenu-links li:last-child a {
	border-bottom: none;
}

.ausqual-mobile-submenu-links a:hover {
	color: var(--wp--preset--color--grass, #235C28);
}

/* View all link */
.ausqual-mobile-submenu-viewall {
	display: inline-flex;
	align-items: center;
	margin-top: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--grass, #235C28);
	text-decoration: none;
}

.ausqual-mobile-submenu-viewall:hover {
	text-decoration: underline;
}

/* Thumbnail card list in mobile submenu */
.ausqual-mobile-submenu-cards {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 24px 20px;
	border-bottom: 1px solid rgba(31, 40, 40, 0.06);
}

/* Cover card - row layout with thumb + title */
.ausqual-mobile-submenu-card {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 14px;
	overflow: hidden;
	border-radius: 8px;
	text-decoration: none;
	background: var(--wp--preset--color--light-bg, #F4F7F4);
	transition: background 0.15s ease;
}

.ausqual-mobile-submenu-card:hover {
	background: rgba(35, 92, 40, 0.08);
}

.ausqual-mobile-submenu-card__thumb {
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	background-size: cover;
	background-position: center;
	background-color: var(--wp--preset--color--cream, #F9F6ED);
	border-radius: 8px 0 0 8px;
}

.ausqual-mobile-submenu-card__label {
	display: block;
	padding: 12px 14px 12px 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
}

/* Featured section in nested sheet */
.ausqual-mobile-submenu-featured {
	padding-top: 16px;
}

/* ==========================================================================
   Mobile Header Responsive
   ========================================================================== */

@media (max-width: 782px) {
	/* Hero section mobile */
	.ausqual-hero-cover {
		min-height: 75vh !important;
	}

	.ausqual-hero-cover .wp-block-cover__inner-container {
		padding-top: 80px !important;
	}

	/* Hero text sizing on mobile */
	.ausqual-hero-cover h1 {
		font-size: clamp(2rem, 8vw, 3rem) !important;
	}

	.ausqual-hero-cover p {
		font-size: clamp(0.875rem, 3.5vw, 1.125rem) !important;
	}

	/* Category cards on mobile */
	.wp-block-cover.is-style-category-card,
	.wp-block-cover.ausqual-category-card {
		min-height: 220px !important;
	}

	/* Columns - ensure they stack properly */
	.wp-block-columns:not(.is-not-stacked-on-mobile) {
		gap: var(--wp--preset--spacing--40, 1.5rem) !important;
	}
}

/* ==========================================================================
   Mobile Footer Responsive
   ========================================================================== */

@media (max-width: 782px) {
	.ausqual-footer {
		padding-top: var(--wp--preset--spacing--60, 3rem) !important;
		padding-bottom: var(--wp--preset--spacing--50, 2rem) !important;
	}

	/* Stack footer columns */
	.ausqual-footer .wp-block-columns {
		gap: var(--wp--preset--spacing--40, 1.5rem) !important;
	}

	.ausqual-footer .wp-block-column {
		margin-bottom: 0;
	}

	/* Footer heading spacing on mobile */
	.ausqual-footer .wp-block-column > .wp-block-heading {
		margin-bottom: var(--wp--preset--spacing--20, 0.5rem);
	}

	/* Footer bottom row - stack vertically */
	.ausqual-footer .wp-block-group.alignwide[class*="flex"] {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: var(--wp--preset--spacing--30, 1rem);
	}

	/* Center footer logo */
	.ausqual-footer .wp-block-image {
		margin: 0 auto;
	}

	/* Center social links */
	.ausqual-footer .ausqual-social-outline {
		justify-content: center;
	}

	/* Copyright and policy links centered */
	.ausqual-footer .wp-block-group.alignwide:last-child {
		flex-direction: column;
		align-items: center;
		gap: var(--wp--preset--spacing--20, 0.5rem);
	}

	.ausqual-footer .wp-block-group.alignwide:last-child .wp-block-group {
		gap: var(--wp--preset--spacing--30, 1rem);
	}
}

/* ==========================================================================
   General Mobile Responsive Improvements
   ========================================================================== */

@media (max-width: 782px) {
	/* Better spacing on constrained containers */
	.wp-block-group.has-global-padding > .alignwide {
		padding-left: var(--wp--preset--spacing--40, 1.5rem);
		padding-right: var(--wp--preset--spacing--40, 1.5rem);
	}

	/* Logo marquee - smaller on mobile */
	.ausqual-logo-marquee img {
		max-height: 40px !important;
	}

	/* Course tabs - better touch targets */
	.ausqual-course-tabs .wp-block-details summary {
		min-height: 48px;
	}

	/* Course sidebar on mobile - overlay offset */
	.ausqual-course-sidebar-column.wp-block-column {
		margin-top: -40px !important;
	}

	/* Page hero - reduce height */
	.ausqual-page-hero {
		min-height: 300px !important;
	}

	.ausqual-course-hero {
		min-height: 350px !important;
	}

	/* Video content columns - better mobile spacing */
	.video-content-col-right {
		margin-top: -20px;
	}

	/* Disable hover animations on touch devices */
	.ausqual-course-card:hover .ausqual-course-card-content {
		transform: none;
	}

	.ausqual-course-card:hover .ausqual-course-card-image img,
	.ausqual-course-card:hover .ausqual-course-card-image .wp-block-post-featured-image img {
		transform: none;
	}

	/* Show Learn More by default on mobile */
	.ausqual-course-card-learn-more {
		opacity: 1;
		transform: none;
		margin: 8px 0 0 !important;
	}

	/* Blob hover effect disabled on mobile */
	.wp-block-button:not(.is-style-link-button) .wp-block-button__link:hover {
		transform: none;
	}

	.wp-block-button:not(.is-style-link-button) .wp-block-button__link:hover::before {
		transform: translateX(-50%) scale(0);
	}
}

@media (max-width: 480px) {
	/* Extra small mobile adjustments */
	.ausqual-hero-cover {
		min-height: 65vh !important;
	}

	/* Category cards smaller on very small screens */
	.wp-block-cover.is-style-category-card,
	.wp-block-cover.ausqual-category-card {
		min-height: 180px !important;
	}

	/* Review cards */
	.ausqual-reviews-swiper .swiper-slide {
		width: 260px;
	}

	/* Tighter padding on small screens */
	.ausqual-footer {
		padding-left: var(--wp--preset--spacing--30, 1rem) !important;
		padding-right: var(--wp--preset--spacing--30, 1rem) !important;
	}
}

/* ── Jobs EOI Form (CF7 inside grass box) ── */

.has-grass-background-color .wpcf7 form {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.has-grass-background-color .wpcf7 form p {
	margin: 0;
}

/* Each label + input row styled like an upcoming-courses item */
.has-grass-background-color .wpcf7 label {
	display: flex;
	flex-direction: column;
	gap: 0;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 0.9rem;
	font-weight: 600;
	color: #fff;
}

.has-grass-background-color .wpcf7 input[type="text"],
.has-grass-background-color .wpcf7 input[type="email"],
.has-grass-background-color .wpcf7 input[type="tel"],
.has-grass-background-color .wpcf7 textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	border: none;
	border-radius: 8px;
	background: #fff;
	color: var(--wp--preset--color--fertiliser, #1F2828);
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 0.9rem;
	font-weight: 400;
	outline: none;
	transition: box-shadow 0.2s ease;
	margin-top: 0.15rem;
	margin-bottom: 0.5rem;
}

.has-grass-background-color .wpcf7 input::placeholder,
.has-grass-background-color .wpcf7 textarea::placeholder {
	color: #aaa;
	font-weight: 300;
}

.has-grass-background-color .wpcf7 input:focus,
.has-grass-background-color .wpcf7 textarea:focus {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.4);
}

.has-grass-background-color .wpcf7 textarea {
	min-height: 72px;
	resize: vertical;
}

/* Two-column name row */
.ausqual-eoi-row--2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}

/* Submit button — grains yellow, matching upcoming-courses Book button feel */
.has-grass-background-color .wpcf7 input[type="submit"] {
	width: 100%;
	padding: 0.75rem 1.5rem;
	background: var(--wp--preset--color--grains, #FFD861);
	color: var(--wp--preset--color--fertiliser, #1F2828);
	border: none;
	border-radius: 8px;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
	margin-top: 0.5rem;
}

.has-grass-background-color .wpcf7 input[type="submit"]:hover {
	background: #f5cc40;
}

/* File upload input */
.has-grass-background-color .wpcf7 input[type="file"] {
	width: 100%;
	margin-top: 0.15rem;
	margin-bottom: 0.5rem;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.9);
	cursor: pointer;
}

.has-grass-background-color .wpcf7 input[type="file"]::file-selector-button {
	padding: 0.45rem 1rem;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.5);
	border-radius: 6px;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 0.85rem;
	font-weight: 500;
	cursor: pointer;
	margin-right: 0.75rem;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.has-grass-background-color .wpcf7 input[type="file"]::file-selector-button:hover {
	background: rgba(255, 255, 255, 0.25);
	border-color: rgba(255, 255, 255, 0.8);
}

/* CF7 response messages */
.has-grass-background-color .wpcf7-response-output {
	margin: 0.5rem 0 0;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	background: #fff;
	font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
	font-size: 0.85rem;
	color: var(--wp--preset--color--fertiliser, #1F2828);
	border: none;
}

.has-grass-background-color .wpcf7-not-valid-tip {
	color: #ffd861;
	font-size: 0.78rem;
	font-weight: 400;
	margin-top: 0.2rem;
}

@media (max-width: 600px) {
	.ausqual-eoi-row--2col {
		grid-template-columns: 1fr;
	}
}
