/*
 * Jószerszámbolt Athalie bővítmény – frontend stílusok
 * Minden szabály a body.jszb-athalie osztályra van szűkítve, hogy felülírja a Divit.
 * Színek: Beállítások → Athalie bővítmény (CSS változók: --jszb-*)
 */

:root {
	--jszb-primary: #2f5999;
	--jszb-primary-hover: #244477;
	--jszb-text: #5b5b5b;
	--jszb-text-light: #888888;
	--jszb-radius: 4px;
	--jszb-border: #e6e8ec;
	--jszb-border-strong: #d3d7de;
	--jszb-bg-soft: #f6f7f9;
	--jszb-bg-tint: #eef2f8;
	--jszb-success: #2e7d32;
	--jszb-error: #c62828;
	--jszb-info: #2f5999;
	--jszb-font: "Poppins", Helvetica, Arial, sans-serif;
	--jszb-shadow: 0 6px 20px rgba(32, 48, 80, .08);
}

/* =====================================================================
 * 1. Alap: szövegek, linkek, címsorok (a megadott stílusok alapján)
 * =================================================================== */

.jszb-athalie .woocommerce,
.jszb-athalie .et_pb_shop,
.jszb-athalie .et_pb_wc_cart_products,
.jszb-athalie .et_pb_wc_cart_totals,
.jszb-athalie .et_pb_wc_checkout_billing,
.jszb-athalie .et_pb_wc_checkout_shipping,
.jszb-athalie .et_pb_wc_checkout_order_details,
.jszb-athalie .et_pb_wc_checkout_payment_info {
	font-family: var(--jszb-font);
	font-size: 13px;
	line-height: 1.6;
	font-weight: 300;
	letter-spacing: .6px;
	color: var(--jszb-text-light);
}

.jszb-athalie .woocommerce a:not(.button):not(.wp-element-button):not(.et_pb_button),
.jszb-athalie .et_pb_shop a:not(.button):not(.et_pb_button) {
	color: var(--jszb-primary);
	text-decoration: none;
	transition: color .2s ease;
}
.jszb-athalie .woocommerce a:not(.button):not(.wp-element-button):not(.et_pb_button):hover,
.jszb-athalie .et_pb_shop a:not(.button):not(.et_pb_button):hover {
	color: var(--jszb-primary-hover);
}

/* Oldalcímek (pl. "Kosár", "Pénztár", terméknév) */
.jszb-athalie.woocommerce-cart .entry-title,
.jszb-athalie.woocommerce-checkout .entry-title,
.jszb-athalie.woocommerce-account .entry-title,
.jszb-athalie.single-product .product_title,
.jszb-athalie.woocommerce .page-title,
.jszb-athalie .woocommerce-products-header__title {
	font-family: var(--jszb-font);
	font-weight: 400;
	font-size: 23px;
	line-height: 1.25;
	letter-spacing: .4px;
	text-transform: capitalize;
	color: var(--jszb-text);
	padding: 0 0 10px;
	margin: 0 0 1.2em;
	position: relative;
}
.jszb-athalie.woocommerce-cart .entry-title::after,
.jszb-athalie.woocommerce-checkout .entry-title::after,
.jszb-athalie.woocommerce-account .entry-title::after,
.jszb-athalie.single-product .product_title::after,
.jszb-athalie .woocommerce-products-header__title::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-top: 10px;
	background: var(--jszb-primary);
	border-radius: 2px;
}

/* Szekció címsorok (Számlázási adatok, Kosár összesen, Kapcsolódó termékek …) */
.jszb-athalie .woocommerce h2,
.jszb-athalie .woocommerce h3,
.jszb-athalie .related.products > h2,
.jszb-athalie .upsells.products > h2,
.jszb-athalie .cross-sells > h2,
.jszb-athalie .cart_totals > h2,
.jszb-athalie .et_pb_wc_cart_totals h2,
.jszb-athalie .woocommerce-billing-fields > h3,
.jszb-athalie .woocommerce-shipping-fields > h3,
.jszb-athalie .woocommerce-additional-fields > h3,
.jszb-athalie #order_review_heading,
.jszb-athalie .woocommerce-order-details__title,
.jszb-athalie .woocommerce-column__title,
.jszb-athalie .woocommerce-Address-title h3 {
	font-family: var(--jszb-font);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3125;
	letter-spacing: .046875em;
	text-transform: uppercase;
	color: var(--jszb-text);
	margin: 0 0 .9em;
	padding: 0;
}

/* =====================================================================
 * 2. Gombok (általános)
 * =================================================================== */

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) input.button,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) #respond input#submit,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button.alt,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button.alt,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) input.button.alt,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button,
.jszb-athalie .et_pb_shop a.button,
.jszb-athalie .single_add_to_cart_button,
.jszb-athalie .wc-block-components-button:not(.is-link),
.jszb-athalie .wp-block-woocommerce-cart .wc-block-cart__submit-button,
.jszb-athalie .wc-block-components-checkout-place-order-button,
.jszb-athalie ul.products li.product .button,
.jszb-athalie .et_pb_wc_add_to_cart .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--jszb-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .6px;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--jszb-primary);
	border: 2px solid var(--jszb-primary);
	border-radius: var(--jszb-radius);
	padding: 13px 24px;
	margin: 0;
	cursor: pointer;
	box-shadow: none;
	text-shadow: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
}

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) input.button:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) #respond input#submit:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button.alt:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button.alt:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) input.button.alt:hover,
.jszb-athalie .single_add_to_cart_button:hover,
.jszb-athalie .wc-block-components-button:not(.is-link):hover,
.jszb-athalie ul.products li.product .button:hover,
.jszb-athalie .et_pb_wc_add_to_cart .button:hover {
	color: #fff;
	background: var(--jszb-primary-hover);
	border-color: var(--jszb-primary-hover);
}

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button:active,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button:active,
.jszb-athalie .single_add_to_cart_button:active {
	transform: translateY(1px);
}

