/*
 Theme Name:   Kluska Upiecze
 Author:       Gosia Gozdz myspot.ON
 Template:     Divi
 Version:      2.33
*/

/* ==================================================
   GLOBAL
   Podstawowe ustawienia strony, reset poziomego scrolla i zaznaczanie tekstu.
================================================== */

/* Fix a horizontal scroll bug on mobile browsers */
#page-container { 
  overflow:hidden; 
  width:100%; 
  max-width:100%; }

/* Selection - kolor zaznaczenia tekstu i tap highlight na mobile. */
* {
  -webkit-tap-highlight-color: rgba(221, 213, 248, .45);
}

*::selection {
  background: #DDD5F8;
  color: #3B3128;
}

input::selection,
textarea::selection {
  background: #DDD5F8;
  color: #3B3128;
}



/* ==================================================
   TEXT STYLING
   Typografia, linki, listy i znaczniki mark/mark2.
================================================== */

h1,
h2,
h3 {
  font-family: "ivymode", sans-serif !important;
  font-style: normal;
  font-weight: 600 !important;
}

:where(.et_pb_text, .et_pb_heading, .et_pb_module_header) :is(mark, mark2, .mark2) {
  background-color: transparent;
  background-image: linear-gradient(var(--ku-mark-color), var(--ku-mark-color));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1.24em;
  color: #3B3128;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  display: inline;
  line-height: inherit;
  padding: 0 7px;
}

:where(.et_pb_text, .et_pb_heading, .et_pb_module_header) mark {
  --ku-mark-color: #FFD190;
}

:where(.et_pb_text, .et_pb_heading, .et_pb_module_header) :is(mark2, .mark2) {
  --ku-mark-color: #EFCDDE;
  background-image: linear-gradient(#EFCDDE, #EFCDDE);
}

ul, li, ol {
  line-height:1.2em!important;
}

:where(.et_pb_text) :is(p,ul,ol,blockquote) ~ :is(h1,h2,h3,h4,h5,h6) {
  padding-top:.75em;
}

:where(.et_pb_text) p:last-of-type {
  padding-bottom:1em;
}
:where(.et_pb_text) :is(p,ul,ol,blockquote):last-child {
  padding-bottom:0;
}

:where(.et_pb_text) ::marker {
  color:#FD6F43;
}
:where(.et_pb_text) :is(ol,ul) li:not(:last-child) {
  padding-bottom:.5em;
}



/* Text animation */
.ku-heading {
  overflow: hidden;
}

.ku-heading .ku-word-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}

.ku-heading .ku-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(1.1em);
}

