/*!
Theme Name: akademia
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Positive Design
Author URI: https://positivedesign.agency/
Description: A child theme for NIOK LMS/Akadémia.
Version: 1.0.1
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: akademia
*/

/* Theme customization starts here
-------------------------------------------------------------- */

:root {
	--pd-1628: clamp(1rem, 3vw, 2.25rem);
	--pd-2228: clamp(1.375rem, 4vw, 2.25rem);
	--pd-2030: clamp(1.25rem, 3vw, 1.875rem);
	--pd-2460: clamp(1.5rem, 5vw, 3.75rem);
}

@media (prefers-reduced-motion: no-preference) {
	@view-transition {
		navigation: auto;
	}
}

input,
textarea,
button,
select,
a,
h3,
li {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
}
body .woocommerce form .form-row textarea {
	field-sizing: content;
	height: unset;
	min-height: 70px;
}
/* Global focus and active - outline */
*:focus,
*:active {
	outline: 0;
}
*:focus-visible {
	outline: 1px solid var(--global-palette1);
}

/* prevent image user select */
img {
	user-select: none;
}

/************* GENERAL ************/
html strong {
	font-weight: 900;
}

body
	.single-content
	:is(
		address,
		figure,
		hr,
		p,
		table,
		form,
		.wp-block-buttons,
		.wp-block-button,
		.wc-block-grid,
		.wp-block-kadence-advancedbtn,
		.wp-block-media-text,
		.wp-block-cover,
		.entry-content-asset,
		.wp-block-kadence-form,
		.wp-block-group,
		.wp-block-kadence-iconlist,
		[class*='__inner-content']
	) {
	margin-bottom: 1.5rem;
}
body .single-content .h5p-iframe-wrapper {
	margin-bottom: 2.5rem;
}

.visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='search'],
input[type='number'],
input[type='tel'],
textarea {
	border: 0 !important;
}
input::-webkit-input-placeholder,
input::placeholder {
	color: hsl(from var(--global-palette1) h s l / 30%);
}

/********* BREADCRUMB ********/
.rank-math-breadcrumb :is(a, .separator) {
	position: relative;
}
.rank-math-breadcrumb a:first-child {
	margin-right: 1.25rem;
}
.rank-math-breadcrumb a:first-child:before {
	background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 29 24%22 fill=%22none%22%3E%3Cpath fill=%22%233CB9C0%22 d=%22M2.83 12.364H.366a.356.356 0 0 1-.345-.473.477.477 0 0 1 .142-.195c.694-.576 1.39-1.149 2.087-1.72l9.03-7.428L14.242.112c.181-.15.325-.15.519 0l4.956 3.82.085.065.003-.089v-1.09c0-.24.148-.392.383-.392h2.77c.24 0 .384.15.384.398 0 1.36 0 2.722-.002 4.083a.15.15 0 0 0 .06.126l5.439 4.658c.114.098.18.214.156.369a.355.355 0 0 1-.367.304H26.17v11.233c0 .21-.102.355-.283.393a.489.489 0 0 1-.103.009h-7.007c-.243 0-.387-.15-.387-.402V14.307h-4.95v9.288c0 .214-.107.36-.291.397a.49.49 0 0 1-.095.007H3.218c-.244 0-.388-.15-.388-.402V12.365Z%22/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	content: '';
	display: block;
	filter: brightness(0) saturate(100%);
	position: absolute;
	width: 19px;
	height: 1.25rem;
	top: 1px;
}
.rank-math-breadcrumb a:first-child:hover:before {
	filter: brightness(0) saturate(100%) invert(28%) sepia(75%) saturate(932%) hue-rotate(187deg) brightness(98%) contrast(89%);
}
.rank-math-breadcrumb :is(p a, span) {
	text-decoration: none;
	font-weight: bold;
	font-size: clamp(0.8125rem, (100vw - 76.4375rem) * 20, 1.25rem);
	margin-right: 0.625rem;
}
.rank-math-breadcrumb a:hover {
	color: var(--global-palette1);
}
.rank-math-breadcrumb .separator:after {
	background: transparent url(/wp-content/themes/akademia/img/arrow-small.png) no-repeat;
	background-size: cover;
	content: '';
	display: block;
	filter: invert(28%) sepia(99%) saturate(1001%) hue-rotate(193deg) brightness(86%) contrast(83%);
	position: absolute;
	width: 0.4375rem;
	height: 1rem;
	top: 0;
	right: 0;
}
.rank-math-breadcrumb .last {
	font-weight: 400;
}

/***********************
*******  HEADER  *******
***********************/

html #masthead {
	z-index: 1100;
}

/* height correction */
/* @media (width > 64rem) {
	.site-header-upper-inner-wrap:has(.item-at-start) {
		height: 6.25rem !important;
	}
	.site-main-header-wrap.item-at-start .site-main-header-inner-wrap {
		height: 6.25rem !important;
		min-height: 6.25rem !important;
		max-height: 6.25rem !important;
	}
} */

.header-button {
	text-align: center;
	width: 10.25rem;
}
.logged-in .header-button.loggedout {
	display: none;
}
body:not(.logged-in) .header-button.loggedin {
	display: none;
}
.button.button-style-blue {
	background: #4f97d2;
	color: var(--global-palette1);
	margin-right: 1.5rem;
}
header .button:is(.button-style-outline, .button-style-outline:hover) {
	border-width: 1px;
}

/************************
 **** PRODUCT ARCHIVE ***
 ************************/

.product.event-expired :is(.woocommerce-product-gallery__image, .attachment-woocommerce_thumbnail) {
	filter: grayscale(1);
}

/* FacetWP filter bar */
.facetwp-template,
.facetwp-flyout-wrap {
	transition: opacity 0.3s ease-in-out;
}
.facetwp-template.loading,
.facetwp-flyout-wrap.loading {
	opacity: 0.2;
}

/* bg/layout */
.facet-filter-bar {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	gap: 1rem;
	margin-block: 1.5rem;
}
.facet-row,
.facet-wrap,
.facetwp-selections {
	flex: 1 1 100%;
}
.facet-wrap.w15 {
	flex: 1 1 calc(50% - 0.5rem);
}

@media (width > 30rem) {
	.facet-filter-bar {
		gap: 1.5rem;
		margin-bottom: 3.1875rem;
	}
	.facet-wrap.w35 {
		flex: 1 1 45%;
	}
	.facet-wrap.w15 {
		flex: 0 0 10rem;
	}
}
@media (width > 64rem) {
	.facet-wrap.w35 {
		flex: 1 1 calc(34% - 1.125rem);
	}
	.facet-wrap.w15 {
		flex: 1 1 calc(16% - 1.125rem);
	}
}

/* fields */
.facet-label {
	display: block;
	font-size: clamp(0.8125rem, (100vw - 479px) * 99, 0.9375rem);
	font-weight: 500;
	margin: 0 0 clamp(0.25rem, (100vw - 479px) * 9, 0.375rem) 1.5rem;
}
body .facetwp-facet {
	margin-bottom: 0;
}

.facetwp-input-wrap,
.facetwp-search {
	width: 100%;
}
.facetwp-facet input.facetwp-search {
	border-radius: 4rem;
	font-size: clamp(0.9375rem, (100vw - 579px) * 99, 1rem);
	height: clamp(2.5rem, (100vw - 579px) * 99, 3.125rem);
	padding-inline: 2em;
}
.facetwp-facet-psearch .facetwp-icon {
	display: none;
}

body .fs-arrow {
	width: 0.8125rem;
	height: 0.8125rem;
	border: solid var(--global-palette1);
	border-width: 0.125rem 0.125rem 0 0;
	right: 1.5rem;
	rotate: 135deg;
	top: -0.5rem;
}
body .fs-open .fs-arrow {
	top: 0.2rem;
	transform: scale3d(-1, -1, 1);
}

.facetwp-facet-evfree .facetwp-checkbox::before {
	content: 'Ingyenes';
	position: absolute;
	left: 1.5rem;
	top: clamp(0.55rem, 100vw - 36.24rem, 0.875rem);
	font-size: 1rem;
}
.facetwp-facet-evfree .facetwp-checkbox {
	background: #fff url(/wp-content/themes/akademia/img/ff-unch2.png) calc(100% - 1rem) 50% no-repeat;
	border-radius: 3rem;
	height: clamp(2.5rem, (100vw - 36.24rem) * 9, 3.125rem);
	position: relative;
}
.facetwp-facet-evfree .facetwp-checkbox.checked {
	background-image: url(/wp-content/themes/akademia/img/ff-chkd2.png);
}
.facetwp-facet-evfree .facetwp-checkbox > span {
	font-size: 0;
}
button.facetwp-reset {
	font-size: clamp(1rem, (100vw - 29.99rem) * 2, 1.125rem);
	font-weight: 300;
	padding-block: clamp(0.625rem, 100vw - 36.24rem, 0.9125rem) clamp(0.75rem, 100vw - 36.24rem, 0.9125rem);
	width: 100%;
}

