.elementor-widget .produkt-02-karta { padding: var(--space-m) var(--gutter) var(--space-2xl); background: var(--color-bg); }
.elementor-widget .produkt-02-karta__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-m); max-width: var(--container-wide); margin-inline: auto; }
.elementor-widget .produkt-02-karta__crumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; font-size: var(--text-small); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__crumbs li + li::before { content: "›"; margin-right: var(--space-2xs); color: var(--color-text); }
.elementor-widget .produkt-02-karta__crumbs a { color: var(--color-text); text-decoration: none; border-bottom: var(--border-width) solid transparent; transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__crumbs a:hover { color: var(--color-action); border-bottom-color: currentColor; }
.elementor-widget .produkt-02-karta__crumbs a:active { color: var(--color-action-active); }
.elementor-widget .produkt-02-karta__main, .elementor-widget .produkt-02-karta__aside { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); align-content: start; }

.elementor-widget /* Ikony */
.produkt-02-karta__icon, .elementor-widget .produkt-02-karta__icon-l, .elementor-widget .produkt-02-karta__sprig, .elementor-widget .produkt-02-karta__arrow, .elementor-widget .produkt-02-karta__chev, .elementor-widget .produkt-02-karta__info, .elementor-widget .produkt-02-karta__tick, .elementor-widget .produkt-02-karta__heart, .elementor-widget .produkt-02-karta__ask-icon {
  flex: none; fill: none; stroke: currentColor; stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round;
}
.elementor-widget .produkt-02-karta__icon { width: var(--icon-s); height: var(--icon-s); }
.elementor-widget .produkt-02-karta__icon-l { width: var(--icon-l); height: var(--icon-l); color: var(--color-sage-700); transition: transform var(--dur-slow) var(--ease-out); }
.elementor-widget .produkt-02-karta__sprig { display: inline-block; width: var(--icon-s); height: var(--icon-s); vertical-align: middle; color: var(--color-sage-700); }
.elementor-widget .produkt-02-karta__arrow { width: var(--space-s); height: var(--space-s); transition: transform var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__chev { width: var(--icon-s); height: var(--icon-s); transition: transform var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__info { display: inline-block; width: var(--space-s); height: var(--space-s); vertical-align: middle; color: var(--color-text); }
.elementor-widget .produkt-02-karta__heart { width: var(--icon-s); height: var(--icon-s); color: var(--color-accent-display); }
.elementor-widget .produkt-02-karta__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out); }

