/*
 * Teljesítve — GeneratePress gyermektéma stílusai.
 *
 * A színek a GeneratePress globális színeiből jönnek (Testreszabó → Színek), így ha ott
 * átírsz egyet, itt is változik. Ha egy szín nincs felvéve, a zárójelben lévő érték érvényes.
 */

:root {
	--fp-ink: var(--contrast, #11161f);
	--fp-muted: var(--contrast-2, #545b66);
	--fp-line-strong: var(--contrast-3, #86857f);
	--fp-line: var(--base, #dedcd4);
	--fp-ground: var(--base-2, #f7f6f2);
	--fp-raised: var(--base-3, #ffffff);
	--fp-pace: var(--accent, #ff4d1f);
	--fp-pace-ink: var(--pace-ink, #c93a10);
	--fp-on-pace: #11161f;
	--fp-sunk: var(--sunk, #ecebe4);
	--fp-split: var(--split, #5b3df5);
	--fp-on-split: #ffffff;
	--fp-medal: var(--medal, #ffc83a);
	--fp-on-medal: #11161f;
	--fp-asphalt: var(--asphalt, #11161f);
	--fp-on-asphalt: #f7f6f2;
	--fp-danger: var(--danger, #b3121f);
	--fp-ok: var(--ok, #0a5fb4);
	--fp-sans: "Archivo", "Helvetica Neue", Arial, sans-serif;
	--fp-mono: "DM Mono", ui-monospace, Menlo, monospace;
	--fp-r-sm: 6px;
	--fp-r-md: 12px;
	--fp-r-full: 9999px;
	--fp-control-h: 52px;
	--fp-shadow-card: 0 1px 2px #11161f0f, 0 8px 24px -12px #11161f2e;
	--fp-shadow-poster: 0 2px 4px #11161f1a, 0 16px 32px -16px #11161f59;
	--fp-focus: 0 0 0 2px var(--fp-ground), 0 0 0 4px var(--fp-split);
	--fp-gutter: clamp(16px, 4vw, 32px);
	--fp-section: clamp(64px, 8vw, 96px);
	--fp-ease: 120ms ease;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

::selection { background: var(--fp-pace); color: var(--fp-on-pace); }

/* ---------- Fókusz ---------- */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid transparent;
	box-shadow: var(--fp-focus);
	border-radius: var(--fp-r-sm);
}
input[type="radio"],
input[type="checkbox"] { accent-color: var(--fp-split); }

/* ---------- Címke, kiemelés, kapszula ---------- */
.is-style-tlj-label,
.tlj-label {
	font-family: var(--fp-mono);
	font-size: 12px;
	line-height: 16px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--fp-muted);
	margin-bottom: 8px;
}
.tlj-lead { font-size: 18px; line-height: 28px; max-width: 34em; color: var(--fp-muted); }
mark.tlj-hl { background: none; color: var(--fp-pace-ink); }
.tlj-asphalt mark.tlj-hl { color: var(--fp-pace); }

.fp-badge,
.tlj-badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	height: 24px;
	padding: 0 10px;
	border-radius: var(--fp-r-full);
	border: 1px solid var(--fp-line-strong);
	font-family: var(--fp-mono);
	font-size: 11px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--fp-ink);
}
.fp-badge-pb, .tlj-badge-pb { background: var(--fp-medal); color: var(--fp-on-medal); border-color: transparent; }
.fp-badge-new, .tlj-badge-new { background: var(--fp-split); color: var(--fp-on-split); border-color: transparent; }
.tlj-badge-pace { background: var(--fp-pace); color: var(--fp-on-pace); border-color: transparent; }

/* ---------- Logó: útvonal-jel + kisbetűs, dőlt szóvédjegy ---------- */
.main-title,
.site-title,
.tlj-wordmark {
	font-family: var(--fp-sans);
	font-size: 24px;
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1;
	text-transform: lowercase;
}
.main-title a,
.tlj-wordmark a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.32em;
	color: inherit;
	text-decoration: none;
}
.main-title a::before,
.tlj-wordmark a::before {
	content: "";
	flex: none;
	width: 1.25em;
	height: 1.25em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='6.5' cy='25' r='3.25'/%3E%3Cpath d='M6.5 25L11.5 16.5L17 20.5L22.5 8.5' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='6.5' cy='25' r='3.25'/%3E%3Cpath d='M6.5 25L11.5 16.5L17 20.5L22.5 8.5' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.main-title a::after,
.tlj-wordmark a::after {
	content: "";
	position: absolute;
	left: 0.977em;
	top: 50%;
	width: 0.156em;
	height: 0.43em;
	margin-top: -0.508em;
	border-radius: var(--fp-r-full);
	background: var(--fp-pace);
}

/* ---------- Fejléc és menü (GeneratePress) ---------- */
.site-header { border-bottom: 1px solid var(--fp-line); }
/* Csak alapérték, nulla specificitással: a Testreszabó → Tipográfia szabálya felülírja. */
:where(.main-navigation .main-nav ul li a, .main-navigation .menu-bar-items a) { font-family: var(--fp-sans); font-weight: 600; font-size: 15px; }
.main-navigation .main-nav ul li:not([class*="current-menu-"]) > a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color: var(--fp-pace-ink); }
.main-navigation .menu-bar-items .number-of-items,
.wc-menu-item .number-of-items,
.cart-contents .number-of-items {
	background: var(--fp-pace);
	color: var(--fp-on-pace);
	font-family: var(--fp-mono);
	font-weight: 500;
	border-radius: var(--fp-r-full);
}

/* ---------- Gombok ---------- */
/* Betű: csak alapérték, nulla specificitással, hogy a Testreszabó → Tipográfia → Gombok szabálya felülírja. */
:where(.wp-block-button__link, .button, input[type="submit"], .wc-block-components-button:not(.is-link)) {
	font-family: var(--fp-sans);
	font-size: 15px;
	font-weight: 600;
}
.wp-block-button__link,
.button,
button.button,
a.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: var(--fp-control-h);
	padding: 0 24px;
	border: 2px solid transparent;
	border-radius: var(--fp-r-full);
	background: var(--fp-pace);
	color: var(--fp-on-pace);
	line-height: 20px;
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--fp-ease), background-color var(--fp-ease), color var(--fp-ease);
}
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
input[type="submit"]:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--fp-pace);
	color: var(--fp-on-pace);
	transform: translateY(-1px);
}
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button.alt.disabled,
.woocommerce a.button.disabled,
.wc-block-components-button:disabled {
	background: var(--fp-sunk);
	color: var(--fp-muted);
	opacity: 1;
	cursor: not-allowed;
	transform: none;
}
.is-style-tlj-secondary .wp-block-button__link { background: transparent; color: var(--fp-ink); border-color: var(--fp-ink); }
.is-style-tlj-secondary .wp-block-button__link:hover { background: var(--fp-ink); color: var(--fp-ground); }
.tlj-asphalt .is-style-tlj-secondary .wp-block-button__link { color: var(--fp-on-asphalt); border-color: var(--fp-on-asphalt); }
.tlj-asphalt .is-style-tlj-secondary .wp-block-button__link:hover { background: var(--fp-on-asphalt); color: var(--fp-asphalt); }
.is-style-tlj-inverse .wp-block-button__link,
.is-style-tlj-inverse .wp-block-button__link:hover { background: var(--fp-on-asphalt); color: var(--fp-asphalt); }
.is-style-tlj-ghost .wp-block-button__link { background: transparent; color: inherit; padding: 0 8px; }
.is-style-tlj-ghost .wp-block-button__link::after { content: "→"; display: inline-block; transition: transform var(--fp-ease); }
.is-style-tlj-ghost .wp-block-button__link:hover { background: transparent; color: var(--fp-pace-ink); }
.tlj-asphalt .is-style-tlj-ghost .wp-block-button__link:hover { color: var(--fp-pace); }
.is-style-tlj-ghost .wp-block-button__link:hover::after { transform: translateX(3px); }

/* ---------- Mintákból épített oldalak (tlj-landing) ---------- */
.tlj-landing { overflow-x: hidden; }
.tlj-landing .site-content { padding: 0; }
.tlj-landing .inside-article { padding: 0; background: transparent; }
.tlj-landing .entry-content { margin-top: 0; }
.tlj-landing .site-main { margin: 0; }
.tlj-landing .entry-content > :first-child { margin-top: 0; }

.tlj-section {
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin: 0 calc(50% - 50vw) !important;
	padding: var(--fp-section) 0;
}
.tlj-inner {
	box-sizing: border-box;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--fp-gutter);
}
.tlj-inner > :first-child { margin-top: 0; }
.tlj-asphalt { background: var(--fp-asphalt); color: var(--fp-on-asphalt); }
.tlj-asphalt h1, .tlj-asphalt h2, .tlj-asphalt h3,
.tlj-asphalt a:not(.wp-block-button__link) { color: var(--fp-on-asphalt); }
.tlj-asphalt .is-style-tlj-label,
.tlj-asphalt .tlj-lead { color: var(--fp-on-asphalt); opacity: 0.78; }
.tlj-sunk { background: var(--fp-sunk); }
.tlj-section h2 { font-size: clamp(24px, 3vw, 30px); line-height: 1.2; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 24px; }
.tlj-section h3 { font-size: 19px; line-height: 1.25; font-weight: 700; letter-spacing: -0.01em; }
.tlj-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 32px; }
.tlj-head h2, .tlj-head p { margin-bottom: 0; }

/* Hero */
.tlj-hero { padding-top: clamp(48px, 6vw, 72px); overflow: hidden; }
.tlj-hero .wp-block-columns { gap: 48px; align-items: center; }
.tlj-hero-title {
	font-size: clamp(44px, 6vw, 72px) !important;
	font-style: italic;
	font-weight: 800 !important;
	letter-spacing: -0.035em;
	line-height: 0.95 !important;
	margin: 8px 0 24px;
}
.tlj-hero .wp-block-buttons { margin-top: 32px; gap: 8px 16px; }
.tlj-route-rule {
	position: relative;
	display: flex;
	justify-content: space-between;
	max-width: 520px;
	margin-top: 48px;
	padding-top: 18px;
	border-top: 3px solid var(--fp-pace);
	font-family: var(--fp-mono);
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.tlj-route-rule::before {
	content: "";
	position: absolute;
	left: -2px;
	top: -9px;
	width: 15px;
	height: 15px;
	border-radius: var(--fp-r-full);
	background: currentColor;
}
.tlj-route-rule::after {
	content: "";
	position: absolute;
	right: -3px;
	top: -14px;
	width: 6px;
	height: 25px;
	border-radius: var(--fp-r-full);
	background: var(--fp-pace);
}
.tlj-poster { margin: 0; }
.tlj-poster img { display: block; width: 100%; height: auto; box-shadow: var(--fp-shadow-poster); }
.tlj-asphalt .tlj-poster img { box-shadow: 0 2px 4px #00000066, 0 24px 48px -16px #000000b3; }
.tlj-hero-posters { position: relative; }
.tlj-hero-posters .tlj-poster { position: relative; }
.tlj-hero-posters .tlj-poster-back { width: 62%; margin-left: auto; transform: rotate(4deg) translateY(4%); }
.tlj-hero-posters .tlj-poster-front { width: 62%; margin-top: -78%; transform: rotate(-3deg); }

/* Sportválasztó */
.tlj-sports { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tlj-sports > .wp-block-column,
.tlj-sport {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--fp-raised);
	border-radius: var(--fp-r-md);
	overflow: hidden;
	transition: box-shadow 160ms ease, transform 160ms ease;
}
.tlj-sport:hover { box-shadow: var(--fp-shadow-card); transform: translateY(-2px); }
.tlj-sport .tlj-poster { padding: 12% 22% 0; background: var(--fp-sunk); }
.tlj-sport .tlj-poster img { box-shadow: var(--fp-shadow-poster); }
.tlj-sport h3 { margin: 20px 20px 4px; font-size: 22px; }
.tlj-sport h3 a { color: var(--fp-ink); text-decoration: none; }
.tlj-sport h3 a::after { content: ""; position: absolute; inset: 0; }
.tlj-sport p { margin: 0 20px 20px; color: var(--fp-muted); }
.tlj-sport .tlj-sport-cta { margin-top: auto; padding-bottom: 20px; font-weight: 600; color: var(--fp-ink); }
.tlj-sport .tlj-sport-cta::after { content: " →"; }
.tlj-sport:hover h3 a,
.tlj-sport:hover .tlj-sport-cta { color: var(--fp-pace-ink); }

/* Lépések */
.tlj-steps { gap: 24px; }
.tlj-step {
	background: var(--fp-raised);
	border-radius: var(--fp-r-md);
	padding: 24px;
}
.tlj-step h3 { margin: 12px 0 8px; }
.tlj-step p:last-child { margin: 0; color: var(--fp-muted); }
.tlj-step-no {
	margin: 0;
	font-family: var(--fp-mono);
	font-size: clamp(30px, 3vw, 40px);
	line-height: 1;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: var(--fp-pace-ink);
}

/* Egyéni csúcs */
.tlj-pb .wp-block-columns { gap: 48px; align-items: center; }
.tlj-pb .tlj-poster { max-width: 360px; margin: 0 auto; transform: rotate(-2deg); }
.tlj-pb-times {
	font-family: var(--fp-mono);
	font-size: clamp(30px, 3vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.02em;
}
.tlj-pb-times s { opacity: 0.6; text-decoration-thickness: 2px; }
.tlj-pb-times strong { color: var(--fp-medal); font-weight: 500; }

/* Saját útvonal */
.tlj-own .wp-block-columns { gap: 48px; align-items: center; }
.tlj-own-list { list-style: none; padding: 0; margin: 24px 0; display: grid; gap: 12px; }
.tlj-own-list li { display: flex; gap: 12px; align-items: baseline; }
.tlj-own-list li::before {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: var(--fp-r-full);
	background: var(--fp-pace);
	transform: translateY(-1px);
}
.tlj-gpx-card {
	background: var(--fp-raised);
	border-radius: var(--fp-r-md);
	padding: 24px;
	font-family: var(--fp-mono);
	font-size: 13px;
	line-height: 20px;
	color: var(--fp-muted);
}
.tlj-gpx-card strong { color: var(--fp-ink); font-weight: 500; }

/* Ajándék */
.tlj-gift .wp-block-columns { gap: 24px; }
.tlj-gift-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.tlj-gift-links a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	background: var(--fp-raised);
	border-radius: var(--fp-r-md);
	color: var(--fp-ink);
	font-weight: 600;
	text-decoration: none;
}
.tlj-gift-links a::after { content: "→"; color: var(--fp-pace-ink); transition: transform var(--fp-ease); }
.tlj-gift-links a:hover { color: var(--fp-pace-ink); }
.tlj-gift-links a:hover::after { transform: translateX(3px); }

/* GYIK */
.wp-block-details { border-bottom: 1px solid var(--fp-line); padding: 16px 0; margin: 0; }
.wp-block-details summary {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	list-style: none;
	font-size: 17px;
	line-height: 24px;
	font-weight: 700;
	letter-spacing: -0.01em;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	flex: none;
	font-family: var(--fp-mono);
	font-weight: 500;
	color: var(--fp-pace-ink);
	transition: transform var(--fp-ease);
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > p { color: var(--fp-muted); max-width: 680px; margin: 12px 0 0; }
.tlj-faq .tlj-inner { max-width: 840px; }

/* Lábléc (GeneratePress Element) */
.tlj-footer { padding: 64px 0 32px; }
.tlj-footer .tlj-wordmark { font-size: 28px; }
.tlj-footer .tlj-wordmark a { color: var(--fp-on-asphalt); }
.tlj-footer-tagline { opacity: 0.78; max-width: 26em; }
.tlj-footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.tlj-footer-links a { text-decoration: none; }
.tlj-footer-links a:hover { color: var(--fp-pace) !important; }
.tlj-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid rgba(247, 246, 242, 0.18);
	font-size: 13px;
	opacity: 0.78;
}
.tlj-footer-bottom p { margin: 0; }
.tlj-landing .site-footer .tlj-section { width: auto; max-width: none; margin: 0 !important; }

/* ---------- Termékrács (klasszikus WooCommerce / GeneratePress) ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 32px;
	padding: 0;
}
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	background: var(--fp-raised);
	border-radius: var(--fp-r-md);
	overflow: hidden;
	padding: 0 0 16px !important;
	text-align: left !important;
	transition: box-shadow 160ms ease, transform 160ms ease;
}
.woocommerce ul.products li.product:hover { box-shadow: var(--fp-shadow-card); transform: translateY(-2px); }
.woocommerce ul.products li.product a { text-decoration: none; color: var(--fp-ink); }
.woocommerce ul.products li.product a img {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 16px !important;
	padding: 12% 16%;
	background: var(--fp-sunk);
	border-radius: 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 16px !important;
	margin: 0 0 4px;
	font-size: 19px !important;
	line-height: 24px;
	font-weight: 700;
	letter-spacing: -0.01em;
}
.woocommerce ul.products li.product .price {
	display: block;
	padding: 0 16px;
	margin: 0;
	color: var(--fp-ink) !important;
	font-family: var(--fp-mono);
	font-size: 16px !important;
	font-weight: 500;
}
.woocommerce ul.products li.product .button {
	align-self: flex-start;
	margin: 12px 16px 0 !important;
	min-height: 40px;
	padding: 0 16px;
	font-size: 14px;
}
.woocommerce ul.products li.product .star-rating { margin: 4px 16px; }

/* Árak */
.price,
.woocommerce-Price-amount,
.wc-block-formatted-money-amount,
.wc-block-components-product-price { font-family: var(--fp-mono); font-weight: 500; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--fp-ink); font-size: 20px; }
.price del { color: var(--fp-muted); opacity: 1; }
.price ins { text-decoration: none; }
.star-rating span::before, .star-rating::before { color: var(--fp-ink); }
.woocommerce span.onsale { display: none; }

/* ---------- Termékoldal ---------- */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .flex-viewport {
	background: var(--fp-sunk);
	border-radius: var(--fp-r-md);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image {
	box-sizing: border-box;
	padding: clamp(24px, 8%, 72px);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img { box-shadow: var(--fp-shadow-poster); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 12px; margin-top: 16px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 64px !important; }
.woocommerce div.product div.images .flex-control-thumbs img { opacity: 0.6; border-radius: 4px; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; }
.woocommerce div.product .product_title {
	font-size: clamp(34px, 4vw, 48px);
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	margin-bottom: 12px;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--fp-muted); }
.woocommerce .woocommerce-breadcrumb { color: var(--fp-muted); font-size: 14px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--fp-muted); }

.woocommerce div.product form.cart { margin: 24px 0 0; }
.woocommerce div.product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.woocommerce div.product form.cart table.variations { margin: 0 0 16px; border: 0; }
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
	display: block;
	padding: 0 0 8px;
	text-align: left;
	border: 0;
	background: none;
	line-height: 1.4;
}
.woocommerce div.product form.cart table.variations label { font-size: 14px; font-weight: 600; }
.woocommerce div.product form.cart table.variations select {
	width: 100%;
	min-height: var(--fp-control-h);
	padding: 0 16px;
	border: 1px solid var(--fp-line-strong);
	border-radius: var(--fp-r-sm);
	background: var(--fp-raised);
	color: var(--fp-ink);
}
.woocommerce div.product form.cart .reset_variations { font-size: 14px; color: var(--fp-muted); }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 24px; }
.woocommerce div.product .woocommerce-variation-description { color: var(--fp-muted); font-size: 14px; }
.woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin-top: 16px; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: var(--fp-control-h); }
.woocommerce .quantity .qty,
.quantity input.qty {
	box-sizing: border-box;
	height: var(--fp-control-h);
	width: 76px;
	padding: 0 8px;
	border: 1px solid var(--fp-line-strong);
	border-radius: var(--fp-r-full);
	background: var(--fp-raised);
	color: var(--fp-ink);
	font-family: var(--fp-mono);
	font-size: 16px;
	text-align: center;
}

/* Formátum-kártyák (format-select.js) */
.fp-format { margin: 0 0 8px; padding: 0; border: 0; min-width: 0; }
.fp-format-legend {
	padding: 0;
	margin-bottom: 12px;
	font-family: var(--fp-mono);
	font-size: 12px;
	line-height: 16px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--fp-muted);
}
.fp-format-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.fp-format-opt {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px;
	border: 1px solid var(--fp-line-strong);
	border-radius: var(--fp-r-md);
	background: var(--fp-raised);
	cursor: pointer;
	transition: border-color var(--fp-ease);
}
.fp-format-opt:hover { border-color: var(--fp-ink); }
.fp-format-opt.is-on { border: 2px solid var(--fp-split); padding: 15px; }
.fp-format-opt.is-off { opacity: 0.55; cursor: not-allowed; }
.fp-format-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.fp-format-opt:has(input:focus-visible) { box-shadow: var(--fp-focus); }
.fp-format-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.fp-format-title { font-size: 17px; line-height: 24px; font-weight: 700; letter-spacing: -0.01em; }
.fp-format-desc { font-size: 14px; line-height: 20px; color: var(--fp-muted); }
.fp-format-price { margin-top: 6px; font-family: var(--fp-mono); font-size: 16px; line-height: 24px; font-weight: 500; }
.fp-format-row-hidden { display: none !important; }

/* Biztosítékok a kosár gomb alatt (Element) */
.tlj-assurances { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 8px; font-size: 14px; color: var(--fp-muted); }
.tlj-assurances li { display: flex; gap: 8px; margin: 0; }
.tlj-assurances li::before { content: "✓"; color: var(--fp-pace-ink); font-weight: 700; }

/* Termékadatok fülek */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 48px 0 24px;
	border: 0;
	list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 1px solid var(--fp-line);
	border-radius: var(--fp-r-full);
	background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 10px 18px; font-weight: 600; color: var(--fp-ink); text-decoration: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--fp-asphalt); border-color: var(--fp-asphalt); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fp-on-asphalt); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; }