.ku-heading.ku-heading--visible .ku-word {
  animation: ku-word-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.et-fb .ku-heading .ku-word-wrap {
  display: inline !important;
  overflow: visible !important;
}

.et-fb .ku-heading .ku-word {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

@keyframes ku-word-rise {
  from {
    opacity: 0;
    transform: translateY(1.1em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



/* Style Blockquotes */
:where(.et_pb_text) blockquote {
  background:#EFCDDE;
  border:none;
  border-radius:0;
  position:relative;
  padding:1.5em 2em;
  margin:.5em 0 1.5em;
}
:where(.et_pb_text) blockquote::after {
  content:none;
}
:where(.et_pb_text) blockquote::before {
  content:none;
}



/* Style Links */
:where(.et_pb_text, .et_pb_toggle_content) a:not(.et_pb_button):not(.icon) {
  position: relative;
  text-decoration: none!important;
}

:where(.et_pb_text, .et_pb_toggle_content) a:not(.et_pb_button):not(.icon)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.06em;
  height: .24em;
  background: linear-gradient(#FD6F43, #FD6F43) 0 0 / 100% 2px no-repeat;
  pointer-events: none;
}

:where(.et_pb_text, .et_pb_toggle_content) a:not(.et_pb_button):not(.icon):hover::after {
  animation: pa-link-redraw .55s ease-out;
}

:where(.et_pb_toggle_content) a:not(.et_pb_button):not(.icon) {
  background-image: linear-gradient(#FD6F43, #FD6F43);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 2px;
}

:where(.et_pb_toggle_content) a:not(.et_pb_button):not(.icon)::after {
  content: none;
}

:where(.et_pb_toggle_content) a:not(.et_pb_button):not(.icon):hover {
  animation: pa-link-redraw .55s ease-out;
}

:where(.et_pb_text, .et_pb_toggle_content) a:not(.et_pb_button):not(.icon):has(:is(mark, mark2, .mark2)) {
  background-image: none !important;
  animation: none !important;
}

:where(.et_pb_text, .et_pb_toggle_content) a:not(.et_pb_button):not(.icon):has(:is(mark, mark2, .mark2))::after {
  animation: none !important;
  content: none !important;
  display: none !important;
}

/* Product categories - linki bez animowanego podkreslenia. */

.ku-kategoria-produktu a,
.ku-kategoria-produktu a:hover,
.ku-kategoria-produktu a:focus {
  background-image: none !important;
  text-decoration: none !important;
}

.ku-kategoria-produktu a::after,
.ku-kategoria-produktu a:hover::after,
.ku-kategoria-produktu a:focus::after {
  content: none !important;
  display: none !important;
}

:where(.et_pb_text, .et_pb_toggle_content) :is(mark, mark2, .mark2) a:not(.et_pb_button):not(.icon) {
  background-image: none !important;
  text-decoration: none !important;
}

:where(.et_pb_text, .et_pb_toggle_content) :is(mark, mark2, .mark2) a:not(.et_pb_button):not(.icon)::after {
  animation: none !important;
  content: none !important;
  display: none !important;
}

:where(.et_pb_text, .et_pb_toggle_content) :is(mark, mark2, .mark2) a:not(.et_pb_button):not(.icon):hover {
  animation: none !important;
  background-image: none !important;
}

@keyframes pa-link-redraw {
  0% {
    background-size: 0 2px;
  }

  100% {
    background-size: 100% 2px;
  }
}



/* ==================================================
   MODULES
   Powtarzalne moduly Divi: toggle, przyciski, marquee, opinie, formularze.
================================================== */

/* Toggle - ikony plus/minus i odstepy tresci. */

body #page-container .et_pb_toggle .et_pb_toggle_title {
  padding-right: 52px !important;
  position: relative;
}

body #page-container .et_pb_toggle .et_pb_toggle_title::before {
  background: url("/wp-content/uploads/2026/08/ikona-plus.svg") center / contain no-repeat;
  content: "" !important;
  display: block !important;
  font-size: 0 !important;
  height: 34px;
  line-height: 0 !important;
  margin-top: 0 !important;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
}

body #page-container .et_pb_toggle.et_pb_toggle_close .et_pb_toggle_title::before {
  background-image: url("/wp-content/uploads/2026/08/ikona-plus.svg") !important;
}

body #page-container .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::before {
  background-image: url("/wp-content/uploads/2026/08/ikona-minus.svg");
}



/* ==================================================
   HEADER
   Naglowek, koszyk w menu i mobilny overlay menu.
================================================== */

#ku-header {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

#ku-header .et-menu-nav .et-menu {
  gap: 34px;
}

#ku-header .et-menu-nav .et-menu > li {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#ku-header .et-menu-nav .et-menu > li > a {
  position: relative;
  text-decoration: none !important;
}

#ku-header .et-menu-nav .et-menu > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: .12em;
  height: 5px;
  background: #FFD190;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s ease;
}

#ku-header .et-menu-nav .et-menu > li > a:hover::after {
  transform: scaleX(1);
}

#ku-header .et_pb_menu__cart-button {
  color: #B54E73 !important;
  margin-left: 42px;
  position: relative !important;
}

#ku-header .et_pb_menu__cart-button::before {
  color: #B54E73 !important;
}