.elementor-widget /* Karty */
.produkt-02-karta__card { padding: var(--space-l) var(--space-m); border: var(--border-width) solid var(--color-line); border-radius: var(--radius-m); background: var(--color-surface); box-shadow: var(--shadow-1); transition: box-shadow var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__card:hover { box-shadow: var(--shadow-2); }
.elementor-widget .produkt-02-karta__card--intro { padding: var(--space-s); }
.elementor-widget .produkt-02-karta__card-title { margin: 0 0 var(--space-l); font-family: var(--font-serif); font-weight: var(--weight-regular); font-size: var(--step-1); letter-spacing: var(--tracking-tight); text-align: center; color: var(--color-heading); }
.elementor-widget .produkt-02-karta__card-title--small { font-family: var(--font-sans); font-size: var(--text-small); letter-spacing: var(--tracking-caps); }

.elementor-widget /* Galeria */
.produkt-02-karta__gallery { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
.elementor-widget .produkt-02-karta__stage { position: relative; overflow: hidden; aspect-ratio: 16 / 10; border-radius: var(--radius-m); background: var(--color-placeholder); }
.elementor-widget .produkt-02-karta__hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out), opacity var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__stage:hover .produkt-02-karta__hero-img { transform: scale(var(--zoom-hover)); }
.elementor-widget .produkt-02-karta__hero-img.is-swapping { opacity: 0; }
.elementor-widget .produkt-02-karta__badge { position: absolute; top: var(--space-s); right: var(--space-s); display: flex; flex-direction: column; align-items: center; justify-content: center; width: var(--space-3xl); aspect-ratio: 1; border: var(--border-width) solid var(--color-accent-decor); border-radius: var(--radius-round); background: var(--color-surface); box-shadow: var(--shadow-2); font-size: var(--text-micro); font-weight: var(--weight-medium); letter-spacing: var(--tracking-tight); line-height: var(--leading-heading); text-align: center; color: var(--color-heading); }
.elementor-widget .produkt-02-karta__badge .produkt-02-karta__sprig { margin-top: var(--space-3xs); color: var(--color-lavender-700); }
.elementor-widget .produkt-02-karta__thumbs { display: flex; gap: var(--space-2xs); order: 2; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.elementor-widget .produkt-02-karta__thumb { position: relative; display: grid; place-items: center; overflow: hidden; width: var(--space-2xl); aspect-ratio: 1; padding: 0; border: calc(2 * var(--border-width)) solid transparent; border-radius: var(--radius-s); background: var(--color-placeholder); cursor: pointer; box-shadow: var(--shadow-1); transition: border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__thumb:hover { transform: translateY(var(--lift)); }
.elementor-widget .produkt-02-karta__thumb:hover .produkt-02-karta__img { transform: scale(var(--zoom-hover)); }
.elementor-widget .produkt-02-karta__thumb:active { transform: translateY(0); }
.elementor-widget .produkt-02-karta__thumb[aria-current="true"] { border-color: var(--color-accent-decor); }
.elementor-widget .produkt-02-karta__thumb--video { background: var(--color-sage-200); }
.elementor-widget .produkt-02-karta__thumb:disabled { cursor: not-allowed; transform: none; opacity: var(--placeholder-opacity); }
.elementor-widget .produkt-02-karta__play { width: var(--icon-l); height: var(--icon-l); fill: var(--color-surface); stroke: var(--color-heading); stroke-width: var(--icon-stroke); }

.elementor-widget /* Nagłówek produktu */
.produkt-02-karta__head { padding: var(--space-l) var(--space-s) var(--space-m); text-align: center; }
.elementor-widget .produkt-02-karta__eyebrow { margin: 0 0 var(--space-2xs); font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); color: var(--color-accent-text); }
.elementor-widget .produkt-02-karta__title { margin: 0; font-family: var(--font-serif); font-weight: var(--weight-regular); font-size: var(--step-4); overflow-wrap: break-word; letter-spacing: var(--tracking-tight); line-height: var(--leading-tight); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__accent { color: var(--color-accent-display); }
.elementor-widget .produkt-02-karta__ornament { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); margin: var(--space-s) auto var(--space-m); }
.elementor-widget .produkt-02-karta__ornament::before, .elementor-widget .produkt-02-karta__ornament::after { content: ""; width: var(--space-4xl); height: var(--border-width); background: var(--color-line-strong); }
.elementor-widget .produkt-02-karta__sub { margin: 0 0 var(--space-s); font-family: var(--font-serif); font-size: var(--step-1); line-height: var(--leading-heading); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__lead { max-width: var(--measure); margin: 0 auto; font-size: var(--text-small); line-height: var(--leading-body); color: var(--color-heading); }

.elementor-widget /* Cechy */
.produkt-02-karta__features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-l) var(--space-s); margin: 0; padding: var(--space-m) 0 var(--space-s); list-style: none; }
.elementor-widget .produkt-02-karta__features li { display: flex; flex-direction: column; align-items: center; gap: var(--space-2xs); padding-inline: var(--space-2xs); font-size: var(--text-micro); line-height: var(--leading-body); text-align: center; color: var(--color-heading); }
.elementor-widget .produkt-02-karta__features strong { font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-tight); line-height: var(--leading-heading); }
.elementor-widget .produkt-02-karta__features li:hover .produkt-02-karta__icon-l { transform: translateY(var(--lift)) scale(var(--grow-scale)); }

