/*
 Theme Name:   Mantra
 Theme URI:    https://www.mantra.co.uk
 Description:  A base theme by Mantra.co.uk
 Author:       Greg Findley
 Author URI:   https://www.mantra.co.uk
 Template:     generatepress
 Version:      1.0
*/


/*	Contents
    ----------------------------------------
	1.	Theme adjustments
	2.	Typography
	3.	Global styles
	4.	Gravity Forms
    5.	Slick slider
    6.	Custom CSS
    ---------------------------------------- */

/* 	1. Theme adjustments
    ---------------------------------------- */

/* Body bg colour (outside wrapper) */
body {
	background-color: #ffffff;	
}

/* Site wrapper */
.site-wrapper {
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
	background-color: var(--surface-default);
}

/* Set main content area height */
#main {
	min-height: 65vh;
}

/* Container padding override */
.site-content, #content {
	padding: 0px;
}

/* Post editor width (backend) */
post-type-post .block-editor-block-list__layout {
	max-width: 728px!important;
	margin-inline: auto!important;
	padding-inline: 200px!important;
}
.post-type-post .edit-post-visual-editor__post_title-wrapper .editor-post-title {
	max-width: 728px!important;
	margin-inline: auto!important;
	padding-inline: 200px!important;
}

/* Mobile menu icon */
span.gp-icon.menu-bars {
	font-size: 1.5rem;
}
.menu-toggle {
	padding: 0;
}

/* Keep the GenerateBlocks menu and WooCommerce mini-cart aligned on desktop.
   Do not apply this layout to the mobile full-overlay menu. */
@media (min-width: 769px) {
	.gb-navigation .gb-menu-container {
		display: flex;
		align-items: center;
		gap: var(--space-s);
	}

	.gb-navigation .gb-menu-container > .gb-menu {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		width: auto !important;
		margin: 0;
		padding: 0;
	}
}


/* Visually hidden */
.visually-hidden:not(:focus):not(:active) {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Line limits */
.line-limit-3, .line-limit-2 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.line-limit-3 {
	-webkit-line-clamp: 3;
}
.line-limit-2 {
	-webkit-line-clamp: 2;
}

/* Balance */
.balance {
    white-space: unset;
	text-wrap: balance;
	-webkit-text-wrap: balance

}
.nobr {
	white-space: nowrap;
}
.nobr-mobile {
	white-space: nowrap!important;
}

@media (max-width: 768px) {
    /* CSS in here for mobile only */
	.nobr {
		white-space: normal;
	}
}

/* Aspect ratios */
.ar-16-9, .ar-9-16, .ar-4-3 {
	object-fit: cover;
}
.ar-16-9 {
	aspect-ratio: 16/9;
}
.ar-9-16 {
	aspect-ratio: 9/16;
}
.ar-4-3 {
	aspect-ratio: 4/3;
}
.ar-1-1 {
	aspect-ratio: 1/1;
}

/* No underline */
.no-ul, .no-ul a {
	text-decoration: none;
}

/* Border radius */
:root {
	--radius-xs: .125rem;
	--radius-s: .25rem;
	--radius-m: .5rem;
	--radius-l: 1rem;
	--radius-xl: 1.5rem;
	--radius-xxl: 2rem;
	--radius-50: 50%;
}


/* 	2. Typography
    ---------------------------------------- 

	Match to theme Typography settings, font-family pulled from GP font manager
	Set headline font to 'All Headings'
	Set body font to HTML

    ---------------------------------------- */

:root {
	--headline-font: var(--gp-font--greycliff-cf), sans-serif;
	--body-font: var(--gp-font--acumin-pro), sans-serif;

/* Headlines */
	--headline-xs: clamp(1.19rem, 0.42vw + 1.1rem, 1.44rem);
	--headline-s: clamp(1.33rem, 0.78vw + 1.18rem, 1.8rem);
	--headline-m: clamp(1.5rem, 1.25vw + 1.25rem, 2.25rem);
	--headline-l: clamp(1.69rem, 1.88vw + 1.31rem, 2.81rem);
	--headline-xl: clamp(1.9rem, 2.7vw + 1.36rem, 3.52rem);
	--headline-xxl: clamp(2.14rem, 3.76vw + 1.38rem, 4.39rem);
	
/* Pre-headline */
	--pre-headline: clamp(1rem, 0.942rem + 0.292vw, 1.175rem);
	
/* Body copy */
	--body-s: clamp(0.89rem, 0.08vw + 0.88rem, 0.94rem);
	--body-m: clamp(1rem, 0.20vw + 0.97rem, 1.12rem);
	--body-l: clamp(1.14rem, 0.36vw + 1.06rem, 1.36rem);
	--body-xl: clamp(1.27rem, 0.58vw + 1.16rem, 1.62rem);

/* Spacing */
	--space-xxs: clamp(0.25rem, 0.167rem + 0.417vw, 0.5rem);
	--space-xs: clamp(0.75rem, 0.667rem + 0.417vw, 1rem);
	--space-s: clamp(1rem, 0.833rem + 0.833vw, 1.5rem);
	--space: clamp(1rem, 0.667rem + 1.667vw, 2rem);
	--space-m: clamp(1.5rem, 1.25rem + 1.25vw, 2.25rem);
	--space-l: clamp(2.25rem, 1.833rem + 2.083vw, 3.5rem);
	--space-xl: clamp(3.5rem, 3.167rem + 1.667vw, 4.5rem);
	--space-xxl: clamp(4.5rem, 3.667rem + 4.167vw, 7rem);
	--space-xxxl: clamp(7rem, 5.833rem + 5.833vw, 10.5rem);
}

/* Default body / p font settings */
p {
	font-family: var(--body-font);
	font-size: var(--body-m);
	font-weight: 400;
	line-height: calc(var(--body-m) * 1.6125);
	margin-bottom: var(--space-s);
}
p a {
	font-weight: 500;
}
p strong {
	color: var(--typography-body);
}

/* Default headings font-family, weight, margins */
h1, h2, h3, h4, h5, h6, .gb-headline-xxl, .gb-headline-xl, .gb-headline-l, .gb-headline-m, .gb-headline-s, .gb-headline-xs, .gb-headline-xxs {
	font-weight: 600;
    letter-spacing: -0.025rem;
	font-family: var(--headline-font);
}

/* Title font-size & line-height */
.gb-headline-xxl {
	font-size: var(--headline-xxl);
	line-height: 1.125;
	margin-bottom: var(--space-l);
}
h1, .gb-headline-xl {
	font-size: var(--headline-xl);
	line-height: 1.1;
	margin-bottom: var(--space-l);
}
h2, .gb-headline-l {
	font-size: var(--headline-l);
	line-height: 1.125;
	margin-bottom: var(--space-m);
}
h3, .gb-headline-m {
	font-size: var(--headline-m);
	line-height: 1.25;
	margin-bottom: var(--space-m);
}
h4, .gb-headline-s {
	font-size: var(--headline-s);
	line-height: 1.25;
	margin-bottom: var(--space-s);
}
h5, .gb-headline-xs {
	font-size: var(--headline-xs);
	line-height: 1.375;
	margin-bottom: var(--space-s);
}
h6, .gb-headline-xxs {
	font-size: var(--headline-xxs);
	line-height: 1.5;
	margin-bottom: var(--space-s);
}
.gb-headline-pre {
	font-size: var(--pre-headline);
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-bottom: var(--space-m);
}

/* Additional body font-sizes, body-m is a regular paragraph */
.gb-headline-body-xl, .gb-headline-body-l, .gb-headline-body-s, .gb-headline-body-xs {
	font-family: var(--body-font);
	margin-bottom: var(--space-s);
}
.gb-headline-body-xl {
	font-size: var(--body-xl);
	line-height: calc(var(--body-xl) * 1.65);
}
.gb-headline-body-l {
	font-size: var(--body-l);
	line-height: calc(var(--body-l) * 1.625);
}
.gb-headline-body-m {
	font-size: var(--body-m);
	line-height: calc(var(--body-l) * 1.4);
	margin-bottom: calc(var(--body-l) * 1.4);
}
.gb-headline-body-s {
	font-size: var(--body-s);
	line-height: calc(var(--body-s) * 1.5);
}
.gb-headline-body-xs {
	font-size: var(--body-xs);
	line-height: calc(var(--body-xs) * 1.65);
}

/* Image captions */
figcaption, .gb-headline-img-caption {
	font-size: var(--body-s);
	margin-top: var(--space-xs);
	margin-bottom: var(--space-m);
}

/* Content lists */
ul.content, ol.content, .content ul, .content ol {
	font-size: var(--body-m);
	font-weight: 400;
	line-height: calc(var(--body-m) * 1.65);
	margin-bottom: var(--space-m);
	margin-left: var(--space-m);
}
ul.content li, ol.content li {
	margin-bottom: var(--space-xxs);
}
ul.content-small {
	margin-left: var(--space-m);
	text-wrap: balance;
}
.margin-0 {
	margin-bottom: 0!important;
}

/* Add top margin to blog post h2-h6 */
@media (min-width: 1025px) {
    /* CSS in here for desktop only */
	.single-post :is(h2, h3, h4, h5, h6) {
		margin-top: var(--space-l);
		text-wrap: balance;
	}
}
@media (max-width: 768px) {
    /* CSS in here for mobile only */
	.single-post :is(h2, h3, h4, h5, h6) {
		margin-top: var(--space-m);
		text-wrap: balance;
	}
}

/* Buttons */
.gb-button-primary {
    color: #ffffff!important;
}

/* Remove bottom margin on last paragraph */
.gb-container p:last-child:last-of-type {
	margin-bottom: 0px;
}
.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
	margin-bottom: 0px;
}

