/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Csikágó Közösségi Tér – adományoldal (Arculati kézikönyv – Kisarculat 2026, Web StyleGuide).
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      4.0
 Text Domain:  bricks
*/

/* =========================================================================
   Csikágó Közösségi Tér – adományoldal, 4.0 arculat
   Arculati kézikönyv – Kisarculat 2026 és a Web StyleGuide (ugyanaz, mint a csikago.hu-n).
   Fehér fejléc a négyzetes logóval, krém alap, art deco keretes kártyák,
   homorú sarkú gombok. Betűk: Satoshi (szöveg) és Dazzle Unicase (címek) –
   amíg a Dazzle nincs bekötve (Adobe Fonts vagy megvásárolt webfont),
   a hozzá leginkább hasonló ingyenes League Spartan.
   ========================================================================= */

@font-face { font-family: "Satoshi"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/satoshi-400.woff2) format("woff2"); }
@font-face { font-family: "Satoshi"; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/satoshi-400-italic.woff2) format("woff2"); }
@font-face { font-family: "Satoshi"; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/satoshi-500.woff2) format("woff2"); }
@font-face { font-family: "Satoshi"; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/satoshi-700.woff2) format("woff2"); }
/* A Dazzle Unicase ingyenes helyettesítője (League Spartan, OFL): a size-adjust a nagybetű-magasságot a Dazzle-éhoz igazítja. */
@font-face { font-family: "League Spartan"; font-style: normal; font-weight: 300; font-display: swap; size-adjust: 124.8%; src: url(fonts/league-spartan-latin-ext-300-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "League Spartan"; font-style: normal; font-weight: 300; font-display: swap; size-adjust: 124.8%; src: url(fonts/league-spartan-latin-300-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "League Spartan"; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 124.8%; src: url(fonts/league-spartan-latin-ext-500-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "League Spartan"; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 124.8%; src: url(fonts/league-spartan-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "League Spartan"; font-style: normal; font-weight: 700; font-display: swap; size-adjust: 124.8%; src: url(fonts/league-spartan-latin-ext-700-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "League Spartan"; font-style: normal; font-weight: 700; font-display: swap; size-adjust: 124.8%; src: url(fonts/league-spartan-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--cs-ink: #231f20;
	--cs-cream: #f3e9d7;
	--cs-white: #ffffff;
	--cs-dark: #16372f;
	--cs-green: #336b4c;
	--cs-mint: #8cc8a4;
	--cs-purple: #9482bd;
	--cs-blue: #a2c0e4;
	--cs-gold: #dec48f;
	--cs-gold-dark: #cfb070;
	--cs-sand: #ead9b7;
	--cs-lavender: #b6beda;
	--cs-sage: #b5c1b6;
	--cs-grey: #f2f1f0;
	--cs-line: rgba(35, 31, 32, 0.2);
	--cs-max: 1280px;
	--cs-gutter: clamp(16px, 4vw, 32px);
	--cs-bev: 10px;
	--cs-bev-s: 7px;
	--cs-font-cim: "dazzle-unicase", "Dazzle Unicase", "League Spartan", "Satoshi", "Helvetica Neue", Arial, sans-serif;
	--cs-font-szoveg: "Satoshi", "Helvetica Neue", Arial, sans-serif;
	--cs-cim-ls: 0em; /* a League Spartan helyettesítőnél szorosabb betűköz (body:not(.cs-dazzle)) */
	--cs-keret: clamp(18px, 1.5vw, 26px);
	--cs-footer: #656668;
}

/* ---------- Alap ---------- */

html body {
	background: var(--cs-cream);
	color: var(--cs-ink);
	font-family: var(--cs-font-szoveg);
}

body #brx-content,
body #brx-content p,
body #brx-content li,
body #brx-content td,
body #brx-content th,
body #brx-content label,
body #brx-content input,
body #brx-content select,
body #brx-content textarea,
body #brx-content button {
	font-family: var(--cs-font-szoveg);
}

body a {
	color: var(--cs-dark);
}

body a:hover {
	color: var(--cs-green);
}

#brx-content h1,
#brx-content h2,
.woocommerce-products-header__title,
.product_title {
	font-family: var(--cs-font-cim);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: calc(0.01em + var(--cs-cim-ls));
	color: var(--cs-ink);
	line-height: 1.12;
}

#brx-content h1 {
	font-size: clamp(28px, 8vw, 56px);
}

#brx-content h2 {
	font-size: clamp(26px, 3.4vw, 40px);
}

:focus-visible {
	outline: 2px solid var(--cs-green);
	outline-offset: 2px;
}

/* Levágott sarok (a kézikönyv paneljei és gombjai); régebbi böngészőben lekerekített sarok. */
.cs-bev,
.csikago-kartya__kep,
.csikago-kartya__info,
.cs-statkartya__belso,
.cs-magan__belso {
	border-radius: var(--cs-bev);
	corner-shape: bevel;
}

/* Gombok és a színes külső panelek: homorú sarok (Web StyleGuide). */
.cs-gomb,
.csikago-kartya__sav,
.cs-statkartya__sav,
.cs-magan__sav {
	border-radius: 14px;
	corner-shape: scoop;
}

/* Art deco keret a sarokdíszekkel */
.cs-keret,
.cs-keretes-cim,
.woocommerce ul.products li.product,
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce form.login,
.woocommerce form.register {
	border: var(--cs-keret) solid transparent;
	border-image: url(img/keret-tinta.svg) 52 / var(--cs-keret) stretch;
}

/* Tartalom szélessége */
#brx-content .brxe-container,
#brx-content.wordpress {
	max-width: 100%;
	box-sizing: border-box;
}

body #brx-content.wordpress,
#brx-content.layout-default > .brxe-container,
.single-product #primary,
.woocommerce-shop #brx-content.wordpress {
	width: 100%;
	max-width: var(--cs-max);
	margin-inline: auto;
	padding: 40px var(--cs-gutter) 64px;
}

body.single-product #primary > #main.site-main {
	width: 100%;
	max-width: 100%;
}

#brx-content.wordpress .brxe-container {
	padding-inline: 0;
	width: 100%;
}

.cs-belso {
	width: 100%;
	max-width: var(--cs-max);
	margin: 0 auto;
	padding-inline: var(--cs-gutter);
	box-sizing: border-box;
}

.cs-jobbra {
	text-align: right;
}

.cs-mobilon {
	display: none;
}