.elementor-widget /* Rytuał */
.produkt-02-karta__ritual-steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-m); margin: 0 0 var(--space-m); padding: 0; list-style: none; counter-reset: none; }
.elementor-widget .produkt-02-karta__ritual-step { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--radius-m); background: var(--color-paper); box-shadow: var(--shadow-1); text-align: center; font-size: var(--text-micro); line-height: var(--leading-body); color: var(--color-heading); transition: transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__ritual-step:hover { transform: translateY(var(--lift)); box-shadow: var(--shadow-2); }
.elementor-widget .produkt-02-karta__ritual-step:hover .produkt-02-karta__img { transform: scale(var(--zoom-hover)); }
.elementor-widget .produkt-02-karta__ritual-step strong { margin: var(--space-s) 0 var(--space-3xs); font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); }
.elementor-widget .produkt-02-karta__ritual-step > span:last-child { padding: 0 var(--space-s) var(--space-m); }
.elementor-widget .produkt-02-karta__ritual-photo { position: relative; overflow: hidden; aspect-ratio: 3 / 2; }
.elementor-widget .produkt-02-karta__num { position: absolute; top: var(--space-2xs); left: var(--space-2xs); z-index: var(--z-base); display: grid; place-items: center; width: var(--space-l); height: var(--space-l); border-radius: var(--radius-round); background: var(--color-lavender-500); color: var(--color-white); font-size: var(--text-small); font-weight: var(--weight-medium); }
.elementor-widget .produkt-02-karta__tip { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius-s); background: var(--color-lavender-100); font-size: var(--text-small); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__card--split { display: grid; gap: var(--space-l); }
.elementor-widget .produkt-02-karta__use-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s) var(--space-2xs); margin: 0; padding: 0; list-style: none; }
.elementor-widget .produkt-02-karta__use-grid li, .elementor-widget .produkt-02-karta__use-row li { display: flex; flex-direction: column; align-items: center; gap: var(--space-2xs); font-size: var(--text-micro); line-height: var(--leading-heading); text-align: center; color: var(--color-heading); }
.elementor-widget .produkt-02-karta__use-photo { position: relative; display: block; overflow: hidden; width: 100%; aspect-ratio: 1; border-radius: var(--radius-s); box-shadow: var(--shadow-1); }
.elementor-widget .produkt-02-karta__use-grid li:hover .produkt-02-karta__img, .elementor-widget .produkt-02-karta__use-row li:hover .produkt-02-karta__img { transform: scale(var(--zoom-hover)); }
.elementor-widget .produkt-02-karta__use-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
.elementor-widget .produkt-02-karta__use-row .produkt-02-karta__use-photo { aspect-ratio: 5 / 4; }
.elementor-widget .produkt-02-karta__use-icons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-m) var(--space-s); margin: var(--space-m) 0; padding: 0; list-style: none; }
.elementor-widget .produkt-02-karta__use-icons li { display: flex; flex-direction: column; align-items: center; gap: var(--space-2xs); font-size: var(--text-small); line-height: var(--leading-heading); text-align: center; color: var(--color-heading); }
.elementor-widget .produkt-02-karta__use-icons li:hover .produkt-02-karta__icon-l { transform: translateY(var(--lift)) scale(var(--grow-scale)); }