#ku-header .et_pb_menu__cart-button .ku-cart-count {
  align-items: center;
  background: #FD6F43;
  border: 0;
  border-radius: 999px;
  box-sizing: border-box;
  color: #ffffff !important;
  display: inline-flex;
  font-family: inherit !important;
  font-size: 9px !important;
  height: 16px;
  justify-content: center;
  line-height: 1 !important;
  min-width: 16px;
  padding: 0 4px;
  position: absolute;
  right: -9px;
  top: -7px;
}

.ku-mobile-menu-actions,
.ku-mobile-overlay {
  display: none;
}

@media (max-width: 980px) {
  #ku-header .et_pb_menu__cart-button,
  #ku-header .et_pb_menu__cart-button::before {
    margin-left: 0 !important;
  }

  #ku-header .et_pb_menu__menu,
  #ku-header .et_mobile_nav_menu {
    display: none !important;
  }

  #ku-header .mobile_menu_bar,
  #ku-header .mobile_menu_bar::before,
  #ku-header .mobile_menu_bar::after,
  #ku-header .et_mobile_nav_menu .mobile_nav {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    content: none !important;
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    width: 0 !important;
  }

  #ku-header .et_pb_menu__wrap {
    align-items: center !important;
    display: flex !important;
    gap: 14px;
    justify-content: flex-end !important;
  }

  .ku-mobile-menu-actions {
    align-items: center;
    display: inline-flex;
    gap: 20px;
    justify-content: flex-end;
    margin-left: auto;
  }

  .ku-mobile-overlay__cart {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    color: #3B3128 !important;
    display: inline-flex !important;
    height: auto !important;
    justify-content: center;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    position: relative;
    text-decoration: none !important;
    width: auto !important;
  }

  .ku-mobile-overlay__cart .ku-cart-count {
    align-items: center;
    background: #FD6F43;
    border: 0;
    border-radius: 999px;
    box-sizing: border-box;
    color: #ffffff !important;
    display: inline-flex;
    font-family: inherit !important;
    font-size: 9px !important;
    height: 16px;
    justify-content: center;
    line-height: 1 !important;
    min-width: 16px;
    padding: 0 4px;
    position: absolute;
    right: -12px;
    top: -11px;
  }

  .ku-mobile-menu-toggle,
  .ku-mobile-overlay__close {
    appearance: none;
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #3B3128;
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    justify-content: center;
    letter-spacing: 0;
    line-height: 1;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    text-indent: -999px;
    text-decoration: none;
    height: 70px;
    width: 70px;
  }

  .ku-mobile-menu-toggle {
    background: url("/wp-content/uploads/2026/08/menu-ikona-hamburger.svg") center / contain no-repeat;
  }

  .ku-mobile-menu-toggle::before,
  .ku-mobile-menu-toggle::after {
    content: none !important;
    display: none !important;
  }

  .ku-mobile-overlay__close {
    background: url("/wp-content/uploads/2026/08/ikona-close.svg") center / contain no-repeat;
  }

  .ku-mobile-overlay {
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .32s ease, visibility 0s linear .32s;
    visibility: hidden;
    z-index: 100000;
  }

  .ku-mobile-overlay.is-open {
    display: block;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
    visibility: visible;
  }

  .ku-mobile-overlay__backdrop {
    background: rgba(59, 49, 40, .24);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    inset: 0;
    position: absolute;
  }

  .ku-mobile-overlay__panel {
    background: #FAEEE8;
    border: 0;
    border-radius: 0;
    box-shadow: 0 24px 54px rgba(59, 49, 40, .12);
    left: 18px;
    max-height: calc(100dvh - var(--ku-header-offset, 86px) - 36px);
    overflow-y: auto;
    padding: 44px 34px 48px;
    position: absolute;
    right: 18px;
    top: calc(var(--ku-header-offset, 86px) + 16px);
  }

  .ku-mobile-overlay__top {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 42px;
  }

  .ku-mobile-overlay__brand {
    align-items: center;
    color: #3B3128 !important;
    display: inline-flex;
    flex: 0 1 132px;
    max-width: 132px;
    text-decoration: none !important;
  }

  .ku-mobile-overlay__brand img {
    display: block;
    height: auto;
    max-width: 132px;
    width: 100%;
  }

  .ku-mobile-overlay__nav,
  .ku-mobile-overlay__list {
    width: 100%;
  }

  .ku-mobile-overlay__nav {
    align-items: stretch;
    display: flex;
    flex-direction: column;
  }

  .ku-mobile-overlay__list,
  .ku-mobile-overlay__submenu {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .ku-mobile-overlay__item {
    margin: 0;
    padding: 0;
  }

  .ku-mobile-overlay__link,
  .ku-mobile-overlay__toggle {
    background: transparent;
    border: 0;
    color: #3B3128 !important;
    cursor: pointer;
    display: block;
    font-family: inherit;
    font-size: 22px;
    letter-spacing: 0;
    line-height: 1.12;
    padding: 0 0 17px;
    position: relative;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    width: 100%;
  }

  .ku-mobile-overlay__toggle {
    padding-right: 32px;
  }

  .ku-mobile-overlay__chevron {
    border-bottom: 1.5px solid #3B3128;
    border-right: 1.5px solid #3B3128;
    height: 12px;
    position: absolute;
    right: 4px;
    top: .2em;
    transform: rotate(45deg);
    transition: transform .24s ease;
    width: 12px;
  }

  .ku-mobile-overlay__item.is-expanded .ku-mobile-overlay__chevron {
    top: .38em;
    transform: rotate(225deg);
  }

  .ku-mobile-overlay__submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
  }

  .ku-mobile-overlay__item.is-expanded .ku-mobile-overlay__submenu {
    max-height: 500px;
  }

  .ku-mobile-overlay__submenu a {
    color: #3B3128 !important;
    display: block;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.2;
    padding: 0 0 12px;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
  }

  .ku-mobile-overlay__actions {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    gap: 18px;
  }

  .ku-mobile-overlay__actions .ku-mobile-overlay__cart,
  .ku-mobile-overlay__actions .ku-mobile-overlay__cart::before {
    color: #B54E73 !important;
  }

  body.ku-menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }
}