/* fields > mselect */
.facetwp-facet .fs-label-wrap {
	border: 0;
	border-radius: 4rem;
}
.fs-wrap.multiple {
	width: 100%;
}
.fs-wrap.multiple .fs-label-wrap .fs-label {
	font-size: clamp(0.9375rem, (100vw - 579px) * 99, 1rem);
	height: clamp(2.625rem, (100vw - 579px) * 99, 3.125rem);
	padding: 1em 1.5rem;
}
.fs-search {
	display: none;
}
.fs-open .fs-dropdown {
	border: 0;
	border-radius: 0 0 1.25rem 1.25rem;
	padding: 1rem 0.375rem 0.625rem;
	transform: translateY(-0.9125rem);
	clip-path: polygon(1rem 0.9rem, calc(100% - 1rem) 0.9rem, 100% 0, 100% 100%, 0 100%, 0 0);
}
@media (width >= 48rem) {
	.fs-open .fs-dropdown {
		padding: 1rem 0.375rem 0.625rem;
		transform: translateY(-1.25rem);
		clip-path: polygon(1rem 1rem, calc(100% - 1rem) 1rem, 100% 0, 100% 100%, 0 100%, 0 0);
	}
}
.facetwp-facet .fs-wrap.multiple .fs-option.selected .fs-checkbox i {
	background-color: var(--global-palette5);
	border: 0.1875rem solid #fff;
	outline: 1px solid #aeaeae;
	outline-offset: -1px;
	border-radius: 1px;
}

/* selections */
.facetwp-selections ul {
	margin: 0;
}
.facetwp-selections ul li {
	display: block;
	font-size: 0.75rem;
}
.facetwp-selection-label {
	margin-right: 0.625rem;
}
body .facetwp-selections .facetwp-selection-value {
	background-color: #fff;
	background-image: none;
	border-radius: 1rem;
	margin: 0 0.625rem 0.625rem 0;
	padding: 0.375rem 1.77rem 0.375rem 0.75rem;
	position: relative;
	text-decoration: none;
}
body .facetwp-selections .facetwp-selection-value::after {
	content: '';
	background: url('/wp-content/plugins/facetwp/assets/images/icon-close.png') center / cover no-repeat;
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 0.45rem;
	right: 0.7rem;
}
body .facetwp-selections li[data-facet='tema'] .facetwp-selection-value {
	color: #fff;
}
body .facetwp-selections li[data-facet='tema'] .facetwp-selection-value::after {
	filter: invert(1);
}
body .facetwp-selections li .facetwp-selection-value:hover::after {
	filter: invert(21%) sepia(100%) saturate(1644%) hue-rotate(341deg) brightness(100%) contrast(96%);
}
body .facetwp-selections .facetwp-selection-value {
	background-color: var(--global-palette1); /* default */
}
body .facetwp-selections .facetwp-selection-value[data-value='f6921e'] {
	background-color: #f6921e;
}
body .facetwp-selections .facetwp-selection-value[data-value='b194c5'] {
	background-color: #b194c5;
}
body .facetwp-selections .facetwp-selection-value[data-value='ffce03'] {
	background-color: #ffce03;
}
body .facetwp-selections .facetwp-selection-value[data-value='9e7cb7'] {
	background-color: #9e7cb7;
}
body .facetwp-selections .facetwp-selection-value[data-value='4f97d2'] {
	background-color: #4f97d2;
}
body .facetwp-selections .facetwp-selection-value[data-value='69ae44'] {
	background-color: #69ae44;
}
body .facetwp-selections .facetwp-selection-value[data-value='e8eef1'] {
	background-color: #e8eef1;
}
body .facetwp-selections .facetwp-selection-value[data-value='ed2a24'] {
	background-color: #ed2a24;
}
body .facetwp-selections .facetwp-selection-value[data-value='315c9b'] {
	background-color: #315c9b;
}

.facetwp-selections li[data-facet='evfree'] .facetwp-selection-value {
	color: transparent;
	width: 0.9375rem;
	padding-right: 0.75rem;
}
.facetwp-reset {
	background-color: var(--global-palette1);
}
/* END FacetWP filter bar */

/* loop item */
.woocommerce ul.products li.product {
	background-color: var(--global-palette9);
	border-radius: 1.25rem;
}
/*.woocommerce ul.products li.product*/
a.woocommerce-loop-image-link {
	border-radius: 1.25rem 1.25rem 0 0;
}
span.eventtype {
	background-color: var(--global-palette9);
	border-radius: 1rem;
	color: var(--global-palette1);
	font-size: 0.75rem;
	font-weight: 900;
	line-height: 1;

	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	min-height: 0;
	min-width: 0;
	padding: 0.25rem 0.875rem;
	z-index: 10;
}
body.woocommerce ul.products li.product .onsale {
	background-color: #ff6b6b;
	border-radius: 1rem;
	color: var(--global-palette1);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1;
	padding: 0.25rem 0.875rem;
	top: 1.25rem;
	right: 1.25rem;
}
.ev-topics {
	padding: 0.75rem 1.25rem 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}
.ev-topic-blob {
	border-radius: 0.9375rem;
	color: #fff;
	display: inline-block;
	font-size: 0.8125rem;
	line-height: 1.4;
	margin: 0 0.625rem 0.625rem 0;
	padding: 0.1rem 0.625rem;
	white-space: nowrap;
}
.ev-topic-blob:last-child {
	margin-right: 0;
}
.woocommerce ul.products.product-archive li.product .entry-content-wrap {
	padding: 0.75rem 1.25rem 1.875rem !important; /* because of single related product */
	margin: 0;
}
.woocommerce-loop-product__desc {
	font-size: 0.9375rem;
	line-height: 1.15;
	height: 100%;
}
.single-product .woocommerce-loop-product__desc {
	font-size: 0;
}
.woocommerce-loop-product__price-section {
	padding: 0.75rem 0.75rem 0 0;
}
.product :is(.product-action-wrap, .woocommerce-loop-product__price-section) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 5%;
}
.product-loop-meta {
	font-size: 0.9375rem;
	line-height: 1.15;
	margin-bottom: 1rem;
}
.price .price-pretext {
	display: block;
	font-weight: 800;
}
.post-type-archive.woocommerce .products.align-buttons-bottom li.product .product-action-wrap {
	padding-top: 0;
}
.post-type-archive .product-action-wrap .button {
	grid-area: 1 / 2 / 1 / 3;
}

/************************
 **** PRODUCT SINGLE ****
 ************************/

.woocommerce-product-gallery {
	anchor-name: --product-image;
}
.single.woocommerce span.onsale {
	border-radius: 0.5rem;
	position-anchor: --product-image;
	left: calc(anchor(--product-image start) + 1rem);
	top: calc(anchor(--product-image start) + 1rem);
}
.woocommerce-product-gallery__wrapper a {
	cursor: default;
	pointer-events: none;
}
.ev-type {
	display: inline-block;
	background: var(--global-palette1);
	border-radius: 1rem;
	color: var(--global-palette9);
	font-size: 0.875rem;
	line-height: 1;
	margin: 0.5rem 0 0.875rem;
	padding: 0.5rem 0.875rem;
}
.sa-radio {
	display: flex;
	align-items: center;
	gap: 1rem;
	text-decoration: none;
}
span.sa-radio {
	color: var(--global-palette5);
}
span.sa-radio img {
	filter: brightness(0) saturate(100%) invert(58%) sepia(54%) saturate(451%) hue-rotate(55deg) brightness(92%) contrast(92%);
}
.switch-attendance {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 1rem 2rem;
	margin-block: auto 0.2rem;
}