.cs-ures {
	margin: 0;
	padding: 28px;
	border: 1.5px dashed var(--cs-ink);
	text-align: center;
}

.cs-cimke {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.cs-szam-vekony,
.cs-szam-vastag {
	display: block;
	font-family: var(--cs-font-cim);
	line-height: 1;
	letter-spacing: var(--cs-cim-ls);
}

.cs-szam-vekony {
	font-weight: 300;
	font-size: clamp(44px, 5vw, 60px);
}

.cs-szam-vastag {
	font-weight: 700;
	font-size: clamp(32px, 4vw, 44px);
	color: var(--cs-dark);
}

/* Keretes címsor (a kézikönyv „Csatlakozz!” felirata) */
#brx-content .cs-keretes-cim,
.cs-keretes-cim {
	display: inline-block;
	margin: 0;
	border-width: 16px;
	padding: 2px 30px;
	font-family: var(--cs-font-cim);
	font-size: clamp(26px, 3.2vw, 40px);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: calc(0.01em + var(--cs-cim-ls));
	text-transform: uppercase;
	color: var(--cs-ink);
}

/* ---------- Gombok ---------- */

.cs-gomb,
.csikago-kosar,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #place_order,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	padding: 0.12em 30px 0;
	border: 2px solid var(--cs-ink);
	border-radius: 10px;
	corner-shape: scoop;
	background: var(--cs-gold);
	color: var(--cs-ink);
	font-family: var(--cs-font-cim);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: calc(0.02em + var(--cs-cim-ls));
	line-height: 1.15;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.15s ease;
}

.cs-gomb:hover,
.csikago-kosar:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--cs-gold-dark);
	color: var(--cs-ink);
}

body #brx-content a.button,
body #brx-content button.button,
body #brx-content .cs-gomb {
	color: var(--cs-ink);
}

.cs-gomb--kek { background: var(--cs-blue); }
.cs-gomb--kek:hover { background: #8daed6; }
.cs-gomb--zsalya { background: var(--cs-sage); }
.cs-gomb--zsalya:hover { background: #a2b0a3; }
.cs-gomb--lila { background: var(--cs-purple); }

/* ---------- Fejléc ---------- */

#brx-header {
	background: var(--cs-white);
}

#brxe-cshrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px 32px;
	width: 100%;
	max-width: var(--cs-max);
	margin: 0 auto;
	padding: 16px var(--cs-gutter);
	box-sizing: border-box;
}

#brxe-cslogo {
	width: auto;
	flex: none;
}

.csikago-logo {
	display: flex;
}

.csikago-logo img {
	display: block;
	width: 64px;
	height: 64px;
}

#brxe-ithvln {
	width: auto;
	margin: 0;
}

#brxe-ithvln a {
	font-family: var(--cs-font-szoveg);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.3;
	white-space: nowrap;
	color: var(--cs-ink);
	text-decoration: none;
	padding: 6px 2px;
}

#brxe-ithvln a:hover,
#brxe-ithvln a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* A „Támogass” menüpont az aktív: fölötte és alatta vonal, mint a kézikönyvben. */
#brxe-ithvln a#brxe-iujjvd {
	padding: 5px 10px;
	border-top: 1.5px solid var(--cs-ink);
	border-bottom: 1.5px solid var(--cs-ink);
}

#brxe-ithvln a#brxe-iujjvd:hover {
	text-decoration: none;
	background: var(--cs-cream);
}

@media (min-width: 992px) {
	#brxe-rfvoze {
		width: auto;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		gap: 6px 22px;
	}
}

@media (max-width: 1180px) and (min-width: 992px) {
	#brxe-cshrow { column-gap: 20px; }
	#brxe-rfvoze { gap: 6px 14px; }
	#brxe-ithvln a { font-size: 13px; }
	.csikago-logo img { width: 56px; height: 56px; }
}

@media (max-width: 991px) {
	#brxe-cshrow {
		padding: 10px var(--cs-gutter);
	}

	.csikago-logo img {
		width: 48px;
		height: 48px;
	}

	#brxe-ithvln #brxe-qteeua {
		width: 48px;
		height: 48px;
		justify-content: center;
		align-items: center;
		border: 1.5px solid var(--cs-ink);
		border-radius: 10px;
		corner-shape: scoop;
		color: var(--cs-ink);
		box-sizing: border-box;
	}

	/* Kinyitott menü: krémszínű, középre igazított, nagy betűs lista */
	#brxe-ithvln.brx-open .brx-nav-nested-items {
		align-items: center;
		gap: 4px;
		padding: 80px var(--cs-gutter) 40px;
		background: var(--cs-cream);
	}

	#brxe-ithvln.brx-open li.menu-item {
		width: auto;
	}

	#brxe-ithvln.brx-open li.menu-item a {
		width: auto;
		justify-content: center;
		font-family: var(--cs-font-cim);
		font-size: 24px;
		font-weight: 500;
		letter-spacing: calc(0.02em + var(--cs-cim-ls));
		text-transform: uppercase;
		padding: 8px 14px;
	}

	#brxe-ithvln.brx-open li.menu-item a#brxe-iujjvd {
		margin-top: 10px;
		padding: 6px 22px;
	}

	#brxe-ithvln.brx-open li.menu-item:has(> #brxe-sfxhac) {
		position: absolute;
		top: 12px;
		right: 12px;
	}

	#brxe-ithvln #brxe-sfxhac {
		width: 48px;
		height: 48px;
		justify-content: center;
		align-items: center;
	}

	#brxe-ithvln #brxe-sfxhac .brxa-wrap {
		display: none;
	}

	#brxe-ithvln #brxe-sfxhac::before {
		content: "✕";
		font-size: 28px;
		line-height: 1;
		color: var(--cs-ink);
	}
}

/* Sötétzöld alsáv: Adományozz / Támogatóink és az adománykosár */
.csikago-alsav {
	background: var(--cs-dark);
	color: var(--cs-cream);
}

.csikago-alsav__belso {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	width: 100%;
	max-width: var(--cs-max);
	margin: 0 auto;
	padding: 8px var(--cs-gutter);
	box-sizing: border-box;
}

.csikago-alsav__fulek {
	display: flex;
	gap: 26px;
}

.csikago-alsav__fulek a,
.csikago-alsav__fulek a:hover {
	padding: 10px 0;
	border-bottom: 2px solid transparent;
	color: var(--cs-cream);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	opacity: 0.85;
}

.csikago-alsav__fulek a[aria-current="page"] {
	border-bottom-color: var(--cs-gold);
	opacity: 1;
}

