/* ==============================================
   MFHU Theme — WooCommerce Dark Theme
   ============================================== */

/* ---- Global base styles (consistency with main theme) ---- */
/* FONTOS: Minden WooCommerce elem alapértelmezett betűtípusa Futura (főoldallal konzisztens) */
.woocommerce,
.woocommerce-page,
.wc-block-cart,
.wc-block-checkout,
body.woocommerce,
body.woocommerce-page {
	font-family: var(--font) !important;
	color: var(--text);
	line-height: 1.6;
}

/* Monospace elemek (árak, számok, kódok, technikai szövegek) felülírják az alapértelmezett fontot */
/* Ezeket a specifikus szabályok később definiálják */

/* ---- WC Main wrapper ---- */
.wc-main {
	max-width: 1200px;
	margin: 0 auto;
	padding: 6rem 2rem 4rem;
}

/* Cart & Checkout pages use page.php → content-page.php,
   which wraps content in TWO narrow containers:
     .mfhu-main           (max-width:800px from subpage.css)
     .mfhu-subpage-content (max-width:800px from subpage.css)
   Override both when they contain WC blocks. */
.mfhu-main:has(.wc-block-cart),
.mfhu-main:has(.wc-block-checkout),
.mfhu-main:has(.wp-block-woocommerce-cart),
.mfhu-main:has(.wp-block-woocommerce-checkout) {
	max-width: 1200px;
	padding: 6rem 2rem 4rem;
}

.mfhu-subpage-content:has(.wc-block-cart),
.mfhu-subpage-content:has(.wc-block-checkout),
.mfhu-subpage-content:has(.wp-block-woocommerce-cart),
.mfhu-subpage-content:has(.wp-block-woocommerce-checkout) {
	max-width: 100%;
}

/* ---- Page titles ---- */
.woocommerce-products-header__title,
.wc-main h1,
.wc-main h2 {
	font-family: var(--font);
	font-weight: 200;
	color: var(--text);
	text-transform: uppercase;
	letter-spacing: -0.01em;
}

/* ---- Breadcrumb ---- */
.woocommerce-breadcrumb {
	font-family: var(--mono);
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dim);
	margin-bottom: 2rem;
}

.woocommerce-breadcrumb a {
	color: var(--mid);
	text-decoration: none;
	transition: color 0.3s var(--ease);
}

.woocommerce-breadcrumb a:hover {
	color: var(--prism-cyan);
}

/* ==============================================
   Notices (info / message / error)
   ============================================== */
.woocommerce-message,
.woocommerce-info {
	background: var(--card);
	border: 1px solid var(--border);
	border-left: 3px solid var(--prism-cyan);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.8rem;
	padding: 1rem 1.5rem;
	margin-bottom: 1.5rem;
}

.woocommerce-error {
	background: var(--card);
	border: 1px solid var(--border);
	border-left: 3px solid var(--prism-red);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.8rem;
	padding: 1rem 1.5rem;
	margin-bottom: 1.5rem;
	list-style: none;
}

.woocommerce-message a,
.woocommerce-info a {
	color: var(--prism-cyan);
	text-decoration: none;
}

.woocommerce-error a {
	color: var(--prism-red);
	text-decoration: none;
}

/* ==============================================
   Buttons
   ============================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.8rem 2rem;
	font-family: var(--mono);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	border: none;
	border-radius: 0;
	cursor: pointer;
	color: var(--bg);
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue), var(--prism-violet));
	clip-path: polygon(2% 0%, 100% 4%, 98% 100%, 0% 96%);
	transition: all 0.4s var(--ease);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(0, 170, 255, 0.2), 0 4px 15px rgba(136, 0, 255, 0.15);
	color: var(--bg);
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue), var(--prism-violet));
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* Accessible focus indicator (clip-path clips outline, so use box-shadow) */
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce #respond input#submit:focus-visible,
.woocommerce .button.alt:focus-visible,
.woocommerce button.button.alt:focus-visible {
	box-shadow: 0 0 0 3px var(--prism-cyan), 0 0 12px rgba(0, 170, 255, 0.3);
	outline: none;
}

/* ==============================================
   Inputs / Select / Textarea
   ============================================== */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="url"],
.woocommerce input[type="password"],
.woocommerce input[type="search"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container--default .select2-selection--single {
	background: var(--card);
	border: 1px solid var(--border);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.8rem;
	padding: 0.7rem 1rem;
	transition: border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="url"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="search"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
	outline: none;
	border-color: var(--prism-cyan);
	box-shadow: 0 0 0 2px rgba(0, 170, 255, 0.15);
}

.woocommerce select option {
	background: var(--card);
	color: var(--text);
}

/* Select2 dropdown (WC uses this) */
.select2-container--default .select2-results__option {
	background: var(--card);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.8rem;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--prism-cyan);
	color: var(--bg);
}

.select2-container--default .select2-dropdown {
	background: var(--card);
	border-color: var(--border);
}

/* ==============================================
   Product cards (shop / archive)
   ============================================== */
.woocommerce ul.products li.product {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 1.2rem;
	transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.4s var(--ease);
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 170, 255, 0.06);
}

.woocommerce ul.products li.product a {
	text-decoration: none;
	color: var(--text);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font);
	font-weight: 300;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--text);
	padding: 0.5rem 0 0;
}

.woocommerce ul.products li.product img {
	border: 1px solid var(--border);
	margin-bottom: 0.5rem;
}

/* ---- Prices ---- */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--prism-cyan);
	font-family: var(--mono);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
	color: var(--dim);
	opacity: 0.6;
}

.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins {
	color: var(--prism-cyan);
	text-decoration: none;
}

/* ---- Sale badge ---- */
.woocommerce span.onsale {
	background: linear-gradient(135deg, var(--prism-magenta), var(--prism-red));
	color: #fff;
	font-family: var(--mono);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 0;
	clip-path: polygon(2% 0%, 100% 4%, 98% 100%, 0% 96%);
	padding: 0.4rem 0.8rem;
	min-height: auto;
	min-width: auto;
	line-height: 1.4;
}

/* ---- Star ratings ---- */
.woocommerce .star-rating {
	color: var(--prism-yellow);
}

.woocommerce .star-rating::before {
	color: var(--dim);
}

/* ==============================================
   Single product
   ============================================== */
.woocommerce div.product {
	color: var(--text);
}

/* ---- Summary panel ---- */
.woocommerce div.product div.summary {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 2.2rem 2rem;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

/* ---- Category badge ---- */
.woocommerce div.product .posted_in {
	font-family: var(--mono);
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dim);
	margin-bottom: 1.2rem;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

/* Diamond dot before category */
.woocommerce div.product .posted_in::before {
	content: '';
	width: 8px;
	height: 8px;
	display: inline-block;
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
	background: var(--prism-cyan);
	flex-shrink: 0;
}

.woocommerce div.product .posted_in a {
	color: var(--mid);
	text-decoration: none;
	transition: color 0.3s var(--ease);
}

.woocommerce div.product .posted_in a:hover {
	color: var(--prism-cyan);
}

/* Prismatic glow blob */
.woocommerce div.product div.summary::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 200px;
	height: 200px;
	filter: blur(70px);
	top: -50px;
	right: -50px;
	background: var(--prism-cyan);
	opacity: 0.05;
	pointer-events: none;
}

/* ---- Product title ---- */
.woocommerce div.product .product_title {
	font-family: var(--font);
	font-weight: 200;
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--text);
	margin-bottom: 1.2rem;
	position: relative;
	padding-bottom: 1.2rem;
}

/* Prism gradient separator after title */
.woocommerce div.product .product_title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, var(--prism-cyan), var(--prism-magenta), transparent);
}

/* ---- Price ---- */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--prism-cyan);
	font-family: var(--mono);
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-shadow: 0 0 20px rgba(0, 170, 255, 0.25);
	margin: 1rem 0;
	padding-bottom: 1rem;
	position: relative;
}

/* Prism gradient separator after price */
.woocommerce div.product p.price::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, var(--prism-cyan), var(--prism-magenta), transparent);
}

.woocommerce div.product p.price del {
	color: var(--dim);
	opacity: 0.6;
	font-size: 1rem;
	text-shadow: none;
}

.woocommerce div.product p.price ins {
	color: var(--prism-cyan);
	text-decoration: none;
}

/* ---- Short description ---- */
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--mid);
	font-size: 0.9rem;
	line-height: 1.7;
	margin-bottom: 1.5rem;
	margin-top: 1rem;
}