/* layout */
.woocommerce.single-product div.product div:is(.images, .summary) {
	float: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.woocommerce div.product div.images img {
	border-radius: 1.25rem;
}

.woocommerce.single-product div.product {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
.woocommerce-product-labels {
	grid-area: 1 / 1 / 2 / 2;
}
.woocommerce div.product div.images.woocommerce-product-gallery {
	grid-area: 2 / 1 / 3 / 2;
}
.woocommerce.single-product div.product div.summary {
	grid-area: 3 / 1 / 4 / 2;
}
.product-description {
	grid-area: 5 / 1 / 6 / 2;
}
.related.products {
	grid-area: 6 / 1 / 7 / 2;
}
.product-dashboard {
	grid-area: 4 / 1 / 5 / 2;
}

@media (width > 48rem) {
	.woocommerce.single-product div.product {
		grid-template-columns: repeat(2, 1fr);
		gap: 0 1.5rem;
	}
	.woocommerce-product-labels {
		grid-area: 1 / 1 / 2 / 2;
	}
	.woocommerce div.product div.images.woocommerce-product-gallery {
		grid-area: 1 / 2 / 3 / 3;
	}
	.woocommerce.single-product div.product div.summary {
		grid-area: 2 / 1 / 3 / 2;
	}
	.product-dashboard {
		grid-area: 3 / 1 / 4 / 3;
	}
	.product-description {
		grid-area: 4 / 1 / 5 / 3;
	}
	.related.products {
		grid-area: 5 / 1 / 6 / 3;
	}
}

.woocommerce.single-product div.product div.summary {
	background-color: #fff;
	border-radius: 1.25rem;
	display: flex;
	align-items: flex-start;
	flex-flow: column nowrap;
	padding: 1.25rem var(--pd-2030);
}
.product-dashboard {
	display: flex;
	flex-flow: row wrap;

	background: var(--global-palette9);
	border: 1px solid hsl(from var(--global-palette1) h s l / 20%);
	border-radius: 1.25rem;
	box-shadow: 0px 0.875rem 2.5rem 0px hsl(from var(--global-palette1) h s l / 8%);
	font-size: 1rem;
	margin-block: 1.875rem 4rem;
	@media (width >= 48rem) {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0rem) + 6rem);
		z-index: 11;
	}
}
.product-dashboard > :is(div, p, form) {
	flex: 1 1 50%;
	padding: 1rem 1.25rem;
}
.product-dashboard > div {
	border-right: 1px solid hsl(from var(--global-palette1) h s l / 8%);
}
.product-dashboard > .place {
	max-width: 18rem;
}
.product-dashboard > :is(div.dashboard-hasicon, p.price) {
	padding-inline: 2.875rem 1.75rem;
	position: relative;
}
:is(.dashboard-hasicon, .price)::before {
	content: '';
	position: absolute;
	left: 1rem;
	top: 1.1rem;
	width: 1.2rem;
}
.calendar::before {
	content: url(/wp-content/themes/akademia/img/pd-calendar.svg);
}
.stopwatch::before {
	content: url(/wp-content/themes/akademia/img/pd-stopwatch.svg);
}
.product-dashboard .price::before {
	content: url(/wp-content/themes/akademia/img/pd-wallet.svg);
}
.clock::before {
	content: url(/wp-content/themes/akademia/img/pd-clock.svg);
}
.place::before {
	content: url(/wp-content/themes/akademia/img/pd-place.svg);
}

@media (width >= 48rem) {
	.product-dashboard > :is(div, p, form) {
		flex: 1 1 25%;
	}
}
@media (width > 64rem) {
	.product-dashboard {
		flex-wrap: nowrap;
		margin-inline: auto;
		width: max-content;
	}
	.product-dashboard > :is(div, p, form) {
		flex: 1 1 auto;
	}
}
.woocommerce.single-product div.product p:is(.stock, .price) {
	font-size: 1rem;
	margin: 0;
}
.woocommerce.single-product div.product p.stock {
	display: none;
}
.woocommerce.single-product div.product form.cart {
	margin: auto 0;
}
.woocommerce div.product form.cart .button {
	background-color: var(--global-palette5);
	height: unset;
	line-height: 1;
	padding: 0.934em 1.5em 1em;
}
.woocommerce div.product form.cart .button:hover {
	background-color: #3a843f;
}
.product-dashboard .btn-full {
	background: #ff6b6b99;
	border-radius: 2rem;
	color: #e8e9ee;
	font-weight: 900;
	flex: 0 0 auto;
	place-self: center;
	margin-right: 1.25rem;
	padding: 0.934em 3em 1em;
}

/* description */
.product-section {
	padding: 1.5rem 0;
}
.product-section:not(.product-section-testimonials) {
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);

	padding: 1.5rem 0;
}
.product-section:first-child:not(.product-section-instructors) {
	padding-top: 3.5rem;
}
.product-section:last-child {
	padding-bottom: 3.5rem;
}
.product-section figure {
	border-radius: 1.25rem;
	overflow: clip;
	width: fit-content;
	@media (width < 48rem) {
		margin: 1rem auto 0;
	}
}