.csikago-kosar {
	min-height: 44px;
	padding: 0 18px;
	font-size: 15px;
	white-space: nowrap;
}

.csikago-kosar__db {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 11px;
	background: var(--cs-dark);
	color: var(--cs-cream);
	font-family: var(--cs-font-szoveg);
	font-size: 12px;
	box-sizing: border-box;
}

@media (max-width: 600px) {
	.csikago-alsav__fulek {
		gap: 18px;
	}

	.csikago-alsav__fulek a,
	.csikago-alsav__fulek a:hover {
		font-size: 13px;
	}

	.csikago-kosar {
		padding: 0 12px;
	}

	.csikago-kosar__felirat {
		display: none;
	}
}

/* ---------- Lábléc ---------- */

#brx-footer {
	background: var(--cs-white);
}

#brxe-csibvo {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 28px;
	width: 100%;
	max-width: none;
	padding: 22px max(var(--cs-gutter), calc((100% - var(--cs-max)) / 2 + var(--cs-gutter)));
	background: var(--cs-white);
	color: var(--cs-ink);
	box-sizing: border-box;
	text-align: left;
}

#brxe-igjsbp {
	order: 1;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: auto;
}

#brxe-igjsbp > .brxe-block {
	width: auto;
}

#brxe-igjsbp a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1.5px solid var(--cs-ink);
	border-radius: 50%;
	color: var(--cs-ink);
	box-sizing: border-box;
}

#brxe-igjsbp a:hover {
	background: var(--cs-cream);
}

#brxe-igjsbp i {
	color: var(--cs-ink);
	font-size: 16px;
}

#brxe-haqzat {
	order: 2;
	margin: 0;
	font-family: var(--cs-font-szoveg);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
	color: var(--cs-ink);
}

#brxe-haqzat a {
	color: var(--cs-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

#brxe-csibvo > .brxe-shortcode {
	order: 3;
	flex: 1 1 420px;
	width: auto;
}

.csikago-lablec {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	font-size: 13px;
}

.csikago-lablec p {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin: 0;
}

.csikago-lablec a {
	color: var(--cs-ink);
}

@media (max-width: 767px) {
	#brxe-csibvo {
		flex-direction: column;
		align-items: flex-start;
	}

	#brxe-csibvo > .brxe-shortcode {
		flex: none;
		width: 100%;
	}

	.csikago-lablec {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ---------- Kezdőlap ---------- */

#brx-content .cs-v2-szakasz {
	padding: 0;
	align-items: stretch;
}

#brx-content .cs-v2-szakasz > .brxe-shortcode {
	width: 100%;
}

.csikago-v3 {
	width: 100%;
}

/* Nyitó rész */
.cs-nyito {
	padding: 72px 0;
	background: var(--cs-cream);
	text-align: center;
}

.cs-nyito .cs-belso {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

#brx-content .cs-nyito__cim {
	margin: 0;
	font-size: clamp(34px, 5vw, 60px);
	line-height: 1;
}

.cs-nyito__bevezeto {
	margin: 0;
	max-width: 36em;
	font-size: 20px;
	line-height: 1.5;
}

.cs-nyito__kartyak {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	margin-top: 36px;
}

.cs-statkartya {
	background: var(--cs-cream);
	min-width: 0;
}

.cs-statkartya__sav {
	height: 100%;
	padding: 14px;
	border: 1.5px solid var(--cs-ink);
	box-sizing: border-box;
}

.cs-szin--lila { background: var(--cs-purple); }
.cs-szin--menta { background: var(--cs-mint); }
.cs-szin--arany { background: var(--cs-gold); }

.cs-statkartya__belso {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	height: 100%;
	padding: 26px 22px;
	border: 1.5px solid var(--cs-ink);
	background: var(--cs-cream);
	box-sizing: border-box;
}

.cs-statkartya__belso p {
	margin: 0;
}

.cs-statkartya__osszeg {
	font-family: var(--cs-font-cim);
	font-size: clamp(34px, 3.4vw, 44px);
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: var(--cs-cim-ls);
}

.cs-statkartya__szoveg {
	font-size: 15px;
}

.cs-allas {
	height: 16px;
	padding: 2px;
	border: 1.5px solid var(--cs-ink);
	border-radius: var(--cs-bev-s);
	corner-shape: bevel;
	background: var(--cs-white);
	box-sizing: border-box;
}

.cs-allas span {
	display: block;
	height: 100%;
	border-radius: 5px;
	corner-shape: bevel;
	background: var(--cs-purple);
}

.cs-statkartya__also {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 12px;
	font-size: 13px;
	font-weight: 600;
}

.cs-statkartya__szam {
	font-family: var(--cs-font-cim);
	font-size: 84px;
	font-weight: 300;
	line-height: 0.9;
	letter-spacing: var(--cs-cim-ls);
}

.cs-statkartya__felirat {
	font-family: var(--cs-font-cim);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.15;
	text-transform: uppercase;
	letter-spacing: var(--cs-cim-ls);
}

.cs-statkartya__link {
	font-size: 14px;
	font-weight: 600;
}

.cs-nyito__gombok {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin: 28px 0 0;
}

/* Szöveges blokk (világosszürke) */
.cs-szoveges {
	background: var(--cs-grey);
}

.cs-szoveges__racs {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: 48px;
	align-items: start;
	padding-block: 64px;
}

.cs-szoveges__racs--kozep {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	padding-block: 56px;
}

.cs-szoveges__bal {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cs-szoveges__bal p,
.cs-szoveges__jobb p {
	margin: 0;
	max-width: 32em;
}

.cs-szoveges__jobb {
	display: flex;
	flex-direction: column;
	gap: 22px;
	font-size: 18px;
	line-height: 1.6;
}

#brx-content .cs-szoveges__cim {
	margin: 0;
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.12;
}

#brx-content .cs-szoveges__cim--nagy {
	font-size: clamp(40px, 5.6vw, 66px);
	line-height: 1.08;
}

