/* Csomag-ajánlatok panel (3a) — .kvc- prefix, px-only, mobil 767 */

.kvc-panel {
	background-color: #ffffff;
	border-radius: 26px;
	padding: 28px;
	box-shadow: 0 18px 44px rgba(43, 58, 37, 0.11);
}

/* A natív kosár-form elrejtése, ha a panel létezik (csak testvérre illeszkedik) */
.single-product .kvc-panel ~ form.cart { display: none; }

/* A [product_add_to_cart] kártyából a panel által kiváltott duplikált
   vásárlási elemek elrejtése (ingyenes szállítás doboz marad) */
.kvc-panel ~ .product-addtocart-wrapper .product-addtocart-action-row,
.kvc-panel ~ .product-addtocart-wrapper .product-addtocart-total-summary,
.kvc-panel ~ .product-addtocart-wrapper .product-addtocart-bar,
.kvc-panel ~ .product-addtocart-wrapper .product-addtocart-price-row { display: none; }

/* Fülek */
.kvc-tabs {
	display: flex;
	gap: 8px;
	background-color: #f1efe6;
	border-radius: 999px;
	padding: 5px;
	margin: 0 0 16px 0;
}
.kvc-tab {
	flex: 1;
	border: none;
	border-radius: 999px;
	padding: 11px 14px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13.5px;
	font-weight: 800;
	line-height: 1.3;
	color: #6b7a58;
	background: transparent;
	cursor: pointer;
	transition: all 0.18s ease;
}
.kvc-tab.is-active {
	background-color: #2b3a25;
	color: #f4f1e7;
	box-shadow: 0 6px 14px rgba(43, 58, 37, 0.18);
}

/* Sorok */
.kvc-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.kvc-row {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	padding: 16px 18px;
	border: 2px solid #e8e3d6;
	border-radius: 18px;
	background-color: #ffffff;
	cursor: pointer;
	transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}