.psi-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr));
	gap: 1.5rem;
	margin-block: 2rem 1rem;
}
.psi-instructor {
	display: grid;
	grid-template-columns: 5rem 1fr;
	gap: 1.25rem;
}
.psi-media {
	border-radius: 0.875rem;
	height: 5rem;
	width: 5rem;
	overflow: clip;
}
.woocommerce .psi-media img {
	display: block;
	height: 100% !important;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.psi-content {
	align-self: center;
}
.psi-name {
	font-size: 1rem;
	line-height: 1.125rem;
}
.psi-pos {
	color: hsl(from var(--global-palette1) h s l / 30%);
	margin: 0;
	text-wrap: balance;
}
.psi-minibio {
	font-size: 0.875em;
	margin-block: 0;
}

.product-section-right {
	display: flex;
	flex-direction: column-reverse;
}
.product-section-info {
	margin-inline: auto;
	max-width: 45rem;
}

.product-section-bg {
	background: #a2cc3c33;
	border-radius: 1.25rem;
	padding: clamp(1.25rem, 4.5vw, 2.625rem) clamp(2rem, 5vw, 3.125rem);
}
.product-section-youwill .product-section-bg {
	background: #4f97d233;
}

.product-section h2 {
	font-size: 1.375rem;
}
.product-section:has(+ .product-section-testimonials) {
	padding-bottom: 5rem;
}
.product-section-testimonials h2 {
	margin-block: 1.25rem 0.75rem;
}
@media (width >= 48rem) {
	.maybe-2col {
		columns: 2;
		margin-top: 1rem;
	}
	.maybe-2col p:first-child {
		margin-top: 0;
	}
	.product-section-left,
	.product-section-right {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 2.5rem;
		place-items: center;
	}
}

/* Visszajelzések */
.snap-carousel {
	position: relative;
}
.snap-track {
	cursor: grab;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 100%;
	gap: 1.5rem;
	overflow-x: auto;
	padding: 0 0 1rem;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
	-ms-overflow-style: none;
	scrollbar-width: none; /* Firefox */
	touch-action: pan-x; /* let touch drag horizontally */
	overscroll-behavior-x: contain; /* don't bounce the page */
	user-select: none;
}
.snap-track:active {
	cursor: grabbing;
}
.snap-track::-webkit-scrollbar {
	/* Chrome/Safari/Edge */
	height: 0;
	width: 0;
}
.product-section,
.product-section .snap-carousel,
.snap-track,
.snap-slide {
	min-width: 0;
}

.snap-track:not(:has(> article:nth-of-type(2))) + .snap-arrows {
	display: none;
}
@media (width >= 48rem) {
	.snap-track {
		grid-auto-columns: calc(50% - 0.75rem);
	}
	.snap-track:not(:has(> article:nth-of-type(3))) + .snap-arrows {
		display: none;
	}
}
@media (width > 64rem) {
	.snap-track {
		grid-auto-columns: calc(33.3% - 1rem);
	}
	.snap-track:not(:has(> article:nth-of-type(4))) + .snap-arrows {
		display: none;
	}
}

.snap-slide {
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
.tsm-card {
	background: #fff;
	border-radius: 1.25rem;
	height: 100%;
	padding: var(--pd-2030) var(--pd-2030) 2.8125rem;

	display: grid;
	grid-template-columns: 7.5rem 1fr;
	grid-template-rows: auto 1fr;
	gap: 1.25rem;
}
.tsm-media {
	border-radius: 0.875rem;
	height: 7.5rem;
	width: 7.5rem;
	overflow: clip;
}
.tsm-media img {
	display: block;
	height: 100% !important;
	width: 100%;
	object-fit: cover;
	object-position: center;
}

.tsm-meta {
	align-self: center;
}
.tsm-name {
	font-size: 1rem;
	line-height: 1.125rem;
}
.tsm-pos {
	color: hsl(from var(--global-palette1) h s l / 30%);
	margin: 0;
}
.tsm-content {
	grid-column: span 2;
	margin: 0;
}

.snap-arrows {
	display: flex;
	justify-content: flex-end;
	gap: 0.625rem;
	margin-bottom: 2.25rem;
}
button.snap-prev {
	padding: 1.0625rem 0.9375rem 0.875rem 1.25rem;
}
button.snap-next {
	padding: 1.0625rem 1.25rem 0.875rem 0.9375rem;
}
button.snap-arrow:focus {
	background: var(--global-palette-btn-bg);
}

/* realted products */
.related.products {
	padding-top: clamp(3rem, 6vw, 4.375rem);
}
.related.products h2 {
	font-size: clamp(1.125rem, 1.5vw, 1.375rem);
}

/***********************
****** LEARNDASH *******
***********************/
body {
	--ld-typography-font-family: 'Red Hat Display', sans-serif;

	--ld-button-border-radius: 3.125rem;
	--ld-typography-desktop-button-text-size: 0.9375rem;

	--ld-border-radius: 1.25rem;
}
.entry.sfwd-lessons {
	border-radius: var(--ld-border-radius);
}

body .learndash-wrapper .ld-item-list .ld-item-list-item {
	border: 0;
	border-radius: var(--ld-border-radius);
}
body .learndash-wrapper .ld-item-list .ld-item-list-item :is(.ld-item-name, .ld-item-list-item-preview > .ld-tooltip) {
	align-items: center;
}
body .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded .ld-progress {
	background: transparent;
	padding: 1.5em 3.125em;
}

.learndash figure.wp-block-image {
	border-radius: var(--ld-border-radius);
	overflow: clip;
}

/* LD Custom Blocks */
.ld-block {
	background: #fff;
	border-radius: 1.25rem;
	padding: 1.875rem;
	margin-bottom: var(--global-md-spacing);
	max-width: 100%;
}

/* Subtle per-variant background tints (editor only) */
.ld-block.ld-block--hazifeladat {
	background: #a2cc3c33;
}
.ld-block.ld-block--pelda {
	background: #4f97d233;
}
.ld-block.ld-block--tipp {
	background: #315c9b33;
}

.ld-block:is(.ld-block--tipp, .ld-block--hazifeladat, .ld-block--cikkajanlo, .ld-block--pelda) {
	display: grid;
	grid-template-columns: 2.5rem 1fr;
	gap: 1rem;
}

/* Icon wrapper has NO background – SVG contains all visuals */
.ld-block__icon {
	width: 2.5rem;
	height: 2.5rem;
	display: grid;
	place-items: center;
}

.ld-block__svg {
	display: block;
	width: 2.5rem;
	height: 2.5rem;
}

/* Titles & text */
.single-content .ld-block__title:first-child {
	color: #2d325e;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.25;
	margin: 0.5rem 0 0.25rem;
}

/* Cikkajánló */
.ld-block--cikkajanlo .ld-block__actions {
	grid-area: 2 / 2 / 3 / 3;
}
@media (width >= 48rem) {
	.ld-block--cikkajanlo {
		grid-template-columns: 2.5rem 1fr auto;
	}

	.ld-block--cikkajanlo .ld-block__body {
		grid-column: 2;
	}
	.ld-block--cikkajanlo .ld-block__actions {
		grid-area: 1 / 3 / 2 / 4;
	}
}
.button.ld-block__btn {
	background: #2d3465; /* indigo pill (editor only) */
	border-radius: 4rem;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	font-weight: 500;
	padding: 0.625rem 1.8125rem;
	text-decoration: none;
	white-space: nowrap;
}
.ld-block__btn.ld-block__btn--disabled {
	opacity: 0.5;
	pointer-events: none;
}

/* Kiemelés */
.ld-block--kiemeles {
	background: transparent;
	font-size: 1.25rem;
	font-weight: 700;
	text-align: center;
}
.ld-block--kiemeles--szurke {
	background: #c0c1cf;
}
.ld-block--kiemeles--keretes {
	border: 1px solid #2d325e;
}

/* Lista (core) */
.learndash-cpt .single-content .wp-block-list {
	max-width: 35.5rem;
	margin-inline: auto;
}
.learndash-cpt .wp-block-list li {
	margin-bottom: 1.375rem;
	position: relative;
}
.learndash-cpt ol.wp-block-list li {
	padding-left: 0.75rem;
	margin-left: -0.75rem;
}
.learndash-cpt ol.wp-block-list li::marker {
	color: #2d325e4d;
	font-weight: 900;
}
.learndash-cpt ul.wp-block-list li::marker {
	content: '';
}
.learndash-cpt ul.wp-block-list li::before {
	color: #2d325e4d;
	content: '•';
	font-size: 2.5rem;
	position: absolute;
	top: -0.91rem;
	left: -1.75rem;
}

/* Fordítós kártyák (core) */
.ld-block--flipcards {
	margin-block: 2rem;
}
/* Simple responsive grid to place cards side-by-side */
.flipcards__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(13.3rem, 100%), 1fr));
	gap: 1rem;
}
.flipcards__grid:has(.flipcard:nth-of-type(4)) {
	margin-inline: calc(-1 * clamp(1rem, calc(1rem + ((1vw - 0.725rem) * 60)), 10rem));
	min-height: 0vw;
}

.flipcard {
	perspective: 1000px; /* 3D space for the inner */
	border-radius: 1.25rem;
	outline: none;
}

/* 3D inner that rotates */
.flipcard__inner {
	position: relative;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform 0.6s;
	border-radius: 1.25rem;
}

.flipcard__face {
	cursor: pointer;
	position: relative;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	border-radius: 1.25rem;
	overflow: hidden;
	background: #f7f7fb;
	min-height: 12rem;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 3.25rem;
}

.flipcard__face--front {
	background: #4f97d233;
}

.flipcard__face--back {
	grid-template-rows: 7rem auto;
	position: absolute;
	inset: 0;
	transform: rotateY(180deg);
	background: #4f97d233;
}

