.elementor-kit-4{--e-global-color-primary:#2B2522;--e-global-color-secondary:#B89B72;--e-global-color-text:#4A423C;--e-global-color-accent:#9C7F58;--e-global-color-branddark:#181413;--e-global-color-bgbase:#FFFFFF;--e-global-color-bgsoft:#F7F3EE;--e-global-color-textmuted:#8A8079;--e-global-color-textondark:#F7F3EE;--e-global-color-line:#E4DCD2;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Jost";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Jost";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Jost";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:"Jost", Sans-serif;font-size:16px;font-weight:300;line-height:30px;letter-spacing:0.2px;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-accent );}.elementor-kit-4 a:hover{color:var( --e-global-color-primary );}.elementor-kit-4 h1{color:var( --e-global-color-primary );font-family:"Cormorant Garamond", Sans-serif;font-size:52px;font-weight:300;line-height:62px;letter-spacing:0.5px;}.elementor-kit-4 h2{color:var( --e-global-color-primary );font-family:"Cormorant Garamond", Sans-serif;font-size:42px;font-weight:300;line-height:52px;letter-spacing:0.3px;}.elementor-kit-4 h3{color:var( --e-global-color-primary );font-family:"Cormorant Garamond", Sans-serif;font-size:26px;font-weight:300;line-height:34px;letter-spacing:0.2px;}.elementor-kit-4 h4{color:var( --e-global-color-primary );font-family:"Cormorant Garamond", Sans-serif;font-size:22px;font-weight:300;line-height:30px;letter-spacing:0.2px;}.elementor-kit-4 h5{color:var( --e-global-color-primary );font-family:"Cormorant Garamond", Sans-serif;font-size:20px;font-weight:300;line-height:28px;letter-spacing:0.2px;}.elementor-kit-4 h6{color:var( --e-global-color-primary );font-family:"Cormorant Garamond", Sans-serif;font-size:18px;font-weight:300;line-height:26px;letter-spacing:0.2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-4{font-size:15px;line-height:28px;}.elementor-kit-4 h1{font-size:40px;line-height:50px;}.elementor-kit-4 h2{font-size:34px;line-height:42px;}.elementor-kit-4 h3{font-size:22px;line-height:30px;}.elementor-kit-4 h4{font-size:22px;line-height:30px;}.elementor-kit-4 h5{font-size:20px;line-height:28px;}.elementor-kit-4 h6{font-size:18px;line-height:26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4{font-size:15px;line-height:28px;}.elementor-kit-4 h1{font-size:28px;line-height:38px;}.elementor-kit-4 h2{font-size:26px;line-height:34px;}.elementor-kit-4 h3{font-size:20px;line-height:28px;}.elementor-kit-4 h4{font-size:19px;line-height:27px;}.elementor-kit-4 h5{font-size:18px;line-height:26px;}.elementor-kit-4 h6{font-size:16px;line-height:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   CSS uzupelniajacy do efektow, ktorych Elementor nie ma natywnie.
   Kolory marki zawsze przez var(--e-global-color-*), zeby test
   propagacji Kolorow Globalnych Kitu przechodzil rowniez tutaj.
   ============================================================ */

/* --- 1. SPRIG: ozdobnik gałązki pod naglowkami (widget Divider, look=line_icon,
   ikona = wgrany SVG). Elementor nadaje ikonom SVG fill; w demo listek jest
   konturowy (fill:none + stroke), stad nadpisanie. --- */
.nd-sprig .elementor-icon svg,
.nd-sprig .elementor-divider__element svg {
  fill: none !important;
  stroke: var(--e-global-color-secondary) !important;
  stroke-width: 1;
  width: 13px;
  height: 15px;
}

/* --- 2. WATERMARK: duza gałązka w tle (motyw z logo).
   Maska + kolor globalny zamiast wypalonego hexa w pliku SVG. --- */
.nd-watermark { position: relative; overflow: hidden; }
.nd-watermark > .e-con-inner,
.nd-watermark > .elementor-widget-wrap { position: relative; z-index: 1; }
.nd-watermark::after {
  content: '';
  position: absolute;
  right: -60px;
  bottom: -60px;
  width: 420px;
  height: 610px;
  opacity: 0.06;
  pointer-events: none;
  z-index: 0;
  background-color: var(--e-global-color-secondary);
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMjAgMzIwIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTExMCAzMTYgQzExMCAyMDAgMTEwIDExMCAxMTAgNiIvPjxwYXRoIGQ9Ik0xMTAgMjUwIEMxNTAgMjQ2IDE3NiAyMTggMTgwIDE3NiBDMTQwIDE4MCAxMTQgMjA4IDExMCAyNTAgWiIvPjxwYXRoIGQ9Ik0xMTAgMjUwIEM3MCAyNDYgNDQgMjE4IDQwIDE3NiBDODAgMTgwIDEwNiAyMDggMTEwIDI1MCBaIi8+PHBhdGggZD0iTTExMCAxNzYgQzE1MCAxNzIgMTc2IDE0NCAxODAgMTAyIEMxNDAgMTA2IDExNCAxMzQgMTEwIDE3NiBaIi8+PHBhdGggZD0iTTExMCAxNzYgQzcwIDE3MiA0NCAxNDQgNDAgMTAyIEM4MCAxMDYgMTA2IDEzNCAxMTAgMTc2IFoiLz48cGF0aCBkPSJNMTEwIDEwMiBDMTUwIDk4IDE3NiA3MCAxODAgMjggQzE0MCAzMiAxMTQgNjAgMTEwIDEwMiBaIi8+PHBhdGggZD0iTTExMCAxMDIgQzcwIDk4IDQ0IDcwIDQwIDI4IEM4MCAzMiAxMDYgNjAgMTEwIDEwMiBaIi8+PC9zdmc+");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMjAgMzIwIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTExMCAzMTYgQzExMCAyMDAgMTEwIDExMCAxMTAgNiIvPjxwYXRoIGQ9Ik0xMTAgMjUwIEMxNTAgMjQ2IDE3NiAyMTggMTgwIDE3NiBDMTQwIDE4MCAxMTQgMjA4IDExMCAyNTAgWiIvPjxwYXRoIGQ9Ik0xMTAgMjUwIEM3MCAyNDYgNDQgMjE4IDQwIDE3NiBDODAgMTgwIDEwNiAyMDggMTEwIDI1MCBaIi8+PHBhdGggZD0iTTExMCAxNzYgQzE1MCAxNzIgMTc2IDE0NCAxODAgMTAyIEMxNDAgMTA2IDExNCAxMzQgMTEwIDE3NiBaIi8+PHBhdGggZD0iTTExMCAxNzYgQzcwIDE3MiA0NCAxNDQgNDAgMTAyIEM4MCAxMDYgMTA2IDEzNCAxMTAgMTc2IFoiLz48cGF0aCBkPSJNMTEwIDEwMiBDMTUwIDk4IDE3NiA3MCAxODAgMjggQzE0MCAzMiAxMTQgNjAgMTEwIDEwMiBaIi8+PHBhdGggZD0iTTExMCAxMDIgQzcwIDk4IDQ0IDcwIDQwIDI4IEM4MCAzMiAxMDYgNjAgMTEwIDEwMiBaIi8+PC9zdmc+");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 420px 610px;
  mask-size: 420px 610px;
}
.nd-watermark--hero::after { right: -40px; top: -90px; bottom: auto; }
@media (max-width: 767px) {
  .nd-watermark::after { width: 260px; height: 380px; -webkit-mask-size: 260px 380px; mask-size: 260px 380px; }
}