.kvc-row:hover {
	border-color: #d9d2c0;
}
.kvc-row.is-selected {
	border-color: #c19b5f;
	background-color: #fdf8ec;
	box-shadow: 0 10px 24px rgba(150, 110, 30, 0.14);
}
.kvc-radio {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.kvc-dot {
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	border: 2px solid #d9d6cd;
	background-color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.kvc-dot__in {
	width: 11px;
	height: 11px;
	border-radius: 999px;
	background: transparent;
}
.kvc-row.is-selected .kvc-dot {
	border-color: #c19b5f;
}
.kvc-row.is-selected .kvc-dot__in {
	background-color: #c19b5f;
}

.kvc-row__main {
	flex: 1 1 180px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.kvc-row__label {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.35;
	color: #26331f;
}
.kvc-row__sub {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
	color: #7d8a66;
}

.kvc-row__pricebox {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	text-align: right;
}
.kvc-row__price {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	color: #1d2a16;
	white-space: nowrap;
}
.kvc-row__list {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	color: #a7a08e;
	text-decoration: line-through;
	white-space: nowrap;
}

.kvc-badge {
	position: absolute;
	right: 16px;
	top: -10px;
	background: linear-gradient(135deg, #d9bd86, #c19b5f);
	color: #3a2d05;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.06em;
	padding: 4px 10px;
	border-radius: 999px;
}

/* Szett-sor */
.kvc-row--set {
	align-items: flex-start;
}
.kvc-row--set .kvc-dot {
	margin-top: 3px;
}
.kvc-set__items {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-top: 2px;
}
.kvc-set-item {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12.5px;
	line-height: 1.45;
	color: #8a8470;
}
.kvc-set-item b {
	font-weight: 700;
	color: #26331f;
}
.kvc-set-item i {
	font-style: normal;
	font-weight: 600;
}
.kvc-set-item s {
	color: #a7a08e;
}

.kvc-gift {
	flex-basis: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 2px 2px 0 2px;
	padding: 12px 16px;
	background-color: #eef2e6;
	border-top: 1px dashed #dfe4d3;
	border-radius: 0 0 14px 14px;
}
.kvc-row.is-selected .kvc-gift {
	border-top-color: #cdddbb;
}
.kvc-gift__icon {
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background-color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #3f5236;
}
.kvc-gift__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-family: 'Plus Jakarta Sans', sans-serif;
}
.kvc-gift__text b {
	font-size: 13.5px;
	font-weight: 700;
	color: #3a4630;
}
.kvc-gift__text i {
	font-style: normal;
	font-size: 12px;
	font-weight: 600;
	color: #6d7a58;
}

.kvc-note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0 0 0;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.5;
	color: #8a8470;
}
.kvc-note svg {
	flex: none;
	color: #94a072;
}

/* CTA */
.kvc-cta-wrap {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
}
.kvc-panel a.kvc-cta,
.kvc-panel button.kvc-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	padding: 16px 24px;
	border: none;
	border-radius: 999px;
	background: linear-gradient(135deg, #d9bd86, #c19b5f) !important;
	color: #3a2d05 !important;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 10px 22px rgba(150, 110, 30, 0.26);
	transition: filter 0.15s ease, opacity 0.15s ease;
}
.kvc-panel a.kvc-cta:hover,
.kvc-panel button.kvc-cta:hover {
	filter: brightness(1.04);
	color: #3a2d05 !important;
	text-decoration: none;
}
.kvc-cta.is-loading {
	opacity: 0.65;
	pointer-events: none;
}
.kvc-cta[hidden] {
	/* A WC/tema gomb-stílusai (`.woocommerce a.button` stb.) egyébként felülírnák a hidden állapotot. */
	display: none !important;
}
.kvc-cta-error {
	margin-top: 8px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #a33a2a;
	text-align: center;
}
.kvc-cta-error[hidden] {
	display: none;
}

/* Megtakarítás */
.kvc-save {
	margin-top: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 18px;
	background-color: #eef2e6;
	border: 1.5px solid #d7e2c8;
	border-radius: 16px;
	color: #2f7d4f;
}
.kvc-save[hidden] {
	display: none;
}
.kvc-save__label {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #3a4630;
}
.kvc-save__amount {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 20px;
	font-weight: 800;
	color: #2f7d4f;
}
.kvc-save__pct {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px;
	font-weight: 800;
	padding: 4px 10px;
	border-radius: 999px;
	background-color: #2f7d4f;
	color: #ffffff;
}

/* Mobil */
@media (max-width: 767px) {
	.kvc-panel {
		padding: 16px;
		border-radius: 20px;
	}
	.kvc-tab {
		font-size: 12.5px;
		padding: 10px 12px;
	}
	.kvc-row {
		padding: 13px 14px;
		gap: 11px;
		flex-wrap: wrap;
	}
	.kvc-row__label {
		font-size: 14.5px;
	}
	.kvc-row__pricebox {
		align-items: flex-end;
		margin-left: 33px;
	}
	.kvc-set__thumb {
		width: 44px;
		height: 44px;
		border-radius: 11px;
	}
	.kvc-cta {
		padding: 15px 18px;
		font-size: 15px;
	}
	.kvc-save {
		flex-wrap: wrap;
		padding: 12px 14px;
	}
	.kvc-save__amount {
		font-size: 18px;
	}
}

/* [szett_tartalom] — „A szett tartalma" részletes bontás (3a bal oszlop) */
.kvc-tartalom {
	margin: 24px 0;
}
.kvc-tartalom[hidden] {
	display: none;
}
.kvc-tartalom__set[hidden] {
	display: none;
}
.kvc-tartalom .kvc-tartalom__foto {
	/* A szettfotót NEM töltjük be a shortcodba (a termék képe felett lenne) —
	   a szabály csak akkor kellene, ha egyszer mégis vissza kellene venni. */
	display: none;
}
.kvc-tartalom__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}
.kvc-tartalom__label {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #94a072;
}
.kvc-tartalom__labelside {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11.5px;
	font-weight: 600;
	color: #a7a08e;
}
.kvc-tartalom__items {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.kvc-tartalom__item {
	display: flex;
	align-items: center;
	gap: 11px;
	background-color: #f6f4ee;
	border-radius: 14px;
	padding: 9px 12px;
}
.kvc-tartalom__icon {
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background-color: #eef2e6;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.kvc-tartalom__icon svg {
	/* A téma/WC img-szabályai (height:auto) ne feszíthessék szét az inline ikont. */
	width: 18px;
	height: 18px;
	display: block;
}
.kvc-tartalom .kvc-tartalom__icon img {
	/* Termékkép a csempében — dupla specificitás a .elementor img height:auto ellen. */
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}
.kvc-tartalom__name {
	flex: 1;
	min-width: 0;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13.5px;
	line-height: 1.4;
	color: #26331f;
}
.kvc-tartalom__name b {
	font-weight: 700;
}
.kvc-tartalom__name i {
	font-style: normal;
	font-weight: 600;
	font-size: 12px;
	color: #8a8470;
	margin-left: 6px;
}
.kvc-tartalom__price {
	flex: none;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	color: #a7a08e;
	text-decoration: line-through;
	white-space: nowrap;
}

/* Összegző blokk (v3) — külön ár / szett ára / megtakarítás */
.kvc-summary {
	margin-top: 12px;
	border-radius: 16px;
	border: 1.5px solid #e8e3d6;
	background-color: #ffffff;
	overflow: hidden;
}
.kvc-summary__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 11px 14px;
}
.kvc-summary__row--price {
	border-top: 1px solid #f0ece0;
}
.kvc-summary__row--save {
	gap: 10px;
	padding: 12px 14px;
	background-color: #eef2e6;
	border-top: 1.5px dashed #d7e2c8;
}
.kvc-summary__label {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #8a8470;
}
.kvc-summary__label--dark {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #3a4630;
}
.kvc-summary__strike {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #a7a08e;
	text-decoration: line-through;
	white-space: nowrap;
}
.kvc-summary__price {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 18px;
	font-weight: 800;
	color: #1d2a16;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.kvc-summary__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #2f7d4f;
}
.kvc-summary__right {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}
.kvc-summary__amount {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 18px;
	font-weight: 800;
	color: #2f7d4f;
	letter-spacing: -0.01em;
}
.kvc-summary__pill {
	background-color: #2f7d4f;
	color: #ffffff;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px;
	font-weight: 800;
	padding: 4px 9px;
	border-radius: 999px;
}

@media (max-width: 767px) {
	.kvc-tartalom {
		margin: 18px 0;
	}
	.kvc-tartalom__price {
		display: none;
	}
	.kvc-summary__row {
		padding: 10px 12px;
	}
	.kvc-summary__row--save {
		padding: 10px 12px;
	}
	.kvc-summary__price,
	.kvc-summary__amount {
		font-size: 16px;
	}
}
