/*
 Theme Name:   LootKing (Bricks Child)
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/*
 * LootKing – styles for output that is not built from Bricks global classes:
 * shortcodes (inc/shop.php), WooCommerce markup, nav menu, mini cart, plugins.
 * Layout and page sections live in Bricks (global classes with the lk- prefix).
 */

/* ---------------------------------------------------------------- Base */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--royal);
	outline-offset: 2px;
}

/* Shortcode slots should not add a layout box */
.brxe-shortcode.lk-slot {
	display: contents;
}

/* ---------------------------------------------------------------- Badges, stock, meta */

.lk-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.lk-badge {
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--royal);
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.3;
}

.lk-badge--preorder { background: var(--primary); color: var(--ink); }
.lk-badge--sale { background: var(--cape); color: #fff; }
.lk-badge--last { background: #fff; color: var(--cape); }

.lk-stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--stock);
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.lk-stock::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: currentColor;
}

.lk-stock--preorder,
.lk-stock--backorder { color: var(--royal); }
.lk-stock--out { color: var(--muted); }

.lk-card-meta {
	display: block;
	color: var(--muted);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lk-row .lk-card-meta { font-size: 11px; }

.lk-card-details {
	display: block;
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
}

.lk-card__title,
.lk-row__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.lk-card__title { min-height: 2.6em; }

/* Prices: sale price shows the old price small and struck through */
:is(.lk-card__price, .lk-spot__price, .lk-row__price, .lk-product__price) del {
	margin-right: 6px;
	color: var(--muted);
	font-size: 0.62em;
	font-weight: 700;
}

:is(.lk-card__price, .lk-spot__price, .lk-row__price, .lk-product__price) ins {
	text-decoration: none;
}

/* ---------------------------------------------------------------- Buttons in product loops */

.lk-atc { width: 100%; }

.lk-atc .button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 0 18px;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: var(--primary);
	box-shadow: 0 3px 0 var(--outline);
	color: var(--ink);
	font-family: "Baloo 2", sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition: transform 0.1s, box-shadow 0.1s;
}

.lk-atc .button:hover { transform: translateY(-1px); box-shadow: 0 4px 0 var(--outline); }
.lk-atc .button:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--outline); }
.lk-atc .button.lk-preorder { background: var(--royal); color: #fff; }
.lk-atc .button.product_type_variable,
.lk-atc .button:not(.add_to_cart_button) { background: #fff; }
.lk-atc .button.loading { opacity: 0.7; }
.lk-atc .added_to_cart { display: none; }

.lk-atc--big { width: auto; }
.lk-atc--big .button {
	min-height: 54px;
	padding: 0 28px;
	border-width: 3px;
	box-shadow: 0 5px 0 var(--outline);
	font-size: 20px;
}

/* ---------------------------------------------------------------- Header: search */

.lk-search {
	display: flex;
	align-items: center;
	padding: 3px 3px 3px 20px;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: #fff;
}

.lk-search:focus-within { box-shadow: 0 0 0 3px var(--gold-light); }

.lk-search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 40px;
	padding: 0;
	border: 0;
	outline: none;
	background: transparent;
	color: var(--ink);
	font-family: Nunito, sans-serif;
	font-size: 16px;
	font-weight: 700;
}

.lk-search input[type="search"]::placeholder { color: var(--muted); opacity: 1; }

.lk-search button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 999px;
	background: var(--royal);
	color: #fff;
	cursor: pointer;
}

/* ---------------------------------------------------------------- Header: mini cart */

.lk-header__cart .mini-cart-link {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 16px 0 14px;
	border-radius: 999px;
	background: var(--primary);
	color: var(--ink);
	font-family: "Baloo 2", sans-serif;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
}

.lk-header__cart .mini-cart-link i { font-size: 20px; }

.lk-header__cart .cart-count {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--cape);
	color: #fff;
	font-family: Nunito, sans-serif;
	font-size: 13px;
	font-weight: 900;
}

.lk-header__cart .cart-detail {
	border: 2px solid var(--outline);
	background: var(--parchment);
	color: var(--ink);
}

.lk-header__cart .woocommerce-mini-cart__buttons .button {
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	font-family: "Baloo 2", sans-serif;
	font-weight: 700;
}

.lk-header__cart .woocommerce-mini-cart__buttons .button.checkout {
	background: var(--primary);
	box-shadow: 0 3px 0 var(--outline);
}

/* ---------------------------------------------------------------- Header: main menu */

.lk-nav .bricks-nav-menu { gap: 2px; }

.lk-nav .bricks-nav-menu > li > a,
.lk-nav .bricks-nav-menu > li > .brx-submenu-toggle > * {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 12px;
	color: var(--ink);
	font-family: "Baloo 2", sans-serif;
	font-size: 18px;
	font-weight: 700;
}

.lk-nav .bricks-nav-menu > li > .brx-submenu-toggle > button { padding: 0 8px 0 0; }

.lk-nav .bricks-nav-menu .lk-menu-sale > a { color: var(--cape); }
.lk-nav .bricks-nav-menu a[href*="elorendeles"] { color: var(--royal); }

.lk-nav .sub-menu {
	min-width: 230px;
	padding: 8px;
	border: 2px solid var(--outline);
	border-radius: 16px;
	background: #fff;
	box-shadow: 4px 4px 0 var(--outline);
}

.lk-nav .sub-menu a {
	display: block;
	padding: 9px 12px;
	border-radius: 10px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 800;
}

.lk-nav .sub-menu a:hover { background: var(--gold-light); }

.lk-nav .bricks-mobile-menu-toggle { color: var(--ink); }

.lk-nav .bricks-mobile-menu-wrapper {
	background: var(--parchment);
	border-right: 2px solid var(--outline);
}

.lk-nav .bricks-mobile-menu a {
	color: var(--ink);
	font-family: "Baloo 2", sans-serif;
	font-size: 20px;
	font-weight: 700;
}

.lk-nav .bricks-mobile-menu .sub-menu a {
	font-family: Nunito, sans-serif;
	font-size: 16px;
	font-weight: 800;
}

/* ---------------------------------------------------------------- Brevo newsletter form */

.lk-news__form form { display: flex; flex-wrap: wrap; gap: 10px; }

.lk-news__form input[type="email"],
.lk-news__form input[type="text"] {
	flex: 1 1 200px;
	min-height: 52px;
	padding: 0 20px;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	font: 700 16px Nunito, sans-serif;
}

.lk-news__form :is(input[type="submit"], button) {
	min-height: 52px;
	padding: 0 24px;
	border: 3px solid var(--outline);
	border-radius: 999px;
	background: var(--royal);
	box-shadow: 0 4px 0 var(--outline);
	color: #fff;
	font: 700 19px "Baloo 2", sans-serif;
	cursor: pointer;
}

/* ---------------------------------------------------------------- Icon sizing (Bricks icon elements) */

.lk-icon-btn .brxe-icon,
.lk-icon-btn i { font-size: 22px; line-height: 1; }

.lk-btn .brxe-icon,
.lk-btn i { font-size: 17px; line-height: 1; }

/* Spotlight: "Kosárba" + "Részletek" side by side */
.lk-spot__actions > * { width: auto; flex: 0 0 auto; }
.lk-atc--big .button { width: auto; }

/* Mini cart: count inside the gold pill (beats Bricks' absolute badge) */
.lk-header__cart.brxe-woocommerce-mini-cart .mini-cart-link .cart-count {
	position: static;
	transform: none;
	inset: auto;
}

/* Main menu: tighter dropdown toggles */
.lk-nav .bricks-nav-menu > li > .brx-submenu-toggle { gap: 0; }
.lk-nav .bricks-nav-menu > li > .brx-submenu-toggle > button {
	min-height: 44px;
	padding: 0 6px 0 0;
	margin-left: -6px;
	color: var(--ink);
}

.lk-admin-hint {
	margin: 0;
	padding: 12px 16px;
	border: 2px dashed var(--outline);
	border-radius: 14px;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
}

/* ---------------------------------------------------------------- Mobile header: logo · icons · menu button, search below */

@media (max-width: 767px) {
	.lk-header { position: relative; }


	.lk-nav .bricks-mobile-menu-toggle { width: 30px; }

	.lk-header__cart .mini-cart-link { min-height: 40px; padding: 0 10px; gap: 6px; }
	.lk-header__cart .mini-cart-link i { font-size: 18px; }

	.lk-row .lk-card-meta { display: none; }
}



/* ================================================================ Shop pages */

/* ---------------------------------------------------------------- Breadcrumbs */

.lk-crumbs .navigation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	color: var(--ink);
	font-size: 14px;
	font-weight: 800;
}

.lk-crumbs a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.lk-crumbs .separator::before { content: "/"; margin: 0 8px; opacity: 0.55; }

/* ---------------------------------------------------------------- Category chips */

.lk-chips { display: flex; flex-wrap: wrap; gap: 10px; }

.lk-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	font-family: "Baloo 2", sans-serif;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
}

.lk-chip:hover { background: var(--gold-light); }
.lk-chip.is-active { background: var(--outline); color: var(--parchment); }

/* ---------------------------------------------------------------- Filters */

.lk-filters fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.lk-filters ul { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }

.lk-filters label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 4px 0;
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}

.lk-filters input[type="checkbox"] {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--royal);
}

.lk-filters .brx-option-count { margin-left: auto; color: var(--muted); font-weight: 700; }

.lk-filters .min-max-wrap { display: flex; gap: 8px; }
.lk-filters .min-max-wrap > div { flex: 1; min-width: 0; }

.lk-filters .min-max-wrap input {
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 2px solid var(--outline);
	border-radius: 12px;
	background: #fff;
	color: var(--ink);
	font: 700 15px Nunito, sans-serif;
}

.lk-filters button[class*="show-more"],
.lk-filters [class*="show-more"] button {
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--royal);
	font-size: 14px;
	font-weight: 900;
	text-decoration: underline;
	cursor: pointer;
}

/* Active filter chips */
.lk-cat__active { display: flex; flex-wrap: wrap; gap: 8px; }