/* ---- Add to cart form ---- */
.woocommerce div.product form.cart {
	display: flex;
	align-items: stretch;
	gap: 0.8rem;
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--border);
}

/* Quantity wrapper */
.woocommerce div.product form.cart .quantity {
	display: flex;
	align-items: center;
	background: var(--bg);
	border: 1px solid var(--border);
	flex-shrink: 0;
	transition: border-color 0.3s var(--ease);
}

.woocommerce div.product form.cart .quantity:hover {
	border-color: var(--prism-cyan);
}

.woocommerce div.product form.cart .quantity .qty {
	background: transparent;
	border: none;
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.9rem;
	padding: 0.6rem 0.4rem;
	width: 3rem;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Single add to cart button — btn-prism style */
.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.9rem 2rem;
	font-family: var(--mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bg);
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue), var(--prism-violet));
	border: none;
	clip-path: polygon(1.5% 0%, 100% 3%, 98.5% 100%, 0% 97%);
	cursor: pointer;
	transition: all 0.4s var(--ease);
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(0, 170, 255, 0.2), 0 4px 15px rgba(136, 0, 255, 0.15);
}

/* ---- Product meta ---- */
.woocommerce div.product .product_meta {
	font-family: var(--mono);
	font-size: 0.65rem;
	letter-spacing: 0.08em;
	color: var(--dim);
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 1.5rem;
	padding-top: 1.5rem;
	margin-top: 0.5rem;
	border-top: 1px solid var(--border);
}

.woocommerce div.product .product_meta>span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.woocommerce div.product .product_meta a {
	color: var(--mid);
	text-decoration: none;
	transition: color 0.3s var(--ease);
}

.woocommerce div.product .product_meta a:hover {
	color: var(--prism-cyan);
}

/* ---- Stock status ---- */
.woocommerce div.product .stock {
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.woocommerce div.product .stock.in-stock {
	color: var(--prism-green);
}

.woocommerce div.product .stock.out-of-stock {
	color: var(--prism-red);
}

/* ---- Gallery ---- */
.woocommerce div.product div.images img {
	border: 1px solid var(--border);
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	border: 1px solid var(--border);
	opacity: 0.5;
	transition: opacity 0.3s var(--ease), border-color 0.3s var(--ease);
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: var(--prism-cyan);
}

/* ---- Tabs ---- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 2rem 0 0;
	border-bottom: 1px solid var(--border);
	list-style: none;
	display: flex;
	gap: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent !important;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	margin: 0;
	padding: 0;
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dim);
	padding: 0.8rem 1.5rem;
	text-decoration: none;
	transition: color 0.3s var(--ease);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--prism-cyan) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--prism-cyan);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--text);
}

.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .panel.active,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.active,
.woocommerce div.product .woocommerce-tabs #comments.active {
	background: transparent !important;
	color: var(--mid);
	font-size: 0.9rem;
	line-height: 1.7;
	padding: 1.5rem 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h4 {
	color: var(--text);
	font-family: var(--font);
	font-weight: 300;
}

.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel li,
.woocommerce div.product .woocommerce-tabs .panel td,
.woocommerce div.product .woocommerce-tabs .panel th {
	color: var(--mid);
}

.woocommerce div.product .woocommerce-tabs .panel a {
	color: var(--prism-cyan);
	text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs .panel a:hover {
	text-decoration: underline;
}

/* Additional information table */
.woocommerce div.product .woocommerce-tabs .panel table.woocommerce-product-attributes {
	background: var(--card);
	border: 1px solid var(--border);
}

.woocommerce div.product .woocommerce-tabs .panel table.woocommerce-product-attributes th {
	background: rgba(0, 170, 255, 0.05);
	color: var(--prism-cyan);
	font-family: var(--mono);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: 1px solid var(--border);
	padding: 0.8rem 1rem;
}

.woocommerce div.product .woocommerce-tabs .panel table.woocommerce-product-attributes td {
	border: 1px solid var(--border);
	padding: 0.8rem 1rem;
}

/* Reviews tab */
.woocommerce div.product .woocommerce-tabs #comments .commentlist li .comment_container {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 1.2rem;
}

.woocommerce div.product .woocommerce-tabs #comments .commentlist li .comment_container .comment-text .meta {
	color: var(--dim);
	font-family: var(--mono);
	font-size: 0.7rem;
}

.woocommerce div.product .woocommerce-tabs #comments .commentlist li .comment_container .comment-text .description p {
	color: var(--mid);
}

/* ---- Quantity input ---- */
.woocommerce .quantity .qty {
	background: var(--card);
	border: 1px solid var(--border);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.85rem;
	padding: 0.5rem;
	width: 4rem;
	text-align: center;
}

/* ---- Related / upsell ---- */
.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
	font-family: var(--font);
	font-weight: 200;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--text);
	margin-bottom: 1.5rem;
}

/* ==============================================
   Cart
   ============================================== */

/* ---- Cart form wrapper ---- */
.woocommerce-cart .woocommerce-cart-form {
	margin-bottom: 2.5rem;
}

/* ---- Shop table panel ---- */
.woocommerce-cart .woocommerce table.shop_table {
	background: var(--card);
	border: 1px solid var(--border);
	border-collapse: collapse;
	border-radius: 0;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	position: relative;
	overflow: hidden;
}

/* Glow blob on cart table */
.woocommerce-cart .woocommerce table.shop_table::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 200px;
	height: 200px;
	filter: blur(70px);
	top: -50px;
	right: -50px;
	background: var(--prism-cyan);
	opacity: 0.04;
	pointer-events: none;
}

.woocommerce table.shop_table th {
	background: rgba(0, 170, 255, 0.05);
	font-family: var(--mono);
	font-size: 0.6rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--prism-cyan);
	padding: 1rem 1.2rem;
	border-bottom: 1px solid var(--border);
}

.woocommerce table.shop_table td {
	color: var(--text);
	font-size: 0.85rem;
	padding: 1.2rem;
	border-bottom: 1px solid var(--border);
	vertical-align: middle;
}

/* Cart item hover */
.woocommerce-cart table.shop_table tr.cart_item {
	transition: background 0.3s var(--ease);
}

.woocommerce-cart table.shop_table tr.cart_item:hover {
	background: rgba(255, 255, 255, 0.015);
}

/* ---- Product thumbnail ---- */
.woocommerce-cart table.shop_table .product-thumbnail img {
	border: 1px solid var(--border);
	transition: border-color 0.3s var(--ease);
	max-width: 70px;
}

.woocommerce-cart table.shop_table tr.cart_item:hover .product-thumbnail img {
	border-color: rgba(0, 170, 255, 0.2);
}

/* ---- Product name ---- */
.woocommerce table.shop_table td.product-name a {
	color: var(--text);
	text-decoration: none;
	font-family: var(--font);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	transition: color 0.3s var(--ease);
}

.woocommerce table.shop_table td.product-name a:hover {
	color: var(--prism-cyan);
}

/* Variations in cart */
.woocommerce table.shop_table td.product-name dl.variation {
	font-family: var(--mono);
	font-size: 0.7rem;
	color: var(--dim);
	margin-top: 0.4rem;
}

.woocommerce table.shop_table td.product-name dl.variation dt {
	color: var(--dim);
	letter-spacing: 0.05em;
}

.woocommerce table.shop_table td.product-name dl.variation dd {
	color: var(--mid);
}

/* ---- Other td links ---- */
.woocommerce table.shop_table td a {
	color: var(--text);
	text-decoration: none;
}

.woocommerce table.shop_table td a:hover {
	color: var(--prism-cyan);
}

/* ---- Product price / subtotal ---- */
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
	font-family: var(--mono);
	font-weight: 600;
	color: var(--prism-cyan);
	letter-spacing: 0.02em;
}

.woocommerce-cart table.shop_table td.product-subtotal {
	text-shadow: 0 0 15px rgba(0, 170, 255, 0.15);
}

/* ---- Quantity in cart ---- */
.woocommerce-cart table.shop_table .quantity .qty {
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.85rem;
	padding: 0.5rem;
	width: 3.5rem;
	text-align: center;
	transition: border-color 0.3s var(--ease);
}

.woocommerce-cart table.shop_table .quantity .qty:focus {
	border-color: var(--prism-cyan);
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 170, 255, 0.15);
}

/* ---- Remove button ---- */
.woocommerce a.remove {
	color: var(--dim) !important;
	font-size: 1.1rem;
	font-weight: 700;
	width: 28px;
	height: 28px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	transition: all 0.3s var(--ease);
}