/* Divi a gombokra utólag "hover" nyilat/paddingot tesz – kikapcsoljuk */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button::after,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button::after,
.jszb-athalie .single_add_to_cart_button::after,
.jszb-athalie ul.products li.product .button::after {
	display: none !important;
	content: none !important;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button:hover,
.jszb-athalie .single_add_to_cart_button:hover {
	padding: 13px 24px;
}

/* Letiltott gomb */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button.disabled,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button:disabled,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button.disabled,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button:disabled[disabled],
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) input.button:disabled {
	opacity: .45;
	cursor: not-allowed;
	background: var(--jszb-primary);
	color: #fff;
}

/* Másodlagos (körvonalas) gombok: kupon, kosár frissítése, vissza stb. */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .coupon .button,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button[name="update_cart"],
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button.wc-backward,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-MyAccount-content a.button.view,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-orders-table a.button,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .wc-block-components-totals-coupon button {
	background: transparent;
	color: var(--jszb-primary);
	border-color: var(--jszb-primary);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .coupon .button:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button[name="update_cart"]:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button.wc-backward:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-orders-table a.button:hover {
	background: var(--jszb-primary);
	color: #fff;
	border-color: var(--jszb-primary);
}

/* Nagy fő gombok: pénztárhoz / megrendelés */
.jszb-athalie .wc-proceed-to-checkout a.checkout-button,
.jszb-athalie #place_order {
	display: flex;
	width: 100%;
	font-size: 14px;
	font-weight: 600;
	padding: 16px 24px;
}

/* =====================================================================
 * 3. Terméklisták (Divi Shop modul, kategória/bolt oldal, kapcsolódó termékek)
 * =================================================================== */

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products {
	display: grid;
	grid-template-columns: repeat(var(--jszb-cols, 4), minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	max-width: 100%;
	margin: 0 0 2em;
	padding: 0;
	list-style: none;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products::before,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products::after {
	display: none;
	content: none;
}
/* Oszlopszám: a WooCommerce a ul.products.columns-N vagy a .columns-N burkoló osztályt használja (Divi Shop modul is) */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products.columns-1, :is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) .columns-1 ul.products { --jszb-cols: 1; }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products.columns-2, :is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) .columns-2 ul.products { --jszb-cols: 2; }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products.columns-3, :is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) .columns-3 ul.products { --jszb-cols: 3; }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products.columns-4, :is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) .columns-4 ul.products { --jszb-cols: 4; }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products.columns-5, :is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) .columns-5 ul.products { --jszb-cols: 5; }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products.columns-6, :is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) .columns-6 ul.products { --jszb-cols: 6; }

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.products li.product,
.jszb-athalie .et_pb_shop ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0 0 16px;
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
	text-align: left;
	overflow: hidden;
	transition: box-shadow .25s ease, border-color .25s ease;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.products li.product:hover,
.jszb-athalie .et_pb_shop ul.products li.product:hover {
	border-color: var(--jszb-border-strong);
	box-shadow: var(--jszb-shadow);
}

/* Kép */
.jszb-athalie ul.products li.product a.woocommerce-LoopProduct-link,
.jszb-athalie ul.products li.product .et_shop_image {
	display: block;
	position: relative;
}
.jszb-athalie ul.products li.product a img,
.jszb-athalie ul.products li.product .et_shop_image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin: 0 0 14px;
	background: #fff;
	box-shadow: none;
	transition: transform .35s ease;
}
.jszb-athalie ul.products li.product:hover a img {
	transform: scale(1.03);
}

/* Divi hover overlay – visszafogott, márkaszínű */
.jszb-athalie ul.products li.product .et_overlay {
	background: rgba(47, 89, 153, .72);
	border: 0;
	border-radius: 0;
}
.jszb-athalie ul.products li.product .et_overlay::before {
	color: #fff;
}

/* Cím */
.jszb-athalie ul.products li.product .woocommerce-loop-product__title,
.jszb-athalie ul.products li.product h2,
.jszb-athalie ul.products li.product h3 {
	font-family: var(--jszb-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: .4px;
	text-transform: none;
	color: var(--jszb-text);
	margin: 0;
	padding: 0 14px 6px;
	min-height: 3.2em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.jszb-athalie ul.products li.product a:hover .woocommerce-loop-product__title {
	color: var(--jszb-primary);
}

/* Ár: áthúzott régi ár + kék akciós ár (mint a régi webshopban) */
.jszb-athalie ul.products li.product .price,
.jszb-athalie.single-product .summary .price {
	display: block;
	font-family: var(--jszb-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .4px;
	color: var(--jszb-primary);
	margin: 0;
	padding: 0 14px 12px;
}
.jszb-athalie ul.products li.product .price del,
.jszb-athalie.single-product .summary .price del {
	color: var(--jszb-text-light);
	font-weight: 300;
	font-size: .9em;
	opacity: .8;
	margin-right: 6px;
}
.jszb-athalie ul.products li.product .price ins,
.jszb-athalie.single-product .summary .price ins {
	background: none;
	text-decoration: none;
	color: var(--jszb-primary);
	font-weight: 600;
}

/* Akció / elfogyott jelvény */
.jszb-athalie span.onsale,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) span.onsale,
.jszb-athalie .et_pb_shop span.onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	right: auto;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 5px 10px;
	font-family: var(--jszb-font);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: #fff;
	background: var(--jszb-primary);
	border-radius: var(--jszb-radius);
	box-shadow: none;
}

/* Kosárba gomb a listában (a bővítmény teszi vissza) */
.jszb-athalie .jszb-loop-actions {
	margin-top: auto;
	padding: 0 14px;
}
.jszb-athalie .jszb-loop-actions .button,
.jszb-athalie .jszb-loop-actions a.button {
	display: flex;
	width: 100%;
	padding: 11px 14px;
	font-size: 12px;
}
.jszb-athalie .jszb-loop-actions .button::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 18a2 2 0 100 4 2 2 0 000-4zm10 0a2 2 0 100 4 2 2 0 000-4zM1 2v2h2l3.6 7.6-1.35 2.45A2 2 0 007 17h12v-2H7.4a.25.25 0 01-.22-.37L8.1 13h7.45a2 2 0 001.75-1.03l3.58-6.49A1 1 0 0020 4H5.2l-.94-2H1z'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 18a2 2 0 100 4 2 2 0 000-4zm10 0a2 2 0 100 4 2 2 0 000-4zM1 2v2h2l3.6 7.6-1.35 2.45A2 2 0 007 17h12v-2H7.4a.25.25 0 01-.22-.37L8.1 13h7.45a2 2 0 001.75-1.03l3.58-6.49A1 1 0 0020 4H5.2l-.94-2H1z'/></svg>") center / contain no-repeat;
}
/* AJAX állapotok */
.jszb-athalie .jszb-loop-actions .button.loading {
	opacity: .7;
	pointer-events: none;
}
.jszb-athalie .jszb-loop-actions .button.loading::after {
	display: inline-block !important;
	content: "" !important;
	width: 14px;
	height: 14px;
	margin: 0 0 0 4px;
	border: 2px solid rgba(255, 255, 255, .5);
	border-top-color: #fff;
	border-radius: 50%;
	font-family: inherit;
	position: static;
	animation: jszb-spin .7s linear infinite;
}
.jszb-athalie .jszb-loop-actions .button.added {
	background: var(--jszb-success);
	border-color: var(--jszb-success);
}
.jszb-athalie .jszb-loop-actions .button.added::after {
	display: none !important;
}
.jszb-athalie ul.products li.product a.added_to_cart {
	display: block;
	text-align: center;
	margin-top: 8px;
	font-size: 12px;
	color: var(--jszb-primary);
}
@keyframes jszb-spin { to { transform: rotate(360deg); } }