.flipcard__face--front .flipcard__media {
	aspect-ratio: 1;
}
.flipcard__media {
	position: relative;
}
.flipcard__media img {
	display: block;
	width: 50%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.flipcard__face--back .flipcard__media img {
	width: 25%;
}

.flipcard__body {
	padding: 1rem;
}
.flipcard__title {
	margin: 0.25rem 0 0;
	font-size: 1rem;
	line-height: 1.25;
	font-weight: 900;
	text-align: center;
}
.flipcard__content p {
	margin: 0 0 0.5rem;
	font-size: 0.875rem;
	line-height: 1.25;
	text-align: center;
}

.flipcard.is-flipped .flipcard__inner {
	transform: rotateY(180deg);
}

/* fiokom lista */
body .learndash-wrapper .ld-expand-button:focus {
	outline: 0;
}

body .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview {
	padding: 1rem 1.75rem;
}

body .learndash-wrapper .ld-expand-button.ld-compact:not([disabled]) {
	background: transparent !important;
}
body .learndash-wrapper .ld-expand-button.ld-compact .ld-icon {
	color: var(--global-palette1);
	font-size: 1.1rem;
}
body .learndash-wrapper .ld-progress .ld-progress-bar {
	background-color: #c0c1cf;
}
.woocommerce-account .learndash-wrapper .ld-secondary-in-progress-icon {
	border-left-color: var(--global-palette5) !important;
	border-top-color: var(--global-palette5) !important;
}

/* tanfolyam */
:is(.woocommerce-account, .single-sfwd-courses) .learndash-wrapper .ld-status-icon.ld-status-complete {
	background-color: #288237 !important;
}

body .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview .ld-status-icon {
	margin-right: 1.25rem;
}

/* lecke */
:is(.single-sfwd-lessons, .single-sfwd-quiz) .learndash-wrapper :is(.ld-breadcrumbs, .ld-lesson-status),
body .learndash-wrapper .ld-course-status.ld-course-status-enrolled {
	background-color: #fff;
	border-radius: var(--ld-border-radius);
}
body .learndash-wrapper .ld-breadcrumbs .ld-status {
	position: relative;
	top: 0.125rem;
}
body .learndash-wrapper :is(.ld-course-status, .ld-breadcrumbs, .ld-item-list-item-preview) .ld-status.ld-status-complete {
	background: #288237 !important;
}
body .learndash-wrapper .learndash_mark_complete_button:not(.ld--ignore-inline-css) {
	background-color: var(--global-palette9) !important;
	color: var(--global-palette1) !important;
}
body .learndash-wrapper .learndash_mark_complete_button:not(.ld--ignore-inline-css):hover {
	background-color: #c5e2b6 !important;
}
body .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .sfwd-mark-complete::after {
	font-size: 80%;
	color: var(--global-palette1);
	right: 1.3em;
	border: 2px solid var(--global-palette1);
	border-radius: 1em;
	height: 1.5rem;
	width: 1.5rem;
	padding: 0.3125rem 0 0 0.1875rem;
}

/* alert */
body .learndash-wrapper .ld-alert {
	background: #fff;
	border: 0;
	border-radius: var(--ld-border-radius);
}

body .learndash-wrapper .ld-alert-success {
	background: #dfe8ce !important;
}
body .learndash-wrapper .ld-alert--step-completed.ld-alert-success {
	color: var(--global-palette1);
}

/* kérdések */
body .learndash-wrapper .wpProQuiz_content {
	.wpProQuiz_question_text > p {
		font-weight: 900 !important;
		margin-bottom: 1rem;
	}
	.wpProQuiz_questionList input[type='radio'] {
		position: absolute;
		left: -9999px;
		visibility: hidden;
	}
	.wpProQuiz_questionList label {
		background: var(--global-palette9);
		border: 1px solid transparent !important;
		border-radius: var(--ld-border-radius);
		padding: clamp(1rem, (100vw - 48rem) * 9, 1.875rem) !important;
		text-align: center;
	}
	:is(.ld-quiz-question-item__status, .wpProQuiz_response > div > span) {
		display: none;
	}
	.wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerIncorrect label {
		background: #ff6b6b33;
		border-width: 0 !important;
	}
	.wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrect label {
		background: #68ad4433;
		border-width: 0 !important;
	}
	.wpProQuiz_questionListItem:not(.ld-sortable__item):is(.wpProQuiz_answerCorrect, .wpProQuiz_answerIncorrect) label::before {
		content: '';
	}
	.wpProQuiz_response {
		background: transparent;
		border: 0;
		margin: 0;
		padding: 0;
	}
	.wpProQuiz_response .wpProQuiz_correct p {
		color: var(--global-palette2);
	}
	.wpProQuiz_response .wpProQuiz_incorrect p {
		color: #ff6b6b;
	}
	.wpProQuiz_questionList label.is-selected {
		border-color: #2d325e33 !important;
		background: #2d325e14;
	}
	:is(.wpProQuiz_button, .wpProQuiz_button2) {
		padding: 0.934em 1.5em 1em 1.5em;
	}
}
/* matrix */
body .learndash-wrapper .wpProQuiz_content .wpProQuiz_matrixSortString {
	font-weight: 500;
	margin-top: 0;

	> h5 {
		display: none;
	}
	.wpProQuiz_sortStringItem {
		background-color: #e0e0e6;
	}
}
body .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_questionListItem {
	font-weight: 500;
	margin-bottom: 1.25rem;
	padding: 0;

	> table {
		border: 0;
		border-radius: 2rem;
	}
	> table td:first-child {
		background: #fff;
		border-right: 1.5rem solid #eeeff2;
		border-radius: 5rem 0.5rem 0.5rem 5rem;
	}
	> table td:last-child {
		background: hsl(from var(--global-palette1) h s l / 8%);
		border-radius: 0.5rem 5rem 5rem 0.5rem;
	}
	> table td .wpProQuiz_maxtrixSortCriterion {
		overflow: clip;
		padding: 0;
	}
	.wpProQuiz_mextrixTr .wpProQuiz_sortStringItem {
		background-color: #dfe8ce;
		border-radius: 0.5rem 5rem 5rem 0.5rem;
		justify-content: flex-start;
		margin: 0;
		height: 100%;
		width: 100%;
	}
}

/* kvíz gombok */
body .learndash-wrapper .wpProQuiz_content a#quiz_continue_link {
	background-color: var(--global-palette-btn-bg) !important;
}
body .learndash-wrapper .wpProQuiz_content a#quiz_continue_link:hover {
	background-color: var(--global-palette-btn-bg-hover) !important;
	opacity: 1;
}
.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_button.wpProQuiz_button_restartQuiz:not(.wpProQuiz_button_reShowQuestion):not([disabled]) {
	background-color: var(--global-palette1) !important;
}
.single-sfwd-quiz
	.learndash-wrapper
	.wpProQuiz_content
	.wpProQuiz_button.wpProQuiz_button_restartQuiz:not(.wpProQuiz_button_reShowQuestion):not([disabled]):hover {
	background-color: var(--global-palette2) !important;
	opacity: 1;
}

/* kadence-accordion */
.learndash-wrapper .wp-block-kadence-accordion {
	margin-bottom: 1.5rem;
}

/***********************
 ****** CHECKOUT *******
 ***********************/

/* layout */
.woocommerce-checkout .entry-content > .woocommerce {
	max-width: 740px;
	margin-inline: auto;
}
@media (min-width: 720px) {
	.woocommerce-checkout form.checkout :is(.col2-set, .col2-set .col-1, .col2-set .col-2, .woocommerce-checkout-review-order) {
		width: 100%;
		float: none;
		padding: 0;
		clear: both;
	}
}
@media (width < 40rem) {
	:is(.woocommerce, .woocommerce-page) form p:is(.form-row-first, .form-row-last) {
		width: 100%;
		float: none;
	}
}

/* checkout login */

body .woocommerce .woocommerce-form-login-toggle .woocommerce-info {
	background-color: var(--global-palette1);
	color: var(--global-palette9);
}
.woocommerce .woocommerce-form-login-toggle .woocommerce-info a {
	color: var(--global-palette9);
}
body .woocommerce .woocommerce-form-login-toggle .woocommerce-info::before {
	filter: invert(1);
}

.woocommerce-checkout .woocommerce-form-login p:not([class]) {
	font-size: 0;
	margin: 0;
}
.woocommerce-checkout p.create-account {
	display: none !important;
}
body.woocommerce-checkout div.create-account {
	display: block !important;
}
body.woocommerce-checkout .woocommerce form.login {
	background-color: #4f97d233;
	border-radius: 1.25rem;
	margin-top: 0;
	padding: 1.875rem 1.875rem 0;
}
html .woocommerce-checkout .woocommerce form.woocommerce-form-login .form-row .button {
	background-color: var(--global-palette5);
}
html .woocommerce-checkout .woocommerce form.woocommerce-form-login .form-row .button:hover {
	background-color: var(--global-palette-btn-bg-hover);
}

.woocommerce-billing-fields > h3:first-of-type,
/* #order_review_heading, */
.woocommerce table.shop_table :is(thead, tr.cart-subtotal, td.product-name .product-quantity) {
	display: none;
}

/* review order */
.woocommerce-checkout form.checkout #order_review_heading {
	padding: 0;
}
body .woocommerce .woocommerce-checkout .shop_table {
	background: transparent;
}
.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce table.shop_table :is(th, td) {
	border-top-color: hsl(from var(--global-palette1) h s l / 20%);
	padding: 0.875rem 1rem 0.875rem 0;
}
.woocommerce table.shop_table td small {
	display: block;
}
#payment-title {
	display: none;
}
#payment-title:has(+ ul.payment_methods) {
	display: block;
}

/* coupon */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
form.woocommerce-form-coupon p:not([class]) {
	display: none;
}
.woocommerce-checkout .woocommerce form.woocommerce-form-coupon {
	border: 0;
	display: block !important;
	margin: 1rem 0 0;
	padding: 0;
}
.woocommerce .cart-discount a.remove {
	background-color: var(--global-palette9);
	border: 1px dashed var(--global-palette1);
	border-radius: 1rem;
	color: var(--global-palette1) !important;
	display: inline;
	font-size: 0.75rem;
	font-family: var(--global-body-font-family);
	font-weight: 400;
	line-height: 1;
	margin-left: 1ch;
	padding: 0.25rem 1.77rem 0.25rem 0.75rem;
	position: relative;
}
.woocommerce .cart-discount a.remove:hover {
	background-color: var(--global-palette9);
	color: var(--global-palette1) !important;
}
.woocommerce .cart-discount a.remove::after {
	content: '';
	background: url(/wp-content/plugins/facetwp/assets/images/icon-close.png) center / cover no-repeat;
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 0.45rem;
	right: 0.7rem;
}
.woocommerce .cart-discount a.remove:hover::after {
	filter: invert(21%) sepia(100%) saturate(1644%) hue-rotate(341deg) brightness(100%) contrast(96%);
}
.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce table.shop_table .coupon-form td {
	padding: 0;
}
.woocommerce form.woocommerce-form-coupon .form-row-first {
	float: left;
	width: calc(100% - 9.5rem);
}
.woocommerce form.woocommerce-form-coupon .form-row-last {
	float: right;
	width: min(47%, 8rem);
}

.woocommerce-checkout .woocommerce form.woocommerce-form-coupon input.input-text {
	padding: 0.734em 1.5em 0.767em;
}
.woocommerce-checkout .woocommerce form.woocommerce-form-coupon .button {
	width: 100%;
}
/* coupon END */

