/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1779360329
Updated: 2026-05-21 10:45:29

*/

/* ========================================
   START VELO — TOP MENU / DESKTOP + MOBILE
   Klasa w Elementorze: .menu-nawigacyjne
   ======================================== */

/* DESKTOP */

@media (min-width: 1025px) {

  .menu-nawigacyjne {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .menu-nawigacyjne .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
  }

  /*
    HFE ma strukturę:
    .hfe-nav-menu-layout  -> wrapper
    nav                   -> nawigacja
    ul.hfe-nav-menu       -> właściwa lista
  */

  .menu-nawigacyjne .hfe-nav-menu-layout {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
  }

  /* krytyczne: hamburger nie może wpływać na desktop */
  .menu-nawigacyjne .hfe-nav-menu__toggle,
  .menu-nawigacyjne .hfe-menu-toggle {
    display: none !important;
    visibility: hidden !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    pointer-events: none !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal {
    display: flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    line-height: 1 !important;
  }

  /* właściwa lista UL — tylko ten poziom */
  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 1.35rem !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item {
    display: flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item > .hfe-menu-item {
    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 40px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 0 !important;
    background: transparent !important;

    color: #231f20 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    transform: none !important;

    transition:
      color 0.2s ease,
      opacity 0.2s ease !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item > .hfe-menu-item::after {
    content: "" !important;

    position: absolute !important;

    left: 0 !important;
    right: 0 !important;
    bottom: 0.25rem !important;

    height: 2px !important;
    border-radius: 999px !important;

    background: #6caf48 !important;

    transform: scaleX(0) !important;
    transform-origin: left center !important;
    opacity: 0 !important;

    transition:
      transform 0.22s ease,
      opacity 0.22s ease !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item > .hfe-menu-item:hover,
  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item > .hfe-menu-item:focus {
    color: #231f20 !important;
    background: transparent !important;
    opacity: 0.92 !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item > .hfe-menu-item:hover::after,
  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item > .hfe-menu-item:focus::after {
    transform: scaleX(1) !important;
    opacity: 1 !important;
  }

  .menu-nawigacyjne .current-menu-item > .hfe-menu-item,
  .menu-nawigacyjne .current_page_item > .hfe-menu-item {
    color: #231f20 !important;
    background: transparent !important;
  }

  .menu-nawigacyjne .current-menu-item > .hfe-menu-item::after,
  .menu-nawigacyjne .current_page_item > .hfe-menu-item::after {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }
}

/* MOBILE */

@media (max-width: 1024px) {

  .menu-nawigacyjne {
    position: relative !important;
    transform: none !important;
  }

  .menu-nawigacyjne .hfe-nav-menu-layout {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .menu-nawigacyjne .hfe-nav-menu__toggle,
  .menu-nawigacyjne .hfe-menu-toggle {
    width: 44px !important;
    height: 44px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 999px !important;

    background: #ffffff !important;
    border: 1px solid rgba(35,31,32,0.08) !important;

    color: #231f20 !important;

    box-shadow:
      0 10px 26px rgba(35,31,32,0.08),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;

    transition:
      transform 0.2s ease,
      box-shadow 0.2s ease,
      border-color 0.2s ease !important;
  }

  .menu-nawigacyjne .hfe-nav-menu__toggle:hover,
  .menu-nawigacyjne .hfe-menu-toggle:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(108,175,72,0.22) !important;

    box-shadow:
      0 14px 32px rgba(35,31,32,0.11),
      inset 0 1px 0 rgba(255,255,255,0.95) !important;
  }

  .menu-nawigacyjne .hfe-nav-menu-icon svg,
  .menu-nawigacyjne .hfe-menu-toggle svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal,
  .menu-nawigacyjne nav.hfe-nav-menu__layout-vertical,
  .menu-nawigacyjne .hfe-dropdown {
    width: min(92vw, 360px) !important;
    max-width: calc(100vw - 24px) !important;

    right: 0 !important;
    left: auto !important;

    margin-top: 0.85rem !important;
    padding: 0.65rem !important;

    border-radius: 20px !important;

    background: rgba(255,255,255,0.98) !important;
    border: 1px solid rgba(35,31,32,0.08) !important;

    box-shadow:
      0 22px 52px rgba(35,31,32,0.14),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;

    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu,
  .menu-nawigacyjne nav.hfe-nav-menu__layout-vertical > ul.hfe-nav-menu {
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item,
  .menu-nawigacyjne nav.hfe-nav-menu__layout-vertical > ul.hfe-nav-menu > li.menu-item {
    width: 100% !important;
    border-bottom: 1px solid rgba(35,31,32,0.06) !important;
  }

  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu > li.menu-item:last-child,
  .menu-nawigacyjne nav.hfe-nav-menu__layout-vertical > ul.hfe-nav-menu > li.menu-item:last-child {
    border-bottom: none !important;
  }

  .menu-nawigacyjne .hfe-menu-item {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;

    padding: 0.9rem 1rem !important;
    border-radius: 14px !important;

    background: transparent !important;
    color: #231f20 !important;

    text-decoration: none !important;

    transition:
      background 0.2s ease,
      color 0.2s ease !important;
  }

  .menu-nawigacyjne .hfe-menu-item::after {
    display: none !important;
  }

  .menu-nawigacyjne .hfe-menu-item:hover,
  .menu-nawigacyjne .hfe-menu-item:focus {
    transform: none !important;
    background: rgba(108,175,72,0.08) !important;
    color: #231f20 !important;
  }

  .menu-nawigacyjne .current-menu-item > .hfe-menu-item,
  .menu-nawigacyjne .current_page_item > .hfe-menu-item {
    background: rgba(108,175,72,0.10) !important;
    color: #231f20 !important;
  }
}

/* SMALL MOBILE */

@media (max-width: 767px) {
  .menu-nawigacyjne nav.hfe-nav-menu__layout-horizontal,
  .menu-nawigacyjne nav.hfe-nav-menu__layout-vertical,
  .menu-nawigacyjne .hfe-dropdown {
    width: calc(100vw - 24px) !important;
    margin-top: 0.7rem !important;
    padding: 0.55rem !important;
    border-radius: 18px !important;
  }

  .menu-nawigacyjne .hfe-menu-item {
    padding: 0.85rem 0.9rem !important;
    border-radius: 12px !important;
  }
}
/* ========================================
   START VELO — BUTTON PRIMARY
   Klasa w Elementorze: .button-ciemny
   ======================================== */

.button-ciemny .elementor-button {
  position: relative !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.92rem 1.45rem !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, #6caf48 0%, #5b9f3c 100%) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow:
    0 12px 28px rgba(108, 175, 72, 0.24),
    inset 0 1px 0 rgba(255,255,255,0.14) !important;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease !important;
}

.button-ciemny .elementor-button:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #78be54 0%, #6caf48 100%) !important;
  box-shadow:
    0 18px 38px rgba(108, 175, 72, 0.34),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

/* ========================================
   START VELO — BUTTON SECONDARY
   Klasa w Elementorze: .button-jasny
   ======================================== */

.button-jasny .elementor-button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.92rem 1.45rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.72) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(35,31,32,0.10) !important;
  color: #231f20 !important;
  text-decoration: none !important;
  box-shadow:
    0 10px 24px rgba(35,31,32,0.06),
    inset 0 1px 0 rgba(255,255,255,0.72) !important;
  transition:
    transform 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease !important;
}

.button-jasny .elementor-button:hover {
  transform: translateY(-2px) !important;
  background: #ffffff !important;
  border-color: rgba(108,175,72,0.24) !important;
  box-shadow:
    0 16px 34px rgba(35,31,32,0.10),
    inset 0 1px 0 rgba(255,255,255,0.82) !important;
}

/* FIX — underline */
.button-ciemny a,
.button-jasny a,
.button-ciemny .elementor-button,
.button-jasny .elementor-button {
  text-decoration: none !important;
}

/* MOBILE — buttons */
@media (max-width: 767px) {
  .button-ciemny .elementor-button,
  .button-jasny .elementor-button {
    width: 100% !important;
    padding: 0.88rem 1.2rem !important;
  }
}



/* ========================================
   START VELO — LISTA
   ======================================== */

.lista ul {
  margin-left: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

.lista li,
.lista .elementor-icon-list-item {
  position: relative !important;
  padding-left: 1.35rem !important;
  margin-bottom: 0.72rem !important;
}

.lista li::before,
.lista .elementor-icon-list-item::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.72em !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: #6caf48 !important;
  box-shadow: 0 0 0 4px rgba(108, 175, 72, 0.12) !important;
}

.lista .elementor-icon-list-icon {
  display: none !important;
}

.lista .elementor-icon-list-text {
  line-height: inherit !important;
}



/* ========================================
   START VELO — PLAKIETKA / GLOSSY EYEBROW
   ======================================== */

.plakietka {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: max-content !important;
}

.plakietka .elementor-heading-title,
.plakietka p,
.plakietka span {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin: 0 !important;
  padding: 0.5rem 0.95rem !important;
  border-radius: 999px !important;

  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(255,255,255,0.62) !important;

  color: inherit !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  box-shadow:
    0 12px 30px rgba(0,0,0,0.16),
    inset 0 1px 0 rgba(255,255,255,0.95),
    inset 0 -1px 0 rgba(35,31,32,0.06) !important;
}

.plakietka .elementor-heading-title::before,
.plakietka p::before,
.plakietka span::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  flex: 0 0 7px !important;
  border-radius: 999px !important;
  background: #6caf48 !important;
  box-shadow: 0 0 0 4px rgba(108,175,72,0.16) !important;
}

/* ciemne tło */

.tlo-ciemne .plakietka .elementor-heading-title,
.tlo-ciemne .plakietka p,
.tlo-ciemne .plakietka span,
.pp-footer .plakietka .elementor-heading-title,
.pp-footer .plakietka p,
.pp-footer .plakietka span {
  background: rgba(255,255,255,0.98) !important;
  border-color: rgba(255,255,255,0.72) !important;
  color: #231f20 !important;

  box-shadow:
    0 14px 34px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 -1px 0 rgba(35,31,32,0.08) !important;
}

/* ========================================
   START VELO — HIGHLIGHT
   ======================================== */

.highlight,
.elementor-heading-title .highlight,
p .highlight {
  position: relative !important;
  display: inline !important;
  color: #6caf48 !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  z-index: 1 !important;
}

.highlight::after,
.elementor-heading-title .highlight::after,
p .highlight::after {
  content: "" !important;
  position: absolute !important;
  left: 0.04em !important;
  right: 0.04em !important;
  bottom: 0.07em !important;
  height: 0.14em !important;
  border-radius: 999px !important;
  background: rgba(108,175,72,0.22) !important;
  z-index: -1 !important;
}





/* ========================================
   START VELO — IMAGE
   ======================================== */

.image {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

.image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;

  border-radius: 22px !important;

  box-shadow:
    0 18px 42px rgba(35,31,32,0.10),
    0 4px 12px rgba(35,31,32,0.06) !important;

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease !important;
}

/* subtelny hover */
.image:hover img {
  transform: translateY(-3px) scale(1.01) !important;

  box-shadow:
    0 26px 56px rgba(35,31,32,0.14),
    0 8px 18px rgba(35,31,32,0.08) !important;
}

/* lekki glossy edge */
.image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;

  border-radius: 22px !important;

  pointer-events: none !important;

  border: 1px solid rgba(255,255,255,0.34) !important;
}

/* MOBILE */
@media (max-width: 767px) {

  .image,
  .image img,
  .image::after {
    border-radius: 18px !important;
  }

  .image img {
    box-shadow:
      0 14px 30px rgba(35,31,32,0.10),
      0 4px 10px rgba(35,31,32,0.05) !important;
  }

}

/* ========================================
   START VELO — FAQ ACCORDION
   Klasa w Elementorze: .faq-accordion
   ======================================== */

.faq-accordion .e-n-accordion {
  display: grid !important;
  gap: 14px !important;
}

.faq-accordion .e-n-accordion-item {
  overflow: hidden !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(35,31,32,0.08) !important;
  box-shadow:
    0 12px 30px rgba(35,31,32,0.06),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    border-color 0.24s ease,
    background 0.24s ease !important;
}

.faq-accordion .e-n-accordion-item:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(108,175,72,0.24) !important;
  box-shadow:
    0 18px 42px rgba(35,31,32,0.09),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.faq-accordion .e-n-accordion-item[open] {
  background: #ffffff !important;
  border-color: rgba(108,175,72,0.34) !important;
  box-shadow:
    0 20px 46px rgba(35,31,32,0.10),
    0 0 0 1px rgba(108,175,72,0.06) !important;
}

.faq-accordion .e-n-accordion-item-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 1.15rem 1.3rem !important;
  cursor: pointer !important;
  background: transparent !important;
  list-style: none !important;
}

.faq-accordion .e-n-accordion-item-title::-webkit-details-marker {
  display: none !important;
}

.faq-accordion .e-n-accordion-item-title-text {
  color: #231f20 !important;
  line-height: 1.35 !important;
}

.faq-accordion .e-n-accordion-item-title-icon {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 999px !important;
  background: rgba(108,175,72,0.10) !important;
  transition:
    transform 0.24s ease,
    background 0.24s ease,
    box-shadow 0.24s ease !important;
}

.faq-accordion .e-n-accordion-item-title-icon svg {
  width: 0.85rem !important;
  height: 0.85rem !important;
  fill: #6caf48 !important;
}

.faq-accordion .e-n-accordion-item:hover .e-n-accordion-item-title-icon {
  background: rgba(108,175,72,0.16) !important;
}

.faq-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
  transform: rotate(180deg) !important;
  background: #6caf48 !important;
  box-shadow: 0 10px 22px rgba(108,175,72,0.24) !important;
}

.faq-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg {
  fill: #ffffff !important;
}

.faq-accordion .e-n-accordion-item > [role="region"] {
  padding: 0 1.3rem 1.25rem !important;
  border-top: 1px solid rgba(35,31,32,0.06) !important;
  background: transparent !important;
}

.faq-accordion .e-n-accordion-item > [role="region"] p {
  margin-bottom: 1rem !important;
}

.faq-accordion .e-n-accordion-item > [role="region"] p:last-child {
  margin-bottom: 0 !important;
}

.faq-accordion .e-n-accordion-item > [role="region"] strong,
.faq-accordion .e-n-accordion-item > [role="region"] b {
  color: #231f20 !important;
}

/* MOBILE */
@media (max-width: 767px) {
  .faq-accordion .e-n-accordion {
    gap: 10px !important;
  }

  .faq-accordion .e-n-accordion-item {
    border-radius: 15px !important;
  }

  .faq-accordion .e-n-accordion-item-title {
    padding: 1rem 1.05rem !important;
    gap: 14px !important;
  }

  .faq-accordion .e-n-accordion-item-title-icon {
    width: 1.8rem !important;
    height: 1.8rem !important;
  }

  .faq-accordion .e-n-accordion-item > [role="region"] {
    padding: 0 1.05rem 1.1rem !important;
  }
}

/* ========================================
   START VELO — BOX
   ======================================== */

.box {
  position: relative !important;
  height: 100% !important;

  padding: 1.5rem !important;

  border-radius: 24px !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.96) 0%,
      rgba(255,255,255,0.90) 100%
    ) !important;

  border: 1px solid rgba(35,31,32,0.08) !important;

  box-shadow:
    0 18px 42px rgba(35,31,32,0.06),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;

  overflow: hidden !important;

  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease !important;
}

