{"id":9,"date":"2026-08-15T13:06:03","date_gmt":"2026-08-15T13:06:03","guid":{"rendered":"http:\/\/dariadawid.pl\/?page_id=9"},"modified":"2026-08-15T13:58:10","modified_gmt":"2026-08-15T13:58:10","slug":"home","status":"publish","type":"page","link":"https:\/\/dariadawid.pl\/","title":{"rendered":"Home"},"content":{"rendered":"\n<!--\n  ===========================================================================\n  ZAPROSZENIE \u015aLUBNE \u2014 DARIA & DAWID\n  Blok HTML do WordPressa (Custom HTML \/ W\u0142asny kod HTML)\n  ---------------------------------------------------------------------------\n  Style s\u0105 zamkni\u0119te w .wi-root, wi\u0119c nie koliduj\u0105 z motywem.\n\n  DO UZUPE\u0141NIENIA \u2014 szukaj s\u0142owa PODMIEN:\n   1. DATA \u015aLUBU \u2014 jedno miejsce w skrypcie (CFG.date). Podstawia si\u0119 sama\n      wsz\u0119dzie: w zaproszeniu, odliczaniu i harmonogramie, po polsku i po\n      angielsku.\n   2. Termin potwierdzenia obecno\u015bci (RSVP)\n   3. Adresy Google Maps dla ko\u015bcio\u0142a i sali\n   4. Zdj\u0119cia (t\u0142o hero) i plik MP3 z muzyk\u0105\n   5. Adres e-mail, na kt\u00f3ry maj\u0105 przychodzi\u0107 odpowiedzi RSVP\n  ===========================================================================\n-->\n\n<div class=\"wi-root\" id=\"wi\">\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Great+Vibes&family=Cinzel:wght@400;500&display=swap');\n\n\/* =====================================================================\n   UKRYCIE NAG\u0141\u00d3WKA I STOPKI MOTYWU\n   Te regu\u0142y celowo NIE s\u0105 zaw\u0119\u017cone do .wi-root \u2014 musz\u0105 si\u0119gn\u0105\u0107\n   element\u00f3w motywu. Dzia\u0142aj\u0105 tylko na stronie z tym blokiem.\n   Je\u015bli zniknie co\u015b, co ma zosta\u0107 \u2014 usu\u0144 pojedynczy wiersz.\n   ===================================================================== *\/\nbody header.wp-block-template-part,\nbody .wp-site-blocks > header,\nbody .site-header,\nbody #masthead,\nbody .site-branding,\nbody .wp-block-site-title,\nbody .wp-block-site-logo,\nbody .wp-block-navigation,\nbody .main-navigation,\nbody #site-navigation,\nbody .entry-header,\nbody .page-header,\nbody .entry-title,\nbody .page-title,\nbody .wp-block-post-title,\nbody footer.wp-block-template-part,\nbody .site-footer,\nbody #colophon{display:none!important}\n\n\/* tre\u015b\u0107 na pe\u0142n\u0105 szeroko\u015b\u0107, bez margines\u00f3w motywu *\/\nbody .site-main,\nbody .entry-content,\nbody .wp-block-post-content,\nbody #content,\nbody #primary,\nbody .content-area{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}\n\n\/* wyj\u015bcie poza kontener motywu na ca\u0142\u0105 szeroko\u015b\u0107 ekranu *\/\n.wi-root{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}\n\n.wi-root{\n  \/* ---- Wasza paleta ---- *\/\n  --wi-magenta:#E0157F;\n  --wi-rose:#C41E5A;\n  --wi-dusty:#D97E93;\n  --wi-blush:#F4BFC9;\n  --wi-red:#BE1A2E;\n  --wi-wine:#5E1122;\n  \/* ---- t\u0142a pochodne ---- *\/\n  --wi-bg:#FFF7F9;\n  --wi-bg-2:#FDEDF1;\n  --wi-paper:#FFFCFD;\n  --wi-line:rgba(94,17,34,.16);\n  --wi-muted:#9C6B77;\n\n  --wi-script:\"Great Vibes\",\"Cormorant Garamond\",cursive;\n  --wi-serif:\"Cormorant Garamond\",Garamond,serif;\n  --wi-caps:\"Cinzel\",Georgia,serif;\n\n  position:relative;\n  background:var(--wi-bg);\n  color:var(--wi-wine);\n  font-family:var(--wi-serif);\n  font-size:17px;\n  line-height:1.6;\n  overflow-x:hidden;\n  -webkit-font-smoothing:antialiased;\n}\n.wi-root *,.wi-root *::before,.wi-root *::after{box-sizing:border-box}\n.wi-root p,.wi-root h1,.wi-root h2,.wi-root h3,.wi-root ul,.wi-root ol{margin:0;padding:0}\n.wi-root ul,.wi-root ol{list-style:none}\n.wi-root button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}\n.wi-root img{display:block;max-width:100%}\n.wi-root a{color:inherit}\n.wi-root :focus-visible{outline:2px solid var(--wi-magenta);outline-offset:3px}\n\nhtml.wi-locked,body.wi-locked{overflow:hidden!important}\n\n\/* ---------- typografia ---------- *\/\n.wi-script{font-family:var(--wi-script);font-weight:400;line-height:1.3;color:var(--wi-rose)}\n.wi-eyebrow{font-family:var(--wi-caps);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--wi-dusty)}\n.wi-rule{width:64px;height:1px;background:var(--wi-line);margin:22px auto}\n.wi-rule-gold{width:120px;height:2px;margin:22px auto;border-radius:2px;\n  background:linear-gradient(90deg,transparent,var(--wi-magenta),var(--wi-rose),transparent)}\n\n\/* ---------- sekcje ---------- *\/\n.wi-section{padding:88px 22px;text-align:center;position:relative}\n.wi-inner{width:100%;max-width:560px;margin:0 auto}\n.wi-alt{background:var(--wi-bg-2)}\n\n\/* ---------- animacja wej\u015bcia ----------\n   Ukrywamy elementy TYLKO gdy dzia\u0142a JavaScript (klasa .wi-anim).\n   Bez JS wszystko jest od razu widoczne. *\/\n.wi-anim .wi-reveal{opacity:0;transform:translateY(26px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}\n.wi-anim .wi-reveal.wi-in{opacity:1;transform:none}\n.wi-d1{transition-delay:.12s}.wi-d2{transition-delay:.24s}.wi-d3{transition-delay:.36s}.wi-d4{transition-delay:.48s}\n\n\/* ================= KOPERTA =================\n   Ca\u0142a animacja otwierania dzia\u0142a BEZ JavaScriptu.\n   Ukryty checkbox uruchamia sekwencj\u0119, ka\u017cdy element ma w\u0142asne\n   op\u00f3\u017anienie (transition-delay), co daje efekt nast\u0119puj\u0105cych po sobie scen:\n     0,35 s  p\u0119ka piecz\u0119\u0107             (1,7 s)\n     1,00 s  odchyla si\u0119 klapka       (3,2 s)  <- najd\u0142u\u017csza scena\n     1,00 s  koperta osuwa si\u0119 w d\u00f3\u0142  (3,6 s)\n     4,00 s  wysuwa si\u0119 list          (2,8 s)\n     7,00 s  list przybli\u017ca si\u0119       (2,2 s)\n     8,40 s  kurtyna ga\u015bnie           (1,5 s)\n     ~9,9 s  koniec sekwencji\n   Tempo regulujesz dwiema rzeczami naraz: ostatnia liczba w ka\u017cdej regule\n   transition to op\u00f3\u017anienie startu, wcze\u015bniejsza to czas trwania.\n   Po zmianie dopasuj te\u017c 6600\/7800 w skrypcie na dole.\n   ================================================================= *\/\n.wi-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;margin:0}\n\n.wi-envelope{\n  position:fixed;inset:0;z-index:9998;\n  display:flex;align-items:center;justify-content:center;\n  padding:max(24px,9vh) 24px 24px;\n  background:linear-gradient(160deg,#5E1122 0%,#8E1636 45%,#BE1A2E 100%);\n  transition:opacity 1.5s ease 8.4s,visibility 1.5s 8.4s;\n}\n.wi-toggle:checked ~ .wi-envelope{opacity:0;visibility:hidden;pointer-events:none}\n\n\/* --- scena: perspektywa dla obrotu klapki --- *\/\n.wi-env-stage{\n  display:block;width:min(430px,86vw);perspective:1400px;cursor:pointer;text-align:center;\n  transition:transform 2.2s cubic-bezier(.22,1,.36,1) 7s,opacity 1.9s ease 7.4s;\n}\n.wi-toggle:checked ~ .wi-envelope .wi-env-stage{transform:scale(1.42);opacity:0}\n.wi-toggle:focus-visible ~ .wi-envelope .wi-env{outline:3px solid #fff;outline-offset:8px}\n\n\/* --- korpus koperty --- *\/\n.wi-env{\n  position:relative;width:100%;aspect-ratio:3\/2;\n  transform-style:preserve-3d;\n  transition:transform 1.1s cubic-bezier(.22,1,.36,1);\n}\n.wi-env-stage:hover .wi-env{transform:translateY(-6px)}\n\/* Po klikni\u0119ciu koperta osuwa si\u0119 w d\u00f3\u0142, \u017ceby wysuwaj\u0105cy si\u0119 list\n   zmie\u015bci\u0142 si\u0119 w kadrze tak\u017ce na ni\u017cszych ekranach. Ruch startuje\n   razem z otwieraniem klapki i trwa d\u0142u\u017cej ni\u017c samo wysuwanie listu,\n   dzi\u0119ki czemu wygl\u0105da na spokojne opadanie, a nie szarpni\u0119cie.\n   Warto\u015b\u0107 20% odnosi si\u0119 do wysoko\u015bci koperty \u2014 zwi\u0119ksz j\u0105,\n   je\u015bli list nadal jest przyci\u0119ty u g\u00f3ry. *\/\n.wi-toggle:checked ~ .wi-envelope .wi-env{\n  transform:translateY(20%);\n  transition:transform 3.6s cubic-bezier(.22,1,.36,1) 1s;\n}\n\n\/* ty\u0142 koperty + jej wn\u0119trze widoczne po otwarciu *\/\n.wi-env-back{\n  position:absolute;inset:0;border-radius:8px;overflow:hidden;\n  background:linear-gradient(160deg,#FFF6F8,#FBE3E9);\n  box-shadow:0 44px 90px -40px rgba(0,0,0,.65);\n}\n.wi-env-back::before{\n  content:\"\";position:absolute;left:0;right:0;top:0;height:56%;\n  background:linear-gradient(180deg,rgba(94,17,34,.5),rgba(94,17,34,.12));\n}\n\n\/* list wysuwany z koperty *\/\n.wi-letter{\n  position:absolute;left:6%;right:6%;bottom:3%;height:94%;z-index:2;\n  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;\n  padding:18px;border-radius:5px;\n  background:linear-gradient(170deg,#FFFCFD,#FDEDF1);\n  border:1px solid rgba(244,191,201,.9);\n  box-shadow:0 -8px 22px rgba(94,17,34,.16);\n  transition:transform 2.8s cubic-bezier(.22,1,.36,1) 4s;\n}\n.wi-toggle:checked ~ .wi-envelope .wi-letter{transform:translateY(-95%)}\n.wi-letter-eyebrow{\n  font-family:var(--wi-caps);font-size:9px;letter-spacing:.3em;text-transform:uppercase;\n  color:var(--wi-dusty);\n}\n.wi-letter-names{font-family:var(--wi-script);font-size:clamp(30px,8vw,42px);color:var(--wi-rose);line-height:1.2}\n.wi-letter-date{font-family:var(--wi-caps);font-size:10px;letter-spacing:.24em;color:var(--wi-muted)}\n\n\/* prz\u00f3d koperty \u2014 boczne klapki schodz\u0105ce si\u0119 w liter\u0119 V *\/\n.wi-env-front{\n  position:absolute;inset:0;z-index:3;border-radius:8px;\n  background:linear-gradient(160deg,#FFFCFD 0%,#FBE3E9 60%,#F4BFC9 100%);\n  clip-path:polygon(0 0,50% 46%,100% 0,100% 100%,0 100%);\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);\n}\n.wi-env-front::after{\n  content:\"\";position:absolute;inset:0;opacity:.5;\n  background-image:\n    radial-gradient(circle at 20% 78%,rgba(212,126,147,.18) 0 14px,transparent 15px),\n    radial-gradient(circle at 82% 84%,rgba(212,126,147,.14) 0 18px,transparent 19px),\n    radial-gradient(circle at 52% 92%,rgba(212,126,147,.13) 0 12px,transparent 13px);\n}\n\n\/* g\u00f3rna klapka \u2014 obraca si\u0119 w 3D wok\u00f3\u0142 g\u00f3rnej kraw\u0119dzi *\/\n.wi-env-flap{\n  position:absolute;left:0;right:0;top:0;height:52%;z-index:5;\n  background:linear-gradient(180deg,#FFF6F8 0%,#F9DCE3 100%);\n  clip-path:polygon(0 0,100% 0,50% 100%);\n  transform-origin:top center;transform:rotateX(0deg);\n  filter:drop-shadow(0 6px 10px rgba(94,17,34,.18));\n  transition:transform 3.2s cubic-bezier(.6,.05,.3,1) 1s,z-index 0s linear 2.2s;\n}\n.wi-toggle:checked ~ .wi-envelope .wi-env-flap{transform:rotateX(-176deg);z-index:1}\n\n\/* piecz\u0119\u0107 lakowa \u2014 p\u0119ka jako pierwsza *\/\n.wi-seal{\n  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);\n  width:104px;height:104px;z-index:6;\n  filter:drop-shadow(0 10px 16px rgba(94,17,34,.45));\n  transition:transform 1.7s cubic-bezier(.6,-.4,.7,.2) .35s,opacity 1.3s ease .7s;\n}\n.wi-env-stage:hover .wi-seal{transform:translate(-50%,-50%) scale(1.06) rotate(-4deg)}\n.wi-toggle:checked ~ .wi-envelope .wi-seal{\n  transform:translate(-50%,-50%) scale(.25) rotate(28deg);opacity:0;\n}\n\n\/* podpis pod kopert\u0105 *\/\n.wi-env-text{margin-top:30px;transition:opacity .4s ease}\n.wi-env-text .wi-script{font-size:29px;color:#fff;text-shadow:0 2px 18px rgba(94,17,34,.6)}\n.wi-env-hint{\n  margin-top:14px;\n  font-family:var(--wi-caps);font-size:9px;letter-spacing:.3em;text-transform:uppercase;\n  color:rgba(255,255,255,.75);animation:wi-pulse 3.6s ease-in-out infinite;\n}\n.wi-toggle:checked ~ .wi-envelope .wi-env-text,\n.wi-toggle:checked ~ .wi-envelope .wi-env-hint{opacity:0;transition:opacity .8s ease}\n@keyframes wi-pulse{0%,100%{opacity:.5}50%{opacity:1}}\n\n\/* mniej ruchu \u2014 skr\u00f3cona sekwencja *\/\n\/* Ograniczony ruch: nie kasujemy animacji koperty do zera, tylko j\u0105 skracamy.\n   Selektor .wi-root .wi-envelope ma wy\u017csz\u0105 specyficzno\u015b\u0107 ni\u017c globalna regu\u0142a\n   .wi-root * na ko\u0144cu arkusza, wi\u0119c ta wygrywa. *\/\n@media(prefers-reduced-motion:reduce){\n  .wi-root .wi-envelope,\n  .wi-root .wi-envelope *{animation:none!important;transition-duration:1.4s!important}\n  .wi-root .wi-envelope{transition-delay:3.6s!important}\n  .wi-root .wi-env-stage{transition-delay:2.6s!important}\n  .wi-root .wi-letter{transition-delay:1.6s!important}\n  .wi-root .wi-env-flap{transition-delay:.5s!important}\n  .wi-root .wi-seal{transition-delay:0s!important}\n}\n\n\/* ================= HERO ================= *\/\n.wi-hero{\n  position:relative;min-height:100svh;\n  display:flex;flex-direction:column;align-items:center;justify-content:center;\n  text-align:center;padding:110px 24px 90px;overflow:hidden;\n  background:linear-gradient(165deg,#5E1122 0%,#8E1636 38%,#C41E5A 70%,#E0157F 100%);\n  background-size:cover;background-position:center;\n}\n.wi-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;\n  \/* kadr: serce z d\u0142oni w g\u00f3rnej cz\u0119\u015bci ekranu *\/\n  object-position:center 34%;z-index:0}\n.wi-hero-veil{position:absolute;inset:0;z-index:1;\n  background:\n    linear-gradient(180deg,rgba(94,17,34,.55) 0%,rgba(94,17,34,.12) 34%,\n                    rgba(140,21,60,.55) 62%,rgba(196,30,90,.72) 82%,rgba(255,247,249,.96) 100%);\n  mix-blend-mode:multiply}\n\/* druga warstwa: delikatny r\u00f3\u017c na ca\u0142o\u015bci, \u017ceby zdj\u0119cie wesz\u0142o w palet\u0119 *\/\n.wi-hero-tint{position:absolute;inset:0;z-index:1;\n  background:linear-gradient(160deg,rgba(224,21,127,.18),rgba(190,26,46,.14));\n  mix-blend-mode:soft-light;pointer-events:none}\n.wi-hero-in{position:relative;z-index:2;color:#fff;\n  text-shadow:0 2px 10px rgba(94,17,34,.55),0 6px 40px rgba(94,17,34,.5);\n  margin-top:34vh}\n@media(min-width:768px){.wi-hero-in{margin-top:30vh}}\n.wi-hero .wi-eyebrow{color:rgba(255,255,255,.92);font-size:12px}\n.wi-hero-names{font-family:var(--wi-script);color:#fff;font-size:clamp(56px,14vw,92px);line-height:1.1;margin:22px 0}\n.wi-hero-amp{display:block;font-family:var(--wi-serif);font-style:italic;font-size:22px;opacity:.85;margin:2px 0}\n.wi-scroll{position:absolute;bottom:34px;left:0;right:0;z-index:2;color:var(--wi-rose)}\n.wi-scroll span{font-family:var(--wi-caps);font-size:9px;letter-spacing:.3em;text-transform:uppercase}\n.wi-scroll svg{width:16px;height:16px;margin:8px auto 0;animation:wi-bob 2.4s ease-in-out infinite}\n@keyframes wi-bob{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(7px);opacity:1}}\n\n\/* ================= ZAPROSZENIE ================= *\/\n.wi-monogram{width:104px;height:104px;margin:0 auto 18px;color:var(--wi-rose)}\n.wi-names-big{font-family:var(--wi-script);font-size:clamp(42px,11vw,64px);color:var(--wi-rose);line-height:1.2}\n.wi-request{font-family:var(--wi-serif);font-size:18px;line-height:1.9;color:var(--wi-wine);margin-top:22px}\n.wi-datebar{display:flex;align-items:center;justify-content:center;gap:20px;margin:28px 0 10px}\n.wi-datebar .wi-m{font-family:var(--wi-caps);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--wi-dusty)}\n.wi-datebar .wi-day{font-family:var(--wi-serif);font-size:58px;font-weight:300;color:var(--wi-magenta);line-height:1;\n  padding:0 18px;border-left:1px solid var(--wi-line);border-right:1px solid var(--wi-line)}\n.wi-weekday{font-family:var(--wi-caps);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--wi-wine)}\n\n\/* ================= ODLICZANIE ================= *\/\n.wi-count{display:flex;justify-content:center;margin-top:28px}\n.wi-count div{flex:1;max-width:120px;padding:0 6px;border-left:1px solid var(--wi-line)}\n.wi-count div:first-child{border-left:none}\n.wi-count b{display:block;font-family:var(--wi-serif);font-weight:300;font-size:42px;color:var(--wi-magenta);\n  line-height:1.1;font-variant-numeric:tabular-nums}\n.wi-count span{font-family:var(--wi-caps);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--wi-muted)}\n\n\/* ================= KARTY ================= *\/\n.wi-card{\n  position:relative;background:var(--wi-paper);\n  border:1px solid rgba(244,191,201,.9);border-radius:16px;\n  padding:36px 26px;margin-top:22px;text-align:center;overflow:hidden;\n  box-shadow:0 26px 55px -42px rgba(94,17,34,.7);\n}\n.wi-card::before{content:\"\";position:absolute;left:0;right:0;top:0;height:3px;\n  background:linear-gradient(90deg,var(--wi-magenta),var(--wi-rose),var(--wi-red))}\n.wi-card h3{font-family:var(--wi-script);font-size:34px;color:var(--wi-rose);font-weight:400}\n.wi-card .wi-hour{font-family:var(--wi-serif);font-size:40px;font-weight:300;color:var(--wi-magenta);line-height:1;margin:14px 0 6px}\n.wi-card .wi-meta{font-size:16px;color:var(--wi-muted);margin-top:8px}\n.wi-card .wi-place{font-size:19px;color:var(--wi-wine);margin-top:6px}\n.wi-link{\n  display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:10px 20px;\n  font-family:var(--wi-caps);font-size:10px;letter-spacing:.22em;text-transform:uppercase;\n  color:#fff;background:var(--wi-rose);border-radius:999px;text-decoration:none;\n  transition:background .3s,transform .2s;\n}\n.wi-link:hover{background:var(--wi-magenta);transform:translateY(-1px)}\n.wi-link svg{width:14px;height:14px}\n\n\/* ================= O\u015a CZASU =================\n   UWAGA: selektor musi by\u0107 mocniejszy ni\u017c .wi-root ul{padding:0}\n   z sekcji resetu, inaczej wci\u0119cie listy nie zadzia\u0142a, a kropki\n   wyjad\u0105 poza kart\u0119. St\u0105d zapis \"ul.wi-timeline\". *\/\nul.wi-timeline{position:relative;margin:26px 0 0;padding:0 0 0 34px;text-align:left}\n\n\/* pionowa ni\u0107 \u2014 ko\u0144czy si\u0119 na ostatniej kropce *\/\nul.wi-timeline::before{\n  content:\"\";position:absolute;left:6px;top:9px;bottom:14px;width:2px;border-radius:2px;\n  background:linear-gradient(180deg,var(--wi-magenta) 0%,var(--wi-rose) 34%,\n                             var(--wi-dusty) 58%,var(--wi-blush) 100%);\n}\n\nul.wi-timeline li{position:relative;padding:0 0 24px 0}\nul.wi-timeline li:last-child{padding-bottom:0}\n\n\/* kropka: bia\u0142a obw\u00f3dka odcina ni\u0107 przechodz\u0105c\u0105 pod spodem *\/\nul.wi-timeline li::before{\n  content:\"\";position:absolute;left:-34px;top:5px;width:14px;height:14px;border-radius:99px;\n  background:var(--wi-paper);border:2px solid var(--wi-blush);\n  box-shadow:0 0 0 4px var(--wi-paper);\n}\nul.wi-timeline li.wi-now::before{\n  background:var(--wi-magenta);border-color:var(--wi-magenta);\n  box-shadow:0 0 0 4px var(--wi-paper),0 0 0 7px rgba(224,21,127,.14);\n}\n\n.wi-timeline .wi-t-time{\n  display:inline-block;font-family:var(--wi-caps);font-size:11px;letter-spacing:.16em;\n  color:var(--wi-magenta);font-variant-numeric:tabular-nums;margin-bottom:2px;\n}\n.wi-timeline .wi-t-name{font-size:20px;line-height:1.35;color:var(--wi-wine)}\n.wi-timeline .wi-t-sub{font-size:15px;line-height:1.4;color:var(--wi-muted);margin-top:2px}\n\n\/* punkty bez ustalonej godziny *\/\n.wi-timeline .wi-t-name.wi-soon{font-style:italic;font-size:18px;color:var(--wi-muted)}\nul.wi-timeline li.wi-tba{padding-bottom:18px}\n\n\/* podpis oddzielaj\u0105cy cz\u0119\u015b\u0107 z ustalonymi godzinami od reszty wieczoru *\/\nul.wi-timeline li.wi-t-label{\n  padding:6px 0 20px;font-family:var(--wi-caps);font-size:10px;letter-spacing:.24em;\n  text-transform:uppercase;color:var(--wi-dusty);\n}\nul.wi-timeline li.wi-t-label::before{display:none}\n\n\/* ================= DRESS CODE \/ KOLORY ================= *\/\n.wi-dress{display:grid;gap:18px;margin-top:24px}\n.wi-dress .wi-card{margin-top:0}\n.wi-swatches{display:flex;justify-content:center;gap:10px;margin-top:18px}\n.wi-swatches i{width:34px;height:34px;border-radius:99px;display:block;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}\n\n\/* ================= RSVP ================= *\/\n.wi-form{margin-top:28px;text-align:left}\n.wi-field{margin-bottom:26px}\n.wi-label{display:block;font-size:18px;color:var(--wi-rose);margin-bottom:12px}\n.wi-opt{display:flex;align-items:center;gap:11px;padding:7px 0;cursor:pointer;font-size:16px}\n.wi-opt input{appearance:none;-webkit-appearance:none;width:19px;height:19px;flex:none;margin:0;\n  border:1.5px solid var(--wi-dusty);background:var(--wi-paper);position:relative;cursor:pointer;transition:border-color .25s}\n.wi-opt input[type=radio]{border-radius:99px}\n.wi-opt input[type=checkbox]{border-radius:4px}\n.wi-opt input:checked{border-color:var(--wi-magenta)}\n.wi-opt input[type=radio]:checked::after{content:\"\";position:absolute;inset:4px;border-radius:99px;background:var(--wi-magenta)}\n.wi-opt input[type=checkbox]:checked::after{content:\"\";position:absolute;left:6px;top:2px;width:5px;height:10px;\n  border:solid var(--wi-magenta);border-width:0 2px 2px 0;transform:rotate(45deg)}\n.wi-stepper{display:flex;align-items:center;gap:16px}\n.wi-stepper button{width:44px;height:44px;border:1px solid var(--wi-line);border-radius:10px;\n  background:var(--wi-paper);font-size:20px;color:var(--wi-rose);transition:background .25s,color .25s}\n.wi-stepper button:hover{background:var(--wi-rose);color:#fff}\n.wi-stepper output{font-family:var(--wi-serif);font-size:24px;color:var(--wi-wine);min-width:28px;text-align:center}\n.wi-input,.wi-textarea{\n  width:100%;padding:14px 16px;margin-top:10px;\n  font-family:var(--wi-serif);font-size:16px;color:var(--wi-wine);\n  background:var(--wi-paper);border:1px solid var(--wi-line);border-radius:10px;transition:border-color .25s;\n}\n.wi-input::placeholder,.wi-textarea::placeholder{color:var(--wi-dusty)}\n.wi-input:focus,.wi-textarea:focus{outline:none;border-color:var(--wi-magenta)}\n.wi-textarea{min-height:110px;resize:vertical}\n.wi-submit{\n  width:100%;margin-top:8px;padding:18px 20px;border-radius:999px;\n  display:flex;align-items:center;justify-content:center;gap:12px;\n  background:linear-gradient(90deg,var(--wi-magenta),var(--wi-rose));color:#fff;\n  font-family:var(--wi-caps);font-size:12px;letter-spacing:.2em;text-transform:uppercase;\n  box-shadow:0 14px 30px -14px rgba(196,30,90,.9);\n  transition:opacity .25s,transform .2s;\n}\n.wi-submit:hover{opacity:.94}\n.wi-submit:active{transform:scale(.99)}\n.wi-note{margin-top:14px;font-size:14px;color:var(--wi-muted);text-align:center}\n.wi-thanks{display:none;padding:34px 10px;text-align:center}\n.wi-thanks.wi-show{display:block}\n.wi-form.wi-hide{display:none}\n\n\/* ================= STOPKA ================= *\/\n.wi-footer{padding:80px 24px 110px;text-align:center;\n  background:linear-gradient(180deg,var(--wi-bg) 0%,#FBE3E9 100%)}\n.wi-footer .wi-monogram{width:116px;height:116px}\n.wi-footer .wi-names{font-family:var(--wi-script);font-size:38px;color:var(--wi-rose);margin-top:8px}\n.wi-footer .wi-date{font-size:16px;color:var(--wi-muted);margin-top:12px}\n\n\/* ================= DEKORACJE ================= *\/\n.wi-corner{position:absolute;width:150px;height:150px;color:var(--wi-blush);opacity:.9;pointer-events:none}\n.wi-corner.wi-tl{top:0;left:0}\n.wi-corner.wi-br{bottom:0;right:0;transform:rotate(180deg)}\n\n@media(min-width:640px){\n  .wi-section{padding:104px 32px}\n  .wi-dress{grid-template-columns:1fr 1fr}\n}\n@media(prefers-reduced-motion:reduce){\n  .wi-root *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}\n  .wi-reveal{opacity:1;transform:none}\n}\n<\/style>\n\n<!-- ======================= KOPERTA =======================\n     Checkbox musi sta\u0107 PRZED kopert\u0105 \u2014 na nim opiera si\u0119 ca\u0142a animacja. -->\n<input type=\"checkbox\" class=\"wi-toggle\" id=\"wiToggle\" aria-label=\"Otw\u00f3rz zaproszenie\">\n\n<div class=\"wi-envelope\" id=\"wiEnvelope\">\n  <label class=\"wi-env-stage\" id=\"wiEnvCard\" for=\"wiToggle\">\n\n    <div class=\"wi-env\">\n      <div class=\"wi-env-back\"><\/div>\n\n      <!-- list, kt\u00f3ry wysuwa si\u0119 z koperty -->\n      <div class=\"wi-letter\">\n        <span class=\"wi-letter-eyebrow\">Zapraszamy na nasz \u015blub<\/span>\n        <span class=\"wi-letter-names\">Daria &amp; Dawid<\/span>\n        <span class=\"wi-letter-date\" data-fill=\"datefull\">7 sierpnia 2027<\/span>\n      <\/div>\n\n      <div class=\"wi-env-front\"><\/div>\n      <div class=\"wi-env-flap\"><\/div>\n\n      <svg class=\"wi-seal\" viewBox=\"0 0 120 120\" aria-hidden=\"true\">\n        <defs>\n          <radialGradient id=\"wiWax\" cx=\"36%\" cy=\"30%\">\n            <stop offset=\"0%\" stop-color=\"#E0157F\"\/>\n            <stop offset=\"55%\" stop-color=\"#C41E5A\"\/>\n            <stop offset=\"100%\" stop-color=\"#8E1636\"\/>\n          <\/radialGradient>\n        <\/defs>\n        <path fill=\"url(#wiWax)\" d=\"M60 6c9 0 12 7 20 9s14-3 20 3 1 13 4 20 10 10 10 19-7 12-9 20 3 14-3 20-13 1-20 4-10 10-19 10-12-7-20-9-14 3-20-3-1-13-4-20-10-10-10-19 7-12 9-20-3-14 3-20 13-1 20-4S51 6 60 6Z\"\/>\n        <circle cx=\"60\" cy=\"60\" r=\"34\" fill=\"none\" stroke=\"rgba(255,255,255,.4)\" stroke-width=\"1.4\"\/>\n        <text x=\"60\" y=\"72\" text-anchor=\"middle\" font-family=\"Great Vibes, cursive\" font-size=\"34\" fill=\"rgba(255,255,255,.92)\">D&amp;D<\/text>\n      <\/svg>\n    <\/div>\n\n    <div class=\"wi-env-text\">\n      <div class=\"wi-script\">Mamy zaszczyt zaprosi\u0107<\/div>\n      <div class=\"wi-script\">Ci\u0119 na nasz \u015blub<\/div>\n    <\/div>\n    <div class=\"wi-env-hint\">Dotknij, aby otworzy\u0107<\/div>\n  <\/label>\n<\/div>\n\n<!-- ======================= HERO ======================= -->\n<header class=\"wi-hero\">\n  <!-- Zdj\u0119cie w tle. \u015acie\u017cka wzgl\u0119dna (bez http\/https i domeny) \u2014\n       dzi\u0119ki temu dzia\u0142a te\u017c po przej\u015bciu strony na HTTPS. -->\n  <img decoding=\"async\" class=\"wi-hero-photo\"\n       src=\"\/wp-content\/uploads\/2026\/08\/IMG_6727-scaled.jpg\"\n       alt=\"Daria i Dawid\" fetchpriority=\"high\">\n  <div class=\"wi-hero-veil\"><\/div>\n  <div class=\"wi-hero-tint\"><\/div>\n  <div class=\"wi-hero-in\">\n    <div class=\"wi-eyebrow wi-reveal\">Pobieramy si\u0119<\/div>\n    <h1 class=\"wi-hero-names wi-reveal wi-d1\">\n      Daria\n      <span class=\"wi-hero-amp\">&amp;<\/span>\n      Dawid\n    <\/h1>\n    <div class=\"wi-eyebrow wi-reveal wi-d2\" style=\"color:rgba(255,255,255,.8)\" data-fill=\"datefull\">7 sierpnia 2027<\/div>\n  <\/div>\n  <div class=\"wi-scroll\">\n    <span>Przewi\u0144<\/span>\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m6 9 6 6 6-6\"\/><\/svg>\n  <\/div>\n<\/header>\n\n<!-- ======================= ZAPROSZENIE ======================= -->\n<section class=\"wi-section\">\n  <svg class=\"wi-corner wi-tl\" viewBox=\"0 0 150 150\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" aria-hidden=\"true\">\n    <path d=\"M0 62c22-4 38-18 44-40M0 40c30-6 52-24 60-40\"\/>\n    <circle cx=\"52\" cy=\"20\" r=\"7\"\/><circle cx=\"30\" cy=\"44\" r=\"9\"\/><circle cx=\"66\" cy=\"46\" r=\"6\"\/>\n    <path d=\"M14 68c8 2 14 8 16 16M40 62c6 4 9 10 9 18\"\/>\n  <\/svg>\n\n  <div class=\"wi-inner\">\n    <svg class=\"wi-monogram wi-reveal\" viewBox=\"0 0 120 120\" aria-hidden=\"true\">\n      <circle cx=\"60\" cy=\"60\" r=\"52\" fill=\"none\" stroke=\"currentColor\" stroke-width=\".9\" opacity=\".4\"\/>\n      <text x=\"60\" y=\"74\" text-anchor=\"middle\" font-family=\"Great Vibes, cursive\" font-size=\"42\" fill=\"currentColor\">D&amp;D<\/text>\n    <\/svg>\n\n    <h2 class=\"wi-names-big wi-reveal wi-d1\">Daria &amp; Dawid<\/h2>\n\n    <p class=\"wi-request wi-reveal wi-d2\">\n      Wraz z Rodzicami mamy zaszczyt zaprosi\u0107 Ci\u0119<br>na uroczysto\u015b\u0107 za\u015blubin, kt\u00f3ra odb\u0119dzie si\u0119\n    <\/p>\n\n    <div class=\"wi-datebar wi-reveal wi-d3\">\n      <span class=\"wi-m\" data-fill=\"month\">sierpnia<\/span>\n      <span class=\"wi-day\" data-fill=\"day\">7<\/span>\n      <span class=\"wi-m\" data-fill=\"year\">2027<\/span>\n    <\/div>\n    <div class=\"wi-weekday wi-reveal wi-d3\" data-fill=\"weekday\">sobota<\/div>\n\n    <div class=\"wi-rule-gold wi-reveal wi-d4\"><\/div>\n\n    <p class=\"wi-eyebrow wi-reveal wi-d4\">O godzinie trzynastej<\/p>\n    <p class=\"wi-script wi-reveal wi-d4\" style=\"font-size:34px;margin-top:10px\">Ko\u015bci\u00f3\u0142 w Straszydlu<\/p>\n  <\/div>\n\n  <svg class=\"wi-corner wi-br\" viewBox=\"0 0 150 150\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" aria-hidden=\"true\">\n    <path d=\"M0 62c22-4 38-18 44-40M0 40c30-6 52-24 60-40\"\/>\n    <circle cx=\"52\" cy=\"20\" r=\"7\"\/><circle cx=\"30\" cy=\"44\" r=\"9\"\/><circle cx=\"66\" cy=\"46\" r=\"6\"\/>\n    <path d=\"M14 68c8 2 14 8 16 16M40 62c6 4 9 10 9 18\"\/>\n  <\/svg>\n<\/section>\n\n<!-- ======================= ODLICZANIE ======================= -->\n<section class=\"wi-section wi-alt\">\n  <div class=\"wi-inner\">\n    <h2 class=\"wi-script wi-reveal\" style=\"font-size:44px\">Odliczamy<\/h2>\n    <p class=\"wi-eyebrow wi-reveal wi-d1\" style=\"margin-top:12px\">\n      <span>Do<\/span> <span data-fill=\"datefull\">7 sierpnia 2027<\/span>\n    <\/p>\n\n    <div class=\"wi-count wi-reveal wi-d2\" id=\"wiCount\">\n      <div><b data-c=\"d\">00<\/b><span>Dni<\/span><\/div>\n      <div><b data-c=\"h\">00<\/b><span>Godzin<\/span><\/div>\n      <div><b data-c=\"m\">00<\/b><span>Minut<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ======================= GDZIE I KIEDY ======================= -->\n<section class=\"wi-section\">\n  <div class=\"wi-inner\">\n    <h2 class=\"wi-script wi-reveal\" style=\"font-size:44px\">Gdzie i kiedy<\/h2>\n\n    <div class=\"wi-card wi-reveal wi-d1\">\n      <p class=\"wi-eyebrow\">Ceremonia za\u015blubin<\/p>\n      <div class=\"wi-hour\">13:00<\/div>\n      <p class=\"wi-place\">Ko\u015bci\u00f3\u0142 w Straszydlu<\/p>\n      <p class=\"wi-meta\" data-fill=\"datefull\">7 sierpnia 2027<\/p>\n      <!-- PODMIEN: link do Google Maps -->\n      <a class=\"wi-link\" href=\"https:\/\/maps.google.com\/?q=Straszydle+ko\u015bci\u00f3\u0142\" target=\"_blank\" rel=\"noopener\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n        <span>Zobacz na mapie<\/span>\n      <\/a>\n    <\/div>\n\n    <div class=\"wi-card wi-reveal wi-d2\">\n      <p class=\"wi-eyebrow\">Przyj\u0119cie weselne<\/p>\n      <div class=\"wi-hour\">15:00<\/div>\n      <p class=\"wi-place\">Stary M\u0142yn<\/p>\n      <p class=\"wi-meta\">S\u0119dzisz\u00f3w Ma\u0142opolski<\/p>\n      <!-- PODMIEN: link do Google Maps -->\n      <a class=\"wi-link\" href=\"https:\/\/maps.google.com\/?q=Stary+M\u0142yn+S\u0119dzisz\u00f3w+Ma\u0142opolski\" target=\"_blank\" rel=\"noopener\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n        <span>Zobacz na mapie<\/span>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ======================= PLAN DNIA ======================= -->\n<section class=\"wi-section wi-alt\">\n  <div class=\"wi-inner\">\n    <h2 class=\"wi-script wi-reveal\" style=\"font-size:44px\">Plan dnia<\/h2>\n    <p class=\"wi-eyebrow wi-reveal wi-d1\" style=\"margin-top:12px\" data-fill=\"datefull\">7 sierpnia 2027<\/p>\n\n    <div class=\"wi-card wi-reveal wi-d2\" style=\"text-align:left;padding:32px 22px\">\n      <ul class=\"wi-timeline\">\n        <li class=\"wi-now\">\n          <div class=\"wi-t-time\">12:45<\/div>\n          <div class=\"wi-t-name\">Zbi\u00f3rka go\u015bci przed ko\u015bcio\u0142em<\/div>\n        <\/li>\n        <li class=\"wi-now\">\n          <div class=\"wi-t-time\">13:00<\/div>\n          <div class=\"wi-t-name\">Ceremonia za\u015blubin<\/div>\n          <div class=\"wi-t-sub\">Ko\u015bci\u00f3\u0142 w Straszydlu<\/div>\n        <\/li>\n        <li class=\"wi-now\">\n          <div class=\"wi-t-time\">15:00<\/div>\n          <div class=\"wi-t-name\">Powitanie i obiad<\/div>\n          <div class=\"wi-t-sub\">Stary M\u0142yn, S\u0119dzisz\u00f3w Ma\u0142opolski<\/div>\n        <\/li>\n        <!-- PODMIEN \/ USU\u0143: kolejne punkty, gdy b\u0119dziecie znali godziny.\n             Gdy poznacie godzin\u0119, dopiszcie <div class=\"wi-t-time\">20:00<\/div>\n             i zamie\u0144cie klas\u0119 wi-tba na wi-now. -->\n        <li class=\"wi-t-label\">Dalsza cz\u0119\u015b\u0107 wieczoru<\/li>\n        <li class=\"wi-tba\"><div class=\"wi-t-name wi-soon\">Pierwszy taniec<\/div><\/li>\n        <li class=\"wi-tba\"><div class=\"wi-t-name wi-soon\">Tort weselny<\/div><\/li>\n        <li class=\"wi-tba\"><div class=\"wi-t-name wi-soon\">Oczepiny<\/div><\/li>\n        <li class=\"wi-tba\"><div class=\"wi-t-name wi-soon\">Zabawa do bia\u0142ego rana<\/div><\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ======================= DRESS CODE ======================= -->\n<section class=\"wi-section\">\n  <div class=\"wi-inner\">\n    <h2 class=\"wi-script wi-reveal\" style=\"font-size:44px\">Dress code<\/h2>\n    <div class=\"wi-dress\">\n      <div class=\"wi-card wi-reveal wi-d1\">\n        <h3>Str\u00f3j<\/h3>\n        <p class=\"wi-meta\" style=\"margin-top:12px\">\n          Elegancki \u2014 d\u0142uga suknia lub garnitur. Panie prosimy o wygodne obuwie na parkiet.\n        <\/p>\n      <\/div>\n      <div class=\"wi-card wi-reveal wi-d2\">\n        <h3>Nasze kolory<\/h3>\n        <p class=\"wi-meta\" style=\"margin-top:12px\">\n          Je\u015bli macie ochot\u0119 wpisa\u0107 si\u0119 w nasz motyw \u2014 oto paleta wesela.\n        <\/p>\n        <div class=\"wi-swatches\">\n          <i style=\"background:#E0157F\"><\/i>\n          <i style=\"background:#C41E5A\"><\/i>\n          <i style=\"background:#D97E93\"><\/i>\n          <i style=\"background:#F4BFC9\"><\/i>\n          <i style=\"background:#BE1A2E\"><\/i>\n          <i style=\"background:#5E1122\"><\/i>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ======================= PREZENT ======================= -->\n<section class=\"wi-section wi-alt\">\n  <div class=\"wi-inner\">\n    <h2 class=\"wi-script wi-reveal\" style=\"font-size:44px\">Zamiast kwiat\u00f3w<\/h2>\n    <p class=\"wi-reveal wi-d1\" style=\"font-style:italic;color:var(--wi-rose);font-size:20px;margin-top:18px\">\n      Wasza obecno\u015b\u0107 jest dla nas najpi\u0119kniejszym prezentem.\n    <\/p>\n    <p class=\"wi-reveal wi-d2\" style=\"color:var(--wi-muted);margin-top:16px\">\n      Je\u015bli jednak chcieliby\u015bcie nas obdarowa\u0107, zamiast kwiat\u00f3w ucieszy nas drobny wk\u0142ad do wsp\u00f3lnej podr\u00f3\u017cy po\u015blubnej.\n    <\/p>\n  <\/div>\n<\/section>\n\n<!-- ======================= RSVP ======================= -->\n<section class=\"wi-section\" id=\"wiRsvp\">\n  <div class=\"wi-inner\">\n    <h2 class=\"wi-script wi-reveal\" style=\"font-size:44px\">Potwierd\u017a obecno\u015b\u0107<\/h2>\n    <!-- PODMIEN: termin potwierdzenia -->\n    <p class=\"wi-eyebrow wi-reveal wi-d1\" style=\"margin-top:12px\">Prosimy o odpowied\u017a do 30 czerwca 2027<\/p>\n\n    <form class=\"wi-form wi-reveal wi-d2\" id=\"wiForm\">\n      <div class=\"wi-field\">\n        <span class=\"wi-label\">B\u0119dziesz z nami? *<\/span>\n        <label class=\"wi-opt\"><input type=\"radio\" name=\"wi-attend\" value=\"tak\" checked>\n          <span>Z rado\u015bci\u0105 b\u0119dziemy<\/span><\/label>\n        <label class=\"wi-opt\"><input type=\"radio\" name=\"wi-attend\" value=\"nie\">\n          <span>Niestety nie dam rady<\/span><\/label>\n      <\/div>\n\n      <div class=\"wi-field\">\n        <span class=\"wi-label\">W czym we\u017amiesz udzia\u0142? *<\/span>\n        <label class=\"wi-opt\"><input type=\"checkbox\" name=\"wi-event\" value=\"ceremonia\">\n          <span>Ceremonia w ko\u015bciele \u2014 13:00<\/span><\/label>\n        <label class=\"wi-opt\"><input type=\"checkbox\" name=\"wi-event\" value=\"wesele\">\n          <span>Przyj\u0119cie w Starym M\u0142ynie \u2014 15:00<\/span><\/label>\n      <\/div>\n\n      <div class=\"wi-field\">\n        <span class=\"wi-label\">Liczba os\u00f3b<\/span>\n        <div class=\"wi-stepper\">\n          <button type=\"button\" id=\"wiMinus\" aria-label=\"Mniej\">\u2212<\/button>\n          <output id=\"wiGuests\">1<\/output>\n          <button type=\"button\" id=\"wiPlus\" aria-label=\"Wi\u0119cej\">+<\/button>\n        <\/div>\n      <\/div>\n\n      <div class=\"wi-field\">\n        <span class=\"wi-label\">Twoje dane<\/span>\n        <input class=\"wi-input\" type=\"text\" id=\"wiName\" placeholder=\"Imi\u0119 i nazwisko\" required>\n        <input class=\"wi-input\" type=\"email\" id=\"wiEmail\" placeholder=\"Adres e-mail\" required>\n      <\/div>\n\n      <div class=\"wi-field\">\n        <span class=\"wi-label\">Czy b\u0119d\u0105 z Tob\u0105 dzieci?<\/span>\n        <label class=\"wi-opt\"><input type=\"radio\" name=\"wi-kids\" value=\"tak\"><span>Tak<\/span><\/label>\n        <label class=\"wi-opt\"><input type=\"radio\" name=\"wi-kids\" value=\"nie\" checked><span>Nie<\/span><\/label>\n      <\/div>\n\n      <div class=\"wi-field\">\n        <span class=\"wi-label\">Dieta lub uwagi<\/span>\n        <textarea class=\"wi-textarea\" id=\"wiMsg\"\n                  placeholder=\"Wegetaria\u0144ska, bezglutenowa, alergie \u2014 dajcie zna\u0107.\"><\/textarea>\n      <\/div>\n\n      <button class=\"wi-submit\" type=\"submit\">\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m22 2-7 20-4-9-9-4z\"\/><path d=\"M22 2 11 13\"\/><\/svg>\n        <span>Wy\u015blij odpowied\u017a<\/span>\n      <\/button>\n      <p class=\"wi-note\">Odpowied\u017a trafi prosto do nas.<\/p>\n    <\/form>\n\n    <div class=\"wi-thanks\" id=\"wiThanks\">\n      <div class=\"wi-script\" style=\"font-size:42px\">Dzi\u0119kujemy!<\/div>\n      <p style=\"margin-top:14px;color:var(--wi-muted)\">\n        Odpowied\u017a zosta\u0142a zapisana. Nie mo\u017cemy si\u0119 doczeka\u0107, by \u015bwi\u0119towa\u0107 razem z Tob\u0105.\n      <\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ======================= STOPKA ======================= -->\n<footer class=\"wi-footer\">\n  <svg class=\"wi-monogram wi-reveal\" viewBox=\"0 0 120 120\" aria-hidden=\"true\">\n    <circle cx=\"60\" cy=\"60\" r=\"52\" fill=\"none\" stroke=\"currentColor\" stroke-width=\".9\" opacity=\".35\"\/>\n    <text x=\"60\" y=\"76\" text-anchor=\"middle\" font-family=\"Great Vibes, cursive\" font-size=\"46\" fill=\"currentColor\">D&amp;D<\/text>\n  <\/svg>\n  <div class=\"wi-names wi-reveal wi-d1\">Daria &amp; Dawid<\/div>\n  <div class=\"wi-date wi-reveal wi-d2\" data-fill=\"datefull\">7 sierpnia 2027<\/div>\n<\/footer>\n\n<script>\n(function(){\n  var root = document.getElementById('wi');\n  if (!root || root.dataset.ready) return;\n  root.dataset.ready = '1';\n\n  \/* =====================================================================\n     KONFIGURACJA \u2014 PODMIEN DAT\u0118 \u015aLUBU\n     Kolejno\u015b\u0107: rok, miesi\u0105c-1 (stycze\u0144 = 0), dzie\u0144, godzina, minuta\n     Ustawione: 7 sierpnia 2027, godz. 13:00  (miesi\u0105c 7 = sierpie\u0144)\n     ===================================================================== *\/\n  var CFG = { date: new Date(2027, 7, 7, 13, 0, 0) };\n\n  \/* ---------- 0. ANIMACJE ----------\n     Klasa w\u0142\u0105cza ukrywanie sekcji. Gdy skrypt nie zadzia\u0142a,\n     ca\u0142a strona pozostaje widoczna. *\/\n  root.classList.add('wi-anim');\n\n  \/* ---------- 1. KOPERTA ----------\n     Samo otwieranie robi CSS (checkbox). Tutaj tylko blokada\n     przewijania i sprz\u0105tanie po animacji. *\/\n  var toggle = document.getElementById('wiToggle');\n  var env    = document.getElementById('wiEnvelope');\n\n  if (!toggle.checked) {\n    document.documentElement.classList.add('wi-locked');\n    document.body.classList.add('wi-locked');\n  }\n\n  var unlocked = false;\n  function unlock(){\n    if (unlocked) return;\n    unlocked = true;\n    document.documentElement.classList.remove('wi-locked');\n    document.body.classList.remove('wi-locked');\n  }\n  function cleanup(){\n    unlock();\n    if (env && env.parentNode) env.remove();\n  }\n\n  toggle.addEventListener('change', function(){\n    if (!toggle.checked) return;\n\n    \/* Przewijanie w\u0142\u0105czamy w momencie, gdy kurtyna zaczyna gasn\u0105\u0107 \u2014\n       zdj\u0119cie jest ju\u017c wtedy widoczne, a nikt nie czeka na koniec\n       wygaszania. Warto\u015b\u0107 odpowiada op\u00f3\u017anieniu z regu\u0142y .wi-envelope. *\/\n    setTimeout(unlock, 8400);\n\n    \/* G\u0142\u00f3wny mechanizm: reagujemy na faktyczne zako\u0144czenie animacji,\n       a nie na odliczony czas. Gdy przegl\u0105darka przytnie klatki albo\n       u\u015bpi kart\u0119, transitionend i tak przyjdzie we w\u0142a\u015bciwej chwili. *\/\n    env.addEventListener('transitionend', function(e){\n      if (e.target === env && e.propertyName === 'opacity') cleanup();\n    });\n\n    \/* Siatka bezpiecze\u0144stwa, gdyby transitionend nie doszed\u0142\n       (np. karta w tle, gdzie przej\u015bcia bywaj\u0105 pomijane). *\/\n    setTimeout(cleanup, 11000);\n  });\n\n  \/* Gdyby kto\u015b wr\u00f3ci\u0142 na stron\u0119 przyciskiem \"wstecz\" z ju\u017c zaznaczonym\n     checkboxem \u2014 nie zostawiamy zablokowanego przewijania. *\/\n  window.addEventListener('pageshow', function(){ if (toggle.checked) cleanup(); });\n\n  \/* ---------- 2. DATA \u2014 podstawiana automatycznie ---------- *\/\n  function fmt(opts){\n    try { return new Intl.DateTimeFormat('pl-PL', opts).format(CFG.date); }\n    catch(e){ return ''; }\n  }\n  function fillDates(){\n    var map = {\n      day:      CFG.date.getDate(),\n      month:    fmt({ month: 'long' }),\n      year:     CFG.date.getFullYear(),\n      weekday:  fmt({ weekday: 'long' }),\n      datefull: fmt({ day: 'numeric', month: 'long', year: 'numeric' })\n    };\n    root.querySelectorAll('[data-fill]').forEach(function(el){\n      el.textContent = map[el.getAttribute('data-fill')];\n    });\n  }\n\n  \/* ---------- 3. ODLICZANIE ---------- *\/\n  var box = document.getElementById('wiCount');\n  function pad(n){ return n < 10 ? '0' + n : '' + n; }\n  function tick(){\n    var diff = Math.max(0, CFG.date - new Date());\n    var mins = Math.floor(diff \/ 60000);\n    box.querySelector('[data-c=\"d\"]').textContent = pad(Math.floor(mins \/ 1440));\n    box.querySelector('[data-c=\"h\"]').textContent = pad(Math.floor(mins % 1440 \/ 60));\n    box.querySelector('[data-c=\"m\"]').textContent = pad(mins % 60);\n  }\n\n  fillDates();\n  tick();\n  setInterval(tick, 30000);\n\n  \/* ---------- 4. ANIMACJE PRZY PRZEWIJANIU ---------- *\/\n  var items = root.querySelectorAll('.wi-reveal');\n  if ('IntersectionObserver' in window){\n    var io = new IntersectionObserver(function(entries){\n      entries.forEach(function(en){\n        if (en.isIntersecting){ en.target.classList.add('wi-in'); io.unobserve(en.target); }\n      });\n    }, { threshold: 0.14, rootMargin: '0px 0px -8% 0px' });\n    items.forEach(function(el){ io.observe(el); });\n  } else {\n    items.forEach(function(el){ el.classList.add('wi-in'); });\n  }\n\n  \/* ---------- 5. LICZBA GO\u015aCI ---------- *\/\n  var out = document.getElementById('wiGuests'), n = 1;\n  document.getElementById('wiMinus').addEventListener('click', function(){ n = Math.max(1, n - 1); out.textContent = n; });\n  document.getElementById('wiPlus').addEventListener('click', function(){ n = Math.min(12, n + 1); out.textContent = n; });\n\n  \/* ---------- 6. RSVP ---------- *\/\n  var form = document.getElementById('wiForm');\n  form.addEventListener('submit', function(e){\n    e.preventDefault();\n\n    var data = {\n      obecnosc: form.querySelector('[name=\"wi-attend\"]:checked').value,\n      wydarzenia: Array.prototype.map.call(form.querySelectorAll('[name=\"wi-event\"]:checked'), function(c){ return c.value; }).join(', '),\n      osoby: n,\n      imie: document.getElementById('wiName').value,\n      email: document.getElementById('wiEmail').value,\n      dzieci: form.querySelector('[name=\"wi-kids\"]:checked').value,\n      uwagi: document.getElementById('wiMsg').value\n    };\n\n    \/* --- WARIANT A: wysy\u0142ka mailem, dzia\u0142a bez wtyczek ---\n       PODMIEN adres e-mail poni\u017cej. *\/\n    var body = 'POTWIERDZENIE OBECNO\u015aCI\\n\\n'\n      + 'Obecno\u015b\u0107: ' + data.obecnosc + '\\n'\n      + 'Wydarzenia: ' + data.wydarzenia + '\\n'\n      + 'Liczba os\u00f3b: ' + data.osoby + '\\n'\n      + 'Imi\u0119 i nazwisko: ' + data.imie + '\\n'\n      + 'E-mail: ' + data.email + '\\n'\n      + 'Dzieci: ' + data.dzieci + '\\n'\n      + 'Uwagi: ' + data.uwagi;\n    window.location.href = 'mailto:wasz@email.pl?subject='\n      + encodeURIComponent('RSVP \u2013 ' + data.imie)\n      + '&#038;body=' + encodeURIComponent(body);\n\n    \/* --- WARIANT B: zapis do arkusza \/ us\u0142ugi formularzowej ---\n    fetch('https:\/\/formspree.io\/f\/WASZ_ID', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application\/json', 'Accept': 'application\/json' },\n      body: JSON.stringify(data)\n    });\n    *\/\n\n    form.classList.add('wi-hide');\n    document.getElementById('wiThanks').classList.add('wi-show');\n    document.getElementById('wiRsvp').scrollIntoView({ behavior: 'smooth', block: 'center' });\n  });\n})();\n<\/script>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Zapraszamy na nasz \u015blub Daria &amp; Dawid 7 sierpnia 2027 D&amp;D Mamy zaszczyt zaprosi\u0107 Ci\u0119 na nasz \u015blub Dotknij, aby otworzy\u0107 Pobieramy si\u0119 Daria &amp; Dawid 7 sierpnia 2027 Przewi\u0144 D&amp;D Daria &amp; Dawid Wraz z Rodzicami mamy zaszczyt zaprosi\u0107 Ci\u0119na uroczysto\u015b\u0107 za\u015blubin, kt\u00f3ra odb\u0119dzie si\u0119 sierpnia 7 2027 sobota O godzinie trzynastej Ko\u015bci\u00f3\u0142 w [&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-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dariadawid.pl\/index.php?rest_route=\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dariadawid.pl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dariadawid.pl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dariadawid.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dariadawid.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":17,"href":"https:\/\/dariadawid.pl\/index.php?rest_route=\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":30,"href":"https:\/\/dariadawid.pl\/index.php?rest_route=\/wp\/v2\/pages\/9\/revisions\/30"}],"wp:attachment":[{"href":"https:\/\/dariadawid.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}