/* Accent underlines */
.accent-underline {
	position: relative;
	width: 100%;
}
.accent-underline::after {
	content: "";
	border-bottom: 0.075rem #bed4dc solid;
	margin: auto;
	width: 100%;
    width: -moz-available;          /* WebKit-based browsers will ignore this. */
    width: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
    width: fill-available;
	margin-left: 10px;
	top: clamp(1.5rem, 1.25vw + 1.25rem, 2.25rem);
	position: absolute;
  	z-index: -1;
}


/* 	3. Global styles
    ---------------------------------------- */

/* Sections */
.gb-container-section-xs {
	padding: var(--space-xs) var(--space-m) 0 var(--space-m);
}
.gb-container-section-s {
	padding: var(--space-s) var(--space-m) 0 var(--space-m);
}
.gb-container-section-m {
	padding: var(--space-m) var(--space-m) 0 var(--space-m);
}
.gb-container-section-l {
	padding: var(--space-l) var(--space-m) 0 var(--space-m);
}
.gb-container-section {
	padding: var(--space-xl) var(--space-m) 0 var(--space-m);
}
.gb-container-section-xl {
	padding: var(--space-xxl) var(--space-m) 0 var(--space-m);
}
.gb-container-section-xxl {
	padding: var(--space-xxxl) var(--space-m) 0 var(--space-m);
}

/* Content image margin */
.content .gb-block-image img {
	margin: var(--space-xs) 0;
}

/* Separator */
.wp-block-separator {
	border: none;
    border-bottom: 0.075rem var(--utility-divider) solid;
    margin: var(--space-l) 0;
}
.wp-block-separator.small {
    margin: var(--space-m) 0;
}


/* Container widths */
:root {
	--width-l: 64rem;
	--width-m: 56rem;
	--width-s: 48rem;
	--width-xs: 40rem;
}

/* Announcement bar */
.announcement-bar {
	position: relative;
}
.announcement-bar-closed {
	display: none;
}
.announcement-close {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translatey(-50%);
	cursor: pointer;
}


@media (max-width: 768px) {
    /* CSS in here for mobile only */
	.gf-turnstile-container {
		margin: var(--space-s) auto!important;
	}  
	.accent-underline::after {
		display: none;
	}
}

/* Show/hide get started button */
@media (max-width: 550px) {
	.nav-buttons {
		display: none;
	}
}
@media (min-width: 900px) {
	.nav-mobile-only {
		display: none;
	}
}
.menu-toggle .gp-icon+.mobile-menu {
    padding: 1rem;
    font-weight: 700;
    font-size: calc(var(--body-s) + 0.15rem);
}
.gp-icon svg {
	top: 0!important;
}

/* Mobile nav */

