/* Charmify – új összeállító felület (2.x)
 * Csak a "charmify-v2" body-osztályú (composite) termékoldalakon hat.
 * A színeket az alábbi változókkal lehet az arculathoz igazítani. */

.charmify-v2 {
	--cb-accent: #a86f73;        /* kiválasztás, nyilak */
	--cb-accent-soft: #f8f0f0;   /* kiválasztott kártya háttere */
	--cb-accent-dark: #7d4b50;   /* árak, címek */
	--cb-panel-bg: #fcf6f6;      /* összesítő panel, ajándékblokk háttere */
	--cb-band-bg: #f7efec;       /* méretútmutató sáv háttere */
	--cb-border: #e7ddd8;        /* kártyák kerete */
	--cb-card-bg: #ffffff;
	--cb-muted: #8a7f7a;         /* készletsor, számláló */
	--cb-radius: 12px;
	--cb-gap: 12px;
}

/* ---------- Fejléc (csak az összeállító oldalon: body.charmify-has-hero) ---------- */

/* amit a fejléc kivált: az "Egyéb" kategóriafelirat és a WPC "27 960 Ft helyett…" szövege.
 * Csak akkor rejtjük el, ha a fejléc tényleg elkészült (charmify-hero-ready). */
.charmify-hero-ready .summary .single-product-category,
.charmify-has-hero.charmify-hero-ready .wooco-wrap .wooco-before-text {
	display: none !important;
}

/* a többi composite terméken (egyszerűsített fejléc) a saját akciós szöveg marad, az ár alatt */
.charmify-v2:not(.charmify-has-hero) .wooco-wrap .wooco-before-text {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.45;
	color: var(--cb-accent-dark);
}

.charmify-hero--simple {
	margin-bottom: 6px;
}

.charmify-hero {
	margin: 0 0 18px;
}

.charmify-v2 .charmify-hero .charmify-hero__eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--cb-accent-dark);
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

/* a téma ezen az oldalon elrejti a termékcímet; a fejlécben viszont kell (wireframe) */
.charmify-v2 .charmify-hero .product_title {
	display: block !important;
	visibility: visible !important;
	margin: 0 0 10px;
	font-size: 40px;
	line-height: 1.12;
	color: var(--cb-title, #3f2a2e);
}

.charmify-v2 .charmify-hero .charmify-hero__intro {
	margin: 0 0 14px;
	font-size: 16px;
	line-height: 1.55;
}

.charmify-hero__pricerow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0 0 8px;
}

.charmify-v2 .charmify-hero .charmify-hero__price .price {
	margin: 0;
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--cb-accent-dark);
}

.charmify-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 16px;
	font-size: 14px;
	line-height: 1.2;
	color: var(--cb-accent-dark);
	background: var(--cb-accent-soft);
	border-radius: 999px;
}

.charmify-hero__badge .charmify-trust__icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	color: var(--cb-accent);
}

.charmify-v2 .charmify-hero .charmify-hero__compare {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.4;
}

.charmify-hero__compare del {
	color: var(--cb-muted);
}

.charmify-hero__save {
	padding: 4px 12px;
	font-weight: 600;
	color: var(--cb-accent-dark);
	background: var(--cb-accent-soft);
	border-radius: 999px;
}

/* folyamatjelző: 1. Karkötő → 2. Charmok → 3. Összesítés */
.charmify-v2 .charmify-hero .charmify-steps {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	margin: 0;
	padding: 12px 0;
	list-style: none;
	border-top: 1px solid var(--cb-border);
	border-bottom: 1px solid var(--cb-border);
}

.charmify-v2 .charmify-hero .charmify-steps__item {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	font-size: 15px;
	color: var(--cb-muted);
	cursor: default;
}

.charmify-steps__item[role="button"] {
	cursor: pointer;
}

.charmify-steps__item + .charmify-steps__item::before {
	content: "→";
	margin: 0 16px;
	color: var(--cb-muted);
}

