{"id":13,"date":"2025-03-13T18:47:48","date_gmt":"2025-03-13T18:47:48","guid":{"rendered":"https:\/\/olenasawenko.pl\/new-site\/?page_id=13"},"modified":"2026-11-06T10:52:03","modified_gmt":"2026-11-06T10:52:03","slug":"strona-glowna","status":"publish","type":"page","link":"https:\/\/olenasawenko.pl\/new-site\/","title":{"rendered":"Strona g\u0142\u00f3wna"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13\" class=\"elementor elementor-13\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-576545f e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"576545f\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-675def4 elementor-nav-menu__align-start elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-hidden-desktop elementor-nav-menu--dropdown-tablet elementor-nav-menu__text-align-aside elementor-nav-menu--toggle elementor-nav-menu--burger elementor-widget elementor-widget-nav-menu\" data-id=\"675def4\" data-element_type=\"widget\" data-settings=\"{&quot;layout&quot;:&quot;vertical&quot;,&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;svg class=\\&quot;e-font-icon-svg e-fas-caret-down\\&quot; viewBox=\\&quot;0 0 320 512\\&quot; xmlns=\\&quot;http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\&quot;&gt;&lt;path d=\\&quot;M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\\&quot;&gt;&lt;\\\/path&gt;&lt;\\\/svg&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;toggle&quot;:&quot;burger&quot;}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-vertical e--pointer-underline e--animation-slide\">\n\t\t\t\t<ul id=\"menu-1-675def4\" class=\"elementor-nav-menu sm-vertical\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-31\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/\" class=\"elementor-item\">Strona g\u0142\u00f3wna<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-36\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/moje-uslugi\/\" class=\"elementor-item\">Moje us\u0142ugi<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-34\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/faq\/\" class=\"elementor-item\">FAQ<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-35\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/o-mnie\/\" class=\"elementor-item\">O mnie<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-33\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/blog\/\" class=\"elementor-item\">BLOG<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-32\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/kontakt\/\" class=\"elementor-item\">Kontakt<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t<div class=\"elementor-menu-toggle\" role=\"button\" tabindex=\"0\" aria-label=\"Menu Toggle\" aria-expanded=\"false\">\n\t\t\t<svg aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--open e-font-icon-svg e-eicon-menu-bar\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M104 333H896C929 333 958 304 958 271S929 208 896 208H104C71 208 42 237 42 271S71 333 104 333ZM104 583H896C929 583 958 554 958 521S929 458 896 458H104C71 458 42 487 42 521S71 583 104 583ZM104 833H896C929 833 958 804 958 771S929 708 896 708H104C71 708 42 737 42 771S71 833 104 833Z\"><\/path><\/svg><svg aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--close e-font-icon-svg e-eicon-close\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z\"><\/path><\/svg>\t\t<\/div>\n\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-675def4\" class=\"elementor-nav-menu sm-vertical\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-31\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/\" class=\"elementor-item\" tabindex=\"-1\">Strona g\u0142\u00f3wna<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-36\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/moje-uslugi\/\" class=\"elementor-item\" tabindex=\"-1\">Moje us\u0142ugi<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-34\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/faq\/\" class=\"elementor-item\" tabindex=\"-1\">FAQ<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-35\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/o-mnie\/\" class=\"elementor-item\" tabindex=\"-1\">O mnie<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-33\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/blog\/\" class=\"elementor-item\" tabindex=\"-1\">BLOG<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-32\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/kontakt\/\" class=\"elementor-item\" tabindex=\"-1\">Kontakt<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d3a143 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"4d3a143\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h5>00-695 Warszawa, ul. Nowogrodzka 42\/22, +48 888 810 885, <span style=\"color: inherit; font-family: inherit; font-size: 1.25rem;\">e-mail: olena.sawenko@gmail.com<\/span><\/h5>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-238a442 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"238a442\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5660b14 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"5660b14\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon elementor-animation-shrink\" href=\"https:\/\/www.instagram.com\/tlumaczenia_2?igsh=bWYxbnd6ZThydHQ0&#038;utm_source=qr\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-instagram\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"><\/path><\/svg>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-796d79c elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"796d79c\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon elementor-animation-shrink\" href=\"https:\/\/www.facebook.com\/tlumacz.przysiegly.ukrainskiego.warszawa\/?locale=pl_PL\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-facebook\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"><\/path><\/svg>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-180645c e-con-full elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"180645c\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a6e0881 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"a6e0881\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"https:\/\/olenasawenko.pl\/new-site\/%d0%b3%d0%be%d0%bb%d0%be%d0%b2%d0%bd%d0%b0-%d1%81%d1%82%d0%be%d1%80%d1%96%d0%bd%d0%ba%d0%b0\/\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"flag-icons-ua\" viewBox=\"0 0 640 480\"><g fill-rule=\"evenodd\" stroke-width=\"1pt\"><path fill=\"gold\" d=\"M0 0h640v480H0z\"><\/path><path fill=\"#0057b8\" d=\"M0 0h640v240H0z\"><\/path><\/g><\/svg>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a228a4 elementor-nav-menu__align-center elementor-widget__width-initial elementor-hidden-tablet elementor-hidden-mobile elementor-nav-menu--dropdown-tablet elementor-nav-menu__text-align-aside elementor-nav-menu--toggle elementor-nav-menu--burger elementor-widget elementor-widget-nav-menu\" data-id=\"8a228a4\" data-element_type=\"widget\" data-settings=\"{&quot;layout&quot;:&quot;horizontal&quot;,&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;svg class=\\&quot;e-font-icon-svg e-fas-caret-down\\&quot; viewBox=\\&quot;0 0 320 512\\&quot; xmlns=\\&quot;http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\&quot;&gt;&lt;path d=\\&quot;M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\\&quot;&gt;&lt;\\\/path&gt;&lt;\\\/svg&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;toggle&quot;:&quot;burger&quot;}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-background e--animation-none\">\n\t\t\t\t<ul id=\"menu-1-8a228a4\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-31\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/\" class=\"elementor-item\">Strona g\u0142\u00f3wna<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-36\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/moje-uslugi\/\" class=\"elementor-item\">Moje us\u0142ugi<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-34\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/faq\/\" class=\"elementor-item\">FAQ<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-35\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/o-mnie\/\" class=\"elementor-item\">O mnie<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-33\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/blog\/\" class=\"elementor-item\">BLOG<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-32\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/kontakt\/\" class=\"elementor-item\">Kontakt<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t<div class=\"elementor-menu-toggle\" role=\"button\" tabindex=\"0\" aria-label=\"Menu Toggle\" aria-expanded=\"false\">\n\t\t\t<svg aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--open e-font-icon-svg e-eicon-menu-bar\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M104 333H896C929 333 958 304 958 271S929 208 896 208H104C71 208 42 237 42 271S71 333 104 333ZM104 583H896C929 583 958 554 958 521S929 458 896 458H104C71 458 42 487 42 521S71 583 104 583ZM104 833H896C929 833 958 804 958 771S929 708 896 708H104C71 708 42 737 42 771S71 833 104 833Z\"><\/path><\/svg><svg aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--close e-font-icon-svg e-eicon-close\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z\"><\/path><\/svg>\t\t<\/div>\n\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-8a228a4\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-31\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/\" class=\"elementor-item\" tabindex=\"-1\">Strona g\u0142\u00f3wna<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-36\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/moje-uslugi\/\" class=\"elementor-item\" tabindex=\"-1\">Moje us\u0142ugi<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-34\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/faq\/\" class=\"elementor-item\" tabindex=\"-1\">FAQ<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-35\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/o-mnie\/\" class=\"elementor-item\" tabindex=\"-1\">O mnie<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-33\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/blog\/\" class=\"elementor-item\" tabindex=\"-1\">BLOG<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-32\"><a href=\"https:\/\/olenasawenko.pl\/new-site\/kontakt\/\" class=\"elementor-item\" tabindex=\"-1\">Kontakt<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d10580f e-con-full e-flex e-con e-child\" data-id=\"d10580f\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-317898d e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"317898d\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-f07d941 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"f07d941\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1170f2c elementor-widget elementor-widget-image\" data-id=\"1170f2c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-768x1024.jpg\" class=\"attachment-large size-large wp-image-161\" alt=\"O\u0142ena Sawenko \u2013 t\u0142umacz przysi\u0119g\u0142y j\u0119zyka ukrai\u0144skiego w Warszawie\" srcset=\"https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-768x1024.jpg 768w, https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-225x300.jpg 225w, https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-1152x1536.jpg 1152w, https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-1536x2048.jpg 1536w, https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-scaled.jpg 1920w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9aa2051 e-con-full e-flex e-con e-child\" data-id=\"9aa2051\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b88375d elementor-widget elementor-widget-html\" data-id=\"b88375d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Abhaya+Libre:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n\n<style>\n  .sawenko-hero-pl {\n    box-sizing: border-box;\n    width: 100%;\n    margin: 0;\n    padding: 40px 30px;\n    background: transparent;\n    color: #fff;\n    text-align: left;\n  }\n\n  .sawenko-hero-pl .hero-name,\n  .sawenko-hero-pl .hero-heading,\n  .sawenko-hero-pl .hero-description {\n    font-family: 'Abhaya Libre', serif !important;\n    color: #fff !important;\n    text-align: left !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n  }\n\n  .sawenko-hero-pl .hero-name {\n    margin: 0 0 22px !important;\n    font-size: 54px !important;\n    font-weight: 700 !important;\n    line-height: 1.2 !important;\n  }\n\n  .sawenko-hero-pl .hero-heading {\n    margin: 0 0 22px !important;\n    font-size: 36px !important;\n    font-weight: 600 !important;\n    line-height: 1.25 !important;\n  }\n\n  .sawenko-hero-pl .hero-description {\n    margin: 0 !important;\n    font-size: 26px !important;\n    font-weight: 400 !important;\n    line-height: 1.45 !important;\n  }\n\n  .sawenko-hero-pl .hero-description + .hero-description {\n    margin-top: 16px !important;\n  }\n\n  @media (max-width: 768px) {\n    .sawenko-hero-pl {\n      padding: 25px 20px;\n    }\n\n    .sawenko-hero-pl .hero-name {\n      font-size: 44px !important;\n    }\n\n    .sawenko-hero-pl .hero-heading {\n      font-size: 30px !important;\n    }\n\n    .sawenko-hero-pl .hero-description {\n      font-size: 23px !important;\n    }\n  }\n\n  @media (max-width: 480px) {\n    .sawenko-hero-pl {\n      padding: 20px 15px;\n    }\n\n    .sawenko-hero-pl .hero-name {\n      font-size: 36px !important;\n    }\n\n    .sawenko-hero-pl .hero-heading {\n      font-size: 26px !important;\n    }\n\n    .sawenko-hero-pl .hero-description {\n      font-size: 21px !important;\n    }\n  }\n<\/style>\n\n<section class=\"sawenko-hero-pl\"\n         lang=\"pl\"\n         aria-labelledby=\"sawenko-heading-pl\">\n\n  <p class=\"hero-name\">O\u0142ena Sawenko<\/p>\n\n  <h1 class=\"hero-heading\" id=\"sawenko-heading-pl\">\n    T\u0142umacz przysi\u0119g\u0142y j\u0119zyka ukrai\u0144skiego w Warszawie\n  <\/h1>\n\n  <p class=\"hero-description\">\n    T\u0142umacz\u0119 dokumenty z j\u0119zyka ukrai\u0144skiego na polski\n    i z polskiego na ukrai\u0144ski.\n  <\/p>\n\n  <p class=\"hero-description\">\n    Prze\u015blij skan do wyceny lub odwied\u017a moje biuro\n    przy ul. Nowogrodzkiej 42\/22.\n  <\/p>\n\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ffaff88 elementor-widget__width-initial elementor-widget-tablet__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-global elementor-global-3490 elementor-widget-html\" data-id=\"ffaff88\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ===== Formularz kontaktowy \u2013 Olena Sawenko (wersja z konwersj\u0105 Google Ads) ===== -->\n<!-- Wklej CA\u0141O\u015a\u0106 do wid\u017cetu HTML w Elementorze. Mo\u017ce by\u0107 u\u017cyty kilka razy na stronie. -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Abhaya+Libre:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n<style>\n    .os-form-container,\n    .os-form-container * {\n        margin: 0;\n        padding: 0;\n        box-sizing: border-box;\n    }\n\n    .os-form-container {\n        font-family: 'Abhaya Libre', serif;\n        width: 100%;\n        max-width: 500px;\n        margin: 0 auto;\n        padding: 30px 25px;\n        background: rgba(255, 255, 255, 0.15);\n        backdrop-filter: blur(15px);\n        -webkit-backdrop-filter: blur(15px);\n        border-radius: 25px;\n        border: 1px solid rgba(255, 255, 255, 0.2);\n        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n    }\n\n    .os-form-title {\n        text-align: center;\n        color: #ffffff;\n        font-size: 28px;\n        font-weight: 700;\n        margin-bottom: 20px;\n        text-transform: uppercase;\n        letter-spacing: 2px;\n        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);\n    }\n\n    .os-form-container .form-group {\n        margin-bottom: 12px;\n    }\n\n    .os-form-container input[type=\"text\"],\n    .os-form-container input[type=\"email\"],\n    .os-form-container input[type=\"tel\"],\n    .os-form-container textarea {\n        width: 100%;\n        padding: 10px 14px;\n        border: none;\n        border-radius: 20px;\n        background: rgba(255, 255, 255, 0.9);\n        font-family: 'Abhaya Libre', serif;\n        font-size: 16px;\n        color: #333;\n        transition: all 0.3s ease;\n    }\n\n    .os-form-container input::placeholder,\n    .os-form-container textarea::placeholder {\n        color: #999;\n        font-family: 'Abhaya Libre', serif;\n        font-size: 16px;\n    }\n\n    .os-form-container input:focus,\n    .os-form-container textarea:focus {\n        outline: none;\n        background: #ffffff;\n    }\n\n    .os-form-container textarea {\n        resize: vertical;\n        min-height: 80px;\n        border-radius: 18px;\n    }\n\n    .os-form-container .file-upload-container {\n        position: relative;\n        margin-bottom: 12px;\n        padding: 15px 12px;\n        border: 2px dashed rgba(184, 151, 90, 0.4);\n        border-radius: 18px;\n        background: rgba(255, 255, 255, 0.05);\n        text-align: center;\n        transition: all 0.3s ease;\n    }\n\n    .os-form-container .file-upload-container:hover,\n    .os-form-container .file-upload-container.is-dragover {\n        border-color: #b8975a;\n        background: rgba(255, 255, 255, 0.1);\n    }\n\n    .os-form-container .file-upload-title {\n        color: #ffffff;\n        font-size: 15px;\n        font-weight: 600;\n        margin-bottom: 4px;\n    }\n\n    .os-form-container .file-upload-or {\n        color: rgba(255, 255, 255, 0.8);\n        font-size: 15px;\n        margin-bottom: 8px;\n    }\n\n    .os-form-container .file-upload-wrapper {\n        position: relative;\n        display: inline-block;\n    }\n\n    .os-form-container .file-upload-wrapper input[type=\"file\"] {\n        position: absolute;\n        left: 0;\n        top: 0;\n        width: 100%;\n        height: 100%;\n        opacity: 0;\n        cursor: pointer;\n    }\n\n    .os-form-container .file-button {\n        display: inline-block;\n        padding: 8px 20px;\n        background: rgba(255, 255, 255, 0.9);\n        color: #A59461;\n        border: 1px solid #A59461;\n        border-radius: 18px;\n        font-size: 16px;\n        font-weight: 600;\n        font-family: 'Abhaya Libre', serif;\n        cursor: pointer;\n    }\n\n    .os-form-container .file-button:hover {\n        background: #ffffff;\n    }\n\n    .os-form-container .file-count {\n        display: block;\n        margin-top: 8px;\n        color: rgba(255, 255, 255, 0.9);\n        font-size: 15px;\n        font-weight: 500;\n    }\n\n    .os-form-container .selected-files {\n        margin-top: 10px;\n        padding: 10px;\n        background: rgba(255, 255, 255, 0.1);\n        border-radius: 12px;\n        max-height: 150px;\n        overflow-y: auto;\n    }\n\n    .os-form-container .selected-files:empty {\n        display: none;\n    }\n\n    .os-form-container .file-item {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        padding: 5px 8px;\n        margin-bottom: 5px;\n        background: rgba(255, 255, 255, 0.15);\n        border-radius: 10px;\n        color: #ffffff;\n        font-size: 14px;\n    }\n\n    .os-form-container .file-item:last-child {\n        margin-bottom: 0;\n    }\n\n    .os-form-container .file-name {\n        flex: 1;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        margin-right: 8px;\n        text-align: left;\n    }\n\n    .os-form-container .file-size {\n        color: rgba(255, 255, 255, 0.7);\n        font-size: 14px;\n        white-space: nowrap;\n    }\n\n    .os-form-container .remove-file {\n        background: rgba(255, 0, 0, 0.6);\n        color: #ffffff;\n        border: none;\n        border-radius: 6px;\n        padding: 3px 6px;\n        margin-left: 6px;\n        cursor: pointer;\n        font-size: 14px;\n        flex-shrink: 0;\n    }\n\n    .os-form-container .remove-file:hover {\n        background: rgba(255, 0, 0, 0.8);\n    }\n\n    .os-form-container .checkbox-group {\n        display: flex;\n        align-items: flex-start;\n        margin-bottom: 15px;\n        gap: 8px;\n    }\n\n    .os-form-container .checkbox-group input[type=\"checkbox\"] {\n        appearance: none;\n        -webkit-appearance: none;\n        width: 20px;\n        height: 20px;\n        border: 2px solid #b8975a;\n        border-radius: 50%;\n        background: rgba(255, 255, 255, 0.2);\n        cursor: pointer;\n        position: relative;\n        flex-shrink: 0;\n        margin-top: 2px;\n    }\n\n    @media (max-width: 768px) {\n        .os-form-container .checkbox-group input[type=\"checkbox\"] {\n            width: 22px;\n            height: 22px;\n        }\n    }\n\n    .os-form-container .checkbox-group input[type=\"checkbox\"]:checked {\n        background: #b8975a;\n    }\n\n    .os-form-container .checkbox-group input[type=\"checkbox\"]:checked::after {\n        content: '\u2713';\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        color: #ffffff;\n        font-size: 12px;\n        font-weight: bold;\n    }\n\n    .os-form-container .checkbox-group label {\n        color: #ffffff;\n        font-size: 16px;\n        line-height: 1.4;\n        cursor: pointer;\n        font-weight: 500;\n    }\n\n    .os-form-container .checkbox-group label a {\n        color: #b8975a;\n        text-decoration: underline;\n    }\n\n    .os-form-container .checkbox-group label a:hover {\n        color: #ffffff;\n    }\n\n    .os-form-container .submit-btn {\n        width: 100%;\n        padding: 10px;\n        background: #A59461 !important;\n        color: #ffffff !important;\n        border: none !important;\n        border-radius: 20px !important;\n        font-family: 'Abhaya Libre', serif;\n        font-size: 18px;\n        font-weight: 700;\n        cursor: pointer;\n        transition: background 0.3s ease;\n        text-transform: uppercase;\n        letter-spacing: 1.5px;\n    }\n\n    .os-form-container .submit-btn:hover {\n        background: linear-gradient(to right, #7A6624, #EBD07C) !important;\n    }\n\n    .os-form-container .submit-btn:focus,\n    .os-form-container .submit-btn:active {\n        outline: none !important;\n        background: #A59461 !important;\n    }\n\n    .os-form-container .submit-btn:disabled {\n        opacity: 0.7;\n        cursor: not-allowed;\n    }\n\n    .os-form-container .form-status {\n        display: none;\n        margin-top: 12px;\n        padding: 12px 14px;\n        border-radius: 14px;\n        font-size: 16px;\n        line-height: 1.4;\n        text-align: center;\n        color: #ffffff;\n    }\n\n    .os-form-container .form-status.is-success {\n        display: block;\n        background: rgba(46, 125, 50, 0.85);\n    }\n\n    .os-form-container .form-status.is-error {\n        display: block;\n        background: rgba(198, 40, 40, 0.85);\n    }\n<\/style>\n\n<div class=\"os-form-container\">\n    <div class=\"os-form-title\">KONTAKT<\/div>\n\n    <form class=\"os-contact-form\" novalidate>\n        <div class=\"form-group\">\n            <input type=\"text\" name=\"name\" placeholder=\"Imi\u0119:\" autocomplete=\"name\" required>\n        <\/div>\n\n        <div class=\"form-group\">\n            <input type=\"email\" name=\"email\" placeholder=\"Adres e-mail:\" autocomplete=\"email\" required>\n        <\/div>\n\n        <div class=\"form-group\">\n            <input type=\"tel\" name=\"phone\" placeholder=\"Telefon:\" autocomplete=\"tel\" required>\n        <\/div>\n\n        <div class=\"form-group\">\n            <textarea name=\"message\" placeholder=\"Wiadomo\u015b\u0107:\" required><\/textarea>\n        <\/div>\n\n        <div class=\"file-upload-container\">\n            <div class=\"file-upload-title\">Przeci\u0105gnij pliki tutaj<\/div>\n            <div class=\"file-upload-or\">lub<\/div>\n            <div class=\"file-upload-wrapper\">\n                <input type=\"file\" name=\"files[]\" multiple accept=\"*\/*\">\n                <div class=\"file-button\">Przegl\u0105daj pliki<\/div>\n            <\/div>\n            <span class=\"file-count\">0 z 10<\/span>\n            <div class=\"selected-files\"><\/div>\n        <\/div>\n\n        <div class=\"checkbox-group\">\n            <input type=\"checkbox\" name=\"privacy\" required>\n            <label>Zgadzam si\u0119 z <a href=\"https:\/\/olenasawenko.pl\/new-site\/polityka-prywatnosci\/\" target=\"_blank\" rel=\"noopener\">Polityk\u0105 Prywatno\u015bci<\/a>.<\/label>\n        <\/div>\n\n        <button type=\"submit\" class=\"submit-btn\">Wy\u015blij<\/button>\n\n        <div class=\"form-status\" role=\"status\" aria-live=\"polite\"><\/div>\n    <\/form>\n<\/div>\n\n<script>\n(function () {\n    \/\/ ================== USTAWIENIA ==================\n    \/\/ ID i etykieta konwersji z Google Ads:\n    \/\/ Cele \u2192 Konwersje \u2192 \"Przes\u0142anie formularza kontaktowego\" \u2192 Konfiguracja tagu\n    var ADS_SEND_TO = 'AW-16934687096\/Rf0ZCJbGxMAcEPiii4s_';\n    var ENDPOINT    = 'https:\/\/olenasawenko.pl\/new-site\/send-email.php';\n    var MAX_FILES   = 10;\n    var MAX_SIZE_MB = 10; \/\/ maks. rozmiar jednego pliku\n    \/\/ =================================================\n\n    \/\/ J\u0119zyk: strony ukrai\u0144skie maj\u0105 cyrylic\u0119 w adresie (np. \/\u0433\u043e\u043b\u043e\u0432\u043d\u0430-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430\/)\n    var IS_UA = \/[\u0400-\u04ff]\/.test(decodeURIComponent(location.pathname));\n    var T = IS_UA ? {\n        title: '\u041a\u041e\u041d\u0422\u0410\u041a\u0422', name: \"\u0406\u043c'\u044f:\", email: '\u0410\u0434\u0440\u0435\u0441\u0430 e-mail:', phone: '\u0422\u0435\u043b\u0435\u0444\u043e\u043d:', message: '\u041f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f:',\n        drop: '\u041f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0444\u0430\u0439\u043b\u0438 \u0441\u044e\u0434\u0438', or: '\u0430\u0431\u043e', browse: '\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043b\u0438', of: ' \u0437 ',\n        privacyHtml: '\u041f\u043e\u0433\u043e\u0434\u0436\u0443\u044e\u0441\u044c \u0437 <a href=\"https:\/\/olenasawenko.pl\/new-site\/polityka-prywatnosci\/\" target=\"_blank\" rel=\"noopener\">\u041f\u043e\u043b\u0456\u0442\u0438\u043a\u043e\u044e \u043a\u043e\u043d\u0444\u0456\u0434\u0435\u043d\u0446\u0456\u0439\u043d\u043e\u0441\u0442\u0456<\/a>.',\n        send: '\u041d\u0430\u0434\u0456\u0441\u043b\u0430\u0442\u0438', sending: '\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u043d\u043d\u044f...',\n        ok: '\u2705 \u0414\u044f\u043a\u0443\u0454\u043c\u043e! \u041f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u043d\u043e. \u0412\u0456\u0434\u043f\u043e\u0432\u0456\u043c\u043e \u044f\u043a\u043d\u0430\u0439\u0448\u0432\u0438\u0434\u0448\u0435.',\n        err: '\u274c \u041f\u043e\u043c\u0438\u043b\u043a\u0430: ', unknown: '\u041d\u0435\u0432\u0456\u0434\u043e\u043c\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430', call: '. \u0417\u0430\u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443\u0439\u0442\u0435: +48 888 810 885',\n        fail: '\u274c \u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u0442\u0438 \u0444\u043e\u0440\u043c\u0443. \u0417\u0430\u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443\u0439\u0442\u0435: +48 888 810 885',\n        skipped: '\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043e: ', tooBig: ' (\u0437\u0430\u0432\u0435\u043b\u0438\u043a\u0438\u0439)', limits: function (n, mb) { return '. \u041c\u0430\u043a\u0441. ' + n + ' \u0444\u0430\u0439\u043b\u0456\u0432, \u0434\u043e ' + mb + ' \u041c\u0411 \u043a\u043e\u0436\u0435\u043d.'; }\n    } : {\n        of: ' z ', sending: 'Wysy\u0142anie...',\n        ok: '\u2705 Dzi\u0119kujemy! Wiadomo\u015b\u0107 zosta\u0142a wys\u0142ana. Odpowiemy najszybciej, jak to mo\u017cliwe.',\n        err: '\u274c B\u0142\u0105d: ', unknown: 'Nieznany b\u0142\u0105d', call: '. Zadzwo\u0144: +48 888 810 885',\n        fail: '\u274c Nie uda\u0142o si\u0119 wys\u0142a\u0107 formularza. Zadzwo\u0144: +48 888 810 885',\n        skipped: 'Pomini\u0119to: ', tooBig: ' (za du\u017cy)', limits: function (n, mb) { return '. Maks. ' + n + ' plik\u00f3w, do ' + mb + ' MB ka\u017cdy.'; }\n    };\n\n    function translate(root) {\n        if (!IS_UA) return;\n        var set = function (sel, prop, val) { var el = root.querySelector(sel); if (el) el[prop] = val; };\n        set('.os-form-title', 'textContent', T.title);\n        set('input[name=\"name\"]', 'placeholder', T.name);\n        set('input[name=\"email\"]', 'placeholder', T.email);\n        set('input[name=\"phone\"]', 'placeholder', T.phone);\n        set('textarea[name=\"message\"]', 'placeholder', T.message);\n        set('.file-upload-title', 'textContent', T.drop);\n        set('.file-upload-or', 'textContent', T.or);\n        set('.file-button', 'textContent', T.browse);\n        set('.checkbox-group label', 'innerHTML', T.privacyHtml);\n        set('.submit-btn', 'textContent', T.send);\n    }\n\n    \/\/ Inicjalizacja ka\u017cdej kopii formularza osobno (odporne na Rocket Loader \/ op\u00f3\u017anianie JS)\n    function initAll() {\n        var roots = document.querySelectorAll('.os-form-container');\n        for (var i = 0; i < roots.length; i++) {\n            if (roots[i].dataset.osInit !== '1') {\n                roots[i].dataset.osInit = '1';\n                initForm(roots[i]);\n            }\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initAll);\n    } else {\n        initAll();\n    }\n\n    function initForm(root) {\n    translate(root);\n    var form       = root.querySelector('.os-contact-form');\n    var fileInput   = root.querySelector('input[type=\"file\"]');\n    var dropZone    = root.querySelector('.file-upload-container');\n    var fileCountEl = root.querySelector('.file-count');\n    var listEl      = root.querySelector('.selected-files');\n    var statusEl    = root.querySelector('.form-status');\n    var btn         = root.querySelector('.submit-btn');\n    var privacy     = root.querySelector('input[name=\"privacy\"]');\n    var privacyLbl  = root.querySelector('.checkbox-group label');\n    fileCountEl.textContent = '0' + T.of + MAX_FILES;\n\n    \/\/ Unikalne id dla checkboxa (klik w etykiet\u0119)\n    var uid = 'os-privacy-' + Math.random().toString(36).slice(2, 9);\n    privacy.id = uid;\n    privacyLbl.setAttribute('for', uid);\n\n    function formatFileSize(bytes) {\n        if (bytes === 0) return '0 B';\n        var k = 1024, sizes = ['B', 'KB', 'MB', 'GB'];\n        var i = Math.floor(Math.log(bytes) \/ Math.log(k));\n        return Math.round(bytes \/ Math.pow(k, i) * 100) \/ 100 + ' ' + sizes[i];\n    }\n\n    function showStatus(type, text) {\n        statusEl.className = 'form-status ' + (type === 'ok' ? 'is-success' : 'is-error');\n        statusEl.textContent = text;\n    }\n\n    function clearStatus() {\n        statusEl.className = 'form-status';\n        statusEl.textContent = '';\n    }\n\n    function setFiles(files) {\n        var dt = new DataTransfer();\n        var skipped = [];\n        files.forEach(function (file) {\n            if (dt.items.length >= MAX_FILES) { skipped.push(file.name); return; }\n            if (file.size > MAX_SIZE_MB * 1024 * 1024) { skipped.push(file.name + T.tooBig); return; }\n            dt.items.add(file);\n        });\n        fileInput.files = dt.files;\n        renderFiles();\n        if (skipped.length) {\n            showStatus('err', T.skipped + skipped.join(', ') + T.limits(MAX_FILES, MAX_SIZE_MB));\n        }\n    }\n\n    function renderFiles() {\n        var files = Array.prototype.slice.call(fileInput.files);\n        fileCountEl.textContent = files.length + T.of + MAX_FILES;\n        listEl.innerHTML = '';\n        files.forEach(function (file, index) {\n            var item = document.createElement('div');\n            item.className = 'file-item';\n\n            var name = document.createElement('span');\n            name.className = 'file-name';\n            name.textContent = file.name;\n\n            var size = document.createElement('span');\n            size.className = 'file-size';\n            size.textContent = formatFileSize(file.size);\n\n            var remove = document.createElement('button');\n            remove.className = 'remove-file';\n            remove.type = 'button';\n            remove.textContent = '\u2715';\n            remove.addEventListener('click', function () {\n                var rest = Array.prototype.slice.call(fileInput.files).filter(function (_, i) { return i !== index; });\n                setFiles(rest);\n            });\n\n            item.appendChild(name);\n            item.appendChild(size);\n            item.appendChild(remove);\n            listEl.appendChild(item);\n        });\n    }\n\n    fileInput.addEventListener('change', function () {\n        clearStatus();\n        setFiles(Array.prototype.slice.call(fileInput.files));\n    });\n\n    \/\/ Przeci\u0105ganie plik\u00f3w na ca\u0142\u0105 ramk\u0119\n    ['dragenter', 'dragover'].forEach(function (ev) {\n        dropZone.addEventListener(ev, function (e) {\n            e.preventDefault();\n            dropZone.classList.add('is-dragover');\n        });\n    });\n    ['dragleave', 'drop'].forEach(function (ev) {\n        dropZone.addEventListener(ev, function (e) {\n            e.preventDefault();\n            dropZone.classList.remove('is-dragover');\n        });\n    });\n    dropZone.addEventListener('drop', function (e) {\n        if (!e.dataTransfer || !e.dataTransfer.files.length) return;\n        clearStatus();\n        var current = Array.prototype.slice.call(fileInput.files);\n        var dropped = Array.prototype.slice.call(e.dataTransfer.files);\n        setFiles(current.concat(dropped));\n    });\n\n    function normalizePhone(raw) {\n        var p = (raw || '').replace(\/[^\\d+]\/g, '');\n        if (!p) return undefined;\n        if (p.indexOf('00') === 0) p = '+' + p.slice(2);\n        if (p.charAt(0) !== '+') p = (p.length === 9 ? '+48' : '+') + p;\n        return p;\n    }\n\n    function trackConversion(fd) {\n        try {\n            if (typeof window.gtag === 'function') {\n                \/\/ Rozszerzone konwersje (email + telefon \u2013 Google je hashuje)\n                window.gtag('set', 'user_data', {\n                    email: (fd.get('email') || '').trim() || undefined,\n                    phone_number: normalizePhone(fd.get('phone'))\n                });\n                window.gtag('event', 'conversion', { send_to: ADS_SEND_TO, value: 1.0, currency: 'PLN' });\n                \/\/ Zdarzenie dla GA4\n                window.gtag('event', 'generate_lead', { form_name: 'kontakt' });\n            }\n            window.dataLayer = window.dataLayer || [];\n            window.dataLayer.push({ event: 'form_submit_success', form_name: 'kontakt' });\n        } catch (err) {\n            console.error('Tracking error:', err);\n        }\n    }\n\n    form.addEventListener('submit', function (e) {\n        e.preventDefault();\n        clearStatus();\n\n        if (!form.checkValidity()) {\n            form.reportValidity();\n            return;\n        }\n\n        var originalText = btn.textContent;\n        btn.textContent = T.sending;\n        btn.disabled = true;\n\n        var fd = new FormData(form);\n\n        fetch(ENDPOINT, { method: 'POST', body: fd })\n            .then(function (response) {\n                if (!response.ok) throw new Error('B\u0142\u0105d serwera: ' + response.status);\n                return response.json();\n            })\n            .then(function (data) {\n                if (data && data.success) {\n                    trackConversion(fd); \/\/ konwersja TYLKO po udanej wysy\u0142ce\n                    showStatus('ok', T.ok);\n                    form.reset();\n                    fileInput.value = '';\n                    renderFiles();\n                } else {\n                    showStatus('err', T.err + ((data && data.message) || T.unknown) + T.call);\n                    if (data && data.debug) console.error('Debug:', data.debug);\n                }\n            })\n            .catch(function (error) {\n                console.error('B\u0142\u0105d:', error);\n                showStatus('err', T.fail);\n            })\n            .finally(function () {\n                btn.textContent = originalText;\n                btn.disabled = false;\n            });\n    });\n    } \/\/ koniec initForm\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3e262b9 elementor-hidden-desktop elementor-hidden-tablet e-flex e-con-boxed e-con e-parent\" data-id=\"3e262b9\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-210b8ad e-con-full e-flex e-con e-child\" data-id=\"210b8ad\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-445ef44 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"445ef44\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"https:\/\/olenasawenko.pl\/new-site\/%d0%b3%d0%be%d0%bb%d0%be%d0%b2%d0%bd%d0%b0-%d1%81%d1%82%d0%be%d1%80%d1%96%d0%bd%d0%ba%d0%b0\/\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"flag-icons-ua\" viewBox=\"0 0 640 480\"><g fill-rule=\"evenodd\" stroke-width=\"1pt\"><path fill=\"gold\" d=\"M0 0h640v480H0z\"><\/path><path fill=\"#0057b8\" d=\"M0 0h640v240H0z\"><\/path><\/g><\/svg>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ebff9d elementor-widget elementor-widget-image\" data-id=\"8ebff9d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-768x1024.jpg\" class=\"attachment-large size-large wp-image-161\" alt=\"O\u0142ena Sawenko \u2013 t\u0142umacz przysi\u0119g\u0142y j\u0119zyka ukrai\u0144skiego w Warszawie\" srcset=\"https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-768x1024.jpg 768w, https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-225x300.jpg 225w, https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-1152x1536.jpg 1152w, https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-1536x2048.jpg 1536w, https:\/\/olenasawenko.pl\/new-site\/wp-content\/uploads\/2025\/03\/IMG_0593-scaled.jpg 1920w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-657cd8e e-con-full e-flex e-con e-child\" data-id=\"657cd8e\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c381687 elementor-widget elementor-widget-heading\" data-id=\"c381687\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">O\u0142ena Sawenko<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7807dfb elementor-widget elementor-widget-text-editor\" data-id=\"7807dfb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>T\u0142umacz przysi\u0119g\u0142y j\u0119zyka ukrai\u0144skiego<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f421089 elementor-widget elementor-widget-text-editor\" data-id=\"f421089\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-pm-slice=\"1 1 []\">T\u0142umacz\u0119 dokumenty z j\u0119zyka ukrai\u0144skiego na polski i z polskiego na ukrai\u0144ski. Prze\u015blij skan do wyceny lub odwied\u017a moje biuro przy ul. Nowogrodzkiej 42\/22.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f66b195 elementor-widget__width-initial elementor-widget-tablet__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-global elementor-global-3490 elementor-widget-html\" data-id=\"f66b195\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ===== Formularz kontaktowy \u2013 Olena Sawenko (wersja z konwersj\u0105 Google Ads) ===== -->\n<!-- Wklej CA\u0141O\u015a\u0106 do wid\u017cetu HTML w Elementorze. Mo\u017ce by\u0107 u\u017cyty kilka razy na stronie. -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Abhaya+Libre:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n<style>\n    .os-form-container,\n    .os-form-container * {\n        margin: 0;\n        padding: 0;\n        box-sizing: border-box;\n    }\n\n    .os-form-container {\n        font-family: 'Abhaya Libre', serif;\n        width: 100%;\n        max-width: 500px;\n        margin: 0 auto;\n        padding: 30px 25px;\n        background: rgba(255, 255, 255, 0.15);\n        backdrop-filter: blur(15px);\n        -webkit-backdrop-filter: blur(15px);\n        border-radius: 25px;\n        border: 1px solid rgba(255, 255, 255, 0.2);\n        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n    }\n\n    .os-form-title {\n        text-align: center;\n        color: #ffffff;\n        font-size: 28px;\n        font-weight: 700;\n        margin-bottom: 20px;\n        text-transform: uppercase;\n        letter-spacing: 2px;\n        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);\n    }\n\n    .os-form-container .form-group {\n        margin-bottom: 12px;\n    }\n\n    .os-form-container input[type=\"text\"],\n    .os-form-container input[type=\"email\"],\n    .os-form-container input[type=\"tel\"],\n    .os-form-container textarea {\n        width: 100%;\n        padding: 10px 14px;\n        border: none;\n        border-radius: 20px;\n        background: rgba(255, 255, 255, 0.9);\n        font-family: 'Abhaya Libre', serif;\n        font-size: 16px;\n        color: #333;\n        transition: all 0.3s ease;\n    }\n\n    .os-form-container input::placeholder,\n    .os-form-container textarea::placeholder {\n        color: #999;\n        font-family: 'Abhaya Libre', serif;\n        font-size: 16px;\n    }\n\n    .os-form-container input:focus,\n    .os-form-container textarea:focus {\n        outline: none;\n        background: #ffffff;\n    }\n\n    .os-form-container textarea {\n        resize: vertical;\n        min-height: 80px;\n        border-radius: 18px;\n    }\n\n    .os-form-container .file-upload-container {\n        position: relative;\n        margin-bottom: 12px;\n        padding: 15px 12px;\n        border: 2px dashed rgba(184, 151, 90, 0.4);\n        border-radius: 18px;\n        background: rgba(255, 255, 255, 0.05);\n        text-align: center;\n        transition: all 0.3s ease;\n    }\n\n    .os-form-container .file-upload-container:hover,\n    .os-form-container .file-upload-container.is-dragover {\n        border-color: #b8975a;\n        background: rgba(255, 255, 255, 0.1);\n    }\n\n    .os-form-container .file-upload-title {\n        color: #ffffff;\n        font-size: 15px;\n        font-weight: 600;\n        margin-bottom: 4px;\n    }\n\n    .os-form-container .file-upload-or {\n        color: rgba(255, 255, 255, 0.8);\n        font-size: 15px;\n        margin-bottom: 8px;\n    }\n\n    .os-form-container .file-upload-wrapper {\n        position: relative;\n        display: inline-block;\n    }\n\n    .os-form-container .file-upload-wrapper input[type=\"file\"] {\n        position: absolute;\n        left: 0;\n        top: 0;\n        width: 100%;\n        height: 100%;\n        opacity: 0;\n        cursor: pointer;\n    }\n\n    .os-form-container .file-button {\n        display: inline-block;\n        padding: 8px 20px;\n        background: rgba(255, 255, 255, 0.9);\n        color: #A59461;\n        border: 1px solid #A59461;\n        border-radius: 18px;\n        font-size: 16px;\n        font-weight: 600;\n        font-family: 'Abhaya Libre', serif;\n        cursor: pointer;\n    }\n\n    .os-form-container .file-button:hover {\n        background: #ffffff;\n    }\n\n    .os-form-container .file-count {\n        display: block;\n        margin-top: 8px;\n        color: rgba(255, 255, 255, 0.9);\n        font-size: 15px;\n        font-weight: 500;\n    }\n\n    .os-form-container .selected-files {\n        margin-top: 10px;\n        padding: 10px;\n        background: rgba(255, 255, 255, 0.1);\n        border-radius: 12px;\n        max-height: 150px;\n        overflow-y: auto;\n    }\n\n    .os-form-container .selected-files:empty {\n        display: none;\n    }\n\n    .os-form-container .file-item {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        padding: 5px 8px;\n        margin-bottom: 5px;\n        background: rgba(255, 255, 255, 0.15);\n        border-radius: 10px;\n        color: #ffffff;\n        font-size: 14px;\n    }\n\n    .os-form-container .file-item:last-child {\n        margin-bottom: 0;\n    }\n\n    .os-form-container .file-name {\n        flex: 1;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        margin-right: 8px;\n        text-align: left;\n    }\n\n    .os-form-container .file-size {\n        color: rgba(255, 255, 255, 0.7);\n        font-size: 14px;\n        white-space: nowrap;\n    }\n\n    .os-form-container .remove-file {\n        background: rgba(255, 0, 0, 0.6);\n        color: #ffffff;\n        border: none;\n        border-radius: 6px;\n        padding: 3px 6px;\n        margin-left: 6px;\n        cursor: pointer;\n        font-size: 14px;\n        flex-shrink: 0;\n    }\n\n    .os-form-container .remove-file:hover {\n        background: rgba(255, 0, 0, 0.8);\n    }\n\n    .os-form-container .checkbox-group {\n        display: flex;\n        align-items: flex-start;\n        margin-bottom: 15px;\n        gap: 8px;\n    }\n\n    .os-form-container .checkbox-group input[type=\"checkbox\"] {\n        appearance: none;\n        -webkit-appearance: none;\n        width: 20px;\n        height: 20px;\n        border: 2px solid #b8975a;\n        border-radius: 50%;\n        background: rgba(255, 255, 255, 0.2);\n        cursor: pointer;\n        position: relative;\n        flex-shrink: 0;\n        margin-top: 2px;\n    }\n\n    @media (max-width: 768px) {\n        .os-form-container .checkbox-group input[type=\"checkbox\"] {\n            width: 22px;\n            height: 22px;\n        }\n    }\n\n    .os-form-container .checkbox-group input[type=\"checkbox\"]:checked {\n        background: #b8975a;\n    }\n\n    .os-form-container .checkbox-group input[type=\"checkbox\"]:checked::after {\n        content: '\u2713';\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        color: #ffffff;\n        font-size: 12px;\n        font-weight: bold;\n    }\n\n    .os-form-container .checkbox-group label {\n        color: #ffffff;\n        font-size: 16px;\n        line-height: 1.4;\n        cursor: pointer;\n        font-weight: 500;\n    }\n\n    .os-form-container .checkbox-group label a {\n        color: #b8975a;\n        text-decoration: underline;\n    }\n\n    .os-form-container .checkbox-group label a:hover {\n        color: #ffffff;\n    }\n\n    .os-form-container .submit-btn {\n        width: 100%;\n        padding: 10px;\n        background: #A59461 !important;\n        color: #ffffff !important;\n        border: none !important;\n        border-radius: 20px !important;\n        font-family: 'Abhaya Libre', serif;\n        font-size: 18px;\n        font-weight: 700;\n        cursor: pointer;\n        transition: background 0.3s ease;\n        text-transform: uppercase;\n        letter-spacing: 1.5px;\n    }\n\n    .os-form-container .submit-btn:hover {\n        background: linear-gradient(to right, #7A6624, #EBD07C) !important;\n    }\n\n    .os-form-container .submit-btn:focus,\n    .os-form-container .submit-btn:active {\n        outline: none !important;\n        background: #A59461 !important;\n    }\n\n    .os-form-container .submit-btn:disabled {\n        opacity: 0.7;\n        cursor: not-allowed;\n    }\n\n    .os-form-container .form-status {\n        display: none;\n        margin-top: 12px;\n        padding: 12px 14px;\n        border-radius: 14px;\n        font-size: 16px;\n        line-height: 1.4;\n        text-align: center;\n        color: #ffffff;\n    }\n\n    .os-form-container .form-status.is-success {\n        display: block;\n        background: rgba(46, 125, 50, 0.85);\n    }\n\n    .os-form-container .form-status.is-error {\n        display: block;\n        background: rgba(198, 40, 40, 0.85);\n    }\n<\/style>\n\n<div class=\"os-form-container\">\n    <div class=\"os-form-title\">KONTAKT<\/div>\n\n    <form class=\"os-contact-form\" novalidate>\n        <div class=\"form-group\">\n            <input type=\"text\" name=\"name\" placeholder=\"Imi\u0119:\" autocomplete=\"name\" required>\n        <\/div>\n\n        <div class=\"form-group\">\n            <input type=\"email\" name=\"email\" placeholder=\"Adres e-mail:\" autocomplete=\"email\" required>\n        <\/div>\n\n        <div class=\"form-group\">\n            <input type=\"tel\" name=\"phone\" placeholder=\"Telefon:\" autocomplete=\"tel\" required>\n        <\/div>\n\n        <div class=\"form-group\">\n            <textarea name=\"message\" placeholder=\"Wiadomo\u015b\u0107:\" required><\/textarea>\n        <\/div>\n\n        <div class=\"file-upload-container\">\n            <div class=\"file-upload-title\">Przeci\u0105gnij pliki tutaj<\/div>\n            <div class=\"file-upload-or\">lub<\/div>\n            <div class=\"file-upload-wrapper\">\n                <input type=\"file\" name=\"files[]\" multiple accept=\"*\/*\">\n                <div class=\"file-button\">Przegl\u0105daj pliki<\/div>\n            <\/div>\n            <span class=\"file-count\">0 z 10<\/span>\n            <div class=\"selected-files\"><\/div>\n        <\/div>\n\n        <div class=\"checkbox-group\">\n            <input type=\"checkbox\" name=\"privacy\" required>\n            <label>Zgadzam si\u0119 z <a href=\"https:\/\/olenasawenko.pl\/new-site\/polityka-prywatnosci\/\" target=\"_blank\" rel=\"noopener\">Polityk\u0105 Prywatno\u015bci<\/a>.<\/label>\n        <\/div>\n\n        <button type=\"submit\" class=\"submit-btn\">Wy\u015blij<\/button>\n\n        <div class=\"form-status\" role=\"status\" aria-live=\"polite\"><\/div>\n    <\/form>\n<\/div>\n\n<script>\n(function () {\n    \/\/ ================== USTAWIENIA ==================\n    \/\/ ID i etykieta konwersji z Google Ads:\n    \/\/ Cele \u2192 Konwersje \u2192 \"Przes\u0142anie formularza kontaktowego\" \u2192 Konfiguracja tagu\n    var ADS_SEND_TO = 'AW-16934687096\/Rf0ZCJbGxMAcEPiii4s_';\n    var ENDPOINT    = 'https:\/\/olenasawenko.pl\/new-site\/send-email.php';\n    var MAX_FILES   = 10;\n    var MAX_SIZE_MB = 10; \/\/ maks. rozmiar jednego pliku\n    \/\/ =================================================\n\n    \/\/ J\u0119zyk: strony ukrai\u0144skie maj\u0105 cyrylic\u0119 w adresie (np. \/\u0433\u043e\u043b\u043e\u0432\u043d\u0430-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430\/)\n    var IS_UA = \/[\u0400-\u04ff]\/.test(decodeURIComponent(location.pathname));\n    var T = IS_UA ? {\n        title: '\u041a\u041e\u041d\u0422\u0410\u041a\u0422', name: \"\u0406\u043c'\u044f:\", email: '\u0410\u0434\u0440\u0435\u0441\u0430 e-mail:', phone: '\u0422\u0435\u043b\u0435\u0444\u043e\u043d:', message: '\u041f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f:',\n        drop: '\u041f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0444\u0430\u0439\u043b\u0438 \u0441\u044e\u0434\u0438', or: '\u0430\u0431\u043e', browse: '\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043b\u0438', of: ' \u0437 ',\n        privacyHtml: '\u041f\u043e\u0433\u043e\u0434\u0436\u0443\u044e\u0441\u044c \u0437 <a href=\"https:\/\/olenasawenko.pl\/new-site\/polityka-prywatnosci\/\" target=\"_blank\" rel=\"noopener\">\u041f\u043e\u043b\u0456\u0442\u0438\u043a\u043e\u044e \u043a\u043e\u043d\u0444\u0456\u0434\u0435\u043d\u0446\u0456\u0439\u043d\u043e\u0441\u0442\u0456<\/a>.',\n        send: '\u041d\u0430\u0434\u0456\u0441\u043b\u0430\u0442\u0438', sending: '\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u043d\u043d\u044f...',\n        ok: '\u2705 \u0414\u044f\u043a\u0443\u0454\u043c\u043e! \u041f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u043d\u043e. \u0412\u0456\u0434\u043f\u043e\u0432\u0456\u043c\u043e \u044f\u043a\u043d\u0430\u0439\u0448\u0432\u0438\u0434\u0448\u0435.',\n        err: '\u274c \u041f\u043e\u043c\u0438\u043b\u043a\u0430: ', unknown: '\u041d\u0435\u0432\u0456\u0434\u043e\u043c\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430', call: '. \u0417\u0430\u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443\u0439\u0442\u0435: +48 888 810 885',\n        fail: '\u274c \u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u0442\u0438 \u0444\u043e\u0440\u043c\u0443. \u0417\u0430\u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443\u0439\u0442\u0435: +48 888 810 885',\n        skipped: '\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043e: ', tooBig: ' (\u0437\u0430\u0432\u0435\u043b\u0438\u043a\u0438\u0439)', limits: function (n, mb) { return '. \u041c\u0430\u043a\u0441. ' + n + ' \u0444\u0430\u0439\u043b\u0456\u0432, \u0434\u043e ' + mb + ' \u041c\u0411 \u043a\u043e\u0436\u0435\u043d.'; }\n    } : {\n        of: ' z ', sending: 'Wysy\u0142anie...',\n        ok: '\u2705 Dzi\u0119kujemy! Wiadomo\u015b\u0107 zosta\u0142a wys\u0142ana. Odpowiemy najszybciej, jak to mo\u017cliwe.',\n        err: '\u274c B\u0142\u0105d: ', unknown: 'Nieznany b\u0142\u0105d', call: '. Zadzwo\u0144: +48 888 810 885',\n        fail: '\u274c Nie uda\u0142o si\u0119 wys\u0142a\u0107 formularza. Zadzwo\u0144: +48 888 810 885',\n        skipped: 'Pomini\u0119to: ', tooBig: ' (za du\u017cy)', limits: function (n, mb) { return '. Maks. ' + n + ' plik\u00f3w, do ' + mb + ' MB ka\u017cdy.'; }\n    };\n\n    function translate(root) {\n        if (!IS_UA) return;\n        var set = function (sel, prop, val) { var el = root.querySelector(sel); if (el) el[prop] = val; };\n        set('.os-form-title', 'textContent', T.title);\n        set('input[name=\"name\"]', 'placeholder', T.name);\n        set('input[name=\"email\"]', 'placeholder', T.email);\n        set('input[name=\"phone\"]', 'placeholder', T.phone);\n        set('textarea[name=\"message\"]', 'placeholder', T.message);\n        set('.file-upload-title', 'textContent', T.drop);\n        set('.file-upload-or', 'textContent', T.or);\n        set('.file-button', 'textContent', T.browse);\n        set('.checkbox-group label', 'innerHTML', T.privacyHtml);\n        set('.submit-btn', 'textContent', T.send);\n    }\n\n    \/\/ Inicjalizacja ka\u017cdej kopii formularza osobno (odporne na Rocket Loader \/ op\u00f3\u017anianie JS)\n    function initAll() {\n        var roots = document.querySelectorAll('.os-form-container');\n        for (var i = 0; i < roots.length; i++) {\n            if (roots[i].dataset.osInit !== '1') {\n                roots[i].dataset.osInit = '1';\n                initForm(roots[i]);\n            }\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initAll);\n    } else {\n        initAll();\n    }\n\n    function initForm(root) {\n    translate(root);\n    var form       = root.querySelector('.os-contact-form');\n    var fileInput   = root.querySelector('input[type=\"file\"]');\n    var dropZone    = root.querySelector('.file-upload-container');\n    var fileCountEl = root.querySelector('.file-count');\n    var listEl      = root.querySelector('.selected-files');\n    var statusEl    = root.querySelector('.form-status');\n    var btn         = root.querySelector('.submit-btn');\n    var privacy     = root.querySelector('input[name=\"privacy\"]');\n    var privacyLbl  = root.querySelector('.checkbox-group label');\n    fileCountEl.textContent = '0' + T.of + MAX_FILES;\n\n    \/\/ Unikalne id dla checkboxa (klik w etykiet\u0119)\n    var uid = 'os-privacy-' + Math.random().toString(36).slice(2, 9);\n    privacy.id = uid;\n    privacyLbl.setAttribute('for', uid);\n\n    function formatFileSize(bytes) {\n        if (bytes === 0) return '0 B';\n        var k = 1024, sizes = ['B', 'KB', 'MB', 'GB'];\n        var i = Math.floor(Math.log(bytes) \/ Math.log(k));\n        return Math.round(bytes \/ Math.pow(k, i) * 100) \/ 100 + ' ' + sizes[i];\n    }\n\n    function showStatus(type, text) {\n        statusEl.className = 'form-status ' + (type === 'ok' ? 'is-success' : 'is-error');\n        statusEl.textContent = text;\n    }\n\n    function clearStatus() {\n        statusEl.className = 'form-status';\n        statusEl.textContent = '';\n    }\n\n    function setFiles(files) {\n        var dt = new DataTransfer();\n        var skipped = [];\n        files.forEach(function (file) {\n            if (dt.items.length >= MAX_FILES) { skipped.push(file.name); return; }\n            if (file.size > MAX_SIZE_MB * 1024 * 1024) { skipped.push(file.name + T.tooBig); return; }\n            dt.items.add(file);\n        });\n        fileInput.files = dt.files;\n        renderFiles();\n        if (skipped.length) {\n            showStatus('err', T.skipped + skipped.join(', ') + T.limits(MAX_FILES, MAX_SIZE_MB));\n        }\n    }\n\n    function renderFiles() {\n        var files = Array.prototype.slice.call(fileInput.files);\n        fileCountEl.textContent = files.length + T.of + MAX_FILES;\n        listEl.innerHTML = '';\n        files.forEach(function (file, index) {\n            var item = document.createElement('div');\n            item.className = 'file-item';\n\n            var name = document.createElement('span');\n            name.className = 'file-name';\n            name.textContent = file.name;\n\n            var size = document.createElement('span');\n            size.className = 'file-size';\n            size.textContent = formatFileSize(file.size);\n\n            var remove = document.createElement('button');\n            remove.className = 'remove-file';\n            remove.type = 'button';\n            remove.textContent = '\u2715';\n            remove.addEventListener('click', function () {\n                var rest = Array.prototype.slice.call(fileInput.files).filter(function (_, i) { return i !== index; });\n                setFiles(rest);\n            });\n\n            item.appendChild(name);\n            item.appendChild(size);\n            item.appendChild(remove);\n            listEl.appendChild(item);\n        });\n    }\n\n    fileInput.addEventListener('change', function () {\n        clearStatus();\n        setFiles(Array.prototype.slice.call(fileInput.files));\n    });\n\n    \/\/ Przeci\u0105ganie plik\u00f3w na ca\u0142\u0105 ramk\u0119\n    ['dragenter', 'dragover'].forEach(function (ev) {\n        dropZone.addEventListener(ev, function (e) {\n            e.preventDefault();\n            dropZone.classList.add('is-dragover');\n        });\n    });\n    ['dragleave', 'drop'].forEach(function (ev) {\n        dropZone.addEventListener(ev, function (e) {\n            e.preventDefault();\n            dropZone.classList.remove('is-dragover');\n        });\n    });\n    dropZone.addEventListener('drop', function (e) {\n        if (!e.dataTransfer || !e.dataTransfer.files.length) return;\n        clearStatus();\n        var current = Array.prototype.slice.call(fileInput.files);\n        var dropped = Array.prototype.slice.call(e.dataTransfer.files);\n        setFiles(current.concat(dropped));\n    });\n\n    function normalizePhone(raw) {\n        var p = (raw || '').replace(\/[^\\d+]\/g, '');\n        if (!p) return undefined;\n        if (p.indexOf('00') === 0) p = '+' + p.slice(2);\n        if (p.charAt(0) !== '+') p = (p.length === 9 ? '+48' : '+') + p;\n        return p;\n    }\n\n    function trackConversion(fd) {\n        try {\n            if (typeof window.gtag === 'function') {\n                \/\/ Rozszerzone konwersje (email + telefon \u2013 Google je hashuje)\n                window.gtag('set', 'user_data', {\n                    email: (fd.get('email') || '').trim() || undefined,\n                    phone_number: normalizePhone(fd.get('phone'))\n                });\n                window.gtag('event', 'conversion', { send_to: ADS_SEND_TO, value: 1.0, currency: 'PLN' });\n                \/\/ Zdarzenie dla GA4\n                window.gtag('event', 'generate_lead', { form_name: 'kontakt' });\n            }\n            window.dataLayer = window.dataLayer || [];\n            window.dataLayer.push({ event: 'form_submit_success', form_name: 'kontakt' });\n        } catch (err) {\n            console.error('Tracking error:', err);\n        }\n    }\n\n    form.addEventListener('submit', function (e) {\n        e.preventDefault();\n        clearStatus();\n\n        if (!form.checkValidity()) {\n            form.reportValidity();\n            return;\n        }\n\n        var originalText = btn.textContent;\n        btn.textContent = T.sending;\n        btn.disabled = true;\n\n        var fd = new FormData(form);\n\n        fetch(ENDPOINT, { method: 'POST', body: fd })\n            .then(function (response) {\n                if (!response.ok) throw new Error('B\u0142\u0105d serwera: ' + response.status);\n                return response.json();\n            })\n            .then(function (data) {\n                if (data && data.success) {\n                    trackConversion(fd); \/\/ konwersja TYLKO po udanej wysy\u0142ce\n                    showStatus('ok', T.ok);\n                    form.reset();\n                    fileInput.value = '';\n                    renderFiles();\n                } else {\n                    showStatus('err', T.err + ((data && data.message) || T.unknown) + T.call);\n                    if (data && data.debug) console.error('Debug:', data.debug);\n                }\n            })\n            .catch(function (error) {\n                console.error('B\u0142\u0105d:', error);\n                showStatus('err', T.fail);\n            })\n            .finally(function () {\n                btn.textContent = originalText;\n                btn.disabled = false;\n            });\n    });\n    } \/\/ koniec initForm\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>00-695 Warszawa, ul. Nowogrodzka 42\/22, +48 888 810 885, e-mail: olena.sawenko@gmail.com O\u0142ena Sawenko T\u0142umacz przysi\u0119g\u0142y j\u0119zyka ukrai\u0144skiego w Warszawie T\u0142umacz\u0119 dokumenty z j\u0119zyka ukrai\u0144skiego na polski i z polskiego na ukrai\u0144ski. Prze\u015blij skan do wyceny lub odwied\u017a moje biuro przy ul. Nowogrodzkiej 42\/22. KONTAKT Przeci\u0105gnij pliki tutaj lub Przegl\u0105daj pliki 0 z 10 Zgadzam si\u0119 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-13","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/olenasawenko.pl\/new-site\/wp-json\/wp\/v2\/pages\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olenasawenko.pl\/new-site\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/olenasawenko.pl\/new-site\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/olenasawenko.pl\/new-site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/olenasawenko.pl\/new-site\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":1019,"href":"https:\/\/olenasawenko.pl\/new-site\/wp-json\/wp\/v2\/pages\/13\/revisions"}],"predecessor-version":[{"id":3595,"href":"https:\/\/olenasawenko.pl\/new-site\/wp-json\/wp\/v2\/pages\/13\/revisions\/3595"}],"wp:attachment":[{"href":"https:\/\/olenasawenko.pl\/new-site\/wp-json\/wp\/v2\/media?parent=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}