.woocommerce a.remove:hover {
	background: rgba(255, 69, 58, 0.08) !important;
	color: var(--prism-red) !important;
	border-color: rgba(255, 69, 58, 0.2);
	transform: scale(1.1);
}

/* ---- Cart actions row ---- */
.woocommerce-cart table.shop_table td.actions {
	padding: 1.5rem 1.2rem;
	background: rgba(0, 0, 0, 0.15);
}

.woocommerce-cart table.shop_table td.actions::after {
	content: '';
	display: block;
	clear: both;
}

/* ---- Coupon ---- */
.woocommerce .coupon {
	display: flex;
	align-items: stretch;
	gap: 0.5rem;
}

.woocommerce .coupon input[type="text"] {
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.75rem;
	padding: 0.6rem 1rem;
	letter-spacing: 0.05em;
	transition: border-color 0.3s var(--ease);
}

.woocommerce .coupon input[type="text"]:focus {
	border-color: var(--prism-cyan);
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 170, 255, 0.15);
}

.woocommerce .coupon input[type="text"]::placeholder {
	color: var(--dim);
	letter-spacing: 0.08em;
}

/* Coupon button — ghost style */
.woocommerce .coupon .button {
	background: transparent !important;
	border: 1px solid var(--border) !important;
	color: var(--mid) !important;
	clip-path: polygon(0% 4%, 98% 0%, 100% 96%, 2% 100%);
	font-size: 0.65rem !important;
	padding: 0.6rem 1.2rem !important;
}

.woocommerce .coupon .button:hover {
	color: var(--text) !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
	transform: translateY(-1px) !important;
	box-shadow: none !important;
}

/* Update cart button */
.woocommerce-cart table.shop_table td.actions>.button {
	float: right;
}

/* ---- Cart totals panel ---- */
.woocommerce .cart_totals,
.woocommerce-page .cart_totals {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 2rem;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

/* Glow blob on cart totals */
.woocommerce .cart_totals::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 180px;
	height: 180px;
	filter: blur(60px);
	bottom: -40px;
	left: -40px;
	background: var(--prism-violet);
	opacity: 0.05;
	pointer-events: none;
}

.woocommerce .cart_totals h2 {
	font-family: var(--mono);
	font-size: 0.65rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--prism-cyan);
	margin-bottom: 1.2rem;
	padding-bottom: 1rem;
	position: relative;
}

/* Prism separator under heading */
.woocommerce .cart_totals h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, var(--prism-cyan), var(--prism-magenta), transparent);
}

.woocommerce .cart_totals table {
	border: none;
}

.woocommerce .cart_totals table th {
	background: transparent;
	color: var(--dim);
	font-family: var(--mono);
	font-size: 0.7rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--border);
	padding: 0.9rem 0;
}

.woocommerce .cart_totals table td {
	background: transparent;
	border-bottom: 1px solid var(--border);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.9rem;
	padding: 0.9rem 0;
	text-align: right;
}

/* Order total row — emphasized */
.woocommerce .cart_totals table tr.order-total th {
	color: var(--text);
	font-weight: 600;
	font-size: 0.75rem;
}

.woocommerce .cart_totals table tr.order-total td {
	color: var(--prism-cyan);
	font-size: 1.3rem;
	font-weight: 600;
	text-shadow: 0 0 20px rgba(0, 170, 255, 0.2);
}

/* Shipping options */
.woocommerce .cart_totals .shipping-calculator-button {
	color: var(--prism-cyan);
	font-family: var(--mono);
	font-size: 0.65rem;
	letter-spacing: 0.08em;
	text-decoration: none;
}

.woocommerce .cart_totals .woocommerce-shipping-methods {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce .cart_totals .woocommerce-shipping-methods li {
	font-family: var(--mono);
	font-size: 0.75rem;
	color: var(--mid);
	padding: 0.3rem 0;
}

.woocommerce .cart_totals .woocommerce-shipping-methods li label {
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.75rem;
}

/* Proceed to checkout — btn-prism full-width */
.woocommerce .wc-proceed-to-checkout {
	padding-top: 1.5rem;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1rem 2rem;
	font-family: var(--mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bg);
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue), var(--prism-violet));
	border: none;
	clip-path: polygon(1.5% 0%, 100% 3%, 98.5% 100%, 0% 97%);
	transition: all 0.4s var(--ease);
	margin-bottom: 0;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(0, 170, 255, 0.25), 0 4px 15px rgba(136, 0, 255, 0.15);
}

/* ---- Cross-sells ---- */
.woocommerce-cart .cross-sells h2 {
	font-family: var(--font);
	font-weight: 200;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--text);
	margin-bottom: 1.5rem;
	position: relative;
	padding-bottom: 1rem;
}

.woocommerce-cart .cross-sells h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 120px;
	height: 1px;
	background: linear-gradient(90deg, var(--prism-violet), transparent);
}

/* ---- Empty cart ---- */
.woocommerce-cart .cart-empty {
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	text-align: center;
	padding: 3rem 0;
}

.woocommerce-cart .return-to-shop a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

/* ==============================================
   Checkout
   ============================================== */

/* ---- Section headings ---- */
.woocommerce-checkout .woocommerce h3,
.woocommerce-checkout .woocommerce h2 {
	font-family: var(--font);
	font-weight: 200;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--text);
	position: relative;
	padding-bottom: 0.8rem;
	margin-bottom: 1.5rem;
}

/* Prism separator under checkout headings */
.woocommerce-checkout .woocommerce h3::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, var(--prism-cyan), var(--prism-magenta), transparent);
}

/* ---- Billing / Shipping panels ---- */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 2rem;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	margin-bottom: 2rem;
}

/* Glow blob on billing */
.woocommerce-checkout .col2-set .col-1::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 180px;
	height: 180px;
	filter: blur(60px);
	top: -40px;
	right: -40px;
	background: var(--prism-cyan);
	opacity: 0.04;
	pointer-events: none;
}

/* Glow blob on shipping */
.woocommerce-checkout .col2-set .col-2::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 180px;
	height: 180px;
	filter: blur(60px);
	bottom: -40px;
	left: -40px;
	background: var(--prism-violet);
	opacity: 0.04;
	pointer-events: none;
}

/* Headings inside panels don't need extra margin */
.woocommerce-checkout .col2-set h3 {
	margin-top: 0;
}

/* ---- Coupon, login, register forms ---- */
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 0;
	padding: 1.8rem;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	position: relative;
	overflow: hidden;
}

.woocommerce form.checkout_coupon::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 120px;
	height: 120px;
	filter: blur(50px);
	top: -30px;
	left: -30px;
	background: var(--prism-yellow);
	opacity: 0.04;
	pointer-events: none;
}

/* ---- Labels ---- */
.woocommerce form .form-row label {
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mid);
	margin-bottom: 0.3rem;
}

.woocommerce form .form-row .required {
	color: var(--prism-red);
}

/* ---- Form row spacing ---- */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
	margin-bottom: 1rem;
}

/* ---- Required fields notice ---- */
.woocommerce-checkout .woocommerce-billing-fields p:not(.form-row),
.woocommerce-checkout .woocommerce-shipping-fields p:not(.form-row) {
	font-family: var(--mono);
	font-size: 0.65rem;
	color: var(--dim);
	letter-spacing: 0.05em;
}

/* ---- Order review heading ---- */
.woocommerce-checkout #order_review_heading {
	font-size: 1.3rem;
	margin-top: 0.5rem;
}

/* ---- Order review panel ---- */
.woocommerce-checkout .woocommerce-checkout-review-order {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 2rem;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	margin-bottom: 2rem;
}

/* Glow blob */
.woocommerce-checkout .woocommerce-checkout-review-order::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 200px;
	height: 200px;
	filter: blur(70px);
	top: -50px;
	right: -50px;
	background: var(--prism-cyan);
	opacity: 0.04;
	pointer-events: none;
}

/* ---- Review order table ---- */
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
	border: none;
	background: transparent;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th {
	background: transparent;
	font-family: var(--mono);
	font-size: 0.6rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--prism-cyan);
	padding: 0.8rem 0;
	border-bottom: 1px solid var(--border);
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
	background: transparent;
	color: var(--text);
	font-size: 0.85rem;
	padding: 0.8rem 0;
	border-bottom: 1px solid var(--border);
}