.cs-lepesek {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cs-lepesek li {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 16px;
	padding: 18px 0;
	border-top: 1.5px solid var(--cs-ink);
}

.cs-lepesek li:last-child {
	border-bottom: 1.5px solid var(--cs-ink);
}

.cs-lepesek__szam {
	font-family: var(--cs-font-cim);
	font-size: 48px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: var(--cs-cim-ls);
}

.cs-lepesek li > span:last-child {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 15px;
}

.cs-lepesek strong {
	font-family: var(--cs-font-cim);
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: var(--cs-cim-ls);
}

/* Katalógus */
.cs-katalogus {
	padding: 72px 0 80px;
	background: var(--cs-cream);
}

.cs-katalogus__fej {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	margin-bottom: 28px;
	text-align: center;
}

.cs-katalogus__fej p {
	margin: 0;
	font-size: 17px;
}

.cs-katalogus__vezerlok {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 28px;
}

.cs-szurok {
	display: flex;
	flex: 1 1 640px;
	flex-wrap: wrap;
	gap: 8px;
}

.csikago-filter {
	flex: 0 0 auto;
	min-height: 42px;
	padding: 0 14px;
	border: 1.5px solid var(--cs-ink);
	border-radius: 10px;
	corner-shape: scoop;
	background: transparent;
	color: var(--cs-ink);
	font-family: var(--cs-font-szoveg);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
}

.csikago-filter span {
	margin-left: 2px;
	opacity: 0.7;
}

.csikago-filter:hover {
	background: var(--cs-white);
}

.csikago-filter.is-active {
	background: var(--cs-dark);
	color: var(--cs-cream);
	font-weight: 700;
}

#brx-content .cs-rendezes {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	color: var(--cs-ink);
}

.cs-rendezes select {
	height: 46px;
	padding: 0 40px 0 14px;
	border: 1.5px solid var(--cs-ink);
	border-radius: 10px;
	corner-shape: scoop;
	background: var(--cs-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23231f20' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
	color: var(--cs-ink);
	font-size: 15px;
	font-weight: 500;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.cs-racs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 24px;
	align-items: stretch;
}

@media (min-width: 1240px) {
	.cs-racs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Tételkártya: keret → menta sáv → fehér képpanel + krém szövegpanel */
.csikago-kartya {
	display: flex;
	min-width: 0;
	border-width: 14px;
	background: var(--cs-cream);
}

.csikago-kartya[hidden] {
	display: none !important;
}

.csikago-kartya__sav {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	padding: 10px;
	border: 1.5px solid var(--cs-ink);
	background: var(--cs-mint);
}

.csikago-kartya__kep {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 1.5px solid var(--cs-ink);
	background: var(--cs-white);
}

.csikago-kartya__kep img {
	display: block;
	width: 78%;
	height: 78%;
	object-fit: contain;
}

.csikago-kartya__info {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px 14px;
	border: 1.5px solid var(--cs-ink);
	background: var(--cs-cream);
	text-align: center;
}

.csikago-kartya__kat {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cs-green);
}

#brx-content .csikago-kartya__nev {
	flex: 1;
	margin: 0;
	font-family: var(--cs-font-cim);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: calc(0.01em + var(--cs-cim-ls));
	text-transform: uppercase;
	overflow-wrap: anywhere;
	hyphens: auto;
}

#brx-content .csikago-kartya__nev a {
	color: var(--cs-ink);
	text-decoration: none;
}

#brx-content .csikago-kartya__nev a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.csikago-kartya__ar {
	font-family: var(--cs-font-cim);
	font-size: 30px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: var(--cs-cim-ls);
}

.csikago-kartya__egyseg {
	font-size: 13px;
}

.csikago-kartya__muvelet {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

body #brx-content .csikago-kartya__gomb {
	flex: 1 1 0;
	min-width: 0;
	min-height: 46px;
	padding: 0.12em 6px 0;
	font-size: 13px;
	letter-spacing: var(--cs-cim-ls);
}

.csikago-kartya .csikago-qty-wrapper .csikago-qty-btn {
	flex-basis: 30px;
	width: 30px;
}

.csikago-kartya .csikago-qty-wrapper input.csikago-qty-input {
	flex-basis: 28px;
	width: 28px;
}

.csikago-kartya__gomb.loading {
	opacity: 0.6;
}

.csikago-kartya__gomb.added::after {
	content: " ✓";
}

.csikago-kartya__muvelet .added_to_cart,
.woocommerce ul.products li.product .added_to_cart {
	flex-basis: 100%;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	color: var(--cs-dark);
}

/* Mennyiségválasztó (a jelek középen) */
.csikago-qty-wrapper {
	display: inline-flex;
	align-items: center;
	height: 46px;
	border: 1.5px solid var(--cs-ink);
	border-radius: 10px;
	corner-shape: scoop;
	background: var(--cs-cream);
	box-sizing: border-box;
	overflow: hidden;
}

.csikago-qty-wrapper .csikago-qty-btn {
	display: flex;
	flex: 0 0 40px;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--cs-ink);
	font-family: var(--cs-font-szoveg);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	cursor: pointer;
}

.csikago-qty-wrapper .csikago-qty-btn:hover {
	background: var(--cs-white);
}

.csikago-qty-wrapper input.csikago-qty-input {
	flex: 0 0 36px;
	width: 36px;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}

.csikago-qty-wrapper input.csikago-qty-input::-webkit-outer-spin-button,
.csikago-qty-wrapper input.csikago-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Köszönő sáv (levendula) */
.cs-koszono {
	background: var(--cs-lavender);
}

.cs-koszono__sor {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px 48px;
	padding-block: 56px;
}

.cs-koszono__szoveg {
	display: flex;
	flex: 1 1 560px;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.cs-koszono__szoveg p {
	margin: 0;
	max-width: 40em;
	font-size: 15px;
	line-height: 1.6;
}

/* Telefon */
@media (max-width: 767px) {
	.cs-asztalon {
		display: none !important;
	}

	.cs-mobilon {
		display: inline;
	}

	.cs-nyito {
		padding: 32px 0 36px;
	}

	.cs-nyito__bevezeto {
		font-size: 16px;
	}

	.cs-nyito__kartyak {
		grid-template-columns: 1fr;
		margin-top: 10px;
	}

	.cs-statkartya {
		border-width: 14px;
	}

	.cs-statkartya__sav {
		padding: 10px;
	}

	.cs-statkartya__belso {
		padding: 18px 16px;
		text-align: left;
	}

	.cs-statkartya__also {
		font-size: 12px;
	}

	.cs-nyito__gombok {
		align-self: stretch;
		margin-top: 4px;
	}

	.cs-nyito__gombok .cs-gomb {
		flex: 1 1 100%;
	}

	.cs-szoveges__racs,
	.cs-szoveges__racs--kozep {
		grid-template-columns: 1fr;
		gap: 16px;
		padding-block: 32px;
	}

	.cs-szoveges__jobb {
		font-size: 16px;
	}

	.cs-lepesek li {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 10px;
		padding: 12px 0;
	}

	.cs-lepesek__szam {
		font-size: 32px;
	}

	.cs-lepesek strong {
		font-size: 16px;
	}

	.cs-katalogus {
		padding: 32px 0 36px;
	}

	.cs-katalogus__fej {
		margin-bottom: 16px;
	}

	.cs-katalogus__fej p {
		font-size: 14px;
	}

	#brx-content .cs-keretes-cim,
	.cs-keretes-cim {
		border-width: 12px;
		padding: 2px 16px;
	}

	.cs-katalogus__vezerlok {
		gap: 12px;
		margin-bottom: 16px;
	}

	.cs-szurok {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: calc(var(--cs-gutter) * -1);
		padding: 0 var(--cs-gutter) 6px;
		-webkit-overflow-scrolling: touch;
	}

	#brx-content .cs-rendezes {
		width: 100%;
		justify-content: space-between;
	}

	.cs-rendezes select {
		flex: 1;
		max-width: 260px;
	}

	.cs-koszono__sor {
		padding-block: 32px;
	}

	.cs-koszono__sor .cs-gomb {
		width: 100%;
	}
}