@media (max-width: 479px) {
  .ku-mobile-menu-toggle,
  .ku-mobile-overlay__close {
    height: 58px;
    width: 58px;
  }

  .ku-mobile-overlay__panel {
    border-radius: 0;
    left: 12px;
    padding: 34px 24px 38px;
    right: 12px;
  }

  .ku-mobile-overlay__brand {
    flex-basis: 112px;
    max-width: 112px;
  }

  .ku-mobile-overlay__brand img {
    max-width: 112px;
  }
}

@media (max-width: 980px) {
  body.ku-menu-open #page-container #ku-header a.et_pb_menu__icon.et_pb_menu__cart-button:not(.ku-mobile-overlay__cart) {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}



/* ==================================================
   FOOTER
   Stopka oraz linki w obszarze footer.
================================================== */

#ku-footer .et_mobile_nav_menu {
  display: none !important;
}

#ku-footer .et_pb_menu__menu {
  display: block !important;
}

#ku-footer .et-menu-nav,
#ku-footer .et-menu-nav > ul {
  display: block !important;
}

#ku-footer .et-menu-nav .et-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
  gap: .12em;
}

#ku-footer .et-menu-nav .et-menu > li {
  display: block;
}

#ku-footer .et-menu-nav .et-menu > li > a {
  position: relative;
  display: inline-block;
  text-decoration: none !important;
}

#ku-footer .et-menu-nav .et-menu > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: .12em;
  height: 5px;
  background: #FFD190;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s ease;
}

#ku-footer .et-menu-nav .et-menu > li > a:hover::after {
  transform: scaleX(1);
}


/* ==================================================
   MODULES
   Globalne moduly frontu: back to top, przyciski, marquee, opinie, photo fade, timeline i Forminator.
================================================== */