/* Product name in review */
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name {
	font-family: var(--font);
	font-weight: 300;
	color: var(--mid);
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name .product-quantity {
	color: var(--dim);
	font-family: var(--mono);
	font-size: 0.75rem;
}

/* Price in review */
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total {
	font-family: var(--mono);
	font-weight: 600;
	color: var(--prism-cyan);
	text-align: right;
}

/* Subtotal row */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal th {
	color: var(--dim);
	font-weight: 400;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td {
	font-family: var(--mono);
	text-align: right;
}

/* Shipping row */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping th {
	color: var(--dim);
	font-weight: 400;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td {
	font-family: var(--mono);
	font-size: 0.8rem;
	text-align: right;
}

/* Order total — emphasized */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th {
	color: var(--text);
	font-weight: 600;
	font-size: 0.7rem;
	padding-top: 1.2rem;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td {
	font-family: var(--mono);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--prism-cyan);
	text-shadow: 0 0 20px rgba(0, 170, 255, 0.2);
	text-align: right;
	padding-top: 1.2rem;
}

/* ---- Payment section ---- */
.woocommerce-checkout #payment {
	background: transparent;
	border: none;
	border-radius: 0;
	margin-top: 1.5rem;
}

.woocommerce-checkout #payment ul.payment_methods {
	border: 1px solid var(--border);
	background: rgba(0, 0, 0, 0.15);
	padding: 1.2rem 1.5rem;
	margin-bottom: 0;
	list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
	color: var(--text);
	padding: 0.5rem 0;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	cursor: pointer;
}

/* Radio buttons */
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	accent-color: var(--prism-cyan);
}

.woocommerce-checkout #payment div.payment_box {
	background: rgba(0, 170, 255, 0.03);
	color: var(--mid);
	font-size: 0.8rem;
	line-height: 1.7;
	border: 1px solid rgba(0, 170, 255, 0.08);
	margin-top: 0.5rem;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: rgba(0, 170, 255, 0.03);
}

/* Place order section */
.woocommerce-checkout #payment div.place-order {
	padding: 1.5rem 0 0;
}

/* Place order button — prominent btn-prism */
.woocommerce-checkout #payment #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.1rem 2rem;
	font-family: var(--mono);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bg);
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue), var(--prism-violet));
	border: none;
	clip-path: polygon(1% 0%, 100% 2.5%, 99% 100%, 0% 97.5%);
	cursor: pointer;
	transition: all 0.4s var(--ease);
}

.woocommerce-checkout #payment #place_order:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 35px rgba(0, 170, 255, 0.25), 0 6px 20px rgba(136, 0, 255, 0.15);
}

/* Terms & conditions / privacy text */
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	font-family: var(--mono);
	font-size: 0.65rem;
	color: var(--dim);
	letter-spacing: 0.03em;
	margin-bottom: 1rem;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a {
	color: var(--prism-cyan);
	text-decoration: none;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a:hover {
	text-decoration: underline;
}

/* ---- Checkout form validation ---- */
.woocommerce form .form-row.woocommerce-invalid .select2-container,
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--prism-red);
}

.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--prism-green);
}

/* ==============================================
   My Account
   ============================================== */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid var(--border);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.8rem 1.2rem;
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mid);
	text-decoration: none;
	transition: color 0.3s var(--ease), background 0.3s var(--ease);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--text);
	background: rgba(255, 255, 255, 0.02);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--prism-cyan);
	border-left: 2px solid var(--prism-cyan);
	background: rgba(0, 170, 255, 0.03);
}

.woocommerce-account .woocommerce-MyAccount-content {
	color: var(--text);
	font-size: 0.9rem;
	line-height: 1.7;
}

.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--prism-cyan);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
	text-decoration: underline;
}

/* ---- Account tables (orders etc) ---- */
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.woocommerce-table {
	background: var(--card);
	border: 1px solid var(--border);
	border-collapse: collapse;
}

.woocommerce-account table th {
	background: rgba(0, 170, 255, 0.05);
	font-family: var(--mono);
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--prism-cyan);
	padding: 0.8rem;
	border-bottom: 1px solid var(--border);
}

.woocommerce-account table td {
	color: var(--text);
	font-size: 0.85rem;
	padding: 0.8rem;
	border-bottom: 1px solid var(--border);
}

/* ==============================================
   WC Block components — Cart (Gutenberg)
   ============================================== */

/* ---- Cart block layout ---- */
/* Cart base text color - lásd: végleges override 2744-2746 */

/* ---- Cart items panel (main) ---- */
.wc-block-cart .wc-block-cart__main {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 2rem 2.2rem;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

/* ---- Cart item rows ---- */
.wc-block-cart-items .wc-block-cart-items__row {
	border-bottom: 1px solid var(--border);
	padding: 1.4rem 0.5rem;
	transition: background 0.3s var(--ease);
	border-radius: 0;
}

.wc-block-cart-items .wc-block-cart-items__row:hover {
	background: rgba(255, 255, 255, 0.01);
}

.wc-block-cart-items .wc-block-cart-items__row:last-child {
	border-bottom: none;
}

/* ---- Product image ---- */
.wc-block-cart-items .wc-block-cart-item__image img {
	border: 1px solid var(--border);
	transition: border-color 0.3s var(--ease);
}

.wc-block-cart-items .wc-block-cart-items__row:hover .wc-block-cart-item__image img {
	border-color: rgba(0, 170, 255, 0.2);
}

/* ---- Product name ---- */
.wc-block-components-product-name {
	color: var(--text);
	text-decoration: none;
	font-family: var(--font);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	transition: color 0.3s var(--ease);
}

.wc-block-components-product-name:hover {
	color: var(--prism-cyan);
}

/* ---- Product metadata (variations) ---- */
.wc-block-components-product-metadata {
	font-family: var(--mono);
	font-size: 0.7rem;
	color: var(--dim);
}

.wc-block-components-product-metadata .wc-block-components-product-metadata__description {
	color: var(--dim);
}

/* ---- Product price ---- */
.wc-block-components-product-price {
	color: var(--prism-cyan);
	font-family: var(--mono);
	font-weight: 600;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-product-price {
	text-shadow: 0 0 15px rgba(0, 170, 255, 0.15);
}

/* Sale / original price */
.wc-block-components-product-price__regular {
	color: var(--dim);
}

.wc-block-components-sale-badge {
	background: linear-gradient(135deg, var(--prism-magenta), var(--prism-red));
	color: #fff;
	font-family: var(--mono);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	border: none;
	border-radius: 0;
}

/* ---- Quantity selector ---- */
.wc-block-components-quantity-selector {
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 0;
	transition: border-color 0.3s var(--ease);
}

.wc-block-components-quantity-selector:focus-within {
	border-color: var(--prism-cyan);
	box-shadow: 0 0 0 2px rgba(0, 170, 255, 0.15);
}

.wc-block-components-quantity-selector input {
	background: transparent;
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.85rem;
}

.wc-block-components-quantity-selector button {
	color: var(--mid);
	background: transparent;
	border: none;
	transition: color 0.3s var(--ease);
}

.wc-block-components-quantity-selector button:hover {
	color: var(--prism-cyan);
}

/* ---- Remove link ---- */
.wc-block-cart-item__remove-link {
	color: var(--dim) !important;
	font-family: var(--mono);
	font-size: 0.65rem;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: color 0.3s var(--ease);
}

.wc-block-cart-item__remove-link:hover {
	color: var(--prism-red) !important;
}

/* ---- Cart sidebar (totals) panel ---- */
.wc-block-cart .wc-block-cart__sidebar {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 2rem;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	align-self: flex-start;
}

/* ---- Totals ---- */
.wc-block-components-totals-wrapper {
	border-color: var(--border);
}

.wc-block-components-totals-item__label {
	color: var(--dim);
	font-family: var(--mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wc-block-components-totals-item__value {
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.95rem;
}

/* Footer total (grand total) — emphasized */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--text);
	font-weight: 600;
	font-size: 0.8rem;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--prism-cyan);
	font-size: 1.5rem;
	font-weight: 600;
	text-shadow: 0 0 25px rgba(0, 170, 255, 0.25);
}

/* Subtotal heading in sidebar */
.wc-block-cart .wc-block-components-totals-wrapper:first-child {
	position: relative;
	padding-bottom: 1rem;
}

/* ---- Shipping options ---- */
.wc-block-components-shipping-rates-control__package {
	border-color: var(--border);
}

.wc-block-components-radio-control__option {
	color: var(--text);
}

.wc-block-components-radio-control__label {
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.8rem;
}

.wc-block-components-radio-control__description {
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.7rem;
}

.wc-block-components-radio-control__secondary-label {
	color: var(--prism-cyan);
	font-family: var(--mono);
}

/* Radio button accent */
.wc-block-components-radio-control input[type="radio"] {
	accent-color: var(--prism-cyan);
}

/* ---- Coupon/discount panel ---- */
.wc-block-components-totals-coupon__content {
	gap: 0.5rem;
}

.wc-block-components-totals-coupon__content input {
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.75rem;
	border-radius: 0;
}

.wc-block-components-totals-coupon__content input:focus {
	border-color: var(--prism-cyan);
	box-shadow: 0 0 0 2px rgba(0, 170, 255, 0.15);
	outline: none;
}

.wc-block-components-totals-coupon__content button {
	background: transparent;
	border: 1px solid var(--border);
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 0;
	clip-path: polygon(0% 4%, 98% 0%, 100% 96%, 2% 100%);
	transition: all 0.3s var(--ease);
}

.wc-block-components-totals-coupon__content button:hover {
	color: var(--text);
	border-color: rgba(255, 255, 255, 0.12);
}

/* Coupon toggle link */
.wc-block-components-totals-coupon-link {
	color: var(--prism-cyan) !important;
	font-family: var(--mono);
	font-size: 0.7rem;
}

/* ---- Proceed to checkout button ---- */
.wc-block-cart__submit-container {
	padding-top: 1.5rem;
}

.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.1rem 2rem;
	font-family: var(--mono);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bg);
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue), var(--prism-violet));
	background-size: 200% 200%;
	animation: prismShift 6s ease infinite;
	border: none;
	border-radius: 0;
	clip-path: polygon(1.5% 0%, 100% 3%, 98.5% 100%, 0% 97%);
	transition: all 0.4s var(--ease);
}

