/*
 * WooCommerce felületek a márka színeivel.
 * A kosár, pénztár, fiók és kategóriaoldal a Woo alap felépítését használja,
 * itt csak a designhoz igazítjuk.
 */

.woocommerce, .woocommerce-page {
	--lf-ink: #1F1F23;
	--lf-ink-deep: #0E0E10;
	--lf-vonal: #38383D;
	--lf-krem: #FAF5F3;
	--lf-halvany: #C9C9CF;
	--lf-korall: #FF6C44;
}

/* A fiók- és a bolt-archívum a Woo alap felépítését használja, ezért ott kell
   a fejléc alá tolás. A saját sablonok (kosár, pénztár, kategória) maguk hozzák
   a fejrészt, ott a szekció fut a lap tetejéig – így a fejléc a tartalom
   háttere fölött úszik, ahogy a főoldalon és a termékoldalon is. */
.woocommerce-account main, .woocommerce-shop main {
	padding-top: 108px;
	padding-bottom: clamp(64px, 8vw, 110px);
}
.woocommerce-cart main, .woocommerce-checkout main, .tax-product_cat main {
	padding-top: 0;
	padding-bottom: 0;
}

/* A saját sablonok szekciói teljes szélességben festenek – enélkül a
   háttérszín csak a konténer széléig ér, és a lap két oldalán kilátszik a
   sötétebb alap. */
.woocommerce-cart main .woocommerce,
.woocommerce-checkout main .woocommerce,
.tax-product_cat main .woocommerce {
	max-width: none;
	margin: 0;
	padding: 0;
}

.woocommerce .woocommerce-notices-wrapper,
.woocommerce-account main .woocommerce,
.woocommerce-shop main .woocommerce {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 48px);
}

/* Az értesítősáv a fejléc alá kerül, hogy ne ütközzön vele. */
.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) { padding-top: 120px; }
.woocommerce-checkout .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 20px; }

/* A belépés-sáv a pénztár szekcióján belül ül, a számlázási blokk fölött. */
.lf-penztar .woocommerce-form-login-toggle { margin-bottom: 14px; }

/* Címsorok */
.woocommerce-page h1, .woocommerce-page h2 {
	color: var(--lf-krem);
	font-weight: 600;
	letter-spacing: -0.025em;
}
.woocommerce-page h1 { font-size: clamp(30px, 4vw, 46px); line-height: 1.1; margin-bottom: 28px; }

/* Táblázatok (kosár, rendelés összegzés) */
.woocommerce table.shop_table {
	border: 1px solid var(--lf-vonal);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.02);
	color: var(--lf-krem);
	border-collapse: separate;
}
.woocommerce table.shop_table th { color: var(--lf-halvany); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; font-size: 12px; }
.woocommerce table.shop_table td { border-top: 1px solid var(--lf-vonal); color: var(--lf-krem); }
.woocommerce table.shop_table td.product-name a { color: var(--lf-krem); }
.woocommerce table.shop_table .amount { font-variant-numeric: tabular-nums; }