@media (max-width: 900px) {
    /* CSS in here for mobile only */
	button.menu-toggle {

		flex-direction: row-reverse;
		align-items: center;
		margin-right: 0;
		border-right: none;
		height: 50px;
		padding-right: 0;
	}
	.footer-small {
		max-inline-size: 40ch;
		margin: 0 auto;
	}
}
@media (max-width: 680px) {
	/* Hide CTA icons on mobile */
	.no-icon-mobile .gb-icon {
		display: none;
	}
}
ul.content b, ul.content strong {
	color: var(--typography-heading);
}
.main-navigation .main-nav ul li a, .main-nav-button {
	font-size: calc(var(--body-s) + 0.2rem);
	font-weight: 600;
	transition: all 0.1s ease;
}
.main-navigation .main-nav ul li a:hover {
	transform: translate3d(0px, -2px, 0px);
}
/* Show parent page as active in nav when viewing child page */
.main-navigation .main-nav .current-page-ancestor > a {
    color: var(--brand-primary);
}
.headline-cta h6.strong {
	font-weight: 700;
    border-bottom: none;
    padding-bottom: 0.1rem;
}
.headline-cta:hover .gb-headline-text strong {
    border-bottom: 0.2rem solid var(--typography-heading);
    padding-bottom: 0.1rem;
}
.yellow-underline a:hover {
    border-bottom: 0.1rem solid var(--brand-primary);
    padding-bottom: 0.05rem;
}

/* MODAL POPUPS */
.bod-block-popup-closer {
	display: none;
}
.right-breakout {
	position: absolute;
	top: 0;
	display: flex;
	height: 100%;
}
.right-breakout img {
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    pointer-events: none;
}

.homepage-block:hover .yellow-underline span.gb-headline-text {
    border-bottom: 0.1rem solid var(--brand-primary);
    padding-bottom: 0.1rem;
}
h3.yellow-underline span.gb-headline-text {
	padding-bottom: 0.1rem;
	border-bottom: 0.1rem solid var(--utility-border);
}

/* CONTACT PAGE */
.contact-details.wp-block-table td, .wp-block-table th {
    border: 0;
    padding: 0.25rem 0;
    font-size: var(--body-m);
}
.contact-details table {
	border: 0;
}
.contact-details.wp-block-table td {
	color: var(--typography-heading);
}
.contact-details table tbody {
	vertical-align: top;
}

/* FOOTER */
.footer-nav ul.wp-block-navigation {
	column-gap: var(--space-s);
	font-size: calc(var(--body-s) + 0.1rem);
	letter-spacing: 0.025em;
	font-weight: 600;
	padding: 1rem 0;
	color: var(--surface-alt);
}
.footer-nav ul.wp-block-navigation li:hover {
	color: var(--brand-primary);
}
.footer-nav ul.wp-block-navigation li[class*="current-menu-"] > a {
    color: rgba(171,171,171,0.75);
}
.footer-small {
	text-align: center;
    margin-top: var(--space-xs);
    margin-bottom: 0px;
    color: var(--typography-muted);
	font-size: var(--body-s);
    line-height: 1.5;
}
.footer-small a {
	color: #fff;
	text-decoration: underline;
}
.footer-small a:hover {
	color: var(--brand-primary);
}
.company-no { 
    pointer-events: none; 
}
.company-no > a { 
	text-decoration: none!important;
	color: inherit; 
	border: none!important;
}

/* 	4. Gravity Forms
    ---------------------------------------- */

.gform_wrapper.gravity-theme .gform_fields {
	grid-row-gap: var(--space-s);
}

/* Fields */
.gform_wrapper .gform_body input,
.gform_wrapper .gform_body textarea,
.gform_wrapper .gform_footer .gform_button[type='submit'] {
	transition: all 0.1s ease-in-out;
}

.gform_wrapper .gform_body input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_wrapper .gform_body textarea {
	width: 100%;
	padding: 0.8rem 1rem;
	border: 1px solid #c6c6c6;
	border-radius: var(--radius-s);
	background-color: #ffffff;
	color: var(--typography-heading);
	font-size: var(--body-m);
	font-weight: 400;
}

body .gform_wrapper .gform_body .gform_fields .gfield .large.gfield_select {
	width: 100%;
	padding: 0.8rem 1rem;
	border: 1px solid #c6c6c6;
	background-color: #ffffff;
	color: var(--typography-heading);
	font-size: var(--body-m);
	font-weight: 600;
}

.gform_wrapper .gform_body input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus,
.gform_wrapper .gform_body textarea:focus {
	box-shadow: 0 0 10px rgba(171, 171, 171, 0.25);
}

.gform_wrapper .gform_body label.gfield_label,
.gform_wrapper.gravity-theme .gfield_label {
	margin-bottom: 0.65rem;
	color: var(--typography-heading);
	font-size: var(--body-m);
	font-weight: 600;
}

.gform_wrapper .gform_body input::placeholder,
.gform_wrapper .gform_body textarea::placeholder {
	color: #707070;
	font-size: 16px;
	font-weight: 400;
}

/* Submit buttons */
.gform_wrapper .gform_footer .gform_button[type='submit'] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: auto;
	min-height: 0;
	padding: 1rem 2.5rem 1.125rem;
	border: 0;
	border-radius: 50px;
	background-color: var(--brand-secondary);
	color: var(--surface-default);
	font-family: inherit;
	font-size: var(--body-m);
	font-weight: 600;
	line-height: inherit;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.gform_wrapper .gform_footer .gform_button[type='submit']:hover,
.gform_wrapper .gform_footer .gform_button[type='submit']:focus {
	background-color: #324cb7;
	color: var(--surface-default);
}

/* Newsletter form: inline submit button (Gravity Form 4 only) */
#gform_wrapper_4 .gfield--type-submit {
	align-self: end;
}

#gform_wrapper_4 .gfield--type-submit .gform-button[type='submit'] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-end;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0.8rem 2.5rem;
	border: 0;
	border-radius: 50px;
	background-color: var(--brand-secondary);
	color: var(--surface-default);
	font-family: inherit;
	font-size: var(--body-m);
	font-weight: 600;
	line-height: inherit;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

#gform_wrapper_4 .gfield--type-submit .gform-button[type='submit']:hover,
#gform_wrapper_4 .gfield--type-submit .gform-button[type='submit']:focus {
	background-color: #324cb7;
	color: var(--surface-default);
}

/* Reduce the empty inline-form footer gap before the privacy text */
#gform_wrapper_4 .gform_footer {
	margin: var(--space-s) 0 0;
	padding: 0;
}

