/* KwiatAnki – podgląd liczby kwiatów */
.ka-viz__in { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; align-items: center; }
.ka-viz__controls { margin-top: 6px; }
.ka-viz {
	display: block;
	width: 100%; max-width: 100%; min-width: 0; flex: 0 0 100%; margin: 4px 0 16px; padding: 14px 16px 16px;
	overflow: hidden; container-type: inline-size; container-name: kaviz;
	background: radial-gradient(120% 120% at 0% 50%, rgba(var(--ka-c1-rgb,224,72,95),.12), transparent 60%), var(--ka-s1,#121212);
	border: 1px solid rgba(var(--ka-ln-rgb,255,255,255),.08); border-radius: calc(18px * var(--ka-rs, 1)); color: var(--ka-tx,#f3eee8);
	font-family: inherit; box-sizing: border-box;
}
.ka-viz * { box-sizing: border-box; }
.ka-viz__svg { display: block; width: 84px; max-width: 84px; height: auto; margin: 0; overflow: hidden; }
.ka-viz__meta { min-width: 0; }
.ka-viz__scale, .ka-viz__colors, .ka-viz__lengths { max-width: 100%; min-width: 0; }
.ka-viz__step { overflow: hidden; }
.ka-viz__wrap, .ka-viz__leaves { transition: transform .5s cubic-bezier(.2, .9, .3, 1.2); }

.ka-bloom__in { transform-box: fill-box; transform-origin: center; animation: ka-bloom-pop .55s cubic-bezier(.2, .9, .3, 1.6) both; }
.ka-viz__bouquet { transform-box: view-box; transform-origin: 140px 246px; animation: ka-sway 6s ease-in-out infinite; }
@keyframes ka-sway { 0%, 100% { transform: rotate(-1.4deg); } 50% { transform: rotate(1.4deg); } }
.ka-viz.is-bump .ka-viz__bouquet { animation: ka-sway 6s ease-in-out infinite, ka-hop .45s ease; }
@keyframes ka-hop { 40% { translate: 0 -4px; } }
.ka-bloom.is-old .ka-bloom__in { animation: none; }
@keyframes ka-bloom-pop { from { transform: scale(0) rotate(-90deg); opacity: 0; } 70% { opacity: 1; } to { transform: none; opacity: 1; } }

.ka-viz.is-preview .ka-viz__svg { opacity: .55; filter: saturate(.7); }
.ka-viz.is-bump .ka-viz__num { animation: ka-viz-bump .4s ease; }
@keyframes ka-viz-bump { 50% { transform: scale(1.15); } }

.ka-viz__eyebrow { display: block; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ka-c1,#e0485f); }
.ka-viz__count { margin: 2px 0 4px; line-height: 1; }
.ka-viz__num { display: inline-block; font-size: 34px; font-weight: 700; color: var(--ka-hd,#fff); min-width: 1.4ch; }
.ka-viz__word { font-size: 18px; color: rgba(var(--ka-tx-rgb,243,238,232),.75); }
.ka-viz__hint { margin: 4px 0 10px; font-size: 13px; font-style: italic; color: rgba(var(--ka-tx-rgb,243,238,232),.55); }

.ka-viz__scale { display: flex; align-items: flex-end; gap: 8px; height: 64px; margin-top: 10px; }
.ka-viz__step {
	position: relative; flex: 1 1 0; height: var(--h, 50%); min-width: 0; margin: 0; padding: 0 0 6px;
	display: flex; align-items: flex-end; justify-content: center;
	background: rgba(var(--ka-ln-rgb,255,255,255),.06) !important; border: 1px solid rgba(var(--ka-ln-rgb,255,255,255),.1) !important; border-radius: 10px 10px 4px 4px;
	color: rgba(var(--ka-tx-rgb,243,238,232),.7) !important; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; box-shadow: none !important;
	transition: background .25s ease, border-color .25s ease, color .25s ease, transform .2s ease;
}
.ka-viz__step:hover { transform: translateY(-2px); border-color: rgba(var(--ka-c1-rgb,224,72,95),.6) !important; }
.ka-viz__step.is-active { background: linear-gradient(180deg, var(--ka-c2,#f28ca0), var(--ka-c1,#e0485f)) !important; border-color: var(--ka-c1,#e0485f) !important; color: var(--ka-on-c1,#fff) !important; }

/* Tryb wyboru: oryginalna lista / swatche ukryte, słupki są wyborem */
tr.ka-viz-hidden-row { display: none !important; }
.ka-viz-hidden-sel select, .ka-viz-hidden-sel .variable-items-wrapper, .ka-viz-hidden-sel .wd-swatches-product { display: none !important; }
.ka-viz.is-selector .ka-viz__scale { height: 72px; gap: 8px; margin-top: 10px; }
.ka-viz.is-selector .ka-viz__step { flex-direction: column; justify-content: flex-end; align-items: center; text-align: center; gap: 2px; padding-bottom: 8px; min-height: 52px; }
.ka-viz__step strong { font-size: 17px; line-height: 1; color: inherit; }
.ka-viz__step small { font-size: 10px; letter-spacing: .04em; opacity: .8; font-weight: 400; }
.ka-viz.is-selector .ka-viz__step.is-active { box-shadow: 0 10px 24px -12px var(--ka-c1,#e0485f) !important; transform: translateY(-3px); }
.ka-viz.is-selector .ka-viz__step:focus-visible { outline: 2px solid var(--ka-c2,#f28ca0); outline-offset: 2px; }
.ka-viz.is-selector.is-preview .ka-viz__scale .ka-viz__step:not(.is-active) { animation: ka-viz-nudge 2.4s ease-in-out infinite; }
.ka-viz.is-selector.is-preview .ka-viz__step:nth-child(2) { animation-delay: .15s; }
.ka-viz.is-selector.is-preview .ka-viz__step:nth-child(3) { animation-delay: .3s; }
.ka-viz.is-selector.is-preview .ka-viz__step:nth-child(4) { animation-delay: .45s; }
@keyframes ka-viz-nudge { 0%, 70%, 100% { transform: none; } 80% { transform: translateY(-4px); } }
/* Długość */
.ka-viz__stems path { transition: d .45s cubic-bezier(.2, .9, .3, 1.2); }
.ka-viz__lengths { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin-top: 14px; }
.ka-viz__lengths[hidden] { display: none; }
.ka-viz__len {
	display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px 12px 8px 10px; cursor: pointer;
	background: rgba(var(--ka-ln-rgb,255,255,255),.06) !important; border: 1px solid rgba(var(--ka-ln-rgb,255,255,255),.12) !important; border-radius: calc(12px * var(--ka-rs, 1)) !important;
	color: rgba(var(--ka-tx-rgb,243,238,232),.8) !important; font: inherit; font-size: 13px; box-shadow: none !important; text-transform: capitalize;
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.ka-viz__len:hover { transform: translateY(-2px); border-color: rgba(var(--ka-c1-rgb,224,72,95),.6) !important; }
.ka-viz__len.is-active { background: linear-gradient(180deg, var(--ka-c2,#f28ca0), var(--ka-c1,#e0485f)) !important; border-color: var(--ka-c1,#e0485f) !important; color: var(--ka-on-c1,#fff) !important; }
.ka-viz__len-icon { position: relative; display: block; width: 10px; height: 26px; }
.ka-viz__len-icon::before { content: ""; position: absolute; left: 1px; top: 0; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.ka-viz__len-icon i { position: absolute; left: 4px; top: 7px; width: 2px; height: calc(4px + var(--f, .5) * 15px); background: #7aa874; border-radius: 2px; }

/* Kolory */
.ka-viz__colorname { font-size: 15px; color: rgba(var(--ka-tx-rgb,243,238,232),.6); }
.ka-viz__colors { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.ka-viz__colors[hidden] { display: none; }
.ka-viz__colors-label { flex-basis: 100%; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: rgba(var(--ka-tx-rgb,243,238,232),.55); }
.ka-viz__chip {
	width: 30px; height: 30px; min-width: 30px; margin: 0; padding: 0; border-radius: 50% !important; cursor: pointer;
	background: var(--c, #888) !important; border: 2px solid rgba(var(--ka-ln-rgb,255,255,255),.15) !important; box-shadow: none !important;
	transition: transform .2s cubic-bezier(.2, .9, .3, 1.5), border-color .2s ease, box-shadow .2s ease;
}
.ka-viz__chip:hover { transform: scale(1.12); }
.ka-viz__chip.is-active { border-color: #fff !important; box-shadow: 0 0 0 3px rgba(var(--ka-c1-rgb,224,72,95),.7) !important; transform: scale(1.08); }
.ka-viz__chip:focus-visible { outline: 2px solid var(--ka-c2,#f28ca0); outline-offset: 3px; }
.ka-viz.is-selector .ka-viz__scale .ka-viz__step { min-width: 0; }
.ka-viz.is-selector .ka-viz__step small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

.ka-viz__reset { display: inline-block; margin-top: 8px; font-size: 12px; color: rgba(var(--ka-tx-rgb,243,238,232),.55) !important; }

@media (max-width: 600px) {
	.ka-viz.is-selector .ka-viz__scale { height: 76px; gap: 6px; }
	.ka-viz__step strong { font-size: 15px; }
	.ka-viz__num { font-size: 34px; }
	.ka-viz__word { font-size: 15px; }
	.ka-viz__scale { height: 48px; gap: 6px; }
}
@container kaviz (max-width: 420px) {
	.ka-viz__in { grid-template-columns: 64px minmax(0, 1fr); gap: 10px; }
	.ka-viz__svg { width: 64px; max-width: 64px; }
	.ka-viz.is-selector .ka-viz__scale { gap: 4px; height: 70px; }
	.ka-viz__step strong { font-size: 13px; }
	.ka-viz__step small { display: none; }
	.ka-viz__num { font-size: 32px; }
	.ka-viz__len { padding: 7px 10px; font-size: 12px; }
}
/* Fallback dla przeglądarek bez container queries */
@supports not (container-type: inline-size) {
	@media (max-width: 767px) {
		.ka-viz__step small { display: none; }
	}
}

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

/* Jedna cena */
form.ka-one-price .woocommerce-variation-price { display: none !important; }
.ka-price-updated { animation: ka-price-pop .45s ease; }
@keyframes ka-price-pop { 40% { transform: scale(1.06); color: var(--ka-c2,#f28ca0); } }