body.woocommerce-checkout #payment ul.payment_methods {
	background-color: var(--global-palette9);
	border-radius: 1.25rem;
	padding: 0.6rem 1.5rem 1.4rem;
}
body.woocommerce-checkout #payment div.payment_box {
	background: var(--global-palette8);
	padding: 0.5rem 1rem;
	margin: 0 0 0 1.5rem;
	width: calc(100% - 1.5rem);
}
.woocommerce-checkout #payment ul.payment_methods .payment_method_simple img {
	width: 16rem;
}
.woocommerce-checkout #payment #place_order {
	display: block;
	margin: 1rem 0 3rem auto;
	padding: 0.9rem;
	width: min(100%, 17rem);
}

/* fields */
.qr-lead {
	margin-bottom: 3rem;
}
.woocommerce #billing_country_field {
	position: absolute;
	left: -9999px;
}
body .woocommerce form .form-row label {
	color: var(--global-palette4);
	font-size: 1rem;
	line-height: 1.5;
	margin: 0 0 0.75rem 0;
	padding-right: 0.3125rem;
}
.woocommerce form .form-row :is(.optional, .required) {
	display: none !important;
}
body .woocommerce form .form-row label:has(.label-desc) {
	margin-bottom: -0.5rem;
}
body .woocommerce form .form-row .woocommerce-input-wrapper:has([type='radio']) label {
	margin-bottom: 0.875rem;
}
body .woocommerce form .form-row label.multicheckbox-row {
	margin-bottom: 1.5rem;
}
body .woocommerce form .form-row :is(input, textarea, select) {
	border: 0;
	border-radius: 1.625rem;
	box-shadow: none;
	color: var(--global-palette1);
	font-size: 1rem;
	font-weight: 500;
	padding: 0.934em 1.5em 1em;
}
.woocommerce form .form-row.form-row-rating .woocommerce-input-wrapper:has([type='radio']) {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: baseline;
	max-width: 41.25rem;

	@media (width > 40rem) {
		grid-template-columns: repeat(6, 1fr);
	}
}
html .woocommerce form .form-row .button {
	padding: 0.934em 1.6em 1em;
}
.qr-char-count {
	font-size: 80%;
	margin: -1.25rem 0 1.25rem auto;
	width: fit-content;
}
.woocommerce #customer_details .form-row {
	clear: right;
	margin-bottom: var(--pd-2228);
}
.woocommerce #customer_details .form-row#event_sourceother_field {
	margin-top: -1.25rem;
}
.form-row .radio.woocommerce-form__label,
.woocommerce #customer_details .form-row.multicheckbox-row {
	margin-bottom: 0.75rem;
}
.label-desc {
	display: block;
	color: var(--global-palette2);
	font-size: 0.8125rem;
	line-height: 1;
}

/* custom checkbox */
body .woocommerce form .form-row .woocommerce-input-wrapper:has([type='radio']) {
	grid-template-columns: 1fr;
}
@media (width >= 40rem) {
	body .woocommerce form .form-row .woocommerce-input-wrapper:has([type='radio']) {
		grid-template-columns: 1fr 1fr;
	}
}
:is(.woocommerce-form__label-for-checkbox, .gfield--type-consent) input[type='checkbox'],
input.input-radio {
	position: absolute;
	left: -9999px;
	width: 1px;
}
.woocommerce-form__label-for-checkbox > span,
label.radio,
.gfield_consent_label {
	cursor: pointer;
	display: block;
	font-weight: 400;
	position: relative;
	left: 2.6rem;
	line-height: 1.4em;
	margin-bottom: -0.4em;
	width: calc(100% - 2.6rem);
}
.woocommerce-form__label-for-checkbox > span::before,
label.radio::before,
.gfield_consent_label::before {
	background-color: #fff;
	border: 1px solid var(--global-palette1);
	border-radius: 0.25rem;
	content: '';
	position: absolute;
	left: -2.6rem;
	top: -0.125rem;
	width: 1.6rem;
	height: 1.6rem;
	transition: all 0.2s ease;
}
label.radio::before {
	border-radius: 50%;
}

.woocommerce-form__label-for-checkbox > span::after,
label.radio::after,
.gfield_consent_label::after {
	background-color: #fff;
	border-radius: 0.125rem;
	content: '';
	width: 0.86rem;
	height: 0.86rem;
	position: absolute;
	top: 0.25rem;
	left: -2.225rem;
}
label.radio::after {
	border-radius: 50%;
}
.woocommerce-form__label-for-checkbox input[type='checkbox']:checked + span::after,
input[type='radio']:checked + label.radio::after,
.gfield--type-consent input[type='checkbox']:checked + .gfield_consent_label::after {
	background-color: var(--global-palette1);
}

#reg_accept_pp_field .checkbox > span,
.form-row.tos .checkbox > span,
.form-row.pp .checkbox > span {
	margin-bottom: -2em;
	width: calc(100% - 2.375rem);
}

/*********** NEW RADIO BUTTON STYLE ************/
.woocommerce ul#shipping_method li input {
	visibility: hidden;
	margin: 0;
	position: absolute;
	left: -9999px;
}
.woocommerce ul#shipping_method li label {
	position: relative;
}
.checkout #payment ul.wc_payment_methods li.wc_payment_method > label:before,
.woocommerce ul#shipping_method li label:before {
	content: '';
	border: 1px solid var(--global-palette1);
	border-radius: 50%;
	width: 0.9375rem;
	height: 0.9375rem;
	position: absolute;
}
.woocommerce ul#shipping_method li label:before {
	top: clamp(2.3125rem, (100vw - 76.4375rem) * 9, 0.25rem);
	left: -2.3125rem;
}
.checkout #payment ul.wc_payment_methods li.wc_payment_method > label:before {
	top: 1rem;
	left: 0;
}
.checkout #payment ul.wc_payment_methods li.wc_payment_method input[type='radio']:first-child:checked + label:before,
.woocommerce ul#shipping_method li input:checked + label:before {
	border-color: var(--global-palette1);
	border-width: 0.3125rem;
	background: transparent;
}
.woocommerce-checkout #payment ul.wc_payment_methods :is(li.wc_payment_method > label, li.wc_payment_method input[type='radio']:first-child:checked + label) {
	border-left: none;
	background: transparent;
	padding: 0.5rem 0.9375rem 0.5rem 1.5rem;
	position: relative;
}
.woocommerce-checkout #payment ul.wc_payment_methods:not(:has(li:nth-child(2))) li.wc_payment_method > label {
	padding-left: 0 !important;
}
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label:hover {
	cursor: pointer;
	border-left: 0;
	background: transparent;
}
/* new radio button style END */

/* form error*/
.woocommerce-checkout .checkout .woocommerce-error {
	margin-bottom: 1.875rem;
}

.woocommerce-checkout p.woocommerce-invalid-required-field span.error {
	display: block !important;
	color: #c50000;
	font-size: 0.8125rem;
}
body .woocommerce form :is(.form-row.woocommerce-invalid, .form-row.woocommerce-validated) input.input-text {
	border-color: #e1e1e6;
}
/* end of form error */

/***********************
 ****** THANK YOU ******
 ***********************/

/* .woocommerce-order-received .woocommerce ul.order_details li{
	float: none;
	border-right: 0;
	padding-right: 0;
	text-transform: none;
	font-size: 1.25rem;
}
.woocommerce-order-received .woocommerce ul.order_details li strong{
	display: inline;
	font-size: 1.25rem;
} */
.woocommerce-order-received .woocommerce ul.woocommerce-order-overview.woocommerce-thankyou-order-details {
	display: none;
}
.thankyou-start-course {
	margin-block: 2rem;
	text-align: center;
}

/***********************
 ***** PROGRESS BAR ****
 ***********************/

.progress-panel {
	background: #e7e8ed;
	border-radius: 1.25rem;
	margin: 3.125rem auto 1.875rem;
	max-width: 45.375rem;
	padding: 2.625rem var(--pd-2460) 2rem;
}
.progress-wrp {
	width: 100%;
}
.progress-line {
	width: 90%;
	height: 0.25rem;
	margin: 0 auto;
	border-radius: 0.25rem;
	background-color: #c0c1cf;
}
.progress-filler {
	height: 100%;
	background-color: var(--global-palette5);
	width: 0%;
}
.prog-steps {
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}
.single-content .prog-steps p {
	margin: 0.55rem 0 0;
	position: relative;
	font-size: clamp(0.75rem, 3vw, 1rem);
}
.prog-steps p::before {
	content: '';
	position: absolute;
	display: block;
	width: 0.875rem;
	height: 0.875rem;
	background: #e7e8ed;
	border: 0.25rem solid #c0c1cf;
	border-radius: 4rem;
	outline: 0.25rem solid #e7e8ed;
	left: 50%;
	top: -1.1rem;
	transform: translateX(-50%);
}
.woocommerce-cart p.step-cart a {
	display: none;
}
.woocommerce-checkout p.step-cart a {
	position: absolute;
	width: 2.7rem;
	height: 2.5rem;
	top: -1.475rem;
	left: 0;
	z-index: 9;
}