/* --- 3. FIGURE: zoom zdjecia w kadrze (overflow + scale 1.04 / 0.6s) --- */
.nd-figure .elementor-widget-container { overflow: hidden; border-radius: 2px; }
.nd-figure img { transition: transform 0.6s ease; }
.nd-figure:hover img { transform: scale(1.04); }

/* --- 4. REVEAL: Elementor uzywa wlasnego IntersectionObservera i klasy
   .fadeInUp; podmieniamy same keyframes na geometrie z demo
   (opacity 0->1 + translateY(24px)->0). --- */
@keyframes ndReveal { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.animated.fadeInUp { animation-name: ndReveal; animation-timing-function: ease; }
@media (prefers-reduced-motion: reduce) {
  .animated.fadeInUp { animation: none !important; }
  .elementor-invisible { visibility: visible !important; }
  .nd-figure img { transition: none; }
}

/* --- 5. Fokus klawiatury (demo: outline 2px accent, offset 3px) --- */
.nd-section a:focus-visible,
.nd-section button:focus-visible,
.elementor-location-header a:focus-visible,
.elementor-location-footer a:focus-visible {
  outline: 2px solid var(--e-global-color-secondary);
  outline-offset: 3px;
}

/* --- 6. Text Editor: listy i akapity dziedzicza typografie widgetu --- */
.nd-p p:last-child, .nd-lead p:last-child, .nd-quote p:last-child { margin-bottom: 0; }

/* --- 7. Stopka: logo jest ciemne, w demo rozjasniane filtrem
   (Elementor ma blur/brightness/contrast/saturate/hue, nie ma invert). --- */
.nd-footer-logo img { filter: invert(1) brightness(1.6); }
.nd-footer-note { opacity: 0.75; }

/* --- 8. Szybkie linki w stopce: hover przesuwa link o 6px (brak natywnej kontrolki) --- */
.nd-footer-links .elementor-icon-list-item > a { transition: color 0.3s ease, padding-left 0.3s ease; display: inline-block; }
.nd-footer-links .elementor-icon-list-item > a:hover { padding-left: 6px; }

/* --- 9. Icon List projektu: separator 1px pod kazda pozycja procz ostatniej --- */
.nd-list .elementor-icon-list-item { border-bottom: 1px solid var(--e-global-color-line); }
.nd-list .elementor-icon-list-item:last-child { border-bottom: none; }
.nd-on-dark .nd-list .elementor-icon-list-item { border-bottom-color: rgba(247,243,238,0.16); }
.nd-list .elementor-icon-list-icon { line-height: 30px; }

/* --- 10. Karta zabiegu: hover przesuwa strzalke 'wiecej' (gap 10->18px) --- */
.nd-card:hover .nd-more .elementor-button-content-wrapper { gap: 18px; }
.nd-more .elementor-button-content-wrapper { gap: 10px; transition: gap 0.3s ease; }
.nd-chip:hover .elementor-button-icon svg,
.nd-chip:hover .elementor-button-icon i { transform: translateX(4px); }
.nd-chip .elementor-button-icon svg,
.nd-chip .elementor-button-icon i { transition: transform 0.3s ease, color 0.3s ease; }

/* --- 11. Hero: strzalka scroll (animacja bob z demo) --- */
@keyframes ndBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
.nd-scroll-arrow .elementor-icon { animation: ndBob 2.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .nd-scroll-arrow .elementor-icon { animation: none; } }

/* --- 12. Sociale w stopce: kwadrat 44x44 z obramowaniem o innej alfie niz ikona
   (Elementor 'framed' wiaze kolor ikony i ramki w jedna kontrolke). --- */
.nd-social .elementor-icon {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-color: rgba(247,243,238,0.28);
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.nd-social .elementor-icon:hover { border-color: var(--e-global-color-secondary); transform: translateY(-3px); }

/* --- 13. Kafel 'ikona + tekst': w demo ikona reaguje na hover CALEJ karty,
   a Elementor ma hover tylko na samym widgecie ikony. --- */
.nd-iconbox-card .elementor-icon { transition: transform 0.3s ease, color 0.3s ease; }
.nd-iconbox-card .elementor-icon svg { transition: fill 0.3s ease; }
.nd-iconbox-card:hover .elementor-icon { transform: translateY(-4px); color: var(--e-global-color-accent); }
.nd-iconbox-card:hover .elementor-icon svg { fill: var(--e-global-color-accent); }

/* --- 14. Karta-link: ikona w ramce zmienia sie po najechaniu na cala karte --- */
.nd-card--link .nd-card-icon .elementor-icon { transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease; }
.nd-card--link:hover .nd-card-icon .elementor-icon {
  background: var(--e-global-color-secondary);
  border-color: var(--e-global-color-secondary);
  color: var(--e-global-color-bgbase);
}
.nd-card--link:hover .nd-card-icon .elementor-icon svg { fill: var(--e-global-color-bgbase); }

/* --- 15. Hero: strzalka 'Przewin' na dole ekranu --- */
.nd-hero-scroll { pointer-events: none; }/* End custom CSS */