{"id":2193,"date":"2026-04-22T22:55:17","date_gmt":"2026-04-22T20:55:17","guid":{"rendered":"https:\/\/zulumaps.com\/anniversary\/"},"modified":"2026-08-05T20:22:48","modified_gmt":"2026-08-05T18:22:48","slug":"anniversary","status":"publish","type":"page","link":"https:\/\/zulumaps.com\/de\/anniversary\/","title":{"rendered":"Anniversary"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2193\" class=\"elementor elementor-2193 elementor-1439\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0fff709 e-con-full e-flex e-con e-parent\" data-id=\"0fff709\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1fa6399 elementor-widget elementor-widget-shortcode\" data-id=\"1fa6399\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/html2canvas\/1.4.1\/html2canvas.min.js\"><\/script>\n\n<div class=\"pme\" id=\"pme-root\">\n  <nav class=\"pme-nav\">\n    <button class=\"pme-nav-btn active\" data-panel=\"labels\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><path d=\"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7\"\/><path d=\"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z\"\/><\/svg>Texte\n    <\/button>\n    <button class=\"pme-nav-btn\" data-panel=\"style\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"\/><\/svg>Stil\n    <\/button>\n    <button class=\"pme-nav-btn\" data-panel=\"size\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><path d=\"M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7\"\/><\/svg>Gr\u00f6\u00dfe\n    <\/button>\n  <\/nav>\n\n  <div class=\"pme-mobnav\">\n    <button class=\"pme-mobbtn active\" data-panel=\"labels\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><path d=\"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7\"\/><path d=\"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z\"\/><\/svg>Texte\n    <\/button>\n    <button class=\"pme-mobbtn\" data-panel=\"style\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"\/><\/svg>Stil\n    <\/button>\n    <button class=\"pme-mobbtn\" data-panel=\"size\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><path d=\"M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7\"\/><\/svg>Gr\u00f6\u00dfe\n    <\/button>\n  <\/div>\n\n  <div class=\"pme-panel\">\n    \n    <div class=\"pme-section active\" id=\"sec-labels\">\n      <div class=\"pme-title\">Details<\/div>\n      <div class=\"pme-desc\">Personalisiere deinen besonderen Moment.<\/div>\n      \n      <div id=\"field-yes\" class=\"pme-field\" style=\"display:block;\">\n        <span class=\"pme-lbl\">Haupttext<\/span>\n        <input type=\"text\" id=\"inp-yes\" value=\"ja\" placeholder=\"z.B. ja oder yes\"\/>\n      <\/div>\n\n      <div class=\"pme-field\">\n        <span class=\"pme-lbl\">Namen<\/span>\n        <input type=\"text\" id=\"inp-names\" value=\"Giulia & Tom\" placeholder=\"z.B. Giulia & Tom\"\/>\n      <\/div>\n\n      <div class=\"pme-field\">\n        <span class=\"pme-lbl\">Datum<\/span>\n        <input type=\"text\" id=\"inp-date-picker\" value=\"20. April 2022\" placeholder=\"z.B. 20. April 2022\" \/>\n      <\/div>\n\n    <\/div>\n\n    <div class=\"pme-section\" id=\"sec-style\">\n      <div class=\"pme-title\">Stil<\/div>\n      <div class=\"pme-desc\">W\u00e4hle ein Thema und eine Farbvariante.<\/div>\n\n      <span class=\"pme-lbl\">Thema<\/span>\n      <div class=\"theme-pins\" id=\"theme-toggle\">\n        \n        <button class=\"theme-btn active\" data-theme=\"heart\">\n          <div class=\"theme-icon\">\n             <svg viewBox=\"0 0 336 480\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <path d=\"M 100 380 C 250 310 316 200 316 110 C 316 20 200 10 100 80 C 0 10 -170 20 -170 110 C -170 200 -50 310 100 380 Z\" fill=\"#fff\" stroke=\"#1a1a1a\" stroke-width=\"12\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <rect x=\"68\" y=\"420\" width=\"200\" height=\"20\" fill=\"#1a1a1a\" \/>\n                <rect x=\"108\" y=\"450\" width=\"120\" height=\"12\" fill=\"#1a1a1a\" \/>\n             <\/svg>\n          <\/div>\n          <span>Heart I<\/span>\n        <\/button>\n\n        <button class=\"theme-btn\" data-theme=\"line\">\n          <div class=\"theme-icon\">\n             <svg viewBox=\"0 0 360 504\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <path d=\"M -20 340 C 50 310, 110 290, 180 250 C 260 200, 290 70, 180 140 C 70 100, 100 220, 180 250 C 250 280, 310 290, 380 310\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"12\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <rect x=\"90\" y=\"390\" width=\"180\" height=\"15\" fill=\"#1a1a1a\" \/>\n                <rect x=\"130\" y=\"415\" width=\"100\" height=\"10\" fill=\"#1a1a1a\" \/>\n             <\/svg>\n          <\/div>\n          <span>Heart II<\/span>\n        <\/button>\n        \n        <button class=\"theme-btn\" data-theme=\"love\">\n          <div class=\"theme-icon\">\n             <svg viewBox=\"0 0 360 504\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <path d=\"M 78 90 L 78 270 L 123 270\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"18\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\" \/>\n                <circle cx=\"198\" cy=\"200\" r=\"70\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"18\" \/>\n                <path d=\"M 78 285 L 118 350 L 256.67 90 M 228 285 L 178 285 L 178 350 L 323 350 M 38 315 L 213 315\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"18\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\" \/>\n                <rect x=\"90\" y=\"430\" width=\"180\" height=\"20\" fill=\"#1a1a1a\" \/>\n                <rect x=\"130\" y=\"460\" width=\"100\" height=\"12\" fill=\"#1a1a1a\" \/>\n             <\/svg>\n          <\/div>\n          <span>Love I<\/span>\n        <\/button>\n\n        <button class=\"theme-btn\" data-theme=\"blocklove\">\n          <div class=\"theme-icon\">\n             <svg viewBox=\"0 0 360 504\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <g fill=\"#1a1a1a\" stroke=\"#1a1a1a\" stroke-width=\"8\" stroke-linejoin=\"round\" stroke-linecap=\"round\">\n                    <path d=\"M 60,40 L 105,40 L 95,185 L 175,180 L 175,215 L 50,220 Z\" \/>\n                    <path d=\"M 245,40 C 310,40 330,80 330,130 C 330,180 310,220 245,220 C 180,220 160,180 160,130 C 160,80 180,40 245,40 Z M 245,105 C 225,85 205,95 205,120 C 205,150 245,175 245,185 C 245,175 285,150 285,120 C 285,95 265,85 245,105 Z\" fill-rule=\"evenodd\" \/>\n                    <path d=\"M 45,240 L 95,240 L 125,370 L 155,240 L 205,240 L 150,420 L 90,420 Z\" \/>\n                    <path d=\"M 215,240 L 315,245 L 310,285 L 255,280 L 255,310 L 305,310 L 300,350 L 255,345 L 255,380 L 325,380 L 320,420 L 205,420 Z\" \/>\n                <\/g>\n                <rect x=\"90\" y=\"445\" width=\"180\" height=\"15\" fill=\"#1a1a1a\" \/>\n                <rect x=\"130\" y=\"470\" width=\"100\" height=\"10\" fill=\"#1a1a1a\" \/>\n             <\/svg>\n          <\/div>\n          <span>Love II<\/span>\n        <\/button>\n\n        <button class=\"theme-btn\" data-theme=\"date\">\n          <div class=\"theme-icon\">\n             <svg viewBox=\"0 0 360 504\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <text x=\"180\" y=\"210\" text-anchor=\"middle\" font-family=\"'Playfair Display', serif\" font-weight=\"500\" font-size=\"200\" fill=\"#1a1a1a\">08<\/text>\n                <text x=\"180\" y=\"375\" text-anchor=\"middle\" font-family=\"'Playfair Display', serif\" font-weight=\"500\" font-size=\"200\" fill=\"#1a1a1a\">22<\/text>\n                <rect x=\"50\" y=\"240\" width=\"260\" height=\"30\" fill=\"#e0e0e0\" \/>\n                <rect x=\"90\" y=\"430\" width=\"180\" height=\"20\" fill=\"#1a1a1a\" \/>\n             <\/svg>\n          <\/div>\n          <span>Date<\/span>\n        <\/button>\n      <\/div>\n\n      <span class=\"pme-lbl\">Design<\/span>\n      \n      <div class=\"theme-pins\" id=\"pins-heart\" style=\"display:flex;\">\n        <button class=\"pme-thm\" data-bg=\"#ffffff\" data-hf=\"#ffffff\" data-hs=\"#1a1a1a\" data-tb=\"#1a1a1a\" data-ts=\"#1a1a1a\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #ffffff; border-color: #e0e0e0; box-shadow: inset 0 0 0 2px #1a1a1a;\"><\/div>\n          <span>Modern<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f5bccc\" data-hf=\"#d9385e\" data-hs=\"transparent\" data-tb=\"#f5bccc\" data-ts=\"#d9385e\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #f5bccc; border-color: #f5bccc; box-shadow: inset 0 0 0 2px #d9385e;\"><\/div>\n          <span>Pink<br>Blush<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f3e7ce\" data-hf=\"#ec7c5e\" data-hs=\"transparent\" data-tb=\"#f3e7ce\" data-ts=\"#ec7c5e\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #f3e7ce; border-color: #f3e7ce; box-shadow: inset 0 0 0 2px #ec7c5e;\"><\/div>\n          <span>Cream<br>Coral<\/span>\n        <\/button>\n        <button class=\"pme-thm active\" data-bg=\"#fbf0e6\" data-hf=\"#b8dfce\" data-hs=\"transparent\" data-tb=\"#b48378\" data-ts=\"#b48378\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #fbf0e6; border-color: #fbf0e6; box-shadow: inset 0 0 0 2px #b8dfce;\"><\/div>\n          <span>Mint<br>Cream<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f7df1e\" data-hf=\"#e83e60\" data-hs=\"transparent\" data-tb=\"#f7df1e\" data-ts=\"#e83e60\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #f7df1e; border-color: #f7df1e; box-shadow: inset 0 0 0 2px #e83e60;\"><\/div>\n          <span>Sunset<br>Yellow<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f1a4c3\" data-hf=\"#b84a92\" data-hs=\"transparent\" data-tb=\"#f1a4c3\" data-ts=\"#b84a92\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #f1a4c3; border-color: #f1a4c3; box-shadow: inset 0 0 0 2px #b84a92;\"><\/div>\n          <span>Lilac<br>Dream<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#ffffff\" data-hf=\"#b2b2b2\" data-hs=\"transparent\" data-tb=\"#1a1a1a\" data-ts=\"#1a1a1a\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #b2b2b2; border-color: #b2b2b2; box-shadow: inset 0 0 0 2px #1a1a1a;\"><\/div>\n          <span>Stone<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f6eee3\" data-hf=\"#d6b6a0\" data-hs=\"transparent\" data-tb=\"#f6eee3\" data-ts=\"#d6b6a0\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #d6b6a0; border-color: #d6b6a0; box-shadow: inset 0 0 0 2px #f6eee3;\"><\/div>\n          <span>Warm<br>Sand<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"theme-pins\" id=\"pins-love\" style=\"display:none;\">\n        <button class=\"pme-thm active\" data-bg=\"#fcbfa4\" data-tc=\"#ffffff\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #fcbfa4; border-color: #fcbfa4; box-shadow: inset 0 0 0 2px #ffffff;\"><\/div>\n          <span>Peach<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#90ccee\" data-tc=\"#ffffff\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #90ccee; border-color: #90ccee; box-shadow: inset 0 0 0 2px #ffffff;\"><\/div>\n          <span>Sky<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#bd2d43\" data-tc=\"#ffffff\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #bd2d43; border-color: #bd2d43; box-shadow: inset 0 0 0 2px #ffffff;\"><\/div>\n          <span>Crimson<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#ffffff\" data-tc=\"#1a1a1a\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #ffffff; border-color: #e0e0e0; box-shadow: inset 0 0 0 2px #1a1a1a;\"><\/div>\n          <span>Modern<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f6cacc\" data-tc=\"#1a1a1a\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #f6cacc; border-color: #f6cacc; box-shadow: inset 0 0 0 2px #1a1a1a;\"><\/div>\n          <span>Soft<br>Pink<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"theme-pins\" id=\"pins-blocklove\" style=\"display:none;\">\n        <button class=\"pme-thm active\" data-bg=\"#fcbfa4\" data-tc=\"#ffffff\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #fcbfa4; border-color: #fcbfa4; box-shadow: inset 0 0 0 2px #ffffff;\"><\/div>\n          <span>Peach<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#90ccee\" data-tc=\"#ffffff\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #90ccee; border-color: #90ccee; box-shadow: inset 0 0 0 2px #ffffff;\"><\/div>\n          <span>Sky<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#bd2d43\" data-tc=\"#ffffff\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #bd2d43; border-color: #bd2d43; box-shadow: inset 0 0 0 2px #ffffff;\"><\/div>\n          <span>Crimson<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#ffffff\" data-tc=\"#1a1a1a\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #ffffff; border-color: #e0e0e0; box-shadow: inset 0 0 0 2px #1a1a1a;\"><\/div>\n          <span>Modern<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f6cacc\" data-tc=\"#1a1a1a\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #f6cacc; border-color: #f6cacc; box-shadow: inset 0 0 0 2px #1a1a1a;\"><\/div>\n          <span>Soft<br>Pink<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"theme-pins\" id=\"pins-date\" style=\"display:none;\">\n        <button class=\"pme-thm active\" data-bg=\"#fbfaf5\" data-nc=\"#000000\" data-sc=\"#cdc2a5\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #fbfaf5; border-color: #e0e0e0; box-shadow: inset 0 0 0 2px #000000;\"><\/div>\n          <span>Modern<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#bde0d0\" data-nc=\"#fbfaf5\" data-sc=\"#d18a7c\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #bde0d0; border-color: #bde0d0; box-shadow: inset 0 0 0 2px #fbfaf5;\"><\/div>\n          <span>Mint<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#fbfaf5\" data-nc=\"#cd8a7c\" data-sc=\"#bde0d0\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #fbfaf5; border-color: #e0e0e0; box-shadow: inset 0 0 0 2px #cd8a7c;\"><\/div>\n          <span>Coral<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f8c8d4\" data-nc=\"#e33b5c\" data-sc=\"#fbfaf5\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #f8c8d4; border-color: #f8c8d4; box-shadow: inset 0 0 0 2px #e33b5c;\"><\/div>\n          <span>Pink<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#fbc4a3\" data-nc=\"#555555\" data-sc=\"#fbfaf5\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #fbc4a3; border-color: #fbc4a3; box-shadow: inset 0 0 0 2px #555555;\"><\/div>\n          <span>Peach<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"theme-pins\" id=\"pins-line\" style=\"display:none;\">\n        <button class=\"pme-thm active\" data-bg=\"#ffffff\" data-lc=\"#1a1a1a\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #ffffff; border-color: #e0e0e0; box-shadow: inset 0 0 0 2px #1a1a1a;\"><\/div>\n          <span>Modern<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#f34e6b\" data-lc=\"#ffffff\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #f34e6b; border-color: #f34e6b; box-shadow: inset 0 0 0 2px #ffffff;\"><\/div>\n          <span>Berry<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#fdf3ed\" data-lc=\"#d9998e\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #fdf3ed; border-color: #fdf3ed; box-shadow: inset 0 0 0 2px #d9998e;\"><\/div>\n          <span>Cream<br>Rose<\/span>\n        <\/button>\n        <button class=\"pme-thm\" data-bg=\"#c7e6d9\" data-lc=\"#d69b92\">\n          <div class=\"pme-thm-circle\" style=\"background-color: #c7e6d9; border-color: #c7e6d9; box-shadow: inset 0 0 0 2px #d69b92;\"><\/div>\n          <span>Mint<br>Rose<\/span>\n        <\/button>\n      <\/div>\n\n    <\/div>\n\n    <div class=\"pme-section\" id=\"sec-size\">\n      <div class=\"pme-title\">Gr\u00f6\u00dfe<\/div>\n      <div class=\"pme-desc\">W\u00e4hle Material und Gr\u00f6\u00dfe.<\/div>\n      <span class=\"pme-lbl\">Material<\/span>\n      <select id=\"sel-mat\" style=\"width:100%;border:1.5px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-size:14px;font-family:'Poppins',sans-serif;outline:none;background:#fafafa;margin-bottom:14px;cursor:pointer;appearance:auto;\">\n        <option value=\"poster\" selected>Poster<\/option>\n        <option value=\"framed\">Gerahmtes Poster<\/option>\n        <option value=\"canvas\">Leinwand<\/option>\n      <\/select>\n      \n      <div id=\"frame-opt-wrap\" style=\"display:none;margin-bottom:14px;\">\n        <span class=\"pme-lbl\">Rahmenfarbe<\/span>\n        <div style=\"display:grid;grid-template-columns:repeat(3,1fr);gap:6px;\">\n          <button class=\"pme-frame active\" data-frame=\"black\">Schwarz<\/button>\n          <button class=\"pme-frame\" data-frame=\"white\">Wei\u00df<\/button>\n          <button class=\"pme-frame\" data-frame=\"wood\">Holz<\/button>\n        <\/div>\n      <\/div>\n\n      <span class=\"pme-lbl\">Gr\u00f6\u00dfe<\/span>\n      <div id=\"size-dropdown\" style=\"position:relative;margin-bottom:14px;\">\n        <div id=\"size-selected\" style=\"width:100%;border:1.5px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-size:14px;font-family:'Poppins',sans-serif;background:#fafafa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none;\">\n          <span id=\"size-selected-text\"><\/span>\n          <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M2 4l4 4 4-4\" stroke=\"#888\" stroke-width=\"1.5\" stroke-linecap=\"round\"\/><\/svg>\n        <\/div>\n        <div id=\"size-options\" style=\"display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;margin-top:4px;z-index:200;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.08);\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"pme-bar\">\n      <div class=\"pme-prices\">\n        <span class=\"pme-old\" id=\"p-old\"><\/span>\n        <span class=\"pme-new\" id=\"p-new\"><\/span>\n      <\/div>\n      <button class=\"pme-cart\" id=\"btn-cart\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"9\" cy=\"21\" r=\"1\"\/><circle cx=\"20\" cy=\"21\" r=\"1\"\/><path d=\"M1 1h4l2.68 13.39a2 2 0 001.99 1.61h9.72a2 2 0 001.99-1.61L23 6H6\"\/><\/svg>\n        In den Warenkorb\n      <\/button>\n    <\/div>\n\n  <\/div>\n\n  <div class=\"pme-canvas\" id=\"pme-canvas\">\n    <div class=\"pme-outer\" id=\"pme-outer\">\n        \n      <div class=\"pme-poster anniversary-poster\" id=\"pme-poster\" style=\"width:360px;height:504px;\">\n        \n        <div class=\"heart-wrap\" id=\"heart-wrap\" style=\"display:block;\">\n            <svg id=\"heartPoster\" viewBox=\"0 0 336 480\" width=\"100%\" height=\"100%\">\n                <path d=\"M 100 380 C 250 310 316 200 316 110 C 316 20 200 10 100 80 C 0 10 -170 20 -170 110 C -170 200 -50 310 100 380 Z\" fill=\"var(--heart-fill)\" stroke=\"var(--heart-stroke)\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <text id=\"svg-heart-yes\" x=\"168\" y=\"200\" text-anchor=\"middle\" dominant-baseline=\"middle\" font-family=\"'Windsong', cursive\" font-size=\"140\" fill=\"var(--text-big)\">ja<\/text>\n                <text id=\"svg-heart-names\" x=\"168\" y=\"435\" text-anchor=\"middle\" font-family=\"'Big Shoulders', sans-serif\" font-weight=\"400\" font-size=\"20\" fill=\"var(--text-small)\">Giulia & Tom<\/text>\n                <text id=\"svg-heart-date\" x=\"168\" y=\"460\" text-anchor=\"middle\" font-family=\"'Big Shoulders', sans-serif\" font-weight=\"400\" font-size=\"14\" fill=\"var(--text-small)\">20. April 2022<\/text>\n            <\/svg>\n        <\/div>\n\n        <div class=\"line-wrap\" id=\"line-wrap\" style=\"display:none;\">\n            <svg id=\"linePoster\" viewBox=\"0 0 360 504\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <path d=\"M -20 340 C 50 310, 110 290, 180 250 C 260 200, 290 70, 180 140 C 70 100, 100 220, 180 250 C 250 280, 310 290, 380 310\" \n                      fill=\"none\" stroke=\"var(--line-col)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <text id=\"svg-line-names\" x=\"180\" y=\"390\" text-anchor=\"middle\" font-family=\"'Comfortaa', sans-serif\" font-weight=\"300\" font-size=\"18\" fill=\"var(--line-col)\">GIULIA & TOM<\/text>\n                <text id=\"svg-line-date\" x=\"180\" y=\"415\" text-anchor=\"middle\" font-family=\"'Comfortaa', sans-serif\" font-weight=\"300\" font-size=\"14\" fill=\"var(--line-col)\">20. APRIL 2022<\/text>\n            <\/svg>\n        <\/div>\n\n        <div class=\"love-wrap\" id=\"love-wrap\" style=\"display:none;\">\n            <svg id=\"lovePoster\" viewBox=\"0 0 360 504\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <path d=\"M 78 90 L 78 270 L 123 270\" fill=\"none\" stroke=\"var(--text-col)\" stroke-width=\"4.5\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\" \/>\n                <circle cx=\"198\" cy=\"200\" r=\"70\" fill=\"none\" stroke=\"var(--text-col)\" stroke-width=\"4.5\" \/>\n                <path d=\"M 78 285 L 118 350 L 256.67 90 M 228 285 L 178 285 L 178 350 L 323 350 M 38 315 L 213 315\" fill=\"none\" stroke=\"var(--text-col)\" stroke-width=\"4.5\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\" \/>\n                <text id=\"svg-love-names\" x=\"180\" y=\"445\" text-anchor=\"middle\" font-family=\"'Amatic SC', cursive\" font-weight=\"700\" font-size=\"22\" letter-spacing=\"0.05em\" fill=\"var(--text-col)\">GIULIA & TOM<\/text>\n                <text id=\"svg-love-date\" x=\"180\" y=\"475\" text-anchor=\"middle\" font-family=\"'Amatic SC', cursive\" font-weight=\"700\" font-size=\"16\" letter-spacing=\"0.05em\" fill=\"var(--text-col)\">20. APRIL 2022<\/text>\n            <\/svg>\n        <\/div>\n\n        <div class=\"blocklove-wrap\" id=\"blocklove-wrap\" style=\"display:none;\">\n            <svg id=\"blocklovePoster\" viewBox=\"0 0 360 504\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <g fill=\"var(--text-col)\" stroke=\"var(--text-col)\" stroke-width=\"8\" stroke-linejoin=\"round\" stroke-linecap=\"round\">\n                    <path d=\"M 60,40 L 105,40 L 95,185 L 175,180 L 175,215 L 50,220 Z\" \/>\n                    <path d=\"M 245,40 C 310,40 330,80 330,130 C 330,180 310,220 245,220 C 180,220 160,180 160,130 C 160,80 180,40 245,40 Z M 245,105 C 225,85 205,95 205,120 C 205,150 245,175 245,185 C 245,175 285,150 285,120 C 285,95 265,85 245,105 Z\" fill-rule=\"evenodd\" \/>\n                    <path d=\"M 45,240 L 95,240 L 125,370 L 155,240 L 205,240 L 150,420 L 90,420 Z\" \/>\n                    <path d=\"M 215,240 L 315,245 L 310,285 L 255,280 L 255,310 L 305,310 L 300,350 L 255,345 L 255,380 L 325,380 L 320,420 L 205,420 Z\" \/>\n                <\/g>\n                <text id=\"svg-blocklove-names\" x=\"180\" y=\"460\" text-anchor=\"middle\" font-family=\"'Comfortaa', sans-serif\" font-weight=\"500\" font-size=\"16\" fill=\"var(--text-col)\">Giulia & Tom<\/text>\n                <text id=\"svg-blocklove-date\" x=\"180\" y=\"480\" text-anchor=\"middle\" font-family=\"'Comfortaa', sans-serif\" font-weight=\"500\" font-size=\"12\" fill=\"var(--text-col)\">20. April 2022<\/text>\n            <\/svg>\n        <\/div>\n\n        <div class=\"date-wrap\" id=\"date-wrap\" style=\"display:none;\">\n            <svg id=\"datePoster\" viewBox=\"0 0 360 504\" width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid meet\">\n                <text id=\"svg-date-day\" x=\"180\" y=\"210\" text-anchor=\"middle\" font-family=\"'Bodoni Moda', serif\" font-weight=\"500\" font-size=\"200\" fill=\"var(--num-col)\" letter-spacing=\"-0.02em\">20<\/text>\n                <text id=\"svg-date-year\" x=\"180\" y=\"375\" text-anchor=\"middle\" font-family=\"'Bodoni Moda', serif\" font-weight=\"500\" font-size=\"200\" fill=\"var(--num-col)\" letter-spacing=\"-0.02em\">22<\/text>\n                <text id=\"svg-date-month\" x=\"180\" y=\"260\" text-anchor=\"middle\" font-family=\"'Allison', cursive\" font-size=\"130\" fill=\"var(--script-col)\">April<\/text>\n                <text id=\"svg-date-names\" x=\"180\" y=\"440\" text-anchor=\"middle\" font-family=\"'Bodoni Moda', serif\" font-weight=\"500\" font-size=\"16\" letter-spacing=\"0.1em\" fill=\"var(--num-col)\">GIULIA & TOM<\/text>\n                <path d=\"M 0 10 C 0 10 -10 -2 -10 -6 C -10 -10 -4 -12 0 -8 C 4 -12 10 -10 10 -6 C 10 -2 0 10 0 10 Z\" transform=\"translate(180, 465) scale(0.6)\" fill=\"var(--script-col)\" \/>\n            <\/svg>\n        <\/div>\n\n      <\/div>\n      \n      <div class=\"pme-dimr\"><span id=\"dim-h\">40 cm<\/span><\/div>\n      <div class=\"pme-dimb\"><span id=\"dim-w\">30 cm<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n\nvar SIZES = window.UWA_GLOBAL_SIZES;\n\nvar S = {\n  theme: 'heart', \n  yesText: 'ja',\n  names: 'Giulia & Tom',\n  dateRaw: '20. April 2022', \n  mat: 'poster', \n  sizeIdx: 1, \n  styleIndexHeart: 3, \n  styleIndexLove: 0,\n  styleIndexBlockLove: 0,\n  styleIndexDate: 0,\n  styleIndexLine: 0,\n  frame: 'black'\n};\n\nconst MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\nconst MONTHS_DE = [\"Januar\", \"Februar\", \"M\u00e4rz\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"];\n\nfunction updateURL() {\n  var p = new URLSearchParams();\n  p.set('theme', S.theme);\n  p.set('mat', S.mat);\n  p.set('size', S.sizeIdx);\n  p.set('styleHeart', S.styleIndexHeart);\n  p.set('styleLove', S.styleIndexLove);\n  p.set('styleBlockLove', S.styleIndexBlockLove);\n  p.set('styleDate', S.styleIndexDate);\n  p.set('styleLine', S.styleIndexLine);\n  if (S.mat === 'framed') p.set('frame', S.frame);\n  p.set('yes', S.yesText);\n  p.set('names', S.names);\n  p.set('date', S.dateRaw);\n  history.replaceState(null, '', '?' + p.toString());\n}\n\nfunction processDate(rawVal) {\n    if(!rawVal) return { dDay: \"20\", dMonth: \"April\", dYear: \"22\", formatted: \"20. April 2022\" };\n    \n    if(rawVal.includes('-') && rawVal.split('-').length === 3) {\n        var parts = rawVal.split('-');\n        var yFull = parts[0];\n        var yShort = yFull.length === 4 ? yFull.substring(2) : yFull;\n        var mIndex = parseInt(parts[1]) - 1;\n        var dDay = parts[2];\n        var mName = MONTHS[mIndex] || \"April\";\n        var mNameDe = MONTHS_DE[mIndex] || \"April\";\n        \n        return {\n            dDay: dDay, \n            dMonth: mName,\n            dYear: yShort,\n            formatted: parseInt(dDay) + \". \" + mNameDe + \" \" + yFull \n        };\n    }\n\n    var textParts = rawVal.replace(\/\\.\/g, '').trim().split(\/\\s+\/);\n    if(textParts.length >= 3) {\n        var dDay = textParts[0];\n        var mName = textParts[1];\n        var yShort = textParts[2].length === 4 ? textParts[2].substring(2) : textParts[2];\n        return { dDay: dDay, dMonth: mName, dYear: yShort, formatted: rawVal };\n    }\n    \n    return { dDay: \"20\", dMonth: \"April\", dYear: \"22\", formatted: rawVal };\n}\n\nfunction renderPoster() {\n  var dInfo = processDate(S.dateRaw);\n  var formattedDate = dInfo.formatted;\n\n  if (S.theme === 'heart') {\n      var svgYes = document.getElementById('svg-heart-yes');\n      if (svgYes) {\n          svgYes.textContent = S.yesText;\n          svgYes.setAttribute('font-family', '\"Windsong\", cursive');\n          svgYes.setAttribute('font-size', '140');\n          var w = 0; try { w = svgYes.getComputedTextLength(); } catch(e){}\n          if (w > 280 && w > 0) svgYes.setAttribute('font-size', (280 \/ w) * 140);\n      }\n      var svgNames = document.getElementById('svg-heart-names');\n      if (svgNames) {\n          svgNames.textContent = S.names;\n          svgNames.setAttribute('font-family', '\"Big Shoulders\", sans-serif');\n          svgNames.setAttribute('font-size', '20'); \n          var nw = 0; try { nw = svgNames.getComputedTextLength(); } catch(e){}\n          if (nw > 280 && nw > 0) svgNames.setAttribute('font-size', (280 \/ nw) * 20);\n      }\n      var svgDate = document.getElementById('svg-heart-date');\n      if (svgDate) {\n          svgDate.textContent = formattedDate;\n          svgDate.setAttribute('font-family', '\"Big Shoulders\", sans-serif');\n          svgDate.setAttribute('font-size', '14'); \n          var dw = 0; try { dw = svgDate.getComputedTextLength(); } catch(e){}\n          if (dw > 280 && dw > 0) svgDate.setAttribute('font-size', (280 \/ dw) * 14);\n      }\n  } else if (S.theme === 'love') {\n      var svgNames = document.getElementById('svg-love-names');\n      if (svgNames) {\n          svgNames.textContent = S.names.toUpperCase();\n          svgNames.setAttribute('font-family', '\"Amatic SC\", cursive');\n          svgNames.setAttribute('font-size', '22'); \n          var nw = 0; try { nw = svgNames.getComputedTextLength(); } catch(e){}\n          if (nw > 280 && nw > 0) svgNames.setAttribute('font-size', (280 \/ nw) * 22);\n      }\n      var svgDate = document.getElementById('svg-love-date');\n      if (svgDate) {\n          svgDate.textContent = formattedDate.toUpperCase();\n          svgDate.setAttribute('font-family', '\"Amatic SC\", cursive');\n          svgDate.setAttribute('font-size', '16'); \n          var dw = 0; try { dw = svgDate.getComputedTextLength(); } catch(e){}\n          if (dw > 280 && dw > 0) svgDate.setAttribute('font-size', (280 \/ dw) * 16);\n      }\n  } else if (S.theme === 'blocklove') {\n      var svgNames = document.getElementById('svg-blocklove-names');\n      if (svgNames) {\n          svgNames.textContent = S.names;\n          svgNames.setAttribute('font-family', '\"Comfortaa\", sans-serif');\n          svgNames.setAttribute('font-size', '16');\n          var nw = 0; try { nw = svgNames.getComputedTextLength(); } catch(e){}\n          if (nw > 280 && nw > 0) svgNames.setAttribute('font-size', (280 \/ nw) * 16);\n      }\n      var svgDate = document.getElementById('svg-blocklove-date');\n      if (svgDate) {\n          svgDate.textContent = formattedDate;\n          svgDate.setAttribute('font-family', '\"Comfortaa\", sans-serif');\n          svgDate.setAttribute('font-size', '12');\n          var dw = 0; try { dw = svgDate.getComputedTextLength(); } catch(e){}\n          if (dw > 280 && dw > 0) svgDate.setAttribute('font-size', (280 \/ dw) * 12);\n      }\n  } else if (S.theme === 'date') {\n      var svgDay = document.getElementById('svg-date-day');\n      if(svgDay) {\n          svgDay.textContent = dInfo.dDay;\n          svgDay.setAttribute('font-family', '\"Bodoni Moda\", serif');\n      }\n      \n      var svgYear = document.getElementById('svg-date-year');\n      if(svgYear) {\n          svgYear.textContent = dInfo.dYear;\n          svgYear.setAttribute('font-family', '\"Bodoni Moda\", serif');\n      }\n      \n      var svgMonth = document.getElementById('svg-date-month');\n      if(svgMonth) {\n          svgMonth.textContent = dInfo.dMonth;\n          svgMonth.setAttribute('font-family', '\"Allison\", cursive');\n          svgMonth.setAttribute('font-size', '130'); \n          var mw = 0; try { mw = svgMonth.getComputedTextLength(); } catch(e){}\n          if (mw > 280 && mw > 0) svgMonth.setAttribute('font-size', (280 \/ mw) * 130);\n      }\n\n      var svgNames = document.getElementById('svg-date-names');\n      if(svgNames) {\n          svgNames.textContent = S.names.toUpperCase();\n          svgNames.setAttribute('font-family', '\"Bodoni Moda\", serif');\n          svgNames.setAttribute('font-size', '16');\n          var nw = 0; try { nw = svgNames.getComputedTextLength(); } catch(e){}\n          if (nw > 280 && nw > 0) svgNames.setAttribute('font-size', (280 \/ nw) * 16);\n      }\n  } else {\n      \/\/ Line Theme\n      var svgNames = document.getElementById('svg-line-names');\n      if (svgNames) {\n          svgNames.textContent = S.names.toUpperCase();\n          svgNames.setAttribute('font-family', '\"Comfortaa\", sans-serif');\n          svgNames.setAttribute('font-size', '18');\n          var nw = 0; try { nw = svgNames.getComputedTextLength(); } catch(e){}\n          if (nw > 280 && nw > 0) svgNames.setAttribute('font-size', (280 \/ nw) * 18);\n      }\n      var svgDate = document.getElementById('svg-line-date');\n      if (svgDate) {\n          svgDate.textContent = formattedDate.toUpperCase();\n          svgDate.setAttribute('font-family', '\"Comfortaa\", sans-serif');\n          svgDate.setAttribute('font-size', '14');\n          var dw = 0; try { dw = svgDate.getComputedTextLength(); } catch(e){}\n          if (dw > 280 && dw > 0) svgDate.setAttribute('font-size', (280 \/ dw) * 14);\n      }\n  }\n}\n\nfunction switchThemeUI() {\n    document.getElementById('field-yes').style.display = 'none';\n\n    document.getElementById('pins-heart').style.display = 'none';\n    document.getElementById('pins-love').style.display = 'none';\n    document.getElementById('pins-blocklove').style.display = 'none';\n    document.getElementById('pins-date').style.display = 'none';\n    document.getElementById('pins-line').style.display = 'none';\n    \n    document.getElementById('heart-wrap').style.display = 'none';\n    document.getElementById('love-wrap').style.display = 'none';\n    document.getElementById('blocklove-wrap').style.display = 'none';\n    document.getElementById('date-wrap').style.display = 'none';\n    document.getElementById('line-wrap').style.display = 'none';\n\n    if (S.theme === 'heart') {\n        document.getElementById('field-yes').style.display = 'block';\n        document.getElementById('pins-heart').style.display = 'flex';\n        document.getElementById('heart-wrap').style.display = 'block';\n    } else if (S.theme === 'love') {\n        document.getElementById('pins-love').style.display = 'flex';\n        document.getElementById('love-wrap').style.display = 'block';\n    } else if (S.theme === 'blocklove') {\n        document.getElementById('pins-blocklove').style.display = 'flex';\n        document.getElementById('blocklove-wrap').style.display = 'block';\n    } else if (S.theme === 'date') {\n        document.getElementById('pins-date').style.display = 'flex';\n        document.getElementById('date-wrap').style.display = 'block';\n    } else {\n        document.getElementById('pins-line').style.display = 'flex';\n        document.getElementById('line-wrap').style.display = 'block';\n    }\n}\n\nfunction initEvents() {\n\ndocument.querySelectorAll('.pme-nav-btn, .pme-mobbtn').forEach(function(btn) {\n  btn.addEventListener('click', function() {\n    var panel = this.getAttribute('data-panel');\n    document.querySelectorAll('.pme-section').forEach(function(s) { s.classList.remove('active'); });\n    document.querySelectorAll('.pme-nav-btn').forEach(function(b) { b.classList.remove('active'); });\n    document.querySelectorAll('.pme-mobbtn').forEach(function(b) { b.classList.remove('active'); });\n    document.getElementById('sec-' + panel).classList.add('active');\n    document.querySelectorAll('[data-panel=\"' + panel + '\"]').forEach(function(b) { b.classList.add('active'); });\n  });\n});\n\ndocument.querySelectorAll('#theme-toggle .theme-btn').forEach(function(btn) {\n    btn.addEventListener('click', function() {\n        document.querySelectorAll('#theme-toggle .theme-btn').forEach(function(b) { b.classList.remove('active'); });\n        this.classList.add('active');\n        S.theme = this.getAttribute('data-theme');\n        switchThemeUI();\n        renderPoster();\n        updateURL();\n    });\n});\n\ndocument.querySelectorAll('#pins-heart .pme-thm').forEach(function(pin, index) {\n  pin.addEventListener('click', function() {\n    document.querySelectorAll('#pins-heart .pme-thm').forEach(function(p) { p.classList.remove('active'); });\n    this.classList.add('active');\n    var wrap = document.getElementById('heart-wrap');\n    if(wrap) {\n        wrap.style.setProperty('--bg-color', this.getAttribute('data-bg'));\n        wrap.style.setProperty('--heart-fill', this.getAttribute('data-hf'));\n        wrap.style.setProperty('--heart-stroke', this.getAttribute('data-hs'));\n        wrap.style.setProperty('--text-big', this.getAttribute('data-tb'));\n        wrap.style.setProperty('--text-small', this.getAttribute('data-ts'));\n    }\n    S.styleIndexHeart = index;\n    updateURL();\n  });\n});\n\ndocument.querySelectorAll('#pins-love .pme-thm').forEach(function(pin, index) {\n  pin.addEventListener('click', function() {\n    document.querySelectorAll('#pins-love .pme-thm').forEach(function(p) { p.classList.remove('active'); });\n    this.classList.add('active');\n    var wrap = document.getElementById('love-wrap');\n    if(wrap) {\n        wrap.style.setProperty('--bg-color', this.getAttribute('data-bg'));\n        wrap.style.setProperty('--text-col', this.getAttribute('data-tc'));\n    }\n    S.styleIndexLove = index;\n    updateURL();\n  });\n});\n\ndocument.querySelectorAll('#pins-blocklove .pme-thm').forEach(function(pin, index) {\n  pin.addEventListener('click', function() {\n    document.querySelectorAll('#pins-blocklove .pme-thm').forEach(function(p) { p.classList.remove('active'); });\n    this.classList.add('active');\n    var wrap = document.getElementById('blocklove-wrap');\n    if(wrap) {\n        wrap.style.setProperty('--bg-color', this.getAttribute('data-bg'));\n        wrap.style.setProperty('--text-col', this.getAttribute('data-tc'));\n    }\n    S.styleIndexBlockLove = index;\n    updateURL();\n  });\n});\n\ndocument.querySelectorAll('#pins-date .pme-thm').forEach(function(pin, index) {\n  pin.addEventListener('click', function() {\n    document.querySelectorAll('#pins-date .pme-thm').forEach(function(p) { p.classList.remove('active'); });\n    this.classList.add('active');\n    var wrap = document.getElementById('date-wrap');\n    if(wrap) {\n        wrap.style.setProperty('--bg-color', this.getAttribute('data-bg'));\n        wrap.style.setProperty('--num-col', this.getAttribute('data-nc'));\n        wrap.style.setProperty('--script-col', this.getAttribute('data-sc'));\n    }\n    S.styleIndexDate = index;\n    updateURL();\n  });\n});\n\ndocument.querySelectorAll('#pins-line .pme-thm').forEach(function(pin, index) {\n  pin.addEventListener('click', function() {\n    document.querySelectorAll('#pins-line .pme-thm').forEach(function(p) { p.classList.remove('active'); });\n    this.classList.add('active');\n    var wrap = document.getElementById('line-wrap');\n    if(wrap) {\n        wrap.style.setProperty('--bg-color', this.getAttribute('data-bg'));\n        wrap.style.setProperty('--line-col', this.getAttribute('data-lc'));\n    }\n    S.styleIndexLine = index;\n    updateURL();\n  });\n});\n\ndocument.getElementById('inp-yes').addEventListener('input', function() { S.yesText = this.value; renderPoster(); updateURL(); });\ndocument.getElementById('inp-names').addEventListener('input', function() { S.names = this.value; renderPoster(); updateURL(); });\n\ndocument.getElementById('inp-date-picker').addEventListener('input', function() { \n    S.dateRaw = this.value; \n    renderPoster(); \n    updateURL(); \n});\n\ndocument.getElementById('sel-mat').addEventListener('change', function() {\n  S.mat = this.value;\n  var sizes = SIZES[S.mat] || [];\n  S.sizeIdx = 0;\n  for (var i = 0; i < sizes.length; i++) {\n    if (sizes[i].l.includes('30x40cm')) { S.sizeIdx = i; break; }\n  }\n  renderSizes();\n  updateURL();\n});\n\ndocument.querySelectorAll('.pme-frame').forEach(function(btn) {\n  btn.addEventListener('click', function() {\n    document.querySelectorAll('.pme-frame').forEach(function(b) { b.classList.remove('active'); });\n    this.classList.add('active');\n    S.frame = this.getAttribute('data-frame');\n    updateDims();\n    updateURL();\n  });\n});\n\nfunction renderSizes() {\n  var sizes = SIZES[S.mat] || [];\n  var opts = document.getElementById('size-options');\n  var selText = document.getElementById('size-selected-text');\n  var selDiv = document.getElementById('size-selected');\n  var optsDiv = document.getElementById('size-options');\n  \n  var frameWrap = document.getElementById('frame-opt-wrap');\n  if (frameWrap) frameWrap.style.display = (S.mat === 'framed') ? 'block' : 'none';\n\n  function buildLabel(s) {\n    return s.l + '\\u00a0\\u00a0<s style=\"color:#999\">' + s.orig.toFixed(2) + '\\u00a0\\u20ac<\/s>\\u00a0\\u00a0<span style=\"color:#e00\">' + s.p.toFixed(2) + '\\u00a0\\u20ac<\/span>';\n  }\n\n  function selectIdx(i) {\n    S.sizeIdx = i;\n    selText.innerHTML = buildLabel(sizes[i]);\n    optsDiv.style.display = 'none';\n    updatePrice(); updateDims(); updateURL();\n  }\n\n  opts.innerHTML = sizes.map(function(s, i) {\n    return '<div class=\"size-opt\" data-idx=\"' + i + '\" style=\"padding:10px 12px;font-size:14px;font-family:\\'Poppins\\',sans-serif;cursor:pointer;border-bottom:1px solid #f0f0f0;\">' + buildLabel(s) + '<\/div>';\n  }).join('');\n\n  opts.querySelectorAll('.size-opt').forEach(function(el) {\n    el.addEventListener('mouseenter', function() { this.style.background='#f5f5f5'; });\n    el.addEventListener('mouseleave', function() { this.style.background=''; });\n    el.addEventListener('click', function() { selectIdx(parseInt(this.getAttribute('data-idx'))); });\n  });\n\n  selDiv.onclick = function(e) {\n    e.stopPropagation();\n    optsDiv.style.display = optsDiv.style.display === 'none' ? 'block' : 'none';\n  };\n\n  document.addEventListener('click', function() { optsDiv.style.display = 'none'; });\n  selectIdx(S.sizeIdx < sizes.length ? S.sizeIdx : 0);\n}\n\nfunction updatePrice() {\n  var s = (SIZES[S.mat] || [])[S.sizeIdx];\n  if (!s) return;\n  document.getElementById('p-old').textContent = s.orig.toFixed(2).replace('.', ',') + ' EUR';\n  document.getElementById('p-new').textContent = s.p.toFixed(2).replace('.', ',') + ' EUR';\n}\n\nfunction updateDims() {\n  var s = (SIZES[S.mat] || [])[S.sizeIdx];\n  if (!s) return;\n  document.getElementById('dim-w').textContent = s.w + ' cm';\n  document.getElementById('dim-h').textContent = s.h + ' cm';\n  var BASE = 504;\n  var pw = s.w, ph = s.h;\n  var longer = Math.max(pw, ph), shorter = Math.min(pw, ph);\n  var baseW = Math.round(BASE * shorter \/ longer);\n  var baseH = BASE;\n  var poster = document.getElementById('pme-poster');\n\n  if (S.mat === 'framed') {\n    var thicknessMm = s.l.includes('13x18cm') ? 10 : 14;\n    var framePx = thicknessMm * (BASE \/ (longer * 10));\n\n    poster.style.borderWidth = framePx + 'px';\n    poster.style.borderStyle = 'solid';\n\n    if (S.frame === 'wood') {\n      poster.style.borderColor = '#d7c5b3';\n      poster.style.borderImage = \"url(\\\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.01 0.4' numOctaves='2' result='noise'\/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 0.8 0 0 0 0 0.5 0 0 0 0 0 0 0.15 0' in='noise'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' fill='%23d7c5b3'\/%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'\/%3E%3C\/svg%3E\\\") 10 stretch\";\n    } else if (S.frame === 'white') {\n      poster.style.borderImage = \"\";\n      poster.style.borderColor = '#ffffff';\n    } else { \n      poster.style.borderImage = \"\";\n      poster.style.borderColor = '#1a1a1a';\n    }\n    \n    poster.style.width = (baseW - 2 + framePx * 2) + 'px';\n    poster.style.height = (baseH - 2 + framePx * 2) + 'px';\n    poster.classList.add('is-framed');\n  } else {\n    poster.style.border = '';\n    poster.style.borderImage = '';\n    poster.style.width = baseW + 'px';\n    poster.style.height = baseH + 'px';\n    poster.classList.remove('is-framed');\n  }\n\n  setTimeout(function(){ renderPoster(); fitPoster(); }, 60);\n}\n\n\/\/ Add to Cart\ndocument.getElementById('btn-cart').addEventListener('click', function() {\n  var btn = this;\n  var originalHTML = btn.innerHTML;\n  btn.innerHTML = 'L\u00e4dt...';\n  btn.style.pointerEvents = 'none';\n\n  var s = (SIZES[S.mat] || [])[S.sizeIdx] || {};\n  \n  var activeStyleIdx = S.styleIndexHeart;\n  if(S.theme === 'love') activeStyleIdx = S.styleIndexLove;\n  if(S.theme === 'blocklove') activeStyleIdx = S.styleIndexBlockLove;\n  if(S.theme === 'date') activeStyleIdx = S.styleIndexDate;\n  if(S.theme === 'line') activeStyleIdx = S.styleIndexLine;\n\n  var formattedDate = processDate(S.dateRaw).formatted;\n\n  var cartData = {\n    action:            'uwa_add_to_cart',\n    product_id:        '1530', \n    poster_title:      S.theme === 'heart' ? S.yesText : S.names,\n    poster_subtitle:   (S.theme === 'heart' || S.theme === 'line') ? S.names : formattedDate,\n    poster_date:       (S.theme === 'heart' || S.theme === 'line') ? formattedDate : '',\n    poster_theme:      S.theme,\n    poster_style:      activeStyleIdx,\n    poster_material:   S.mat,\n    poster_frame:      (S.mat === 'framed') ? S.frame : '',\n    poster_size:       s.l || '',\n    poster_orientation: 'portrait',\n    poster_price:      s.p || '',\n    poster_original_price: s.orig || '',\n    poster_url: window.location.href\n  };\n\n  var W = 360, H = 504;\n  var pad = 14; \n  var innerW = W - pad * 2;\n  var innerH = H - pad * 2;\n\n  var cnv = document.createElement('canvas');\n  cnv.width = W; cnv.height = H;\n  var ctx = cnv.getContext('2d');\n\n  ctx.fillStyle = '#ffffff';\n  ctx.fillRect(0, 0, W, H);\n  ctx.save();\n  ctx.translate(pad, pad);\n\n  var scale = Math.min(innerW \/ 360, innerH \/ 504);\n  var offsetX = (innerW - (360 * scale)) \/ 2;\n  var offsetY = (innerH - (504 * scale)) \/ 2;\n\n  if (S.theme === 'heart') {\n      var wrap = document.getElementById('heart-wrap');\n      var bg = wrap ? getComputedStyle(wrap).getPropertyValue('--bg-color').trim() : '#ffffff';\n      var hf = wrap ? getComputedStyle(wrap).getPropertyValue('--heart-fill').trim() : '#ffffff';\n      var hs = wrap ? getComputedStyle(wrap).getPropertyValue('--heart-stroke').trim() : '#1a1a1a';\n      var tb = wrap ? getComputedStyle(wrap).getPropertyValue('--text-big').trim() : '#1a1a1a';\n      var ts = wrap ? getComputedStyle(wrap).getPropertyValue('--text-small').trim() : '#1a1a1a';\n\n      ctx.fillStyle = bg;\n      ctx.fillRect(0, 0, innerW, innerH);\n      \n      var heartPath = new Path2D('M 100 380 C 250 310 316 200 316 110 C 316 20 200 10 100 80 C 0 10 -170 20 -170 110 C -170 200 -50 310 100 380 Z');\n\n      if (hf !== 'transparent' && hf !== 'rgba(0, 0, 0, 0)') { ctx.fillStyle = hf; ctx.fill(heartPath); }\n      if (hs !== 'transparent' && hs !== 'rgba(0, 0, 0, 0)') { ctx.strokeStyle = hs; ctx.lineWidth = 1.2; ctx.lineJoin = 'round'; ctx.lineCap = 'round'; ctx.stroke(heartPath); }\n\n      ctx.fillStyle = tb;\n      ctx.textAlign = 'center';\n      ctx.textBaseline = 'middle';\n      \n      var fsYes = 140;\n      ctx.font = fsYes + 'px \"Windsong\", cursive';\n      var yesW = ctx.measureText(S.yesText).width;\n      if(yesW > 280) { fsYes = fsYes * (280 \/ yesW); ctx.font = fsYes + 'px \"Windsong\", cursive'; }\n      ctx.fillText(S.yesText, 168, 200);\n\n      ctx.fillStyle = ts;\n      ctx.textBaseline = 'alphabetic';\n      \n      var fsNames = 20; \n      ctx.font = '400 ' + fsNames + 'px \"Big Shoulders\", sans-serif';\n      var namesW = ctx.measureText(S.names).width;\n      if(namesW > 280) { fsNames = fsNames * (280 \/ namesW); ctx.font = '400 ' + fsNames + 'px \"Big Shoulders\", sans-serif'; }\n      ctx.fillText(S.names, 168, 435);\n      \n      var fsDate = 14; \n      ctx.font = '400 ' + fsDate + 'px \"Big Shoulders\", sans-serif';\n      var dateW = ctx.measureText(formattedDate).width;\n      if(dateW > 280) { fsDate = fsDate * (280 \/ dateW); ctx.font = '400 ' + fsDate + 'px \"Big Shoulders\", sans-serif'; }\n      ctx.fillText(formattedDate, 168, 460);\n\n  } else if (S.theme === 'love') {\n      var wrap = document.getElementById('love-wrap');\n      var bg = wrap ? getComputedStyle(wrap).getPropertyValue('--bg-color').trim() : '#fcbfa4';\n      var tc = wrap ? getComputedStyle(wrap).getPropertyValue('--text-col').trim() : '#ffffff';\n\n      ctx.fillStyle = bg;\n      ctx.fillRect(0, 0, innerW, innerH);\n\n      ctx.save();\n      ctx.translate(offsetX, offsetY);\n      ctx.scale(scale, scale);\n\n      ctx.strokeStyle = tc;\n      ctx.lineWidth = 4.5;\n      ctx.lineJoin = 'miter';\n      ctx.lineCap = 'butt';\n\n      var p1 = new Path2D('M 78 90 L 78 270 L 123 270');\n      ctx.stroke(p1);\n      ctx.beginPath();\n      ctx.arc(198, 200, 70, 0, Math.PI * 2);\n      ctx.stroke();\n      var p2 = new Path2D('M 78 285 L 118 350 L 256.67 90 M 228 285 L 178 285 L 178 350 L 323 350 M 38 315 L 213 315');\n      ctx.stroke(p2);\n\n      ctx.fillStyle = tc;\n      ctx.textAlign = 'center';\n      ctx.textBaseline = 'alphabetic';\n      \n      var fsNames = 22; \n      ctx.font = '700 ' + fsNames + 'px \"Amatic SC\", cursive';\n      ctx.letterSpacing = '0.05em';\n      var namesW = ctx.measureText(S.names.toUpperCase()).width;\n      if(namesW > 280) { fsNames = fsNames * (280 \/ namesW); ctx.font = '700 ' + fsNames + 'px \"Amatic SC\", cursive'; }\n      ctx.fillText(S.names.toUpperCase(), 180, 445);\n      \n      var fsDate = 16; \n      ctx.font = '700 ' + fsDate + 'px \"Amatic SC\", cursive';\n      var dateW = ctx.measureText(formattedDate.toUpperCase()).width;\n      if(dateW > 280) { fsDate = fsDate * (280 \/ dateW); ctx.font = '700 ' + fsDate + 'px \"Amatic SC\", cursive'; }\n      ctx.fillText(formattedDate.toUpperCase(), 180, 475);\n\n      ctx.restore();\n\n  } else if (S.theme === 'blocklove') {\n      var wrap = document.getElementById('blocklove-wrap');\n      var bg = wrap ? getComputedStyle(wrap).getPropertyValue('--bg-color').trim() : '#fcbfa4';\n      var tc = wrap ? getComputedStyle(wrap).getPropertyValue('--text-col').trim() : '#ffffff';\n\n      ctx.fillStyle = bg;\n      ctx.fillRect(0, 0, innerW, innerH);\n\n      ctx.save();\n      ctx.translate(offsetX, offsetY);\n      ctx.scale(scale, scale);\n\n      ctx.fillStyle = tc;\n      ctx.strokeStyle = tc;\n      ctx.lineWidth = 8;\n      ctx.lineJoin = 'round';\n      ctx.lineCap = 'round';\n\n      var pL = new Path2D('M 60,40 L 105,40 L 95,185 L 175,180 L 175,215 L 50,220 Z');\n      ctx.stroke(pL); ctx.fill(pL);\n\n      var pO = new Path2D('M 245,40 C 310,40 330,80 330,130 C 330,180 310,220 245,220 C 180,220 160,180 160,130 C 160,80 180,40 245,40 Z M 245,105 C 225,85 205,95 205,120 C 205,150 245,175 245,185 C 245,175 285,150 285,120 C 285,95 265,85 245,105 Z');\n      ctx.stroke(pO); ctx.fill(pO, 'evenodd');\n\n      var pV = new Path2D('M 45,240 L 95,240 L 125,370 L 155,240 L 205,240 L 150,420 L 90,420 Z');\n      ctx.stroke(pV); ctx.fill(pV);\n\n      var pE = new Path2D('M 215,240 L 315,245 L 310,285 L 255,280 L 255,310 L 305,310 L 300,350 L 255,345 L 255,380 L 325,380 L 320,420 L 205,420 Z');\n      ctx.stroke(pE); ctx.fill(pE);\n\n      ctx.fillStyle = tc;\n      ctx.textAlign = 'center';\n      ctx.textBaseline = 'alphabetic';\n      \n      var fsNames = 16;\n      ctx.font = '500 ' + fsNames + 'px \"Comfortaa\", sans-serif';\n      var namesW = ctx.measureText(S.names).width;\n      if(namesW > 280) { fsNames = fsNames * (280 \/ namesW); ctx.font = '500 ' + fsNames + 'px \"Comfortaa\", sans-serif'; }\n      ctx.fillText(S.names, 180, 460);\n      \n      var fsDate = 12;\n      ctx.font = '500 ' + fsDate + 'px \"Comfortaa\", sans-serif';\n      var dateW = ctx.measureText(formattedDate).width;\n      if(dateW > 280) { fsDate = fsDate * (280 \/ dateW); ctx.font = '500 ' + fsDate + 'px \"Comfortaa\", sans-serif'; }\n      ctx.fillText(formattedDate, 180, 480);\n\n      ctx.restore();\n\n  } else if (S.theme === 'date') {\n      var wrap = document.getElementById('date-wrap');\n      var bg = wrap ? getComputedStyle(wrap).getPropertyValue('--bg-color').trim() : '#fbfaf5';\n      var nc = wrap ? getComputedStyle(wrap).getPropertyValue('--num-col').trim() : '#000000';\n      var sc = wrap ? getComputedStyle(wrap).getPropertyValue('--script-col').trim() : '#cdc2a5';\n\n      ctx.fillStyle = bg;\n      ctx.fillRect(0, 0, innerW, innerH);\n\n      var dParts = processDate(S.dateRaw);\n\n      ctx.save();\n      ctx.translate(offsetX, offsetY);\n      ctx.scale(scale, scale);\n\n      ctx.fillStyle = nc;\n      ctx.textAlign = 'center';\n      ctx.textBaseline = 'alphabetic';\n      \n      ctx.font = '500 200px \"Bodoni Moda\", serif';\n      ctx.fillText(dParts.dDay, 180, 210);\n      ctx.fillText(dParts.dYear, 180, 375);\n\n      ctx.fillStyle = sc;\n      var fsMonth = 130; \n      ctx.font = fsMonth + 'px \"Allison\", cursive';\n      var monthW = ctx.measureText(dParts.dMonth).width;\n      if(monthW > 280) { fsMonth = fsMonth * (280 \/ monthW); ctx.font = fsMonth + 'px \"Allison\", cursive'; }\n      ctx.fillText(dParts.dMonth, 180, 260); \n\n      ctx.fillStyle = nc;\n      var fsNames = 16;\n      ctx.font = '500 ' + fsNames + 'px \"Bodoni Moda\", serif';\n      var namesW = ctx.measureText(S.names.toUpperCase()).width;\n      if(namesW > 280) { fsNames = fsNames * (280 \/ namesW); ctx.font = '500 ' + fsNames + 'px \"Bodoni Moda\", serif'; }\n      ctx.fillText(S.names.toUpperCase(), 180, 440);\n\n      ctx.fillStyle = sc;\n      var heartPath = new Path2D('M 0 10 C 0 10 -10 -2 -10 -6 C -10 -10 -4 -12 0 -8 C 4 -12 10 -10 10 -6 C 10 -2 0 10 0 10 Z');\n      ctx.save();\n      ctx.translate(180, 465);\n      ctx.scale(0.6, 0.6);\n      ctx.fill(heartPath);\n      ctx.restore();\n\n      ctx.restore();\n\n  } else {\n      \/\/ Line\n      var wrap = document.getElementById('line-wrap');\n      var bg = wrap ? getComputedStyle(wrap).getPropertyValue('--bg-color').trim() : '#ffffff';\n      var lc = wrap ? getComputedStyle(wrap).getPropertyValue('--line-col').trim() : '#1a1a1a';\n\n      ctx.fillStyle = bg;\n      ctx.fillRect(0, 0, innerW, innerH);\n\n      ctx.save();\n      ctx.translate(offsetX, offsetY);\n      ctx.scale(scale, scale);\n\n      ctx.strokeStyle = lc;\n      ctx.lineWidth = 1.5;\n      ctx.lineJoin = 'round';\n      ctx.lineCap = 'round';\n      \n      var linePath = new Path2D('M -20 340 C 50 310, 110 290, 180 250 C 260 200, 290 70, 180 140 C 70 100, 100 220, 180 250 C 250 280, 310 290, 380 310');\n      ctx.stroke(linePath);\n\n      ctx.fillStyle = lc;\n      ctx.textAlign = 'center';\n      ctx.textBaseline = 'alphabetic';\n      \n      var fsNames = 18;\n      ctx.font = '500 ' + fsNames + 'px \"Comfortaa\", sans-serif';\n      var namesW = ctx.measureText(S.names.toUpperCase()).width;\n      if(namesW > 280) { fsNames = fsNames * (280 \/ namesW); ctx.font = '500 ' + fsNames + 'px \"Comfortaa\", sans-serif'; }\n      ctx.fillText(S.names.toUpperCase(), 180, 390);\n      \n      var fsDate = 14;\n      ctx.font = '500 ' + fsDate + 'px \"Comfortaa\", sans-serif';\n      var dateW = ctx.measureText(formattedDate.toUpperCase()).width;\n      if(dateW > 280) { fsDate = fsDate * (280 \/ dateW); ctx.font = '500 ' + fsDate + 'px \"Comfortaa\", sans-serif'; }\n      ctx.fillText(formattedDate.toUpperCase(), 180, 415);\n\n      ctx.restore();\n  }\n\n  ctx.restore(); \n\n  cartData.poster_thumbnail = cnv.toDataURL('image\/jpeg', 0.92) || '';\n\n  var body = Object.keys(cartData).map(function(k) {\n    return encodeURIComponent(k) + '=' + encodeURIComponent(cartData[k]);\n  }).join('&');\n\n  fetch('https:\/\/zulumaps.com\/wp-admin\/admin-ajax.php', {\n    method: 'POST',\n    headers: {'Content-Type': 'application\/x-www-form-urlencoded'},\n    body: body\n  }).then(function(r) { return r.json(); })\n  .then(function(res) {\n    if (res.success) { \n        window.location.href = 'https:\/\/zulumaps.com\/cart\/'; \n    } else {\n        console.error(\"Cart Error:\", res); \n        alert(\"Fehler beim Hinzuf\u00fcgen zum Warenkorb.\");\n        btn.innerHTML = originalHTML;\n        btn.style.pointerEvents = 'auto';\n    }\n  }).catch(function(err) {\n    console.error(\"Fetch Error:\", err);\n    alert(\"Es gab einen Verbindungsfehler.\");\n    btn.innerHTML = originalHTML;\n    btn.style.pointerEvents = 'auto';\n  });\n});\n\nfunction fitPoster() {\n  var canvas = document.getElementById('pme-canvas');\n  var outer = document.getElementById('pme-outer');\n  var poster = document.getElementById('pme-poster');\n  if (!canvas || !poster.offsetWidth) return;\n  var isMob = window.innerWidth <= 768;\n  \n  var aH = canvas.clientHeight - (isMob ? 50 : 60);\n  var aW = canvas.clientWidth - (isMob ? 50 : 80);\n  var scale = Math.min(aH \/ poster.offsetHeight, aW \/ poster.offsetWidth, isMob ? 2.5 : 1.4);\n  outer.style.transform = 'scale(' + scale + ')';\n  outer.style.transformOrigin = 'center center';\n}\n\nfunction setHeight() {\n  var el = document.getElementById('pme-root');\n  if (!el) return;\n  var isMob = window.innerWidth <= 768;\n  if (isMob) {\n    el.style.height = 'auto'; \n    var panel = document.querySelector('.pme-panel');\n    var nav = document.querySelector('.pme-nav');\n    var canvas = document.getElementById('pme-canvas');\n    if (panel) panel.style.height = '';\n    if (nav) nav.style.height = '';\n    if (canvas) canvas.style.height = '';\n  } else {\n    var r = el.getBoundingClientRect();\n    var h = Math.max(window.innerHeight - r.top, 500);\n    el.style.height = h + 'px';\n    var panel = document.querySelector('.pme-panel');\n    var nav = document.querySelector('.pme-nav');\n    var canvas = document.getElementById('pme-canvas');\n    if (panel) panel.style.height = h + 'px';\n    if (nav) nav.style.height = h + 'px';\n    if (canvas) canvas.style.height = h + 'px';\n  }\n  setTimeout(fitPoster, 100);\n}\n\n\/\/ Force fonts loading\ndocument.fonts.load('140px \"Windsong\"').then(function(){ renderPoster(); });\ndocument.fonts.load('16px \"Big Shoulders\"').then(function(){ renderPoster(); });\ndocument.fonts.load('32px \"Amatic SC\"').then(function(){ renderPoster(); });\ndocument.fonts.load('16px \"Comfortaa\"').then(function(){ renderPoster(); });\ndocument.fonts.load('110px \"Allison\"').then(function(){ renderPoster(); });\ndocument.fonts.load('200px \"Bodoni Moda\"').then(function(){ renderPoster(); });\n\nwindow.addEventListener('load', setHeight);\nwindow.addEventListener('resize', setHeight);\nsetTimeout(setHeight, 300);\n\nvar p = new URLSearchParams(window.location.search);\nif (p.has('theme')) S.theme = p.get('theme');\nif (p.has('mat'))   S.mat = p.get('mat');\nif (p.has('size'))  S.sizeIdx = parseInt(p.get('size')) || 0;\nif (p.has('styleHeart')) S.styleIndexHeart = parseInt(p.get('styleHeart')) || 3;\nif (p.has('styleLove'))  S.styleIndexLove = parseInt(p.get('styleLove')) || 0;\nif (p.has('styleBlockLove'))  S.styleIndexBlockLove = parseInt(p.get('styleBlockLove')) || 0;\nif (p.has('styleDate'))  S.styleIndexDate = parseInt(p.get('styleDate')) || 0;\nif (p.has('styleLine'))  S.styleIndexLine = parseInt(p.get('styleLine')) || 0;\nif (p.has('frame')) S.frame = p.get('frame');\nif (p.has('yes'))   S.yesText = p.get('yes');\nif (p.has('names')) S.names = p.get('names');\nif (p.has('date'))  S.dateRaw = p.get('date');\n\nvar ms = document.getElementById('sel-mat');\nif (ms) ms.value = S.mat;\n\ndocument.getElementById('inp-yes').value = S.yesText;\ndocument.getElementById('inp-names').value = S.names;\n\n\/\/ Fallback initialisiert auf den Text\nvar pickerVal = S.dateRaw;\ndocument.getElementById('inp-date-picker').value = pickerVal;\nif(document.getElementById('inp-date')) {\n    document.getElementById('inp-date').value = processDate(pickerVal).formatted;\n}\n\ndocument.querySelectorAll('#theme-toggle .theme-btn').forEach(function(b) {\n    b.classList.toggle('active', b.getAttribute('data-theme') === S.theme);\n});\n\nswitchThemeUI();\nrenderPoster();\n\nvar heartPins = document.querySelectorAll('#pins-heart .pme-thm');\nif (heartPins.length > S.styleIndexHeart) {\n  var activePin = heartPins[S.styleIndexHeart];\n  heartPins.forEach(function(p) { p.classList.remove('active'); });\n  activePin.classList.add('active');\n  var wrap = document.getElementById('heart-wrap');\n  if (wrap) {\n      wrap.style.setProperty('--bg-color', activePin.getAttribute('data-bg'));\n      wrap.style.setProperty('--heart-fill', activePin.getAttribute('data-hf'));\n      wrap.style.setProperty('--heart-stroke', activePin.getAttribute('data-hs'));\n      wrap.style.setProperty('--text-big', activePin.getAttribute('data-tb'));\n      wrap.style.setProperty('--text-small', activePin.getAttribute('data-ts'));\n  }\n}\n\nvar lovePins = document.querySelectorAll('#pins-love .pme-thm');\nif (lovePins.length > S.styleIndexLove) {\n  var activePin = lovePins[S.styleIndexLove];\n  lovePins.forEach(function(p) { p.classList.remove('active'); });\n  activePin.classList.add('active');\n  var wrap = document.getElementById('love-wrap');\n  if (wrap) {\n      wrap.style.setProperty('--bg-color', activePin.getAttribute('data-bg'));\n      wrap.style.setProperty('--text-col', activePin.getAttribute('data-tc'));\n  }\n}\n\nvar blocklovePins = document.querySelectorAll('#pins-blocklove .pme-thm');\nif (blocklovePins.length > S.styleIndexBlockLove) {\n  var activePin = blocklovePins[S.styleIndexBlockLove];\n  blocklovePins.forEach(function(p) { p.classList.remove('active'); });\n  activePin.classList.add('active');\n  var wrap = document.getElementById('blocklove-wrap');\n  if (wrap) {\n      wrap.style.setProperty('--bg-color', activePin.getAttribute('data-bg'));\n      wrap.style.setProperty('--text-col', activePin.getAttribute('data-tc'));\n  }\n}\n\nvar datePins = document.querySelectorAll('#pins-date .pme-thm');\nif (datePins.length > S.styleIndexDate) {\n  var activePin = datePins[S.styleIndexDate];\n  datePins.forEach(function(p) { p.classList.remove('active'); });\n  activePin.classList.add('active');\n  var wrap = document.getElementById('date-wrap');\n  if (wrap) {\n      wrap.style.setProperty('--bg-color', activePin.getAttribute('data-bg'));\n      wrap.style.setProperty('--num-col', activePin.getAttribute('data-nc'));\n      wrap.style.setProperty('--script-col', activePin.getAttribute('data-sc'));\n  }\n}\n\nvar linePins = document.querySelectorAll('#pins-line .pme-thm');\nif (linePins.length > S.styleIndexLine) {\n  var activePin = linePins[S.styleIndexLine];\n  linePins.forEach(function(p) { p.classList.remove('active'); });\n  activePin.classList.add('active');\n  var wrap = document.getElementById('line-wrap');\n  if (wrap) {\n      wrap.style.setProperty('--bg-color', activePin.getAttribute('data-bg'));\n      wrap.style.setProperty('--line-col', activePin.getAttribute('data-lc'));\n  }\n}\n\nif (S.frame) {\n  document.querySelectorAll('.pme-frame').forEach(function(btn) {\n    btn.classList.toggle('active', btn.getAttribute('data-frame') === S.frame);\n  });\n}\nif (S.mat === 'framed') {\n  document.getElementById('pme-poster').classList.add('is-framed');\n}\n\nrenderSizes();\n\n} \/\/ end initEvents\n\ninitEvents();\n\n})();\n<\/script><\/div>\n\t\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":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2193","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zulumaps.com\/de\/wp-json\/wp\/v2\/pages\/2193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zulumaps.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zulumaps.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zulumaps.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zulumaps.com\/de\/wp-json\/wp\/v2\/comments?post=2193"}],"version-history":[{"count":10,"href":"https:\/\/zulumaps.com\/de\/wp-json\/wp\/v2\/pages\/2193\/revisions"}],"predecessor-version":[{"id":3059,"href":"https:\/\/zulumaps.com\/de\/wp-json\/wp\/v2\/pages\/2193\/revisions\/3059"}],"wp:attachment":[{"href":"https:\/\/zulumaps.com\/de\/wp-json\/wp\/v2\/media?parent=2193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}