.wc-block-cart__submit-button:hover,
.wc-block-components-button.wc-block-cart__submit-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 35px rgba(0, 170, 255, 0.3), 0 6px 20px rgba(136, 0, 255, 0.2);
}

/* ---- Additional "+" button (add coupon etc) ---- */
.wc-block-cart .wc-block-components-panel__button {
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
}

.wc-block-cart .wc-block-components-panel__button:hover {
	color: var(--prism-cyan);
}

/* Panel icons */
.wc-block-cart .wc-block-components-panel__button svg {
	fill: var(--mid);
}

/* ---- Empty cart ---- */
.wc-block-cart--is-empty {
	color: var(--mid);
	text-align: center;
}

.wc-block-cart--is-empty .wc-block-cart__empty-cart__title {
	font-family: var(--font);
	font-weight: 200;
	text-transform: uppercase;
	color: var(--text);
}

/* ==============================================
   WC Block components — Checkout (Gutenberg)
   ============================================== */

/* ---- Checkout layout ---- */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
	color: var(--text);
}

/* ---- Checkout main (form) panel ---- */
/* clip-path-ot az amorf.js kezeli */
.wc-block-checkout .wc-block-checkout__main,
.wc-block-checkout__main.wc-block-components-main {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 2.5rem;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	transition: border-color 0.4s;
}

.wc-block-checkout .wc-block-checkout__main:hover,
.wc-block-checkout__main.wc-block-components-main:hover {
	border-color: rgba(255, 255, 255, 0.08);
}

/* ---- Checkout steps ---- */
.wc-block-components-checkout-step {
	border-color: var(--border);
}

.wc-block-components-checkout-step__heading {
	font-family: var(--font);
	font-weight: 200;
	font-size: 1.15rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--text);
}

.wc-block-components-checkout-step__heading::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	margin-top: 0.6rem;
	background: linear-gradient(90deg, var(--prism-cyan), var(--prism-magenta), transparent);
}

.wc-block-components-checkout-step__description {
	color: var(--dim);
	font-family: var(--mono);
	font-size: 0.7rem;
}

/* Step number badges */
.wc-block-components-checkout-step__container::before {
	color: var(--prism-cyan);
}

/* ---- Text inputs ---- */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea {
	background: var(--bg) !important;
	border: 1px solid var(--border) !important;
	border-radius: 0 !important;
	color: var(--text) !important;
	font-family: var(--mono) !important;
	font-size: 0.85rem !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus {
	border-color: var(--prism-cyan);
	box-shadow: 0 0 0 2px rgba(0, 170, 255, 0.15);
}

.wc-block-components-text-input label {
	color: var(--text) !important;
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* Active/focused label - lásd: végleges override 2653-2656 */

/* ---- Select / Combobox ---- */
/* Wrapper-ek nullázása (wc-block egyes + wc-blocks többes variáns) */
.wc-block-components-select-input,
.wc-block-components-select-input *:not(select),
.wc-block-components-combobox,
.wc-block-components-combobox *:not(input),
.wc-blocks-components-select,
.wc-blocks-components-select *:not(select) {
	background: transparent !important;
	border-radius: 0 !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Csak az input/select kapja meg a tényleges stílust */
.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-combobox input[role="combobox"],
.wc-block-components-select-input select,
.wc-blocks-components-select__select {
	background: var(--bg) !important;
	border: 1px solid var(--border) !important;
	color: var(--text) !important;
	font-family: var(--mono) !important;
	border-radius: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background-clip: padding-box !important;
}

.wc-block-components-combobox .components-combobox-control input:focus,
.wc-block-components-select-input select:focus {
	border-color: var(--prism-cyan);
	box-shadow: 0 0 0 2px rgba(0, 170, 255, 0.15);
}

/* ---- Checkbox ---- */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	accent-color: var(--prism-cyan);
}

.wc-block-components-checkbox .wc-block-components-checkbox__label {
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.75rem;
}

/* ---- Checkout sidebar (order summary) ---- */
/* Wrapper elem - csak layout, vizuális stílusok a gyerek [data-block-name] elemen */
.wc-block-checkout .wc-block-checkout__sidebar,
.wc-block-checkout__sidebar.wc-block-components-sidebar {
	position: relative;
	align-self: start;
}

/* ---- Order summary heading ("Rendelés összesítő") ---- */
.wc-block-checkout .wc-block-cart__totals-title,
.wc-block-checkout .wc-block-components-panel__button,
.wc-block-checkout .wc-block-checkout__sidebar h2 {
	font-family: var(--font);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--text);
	font-size: 1.1rem;
}

/* Prismatic underline on sidebar heading */
.wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-panel>h2 {
	padding-bottom: 0.8rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid transparent;
	background-image: linear-gradient(var(--card), var(--card)),
		linear-gradient(90deg, var(--prism-cyan), var(--prism-magenta), transparent);
	background-origin: padding-box, border-box;
	background-clip: padding-box, border-box;
}

/* ---- Order summary product items ---- */
.wc-block-components-order-summary .wc-block-components-order-summary-item {
	border-bottom: 1px solid var(--border);
	padding: 1rem 0;
	transition: background 0.3s var(--ease);
}

.wc-block-components-order-summary .wc-block-components-order-summary-item:last-child {
	border-bottom: none;
}

/* Product image — bigger, bordered */
.wc-block-components-order-summary-item__image {
	min-width: 56px;
}

.wc-block-components-order-summary-item__image img {
	border: 1px solid var(--border);
	transition: border-color 0.3s var(--ease);
}

.wc-block-components-order-summary-item:hover .wc-block-components-order-summary-item__image img {
	border-color: var(--prism-cyan);
}

/* Quantity badge */
.wc-block-components-order-summary-item__quantity {
	background: var(--prism-cyan);
	color: var(--bg);
	font-family: var(--mono);
	font-weight: 600;
	font-size: 0.65rem;
	border: none;
	border-radius: 0;
	min-width: 20px;
	min-height: 20px;
}

/* Product name */
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-family: var(--font);
	font-weight: 300;
	font-size: 0.9rem;
	color: var(--text);
	text-decoration: none;
	letter-spacing: 0.01em;
	display: block;
	margin-bottom: 0.3rem;
}

/* Product variation/meta details */
.wc-block-components-order-summary-item__description .wc-block-components-product-details {
	font-family: var(--mono);
	font-size: 0.65rem;
	color: var(--dim);
	letter-spacing: 0.04em;
}

/* Individual product price */
.wc-block-components-order-summary-item__total-price {
	font-family: var(--mono);
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--prism-cyan);
}

/* Individual product line price (when different from total) */
.wc-block-components-order-summary-item__individual-price {
	font-family: var(--mono);
	font-size: 0.7rem;
	color: var(--dim);
}

/* ---- Checkout sidebar totals ---- */
/* Prism separator between product list and totals */
.wc-block-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-totals-block {
	border-top: 1px solid var(--border);
	margin-top: 0.5rem;
	padding-top: 0.8rem;
	position: relative;
}