.elementor-widget /* Informacje: zakładki / akordeon */
.produkt-02-karta__tabs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-m); margin-bottom: var(--space-m); border-bottom: var(--border-width) solid var(--color-line); }
.elementor-widget .produkt-02-karta__tabs-label { font-family: var(--font-serif); font-size: var(--step-1); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__tab { position: relative; padding: var(--space-xs) var(--space-2xs); border: 0; background: none; color: var(--color-text); font: inherit; font-size: var(--text-small); letter-spacing: var(--tracking-tight); text-decoration: none; cursor: pointer; transition: color var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(-1 * var(--border-width)); height: calc(2 * var(--border-width)); background: var(--color-action); transform: scaleX(0); transition: transform var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__tab:hover { color: var(--color-heading); }
.elementor-widget .produkt-02-karta__tab:hover::after { transform: scaleX(0.5); }
.elementor-widget .produkt-02-karta__tab[aria-selected="true"] { color: var(--color-heading); font-weight: var(--weight-medium); }
.elementor-widget .produkt-02-karta__tab[aria-selected="true"]::after { transform: scaleX(1); }
.elementor-widget .produkt-02-karta__tab:active { color: var(--color-action); }
.elementor-widget .produkt-02-karta__tab:disabled { color: var(--color-disabled-text); cursor: not-allowed; }
.elementor-widget .produkt-02-karta__panel { padding: var(--space-m); border: var(--border-width) solid var(--color-line); border-radius: var(--radius-m); }
.elementor-widget .produkt-02-karta__panel[hidden] { display: none; }
.elementor-widget .produkt-02-karta__text { max-width: var(--measure); margin: 0 0 var(--space-s); line-height: var(--leading-body); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__list { margin: 0 0 var(--space-s); padding-left: var(--space-m); font-size: var(--text-small); line-height: var(--leading-body); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__small { margin: 0; font-size: var(--text-micro); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__recycle-note { display: flex; align-items: center; gap: var(--space-s); margin: var(--space-m) 0 0; padding: var(--space-s) var(--space-m); border-radius: var(--radius-m); background: var(--color-lavender-100); font-size: var(--text-small); line-height: var(--leading-body); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__recycle-note .produkt-02-karta__icon-l { color: var(--color-lavender-700); }
.elementor-widget .produkt-02-karta__acc { border: var(--border-width) solid var(--color-line); border-radius: var(--radius-m); background: var(--color-paper); transition: box-shadow var(--dur-med) var(--ease-out); scroll-margin-top: var(--space-l); }
.elementor-widget .produkt-02-karta__acc + .produkt-02-karta__acc { margin-top: var(--space-2xs); }
.elementor-widget .produkt-02-karta__acc:hover { box-shadow: var(--shadow-1); }
.elementor-widget .produkt-02-karta__acc-sum { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); padding: var(--space-s); font-size: var(--text-micro); color: var(--color-heading); cursor: pointer; list-style: none; }
.elementor-widget .produkt-02-karta__acc-sum::-webkit-details-marker { display: none; }
.elementor-widget .produkt-02-karta__acc-sum strong { display: block; font-family: var(--font-serif); font-size: var(--step-1); font-weight: var(--weight-regular); letter-spacing: var(--tracking-tight); }
.elementor-widget .produkt-02-karta__acc-sum:hover .produkt-02-karta__acc-badge { transform: rotate(var(--tilt)) scale(var(--zoom-hover)); }
.elementor-widget .produkt-02-karta__acc[open] > .produkt-02-karta__acc-sum .produkt-02-karta__chev { transform: rotate(var(--flip)); }
.elementor-widget .produkt-02-karta__acc-badge { display: grid; place-items: center; width: var(--space-2xl); aspect-ratio: 1; border: var(--border-width) solid var(--color-line); border-radius: var(--radius-round); background: var(--color-surface); color: var(--color-sage-700); transition: transform var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__acc-body { padding: 0 var(--space-s) var(--space-m); }
.elementor-widget .produkt-02-karta__acc-body:empty { display: none; }
.elementor-widget .produkt-02-karta__oils { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2xs); margin: 0 0 var(--space-s); padding: 0; list-style: none; }
.elementor-widget .produkt-02-karta__oils li { display: flex; flex-direction: column; align-items: center; gap: var(--space-3xs); padding: var(--space-s) var(--space-3xs); border: var(--border-width) solid var(--color-line); border-radius: var(--radius-s); background: var(--color-surface); font-size: var(--text-micro); line-height: var(--leading-heading); text-align: center; color: var(--color-heading); transition: transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__oils li:hover { transform: translateY(var(--lift)); box-shadow: var(--shadow-2); }
.elementor-widget .produkt-02-karta__oils strong { font-weight: var(--weight-medium); letter-spacing: var(--tracking-tight); }
.elementor-widget .produkt-02-karta__oil-bottle { width: auto; height: var(--space-2xl); border-radius: var(--radius-s); }

.elementor-widget /* Konfigurator */
.produkt-02-karta__config { display: grid; gap: var(--space-m); padding: var(--space-l) var(--space-m); border: var(--border-width) solid var(--color-line); border-radius: var(--radius-m); background: var(--color-surface); box-shadow: var(--shadow-2); }
.elementor-widget .produkt-02-karta__config-title { margin: 0; font-family: var(--font-serif); font-weight: var(--weight-regular); font-size: var(--step-2); letter-spacing: var(--tracking-tight); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__step { min-width: 0; margin: 0; padding: 0; border: 0; }
.elementor-widget .produkt-02-karta__legend { margin-bottom: var(--space-s); padding: 0; font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__fills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); }
.elementor-widget .produkt-02-karta__fills--list { grid-template-columns: minmax(0, 1fr); }
.elementor-widget .produkt-02-karta__fill { position: relative; display: flex; flex-direction: column; align-items: center; gap: var(--space-2xs); padding: var(--space-m) var(--space-s); border: var(--border-width) solid var(--color-line-strong); border-radius: var(--radius-m); background: var(--color-white); font-size: var(--text-micro); line-height: var(--leading-body); text-align: center; color: var(--color-heading); cursor: pointer; transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__fill--row { flex-direction: row; align-items: center; gap: var(--space-m); text-align: left; }
.elementor-widget .produkt-02-karta__fill:hover { border-color: var(--color-accent-decor); transform: translateY(var(--lift)); box-shadow: var(--shadow-2); }
.elementor-widget .produkt-02-karta__fill:active { transform: translateY(0); }
.elementor-widget .produkt-02-karta__fill:has(:checked) { border-color: var(--color-lavender-500); box-shadow: var(--shadow-2); }
.elementor-widget .produkt-02-karta__fill:has(:focus-visible), .elementor-widget .produkt-02-karta__swatch:has(:focus-visible) { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
.elementor-widget .produkt-02-karta__fill-dot { flex: none; width: var(--space-2xl); aspect-ratio: 1; border-radius: var(--radius-round); box-shadow: inset 0 0 0 var(--border-width) var(--color-line-strong); transition: transform var(--dur-slow) var(--ease-out); }
.elementor-widget .produkt-02-karta__fill:hover .produkt-02-karta__fill-dot { transform: rotate(var(--tilt)) scale(var(--grow-scale)); }
.elementor-widget .produkt-02-karta__fill-dot--gryka { background: radial-gradient(circle at 35% 35%, var(--color-heading), var(--color-ink) 60%); background-color: var(--color-ink); }
.elementor-widget .produkt-02-karta__fill-dot--plaskurka { background: radial-gradient(circle at 35% 35%, var(--swatch-krem), var(--color-lavender-500) 140%); }
.elementor-widget .produkt-02-karta__fill-name { display: block; font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-tight); }
.elementor-widget .produkt-02-karta__fill-desc { display: block; }
.elementor-widget .produkt-02-karta__tick { position: absolute; top: calc(-1 * var(--space-2xs)); left: calc(-1 * var(--space-2xs)); width: var(--space-l); height: var(--space-l); padding: var(--space-3xs); border-radius: var(--radius-round); background: var(--color-lavender-500); color: var(--color-white); opacity: 0; transform: scale(var(--enter-scale)); transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__fill:has(:checked) .produkt-02-karta__tick, .elementor-widget .produkt-02-karta__swatch:has(:checked) .produkt-02-karta__tick { opacity: 1; transform: scale(1); }
.elementor-widget .produkt-02-karta__swatches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-m) var(--space-s); }
.elementor-widget .produkt-02-karta__swatch { display: flex; flex-direction: column; align-items: center; gap: var(--space-2xs); font-size: var(--text-micro); letter-spacing: var(--tracking-tight); line-height: var(--leading-heading); text-align: center; color: var(--color-heading); cursor: pointer; }
.elementor-widget .produkt-02-karta__chip { position: relative; display: block; width: 100%; max-width: var(--space-3xl); aspect-ratio: 1; border: calc(3 * var(--border-width)) solid var(--color-surface); border-radius: var(--radius-m); box-shadow: 0 0 0 var(--border-width) var(--color-line), var(--shadow-1); transition: transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__swatch:hover .produkt-02-karta__chip { transform: translateY(var(--lift)) scale(var(--zoom-hover)); box-shadow: 0 0 0 var(--border-width) var(--color-accent-decor), var(--shadow-2); }
.elementor-widget .produkt-02-karta__swatch:active .produkt-02-karta__chip { transform: scale(var(--press-scale)); }
.elementor-widget .produkt-02-karta__swatch:has(:checked) .produkt-02-karta__chip { box-shadow: 0 0 0 calc(2 * var(--border-width)) var(--color-lavender-500), var(--shadow-2); }
.elementor-widget .produkt-02-karta__chip--szalwia { background: var(--swatch-szalwia); }
.elementor-widget .produkt-02-karta__chip--blekit { background: var(--swatch-blekit); }
.elementor-widget .produkt-02-karta__chip--roz { background: var(--swatch-roz); }
.elementor-widget .produkt-02-karta__chip--fiolet { background: var(--swatch-fiolet); }
.elementor-widget .produkt-02-karta__chip--krem { background: var(--swatch-krem); }
.elementor-widget .produkt-02-karta__chip--magenta { background: var(--swatch-magenta); }
.elementor-widget .produkt-02-karta__other { display: flex; align-items: center; gap: var(--space-m); margin-top: var(--space-m); padding-top: var(--space-m); border-top: var(--border-width) solid var(--color-line); font-size: var(--text-micro); color: var(--color-heading); text-decoration: none; }
.elementor-widget .produkt-02-karta__other strong { display: block; font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); }
.elementor-widget .produkt-02-karta__other-box { display: grid; place-items: center; width: var(--space-3xl); aspect-ratio: 1; border: var(--border-width) dashed var(--color-line-strong); border-radius: var(--radius-m); transition: border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__other:hover .produkt-02-karta__other-box { border-color: var(--color-accent-text); background: var(--color-lavender-100); transform: rotate(calc(-1 * var(--tilt))); }
.elementor-widget .produkt-02-karta__other:active .produkt-02-karta__other-box { background: var(--color-lavender-300); }
.elementor-widget .produkt-02-karta__note { display: flex; gap: var(--space-xs); margin: var(--space-m) 0 0; font-size: var(--text-small); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__oil { position: relative; display: flex; align-items: center; gap: var(--space-s); padding: var(--space-xs) var(--space-s); border: var(--border-width) solid var(--color-accent-decor); border-radius: var(--radius-m); background: var(--color-white); transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__oil:hover { border-color: var(--color-accent-text); box-shadow: var(--shadow-1); }
.elementor-widget .produkt-02-karta__oil:focus-within { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
.elementor-widget .produkt-02-karta__oil-img { width: auto; height: var(--space-2xl); border-radius: var(--radius-s); }
.elementor-widget .produkt-02-karta__select { flex: 1; min-width: 0; min-height: var(--control-height); padding-right: var(--space-l); border: 0; background: transparent; color: var(--color-heading); font: inherit; font-size: var(--text-small); appearance: none; cursor: pointer; }
.elementor-widget .produkt-02-karta__select:focus-visible { outline: none; }
.elementor-widget .produkt-02-karta__select:disabled { color: var(--color-disabled-text); cursor: not-allowed; }
.elementor-widget .produkt-02-karta__oil .produkt-02-karta__chev { position: absolute; right: var(--space-s); pointer-events: none; }
.elementor-widget .produkt-02-karta__link { display: inline-flex; align-items: center; gap: var(--space-2xs); margin-top: var(--space-s); color: var(--color-accent-text); font-size: var(--text-small); text-decoration: none; border-bottom: var(--border-width) solid transparent; transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__link:hover { border-bottom-color: currentColor; }
.elementor-widget .produkt-02-karta__link:hover .produkt-02-karta__arrow { transform: translateX(var(--space-3xs)); }
.elementor-widget .produkt-02-karta__link:active { color: var(--color-heading); }
.elementor-widget .produkt-02-karta__link--center { display: flex; width: max-content; margin-inline: auto; }
.elementor-widget .produkt-02-karta__summary { display: grid; gap: var(--space-s); padding: var(--space-m); border-radius: var(--radius-m); background: var(--color-paper); }
.elementor-widget .produkt-02-karta__summary-title { margin: 0; font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__rows { display: grid; gap: var(--space-2xs); margin: 0; font-size: var(--text-small); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__rows div { display: flex; justify-content: space-between; align-items: center; gap: var(--space-s); }
.elementor-widget .produkt-02-karta__rows dd { margin: 0; text-align: right; }
.elementor-widget .produkt-02-karta__rows small { display: block; font-size: var(--text-micro); }
.elementor-widget .produkt-02-karta__rows [data-sum] { transition: color var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__rows [data-sum].is-changed { color: var(--color-accent-text); }
.elementor-widget .produkt-02-karta__qty-row { padding-bottom: var(--space-s); border-bottom: var(--border-width) solid var(--color-line); }
.elementor-widget .produkt-02-karta__qty { display: inline-flex; align-items: center; margin-right: var(--space-s); border: var(--border-width) solid var(--color-line-strong); border-radius: var(--radius-s); background: var(--color-white); }
.elementor-widget .produkt-02-karta__qty-btn { display: grid; place-items: center; width: var(--space-xl); height: var(--space-xl); padding: 0; border: 0; background: transparent; color: var(--color-heading); cursor: pointer; transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__qty-btn:hover { background: var(--color-sage-100); }
.elementor-widget .produkt-02-karta__qty-btn:active { transform: scale(var(--press-scale)); }
.elementor-widget .produkt-02-karta__qty-btn:disabled { color: var(--color-disabled-text); cursor: not-allowed; background: transparent; }
.elementor-widget .produkt-02-karta__qty-val { min-width: var(--space-l); text-align: center; font-weight: var(--weight-medium); }
.elementor-widget .produkt-02-karta__total { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; margin: 0; color: var(--color-heading); }
.elementor-widget .produkt-02-karta__total span { font-size: var(--step-1); font-weight: var(--weight-medium); }
.elementor-widget .produkt-02-karta__total strong { font-family: var(--font-serif); font-size: var(--step-4); font-weight: var(--weight-regular); }
.elementor-widget .produkt-02-karta__total small { grid-column: 2; text-align: right; font-size: var(--text-micro); }
.elementor-widget .produkt-02-karta__btn { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: calc(var(--control-height) * var(--grow-scale) * 0.9); border: 0; border-radius: var(--radius-s); color: var(--color-white); font: inherit; font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); text-decoration: none; cursor: pointer; box-shadow: var(--shadow-1); transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__btn--cart { background: var(--color-action); }
.elementor-widget .produkt-02-karta__btn--buy { background: var(--color-lavender-700); }
.elementor-widget .produkt-02-karta__btn:hover { transform: translateY(var(--lift)); box-shadow: var(--shadow-3); }
.elementor-widget .produkt-02-karta__btn--cart:hover { background: var(--color-action-hover); }
.elementor-widget .produkt-02-karta__btn--buy:hover { background: var(--color-heading); }
.elementor-widget .produkt-02-karta__btn:active { transform: translateY(0); box-shadow: var(--shadow-1); }
.elementor-widget .produkt-02-karta__btn--cart:active { background: var(--color-action-active); }
.elementor-widget .produkt-02-karta__btn--buy:active { background: var(--color-lavender-500); }
.elementor-widget .produkt-02-karta__btn:disabled { background: var(--color-disabled-bg); color: var(--color-disabled-text); cursor: not-allowed; transform: none; box-shadow: none; }
.elementor-widget .produkt-02-karta__btn .produkt-02-karta__icon { transition: transform var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__btn:hover .produkt-02-karta__icon { transform: rotate(var(--tilt)) scale(var(--grow-scale)); }
.elementor-widget .produkt-02-karta__added { min-height: var(--space-m); margin: 0; font-size: var(--text-small); text-align: center; color: var(--color-action); }
.elementor-widget .produkt-02-karta__pay { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2xs); margin: 0; padding: var(--space-s); border: var(--border-width) solid var(--color-line); border-radius: var(--radius-s); list-style: none; font-size: var(--text-micro); font-weight: var(--weight-medium); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__ship { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
.elementor-widget .produkt-02-karta__ship li { display: flex; align-items: center; gap: var(--space-xs); padding: var(--space-s); border-radius: var(--radius-s); background: var(--color-paper); font-size: var(--text-micro); line-height: var(--leading-body); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__ship li:hover .produkt-02-karta__icon-l { transform: translateX(var(--space-3xs)); }
.elementor-widget .produkt-02-karta__ask { position: relative; display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); overflow: hidden; padding: var(--space-m); border-radius: var(--radius-m); background: var(--color-lavender-100); color: var(--color-heading); font-size: var(--text-small); line-height: var(--leading-body); text-decoration: none; transition: transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__ask:hover { transform: translateY(var(--lift)); box-shadow: var(--shadow-2); }
.elementor-widget .produkt-02-karta__ask:active { transform: translateY(0); }
.elementor-widget .produkt-02-karta__ask-icon { width: var(--space-2xl); height: var(--space-2xl); color: var(--color-lavender-500); transition: transform var(--dur-slow) var(--ease-out); }
.elementor-widget .produkt-02-karta__ask:hover .produkt-02-karta__ask-icon { transform: rotate(calc(-2 * var(--tilt))); }

.elementor-widget /* Opinie i polecane */
.produkt-02-karta__reviews, .elementor-widget .produkt-02-karta__related { padding: var(--space-m); border: var(--border-width) solid var(--color-line); border-radius: var(--radius-m); background: var(--color-surface); box-shadow: var(--shadow-1); }
.elementor-widget .produkt-02-karta__side-title { display: flex; align-items: center; gap: var(--space-xs); margin: 0 0 var(--space-s); padding-bottom: var(--space-s); border-bottom: var(--border-width) solid var(--color-line); font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__side-title span { margin-left: var(--space-s); font-weight: var(--weight-light); letter-spacing: 0; }
.elementor-widget .produkt-02-karta__review { display: grid; gap: var(--space-xs); margin: 0; }
.elementor-widget .produkt-02-karta__review blockquote { margin: 0; font-size: var(--text-small); line-height: var(--leading-body); color: var(--color-heading); }
.elementor-widget .produkt-02-karta__review p { margin: 0; }
.elementor-widget .produkt-02-karta__stars { display: flex; gap: var(--space-3xs); color: var(--color-star); }
.elementor-widget .produkt-02-karta__star { width: var(--icon-s); height: var(--icon-s); fill: currentColor; transition: transform var(--dur-fast) var(--ease-out); }
.elementor-widget .produkt-02-karta__review:hover .produkt-02-karta__star { transform: translateY(var(--lift)); }
.elementor-widget .produkt-02-karta__review:hover .produkt-02-karta__star:nth-child(2) { transition-delay: calc(var(--stagger) / 3); }
.elementor-widget .produkt-02-karta__review:hover .produkt-02-karta__star:nth-child(3) { transition-delay: calc(var(--stagger) * 2 / 3); }
.elementor-widget .produkt-02-karta__review:hover .produkt-02-karta__star:nth-child(4) { transition-delay: var(--stagger); }
.elementor-widget .produkt-02-karta__review:hover .produkt-02-karta__star:nth-child(5) { transition-delay: calc(var(--stagger) * 4 / 3); }
.elementor-widget .produkt-02-karta__related-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
.elementor-widget .produkt-02-karta__rel { display: flex; flex-direction: column; gap: var(--space-3xs); color: var(--color-heading); font-size: var(--text-small); text-align: center; text-decoration: none; }
.elementor-widget .produkt-02-karta__rel-photo { position: relative; overflow: hidden; aspect-ratio: 4 / 3; margin-bottom: var(--space-2xs); border-radius: var(--radius-s); box-shadow: var(--shadow-1); transition: box-shadow var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out); }
.elementor-widget .produkt-02-karta__rel:hover .produkt-02-karta__rel-photo { transform: translateY(var(--lift)); box-shadow: var(--shadow-2); }
.elementor-widget .produkt-02-karta__rel:hover .produkt-02-karta__img { transform: scale(var(--zoom-hover)); }
.elementor-widget .produkt-02-karta__rel:active .produkt-02-karta__rel-photo { transform: translateY(0); }
.elementor-widget .produkt-02-karta__rel-price { font-size: var(--text-micro); color: var(--color-text); }

@media (min-width: 480px) { .elementor-widget .produkt-02-karta__title { font-size: var(--text-display); } }
@media (min-width: 768px) {
  .elementor-widget .produkt-02-karta__gallery { grid-template-columns: auto minmax(0, 1fr); }
  .elementor-widget .produkt-02-karta__thumbs { flex-direction: column; order: 0; padding: var(--space-2xs); border: var(--border-width) solid var(--color-line); border-radius: var(--radius-m); background: var(--color-paper); }
  .elementor-widget .produkt-02-karta__stage { aspect-ratio: auto; min-height: var(--band-min); }
  .elementor-widget .produkt-02-karta__badge { width: var(--badge-m); top: var(--space-m); right: var(--space-m); }
  .elementor-widget .produkt-02-karta__thumb { width: var(--space-3xl); }
  .elementor-widget .produkt-02-karta__features { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .elementor-widget .produkt-02-karta__features li + li { border-left: var(--border-width) solid var(--color-line); }
  .elementor-widget .produkt-02-karta__ritual-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .elementor-widget .produkt-02-karta__use-row { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .elementor-widget .produkt-02-karta__use-icons { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .elementor-widget .produkt-02-karta__oils { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .elementor-widget .produkt-02-karta__inner { grid-template-columns: minmax(0, 7fr) minmax(0, 4.2fr); align-items: start; gap: var(--space-m) var(--space-l); }
  .elementor-widget .produkt-02-karta__crumbs { grid-column: 1 / -1; }
  .elementor-widget .produkt-02-karta__card--split { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .elementor-widget .produkt-02-karta__swatches:has(> :nth-child(7)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-widget .produkt-02-karta *, .elementor-widget .produkt-02-karta *::after { transition-duration: 0s !important; transition-delay: 0s !important; }
  .elementor-widget .produkt-02-karta *:hover, .elementor-widget .produkt-02-karta *:hover * { transform: none !important; }
}