.lk-cat__active :is(a, button) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 0 12px;
	border: 0;
	border-radius: 999px;
	background: var(--gold-light);
	color: var(--ink);
	font: 800 14px Nunito, sans-serif;
	cursor: pointer;
}

/* ---------------------------------------------------------------- Toolbar, pagination */

.lk-cat__count p,
.lk-cat__count .woocommerce-result-count { margin: 0; color: var(--ink); font-size: 15px; font-weight: 800; }

.lk-cat__orderby form { margin: 0; }

.lk-cat__orderby select {
	min-height: 44px;
	padding: 0 16px;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background-color: #fff;
	color: var(--ink);
	font: 800 15px Nunito, sans-serif;
}

.lk-pagination .bricks-pagination ul { display: flex; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }

.lk-pagination ul.page-numbers { all: unset; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; }

.lk-pagination .page-numbers:not(ul) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	height: 46px;
	padding: 0 12px;
	border: 2px solid var(--outline);
	border-radius: 14px;
	background: #fff;
	color: var(--ink);
	font: 700 18px "Baloo 2", sans-serif;
	text-decoration: none;
}

.lk-pagination .page-numbers.current { background: var(--outline); color: var(--parchment); }

/* ---------------------------------------------------------------- Single product */

.lk-product__gallery .lk-badges { top: 16px; left: 16px; }

.lk-product__gallery .woocommerce-product-gallery__wrapper,
.lk-product__gallery .flex-viewport {
	overflow: hidden;
	border: 2px solid var(--outline);
	border-radius: 24px;
	background: var(--gold-light);
}

/* Several images: FlexSlider turns the wrapper into a wide track – the frame belongs on the fixed viewport */
.lk-product__gallery .flex-viewport .woocommerce-product-gallery__wrapper {
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: none;
}

.lk-product__gallery .flex-control-thumbs { display: flex; gap: 12px; margin: 12px 0 0; padding: 0; list-style: none; }

.lk-product__gallery .flex-control-thumbs img {
	background: var(--gold-light);
	border: 2px solid var(--line);
	border-radius: 12px;
	cursor: pointer;
}

.lk-product__gallery .flex-control-thumbs img.flex-active { border-color: var(--outline); }

.lk-product__price .price { margin: 0; color: inherit; font: inherit; }

.lk-release {
	margin: 0;
	padding: 12px 16px;
	border-radius: 14px;
	background: var(--gold-light);
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
}

.lk-max-qty { margin: 0; color: var(--muted); font-size: 14px; font-weight: 800; }

/* Variations + condition swatches */
.lk-product__atc table.variations { width: 100%; margin: 0 0 12px; border: 0; border-collapse: collapse; }
.lk-product__atc table.variations :is(th, td) { display: block; padding: 0; border: 0; background: none; text-align: left; }
.lk-product__atc table.variations th label { color: var(--ink); font-size: 15px; font-weight: 900; }

.lk-product__atc .bricks-variation-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.lk-product__atc .bricks-swatch-button {
	min-height: 44px;
	padding: 0 16px;
	border: 2px solid var(--line);
	border-radius: 14px;
	background: #fff;
	color: var(--ink);
	font: 800 15px Nunito, sans-serif;
	cursor: pointer;
}

.lk-product__atc .bricks-variation-swatches li.bricks-swatch-selected .bricks-swatch-button {
	border-color: var(--outline);
	background: var(--gold-light);
	box-shadow: 0 3px 0 var(--outline);
}

.lk-product__atc .bricks-variation-swatches li:is(.disabled, .bricks-swatch-disabled) .bricks-swatch-button {
	opacity: 0.45;
	text-decoration: line-through;
	cursor: not-allowed;
}

.lk-product__atc .reset_variations {
	display: inline-block;
	margin-top: 8px;
	color: var(--royal);
	font-size: 14px;
	font-weight: 800;
}

.lk-product__atc .single_variation .price {
	margin: 0 0 6px;
	color: var(--ink);
	font: 700 30px "Baloo 2", sans-serif;
}

.lk-product__atc .woocommerce-variation-availability .stock { margin: 0 0 12px; color: var(--stock); font-weight: 800; }
.lk-product__atc .woocommerce-variation-availability .stock.out-of-stock { color: var(--muted); }

/* Quantity + add to cart */
.lk-product__atc :is(form.cart:not(.variations_form), .woocommerce-variation-add-to-cart) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.lk-product__atc .quantity {
	display: flex;
	align-items: center;
	height: 56px;
	overflow: hidden;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: #fff;
}

.lk-product__atc .quantity input.qty {
	width: 48px;
	height: 52px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ink);
	font: 700 22px "Baloo 2", sans-serif;
	text-align: center;
	-moz-appearance: textfield;
}

.lk-product__atc .quantity input.qty::-webkit-inner-spin-button,
.lk-product__atc .quantity input.qty::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

.lk-product__atc .quantity .action {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 52px;
	color: var(--ink);
	cursor: pointer;
}

.lk-product__atc .quantity .action svg { width: 18px; height: 18px; }
.lk-product__atc .quantity .minus { order: -1; }

.lk-product__atc .single_add_to_cart_button.button {
	flex: 1 1 220px;
	min-height: 60px;
	padding: 0 24px;
	border: 3px solid var(--outline);
	border-radius: 999px;
	background: var(--primary);
	box-shadow: 0 6px 0 var(--outline);
	color: var(--ink);
	font: 700 22px "Baloo 2", sans-serif;
	cursor: pointer;
}

.lk-product__atc .single_add_to_cart_button.button:is(.disabled, :disabled) { opacity: 0.55; cursor: not-allowed; }

/* Wishlist button */
.lk-product__wishlist .tinvwl_add_to_wishlist_button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--cape);
	font-size: 15px;
	font-weight: 900;
	text-decoration: none;
}

/* Condition guide */
.lk-guide {
	padding: 28px 32px;
	border: 2px solid var(--line);
	border-radius: 24px;
	background: #fff;
}

.lk-guide__title { margin: 0 0 18px; font: 700 30px/1.2 "Baloo 2", sans-serif; }
.lk-guide__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.lk-guide__item { display: flex; align-items: flex-start; gap: 14px; }

.lk-guide__code {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 36px;
	border-radius: 999px;
	background: var(--gold-light);
	color: var(--royal);
	font: 700 17px "Baloo 2", sans-serif;
}

.lk-guide__item p { margin: 4px 0 0; color: var(--muted); font-size: 15px; font-weight: 600; line-height: 1.5; }

/* Tabs */
.lk-product__tabs .wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	border-bottom: 2px solid var(--outline);
	list-style: none;
}

.lk-product__tabs .wc-tabs li {
	margin: 0 0 -2px;
	border: 2px solid var(--outline);
	border-bottom: 0;
	border-radius: 16px 16px 0 0;
	background: var(--parchment);
}

.lk-product__tabs .wc-tabs li.active { background: var(--primary); }

.lk-product__tabs .wc-tabs a {
	display: block;
	padding: 7px 18px;
	color: var(--ink);
	font: 700 16px/1.4 "Baloo 2", sans-serif;
	text-decoration: none;
}

.lk-product__tabs .panel {
	margin: 0;
	padding: 28px 32px;
	border: 2px solid var(--outline);
	border-top: 0;
	border-radius: 0 0 20px 20px;
	background: #fff;
}

.lk-product__tabs .shop_attributes { border: 0; }
.lk-product__tabs .shop_attributes :is(th, td) { padding: 8px 20px 8px 0; border: 0; background: none; text-align: left; }

/* ---------------------------------------------------------------- WooCommerce notices */

:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	margin: 0 0 16px;
	padding: 14px 18px;
	border: 2px solid var(--outline);
	border-radius: 16px;
	background: #fff;
	color: var(--ink);
	font-weight: 700;
	list-style: none;
}

.woocommerce-message { background: var(--gold-light); }
.woocommerce-error { background: var(--cape-light); }

@media (max-width: 767px) {
	.lk-guide,
	.lk-product__tabs .panel { padding: 20px; }
	.lk-chip { font-size: 15px; padding: 0 14px; }
}

/* Swatches: drop Bricks' default box around each option, lay them out in a row */
.lk-product__atc ul.bricks-variation-swatches { flex-direction: row; }

.lk-product__atc ul.bricks-variation-swatches li {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: none;
	box-shadow: none;
}

.lk-guide { width: 100%; }
.lk-product__tabs .woocommerce-tabs { border: 0; }
.lk-product__tabs .wc-tabs::before,
.lk-product__tabs .wc-tabs::after { display: none; }

/* ================================================================ WooCommerce: cart, checkout, account */

/* Buttons */
.woocommerce :is(a.button, button.button, input.button, .button):not(.single_add_to_cart_button):not(.lk-atc .button):not(.tinvwl_add_to_wishlist_button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	font: 700 17px "Baloo 2", sans-serif;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}

.woocommerce :is(.checkout-button, [id="place_order"], .button.alt, .woocommerce-message .button, .wc-forward) {
	background: var(--primary) !important;
	border-width: 3px !important;
	box-shadow: 0 4px 0 var(--outline);
}

.woocommerce :is(.checkout-button, [id="place_order"]) { min-height: 58px !important; padding: 0 28px !important; font-size: 21px !important; }

/* Form fields */
.woocommerce :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select):not(.qty) {
	min-height: 48px;
	padding: 10px 14px;
	border: 2px solid var(--outline);
	border-radius: 12px;
	background: #fff;
	color: var(--ink);
	font: 700 16px Nunito, sans-serif;
}

.woocommerce textarea { min-height: 110px; }
.woocommerce .form-row label { color: var(--ink); font-size: 15px; font-weight: 800; }
.woocommerce .form-row .required { color: var(--cape); text-decoration: none; }
.woocommerce .select2-container .select2-selection--single { height: 48px; border: 2px solid var(--outline); border-radius: 12px; }
.woocommerce .select2-container .select2-selection__rendered { line-height: 44px; padding-left: 14px; font-weight: 700; color: var(--ink); }
.woocommerce .select2-container .select2-selection__arrow { height: 44px; }

/* Headings inside Woo pages */
:is(.woocommerce-cart-form, .cart-collaterals, .woocommerce-checkout, .woocommerce-account .woocommerce, .woocommerce-order) :is(h2, h3) {
	font-family: "Baloo 2", sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
}