/* Back to top - chmurka w tle i strzalka Divi. */
.et_pb_scroll_top.et-pb-icon {
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  height: 58px;
  overflow: hidden;
  padding: 0 !important;
  position: fixed !important;
  bottom: 40px !important;
  right: 20px !important;
  width: 58px;
  z-index: 99999;
}

.et_pb_scroll_top.et-pb-icon::before {
  background: url("/wp-content/uploads/2026/08/cloud.svg") center / contain no-repeat;
  content: "" !important;
  display: block !important;
  inset: 0;
  position: absolute;
  z-index: 0;
}

.et_pb_scroll_top.et-pb-icon::after {
  align-items: center;
  color: #000;
  content: "\21";
  display: flex;
  font-family: ETmodules !important;
  font-size: 22px;
  inset: 0;
  justify-content: center;
  line-height: 1;
  position: absolute;
  z-index: 1;
}

.et_pb_scroll_top.et-pb-icon.et-visible {
  display: block !important;
  opacity: 1 !important;
  transition: all .3s ease-in-out;
  visibility: visible !important;
}

@media (max-width: 1024px) {
  .et_pb_scroll_top.et-pb-icon {
    border-radius: 0;
    right: 14px;
    bottom: 20px !important;
  }
}



/* Buttons - glowne warianty przyciskow i animacja ikony. */

/* Woo Add to Cart - Divi module moze wystepowac poza klasyczna strona produktu. */
#page-container .et_pb_wc_add_to_cart .single_add_to_cart_button,
#page-container .et_pb_wc_add_to_cart button.button,
#page-container [data-loop-item] .single_add_to_cart_button.button,
#page-container button.single_add_to_cart_button.button,
#page-container a.add_to_cart_button.button,
#page-container .woocommerce a.add_to_cart_button.button,
#page-container .woocommerce-page a.add_to_cart_button.button {
  line-height: 1.2em !important;
  padding: .7em 1.5em !important;
  padding-left: 1.5em !important;
  padding-right: 1.5em !important;
  text-transform: lowercase !important;
}

#page-container .et_pb_wc_add_to_cart button.single_add_to_cart_button.button::after {
  margin-left: 0 !important;
  right: 1em !important;
}

a.et_pb_button.ku-button-default::after,
a.et_pb_button.ku-button-yellow::after {
  content: "" !important;
  font-size: 1em !important;
  position: absolute !important;
  top: 50%;
  right: .9em;
  width: 1em;
  height: 1em;
  color: transparent !important;
  line-height: 1 !important;
  transform-origin: center;
  transform: translateY(-50%) rotate(0deg);
}

a.et_pb_button.ku-button-default::after {
  background: url("/wp-content/uploads/2026/07/icon-button-orange.svg") center / contain no-repeat;
}

a.et_pb_button.ku-button-yellow::after {
  background: url("/wp-content/uploads/2026/07/icon-button-yellow.svg") center / contain no-repeat;
}

a.et_pb_button.ku-button-default:hover::after,
a.et_pb_button.ku-button-yellow:hover::after {
  animation: ku-button-icon-spin 1.2s ease-in-out;
}

@keyframes ku-button-icon-spin {
  0% {
    transform: translateY(-50%) rotate(0deg);
  }

  100% {
    transform: translateY(-50%) rotate(360deg);
  }
}



/* Marquee tekstowe - przesuwane naglowki/hasla. */

.ku-marquee {
  overflow: hidden;
}

.ku-marquee .et_pb_row {
  overflow-x: scroll !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: pan-x;
}

.ku-marquee .et_pb_row::-webkit-scrollbar {
  display: none;
}

.ku-marquee .om-marquee-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  width: max-content !important;
  will-change: transform;
  animation: ku-marquee-loop 45s linear infinite;
}

.ku-marquee .om-marquee-track > .ku-marquee-title {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  margin-bottom: 0 !important;
}