.box:hover {
  transform: translateY(-4px) !important;

  border-color: rgba(108,175,72,0.18) !important;

  box-shadow:
    0 28px 60px rgba(35,31,32,0.10),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

/* glossy edge */
.box::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;

  border-radius: 24px !important;

  pointer-events: none !important;

  border: 1px solid rgba(255,255,255,0.34) !important;
}

/* ========================================
   START VELO — BOX WYRÓŻNIONY
   Badge centered + green border
   ======================================== */

.box.box-wyrozniony,
.box-wyrozniony {
  position: relative !important;
  border-color: rgba(108,175,72,0.48) !important;
  box-shadow:
    0 22px 52px rgba(35,31,32,0.08),
    0 10px 28px rgba(108,175,72,0.08),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

/* plakietka na górze, wyśrodkowana */
.box.box-wyrozniony::before,
.box-wyrozniony::before {
  content: "Najpopularniejsza" !important;

  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;

  width: auto !important;
  height: auto !important;

  padding: 0.42rem 0.95rem !important;
  border-radius: 0 0 12px 12px !important;

  background: #6caf48 !important;
  border: 1px solid rgba(108,175,72,0.52) !important;
  border-top: none !important;

  color: #ffffff !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;

  box-shadow:
    0 10px 22px rgba(108,175,72,0.18),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;

  z-index: 5 !important;
}

/* hover bez zmiany kształtu plakietki */
.box.box-wyrozniony:hover::before,
.box-wyrozniony:hover::before {
  opacity: 1 !important;
}

/* usuwa wcześniejsze ozdobne overlaye, jeśli były */
.box-wyrozniony::after {
  content: none !important;
}

@media (max-width: 767px) {
  .box.box-wyrozniony::before,
  .box-wyrozniony::before {
    padding: 0.36rem 0.78rem !important;
    border-radius: 0 0 10px 10px !important;
    letter-spacing: 0.045em !important;
  }
}


/* ========================================
   START VELO — FOOTER
   ======================================== */

.pp-footer {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(108,175,72,0.18), transparent 32%),
    linear-gradient(135deg, #231f20 0%, #171414 100%) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}

.pp-footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, transparent, rgba(108,175,72,0.10), transparent) !important;
  opacity: 0.45 !important;
}