.wc-block-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-totals-block::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--prism-cyan), var(--prism-magenta), transparent);
}

/* Checkout totals — make labels and values consistent */
.wc-block-checkout .wc-block-components-totals-item__label {
	color: var(--dim);
	font-family: var(--mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wc-block-checkout .wc-block-components-totals-item__value {
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.95rem;
}

/* Grand total — prominent */
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--text);
	font-weight: 600;
	font-size: 0.8rem;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--prism-cyan);
	font-size: 1.4rem;
	font-weight: 600;
	text-shadow: 0 0 25px rgba(0, 170, 255, 0.25);
}

/* Coupon link in checkout sidebar */
.wc-block-checkout .wc-block-components-totals-coupon-link {
	color: var(--prism-cyan) !important;
	font-family: var(--mono);
	font-size: 0.7rem;
}

/* ---- Payment methods ---- */
.wc-block-components-payment-method-label {
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.8rem;
	letter-spacing: 0.05em;
}

.wc-block-components-payment-method-icons .wc-block-components-payment-method-icon {
	filter: brightness(0.9);
}

/* ---- Place order button ---- */
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.wc-block-components-checkout-place-order-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.2rem 2rem;
	font-family: var(--mono);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bg);
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue), var(--prism-violet));
	background-size: 200% 200%;
	animation: prismShift 6s ease infinite;
	border: none;
	border-radius: 0;
	clip-path: polygon(1% 0%, 100% 2.5%, 99% 100%, 0% 97.5%);
	transition: all 0.4s var(--ease);
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button.wc-block-components-checkout-place-order-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 35px rgba(0, 170, 255, 0.3), 0 6px 20px rgba(136, 0, 255, 0.2);
}

/* ---- Terms / privacy text ---- */
.wc-block-checkout__actions .wc-block-components-checkout-policies {
	font-family: var(--mono);
	font-size: 0.6rem;
	color: var(--dim);
}

.wc-block-checkout__actions .wc-block-components-checkout-policies a {
	color: var(--prism-cyan);
	text-decoration: none;
}

.wc-block-checkout__actions .wc-block-components-checkout-policies a:hover {
	text-decoration: underline;
}

/* ---- Validation errors ---- */
.wc-block-components-validation-error {
	color: var(--prism-red);
	font-family: var(--mono);
	font-size: 0.65rem;
}

.has-error .wc-block-components-text-input input,
.has-error .wc-block-components-text-input textarea {
	border-color: var(--prism-red);
}

/* ---- Express payment ---- */
.wc-block-components-express-payment {
	border-color: var(--border);
}

.wc-block-components-express-payment__title-container {
	color: var(--dim);
	font-family: var(--mono);
	font-size: 0.7rem;
}

/* ---- General WC block notices ---- */
/* !important szükséges: WC saját CSS változói (--wp--preset--color--*)
   és inline stílusai felülírnák a sötét témát */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-warning {
	background: var(--card) !important;
	border: 1px solid var(--border) !important;
	border-radius: 0 !important;
	color: var(--text) !important;
	font-family: var(--mono);
	font-size: 0.8rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

.wc-block-components-notice-banner.is-error {
	border-left: 3px solid var(--prism-red) !important;
}

.wc-block-components-notice-banner.is-success {
	border-left: 3px solid var(--prism-green) !important;
}

.wc-block-components-notice-banner.is-info {
	border-left: 3px solid var(--prism-cyan) !important;
}

.wc-block-components-notice-banner.is-warning {
	border-left: 3px solid var(--prism-yellow) !important;
}

/* Notice ikon szín */
.wc-block-components-notice-banner .wc-block-components-notice-banner__icon,
.wc-block-components-notice-banner svg {
	color: inherit !important;
	fill: currentColor !important;
}

.wc-block-components-notice-banner.is-error svg {
	color: var(--prism-red) !important;
}

.wc-block-components-notice-banner.is-success svg {
	color: var(--prism-green) !important;
}

.wc-block-components-notice-banner.is-info svg,
.wc-block-components-notice-banner.is-warning svg {
	color: var(--prism-cyan) !important;
}

/* Bezárás gomb */
.wc-block-components-notice-banner button.wc-block-components-notice-banner__dismiss {
	color: var(--dim) !important;
	background: transparent !important;
}

.wc-block-components-notice-banner button.wc-block-components-notice-banner__dismiss:hover {
	color: var(--text) !important;
}

/* ---- Klasszikus WC notice-ok (shortcode-s oldalakról maradhattak) ---- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	background: var(--card) !important;
	color: var(--text) !important;
	border-top-color: var(--border) !important;
}

/* ---- Misc block text ---- */
.wc-block-cart p,
.wc-block-checkout p {
	color: var(--mid);
}

.wc-block-cart a,
.wc-block-checkout a {
	color: var(--prism-cyan);
	text-decoration: none;
}

.wc-block-cart a:hover,
.wc-block-checkout a:hover {
	text-decoration: underline;
}

/* ---- Pagination ---- */
.woocommerce nav.woocommerce-pagination ul {
	border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	background: var(--card);
	border: 1px solid var(--border);
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.75rem;
	padding: 0.5rem 0.8rem;
	transition: all 0.3s var(--ease);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--card-hover);
	color: var(--text);
	border-color: rgba(255, 255, 255, 0.08);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: rgba(0, 170, 255, 0.08);
	border-color: var(--prism-cyan);
	color: var(--prism-cyan);
}

/* ---- Result count & ordering ---- */
.woocommerce .woocommerce-result-count {
	color: var(--dim);
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
}

.woocommerce .woocommerce-ordering select {
	background: var(--card);
	border: 1px solid var(--border);
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.75rem;
	padding: 0.5rem 0.8rem;
}

/* ---- Widgets (sidebar filters) ---- */
.woocommerce .widget_price_filter .ui-slider {
	background: var(--card);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue));
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
	background: var(--prism-cyan);
	border: none;
}

/* ---- Amorf panelek — MINDEN panel-szerű elem amorf hatással ---- */
/* Az amorf.js rárak clip-path-ot + glow-t; itt a panel háttér/keret/padding */

/* Nagy panelek (cart/checkout main/sidebar, product összefoglaló) */
.wc-block-cart__main[data-amorf-done],
.wc-block-cart__sidebar[data-amorf-done],
.wc-block-components-main[data-amorf-done],
.wc-block-components-sidebar[data-amorf-done],
.woocommerce div.product div.summary[data-amorf-done],
.woocommerce div.product div.images[data-amorf-done],
.woocommerce-MyAccount-navigation[data-amorf-done],
.woocommerce-MyAccount-content[data-amorf-done],
.woocommerce div.product section.related[data-amorf-done],
.woocommerce div.product section.upsells[data-amorf-done],
.woocommerce-cart .cross-sells[data-amorf-done] {
	background: var(--card);
	border: 1px solid var(--border);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	padding: 2.5rem 2.2rem;
	position: relative;
	overflow: hidden;
	transition: border-color 0.4s;
}

/* Termékkártyák (shop oldal) — kisebb padding */
.woocommerce ul.products li.product[data-amorf-done] {
	background: var(--card);
	border: 1px solid var(--border);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	padding: 1.2rem;
	position: relative;
	overflow: hidden;
	transition: border-color 0.4s, transform 0.4s var(--ease);
}

/* Thank You / Order szekciók */
.woocommerce-order-received .woocommerce-order-overview[data-amorf-done],
.woocommerce-order-received .woocommerce-customer-details[data-amorf-done],
.woocommerce-order-received table.woocommerce-table--order-details[data-amorf-done],
.wc-block-order-confirmation-summary[data-amorf-done],
.wc-block-order-confirmation-totals-wrapper[data-amorf-done] {
	background: var(--card);
	border: 1px solid var(--border);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	padding: 2rem;
	position: relative;
	overflow: hidden;
	transition: border-color 0.4s;
}

/* WC Notices amorf */
.woocommerce-notices-wrapper .woocommerce-message[data-amorf-done],
.woocommerce-notices-wrapper .woocommerce-error[data-amorf-done],
.woocommerce-notices-wrapper .woocommerce-info[data-amorf-done] {
	position: relative;
	overflow: hidden;
	transition: border-color 0.4s;
}

/* ==============================================
   Responsive (768px)
   ============================================== */