/* Rendezés, találatszám */
.jszb-athalie .woocommerce-result-count {
	font-size: 12px;
	color: var(--jszb-text-light);
	margin: 0 0 1.5em;
}
.jszb-athalie .woocommerce-ordering select {
	font-family: var(--jszb-font);
	font-size: 12px;
	color: var(--jszb-text);
	border: 1px solid var(--jszb-border-strong);
	border-radius: var(--jszb-radius);
	padding: 8px 32px 8px 12px;
	background-color: #fff;
}

/* Lapozó */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) nav.woocommerce-pagination ul,
.jszb-athalie .et_pb_shop nav.woocommerce-pagination ul {
	border: 0;
	display: flex;
	gap: 6px;
	justify-content: center;
	flex-wrap: wrap;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) nav.woocommerce-pagination ul li {
	border: 0;
	float: none;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) nav.woocommerce-pagination ul li a,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) nav.woocommerce-pagination ul li span {
	display: block;
	min-width: 38px;
	padding: 9px 12px;
	font-size: 13px;
	line-height: 1.2;
	text-align: center;
	color: var(--jszb-text);
	background: #fff;
	border: 1px solid var(--jszb-border-strong);
	border-radius: var(--jszb-radius);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) nav.woocommerce-pagination ul li a:hover,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) nav.woocommerce-pagination ul li span.current {
	color: #fff;
	background: var(--jszb-primary);
	border-color: var(--jszb-primary);
}

/* =====================================================================
 * 4. Termékoldal
 * =================================================================== */

.jszb-athalie.single-product div.product .summary,
.jszb-athalie .et_pb_wc_title,
.jszb-athalie .et_pb_wc_price,
.jszb-athalie .et_pb_wc_description,
.jszb-athalie .et_pb_wc_add_to_cart {
	font-family: var(--jszb-font);
}

.jszb-athalie.single-product .summary .price {
	font-size: 24px;
	padding: 0 0 16px;
	margin: 0 0 16px;
	border-bottom: 1px solid var(--jszb-border);
}
.jszb-athalie.single-product .woocommerce-product-details__short-description {
	font-size: 13px;
	line-height: 1.8;
	color: var(--jszb-text-light);
	margin-bottom: 20px;
}
.jszb-athalie.single-product .product_meta {
	font-size: 12px;
	color: var(--jszb-text-light);
	border-top: 1px solid var(--jszb-border);
	padding-top: 14px;
	margin-top: 20px;
}
.jszb-athalie.single-product .product_meta > span {
	display: block;
	margin-bottom: 4px;
}
.jszb-athalie.single-product .product_meta a { color: var(--jszb-primary); }

/* Készlet jelzés */
.jszb-athalie .stock {
	font-size: 12px;
	font-weight: 500;
	color: var(--jszb-success);
}
.jszb-athalie .out-of-stock { color: var(--jszb-error); }