.ku-marquee .om-marquee-track > .ku-marquee-title .et_pb_heading_container,
.ku-marquee .om-marquee-track > .ku-marquee-title .et_pb_module_header {
  display: block;
  width: max-content;
  max-width: none;
  white-space: nowrap;
}

.ku-marquee .om-marquee-track.is-ready {
  animation-play-state: running !important;
}

@keyframes ku-marquee-loop {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(var(--ku-marquee-loop-distance, -50%), 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ku-marquee .om-marquee-track {
    animation: none;
    transform: none;
  }
}

body.et-fb .ku-marquee .et_pb_row {
  display: block !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

body.et-fb .ku-marquee .et_pb_row::-webkit-scrollbar {
  display: none;
}

body.et-fb .ku-marquee .om-marquee-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: max-content !important;
  animation: none !important;
  transform: none !important;
}

body.et-fb .ku-marquee .om-marquee-track > .ku-marquee-title {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin-bottom: 0 !important;
}

body.et-fb .ku-marquee .om-marquee-track > .ku-marquee-title .et_pb_heading_container,
body.et-fb .ku-marquee .om-marquee-track > .ku-marquee-title .et_pb_module_header {
  white-space: nowrap !important;
}



/* Opinie marquee - przesuwane grafiki opinii oraz tryb edycji w builderze. */

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) {
  overflow: hidden !important;
}

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3),
:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track,
:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track .et_pb_column {
  align-items: stretch;
}

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track {
  display: inline-flex !important;
  align-items: stretch !important;
  width: max-content !important;
  max-width: none !important;
  flex-wrap: nowrap !important;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3):not(.is-marquee-ready) .ku-opinie-track {
  animation: none !important;
  transform: translate3d(0, 0, 0) !important;
}

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3).is-marquee-preparing .ku-opinie-track {
  visibility: hidden;
}

:is(.ku-opinie1, .ku-opinie3).is-marquee-ready .ku-opinie-track {
  animation: kuOpinieMarquee var(--ku-opinie-duration, 40s) linear infinite !important;
  animation-play-state: running !important;
}

.ku-opinie2.is-marquee-ready .ku-opinie-track {
  animation: kuOpinieMarqueeReverse var(--ku-opinie-duration, 40s) linear infinite !important;
  animation-play-state: running !important;
}

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track > .et_pb_column {
  flex: 0 0 auto !important;
  width: 360px !important;
  max-width: 360px !important;
  margin-right: 20px !important;
  display: flex !important;
  align-self: stretch !important;
}

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track > .et_pb_column:last-child {
  margin-right: 0 !important;
}

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track .et_pb_image,
:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track .et_pb_image_wrap,
:is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track img {
  display: block;
  width: 100%;
}

:is(.ku-opinie1, .ku-opinie2, .ku-opinie3):hover.is-marquee-ready .ku-opinie-track,
:is(.ku-opinie1, .ku-opinie2, .ku-opinie3).is-touching .ku-opinie-track {
  animation-play-state: paused !important;
}

@keyframes kuOpinieMarquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(var(--ku-opinie-loop-distance, -50%), 0, 0);
  }
}

@keyframes kuOpinieMarqueeReverse {
  from {
    transform: translate3d(var(--ku-opinie-loop-distance, -50%), 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 980px) {
  :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) {
    -webkit-mask-image: none;
    mask-image: none;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    display: block !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x;
  }

  :is(.ku-opinie1, .ku-opinie2, .ku-opinie3)::-webkit-scrollbar {
    display: none;
  }

  :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 14px;
    width: max-content !important;
    will-change: transform;
  }

  :is(.ku-opinie1, .ku-opinie2, .ku-opinie3).is-marquee-preparing .ku-opinie-track {
    visibility: visible !important;
  }

  :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track > .et_pb_column {
    flex: 0 0 min(84vw, 300px) !important;
    width: min(84vw, 300px) !important;
    max-width: min(84vw, 300px) !important;
    margin-right: 0 !important;
  }
}