.charmify-steps__item > span {
	padding: 2px 0;
	border-bottom: 2px solid transparent;
}

.charmify-v2 .charmify-hero .charmify-steps__item.is-done {
	color: inherit;
}

.charmify-v2 .charmify-hero .charmify-steps__item.is-active {
	font-weight: 600;
	color: var(--cb-accent-dark);
}

.charmify-steps__item.is-active > span {
	border-bottom-color: var(--cb-accent);
}

.charmify-steps__item:focus-visible {
	outline: 2px solid var(--cb-accent);
	outline-offset: 3px;
}

/* címke a termékfotón */
.charmify-v2 .woocommerce-product-gallery {
	position: relative;
}

.charmify-image-badge {
	position: absolute;
	top: 18px;
	left: 0;
	z-index: 5;
	padding: 8px 18px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
	color: #ffffff;
	background: rgba(150, 90, 98, 0.9);
	border-radius: 0 6px 6px 0;
	pointer-events: none;
}

/* ---------- 1. lépés: "Karkötő típusa" sor, mérettipp, "Kiválasztva" számláló ---------- */

.charmify-bracelets__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
	margin: 0 0 6px;
}

.charmify-bracelets__label {
	font-size: 14px;
	font-weight: 600;
}

.charmify-v2 .charmify-bracelets .charmify-bracelets__more,
.charmify-v2 .charmify-sizes .charmify-sizes__help {
	font-size: 14px;
	color: var(--cb-accent-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.charmify-v2 .charmify-bracelets .charmify-sizes__tip {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.4;
}

.charmify-sizes__tip svg {
	flex: 0 0 auto;
	color: var(--cb-muted);
}

/* a mérettipp kiváltja a WPC komponens leírását */
.charmify-v2 .wooco_component.charmify-has-size-tip .wooco_component_desc {
	display: none;
}

.charmify-v2 .wooco_component_name.charmify-has-counter {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
}

.charmify-counter {
	font-size: 14px;
	font-weight: 500;
	color: var(--cb-accent-dark);
}

.charmify-counter.is-complete::after {
	content: " ✓";
}

/* ---------- Kategóriagombok: minden képernyőn egy sorban, oldalra húzhatók ---------- */

/* (a filter.css asztali gépen sortörést ír elő; az új felületen ezt felülírjuk)
 * A jobb szélen finom elhalványulás jelzi, hogy van még gomb; a jobb oldali
 * belső margó miatt a sor végére érve az utolsó gomb is teljesen látszik. */
.charmify-v2 .charmify-wpcf__chips {
	flex-wrap: nowrap;
	margin: 0;
	padding: 2px 32px 8px 0;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
	mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
}

.charmify-v2 .charmify-wpcf__chips::-webkit-scrollbar {
	display: none;
}

/* ---------- Charmsor: egy sorban, oldalra húzható, egyszerre 3 kártya ---------- */

/* A WPC dobozai flex-sorok: min-width: 0 nélkül a sor szélesebb lenne a képernyőnél. */
.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product,
.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection {
	min-width: 0;
	max-width: 100%;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid {
	display: flex !important;
	flex-wrap: nowrap;
	gap: var(--cb-gap);
	width: 100%;
	margin: 0 !important;
	padding: 4px 0 6px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid::-webkit-scrollbar {
	display: none;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid .wooco_component_product_selection_grid_item {
	box-sizing: border-box;
	flex: 0 0 calc((100% - 2 * var(--cb-gap)) / 3);
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 8px 8px 10px;
	float: none !important;
	scroll-snap-align: start;
	background: var(--cb-card-bg);
	border: 1px solid var(--cb-border);
	border-radius: var(--cb-radius);
	transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
}

/* "Összes megjelenítése": ugyanezek a kártyák rácsban (3 oszlop) */
.charmify-v2 .wooco_component.charmify-strip--grid .wooco_component_product_selection_grid {
	flex-wrap: wrap;
	overflow-x: visible;
	scroll-snap-type: none;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid .wooco_component_product_selection_grid_item:hover {
	border-color: var(--cb-accent);
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid .wooco_component_product_selection_grid_item:focus-visible {
	outline: 2px solid var(--cb-accent);
	outline-offset: 2px;
}

/* kiválasztott kártya */
.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid .wooco_component_product_selection_grid_item.wooco_item_selected {
	background: var(--cb-accent-soft);
	border-color: var(--cb-accent);
	box-shadow: 0 0 0 1px var(--cb-accent);
}

/* pipa a kép jobb felső sarkában (a WPC saját jelölője, átszínezve) */
.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item::before {
	top: 12px;
	right: 12px;
	width: 24px;
	height: 24px;
	font-size: 13px;
	line-height: 20px;
	color: transparent;
	background-color: rgba(255, 255, 255, 0.85);
	border: 1.5px solid var(--cb-border);
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item.wooco_item_selected::before {
	color: #ffffff;
	background-color: var(--cb-accent);
	border-color: #ffffff;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_image {
	margin: 0 0 8px;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_name {
	display: -webkit-box;
	overflow: hidden;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* ár elrejtve (a csomagnak fix ára van), a készlet kicsiben marad */
.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_desc > span:first-child,
.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_desc .ast-stock-avail {
	display: none;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_desc {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.3;
	color: var(--cb-muted);
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_desc p {
	margin: 0;
}

/* készletsor: "2 készleten" kicsiben, szürkén ("Elérhető:" címke nélkül, ld. builder.js) */
.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_desc .stock {
	color: var(--cb-muted) !important;
}

.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_desc .charmify-stock-label {
	display: none !important;
}

/* ---------- Karkötő: kártyasor + méretgombok ---------- */

/* a WPC lenyíló listája rejtve, de működik (ő küldi a kosárba a választást) */
.charmify-v2 .wooco_component.charmify-bracelets-ready .wooco_component_product {
	display: none !important;
}

.charmify-bracelets {
	margin: 10px 0 0;
}

.charmify-bracelets__track {
	display: flex;
	gap: var(--cb-gap);
	padding: 4px 0 6px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.charmify-bracelets__track::-webkit-scrollbar {
	display: none;
}

.charmify-v2 .charmify-bracelets .charmify-bracelet {
	position: relative;
	display: flex;
	flex: 0 0 calc((100% - 2 * var(--cb-gap)) / 3);
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	padding: 8px 8px 10px;
	font: inherit;
	color: inherit;
	text-align: center;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	scroll-snap-align: start;
	background: var(--cb-card-bg);
	border: 1px solid var(--cb-border);
	border-radius: var(--cb-radius);
	box-shadow: none;
	transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
	-webkit-tap-highlight-color: transparent;
}

.charmify-v2 .charmify-bracelets .charmify-bracelet:hover {
	color: inherit;
	background: var(--cb-card-bg);
	border-color: var(--cb-accent);
}

.charmify-v2 .charmify-bracelets .charmify-bracelet:focus-visible {
	outline: 2px solid var(--cb-accent);
	outline-offset: 2px;
}

.charmify-v2 .charmify-bracelets .charmify-bracelet.is-selected {
	background: var(--cb-accent-soft);
	border-color: var(--cb-accent);
	box-shadow: 0 0 0 1px var(--cb-accent);
}

/* pipa, mint a charmoknál */
.charmify-v2 .charmify-bracelets .charmify-bracelet::before {
	content: "✓";
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 1;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	font-size: 13px;
	line-height: 20px;
	color: transparent;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.85);
	border: 1.5px solid var(--cb-border);
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

.charmify-v2 .charmify-bracelets .charmify-bracelet.is-selected::before {
	color: #ffffff;
	background-color: var(--cb-accent);
	border-color: #ffffff;
}

.charmify-bracelet__img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 0 8px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
}

.charmify-bracelet__name {
	display: -webkit-box;
	overflow: hidden;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.charmify-bracelet__sizes {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.3;
	color: var(--cb-muted);
}

.charmify-bracelets__chosen {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.4;
}

.charmify-sizes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin: 10px 0 0;
}

.charmify-sizes__label {
	font-size: 14px;
	font-weight: 600;
}

.charmify-sizes__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.charmify-v2 .charmify-sizes .charmify-size {
	min-width: 72px;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	font: inherit;
	font-size: 15px;
	color: inherit;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	background: #ffffff;
	border: 1px solid var(--cb-border);
	border-radius: 8px;
	box-shadow: none;
}

.charmify-v2 .charmify-sizes .charmify-size:hover:not(:disabled) {
	color: inherit;
	background: #ffffff;
	border-color: var(--cb-accent);
}

.charmify-v2 .charmify-sizes .charmify-size.is-selected,
.charmify-v2 .charmify-sizes .charmify-size.is-selected:hover {
	color: #ffffff;
	background: var(--cb-accent);
	border-color: var(--cb-accent);
}

.charmify-v2 .charmify-sizes .charmify-size:disabled {
	cursor: not-allowed;
	text-decoration: line-through;
	opacity: 0.4;
}

.charmify-v2 .charmify-sizes .charmify-size:focus-visible {
	outline: 2px solid var(--cb-accent);
	outline-offset: 2px;
}

.charmify-sizes__hint {
	flex: 0 0 100%;
	margin: 0;
	font-size: 13px;
	color: var(--cb-muted);
}

.charmify-sizes__hint:empty {
	display: none;
}

/* kosárba tételnél hiányzó méret */
.charmify-sizes.is-missing .charmify-sizes__hint {
	font-weight: 600;
	color: var(--cb-accent);
}

.charmify-sizes.is-missing .charmify-size:not(:disabled) {
	border-color: var(--cb-accent);
}

/* ---------- Navigáció a sor alatt: ‹  1–3 / 6  ›   Összes megjelenítése ---------- */

.charmify-strip-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 8px 0 0;
}

.charmify-strip-nav[hidden] {
	display: none;
}

.charmify-strip-nav__arrows {
	display: flex;
	align-items: center;
	gap: 6px;
}

.charmify-strip-nav__arrows[hidden],
.charmify-strip-nav__toggle[hidden] {
	display: none !important;
}

.charmify-v2 .charmify-strip-nav .charmify-strip-nav__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	color: var(--cb-accent);
	cursor: pointer;
	background: #ffffff;
	border: 1px solid var(--cb-border);
	border-radius: 50%;
	box-shadow: none;
}

.charmify-v2 .charmify-strip-nav .charmify-strip-nav__btn:hover:not(:disabled) {
	border-color: var(--cb-accent);
}

.charmify-v2 .charmify-strip-nav .charmify-strip-nav__btn:disabled {
	cursor: default;
	opacity: 0.35;
}

.charmify-v2 .charmify-strip-nav .charmify-strip-nav__btn:focus-visible,
.charmify-v2 .charmify-strip-nav .charmify-strip-nav__toggle:focus-visible {
	outline: 2px solid var(--cb-accent);
	outline-offset: 2px;
}

.charmify-strip-nav__count {
	min-width: 64px;
	font-size: 13px;
	color: var(--cb-muted);
	text-align: center;
}

.charmify-v2 .charmify-strip-nav .charmify-strip-nav__toggle {
	margin: 0;
	padding: 8px 4px;
	font: inherit;
	font-size: 14px;
	color: var(--cb-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	background: none;
	border: 0;
	box-shadow: none;
}

/* rács nézetben a nyilak és a számláló nem kellenek */
.charmify-strip--grid .charmify-strip-nav__arrows {
	visibility: hidden;
}

/* ---------- 3. Összesítő panel ---------- */

/* a WPC saját összesítője ("Csomag ára", "Kiválasztva", kiválasztott lista) helyett a mi panelünk
 * látszik; a WPC figyelmeztetése (wooco-alert) megmarad */
.charmify-v2 .charmify-summary-ready .wooco-selected,
.charmify-v2 .charmify-summary-ready .wooco_summary {
	display: none !important;
}

.charmify-summary {
	margin: 20px 0 14px;
	padding: 18px 18px 14px;
	background: var(--cb-panel-bg, #fcf6f6);
	border: 1px solid var(--cb-border);
	border-radius: var(--cb-radius);
}

.charmify-summary__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
}

.charmify-v2 .charmify-summary .charmify-summary__title {
	margin: 0;
	font-size: 20px;
	line-height: 1.25;
	color: var(--cb-accent-dark, #7d4b50);
}

.charmify-v2 .charmify-summary .charmify-summary__edit {
	margin: 0;
	padding: 6px 2px;
	font: inherit;
	font-size: 14px;
	color: var(--cb-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	background: none;
	border: 0;
	box-shadow: none;
}

.charmify-summary__lines {
	padding: 0 0 12px;
	margin: 0 0 12px;
	border-bottom: 1px solid var(--cb-border);
}

.charmify-v2 .charmify-summary .charmify-summary__line,
.charmify-v2 .charmify-summary .charmify-summary__count {
	margin: 0 0 4px;
	font-size: 14px;
	line-height: 1.45;
}

.charmify-summary__label {
	font-weight: 600;
}

.charmify-summary__missing {
	color: var(--cb-muted);
	font-style: italic;
}

.charmify-v2 .charmify-summary .charmify-summary__count {
	margin: 6px 0 0;
	font-size: 13px;
	color: var(--cb-muted);
}

.charmify-summary__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
	margin: 0 0 6px;
	font-size: 14px;
}

.charmify-summary__row[hidden] {
	display: none;
}

.charmify-summary__row--total {
	font-size: 15px;
	font-weight: 600;
}

.charmify-summary__price {
	font-size: 24px;
	line-height: 1.1;
	color: var(--cb-accent-dark, #7d4b50);
}

.charmify-summary__row--compare {
	color: var(--cb-muted);
}

.charmify-summary__regular {
	color: var(--cb-muted);
}

.charmify-summary__save {
	padding: 3px 10px;
	font-size: 13px;
	font-weight: 600;
	color: var(--cb-accent-dark, #7d4b50);
	background: var(--cb-accent-soft);
	border-radius: 999px;
}

.charmify-summary__free {
	color: var(--cb-accent-dark, #7d4b50);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* a WooCommerce Kosárba gomb a panel alatt: nagy és jól látható */
.charmify-v2 .charmify-summary + form.cart .single_add_to_cart_button {
	min-height: 52px;
	padding-right: 28px;
	padding-left: 28px;
	font-size: 15px;
	border-radius: 10px;
}

/* ---------- Alul rögzített kosársáv ---------- */

/* Astra saját "Ezt választom" sávja helyett ezen az oldalon a miénk látszik */
.charmify-v2 .ast-sticky-add-to-cart {
	display: none !important;
}

.charmify-bar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 999;
	display: flex;
	align-items: center;
	gap: 14px;
	box-sizing: border-box;
	padding: 10px max(16px, calc((100vw - 1140px) / 2)) calc(10px + env(safe-area-inset-bottom, 0px));
	background: rgba(255, 255, 255, 0.97);
	border-top: 1px solid var(--cb-border);
	box-shadow: 0 -4px 18px rgba(80, 40, 45, 0.08);
	transform: translateY(110%);
	visibility: hidden;
	transition: transform 0.25s ease, visibility 0s linear 0.25s;
}

.charmify-bar.is-visible {
	transform: translateY(0);
	visibility: visible;
	transition: transform 0.25s ease, visibility 0s;
}

.charmify-bar__img {
	flex: 0 0 auto;
	width: 84px;
	height: 56px;
	object-fit: cover;
	border-radius: 6px;
}

.charmify-bar__info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	line-height: 1.3;
}

.charmify-bar__title {
	overflow: hidden;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.charmify-bar__status {
	font-size: 13px;
	color: var(--cb-muted);
}

.charmify-bar__price {
	font-size: 22px;
	line-height: 1.1;
	color: var(--cb-accent-dark, #7d4b50);
	white-space: nowrap;
}

.charmify-bar__ship {
	font-size: 13px;
	color: var(--cb-muted);
	white-space: nowrap;
}

.charmify-bar__ship[hidden] {
	display: none;
}

.charmify-v2 .charmify-bar .charmify-bar__btn {
	flex: 0 0 auto;
	min-height: 46px;
	margin: 0;
	padding: 0 22px;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	background: var(--charmify-cta, var(--cb-accent));
	border: 0;
	border-radius: 10px;
	box-shadow: none;
	opacity: 0.6;
}

.charmify-v2 .charmify-bar .charmify-bar__btn.is-ready {
	opacity: 1;
}

.charmify-v2 .charmify-bar .charmify-bar__btn:focus-visible {
	outline: 2px solid var(--cb-accent);
	outline-offset: 2px;
}

/* amíg a sáv látszik: az oldal alján hely marad, a lebegő gombok (kosár, "fel" nyíl, süti) feljebb kerülnek */
.charmify-v2.charmify-bar-on {
	padding-bottom: var(--charmify-bar-h, 72px);
}

.charmify-v2.charmify-bar-on .woofc-count,
.charmify-v2.charmify-bar-on #ast-scroll-top,
.charmify-v2.charmify-bar-on .cky-btn-revisit-wrapper {
	margin-bottom: var(--charmify-bar-h, 72px);
}

/* nagyon keskeny telefonon a sáv képe elmarad, hogy a Kosárba gomb biztosan kiférjen */
@media (max-width: 399px) {
	.charmify-bar__img {
		display: none;
	}
}

/* ---------- Szállítási sor a Kosárba gomb alatt (includes/sections.php) ---------- */

.charmify-v2 .charmify-delivery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px 16px;
	margin: 14px 0 20px;
	padding: 0;
	list-style: none;
}

.charmify-v2 .charmify-delivery .charmify-delivery__item {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 13px;
	line-height: 1.35;
	color: var(--cb-muted);
}

.charmify-delivery__item .charmify-sec__icon {
	color: var(--cb-accent-dark);
}

@media (max-width: 479px) {
	.charmify-v2 .charmify-delivery {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
}

/* ---------- Információs szekciók (includes/sections.php) ---------- */

.charmify-sections {
	clear: both;
	padding: 8px 0 0;
}

.charmify-sec {
	margin: 0 0 36px;
}

.charmify-v2 .charmify-sec .charmify-sec__title {
	margin: 0 0 18px;
	font-size: 28px;
	line-height: 1.2;
	color: var(--cb-title, #3f2a2e);
}

.charmify-sec__icon {
	flex: 0 0 auto;
	color: var(--cb-accent);
}

/* előnyök + ajándék: asztali gépen a termékfotó alatt (builder.js teszi oda) */
.charmify-sec--aside {
	margin-top: 24px;
}

/* asztali gépen a termékfotó alatt, a bal oszlopban (szélességét a builder.js a fotóhoz igazítja) */
.charmify-sec--aside.charmify-sec--beside {
	float: left;
	clear: left;
	box-sizing: border-box;
	margin: 28px 0 24px;
}

.charmify-v2 .charmify-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 22px;
	padding: 0 0 22px;
	list-style: none;
	border-bottom: 1px solid var(--cb-border);
}

.charmify-v2 .charmify-benefits .charmify-benefits__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 15px;
	line-height: 1.3;
	text-align: center;
}

.charmify-gift {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 22px 24px;
	background: var(--cb-panel-bg);
	border-radius: var(--cb-radius);
}

.charmify-v2 .charmify-gift .charmify-gift__title {
	margin: 0 0 6px;
	font-size: 20px;
	line-height: 1.25;
	color: var(--cb-title, #3f2a2e);
}

.charmify-v2 .charmify-gift .charmify-gift__text {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.5;
}

.charmify-gift__link {
	font-size: 14px;
	color: var(--cb-accent-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ha nincs megadva link (pl. "Ingyenes díszdobozzal is kérhető"): tájékoztatás, ne tűnjön kattinthatónak */
.charmify-gift__link--static {
	display: inline-block;
	font-weight: 600;
	text-decoration: none;
}

/* méretútmutató: halvány sáv, három lépés egymás mellett */
.charmify-size-guide {
	padding: 28px 24px 22px;
	text-align: center;
	background: var(--cb-band-bg, #f7efec);
	border-radius: var(--cb-radius);
	scroll-margin-top: 90px;
}

.charmify-v2 .charmify-size-guide__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
	text-align: left;
}

.charmify-v2 .charmify-size-guide .charmify-size-guide__step {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 6px 20px;
	font-size: 14px;
	line-height: 1.4;
}

.charmify-size-guide__step + .charmify-size-guide__step {
	border-left: 1px solid var(--cb-border);
}

.charmify-size-guide__step strong {
	display: block;
	font-size: 16px;
	color: var(--cb-title, #3f2a2e);
}

.charmify-size-guide__step span {
	color: var(--cb-muted);
}

.charmify-v2 .charmify-size-guide .charmify-size-guide__note {
	margin: 0;
	font-size: 14px;
	color: var(--cb-muted);
}

.charmify-size-guide__note a {
	color: var(--cb-accent-dark);
	text-decoration: underline;
}

/* karkötőbemutató: kép balra, szöveg jobbra */
.charmify-showcase {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 32px;
}

.charmify-showcase__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 340px;
	object-fit: cover;
	border-radius: var(--cb-radius);
}

.charmify-v2 .charmify-showcase .charmify-showcase__name {
	margin: -8px 0 10px;
	font-size: 15px;
	font-weight: 600;
}

.charmify-v2 .charmify-showcase .charmify-showcase__props {
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.charmify-v2 .charmify-showcase .charmify-showcase__props li {
	position: relative;
	margin: 0 0 6px;
	padding-left: 26px;
	font-size: 15px;
}

.charmify-showcase__props li::before {
	content: "✓";
	position: absolute;
	left: 2px;
	color: var(--cb-accent);
}

.charmify-v2 .charmify-showcase .charmify-showcase__note {
	margin: 0 0 8px;
	font-size: 14px;
	color: var(--cb-muted);
}

.charmify-showcase__link {
	font-size: 14px;
	color: var(--cb-accent-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* GYIK: lenyitható sorok */
.charmify-faq__item {
	border: 1px solid var(--cb-border);
	border-bottom-width: 0;
	background: #ffffff;
}

.charmify-faq__item:first-of-type {
	border-radius: var(--cb-radius) var(--cb-radius) 0 0;
}

.charmify-faq__item:last-of-type {
	border-bottom-width: 1px;
	border-radius: 0 0 var(--cb-radius) var(--cb-radius);
}

.charmify-faq__q {
	position: relative;
	padding: 14px 44px 14px 18px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.charmify-faq__q::-webkit-details-marker {
	display: none;
}

.charmify-faq__q::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-right: 1.5px solid var(--cb-accent);
	border-bottom: 1.5px solid var(--cb-accent);
	transform: rotate(45deg);
	transition: transform 0.2s;
}

.charmify-faq__item[open] > .charmify-faq__q::after {
	margin-top: -2px;
	transform: rotate(-135deg);
}

.charmify-faq__q:focus-visible {
	outline: 2px solid var(--cb-accent);
	outline-offset: -2px;
}

.charmify-faq__a {
	padding: 0 18px 14px;
	font-size: 14px;
	line-height: 1.55;
}

.charmify-faq__a p:last-child {
	margin-bottom: 0;
}

.charmify-faq__a a {
	color: var(--cb-accent-dark);
	text-decoration: underline;
}

@media (max-width: 767px) {
	.charmify-v2 .charmify-sec .charmify-sec__title {
		font-size: 23px;
	}

	.charmify-v2 .charmify-benefits .charmify-benefits__item {
		font-size: 13px;
	}

	.charmify-gift {
		gap: 12px;
		padding: 18px 16px;
	}

	.charmify-size-guide {
		padding: 22px 16px 18px;
	}

	.charmify-v2 .charmify-size-guide__steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	.charmify-v2 .charmify-size-guide .charmify-size-guide__step {
		padding: 8px 4px;
	}

	.charmify-size-guide__step + .charmify-size-guide__step {
		border-top: 1px solid var(--cb-border);
		border-left: 0;
	}

	.charmify-showcase {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}
}

/* ---------- Mobil: a kártyák kisebbek, nem nagyobbak ---------- */

@media (max-width: 767px) {
	.charmify-v2 {
		--cb-gap: 8px;
		--cb-radius: 10px;
	}

	.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid .wooco_component_product_selection_grid_item {
		padding: 6px 6px 8px;
	}

	.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item::before {
		top: 9px;
		right: 9px;
		width: 22px;
		height: 22px;
		font-size: 12px;
		line-height: 18px;
	}

	.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_image {
		margin-bottom: 6px;
	}

	.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_name {
		font-size: 12.5px;
	}

	.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid_item_desc {
		font-size: 11px;
	}

	.charmify-v2 .charmify-bracelets .charmify-bracelet {
		padding: 6px 6px 8px;
	}

	.charmify-v2 .charmify-bracelets .charmify-bracelet::before {
		top: 9px;
		right: 9px;
		width: 22px;
		height: 22px;
		font-size: 12px;
		line-height: 18px;
	}

	.charmify-bracelet__img {
		margin-bottom: 6px;
	}

	.charmify-bracelet__name {
		font-size: 12.5px;
	}

	.charmify-bracelet__sizes {
		font-size: 11px;
	}

	.charmify-v2 .charmify-sizes .charmify-size {
		min-width: 64px;
		flex: 1 1 0;
	}

	.charmify-sizes__list {
		flex: 1 1 100%;
	}

	.charmify-v2 .charmify-hero .product_title {
		font-size: 30px;
	}

	.charmify-v2 .charmify-hero .charmify-hero__intro {
		font-size: 15px;
	}

	.charmify-v2 .charmify-hero .charmify-hero__price .price {
		font-size: 32px;
	}

	.charmify-steps__item + .charmify-steps__item::before {
		margin: 0 8px;
	}

	.charmify-v2 .charmify-hero .charmify-steps__item {
		font-size: 13.5px;
	}

	.charmify-image-badge {
		top: 12px;
		padding: 6px 14px;
		font-size: 14px;
	}

	.charmify-summary {
		padding: 14px 14px 10px;
	}

	.charmify-v2 .charmify-summary .charmify-summary__title {
		font-size: 18px;
	}

	.charmify-summary__price {
		font-size: 22px;
	}

	/* mobilon a sáv: [cím + állapot] [ár] [gomb]; a szállítás felirat nem fér el */
	.charmify-bar {
		gap: 10px;
		padding-right: 12px;
		padding-left: 12px;
	}

	.charmify-bar__img {
		width: 44px;
		height: 44px;
	}

	.charmify-bar__title {
		font-size: 13px;
	}

	.charmify-bar__status {
		font-size: 12px;
	}

	.charmify-bar__price {
		font-size: 18px;
	}

	.charmify-bar__ship {
		display: none;
	}

	.charmify-v2 .charmify-bar .charmify-bar__btn {
		min-height: 44px;
		padding: 0 14px;
		font-size: 13px;
		letter-spacing: 0.03em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.charmify-v2 .wooco_component[class*="wooco_component_layout_grid"] .wooco_component_product_selection_grid {
		scroll-behavior: auto;
	}
}