/* current */
.woocommerce-cart .prog-steps p.step-cart::before,
.woocommerce-checkout:not(.woocommerce-order-received) .prog-steps p.step-check::before,
.woocommerce-checkout.woocommerce-order-received .prog-steps p.step-rec::before {
	border-color: var(--global-palette1);
}

/* done */
.woocommerce-checkout .prog-steps p.step-cart::before,
.woocommerce-checkout.woocommerce-order-received .prog-steps :is(p.step-check::before, p.step-rec::before) {
	border-color: var(--global-palette5);
}

/* progress line */
.woocommerce-checkout .progress-wrp .progress-filler {
	width: 33%;
}
.woocommerce-checkout .progress-wrp.progress-three-steps .progress-filler {
	width: 50%;
}
.woocommerce-checkout.woocommerce-order-received .progress-wrp .progress-filler {
	width: 100%;
}

/* order-received */
.woocommerce-order-received p.step-cart a {
	display: none;
}

/***********************
 ****** MY ACCOUNT *****
 ***********************/

.woocommerce-account #customer_login .col-2 {
	display: none;
}
.woocommerce-account .woocommerce #customer_login .col-1 {
	float: none;
	width: 40rem;
	max-width: 100%;
	margin-inline: auto;
}
body .woocommerce form .form-row label.woocommerce-form-login__rememberme {
	margin: 0.45rem 3.5rem 0.75rem 0;
}
.woocommerce-form-login__rememberme.woocommerce-form__label-for-checkbox > span {
	width: 100%;
}
body .woocommerce form.login {
	border: none;
	padding: 0;
}
.woocommerce form .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-block: 2rem;
}
html .woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
	margin: 0;
}

html :is(.woocommerce, .woocommerce-page) form .show-password-input {
	background: transparent;
	border-radius: 0;
	right: 1em;
	padding: 0.3em;
}
html .woocommerce-password-strength {
	border-radius: 2rem;
	font-size: clamp(0.75rem, (100vw - 40rem), 0.875rem);
}