/* Telefonon a kártya vízszintes: kép balra, szöveg jobbra, alatta a műveletek */
@media (max-width: 600px) {
	.cs-racs {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.csikago-kartya {
		border-width: 12px;
	}

	.csikago-kartya__sav {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		grid-template-areas:
			"kep info"
			"muv muv";
		gap: 10px;
		padding: 10px;
	}

	.csikago-kartya__kep {
		grid-area: kep;
		align-self: start;
		aspect-ratio: 1;
	}

	.csikago-kartya__kep img {
		width: 84%;
		height: 84%;
	}

	.csikago-kartya__info {
		grid-area: info;
		align-items: flex-start;
		gap: 4px;
		padding: 10px 12px;
		text-align: left;
	}

	.csikago-kartya__kat {
		font-size: 10px;
	}

	#brx-content .csikago-kartya__nev {
		font-size: 15px;
	}

	.csikago-kartya__ar {
		font-size: 20px;
	}

	.csikago-kartya__muvelet {
		grid-area: muv;
	}
}

/* ---------- WooCommerce: kategóriaoldalak és kapcsolódó tételek ---------- */

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

@media (min-width: 1024px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none !important;
}

.woocommerce ul.products li.product {
	display: flex !important;
	flex-direction: column;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
	padding: 12px;
	border-width: 16px;
	background: var(--cs-mint);
	background-clip: padding-box;
	box-shadow: inset 0 0 0 1.5px var(--cs-ink);
	box-sizing: border-box;
	text-align: center;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 8px;
	color: var(--cs-ink);
	text-decoration: none;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	margin: 0 0 4px;
	padding: 10%;
	border: 1.5px solid var(--cs-ink);
	border-radius: var(--cs-bev);
	corner-shape: bevel;
	background: var(--cs-white);
	box-sizing: border-box;
}

#brx-content ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	font-family: var(--cs-font-cim);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: calc(0.01em + var(--cs-cim-ls));
	text-transform: uppercase;
	overflow-wrap: anywhere;
	hyphens: auto;
	color: var(--cs-ink);
}

.woocommerce ul.products li.product .price {
	display: block;
	margin: 6px 0 0;
	font-family: var(--cs-font-cim);
	font-size: 24px;
	font-weight: 300;
	color: var(--cs-ink);
	letter-spacing: var(--cs-cim-ls);
}

.woocommerce ul.products li.product .button {
	width: 100%;
	margin-top: 10px;
}

@media (max-width: 559px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.woocommerce ul.products li.product {
		padding: 8px;
		border-width: 12px;
	}

	#brx-content ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px;
	}

	.woocommerce ul.products li.product .button {
		padding-inline: 8px;
		font-size: 14px;
	}
}

.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
	max-width: 100%;
	height: 44px;
	padding: 0 14px;
	border: 1.5px solid var(--cs-ink);
	border-radius: 10px;
	corner-shape: scoop;
	background: var(--cs-white);
	font-family: var(--cs-font-szoveg);
}

.woocommerce-breadcrumb {
	font-size: 13px;
	letter-spacing: 0.04em;
}

/* ---------- Termékoldal ---------- */

.woocommerce div.product div.images .woocommerce-product-gallery__image {
	border-width: 24px;
	background: var(--cs-white);
	background-clip: padding-box;
}

.woocommerce div.product .product_title {
	font-size: clamp(28px, 3.6vw, 44px);
	margin-bottom: 14px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--cs-font-cim);
	font-size: 34px;
	font-weight: 300;
	color: var(--cs-ink);
	letter-spacing: var(--cs-cim-ls);
}

.woocommerce div.product .stock {
	display: inline-block;
	padding: 6px 14px;
	border: 1.5px solid var(--cs-ink);
	border-radius: var(--cs-bev-s);
	corner-shape: bevel;
	background: var(--cs-mint);
	color: var(--cs-ink) !important;
	font-weight: 600;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

/* A Bricks mennyiségválasztója (termékoldal, kosár) ugyanolyan, mint a kártyákon */
.woocommerce .quantity:has(.action) {
	display: inline-flex;
	align-items: center;
	height: 48px;
	border: 1.5px solid var(--cs-ink);
	border-radius: 10px;
	corner-shape: scoop;
	background: var(--cs-cream);
	overflow: hidden;
	box-sizing: border-box;
}

.woocommerce .quantity .action {
	order: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 100%;
	border: 0 !important;
	background: transparent !important;
	color: var(--cs-ink);
	cursor: pointer;
}

.woocommerce .quantity .action:hover {
	background: var(--cs-white) !important;
}

.woocommerce .quantity .action.plus {
	order: 2;
}

.woocommerce .quantity .action svg {
	width: 16px;
	height: 16px;
}

.woocommerce .quantity:has(.action) input.qty {
	order: 1;
	width: 44px !important;
	height: 100% !important;
	min-height: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border-radius: 0;
	background: transparent;
}

.related.products > h2 {
	margin-top: 48px;
}

/* ---------- Értesítések ---------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message {
	border: 1.5px solid var(--cs-ink) !important;
	border-radius: var(--cs-bev);
	corner-shape: bevel;
	background: var(--cs-lavender) !important;
	color: var(--cs-ink) !important;
	font-family: var(--cs-font-szoveg);
}

.woocommerce-error {
	background: #f3d6d2 !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--cs-ink) !important;
}

/* ---------- Kosár és pénztár ---------- */

/* A Stripe rejtett mezőit tartalmazó elem elfoglalta a pénztár rácsának bal oszlopát. */
form.checkout > wc-order-attribution-inputs {
	display: none;
}

.woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
	background: transparent;
}