/* Kosárba + mennyiség sor */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart,
.jszb-athalie .et_pb_wc_add_to_cart form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 20px;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 48px;
	float: none;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.variations_form {
	display: block;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .variations {
	width: 100%;
	margin-bottom: 14px;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .variations td,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .variations th {
	display: block;
	padding: 0 0 6px;
	border: 0;
	background: none;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .variations label {
	font-weight: 600;
	color: var(--jszb-text);
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .5px;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .variations select {
	width: 100%;
	max-width: 360px;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .reset_variations {
	font-size: 11px;
	margin-left: 8px;
}
.jszb-athalie .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
}

/* Fülek */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 -1px;
	padding: 0;
	overflow: visible;
	border: 0;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs::before,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs::after {
	display: none;
	border: 0;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: var(--jszb-bg-soft);
	border: 1px solid var(--jszb-border);
	border-bottom-color: var(--jszb-border);
	border-radius: var(--jszb-radius) var(--jszb-radius) 0 0;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs li::before,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
	box-shadow: none;
	border: 0;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 20px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--jszb-text-light);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs li.active {
	background: #fff;
	border-bottom-color: #fff;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs li.active a,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--jszb-primary);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs .panel {
	margin: 0 0 2em;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: 0 var(--jszb-radius) var(--jszb-radius) var(--jszb-radius);
	font-size: 13px;
	line-height: 1.8;
	color: var(--jszb-text-light);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs .panel > h2:first-child {
	display: none;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_attributes {
	border: 0;
	width: 100%;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_attributes th,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_attributes td {
	padding: 10px 12px;
	border: 0;
	border-bottom: 1px solid var(--jszb-border);
	font-style: normal;
	background: none;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_attributes th {
	width: 30%;
	font-weight: 600;
	color: var(--jszb-text);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_attributes tr:nth-child(even) td,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_attributes tr:nth-child(even) th {
	background: var(--jszb-bg-soft);
}

/* =====================================================================
 * 5. Divi termékgaléria (Woo Images modul) + WooCommerce galéria
 * =================================================================== */

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product div.images,
.jszb-athalie .et_pb_wc_images,
.jszb-athalie .woocommerce-product-gallery {
	position: relative;
}

.jszb-athalie .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.jszb-athalie .woocommerce-product-gallery__image {
	border-radius: var(--jszb-radius);
}
.jszb-athalie .woocommerce-product-gallery__image a {
	display: block;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
	overflow: hidden;
	background: #fff;
}
.jszb-athalie .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: none;
}

/* Nagyítás gomb */
.jszb-athalie .woocommerce-product-gallery__trigger {
	top: 12px;
	right: 12px;
	z-index: 5;
	width: 38px;
	height: 38px;
	background: #fff;
	border: 1px solid var(--jszb-border-strong);
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
	transition: background-color .2s ease, border-color .2s ease;
}
.jszb-athalie .woocommerce-product-gallery__trigger:hover {
	background: var(--jszb-primary);
	border-color: var(--jszb-primary);
}
.jszb-athalie .woocommerce-product-gallery__trigger::before {
	border-color: var(--jszb-text);
	top: 10px;
	left: 10px;
}
.jszb-athalie .woocommerce-product-gallery__trigger::after {
	background: var(--jszb-text);
}
.jszb-athalie .woocommerce-product-gallery__trigger:hover::before { border-color: #fff; }
.jszb-athalie .woocommerce-product-gallery__trigger:hover::after  { background: #fff; }

/* Bélyegképek */
.jszb-athalie .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}
.jszb-athalie .flex-control-thumbs li {
	float: none;
	width: auto;
	margin: 0;
}
.jszb-athalie .flex-control-thumbs li img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	opacity: .6;
	cursor: pointer;
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
	transition: opacity .2s ease, border-color .2s ease;
}
.jszb-athalie .flex-control-thumbs li img:hover,
.jszb-athalie .flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: var(--jszb-primary);
}

/* Divi lightbox / Magnific */
.jszb-athalie .mfp-bg { background: #10172a; opacity: .85; }
.jszb-athalie .mfp-close { color: #fff; }

/* Divi saját galéria modul */
.jszb-athalie .et_pb_gallery_item .et_pb_gallery_image {
	border-radius: var(--jszb-radius);
	overflow: hidden;
}
.jszb-athalie .et_pb_gallery .et_overlay {
	background: rgba(47, 89, 153, .65);
}

/* =====================================================================
 * 6. Értesítések (kosár / pénztár / termékoldal)
 * =================================================================== */

.jszb-athalie .woocommerce-message,
.jszb-athalie .woocommerce-info,
.jszb-athalie .woocommerce-error,
.jszb-athalie .woocommerce-notice,
.jszb-athalie .wc-block-components-notice-banner,
.jszb-athalie .et_pb_wc_cart_notice .woocommerce-message,
.jszb-athalie .et_pb_wc_cart_notice .woocommerce-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	position: relative;
	margin: 0 0 24px;
	padding: 16px 20px 16px 52px;
	font-family: var(--jszb-font);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .4px;
	color: var(--jszb-text);
	background: var(--jszb-bg-tint);
	border: 1px solid #cfd9ea;
	border-left: 4px solid var(--jszb-info);
	border-top-color: #cfd9ea;
	border-radius: var(--jszb-radius);
	list-style: none;
	box-shadow: none;
	width: auto;
}
.jszb-athalie .woocommerce-message::before,
.jszb-athalie .woocommerce-info::before,
.jszb-athalie .woocommerce-error::before {
	position: absolute;
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
	margin: 0;
	font-size: 18px;
	line-height: 1;
	color: var(--jszb-info);
}

.jszb-athalie .woocommerce-message {
	background: #eef7ef;
	border-color: #cfe6d1;
	border-left-color: var(--jszb-success);
}
.jszb-athalie .woocommerce-message::before { color: var(--jszb-success); }

.jszb-athalie .woocommerce-error {
	background: #fdf1f1;
	border-color: #f1cfcf;
	border-left-color: var(--jszb-error);
}
.jszb-athalie .woocommerce-error::before { color: var(--jszb-error); }
.jszb-athalie .woocommerce-error li {
	flex: 1 1 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* A "Kosár megtekintése" gomb az értesítésben */
.jszb-athalie .woocommerce-message .button,
.jszb-athalie .woocommerce-info .button,
.jszb-athalie .woocommerce-error .button {
	order: 2;
	float: none;
	margin: 0 0 0 auto;
	padding: 9px 18px;
	font-size: 12px;
}

.jszb-athalie .woocommerce-notices-wrapper:empty { display: none; }

.jszb-athalie .woocommerce-form-coupon-toggle .woocommerce-info,
.jszb-athalie .woocommerce-form-login-toggle .woocommerce-info {
	margin-bottom: 16px;
}

/* =====================================================================
 * 7. Mezők: input, select, textarea, mennyiség
 * =================================================================== */

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row input.input-text,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row textarea,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row select,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .quantity .qty,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row input.input-text,
.jszb-athalie .select2-container--default .select2-selection--single,
:is(.jszb-athalie form.checkout, .jszb-athalie form.woocommerce-cart-form, .jszb-athalie form.cart, .jszb-athalie form.woocommerce-form, .jszb-athalie form.woocommerce-EditAccountForm, .jszb-athalie .woocommerce-address-fields, .jszb-athalie .cart_totals, .jszb-athalie .woocommerce-checkout) input[type="text"],
:is(.jszb-athalie form.checkout, .jszb-athalie form.woocommerce-cart-form, .jszb-athalie form.cart, .jszb-athalie form.woocommerce-form, .jszb-athalie form.woocommerce-EditAccountForm, .jszb-athalie .woocommerce-address-fields, .jszb-athalie .cart_totals, .jszb-athalie .woocommerce-checkout) input[type="email"],
:is(.jszb-athalie form.checkout, .jszb-athalie form.woocommerce-cart-form, .jszb-athalie form.cart, .jszb-athalie form.woocommerce-form, .jszb-athalie form.woocommerce-EditAccountForm, .jszb-athalie .woocommerce-address-fields, .jszb-athalie .cart_totals, .jszb-athalie .woocommerce-checkout) input[type="tel"],
:is(.jszb-athalie form.checkout, .jszb-athalie form.woocommerce-cart-form, .jszb-athalie form.cart, .jszb-athalie form.woocommerce-form, .jszb-athalie form.woocommerce-EditAccountForm, .jszb-athalie .woocommerce-address-fields, .jszb-athalie .cart_totals, .jszb-athalie .woocommerce-checkout) input[type="password"],
:is(.jszb-athalie form.checkout, .jszb-athalie form.woocommerce-cart-form, .jszb-athalie form.cart, .jszb-athalie form.woocommerce-form, .jszb-athalie form.woocommerce-EditAccountForm, .jszb-athalie .woocommerce-address-fields, .jszb-athalie .cart_totals, .jszb-athalie .woocommerce-checkout) input[type="number"],
.jszb-athalie .wc-block-components-text-input input {
	font-family: var(--jszb-font);
	font-size: 13px;
	font-weight: 400;
	color: var(--jszb-text);
	background: #fff;
	border: 1px solid var(--jszb-border-strong);
	border-radius: var(--jszb-radius);
	padding: 12px 14px;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.jszb-athalie .select2-container--default .select2-selection--single {
	height: auto;
	padding: 6px 4px;
}
.jszb-athalie .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 8px;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row input.input-text:focus,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row textarea:focus,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row select:focus,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .quantity .qty:focus,
:is(.jszb-athalie form.checkout, .jszb-athalie form.woocommerce-cart-form, .jszb-athalie form.cart, .jszb-athalie form.woocommerce-form, .jszb-athalie form.woocommerce-EditAccountForm, .jszb-athalie .woocommerce-address-fields, .jszb-athalie .cart_totals, .jszb-athalie .woocommerce-checkout) input:focus,
:is(.jszb-athalie form.checkout, .jszb-athalie form.woocommerce-cart-form, .jszb-athalie form.cart, .jszb-athalie form.woocommerce-form, .jszb-athalie form.woocommerce-EditAccountForm, .jszb-athalie .woocommerce-address-fields, .jszb-athalie .cart_totals, .jszb-athalie .woocommerce-checkout) textarea:focus {
	outline: none;
	border-color: var(--jszb-primary);
	box-shadow: 0 0 0 3px rgba(47, 89, 153, .15);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row label,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row .woocommerce-input-wrapper > label {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .4px;
	color: var(--jszb-text);
	margin-bottom: 6px;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row .required { color: var(--jszb-error); }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row.woocommerce-invalid input.input-text {
	border-color: var(--jszb-error);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row.woocommerce-validated input.input-text {
	border-color: var(--jszb-success);
}

/* Mennyiség választó */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .quantity {
	display: inline-flex;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .quantity .qty {
	width: 72px;
	min-height: 48px;
	padding: 8px;
	text-align: center;
}
.jszb-athalie .woocommerce-cart-form .quantity .qty {
	min-height: 42px;
	width: 64px;
}

/* =====================================================================
 * 8. Kosár
 * =================================================================== */

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table,
.jszb-athalie .et_pb_wc_cart_products table.shop_table {
	width: 100%;
	margin: 0 0 24px;
	border: 1px solid var(--jszb-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--jszb-radius);
	overflow: hidden;
	background: #fff;
	font-size: 13px;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table th {
	padding: 14px 16px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--jszb-text);
	background: var(--jszb-bg-soft);
	border: 0;
	border-bottom: 1px solid var(--jszb-border);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table td {
	padding: 16px;
	color: var(--jszb-text);
	vertical-align: middle;
	border: 0;
	border-top: 1px solid var(--jszb-border);
	background: transparent;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table tr:first-child td { border-top: 0; }

.jszb-athalie .woocommerce-cart-form .product-thumbnail { width: 90px; }
.jszb-athalie .woocommerce-cart-form .product-thumbnail img {
	display: block;
	width: 72px;
	height: auto;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
	background: #fff;
}
.jszb-athalie .woocommerce-cart-form .product-name a {
	font-weight: 500;
	color: var(--jszb-text);
}
.jszb-athalie .woocommerce-cart-form .product-name a:hover { color: var(--jszb-primary); }
.jszb-athalie .woocommerce-cart-form .product-price,
.jszb-athalie .woocommerce-cart-form .product-subtotal {
	font-weight: 600;
	color: var(--jszb-primary);
}

/* Törlés gomb (×) */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	font-size: 18px;
	line-height: 1;
	font-weight: 400;
	color: var(--jszb-text-light) !important;
	background: var(--jszb-bg-soft);
	border-radius: 50%;
	transition: background-color .2s ease, color .2s ease;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.remove:hover {
	color: #fff !important;
	background: var(--jszb-error);
}

/* Kupon és frissítés sor */
.jszb-athalie .woocommerce-cart-form .actions {
	padding: 16px;
	background: var(--jszb-bg-soft);
}
.jszb-athalie .woocommerce-cart-form .coupon {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	float: left;
}
.jszb-athalie .woocommerce-cart-form .coupon label { display: none; }
.jszb-athalie .woocommerce-cart-form .coupon .input-text {
	width: 200px;
	min-height: 44px;
	margin: 0;
}
.jszb-athalie .woocommerce-cart-form button[name="update_cart"] {
	float: right;
}

/* Kosár összesen */
.jszb-athalie .cart-collaterals .cart_totals,
.jszb-athalie .et_pb_wc_cart_totals .cart_totals {
	float: none;
	width: 100%;
	max-width: 480px;
	margin-left: auto;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
	box-shadow: var(--jszb-shadow);
}
.jszb-athalie .cart_totals table.shop_table {
	border: 0;
	margin-bottom: 18px;
	border-radius: 0;
}
.jszb-athalie .cart_totals table.shop_table th,
.jszb-athalie .cart_totals table.shop_table td {
	padding: 12px 0;
	background: none;
	text-transform: none;
	letter-spacing: .3px;
	font-size: 13px;
}
.jszb-athalie .cart_totals table.shop_table th { font-weight: 600; }
.jszb-athalie .cart_totals .order-total th,
.jszb-athalie .cart_totals .order-total td {
	font-size: 16px;
	font-weight: 700;
	color: var(--jszb-primary);
}
.jszb-athalie .cart_totals .order-total th { color: var(--jszb-text); }

.jszb-athalie .woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
}
.jszb-athalie .woocommerce-shipping-methods li { margin: 0 0 6px; }
.jszb-athalie .woocommerce-shipping-methods input { accent-color: var(--jszb-primary); margin-right: 6px; }

/* Üres kosár */
.jszb-athalie .cart-empty.woocommerce-info {
	margin-top: 10px;
}
.jszb-athalie .return-to-shop { margin-top: 10px; }

/* =====================================================================
 * 9. Pénztár
 * =================================================================== */

.jszb-athalie.woocommerce-checkout #customer_details,
.jszb-athalie.woocommerce-checkout #order_review {
	padding: 24px;
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
}
.jszb-athalie.woocommerce-checkout #order_review {
	box-shadow: var(--jszb-shadow);
}
.jszb-athalie.woocommerce-checkout #customer_details .col-1,
.jszb-athalie.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
	max-width: none;
}

.jszb-athalie #payment {
	background: var(--jszb-bg-soft);
	border-radius: var(--jszb-radius);
	border: 1px solid var(--jszb-border);
}
.jszb-athalie #payment ul.payment_methods {
	padding: 16px;
	border-bottom: 1px solid var(--jszb-border);
	margin: 0;
	list-style: none;
}
.jszb-athalie #payment ul.payment_methods li {
	margin: 0 0 10px;
	padding: 0;
}
.jszb-athalie #payment ul.payment_methods li label {
	font-weight: 500;
	color: var(--jszb-text);
	cursor: pointer;
}
.jszb-athalie #payment ul.payment_methods li input { accent-color: var(--jszb-primary); }
.jszb-athalie #payment div.payment_box {
	margin: 10px 0 0;
	padding: 14px 16px;
	font-size: 12px;
	line-height: 1.7;
	color: var(--jszb-text-light);
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
}
.jszb-athalie #payment div.payment_box::before { display: none; }
.jszb-athalie #payment div.form-row { padding: 16px; }
.jszb-athalie .woocommerce-privacy-policy-text {
	font-size: 12px;
	line-height: 1.7;
	margin-bottom: 14px;
}
.jszb-athalie .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form .form-row input[type="checkbox"] {
	accent-color: var(--jszb-primary);
}

/* =====================================================================
 * 10. Rendelés oldalak: köszönő oldal, fiókom, rendelés részletek
 * =================================================================== */

.jszb-athalie .woocommerce-order .woocommerce-thankyou-order-received {
	padding: 18px 22px;
	margin: 0 0 24px;
	font-size: 15px;
	font-weight: 500;
	color: var(--jszb-success);
	background: #eef7ef;
	border: 1px solid #cfe6d1;
	border-left: 4px solid var(--jszb-success);
	border-radius: var(--jszb-radius);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
	overflow: hidden;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.order_details li {
	float: none;
	margin: 0;
	padding: 16px 18px;
	font-size: 11px;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--jszb-text-light);
	border: 0;
	border-right: 1px solid var(--jszb-border);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.order_details li:last-child { border-right: 0; }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.order_details li strong {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .3px;
	text-transform: none;
	color: var(--jszb-text);
}

.jszb-athalie .woocommerce-order-details,
.jszb-athalie .woocommerce-customer-details {
	margin-bottom: 28px;
}
.jszb-athalie .woocommerce-customer-details address,
.jszb-athalie .woocommerce-MyAccount-content address {
	padding: 18px 20px;
	font-style: normal;
	line-height: 1.8;
	background: var(--jszb-bg-soft);
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .col2-set .col-1,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .col2-set .col-2 { max-width: none; }

/* Fiókom */
.jszb-athalie .woocommerce-MyAccount-navigation ul {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
	overflow: hidden;
}
.jszb-athalie .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--jszb-border);
}
.jszb-athalie .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.jszb-athalie .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 13px 18px;
	font-size: 13px;
	font-weight: 500;
	color: var(--jszb-text) !important;
	transition: background-color .2s ease, color .2s ease;
}
.jszb-athalie .woocommerce-MyAccount-navigation li a:hover {
	background: var(--jszb-bg-soft);
	color: var(--jszb-primary) !important;
}
.jszb-athalie .woocommerce-MyAccount-navigation li.is-active a {
	color: #fff !important;
	background: var(--jszb-primary);
}
.jszb-athalie.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; }
.jszb-athalie.woocommerce-account .woocommerce-MyAccount-content   { width: 72%; }

:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form.login,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form.register,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) form.lost_reset_password {
	padding: 24px;
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
}

/* =====================================================================
 * 11. WooCommerce blokkos kosár / pénztár (ha a Divi blokkos változatot használja)
 * =================================================================== */

.jszb-athalie .wc-block-cart,
.jszb-athalie .wc-block-checkout {
	font-family: var(--jszb-font);
	color: var(--jszb-text);
}
.jszb-athalie .wc-block-components-product-price,
.jszb-athalie .wc-block-formatted-money-amount {
	color: var(--jszb-primary);
	font-weight: 600;
}
.jszb-athalie .wc-block-components-title,
.jszb-athalie .wc-block-cart__totals-title {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .046875em;
	text-transform: uppercase;
	color: var(--jszb-text);
}
.jszb-athalie .wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 32px; }
.jszb-athalie .wp-block-woocommerce-cart-order-summary-block,
.jszb-athalie .wp-block-woocommerce-checkout-order-summary-block {
	background: #fff;
	border: 1px solid var(--jszb-border);
	border-radius: var(--jszb-radius);
}

/* =====================================================================
 * 12. Mobil menü javítás (Divi 5 hamburger menü)
 *     A pozicionálást a frontend.js végzi; ez a stílus a megjelenés.
 * =================================================================== */

/* A hamburger ikon megjelenítését (töréspont) a Divi vezérli – itt szándékosan nem írjuk felül. */
.jszb-athalie .mobile_nav .mobile_menu_bar,
.jszb-athalie .et_pb_menu__wrap .mobile_menu_bar {
	cursor: pointer;
}
.jszb-athalie .mobile_menu_bar::before {
	color: var(--jszb-primary);
}

/* Nyitott menü: nincs szűk oszlop, teljes szélesség */
.jszb-athalie .et_mobile_menu,
.jszb-athalie .et_pb_menu .et_mobile_menu,
.jszb-athalie .et_pb_fullwidth_menu .et_mobile_menu {
	box-sizing: border-box;
	min-width: 240px;
	width: 100%;
	padding: 0;
	margin: 0;
	background: #fff;
	border-top: 3px solid var(--jszb-primary);
	box-shadow: 0 14px 30px rgba(20, 30, 50, .18);
	-webkit-overflow-scrolling: touch;
}
.jszb-athalie .et_mobile_menu.jszb-menu-fixed {
	min-width: 0;
}
.jszb-athalie .et_mobile_menu li,
.jszb-athalie .et_mobile_menu li a {
	display: block;
	width: 100%;
	box-sizing: border-box;
}
.jszb-athalie .et_mobile_menu li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--jszb-border);
	white-space: normal;
}
.jszb-athalie .et_mobile_menu li:last-child { border-bottom: 0; }
.jszb-athalie .et_mobile_menu li a {
	padding: 15px 22px;
	font-family: var(--jszb-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .4px;
	text-transform: capitalize;
	color: #000;
	background: transparent;
	border: 0;
	word-break: break-word;
	transition: background-color .2s ease, color .2s ease;
}
.jszb-athalie .et_mobile_menu li a:hover,
.jszb-athalie .et_mobile_menu li.current-menu-item > a,
.jszb-athalie .et_mobile_menu li.current_page_item > a {
	color: var(--jszb-primary);
	background: var(--jszb-bg-tint);
}
.jszb-athalie .et_mobile_menu li ul {
	position: static;
	width: 100%;
	padding: 0;
	margin: 0;
	background: var(--jszb-bg-soft);
	box-shadow: none;
	border: 0;
	visibility: visible;
	opacity: 1;
}
.jszb-athalie .et_mobile_menu li li a {
	padding-left: 38px;
	font-size: 13px;
	font-weight: 400;
}
.jszb-athalie .et_mobile_menu li li li a { padding-left: 54px; }

/* Divi Fullscreen / overlay menü (ha az van beállítva) */
.jszb-athalie .et_pb_menu_inner_container { max-width: 100%; }

/* =====================================================================
 * 13. Reszponzív
 * =================================================================== */

@media (max-width: 1100px) {
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 980px) {
	.jszb-athalie.woocommerce-account .woocommerce-MyAccount-navigation,
	.jszb-athalie.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}
	.jszb-athalie .cart-collaterals .cart_totals,
	.jszb-athalie .et_pb_wc_cart_totals .cart_totals { max-width: none; }
}

@media (max-width: 768px) {
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px;
	}
	.jszb-athalie ul.products li.product .woocommerce-loop-product__title { padding: 0 10px 4px; font-size: 12px; }
	.jszb-athalie ul.products li.product .price { padding: 0 10px 10px; font-size: 13px; }
	.jszb-athalie .jszb-loop-actions { padding: 0 10px; }
	.jszb-athalie .jszb-loop-actions .button { font-size: 11px; padding: 10px 8px; letter-spacing: .3px; }

	.jszb-athalie.woocommerce-cart .entry-title,
	.jszb-athalie.woocommerce-checkout .entry-title,
	.jszb-athalie.single-product .product_title { font-size: 20px; }

	/* Kosár tábla kártyás nézet */
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table_responsive tr {
		display: block;
		border-bottom: 1px solid var(--jszb-border);
	}
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table_responsive tr td {
		display: block;
		text-align: right;
		border-top: 0;
		border-bottom: 1px dotted var(--jszb-border);
	}
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table_responsive tr td::before {
		font-weight: 600;
		color: var(--jszb-text);
	}
	.jszb-athalie .woocommerce-cart-form .coupon,
	.jszb-athalie .woocommerce-cart-form button[name="update_cart"] {
		float: none;
		width: 100%;
	}
	.jszb-athalie .woocommerce-cart-form .coupon { display: flex; margin-bottom: 10px; }
	.jszb-athalie .woocommerce-cart-form .coupon .input-text { flex: 1 1 auto; width: auto; }
	.jszb-athalie .woocommerce-cart-form button[name="update_cart"] { display: flex; }

	.jszb-athalie.woocommerce-checkout #customer_details,
	.jszb-athalie.woocommerce-checkout #order_review { padding: 16px; }

	.jszb-athalie .woocommerce-message,
	.jszb-athalie .woocommerce-info,
	.jszb-athalie .woocommerce-error { padding: 14px 14px 14px 46px; }
	.jszb-athalie .woocommerce-message .button,
	.jszb-athalie .woocommerce-info .button { width: 100%; margin: 4px 0 0; }

	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.order_details li {
		border-right: 0;
		border-bottom: 1px solid var(--jszb-border);
	}
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.order_details li:last-child { border-bottom: 0; }

	.jszb-athalie .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs .panel { padding: 16px; }
}