.et-fb :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) {
  display: block !important;
  overflow: visible !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.et-fb :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) > .et_pb_column {
  width: 100% !important;
  max-width: 100% !important;
}

.et-fb :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 18px;
  width: 100% !important;
  max-width: 100% !important;
  animation: none !important;
  transform: none !important;
}

.et-fb :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track > .et_pb_column {
  flex: 0 0 calc(33.333% - 12px) !important;
  width: calc(33.333% - 12px) !important;
  max-width: calc(33.333% - 12px) !important;
  margin-right: 0 !important;
}

.et-fb :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track [data-ku-opinie-clone="true"] {
  display: none !important;
}

@media (max-width: 980px) {
  .et-fb :is(.ku-opinie1, .ku-opinie2, .ku-opinie3) .ku-opinie-track > .et_pb_column {
    flex-basis: calc(50% - 9px) !important;
    width: calc(50% - 9px) !important;
    max-width: calc(50% - 9px) !important;
  }
}



/* Photo fade - nakladane zdjecia z automatyczna zmiana. */

.ku-photo-fade-wrap,
.ku-photo-fade-wrap2 {
  display: grid;
  position: relative;
}

.ku-photo-fade-wrap .ku-photo-fade,
.ku-photo-fade-wrap2 .ku-photo-fade {
  grid-area: 1 / 1;
  margin: 0 !important;
  opacity: 0;
  transition: none;
}

.ku-photo-fade-wrap.is-ready .ku-photo-fade {
  transition: opacity .45s ease-in-out;
}

.ku-photo-fade-wrap2.is-ready .ku-photo-fade {
  transition: opacity 1.4s ease-in-out;
}

.ku-photo-fade-wrap .ku-photo-fade .et_pb_image_wrap,
.ku-photo-fade-wrap .ku-photo-fade img,
.ku-photo-fade-wrap2 .ku-photo-fade .et_pb_image_wrap,
.ku-photo-fade-wrap2 .ku-photo-fade img {
  display: block;
  width: 100%;
}

.ku-photo-fade-wrap .ku-photo-fade:first-of-type,
.ku-photo-fade-wrap .ku-photo-fade.is-active,
.ku-photo-fade-wrap2 .ku-photo-fade:first-of-type,
.ku-photo-fade-wrap2 .ku-photo-fade.is-active {
  opacity: 1;
}

.ku-photo-fade-wrap.is-ready .ku-photo-fade:first-of-type:not(.is-active),
.ku-photo-fade-wrap2.is-ready .ku-photo-fade:first-of-type:not(.is-active) {
  opacity: 0;
}

.ku-photo-fade-wrap:not(.is-ready) .ku-photo-fade:not(:first-of-type),
.ku-photo-fade-wrap2:not(.is-ready) .ku-photo-fade:not(:first-of-type) {
  opacity: 0 !important;
}

body.et-fb .ku-photo-fade-wrap,
body.et-fb .ku-photo-fade-wrap2,
.et-fb .ku-photo-fade-wrap,
.et-fb .ku-photo-fade-wrap2,
.et-fb-root-ancestor .ku-photo-fade-wrap,
.et-fb-root-ancestor .ku-photo-fade-wrap2 {
  display: block !important;
}

body.et-fb .ku-photo-fade-wrap .ku-photo-fade,
body.et-fb .ku-photo-fade-wrap2 .ku-photo-fade,
.et-fb .ku-photo-fade-wrap .ku-photo-fade,
.et-fb .ku-photo-fade-wrap2 .ku-photo-fade,
.et-fb-root-ancestor .ku-photo-fade-wrap .ku-photo-fade,
.et-fb-root-ancestor .ku-photo-fade-wrap2 .ku-photo-fade {
  display: block !important;
  grid-area: auto !important;
  margin-bottom: 12px !important;
  opacity: 1 !important;
  position: relative !important;
  transform: none !important;
  visibility: visible !important;
}