/* Tables (cart, order review, account orders) */
.woocommerce table.shop_table {
	overflow: hidden;
	border: 2px solid var(--outline);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 18px;
	background: #fff;
}

.woocommerce table.shop_table :is(th, td) { padding: 14px 16px; border-color: var(--line); }
.woocommerce table.shop_table thead th { background: var(--parchment); font-weight: 900; }
.woocommerce table.shop_table img { width: 72px; border-radius: 12px; }
.woocommerce table.shop_table .product-name a { color: var(--ink); font-weight: 800; text-decoration: none; }
.woocommerce table.shop_table .product-remove a { color: var(--cape); font-size: 22px; text-decoration: none; }
.woocommerce .order-total td > strong .amount { font: 700 24px "Baloo 2", sans-serif; }
.woocommerce .order-total .includes_tax { display: block; color: var(--muted); font-size: 13px; }

/* Cart totals + checkout order review boxes */
.woocommerce .cart_totals,
.woocommerce #order_review,
.woocommerce .woocommerce-checkout-payment,
.woocommerce #payment {
	border-radius: 18px;
}

.woocommerce #payment { padding: 18px; border: 2px solid var(--line); background: var(--parchment); }
.woocommerce .woocommerce-privacy-policy-text { color: var(--muted); font-size: 14px; }

/* Coupon box */
.woocommerce :is(.checkout_coupon, .brxe-woocommerce-checkout-coupon) { border-radius: 18px; }

/* Account */
.woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 14px;
	border-radius: 12px;
	color: var(--ink);
	font-weight: 800;
	text-decoration: none;
}

body .brxe-woocommerce-account-page .woocommerce-MyAccount-navigation { background: none; }
body .brxe-woocommerce-account-page .woocommerce-MyAccount-navigation li { padding: 0; border: 0; }
body .brxe-woocommerce-account-page .woocommerce-MyAccount-navigation li a { padding: 9px 14px; font-size: 16px; line-height: 1.4; }

.woocommerce-MyAccount-navigation .is-active a { background: var(--primary); }
.woocommerce-MyAccount-navigation a:hover { background: var(--gold-light); }

.woocommerce :is(form.login, form.register, form.lost_reset_password) {
	padding: 24px;
	border: 2px solid var(--line);
	border-radius: 20px;
	background: #fff;
}

/* ================================================================ Text pages (Oldal template) */

.lk-prose {
	max-width: 760px;
	color: var(--ink);
	font-size: 17px;
	line-height: 1.7;
}

.lk-prose > * + * { margin-top: 1em; }
.lk-prose :is(h2, h3) { margin-top: 1.6em; font-family: "Baloo 2", sans-serif; font-weight: 700; line-height: 1.2; }
.lk-prose h2 { font-size: 30px; }
.lk-prose h3 { font-size: 23px; }
.lk-prose :is(ul, ol) { padding-left: 1.3em; }
.lk-prose li + li { margin-top: 0.35em; }
.lk-prose a { color: var(--royal); font-weight: 800; }

.woocommerce table.shop_table .amount { white-space: nowrap; }

/* ---------------------------------------------------------------- Filters: mobile toggle, sizes */

.lk-filters .lk-filters__title { font-size: 24px; }
.lk-filters .lk-filter__title { font-size: 15px; font-family: Nunito, sans-serif; font-weight: 900; }

.lk-filters__toggle { display: none; }

@media (max-width: 767px) {
	.lk-filters__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 48px;
		padding: 0 18px;
		border: 2px solid var(--outline);
		border-radius: 999px;
		background: #fff;
		color: var(--ink);
		font: 700 18px "Baloo 2", sans-serif;
		cursor: pointer;
	}

	.lk-filters__chevron {
		width: 10px;
		height: 10px;
		border-right: 3px solid currentColor;
		border-bottom: 3px solid currentColor;
		transform: rotate(45deg) translateY(-3px);
		transition: transform 0.15s;
	}

	.lk-filters.is-open .lk-filters__chevron { transform: rotate(-135deg) translateY(-2px); }

	.lk-filters.lk-filters { padding: 0; border: 0; background: none; }
	.lk-filters:not(.is-open) > :not(.lk-filters__toggle) { display: none; }
	.lk-filters.is-open { padding: 0 0 8px; }
	.lk-filters.is-open .lk-filters__title { display: none; }
}

/* Delivery rows: text wraps next to the icon */
.lk-delivery__text { flex: 1; min-width: 0; }

@media (max-width: 767px) {
	.lk-card .lk-atc .button { min-height: 42px; padding: 0 10px; font-size: 16px; }
	.lk-card .lk-badges { top: 8px; left: 8px; gap: 4px; }
	.lk-card .lk-badge { padding: 3px 9px; font-size: 12px; }
	.lk-card .lk-card-meta { font-size: 11px; }
}

/* ================================================================ Interaction states (hover / active / current) */

/* Shared transitions */
:is(.lk-card, .lk-game, .lk-shortcut, .lk-row, .lk-btn, .lk-chip, .lk-icon-btn, .lk-logo__img, .lk-card__img, .lk-spot__img,
	.lk-pagination .page-numbers, .lk-product__atc .bricks-swatch-button, .lk-product__atc .single_add_to_cart_button,
	.lk-header__cart .mini-cart-link, .lk-search button, .lk-game__cta, .lk-shortcut__icon, .lk-product__tabs .wc-tabs li,
	.woocommerce .button, .lk-nav .bricks-nav-menu a, .lk-footer__link, .lk-filters label, .woocommerce .remove) {
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

/* Header */
body .lk-logo:hover .lk-logo__img { transform: rotate(-6deg) scale(1.06); }
body .lk-icon-btn:hover { background: var(--gold-light); color: var(--royal); }
body .lk-search button:hover { background: #0052CC; }
body .lk-header__cart .mini-cart-link:hover { background: #FFE38F; box-shadow: 0 3px 0 var(--outline); transform: translateY(-1px); }

body .lk-nav .bricks-nav-menu { margin-left: -12px; }
body .lk-nav .bricks-nav-menu > li > a,
body .lk-nav .bricks-nav-menu > li > .brx-submenu-toggle > a { border-radius: 999px; white-space: nowrap; }
body .lk-nav .bricks-nav-menu > li:hover > a,
body .lk-nav .bricks-nav-menu > li:hover > .brx-submenu-toggle > *,
body .lk-nav .bricks-nav-menu > li > a:focus-visible { background: var(--gold-light); }
body .lk-nav .bricks-nav-menu > li > .brx-submenu-toggle { border-radius: 999px; }
body .lk-nav .bricks-nav-menu > li:hover > .brx-submenu-toggle { background: var(--gold-light); }
body .lk-nav .bricks-nav-menu > li:hover > .brx-submenu-toggle > * { background: transparent; }
body .lk-nav .bricks-nav-menu > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a,
body .lk-nav .bricks-nav-menu > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > .brx-submenu-toggle > a {
	text-decoration: underline;
	text-decoration-color: var(--primary);
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}
body .lk-nav .sub-menu .current-menu-item > a { background: var(--gold-light); }

/* Buttons and links */
body .lk-btn--gold:hover { transform: translateY(-2px); box-shadow: 0 7px 0 var(--outline); }
body .lk-btn--gold:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--outline); }
body .lk-btn--ghost:hover { background: var(--gold-light); }

body :is(.lk-section__link, .lk-latest__all, .lk-game__mail, .lk-footer__link--strong):hover { text-decoration: underline; text-underline-offset: 4px; }
body :is(.lk-section__link, .lk-latest__all, .lk-game__mail) { display: inline-block; padding: 8px 0; text-decoration: none; }
body .lk-footer__link:hover { color: var(--primary); }
body .lk-crumbs a:hover { color: var(--royal); }
#brx-content a:not([class]):hover { color: var(--royal); }

/* Cards, tiles, rows */
.lk-card__media { overflow: hidden; }
.lk-card__img, .lk-spot__img { transition: transform 0.25s ease; }
body .lk-card:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--outline); }
body .lk-card__title:hover { color: var(--royal); text-decoration: underline; text-underline-offset: 3px; }
body .lk-spot__media:hover .lk-spot__img { transform: scale(1.04); }
body .lk-spot__title a:hover, body .lk-spot__title:hover { color: var(--royal); }

body .lk-row:hover { background: var(--gold-light); }
body .lk-row:hover .lk-row__title { text-decoration: underline; text-underline-offset: 3px; }

body :is(.lk-game--pokemon, .lk-game--onepiece):hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--outline); }
body :is(.lk-game--pokemon, .lk-game--onepiece):hover .lk-game__cta { background: var(--ink); color: #fff; }

body .lk-shortcut:hover { background: var(--gold-light); transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--outline); }
body .lk-shortcut:hover .lk-shortcut__icon { background: var(--royal); color: #fff; }

/* Shop controls */
body .lk-filters label:hover { color: var(--royal); }
body .lk-pagination a.page-numbers:hover { background: var(--gold-light); }
body .lk-product__atc .bricks-variation-swatches li:not(.disabled):not(.bricks-swatch-selected) .bricks-swatch-button:hover { border-color: var(--outline); background: var(--gold-light); }
body .lk-product__atc .single_add_to_cart_button.button:not(.disabled):not(:disabled):hover { transform: translateY(-2px); box-shadow: 0 8px 0 var(--outline); }
body .lk-product__atc .single_add_to_cart_button.button:not(.disabled):not(:disabled):active { transform: translateY(3px); box-shadow: 0 2px 0 var(--outline); }
body .lk-product__tabs .wc-tabs li:not(.active):hover { background: var(--gold-light); }
body .lk-product__wishlist .tinvwl_add_to_wishlist_button:hover { text-decoration: underline; text-underline-offset: 3px; }

/* WooCommerce buttons (cart, checkout, account, notices) */
body .woocommerce :is(a.button, button.button, input.button):not(.single_add_to_cart_button):not(.alt):not(.checkout-button):not(.wc-forward):hover { background: var(--gold-light); }
body .woocommerce :is(.checkout-button, [id="place_order"], .button.alt, .wc-forward):hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--outline) !important; }
body .woocommerce :is(.checkout-button, [id="place_order"], .button.alt, .wc-forward):active { transform: translateY(2px); box-shadow: 0 2px 0 var(--outline) !important; }
body .woocommerce table.shop_table .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
}
body .woocommerce table.shop_table .product-remove a.remove:hover { background: var(--cape-light); color: var(--cape) !important; }
body .woocommerce table.shop_table .product-thumbnail a:hover img { opacity: 0.85; }