.pp-footer img {
  max-width: 150px !important;
  height: auto !important;
  filter: brightness(0) invert(1) !important;
}

.pp-footer p {
  color: rgba(255,255,255,0.72) !important;
}

.pp-footer .elementor-heading-title {
  color: #ffffff !important;
}

/* FOOTER MENU */

.pp-footer .hfe-nav-menu {
  display: grid !important;
  gap: 0.55rem !important;
}

.pp-footer .hfe-menu-item {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 0.15rem 0 !important;
  color: rgba(255,255,255,0.72) !important;
  text-decoration: none !important;
  transition:
    color 0.2s ease,
    transform 0.2s ease !important;
}

.pp-footer .hfe-menu-item:hover {
  color: #6caf48 !important;
  transform: translateX(3px) !important;
}

/* SOCIALS */

.footer-socials .elementor-social-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10) !important;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease !important;
}

.footer-socials .elementor-social-icon:hover {
  background: #6caf48 !important;
  border-color: #6caf48 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

.footer-socials .elementor-social-icon svg {
  fill: currentColor !important;
}

/* CONTACT LIST */

.pp-footer-contact-list .elementor-icon-list-items {
  display: grid !important;
  gap: 0.65rem !important;
}

.pp-footer-contact-list .elementor-icon-list-item,
.pp-footer-contact-list .elementor-icon-list-item a {
  color: rgba(255,255,255,0.72) !important;
  text-decoration: none !important;
}

.pp-footer-contact-list .elementor-icon-list-item a:hover,
.pp-footer-contact-list .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #6caf48 !important;
}