body.et-fb .ku-photo-fade-wrap .ku-photo-fade:not(:first-of-type),
body.et-fb .ku-photo-fade-wrap2 .ku-photo-fade:not(:first-of-type),
.et-fb .ku-photo-fade-wrap .ku-photo-fade:not(:first-of-type),
.et-fb .ku-photo-fade-wrap2 .ku-photo-fade:not(:first-of-type),
.et-fb-root-ancestor .ku-photo-fade-wrap .ku-photo-fade:not(:first-of-type),
.et-fb-root-ancestor .ku-photo-fade-wrap2 .ku-photo-fade:not(:first-of-type) {
  opacity: 1 !important;
}



/* Timeline - pojawianie kart i aktywny marker podczas scrollowania. */

.ku-timeline .et_pb_timeline_card {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s ease, transform .55s ease;
}

.ku-timeline .et_pb_timeline_item.is-active .et_pb_timeline_card,
.ku-timeline .et_pb_timeline_item.is-visible .et_pb_timeline_card {
  opacity: 1;
  transform: translateY(0);
}

.ku-timeline .et_pb_timeline_marker {
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.ku-timeline .et_pb_timeline_item.is-active .et_pb_timeline_marker {
  background-color: #FFD190 !important;
  border-color: #FFD190 !important;
  transform: scale(1.08);
}

body.et-fb .ku-timeline .et_pb_timeline_card,
html.et-fb .ku-timeline .et_pb_timeline_card,
.et-fb .ku-timeline .et_pb_timeline_card {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .ku-timeline .et_pb_timeline_card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}



/* Formularz - pola i przycisk Forminatora. */

.forminator-ui.forminator-custom-form {
  background: transparent !important;
  padding: 0 !important;
}

.forminator-ui .forminator-row {
  margin-bottom: 26px !important;
}

.forminator-ui .forminator-row-last {
  margin-bottom: 0 !important;
}

.forminator-ui .forminator-field {
  margin-bottom: 0 !important;
}

.forminator-field input,
.forminator-field textarea,
span.select2-selection.select2-selection--single {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid rgba(255, 255, 255, .9) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #3B3128 !important;
  line-height: 1.2em !important;
  padding: 0 0 18px !important;
  width: 100% !important;
}

.forminator-field textarea {
  min-height: 88px !important;
  resize: vertical;
}

.forminator-field input::placeholder,
.forminator-field textarea::placeholder {
  color: #3B3128 !important;
  opacity: 1 !important;
}

#checkbox-1 {
  width: 100% !important;
}

#checkbox-1 label {
  align-items: flex-start !important;
  gap: 14px;
}

#checkbox-1 .forminator-checkbox-box {
  background: #ffffff !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex: 0 0 12px;
  height: 12px !important;
  margin-top: .08em !important;
  width: 12px !important;
}

span.forminator-checkbox-label {
  color: #3B3128 !important;
  line-height: 1em !important;
  text-align: left !important;
  width: 100%;
}

button.forminator-button.forminator-button-submit {
  background: #FD6F43 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #ffffff !important;
  display: block !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin: 28px 0 0 !important;
  padding: 1em 3em !important;
  position: relative;
  text-transform: lowercase;
  width: 100% !important;
}

button.forminator-button.forminator-button-submit::after {
  content: "" !important;
  background: url("/wp-content/uploads/2026/07/icon-button-orange.svg") center / contain no-repeat;
  height: 1em;
  opacity: 0;
  position: absolute;
  right: 2em;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity .2s ease;
  width: 1em;
}

button.forminator-button.forminator-button-submit:hover {
  background: #FFD190 !important;
  box-shadow: none !important;
  color: #3B3128 !important;
}

button.forminator-button.forminator-button-submit:hover::after {
  opacity: 1;
}
/* Style produktu i listingu przeniesione do css/product.css. */
/* Style CookieYes przeniesione do css/cookieyes.css. */