/* Newsletter confirmation (Gravity Form 4 only) */
.newsletter-signup:has(#gform_confirmation_wrapper_4) > .section-headline,
.newsletter-signup:has(#gform_confirmation_wrapper_4) > .p-intro,
.newsletter-signup:has(#gform_confirmation_wrapper_4) .p-small {
	display: none;
}

.newsletter-signup:has(#gform_confirmation_wrapper_4) > div:has(#gform_confirmation_wrapper_4) {
	margin-top: 0;
}

.newsletter-signup #gform_confirmation_wrapper_4 {
	margin: 0;
	padding: 0 0 var(--space-s);
}

.newsletter-signup #gform_confirmation_message_4 {
	margin: 0;
	padding: 0;
}

.newsletter-signup #gform_confirmation_message_4 h3 {
	margin: 0 0 var(--space-xs);
	color: var(--brand-primary);
	font-size: calc(var(--headline-m) * 0.9);
	font-weight: 500;
}

.newsletter-signup #gform_confirmation_message_4 p {
	margin: 0;
}

.newsletter-signup #gform_confirmation_message_4 > br {
	display: none;
}

/* Replace the Gravity Forms loader with a button loading state */
body .gform_wrapper.gravity-theme .gform-loader,
body img.gform_ajax_spinner {
	display: none !important;
}

body .gform_wrapper.gravity-theme button.gform_button.gform-has-spinner {
	position: relative;
	background-color: #324cb7;
	color: transparent !important;
	opacity: 1;
	cursor: wait;
}

body .gform_wrapper.gravity-theme button.gform_button.gform-has-spinner::after {
	content: "Sending\2026";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--surface-default);
}

body #gform_wrapper_4 button.gform-button.gform-has-spinner {
	position: relative;
	background-color: #324cb7;
	color: transparent !important;
	opacity: 1;
	cursor: wait;
}

body #gform_wrapper_4 button.gform-button.gform-has-spinner::after {
	content: "Subscribing\2026";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--surface-default);
}

/* Message overlay confirmation */
.message-panel:has(#gform_confirmation_wrapper_3) > .message-panel__intro {
	display: none;
}

.message-panel #gform_confirmation_wrapper_3,
.message-panel #gform_confirmation_message_3 {
	margin: 0;
	padding: 0;
}

.message-panel #gform_confirmation_message_3 h5 {
	margin: 0 0 var(--space-s);
	color: var(--brand-primary);
	font-size: var(--headline-s);
}

.message-panel #gform_confirmation_message_3 p {
	margin: 0;
}

.message-panel #gform_confirmation_message_3 > br {
	display: none;
}

/* Contact form submit icon */
#gform_wrapper_1 .gform_footer .allactive-form-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	width: auto;
	height: auto;
	font-family: inherit;
	cursor: pointer;
}

#gform_wrapper_1 .allactive-form-submit .gb-shape,
#gform_wrapper_1 .allactive-form-submit .gb-shape svg {
	display: block;
	width: 1em;
	height: 1em;
	flex: 0 0 1em;
	fill: currentColor;
}

/* Contact form telephone country selector */
#gform_wrapper_1 .gform-phone__country-selector {
	height: auto;
	min-height: 0;
	padding: 0.8rem 1rem;
	border: 1px solid #c6c6c6;
	border-radius: 4px 0 0 4px;
	background-color: #ffffff;
	box-shadow: none;
	color: var(--brand-primary);
	font-family: inherit;
	font-size: 1.12rem;
	line-height: 1.5;
}

/* Validation */
.gform_required_legend,
.gform_wrapper.gravity-theme .gform_validation_errors {
	display: none;
}

.gform_wrapper.gravity-theme .gfield_required {
	color: var(--brand-secondary);
	font-size: var(--body-m);
	font-weight: 500;
}

/* Checkbox and radio labels */
.gform_wrapper.gravity-theme .gfield_checkbox label,
.gform_wrapper.gravity-theme .gfield_radio label {
	margin-left: 0.75rem;
	font-size: calc(var(--body-s) + 0.1rem);
	font-weight: 400;
	line-height: 1.65;
}

/* Form footer and Turnstile */
.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
	margin-top: var(--space-xs);
}

.gf-turnstile-container {
	display: inline-flex;
	width: 300px !important;
	margin: 1rem 0;
}

/* Legacy Gravity Forms */
.gform_legacy_markup_wrapper .gf_progressbar_percentage.percentbar_blue {
	background-color: var(--primary);
}

.gform_legacy_markup_wrapper .gsection {
	border-bottom: none;
}

@media (max-width: 768px) {
	.gform_wrapper .gform_footer .gform_button[type='submit'] {
		width: 100%;
		min-width: 0;
	}

	.gf-turnstile-container {
		margin: var(--space-s) auto !important;
	}
}

/* 	5. Slick slider
    ---------------------------------------- */

.slick-slide img {
	display: inline-block!important;
}
.slick-next {
	right: -34px;
}
.slick-prev {
    left: -34px;
}
.wp-block-cb-carousel .slick-next:before, .wp-block-cb-carousel .slick-prev:before {
    color: #fff;
}
.slick-next:before, .slick-prev:before {
    font-size: 30px;
    opacity: 0.9;
}
button.slick-prev.slick-arrow {
	z-index: 9999;
}
.slick-next:before {
	content: url(../wp-content/uploads/slider-next.svg);
	width: 18px;
	height: 40px;
}
.slick-prev:before {
	content: url(../wp-content/uploads/slider-prev.svg);
    width: 18px;
	height: 40px;
}
.slick-next, .slick-prev {
    width: 18px;
    height: 40px;
}

/* 	6. Custom CSS
    ---------------------------------------- */

div#primary-menu.main-nav ul li:last-child a {
	padding-right: 0;
}
.slideout-navigation.main-navigation .main-nav ul li a {
    font-size: var(--headline-s);
}


.blog-excerpt p {
	font-size: var(--body-l);
	line-height: calc(var(--body-l) * 1.625);
}
.sticky {
    position: sticky;
    top: 24px;
}
@media(min-width: 769px) {
    .custom-sidebar > .gb-inside-container,
    .custom-sidebar > .gb-inside-container > .gb-container,
    .custom-sidebar > .gb-inside-container > .gb-container > .gb-inside-container {
        height: 100%;
    }
    .is-sticky {
        position: sticky;
        top: var(--space-m);
    }
}


/* For 3 cells with 1rem gap */
.carousel-cell {
	width: calc(33.333% - var(--space-s) * 2/3);
	margin-right: var(--space-s);
}


.woo-product-accreditation-logos{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-m);
	margin-top: var(--space-l);
	margin-bottom: var(--space-l);
}