.woocommerce table.shop_attributes { border: 0; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { border-bottom: 1px solid var(--fp-line); background: none; padding: 12px 0; font-style: normal; }
.woocommerce table.shop_attributes th {
	width: 180px;
	font-family: var(--fp-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--fp-muted);
}

/* ---------- Értesítések ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border: 1px solid var(--fp-line) !important;
	border-radius: var(--fp-r-md) !important;
	background: var(--fp-raised) !important;
	color: var(--fp-ink) !important;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--fp-ok) !important; }
.woocommerce-error, .wc-block-components-notice-banner.is-error { border-color: var(--fp-danger) !important; }
.woocommerce-error::before { color: var(--fp-danger) !important; }
.wc-block-components-notice-banner.is-success { border-color: var(--fp-ok) !important; }

/* ---------- Kosár és pénztár (blokkok) ---------- */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 1px solid var(--fp-line-strong) !important;
	border-radius: var(--fp-r-sm) !important;
	background: var(--fp-raised) !important;
	color: var(--fp-ink) !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-textarea:focus {
	border-color: var(--fp-split) !important;
	box-shadow: var(--fp-focus) !important;
	outline: 2px solid transparent !important;
}
.wc-block-components-text-input.has-error input { border-color: var(--fp-danger) !important; border-width: 2px !important; }
.wc-block-components-validation-error { color: var(--fp-danger); }
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option { border-radius: var(--fp-r-md) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--fp-split) !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked { border-color: var(--fp-split) !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before { background: var(--fp-split) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--fp-split) !important; border-color: var(--fp-split) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--fp-on-split) !important; }
.wc-block-components-totals-item__value { font-family: var(--fp-mono); font-weight: 500; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 700; }
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block {
	background: var(--fp-raised);
	border-radius: var(--fp-r-md);
	border: 0 !important;
	padding: 8px 20px 20px;
}
.wc-block-components-product-metadata,
.wc-block-components-product-details { color: var(--fp-muted); font-size: 14px; }
.wc-block-components-product-details__name { font-weight: 600; color: var(--fp-ink); }
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img { box-shadow: var(--fp-shadow-poster); border-radius: 0; }
.wc-block-components-quantity-selector,
.wc-block-components-quantity-selector::after { border-radius: var(--fp-r-full) !important; border-color: var(--fp-line-strong) !important; }
.wc-block-components-quantity-selector input { font-family: var(--fp-mono); }
.wc-block-components-sale-badge { display: none !important; }

/* ---------- Mobil ---------- */
@media (max-width: 1100px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.tlj-sport .tlj-poster { padding: 8% 28% 0; }
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px !important; line-height: 20px; }
	.tlj-sports { grid-template-columns: 1fr; }
	.tlj-hero-posters { margin-top: 16px; }
	.tlj-hero-posters .tlj-poster-back,
	.tlj-hero-posters .tlj-poster-front { width: 58%; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; }
	.wp-block-button__link:hover,
	.woocommerce ul.products li.product:hover,
	.tlj-sport:hover { transform: none !important; }
}