/* ---------------------------------------------------------------- Layout fixes from the audit */

/* Condition swatches: let the variations table use the full width so options sit in a row */
.lk-product__atc table.variations,
.lk-product__atc table.variations :is(tbody, tr) { display: block; width: 100%; }

/* Bigger checkboxes in WooCommerce forms */
.woocommerce input[type="checkbox"] { width: 20px; height: 20px; margin-right: 8px; accent-color: var(--royal); vertical-align: middle; }

/* Cart quantity: same pill as the product page */
.woocommerce-cart-form .quantity {
	display: inline-flex;
	align-items: center;
	height: 44px;
	overflow: hidden;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: #fff;
}
.woocommerce-cart-form .quantity input.qty {
	width: 40px;
	height: 40px;
	border: 0;
	background: transparent;
	font: 700 18px "Baloo 2", sans-serif;
	text-align: center;
	-moz-appearance: textfield;
}
.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.woocommerce-cart-form .quantity .action { display: flex; align-items: center; justify-content: center; width: 36px; height: 40px; cursor: pointer; }
.woocommerce-cart-form .quantity .action svg { width: 16px; height: 16px; }
.woocommerce-cart-form .quantity .minus { order: -1; }

/* Footer links: larger tap targets, same rhythm */
body .lk-footer__links.lk-footer__links { row-gap: 2px; }
body .lk-footer__link { display: inline-block; padding: 5px 0; }

@media (max-width: 767px) {
	/* Mobile menu button: 44px hit area around the 30×16 icon */
	.lk-nav .bricks-mobile-menu-toggle::after { content: ""; position: absolute; inset: -14px -8px; }

	.lk-crumbs a { display: inline-block; padding: 8px 0; }
	.lk-product__wishlist .tinvwl_add_to_wishlist_button { padding: 10px 0; }

	/* Card fan on game tiles: smaller so it doesn't overlap the title */
	.lk-fan { transform: scale(0.8); transform-origin: left top; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; }
	body :is(.lk-card, .lk-game, .lk-shortcut, .lk-btn, .lk-header__cart .mini-cart-link):hover,
	body :is(.lk-card__img, .lk-spot__img, .lk-logo__img) { transform: none !important; }
}

/* ---------------------------------------------------------------- Audit round 2 */

/* Card footer: price never breaks, stock label wraps below when the card is narrow */
body .lk-card__foot { flex-wrap: wrap; }
body .lk-card__price { white-space: nowrap; }

/* Shortcuts: 3 columns on small desktops (6 chips don't fit their labels there) */
@media (min-width: 768px) and (max-width: 1180px) {
	body .lk-shortcuts.lk-shortcuts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Tablet: "Új játékok" tile spans the row under the two game tiles */
@media (min-width: 768px) and (max-width: 991px) {
	body .lk-game--soon.lk-game--soon {
		grid-column: 1 / -1;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		column-gap: 24px;
		min-height: 0;
	}
	body .lk-game--soon .lk-game__plus { margin-bottom: 0; }
	body .lk-game--soon .lk-game__mail { margin-top: 0; }
}

/* Remaining hover / size details */
body .lk-product__atc .reset_variations:hover,
body .woocommerce :is(.woocommerce-LostPassword a, .woocommerce-privacy-policy-link, .lost_password a):hover { color: var(--royal); text-decoration: underline; }
body .woocommerce .woocommerce-form__label-for-checkbox:hover { color: var(--royal); cursor: pointer; }
body .woocommerce table.shop_table .product-remove a.remove { width: 40px !important; height: 40px !important; line-height: 40px; }

/* Swatches: the value cell is 50% wide by default */
.lk-product__atc table.variations td.value { width: 100%; }
.lk-product__atc .bricks-swatch-button { white-space: nowrap; }

/* Product tabs on phones: one compact row */
@media (max-width: 767px) {
	.lk-product__tabs .wc-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.lk-product__tabs .wc-tabs li { flex: none; }
	.lk-product__tabs .wc-tabs a { padding: 10px 16px; font-size: 16px; white-space: nowrap; }
}

/* ---------------------------------------------------------------- Audit round 3: cart, checkout, account */

/* Even spacing between checkout / account form fields */
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label { margin-bottom: 6px; }

/* Primary action on the login / register forms */
body .woocommerce :is(button[name="login"], button[name="register"]) {
	background: var(--primary);
	border-width: 3px;
	box-shadow: 0 4px 0 var(--outline);
}
body .woocommerce :is(button[name="login"], button[name="register"]):hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--outline); background: var(--primary); }

@media (max-width: 767px) {
	/* Cart totals take the full width on phones */
	.woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
	.woocommerce .cart-collaterals .checkout-button { width: 100%; }

	/* Responsive cart rows: remove button aligned to the right of the row */
	.woocommerce table.shop_table_responsive tr.cart_item td.product-remove { text-align: right; }
}

.lk-product__atc .reset_variations { padding: 8px 0; }

/* ---------------------------------------------------------------- Mobile menu panel (Bricks paints it dark via ::before) */

.lk-nav .bricks-mobile-menu-wrapper::before { background: var(--parchment) !important; }
.lk-nav .bricks-mobile-menu-wrapper { box-shadow: 6px 0 0 var(--outline); }
.lk-nav .bricks-mobile-menu-overlay { background: rgba(58, 23, 32, 0.45) !important; }

.lk-nav .bricks-mobile-menu > li { border-bottom: 1px solid var(--line); }
.lk-nav .bricks-mobile-menu > li > a,
.lk-nav .bricks-mobile-menu > li > .brx-submenu-toggle > a { display: block; padding: 14px 20px; }
.lk-nav .bricks-mobile-menu .brx-submenu-toggle { display: flex; align-items: center; justify-content: space-between; }
.lk-nav .bricks-mobile-menu .brx-submenu-toggle button { width: 48px; height: 48px; color: var(--ink); }
.lk-nav .bricks-mobile-menu .sub-menu {
	margin: 0;
	padding: 0 0 10px 20px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.lk-nav .bricks-mobile-menu .sub-menu a { display: block; padding: 10px 20px 10px 12px; color: var(--ink); }
.lk-nav .bricks-mobile-menu a[href*="elorendeles"] { color: var(--royal); }
.lk-nav .bricks-mobile-menu .lk-menu-sale > a { color: var(--cape); }
.lk-nav .bricks-mobile-menu-toggle.bricks-mobile-menu-toggle { color: var(--ink); }
.show-mobile-menu .lk-nav .bricks-mobile-menu-toggle,
.lk-nav.show-mobile-menu .bricks-mobile-menu-toggle { color: var(--ink) !important; }

/* Mini cart panel: bigger remove targets, title spacing */
.lk-header__cart .woocommerce-mini-cart-item .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px;
	border-radius: 50%;
	color: var(--cape) !important;
}
.lk-header__cart .woocommerce-mini-cart-item .remove:hover { background: var(--cape-light); }

/* ================================================================ Feedback round (2026-10-06) */

/* Mini cart: space between bag icon and count, even padding with items in the cart */
.lk-header__cart .mini-cart-link .cart-icon { display: inline-flex; align-items: center; gap: 7px; }
.lk-header__cart .mini-cart-link .cart-count { margin: 0; }
.lk-header__cart .mini-cart-link { padding: 0 12px 0 14px; }

/* Dropdown + mobile submenu items: Bricks inherits a 60px line-height */
.lk-nav .sub-menu li { line-height: 1.3; }
.lk-nav .sub-menu a { line-height: 1.3; }
.lk-nav .bricks-mobile-menu .sub-menu { padding: 0 0 8px 12px; }
.lk-nav .bricks-mobile-menu .sub-menu a { padding: 9px 12px; font-size: 15px; line-height: 1.3; }
.lk-nav .bricks-mobile-menu > li > a,
.lk-nav .bricks-mobile-menu > li > .brx-submenu-toggle > a { line-height: 1.3; }

/* Mobile header: hamburger left · head logo centered · account / wishlist / cart right · search below */
@media (max-width: 767px) {
	.lk-header .lk-header__main.lk-wrap.brxe-container {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		column-gap: 8px;
		row-gap: 10px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.lk-header .lk-logo { grid-column: 2; grid-row: 1; justify-self: center; }
	.lk-header .lk-logo .lk-logo__img { height: 52px; }
	.lk-header .lk-header__actions { grid-column: 3; grid-row: 1; justify-self: end; margin: 0; }
	.lk-header .lk-header__search { grid-column: 1 / -1; grid-row: 2; }

	.lk-header .lk-header__nav.lk-wrap.brxe-container {
		position: absolute;
		top: 30px;
		left: 16px;
		right: auto;
		width: auto;
		margin: 0;
		padding: 0;
	}
}

/* Mobile product tabs: both tabs fit, no horizontal overflow */
@media (max-width: 767px) {
	.lk-product__tabs .wc-tabs { flex-wrap: nowrap; overflow: visible; gap: 6px; }
	.lk-product__tabs .wc-tabs li { flex: 1 1 0; min-width: 0; }
	.lk-product__tabs .wc-tabs a { padding: 7px 8px; font-size: 15px; line-height: 1.3; text-align: center; white-space: normal; }
}

/* Tabs: focus ring inside the rounded tab, only for keyboard focus */
.lk-product__tabs .wc-tabs a:focus:not(:focus-visible) { outline: none; }
.lk-product__tabs .wc-tabs a:focus-visible { outline: 3px solid var(--royal); outline-offset: -4px; border-radius: 12px; }

/* Mobile menu panel: "Menü" title top-left, close (×) at the panel's top-right */
@media (max-width: 767px) {
	body .lk-nav .bricks-mobile-menu-wrapper { width: min(320px, 86vw); padding-top: 18px; }
	.lk-nav .bricks-mobile-menu::before {
		content: "Menü";
		display: block;
		padding: 6px 64px 16px 20px;
		border-bottom: 1px solid var(--line);
		color: var(--ink);
		font: 700 24px/1.2 "Baloo 2", sans-serif;
	}
	body .lk-nav.show-mobile-menu .bricks-mobile-menu-toggle {
		position: fixed;
		top: 34px;
		left: calc(min(320px, 86vw) - 46px);
		z-index: 1002;
	}
}

/* ================================================================ Feedback round 2 */

/* No "Kosár" (view cart) link after AJAX add to cart – the mini cart opens instead */
.added_to_cart.wc-forward { display: none !important; }

/* Mini cart panel */
.lk-header__cart .cart-detail { padding-top: 64px; }
.lk-header__cart .cart-detail::before {
	content: "Kosarad";
	position: absolute;
	top: 16px;
	left: 20px;
	color: var(--ink);
	font: 700 24px/1.2 "Baloo 2", sans-serif;
}
.lk-header__cart .bricks-mini-cart-close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: var(--ink);
	font-size: 20px;
	cursor: pointer;
}
.lk-header__cart .bricks-mini-cart-close { border: 0; background: transparent; z-index: 2; }
.lk-header__cart .bricks-mini-cart-close:hover { background: var(--gold-light); }