/* Stronger + forced sizing inside Woo contexts */
.woocommerce .woo-product-accreditation-logos img.woo-product-accreditation-logo,
.woocommerce-page .woo-product-accreditation-logos img.woo-product-accreditation-logo{
	width: auto !important;
	height: 64px !important;
	max-height: 64px !important;
	max-width: 100% !important;
	object-fit: contain;
	display: block;
}

@media (max-width: 1024px){
	.woocommerce .woo-product-accreditation-logos img.woo-product-accreditation-logo,
	.woocommerce-page .woo-product-accreditation-logos img.woo-product-accreditation-logo{
		height: 56px !important;
    	max-height: 56px !important;
	}
}

@media (max-width: 768px){
	.woocommerce .woo-product-accreditation-logos img.woo-product-accreditation-logo,
	.woocommerce-page .woo-product-accreditation-logos img.woo-product-accreditation-logo{
    	height: 48px !important;
    	max-height: 48px !important;
	}
}


/* Sticky sidebar on single product pages */
.single-product .course-sidebar{
  position: sticky;
  top: var(--space-m); /* or a fixed value like 24px */
  align-self: start;   /* important inside CSS grid */
}
@media (max-width: 768px){
  .single-product .course-sidebar{
    position: static;
  }
}
	


.course-sidebar ul.sidebar-nav {
	list-style: none;
	margin: 0;
	padding: 0;
    font-weight: 600;
}

.course-sidebar ul.sidebar-nav li {
	margin: 0;
	color: var(--brand-secondary);
    margin-bottom: 0.25rem;
}
.course-sidebar ul.sidebar-nav li a {
	color: var(--brand-secondary)
}



/* ======================================================
   WOOCOMMERCE – Basket and Checkout
   ====================================================== */


.course-price-line {
    display: block;
    text-align: right;
	margin-bottom: 0;
}

/* Hide the empty Woo product article that GP/Woo still outputs */
.single-product.woocommerce-page .site-main > article.product {
  display: none !important;
}


.book-now-section:has(.course-pricing-grid > *:only-child) .book-now-heading {
  text-align: center;
}
/* Pricing grid: auto-fit cards depending on how many exist */
.course-pricing-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
}
/* If only one card is showing, centre it and cap width */
.course-pricing-grid > *:only-child {
  justify-self: center;
  width: min(520px, 100%);
}
@media (min-width: 1200px) {
  .course-pricing-grid {
    max-width: 1200px;
    margin-inline: auto;
  }
}


/* Hide thumbnail column */
.woocommerce-cart td.product-thumbnail,
.woocommerce-cart th.product-thumbnail {
	display: none;
}

/* Cart column headings */
.woocommerce-cart .shop_table thead th {
	text-transform: uppercase;
	color: var(--typography-body);
	font-weight: 600;
	font-size: var(--body-s);
	letter-spacing: 0.2px;
}

/* Course title */
.woocommerce-cart .product-name a.allactive-course-title {
	font-weight: 600;
	font-size: var(--body-m);
	line-height: 1.4;
	text-decoration: none;
}

.woocommerce-cart .product-name a.allactive-course-title:hover {
	text-decoration: underline;
}

.woo-product-course-content .content li p {
    margin-bottom: var(--space-xs);
}

/* Course format meta line */
.woocommerce-cart .allactive-course-format {
	margin-top: 0.35rem;
	font-size: 0.95em;
	line-height: 1.5;
}

/* Price styling */
.woocommerce-cart .product-price .amount,
.woocommerce-cart .product-subtotal .amount,
.woocommerce-cart .cart_totals .amount,
.woocommerce-cart .order-total .amount {
	font-weight: 500;
	color: var(--typography-heading);
	font-size: var(--body-m);
}

/* Hide update basket button */
.woocommerce-cart button[name="update_cart"] {
	display: none;
}


.woocommerce-cart .woocommerce-message {
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.woocommerce-cart .woocommerce-message.is-fading-out {
	opacity: 0;
	transform: translateY(-6px);
	pointer-events: none;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
	display: none;
}
/* Remove divider between cart table and totals */
.woocommerce-cart .shop_table {
	border-bottom: none;
}

.woocommerce-cart .shop_table tr:last-child td {
	border-bottom: none;
}


.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward {
    background-color: var(--brand-secondary) !important;
    color: var(--surface-default) !important;
    display: inline-block !important;
    font-size: var(--body-m) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 50px !important;
    padding: 1rem 2.5rem 1.125rem 2.5rem !important;
    border: none !important;
    line-height: 1.2;
	width: 100%;
}
.woocommerce table.shop_table th {
    background-color: var(--surface-muted);
}


/* Cart collaterals layout */
.woocommerce-cart .cart-collaterals {
	display: flex;
	align-items: flex-start;
	gap: var(--space-l);
	width: 100%;
    margin-top: var(--space-l);
}

/* Trust block */
.woocommerce-cart .cart-collaterals .basket-stripe {
	flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	margin: 0;
}

/* Totals block */
.woocommerce-cart .cart-collaterals .cart_totals {
	flex: 1 1 50%;
	width: auto;
	float: none;
	margin: 0;
}

/* Keep trust block on the left */
.woocommerce-cart .cart-collaterals .basket-stripe {
	order: 1;
}

/* Keep totals on the right */
.woocommerce-cart .cart-collaterals .cart_totals {
	order: 2;
}

/* Mobile */
@media (max-width: 768px) {
	.woocommerce-cart .cart-collaterals {
		flex-direction: column;
		align-items: stretch;
		gap: 2rem;
	}

	.woocommerce-cart .cart-collaterals .basket-stripe,
	.woocommerce-cart .cart-collaterals .cart_totals {
		flex: none;
		width: 100%;
	}
}

.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart-collaterals::after,
.woocommerce-page .cart-collaterals::before,
.woocommerce-page .cart-collaterals::after {
	content: none !important;
	display: none !important;
}


/* Hide Update Basket everywhere */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .actions {
	display: none !important;
}


/* ======================================================
   WOOCOMMERCE – Classic Checkout
   ====================================================== */

/* Checkout layout */
.woocommerce-checkout #customer_details {
	margin-bottom: var(--space-m);
}

.woocommerce-checkout .col2-set .col-1 h3,
.woocommerce-checkout .col2-set .col-2 h3,
.woocommerce-checkout #order_review_heading {
	margin-bottom: var(--space-s);
}