/* ---------------------------------------------------------------------
 * Extra: érintés, kis kijelzők, túlcsordulás ellen, billentyűzetes fókusz
 * ------------------------------------------------------------------- */

/* Semmi ne lógjon ki oldalra */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) img { max-width: 100%; height: auto; }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table td,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_table th,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.products li.product .woocommerce-loop-product__title,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-message,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-info,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-error { overflow-wrap: anywhere; }
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-cart-form,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-orders-table,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_attributes { max-width: 100%; }

/* Billentyűzettel is jól látható fókusz */
.jszb-athalie a:focus-visible,
.jszb-athalie button:focus-visible,
.jszb-athalie .button:focus-visible,
.jszb-athalie .mobile_menu_bar:focus-visible {
	outline: 2px solid var(--jszb-primary);
	outline-offset: 2px;
}

/* Érintőképernyő: legalább ~44px magas kattintható felületek */
@media (pointer: coarse) {
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) a.button,
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) button.button,
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) input.button,
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .single_add_to_cart_button,
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .jszb-loop-actions .button { min-height: 44px; }
	.jszb-athalie .et_mobile_menu li a { min-height: 44px; }
	.jszb-athalie a.remove { width: 36px; height: 36px; }
}

/* Hover-effektek csak ott, ahol van hover (ne ragadjon az érintésen) */
@media (hover: none) {
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.products li.product:hover { box-shadow: none; border-color: var(--jszb-border); }
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) ul.products li.product:hover a img { transform: none; }
}