@media (max-width: 768px) {
	.wc-main {
		padding: 4.5rem 1rem 3rem;
	}

	.mfhu-main:has(.wc-block-cart),
	.mfhu-main:has(.wc-block-checkout),
	.mfhu-main:has(.wp-block-woocommerce-cart),
	.mfhu-main:has(.wp-block-woocommerce-checkout) {
		padding: 4.5rem 1rem 3rem;
	}

	.mfhu-subpage-content:has(.wc-block-cart),
	.mfhu-subpage-content:has(.wc-block-checkout),
	.mfhu-subpage-content:has(.wp-block-woocommerce-cart),
	.mfhu-subpage-content:has(.wp-block-woocommerce-checkout) {
		max-width: 100%;
	}

	/* ---- Product cards ---- */
	.woocommerce ul.products li.product {
		padding: 0.8rem;
	}

	/* ---- Single product ---- */
	.woocommerce div.product div.summary {
		padding: 1.5rem 1.2rem;
	}

	.woocommerce div.product .product_title {
		font-size: 1.3rem;
	}

	.woocommerce div.product p.price,
	.woocommerce div.product span.price {
		font-size: 1.3rem;
	}

	.woocommerce div.product form.cart {
		flex-direction: column;
	}

	.woocommerce div.product form.cart .single_add_to_cart_button {
		width: 100%;
		justify-content: center;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		padding: 0.6rem 0.8rem;
		font-size: 0.6rem;
	}

	/* ---- Cart ---- */
	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding: 0.7rem 0.5rem;
		font-size: 0.75rem;
	}

	/* Hide thumbnail column on mobile */
	.woocommerce-cart table.shop_table .product-thumbnail {
		display: none;
	}

	/* Coupon stacking */
	.woocommerce .coupon {
		flex-direction: column;
		width: 100%;
	}

	.woocommerce .coupon input[type="text"] {
		width: 100%;
	}

	.woocommerce-cart table.shop_table td.actions {
		padding: 1rem 0.5rem;
	}

	.woocommerce-cart table.shop_table td.actions>.button {
		float: none;
		width: 100%;
		margin-top: 0.5rem;
	}

	.woocommerce .cart_totals,
	.woocommerce-page .cart_totals {
		padding: 1.2rem;
	}

	.woocommerce .cart_totals table tr.order-total td {
		font-size: 1.1rem;
	}

	/* ---- Checkout ---- */
	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 {
		padding: 1.2rem;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order {
		padding: 1.2rem;
	}

	.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td {
		font-size: 1.1rem;
	}

	.woocommerce-checkout #payment ul.payment_methods {
		padding: 1rem;
	}

	.woocommerce-checkout #payment #place_order {
		font-size: 0.7rem;
		padding: 1rem 1.5rem;
	}

	/* ---- My Account ---- */
	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 1.5rem;
	}

	/* ---- WC Block Cart ---- */
	.wc-block-cart .wc-block-cart__main,
	.wc-block-cart .wc-block-cart__sidebar {
		padding: 1.2rem;
	}

	.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
		font-size: 1.2rem;
	}

	/* ---- WC Block Checkout ---- */
	.wc-block-checkout .wc-block-checkout__main,
	.wc-block-checkout__main.wc-block-components-main {
		padding: 1.5rem;
	}

	/* Checkout sidebar wrapper - mobilon nincs padding (layout elem) */

	/* Order summary items on mobile */
	.wc-block-components-order-summary-item__description .wc-block-components-product-name {
		font-size: 0.8rem;
	}

	.wc-block-components-order-summary-item__total-price {
		font-size: 0.8rem;
	}

	.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
		font-size: 1.2rem;
	}

	.wc-block-components-checkout-place-order-button,
	.wc-block-components-button.wc-block-components-checkout-place-order-button {
		font-size: 0.7rem;
		padding: 1rem 1.5rem;
	}

	.wc-block-cart__submit-button,
	.wc-block-components-button.wc-block-cart__submit-button {
		font-size: 0.7rem;
		padding: 1rem 1.5rem;
	}
}

/* ==============================================
   Design & Readability Fixes (checkout/cart)
   Improved contrast & typography alignment with main theme
   ============================================== */

/* Active state label-ek kiemelése */
.wc-block-components-text-input.is-active label {
	color: var(--prism-cyan) !important;
	font-weight: 600;
}

/* Link-ek egységes színe */
.wc-block-cart a:not(.wc-block-components-button),
.wc-block-checkout a:not(.wc-block-components-button) {
	color: var(--prism-cyan) !important;
	text-decoration: none;
	transition: color 0.3s var(--ease);
}

.wc-block-cart a:not(.wc-block-components-button):hover,
.wc-block-checkout a:not(.wc-block-components-button):hover {
	color: var(--prism-magenta) !important;
	text-decoration: underline;
}

/* Privacy & policy szövegek */
.wc-block-checkout__actions .wc-block-components-checkout-policies {
	color: var(--mid) !important;
}

/* Táblázat elemek specifikus formázása */
.woocommerce table.shop_table td.product-name dl.variation,
.woocommerce table.shop_table td.product-name dl.variation dt,
.woocommerce table.shop_table td.product-name dl.variation dd {
	color: var(--mid) !important;
}

.woocommerce-checkout .woocommerce-shipping-fields p:not(.form-row),
.woocommerce-checkout .woocommerce-billing-fields p:not(.form-row) {
	color: var(--mid) !important;
}

.woocommerce-checkout table td.product-name .product-quantity {
	color: var(--mid) !important;
}

/* Tab navigation */
.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active) a {
	color: var(--mid) !important;
}

/* ============================================================================
   SZÍN OVERRIDE — WC Blocks sötét téma
   A WC Blocks saját inline/preset színeket hoz — itt egységesen felülírjuk.
   ============================================================================ */

/* Alap szín a cart/checkout konténereken */
.wc-block-checkout,
.wc-block-cart {
	color: var(--text) !important;
}

/* Szekció címsorok */
.wc-block-components-checkout-step__heading,
.wc-block-components-checkout-step h2,
.wc-block-components-checkout-step h3,
.wc-block-checkout .wc-block-components-checkout-step__title,
.wc-block-components-checkout-step legend {
	color: var(--text) !important;
	opacity: 1 !important;
}

/* Form label-ek */
.wc-block-components-text-input label,
.wc-block-components-select-input label,
.wc-block-components-combobox label,
.wc-block-checkout label,
.wc-block-cart label,
.woocommerce-checkout label,
.woocommerce form label {
	color: var(--text) !important;
	opacity: 1 !important;
}

/* Checkbox/radio label-ek (halványabb) */
.wc-block-components-checkbox label,
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label,
input[type="checkbox"] + label,
input[type="radio"] + label {
	color: var(--mid) !important;
	opacity: 1 !important;
}

/* Általános szövegek — öröklik a szülő --text színét */
.wc-block-checkout p,
.wc-block-checkout span,
.wc-block-checkout div,
.wc-block-checkout li,
.wc-block-cart p,
.wc-block-cart span,
.wc-block-cart div,
.wc-block-cart li {
	color: inherit !important;
}

/* Notice banner */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner * {
	color: var(--text) !important;
	opacity: 1 !important;
}

/* ==============================================
   Mini Cart Widget / Drawer
   ============================================== */