/* actual */
.woocommerce-account .content-area {
	margin-top: 3rem;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset {
	background: rgba(0, 0, 0, 0.025);
	border: none;
}
.woocommerce-ResetPassword {
	max-width: 600px;
	background: rgba(0, 0, 0, 0.025);
	margin: auto;
	padding: 1.25rem;
	border-radius: 0.3125rem;
}

body.woocommerce-account .woocommerce {
	margin-bottom: 4em;
}

body.kadence-account-nav-left.woocommerce-account .account-navigation-wrap li a {
	padding: 0.9375rem 1.875rem;
	border: 0 !important;
}
body.kadence-account-nav-left.woocommerce-account .account-navigation-wrap {
	border-right: none;
}
@media screen and (min-width: 768px) {
	body.woocommerce-account .account-navigation-wrap {
		width: 14rem;
	}
	body.kadence-account-nav-left.woocommerce-account .woocommerce-MyAccount-content {
		width: calc(100% - 14rem);
	}
	body.kadence-account-nav-left.woocommerce-dashboard .woocommerce-MyAccount-content {
		float: none;
		padding: 0;
		margin-inline: auto;
	}
}

.woocommerce-account .account-navigation-wrap ul {
	background-color: var(--global-palette9);
	border-radius: var(--ld-border-radius);
}
body.woocommerce-account .account-navigation-wrap li a {
	border-left: none;
}
.kadence-account-nav-above.woocommerce-account .account-navigation-wrap li:hover a,
body.woocommerce-account .account-navigation-wrap :is(li.is-active a, li.is-active a:hover) {
	border-bottom: none !important;
	border-left: none;
}

.woocommerce-MyAccount-navigation ul li:not(:last-child) {
	border-bottom: 1px solid #eeeeee;
}
.woocommerce-MyAccount-navigation ul li a:before {
	float: left;
	margin: 0 0.625rem 0 0;
	opacity: 0.5;
	width: 1.25rem;
	height: 1.25rem;
}
.woocommerce-MyAccount-navigation ul li.is-active a:before,
.woocommerce-MyAccount-navigation ul li a:hover:before {
	opacity: 1;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a:before {
	content: url(/wp-content/themes/akademia/img/dashboard.svg);
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--tanfolyamaim a:before {
	content: url(/wp-content/themes/akademia/img/gcap.svg);
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a:before {
	content: url(/wp-content/themes/akademia/img/clipboard-chk.svg);
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a:before {
	content: url(/wp-content/themes/akademia/img/user-gear.svg);
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:before {
	content: url(/wp-content/themes/akademia/img/logout.svg);
}
.woocommerce-MyAccount-navigation-link--wpf-delete-account {
	display: none;
}

.woocommerce-MyAccount-content:has(.ld-profile) > h2 {
	display: none;
}

/* dashboard */
.myaccount-icon {
	flex: 0 0 auto;
	background-color: var(--global-palette1);
	border-radius: 1.875rem;
	width: 40px;
	height: 40px;
}
.myaccount-dashboard .myaccount-item {
	border-radius: 0.625rem;
	padding: 0.625rem;
	display: flex;
	gap: 0.9375rem;
	margin: 0 0 1.25rem;
	height: 100%;
	background-color: var(--global-palette9);
}
.myaccount-dashboard .myaccount-item img {
	width: 40px;
	height: 40px;
	padding: 9px;
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(248deg) brightness(107%) contrast(101%);
}
.myaccount-dashboard a {
	flex: 1 1 45%;
	text-decoration: none;
	color: var(--global-palette1);
}
.single-content .myaccount-item-title {
	margin-block: 0.625rem;
	font-weight: 700;
}

/* tooltip */
.tooltip {
	position: relative;
	top: 2px;
	left: 0.375rem;
	cursor: help;
}
.tooltip path {
	fill: var(--global-palette1);
}

/* order table */
@media (width >= 48rem) {
	.woocommerce table.shop_table.my_account_orders thead {
		display: table-header-group !important;
	}
}
.woocommerce table.shop_table td.woocommerce-table__product-name strong,
.woocommerce-table--order-details tfoot tr:first-child /* Részösszeg */ {
	display: none;
}
.woocommerce table.shop_table td.woocommerce-table__product-name a:has(img) {
	float: left;
	margin-right: 0.625rem;
}
.woocommerce-orders-table__cell-order-date,
.woocommerce-orders-table__cell-order-total {
	white-space: nowrap;
}
.woocommerce .woocommerce-order-details .order-again {
	display: none;
}
.woocommerce table.my_account_orders .button {
	background: transparent;
	color: inherit;
	font-size: 0.85rem;
	font-weight: 300;
	padding: 0;
	text-decoration: underline;
}
.woocommerce-MyAccount-orders .button.wc_szamlazz_pdf[href=''] {
	display: none;
}
.woocommerce table.my_account_orders .button:not(:first-child)::before {
	content: '|';
	display: inline-block;
	margin-inline: 0.5ch;
}

@media (min-width: 370px) {
	.woocommerce table.shop_table td.woocommerce-table__product-name a:has(img) {
		min-width: 3.125rem;
	}
}
@media (min-width: 64rem) {
	body.woocommerce-account:has(.myaccount-dashboard) .account-navigation-wrap {
		display: none;
	}
}
@media (max-width: 719px) {
	:is(.woocommerce, .woocommerce-page) table.shop_table_responsive tr .woocommerce-orders-table__cell-order-actions::before {
		font-size: 0;
	}
}

/* order details */
.back-to-orders {
	display: block;
	text-align: center;
	margin-top: 3.75rem;
}
.woocommerce-MyAccount-content p:has(+ .woocommerce-order-details) {
	display: none;
}

/* my courses */

.ld-profile__saved-cards {
	display: none;
}

/* edit profile */
.mya-panel {
	background: #ededed;
	border-radius: 0.625rem;
	margin-bottom: 2.25rem;
	padding: 1.25rem;
}
details.mya-panel {
	background: #4f97d233;
}
.mya-panel.warning {
	background: #f1d6d6;
	margin-top: 5rem;
}
.mya-panel-subtitle {
	font-size: 1.5rem;
	font-weight: 900;
}
.mya-panel summary {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	font-weight: 900;
}
.woocommerce form .mya-panel summary + .form-row {
	margin-top: 1.25rem;
}
.mya-panel summary::marker {
	display: none;
}
.mya-panel summary::after {
	content: url(/wp-content/themes/akademia/img/filter-arrow.png);
	position: relative;
	top: -0.1875rem;
	transition: all 0.2s;
}
.mya-panel[open] summary::after {
	transform: rotateX(180deg);
	top: 0.1875rem;
}

.mya-panel.warning label {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
}
.mya-panel.warning input {
	border-color: red;
	border-radius: 0.3125rem;
	margin-bottom: 1.25rem;
	padding: 0.625rem 0.3125rem;
}

/* My Account Mobile Menu */
.my-account-menu-toggle {
	font-size: 1rem;
	padding: 0.4375rem 1em 0.9375rem;
	text-align: left;
	cursor: pointer;
	color: var(--global-palette4);
	background-color: #fff;
}
.my-account-menu-toggle:hover {
	background-color: var(--global-palette9);
	color: var(--global-palette2);
	box-shadow: none;
}
.my-account-menu-toggle svg {
	top: 0.4375rem;
	position: relative;
}
@media (min-width: 48rem) {
	.my-account-menu-toggle {
		display: none;
	}
	.account-navigation-wrap {
		display: block;
	}
	.woocommerce-account .woocommerce-MyAccount-content:has(.myaccount-dashboard) {
		float: none;
		width: 100%;
	}
	body.kadence-account-nav-left.woocommerce-account .woocommerce-MyAccount-content:has(.wp-block-kadence-rowlayout) {
		width: 70%;
	}
	.myaccount-dashboard {
		display: flex;
		flex-wrap: wrap;
		gap: 1.875rem;
	}
}
@media (max-width: 48rem) {
	.woocommerce-MyAccount-content {
		margin-top: 1.875rem;
	}
	.woocommerce-account:has(.myaccount-dashboard) :is(.my-account-menu-toggle, .account-navigation-wrap) {
		display: none;
	}
	.woocommerce form.woocommerce-EditAccountForm :is(.form-row-first, .form-row-last) {
		float: none;
		width: 100%;
	}
}

/***********************
 ***** WOO MESSAGES ****
 ***********************/

:is(body.woocommerce, body .woocommerce) :is(.woocommerce-message, .woocommerce-error, .woocommerce-info),
.woocommerce-checkout-review-order .coupon_inner_checkout {
	background-color: rgba(var(--message-color), 0.2);
	border: none;
	border-radius: 1.25rem;
	color: #000;
	padding: 0.625rem 3.125rem !important;
	line-height: 1.3;
	position: relative;
	margin: 0 0 1.875rem 0;
	text-align: left;
}
:is(body.woocommerce, body .woocommerce) :is(.woocommerce-message, .woocommerce-error, .woocommerce-info) {
	font-size: 0.875rem;
}
:is(body.woocommerce, body .woocommerce) :is(.woocommerce-message, .woocommerce-error, .woocommerce-info):before,
.woocommerce-checkout-review-order .coupon_inner_checkout:before {
	border-radius: 50%;
	position: absolute;
	left: 0.9375rem;
	width: 22px;
	height: 1.25rem;
}
:is(body.woocommerce, body .woocommerce) :is(.woocommerce-message, .woocommerce-error, .woocommerce-info):before {
	padding: 0.1875rem 0 0 0.3125rem;
	top: 0.5rem;
}
.woocommerce-checkout-review-order .coupon_inner_checkout:before {
	padding: 1.3125rem 2.3125rem 2.3125rem 3.3125rem;
	top: 0.625rem;
}
.woocommerce :is(.woocommerce-message, .woocommerce-error, .woocommerce-info) {
	a {
		color: inherit;
	}
	a:hover,
	.button:hover {
		text-underline-offset: 0.25em;
	}
	.button {
		background: transparent;
		border-radius: 0;
		margin: 0 !important;
		padding: 0;
		text-decoration: underline;
	}
}
:is(body.woocommerce, body .woocommerce) .woocommerce-message {
	--message-color: 109, 174, 48;
}
:is(body.woocommerce, body .woocommerce) .woocommerce-message:before {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 12.611 8.923 17.5 20 6.5'/%3E%3C/svg%3E");
}
:is(body.woocommerce, body .woocommerce) .woocommerce-info,
.woocommerce-checkout-review-order .coupon_inner_checkout {
	--message-color: 251, 181, 29;
}
.woocommerce-checkout-review-order .coupon_inner_checkout:before {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M64 64C28.7 64 0 92.7 0 128v64c0 8.8 7.4 15.7 15.7 18.6C34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-8.8-7.4-15.7-15.7-18.6C541.5 294.9 528 277 528 256s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6V128c0-35.3-28.7-64-64-64H64zm64 112l0 160c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM96 160c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160z'/%3E%3C/svg%3E");
}
:is(body.woocommerce, body .woocommerce) .woocommerce-info:before {
	content: url("data:image/svg+xml,%3Csvg fill='%23000000' height='15' width='15' version='1.1' id='XMLID_233_' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 24 24' xml:space='preserve'%3E%3Cg id='information'%3E%3Cg%3E%3Cpath d='M12,24c-2.2,0-4-1.8-4-4v-2.6c0-1.4-0.6-2.7-1.5-3.6C4.9,12.3,4,10.2,4,8s0.9-4.2,2.4-5.7C8,0.8,10,0,12.2,0 c4.2,0.1,7.7,3.6,7.8,7.7c0.1,2.3-0.8,4.4-2.4,5.9c-1,1-1.6,2.3-1.6,3.7V20C16,22.2,14.2,24,12,24z M10,19v1c0,1.1,0.9,2,2,2 s2-0.9,2-2v-1H10z M10,17h4c0.1-1.8,0.9-3.4,2.2-4.7c1.2-1.2,1.8-2.8,1.8-4.5c-0.1-3.1-2.7-5.7-5.9-5.8c-1.6,0-3.2,0.6-4.3,1.7 C6.6,4.8,6,6.4,6,8c0,1.7,0.7,3.2,1.8,4.3C9.1,13.6,9.9,15.2,10,17z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
:is(body.woocommerce, body .woocommerce) .woocommerce-error {
	--message-color: 197, 0, 0;
}
:is(body.woocommerce, body .woocommerce) .woocommerce-error:before {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide-triangle'%3E%3Cpath d='M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z'/%3E%3C/svg%3E");
}
.woocommerce .woocommerce-info .woocommerce-Price-amount {
	font-weight: 700;
}

/* validation */
body .woocommerce form .form-row.woocommerce-invalid label {
	color: var(--global-palette4);
}
body .woocommerce form .form-row.woocommerce-invalid :is(.select2-container, select) {
	border-color: #e1e1e6;
}
.woocommerce form .form-row {
	position: relative;
}
.woocommerce .validation-error {
	background-image: linear-gradient(0, var(--global-palette7) 0.5em, #fff 0.5em);
	color: #a00;
	font-size: 75%;
	position: absolute;
	left: 1.5rem;
	bottom: -0.5em;
	line-height: 1;
}
.woocommerce :is(.radio, .multicheckbox-row) + .validation-error {
	background-image: none;
	left: 0;
	bottom: -1.2em;
}
/* hide default ones */
.woocommerce .form-row.woocommerce-invalid .checkout-inline-error-message {
	display: none !important;
}

/***********************
 ******** FOOTER *******
 ***********************/

@media (width > 64rem) {
	body .site-footer-row.site-footer-row-columns-3.site-footer-row-column-layout-center-half {
		grid-template-columns: minmax(0, 7fr) minmax(0, 8fr) minmax(0, 5fr);
	}
}
.footer-site-logo img {
	filter: brightness(0) saturate(100%) invert(1);
	width: 11rem;
}
/* @media (width >= 48rem) {
	.footer-site-logo img {
		width: clamp(6.75rem, (100vw - 64rem) * 99, 10rem);
	}
} */
.niok-logos {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
	width: min(22rem, 100%);
}

#colophon .wp-block-social-link-anchor {
	padding: 0.44rem;
}

/***** Full Picture ****/
.footer-links,
.fp_show_cookie_notice {
	cursor: pointer;
	line-height: 2;
	margin: 0;
}
.fupi_buttons button:is(.fupi_button, .fupi_cta) {
	border-radius: 2rem;
}
.fupi_buttons button.fupi_button {
	border: 1px solid var(--global-palette1);
}
.fupi_buttons button.fupi_button:hover {
	border-color: var(--global-palette1);
}