.woocommerce table.shop_table th {
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.woocommerce table.shop_table thead th {
	border-bottom: 1.5px solid var(--cs-ink);
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot th {
	border-top: 1px solid var(--cs-line);
	border-bottom: 0;
}

.woocommerce table.shop_table td {
	border-top: 1px solid var(--cs-line);
}

.woocommerce table.shop_table tr,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.shop_table tfoot tr {
	background-color: transparent;
}

.woocommerce-cart table.cart img {
	width: 72px;
	height: auto;
	border: 1.5px solid var(--cs-ink);
	border-radius: var(--cs-bev-s);
	corner-shape: bevel;
	background: var(--cs-white);
}

#brx-content .woocommerce-cart-form tbody .product-name,
#brx-content .woocommerce-cart-form tbody .product-name a {
	color: var(--cs-ink);
	font-family: var(--cs-font-szoveg);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
	padding: 14px 18px;
	border-width: 24px;
	background: var(--cs-mint);
	background-clip: padding-box;
	box-shadow: inset 0 0 0 1.5px var(--cs-ink);
	box-sizing: border-box;
}

#brx-content .cart-collaterals .cart_totals h2 {
	margin: 0 0 8px;
	font-size: 26px;
}

/* Pénztár: a szakaszcímek kis, nagybetűs, aláhúzott címkék */
#brx-content .woocommerce-checkout h3,
#brx-content .woocommerce-checkout #order_review_heading {
	margin: 0 0 16px;
	padding: 0 0 10px;
	border-bottom: 1.5px solid var(--cs-ink);
	font-family: var(--cs-font-szoveg);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--cs-ink);
}

.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 28px;
}

.woocommerce .amount,
.woocommerce .order-total .amount {
	white-space: nowrap;
}

.woocommerce form .form-row abbr.required,
.woocommerce form .form-row .required {
	text-decoration: none;
	border: 0;
	color: var(--cs-ink);
}

.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout-review-order-table .order-total .amount {
	font-family: var(--cs-font-cim);
	font-size: 28px;
	font-weight: 500;
	color: var(--cs-ink);
	letter-spacing: var(--cs-cim-ls);
}

.woocommerce form .form-row label {
	font-weight: 600;
	font-size: 14px;
}

.woocommerce form .form-row input.input-text,
.woocommerce .select2-container .select2-selection--single {
	height: 48px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	min-height: 48px;
	padding: 10px 14px;
	border: 1.5px solid var(--cs-ink);
	border-radius: var(--cs-bev-s);
	corner-shape: bevel;
	background: var(--cs-white);
	box-sizing: border-box;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 26px;
	padding: 0;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
	top: 10px;
	right: 8px;
}

/* Hozzájárulás a megjelenéshez */
.woocommerce form .form-row.csikago-public-choice {
	margin: 8px 0 20px;
	padding: 16px 18px;
	border: 1.5px solid var(--cs-ink);
	border-radius: var(--cs-bev);
	corner-shape: bevel;
	background: var(--cs-lavender);
	box-sizing: border-box;
}

.csikago-public-choice fieldset {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
}

.csikago-public-choice legend,
.woocommerce form .form-row.csikago-public-choice > label {
	margin-bottom: 6px;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}

.woocommerce form .form-row.csikago-public-choice label.radio,
.woocommerce form .form-row.csikago-public-choice input[type="radio"] + label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
}

.csikago-public-choice input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0 8px 0 0;
	accent-color: var(--cs-dark);
	vertical-align: middle;
}

/* Fizetési mód doboza */
.woocommerce-checkout #payment {
	border-radius: var(--cs-bev);
	corner-shape: bevel;
	background: var(--cs-cream);
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--cs-white);
}

/* Köszönőoldal */
.woocommerce-order .woocommerce-notice--success,
.woocommerce-thankyou-order-received {
	padding: 22px 26px;
	border: 1.5px solid var(--cs-ink);
	border-radius: var(--cs-bev);
	corner-shape: bevel;
	background: var(--cs-lavender);
	color: var(--cs-ink);
	font-family: var(--cs-font-cim);
	font-size: 26px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: var(--cs-cim-ls);
}

.woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 0;
}

.woocommerce ul.order_details li {
	margin: 0;
	padding: 12px 16px;
	border: 1.5px solid var(--cs-ink);
	border-radius: var(--cs-bev-s);
	corner-shape: bevel;
	background: var(--cs-mint);
}

/* Belépés (Fiókom) */
.woocommerce form.login,
.woocommerce form.register {
	border-width: 20px;
	background: var(--cs-white);
	background-clip: padding-box;
}

/* ---------- Támogatóink oldal ---------- */

body.cs-sajat-cim #brx-content > h1:first-child,
body.cs-sajat-cim .brxe-post-title,
body.cs-sajat-cim .page-title {
	display: none;
}

body.cs-sajat-cim #brx-content.wordpress {
	width: 100%;
	max-width: none;
	padding: 0;
}

.cs-szamok {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 44px;
}

.cs-szamok span,
.cs-nevtelenek__homok span {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	font-weight: 600;
}

.cs-magan-szakasz {
	padding: 64px 0 72px;
}