/* FOOTER BUTTON */

.pp-footer .button-jasny .elementor-button {
  background: #ffffff !important;
  color: #231f20 !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.22) !important;
}

.pp-footer .button-jasny .elementor-button:hover {
  background: #6caf48 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(108,175,72,0.28) !important;
}

/* CREDIT */

.pp-footer-credit p,
.pp-footer-credit b,
.pp-footer-credit strong {
  color: rgba(255,255,255,0.54) !important;
}

.pp-footer-credit strong {
  color: #6caf48 !important;
}

/* BACK TO TOP */

.pp-back-to-top {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 9999 !important;
  width: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #231f20 !important;
  border: 1px solid rgba(108,175,72,0.28) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.28) !important;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease !important;
}

.pp-back-to-top:hover {
  transform: translateY(-3px) !important;
  background: #6caf48 !important;
  color: #ffffff !important;
}


/* ========================================
   START VELO — FLOATING BOOKING BADGE
   ======================================== */

.tf-call-badge {
  position: fixed !important;

  right: 18px !important;
  bottom: 76px !important;

  z-index: 9999 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 0.85rem !important;

  padding: 0.82rem 1rem !important;

  border-radius: 999px !important;

  background:
    linear-gradient(
      135deg,
      #6caf48 0%,
      #5b9f3c 100%
    ) !important;

  border: 1px solid rgba(255,255,255,0.18) !important;

  text-decoration: none !important;

  box-shadow:
    0 18px 42px rgba(108,175,72,0.34),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;

  overflow: hidden !important;

  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    filter 0.24s ease !important;
}

.tf-call-badge:hover {
  transform: translateY(-3px) !important;

  box-shadow:
    0 26px 56px rgba(108,175,72,0.42),
    inset 0 1px 0 rgba(255,255,255,0.22) !important;

  filter: brightness(1.03) !important;
}

/* subtle glossy glow */

.tf-call-badge::before {
  content: "" !important;

  position: absolute !important;

  width: 120px !important;
  height: 120px !important;

  top: -50px !important;
  right: -40px !important;

  border-radius: 999px !important;

  background:
    radial-gradient(
      rgba(255,255,255,0.24) 0%,
      rgba(255,255,255,0) 72%
    ) !important;

  pointer-events: none !important;
}

/* ========================================
   ICON
   ======================================== */

.tf-call-badge__icon {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 42px !important;
  height: 42px !important;

  flex: 0 0 42px !important;

  border-radius: 999px !important;

  background: rgba(255,255,255,0.16) !important;

  border: 1px solid rgba(255,255,255,0.16) !important;

  color: #ffffff !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.18) !important;

  backdrop-filter: blur(8px) !important;
}

/* pulse */

.tf-call-badge__icon::after {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  border-radius: inherit !important;

  border: 1px solid rgba(255,255,255,0.38) !important;

  animation: startVeloPulse 2.4s ease-in-out infinite !important;
}

@keyframes startVeloPulse {

  0% {
    transform: scale(1);
    opacity: 0.55;
  }

  70% {
    transform: scale(1.45);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 0;
  }

}

/* ========================================
   CONTENT
   ======================================== */

.tf-call-badge__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.18rem !important;
}

.tf-call-badge__label {
  color: #ffffff !important;

  line-height: 1 !important;

  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;

  white-space: nowrap !important;
}

.tf-call-badge__sub {
  color: rgba(255,255,255,0.82) !important;

  line-height: 1 !important;

  white-space: nowrap !important;
}

/* ========================================
   MOBILE
   ======================================== */

@media (max-width: 767px) {

  .tf-call-badge {
    right: 12px !important;
    bottom: 68px !important;

    padding: 0.72rem 0.82rem !important;
    gap: 0.72rem !important;
  }

  .tf-call-badge__icon {
    width: 38px !important;
    height: 38px !important;

    flex: 0 0 38px !important;
  }

  .tf-call-badge__sub {
    display: none !important;
  }

}

/* MOBILE */

@media (max-width: 767px) {
  .pp-footer img {
    max-width: 130px !important;
  }



  .pp-back-to-top {
    right: 12px !important;
    bottom: 14px !important;
    width: 40px !important;
    height: 40px !important;
  }
}

/* ========================================
   START VELO — TESTIMONIALS
   ======================================== */

/* karta opinii */

.opinia,
.testimonial-card {
  position: relative !important;

  height: 100% !important;

  padding: 1.5rem !important;

  border-radius: 24px !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.98) 0%,
      rgba(255,255,255,0.94) 100%
    ) !important;

  border: 1px solid rgba(35,31,32,0.08) !important;

  box-shadow:
    0 18px 42px rgba(35,31,32,0.07),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;

  overflow: hidden !important;

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease !important;
}