@media (max-width: 768px) {
	/* iOS ne nagyítson rá a mezőkre fókuszkor (16px alatt zoomol) */
	:is(.jszb-athalie form.checkout, .jszb-athalie form.woocommerce-cart-form, .jszb-athalie form.cart, .jszb-athalie form.woocommerce-form, .jszb-athalie .woocommerce-address-fields, .jszb-athalie .cart_totals) :is(input, select, textarea),
	.jszb-athalie .woocommerce-ordering select,
	.jszb-athalie .select2-container--default .select2-selection--single { font-size: 16px; }

	/* Kosárba gomb külön sorba kerül */
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .single_add_to_cart_button { flex: 1 1 100%; }
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product form.cart .quantity { flex: 0 0 auto; }

	/* Rendezés és találatszám egymás alatt */
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-ordering,
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-result-count { float: none; width: 100%; margin-left: 0; }
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-ordering select { width: 100%; }

	/* Fülek: görgethető sor */
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) table.shop_attributes th { width: 40%; }

	/* Kosár összesen: kisebb belső tér */
	.jszb-athalie .cart-collaterals .cart_totals,
	.jszb-athalie .et_pb_wc_cart_totals .cart_totals { padding: 16px; }

	/* Fiókom menü: vízszintes, görgethető sáv */
	.jszb-athalie .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.jszb-athalie .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border-bottom: 0; border-right: 1px solid var(--jszb-border); }
	.jszb-athalie .woocommerce-MyAccount-navigation li:last-child { border-right: 0; }
	.jszb-athalie .woocommerce-MyAccount-navigation li a { white-space: nowrap; }
}