.cs-magan-szakasz .cs-belso {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.cs-magan-szakasz__fej {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.cs-magan-szakasz__fej span {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

#brx-content .cs-magan-szakasz__fej .cs-keretes-cim,
#brx-content .csikago-cegek__fej .cs-keretes-cim {
	border-width: 14px;
	padding: 0 24px;
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: 1.2;
}

.cs-magan {
	border-width: 22px;
}

.cs-magan__sav {
	padding: 14px;
	border: 1.5px solid var(--cs-ink);
	background: var(--cs-lavender);
}

.cs-magan__belso {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px 32px;
	border: 1.5px solid var(--cs-ink);
	background: var(--cs-cream);
}

.cs-magan__belso > p {
	margin: 0;
}

.cs-tabla-doboz {
	overflow-x: auto;
}

table.cs-tabla {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 1.45;
}

table.cs-tabla thead th {
	padding: 0 16px 12px 0;
	border-bottom: 1.5px solid var(--cs-ink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-align: left;
	text-transform: uppercase;
}

table.cs-tabla thead th:first-child { width: 24%; }
table.cs-tabla thead th:last-child { width: 20%; padding-right: 0; text-align: right; }

table.cs-tabla tbody th,
table.cs-tabla tbody td {
	padding: 14px 16px 14px 0;
	border-bottom: 1px solid var(--cs-line);
	text-align: left;
	vertical-align: top;
}

table.cs-tabla tbody th {
	font-weight: 600;
}

table.cs-tabla .cs-osszeg {
	padding-right: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

table.cs-tabla tfoot th,
table.cs-tabla tfoot td {
	padding: 16px 0 0;
	border-top: 1.5px solid var(--cs-ink);
	text-align: left;
}

table.cs-tabla .cs-vegosszeg {
	font-family: var(--cs-font-cim);
	font-size: 30px;
	font-weight: 500;
	text-align: right;
	white-space: nowrap;
	letter-spacing: var(--cs-cim-ls);
}

.cs-tovabbiak {
	margin: 0;
	text-align: center;
}

.cs-nevtelenek {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cs-nevtelenek__zold {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 32px 36px;
	background: var(--cs-green);
	color: var(--cs-cream);
}

#brx-content .cs-nevtelenek__zold h3 {
	margin: 0;
	font-family: var(--cs-font-cim);
	font-size: 28px;
	font-weight: 500;
	line-height: 1.15;
	text-transform: uppercase;
	color: #a8dcbc;
	letter-spacing: var(--cs-cim-ls);
}

#brx-content .cs-nevtelenek__zold p {
	margin: 0;
	font-size: 16px;
	color: var(--cs-cream);
}

.cs-nevtelenek__homok {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 18px 48px;
	padding: 32px 36px;
	background: var(--cs-sand);
}

.cs-magan-szakasz .cs-jobbra {
	margin: 0;
}

/* Céges támogatók: gördülő logósáv */
.csikago-cegek {
	margin: 0;
	padding-top: 56px;
}

.csikago-cegek__fej {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: calc(100% - 2 * var(--cs-gutter));
	max-width: calc(var(--cs-max) - 2 * var(--cs-gutter));
	margin: 0 auto 22px;
}

.csikago-cegek__gomb {
	min-height: 44px;
	padding: 0 20px;
	font-size: 15px;
}

.csikago-cegek__sav {
	overflow: hidden;
	border-top: 1.5px solid var(--cs-ink);
	border-bottom: 1.5px solid var(--cs-ink);
	background: var(--cs-white);
}

.csikago-cegek__sin {
	display: flex;
	width: max-content;
	animation: csik-gordul var(--csik-dur, 40s) linear infinite;
}

.csikago-cegek__lista {
	display: flex;
	align-items: center;
	gap: 96px;
	margin: 0;
	padding: 40px 96px 40px 0;
	list-style: none;
}

.csikago-cegek__lista li {
	flex: none;
	margin: 0;
}

.csikago-cegek__lista img {
	display: block;
	width: auto;
	max-width: none;
	height: var(--h, 60px);
}

.csikago-cegek__sav:hover .csikago-cegek__sin,
.csikago-cegek.is-paused .csikago-cegek__sin {
	animation-play-state: paused;
}

.csikago-cegek.is-static .csikago-cegek__sin {
	width: 100%;
	justify-content: center;
	animation: none;
}

.csikago-cegek.is-static .csikago-cegek__lista {
	flex-wrap: wrap;
	justify-content: center;
	padding: 40px 24px;
}

.csikago-cegek.is-static .csikago-cegek__lista[aria-hidden="true"],
.csikago-cegek.is-static .csikago-cegek__gomb {
	display: none;
}

@keyframes csik-gordul {
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.csikago-cegek__sin { animation: none; }
	.csikago-cegek__sav { overflow-x: auto; }
	.csikago-cegek__lista[aria-hidden="true"], .csikago-cegek__gomb { display: none; }
}

@media (max-width: 767px) {
	.csikago-cegek {
		padding-top: 32px;
	}

	.csikago-cegek__lista {
		gap: 56px;
		padding: 28px 56px 28px 0;
	}

	.csikago-cegek__lista img {
		height: calc(var(--h, 60px) * 0.72);
	}

	.cs-magan-szakasz {
		padding: 32px 0 40px;
	}

	.cs-magan {
		border-width: 14px;
	}

	.cs-magan__sav {
		padding: 8px;
	}

	.cs-magan__belso {
		padding: 18px 14px;
	}

	.cs-nevtelenek {
		grid-template-columns: 1fr;
	}

	.cs-nevtelenek__zold,
	.cs-nevtelenek__homok {
		padding: 22px 20px;
	}

	.cs-magan-szakasz .cs-jobbra .cs-gomb {
		width: 100%;
	}
}

/* Telefonon a táblázat soronként: név és összeg egy sorban, alatta a tételek */
@media (max-width: 640px) {
	table.cs-tabla {
		min-width: 0;
		font-size: 15px;
	}

	table.cs-tabla thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	table.cs-tabla tbody tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 4px 12px;
		padding: 12px 0;
		border-bottom: 1px solid var(--cs-line);
	}

	table.cs-tabla tbody tr[hidden] {
		display: none;
	}

	table.cs-tabla tbody th,
	table.cs-tabla tbody td {
		padding: 0;
		border: 0;
	}

	table.cs-tabla tbody td.cs-osszeg {
		grid-column: 2;
		grid-row: 1;
	}

	table.cs-tabla tbody td:not(.cs-osszeg) {
		grid-column: 1 / -1;
		font-size: 14px;
	}

	table.cs-tabla tfoot tr {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: baseline;
		gap: 4px 12px;
		border-top: 1.5px solid var(--cs-ink);
	}

	table.cs-tabla tfoot th,
	table.cs-tabla tfoot td {
		border: 0;
	}

	table.cs-tabla .cs-vegosszeg {
		font-size: 24px;
	}
}

/* =========================================================================
   4.0 arculat – a csikago.hu-val egységes fejléc, lábléc és címbetű-kezelés
   ========================================================================= */

/* Ha nincs Dazzle (sem Adobe-projekt, sem saját webfont), a szélesebb League Spartan szorosabb betűközt kap. */
body:not(.cs-dazzle) { --cs-cim-ls: -0.03em; }

/* Fejléc: fehér, teljes négyzetes logó, Satoshi Bold menü, aktív/hover menüpont fölött és alatt vonal */
.csikago-logo img {
	width: clamp(56px, 5.2vw, 100px);
	height: auto;
	aspect-ratio: 1;
}

#brxe-cshrow {
	padding-block: clamp(10px, 1.1vw, 20px);
}

#brxe-ithvln a {
	padding: 0.3em 0.45em;
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
	font-family: var(--cs-font-szoveg);
	font-size: clamp(14px, 1.1vw, 17px);
	font-weight: 700;
}