.opinia:hover,
.testimonial-card:hover {
  transform: translateY(-4px) !important;

  border-color: rgba(108,175,72,0.20) !important;

  box-shadow:
    0 28px 60px rgba(35,31,32,0.10),
    0 10px 26px rgba(108,175,72,0.06),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

/* quote bar */

.zloty-pasek-opinia {
  position: relative !important;

  padding-left: 1rem !important;
}

.zloty-pasek-opinia::before {
  content: "" !important;

  position: absolute !important;

  left: 0 !important;
  top: 0.22em !important;
  bottom: 0.22em !important;

  width: 1.5px !important;

  border-radius: 999px !important;

  background:
    linear-gradient(
      180deg,
      rgba(108,175,72,0.92) 0%,
      rgba(108,175,72,0.56) 100%
    ) !important;

  opacity: 0.82 !important;

  transition: opacity 0.24s ease !important;
}

.opinia:hover .zloty-pasek-opinia::before,
.testimonial-card:hover .zloty-pasek-opinia::before {
  opacity: 1 !important;
}

/* tekst opinii */

.opinia .elementor-widget-text-editor p,
.testimonial-card .elementor-widget-text-editor p {
  margin-bottom: 0 !important;
}

/* gwiazdki */

.opinia .elementor-star-rating,
.testimonial-card .elementor-star-rating,
.opinia .stars,
.testimonial-card .stars {
  color: #6caf48 !important;
}

/* avatar */

.opinia img,
.testimonial-card img {
  border-radius: 999px !important;
}

/* autor */

.opinia .testimonial-author,
.testimonial-card .testimonial-author {
  opacity: 0.82 !important;
}

/* MOBILE */

@media (max-width: 767px) {

  .opinia,
  .testimonial-card {
    padding: 1.2rem !important;
    border-radius: 20px !important;
  }

  .zloty-pasek-opinia {
    padding-left: 0.85rem !important;
  }

  .zloty-pasek-opinia::before {
    width: 1px !important;
  }

}


/* ========================================
   START VELO — HERO VIDEO / LOCAL MP4
   ======================================== */

.hero-video {
  position: relative !important;
  width: 100% !important;
}

.hero-video__frame {
  position: relative !important;

  overflow: hidden !important;

  border-radius: 26px !important;

  aspect-ratio: 1 / 1 !important;

  background: #231f20 !important;

  box-shadow:
    0 28px 70px rgba(35,31,32,0.16),
    0 8px 22px rgba(35,31,32,0.08) !important;
}

/* lokalny film MP4 */

.hero-video__media {
  position: absolute !important;
  inset: 0 !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;

  border: 0 !important;

  transform: scale(1.01) !important;
}

/* glossy overlay */

.hero-video__overlay {
  position: absolute !important;
  inset: 0 !important;

  pointer-events: none !important;

  border-radius: inherit !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent 36%),
    linear-gradient(0deg, rgba(35,31,32,0.14), transparent 42%) !important;

  border: 1px solid rgba(255,255,255,0.34) !important;
}

/* rating badge */

.hero-video__rating {
  position: absolute !important;
  left: 1rem !important;
  bottom: 1rem !important;
  z-index: 3 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 0.72rem !important;

  padding: 0.68rem 0.88rem !important;

  border-radius: 999px !important;

  background: rgba(255,255,255,0.90) !important;
  backdrop-filter: blur(12px) !important;

  border: 1px solid rgba(255,255,255,0.64) !important;

  box-shadow:
    0 16px 38px rgba(35,31,32,0.18),
    inset 0 1px 0 rgba(255,255,255,0.88) !important;
}

.hero-video__stars {
  color: #6caf48 !important;

  line-height: 1 !important;
  letter-spacing: 0.04em !important;

  white-space: nowrap !important;
}

.hero-video__rating-text {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0.38rem !important;

  line-height: 1 !important;
}

.hero-video__rating-text strong {
  color: #6caf48 !important;

  line-height: 1 !important;
  white-space: nowrap !important;
}

.hero-video__rating-text span {
  color: #231f20 !important;

  line-height: 1 !important;
  white-space: nowrap !important;
}

/* MOBILE */

@media (max-width: 767px) {
  .hero-video__frame {
    border-radius: 20px !important;
  }

  .hero-video__rating {
    left: 0.75rem !important;
    bottom: 0.75rem !important;

    gap: 0.55rem !important;
    padding: 0.58rem 0.72rem !important;
  }

  .hero-video__rating-text {
    gap: 0.28rem !important;
  }
}

/* ========================================
   START VELO — DARK PREMIUM SECTION
   ======================================== */

.tlo-ciemne {
  position: relative !important;
  overflow: hidden !important;

  background:
    radial-gradient(
      circle at 12% 10%,
      rgba(108,175,72,0.14),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #231f20 0%,
      #171414 100%
    ) !important;
}

/* subtle glossy light */

.tlo-ciemne::before {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  pointer-events: none !important;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(108,175,72,0.06),
      transparent
    ) !important;

  opacity: 0.5 !important;
}

/* optional white text helpers */

.tlo-ciemne .elementor-heading-title {
  color: #ffffff !important;
}

.tlo-ciemne p,
.tlo-ciemne li {
  color: rgba(255,255,255,0.74) !important;
}

/* ========================================
   START VELO — LIGHT PREMIUM SECTION
   Klasa: .jasne-tlo
   ======================================== */

.jasne-tlo {
  position: relative !important;
  overflow: hidden !important;

  background:
    radial-gradient(
      circle at 12% 10%,
      rgba(108,175,72,0.08),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #f8f8f6 0%,
      #f2f3ef 100%
    ) !important;
}

/* subtle glossy overlay */

.jasne-tlo::before {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  pointer-events: none !important;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,0.42),
      transparent
    ) !important;

  opacity: 0.6 !important;
}

/* optional soft depth */

.jasne-tlo::after {
  content: "" !important;

  position: absolute !important;

  width: 420px !important;
  height: 420px !important;

  right: -180px !important;
  bottom: -180px !important;

  border-radius: 999px !important;

  background:
    radial-gradient(
      rgba(108,175,72,0.05) 0%,
      rgba(108,175,72,0) 72%
    ) !important;

  pointer-events: none !important;
}

/* ========================================
   START VELO — ROWER TAG
   Klasa: .rower
   ======================================== */

.rower {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;

  width: fit-content !important;
  max-width: max-content !important;

  padding: 0.42rem 0.78rem !important;

  border-radius: 999px !important;

  background: #FAFFF8 !important;

  border: 1px solid rgba(108,175,72,0.12) !important;

  box-shadow:
    0 8px 22px rgba(35,31,32,0.04),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;

  overflow: hidden !important;
}

