{"id":7368,"date":"2025-09-02T13:50:46","date_gmt":"2025-09-02T11:50:46","guid":{"rendered":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/?page_id=7368"},"modified":"2025-09-02T13:56:48","modified_gmt":"2025-09-02T11:56:48","slug":"%d7%a7%d7%95%d7%9c%d7%90%d7%96","status":"publish","type":"page","link":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/","title":{"rendered":"\u05e7\u05d5\u05dc\u05d0\u05d6"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7368\" class=\"elementor elementor-7368\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20e12be e-flex e-con-boxed e-con e-parent\" data-id=\"20e12be\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e47f7a9 elementor-widget elementor-widget-shortcode\" data-id=\"e47f7a9\" 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\">  <!-- === Product Hero === -->\r\n        <div class=\"loader\" id=\"uploadLoader\">\u23f3 \u05de\u05e2\u05dc\u05d4...<\/div>\r\n\r\n  <div class=\"tcg-hero\" dir=\"rtl\">\r\n    <div class=\"tcg-hero__inner\">\r\n      <div class=\"tcg-hero__header\">\r\n        <div class=\"tcg-hero__text\">\r\n          <h2 class=\"tcg-hero__title\">\ud83d\udcf8 \u05e7\u05d5\u05dc\u05d0\u05d6' \u05de\u05e8\u05d5\u05d1\u05d4 \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u2014 \u05d1\u05de\u05d1\u05d7\u05e8 \u05e1\u05d2\u05e0\u05d5\u05e0\u05d5\u05ea<\/h2>\r\n          <p class=\"tcg-hero__lead\">\r\n            \u05de\u05e2\u05dc\u05d9\u05dd \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05db\u05de\u05e1\u05e4\u05e8 \u05d4\u05e8\u05d9\u05d1\u05d5\u05e2\u05d9\u05dd \u05d1\u05e8\u05e7\u05e2 , \u05de\u05d6\u05d9\u05d6\u05d9\u05dd \u05d5\u05de\u05d6\u05b7\u05d5\u05bc\u05b0\u05de\u05b4\u05d9\u05dd \u05d1\u05ea\u05d5\u05da \u05d4\u05d7\u05d5\u05e8\u05d9\u05dd, \u05de\u05d5\u05e1\u05d9\u05e4\u05d9\u05dd \u05de\u05e9\u05e4\u05d8 \u05d0\u05d9\u05e9\u05d9 \u2014 \u05d5\u05de\u05e7\u05d1\u05dc\u05d9\u05dd \u05e7\u05d5\u05d1\u05e5 \u05dc\u05d4\u05d3\u05e4\u05e1\u05d4, 1280 \u05e2\u05dc 896 \u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd.\r\n          <\/p>\r\n        <\/div>\r\n        <div class=\"tcg-hero__cta\">\r\n          <a href=\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/cart\/\" class=\"add-to-cart-circle\" title=\"\u05e6\u05e4\u05d9\u05d9\u05d4 \u05d1\u05e2\u05d2\u05dc\u05d4\">\ud83d\uded2<\/a>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <ul class=\"tcg-hero__features\" aria-label=\"\u05de\u05d4 \u05de\u05e7\u05d1\u05dc\u05d9\u05dd\">\r\n        <li><span class=\"tcg-ico\">     <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" \r\n     stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n  <path d=\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"\/>\r\n  <circle cx=\"12\" cy=\"13\" r=\"4\"\/>\r\n<\/svg>\r\n\r\n\r\n<\/span>\u05e9\u05d9\u05dc\u05d5\u05d1 \u05d4\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05e9\u05dc\u05db\u05dd \u05d1\u05e8\u05e7\u05e2\u05d9\u05dd \u05de\u05e7\u05e6\u05d5\u05e2\u05d9\u05d9\u05dd \u05d5\u05de\u05d4\u05e8\u05d4\u05d9\u05d1\u05d9\u05dd \u05ea\u05d5\u05da \u05d3\u05e7\u05d4<\/li>\r\n        <li><span class=\"tcg-ico\">   <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" \r\n     stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n  <path d=\"M17 3a2.828 2.828 0 0 1 4 4L7 21l-4 1 1-4L17 3z\"\/>\r\n<\/svg>\r\n\r\n<\/span>\u05d8\u05e7\u05e1\u05d8 \u05d0\u05d9\u05e9\u05d9: \u05e6\u05d1\u05e2, \u05d2\u05d5\u05d3\u05dc, \u05e4\u05d5\u05e0\u05d8 \u05d5\u05d4\u05d6\u05d6\u05d4<\/li>\r\n      <\/ul>\r\n\r\n      <div class=\"tcg-hero__badges\">\r\n        <span class=\"badge\">\u05ea\u05e6\u05d5\u05d2\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df \u05de\u05d9\u05d3\u05d9\u05ea<\/span>\r\n        <span class=\"badge\"> \u05de\u05d1\u05d7\u05e8 \u05e8\u05e7\u05e2\u05d9\u05dd<\/span>\r\n        <span class=\"badge\">\u05de\u05d4\u05d9\u05e8 \u05d5\u05e7\u05dc<\/span>\r\n      <\/div>\r\n\r\n      <ol class=\"tcg-steps\" aria-label=\"\u05d0\u05d9\u05da \u05d6\u05d4 \u05e2\u05d5\u05d1\u05d3\">\r\n        <li>\u05d1\u05d7\u05e8\u05d5 \u05e8\u05e7\u05e2 <\/li>\r\n        <li>\u05d4\u05e2\u05dc\u05d5 \u05d0\u05ea \u05d4\u05ea\u05de\u05d5\u05e0\u05d5\u05ea<\/li>\r\n        <li>\u05db\u05d5\u05d5\u05e0\u05d5 \u05e2\u05dd \u05d4\u05d7\u05d9\u05e6\u05d9\u05dd\/\u05d6\u05d5\u05dd \u05d1\u05ea\u05d5\u05da \u05d4\u05d7\u05d5\u05e8<\/li>\r\n        <li>\u05d4\u05d5\u05e1\u05d9\u05e4\u05d5 \u05de\u05e9\u05e4\u05d8 \u05d0\u05d9\u05e9\u05d9<\/li>\r\n        <li>\u05d4\u05d5\u05e1\u05d9\u05e4\u05d5 \u05dc\u05e1\u05dc \u05d5\u05e1\u05d9\u05d9\u05de\u05d9 \u05e7\u05e0\u05d9\u05d9\u05d4<\/li>\r\n      <\/ol>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"builder-wrap\" dir=\"rtl\">\r\n    <!-- \u05e2\u05de\u05d5\u05d3\u05ea \u05e4\u05e7\u05d3\u05d9\u05dd -->\r\n    <div class=\"actions custom-box\">\r\n      <form id=\"photoCartForm\" class=\"cart\" method=\"post\" enctype=\"multipart\/form-data\" action=\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/cart\/\">\r\n        <input type=\"hidden\" name=\"add-to-cart\" value=\"7367\">\r\n        <input type=\"hidden\" name=\"selected_frame\" id=\"frameHidden\" >\r\n        <input type=\"hidden\" name=\"photos_json\" id=\"photosJson\">\r\n        <input type=\"hidden\" name=\"custom_text\" id=\"customTextHidden\">\r\n        <input type=\"hidden\" name=\"text_color\" id=\"textColorHidden\">\r\n        <input type=\"hidden\" name=\"text_font\" id=\"textFontHidden\">\r\n        <input type=\"hidden\" name=\"text_x\" id=\"textXHidden\" value=\"780\">\r\n        <input type=\"hidden\" name=\"text_y\" id=\"textYHidden\" value=\"50\">\r\n        <input type=\"hidden\" name=\"text_size\" id=\"textSizeHidden\" value=\"48\">\r\n\t\t<input type=\"hidden\" name=\"selected_frame_id\" id=\"frameIdHidden\">\r\n\r\n<div class=\"section section-text\">\r\n  <label for=\"customText\" class=\"field-label\">\u05de\u05e9\u05e4\u05d8 \u05d0\u05d9\u05e9\u05d9:<\/label>\r\n  <input type=\"text\" id=\"customText\" placeholder=\"\u05db\u05ea\u05d5\u05d1 \u05db\u05d0\u05df...\">\r\n\r\n  <div class=\"field-inline\">\r\n    <label>\u05e6\u05d1\u05e2:<\/label>\r\n    <input type=\"color\" id=\"textColor\" value=\"#000000\">\r\n\r\n    <label>\u05d2\u05d5\u05d3\u05dc:<\/label>\r\n    <input type=\"range\" id=\"textSize\" min=\"20\" max=\"120\" value=\"48\">\r\n  <\/div>\r\n\r\n  <div class=\"field\">\r\n    <label for=\"textFont\" class=\"field-label\">\u05d1\u05d7\u05e8 \u05e4\u05d5\u05e0\u05d8:<\/label>\r\n    <select id=\"textFont\" class=\"font-select\">\r\n      <option value=\"AmaticSC-Bold\" data-file=\"AmaticSC-Bold.ttf\" style=\"font-family:'AmaticSC-Bold'\">AmaticSC-Bold<\/option><option value=\"Assistant-Bold\" data-file=\"Assistant-Bold.ttf\" style=\"font-family:'Assistant-Bold'\">Assistant-Bold<\/option><option value=\"BuNoamRaz1.0-Regular\" data-file=\"BuNoamRaz1.0-Regular.ttf\" style=\"font-family:'BuNoamRaz1.0-Regular'\">BuNoamRaz1.0-Regular<\/option><option value=\"FtPilKahol2\" data-file=\"FtPilKahol2.ttf\" style=\"font-family:'FtPilKahol2'\">FtPilKahol2<\/option><option value=\"GveretLevinAlefAlefAlef-Regular\" data-file=\"GveretLevinAlefAlefAlef-Regular.ttf\" style=\"font-family:'GveretLevinAlefAlefAlef-Regular'\">GveretLevinAlefAlefAlef-Regular<\/option><option value=\"OHEitanFisch-Dfus\" data-file=\"OHEitanFisch-Dfus.ttf\" style=\"font-family:'OHEitanFisch-Dfus'\">OHEitanFisch-Dfus<\/option><option value=\"OHEitanFisch-Regular\" data-file=\"OHEitanFisch-Regular.ttf\" style=\"font-family:'OHEitanFisch-Regular'\">OHEitanFisch-Regular<\/option><option value=\"OHInbarHaiman-Regular\" data-file=\"OHInbarHaiman-Regular.ttf\" style=\"font-family:'OHInbarHaiman-Regular'\">OHInbarHaiman-Regular<\/option><option value=\"Rubik-VariableFont_wght\" data-file=\"Rubik-VariableFont_wght.ttf\" style=\"font-family:'Rubik-VariableFont_wght'\">Rubik-VariableFont_wght<\/option>    <\/select>\r\n  <\/div>\r\n\r\n  <div class=\"field\">\r\n    <label for=\"textExamples\" class=\"field-label\">\u05d1\u05d7\u05e8 \u05d8\u05e7\u05e1\u05d8 \u05de\u05d5\u05db\u05df:<\/label>\r\n    <select id=\"textExamples\">\r\n      <option value=\"\">\u2014 \u05d1\u05d7\u05e8 \u2014<\/option>\r\n      <option value=\"\u05e9\u05e0\u05d4 \u05d8\u05d5\u05d1\u05d4 \u05d5\u05de\u05ea\u05d5\u05e7\u05d4!\">\u05e9\u05e0\u05d4 \u05d8\u05d5\u05d1\u05d4 \u05d5\u05de\u05ea\u05d5\u05e7\u05d4!<\/option>\r\n      <option value=\"\u05ea\u05d4\u05d0 \u05e9\u05e0\u05ea \u05e4\u05e8\u05d9\u05d7\u05d4 \u05d5\u05e6\u05de\u05d9\u05d7\u05d4\">\u05ea\u05d4\u05d0 \u05e9\u05e0\u05ea \u05e4\u05e8\u05d9\u05d7\u05d4 \u05d5\u05e6\u05de\u05d9\u05d7\u05d4<\/option>\r\n      <option value=\"\u05db\u05ea\u05d9\u05d1\u05d4 \u05d5\u05d7\u05ea\u05d9\u05de\u05d4 \u05d8\u05d5\u05d1\u05d4!\">\u05db\u05ea\u05d9\u05d1\u05d4 \u05d5\u05d7\u05ea\u05d9\u05de\u05d4 \u05d8\u05d5\u05d1\u05d4!<\/option>\r\n    <\/select>\r\n  <\/div>\r\n\r\n  <p class=\"hint\">\u05d4\u05d6\u05d9\u05d6\u05d5 \u05d0\u05ea \u05d4\u05d8\u05e7\u05e1\u05d8 \u05d1\u05e2\u05d6\u05e8\u05ea \u05d4\u05d7\u05d9\u05e6\u05d9\u05dd:<\/p>\r\n  <div class=\"text-arrows\">\r\n    <button type=\"button\" class=\"text-arrow text-up\">\u25b2<\/button>\r\n    <button type=\"button\" class=\"text-arrow text-left\">\u25c0<\/button>\r\n    <button type=\"button\" class=\"text-arrow text-right\">\u25b6<\/button>\r\n    <button type=\"button\" class=\"text-arrow text-down\">\u25bc<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n\r\n        <!-- \u05ea\u05de\u05d5\u05e0\u05d5\u05ea + \u05d1\u05d7\u05d9\u05e8\u05d4 \u05e4\u05e2\u05d9\u05dc\u05d4 -->\r\n        <div class=\"section section-photo\"><div style=\"display:none\">\r\n\t\t\t\t\t\t\t\t  <label class=\"custom-upload upload-slot\" data-idx=\"0\">\r\n\t\t\t\t\t\ud83d\udcf7 \u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 1\t\t\t\t\t<input type=\"file\" id=\"uploadPhoto1\" accept=\"image\/*\" hidden>\r\n\t\t\t\t  <\/label>\r\n\t\t\t\t\t\t\t  <label class=\"custom-upload upload-slot\" data-idx=\"1\">\r\n\t\t\t\t\t\ud83d\udcf7 \u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 2\t\t\t\t\t<input type=\"file\" id=\"uploadPhoto2\" accept=\"image\/*\" hidden>\r\n\t\t\t\t  <\/label>\r\n\t\t\t\t\t\t\t  <label class=\"custom-upload upload-slot\" data-idx=\"2\">\r\n\t\t\t\t\t\ud83d\udcf7 \u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 3\t\t\t\t\t<input type=\"file\" id=\"uploadPhoto3\" accept=\"image\/*\" hidden>\r\n\t\t\t\t  <\/label>\r\n\t\t\t\t\t\t\t  <label class=\"custom-upload upload-slot\" data-idx=\"3\">\r\n\t\t\t\t\t\ud83d\udcf7 \u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 4\t\t\t\t\t<input type=\"file\" id=\"uploadPhoto4\" accept=\"image\/*\" hidden>\r\n\t\t\t\t  <\/label>\r\n\t\t\t\t\t\t\t  <label class=\"custom-upload upload-slot\" data-idx=\"4\">\r\n\t\t\t\t\t\ud83d\udcf7 \u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 5\t\t\t\t\t<input type=\"file\" id=\"uploadPhoto5\" accept=\"image\/*\" hidden>\r\n\t\t\t\t  <\/label>\r\n\t\t\t\t\t\t\t  <label class=\"custom-upload upload-slot\" data-idx=\"5\">\r\n\t\t\t\t\t\ud83d\udcf7 \u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 6\t\t\t\t\t<input type=\"file\" id=\"uploadPhoto6\" accept=\"image\/*\" hidden>\r\n\t\t\t\t  <\/label>\r\n\t\t\t<\/div>\r\n\r\n          <div class=\"thumbs\" id=\"thumbs\" aria-label=\"\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05e9\u05d4\u05d5\u05e2\u05dc\u05d5\"><\/div>\r\n<div id=\"controlsHint\" class=\"controls-hint no-image\">\r\n  \u05dc\u05d7\u05e6\u05d5 \u05e2\u05dc \u05d4\u05e1\u05d9\u05de\u05df \r\n  <span class=\"demo-btn\">\r\n    <span class=\"plus-circle\">+<\/span>\r\n  <\/span> \r\n  \u05db\u05d3\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 \u05d5\u05dc\u05d4\u05ea\u05d7\u05d9\u05dc\r\n<\/div>\r\n\r\n<div class=\"controls-hint with-image\" style=\"display:none;\">\r\n\u05d1\u05d7\u05e8\u05d5 \u05ea\u05de\u05d5\u05e0\u05d4 \u05e9\u05d4\u05e2\u05dc\u05d9\u05ea\u05dd, \u05d4\u05e9\u05ea\u05de\u05e9\u05d5 \u05d1\u05d7\u05d9\u05e6\u05d9\u05dd \u05db\u05d3\u05d9 \u05dc\u05d4\u05d6\u05d9\u05d6 \u05d5\u05e9\u05e0\u05d5 \u05d0\u05ea \u05d4\u05d2\u05d5\u05d3\u05dc\r\n\t\t\t<\/div>\r\n\r\n          <div class=\"transform-controls\">\r\n\t\t\t  <div class=\"rotate-row\">\r\n  <button type=\"button\" id=\"rotateLeft\" style=\"display:none;\">\u27f2<\/button>\r\n  <button type=\"button\" id=\"rotateRight\"  style=\"display:none;\">\u27f3<\/button>\r\n<\/div>\r\n\r\n            <div class=\"zoom-row\">\r\n              <button type=\"button\" id=\"zoomIn\">+<\/button>\r\n              <button type=\"button\" id=\"zoomOut\">\u2212<\/button>\r\n            <\/div>\r\n          <div class=\"move-row\">\r\n  <!-- \u05dc\u05de\u05e2\u05dc\u05d4 -->\r\n  <div class=\"move-up\">\r\n    <button type=\"button\" class=\"arrow-sm\" id=\"moveUp\">\u25b2<\/button>\r\n  <\/div>\r\n\r\n  <!-- \u05dc\u05de\u05d8\u05d4 \u05e2\u05dd \u05e9\u05de\u05d0\u05dc \u05d5\u05d9\u05de\u05d9\u05df \u05de\u05e9\u05e0\u05d9 \u05d4\u05e6\u05d3\u05d3\u05d9\u05dd -->\r\n  <div class=\"move-down-row\">\r\n\t      <button type=\"button\" class=\"arrow-sm\" id=\"moveRight\">\u25b6<\/button>\r\n\r\n    <button type=\"button\" class=\"arrow-sm\" id=\"moveDown\">\u25bc<\/button>\r\n\t      <button type=\"button\" class=\"arrow-sm\" id=\"moveLeft\">\u25c0<\/button>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n            <div class=\"field\" style=\"display:none;margin-top:6px\">\r\n              <label><input type=\"checkbox\" id=\"debugSlots\"> \u05d4\u05e6\u05d2 \u05de\u05e1\u05d2\u05e8\u05d5\u05ea \u05d7\u05d5\u05e8\u05d9\u05dd<\/label>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- \u05e2\u05d2\u05dc\u05d4 -->\r\n        <div class=\"cart-actions\">\r\n                    <button type=\"button\" class=\"add-to-cart\">\u05d4\u05d5\u05e1\u05e3 \u05dc\u05e1\u05dc \u2014 <span class=\"woocommerce-Price-amount amount\">7.00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#8362;<\/span><\/span><\/button>\r\n          <a href=\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/checkout\/\" class=\"finish-btn\">\u05e1\u05d9\u05d9\u05dd \u05e7\u05e0\u05d9\u05d9\u05d4<\/a>\r\n        <\/div>\r\n\r\n        <div id=\"tcgToast\" class=\"tcg-toast\" style=\"display:none\">\r\n          \u2705 \u05d4\u05db\u05e8\u05d8\u05d9\u05e1 \u05e0\u05d5\u05e1\u05e3 \u05dc\u05e1\u05dc\r\n          <a href=\"#\" class=\"toast-close\">\u05d4\u05de\u05e9\u05da \u05dc\u05d4\u05d5\u05e1\u05d9\u05e3<\/a> |\r\n          <a href=\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/cart\/\">\u05de\u05e2\u05d1\u05e8 \u05dc\u05e1\u05dc<\/a>\r\n        <\/div>\r\n      <\/form>\r\n    <\/div>\r\n\r\n    <!-- \u05e7\u05e0\u05d1\u05e1 (\u05de\u05e8\u05db\u05d6) -->\r\n    <div class=\"canvas-container custom-box\">\r\n      <div class=\"canvas-wrap\">\r\n        <canvas id=\"cardCanvas\" width=\"800\" height=\"560\"><\/canvas>\r\n\r\n        <!-- \u05d7\u05d9\u05e6\u05d9\u05dd \u05d2\u05d3\u05d5\u05dc\u05d9\u05dd \u05dc\u05d4\u05d6\u05d6\u05ea \u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05d4\u05e4\u05e2\u05d9\u05dc\u05d4 -->\r\n        <button type=\"button\" class=\"arrow arrow-up\">\u25b2<\/button>\r\n        <button type=\"button\" class=\"arrow arrow-down\">\u25bc<\/button>\r\n        <button type=\"button\" class=\"arrow arrow-left\">\u25c0<\/button>\r\n        <button type=\"button\" class=\"arrow arrow-right\">\u25b6<\/button>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u05e1\u05d8\u05e8\u05d9\u05e4 \u05e8\u05e7\u05e2\u05d9\u05dd (\u05d9\u05de\u05d9\u05df) -->\r\n\r\n\r\n    <div class=\"bg-strip custom-box\">\r\n\t\t\t  <div class=\"filter-slots custom-box\">\r\n  <label for=\"slotFilter\">\u05e1\u05d9\u05e0\u05d5\u05df:<\/label>\r\n  <select id=\"slotFilter\">\r\n    <option value=\"\">\u2014  \u05d4\u05db\u05dc \u2014<\/option>\r\n    <option value=\"2\">2<\/option>\r\n    <option value=\"3\">3<\/option>\r\n    <option value=\"4\">4<\/option>\r\n    <option value=\"5\">5<\/option>\r\n    <option value=\"6\">6<\/option>\r\n    <option value=\"7\">7<\/option>\r\n    <option value=\"8\">8<\/option>\r\n  <\/select>\r\n<\/div>\r\n      <div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame1<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb active\" data-frame=\"frame1\" data-file=\"image1.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image1.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame2<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame2\" data-file=\"image2.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image2.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame3<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame3\" data-file=\"image3.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image3.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame4<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame4\" data-file=\"image4.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image4.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame5<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame5\" data-file=\"image5.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image5.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame6<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame6\" data-file=\"image6.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image6.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame7<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame7\" data-file=\"image7.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image7.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame8<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame8\" data-file=\"image8.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image8.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame9<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame9\" data-file=\"image9.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image9.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame10<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame10\" data-file=\"image10.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image10.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame11<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame11\" data-file=\"image11.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image11.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame12<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame12\" data-file=\"image12.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image12.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame13<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame13\" data-file=\"image13.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image13.png?w=800&#038;ssl=1\">\r\n              <\/div><div class=\"bg-item\">\r\n                <span class=\"bg-label\" style=\"display:none\">frame14<\/span>\r\n                <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bg-thumb\" data-frame=\"frame14\" data-file=\"image14.png\" src=\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/frames_collage_w\/image14.png?w=800&#038;ssl=1\">\r\n              <\/div>    <\/div>\r\n  <\/div>\r\n\r\n  <style>@font-face{font-family:'AmaticSC-Bold';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/AmaticSC-Bold.ttf') format('truetype');}\n@font-face{font-family:'Assistant-Bold';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/Assistant-Bold.ttf') format('truetype');}\n@font-face{font-family:'BuNoamRaz1.0-Regular';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/BuNoamRaz1.0-Regular.ttf') format('truetype');}\n@font-face{font-family:'FtPilKahol2';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/FtPilKahol2.ttf') format('truetype');}\n@font-face{font-family:'GveretLevinAlefAlefAlef-Regular';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/GveretLevinAlefAlefAlef-Regular.ttf') format('truetype');}\n@font-face{font-family:'OHEitanFisch-Dfus';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/OHEitanFisch-Dfus.ttf') format('truetype');}\n@font-face{font-family:'OHEitanFisch-Regular';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/OHEitanFisch-Regular.ttf') format('truetype');}\n@font-face{font-family:'OHInbarHaiman-Regular';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/OHInbarHaiman-Regular.ttf') format('truetype');}\n@font-face{font-family:'Rubik-VariableFont_wght';src:url('https:\/\/ai-jewishart.com\/wp-content\/uploads\/simple-cards\/fonts\/Rubik-VariableFont_wght.ttf') format('truetype');}\n<\/style>\r\n  <style>\r\n    \/* === \u05e4\u05e8\u05d9\u05e1\u05d4 3 \u05d8\u05d5\u05e8\u05d9\u05dd === *\/\r\n    .builder-wrap{\r\n      display:grid;\r\n      grid-template-columns: 1fr 840px 220px;\r\n      grid-template-areas: \"actions canvas strip\";\r\n      column-gap:13px; align-items:start; margin-top:6px;\r\n    }\r\n    .actions{ grid-area:actions; width:260px; }\r\n    .canvas-container{ grid-area:canvas; }\r\n    .bg-strip{ grid-area:strip; max-height:560px; overflow-y:auto; overflow-x:hidden; display:flex; flex-direction:column; gap:10px; }\r\n\r\n    .custom-box{\r\n      border:1px solid #eee; border-radius:16px; background:#f9f9f9; padding:13px; box-shadow:0 4px 14px rgba(0,0,0,.05);\r\n    }\r\n    .canvas-wrap{ position:relative; }\r\n    #cardCanvas{ width:800px; height:560px; display:block; border:1px solid #ccc; border-radius:12px; background:#fff; }\r\n\r\n    .bg-item{ display:flex; flex-direction:column; gap:6px; }\r\n    .bg-label{ font-size:12px; color:#2a77a1; font-weight:700; text-align:right; }\r\n    .bg-strip img{ width:100%; border:2px solid transparent; border-radius:8px; cursor:pointer; transition:transform .2s ease; }\r\n    .bg-strip img:hover{ transform:scale(1.05); }\r\n    .bg-strip img.active{ border-color:#0073aa; }\r\n\r\n    .section{ background:#fff; border:1px solid #ddd; border-radius:10px; padding:14px; box-shadow:0 2px 6px rgba(0,0,0,.05); margin-top:10px; }\r\n    .field{ display:flex; align-items:center; gap:6px; margin-bottom:8px; }\r\n    .field label{ margin:0; font-size:14px; font-weight:600; color:#333; }\r\n    .field input[type=\"text\"], .field select, .field input[type=\"color\"], .field input[type=\"range\"]{ flex:1; font-size:14px; padding:4px 6px; }\r\n\r\n    .chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }\r\n    .chips span{ background:#eef6fa; border:1px solid #0073aa; color:#0073aa; padding:4px 8px; border-radius:14px; font-size:12px; cursor:pointer; }\r\n    .chips span:hover{ background:#dceefc; }\r\n\r\n    .text-arrows{ display:flex; justify-content:center; gap:6px; }\r\n    .text-arrow{\r\n      background:#0073aa; color:#fff; border:none; border-radius:50%; width:36px; height:36px; font-size:16px; font-weight:bold; cursor:pointer;\r\n      box-shadow:0 2px 6px rgba(0,0,0,.3);\r\n    }\r\n    .text-arrow:hover{ background:#005b88; }\r\n\r\n    \/* \u05d7\u05d9\u05e6\u05d9\u05dd \u05d2\u05d3\u05d5\u05dc\u05d9\u05dd \u05e2\u05dc \u05d4\u05e7\u05e0\u05d1\u05e1 *\/\r\n    .arrow{\r\n      position:absolute; background:#0073aa; color:#fff; border:none; border-radius:50%; width:60px; height:60px; font-size:24px; font-weight:bold; cursor:pointer;\r\n      box-shadow:0 4px 12px rgba(0,0,0,.4); display:flex; align-items:center; justify-content:center; transition:background .2s ease;\r\n    }\r\n    .arrow-up{ top:5px; left:50%; transform:translateX(-50%); }\r\n    .arrow-down{ bottom:5px; left:50%; transform:translateX(-50%); }\r\n    .arrow-left{ left:5px; top:50%; transform:translateY(-50%); }\r\n    .arrow-right{ right:5px; top:50%; transform:translateY(-50%); }\r\n    .arrow-up:hover{ background:#005b88; }\r\n    .arrow-down:hover{ background:#005b88; }\r\n    .arrow-left:hover{ background:#005b88; }\r\n    .arrow-right:hover{ background:#005b88; }\r\n\r\n    .transform-controls{ display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:10px; }\r\n    .transform-controls .zoom-row, .transform-controls .move-row{ display:flex; gap:10px; align-items:center; justify-content:center; flex-wrap:wrap; }\r\n    .transform-controls button{\r\n      background:#0073aa; color:#fff; border:none; border-radius:8px; padding:10px 12px; cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,.2); transition:background .2s ease;\r\n    }\r\n    .transform-controls button:hover{ background:#005b88; }\r\n    .arrow-sm{ width:40px; height:40px; border-radius:50%; font-size:16px; padding:0; }\r\n    .arrow-sm-pair{ display:flex; gap:10px; }\r\n\r\n    .thumbs{ display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }\r\n    .thumb{ position:relative; width:62px; height:62px; border-radius:8px; overflow:hidden; border:2px solid transparent; cursor:pointer; background:#fff; display:grid; place-items:center; font-size:12px; color:#666; }\r\n    .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }\r\n    .thumb.active{ border-color:#0073aa; }\r\n    .thumb .tag{ position:absolute; bottom:2px; right:3px; background:#2a77a1; color:#fff; font-size:10px; padding:2px 5px; border-radius:999px; }\r\n\r\n    .cart-actions{ display:flex; flex-direction:column; gap:10px; margin-top:10px; }\r\n    .add-to-cart{ background:#fff; border:2px solid #0073aa; color:#0073aa; padding:12px; border-radius:8px; font-weight:600; cursor:pointer; text-align:center; }\r\n    .add-to-cart:hover{ background:#eef6fa; }\r\n    .finish-btn{ background:#0073aa; color:#fff; padding:12px; border-radius:8px; text-align:center; text-decoration:none; }\r\n    .finish-btn:hover{ background:#005b88; }\r\n\r\n\r\n\r\n    }\r\n\r\n    \/* Hero styling *\/\r\n    .tcg-hero{ margin:0 auto 18px; max-width:1100px; background:linear-gradient(135deg,#fff8ef,#fff); border:1px solid #f0e6da; border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.04); }\r\n    .tcg-hero__inner{ padding:18px 20px; }\r\n    .tcg-hero__title{ margin:0 0 6px; font-size:clamp(22px,2.6vw,30px); line-height:1.2; letter-spacing:-.2px; }\r\n    .tcg-hero__lead{ margin:0 0 10px; font-size:clamp(15px,1.6vw,18px); color:#444; }\r\n    .tcg-hero__header{ display:flex; justify-content:space-between; align-items:center; gap:20px; }\r\n    .tcg-hero__text{ flex:1; text-align:right; }\r\n    .add-to-cart-circle{ width:80px; height:80px; border-radius:50%; background:#2a77a1; display:flex; justify-content:center; align-items:center; color:#fff; font-size:26px; font-weight:700; box-shadow:0 4px 12px rgba(0,0,0,.2); cursor:pointer; transition: transform .4s ease; border:none; text-decoration:none; }\r\n    .add-to-cart-circle:hover{ background:#245f82; transform: rotate(360deg) scale(1.1); }\r\n    .tcg-hero__features{ list-style:none; padding:0; margin:0 0 10px; display:flex; flex-wrap:wrap; gap:10px; font-size:13px; color:#555; }\r\n    .tcg-hero__features > li{ display:flex; align-items:flex-start; gap:8px; background:#fff; border:1px solid #f1eee8; border-radius:12px; padding:10px 12px; }\r\n    .tcg-ico{ width:22px; height:22px; flex:none; display:inline-grid; place-items:center; }\r\n    .tcg-ico svg{ width:20px; height:20px; fill:#2a77a1; }\r\n    .tcg-hero__badges{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 6px; }\r\n    .badge{ display:inline-block; padding:6px 10px; font-size:13px; border-radius:999px; background:#e6f2f9; color:#2a77a1; border:1px solid #bcd8e7; }\r\n    .tcg-steps{ counter-reset:step; list-style:none; padding:0; margin:10px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px 10px; }\r\n    .tcg-steps li{ position:relative; background:#fff; border:1px solid #ece7df; border-radius:12px; font-size:14px; padding-block:10px; padding-inline-start:44px; padding-inline-end:12px; line-height:1.35; min-height:44px; }\r\n    .tcg-steps li::before{ counter-increment:step; content:counter(step); position:absolute; inset-inline-start:12px; top:50%; transform:translateY(-50%); width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#111; color:#fff; font-weight:700; font-size:12px; line-height:1; box-shadow:0 0 0 2px #111 inset; }\r\n\t  \/* === \u05db\u05e4\u05ea\u05d5\u05e8\u05d9 \u05d4\u05e2\u05dc\u05d0\u05d4 \u05d9\u05e4\u05d9\u05dd === *\/\r\n.upload-slot {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  gap: 6px;\r\n  background: linear-gradient(135deg, #ffffff, #f2f7fb);\r\n  border: 2px dashed #2a77a1;\r\n  color: #2a77a1;\r\n  font-weight: 600;\r\n  font-size: 14px;\r\n  border-radius: 12px;\r\n  padding: 12px;\r\n  cursor: pointer;\r\n  transition: all .25s ease;\r\n  text-align: center;\r\n}\r\n.upload-slot:hover {\r\n  background: #e6f2f9;\r\n  border-style: solid;\r\n  transform: scale(1.03);\r\n  box-shadow: 0 3px 10px rgba(0,0,0,0.08);\r\n}\r\n.upload-slot::before {\r\n  content: \"\u2b06\ufe0f\";\r\n  font-size: 18px;\r\n}\r\n\r\n\r\n.arrow {\r\n  position: absolute;\r\n  background: #0073aa;\r\n  color: #fff;\r\n  border: none;\r\n  border-radius: 50%;\r\n  width: 60px;\r\n  height: 60px;\r\n  font-size: 24px;\r\n  font-weight: bold;\r\n  cursor: pointer;\r\n  box-shadow: 0 4px 12px rgba(0,0,0,.4);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  transition: background .2s ease, transform .2s ease;\r\n}\r\n\r\n.slot-upload-btn {\r\n  position: absolute;\r\n  width: 36px;\r\n  height: 36px;\r\n  border-radius: 50%;\r\n  background: transparent;       \/* \u05d1\u05dc\u05d9 \u05de\u05d9\u05dc\u05d5\u05d9 *\/\r\n  border: 1px solid #2a77a1;     \/* \u05e7\u05d5 \u05de\u05ea\u05d0\u05e8 *\/\r\n  color: #2a77a1;                \/* \u05e6\u05d1\u05e2 \u05d4\u05e4\u05dc\u05d5\u05e1 *\/\r\n  font-size: 20px;\r\n  font-weight: 600;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  cursor: pointer;\r\n  transition: background 0.2s ease, color 0.2s ease;\r\n}\r\n\r\n.slot-upload-btn:hover { \r\n  background: rgba(42,119,161,0.1); \/* \u05d1\u05d4\u05d5\u05d1\u05e8 \u05de\u05d9\u05dc\u05d5\u05d9 \u05e2\u05d3\u05d9\u05df *\/\r\n}\r\n\r\n.slot-upload-btn input { \r\n  display: none; \r\n}\r\n\r\n.slot-upload-btn .num {\r\n  position: absolute;\r\n  bottom: -6px;\r\n  right: -6px;\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  width: 18px;\r\n  height: 18px;\r\n  border-radius: 50%;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n background: #fff;\r\n  color: #2a77a1;\r\n  border: none;\r\n  box-shadow: 0 0 3px rgba(0,0,0,0.15);\r\n\r\n}\r\n.move-row {\r\n  display: flex;\r\n  flex-direction: column;   \/* \u05d0\u05e0\u05db\u05d9 *\/\r\n  align-items: center;      \/* \u05de\u05e8\u05db\u05d6 \u05d4\u05db\u05dc *\/\r\n  gap: 10px;\r\n}\r\n\r\n.move-down-row {\r\n  display: flex;\r\n  gap: 10px;\r\n  align-items: center;\r\n  justify-content: center;\r\n}\r\n\r\n.arrow-sm {\r\n  width: 40px;\r\n  height: 40px;\r\n  border-radius: 50%;\r\n  font-size: 16px;\r\n  font-weight: bold;\r\n  cursor: pointer;\r\n}\r\n\t  .controls-title {\r\n  font-size: 14px;\r\n  font-weight: 600;\r\n  margin-bottom: 12px;\r\n  color: #333;\r\n  text-align: center;\r\n  line-height: 1.5;\r\n}\r\n\r\n.transform-controls {\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n}\r\n\r\n.transform-controls button {\r\n  width: 48px;\r\n  height: 48px;\r\n  border: none;\r\n  border-radius: 8px;\r\n  background: #2a77a1;\r\n  color: #fff;\r\n  font-size: 20px;\r\n  font-weight: bold;\r\n  cursor: pointer;\r\n  transition: background 0.2s ease;\r\n}\r\n\r\n.transform-controls button:hover {\r\n  background: #005b88;\r\n}\r\n\r\n.zoom-row {\r\n  display: flex;\r\n  gap: 10px;\r\n  justify-content: center;\r\n}\r\n\r\n.move-row {\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  gap: 8px;\r\n}\r\n\r\n.move-up {\r\n  display: flex;\r\n  justify-content: center;\r\n}\r\n\r\n.move-down-row {\r\n  display: flex;\r\n  gap: 10px;\r\n  justify-content: center;\r\n}\r\n\r\n.controls-hint.no-image {\r\n  font-style: italic;       \/* \u05e0\u05d8\u05d5\u05d9 \u2013 \u05e8\u05d5\u05de\u05d6 \u05e9\u05d6\u05d4 \u05d4\u05e1\u05d1\u05e8 *\/\r\n  color: #999;              \/* \u05d0\u05e4\u05d9\u05dc\u05d5 \u05d9\u05d5\u05ea\u05e8 \u05e8\u05da *\/\r\n}\r\n.controls-hint {\r\n  font-size: 14px;\r\n\t  font-weight: 400;         \/* \u05dc\u05d0 \u05de\u05d5\u05d3\u05d2\u05e9 \u05de\u05d3\u05d9 *\/\r\n\r\n  color: #666;\r\n  text-align: center;\r\n\r\n}\r\n\r\n.controls-hint .demo-btn {\r\n  display: inline-flex;\r\n  width: 20px;\r\n  height: 20px;\r\n  border-radius: 50%;\r\n  border: 1px solid #2a77a1;\r\n  color: #2a77a1;\r\n  font-size: 13px;\r\n  font-weight: 600;\r\n  align-items: center;\r\n  justify-content: center;\r\n  vertical-align: middle;\r\n  margin: 0 3px;\r\n\t    font-style: normal;\r\n\r\n}\r\n.transform-controls button,\r\n.arrow-sm {\r\n  width: 32px;              \/* \u05e7\u05d8\u05df \u05d9\u05d5\u05ea\u05e8 *\/\r\n  height: 32px;             \/* \u05e7\u05d8\u05df \u05d9\u05d5\u05ea\u05e8 *\/\r\n  border: none;\r\n  border-radius: 6px;\r\n  background: #2a77a1;\r\n  color: #fff;\r\n  font-size: 16px;          \/* \u05d2\u05d5\u05d3\u05dc \u05d4\u05e1\u05de\u05dc \u05d1\u05e4\u05e0\u05d9\u05dd *\/\r\n  font-weight: bold;\r\n  cursor: pointer;\r\n  display: flex;            \/* \u05de\u05de\u05e8\u05db\u05d6 \u05d0\u05d5\u05e4\u05e7\u05d9 \u05d5\u05d0\u05e0\u05db\u05d9 *\/\r\n  align-items: center;      \/* \u05de\u05de\u05e8\u05db\u05d6 \u05d0\u05e0\u05db\u05d9 *\/\r\n  justify-content: center;  \/* \u05de\u05de\u05e8\u05db\u05d6 \u05d0\u05d5\u05e4\u05e7\u05d9 *\/\r\n  transition: background 0.2s ease;\r\n  margin: 2px;              \/* \u05e8\u05d5\u05d5\u05d7 \u05e7\u05d8\u05df *\/\r\n}\r\n\r\n.transform-controls button:hover,\r\n.arrow-sm:hover {\r\n  background: #005b88;\r\n}\r\n\r\n.text-arrows {\r\n  display: grid;\r\n  grid-template-areas:\r\n    \".    up    .\"\r\n    \"right down left\";\r\n  gap: 6px;\r\n  justify-content: center;\r\n  margin-top: 10px;\r\n}\r\n\r\n.text-arrow {\r\n  width: 33px;\r\n  height: 33px;\r\n  border-radius: 50%;\r\n  border: 1px solid #2a77a1;\r\n  background: #fff;\r\n  color: #2a77a1;\r\n  font-size: 14px;\r\n  font-weight: bold;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  cursor: pointer;\r\n  transition: all 0.2s ease;\r\n}\r\n\r\n.text-arrow:hover {\r\n  background: #2a77a1;\r\n  color: #fff;\r\n}\r\n\r\n.text-up    { grid-area: up; }\r\n.text-down  { grid-area: down; }\r\n.text-left  { grid-area: left; }\r\n.text-right { grid-area: right; }\r\n.section-text {\r\n  font-size: 14px;\r\n  color: #333;\r\n}\r\n\r\n.field-inline {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 1px;\r\n  margin: 8px 0;\r\n}\r\n\r\n.field-inline label {\r\n  margin: 0;\r\n  font-size: 13px;\r\n  color: #555;\r\n}\r\n\r\n.field-label {\r\n  display: block;\r\n  margin: 6px 0 4px;\r\n  font-weight: 600;\r\n  font-size: 13px;\r\n}\r\n\r\n.font-select {\r\n  width: 100%;\r\n  padding: 4px;\r\n  margin-bottom: 8px;\r\n}\r\n\r\n.hint {\r\n  font-size: 12px;\r\n  color: #777;\r\n  margin: 4px 0;\r\n}\r\n\t  #customText{\r\n\t\t  padding:0.2rem;\r\n\t    font-size: 12px;\r\n\t  }\r\n\t  .filter-slots {\r\n  margin-bottom: 10px;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 6px;\r\n  font-size: 14px;\r\n}\r\n.filter-slots label {\r\n  font-weight: 600;\r\n  color: #333;\r\n}\r\n.filter-slots select {\r\n  padding: 4px 6px;\r\n  font-size: 14px;\r\n}\r\n#uploadLoader {\r\n  display: none;\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: rgba(255,255,255,0.8);\r\n  z-index: 9999999; \/* \u05de\u05e2\u05dc \u05db\u05dc \u05d0\u05dc\u05de\u05e0\u05d8 \u05d0\u05d7\u05e8 *\/\r\n\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 28px;\r\n  font-weight: bold;\r\n  color: #333;\r\n}\r\n\r\n.tcg-toast {\r\n  position: fixed;\r\n  bottom: 20px;\r\n  right: 20px;\r\n  background: #333;\r\n  color: #fff;\r\n  padding: 12px 16px;\r\n  border-radius: 8px;\r\n  box-shadow: 0 4px 12px rgba(0,0,0,.2);\r\n  font-size: 14px;\r\n  z-index: 9999;\r\n}\r\n.tcg-toast a {\r\n  color: #ffd700;\r\n  margin-left: 6px;\r\n  text-decoration: underline;\r\n  font-size: 13px;\r\n}\r\n.tcg-toast {\r\n  animation: slideUp .4s ease;\r\n}\r\n@keyframes slideUp {\r\n  from { transform: translateY(40px); opacity: 0; }\r\n  to   { transform: translateY(0);    opacity: 1; }\r\n}\r\n@keyframes cart-bump {\r\n  0%, 100% { transform: scale(1); }\r\n  30% { transform: scale(1.3); }\r\n  60% { transform: scale(0.9); }\r\n}\r\n\r\n\r\n  <\/style>\r\n\r\n  <script>\r\n\t\r\n  (function(){\r\n    \/\/ ==== \u05e7\u05d1\u05d5\u05e2\u05d9\u05dd ====\r\n    const CANVAS_W = 800, CANVAS_H = 560;     \/\/ \u05e7\u05e0\u05d1\u05e1 \u05d1\u05e4\u05d5\u05e2\u05dc\r\n    const SRC_W = 1280, SRC_H = 896;          \/\/ \u05d9\u05d7\u05d9\u05d3\u05d5\u05ea \u05de\u05e7\u05d5\u05e8 \u05e9\u05dc \u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05d4\u05d7\u05d5\u05e8\r\nconst uploadLabels = Array.from(document.querySelectorAll('.upload-slot')); \/\/ \u05db\u05dc \u05db\u05e4\u05ea\u05d5\u05e8\u05d9 \u05d4\u05d4\u05e2\u05dc\u05d0\u05d4\r\n\r\n    \/\/ ==== DOM ====\r\n    const canvas = document.getElementById('cardCanvas');\r\n    const ctx = canvas.getContext('2d');\r\n    const loader = document.getElementById('uploadLoader');\r\n    const form = document.getElementById('photoCartForm');\r\n    const addBtn = document.querySelector('.add-to-cart');\r\n    const toast = document.getElementById('tcgToast');\r\n\r\n    \/\/ \u05d8\u05e7\u05e1\u05d8\r\n    const textInput = document.getElementById('customText');\r\n    const textColorInput = document.getElementById('textColor');\r\n    const textSizeInput = document.getElementById('textSize');\r\n    const textSizeLabel = document.getElementById('textSizeLabel');\r\n    const textFontSelect = document.getElementById('textFont');\r\n\r\n    const textXHidden = document.getElementById('textXHidden');\r\n    const textYHidden = document.getElementById('textYHidden');\r\n    const textSizeHidden = document.getElementById('textSizeHidden');\r\n    const textColorHidden = document.getElementById('textColorHidden');\r\n    const textFontHidden = document.getElementById('textFontHidden');\r\n    const customTextHidden = document.getElementById('customTextHidden');\r\n\r\n    \/\/ \u05e4\u05e7\u05d3\u05d9 \u05ea\u05de\u05d5\u05e0\u05d4\r\n    const moveUp = document.getElementById('moveUp');\r\n    const moveDown = document.getElementById('moveDown');\r\n    const moveLeft = document.getElementById('moveLeft');\r\n    const moveRight = document.getElementById('moveRight');\r\n    const zoomIn = document.getElementById('zoomIn');\r\n    const zoomOut = document.getElementById('zoomOut');\r\n\t  const rotateLeftBtn  = document.getElementById('rotateLeft');\r\nconst rotateRightBtn = document.getElementById('rotateRight');\r\n\r\n    const bigUp = document.querySelector('.arrow-up');\r\n    const bigDown = document.querySelector('.arrow-down');\r\n    const bigLeft = document.querySelector('.arrow-left');\r\n    const bigRight = document.querySelector('.arrow-right');\r\n    const debugSlotsChk = document.getElementById('debugSlots');\r\n\r\n    const thumbsBox = document.getElementById('thumbs');\r\n    const frameHidden = document.getElementById('frameHidden');\r\n     const frameIdHidden = document.getElementById('frameIdHidden');\r\n\r\n    const photosJson = document.getElementById('photosJson');\r\n\r\n    \/\/ ==== \u05de\u05e6\u05d1 ====\r\n    let bgImg = new Image();\r\n    let currentFrame = null; \/\/ 'frame1'...\r\n    let userSlots = [];      \/\/ \u05dc\u05db\u05dc \u05e1\u05dc\u05d5\u05d8: {img,url,file,x,y,zoom}\r\n    let activeIndex = -1;\r\n\r\n    \/\/ \u05d8\u05e7\u05e1\u05d8\r\n    let customText = \"\";\r\n    let textColor = \"#000000\";\r\n    let textSize = 48;\r\n    let textFontName = (textFontSelect && textFontSelect.options[0]) ? textFontSelect.options[0].value : 'Arial';\r\n    let textX = 780, textY = 50;\r\n\r\n    \/\/ ==== \u05de\u05e4\u05ea \u05d7\u05d5\u05e8\u05d9\u05dd (\u05d1\u05d9\u05d7\u05d9\u05d3\u05d5\u05ea 1280\u00d7896!) ====\r\n    const slotsMap = {\r\n      \/\/ 6 \u05d7\u05d5\u05e8\u05d9\u05dd \u2013 \u05d3\u05d5\u05d2\u05de\u05d4 (\u05ea\u05e2\u05d3\u05db\u05e0\u05d9 \u05dc\u05e4\u05d9 \u05d4\u05de\u05d3\u05d9\u05d3\u05d5\u05ea \u05e9\u05dc\u05da \u05d1\u05be1280\u00d7896)\r\n           frame1: [\r\n\t\t          {x: 840, y: 161, w: 268, h: 274}, \/\/ \u05d9\u05de\u05d9\u05df \u05e2\u05dc\u05d9\u05d5\u05df\r\n\r\n        {x: 518, y: 161, w: 272, h: 274}, \/\/ \u05d0\u05de\u05e6\u05e2 \u05e2\u05dc\u05d9\u05d5\u05df\r\n                {x: 198, y: 161, w: 270, h: 274}, \/\/ \u05e9\u05de\u05d0\u05dc \u05e2\u05dc\u05d9\u05d5\u05df\r\n        {x: 839, y: 489, w: 270, h: 271},  \/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n\r\n        {x: 519, y: 490, w: 271, h: 270}, \/\/ \u05d0\u05de\u05e6\u05e2 \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t  {x: 198, y: 489, w: 270, h: 271} \/\/ \u05e9\u05de\u05d0\u05dc \u05ea\u05d7\u05ea\u05d5\u05df\r\n\r\n\t  ],\r\n        frame2: [\r\n\t\t          {x: 683, y: 127, w: 409, h: 278},\r\n        \t\t  {x: 201, y: 122, w: 408, h: 287},\r\n\t\t          {x: 683, y: 494, w: 409, h: 284},\r\n                \t{x: 201, y: 489, w: 409, h: 289}\r\n      ],\r\n\r\n\t frame3: [\r\n\t\t          {x: 864, y: 161, w: 320, h: 527},\r\n        \t\t  {x: 454, y: 95, w: 352, h: 556},\r\n\t\t          {x: 69, y: 146, w: 344, h: 574}\r\n              \r\n      ],\r\n\t\tframe4: [\r\n\t\t          {x: 924, y: 129, w: 244, h: 570},\r\n        \t\t  {x: 391, y: 249, w: 493, h: 246},\r\n\t\t          {x: 109, y: 126, w: 243, h: 574},\r\n                \t{x: 387, y: 546, w: 497, h: 250}\r\n      ],\r\n\t\t frame5: [\r\n\t\t          {x: 823, y: 246, w: 265, h: 424},\r\n        \t\t  {x: 514, y: 218, w: 255, h: 446},\r\n\t\t          {x: 195, y: 245, w: 263, h: 430}\r\n              \r\n      ],\r\n\t\t frame6: [\r\n\t\t          {x: 646, y: 79, w: 523, h: 340}, \/\/ \u05d9\u05de\u05d9\u05df \u05e2\u05dc\u05d9\u05d5\u05df\r\n                 {x: 103, y: 82, w: 519, h: 339}, \/\/ \u05d0\u05de\u05e6\u05e2 \u05e2\u05dc\u05d9\u05d5\u05df\r\n              {x: 646, y: 435, w: 525, h: 343},  \/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t  {x: 101, y: 437, w: 524, h: 340}, \/\/ \u05e9\u05de\u05d0\u05dc \u05ea\u05d7\u05ea\u05d5\u05df\r\n                {x: 481, y: 202, w: 311, h: 439} \/\/ \u05e9\u05de\u05d0\u05dc \u05e2\u05dc\u05d9\u05d5\u05df\r\n\r\n\t  ],\r\n\t\t frame7: [\r\n\t\t          {x: 65, y: 52, w: 264, h: 371}, \/\/ \u05d9\u05de\u05d9\u05df \u05e2\u05dc\u05d9\u05d5\u05df\r\n                 {x: 384, y: 52, w: 510, h: 353}, \/\/ \u05d0\u05de\u05e6\u05e2 \u05e2\u05dc\u05d9\u05d5\u05df\r\n              {x: 945, y: 53, w: 265, h: 368},  \/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t  {x: 66, y: 467, w: 260, h: 366}, \/\/ \r\n\t\t\t   {x: 368, y: 467, w: 259, h: 367}, \/\/ \r\n\t\t\t  {x: 661, y: 469, w: 256, h: 365}, \/\/ \u05e9\u05de\u05d0\u05dc \u05ea\u05d7\u05ea\u05d5\u05df\r\n                {x: 951, y: 469, w: 259, h: 364} \/\/ \u05e9\u05de\u05d0\u05dc \u05e2\u05dc\u05d9\u05d5\u05df\r\n\r\n\t  ],\r\n\t\t frame8: [\r\n\t\t\t {x: 948, y: 131, w: 221, h: 300},\r\n\t\t\t    {x: 678, y: 130, w: 221, h: 301},\r\n\t\t\t {x: 411, y: 130, w: 220, h: 301},\r\n\t\t          {x: 140, y: 130, w: 223, h: 301}, \/\/ \u05d9\u05de\u05d9\u05df \u05e2\u05dc\u05d9\u05d5\u05df\r\n\t\t\t\t\t  {x: 948, y: 476, w: 222, h: 301},\r\n \t\t\t\t\t {x: 678, y: 476, w: 221, h: 301},\t\r\n\t\t\t   {x: 412, y: 477, w: 221, h: 301},\/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t {x: 136, y: 474, w: 224, h: 305} \/\/ \r\n\r\n\t  ],\r\n\t\t frame9: [\r\n\r\n\t\t\t   {x: 698, y: 141, w: 432, h: 618},\/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t {x: 149, y: 140, w: 433, h: 623}\/\/ \r\n\r\n\t  ],\r\n\t\t frame10: [\r\n\r\n\t\t\t   {x: 183, y: 66, w: 561, h: 745},\/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t   {x: 720, y: 261, w: 352, h: 438}\r\n\r\n\r\n\t  ],\r\n\t\t\r\n           frame11: [\r\n\t\t         {x: 945, y: 141, w: 136, h: 172}, \/\/ \u05d9\u05de\u05d9\u05df \u05e2\u05dc\u05d9\u05d5\u05df\r\n                 {x: 763, y: 141, w: 136, h: 172}, \/\/ \u05d0\u05de\u05e6\u05e2 \u05e2\u05dc\u05d9\u05d5\u05df\r\n             {x: 945, y: 358, w: 136, h: 169},  \/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t {x: 763, y: 358, w: 136, h: 169}, \/\/ \u05e9\u05de\u05d0\u05dc \u05ea\u05d7\u05ea\u05d5\u05df\r\n                {x: 132, y: 89, w: 526, h: 719} \/\/ \u05e9\u05de\u05d0\u05dc \u05e2\u05dc\u05d9\u05d5\u05df\r\n\r\n\t  ],\r\n     frame12: [\r\n\t\t        {x: 886, y: 81, w: 330, h: 188}, \/\/ \u05d9\u05de\u05d9\u05df \u05e2\u05dc\u05d9\u05d5\u05df\r\n\t\t\t\t{x: 276, y: 81, w: 540, h: 186},\r\n                {x: 886, y: 345, w: 329, h: 190}, \/\/ \u05e9\u05de\u05d0\u05dc \u05e2\u05dc\u05d9\u05d5\u05df\r\n       {x: 493, y: 346, w: 331, h: 190},  \/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n\r\n      {x: 101, y: 345, w: 328, h: 190}, \/\/ \u05d0\u05de\u05e6\u05e2 \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t {x: 573, y: 603, w: 486, h: 197} \/\/ \u05e9\u05de\u05d0\u05dc \u05ea\u05d7\u05ea\u05d5\u05df\r\n\r\n\t  ],\r\n\t\t\t\t frame13: [\r\n\t\t\t {x: 635, y: 127, w: 487, h: 190},\r\n\t\t\t   {x: 422, y: 124, w: 192, h: 195},\r\n\t\t\t{x: 928, y: 339, w: 194, h: 230},\r\n\t\t         {x: 424, y: 340, w: 478, h: 228}, \/\/ \u05d9\u05de\u05d9\u05df \u05e2\u05dc\u05d9\u05d5\u05df\r\n\t\t\t\t\t {x: 844, y: 590, w: 278, h: 192},\r\n \t\t\t\t\t{x: 635, y: 591, w: 187, h: 190},\t\r\n\t\t\t {x: 425, y: 592, w: 187, h: 190},\/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t{x: 145, y: 123, w: 254, h: 661} \/\/ \r\n],\r\n\t\t\t\t\t frame14: [\r\n\t\t\t{x: 783, y: 186, w: 213, h: 374},\r\n\t\t\t{x: 547, y: 54, w: 196, h: 266},\r\n{x: 547, y: 341, w: 196, h: 222},\r\n\t\t       {x: 294, y: 187, w: 215, h: 374}, \/\/ \u05d9\u05de\u05d9\u05df \u05e2\u05dc\u05d9\u05d5\u05df\r\n\t\t\t\t{x: 874, y: 585, w: 191, h: 244},\r\n \t\t\t\t{x: 656, y: 576, w: 191, h: 253},\t\r\n\t\t\t {x: 440, y: 589, w: 190, h: 239},\/\/ \u05d9\u05de\u05d9\u05df \u05ea\u05d7\u05ea\u05d5\u05df\r\n      \t\t{x: 220, y: 586, w: 192, h: 241} \/\/ \r\n],\r\n    };\r\n\r\n    \/\/ ==== \u05e2\u05d6\u05e8: \u05d4\u05de\u05e8\u05ea \u05e1\u05dc\u05d5\u05d8 \u05dc\u05be800\u00d7560 ====\r\n    function scaleSlot(slot){\r\n      const sx = CANVAS_W \/ SRC_W;\r\n      const sy = CANVAS_H \/ SRC_H;\r\n      return {\r\n        x: slot.x * sx,\r\n        y: slot.y * sy,\r\n        w: slot.w * sx,\r\n        h: slot.h * sy\r\n      };\r\n    }\r\n\r\n    \/\/ \u05e2\u05d6\u05e8: \u05d4\u05ea\u05d0\u05de\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 \u05e8\u05d0\u05e9\u05d5\u05e0\u05d9\u05ea \u05db\u05beCOVER \u05d1\u05ea\u05d5\u05da \u05e1\u05dc\u05d5\u05d8 (\u05d1\u05e1\u05e7\u05dc\u05ea \u05d4\u05e7\u05e0\u05d1\u05e1!)\r\n    function initialFitCover(img, slotScaled){\r\n      const scale = Math.max(slotScaled.w \/ img.width, slotScaled.h \/ img.height);\r\n      const w = img.width * scale;\r\n      const h = img.height * scale;\r\n      const x = slotScaled.x + (slotScaled.w - w)\/2;\r\n      const y = slotScaled.y + (slotScaled.h - h)\/2;\r\n      return { x, y, zoom: scale };\r\n    }\r\n\r\n    \/\/ \u05d4\u05d9\u05d3\u05d5\u05e7 \u05d2\u05d1\u05d5\u05dc\u05d5\u05ea \u05db\u05da \u05e9\u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05dc\u05d0 \u05ea\u05e9\u05d0\u05d9\u05e8 \"\u05d7\u05d5\u05e8\" \u05e8\u05d9\u05e7 \u05d1\u05ea\u05d5\u05da \u05d4\u05e1\u05dc\u05d5\u05d8\r\n    function clampToSlot(state, slotScaled){\r\n      const w = state.img.width * state.zoom;\r\n      const h = state.img.height * state.zoom;\r\n\r\n      const minX = slotScaled.x + Math.min(0, slotScaled.w - w);\r\n      const maxX = slotScaled.x + Math.max(0, slotScaled.w - w);\r\n      const minY = slotScaled.y + Math.min(0, slotScaled.h - h);\r\n      const maxY = slotScaled.y + Math.max(0, slotScaled.h - h);\r\n\r\n      state.x = Math.max(minX, Math.min(maxX, state.x));\r\n      state.y = Math.max(minY, Math.min(maxY, state.y));\r\n    }\r\nfunction handlePhotoUpload(file, slotIndex) {\r\n  if (!file) return;\r\n  if (!currentFrame) { \r\n    alert('\u05d1\u05d7\u05e8\u05d9 \u05e8\u05e7\u05e2 \u05e7\u05d5\u05d3\u05dd'); \r\n    return; \r\n  }\r\n\r\n  const formData = new FormData();\r\n  formData.append('action','upload_user_photo');\r\n  formData.append('photo', file);\r\n\r\n  loader.style.display = 'flex';\r\n\r\n  const safetyTimer = setTimeout(() => {\r\n    loader.style.display = 'none';\r\n    console.warn('Loader hidden by safety timer');\r\n  }, 20000);\r\n\r\n  fetch(\"https:\/\/ai-jewishart.com\/wp-admin\/admin-ajax.php\", {\r\n    method: 'POST',\r\n    body: formData\r\n  })\r\n  .then(r => r.json())\r\n  .then(data => {\r\n    if (data?.success) {\r\n      const url = data.data.url;\r\n      const savedFile = data.data.file;\r\n      const img = new Image();\r\n      img.onload = () => {\r\n        clearTimeout(safetyTimer); \/\/ \u05d1\u05d9\u05d8\u05d5\u05dc \u05d4\u05d8\u05d9\u05d9\u05de\u05e8\r\n        const slots = slotsMap[currentFrame] || [];\r\n        const orig = slots[slotIndex];\r\n        if (!orig) {\r\n          alert('\u05dc\u05e8\u05e7\u05e2 \u05d6\u05d4 \u05d0\u05d9\u05df \u05e1\u05dc\u05d5\u05d8 \u05de\u05e1\u05e4\u05e8 ' + (slotIndex+1));\r\n          loader.style.display = 'none';\r\n          return;\r\n        }\r\n\r\n        const s = scaleSlot(orig);\r\n        const fit = initialFitCover(img, s);\r\n        userSlots[slotIndex] = {\r\n          img,\r\n          url,\r\n          file: savedFile,\r\n          x: fit.x,\r\n          y: fit.y,\r\n          zoom: fit.zoom,\r\n          rotation: 0\r\n        };\r\n        hideTitle();\r\n\r\n        activeIndex = slotIndex;\r\n        updateThumbs();\r\n        render();\r\n\r\n        loader.style.display = 'none';\r\n      };\r\n      img.src = url;\r\n    } else {\r\n      clearTimeout(safetyTimer);\r\n      alert('\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4: ' + (data?.data || ''));\r\n      loader.style.display = 'none';\r\n    }\r\n  })\r\n  .catch(() => {\r\n    clearTimeout(safetyTimer);\r\n    alert('\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4');\r\n    loader.style.display = 'none';\r\n  });\r\n}\r\n\r\n\r\nfunction hideTitle(){\r\n\tconst noImageHint  = document.querySelector('.controls-hint.no-image');\r\nconst withImageHint = document.querySelector('.controls-hint.with-image');\r\n\r\n\/\/ \u05d1\u05d3\u05d9\u05e7\u05d4 \u05d0\u05dd \u05d9\u05e9 \u05dc\u05e4\u05d7\u05d5\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 \u05d0\u05d7\u05ea\r\nconst hasImage = userSlots.some(u => u && u.img);\r\n\r\nif (hasImage) {\r\n  noImageHint.style.display = 'none';\r\n  withImageHint.style.display = 'block';\r\n} else {\r\n  noImageHint.style.display = 'block';\r\n  withImageHint.style.display = 'none';\r\n}\r\n\r\n}\r\n    \/\/ ==== \u05e8\u05d9\u05e0\u05d3\u05d5\u05e8 ====\r\nfunction render() {\r\n  ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n  \/\/ \u05d9\u05d7\u05e1 \u05d4\u05de\u05e8\u05d4 (\u05de\u05e7\u05d5\u05e8: 1280\u00d7896 \u2192 \u05e7\u05e0\u05d1\u05e1 \u05d1\u05e4\u05d5\u05e2\u05dc 800\u00d7560)\r\n  const scaleX = canvas.width \/ SRC_W;\r\n  const scaleY = canvas.height \/ SRC_H;\r\n\r\n  \/\/ \u05e1\u05dc\u05d5\u05d8\u05d9\u05dd \u05e9\u05dc \u05d4\u05e8\u05e7\u05e2 \u05d4\u05e0\u05d1\u05d7\u05e8\r\n  const slots = currentFrame ? (slotsMap[currentFrame] || []) : [];\r\n\r\n  \/\/ \u05e6\u05d9\u05d5\u05e8 \u05d4\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05e9\u05dc \u05d4\u05de\u05e9\u05ea\u05de\u05e9\r\n  userSlots.forEach((u, i) => {\r\n    const orig = slots[i];\r\n    if (!u || !u.img || !orig) return;\r\n\r\n    const s = {\r\n      x: orig.x * scaleX,\r\n      y: orig.y * scaleY,\r\n      w: orig.w * scaleX,\r\n      h: orig.h * scaleY\r\n    };\r\n\r\n    const drawW = u.img.width * (u.zoom || 1);\r\n    const drawH = u.img.height * (u.zoom || 1);\r\n\r\n    ctx.save();\r\n    ctx.beginPath();\r\n    ctx.rect(s.x, s.y, s.w, s.h);\r\n    ctx.clip();\r\n\r\n    ctx.drawImage(\r\n      u.img,\r\n      (u.x ?? (s.x + (s.w - drawW) \/ 2)),\r\n      (u.y ?? (s.y + (s.w - drawH) \/ 2)),\r\n      drawW,\r\n      drawH\r\n    );\r\n\r\n    ctx.restore();\r\n  });\r\n\r\n  \/\/ === \u05db\u05e4\u05ea\u05d5\u05e8\u05d9 \u05d4\u05e2\u05dc\u05d0\u05d4 \u05e2\u05dc \u05d4\u05e1\u05dc\u05d5\u05d8\u05d9\u05dd ===\r\n  const wrap = document.querySelector('.canvas-wrap');\r\n  \/\/ \u05de\u05e0\u05e7\u05d4 \u05db\u05e4\u05ea\u05d5\u05e8\u05d9\u05dd \u05e7\u05d5\u05d3\u05de\u05d9\u05dd\r\n  wrap.querySelectorAll('.slot-upload-btn').forEach(el => el.remove());\r\n\r\n\r\n  slots.forEach((slot, i) => {\r\n    const s = {\r\n      x: slot.x * scaleX,\r\n      y: slot.y * scaleY,\r\n      w: slot.w * scaleX,\r\n      h: slot.h * scaleY\r\n    };\r\n    const cx = s.x + 13 + s.w\/2;\r\n    const cy = s.y + s.h\/2;\r\n\r\n    const btn = document.createElement('label');\r\n    btn.className = 'slot-upload-btn';\r\n    btn.dataset.idx = i;\r\n\t\tbtn.style.left = (cx - 18) + 'px';\r\n\t\tbtn.style.top  = (cy - 18) + 'px';\r\n    btn.innerHTML = `\r\n  <span class=\"plus-circle\">+<\/span>\r\n  <span class=\"num\">${i+1}<\/span>\r\n  <input type=\"file\" accept=\"image\/*\" hidden>\r\n`;\r\n\r\n    wrap.appendChild(btn);\r\n\r\n    const input = btn.querySelector('input');\r\n    input.addEventListener('change', ev => {\r\n      const f = ev.target.files[0];\r\n  \t\thandlePhotoUpload(f, i);  \/\/ i \u05d6\u05d4 \u05d4\u05d0\u05d9\u05e0\u05d3\u05e7\u05e1 \u05e9\u05dc \u05d4\u05e1\u05dc\u05d5\u05d8\r\n    });\r\n  });\r\n  \/\/ \u05e6\u05d9\u05d5\u05e8 \u05e8\u05e7\u05e2\r\n  if (bgImg && bgImg.src) {\r\n    ctx.drawImage(bgImg, 0, 0, canvas.width, canvas.height);\r\n  }\r\n\r\n  \/\/ \u05e6\u05d9\u05d5\u05e8 \u05d8\u05e7\u05e1\u05d8\r\n  if (customText.trim()) {\r\n    ctx.fillStyle = textColor;\r\n    ctx.font = `${textSize}px \"${textFontName || 'Arial'}\", Arial`;\r\n    ctx.textAlign = \"right\";\r\n    ctx.fillText(customText, textX, textY);\r\n  }\r\n\r\n  \/\/ === \u05e9\u05de\u05d9\u05e8\u05d4 \u05dc-JSON \u05d1\u05d9\u05d7\u05d9\u05d3\u05d5\u05ea \u05de\u05e7\u05d5\u05e8 (1280\u00d7896) ===\r\n  const SAVE_SX = SRC_W \/ CANVAS_W;\r\n  const SAVE_SY = SRC_H \/ CANVAS_H;\r\n\r\n  const payload = (userSlots || []).map((u, i) => {\r\n    if (!u || !u.img) return null;\r\n    const orig = slots[i];\r\n    if (!orig) return null;\r\n\r\n    return {\r\n      slot: i + 1,\r\n      file: u.file || '',\r\n      url: u.url || '',\r\n      x: Math.round((u.x || 0) * SAVE_SX),\r\n      y: Math.round((u.y || 0) * SAVE_SY),\r\n      w: Math.round(u.img.width * (u.zoom||1) * SAVE_SX),\r\n      h: Math.round(u.img.height * (u.zoom||1) * SAVE_SY),\r\n      rotation: Math.round(u.rotation || 0),\r\n      slot_x: orig.x,\r\n      slot_y: orig.y,\r\n      slot_w: orig.w,\r\n      slot_h: orig.h\r\n    };\r\n  }).filter(Boolean);\r\n\r\n  photosJson.value = JSON.stringify(payload);\r\n}\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n  const loader = document.getElementById(\"uploadLoader\");\r\n  if (loader) {\r\n    document.body.appendChild(loader); \/\/ \u05de\u05e2\u05d1\u05d9\u05e8 \u05d0\u05ea \u05d4\u05beloader \u05dc\u05d2\u05d5\u05e3 \u05d4\u05d3\u05e3\r\n  }\r\n});\r\n\r\n\/\/ \u05e1\u05d9\u05e0\u05d5\u05df \u05e8\u05e7\u05e2\u05d9\u05dd \u05dc\u05e4\u05d9 \u05de\u05e1\u05e4\u05e8 \u05e1\u05dc\u05d5\u05d8\u05d9\u05dd\r\ndocument.getElementById('slotFilter').addEventListener('change', function() {\r\n  const wanted = this.value; \/\/ \"\" \u05d0\u05d5 \"2\"...\"8\"\r\n  document.querySelectorAll('.bg-item').forEach(item => {\r\n    const img = item.querySelector('img.bg-thumb');\r\n    if (!img) return;\r\n\r\n    const frameId = img.dataset.frame; \/\/ \u05dc\u05de\u05e9\u05dc \"frame1\"\r\n    const slots = slotsMap[frameId] || [];\r\n    const count = slots.length;\r\n\r\n    if (!wanted || count == wanted) {\r\n      item.style.display = '';\r\n    } else {\r\n      item.style.display = 'none';\r\n    }\r\n  });\r\n});\r\n\r\n    \/\/ ==== \u05d1\u05d7\u05d9\u05e8\u05ea \u05e8\u05e7\u05e2 ====\r\n    document.querySelectorAll('.bg-thumb').forEach(el=>{\r\n      el.addEventListener('click', ()=>{\r\n        document.querySelectorAll('.bg-thumb').forEach(i=>i.classList.remove('active'));\r\n        el.classList.add('active');\r\n        currentFrame = el.dataset.frame;\r\n        \/\/ \u05d1\u05de\u05e7\u05d5\u05dd \u05e8\u05e7 frameHidden.value = currentFrame;\r\nframeIdHidden.value = el.dataset.frame;     \/\/ \u05dc\u05d3\u05d5\u05d2\u05de\u05d4: \"frame1\"\r\nframeHidden.value   = el.dataset.file;      \/\/ \u05dc\u05d3\u05d5\u05d2\u05de\u05d4: \"my_frame_01.png\"  \u2190 \u05d7\u05e9\u05d5\u05d1!\r\n\r\n        bgImg.src = el.src;\r\n        bgImg.onload = render;\r\n\r\n\r\n        \/\/ \u05d4\u05ea\u05d0\u05de\u05d4 \u05d1\u05de\u05e1' \u05e1\u05dc\u05d5\u05d8\u05d9\u05dd \u05dc\u05d1\u05d7\u05d9\u05e8\u05d4\r\n        const slots = slotsMap[currentFrame] || [];\r\n        if(activeIndex >= slots.length) activeIndex = slots.length - 1;\r\n        updateThumbs();\r\n\t\t updateUploadButtons();\r\n\r\n      });\r\n    });\r\n\r\n    \/\/ \u05d1\u05d5\u05d7\u05e8\u05d9\u05dd \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9\u05ea \u05e8\u05d0\u05e9\u05d5\u05df\r\n    (function initDefaultFrame(){\r\n\r\n      const first = document.querySelector('.bg-thumb');\r\n      if(first){\r\n        first.classList.add('active');\r\n\t frameIdHidden.value = first.dataset.frame;\r\n        frameHidden.value   = first.dataset.file;\r\n\r\n        currentFrame = first.dataset.frame;\r\n        bgImg.src = first.src;\r\nbgImg.onload = ()=>{\r\n      render();\r\n      updateUploadButtons(); \/\/ <<< \u05db\u05d0\u05df\r\n    };\r\n\t  }\r\n    })();\r\n\r\n    \/\/ ==== \u05d8\u05e7\u05e1\u05d8 ====\r\n    textInput.addEventListener('input', e=>{ customText = e.target.value; render(); });\r\n    textColorInput.addEventListener('input', e=>{ textColor = e.target.value; render(); });\r\n    textSizeInput.addEventListener('input', e=>{\r\n      textSize = parseInt(e.target.value,10) || 48;\r\n      if(textSizeLabel) textSizeLabel.textContent = textSize+'px';\r\n      render();\r\n    });\r\n    textFontSelect.addEventListener('change', e=>{\r\n      const opt = e.target.selectedOptions[0];\r\n      textFontName = opt.value;\r\n      render();\r\n    });\r\n\t  document.getElementById('textExamples').addEventListener('change', function() {\r\n  const val = this.value;\r\n  if (val) {\r\n\t\tconst input = document.getElementById('customText');\r\n\t\tinput.value = val;\r\n\r\n\t\t\/\/ \u05de\u05e4\u05e2\u05d9\u05dc \u05d0\u05ea \u05d4\u05d0\u05d9\u05e8\u05d5\u05e2 \u05db\u05d0\u05d9\u05dc\u05d5 \u05d4\u05de\u05e9\u05ea\u05de\u05e9 \u05d4\u05e7\u05dc\u05d9\u05d3\r\n\t\tinput.dispatchEvent(new Event('input', { bubbles: true }));\r\n  }\r\n});\r\n\r\n    document.querySelectorAll('.chips span').forEach(el=>{\r\n      el.addEventListener('click', ()=>{\r\n        textInput.value = el.innerText;\r\n        textInput.dispatchEvent(new Event('input'));\r\n      });\r\n    });\r\n\r\n    \/\/ \u05d2\u05e8\u05d9\u05e8\u05ea \u05d8\u05e7\u05e1\u05d8\r\n    let draggingText=false, dOffX=0, dOffY=0;\r\n    canvas.addEventListener('mousedown', e=>{\r\n      const rect = canvas.getBoundingClientRect();\r\n      const mx = e.clientX - rect.left, my = e.clientY - rect.top;\r\n      ctx.font = `${textSize}px \"${textFontName || 'Arial'}\", Arial`;\r\n      const tw = ctx.measureText(customText).width;\r\n      const th = textSize;\r\n      if(mx >= textX - tw && mx <= textX && my <= textY && my >= textY - th){\r\n        draggingText = true; dOffX = textX - mx; dOffY = textY - my;\r\n      } else {\r\n        \/\/ \u05d1\u05d7\u05d9\u05e8\u05ea \u05ea\u05de\u05d5\u05e0\u05d4 \u05e2\"\u05d9 \u05dc\u05d7\u05d9\u05e6\u05d4 \u05d1\u05ea\u05d5\u05da \u05d7\u05d5\u05e8\r\n        if(!currentFrame) return;\r\n        const slots = slotsMap[currentFrame] || [];\r\n        for(let i=slots.length-1; i>=0; i--){\r\n          const s = scaleSlot(slots[i]);\r\n          if(mx >= s.x && mx <= s.x+s.w && my >= s.y && my <= s.y+s.h){\r\n            if(userSlots[i]) { activeIndex = i; updateThumbs(); }\r\n            break;\r\n          }\r\n        }\r\n      }\r\n    });\r\n    canvas.addEventListener('mousemove', e=>{\r\n      if(draggingText){\r\n        const rect = canvas.getBoundingClientRect();\r\n        textX = e.clientX - rect.left + dOffX;\r\n        textY = e.clientY - rect.top + dOffY;\r\n        render();\r\n      }\r\n    });\r\n    ['mouseup','mouseleave'].forEach(ev=> canvas.addEventListener(ev, ()=> draggingText=false));\r\n    \/\/ \u05d7\u05d9\u05e6\u05d9\u05dd \u05d8\u05e7\u05e1\u05d8\r\n    document.querySelector('.text-up').onclick    = ()=>{ textY -= 5; render(); };\r\n    document.querySelector('.text-down').onclick  = ()=>{ textY += 5; render(); };\r\n    document.querySelector('.text-left').onclick  = ()=>{ textX -= 5; render(); };\r\n    document.querySelector('.text-right').onclick = ()=>{ textX += 5; render(); };\r\n\r\n    \/\/ ==== \u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d5\u05ea (AJAX) \u05d5\u05e9\u05d9\u05d5\u05da imageN\u2192slotN ====\r\n    for(let i=1;i<=6;i++){\r\n      const input = document.getElementById('uploadPhoto'+i);\r\n      if(!input) continue;\r\n      input.addEventListener('change', ev=>{\r\n        const f = ev.target.files[0]; if(!f) return;\r\n        if(!currentFrame){ alert('\u05d1\u05d7\u05e8\u05d9 \u05e8\u05e7\u05e2 \u05e7\u05d5\u05d3\u05dd'); return; }\r\n\r\n        const formData = new FormData();\r\n        formData.append('action','upload_user_photo');\r\n        formData.append('photo', f);\r\n\r\n        loader.style.display='flex';\r\n        fetch('https:\/\/ai-jewishart.com\/wp-admin\/admin-ajax.php', { method:'POST', body:formData })\r\n          .then(r=>r.json())\r\n          .then(data=>{\r\n            if(data?.success){\r\n              const url = data.data.url;\r\n              const file = data.data.file;\r\n              const img = new Image();\r\n              img.onload = ()=>{\r\n                const slots = slotsMap[currentFrame] || [];\r\n                const orig = slots[i-1];\r\n                if(!orig){ alert('\u05dc\u05e8\u05e7\u05e2 \u05d6\u05d4 \u05d0\u05d9\u05df \u05e1\u05dc\u05d5\u05d8 \u05de\u05e1\u05e4\u05e8 '+i); loader.style.display='none'; return; }\r\n                const s = scaleSlot(orig);\r\n\t\t\t\tconst fit = initialFitCover(img, s);\r\n\t\t\t\tuserSlots[i-1] = {\r\n\t\t\t\t  img, url, file,\r\n\t\t\t\t  x: fit.x,\r\n\t\t\t\t  y: fit.y,\r\n\t\t\t\t  zoom: fit.zoom,   \/\/ \u05d0\u05dc \u05ea\u05e9\u05e0\u05d9 \u05dc\u05be1\r\n\t\t\t\t  rotation: 0\r\n\t\t\t\t};\r\n                activeIndex = i-1;\r\n                updateThumbs();\r\n                render();\r\n              };\r\n              img.src = url;\r\n            } else {\r\n              alert('\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4: '+(data?.data || ''));\r\n            }\r\n          })\r\n          .catch(()=> alert('\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05d4\u05e2\u05dc\u05d0\u05ea \u05ea\u05de\u05d5\u05e0\u05d4'))\r\n          .finally(()=> loader.style.display='none');\r\n      });\r\n    }\r\n   \r\nfunction syncHidden() {\r\n  customTextHidden.value = customText || '';\r\n  textColorHidden.value  = textColor || '#000000';\r\n  textSizeHidden.value   = parseInt(textSize,10) || 48;\r\n  textXHidden.value      = Math.round(textX);\r\n  textYHidden.value      = Math.round(textY);\r\n\r\n  const opt = textFontSelect?.selectedOptions?.[0];\r\n  textFontHidden.value   = opt?.dataset?.file || '';\r\n\r\n  \/\/ === \u05d4\u05d7\u05dc\u05e7 \u05d4\u05d7\u05e9\u05d5\u05d1: \u05dc\u05e9\u05de\u05d5\u05e8 \u05d2\u05dd slot_x\/slot_y\/slot_w\/slot_h ===\r\n  const slots = currentFrame ? (slotsMap[currentFrame] || []) : [];\r\n\r\n  photosJson.value = JSON.stringify((userSlots||[]).map((u,i)=>{\r\n    if(!u) return null;\r\n    const orig = slots[i];\r\n    if(!orig) return null;\r\n    return {\r\n      slot: i+1,\r\n      file: u.file || '',\r\n      url:  u.url  || '',\r\n      x: Math.round(u.x || 0),\r\n      y: Math.round(u.y || 0),\r\n      zoom: +((u.zoom||1).toFixed(5)),\r\n      rotation: Math.round(u.rotation || 0),\r\n      slot_x: orig.x,\r\n      slot_y: orig.y,\r\n      slot_w: orig.w,\r\n      slot_h: orig.h\r\n    };\r\n  }).filter(Boolean));\r\n}\r\n\r\nfunction updateUploadButtons(){\r\n  const slots = currentFrame ? (slotsMap[currentFrame] || []) : [];\r\n  const max = Math.min(slots.length, uploadLabels.length);\r\n\r\n  uploadLabels.forEach((lab, idx) => {\r\n    const input = lab.querySelector('input[type=\"file\"]');\r\n    const show = idx < max;\r\n    \/\/ \u05d0\u05dd \u05d0\u05ea \u05e2\u05dd CSS class:\r\n    \/\/ lab.classList.toggle('hidden', !show);\r\n    \/\/ \u05d0\u05dd \u05d0\u05ea \u05de\u05e2\u05d3\u05d9\u05e4\u05d4 inline:\r\n    lab.style.display = show ? '' : 'none';\r\n    if (input) input.disabled = !show; \/\/ \u05dc\u05d0\u05e4\u05e9\u05e8\/\u05dc\u05d7\u05e1\u05d5\u05dd \u05d4\u05e2\u05dc\u05d0\u05d4\r\n  });\r\n\r\n  \/\/ \u05d0\u05dd \u05d4\u05e1\u05dc\u05d5\u05d8 \u05d4\u05e4\u05e2\u05d9\u05dc \u05de\u05d7\u05d5\u05e5 \u05dc\u05d8\u05d5\u05d5\u05d7 \u05d4\u05d7\u05d3\u05e9 \u2013 \u05dc\u05d4\u05d6\u05d9\u05d6 \u05de\u05e6\u05d1\u05d9\u05e2\r\n  if (activeIndex >= max) activeIndex = max - 1;\r\n}\r\n\r\n    \/\/ \u05ea\u05e6\u05d5\u05d2\u05ea \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05e7\u05d8\u05e0\u05d5\u05ea + \u05d1\u05d7\u05d9\u05e8\u05d4\r\n    function updateThumbs(){\r\n      thumbsBox.innerHTML = '';\r\n      const slots = currentFrame ? (slotsMap[currentFrame] || []) : [];\r\n      const max = Math.min(slots.length, 12);\r\n      for(let i=0;i<max;i++){\r\n        const wrap = document.createElement('div');\r\n        wrap.className = 'thumb' + (i===activeIndex ? ' active' : '');\r\n        if(userSlots[i] && userSlots[i].url){\r\n          const im = document.createElement('img');\r\n          im.src = userSlots[i].url; wrap.appendChild(im);\r\n        } else {\r\n          wrap.textContent = '\u05e8\u05d9\u05e7';\r\n        }\r\n        const tag = document.createElement('div');\r\n        tag.className = 'tag'; tag.textContent = 'image'+(i+1);\r\n        wrap.appendChild(tag);\r\n        wrap.onclick = ()=>{ if(userSlots[i]){ activeIndex = i; updateThumbs(); } };\r\n        thumbsBox.appendChild(wrap);\r\n      }\r\n    }\r\n\r\n    \/\/ ==== \u05e9\u05dc\u05d9\u05d8\u05d4 \u05d1\u05ea\u05de\u05d5\u05e0\u05d4 \u05e4\u05e2\u05d9\u05dc\u05d4 ====\r\n    const step = 10;\r\n    function withActive(doit){\r\n      if(activeIndex<0) return;\r\n      const u = userSlots[activeIndex];\r\n      if(!u) return;\r\n      const orig = (slotsMap[currentFrame] || [])[activeIndex];\r\n      if(!orig) return;\r\n      const s = scaleSlot(orig);\r\n      doit(u, s);\r\n      clampToSlot(u, s);\r\n      render();\r\n    }\r\n\r\n    function holdRepeatButton(btn, action, interval=90){\r\n      if(!btn) return;\r\n      let timer=null;\r\n      const start=(e)=>{ e.preventDefault(); action(); timer=setInterval(action, interval); };\r\n      const stop=()=>{ if(timer){clearInterval(timer); timer=null;} };\r\n      btn.addEventListener('mousedown', start);\r\n      btn.addEventListener('touchstart', start, {passive:false});\r\n      ['mouseup','mouseleave','touchend','touchcancel'].forEach(ev=> btn.addEventListener(ev, stop));\r\n    }\r\n\r\n    \/\/ \u05ea\u05d6\u05d5\u05d6\u05d4\r\n    holdRepeatButton(moveUp,    ()=> withActive((u)=> u.y -= step));\r\n    holdRepeatButton(moveDown,  ()=> withActive((u)=> u.y += step));\r\n    holdRepeatButton(moveLeft,  ()=> withActive((u)=> u.x -= step));\r\n    holdRepeatButton(moveRight, ()=> withActive((u)=> u.x += step));\r\n\t  \r\n\t  const ROT_STEP = 5;\r\n\r\nif (rotateLeftBtn) {\r\n  holdRepeatButton(rotateLeftBtn, ()=> withActive(u => {\r\n    u.rotation = (u.rotation || 0) - ROT_STEP;\r\n  }));\r\n}\r\nif (rotateRightBtn) {\r\n  holdRepeatButton(rotateRightBtn, ()=> withActive(u => {\r\n    u.rotation = (u.rotation || 0) + ROT_STEP;\r\n  }));\r\n}\r\n\r\n    \/\/ \u05d6\u05d5\u05dd \u05e1\u05d1\u05d9\u05d1 \u05d4\u05de\u05e8\u05db\u05d6 \u05d4\u05e0\u05d5\u05db\u05d7\u05d9\r\n\/\/ === \u05db\u05d0\u05df \u05ea\u05db\u05e0\u05d9\u05e1 \u05d0\u05ea \u05e7\u05d8\u05e2 \u05d4\u05d6\u05d5\u05dd \u05d4\u05d7\u05d3\u05e9 ===\r\nconst zoomStep = 1.1;\r\n\r\nholdRepeatButton(zoomIn, ()=> withActive(u => {\r\n  u.zoom = (u.zoom || 1) * zoomStep;\r\n}));\r\n\r\nholdRepeatButton(zoomOut, ()=> withActive(u => {\r\n  u.zoom = (u.zoom || 1) \/ zoomStep;\r\n}));\r\n\r\n\/\/ \u05e8\u05d5\u05d8\u05e6\u05d9\u05d4 (\u05d0\u05dd \u05d9\u05e9 \u05dc\u05da)\r\n    \/\/ \u05d7\u05d9\u05e6\u05d9\u05dd \u05d2\u05d3\u05d5\u05dc\u05d9\u05dd \u05e2\u05dc \u05d4\u05e7\u05e0\u05d1\u05e1\r\n    holdRepeatButton(bigUp,    ()=> withActive((u)=> u.y -= step));\r\n    holdRepeatButton(bigDown,  ()=> withActive((u)=> u.y += step));\r\n    holdRepeatButton(bigLeft,  ()=> withActive((u)=> u.x -= step));\r\n    holdRepeatButton(bigRight, ()=> withActive((u)=> u.x += step));\r\n\r\n    \/\/ \u05d3\u05d9\u05d1\u05d0\u05d2 \u05d7\u05d5\u05e8\u05d9\u05dd\r\n    debugSlotsChk.addEventListener('change', render);\r\n\r\n    \/\/ ==== \u05d4\u05d5\u05e1\u05e4\u05d4 \u05dc\u05e1\u05dc ====\r\n    function handleAddToCart(){\r\n      if(!currentFrame){ alert('\u05d1\u05d7\u05e8\u05d9 \u05e8\u05e7\u05e2'); return; }\r\n      const haveOne = userSlots.some(u=> !!u);\r\n      if(!haveOne){ alert('\u05dc\u05d0 \u05d4\u05d5\u05e2\u05dc\u05ea\u05d4 \u05d0\u05e3 \u05ea\u05de\u05d5\u05e0\u05d4'); return; }\r\n  \t\tsyncHidden(); \r\n\r\n      const data = new FormData(form);\r\n      fetch(\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/cart\/\", { method:\"POST\", body:data })\r\n      .then(()=> {\r\n        fetch(wc_add_to_cart_params.wc_ajax_url.replace('%%endpoint%%','get_refreshed_fragments'), { method:\"POST\" })\r\n          .then(res=>res.json())\r\n          .then(data=>{\r\n            if(data && data.fragments){\r\n              jQuery.each(data.fragments, function(key, value){ jQuery(key).replaceWith(value); });\r\n              const cartIcon = document.querySelector('.elementor-button-icon');\r\n              if(cartIcon){ cartIcon.classList.add('cart-bump'); setTimeout(()=> cartIcon.classList.remove('cart-bump'), 400); }\r\n            }\r\n          });\r\n        toast.style.display='block';\r\n        setTimeout(()=> toast.style.display='none', 5000);\r\n      });\r\n    }\r\n    addBtn.addEventListener('click', handleAddToCart);\r\n    document.querySelector('.toast-close').addEventListener('click', (e)=>{ e.preventDefault(); toast.style.display='none'; });\r\n\r\n  })();\r\n  <\/script>\r\n  <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7368","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u05e7\u05d5\u05dc\u05d0\u05d6 - ai-jewishart<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ai-jewishart.com\/\u05e2\u05de\u05d5\u05d3-\u05d7\u05e0\u05d5\u05ea\/\u05e7\u05d5\u05dc\u05d0\u05d6\/\" \/>\n<meta property=\"og:locale\" content=\"he_IL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u05e7\u05d5\u05dc\u05d0\u05d6 - ai-jewishart\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ai-jewishart.com\/\u05e2\u05de\u05d5\u05d3-\u05d7\u05e0\u05d5\u05ea\/\u05e7\u05d5\u05dc\u05d0\u05d6\/\" \/>\n<meta property=\"og:site_name\" content=\"ai-jewishart\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-02T11:56:48+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u05d6\u05de\u05df \u05e7\u05e8\u05d9\u05d0\u05d4 \u05de\u05d5\u05e2\u05e8\u05da\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u05d3\u05e7\u05d41\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/\",\"url\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/\",\"name\":\"\u05e7\u05d5\u05dc\u05d0\u05d6 - ai-jewishart\",\"isPartOf\":{\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#website\"},\"datePublished\":\"2025-09-02T11:50:46+00:00\",\"dateModified\":\"2025-09-02T11:56:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/#breadcrumb\"},\"inLanguage\":\"he-IL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u05d3\u05e3 \u05d4\u05d1\u05d9\u05ea\",\"item\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u05e7\u05d5\u05dc\u05d0\u05d6\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#website\",\"url\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/\",\"name\":\"ai-jewishart\",\"description\":\"\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d1\u05d9\u05e0\u05d4 \u05de\u05dc\u05d0\u05db\u05d5\u05ea\u05d9\u05ea \u05d1\u05d0\u05de\u05e0\u05d5\u05ea \u05d9\u05d4\u05d5\u05d3\u05d9\u05ea\",\"publisher\":{\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"he-IL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#organization\",\"name\":\"ai-jewishart\",\"url\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"he-IL\",\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/2024\/01\/AI.png?fit=1913%2C746&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/2024\/01\/AI.png?fit=1913%2C746&ssl=1\",\"width\":1913,\"height\":746,\"caption\":\"ai-jewishart\"},\"image\":{\"@id\":\"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u05e7\u05d5\u05dc\u05d0\u05d6 - ai-jewishart","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ai-jewishart.com\/\u05e2\u05de\u05d5\u05d3-\u05d7\u05e0\u05d5\u05ea\/\u05e7\u05d5\u05dc\u05d0\u05d6\/","og_locale":"he_IL","og_type":"article","og_title":"\u05e7\u05d5\u05dc\u05d0\u05d6 - ai-jewishart","og_url":"https:\/\/ai-jewishart.com\/\u05e2\u05de\u05d5\u05d3-\u05d7\u05e0\u05d5\u05ea\/\u05e7\u05d5\u05dc\u05d0\u05d6\/","og_site_name":"ai-jewishart","article_modified_time":"2025-09-02T11:56:48+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u05d6\u05de\u05df \u05e7\u05e8\u05d9\u05d0\u05d4 \u05de\u05d5\u05e2\u05e8\u05da":"\u05d3\u05e7\u05d41"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/","url":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/","name":"\u05e7\u05d5\u05dc\u05d0\u05d6 - ai-jewishart","isPartOf":{"@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#website"},"datePublished":"2025-09-02T11:50:46+00:00","dateModified":"2025-09-02T11:56:48+00:00","breadcrumb":{"@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/#breadcrumb"},"inLanguage":"he-IL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/%d7%a7%d7%95%d7%9c%d7%90%d7%96\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u05d3\u05e3 \u05d4\u05d1\u05d9\u05ea","item":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/"},{"@type":"ListItem","position":2,"name":"\u05e7\u05d5\u05dc\u05d0\u05d6"}]},{"@type":"WebSite","@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#website","url":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/","name":"ai-jewishart","description":"\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d1\u05d9\u05e0\u05d4 \u05de\u05dc\u05d0\u05db\u05d5\u05ea\u05d9\u05ea \u05d1\u05d0\u05de\u05e0\u05d5\u05ea \u05d9\u05d4\u05d5\u05d3\u05d9\u05ea","publisher":{"@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"he-IL"},{"@type":"Organization","@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#organization","name":"ai-jewishart","url":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/","logo":{"@type":"ImageObject","inLanguage":"he-IL","@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/2024\/01\/AI.png?fit=1913%2C746&ssl=1","contentUrl":"https:\/\/i0.wp.com\/ai-jewishart.com\/wp-content\/uploads\/2024\/01\/AI.png?fit=1913%2C746&ssl=1","width":1913,"height":746,"caption":"ai-jewishart"},"image":{"@id":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/wp-json\/wp\/v2\/pages\/7368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/wp-json\/wp\/v2\/comments?post=7368"}],"version-history":[{"count":8,"href":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/wp-json\/wp\/v2\/pages\/7368\/revisions"}],"predecessor-version":[{"id":7378,"href":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/wp-json\/wp\/v2\/pages\/7368\/revisions\/7378"}],"wp:attachment":[{"href":"https:\/\/ai-jewishart.com\/%d7%a2%d7%9e%d7%95%d7%93-%d7%97%d7%a0%d7%95%d7%aa\/wp-json\/wp\/v2\/media?parent=7368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}