#brxe-ithvln a:hover,
#brxe-ithvln a:focus-visible,
#brxe-ithvln a#brxe-iujjvd {
	padding: 0.3em 0.45em;
	border-top: 2px solid var(--cs-ink);
	border-bottom: 2px solid var(--cs-ink);
	text-decoration: none;
	background: none;
}

@media (min-width: 992px) {
	#brxe-rfvoze { gap: 6px clamp(8px, 1.3vw, 24px); }
}

@media (max-width: 1180px) and (min-width: 992px) {
	#brxe-ithvln a { font-size: 13.5px; padding: 0.3em 0.3em; }
	#brxe-rfvoze { gap: 4px 6px; }
}

@media (max-width: 991px) {
	.csikago-logo img { width: 54px; }

	#brxe-ithvln #brxe-qteeua {
		border-width: 2px;
		border-radius: 9px;
		corner-shape: scoop;
	}

	/* Kinyitott menü: fehér lista, vonalakkal elválasztva (mint a csikago.hu-n) */
	#brxe-ithvln.brx-open .brx-nav-nested-items {
		align-items: stretch;
		gap: 0;
		padding: 84px var(--cs-gutter) 32px;
		background: var(--cs-white);
	}

	#brxe-ithvln.brx-open li.menu-item {
		width: 100%;
		border-bottom: 1px solid var(--cs-line);
	}

	#brxe-ithvln.brx-open li.menu-item:has(> #brxe-sfxhac) {
		width: auto;
		border: 0;
	}

	#brxe-ithvln.brx-open li.menu-item a,
	#brxe-ithvln.brx-open li.menu-item a:hover {
		width: 100%;
		justify-content: flex-start;
		padding: 15px 0;
		border: 0;
		font-family: var(--cs-font-szoveg);
		font-size: 20px;
		font-weight: 700;
		letter-spacing: 0;
		text-transform: none;
	}

	#brxe-ithvln.brx-open li.menu-item a#brxe-iujjvd {
		margin-top: 0;
		padding: 15px 0;
		border: 0;
		text-decoration: underline;
		text-decoration-thickness: 2px;
		text-underline-offset: 6px;
	}
}

/* Alsáv: Adományozz / Támogatóink fülek */
.csikago-alsav__fulek a,
.csikago-alsav__fulek a:hover {
	font-family: var(--cs-font-cim);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: calc(0.04em + var(--cs-cim-ls));
	padding: 12px 0 10px;
}

.csikago-kosar {
	min-height: 42px;
	font-size: 15px;
}

/* Lábléc (Web StyleGuide: Footer I–II) */
#brx-footer {
	background: var(--cs-white);
	border-top: 1px solid var(--cs-line);
}

#brxe-csibvo {
	display: block;
	padding: clamp(40px, 4.5vw, 72px) max(var(--cs-gutter), calc((100% - var(--cs-max)) / 2 + var(--cs-gutter))) 0;
}

#brxe-csibvo > .brxe-shortcode {
	width: 100%;
}

.cs-lablec {
	width: 100%;
	color: var(--cs-ink);
}

.cs-lablec__racs {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px 48px;
	padding-bottom: clamp(32px, 3.2vw, 56px);
}

.cs-lablec__oszlop {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.cs-lablec__marka {
	gap: 16px;
}

.cs-lablec__marka .csikago-logo img {
	width: clamp(72px, 5.2vw, 100px);
}

.cs-lablec__kapcsolat {
	align-items: flex-end;
	text-align: right;
}

#brx-footer .cs-lablec p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
}

#brx-footer .cs-lablec__szlogen {
	font-family: var(--cs-font-cim);
	font-size: clamp(18px, 1.35vw, 24px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: var(--cs-cim-ls);
	text-transform: uppercase;
}

#brx-footer .cs-lablec__cim {
	margin-bottom: 4px;
	font-family: var(--cs-font-cim);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: calc(0.04em + var(--cs-cim-ls));
	text-transform: uppercase;
	color: var(--cs-footer);
}

.cs-lablec a {
	color: var(--cs-ink);
	font-weight: 500;
	text-decoration: none;
}

.cs-lablec a:hover {
	color: var(--cs-green);
	text-decoration: underline;
}

.cs-lablec__also {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 32px;
	padding: clamp(16px, 1.5vw, 26px) 0;
	border-top: 1px solid var(--cs-line);
	font-size: 15px;
	font-weight: 700;
	color: var(--cs-footer);
}

#brx-footer .cs-lablec__also p,
.cs-lablec__also a {
	color: var(--cs-footer);
	font-weight: 700;
	font-size: 15px;
}

.cs-kozosseg {
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cs-kozosseg a {
	display: block;
	color: var(--cs-footer);
}

.cs-kozosseg a:hover {
	color: var(--cs-ink);
}

.cs-kozosseg svg {
	display: block;
	width: 38px;
	height: 38px;
}

@media (max-width: 767px) {
	.cs-lablec__racs {
		flex-direction: column;
		align-items: flex-start;
	}

	.cs-lablec__kapcsolat {
		align-items: flex-start;
		text-align: left;
	}

	.cs-lablec__also {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Pénztár: a rács oszlopai ne nyúljanak túl keskeny kijelzőn (hosszú feliratok, választók) */
form.woocommerce-checkout > *,
form.woocommerce-checkout .col2-set > * {
	min-width: 0;
}

/* Kapcsolódó tételek címe a többi címhez igazodik */
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
	font-family: var(--cs-font-cim);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: var(--cs-cim-ls);
	line-height: 1.15;
}

#brx-content .cs-nevtelenek__zold h3 { line-height: 1.2; }

@media (max-width: 600px) {
	.csikago-alsav__fulek { gap: 16px; }
	.csikago-alsav__fulek a,
	.csikago-alsav__fulek a:hover { font-size: 14px; letter-spacing: var(--cs-cim-ls); }
	.csikago-alsav__belso { flex-wrap: nowrap; }
}