.wc-block-mini-cart__drawer {
	background: var(--bg);
	color: var(--text);
	border-left: 1px solid var(--border);
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__screen-overlay {
	background: rgba(0, 0, 5, 0.7);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	font-family: var(--font);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--text);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__close-button {
	color: var(--dim);
	transition: color 0.3s;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__close-button:hover {
	color: var(--text);
}

/* Mini cart items */
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table {
	border: none;
}

.wc-block-mini-cart__drawer .wc-block-cart-items__row {
	border-bottom: 1px solid var(--border);
	padding: 1rem 0;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name {
	color: var(--text);
	font-family: var(--font);
	font-weight: 300;
	text-transform: uppercase;
	font-size: 0.85rem;
	text-decoration: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-price {
	color: var(--prism-cyan);
	font-family: var(--mono);
	font-weight: 600;
}

/* Mini cart quantity selector */
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 0;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input {
	color: var(--text);
	background: transparent;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector button {
	color: var(--mid);
	background: transparent;
	border: none;
}

/* Mini cart footer */
.wc-block-mini-cart__footer {
	border-top: 1px solid var(--border);
	background: var(--card);
	padding: 1.2rem;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-subtotal {
	font-family: var(--mono);
	color: var(--text);
}

.wc-block-mini-cart__footer .wc-block-components-totals-item__value {
	color: var(--prism-cyan);
	font-weight: 600;
	text-shadow: 0 0 15px rgba(0, 170, 255, 0.15);
}

/* View Cart button (outline) */
.wc-block-mini-cart__footer .wc-block-components-button.outlined {
	background: transparent;
	color: var(--mid);
	border: 1px solid var(--border);
	border-radius: 0;
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: all 0.4s var(--ease);
}

.wc-block-mini-cart__footer .wc-block-components-button.outlined:hover {
	color: var(--text);
	border-color: rgba(255, 255, 255, 0.12);
}

/* Checkout button (filled) */
.wc-block-mini-cart__footer .wc-block-components-button:not(.outlined) {
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue), var(--prism-violet));
	color: var(--bg);
	border: none;
	border-radius: 0;
	font-family: var(--mono);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	transition: all 0.4s var(--ease);
}

.wc-block-mini-cart__footer .wc-block-components-button:not(.outlined):hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(0, 170, 255, 0.2);
}

/* Mini cart badge */
.wc-block-mini-cart__badge {
	background: linear-gradient(135deg, var(--prism-magenta), var(--prism-red));
	color: #fff;
	font-family: var(--mono);
	font-size: 0.55rem;
	font-weight: 700;
}

/* Mini cart empty state */
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper {
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.85rem;
	text-align: center;
}

/* ==============================================
   Thank You / Order Confirmation
   ============================================== */

/* ---- Klasszikus order-received ---- */
.woocommerce-order-received .woocommerce-thankyou-order-received {
	color: var(--prism-green);
	font-family: var(--mono);
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	padding: 1.5rem;
	background: var(--card);
	border: 1px solid var(--border);
	border-left: 3px solid var(--prism-green);
	margin-bottom: 2rem;
}

/* Order overview */
.woocommerce-order-received .woocommerce-order-overview {
	list-style: none;
	padding: 1.5rem;
	margin: 0 0 2rem;
	background: var(--card);
	border: 1px solid var(--border);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1rem;
}

.woocommerce-order-received .woocommerce-order-overview li {
	font-family: var(--mono);
	font-size: 0.75rem;
	color: var(--dim);
	letter-spacing: 0.05em;
}

.woocommerce-order-received .woocommerce-order-overview li strong {
	display: block;
	color: var(--text);
	font-size: 0.9rem;
	margin-top: 0.3rem;
}

/* Order details table */
.woocommerce-order-received table.woocommerce-table--order-details {
	background: var(--card);
	border: 1px solid var(--border);
	border-collapse: collapse;
	width: 100%;
}

.woocommerce-order-received table.woocommerce-table--order-details th {
	background: rgba(0, 170, 255, 0.05);
	font-family: var(--mono);
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--prism-cyan);
	padding: 0.8rem 1rem;
	border: 1px solid var(--border);
}

.woocommerce-order-received table.woocommerce-table--order-details td {
	color: var(--text);
	font-size: 0.85rem;
	padding: 0.8rem 1rem;
	border: 1px solid var(--border);
}

.woocommerce-order-received table.woocommerce-table--order-details tfoot th {
	color: var(--dim);
	font-weight: 400;
}

.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
	font-family: var(--mono);
}

.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td {
	color: var(--prism-cyan);
	font-weight: 600;
	font-size: 1.1rem;
	text-shadow: 0 0 15px rgba(0, 170, 255, 0.15);
}

/* Customer details */
.woocommerce-order-received .woocommerce-customer-details {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 1.5rem;
	margin-top: 2rem;
}

.woocommerce-order-received .woocommerce-customer-details h2 {
	font-family: var(--font);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 1.15rem;
	margin-bottom: 1rem;
}

.woocommerce-order-received .woocommerce-customer-details address {
	font-family: var(--mono);
	font-size: 0.8rem;
	color: var(--mid);
	line-height: 1.8;
	font-style: normal;
}

/* ---- Block-alapú order confirmation (WC 8.x+) ---- */
.wc-block-order-confirmation-status {
	color: var(--prism-green);
	font-family: var(--font);
	font-weight: 200;
}

.wc-block-order-confirmation-summary {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 1.5rem;
}

.wc-block-order-confirmation-summary-list {
	font-family: var(--mono);
	font-size: 0.8rem;
	color: var(--mid);
}

.wc-block-order-confirmation-summary-list-item__key {
	color: var(--dim);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.65rem;
}

.wc-block-order-confirmation-summary-list-item__value {
	color: var(--text);
}

.wc-block-order-confirmation-totals-wrapper {
	background: var(--card);
	border: 1px solid var(--border);
}

.wc-block-order-confirmation-totals-wrapper .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--prism-cyan);
	font-weight: 600;
	text-shadow: 0 0 20px rgba(0, 170, 255, 0.2);
}

/* ==============================================
   Related / Upsell / Cross-sell (bővítés)
   ============================================== */

.woocommerce div.product section.related,
.woocommerce div.product section.upsells,
.woocommerce-cart .cross-sells {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--border);
}

.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
	position: relative;
	padding-bottom: 1rem;
}

.woocommerce div.product .related h2::after,
.woocommerce div.product .upsells h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 120px;
	height: 1px;
	background: linear-gradient(90deg, var(--prism-violet), transparent);
}

.woocommerce div.product section.related ul.products,
.woocommerce div.product section.upsells ul.products,
.woocommerce-cart .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1.2rem;
}

/* ==============================================
   WC Block Filters
   ============================================== */

/* Price filter slider */
.wc-block-price-filter .wc-block-components-price-slider__range-input-wrapper {
	background: var(--card);
}

.wc-block-price-filter .wc-block-components-price-slider__range-input-progress {
	background: linear-gradient(135deg, var(--prism-cyan), var(--prism-blue));
}

.wc-block-price-filter .wc-block-components-price-slider__amount {
	color: var(--text);
	font-family: var(--mono);
	font-size: 0.8rem;
}

/* Attribute / Rating / Stock filter checkboxes */
.wc-block-attribute-filter .wc-block-components-checkbox,
.wc-block-rating-filter .wc-block-components-checkbox,
.wc-block-stock-filter .wc-block-components-checkbox {
	color: var(--mid);
	font-size: 0.85rem;
}

.wc-block-attribute-filter .wc-block-components-checkbox__input,
.wc-block-rating-filter .wc-block-components-checkbox__input,
.wc-block-stock-filter .wc-block-components-checkbox__input {
	accent-color: var(--prism-cyan);
}

/* Active filters */
.wc-block-active-filters .wc-block-active-filters__clear-all {
	color: var(--prism-cyan);
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

.wc-block-active-filters .wc-block-active-filters__list-item {
	background: var(--card);
	border: 1px solid var(--border);
	color: var(--mid);
	font-family: var(--mono);
	font-size: 0.75rem;
	border-radius: 0;
}

/* Filter titles */
.wc-block-price-filter h3,
.wc-block-attribute-filter h3,
.wc-block-rating-filter h3,
.wc-block-stock-filter h3 {
	font-family: var(--font);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--text);
	font-size: 0.95rem;
}

/* Product Collection block */
.wc-block-product-template .wc-block-product {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 1.2rem;
	transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.4s var(--ease);
}

.wc-block-product-template .wc-block-product:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 170, 255, 0.06);
}

/* ==============================================
   Consent checkboxes — Registration + Checkout
   ============================================== */

.mfhu-consent-row {
	margin-bottom: 0.8rem !important;
}

.mfhu-consent-row label {
	display: flex !important;
	align-items: flex-start;
	gap: 0.6rem;
	cursor: pointer;
	font-family: var(--mono);
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--mid);
	letter-spacing: 0.02em;
}

.mfhu-consent-row input[type="checkbox"] {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	accent-color: var(--prism-cyan);
	cursor: pointer;
}

.mfhu-consent-row a {
	color: var(--prism-cyan);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s var(--ease);
}

.mfhu-consent-row a:hover {
	border-bottom-color: var(--prism-cyan);
}

.mfhu-consent-row .required {
	color: var(--prism-red);
}

.mfhu-checkout-consent {
	margin: 1.2rem 0;
	padding-top: 1rem;
	border-top: 1px solid var(--border);
}

/* ==============================================
   Responsive: Mini Cart & Thank You (768px)
   ============================================== */
@media (max-width: 768px) {
	.wc-block-mini-cart__footer {
		padding: 1rem;
	}

	.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr 1fr;
		padding: 1rem;
	}

	.woocommerce-order-received table.woocommerce-table--order-details th,
	.woocommerce-order-received table.woocommerce-table--order-details td {
		padding: 0.6rem;
		font-size: 0.8rem;
	}

	.woocommerce div.product section.related ul.products,
	.woocommerce div.product section.upsells ul.products {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
		gap: 0.8rem;
	}
}