/* subtelna zielona kropka */

.rower::before {
  content: "" !important;

  width: 7px !important;
  height: 7px !important;

  flex: 0 0 7px !important;

  border-radius: 999px !important;

  background: #6caf48 !important;

  box-shadow:
    0 0 0 4px rgba(108,175,72,0.10) !important;
}

/* tekst */

.rower p,
.rower span,
.rower .elementor-heading-title {
  margin: 0 !important;
  line-height: 1 !important;
}

/* MOBILE */

@media (max-width: 767px) {

  .rower {
    padding: 0.38rem 0.7rem !important;
  }

}


/* ========================================
   START VELO — TIRE TEXTURE DARK
   Klasa: .tlo-opona
   ======================================== */

.tlo-opona {
  position: relative !important;
  overflow: hidden !important;

  background: #1c1919 !important;
}

/* texture */

.tlo-opona::before {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  pointer-events: none !important;

  opacity: 0.08 !important;

  background-image:
    repeating-linear-gradient(
      135deg,
      rgba(255,255,255,0.045) 0px,
      rgba(255,255,255,0.045) 2px,
      transparent 2px,
      transparent 14px
    ),

    repeating-linear-gradient(
      -135deg,
      rgba(255,255,255,0.03) 0px,
      rgba(255,255,255,0.03) 2px,
      transparent 2px,
      transparent 14px
    ) !important;

  background-size: 22px 22px !important;
}

/* subtle green glow */

.tlo-opona::after {
  content: "" !important;

  position: absolute !important;

  width: 420px !important;
  height: 420px !important;

  right: -180px !important;
  top: -180px !important;

  border-radius: 999px !important;

  background:
    radial-gradient(
      rgba(108,175,72,0.10) 0%,
      rgba(108,175,72,0) 72%
    ) !important;

  pointer-events: none !important;
}

/* optional text helpers */

.tlo-opona .elementor-heading-title {
  color: #ffffff !important;
}

.tlo-opona p,
.tlo-opona li {
  color: rgba(255,255,255,0.74) !important;
}



/* ========================================
   START VELO — PLAKIETKA / DARK-SAFE EYEBROW
   ======================================== */

.plakietka {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: max-content !important;
}

.plakietka .elementor-heading-title,
.plakietka p,
.plakietka span {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;

  margin: 0 !important;
  padding: 0.48rem 0.9rem !important;

  border-radius: 999px !important;

  background: rgba(108,175,72,0.10) !important;
  border: 1px solid rgba(108,175,72,0.22) !important;

  color: inherit !important;

  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10) !important;

  backdrop-filter: blur(8px) !important;
}

.plakietka .elementor-heading-title::before,
.plakietka p::before,
.plakietka span::before {
  content: "" !important;

  width: 7px !important;
  height: 7px !important;
  flex: 0 0 7px !important;

  border-radius: 999px !important;

  background: #6caf48 !important;

  box-shadow:
    0 0 0 4px rgba(108,175,72,0.14) !important;
}

/* wariant na ciemnych tłach */

.tlo-ciemne .plakietka .elementor-heading-title,
.tlo-ciemne .plakietka p,
.tlo-ciemne .plakietka span,
.tlo-opona .plakietka .elementor-heading-title,
.tlo-opona .plakietka p,
.tlo-opona .plakietka span,
.ciemne-tekstura .plakietka .elementor-heading-title,
.ciemne-tekstura .plakietka p,
.ciemne-tekstura .plakietka span,
.pp-footer .plakietka .elementor-heading-title,
.pp-footer .plakietka p,
.pp-footer .plakietka span {
  background: rgba(108,175,72,0.14) !important;
  border-color: rgba(108,175,72,0.34) !important;
  color: rgba(255,255,255,0.92) !important;

  box-shadow:
    0 10px 26px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

.elementor a {
  text-decoration: none !important;
}

.elementor a:hover {
  text-decoration: none !important;
}

/* ========================================
   START VELO — EXTRA INFO
   Klasa: .extra-info
   ======================================== */

.extra-info {
  position: relative !important;

  display: flex !important;
  align-items: flex-start !important;
  gap: 0.9rem !important;

  padding: 1.15rem 1.25rem !important;

  border-radius: 20px !important;

  background: rgba(255,255,255,0.92) !important;

  border: 1px solid rgba(35,31,32,0.08) !important;

  box-shadow:
    0 18px 42px rgba(35,31,32,0.06),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;

  overflow: hidden !important;
}

/* ikona */

.extra-info::before {
  content: "💡" !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 38px !important;
  height: 38px !important;

  flex: 0 0 38px !important;

  border-radius: 999px !important;

  background: rgba(108,175,72,0.10) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.7) !important;
}

/* subtelny zielony akcent */

.extra-info::after {
  content: "" !important;

  position: absolute !important;

  left: 0 !important;
  top: 16px !important;
  bottom: 16px !important;

  width: 3px !important;

  border-radius: 999px !important;

  background: #6caf48 !important;
}

/* tekst */

.extra-info p {
  margin: 0 !important;
}

/* mobile */

@media (max-width: 767px) {

  .extra-info {
    padding: 1rem !important;
    gap: 0.75rem !important;
  }

  .extra-info::before {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }

}

/* ========================================
   START VELO — BLOG GRID
   Klasa sekcji: .blog-grid
   Widget: HFE Basic Posts
   ======================================== */

.blog-grid .hfe-posts-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.35rem !important;
}

/* karta wpisu */

.blog-grid .hfe-post-card {
  position: relative !important;

  display: flex !important;
  flex-direction: column !important;

  height: 100% !important;

  overflow: hidden !important;

  border-radius: 24px !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.98) 0%,
      rgba(255,255,255,0.94) 100%
    ) !important;

  border: 1px solid rgba(35,31,32,0.08) !important;

  box-shadow:
    0 18px 42px rgba(35,31,32,0.07),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;

  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease !important;
}