.lk-header__cart .woocommerce-mini-cart { border-top: 1px solid var(--line); }
.lk-header__cart .woocommerce-mini-cart-item.mini_cart_item {
	position: relative;
	display: block;
	min-height: 86px;
	margin: 0;
	padding: 14px 44px 14px 72px;
	border-bottom: 1px solid var(--line);
}
.lk-header__cart .woocommerce-mini-cart-item img {
	position: absolute;
	top: 14px;
	left: 0;
	width: 58px !important;
	height: 58px;
	margin: 0 !important;
	border-radius: 10px;
	object-fit: cover;
}
.lk-header__cart .woocommerce-mini-cart-item > a:not(.remove) {
	display: block;
	color: var(--ink);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
	text-decoration: none;
}
.lk-header__cart .woocommerce-mini-cart-item > a:not(.remove):hover { color: var(--royal); }
.lk-header__cart .woocommerce-mini-cart-item .quantity {
	display: block;
	margin-top: 6px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
	opacity: 1;
}
.lk-header__cart .woocommerce-mini-cart-item .quantity .amount { font: 700 18px "Baloo 2", sans-serif; }
.lk-header__cart .woocommerce-mini-cart-item .remove { position: absolute; top: 12px; right: 0; }
.lk-header__cart .woocommerce-mini-cart__total { color: var(--ink); font-size: 16px; font-weight: 800; }
.lk-header__cart .woocommerce-mini-cart__total .amount { font: 700 22px "Baloo 2", sans-serif; }

/* Cart page: spacing above "Kosár összesen", full-width totals on phones */
.woocommerce .cart-collaterals .cart_totals > h2 { margin-top: 28px; margin-bottom: 12px; }
@media (max-width: 767px) {
	body .woocommerce .cart-collaterals,
	body .woocommerce .cart-collaterals .cart_totals { width: 100% !important; max-width: none; float: none; }
	body .woocommerce .cart-collaterals { align-items: stretch; }
	body .woocommerce .cart-collaterals .checkout-button { display: flex; width: 100%; white-space: nowrap; }
}

/* Mini cart: "Kosár" stays secondary, "Pénztár" is the primary action */
body .lk-header__cart .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff !important; box-shadow: none !important; border-width: 2px !important; }

@media (max-width: 767px) {
	/* Cart totals: the Bricks collaterals element is width-limited – stretch it */
	body .brxe-woocommerce-cart-collaterals,
	body .cart-collaterals,
	body .cart-collaterals .cart_totals { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; float: none !important; }

	/* Tabs: one line each */
	.lk-product__tabs .wc-tabs li { padding: 0 !important; }
	.lk-product__tabs .wc-tabs a { padding: 11px 6px; font-size: 15px; white-space: nowrap; }
}