/* Nagyon keskeny telefon: egy oszlop, hogy a kártyák olvashatók maradjanak */
@media (max-width: 340px) {
	:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products { grid-template-columns: minmax(0, 1fr) !important; }
}


/* ---------------------------------------------------------------------
 * Kapcsolódó / ajánlott / kiegészítő termékek: kisebb terméknév
 * (a téma és a Divi modul beállításai nagy betűt adnak – ezért !important)
 * ------------------------------------------------------------------- */
body.jszb-athalie :is(.related, .upsells, .up-sells, .cross-sells, .et_pb_wc_related_products, .et_pb_wc_upsells) ul.products li.product :is(.woocommerce-loop-product__title, h1, h2, h3, h4) {
	font-family: var(--jszb-font) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	font-weight: 500 !important;
	letter-spacing: .3px !important;
	text-transform: none !important;
	margin: 0 !important;
	padding: 0 14px 6px !important;
	min-height: 0;
	overflow-wrap: anywhere;
}
@media (max-width: 768px) {
	body.jszb-athalie :is(.related, .upsells, .up-sells, .cross-sells, .et_pb_wc_related_products, .et_pb_wc_upsells) ul.products li.product :is(.woocommerce-loop-product__title, h1, h2, h3, h4) {
		font-size: 12px !important;
		padding: 0 10px 4px !important;
	}
}

/* ---------------------------------------------------------------------
 * Termékkártyák a rácsban: a Divi/Woo %-os szélessége és jobb margója ne zsugorítsa a kártyát.
 * (a rácsban a kártya a cellájának 100%-a; a közt a grid "gap" adja)
 * ------------------------------------------------------------------- */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products li.product,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products li.product.first,
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce, .jszb-athalie .et_pb_shop) ul.products li.product.last {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

/* ---------------------------------------------------------------------
 * Rendezés select: saját megjelenés (nem natív mobil elem), és ne kerüljön a menü fölé
 * ------------------------------------------------------------------- */
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-ordering {
	position: static !important;
	z-index: auto !important;
}
:is(.jszb-athalie.woocommerce-page, .jszb-athalie .woocommerce) .woocommerce-ordering select {
	-webkit-appearance: none;
	appearance: none;
	position: static !important;
	z-index: auto !important;
	padding-right: 34px;
	background-color: #fff;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%235b5b5b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px 8px;
}

@media (prefers-reduced-motion: reduce) {
	.jszb-athalie * { transition: none !important; animation: none !important; }
}