.blog-grid .hfe-post-card:hover {
  transform: translateY(-4px) !important;

  border-color: rgba(108,175,72,0.22) !important;

  box-shadow:
    0 28px 60px rgba(35,31,32,0.11),
    0 10px 26px rgba(108,175,72,0.07),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

/* zdjęcie */

.blog-grid .hfe-post-image {
  position: relative !important;

  overflow: hidden !important;

  aspect-ratio: 16 / 10 !important;

  background: #f2f3ef !important;
}

.blog-grid .hfe-post-image a {
  display: block !important;
  height: 100% !important;
  text-decoration: none !important;
}

.blog-grid .hfe-post-image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;

  transition:
    transform 0.42s ease,
    filter 0.42s ease !important;
}

.blog-grid .hfe-post-card:hover .hfe-post-image img {
  transform: scale(1.045) !important;
  filter: saturate(1.04) contrast(1.02) !important;
}

/* delikatny glossy overlay na zdjęciu */

.blog-grid .hfe-post-image::after {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  pointer-events: none !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.10) 0%,
      rgba(255,255,255,0) 42%
    ) !important;

  opacity: 0.9 !important;
}

/* treść */

.blog-grid .hfe-post-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;

  padding: 1.25rem 1.25rem 1.3rem !important;
}

/* tytuł */

.blog-grid .hfe-post-title {
  margin: 0 0 0.7rem !important;
}

.blog-grid .hfe-post-title a {
  color: #231f20 !important;
  text-decoration: none !important;

  transition:
    color 0.2s ease !important;
}

.blog-grid .hfe-post-title a:hover {
  color: #6caf48 !important;
}

/* meta — gdyby było włączone */

.blog-grid .hfe-post-meta {
  margin: 0 0 0.7rem !important;
  color: rgba(35,31,32,0.52) !important;
}

/* excerpt */

.blog-grid .hfe-post-excerpt {
  margin-bottom: 1.1rem !important;

  color: rgba(35,31,32,0.68) !important;
}

/* read more */

.blog-grid .hfe-read-more {
  margin-top: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;

  padding: 0.58rem 0.86rem !important;

  border-radius: 999px !important;

  background: rgba(108,175,72,0.10) !important;
  border: 1px solid rgba(108,175,72,0.16) !important;

  color: #6caf48 !important;
  text-decoration: none !important;

  transition:
    transform 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease !important;
}

.blog-grid .hfe-read-more:hover {
  transform: translateX(3px) !important;

  background: #6caf48 !important;
  border-color: #6caf48 !important;

  color: #ffffff !important;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 1024px) {
  .blog-grid .hfe-posts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
}

@media (max-width: 767px) {
  .blog-grid .hfe-posts-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .blog-grid .hfe-post-card {
    border-radius: 20px !important;
  }

  .blog-grid .hfe-post-content {
    padding: 1.1rem !important;
  }

  .blog-grid .hfe-post-image {
    aspect-ratio: 16 / 10 !important;
  }
}

/* ========================================
   START VELO — AUTO TABLE OF CONTENTS
   Klasa: .sv-toc
   ======================================== */

.sv-toc {
  position: relative !important;

  margin: 1.5rem 0 2rem !important;
  padding: 1.2rem !important;

  border-radius: 22px !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.98) 0%,
      rgba(255,255,255,0.94) 100%
    ) !important;

  border: 1px solid rgba(35,31,32,0.08) !important;

  box-shadow:
    0 18px 42px rgba(35,31,32,0.07),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;

  overflow: hidden !important;
}

.sv-toc__label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;

  margin-bottom: 0.85rem !important;
  padding: 0.42rem 0.74rem !important;

  width: fit-content !important;

  border-radius: 999px !important;

  background: rgba(108,175,72,0.10) !important;
  border: 1px solid rgba(108,175,72,0.18) !important;

  color: #6caf48 !important;

  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.sv-toc__label::before {
  content: "" !important;

  width: 7px !important;
  height: 7px !important;

  flex: 0 0 7px !important;

  border-radius: 999px !important;

  background: #6caf48 !important;
  box-shadow: 0 0 0 4px rgba(108,175,72,0.12) !important;
}

.sv-toc__list {
  display: grid !important;
  gap: 0.35rem !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

.sv-toc__item a {
  display: flex !important;
  align-items: center !important;

  padding: 0.52rem 0.65rem !important;

  border-radius: 12px !important;

  color: #231f20 !important;
  text-decoration: none !important;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease !important;
}

.sv-toc__item a:hover {
  background: rgba(108,175,72,0.08) !important;
  color: #6caf48 !important;
  transform: translateX(3px) !important;
}

.sv-toc__item--h3 a {
  padding-left: 1.35rem !important;
  color: rgba(35,31,32,0.72) !important;
}

.sv-toc-anchor {
  scroll-margin-top: 120px !important;
}

@media (max-width: 767px) {
  .sv-toc {
    padding: 1rem !important;
    border-radius: 18px !important;
  }

  .sv-toc__item a {
    padding: 0.5rem 0.55rem !important;
  }

  .sv-toc-anchor {
    scroll-margin-top: 90px !important;
  }
}


/* ========================================
   START VELO — HIGHLIGHT SOFT CHAMPAGNE GOLD
   Klasa: .highlight2
   ======================================== */

.highlight2,
.elementor-heading-title .highlight2,
p .highlight2 {
  position: relative !important;
  display: inline !important;

  color: #a88b54 !important;

  font-weight: inherit !important;
  font-style: inherit !important;

  background:
    linear-gradient(
      110deg,
      #7a643d 0%,
      #b99b62 24%,
      #f0e4c2 46%,
      #c3a56d 64%,
      #806942 100%
    ) !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;

  -webkit-text-fill-color: transparent !important;

  text-shadow:
    0 10px 26px rgba(168,139,84,0.10) !important;

  z-index: 1 !important;
}

.highlight2::after,
.elementor-heading-title .highlight2::after,
p .highlight2::after {
  content: "" !important;

  position: absolute !important;
  left: 0.04em !important;
  right: 0.04em !important;
  bottom: 0.07em !important;

  height: 0.14em !important;

  border-radius: 999px !important;

  background:
    linear-gradient(
      90deg,
      rgba(185,155,98,0.08),
      rgba(195,165,109,0.20),
      rgba(185,155,98,0.08)
    ) !important;

  z-index: -1 !important;
}

.highlight2:hover,
.elementor-heading-title .highlight2:hover,
p .highlight2:hover {
  background:
    linear-gradient(
      110deg,
      #6f5b38 0%,
      #b99b62 22%,
      #f6ecd0 42%,
      #c3a56d 60%,
      #765f3a 100%
    ) !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;
}

/* ========================================
   START VELO — FLOATING CALL BADGE ICON FIX
   ======================================== */

.tf-call-badge__icon svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  color: #ffffff !important;
}