@media (max-width: 767px) {
	/* Cart template grid (items + totals) becomes one column on phones */
	body .brx-grid:has(> .brxe-woocommerce-cart-collaterals) { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ---------------------------------------------------------------- Franchise logos */

/* Homepage game tiles: logo in place of the card fan */
.lk-game__logo-wrap { display: flex; align-items: center; min-height: 130px; width: 100%; }
.lk-game__logo { display: block; width: auto; max-width: 100%; height: auto; }
.lk-game__logo.lk-logo--pokemon { height: 120px; }
.lk-game__logo.lk-logo--one-piece { width: 280px; }

/* Category banner: logo vertically centred (the mascot head keeps peeking from the bottom) */
.lk-cat-banner__inner > .lk-cat-banner__media { display: flex; flex: 0 0 auto; width: auto; max-width: 100%; align-self: stretch; align-items: flex-end; }
.lk-cat-banner__media .lk-cat-banner__img { display: block; width: auto; height: 150px; margin-bottom: 14px; }
.lk-cat-banner__media:has(.lk-cat-banner__logo) { align-items: center; padding-bottom: 24px; }
.lk-cat-banner__logo { display: block; width: auto; height: auto; max-width: 100%; }
.lk-cat-banner__logo.lk-logo--pokemon { height: 120px; }
.lk-cat-banner__logo.lk-logo--one-piece { width: 300px; }

/* Product page: game logo + product type above the title */
.lk-card-meta--logo { display: flex; flex-wrap: wrap; align-items: center; column-gap: 14px; row-gap: 6px; }
.lk-card-meta__game { display: block; line-height: 0; padding-block: 9px; margin-block: -9px; }
.lk-card-meta__logo { display: block; width: auto; height: auto; }
.lk-card-meta__logo.lk-logo--pokemon { height: 52px; }
.lk-card-meta__logo.lk-logo--one-piece { width: 150px; }

@media (max-width: 767px) {
	.lk-game__logo-wrap { min-height: 100px; }
	.lk-game__logo.lk-logo--pokemon { height: 92px; }
	.lk-game__logo.lk-logo--one-piece { width: 230px; }
	.lk-cat-banner__media:has(.lk-cat-banner__logo) { padding-bottom: 18px; }
	.lk-cat-banner__media .lk-cat-banner__img { height: 96px; }
	.lk-cat-banner__logo.lk-logo--pokemon { height: 72px; }
	.lk-cat-banner__logo.lk-logo--one-piece { width: 190px; }
}

/* ---------------------------------------------------------------- Legal / info pages */

.lk-prose { overflow-wrap: break-word; } /* long URLs / e-mail addresses on phones */
.lk-prose .lk-lead { font-size: 19px; font-weight: 700; line-height: 1.6; }
.lk-prose .lk-note { padding: 14px 18px; border-radius: 14px; background: var(--gold-light); font-size: 15px; }
.lk-prose .lk-button {
	display: inline-flex; align-items: center; min-height: 50px; padding: 0 24px;
	border: 3px solid var(--outline); border-radius: 999px; box-shadow: 0 4px 0 var(--outline);
	background: var(--primary); color: var(--ink); font: 700 18px "Baloo 2", sans-serif; text-decoration: none;
}
.lk-prose .lk-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.lk-prose .lk-table :is(th, td) { padding: 10px 12px; border-bottom: 2px solid var(--line, #EADFCB); text-align: left; vertical-align: top; }
.lk-prose .lk-table th { font-weight: 900; background: var(--gold-light); }
.lk-prose .lk-table td:first-child { font-weight: 800; }
.lk-prose .lk-form-lines { list-style: none; padding-left: 0; }
.lk-prose .lk-form-lines li { padding: 10px 0 6px; border-bottom: 1px dashed var(--muted); }
.lk-prose h2[id] { scroll-margin-top: 120px; }

/* Online withdrawal (Elállás Kezelő plugin on the order tracking form) */
.lk-prose .woocommerce .track_order { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin-top: 24px; padding: 24px; border: 2px solid var(--outline); border-radius: 20px; background: var(--surface); }
.lk-prose .woocommerce .track_order > p { margin: 0; }
.lk-prose .woocommerce .track_order > p:first-child { display: none; } /* Woo's "track your order" intro – the page has its own */
.lk-prose .woocommerce .track_order > p:last-of-type { grid-column: 1 / -1; }
.lk-prose .woocommerce .track_order :is(.form-row-first, .form-row-last) { float: none; width: auto; display: flex; flex-direction: column; gap: 6px; }
.lk-prose .woocommerce .track_order input { width: 100%; }
.lk-prose .woocommerce .track_order .clear { display: none; }

/* Elállás Kezelő box (inline styles in the plugin markup) */
.wejk-return-container { margin-top: 32px !important; padding: 24px !important; border: 3px solid var(--outline) !important; border-radius: 20px; background: var(--gold-light) !important; box-shadow: 4px 4px 0 var(--outline); }
.wejk-return-container h3 { margin: 0 0 6px; font: 700 26px/1.2 "Baloo 2", sans-serif; color: var(--ink); }
.wejk-return-container :is(.wejk-consumer-data, .wejk-product-list) { border: 2px solid var(--line) !important; border-radius: 14px; }
.wejk-return-container h4 { margin: 0 0 10px; font: 700 19px/1.2 "Baloo 2", sans-serif; color: var(--ink); }
.wejk-return-container label { color: var(--ink); font-weight: 700; line-height: 1.4; }
.wejk-return-container input[type="checkbox"] { width: 20px; height: 20px; flex: none; accent-color: var(--royal); }

@media (max-width: 767px) {
	.wejk-return-container { padding: 18px !important; }
	.lk-prose .woocommerce .track_order { grid-template-columns: 1fr; padding: 18px; }
	.lk-prose .lk-table { font-size: 14px; }
	.lk-prose .lk-table :is(th, td) { padding: 8px; overflow-wrap: anywhere; }
}

/* Purchase limit 1: WooCommerce hides the number field, hide Bricks' −/+ buttons with it */
.quantity:has(> input[type="hidden"]) { display: none !important; }

/* Product page: WooCommerce's own availability line duplicates the stock badge above it */
.lk-product__atc > p.stock { display: none; }

/* ---------------------------------------------------------------- Wishlist page (TI WooCommerce Wishlist) */
.lk-prose:has(.tinv-wishlist) { max-width: none; }
.tinv-wishlist .tinv-header { display: none; } /* the page title already says "Kívánságlista" */
.tinv-wishlist table.tinvwl-table-manage-list { width: 100%; border-collapse: collapse; border: 2px solid var(--outline); border-radius: 18px; overflow: hidden; font-size: 15px; }
.tinv-wishlist table.tinvwl-table-manage-list :is(th, td) { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.tinv-wishlist table.tinvwl-table-manage-list thead th { background: var(--gold-light); color: var(--ink); font-weight: 900; white-space: nowrap; }
.tinv-wishlist table.tinvwl-table-manage-list tbody tr:last-child td { border-bottom: 0; }
.tinv-wishlist .product-thumbnail img { width: 72px; height: 72px; object-fit: contain; border-radius: 12px; background: var(--gold-light); }
.tinv-wishlist .product-name a { color: var(--ink); font-weight: 800; text-decoration: none; }
.tinv-wishlist .product-name a:hover { color: var(--royal); }
.tinv-wishlist .product-price { font-weight: 900; white-space: nowrap; }
.tinv-wishlist .product-stock p { margin: 0; color: var(--stock); font-weight: 800; }
.tinv-wishlist .product-stock .tinvwl-txt { white-space: nowrap; }
.tinv-wishlist .product-remove button { width: 32px; height: 32px; border: 0; border-radius: 999px; background: var(--parchment); cursor: pointer; }
.tinv-wishlist .tinvwl-table-manage-list tfoot td { padding-top: 18px; border: 0; }
.tinv-wishlist .tinvwl-to-right { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.tinv-wishlist .social-buttons { margin-top: 24px; color: var(--muted); font-weight: 800; }

@media (max-width: 767px) {
	.tinv-wishlist table.tinvwl-table-manage-list { border-radius: 14px; }
	.tinv-wishlist .tinvwl-to-right { justify-content: stretch; }
}

/* ---------------------------------------------------------------- Card language flags */
.lk-lang { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.lk-flag { display: inline-block; width: 18px; height: 12px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(58, 23, 32, .18); object-fit: cover; }
.lk-card-meta__lang { color: var(--muted); text-transform: none; letter-spacing: 0; font-weight: 800; }
.brx-filter-options input[value="angol"] ~ .brx-option-text::before,
.brx-filter-options input[value="japan"] ~ .brx-option-text::before {
	content: ""; display: inline-block; width: 18px; height: 12px; margin-right: 6px; vertical-align: -1px;
	border-radius: 2px; box-shadow: 0 0 0 1px rgba(58, 23, 32, .18); background: center / cover no-repeat;
}
.brx-filter-options input[value="angol"] ~ .brx-option-text::before { background-image: url(assets/flags/gb.svg); }
.brx-filter-options input[value="japan"] ~ .brx-option-text::before { background-image: url(assets/flags/jp.svg); }

/* ---------------------------------------------------------------- Header search: live suggestions */
.lk-search { position: relative; }
.lk-suggest {
	position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; right: 0;
	max-height: min(70vh, 520px); overflow-y: auto; padding: 6px;
	border: 2px solid var(--outline); border-radius: 18px; background: #fff;
	box-shadow: 0 12px 30px rgba(58, 23, 32, .18);
}
.lk-suggest[hidden] { display: none; }
.lk-suggest__item { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; color: var(--ink); text-decoration: none; }
.lk-suggest__item.is-active, .lk-suggest__item:hover { background: var(--gold-light); }
.lk-suggest__item img { flex: none; width: 48px; height: 48px; object-fit: contain; border-radius: 8px; background: var(--parchment); }
.lk-suggest__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lk-suggest__title { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 14px; font-weight: 800; line-height: 1.3; }
.lk-suggest__meta { color: var(--royal); font-size: 12px; font-weight: 900; }
.lk-suggest__price { flex: none; font-size: 14px; font-weight: 900; white-space: nowrap; }
.lk-suggest__all { display: block; margin-top: 4px; padding: 10px; border-top: 1px solid var(--line); color: var(--royal); font-size: 14px; font-weight: 900; text-align: center; text-decoration: none; }
.lk-suggest__all:hover { text-decoration: underline; }
.lk-suggest__empty { margin: 0; padding: 14px; color: var(--muted); font-weight: 700; text-align: center; }
@media (max-width: 767px) {
	.lk-suggest__item { gap: 10px; padding: 8px; }
	.lk-suggest__item img { width: 40px; height: 40px; }
	.lk-suggest__price { font-size: 13px; }
}

/* Filters without options in this category (e.g. condition on sealed-only pages) */
.lk-filter:has(.brx-filter-options:empty) { display: none; }

/* ================================================================ Logo: mascot head only (until the final logo is designed) */
/* The "LootKing" wordmark stays in the markup – delete these rules to bring it back. */
body .lk-logo :is(.lk-logo__text, .lk-footer__logo-text) { display: none; }
body .lk-header .lk-logo__img { height: 72px; }
body .lk-footer .lk-footer__logo-img { height: 80px; }
@media (max-width: 767px) {
	body .lk-header .lk-logo__img { height: 52px; }
}

/* ================================================================ Feedback round 3 (live site, phone) */

/* Sticky header – the top bar (free-shipping note) scrolls away, logo / search / icons / menu stay.
   --lk-topbar-h is measured in assets/lk.js (36px until then). */
#brx-header {
	position: sticky;
	top: calc(-1 * var(--lk-topbar-h, 36px));
	z-index: 999;
}
@media (min-width: 783px) {
	body.admin-bar #brx-header { top: calc(32px - var(--lk-topbar-h, 36px)); }
}
@media (min-width: 600px) and (max-width: 782px) {
	body.admin-bar #brx-header { top: calc(46px - var(--lk-topbar-h, 36px)); }
}

/* Quantity: compact pill (Bricks makes it 200px wide) – on phones it shares the row with "Kosárba teszem" */
body .lk-product__atc form.cart .quantity { width: auto; flex: 0 0 auto; }
body .lk-product__atc form.cart .quantity input.qty { flex: 0 0 48px; width: 48px; }

@media (max-width: 767px) {
	/* Mobile menu: no "Menü" title – the empty bar keeps room for the close (×) button */
	.lk-nav .bricks-mobile-menu::before { content: ""; height: 46px; padding: 0; }

	/* Header: lighter, smaller account icon (outline like the heart), more room below the search bar */
	.lk-header .lk-icon-btn .fa-user { font-weight: 400; font-size: 20px; }
	.lk-header .lk-icon-btn .fa-heart { font-size: 21px; }
	body .lk-header .lk-header__main.lk-wrap.brxe-container { padding-bottom: 16px; }

	/* Mini cart: full screen width, no frame */
	body .lk-header__cart .cart-detail { width: 100%; max-width: 100%; border: 0; }

	/* Quantity + add to cart in one row */
	body .lk-product__atc :is(form.cart:not(.variations_form), .woocommerce-variation-add-to-cart) { flex-wrap: nowrap; gap: 10px; }
	body .lk-product__atc .quantity .action { width: 38px; }
	body .lk-product__atc .quantity input.qty { flex-basis: 40px; width: 40px; }
	body .lk-product__atc .single_add_to_cart_button.button { flex: 1 1 0; min-width: 0; padding: 0 14px; font-size: 20px; white-space: nowrap; }

	/* Login / registration / lost password: full-width buttons */
	body .woocommerce :is(.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword) :is(button.button, .button) {
		display: flex;
		justify-content: center;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	body .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; margin-bottom: 14px; }

	/* Homepage featured product: both buttons full width */
	body .lk-spot__actions.brxe-block { flex-direction: column; align-items: stretch; }
	body .lk-spot__actions > * { width: 100%; }
	body .lk-spot__actions :is(.button, .lk-btn) { display: flex; justify-content: center; width: 100%; }

	/* Category banner: game logo (or the mascot) to the right of the title instead of alone below it */
	body .lk-cat-banner__inner.brxe-container {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 14px;
		row-gap: 10px;
		padding-bottom: 18px;
	}
	body .lk-cat-banner__text.brxe-block { display: contents; }
	.lk-cat-banner__text > * { grid-column: 1 / -1; }
	.lk-cat-banner__text > .lk-cat-banner__title { grid-column: 1; grid-row: 2; }
	body .lk-cat-banner__inner > .lk-cat-banner__media { grid-column: 2; grid-row: 2; align-self: center; padding: 0; }
	body .lk-cat-banner__media:has(.lk-cat-banner__logo) { padding: 0; }
	body .lk-cat-banner__media .lk-cat-banner__img { height: 72px; margin: 0; }
	body .lk-cat-banner__logo.lk-logo--pokemon { height: 54px; }
	body .lk-cat-banner__logo.lk-logo--one-piece { width: 120px; }
}

/* Newsletter (Brevo form #1, markup set in its form editor): e-mail + button in one row, consent checkbox below */
.lk-news__form [class^="sib_signup_box_inside"] { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; }
.lk-news__form [class^="sib_signup_box_inside"] > p { margin: 0; }
.lk-news__form p.sib-email-area { flex: 1 1 220px; }
.lk-news__form p.sib-email-area input { width: 100%; }
.lk-news__form .lk-news__submit { flex: 0 0 auto; }
.lk-news__form .lk-news__consent { flex: 1 1 100%; min-width: 0; }
body .lk-news__form .lk-news__consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	cursor: pointer;
}
.lk-news__form .lk-news__consent label > span { flex: 1 1 auto; min-width: 0; }
.lk-news__form .lk-news__consent input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--royal); cursor: pointer; }
.lk-news__form .lk-news__consent a { color: var(--ink); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.lk-news__form .sib_msg_disp { flex: 1 1 100%; font-weight: 800; }
.lk-news__form .sib_msg_disp:empty { display: none; }
@media (max-width: 767px) {
	.lk-news__form .lk-news__submit, .lk-news__form .lk-news__submit input { flex: 1 1 100%; width: 100%; text-align: center; }
}

/* Empty cart: [lk_empty_cart] – mascot looking for the loot */
.lk-empty { display: flex; flex-direction: column; align-items: center; max-width: 560px; margin: 0 auto; padding: 48px 0 72px; text-align: center; }
.lk-empty__art { position: relative; margin-bottom: 18px; }
.lk-empty__img { display: block; width: auto; height: 220px; transform-origin: 50% 90%; animation: lk-empty-search 3.2s ease-in-out infinite; }
.lk-empty__bubble {
	position: absolute;
	top: 6px;
	left: calc(100% - 26px);
	z-index: 1;
	padding: 8px 14px;
	border: 2px solid var(--outline);
	border-radius: 18px 18px 18px 4px;
	background: #fff;
	box-shadow: 0 3px 0 var(--outline);
	color: var(--ink);
	font: 700 16px/1.2 "Baloo 2", sans-serif;
	white-space: nowrap;
}
.lk-empty__title { margin: 0 0 10px; color: var(--ink); font: 800 clamp(30px, 4vw, 40px)/1.1 "Baloo 2", sans-serif; }
.lk-empty__text { margin: 0 0 26px; color: var(--ink); font-size: 17px; font-weight: 600; line-height: 1.55; }
.lk-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
/* Same look as the Bricks .lk-btn global classes (Bricks only prints those where an element uses them) */
:is(.lk-empty, .lk-post-cta, .lk-blog-empty) .lk-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px; color: var(--ink); font: 700 19px/1 "Baloo 2", sans-serif; text-decoration: none; transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease; }
:is(.lk-empty, .lk-post-cta, .lk-blog-empty) .lk-btn--gold { border: 3px solid var(--outline); background: var(--primary); box-shadow: 0 5px 0 var(--outline); }
:is(.lk-empty, .lk-post-cta, .lk-blog-empty) .lk-btn--ghost { border: 2px solid var(--outline); background: var(--surface); }
@keyframes lk-empty-search {
	0%, 100% { transform: rotate(-4deg); }
	50% { transform: rotate(4deg); }
}
@media (prefers-reduced-motion: reduce) {
	.lk-empty__img { animation: none; }
}
@media (max-width: 767px) {
	.lk-empty { padding: 32px 0 56px; }
	.lk-empty__img { height: 170px; }
	.lk-empty__bubble { left: calc(100% - 34px); font-size: 14px; padding: 6px 11px; }
	.lk-empty__actions { flex-direction: column; align-self: stretch; }
	:is(.lk-empty, .lk-post-cta, .lk-blog-empty) .lk-btn { width: 100%; }
}

/* Cart totals: "Tovább a pénztárhoz" spans the whole totals box on every screen size */
body .woocommerce .cart-collaterals .wc-proceed-to-checkout { width: 100%; }
body .woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button { display: flex; justify-content: center; width: 100%; white-space: nowrap; }

/* Info tooltip (.lk-tip) – MPL price breakdown next to the shipping method */
.lk-tip { position: relative; display: inline-block; vertical-align: middle; margin-left: 4px; }
.lk-tip__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 2px solid var(--ink);
	border-radius: 50%;
	background: transparent;
	color: var(--ink);
	font: 800 13px/1 Nunito, sans-serif;
	cursor: pointer;
}
.lk-tip__btn::after { content: ""; position: absolute; inset: -11px; } /* 44px tap target */
.lk-tip__btn:hover, .lk-tip__btn[aria-expanded="true"] { background: var(--ink); color: #fff; }
.lk-tip__pop {
	position: absolute;
	right: calc(-10px + var(--lk-tip-shift, 0px)); /* --lk-tip-shift: set by assets/lk.js so the bubble stays on screen */
	bottom: calc(100% + 12px);
	z-index: 50;
	width: min(300px, calc(100vw - 32px));
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--ink);
	box-shadow: 0 6px 18px rgba(58, 23, 32, 0.25);
	color: #fff;
	font: 600 14px/1.5 Nunito, sans-serif;
	text-align: left;
	white-space: normal;
	visibility: hidden;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
	pointer-events: none;
}
.lk-tip__pop::after { content: ""; position: absolute; top: 100%; right: calc(14px - var(--lk-tip-shift, 0px)); border: 8px solid transparent; border-top-color: var(--ink); }
.lk-tip:hover .lk-tip__pop,
.lk-tip__btn:focus-visible + .lk-tip__pop,
.lk-tip__btn[aria-expanded="true"] + .lk-tip__pop { visibility: visible; opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .lk-tip__pop { transition: none; } }

/* ================================================================ Blog (inc/blog.php, Bricks "Blog – …" templates) */

.lk-blog-lead { max-width: 680px; margin: 2px 0 0; color: var(--ink); font-size: 18px; font-weight: 700; line-height: 1.5; }
.lk-blog-lead p { margin: 0; }
.lk-page-body--blog .lk-page-body__inner { padding-top: 32px; }

.lk-blog { display: flex; flex-direction: column; gap: 32px; }
.lk-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.lk-blog__pagination { margin-top: 8px; }

/* Post card */
.lk-post-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 3px solid var(--outline);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 6px 0 var(--outline);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.lk-post-card:hover { transform: translateY(-3px); box-shadow: 0 9px 0 var(--outline); }
.lk-post-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 3px solid var(--outline); background: var(--gold-light); }
.lk-post-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.25s ease; }
.lk-post-card:hover .lk-post-card__img { transform: scale(1.04); }
.lk-post-card__placeholder { display: flex; align-items: flex-end; justify-content: center; height: 100%; background: repeating-conic-gradient(from 0deg at 50% 120%, #FFD668 0deg 8deg, #F6C752 8deg 9.5deg); }
.lk-post-card__placeholder img { display: block; width: auto; height: 78%; }
.lk-post-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 8px; padding: 18px 22px 20px; }
.lk-post-card__cat,
.lk-post-meta__cat {
	padding: 3px 12px;
	border: 2px solid var(--outline);
	border-radius: 999px;
	background: var(--primary);
	color: var(--ink);
	font: 900 12px/1.4 Nunito, sans-serif;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}
.lk-post-card__cat:hover, .lk-post-meta__cat:hover { background: var(--gold-light); }
.lk-post-card__title { margin: 2px 0 0; font: 700 22px/1.2 "Baloo 2", sans-serif; }
.lk-post-card__title a { color: var(--ink); text-decoration: none; }
.lk-post-card__title a:hover { color: var(--royal); }
.lk-post-card__excerpt { margin: 0; color: var(--ink); font-size: 15.5px; line-height: 1.55; }
.lk-post-card__meta { margin: auto 0 0; padding-top: 6px; color: var(--muted); font-size: 13.5px; font-weight: 700; }

/* Newest post: big horizontal card */
.lk-post-card--featured { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.lk-post-card--featured .lk-post-card__media { position: relative; aspect-ratio: auto; min-height: 340px; border-right: 3px solid var(--outline); border-bottom: 0; }
.lk-post-card--featured .lk-post-card__img { position: absolute; inset: 0; } /* the text sets the card height, the image fills it */
.lk-post-card--featured .lk-post-card__body { justify-content: center; gap: 12px; padding: 32px 36px; }
.lk-post-card--featured .lk-post-card__title { font-size: clamp(28px, 3vw, 36px); line-height: 1.1; }
.lk-post-card--featured .lk-post-card__excerpt { font-size: 17px; }
.lk-post-card--featured .lk-post-card__meta { margin-top: 4px; }

/* No posts yet */
.lk-blog-empty { display: flex; flex-direction: column; align-items: center; max-width: 560px; margin: 16px auto 0; text-align: center; }
.lk-blog-empty__img { width: auto; height: 150px; margin-bottom: 16px; }
.lk-blog-empty__title { margin: 0 0 10px; font: 800 clamp(26px, 3vw, 34px)/1.15 "Baloo 2", sans-serif; }
.lk-blog-empty__text { margin: 0 0 24px; font-size: 17px; font-weight: 600; line-height: 1.55; }

/* Post: head meta, cover, body */
.lk-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 6px 0 0; color: var(--ink); font-size: 15px; font-weight: 700; }
.lk-post-meta__cat { background: #fff; }
.lk-post-meta__info { white-space: nowrap; }
.lk-post-cover { max-width: 960px; margin: 0 0 36px; }
.lk-post-cover__img { /* 16:9 frame: wide photos fill it, square product photos sit on the sunburst */
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	border: 3px solid var(--outline);
	border-radius: 22px;
	background: repeating-conic-gradient(from 0deg at 50% 130%, #FFD668 0deg 8deg, #F6C752 8deg 9.5deg);
	box-shadow: 0 6px 0 var(--outline);
}
.lk-post-cover figcaption { margin-top: 12px; color: var(--muted); font-size: 14px; font-weight: 600; }
.lk-post-body { font-size: 18px; }
.lk-post-body :is(img, video) { max-width: 100%; height: auto; border-radius: 16px; }
.lk-post-body figure { margin: 1.6em 0; }
.lk-post-body figcaption { margin-top: 8px; color: var(--muted); font-size: 14px; text-align: center; }
.lk-post-body blockquote { margin: 1.6em 0; padding: 16px 22px; border-left: 6px solid var(--primary); border-radius: 0 16px 16px 0; background: var(--surface); font-weight: 600; }
.lk-post-body blockquote p { margin: 0; }
.lk-post-body table { width: 100%; border-collapse: collapse; font-size: 16px; }
.lk-post-body :is(th, td) { padding: 10px 12px; border: 2px solid var(--line); text-align: left; vertical-align: top; }
.lk-post-body th { background: var(--surface); font-weight: 800; }
.lk-post-body hr { margin: 2em 0; border: 0; border-top: 2px solid var(--line); }
.lk-post-body .wp-block-table { overflow-x: auto; }

/* Post footer: back link, shop call-to-action, related posts */
.lk-post-footer { margin-top: 44px; }
.lk-post-footer__back { color: var(--royal); font-weight: 800; text-decoration: none; }
.lk-post-footer__back:hover { text-decoration: underline; }
.lk-post-cta {
	display: flex;
	align-items: center;
	gap: 28px;
	max-width: 960px;
	margin-top: 28px;
	padding: 24px 32px;
	border: 3px solid var(--outline);
	border-radius: 24px;
	background: repeating-conic-gradient(from 0deg at 8% 120%, #FFD668 0deg 8deg, #F6C752 8deg 9.5deg);
	box-shadow: 0 6px 0 var(--outline);
}
.lk-post-cta__img { flex: 0 0 auto; width: auto; height: 150px; }
.lk-post-cta__title { margin: 0 0 6px; font: 800 28px/1.15 "Baloo 2", sans-serif; }
.lk-post-cta__text p { margin: 0 0 16px; font-size: 16.5px; font-weight: 700; line-height: 1.5; }
.lk-post-related { margin-top: 56px; }
.lk-post-related__title { margin: 0 0 22px; font: 700 30px/1.15 "Baloo 2", sans-serif; }

@media (prefers-reduced-motion: reduce) {
	.lk-post-card, .lk-post-card__img { transition: none; }
	.lk-post-card:hover, .lk-post-card:hover .lk-post-card__img { transform: none; }
}
@media (max-width: 991px) {
	.lk-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.lk-post-card--featured { grid-template-columns: minmax(0, 1fr); }
	.lk-post-card--featured .lk-post-card__media { aspect-ratio: 16 / 9; min-height: 0; border-right: 0; border-bottom: 3px solid var(--outline); }
	.lk-post-card--featured .lk-post-card__body { padding: 22px 24px 24px; }
}
@media (max-width: 640px) {
	.lk-blog__grid { grid-template-columns: minmax(0, 1fr); }
	.lk-post-body { font-size: 17px; }
	.lk-post-cta { flex-direction: column; padding: 24px 22px; text-align: center; }
	.lk-post-cta__img { height: 120px; }
	.lk-post-cta .lk-btn { width: 100%; }
}

/* Checkout progress ([lk_checkout_steps]) – top of the cart, checkout and thank-you pages */
.lk-steps { max-width: 620px; margin: 0 auto 36px; }
.lk-steps ol { display: flex; justify-content: space-between; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.lk-steps li { position: relative; flex: 1 1 0; display: flex; justify-content: center; }
/* connector line between the circles */
.lk-steps li + li::before {
	content: "";
	position: absolute;
	top: 21px;
	right: calc(50% + 30px);
	left: calc(-50% + 30px);
	height: 4px;
	border-radius: 4px;
	background: var(--line);
}
.lk-steps li.is-done + li::before { background: var(--outline); }
.lk-steps :is(a, .lk-steps__item) { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--ink); text-decoration: none; }
.lk-steps__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 3px solid var(--line);
	border-radius: 50%;
	background: #fff;
	color: var(--muted);
	font: 800 20px/1 "Baloo 2", sans-serif;
}
.lk-steps__label { color: var(--muted); font: 700 16px/1.2 "Baloo 2", sans-serif; }
.lk-steps .is-done .lk-steps__num { border-color: var(--outline); background: var(--outline); color: #fff; }
.lk-steps .is-done .lk-steps__label { color: var(--ink); }
.lk-steps .is-current .lk-steps__num { border-color: var(--outline); background: var(--primary); box-shadow: 0 4px 0 var(--outline); color: var(--ink); }
.lk-steps .is-current .lk-steps__label { color: var(--ink); font-weight: 800; }
.lk-steps a:hover .lk-steps__label { text-decoration: underline; }
.lk-steps a:hover .lk-steps__num { background: var(--royal); border-color: var(--royal); }
@media (max-width: 767px) {
	.lk-steps { margin-bottom: 24px; }
	.lk-steps__num { width: 40px; height: 40px; font-size: 18px; }
	.lk-steps li + li::before { top: 18px; right: calc(50% + 26px); left: calc(-50% + 26px); }
	.lk-steps__label { font-size: 15px; }
}

/* Visually hidden, read by screen readers (also a Bricks global class – defined here so it never depends on it) */
.lk-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Shipping methods (cart totals + checkout): readable ink labels instead of Bricks' light-grey 14px */
body ul.woocommerce-shipping-methods li { margin-bottom: 10px; }
body ul.woocommerce-shipping-methods li label { display: inline; margin: 0; color: var(--ink); font-size: 16px; font-weight: 700; line-height: 1.4; }
body ul.woocommerce-shipping-methods li input[type="radio"] { accent-color: var(--royal); }

/* Checkout coupon: same card as the payment box (Bricks gives it a grey square) */
body .brxe-woocommerce-checkout-coupon .coupon-div { gap: 12px; padding: 18px; border: 2px solid var(--line); border-radius: 18px; background: var(--parchment); }
body .brxe-woocommerce-checkout-coupon .coupon-description { margin: 0; color: var(--ink); font-size: 16px; font-weight: 700; }
body .brxe-woocommerce-checkout-coupon .coupon-form { gap: 12px; }
body .brxe-woocommerce-checkout-coupon .coupon-form input { flex: 1 1 auto; min-width: 0; }

/* Checkout payment methods: white description box on the cream payment card (Bricks paints it grey) */
body.woocommerce-checkout #payment .payment_methods .payment_box {
	margin: 10px 0 16px;
	padding: 12px 16px;
	border: 2px solid var(--line);
	border-radius: 14px;
	background: #fff;
	color: var(--ink);
	font-size: 15px;
	line-height: 1.5;
}
body.woocommerce-checkout #payment .payment_methods .payment_box p { margin: 0; }
body.woocommerce-checkout #payment .wc_payment_method > label { display: inline; color: var(--ink); font-size: 17px; font-weight: 800; }
body.woocommerce-checkout #payment .wc_payment_method > input[type="radio"] { accent-color: var(--royal); }

/* ---------------------------------------------------------------- Release calendar (inc/releases.php, page "Megjelenések") */

.lk-cal { display: flex; flex-direction: column; gap: 44px; }
.lk-cal__chips { margin-bottom: -12px; }
.lk-cal__month { display: flex; flex-direction: column; gap: 22px; }
.lk-cal__title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; padding-bottom: 12px; border-bottom: 3px solid var(--outline); color: var(--ink); font: 800 clamp(28px, 3vw, 36px)/1.1 "Baloo 2", sans-serif; }
.lk-cal__count { padding: 4px 12px; border-radius: 999px; background: var(--gold-light); color: var(--ink); font: 800 14px/1.3 Nunito, sans-serif; }

.lk-cal__day { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 24px; align-items: start; }
.lk-cal__date { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 0; }
.lk-cal__date time { display: flex; flex-direction: column; align-items: center; width: 100%; overflow: hidden; border: 3px solid var(--outline); border-radius: 18px; background: #fff; box-shadow: 0 4px 0 var(--outline); color: var(--ink); }
.lk-cal__month-short { align-self: stretch; padding: 5px 0 3px; background: var(--royal); color: #fff; font: 800 15px/1.2 Nunito, sans-serif; letter-spacing: 0.08em; text-align: center; text-transform: uppercase; }
.lk-cal__daynum { padding-top: 4px; font: 800 48px/1 "Baloo 2", sans-serif; }
.lk-cal__weekday { padding: 2px 0 10px; color: var(--muted); font-size: 14px; font-weight: 800; }
.lk-cal__when { padding: 4px 10px; border-radius: 999px; background: var(--primary); color: var(--ink); font-size: 13px; font-weight: 900; line-height: 1.3; text-align: center; white-space: nowrap; }
.lk-cal__day.is-today time { border-color: var(--royal); box-shadow: 0 4px 0 var(--royal); }
.lk-cal__day.is-today .lk-cal__when { background: var(--royal); color: #fff; }
.lk-cal__month--released .lk-cal__month-short { background: var(--muted); }

.lk-cal__items { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.lk-cal__item { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 12px 18px 12px 12px; border: 2px solid var(--line); border-radius: 18px; background: #fff; }
.lk-cal__media { display: block; overflow: hidden; border-radius: 12px; background: var(--parchment); }
.lk-cal__img { display: block; width: 92px; height: 92px; object-fit: contain; transition: transform 0.25s ease; }
.lk-cal__item:hover .lk-cal__img { transform: scale(1.05); }
.lk-cal__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lk-cal__meta { margin: 0; color: var(--muted); font-size: 12px; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.lk-cal__name { margin: 0; font: 700 20px/1.2 "Baloo 2", sans-serif; }
.lk-cal__name a { color: var(--ink); text-decoration: none; }
.lk-cal__name a:hover { color: var(--royal); }
.lk-cal__price { margin: 2px 0 0; color: var(--ink); font: 800 19px/1.2 "Baloo 2", sans-serif; }
.lk-cal__price del { margin-right: 6px; color: var(--muted); font-size: 0.75em; font-weight: 700; }
.lk-cal__price ins { text-decoration: none; }
.lk-cal__atc { width: auto; }
.lk-cal__atc .button { min-width: 156px; padding: 0 22px; white-space: nowrap; }

@media (max-width: 767px) {
	.lk-cal { gap: 36px; }
	.lk-cal__day { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	/* Date badge as one row: NOV. 6 péntek · 28 nap múlva */
	.lk-cal__date { flex-direction: row; justify-content: flex-start; }
	.lk-cal__date time { flex-direction: row; align-items: baseline; gap: 8px; width: auto; padding-right: 14px; border-width: 2px; border-radius: 12px; box-shadow: 0 3px 0 var(--outline); }
	.lk-cal__month-short { align-self: stretch; display: flex; align-items: center; padding: 0 10px; }
	.lk-cal__daynum { padding: 4px 0 2px; font-size: 28px; }
	.lk-cal__weekday { padding: 0; }
	.lk-cal__item { grid-template-columns: 76px minmax(0, 1fr); gap: 12px 14px; padding: 10px; }
	.lk-cal__img { width: 76px; height: 76px; }
	.lk-cal__name { font-size: 18px; }
	.lk-cal__atc { grid-column: 1 / -1; }
	.lk-cal__atc .button { width: 100%; }
}