/* Gombok */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--lf-korall);
	color: #fff;
	border-radius: 999px;
	min-height: 50px;
	padding: 0 28px;
	line-height: 50px;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: background .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce button.button.alt:hover { background: #FF8866; }
.woocommerce button.button:disabled,
.woocommerce button.button.alt:disabled { background: #4A4A50; color: var(--lf-halvany); }

/*
 * Blokk-alapú kosár és pénztár gombjai. A WooCommerce blokkok nem a
 * klasszikus .button osztályt használják, ezért külön kellenek.
 */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-element-button,
.woocommerce ul.products li.product .button {
	background: var(--lf-korall);
	color: #fff;
	border: 0;
	border-radius: 999px;
	min-height: 50px;
	padding: 0 28px;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: background .2s;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-element-button:hover,
.woocommerce ul.products li.product .button:hover { background: #FF8866; color: #fff; }

.wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: #fff; }

/* Kosár- és pénztár-felületek sötét alapon */
.wc-block-components-totals-item__value,
.wc-block-components-product-price,
.wc-block-components-product-name { color: var(--lf-krem); }
.wc-block-components-totals-item__label,
.wc-block-components-product-metadata { color: var(--lf-halvany); }
.wc-block-cart-items__row { border-bottom: 1px solid var(--lf-vonal); }
.wc-block-components-panel__button { color: var(--lf-krem); }

/* Űrlapmezők */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--lf-vonal);
	border-radius: 12px;
	color: var(--lf-krem);
	min-height: 48px;
	padding: 10px 14px;
}
.woocommerce form .form-row label { color: var(--lf-halvany); font-size: 14px; }

/* Értesítések */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: rgba(255, 108, 68, 0.08);
	border-top-color: var(--lf-korall);
	color: var(--lf-krem);
	border-radius: 12px;
}

/* Kategóriaoldal terméklistája */
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--lf-krem); font-size: 17px; font-weight: 600; }
.woocommerce ul.products li.product .price { color: var(--lf-halvany); }
.woocommerce ul.products li.product a img { border-radius: 14px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select { color: var(--lf-halvany); }

/*
 * Fluent Forms – a kapcsolati űrlap a designterv szerint.
 * A mezőszerkezet és az e-mailek adminból jönnek, itt csak a megjelenés.
 */
.fluentform .ff-el-group { margin-bottom: 18px; }
.fluentform .ff-el-input--label label {
	color: #8B8B91;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.fluentform .ff-el-form-control {
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border-radius: 12px;
	border: 1px solid #38383D;
	background: rgba(255, 255, 255, .04);
	color: #FAF5F3;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
	transition: border-color .2s;
}
.fluentform textarea.ff-el-form-control { min-height: 132px; resize: vertical; }
.fluentform .ff-el-form-control::placeholder { color: #5F5F66; }
.fluentform .ff-el-form-control:focus {
	border-color: #FF6C44;
	outline: 2px solid rgba(255, 108, 68, .35);
	outline-offset: 1px;
}
.fluentform select.ff-el-form-control {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #8B8B91 50%), linear-gradient(135deg, #8B8B91 50%, transparent 50%);
	background-position: calc(100% - 20px) 21px, calc(100% - 14px) 21px;
	background-size: 6px 6px;
	background-repeat: no-repeat;
	padding-right: 44px;
}

/* Jelölőnégyzet */
.fluentform .ff-el-form-check { display: flex; align-items: flex-start; gap: 10px; }
.fluentform .ff-el-form-check-label { color: #C9C9CF; font-size: 13px; line-height: 1.5; }
.fluentform input[type="checkbox"] { accent-color: #FF6C44; width: 18px; height: 18px; margin-top: 1px; }

/* Küldés gomb */
.fluentform .ff-btn-submit {
	width: 100%;
	min-height: 54px;
	margin-top: 6px;
	border: 0;
	border-radius: 999px;
	background: #FF6C44;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	box-shadow: rgba(255, 108, 68, .6) 0 16px 34px -16px;
	transition: background .2s;
}
.fluentform .ff-btn-submit:hover { background: #FF8866; }

/* Visszajelzések */
.fluentform .ff-el-is-error .ff-el-form-control { border-color: #E0243B; }
.fluentform .error.text-danger { color: #FF8866; font-size: 13px; margin-top: 6px; }
.ff-message-success {
	padding: 16px 18px;
	border-radius: 12px;
	border: 1px solid #FF6C44;
	background: rgba(255, 108, 68, .08);
	color: #FAF5F3;
	font-size: 15px;
	line-height: 1.55;
}

/* A Fluent Forms rácsa a designbeli kártya teljes szélességét használja. */
.fluentform .ff-el-group,
.fluentform .ff-el-input--content,
.fluentform .ff-t-container,
.fluentform .ff-t-cell { width: 100%; max-width: none; flex: 1 1 100%; }
.fluentform .ff-t-container { display: flex; flex-wrap: wrap; gap: 0 18px; }
.fluentform .ff-el-form-check { width: 100%; margin-bottom: 4px; }
.fluentform .ff-el-form-check-label { flex: 1 1 auto; min-width: 0; }
.fluentform .ff-el-form-check-label span { display: inline; }

/* A designban a Név/E-mail mező kétoszlopos rácsban ült. A Fluent Forms saját
   rácsot hoz, ezért a befoglaló rács itt egy oszlopra vált. */
[data-lf-urlap] div:has(> .fluentform) { display: block !important; }
[data-lf-urlap] .fluentform,
[data-lf-urlap] .fluentform form { width: 100%; }

/* Az űrlap elrendezése a designterv szerint: a Név és az E-mail egy sorban,
   minden más teljes szélességben. A mező nevére célzunk, így az adminbeli
   átrendezés nem bontja el. */
[data-lf-urlap] .fluentform form > fieldset {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 18px;
	border: 0;
	margin: 0;
	padding: 0;
}
[data-lf-urlap] .fluentform .ff-el-group { grid-column: 1 / -1; }
[data-lf-urlap] .fluentform .ff-el-group:has(input[name="nev"]) { grid-column: 1; }
[data-lf-urlap] .fluentform .ff-el-group:has(input[name="email"]) { grid-column: 2; }
[data-lf-urlap] .fluentform .ff-el-group.ff_submit_btn_wrapper { grid-column: 1 / -1; margin-top: 6px; }

@media (max-width: 700px) {
	[data-lf-urlap] .fluentform form > fieldset { grid-template-columns: 1fr; }
	[data-lf-urlap] .fluentform .ff-el-group:has(input[name="nev"]),
	[data-lf-urlap] .fluentform .ff-el-group:has(input[name="email"]) { grid-column: 1 / -1; }
}

/* A hozzájárulás sora törhessen a rácscellában. */
[data-lf-urlap] .fluentform .ff-el-group,
[data-lf-urlap] .fluentform .ff-el-input--content { min-width: 0; }
[data-lf-urlap] .fluentform .ff-el-form-check {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
}
[data-lf-urlap] .fluentform .ff-el-form-check-label {
	white-space: normal;
	overflow-wrap: anywhere;
	min-width: 0;
}
[data-lf-urlap] .fluentform input[type="checkbox"] { flex: 0 0 auto; }

/* A jobbra igazított címkés csoport (jelölőnégyzet) nem tolódhat ki a kártyából. */
[data-lf-urlap] .fluentform .ff-el-group.ff-el-form-right .ff-el-input--content {
	padding-left: 0 !important;
	margin-left: 0 !important;
	width: 100% !important;
}

/* ---------------------------------------------------------------
 * A Fluent Forms alap stíluslapja később tölt be és felülírja a témát,
 * ezért a mezők a designterv értékeit !important-tal kapják meg.
 * Forrás: design/accepted/Kapcsolat.dc.html
 * --------------------------------------------------------------- */
[data-lf-urlap] .fluentform .ff-el-form-control,
[data-lf-urlap] .fluentform input[type="text"],
[data-lf-urlap] .fluentform input[type="email"],
[data-lf-urlap] .fluentform select,
[data-lf-urlap] .fluentform textarea {
	font-family: 'Chillax', Inter, -apple-system, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #FAF5F3 !important;
	background: #1F1F23 !important;
	border: 1px solid #38383D !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	min-height: 52px !important;
	padding: 0 16px !important;
}
[data-lf-urlap] .fluentform textarea {
	min-height: 148px !important;
	padding: 14px 16px !important;
	resize: vertical !important;
}
[data-lf-urlap] .fluentform .ff-el-form-control::placeholder { color: #5F5F66 !important; opacity: 1; }
[data-lf-urlap] .fluentform .ff-el-form-control:focus {
	border-color: #FF6C44 !important;
	outline: 2px solid rgba(255, 108, 68, .3);
	outline-offset: 1px;
}

/* Küldés gomb: teljes szélességű pill, ahogy a terven. */
[data-lf-urlap] .fluentform .ff-btn-submit {
	font-family: 'Chillax', Inter, -apple-system, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border-radius: 999px !important;
	min-height: 54px !important;
	width: 100% !important;
	background: #FF6C44 !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: rgba(255, 108, 68, .6) 0 16px 34px -16px !important;
}
[data-lf-urlap] .fluentform .ff-btn-submit:hover { background: #FF8866 !important; }

/* Címkék és a hozzájárulás szövege. */
[data-lf-urlap] .fluentform .ff-el-input--label label {
	font-family: 'Chillax', Inter, sans-serif !important;
	color: #8B8B91 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
}
[data-lf-urlap] .fluentform .ff-el-form-check-label,
[data-lf-urlap] .fluentform .ff-el-form-check-label span {
	font-family: 'Chillax', Inter, sans-serif !important;
	color: #C9C9CF !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

/* ---------------- Pénztár – a designterv elrendezése ---------------- */
.lf-penztar-racs {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(24px, 3vw, 52px);
	align-items: start;
}
/* Az #order_review tartalma közvetlenül a rácsba kerül, így a szállítás,
   a fizetés és a megrendelés gomb a bal oszlopba, az összegző a jobbra. */
.lf-penztar-racs #order_review { display: contents; }
.lf-penztar-racs .lf-review-burok { display: contents; }
.lf-penztar-bal { grid-column: 1; grid-row: 1; }
.lf-penztar-racs .lf-szallitas-blokk { grid-column: 1; grid-row: 2; }
.lf-penztar-racs #payment { grid-column: 1; grid-row: 3; }
.lf-penztar-racs .lf-osszegzo {
	grid-column: 2;
	grid-row: 1 / span 3;
	position: sticky;
	top: 96px;
	margin-top: 0;
}
.lf-penztar-racs #order_review_heading { display: none; }

.lf-szallitas-blokk h3 { margin-top: clamp(26px, 3vw, 38px); }

/* A szállítási és fizetési kártya teljes felülete kattintható: a címke
   egy áttetsző réteget feszít a kártyára, így bárhol rá lehet koppintani. */
.lf-penztar #shipping_method li,
.lf-penztar .wc_payment_methods > li { position: relative; }
.lf-penztar #shipping_method label,
.lf-penztar .wc_payment_methods > li > label { cursor: pointer; }
.lf-penztar #shipping_method li,
.lf-penztar .wc_payment_methods > li { cursor: pointer; }
.lf-penztar #shipping_method label,
.lf-penztar .wc_payment_methods > li > label {
	display: flex !important;
	width: 100% !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	cursor: pointer;
}
.lf-penztar .wc_payment_methods .payment_box { margin-top: 12px; }

.lf-penztar h3,
.lf-penztar .woocommerce-billing-fields > h3,
.lf-penztar .woocommerce-shipping-fields > h3,
.lf-penztar #order_review_heading {
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 600;
	letter-spacing: -.022em;
	color: #FAF5F3;
	margin: clamp(26px, 3vw, 38px) 0 16px;
}
.lf-penztar .woocommerce-billing-fields > h3:first-child { margin-top: 0; }

/* Mezők – ugyanaz a nyelv, mint a kapcsolati űrlapon. */
.lf-penztar .form-row { margin: 0 0 14px; padding: 0; }
.lf-penztar .form-row label { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #8B8B91; }
.lf-penztar .form-row .required { color: #FF6C44; border: 0; }
.lf-penztar input.input-text,
.lf-penztar textarea,
.lf-penztar select,
.lf-penztar .select2-container .select2-selection--single {
	width: 100%;
	min-height: 52px;
	padding: 0 16px;
	border-radius: 14px;
	border: 1px solid #38383D;
	/* Egy fokkal a szekció fölött (#1F1F23): korábban bájtra ugyanaz volt,
	   ezért a mezők beleolvadtak a háttérbe, csak a keret látszott. Ugyanaz a
	   token, mint az összegző kártyáé – nincs új szín a palettában. */
	background: #27272C;
	color: #FAF5F3;
	font-family: inherit;
	font-size: 15px;
}
.lf-penztar textarea { min-height: 110px; padding: 14px 16px; }
.lf-penztar input.input-text::placeholder { color: #5F5F66; }
.lf-penztar input.input-text:focus,
.lf-penztar textarea:focus,
.lf-penztar select:focus { border-color: #FF6C44; outline: 2px solid rgba(255,108,68,.3); outline-offset: 1px; }
.lf-penztar .select2-container--default .select2-selection--single .select2-selection__rendered { color: #FAF5F3; line-height: 52px; padding-left: 0; }
.lf-penztar .select2-container--default .select2-selection--single .select2-selection__arrow { height: 52px; }
/* A select2 (Ország/Megye) JS-ből fix pixel-szélességet kap, ami keskeny kijelzőn
   túllóg az oszlopon és levágódik. 100%-ra fogjuk, hogy mindig az oszlopba férjen. */
.lf-penztar .select2-container { width: 100% !important; max-width: 100%; }

/* Szállítási és fizetési mód – kártyás rádiógombok. */
.lf-penztar #shipping_method,
.lf-penztar .wc_payment_methods {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lf-penztar #shipping_method li,
.lf-penztar .wc_payment_methods > li {
	min-width: 0;
	margin: 0;
	padding: 16px 18px;
	border: 1px solid #38383D;
	border-radius: 16px;
	/* Ugyanaz a felület, mint a mezőknél – a szekció #1F1F23, ezen a kártya
	   korábban láthatatlan volt, csak a kerete látszott. */
	background: #27272C;
	transition: border-color .2s, background .2s;
}
.lf-penztar #shipping_method li:has(input:checked),
.lf-penztar .wc_payment_methods > li:has(input:checked) {
	border-color: #FF6C44;
	/* Rétegzett, nem átlátszó: az átlátszó korall a szekció hátterére
	   komponalódna, így a kiválasztott kártya SÖTÉTEBB lenne a többinél. */
	background: linear-gradient(rgba(255, 108, 68, .10), rgba(255, 108, 68, .10)), #27272C;
}
.lf-penztar #shipping_method label,
.lf-penztar .wc_payment_methods label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: #FAF5F3;
	cursor: pointer;
}
.lf-penztar input[type="radio"] { accent-color: #FF6C44; width: 18px; height: 18px; margin-right: 10px; }
.lf-penztar .payment_box {
	margin-top: 12px;
	padding: 12px 0 0;
	border-top: 1px solid #38383D;
	background: none;
	color: #8B8B91;
	font-size: 13px;
	line-height: 1.55;
}
.lf-penztar .payment_box::before { display: none; }

/* Rendelés leadása gomb. */
.lf-penztar #place_order {
	width: 100%;
	min-height: 56px;
	margin-top: 18px;
	border-radius: 999px;
	background: #FF6C44;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .01em;
	box-shadow: rgba(255,108,68,.6) 0 16px 34px -16px;
}
.lf-penztar #place_order:hover { background: #FF8866; }
.lf-penztar .woocommerce-terms-and-conditions-wrapper { margin-top: 14px; font-size: 12.5px; line-height: 1.6; color: #8B8B91; }
.lf-penztar .woocommerce-terms-and-conditions-wrapper a { color: #FF6C44; }

/* Az összegzőben a szállítási sor. */
.lf-osszegzo .lf-szallitas-sor th,
.lf-osszegzo .lf-szallitas-sor td { padding: 0; border: 0; background: none; color: #C9C9CF; font-size: 14px; }
.lf-osszegzo ul#shipping_method { gap: 8px; }

@media (max-width: 900px) {
	.lf-penztar-racs { grid-template-columns: minmax(0, 1fr); }
	.lf-penztar-jobb { position: static; }
}

/* ---------------- Belépés / regisztráció ---------------- */
.lf-belepes-urlapok { display: grid; gap: 14px; }
.lf-belepes-panel[hidden] { display: none; }
.lf-belepes-panel { display: grid; gap: 14px; }

.lf-mezo { display: grid; gap: 8px; margin: 0; }
.lf-mezo label,
.lf-mezo-fej label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #8B8B91;
}
.lf-mezo-fej { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.lf-elfelejtett { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #FF6C44; }
.lf-elfelejtett:hover { color: #FF8866; }

.lf-input {
	width: 100%;
	min-height: 54px;
	padding: 0 16px;
	border-radius: 14px;
	border: 1px solid #38383D;
	background: #141417;
	color: #FAF5F3;
	font-family: inherit;
	font-size: 15px;
}
.lf-input::placeholder { color: #5F5F66; }
.lf-input:focus { border-color: #FF6C44; outline: 2px solid rgba(255, 108, 68, .3); outline-offset: 1px; }

.lf-jelszo { position: relative; display: block; }
.lf-jelszo .lf-input { padding-right: 52px; }
/* A WooCommerce beépített jelszó-mutatója a design szerint. */
.lf-jelszo .show-password-input {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: none;
	color: #8B8B91;
	cursor: pointer;
}
.lf-jelszo .show-password-input::after {
	content: '';
	width: 19px;
	height: 19px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M2.2 12S6 5.4 12 5.4 21.8 12 21.8 12 18 18.6 12 18.6 2.2 12 2.2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3.1'/%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 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M2.2 12S6 5.4 12 5.4 21.8 12 21.8 12 18 18.6 12 18.6 2.2 12 2.2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3.1'/%3E%3C/svg%3E") center / contain no-repeat;
}
.lf-jelszo .show-password-input:hover { color: #FAF5F3; }
.lf-jelszo .show-password-input.display-password { color: #FF6C44; }

.lf-jelolo { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #C9C9CF; cursor: pointer; }
.lf-jelolo input { accent-color: #FF6C44; width: 17px; height: 17px; }
.lf-sugo { font-size: 13px; color: #8B8B91; }

.lf-fo-gomb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 56px;
	margin-top: 4px;
	border: 0;
	border-radius: 999px;
	background: #FF6C44;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	box-shadow: rgba(255, 108, 68, .6) 0 16px 34px -16px;
	transition: background .2s;
}
.lf-fo-gomb:hover { background: #FF8866; }

/* A fülek aktív állapota. */
[data-lf-ful][aria-selected="false"] { background: transparent !important; color: #C9C9CF !important; }

/* A WooCommerce hibaüzenetei a belépőn. */
[data-lf-belepes] .woocommerce-error,
[data-lf-belepes] .woocommerce-message {
	margin-bottom: 16px;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px solid #E0243B;
	background: rgba(224, 36, 59, .1);
	color: #FAF5F3;
	font-size: 14px;
	list-style: none;
}
[data-lf-belepes] .woocommerce-message { border-color: #FF6C44; background: rgba(255, 108, 68, .1); }

/* A belépőoldal teljes képernyős: nincs konténer-térköz, a panel az aljáig ér. */
.woocommerce-account:not(.logged-in) main {
	padding: 0 !important;
	min-height: 100vh;
	display: flex;
}
.woocommerce-account:not(.logged-in) main > *,
.woocommerce-account:not(.logged-in) [data-lf-belepes] {
	flex: 1 1 auto;
	min-height: 100vh;
}

/* A személyes átvétel helye a mód alatt, halványabban. */
.lf-atvetel-hely {
	display: block;
	margin-top: 4px;
	font-size: 12.5px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--lf-halvany, #C9C9CF);
}

.lf-szallitas-ido { color: var(--lf-halvany, #C9C9CF); font-weight: 400; }

/* ---------------- Pénztár: lenyitható sávok (belépés, kupon) ----------------
   A Woo alap „woocommerce-info" sávja és a benne lévő űrlap világos keretet
   és fehér hátteret hoz – itt a márka sötét felületére hangoljuk. */
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .lf-kupon-blokk .woocommerce-form-coupon-toggle { margin: 0; }

body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .lf-kupon-blokk .woocommerce-info {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 15px 20px;
	border: 1px solid #38383D !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, .03) !important;
	color: #C9C9CF !important;
	font-size: 14px;
	line-height: 1.5;
}
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .lf-kupon-blokk .woocommerce-info::before {
	content: "＋";
	position: static;
	margin: 0;
	color: var(--lf-korall);
	font-size: 15px;
	line-height: 1;
}
body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-checkout .lf-kupon-blokk .woocommerce-info a {
	color: var(--lf-korall);
	text-decoration: none;
	font-weight: 600;
}
body.woocommerce-checkout .woocommerce-info a:hover,
body.woocommerce-checkout .lf-kupon-blokk .woocommerce-info a:hover { text-decoration: underline; }

/* A lenyíló panel: szürke háttér, ugyanaz a lekerekítés, keret nélkül. */
/* A Woo saját lapja később tölt be, ezért kell a !important. */
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout form.woocommerce-form-login,
body.woocommerce-checkout .lf-kupon-blokk form.checkout_coupon {
	margin: 10px 0 0 !important;
	padding: clamp(16px, 2vw, 22px) !important;
	border: 1px solid #38383D !important;
	border-radius: 14px !important;
	background: #27272C !important;
	color: #C9C9CF;
}
body.woocommerce-checkout form.checkout_coupon p,
body.woocommerce-checkout form.woocommerce-form-login p,
body.woocommerce-checkout .lf-kupon-blokk form.checkout_coupon p { margin: 0 0 12px; font-size: 14px; }
body.woocommerce-checkout form.checkout_coupon p:last-child,
body.woocommerce-checkout form.woocommerce-form-login p:last-child,
body.woocommerce-checkout .lf-kupon-blokk form.checkout_coupon p:last-child { margin-bottom: 0; }

/* A saját kuponmező (a Woo űrlapja nem működne a pénztár űrlapján belül). */
.lf-kupon-mezo {
	margin-top: 10px;
	padding: clamp(16px, 2vw, 22px);
	border: 1px solid #38383D;
	border-radius: 14px;
	background: #27272C;
}
.lf-kupon-mezo label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--lf-halvany);
}
.lf-kupon-sor { display: flex; flex-wrap: wrap; gap: 10px; }
.lf-kupon-sor input[type="text"] {
	flex: 1 1 200px;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid #38383D;
	border-radius: 12px;
	background: #1F1F23;
	color: var(--lf-krem);
	font-size: 15px;
}
.lf-kupon-sor input[type="text"]:focus {
	outline: none;
	border-color: var(--lf-korall);
}
.lf-kupon-sor button {
	min-height: 48px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: var(--lf-korall);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: opacity .2s;
}
.lf-kupon-sor button:disabled { opacity: .55; cursor: default; }
.lf-kupon-uzenet { margin: 10px 0 0; font-size: 13.5px; line-height: 1.5; }
.lf-kupon-uzenet:empty { display: none; }
.lf-kupon-uzenet.lf-siker { color: #7BD88F; }
.lf-kupon-uzenet.lf-hiba { color: #E0243B; }

body.woocommerce-checkout form.woocommerce-form-login .lost_password a { color: var(--lf-korall); text-decoration: none; }

/* A kuponblokk a bal oszlopban, a szállítás és a fizetés között. */
.lf-penztar-racs .lf-kupon-blokk { grid-column: 1; grid-row: 3; margin-top: clamp(20px, 2.4vw, 28px); }
.lf-penztar-racs #payment { grid-column: 1; grid-row: 4; }
.lf-penztar-racs .lf-osszegzo { grid-row: 1 / span 4; }

@media (max-width: 900px) {
	/* Egy oszlopban a rögzített sorszámok üres réseket hagynának a rácsban:
	   mindegyik elem a saját sorába kerül, a sorrendet az order adja. */
	.lf-penztar-racs { grid-template-columns: minmax(0, 1fr); }
	.lf-penztar-racs > *,
	.lf-penztar-racs .lf-penztar-bal,
	.lf-penztar-racs .lf-szallitas-blokk,
	.lf-penztar-racs .lf-kupon-blokk,
	.lf-penztar-racs #payment,
	.lf-penztar-racs .lf-osszegzo {
		grid-column: 1 !important;
		grid-row: auto !important;
		min-width: 0 !important;
	}
	.lf-penztar-racs .lf-penztar-bal { order: 1; }
	.lf-penztar-racs .lf-szallitas-blokk { order: 2; }
	.lf-penztar-racs .lf-osszegzo { order: 3; }
	.lf-penztar-racs .lf-kupon-blokk { order: 4; margin-top: 0; }
	.lf-penztar-racs #payment { order: 5; }
}

/* A fizetési mód leírásdoboza a Woo alapból világos buborék – sötétre véve,
   a kis nyilával együtt (ugyanaz a nyelv, mint a lenyíló paneleké). */
.lf-penztar .wc_payment_methods .payment_box {
	padding: 14px 18px !important;
	border-radius: 12px !important;
	/* A kártya most #27272C, ezért a doboz sötétebb kút lett – különben
	   egybeolvadna azzal, amin ül. Ugyanaz a minta, mint a kuponblokknál. */
	background: #1F1F23 !important;
	color: var(--lf-halvany) !important;
	font-size: 13.5px;
	line-height: 1.6;
}
.lf-penztar .wc_payment_methods .payment_box::before {
	border-bottom-color: #1F1F23 !important;
}
.lf-penztar .wc_payment_methods .payment_box p { margin: 0; }
.lf-penztar #payment { background: transparent !important; }
.lf-penztar #payment .place-order { padding: 0; }

/* ---------------- Kategóriaoldal: a fejrész a lap tetejéig ér ----------------
   A szekció adja a fejléc alatti térközt, a designból örökölt belső padding
   felül nem adódik hozzá – különben kétszeres a rés. */
[data-lf-kategoria-fej] { padding-top: clamp(112px, 11vw, 148px); }
[data-lf-kategoria-fej] > div { padding-top: 0 !important; }

/* ---------------- Pénztár: kontraszt és mezők ----------------
   A woocommerce.css a téma lapja után tölt be, ezért kell a !important. */
.lf-penztar input.input-text,
.lf-penztar textarea,
.lf-penztar #order_comments,
.lf-penztar select {
	background: #27272C !important;
	color: #FAF5F3 !important;
	border: 1px solid #38383D !important;
	border-radius: 14px !important;
}
.lf-penztar input.input-text::placeholder,
.lf-penztar textarea::placeholder { color: #6E6E76 !important; opacity: 1; }

/* Olvashatóbb másodlagos szövegek. */
.lf-penztar { color: #D8D8DE; }
.lf-penztar .woocommerce-privacy-policy-text,
.lf-penztar .woocommerce-terms-and-conditions-wrapper { color: #B4B4BC; font-size: 14px; }
.lf-penztar .lf-szallitas-ido { color: #B4B4BC !important; }
.lf-penztar #shipping_method label,
.lf-penztar .wc_payment_methods label { color: #FAF5F3; }

/* ---------------- Lebegő címkék ----------------
   A címke a mezőben ül, és fókuszra vagy kitöltéskor fölé úszik. A mezők
   üres placeholdert kapnak PHP-ból, hogy a :placeholder-shown működjön. */
.lf-penztar .form-row { position: relative; }
.lf-penztar .form-row > label {
	position: absolute;
	left: 17px;
	top: 17px;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #8B8B91 !important;
	pointer-events: none;
	transform-origin: 0 0;
	transition: transform .18s ease, color .18s ease;
	z-index: 1;
}
.lf-penztar .form-row input.input-text,
.lf-penztar .form-row textarea,
.lf-penztar .form-row select {
	padding-top: 22px !important;
	padding-bottom: 6px !important;
}
.lf-penztar .form-row textarea { padding-top: 26px !important; }

.lf-penztar .form-row:focus-within > label,
.lf-penztar .form-row:has(input.input-text:not(:placeholder-shown)) > label,
.lf-penztar .form-row:has(textarea:not(:placeholder-shown)) > label,
.lf-penztar .form-row:has(select) > label,
.lf-penztar .form-row:has(.select2-container) > label {
	transform: translateY(-9px) scale(.76);
	color: #FF6C44 !important;
}
/* A böngésző saját kitöltése is felnyomja a címkét. */
.lf-penztar .form-row:has(input:-webkit-autofill) > label { transform: translateY(-9px) scale(.76); }

/* A jelölőnégyzetes sorok címkéje nem lebeg – ott a szöveg a doboz mellett áll.
   A .woocommerce-validated ide NEM való: a Woo az üres, nem kötelező mezőre is
   ráteszi, és a címke kint ragadna a mező fölött. */
.lf-penztar .form-row-wide.create-account > label,
.lf-penztar .form-row:has(input[type="checkbox"]) > label {
	position: static;
	transform: none;
	pointer-events: auto;
}

/* ---------------- Szállítási módok: egy sorban ---------------- */
.lf-penztar #shipping_method li {
	display: flex;
	align-items: center;
	gap: 12px;
}
.lf-penztar #shipping_method li > label { flex: 1; margin: 0; }
.lf-penztar #shipping_method label {
	flex-wrap: nowrap !important;
	gap: 10px;
}
.lf-penztar #shipping_method label > * { white-space: nowrap; }
.lf-penztar #shipping_method .lf-szallitas-ido { margin-left: auto; font-size: 13.5px; }
.lf-penztar #shipping_method .woocommerce-Price-amount { font-weight: 600; }

/* ---------------- Fizetési módok: egy sorban ----------------
   Ugyanaz az elrendezés, mint a szállítási módoknál: a <li> eddig blokk volt,
   ezért a soron belüli rádiógomb után a display:flex-es címke új sorba tört.
   A payment_box (a mód leírása) flex-basis: 100%-kal a saját sorába kerül. */
.lf-penztar .wc_payment_methods > li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.lf-penztar .wc_payment_methods > li > input[type="radio"] { flex: 0 0 auto; }
.lf-penztar .wc_payment_methods > li > label {
	flex: 1 1 auto;
	width: auto !important;
	margin: 0;
}
.lf-penztar .wc_payment_methods > li > .payment_box {
	flex-basis: 100%;
	min-width: 0;
	/* A térköz egy helyről jön: a <li> gap-je fölülről, a padding-ja alulról.
	   A doboz saját függőleges margója flexben már nem olvad össze, ezért
	   hozzáadódna és felösleges üres sávot hagyna a kártya alján. */
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

@media (max-width: 560px) {
	.lf-penztar #shipping_method label { flex-wrap: wrap !important; }
	.lf-penztar #shipping_method .lf-szallitas-ido { margin-left: 0; flex-basis: 100%; }
	/* A személyes átvétel címe is saját sorba kerül, és tördelhet. */
	.lf-penztar #shipping_method .lf-atvetel-hely {
		margin-left: 0;
		flex-basis: 100%;
		min-width: 0;
		max-width: 100%;
		white-space: normal !important;
	}
}

/* ---------------- Pénztár összegző: bizalmi blokk ---------------- */
.lf-osszegzo .lf-simplepay {
	display: block;
	width: 100%;
	margin-top: 18px;
	padding: 10px 14px;
	border-radius: 12px;
	background: #fff;
}

.lf-penztar-ervek {
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 9px;
	font-size: 13.5px;
	color: #C9C9CF;
}
.lf-penztar-ervek li { display: flex; align-items: center; gap: 10px; line-height: 1.45; }
.lf-penztar-ervek span { color: var(--lf-korall); font-size: 15px; flex: 0 0 auto; }

.lf-penztar-velemeny {
	margin-top: 16px;
	padding: 12px 14px;
	border: 1px solid #38383D;
	border-radius: 12px;
	background: rgba(255, 255, 255, .03);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 9px;
	font-size: 13px;
	color: #C9C9CF;
}
.lf-velemeny-jel {
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #fff;
	color: #1F1F23;
	font-size: 12px;
	font-weight: 700;
	flex: 0 0 auto;
}
.lf-velemeny-ertek { font-size: 15px; font-weight: 700; color: #FAF5F3; font-variant-numeric: tabular-nums; }
.lf-velemeny-csillag { color: var(--lf-korall); letter-spacing: .06em; font-size: 12px; }
.lf-velemeny-db { flex-basis: 100%; font-size: 12px; color: #8B8B91; }

/* A jelölőnégyzetek is a márka színét kapják (a natív fekete négyzet helyett). */
.lf-penztar input[type="checkbox"] {
	appearance: none;
	width: 18px;
	height: 18px;
	margin: 0 10px 0 0;
	border: 1.5px solid #38383D;
	border-radius: 5px;
	background: #1F1F23;
	cursor: pointer;
	flex: 0 0 auto;
	vertical-align: -3px;
	transition: border-color .2s, background .2s;
}
.lf-penztar input[type="checkbox"]:checked {
	border-color: var(--lf-korall);
	background: var(--lf-korall) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.6l3.2 3.2L13 5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.lf-penztar input[type="checkbox"]:focus-visible { outline: 2px solid var(--lf-korall); outline-offset: 2px; }

/* Az ÁSZF- és a SimplePay nyilatkozat-checkbox kattinthatóvá tétele.
   A WooCommerce `.woocommerce form .form-row .input-checkbox` szabálya
   `display: inline`-t ad – INLINE elemen viszont a width/height nem
   érvényesül, ezért a fenti 18x18 hatástalan maradt, és a négyzet nulla
   szélességű csíkká zsugorodott. Így a vásárló csak a szöveget látta, pipálni
   nem tudott semmit. A woocommerce.css a téma lapja UTÁN tölt be, ezért kell
   az !important (ugyanaz a minta, mint a lap többi Woo-felülírásánál). */
.lf-penztar input.input-checkbox,
.lf-penztar input.woocommerce-form__input-checkbox {
	display: inline-block !important;
	width: 18px !important;
	height: 18px !important;
	flex: 0 0 auto;
	margin: 1px 0 0 !important;
}
/* A címke a négyzettel egy sorban kezdődjön, a hosszú jogi szöveg pedig ne
   csússzon a négyzet alá, hanem tartsa a behúzást. */
.lf-penztar label.woocommerce-form__label-for-checkbox,
.lf-penztar .woocommerce-terms-and-conditions-wrapper label,
.lf-penztar label.checkbox {
	/* !important: a woocommerce.css `.woocommerce form .form-row label` szabálya
	   (0,3,1) erősebb, és `display: block`-ot ad – emiatt a tördelt második sor
	   visszaesett a checkbox alá, a behúzás elveszett. */
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	line-height: 1.55;
}
.lf-penztar label.woocommerce-form__label-for-checkbox > span,
.lf-penztar label.checkbox > span { flex: 0 1 auto; min-width: 0; }

/* ---------------- Egységes elfogadó-blokk ----------------
   Az ÁSZF- és a SimplePay-nyilatkozat ugyanabban a dobozban ül. Korábban csak a
   SimplePay-esnek volt kerete, az ÁSZF-es csupasz szövegként lógott alatta. */
.lf-penztar .lf-simplepay-nyilatkozat,
.lf-penztar .woocommerce-terms-and-conditions-wrapper .form-row {
	margin: 4px 0 18px;
	/* !important: a pénztár `.form-row` szabályai aszimmetrikus bal padding-et adnak
	   (a lebegő címkék miatt), ettől a doboz tartalma jobbra csúszott. */
	padding: 14px 16px !important;
	border: 1px solid #38383D;
	border-radius: 12px;
	background: rgba(255, 255, 255, .02);
	font-size: 13px;
	line-height: 1.6;
	color: #A8A8B0;
}
/* A négyzet kikerül a szövegfolyamból: abszolút pozícióval a bal szélen ül, a
   szöveg pedig egységes behúzást kap. Ez egyszerre old meg hármat:
   – a tördelt sorok nem csúsznak a négyzet alá,
   – a Woo KÜLÖN elemként rendelt kötelező-csillaga a mondat végén marad
     (flex-sorban a sor jobb szélére lökődött),
   – a négyzet és az első szövegsor függőlegesen egy vonalba kerül. */
.lf-penztar .lf-simplepay-nyilatkozat label,
.lf-penztar .woocommerce-terms-and-conditions-wrapper label.checkbox {
	display: block !important;
	/* !important: ennélkül a címke `static` marad, és a négyzet a `.form-row`-hoz
	   igazodik (az is `relative`) – vagyis a doboz bal padding-je ELÉ csúszik. */
	position: relative !important;
	/* !important: a Woo címke-szabályai adnak bal margót, ami elhúzá a blokkot
	   a doboz bal padding-jétől. */
	margin: 0 !important;
	padding-left: 28px;
	cursor: pointer;
	/* A lebegő címke szabálya (.lf-penztar .form-row > label) erre is ráilleszkedik,
	   mert ez is közvetlen > label gyereke egy .form-row-nak. Onnan jön a left/top
	   17px eltolás, a 15px betűméret, a halvány szín és – a legrosszabb –
	   a pointer-events: none, amitől a címke szövegére kattintva SEMMI nem történt.
	   Mindet vissza kell venni, különben az elfogadó-blokk mezőcímként viselkedik. */
	left: auto !important;
	top: auto !important;
	transform: none !important;
	transition: none !important;
	z-index: auto !important;
	pointer-events: auto !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: #A8A8B0 !important;
}
.lf-penztar .lf-simplepay-nyilatkozat input.input-checkbox,
.lf-penztar .woocommerce-terms-and-conditions-wrapper input.input-checkbox {
	position: absolute;
	left: 0;
	/* (sormagasság − négyzet) / 2, hogy az első sorral optikailag egy vonalban legyen */
	top: 1px;
	margin: 0 !important;
}
@media (max-width: 560px) {
	.lf-penztar .lf-simplepay-nyilatkozat,
	.lf-penztar .woocommerce-terms-and-conditions-wrapper .form-row {
		padding: 12px 14px !important;
		font-size: 12.5px;
	}
}

/* Fizetési és csomagpont-ikonok: világos alapon.
   A SimplePay és a GLS logói sötét rajzolatúak, a #27272C kártyán alig
   olvashatók. Ugyanaz a megoldás, mint az összegzőben lévő SimplePay
   logósávnál: fehér alap, lekerekítve. A background-color NEM viszi el a
   background-image-et (a plugin ikonjai háttérképek). */
.lf-penztar .wc_payment_methods label img,
.lf-penztar .vp-woo-pont-shipping-method-icons i,
.lf-penztar .vp-woo-pont-modal-sidebar-result-info-icon {
	background-color: #fff;
	border-radius: 6px;
	padding: 3px;
	box-sizing: content-box;
}

/* A „Szállítás másik címre?" cím a checkboxszal egy sorban. */
.lf-penztar #ship-to-different-address { display: flex; align-items: center; gap: 4px; }
.lf-penztar #ship-to-different-address label { display: flex; align-items: center; margin: 0; cursor: pointer; }

/* Az egyetlen országnál a Woo szöveget ír input helyett – az is mezőnek nézzen ki. */
.lf-penztar .form-row:has(> .woocommerce-input-wrapper > strong),
.lf-penztar .form-row:has(select),
.lf-penztar #billing_country_field,
.lf-penztar #billing_state_field,
.lf-penztar #shipping_country_field,
.lf-penztar #shipping_state_field {
	display: block;
	grid-column: 1 / -1;
	width: 100%;
}
.lf-penztar .form-row strong,
.lf-penztar .form-row .woocommerce-input-wrapper > strong {
	display: block;
	width: 100%;
	min-height: 52px;
	padding: 22px 16px 6px;
	border: 1px solid #38383D;
	border-radius: 14px;
	background: #1F1F23;
	color: #FAF5F3;
	font-size: 15px;
	font-weight: 500;
}
/* A rejtett second-line mező is látszódjon, ha a Woo elrejtené. */
.lf-penztar .form-row.address-field.hidden { display: none; }

/* ---------------- Termékoldali értékelések ---------------- */
.lf-velemenyiras {
	background: #1F1F23;
	color: #FAF5F3;
	padding-block: clamp(48px, 6vw, 80px);
	border-top: 1px solid #38383D;
	/* A #ertekelesek horgonyra ugorva a cím ne csússzon a ragadós fejléc alá. */
	scroll-margin-top: clamp(84px, 10vw, 112px);
}
.lf-velemenyiras-torzs { max-width: 780px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 48px); }
.lf-velemenyiras h2 {
	margin: 0 0 22px;
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 600;
	letter-spacing: -.025em;
	color: #FAF5F3;
}
.lf-velemenyiras #reviews { color: #C9C9CF; }

/* --- Üres állapot: öt halvány csillag + hívogató szöveg, nem egy csupasz sor --- */
.lf-velemenyiras .woocommerce-noreviews {
	margin: 0 0 clamp(26px, 3vw, 36px);
	padding: clamp(26px, 3.2vw, 34px) 22px;
	border: 1px dashed #38383D;
	border-radius: 18px;
	background: rgba(255, 255, 255, .02);
	text-align: center;
	font-size: 15.5px;
	line-height: 1.6;
	color: #8B8B91;
}
.lf-velemenyiras .woocommerce-noreviews::before {
	content: "\e021\e021\e021\e021\e021";
	font-family: WooCommerce;
	display: block;
	margin-bottom: 12px;
	font-size: 20px;
	letter-spacing: 5px;
	color: #4A4A52;
}
/* Bátorító másodsor – a WooCommerce szövege önmagában zárt mondat. */
.lf-velemenyiras .woocommerce-noreviews::after {
	content: "Legyél te az első, aki megosztja a véleményét.";
	display: block;
	margin-top: 6px;
	font-size: 14px;
	color: #6F6F77;
}

/* --- Az űrlap kártyába kerül, mint az oldal többi felülete --- */
.lf-velemenyiras #review_form_wrapper {
	margin-top: 0;
	padding: clamp(24px, 3.2vw, 36px);
	border: 1px solid #38383D;
	border-radius: 20px;
	background: #27272C;
}
.lf-velemenyiras #reply-title {
	display: block;
	margin: 0 0 6px;
	font-size: clamp(17px, 1.9vw, 21px);
	font-weight: 600;
	letter-spacing: -.015em;
	color: #FAF5F3;
}
.lf-velemenyiras #reply-title small { font-weight: 400; }
.lf-velemenyiras .comment-notes { margin: 0 0 22px; font-size: 13.5px; line-height: 1.55; color: #8B8B91; }
.lf-velemenyiras .comment-form { display: grid; gap: 18px; }
.lf-velemenyiras .comment-form p { margin: 0; }

/* Mikro-címkék – ugyanaz a nyelv, mint a pénztáron. */
.lf-velemenyiras .comment-form-rating label,
.lf-velemenyiras .comment-form p label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #8B8B91;
}
.lf-velemenyiras .comment-form .required { color: var(--lf-korall); border: 0; }

/* Csillagos értékelő: nagy, korall, kattintható (a wc-single-product.js rajzolja). */
.lf-velemenyiras .comment-form-rating .stars { margin: 0; line-height: 1; }
.lf-velemenyiras .stars a {
	font-size: 28px;
	margin-right: 8px;
	color: #4A4A52;
	transition: color .15s ease, transform .15s ease;
}
.lf-velemenyiras .stars a:hover { transform: translateY(-1px); }
.lf-velemenyiras .stars:hover a,
.lf-velemenyiras .stars.selected a.active,
.lf-velemenyiras .stars.selected a:not(.active) { color: var(--lf-korall); }
.lf-velemenyiras .stars a:hover ~ a,
.lf-velemenyiras .stars.selected a.active ~ a { color: #4A4A52; }
/* A JS előtti (vagy JS nélküli) tartalék: a nyers legördülő is a márka szerint. */
.lf-velemenyiras .comment-form-rating select {
	width: 100%;
	max-width: 260px;
	min-height: 52px;
	padding: 0 16px;
	border: 1px solid #38383D;
	border-radius: 14px;
	background: #1A1A1E;
	color: #FAF5F3;
	font: inherit;
	font-size: 15px;
}

.lf-velemenyiras .comment-form input[type="text"],
.lf-velemenyiras .comment-form input[type="email"],
.lf-velemenyiras .comment-form textarea {
	width: 100%;
	min-height: 52px;
	padding: 14px 16px;
	border: 1px solid #38383D;
	border-radius: 14px;
	background: #1A1A1E;
	color: #FAF5F3;
	font: inherit;
	font-size: 15px;
}
.lf-velemenyiras .comment-form textarea { min-height: 130px; resize: vertical; line-height: 1.6; }
.lf-velemenyiras .comment-form input::placeholder,
.lf-velemenyiras .comment-form textarea::placeholder { color: #5F5F66; }
.lf-velemenyiras .comment-form input:focus,
.lf-velemenyiras .comment-form textarea:focus,
.lf-velemenyiras .comment-form-rating select:focus {
	border-color: var(--lf-korall);
	outline: 2px solid rgba(255, 108, 68, .3);
	outline-offset: 1px;
}

/* Név és e-mail egymás mellett, ha van rá hely. */
@media (min-width: 620px) {
	.lf-velemenyiras .comment-form { grid-template-columns: 1fr 1fr; }
	.lf-velemenyiras .comment-form > p:not(.comment-form-author):not(.comment-form-email) { grid-column: 1 / -1; }
}

.lf-velemenyiras .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13.5px;
	line-height: 1.5;
	color: #8B8B91;
}
.lf-velemenyiras .comment-form-cookies-consent input {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	margin-top: 2px;
	accent-color: var(--lf-korall);
}
/* A süti-hozzájárulás nem mikro-címke: a `p label` szabálynál erősebb
   szelektor kell, különben nagybetűsen, ritkítva jelenik meg. */
.lf-velemenyiras .comment-form p.comment-form-cookies-consent label {
	margin: 0;
	font-size: 13.5px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #8B8B91;
}
.lf-velemenyiras .comment-form .form-submit { margin: 0; }
.lf-velemenyiras .comment-form .submit {
	min-height: 54px;
	padding: 0 32px;
	border: 0;
	border-radius: 999px;
	background: var(--lf-korall);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	cursor: pointer;
	box-shadow: 0 14px 34px -14px rgba(255, 108, 68, .55);
	transition: background .2s ease;
}
.lf-velemenyiras .comment-form .submit:hover { background: #FF8866; }

/* --- Beérkezett vélemények kártyái --- */
.lf-velemenyiras .commentlist {
	list-style: none;
	margin: 0 0 clamp(26px, 3vw, 36px);
	padding: 0;
	display: grid;
	gap: 14px;
}
.lf-velemenyiras .commentlist .comment_container {
	display: flex;
	gap: 16px;
	padding: 20px 22px;
	border: 1px solid #38383D;
	border-radius: 18px;
	background: #27272C;
}
.lf-velemenyiras .commentlist img.avatar {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid #38383D;
}
.lf-velemenyiras .commentlist .comment-text { min-width: 0; flex: 1 1 auto; }
.lf-velemenyiras .commentlist .star-rating { margin: 0 0 8px; color: var(--lf-korall); font-size: 15px; }
.lf-velemenyiras .commentlist .meta {
	margin: 0 0 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	font-size: 13.5px;
	color: #8B8B91;
}
.lf-velemenyiras .commentlist .woocommerce-review__author { font-size: 15px; font-weight: 600; color: #FAF5F3; }
.lf-velemenyiras .commentlist .woocommerce-review__dash { display: none; }
.lf-velemenyiras .commentlist .woocommerce-review__verified {
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(255, 108, 68, .12);
	color: var(--lf-korall);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.lf-velemenyiras .commentlist .description { color: #C9C9CF; line-height: 1.65; }
.lf-velemenyiras .commentlist .description p { margin: 0 0 8px; }
.lf-velemenyiras .commentlist .description p:last-child { margin-bottom: 0; }

/* A Woo saját „Értékelések" címe duplázná a szekció címét. */
.lf-velemenyiras #reviews > h2:first-child,
.lf-velemenyiras .woocommerce-Reviews-title { display: none; }

/* ---------------- Töltésjelző ----------------
   A WooCommerce fehér, félig átlátszó fátylat és egy szürke GIF-pörgettyűt
   tesz a frissülő blokkra – világos felületre tervezve. Sötét alapon ez
   kivilágít; itt a márka sötét fátylát és korall pörgettyűjét kapja. */
.blockUI.blockOverlay {
	background: rgba(14, 14, 16, .68) !important;
	opacity: 1 !important;
	backdrop-filter: blur(2px);
	border-radius: inherit;
	cursor: progress;
}
.blockUI.blockOverlay::before {
	content: "" !important;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 32px;
	height: 32px;
	margin: -16px 0 0 -16px;
	border: 2.5px solid rgba(255, 108, 68, .22);
	border-top-color: #FF6C44;
	border-radius: 50%;
	background: none !important;
	animation: lf-porgettyu .75s linear infinite;
}
@keyframes lf-porgettyu { to { transform: rotate(360deg); } }

.blockUI.blockMsg {
	border: 0 !important;
	background: none !important;
	color: #FAF5F3 !important;
}

@media (prefers-reduced-motion: reduce) {
	.blockUI.blockOverlay::before { animation: none; border-top-color: rgba(255, 108, 68, .22); }
}

/* ---------------- Select mezők (ország, megye) ----------------
   A Woo select2-vé alakítja őket; annak alap kinézete elüt a többi mezőtől. */
.lf-penztar select,
.lf-penztar .select2-container--default .select2-selection--single {
	width: 100% !important;
	min-height: 52px !important;
	height: auto !important;
	padding: 22px 40px 6px 16px !important;
	border: 1px solid #38383D !important;
	border-radius: 14px !important;
	/* Ugyanaz a felület, mint a többi mezőnél. Ez a blokk !important-tal fut,
	   ezért hiába állítottuk fentebb – itt is át kell írni, különben az Ország/
	   Megye mező egyedül marad a régi színen. */
	background: #27272C !important;
	color: #FAF5F3 !important;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.3;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238B8B91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.2l4 4 4-4'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 15px !important;
	cursor: pointer;
}
.lf-penztar .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 !important;
	color: #FAF5F3 !important;
	line-height: inherit !important;
}
.lf-penztar .select2-container--default .select2-selection--single .select2-selection__arrow { display: none !important; }
.lf-penztar select:focus,
.lf-penztar .select2-container--default.select2-container--open .select2-selection--single {
	outline: 2px solid var(--lf-korall);
	outline-offset: 1px;
	border-color: transparent !important;
}

/* A legördülő lista is a sötét felülethez igazodik. */
.select2-container--default .select2-dropdown {
	border: 1px solid #43434A;
	border-radius: 14px;
	/* A mező most #27272C, ezért a fölé úszó panel egy fokkal világosabb,
	   árnyékkal – különben a lista egybeolvad a mezővel, amiből kinyílt. */
	background: #2E2E34;
	box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .8);
	overflow: hidden;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	padding: 10px 12px;
	border: 1px solid #38383D;
	border-radius: 10px;
	background: #1F1F23;
	color: #FAF5F3;
	font-size: 14.5px;
}
.select2-container--default .select2-results__option {
	padding: 10px 14px;
	background: transparent;
	color: #C9C9CF;
	font-size: 14.5px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: rgba(255, 108, 68, .16) !important;
	color: #FAF5F3 !important;
}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background: rgba(255, 255, 255, .05);
	color: #FAF5F3;
}
.select2-container--default .select2-results__option--group { background: transparent; }
.lf-penztar select option { background: #2E2E34; color: #FAF5F3; }

/* ---------------- Töltésjelző csak ott, ahol tényleg frissül ----------------
   Az #order_review display:contents, ezért a rá tett fátyol az egész rácsot
   lefedné – ott elrejtjük, és az összegző maga jelzi a frissülést. */
/* A Woo a .woocommerce-checkout-review-order-table burkot blokkolja, ami nálunk
   display:contents – annak a doboza az egész rács, így a fátyol szétterülne. */
.lf-penztar #order_review > .blockUI,
.lf-penztar .lf-review-burok > .blockUI,
.lf-penztar .woocommerce-checkout-review-order-table > .blockUI,
.lf-penztar form.checkout > .blockUI { display: none !important; }

.lf-osszegzo.lf-tolt { position: relative; }
.lf-osszegzo.lf-tolt::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: rgba(14, 14, 16, .55);
	backdrop-filter: blur(1.5px);
	z-index: 2;
}
.lf-osszegzo.lf-tolt::before {
	content: "";
	position: absolute;
	top: 26px;
	left: 50%;
	width: 26px;
	height: 26px;
	margin-left: -13px;
	border: 2.5px solid rgba(255, 108, 68, .22);
	border-top-color: var(--lf-korall);
	border-radius: 50%;
	animation: lf-porgettyu .75s linear infinite;
	z-index: 3;
}
@media (prefers-reduced-motion: reduce) {
	.lf-osszegzo.lf-tolt::before { animation: none; }
}

/* ---------------- Mobil: nincs ragadás, egy oszlop ---------------- */
@media (max-width: 900px) {
	.lf-penztar-racs .lf-osszegzo {
		position: static !important;
		top: auto !important;
	}
}

/* ---------------- Indulási adatbekérő: mi van meg, mi hiányzik ---------------- */
.lf-indulas-allapot {
	margin: 0 0 26px;
	padding: 18px 20px;
	border: 1px solid #38383D;
	border-radius: 12px;
	background: rgba(123, 216, 143, .07);
	color: #C9C9CF;
	font-size: 15px;
	line-height: 1.6;
}
.lf-indulas-allapot p { margin: 0; }
.lf-indulas-allapot strong { color: #FAF5F3; }
.lf-indulas-allapot ul {
	margin: 10px 0 0;
	padding-left: 20px;
	display: grid;
	gap: 3px;
	font-size: 14.5px;
}

/* A már kitöltött mezők halványabbak, de szerkeszthetők: az ügyfél
   felülírhatja, amit mi írtunk be. */
.fluentform .ff-el-group.lf-kesz input,
.fluentform .ff-el-group.lf-kesz textarea,
.fluentform .ff-el-group.lf-kesz select {
	background: rgba(123, 216, 143, .04) !important;
	border-color: rgba(123, 216, 143, .28) !important;
	color: #A8A8B0 !important;
}
.fluentform .ff-el-group.lf-kesz input:focus,
.fluentform .ff-el-group.lf-kesz textarea:focus,
.fluentform .ff-el-group.lf-kesz select:focus { color: #FAF5F3 !important; }

/* Amit az ügyfél átírt, azt jelöljük, hogy lássa: nálunk is ez érkezik meg. */
.fluentform .ff-el-group.lf-modositva input,
.fluentform .ff-el-group.lf-modositva textarea,
.fluentform .ff-el-group.lf-modositva select {
	border-color: rgba(255, 108, 68, .45) !important;
	color: #FAF5F3 !important;
}
.lf-modositva .lf-kesz-jel {
	background: rgba(255, 108, 68, .14);
	color: #FF6C44;
}
.lf-modositva .lf-kesz-jel::before { content: "✎ "; }
.lf-allapot-labjegyzet {
	margin-top: 10px !important;
	font-size: 13.5px;
	color: #8A8A93;
}
.lf-kesz-jel {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 9px;
	border-radius: 999px;
	background: rgba(123, 216, 143, .16);
	color: #7BD88F;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	vertical-align: 1px;
}
.lf-kesz-jel::before { content: "✓ "; }

/* A hiányzó mezők kapnak egy halvány jelölést a bal oldalon. */
.fluentform .ff-el-group.lf-hianyzik .ff-el-input--label > label::after {
	content: "kérjük";
	display: inline-block;
	margin-left: 8px;
	padding: 2px 9px;
	border-radius: 999px;
	background: rgba(255, 108, 68, .14);
	color: #FF6C44;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	vertical-align: 1px;
}

/* ==========================================================================
   Fiókom
   A designterv nem tartalmazta ezt a felületet; a WooCommerce nyers kimenete
   kap itt keretet, térközt és a bolt többi oldalával egyező ritmust.
   ========================================================================== */

.woocommerce-account .woocommerce {
	max-width: 1220px;
	margin-inline: auto;
	padding-inline: clamp(20px, 5vw, 40px);
	padding-block: clamp(56px, 7vw, 96px);
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr);
	grid-template-areas:
		"fej fej"
		"menu tartalom";
	column-gap: clamp(40px, 5vw, 72px);
	row-gap: 36px;
	align-items: start;
}

.lf-fiok-fej { grid-area: fej; }
.lf-fiok-fej h1 {
	margin: 0;
	font-size: clamp(30px, 3.4vw, 42px);
	font-weight: 500;
	letter-spacing: -.02em;
	color: #FAF5F3;
}

/* ---------- bal oszlop: menü ---------- */
.woocommerce-MyAccount-navigation {
	grid-area: menu;
	position: sticky;
	top: 104px;
	padding: 10px;
	border: 1px solid #2A2A2F;
	border-radius: 16px;
	background: #17171A;
}
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 2px;
}
.woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 10px;
	font-size: 15.5px;
	color: #C9C9CF;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.woocommerce-MyAccount-navigation li a:hover {
	background: rgba(255, 255, 255, .04);
	color: #FAF5F3;
}
.woocommerce-MyAccount-navigation li.is-active a {
	background: rgba(255, 108, 68, .12);
	color: #FF6C44;
	font-weight: 500;
}
/* A kijelentkezés nem navigáció, hanem kilépés – elválasztva. */
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #2A2A2F;
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: #8A8A93; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { color: #FAF5F3; }

/* ---------- jobb oszlop: tartalom ---------- */
.woocommerce-MyAccount-content { grid-area: tartalom; }
.woocommerce-MyAccount-content > p {
	margin: 0 0 20px;
	font-size: 16.5px;
	line-height: 1.65;
	color: #C9C9CF;
}
.woocommerce-MyAccount-content a { color: #FF6C44; }

/* ---------- űrlapok ---------- */
.woocommerce-MyAccount-content form .form-row,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row {
	margin: 0 0 20px;
	padding: 0;
	display: block;
}
.woocommerce-MyAccount-content form label,
.woocommerce-MyAccount-content fieldset label {
	display: block;
	margin: 0 0 9px;
	font-size: 13.5px;
	font-weight: 500;
	letter-spacing: .01em;
	color: #A8A8B0;
}
.woocommerce-MyAccount-content .required,
.woocommerce-MyAccount-content .required-indicator {
	color: #FF6C44;
	text-decoration: none;
	border: 0;
}
.woocommerce-MyAccount-content form input[type="text"],
.woocommerce-MyAccount-content form input[type="email"],
.woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-MyAccount-content form input[type="password"],
.woocommerce-MyAccount-content form select,
.woocommerce-MyAccount-content form textarea {
	width: 100%;
	min-height: 52px;
	padding: 13px 16px;
	border: 1px solid #38383D;
	border-radius: 12px;
	background: #131316;
	color: #FAF5F3;
	font: inherit;
	font-size: 16px;
}
.woocommerce-MyAccount-content form input:focus,
.woocommerce-MyAccount-content form select:focus,
.woocommerce-MyAccount-content form textarea:focus {
	outline: none;
	border-color: #FF6C44;
}
/* A mező alatti magyarázat nem dőlt betű, csak halványabb. */
.woocommerce-MyAccount-content form span.description,
.woocommerce-MyAccount-content form em {
	display: block;
	margin-top: 7px;
	font-size: 13.5px;
	font-style: normal;
	line-height: 1.5;
	color: #8A8A93;
}

/* A két nevet egy sorba tesszük, ahogy a pénztárban is. */
@media (min-width: 720px) {
	.woocommerce-MyAccount-content form .form-row-first,
	.woocommerce-MyAccount-content form .form-row-last {
		width: calc(50% - 9px);
		display: inline-block;
		vertical-align: top;
	}
	.woocommerce-MyAccount-content form .form-row-first { margin-right: 14px; }
}

/* A jelszóblokk nyers böngésző-fieldsetje kártyát kap. */
.woocommerce-MyAccount-content fieldset {
	margin: 28px 0 24px;
	padding: 22px 24px 4px;
	border: 1px solid #2A2A2F;
	border-radius: 16px;
	background: rgba(255, 255, 255, .02);
}
.woocommerce-MyAccount-content fieldset legend {
	padding: 0 8px;
	margin-left: -8px;
	font-size: 15px;
	font-weight: 600;
	color: #FAF5F3;
}

.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content .woocommerce-Button {
	min-height: 52px;
	padding: 0 30px;
	border: 0;
	border-radius: 999px;
	background: #FF6C44;
	color: #17171A;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background .2s;
}
.woocommerce-MyAccount-content button[type="submit"]:hover { background: #B4472A; color: #FAF5F3; }

/* ---------- címek ---------- */
.woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	margin-top: 22px;
}
.woocommerce-MyAccount-content .woocommerce-Address {
	width: auto;
	float: none;
	padding: 24px;
	border: 1px solid #2A2A2F;
	border-radius: 16px;
	background: #17171A;
}
.woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
	margin: 0;
	font-size: 19px;
	font-weight: 500;
	color: #FAF5F3;
}
.woocommerce-MyAccount-content .woocommerce-Address-title a {
	flex: none;
	font-size: 14.5px;
}
.woocommerce-MyAccount-content address {
	font-style: normal;
	line-height: 1.75;
	color: #C9C9CF;
}

/* ---------- rendelések táblázata ---------- */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	margin: 0;
	border: 1px solid #2A2A2F;
	border-radius: 16px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #17171A;
}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td {
	padding: 15px 18px;
	border: 0;
	border-bottom: 1px solid #2A2A2F;
	text-align: left;
	font-size: 15px;
	color: #C9C9CF;
}
.woocommerce-MyAccount-content table.shop_table th {
	background: rgba(255, 255, 255, .03);
	font-weight: 600;
	color: #FAF5F3;
}
.woocommerce-MyAccount-content table.shop_table tr:last-child td { border-bottom: 0; }

/* ---------- üres állapot ---------- */
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-Message {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0 0 24px;
	padding: 20px 24px;
	/* Az akcentust finom korall tónus adja, nem oldalsó sáv: a vastag,
	   egyoldali színes keret a leginkább sablonos megoldás. */
	border: 1px solid #38383D;
	border-radius: 12px;
	background: rgba(255, 108, 68, .06);
	color: #C9C9CF;
	font-size: 15.5px;
}
/* A Woo alap ikonja itt hiányzó glyph-ként, kis üres négyzetként jelenik meg,
   és külön sorba töri a szöveget – a saját elrendezésünknek nem is kell. */
.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-Message::before { display: none; }

.woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-Message .button {
	margin-left: auto;
	min-height: 44px;
	padding: 0 22px;
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	background: #FF6C44;
	color: #17171A;
	font-weight: 600;
	text-decoration: none;
}

/* ---------- mobil ---------- */
@media (max-width: 860px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"fej"
			"menu"
			"tartalom";
		row-gap: 26px;
	}
	.woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-MyAccount-navigation ul {
		grid-auto-flow: column;
		grid-auto-columns: max-content;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-MyAccount-navigation li a { white-space: nowrap; }
	.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0 0 0 6px;
		padding: 0 0 0 8px;
		border-top: 0;
		border-left: 1px solid #2A2A2F;
	}
}

/* A WooCommerce alap CSS-e float-tal és százalékos szélességgel dolgozik;
   itt grid van, ezért ezeket nullázni kell, különben minden összeszűkül. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-MyAccount-content .woocommerce-Addresses > div,
.woocommerce-MyAccount-content .col-1,
.woocommerce-MyAccount-content .col-2 {
	float: none;
	width: auto;
	max-width: none;
	margin-inline: 0;
}
.woocommerce-MyAccount-content .woocommerce-Address-title a {
	float: none;
	white-space: nowrap;
}
/* A címkártya maga a col-1 / col-2, ne kapjon dupla keretet. */
.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
	padding: 24px;
	border: 1px solid #2A2A2F;
	border-radius: 16px;
	background: #17171A;
}
.woocommerce-MyAccount-content .woocommerce-Address::after {
	content: "";
	display: block;
	clear: both;
}

/* A jelszómezők „szem" gombja a mezőn belül maradjon. */
.woocommerce-MyAccount-content .password-input {
	position: relative;
	display: block;
}
.woocommerce-MyAccount-content .password-input input { padding-right: 52px; }
.woocommerce-MyAccount-content .show-password-input {
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	cursor: pointer;
}

/* A kötelező csillag a márkaszínt kapja, ne hibapirosat. */
.woocommerce-account abbr.required,
.woocommerce-account .required,
.woocommerce-account .required-indicator {
	color: #FF6C44;
	border: 0;
	text-decoration: none;
}

/* A Woo alap `.required` szabálya erősebb szelektorral jön, ezért itt is az kell. */
.woocommerce-account form .form-row .required,
.woocommerce-account form .form-row abbr.required,
.woocommerce-account fieldset .required,
.woocommerce-account .woocommerce-MyAccount-content abbr[title] {
	color: #FF6C44 !important;
	border-bottom: 0;
	text-decoration: none;
}

/* Keskeny kijelzőn a cím és a szerkesztés-link egymás alá kerül. */
@media (max-width: 560px) {
	.woocommerce-MyAccount-content .woocommerce-Address-title {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}
	.woocommerce-MyAccount-content .woocommerce-Address-title a { white-space: normal; }
	.woocommerce-MyAccount-content .woocommerce-Address { padding: 20px; }
}

/* A Woo `.col2-set .col-1/.col-2` szabálya erősebb szelektorral fixál 47%-ot
   és float-ot; a grid csak így tud érvényesülni. */
.woocommerce-account .woocommerce .col2-set .col-1,
.woocommerce-account .woocommerce .col2-set .col-2,
.woocommerce-account .woocommerce .woocommerce-Address {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}
.woocommerce-account .woocommerce .woocommerce-Address-title a {
	float: none !important;
	margin: 0;
}

/* A cím és a szerkesztés-link egymás mellett kilógna a kártyából,
   ezért a link a cím alá kerül. */
.woocommerce-account .woocommerce .woocommerce-Address-title {
	display: block;
	margin-bottom: 14px;
}
.woocommerce-account .woocommerce .woocommerce-Address-title h2,
.woocommerce-account .woocommerce .woocommerce-Address-title h3 {
	margin: 0 0 4px;
}
.woocommerce-account .woocommerce .woocommerce-Address-title a {
	display: inline-block;
	font-size: 14.5px;
	white-space: normal;
}

/* ==========================================================================
   Visszatérő vásárló – üzenet + popup a Fiókom oldalon
   ========================================================================== */
.lf-regi-info {
	margin: 0 0 22px;
	padding: 16px 20px;
	border: 1px solid #38383D;
	border-radius: 12px;
	background: rgba(255, 108, 68, .08);
	color: #C9C9CF;
	font-size: 15px;
	line-height: 1.6;
}
.lf-regi-info strong { color: #FAF5F3; }
.lf-regi-info a { color: #FF6C44; font-weight: 600; white-space: nowrap; }

.lf-regi-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.lf-regi-modal.lf-nyitva { display: flex; }
.lf-regi-hatter {
	position: absolute;
	inset: 0;
	background: rgba(10, 10, 12, .72);
	backdrop-filter: blur(3px);
}
.lf-regi-doboz {
	position: relative;
	width: 100%;
	max-width: 460px;
	padding: 32px 30px 26px;
	border: 1px solid #38383D;
	border-radius: 18px;
	background: #1F1F23;
	box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .7);
	animation: lf-regi-be .28s ease;
}
@keyframes lf-regi-be { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lf-regi-doboz { animation: none; } }
.lf-regi-x {
	position: absolute;
	top: 12px;
	right: 14px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #8A8A93;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
.lf-regi-x:hover { color: #FAF5F3; background: rgba(255, 255, 255, .06); }
.lf-regi-cimke {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 600;
	color: #FF6C44;
	margin-bottom: 10px;
}
.lf-regi-doboz h2 {
	margin: 0 0 12px;
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: #FAF5F3;
}
.lf-regi-doboz p {
	margin: 0 0 22px;
	font-size: 15.5px;
	line-height: 1.65;
	color: #C9C9CF;
}
.lf-regi-doboz p strong { color: #FAF5F3; }
.lf-regi-gombok { display: flex; flex-wrap: wrap; gap: 10px; }
.lf-regi-fo {
	flex: 1 1 auto;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 22px;
	border-radius: 999px;
	background: #FF6C44;
	color: #17171A;
	font-size: 15.5px;
	font-weight: 600;
	text-decoration: none;
}
.lf-regi-fo:hover { background: #B4472A; color: #FAF5F3; }
.lf-regi-mas {
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid #38383D;
	border-radius: 999px;
	background: transparent;
	color: #C9C9CF;
	font-size: 15px;
	cursor: pointer;
}
.lf-regi-mas:hover { color: #FAF5F3; border-color: #5A5A62; }

/* SimplePay adattovábbítási nyilatkozat – csak kártyás fizetésnél */
.lf-simplepay-nyilatkozat {
	margin: 4px 0 18px;
	padding: 14px 16px;
	border: 1px solid #38383D;
	border-radius: 12px;
	background: rgba(255, 255, 255, .02);
	font-size: 13px;
	line-height: 1.55;
	color: #A8A8B0;
}
/* A label/input elrendezést a közös „elfogadó-blokk” szabály adja (lentebb),
   hogy az ÁSZF-es és a SimplePay-es doboz betűre egyformán nézzen ki. */
.lf-simplepay-nyilatkozat a { color: #FF6C44; }
.lf-simplepay-nyilatkozat .required { color: #FF6C44; }