.tf-call-badge__icon {
  font-size: 0 !important;
}

/* ========================================
   START VELO — BOX PROMO
   Klasa: .box-promo
   Na bazie: .box / .box-wyrozniony
   ======================================== */

.box.box-promo,
.box-promo {
  position: relative !important;

  border-color: rgba(196,64,54,0.42) !important;

  box-shadow:
    0 22px 52px rgba(35,31,32,0.08),
    0 10px 28px rgba(196,64,54,0.08),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

/* pasek SUPER OKAZJA */

.box.box-promo::before,
.box-promo::before {
  content: "SUPER OKAZJA" !important;

  position: absolute !important;

  top: 0 !important;
  left: 50% !important;
  right: auto !important;

  transform: translateX(-50%) !important;

  width: auto !important;
  height: auto !important;

  padding: 0.42rem 0.95rem !important;

  border-radius: 0 0 12px 12px !important;

  background:
    linear-gradient(
      135deg,
      #c94a3d 0%,
      #a9362d 100%
    ) !important;

  border: 1px solid rgba(201,74,61,0.54) !important;
  border-top: none !important;

  color: #ffffff !important;

  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;

  white-space: nowrap !important;

  box-shadow:
    0 10px 22px rgba(196,64,54,0.18),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;

  z-index: 5 !important;
}

/* delikatne podbicie karty */

.box.box-promo::after,
.box-promo::after {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  border-radius: inherit !important;

  pointer-events: none !important;

  background:
    linear-gradient(
      180deg,
      rgba(201,74,61,0.045),
      rgba(201,74,61,0) 34%
    ) !important;

  z-index: 1 !important;
}

.box.box-promo:hover,
.box-promo:hover {
  border-color: rgba(196,64,54,0.58) !important;

  box-shadow:
    0 28px 60px rgba(35,31,32,0.10),
    0 12px 32px rgba(196,64,54,0.11),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

/* MOBILE */

@media (max-width: 767px) {
  .box.box-promo::before,
  .box-promo::before {
    padding: 0.36rem 0.78rem !important;
    border-radius: 0 0 10px 10px !important;
    letter-spacing: 0.045em !important;
  }
}


/* ========================================
   START VELO — LOGO CLOUD
   Klasa: .logo-cloud
   ======================================== */

.logo-cloud {
  position: relative !important;

  width: 100% !important;

  padding: 1.15rem !important;

  border-radius: 28px !important;

  background:
    radial-gradient(
      circle at 12% 8%,
      rgba(108,175,72,0.08),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,0.98) 0%,
      rgba(250,255,248,0.92) 100%
    ) !important;

  border: 1px solid rgba(35,31,32,0.07) !important;

  box-shadow:
    0 22px 56px rgba(35,31,32,0.07),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;

  overflow: hidden !important;
}

/* subtelna poświata premium */

.logo-cloud::before {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  pointer-events: none !important;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,0.48),
      transparent
    ) !important;

  opacity: 0.42 !important;
}

/* grid */

.logo-cloud__grid {
  position: relative !important;
  z-index: 2 !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.9rem !important;
}

/* pojedynczy logotyp */

.logo-cloud__item {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 118px !important;
  padding: 1.25rem !important;

  border-radius: 22px !important;

  background: rgba(255,255,255,0.78) !important;
  backdrop-filter: blur(10px) !important;

  border: 1px solid rgba(35,31,32,0.07) !important;

  box-shadow:
    0 12px 30px rgba(35,31,32,0.045),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;

  overflow: hidden !important;

  transition:
    transform 0.26s ease,
    box-shadow 0.26s ease,
    border-color 0.26s ease,
    background 0.26s ease !important;
}

.logo-cloud__item:hover {
  transform: translateY(-4px) !important;

  background: #ffffff !important;
  border-color: rgba(108,175,72,0.22) !important;

  box-shadow:
    0 22px 46px rgba(35,31,32,0.08),
    0 8px 22px rgba(108,175,72,0.06),
    inset 0 1px 0 rgba(255,255,255,0.94) !important;
}

/* delikatny tech glow */

.logo-cloud__item::after {
  content: "" !important;

  position: absolute !important;

  width: 90px !important;
  height: 90px !important;

  right: -38px !important;
  top: -38px !important;

  border-radius: 999px !important;

  background:
    radial-gradient(
      rgba(108,175,72,0.10) 0%,
      rgba(108,175,72,0) 70%
    ) !important;

  opacity: 0 !important;

  transition: opacity 0.26s ease !important;

  pointer-events: none !important;
}

.logo-cloud__item:hover::after {
  opacity: 1 !important;
}

/* logo */

.logo-cloud__item img {
  display: block !important;

  max-width: 170px !important;
  max-height: 58px !important;

  width: auto !important;
  height: auto !important;

  object-fit: contain !important;

  filter: grayscale(1) contrast(1.05) opacity(0.76) !important;

  transition:
    filter 0.26s ease,
    transform 0.26s ease !important;
}

.logo-cloud__item:hover img {
  filter: grayscale(0) contrast(1.02) opacity(1) !important;
  transform: scale(1.025) !important;
}

/* TABLET */

@media (max-width: 1024px) {
  .logo-cloud__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .logo-cloud__item {
    min-height: 108px !important;
  }
}

/* MOBILE */

@media (max-width: 767px) {
  .logo-cloud {
    padding: 0.85rem !important;
    border-radius: 22px !important;
  }

  .logo-cloud__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.7rem !important;
  }

  .logo-cloud__item {
    min-height: 92px !important;
    padding: 1rem !important;
    border-radius: 18px !important;
  }

  .logo-cloud__item img {
    max-width: 125px !important;
    max-height: 46px !important;
  }
}