/* Checkout form fields */
.woocommerce form .form-row label {
	font-size: var(--body-m);
	font-weight: 600;
	color: var(--typography-heading);
	margin-bottom: 0.4rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	background: #fff;
	border: 1px solid #c6c6c6;
	border-radius: var(--radius-s);
	padding: 0.8rem 1rem;
	font-size: var(--body-m);
	color: var(--typography-heading);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
	box-shadow: rgba(171, 171, 171, 0.25) 0px 0px 10px 0px;
	outline: 0;
}

/* Order review heading */
#order_review_heading {
	margin-bottom: 20px;
}

/* Order summary table */
.woocommerce-checkout-review-order-table th {
	text-transform: uppercase;
	color: var(--typography-body);
	font-weight: 600;
	font-size: var(--body-s);
	letter-spacing: 0.2px;
	background-color: var(--surface-muted);
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 16px 20px;
	border: 0;
}

.woocommerce-checkout-review-order-table .product-name {
	line-height: 1.4;
}

.woocommerce-checkout-review-order-table .product-name strong {
	font-weight: 600;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
	padding: 16px 20px;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-weight: 700;
	font-size: calc(var(--body-m) * 1.1);
}

/* Payment methods */
#payment {
	background: transparent;
}

#payment .payment_method {
	background: var(--surface-muted);
	padding: 1rem 1.25rem;
}

/* Place order button */
.woocommerce #place_order {
	background-color: var(--brand-secondary);
	color: var(--surface-default);
	font-size: var(--body-m);
	font-weight: 600;
	border-radius: 50px;
	padding: 1rem 2.5rem 1.125rem 2.5rem;
	border: none;
	width: 100%;
	line-height: 1.2;
}

.woocommerce #place_order:hover {
	background-color: #399fde;
}

/* Hide order notes fallback */
.woocommerce-additional-fields {
	display: none;
}


.gb-menu > li:first-child .gb-menu-link {
	padding-left: 0;
}

.gb-menu > li:last-child .gb-menu-link {
	padding-right: 0;
}




.woocommerce table.shop_table th {
	background-color: var(--surface-muted)!important;
}

/* Checkout button */
.woocommerce-checkout #place_order {
    background-color: var(--brand-secondary) !important;
    color: var(--surface-default) !important;
    display: inline-block !important;
    font-size: var(--body-m) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 50px !important;
    padding: 1rem 2.5rem 1.125rem 2.5rem !important;
    border: none !important;
    line-height: 1.2;
    width: 100%;
}

/* Move privacy text below button */
.woocommerce-privacy-policy-text p {
	font-size: var(--body-s)!important;
	line-height: 1.5!important;
}

/* Button appears first */
#place_order {
	order: 1;
}

/* Make the section flex so order works */
.woocommerce-checkout #payment {
	display: flex;
	flex-direction: column;
}





.woocommerce-checkout #payment div.form-row.place-order {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch;
}

.woocommerce-checkout #payment div.form-row.place-order #place_order {
	order: 1;
	float: none !important;
}

.woocommerce-checkout #payment div.form-row.place-order .woocommerce-privacy-policy-text {
	order: 2;
	font-size: var(--body-s);
	line-height: 1.5;
	opacity: 0.75;
	margin-top: 1rem;
	margin-bottom: 0;
}





/* ======================================================
   Classic checkout – payment method card
   ====================================================== */

.woocommerce-checkout #payment {
	background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods {
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
	list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Payment method row as a card */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	position: relative;
	background: #f3f4f6;
	border: 1px solid transparent;
	border-radius: 12px;
	padding: 0;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

/* Hide native radio input */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	pointer-events: none !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
}

/* Kill Woo's built-in fake radio */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label::before,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label::after,
.woocommerce-checkout #payment .payment_methods li.wc_payment_method > input[type="radio"] + label::before,
.woocommerce-checkout #payment .payment_methods li.wc_payment_method > input[type="radio"] + label::after,
.woocommerce-checkout #payment .payment_methods li.wc_payment_method > input[type="radio"]:checked + label::before,
.woocommerce-checkout #payment .payment_methods li.wc_payment_method > input[type="radio"]:checked + label::after {
	content: none !important;
	display: none !important;
}

/* Make label the clickable card face */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: 1rem;
	width: 100%;
	margin: 0;
	padding: 1.25rem 1.5rem;
	cursor: pointer;
	font-size: var(--body-m);
	font-weight: 600;
	color: var(--typography-heading);
	line-height: 1.4;
	position: relative;
}

/* Our custom radio circle */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label span.allactive-radio {
	display: none;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	padding-left: 4.25rem;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	background-image: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	position: relative;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	--radio-size: 18px;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label::marker {
	display: none;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	list-style: none;
}

/* Custom radio using a background-free pseudo */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	background-repeat: no-repeat;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label:empty::before {
	display: none;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	left: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid var(--brand-secondary);
	background: #fff;
	box-sizing: border-box;
}

/* Hover state */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:hover {
	border-color: rgba(37, 46, 108, 0.22);
	background: #f7f8fa;
}

/* Selected state */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
	border-color: var(--brand-secondary);
	background: rgba(62, 100, 255, 0.06);
	box-shadow: 0 0 0 1px rgba(62, 100, 255, 0.08);
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) > label::before {
	background: var(--brand-secondary);
	box-shadow: inset 0 0 0 4px #fff;
}

/* Payment description box under selected option */
.woocommerce-checkout #payment div.payment_box {
	background: transparent;
	margin: 1rem 0 0;
	padding: 0 1.5rem 1.35rem 4.25rem;
	color: var(--typography-body);
	font-size: var(--body-m);
	line-height: 1.6;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce-checkout #payment div.payment_box p:last-child {
	margin-bottom: 0;
}


/* Woo Product FAQ Accordion */

/* Course FAQ accordion - compact */
.woo-course-faq {
    display: grid;
    gap: var(--space-xs);
    margin-top: var(--space-m);

    --faq-icon-size: var(--space-m);
    --faq-card-padding-y: var(--space-s);
    --faq-card-padding-x: var(--space-m);
}

/* Individual FAQ cards */
.woo-course-faq__item {
    background: var(--surface-default);
    border: 0.125rem solid var(--surface-alt);
    border-radius: var(--radius-m, var(--space-xs));
    overflow: hidden;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

/* Open state */
.woo-course-faq__item[open] {
    background: var(--primary-ultra-light, #f7fbff);
    border-color: var(--primary-light, #d6e0f7);
}

/* Remove default marker */
.woo-course-faq__question::-webkit-details-marker {
    display: none;
}

.woo-course-faq__question::marker {
    content: "";
}

/* Question row */
.woo-course-faq__question {
    position: relative;
    cursor: pointer;
    list-style: none;
    padding: var(--space-s) var(--space-xl) var(--space-s) var(--space-m);
    color: var(--brand-primary);
    font-size: var(--headline-xxs);
    font-weight: 700;
    line-height: 1.3;
}

/* Chevron circle */
.woo-course-faq__question::after {
    content: "";
    position: absolute;
    top: 50%;
    right: var(--faq-card-padding-x);
    width: var(--faq-icon-size);
    height: var(--faq-icon-size);
    transform: translateY(-50%);
    border-radius: var(--radius-circle, 50%);
    background: var(--primary-ultra-light, #e8eefc);
    transition: background-color 0.2s ease;
}

/* Chevron icon */
.woo-course-faq__question::before {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(var(--faq-card-padding-x) + (var(--faq-icon-size) / 2));
    width: 0.45em;
    height: 0.45em;
    border-right: 0.13em solid var(--primary, #252d6f);
    border-bottom: 0.13em solid var(--primary, #252d6f);
    transform: translate(50%, -65%) rotate(45deg);
    z-index: 1;
    transition: transform 0.2s ease;
}

/* Open chevron state */
.woo-course-faq__item[open] .woo-course-faq__question::after {
    background: var(--primary-light, #dbe4fb);
}

.woo-course-faq__item[open] .woo-course-faq__question::before {
    transform: translate(50%, -35%) rotate(225deg);
}

/* Answer area */
.woo-course-faq__answer {
    padding: 0 var(--space-xl) var(--space-m) var(--space-m);
    var(--typography-body);
    font-size: var(--text-m);
    line-height: 1.65;
}

/* WYSIWYG spacing */
.woo-course-faq__answer > *:first-child {
    margin-top: 0;
}

.woo-course-faq__answer > *:last-child {
    margin-bottom: 0;
}

.woo-course-faq__answer p,
.woo-course-faq__answer ul,
.woo-course-faq__answer ol {
    margin-bottom: var(--space-xs);
}

.woo-course-faq__answer a {
    color: var(--action, var(--primary));
    text-decoration: underline;
}

/* Keyboard focus */
.woo-course-faq__question:focus-visible {
    outline: 0.1875rem solid var(--action, var(--primary));
    outline-offset: var(--space-xxs);
    border-radius: var(--radius-s, var(--space-xxs));
}

/* Mobile */
@media (max-width: 767px) {
    .woo-course-faq {
        gap: var(--space-xxs);

        --faq-icon-size: calc(var(--space-m) - var(--space-xxs));
        --faq-card-padding-y: var(--space-xs);
        --faq-card-padding-x: var(--space-xs);
    }

    .woo-course-faq__question {
        font-size: var(--text-m);
    }

    .woo-course-faq__answer {
        font-size: var(--text-s);
    }
}


/* Course Book sidebar card */
.woo-course-book {
    background-color: var(--surface-muted);
    margin-bottom: var(--space-s);
    border-radius: var(--space-xxs);
    padding: var(--space-s) var(--space-s) var(--space-m) var(--space-s);
}

/* Course Book title */
.woo-course-book__title {
    margin: 0 0 var(--space-xs);
    color: var(--brand-primary);
    font-size: calc(var(--body-m) * 1.05);
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: var(--body-font);
    line-height: calc(var(--body-m) * 1.6125);
}

/* Course Book image wrapper */
.woo-course-book__media {
    margin-bottom: var(--space-s);
}

/* Course Book image */
.woo-course-book__image {
    display: block;
    object-fit: cover;
    width: auto;
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Course Book description */
.woo-course-book-description,
.woo-course-book-description p,
.woo-course-book-description li {
    font-size: var(--body-s);
    line-height: 1.65;
}

/* WYSIWYG spacing cleanup */
.woo-course-book-description > *:first-child {
    margin-top: 0;
}

.woo-course-book-description > *:last-child {
    margin-bottom: 0;
}




/* Course Quick Links */
.woo-course-quick-links {
    background-color: var(--surface-accent, var(--surface-muted));
    border-radius: var(--space-xxs);
    padding: var(--space-s) var(--space-s) var(--space-m) var(--space-s);
    margin-bottom: var(--space-s);
}

/* Heading */
.woo-course-quick-links__heading {
    margin: 0 0 var(--space-xs);
    color: var(--brand-primary);
    font-size: calc(var(--body-m) * 1.05);
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: var(--body-font);
    line-height: calc(var(--body-m) * 1.6125);
}

/* Link list wrapper */
.woo-course-quick-links__list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

/* Individual link rows */
.woo-course-quick-links__item {
    display: flex;
    align-items: center;
    gap: calc(var(--space-xxs) * 1.35);
    margin: 0;
    color: var(--action);
    font-family: var(--body-font);
    font-size: var(--body-m);
    font-weight: 400;
    line-height: 1.35;
}

/* Icon wrapper */
.woo-course-quick-links__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 0.82em;
    height: 0.82em;
    color: var(--action);
}

/* Icon SVG */
.woo-course-quick-links__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentColor;
}

/* Link text */
.woo-course-quick-links__text {
    display: inline-flex;
    align-items: center;
}

/* Anchor */
.woo-course-quick-links__text a {
    color: var(--action);
    font: inherit;
    line-height: inherit;
    text-decoration: underline;
}

/* Hover/focus */
.woo-course-quick-links__text a:hover,
.woo-course-quick-links__text a:focus {
    color: var(--brand-primary);
}

.wc-block-mini-cart__button .wc-block-mini-cart__icon {
	width: 2em;
	height: 2em;
}






.booking-summary-cross-sells {
	margin: 3rem 0;
	background: #f3f7fa;
	padding: 2.5rem 2.5rem 3.5rem;
	border-radius: 16px;
}

.booking-summary-cross-sells > h3 {
	margin: 0 0 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(35, 45, 105, 0.18);
	font-weight: 500;
	font-size: clamp(1.5rem, 2.25vw, 2rem);
}

.booking-summary-cross-sell {
	display: flex;
	gap: 3rem;
	align-items: flex-start;
	padding: 2rem 0 0;
}

.booking-summary-cross-sell__media {
	flex: 0 0 300px;
}

.booking-summary-cross-sell__image img {
	width: 300px;
	height: auto;
	display: block;
	border-radius: 8px;
}

.booking-summary-cross-sell__content {
	flex: 1;
}

.booking-summary-cross-sell__content h4 {
	margin: 0 0 1rem;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.booking-summary-cross-sell__description {
	margin-bottom: 1.5rem;
}

.booking-summary-cross-sell__purchase {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin-top: 1.5rem;
}

.booking-summary-cross-sell__price {
	font-weight: 500;
	color: var(--typography-heading);
	font-size: var(--body-l);
	margin: 0;
}

.booking-summary-cross-sell__button {
	background-color: var(--brand-accent) !important;
	color: var(--surface-default) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	font-size: var(--body-m) !important;
	font-weight: 600 !important;
	text-align: center !important;
	text-decoration: none !important;
	border-radius: 50px !important;
	padding: 0.75rem 2rem 0.85rem 2rem !important;
	border: none !important;
	line-height: 1.2;
	transition: background-color 0.2s ease;
}

.booking-summary-cross-sell__button:hover,
.booking-summary-cross-sell__button:focus {
	background-color: #20bbc3 !important;
	color: var(--surface-default) !important;
}

.booking-summary-cross-sell__button-icon {
	width: 1em;
	height: 1em;
	fill: currentColor;
	flex: 0 0 auto;
}

@media (max-width: 768px) {
	.booking-summary-cross-sells {
		padding: 1.5rem 1.5rem 2.5rem;
	}

	.booking-summary-cross-sell {
		display: block;
	}

	.booking-summary-cross-sell__media {
		width: 100%;
		max-width: 300px;
		margin-bottom: 1.5rem;
	}

	.booking-summary-cross-sell__image img {
		width: 100%;
		max-width: 300px;
	}

	.booking-summary-cross-sell__purchase {
		display: block;
	}

	.booking-summary-cross-sell__price {
		margin-bottom: 1rem;
	}

	.booking-summary-cross-sell__button {
		max-width: 100%;
	}
}



.allactive-group-discount-price {
	display: inline-flex;
	flex-direction: column;
	gap: 0.25rem;
}

.allactive-group-discount-price del {
	opacity: 0.6;
	font-size: 0.9em;
}

.allactive-group-discount-price ins {
	text-decoration: none;
	font-weight: 600;
}


.allactive-checkout-product-title {
	display: block;
	font-weight: 600;
	color: var(--typography-heading);
}

.allactive-checkout-course-format,
.allactive-checkout-quantity {
	color: var(--typography-body);
}

.allactive-checkout-course-format strong {
	font-weight: 700;
}



/* Keep the cart button background clear in every interaction state */
.gb-navigation button.wc-block-mini-cart__button:hover,
.gb-navigation button.wc-block-mini-cart__button:focus,
.gb-navigation button.wc-block-mini-cart__button:active {
	background-color: transparent !important;
}

/* Change only the quantity circle on hover */
.gb-navigation button.wc-block-mini-cart__button:hover
.wc-block-mini-cart__badge {
	background: var(--brand-accent) !important;
}


.course-sidebar-logo {
	padding: var(--space-m) var(--space-m) var(--space-l);
}

.course-sidebar-logo__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Previous and Next pagination buttons only */
.inside-article .gb-query-loop-pagination > a.gb-text {
	color: var(--surface-default);
}


.single-post .hero-headline {
    margin-top: 0;
}


.booking-summary-cross-sell + .booking-summary-cross-sell {
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid rgba(39, 52, 111, 0.14);
}
.booking-summary-cross-sell__content h4 {
	font-size: clamp(1.3rem, 2vw, 1.6rem);
	line-height: 1.25;
}

.booking-summary-cross-sell__description,
.booking-summary-cross-sell__delivery-note {
	font-size: clamp(0.95rem, 1.4vw, 1.05rem);
	line-height: 1.6;
}





@media (max-width: 768px) {
    /* Menu panel */
    .allactive-nav .gb-menu-container--mobile {
        background: var(--brand-primary);
        padding: 20px 25px !important;
    }

    /* Menu list */
    .allactive-nav .gb-menu {
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Remove individual row decoration and spacing */
    .allactive-nav .gb-menu > li {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Consistent links, including the first and last */
    .allactive-nav .gb-menu > li > .gb-menu-link {
        padding: 12px 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #fff;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.4;
        text-decoration: none;
    }

    .allactive-nav .gb-menu > li > .gb-menu-link:hover,
    .allactive-nav .gb-menu > li.current-menu-item > .gb-menu-link {
        color: var(--brand-accent);
    }
}
@media (max-width: 768px) {
    .feefo-rating-inline {
        align-items: center !important;
        text-align: center !important;
    }
}

@media (min-width: 801px) {
    .gb-navigation .wc-block-mini-cart__button {
        font-family: var(--body-font);
        font-size: calc(var(--body-s) + 0.2rem);
        font-weight: 600;
    }
}


/* Contact form: place Turnstile above the submit button */
#gform_1 .gform-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

#gform_1 .gform-footer .gf-turnstile-container {
    flex: 0 0 100%;
    order: -1;
}


/* Hide shipping information in Booking Summary only */
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals {
    display: none;
}
/* Hide shipping row in the checkout order summary */
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
    display: none;
}


.woocommerce-cart .product-name .allactive-course-book-title {
    font-weight: 600;
    font-size: var(--body-m);
    line-height: 1.4;
    color: inherit;
}







/* Classic WooCommerce checkout payment choices */
.woocommerce-checkout #payment ul.payment_methods {
    display: grid;
    gap: 16px;
}

.woocommerce-checkout #payment li.wc_payment_method {
    margin: 0;
    overflow: hidden;
    border: 2px solid #d8dce8;
    border-radius: 12px;
    background: #fff;
}

.woocommerce-checkout #payment li.wc_payment_method:has(input:checked) {
    border-color: #4d67d4;
    background: #f4f6ff;
}

.woocommerce-checkout #payment li.wc_payment_method > label {
    background: transparent;
    cursor: pointer;
}

.woocommerce-checkout #payment li.wc_payment_method > label::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    border: 2px solid #4d67d4;
    border-radius: 50%;
    background: #fff;
}

.woocommerce-checkout #payment li.wc_payment_method:has(input:checked) > label::before {
    background: #4d67d4;
    box-shadow: inset 0 0 0 4px #fff;
}


.woocommerce-checkout #payment li.wc_payment_method > label::before {
    content: "" !important;
    display: block !important;
}