{"id":12277,"date":"2025-09-08T13:21:01","date_gmt":"2025-09-08T13:21:01","guid":{"rendered":"http:\/\/solar-shop2.gr.dedi2149.your-server.de\/off-grid-systems-form\/"},"modified":"2025-10-29T13:22:33","modified_gmt":"2025-10-29T13:22:33","slug":"off-grid-systems-form","status":"publish","type":"page","link":"https:\/\/solar-shop.gr\/en\/off-grid-systems-form\/","title":{"rendered":"Off-Grid Systems Form"},"content":{"rendered":"<style>.elementor-12277 .elementor-element.elementor-element-e687c41{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:95px;--padding-bottom:95px;--padding-left:95px;--padding-right:95px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-row{margin-top:0px;margin-bottom:35px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__label{margin:0px 0px 10px 0px;padding:0px 0px 0px 0px;text-align:left;font-family:\"Geologica\", Sans-serif;font-size:19px;font-weight:600;color:#000000;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__label .jet-form-builder__required{font-family:\"Geologica\", Sans-serif;font-size:19px;font-weight:600;color:#E57A27;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__desc{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;text-align:left;font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__fields-group{flex-direction:column;gap:0.7em 0.7em;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field-wrap label{font-family:\"Geologica\", Sans-serif;font-size:16px;font-weight:300;color:#000000;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field-wrap.checkradio-wrap span{gap:8px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field-wrap span::before{border-style:solid;border-width:1px 1px 1px 1px;border-color:#E57A27;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field-wrap label :not(:disabled):not(:checked):hover + span::before{border-style:solid;border-width:1px 1px 1px 1px;border-color:#E57A27;background-color:#FCF1E8;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field-wrap label :focus:not(:checked) + span::before{border-style:solid;border-width:1px 1px 1px 1px;border-color:#E57A27;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field-wrap label :checked + span::before{border-style:solid;border-width:1px 1px 1px 1px;border-color:#E57A27;background-color:#E57A27;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field:not(.checkradio-field):not(.range-field):not(.jet-form-builder-repeater):not(.wysiwyg-field):not([role=\"switch\"]){font-family:\"Geologica\", Sans-serif;font-size:17px;font-weight:300;color:#000000;padding:10px 10px 10px 10px;margin:0px 0px 0px 0px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder input{color-scheme:normal;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__calculated-field{font-family:\"Geologica\", Sans-serif;font-size:18px;font-weight:300;color:#000000;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__calculated-field-prefix{color:#000000;font-size:18px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__calculated-field-suffix{color:#000000;font-size:18px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field-value.range-value{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__heading{font-family:\"Geologica\", Sans-serif;font-size:23px;font-weight:700;color:#000000;padding:0px 0px 0px 0px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__heading-desc{font-family:\"Geologica\", Sans-serif;padding:0px 0px 0px 0px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-repeater__row{padding:20px 0px 0px 20px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-repeater__new{background-color:#FFFFFF;color:#000000;font-family:\"Geologica\", Sans-serif;font-size:16px;font-weight:300;margin:0px 0px 0px 0px;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E57A27;border-radius:5px 5px 5px 5px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-repeater__new:hover{background-color:#E57A27;color:#FFFFFF;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-repeater__remove{background-color:#FFFFFF;color:#000000;padding:3px 15px 8px 15px;margin:44px 0px 0px 10px;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E57A27;border-radius:5px 5px 5px 5px;font-size:28px;line-height:28px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-repeater__remove:hover{background-color:#E57A27;color:#FFFFFF;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-repeater__row-remove{align-self:flex-start;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__conditional{padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__action-button{background-color:#FFFFFF;color:#000000;transition:all 0.3s;font-family:\"Geologica\", Sans-serif;font-size:17px;font-weight:300;padding:8px 16px 8px 16px;margin:0px 0px 0px 0px;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E57A27;border-radius:5px 5px 5px 5px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__action-button:hover{background-color:#E57A27;color:#FFFFFF;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__next-page-wrap{text-align:left;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__next-page{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__next-page:hover{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__prev-page{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__prev-page:hover{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__next-page-msg{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-progress-pages{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-progress-pages__item--wrapper.active-page .jet-form-builder-progress-pages__item{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-progress-pages__item--wrapper:not(.passed-page):not(.active-page) .jet-form-builder-progress-pages__item{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-progress-pages__item--wrapper.passed-page .jet-form-builder-progress-pages__item{font-family:\"Geologica\", Sans-serif;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-message--success{margin:20px 0px 0px 0px;padding:0px 0px 0px 0px;text-align:left;font-family:\"Geologica\", Sans-serif;font-size:17px;font-weight:400;border-style:none;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder-message--error{margin:20px 0px 0px 0px;padding:0px 0px 0px 0px;text-align:left;font-family:\"Geologica\", Sans-serif;font-size:17px;font-weight:400;border-style:none;}.elementor-12277 .elementor-element.elementor-element-b227eeb > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-12277 .elementor-element.elementor-element-e687c41{--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}}@media(max-width:767px){.elementor-12277 .elementor-element.elementor-element-e687c41{--padding-top:35px;--padding-bottom:75px;--padding-left:15px;--padding-right:15px;}.elementor-12277 .elementor-element.elementor-element-b227eeb .jet-form-builder__field-wrap label{line-height:1.4em;}}\/* Start custom CSS for jet-form-builder-form, class: .elementor-element-b227eeb *\/.generator-listing-wrapper {\r\n  display: none;\r\n}\r\n\r\n\r\n.solar-listing-wrapper {\r\n  display: none;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/* Field type number field *\/\r\n.jet-form-builder-repeater__items .field-type-number-field:nth-child(3){\r\n\tdisplay:none;\r\n}\r\n\r\n\/* Field type number field *\/\r\n.jet-form-builder-repeater__items .field-type-number-field:nth-child(4){\r\n\tdisplay:none;\r\n}\r\n\r\n\/* Field type calculated field *\/\r\n.jet-form-builder-repeater__items .field-type-calculated-field:nth-child(5){\r\n\tdisplay:none;\r\n}\r\n\r\n\/* Field type calculated field *\/\r\n.jet-form-builder-repeater__items .field-type-calculated-field:nth-child(6){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\r\n\r\n\/* Field type number field *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-number-field:nth-child(17){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\/* Field type number field *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-number-field:nth-child(16){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\/* Field type number field *\/\r\n.elementor-widget-container .jet-form-builder .field-type-number-field:nth-child(29){\r\n\tdisplay:none;\r\n}\r\n\r\n\r\n\r\n\r\n\/* Field type number field *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-number-field:nth-child(31){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\/* Field type calculated field *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-calculated-field:nth-child(33){\r\n\tdisplay:none;\r\n}\r\n\r\n\/* Field type text field *\/\r\n.elementor-widget-container .jet-form-builder .field-type-text-field:nth-child(35){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\/* Field type number field *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-number-field:nth-child(38){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\/* Field type number field *\/\r\n.jet-form-builder .jet-form-builder__conditional .jet-form-builder__conditional .field-type-number-field{\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/* Recalculate *\/\r\n#recalculate-btn{\r\n\tfont-family:'geologica';\r\n\tcolor:#000000;\r\n\tfont-size:17px;\r\n\tfont-weight:300;\r\n\tbackground-color:#FFFFFF;\r\n\tborder-top-left-radius:5px;\r\n\tborder-top-right-radius:5px;\r\n\tborder-bottom-left-radius:5px;\r\n\tborder-bottom-right-radius:5px;\r\n\tborder-style:solid;\r\n\tborder-width:2px;\r\n\tborder-color:#e57a27;\r\n\tpadding-top:8px;\r\n\tpadding-bottom:8px;\r\n\tpadding-right:16px;\r\n\tpadding-left:16px;\r\n\tmargin-top:0px !important;\r\n\tmargin-bottom:0px;\r\n\tbackground-image:none;\r\n}\r\n\r\n\/* Recalculate (hover) *\/\r\n#recalculate-btn:hover{\r\n\tbackground-color:#e57a27;\r\n\tborder-width:2px;\r\n\tcolor:#FFFFFF;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\/* Block separator *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .wp-block-separator{\r\n\tmargin-top:55px;\r\n\tmargin-bottom:55px;\r\n\tborder-width:2px;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/* Division *\/\r\n.jet-form-builder .field-type-calculated-field:nth-child(30) .jet-form-builder__calculated-field-val{\r\n\tfont-weight:900;\r\n\t\r\n}\r\n\r\n\/* Division *\/\r\n.jet-form-builder .field-type-calculated-field:nth-child(32) .jet-form-builder__calculated-field-val{\r\n\tfont-weight:900;\r\n\t\r\n}\r\n\r\n\/* Division *\/\r\n.jet-form-builder .field-type-calculated-field:nth-child(36) .jet-form-builder__calculated-field-val{\r\n\tfont-weight:900;\r\n\t\r\n}\r\n\r\n\r\n\/* Division *\/\r\n.jet-form-builder .field-type-calculated-field:nth-child(39) .jet-form-builder__calculated-field-val{\r\n\tfont-weight:900;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/* Division *\/\r\n.jet-form-builder > .jet-form-builder__conditional > .field-type-heading-field .jet-form-builder__heading .jet-form-builder__label-text{\r\n\tfont-weight:300;\r\n\tfont-size:18px;\r\n}\r\n\r\n\/* Division *\/\r\n.jet-form-builder .jet-form-builder__conditional .jet-form-builder__conditional .jet-form-builder__label-text{\r\n\tfont-size:18px;\r\n\tfont-weight:300;\r\n}\r\n\r\n\/* Division *\/\r\n.jet-form-builder .jet-form-builder__conditional .jet-form-builder__calculated-field-val{\r\n\tfont-weight:900;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\/* Division *\/\r\n.jet-form-builder .field-type-heading-field:nth-child(43) .jet-form-builder__label-text{\r\n\tfont-weight:300;\r\n\tfont-size:18px;\r\n}\r\n\r\n\r\n\/* Jet form builder  heading *\/\r\n.jet-form-builder .jet-form-builder__conditional:nth-child(46) .jet-form-builder__heading{\r\n\tmargin-top:55px;\r\n\t\r\n}\r\n\r\n\r\n\/* Solar listing wrapper *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .solar-listing-wrapper{\r\n\tmargin-top:-20px;\r\n}\r\n\r\n\/* Generator listing wrapper *\/\r\n.jet-form-builder .jet-form-builder__conditional .generator-listing-wrapper{\r\n\tmargin-top:-20px;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\/* Division *\/\r\n.jet-form-builder .field-type-heading-field:nth-child(49) .jet-form-builder__label-text{\r\n\tfont-size:18px;\r\n\tfont-weight:300;\r\n}\r\n\r\n\r\n\r\n\/* Division *\/\r\n.wp-block-columns .wp-block-column .field-type-text-field .jet-form-builder__label .jet-form-builder__label-text{\r\n\tfont-size:17px;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\/* Generators message *\/\r\n#no-generators-message{\r\n\tfont-family:'geologica';\r\n\tfont-size:18px;\r\n\tcolor:#000000 !important;\r\n\tfont-weight:700;\r\n\t\r\n}\r\n\r\n\r\n\/* Solar systems message *\/\r\n#no-solar-systems-message{\r\n\tfont-family:'geologica';\r\n\tfont-size:18px;\r\n\tcolor:#000000 !important;\r\n\tfont-weight:700;\r\n}\r\n\r\n\r\n\r\n\r\n\/* Division *\/\r\n.jet-form-builder .field-type-heading-field:nth-child(54) .jet-form-builder__label-text{\r\n\tfont-weight:300;\r\n\tfont-size:18px;\r\n}\r\n\r\n\/* Link *\/\r\n.wp-block-buttons .wp-block-button a{\r\n\tborder-style:solid;\r\n\tborder-width:2px;\r\n\tborder-color:#e57a27;\r\n\tfont-family:'geologica';\r\n\tfont-weight:300;\r\n\tfont-size:17px;\r\n\tcolor:#000000;\r\n\tbackground-color:#ffffff;\r\n\tborder-radius:5px;\r\n\tpadding-left:16px;\r\n\tpadding-right:16px;\r\n\tpadding-top:8px;\r\n\tpadding-bottom:8px;\r\n\ttext-decoration:none;\r\n}\r\n\r\n\/* Link (hover) *\/\r\n.wp-block-buttons .wp-block-button a:hover{\r\n\tcolor:#ffffff;\r\n\tbackground-color:#e57a27;\r\n\t\r\n}\r\n\r\n\r\n\r\n\/* Paragraph *\/\r\n.elementor-widget-container .jet-form-builder p:nth-child(26){\r\n\tfont-size:15px;\r\n\tfont-weight:300 !important;\r\n\tfont-family:'geologica' !important;\r\n\tmargin-bottom:0px;\r\n\tmargin-top:25px;\r\n}\r\n\r\n\r\n\r\n\/* Field type text field *\/\r\n.elementor-widget-container .jet-form-builder .field-type-text-field:nth-child(58){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\/* Field type text field *\/\r\n.elementor-widget-container .jet-form-builder .field-type-text-field:nth-child(66){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\r\n.field-warning {\r\n  font-family: 'Geologica';\r\n  color: #d32f2f;\r\n  font-size: 0.85em;\r\n  font-weight: 600;\r\n  background: #ffe0e0;\r\n  padding: 4px 8px;\r\n  border-radius: 4px;\r\n  margin-top: 4px;\r\n}\r\n\r\n\r\n\r\n\/* HIDDEN AUTONOMY DAYS *\/\r\n.elementor-widget-container .jet-form-builder .wp-block-jet-forms-radio-field:nth-child(21){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\/* Button *\/\r\n.jet-form-builder .jet-form-builder__action-button-wrapper .jet-form-builder__action-button{\r\n\tbackground-image:none;\r\n}\r\n\r\n\r\n\r\n\/* Button *\/\r\n.jet-form-builder-repeater .jet-form-builder-repeater__actions .jet-form-builder-repeater__new{\r\n\tbackground-image:none;\r\n\t\r\n}\r\n\r\n\r\n\/* Reset remove button completely *\/\r\n.jet-form-builder-repeater__items .jet-form-builder-repeater__remove,\r\n.jet-form-builder-repeater__items .jet-form-builder-repeater__remove:hover,\r\n.jet-form-builder-repeater__items .jet-form-builder-repeater__remove:active,\r\n.jet-form-builder-repeater__items .jet-form-builder-repeater__remove:focus,\r\n.jet-form-builder-repeater__items .jet-form-builder-repeater__remove:focus-visible {\r\n\r\n    background-image: none !important;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\/* \u038c\u03bb\u03b1 inline \u03bc\u03ad\u03c3\u03b1 \u03c3\u03c4\u03bf calculated field *\/\r\n.jet-form-builder .jet-form-builder__calculated-field,\r\n.jet-form-builder .jet-form-builder__calculated-field > *,\r\n.jet-form-builder .jet-form-builder__calculated-field .jet-form-builder__calculated-prefix,\r\n.jet-form-builder .jet-form-builder__calculated-field .jet-form-builder__calculated-value,\r\n.jet-form-builder .jet-form-builder__calculated-field .jet-form-builder__calculated-suffix,\r\n.jet-form-builder .jet-form-builder__calculated-field p,\r\n.jet-form-builder .jet-form-builder__calculated-field strong,\r\n.jet-form-builder .jet-form-builder__calculated-field span {\r\n  display: inline !important;\r\n  white-space: normal !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  vertical-align: baseline !important;\r\n}\r\n\r\n\/* \u0391\u03bd \u03c4\u03c5\u03c7\u03cc\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03bf\u03c5\u03bd <br> \u03b1\u03c0\u03cc theme\/plugin, \u03ba\u03c1\u03cd\u03c8\u2019 \u03c4\u03b1 *\/\r\n.jet-form-builder .jet-form-builder__calculated-field br {\r\n  display: none !important;\r\n}\r\n\r\n\/* \u039a\u03ac\u03b8\u03b5 calculated line \u03bd\u03b1 \u03c3\u03c4\u03ad\u03ba\u03b5\u03c4\u03b1\u03b9 \u03c3\u03b5 \u03bc\u03af\u03b1 \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae-\u03bc\u03c0\u03bb\u03bf\u03ba *\/\r\n.jet-form-builder .jet-form-builder__calculated-field-wrap {\r\n  display: block;\r\n  margin-bottom: .6em;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/* --- TEMP HIDES --- *\/\r\n\r\n\r\n\/* \u039a\u03a1\u03a5\u039c\u039c\u0395\u039d\u0397 \u0395\u03a0\u0399\u039b\u039f\u0393\u0397 \u039f\u03a7\u0399 \u03a3\u03a4\u039f \u0391\u039d \u039e\u0395\u03a1\u0395\u03a4\u0395 \u03a4\u0397\u039d \u039a\u0391\u03a4\u0391\u039d\u0391\u039b\u03a9\u03a3\u0397 \r\n.jet-form-builder .wp-block-jet-forms-radio-field:nth-child(13) .radio-wrap:nth-child(2) .for-radio{\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n*\/\r\n\r\n\r\n\r\n\/* \u039a\u03a1\u03a5\u039c\u039c\u0395\u039d\u0395\u03a3 \u03a0\u03a1\u039f\u03a4\u0391\u03a3\u0395\u0399\u03a3 *\/\r\n\r\n\/* Solar listing wrapper *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .solar-listing-wrapper{\r\n\tdisplay:none !important;\r\n}\r\n\r\n\/* Field type heading field *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-heading-field:nth-child(42){\r\n\tdisplay:none;\r\n}\r\n\r\n\/* Field type heading field *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-heading-field:nth-child(43){\r\n\tdisplay:none;\r\n}\r\n\r\n\r\n\/* Block separator *\/\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .wp-block-separator:nth-child(41){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .jet-form-builder__conditional:nth-child(46){\r\n\tdisplay:none !important;\r\n\t\r\n}\r\n\r\n\/* Solar systems message *\/\r\n#no-solar-systems-message{\r\n\tdisplay:none !important;\r\n\t\r\n}\r\n\r\n\r\n\r\n\r\n\/* \u039a\u03a1\u03a5\u039c\u039c\u0395\u039d\u039f SECTION LINK \u0393\u0399\u0391 CUSTOM BUILDER *\/\r\n\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-heading-field:nth-child(53){\r\n\tdisplay:none;\r\n}\r\n\r\n\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .field-type-heading-field:nth-child(54){\r\n\tdisplay:none;\r\n}\r\n\r\n\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .wp-block-buttons{\r\n\tdisplay:none;\r\n}\r\n\r\n\r\n.elementor-widget-jet-form-builder-form .jet-form-builder .wp-block-separator:nth-child(52){\r\n\tdisplay:none;\r\n\t\r\n}\r\n\r\n\r\n\/* --- TEMP HIDES --- *\/\/* End custom CSS *\/<\/style>\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12277\" class=\"elementor elementor-12277 elementor-10800\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e687c41 e-flex e-con-boxed e-con e-parent\" data-id=\"e687c41\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b227eeb elementor-widget elementor-widget-jet-form-builder-form\" data-id=\"b227eeb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"jet-form-builder-form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link rel='stylesheet' id='wp-block-library-css' href='https:\/\/solar-shop.gr\/wp-includes\/css\/dist\/block-library\/style.min.css?ver=6.9.4' media='all' \/>\n<style id=\"jet-form-builder-14919-inline-css\"><\/style><form  class=\"jet-form-builder layout-column submit-type-reload\" action=\"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/pages\/12277\/?4tWump=Ps5zUZWJlz&amp;method=reload\" method=\"POST\" data-form-id=\"14919\" data-layout=\"column\" enctype=\"multipart\/form-data\" novalidate=\"null\" ssr_validation_method=\"rest\"><input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"f3588a1134\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/12277\" \/>\r\n<input type=\"hidden\" name=\"_jfb_current_render_states[]\" value=\"DEFAULT.STATE\" data-jfb-sync \/><input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"_jet_engine_booking_form_id\" data-field-name=\"_jet_engine_booking_form_id\" value=\"14919\">\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"_jet_engine_refer\" data-field-name=\"_jet_engine_refer\" value=\"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/pages\/12277\/\">\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"__queried_post_id\" data-field-name=\"__queried_post_id\" value=\"12277\">\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">1. Calculation<\/div><\/div>\n<\/div>\n\n\n<!-- BRINGS DEVICE META -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n  const ROW_SEL  = '.jet-form-builder-repeater__row';\n  const RES_NAME = 'home';\n\n  const getResidence = () => {\n    const r = document.querySelector(`input[name=\"${RES_NAME}\"]:checked`);\n    return r ? r.value : 'permanent';\n  };\n\n  \/\/ When user manually changes input, remove auto-filled marker\n  function markUserEdited(input) {\n    input.addEventListener('input', () => {\n      if (input.dataset.autoFilled === \"true\") {\n        delete input.dataset.autoFilled;\n      }\n    });\n  }\n\n  \/\/ On page load, mark inputs with initial values as auto-filled\n  function initAutoFilledMarkers() {\n    document.querySelectorAll('input[name$=\"[hours_summer]\"], input[name$=\"[hours_winter]\"]').forEach(input => {\n      if (input.value && input.value !== \"\") {\n        input.dataset.autoFilled = \"true\";\n      }\n      markUserEdited(input);\n    });\n  }\n\n  function setInputValueIfNotEdited(input, newValue) {\n    if (!input) return;\n    const oldVal = input.value || \"\";\n\n    if (input.dataset.autoFilled === \"true\" && oldVal == input.dataset.lastDefault) {\n      input.value = newValue;\n      input.dataset.lastDefault = newValue;\n      input.dataset.autoFilled = \"true\";\n      input.dispatchEvent(new Event('input', { bubbles: true }));\n    } else if (oldVal === \"\") {\n      input.value = newValue;\n      input.dataset.lastDefault = newValue;\n      input.dataset.autoFilled = \"true\";\n      input.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n  }\n\n  function applyDefaultHoursToRow(row, residence) {\n    if (!row) return;\n    const select = row.querySelector('select[name$=\"[device_select]\"]');\n    if (!select || !select.value) return;\n\n    const deviceID = parseInt(select.value, 10);\n    const meta = DEVICE_META?.[deviceID] || { default_hours: 0 };\n    const hours = meta.default_hours || 0;\n\n    const hSum = row.querySelector('input[name$=\"[hours_summer]\"]');\n    const hWin = row.querySelector('input[name$=\"[hours_winter]\"]');\n\n    if (residence === 'permanent') {\n      setInputValueIfNotEdited(hSum, hours);\n      setInputValueIfNotEdited(hWin, hours);\n    } else if (residence === 'only-summer') {\n      setInputValueIfNotEdited(hSum, hours);\n      setInputValueIfNotEdited(hWin, 0);\n    } else if (residence === 'only-winter') {\n      setInputValueIfNotEdited(hSum, 0);\n      setInputValueIfNotEdited(hWin, hours);\n    }\n  }\n\n  \/\/ Initialize auto-filled markers on page load\n  initAutoFilledMarkers();\n\n  \/\/ Listen to changes on device selects and residence radios\n  ['change', 'input'].forEach(evtName => {\n    document.addEventListener(evtName, evt => {\n      const el = evt.target;\n\n      if (el.tagName === 'SELECT' && el.name.includes('[device_select]')) {\n        const row = el.closest(ROW_SEL);\n        if (!row) return;\n\n        const deviceID = parseInt(el.value, 10);\n        const meta = DEVICE_META?.[deviceID] || { load: 0, default_hours: 0 };\n\n        const loadIn = row.querySelector('input[name$=\"[row_load]\"]');\n        if (loadIn) {\n          loadIn.value = meta.load;\n          loadIn.dispatchEvent(new Event('input', { bubbles: true }));\n        }\n\n        applyDefaultHoursToRow(row, getResidence());\n        return;\n      }\n\n      if (el.matches(`input[type=\"radio\"][name=\"${RES_NAME}\"]`)) {\n        const residence = el.value;\n        document.querySelectorAll(ROW_SEL).forEach(row => {\n          applyDefaultHoursToRow(row, residence);\n        });\n      }\n    }, true);\n  });\n\n});\n<\/script>\n\n\n<div  class=\"jet-form-builder-row field-type-select-field wp-block-jet-forms-select-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">In which region will your system operate?<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t<select class=\"jet-form-builder__field select-field\" name=\"region\" data-field-name=\"region\" id=\"region\" data-jfb-sync=\"null\">\n\t\t<option value=\"14921\" >EASTERN GREECE<\/option><option value=\"14922\" >ATTICA<\/option><option value=\"14923\" >NORTHWESTERN GREECE<\/option><option value=\"14924\" >NORTHERN GREECE<\/option><option value=\"14925\" >WESTERN GREECE<\/option><option value=\"14926\" >EVIA<\/option><option value=\"14927\" >THESSALONIKI<\/option><option value=\"14928\" >CENTRAL GREECE<\/option><option value=\"14929\" >CENTRAL PELOPONNESE<\/option><option value=\"14930\" >CRETE<\/option><option value=\"14931\" >CYCLADES<\/option><option value=\"14932\" >MACEDONIA<\/option><option value=\"14933\" >SOUTH PELOPONNESE<\/option><option value=\"14934\" >HALKIDIKI<\/option>\t<\/select>\n<\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-radio-field wp-block-jet-forms-radio-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">What will be the use of the system?<\/div><\/div><div class=\"jet-form-builder__fields-group checkradio-wrap\" data-jfb-sync><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"home\" value=\"permanent\" data-field-name=\"home\" checked=\"checked\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Permanent Residence<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"home\" value=\"only-summer\" data-field-name=\"home\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Mainly Summer<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"home\" value=\"only-winter\" data-field-name=\"home\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Mainly Winter<\/span><\/label><\/div><\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-radio-field wp-block-jet-forms-radio-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Do you want a diesel generator to operate as a backup?<\/div><\/div><div class=\"jet-form-builder__fields-group checkradio-wrap\" data-jfb-sync><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"generator\" value=\"yes\" data-field-name=\"generator\" checked=\"checked\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Yes, I already have<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"generator\" value=\"yes-new\" data-field-name=\"generator\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Yes, I will get a new one<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"generator\" value=\"no\" data-field-name=\"generator\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>No, I don't want to<\/span><\/label><\/div><\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-radio-field wp-block-jet-forms-radio-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Is there a connection to the public electricity network in the building?<\/div><\/div><div class=\"jet-form-builder__fields-group checkradio-wrap\" data-jfb-sync><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"connection\" value=\"yes-off\" data-field-name=\"connection\" checked=\"checked\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Yes, but I want to cut it off<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"connection\" value=\"yes-backup\" data-field-name=\"connection\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Yes and I would like it to work as a backup source<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"connection\" value=\"no-later\" data-field-name=\"connection\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>No, but I will later<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"connection\" value=\"no-want\" data-field-name=\"connection\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>No I can't \/ don't want to connect to the public network<\/span><\/label><\/div><\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-radio-field wp-block-jet-forms-radio-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Do you know your desired daily consumption?<\/div><\/div><div class=\"jet-form-builder__fields-group checkradio-wrap\" data-jfb-sync><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"daily_consumption_ask\" value=\"1\" data-field-name=\"daily_consumption_ask\" checked=\"checked\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Yes<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"daily_consumption_ask\" value=\"0\" data-field-name=\"daily_consumption_ask\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>No<\/span><\/label><\/div><\/div>\n<\/div>\n\n<div class=\"jet-form-builder__conditional \" data-jfb-conditional=\"[{&quot;operator&quot;:&quot;equal&quot;,&quot;value&quot;:&quot;1&quot;,&quot;field&quot;:&quot;daily_consumption_ask&quot;,&quot;use_preset&quot;:false}]\" data-jfb-func=\"show\">\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Consumption (kWh)<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" min=\"0\" step=\"0.1\" name=\"given_consumption\" data-field-name=\"given_consumption\" id=\"given_consumption\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Maximum Load Power (kW)<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" min=\"0\" step=\"0.1\" name=\"given_load\" data-field-name=\"given_load\" id=\"given_load\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div><\/div>\n<\/div>\n\n<\/div>\n\n<div class=\"jet-form-builder__conditional \" data-jfb-conditional=\"[{&quot;operator&quot;:&quot;equal&quot;,&quot;value&quot;:&quot;0&quot;,&quot;field&quot;:&quot;daily_consumption_ask&quot;,&quot;use_preset&quot;:false}]\" data-jfb-func=\"show\">\n<div  class=\"jet-form-builder-row field-type-repeater-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Consumption Calculation<\/div><\/div><div class=\"jet-form-builder__field-wrap\"><div data-repeater=\"1\" data-field-name=\"rep_devices\" name=\"rep_devices\" data-calc-type=\"custom\" data-formula=\"%row_load%\"  class=\"jet-form-builder-repeater jet-form-builder__field\" data-jfb-sync=\"null\">\n<template class=\"jet-form-builder-repeater__initial\"><div class=\"jet-form-builder-repeater__row\" data-repeater-row=\"1\"><div class=\"jet-form-builder-repeater__row-fields\">\n<div  class=\"jet-form-builder-row field-type-select-field wp-block-jet-forms-select-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Device Selection<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t<select class=\"jet-form-builder__field select-field\" name=\"rep_devices[__i__][device_select]\" data-field-name=\"device_select\" id=\"rep_devices___i___device_select\" data-jfb-sync=\"null\">\n\t\t<option value=\"14950\" >AC 9000btu<\/option><option value=\"14951\" >AC 12000btu<\/option><option value=\"14952\" >AC 24000btu<\/option><option value=\"14957\" >Alert System<\/option><option value=\"14953\" >Circulator Pump<\/option><option value=\"14947\" >Clothes Iron<\/option><option value=\"14955\" >Coffee Machine<\/option><option value=\"14949\" >Dishwasher<\/option><option value=\"14946\" >Electric Cooktop<\/option><option value=\"14945\" >Electric Oven<\/option><option value=\"14960\" >Hair Dryer (Small)<\/option><option value=\"14961\" >Hair Dryer (Large)<\/option><option value=\"14959\" >Heat Pump<\/option><option value=\"14944\" >Laptop<\/option><option value=\"14935\" >Lighting (5 Lamps)<\/option><option value=\"14936\" >Lighting (10 Lamps)<\/option><option value=\"14937\" >Lighting (20 Lamps)<\/option><option value=\"14942\" >Mini Bar<\/option><option value=\"14939\" >Modern Fridge<\/option><option value=\"14941\" >Modern Refrigerator<\/option><option value=\"14940\" >Old Fridge<\/option><option value=\"14943\" >PC<\/option><option value=\"14956\" >Professional Coffee Machine<\/option><option value=\"14958\" >Security Cameras<\/option><option value=\"14954\" >Swimming Pool Motor<\/option><option value=\"14938\" >TV<\/option><option value=\"14948\" >Washing Machine<\/option>\t<\/select>\n<\/div>\n<\/div>\n\n\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"rep_devices[__i__][device_label]\" data-field-name=\"device_label\" data-jfb-sync=\"null\" value=\"12277\">\n\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Hours of Use (Summer)<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" min=\"0\" max=\"24\" step=\"0.5\" name=\"rep_devices[__i__][hours_summer]\" data-field-name=\"hours_summer\" id=\"rep_devices___i___hours_summer\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Hours of Use (Winter)<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" min=\"0\" max=\"24\" step=\"0.5\" name=\"rep_devices[__i__][hours_winter]\" data-field-name=\"hours_winter\" id=\"rep_devices___i___hours_winter\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div><\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">HIDDEN device load<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" name=\"rep_devices[__i__][row_load]\" data-field-name=\"row_load\" id=\"rep_devices___i___row_load\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-calculated-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">HIDDEN device summer consumption<\/div><\/div><div data-formula=\"(%row_load% * %hours_summer%) \/ 1000\" data-name=\"row_summer\" data-precision=\"2\" data-sep-decimal=\".\" data-value-type=\"number\" data-date-format=\"YYYY-MM-DD\" class=\"jet-form-builder__calculated-field\">\n\t\t\t<input type=\"hidden\"\n\t\t\tname=\"rep_devices[__i__][row_summer]\"\n\t\t\tid=\"rep_devices___i___row_summer\"\n\t\t\tvalue=\"\"\n\t\t\tclass=\"jet-form-builder__calculated-field-input jet-form-builder__field\"\n\t\t\tdata-field-name=\"row_summer\"\n\t\t\tdata-jfb-sync\n\t\/>\n\t<div class=\"jet-form-builder__calculated-field-val\">0.00<\/div>\n\t\t<\/div>\n<\/div>\n\n\n\n<div  class=\"jet-form-builder-row field-type-calculated-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">HIDDEN device winter consumption<\/div><\/div><div data-formula=\"(%row_load% * %hours_winter%) \/ 1000\" data-name=\"row_winter\" data-precision=\"2\" data-sep-decimal=\".\" data-value-type=\"number\" data-date-format=\"YYYY-MM-DD\" class=\"jet-form-builder__calculated-field\">\n\t\t\t<input type=\"hidden\"\n\t\t\tname=\"rep_devices[__i__][row_winter]\"\n\t\t\tid=\"rep_devices___i___row_winter\"\n\t\t\tvalue=\"\"\n\t\t\tclass=\"jet-form-builder__calculated-field-input jet-form-builder__field\"\n\t\t\tdata-field-name=\"row_winter\"\n\t\t\tdata-jfb-sync\n\t\/>\n\t<div class=\"jet-form-builder__calculated-field-val\">0.00<\/div>\n\t\t<\/div>\n<\/div>\n\n<\/div><div class=\"jet-form-builder-repeater__row-remove\"><button type=\"button\" class=\"jet-form-builder-repeater__remove\">&times;<\/button><\/div><\/div><\/template>\n<div class=\"jet-form-builder-repeater__items\"><\/div><div class=\"jet-form-builder-repeater__actions\">\n                <button type=\"button\" class=\"jet-form-builder-repeater__new\">New Device<\/button>\n                <\/div><\/div><\/div>\n<\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">HIDDEN total cons summer<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" name=\"total_kwh_summer\" data-field-name=\"total_kwh_summer\" id=\"total_kwh_summer\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">HIDDEN total cons winter<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" name=\"total_kwh_winter\" data-field-name=\"total_kwh_winter\" id=\"total_kwh_winter\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-radio-field wp-block-jet-forms-radio-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Do you want the system to support three-phase loads?<\/div><\/div><div class=\"jet-form-builder__fields-group checkradio-wrap\" data-jfb-sync><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"trifasiko\" value=\"no\" data-field-name=\"trifasiko\" checked=\"checked\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>No<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"trifasiko\" value=\"yes\" data-field-name=\"trifasiko\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Yes<\/span><\/label><\/div><\/div>\n<\/div>\n\n<div class=\"jet-form-builder__conditional \" data-jfb-conditional=\"[{&quot;operator&quot;:&quot;equal&quot;,&quot;value&quot;:&quot;yes&quot;,&quot;field&quot;:&quot;trifasiko&quot;,&quot;use_preset&quot;:false}]\" data-jfb-func=\"show\">\n<div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Three-phase load power (kW)<\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" min=\"0\" step=\"0.1\" name=\"trifasiko-value\" data-field-name=\"trifasiko-value\" id=\"trifasiko-value\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-radio-field wp-block-jet-forms-radio-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Is your consumption mainly during daylight hours or in the evening hours?<\/div><\/div><div class=\"jet-form-builder__fields-group checkradio-wrap\" data-jfb-sync><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"active-hours\" value=\"0.4\" data-field-name=\"active-hours\" checked=\"checked\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>More Day (day 60% - night 40%)<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"active-hours\" value=\"0.2\" data-field-name=\"active-hours\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Almost only Day (day 80% - night 20%)<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"active-hours\" value=\"0.7\" data-field-name=\"active-hours\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>More Night (day 30% - night 70%)<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"active-hours\" value=\"0.75\" data-field-name=\"active-hours\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Almost only Night (day 15% - night 75%)<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"active-hours\" value=\"0.5\" data-field-name=\"active-hours\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>50% Day - 50% Night<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"active-hours\" value=\"1\" data-field-name=\"active-hours\"  class=\"jet-form-builder__field radio-field checkradio-field\"><span>Constant same load 24 hours per day<\/span><\/label><\/div><\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-radio-field wp-block-jet-forms-radio-field\">\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">How many days of autonomy do you want the system to provide in case of low sunlight (if there is no backup charging source)?<\/div><\/div><div class=\"jet-form-builder__fields-group checkradio-wrap\" data-jfb-sync><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"autonomy\" value=\"1\" data-field-name=\"autonomy\" checked=\"checked\"  class=\"jet-form-builder__field radio-field checkradio-field horizontal-radio\"><span>1<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"autonomy\" value=\"2\" data-field-name=\"autonomy\"  class=\"jet-form-builder__field radio-field checkradio-field horizontal-radio\"><span>2<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"autonomy\" value=\"3\" data-field-name=\"autonomy\"  class=\"jet-form-builder__field radio-field checkradio-field horizontal-radio\"><span>3<\/span><\/label><\/div><div class=\"jet-form-builder__field-wrap radio-wrap checkradio-wrap\"><label class=\"jet-form-builder__field-label for-radio\">\n<input type=\"radio\" name=\"autonomy\" value=\"4\" data-field-name=\"autonomy\"  class=\"jet-form-builder__field radio-field checkradio-field horizontal-radio\"><span>4<\/span><\/label><\/div><\/div>\n<\/div>\n\n\n<!-- Manual energy total updater \u2013 sums all row_summer and row_winter values when button is clicked -->\n\n<!-- \u2460 Button markup -->\n<button id=\"recalculate-btn\" type=\"button\" style=\"margin-top:10px;\">\n Calculation\n<\/button>\n\n<!-- \u2461 Script: defines updateSeasonTotals() and wires the button -->\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n  const form = document.querySelector('.jet-form-builder');   \/\/ your form\n  if (!form) return;\n\n  \/* \u2014\u2014\u2014 manual\u2011only calculation \u2014\u2014\u2014 *\/\n  function updateSeasonTotals() {\n    let summer = 0, winter = 0;\n\n    form.querySelectorAll('input[name$=\"[row_summer]\"]').forEach(i =>\n      summer += parseFloat(i.value) || 0\n    );\n    form.querySelectorAll('input[name$=\"[row_winter]\"]').forEach(i =>\n      winter += parseFloat(i.value) || 0\n    );\n\n    const outSummer = form.querySelector('input[name=\"total_kwh_summer\"]');\n    const outWinter = form.querySelector('input[name=\"total_kwh_winter\"]');\n\n    if (outSummer) {\n      outSummer.value = summer.toFixed(2);\n      outSummer.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n    if (outWinter) {\n      outWinter.value = winter.toFixed(2);\n      outWinter.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n\n    console.log('\ud83d\udd22 totals updated \u2013 summer:', summer, 'winter:', winter);\n  }\n\n  \/* expose for console testing *\/\n  window.updateSeasonTotals = updateSeasonTotals;\n\n  \/* wire button *\/\n  document.getElementById('recalculate-btn')\n          .addEventListener('click', () => {\n            updateSeasonTotals();\n            console.log('Manual recalculation triggered');\n          });\n});\n<\/script>\n\n\n\n<!-- Computes required solar panel wattage (Wp) based on total consumption and sun hours; runs after recalculate button is clicked -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n  const BTN   = document.getElementById('recalculate-btn');\n  const AREA  = 'select[name=\"region\"]';\n  const RES   = 'home';\n  const SUM   = 'total_kwh_summer';\n  const WIN   = 'total_kwh_winter';\n  const WP    = 'needed_wp';\n\n  if (!BTN) return;\n\n  function computeWp() {\n    console.log('\ud83d\udce1 Running computeWp');\n\n    const res = document.querySelector(`input[name=\"${RES}\"]:checked`)?.value || 'permanent';\n    const areaID = parseInt(document.querySelector(AREA)?.value || 0, 10);\n    const area = REGION_META?.[areaID] || { sun_summer: 0, sun_winter: 0 };\n\n    const kwhWinter = parseFloat(document.querySelector(`input[name=\"${WIN}\"]`)?.value) || 0;\n    const kwhSummer = parseFloat(document.querySelector(`input[name=\"${SUM}\"]`)?.value) || 0;\n\n    const mode = document.querySelector('input[name=\"daily_consumption_ask\"]:checked')?.value;\n    const useManual = mode === '1';\n\n    const givenValueRaw = document.querySelector('input[name=\"given_consumption\"]')?.value || '';\n    const givenConsumption = parseFloat(givenValueRaw);\n    const isGivenValid = !isNaN(givenConsumption) && givenConsumption > 0;\n\n    const hasGivenConsumption = useManual && isGivenValid;\n\n    let hSun = area.sun_winter;\n    if (res === 'only-summer') hSun = area.sun_summer;\n    if (hSun <= 0) hSun = 1;\n\n    let finalConsumption;\n\n    if (hasGivenConsumption) {\n      finalConsumption = givenConsumption;\n      console.log('\u2705 Using manual input:', finalConsumption, 'kWh\/day');\n    } else {\n      if (res === 'only-summer') {\n        finalConsumption = kwhSummer;\n        console.log('\u2600\ufe0f Using summer consumption:', finalConsumption, 'kWh\/day');\n      } else {\n        finalConsumption = kwhWinter;\n        console.log('\u2744\ufe0f Using winter consumption:', finalConsumption, 'kWh\/day');\n      }\n    }\n\n    console.log('\u2600\ufe0f Sun hours used:', hSun);\n\n    const wp = Math.round((finalConsumption * 1000 \/ hSun) * 1.10);\n\n    const out = document.querySelector(`input[name=\"${WP}\"]`);\n    if (out) {\n      out.value = wp;\n      out.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n\n    console.log(`\u26a1 Wp updated: ${wp}`);\n  }\n\n  BTN.addEventListener('click', () => {\n    if (typeof updateSeasonTotals === 'function') {\n      updateSeasonTotals();\n    }\n    setTimeout(computeWp, 50);  \/\/ delay lets totals update first\n  });\n\n});\n<\/script>\n\n\n\n<!-- Sets final_cons_hidden based on manual input or seasonal total consumption; updates on relevant field changes -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n  function updateFinalCons() {\n    const mode = document.querySelector('input[name=\"daily_consumption_ask\"]:checked')?.value;\n    const useManual = mode === '1';\n\n    const home = document.querySelector('input[name=\"home\"]:checked')?.value;\n\n    const givenRaw = document.querySelector('input[name=\"given_consumption\"]')?.value || '';\n    const givenConsumption = parseFloat(givenRaw);\n    const isGivenValid = !isNaN(givenConsumption) && givenConsumption > 0;\n\n    const kwhWinter = parseFloat(document.querySelector('input[name=\"total_kwh_winter\"]')?.value) || 0;\n    const kwhSummer = parseFloat(document.querySelector('input[name=\"total_kwh_summer\"]')?.value) || 0;\n\n    let result = 0;\n\n    if (useManual && isGivenValid) {\n      result = givenConsumption;\n    } else {\n      if (home === 'only-summer') {\n        result = kwhSummer;\n      } else {\n        result = kwhWinter;\n      }\n    }\n\n    const out = document.querySelector('input[name=\"final_cons_hidden\"]');\n    if (out) {\n      out.value = result.toFixed(2);\n      out.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n\n    console.log('\ud83d\udcca final_cons_hidden updated:', result);\n  }\n\n  \/\/ Optional: listen to changes\n  const inputs = [\n    'daily_consumption_ask',\n    'given_consumption',\n    'home',\n    'total_kwh_winter',\n    'total_kwh_summer'\n  ];\n\n  inputs.forEach(name => {\n    document.querySelectorAll(`input[name=\"${name}\"]`).forEach(input => {\n      input.addEventListener('change', updateFinalCons);\n      input.addEventListener('input', updateFinalCons);\n    });\n  });\n\n  \/\/ Also run once on page load\n  updateFinalCons();\n});\n<\/script>\n\n\n\n<p>*Note: For each change to the above options, you are required to click \"Calculate\" again to update the following results.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-default\" style=\"background-color:#e57a27;color:#e57a27\"\/>\n\n\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">2. Results<\/div><\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" name=\"final_cons_hidden\" data-field-name=\"final_cons_hidden\" id=\"final_cons_hidden\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-calculated-field\" >\n<div data-formula=\"%final_cons_hidden%\" data-name=\"final_cons\" data-precision=\"2\" data-sep-decimal=\".\" data-value-type=\"number\" data-date-format=\"YYYY-MM-DD\" class=\"jet-form-builder__calculated-field\">\n\t\t\t\t<div class=\"jet-form-builder__calculated-field-prefix\">\u2022 Based on the information you provided, you consume&nbsp;<\/div>\n\t\t<input type=\"hidden\"\n\t\t\tname=\"final_cons\"\n\t\t\tid=\"final_cons\"\n\t\t\tvalue=\"\"\n\t\t\tclass=\"jet-form-builder__calculated-field-input jet-form-builder__field\"\n\t\t\tdata-field-name=\"final_cons\"\n\t\t\tdata-jfb-sync\n\t\/>\n\t<div class=\"jet-form-builder__calculated-field-val\">0.00<\/div>\n\t\t\t<div class=\"jet-form-builder__calculated-field-suffix\">&nbsp;KWh daily.<\/div>\n\t\t<\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" name=\"needed_wp\" data-field-name=\"needed_wp\" id=\"needed_wp\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-calculated-field\" >\n<div data-formula=\"%needed_wp%\/1000\" data-name=\"final_needed_wp\" data-precision=\"2\" data-sep-decimal=\".\" data-value-type=\"number\" data-date-format=\"YYYY-MM-DD\" class=\"jet-form-builder__calculated-field\">\n\t\t\t\t<div class=\"jet-form-builder__calculated-field-prefix\">\u2022 And you need&nbsp;<\/div>\n\t\t<input type=\"hidden\"\n\t\t\tname=\"final_needed_wp\"\n\t\t\tid=\"final_needed_wp\"\n\t\t\tvalue=\"\"\n\t\t\tclass=\"jet-form-builder__calculated-field-input jet-form-builder__field\"\n\t\t\tdata-field-name=\"final_needed_wp\"\n\t\t\tdata-jfb-sync\n\t\/>\n\t<div class=\"jet-form-builder__calculated-field-val\">0.00<\/div>\n\t\t\t<div class=\"jet-form-builder__calculated-field-suffix\">&nbsp;kWp photovoltaics.<\/div>\n\t\t<\/div>\n<\/div>\n\n\n\n<div  class=\"jet-form-builder-row field-type-calculated-field\" >\n<div data-formula=\"%daily_consumption_ask% * %given_load% + (1 - %daily_consumption_ask%) * %rep_devices%\" data-name=\"final_load_w\" data-precision=\"2\" data-sep-decimal=\".\" data-value-type=\"number\" data-date-format=\"YYYY-MM-DD\" class=\"jet-form-builder__calculated-field\">\n\t\t\t<input type=\"hidden\"\n\t\t\tname=\"final_load_w\"\n\t\t\tid=\"final_load_w\"\n\t\t\tvalue=\"\"\n\t\t\tclass=\"jet-form-builder__calculated-field-input jet-form-builder__field\"\n\t\t\tdata-field-name=\"final_load_w\"\n\t\t\tdata-jfb-sync\n\t\/>\n\t<div class=\"jet-form-builder__calculated-field-val\">0.00<\/div>\n\t\t<\/div>\n<\/div>\n\n\n\n<!-- Chooses inverter model based on single- or three-phase load and updates inverter_choice field -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n  const inverterOptions = InverterData.options || [];\n\n  function updateInverterChoice() {\n    const output = document.querySelector('input[name=\"inverter_choice\"]');\n    if (!output) return;\n\n    const trifasiko = document.querySelector('input[name=\"trifasiko\"]:checked')?.value || 'no';\n\n    let valueToCompare = 0;\n    let relevantOptions = [];\n\n    if (trifasiko === 'yes') {\n      \/\/ Value in kW \u2014 convert to W\n      const tval = parseFloat(document.querySelector('input[name=\"trifasiko-value\"]')?.value || '');\n      valueToCompare = isNaN(tval) ? 0 : (tval * 1000 * 1.10); \/\/ convert to W and add 10%\n      relevantOptions = inverterOptions.slice(11); \/\/ three-phase list\n    } else {\n      \/\/ value from final_load_w \u2014 includes either given_load (kW) or device calc (W)\n      let raw = parseFloat(document.querySelector('input[name=\"final_load_w\"]')?.value || '');\n      const mode = document.querySelector('input[name=\"daily_consumption_ask\"]:checked')?.value;\n\n      \/\/ If user gave power manually, it's in kW \u2014 convert to W\n      if (mode === '1') {\n        raw *= 1000;\n      }\n\n      valueToCompare = isNaN(raw) ? 0 : raw * 1.10;\n      relevantOptions = inverterOptions.slice(0, 11); \/\/ single-phase list\n    }\n\n    let match = relevantOptions.find(opt => opt.w >= valueToCompare);\n    if (!match) match = relevantOptions[relevantOptions.length - 1];\n\n    output.value = match.label;\n    output.dispatchEvent(new Event('input', { bubbles: true }));\n\n    console.log(`\u2699\ufe0f Using value: ${valueToCompare}, result: ${match.label}`);\n  }\n\n  const btn = document.getElementById('recalculate-btn');\n  if (btn) {\n    btn.addEventListener('click', () => {\n      setTimeout(updateInverterChoice, 100);\n    });\n  }\n\n  setTimeout(updateInverterChoice, 200);\n});\n<\/script>\n\n\n<div  class=\"jet-form-builder-row field-type-text-field\" >\n<div class=\"jet-form-builder__field-wrap\">\n\t\t\t\t<input name=\"inverter_choice\" id=\"inverter_choice\" type=\"text\" data-field-name=\"inverter_choice\" class=\"jet-form-builder__field text-field\" data-jfb-sync=\"null\" autocomplete=\"off_f3pvODiT\">\n\t\t\t\t\t<\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-calculated-field\" >\n<div data-formula=\"&quot;%inverter_choice%&quot;\" data-name=\"inverter_choice_display\" data-precision=\"2\" data-sep-decimal=\".\" data-value-type=\"string\" data-date-format=\"YYYY-MM-DD\" class=\"jet-form-builder__calculated-field\">\n\t\t\t\t<div class=\"jet-form-builder__calculated-field-prefix\">\u2022 With inverter power&nbsp;<\/div>\n\t\t<input type=\"hidden\"\n\t\t\tname=\"inverter_choice_display\"\n\t\t\tid=\"inverter_choice_display\"\n\t\t\tvalue=\"\"\n\t\t\tclass=\"jet-form-builder__calculated-field-input jet-form-builder__field\"\n\t\t\tdata-field-name=\"inverter_choice_display\"\n\t\t\tdata-jfb-sync\n\t\/>\n\t<div class=\"jet-form-builder__calculated-field-val\">0.00<\/div>\n\t\t\t<div class=\"jet-form-builder__calculated-field-suffix\">.<\/div>\n\t\t<\/div>\n<\/div>\n\n\n\n<!-- \ud83d\udca1 \u03a5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc\u03c2 \u03b1\u03c0\u03b1\u03b9\u03c4\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7\u03c2 \u03b1\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7\u03c2 \u03b5\u03bd\u03ad\u03c1\u03b3\u03b5\u03b9\u03b1\u03c2 \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03bd\u03cd\u03c7\u03c4\u03b1 (night_storage_kwh) \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03c4\u03bf \u03c4\u03b5\u03bb\u03b9\u03ba\u03cc \u03c6\u03bf\u03c1\u03c4\u03af\u03bf \u03ba\u03b1\u03b9 \u03c4\u03bf \u03c0\u03bf\u03c3\u03bf\u03c3\u03c4\u03cc \u03bd\u03c5\u03c7\u03c4\u03b5\u03c1\u03b9\u03bd\u03ae\u03c2 \u03c7\u03c1\u03ae\u03c3\u03b7\u03c2 -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n  function updateNightStorage() {\n    const finalConsRaw = document.querySelector('input[name=\"final_cons_hidden\"]')?.value || '';\n    const finalCons = parseFloat(finalConsRaw);\n    if (isNaN(finalCons) || finalCons <= 0) return;\n\n    const nightPercentRaw = document.querySelector('input[name=\"active-hours\"]:checked')?.value || '';\n    const nightPercent = parseFloat(nightPercentRaw);\n    if (isNaN(nightPercent) || nightPercent <= 0) return;\n\n    \/\/ Base night kWh \u00d7 1.15\n    const nightKwh = finalCons * nightPercent * 1.15;\n\n    \/\/ Round to nearest 5\n    let rounded = Math.round(nightKwh \/ 5) * 5;\n\n    \/\/ Enforce minimum of 5\n    if (rounded < 5) rounded = 5;\n\n    const out = document.querySelector('input[name=\"night_storage_kwh\"]');\n    if (out) {\n      out.value = rounded;\n      out.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n\n    console.log(`\ud83c\udf19 Night storage: raw=${nightKwh.toFixed(2)} \u2192 rounded=${rounded} kWh`);\n  }\n\n  const inputs = ['final_cons_hidden', 'active-hours'];\n  inputs.forEach(name => {\n    document.querySelectorAll(`input[name=\"${name}\"]`).forEach(el => {\n      el.addEventListener('change', updateNightStorage);\n      el.addEventListener('input', updateNightStorage);\n    });\n  });\n\n  updateNightStorage();\n\n});\n<\/script>\n\n\n<div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" name=\"night_storage_kwh\" data-field-name=\"night_storage_kwh\" id=\"night_storage_kwh\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-calculated-field\" >\n<div data-formula=\"%night_storage_kwh%\" data-name=\"night_storage_kwh_final\" data-precision=\"2\" data-sep-decimal=\".\" data-value-type=\"number\" data-date-format=\"YYYY-MM-DD\" class=\"jet-form-builder__calculated-field\">\n\t\t\t\t<div class=\"jet-form-builder__calculated-field-prefix\">\u2022 The system must have storage capacity&nbsp;<\/div>\n\t\t<input type=\"hidden\"\n\t\t\tname=\"night_storage_kwh_final\"\n\t\t\tid=\"night_storage_kwh_final\"\n\t\t\tvalue=\"\"\n\t\t\tclass=\"jet-form-builder__calculated-field-input jet-form-builder__field\"\n\t\t\tdata-field-name=\"night_storage_kwh_final\"\n\t\t\tdata-jfb-sync\n\t\/>\n\t<div class=\"jet-form-builder__calculated-field-val\">0.00<\/div>\n\t\t\t<div class=\"jet-form-builder__calculated-field-suffix\">&nbsp;kWh to cover the evening hours.<\/div>\n\t\t<\/div>\n<\/div>\n\n\n<div class=\"jet-form-builder__conditional \" data-jfb-conditional=\"[{&quot;operator&quot;:&quot;equal&quot;,&quot;value&quot;:&quot;yes-backup&quot;,&quot;field&quot;:&quot;connection&quot;,&quot;use_preset&quot;:false},{&quot;__visible&quot;:false,&quot;or_operator&quot;:true},{&quot;operator&quot;:&quot;equal&quot;,&quot;value&quot;:&quot;yes-new&quot;,&quot;field&quot;:&quot;generator&quot;,&quot;use_preset&quot;:false}]\" data-jfb-func=\"show\">\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">\u2022 And it can have as a <b>backup source:<\/b><\/div><\/div>\n<\/div>\n\n<div class=\"jet-form-builder__conditional \" data-jfb-conditional=\"[{&quot;operator&quot;:&quot;equal&quot;,&quot;value&quot;:&quot;yes-backup&quot;,&quot;field&quot;:&quot;connection&quot;,&quot;use_preset&quot;:false}]\" data-jfb-func=\"show\">\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\"><b>i)<\/b> The <b>Public Network<\/b> in case of low battery or overconsumption.<\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"jet-form-builder__conditional \" data-jfb-conditional=\"[{&quot;operator&quot;:&quot;equal&quot;,&quot;value&quot;:&quot;yes-new&quot;,&quot;field&quot;:&quot;generator&quot;,&quot;use_preset&quot;:false}]\" data-jfb-func=\"show\">\n\n<!-- Calculates generator size (kVA) based on inverter VA and updates hidden field -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n  function updateGeneratorKVA() {\n    const invText = document.querySelector('input[name=\"inverter_choice\"]')?.value || '';\n    const match = invText.match(\/^(\\d+)\\s*VA\/i);\n\n    if (!match) {\n      console.warn('\u274c Could not extract VA from inverter_choice:', invText);\n      return;\n    }\n\n    const va = parseInt(match[1], 10);         \/\/ extract the VA number\n    const kva = (va * 1.5) \/ 1000;              \/\/ +50% and convert to kVA\n    const final = parseFloat(kva.toFixed(3));   \/\/ keep precision, no rounding up\n\n    const out = document.querySelector('input[name=\"generator_kva\"]');\n    if (out) {\n      out.value = final;\n      out.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n\n    console.log(`\ud83d\udd0c Generator size: ${va} VA \u2192 ${final} kVA`);\n  }\n\n  \/\/ Listen to inverter_choice updates\n  const input = document.querySelector('input[name=\"inverter_choice\"]');\n  if (input) {\n    input.addEventListener('input', updateGeneratorKVA);\n    input.addEventListener('change', updateGeneratorKVA);\n  }\n\n  updateGeneratorKVA(); \/\/ run on page load\n\n});\n<\/script>\n\n\n<div  class=\"jet-form-builder-row field-type-number-field\" >\n<div class=\"jet-form-builder__field-wrap\">\n\t\t<input type=\"number\" class=\"jet-form-builder__field text-field\" name=\"generator_kva\" data-field-name=\"generator_kva\" id=\"generator_kva\" data-jfb-sync=\"null\">\n\t<\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-calculated-field\" >\n<div data-formula=\"%generator_kva%\" data-name=\"generator_kva_final\" data-precision=\"2\" data-sep-decimal=\".\" data-value-type=\"number\" data-date-format=\"YYYY-MM-DD\" class=\"jet-form-builder__calculated-field\">\n\t\t\t\t<div class=\"jet-form-builder__calculated-field-prefix\"><b>ii) Diesel generator H\/Z<\/b> at least&nbsp;<\/div>\n\t\t<input type=\"hidden\"\n\t\t\tname=\"generator_kva_final\"\n\t\t\tid=\"generator_kva_final\"\n\t\t\tvalue=\"\"\n\t\t\tclass=\"jet-form-builder__calculated-field-input jet-form-builder__field\"\n\t\t\tdata-field-name=\"generator_kva_final\"\n\t\t\tdata-jfb-sync\n\t\/>\n\t<div class=\"jet-form-builder__calculated-field-val\">0.00<\/div>\n\t\t\t<div class=\"jet-form-builder__calculated-field-suffix\">&nbsp;kVA with automatic start.<\/div>\n\t\t<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-text-color has-alpha-channel-opacity has-background\" style=\"background-color:#e57a27;color:#e57a27\"\/>\n\n\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">3. Recommendations<\/div><\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">\u2022 Recommended Integrated Systems:<\/div><\/div>\n<\/div>\n\n<div class=\"jet-listing-grid--blocks  solar-listing-wrapper\"data-element-id=\"97625e1b-4801-447c-94f9-5bf5f500911f\"data-listing-type=\"blocks\"data-is-block=\"jet-engine\/listing-grid\"><div class=\"jet-listing-grid jet-listing\"><div class=\"jet-listing-not-found jet-listing-grid__items\" data-nav=\"{&quot;enabled&quot;:false,&quot;type&quot;:null,&quot;more_el&quot;:null,&quot;query&quot;:[],&quot;widget_settings&quot;:{&quot;lisitng_id&quot;:17620,&quot;posts_num&quot;:3,&quot;columns&quot;:3,&quot;columns_tablet&quot;:3,&quot;columns_mobile&quot;:1,&quot;column_min_width&quot;:240,&quot;column_min_width_tablet&quot;:240,&quot;column_min_width_mobile&quot;:240,&quot;inline_columns_css&quot;:true,&quot;is_archive_template&quot;:&quot;&quot;,&quot;post_status&quot;:[&quot;publish&quot;],&quot;use_random_posts_num&quot;:&quot;&quot;,&quot;max_posts_num&quot;:6,&quot;not_found_message&quot;:&quot;No data was found&quot;,&quot;is_masonry&quot;:false,&quot;equal_columns_height&quot;:&quot;&quot;,&quot;use_load_more&quot;:&quot;&quot;,&quot;load_more_id&quot;:&quot;&quot;,&quot;load_more_type&quot;:&quot;click&quot;,&quot;load_more_offset&quot;:null,&quot;use_custom_post_types&quot;:&quot;&quot;,&quot;custom_post_types&quot;:[],&quot;hide_widget_if&quot;:&quot;&quot;,&quot;carousel_enabled&quot;:&quot;&quot;,&quot;slides_to_scroll&quot;:1,&quot;arrows&quot;:true,&quot;arrow_icon&quot;:&quot;fa fa-angle-left&quot;,&quot;dots&quot;:&quot;&quot;,&quot;autoplay&quot;:true,&quot;pause_on_hover&quot;:true,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:true,&quot;center_mode&quot;:&quot;&quot;,&quot;effect&quot;:&quot;slide&quot;,&quot;speed&quot;:500,&quot;inject_alternative_items&quot;:&quot;&quot;,&quot;injection_items&quot;:[],&quot;scroll_slider_enabled&quot;:&quot;&quot;,&quot;scroll_slider_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;],&quot;custom_query&quot;:true,&quot;custom_query_id&quot;:&quot;3&quot;,&quot;_element_id&quot;:&quot;&quot;,&quot;collapse_first_last_gap&quot;:false,&quot;list_tag_selection&quot;:&quot;&quot;,&quot;list_items_wrapper_tag&quot;:&quot;div&quot;,&quot;list_item_tag&quot;:&quot;div&quot;,&quot;empty_items_wrapper_tag&quot;:&quot;div&quot;}}\" data-listing-source=\"query\" data-listing-id=\"17620\" data-query-id=\"3\" >No data was found<\/div><\/div><\/div>\n\n\n<div id=\"no-solar-systems-message\" style=\"display:none;\">\nNo photovoltaic systems were found that fit your needs.\n<\/div>\n\n\n<div class=\"jet-form-builder__conditional \" data-jfb-conditional=\"[{&quot;operator&quot;:&quot;equal&quot;,&quot;value&quot;:&quot;yes-new&quot;,&quot;field&quot;:&quot;generator&quot;,&quot;use_preset&quot;:false}]\" data-jfb-func=\"show\">\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">\u2022 Recommended Diesel Generators:<\/div><\/div>\n<\/div>\n\n<div class=\"jet-listing-grid--blocks  generator-listing-wrapper\"data-element-id=\"187a0dfe-f253-4ca1-8a3f-5605ce418047\"data-listing-type=\"blocks\"data-is-block=\"jet-engine\/listing-grid\"><div class=\"jet-listing-grid jet-listing\"><div class=\"jet-listing-not-found jet-listing-grid__items\" data-nav=\"{&quot;enabled&quot;:false,&quot;type&quot;:null,&quot;more_el&quot;:null,&quot;query&quot;:[],&quot;widget_settings&quot;:{&quot;lisitng_id&quot;:17622,&quot;posts_num&quot;:3,&quot;columns&quot;:3,&quot;columns_tablet&quot;:3,&quot;columns_mobile&quot;:1,&quot;column_min_width&quot;:240,&quot;column_min_width_tablet&quot;:240,&quot;column_min_width_mobile&quot;:240,&quot;inline_columns_css&quot;:true,&quot;is_archive_template&quot;:&quot;&quot;,&quot;post_status&quot;:[&quot;publish&quot;],&quot;use_random_posts_num&quot;:&quot;&quot;,&quot;max_posts_num&quot;:6,&quot;not_found_message&quot;:&quot;No data was found&quot;,&quot;is_masonry&quot;:false,&quot;equal_columns_height&quot;:&quot;&quot;,&quot;use_load_more&quot;:&quot;&quot;,&quot;load_more_id&quot;:&quot;&quot;,&quot;load_more_type&quot;:&quot;click&quot;,&quot;load_more_offset&quot;:null,&quot;use_custom_post_types&quot;:&quot;&quot;,&quot;custom_post_types&quot;:[],&quot;hide_widget_if&quot;:&quot;&quot;,&quot;carousel_enabled&quot;:&quot;&quot;,&quot;slides_to_scroll&quot;:1,&quot;arrows&quot;:true,&quot;arrow_icon&quot;:&quot;fa fa-angle-left&quot;,&quot;dots&quot;:&quot;&quot;,&quot;autoplay&quot;:true,&quot;pause_on_hover&quot;:true,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:true,&quot;center_mode&quot;:&quot;&quot;,&quot;effect&quot;:&quot;slide&quot;,&quot;speed&quot;:500,&quot;inject_alternative_items&quot;:&quot;&quot;,&quot;injection_items&quot;:[],&quot;scroll_slider_enabled&quot;:&quot;&quot;,&quot;scroll_slider_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;],&quot;custom_query&quot;:true,&quot;custom_query_id&quot;:&quot;4&quot;,&quot;_element_id&quot;:&quot;&quot;,&quot;collapse_first_last_gap&quot;:false,&quot;list_tag_selection&quot;:&quot;&quot;,&quot;list_items_wrapper_tag&quot;:&quot;div&quot;,&quot;list_item_tag&quot;:&quot;div&quot;,&quot;empty_items_wrapper_tag&quot;:&quot;div&quot;}}\" data-listing-source=\"query\" data-listing-id=\"17622\" data-query-id=\"4\" >No data was found<\/div><\/div><\/div>\n\n\n<div id=\"no-generators-message\" style=\"display: none;\">\nNo diesel generators were found that fit your needs.\n<\/div>\n\n<\/div>\n\n\n<hr class=\"wp-block-separator has-text-color has-alpha-channel-opacity has-background\" style=\"background-color:#e57a27;color:#e57a27\"\/>\n\n\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">4. Submission<\/div><\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">Fill in your details here and click submit to send us the above results for further investigation by our technician:<\/div><\/div>\n<\/div>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div  class=\"jet-form-builder-row field-type-text-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">First Name <span class=\"jet-form-builder__required\">*<\/span><\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t\t\t<input required=\"required\" name=\"first_name\" id=\"first_name\" type=\"text\" data-field-name=\"first_name\" class=\"jet-form-builder__field text-field\" data-jfb-sync=\"null\" autocomplete=\"on\">\n\t\t\t\t\t<\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-text-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Phone Number <span class=\"jet-form-builder__required\">*<\/span><\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t\t\t<input required=\"required\" name=\"phone\" id=\"phone\" type=\"tel\" data-field-name=\"phone\" class=\"jet-form-builder__field text-field\" minlength=\"10\" maxlength=\"20\" data-jfb-sync=\"null\" autocomplete=\"on\">\n\t\t\t\t\t<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div  class=\"jet-form-builder-row field-type-text-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Last Name <span class=\"jet-form-builder__required\">*<\/span><\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t\t\t<input required=\"required\" name=\"last_name\" id=\"last_name\" type=\"text\" data-field-name=\"last_name\" class=\"jet-form-builder__field text-field\" data-jfb-sync=\"null\" autocomplete=\"on\">\n\t\t\t\t\t<\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-text-field\" >\n<div class=\"jet-form-builder__label\">\r\n<div class=\"jet-form-builder__label-text\">Email <span class=\"jet-form-builder__required\">*<\/span><\/div><\/div><div class=\"jet-form-builder__field-wrap\">\n\t\t\t\t<input required=\"required\" name=\"email\" id=\"email\" type=\"email\" data-field-name=\"email\" class=\"jet-form-builder__field text-field\" minlength=\"5\" maxlength=\"99\" data-jfb-sync=\"null\" autocomplete=\"on\">\n\t\t\t\t\t<\/div>\n<\/div><\/div>\n<\/div>\n\n\n<div  class=\"jet-form-builder-row field-type-submit-field\" >\n\t<div data-type=\"submit\" class=\"jet-form-builder__action-button-wrapper jet-form-builder__submit-wrap\">\n\t<button class=\"jet-form-builder__action-button jet-form-builder__submit submit-type-reload\" type=\"submit\">Submit<\/button>\n\t<\/div>\n\t\n<\/div>\n\n\n<hr class=\"wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-default\" style=\"background-color:#e57a27;color:#e57a27\"\/>\n\n\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">5. Custom Builder<\/div><\/div>\n<\/div>\n\n<div  class=\"jet-form-builder-row field-type-heading-field\" >\n<div class=\"jet-form-builder__heading\">\r\n<div class=\"jet-form-builder__label-text\">If the proposed system does not meet your needs, we provide you with the opportunity to build a photovoltaic system tailored to your needs:<\/div><\/div>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"http:\/\/solar-shop.gr.dedi2149.your-server.de\/custom-builder\" target=\"_blank\" rel=\"noreferrer noopener\">Custom Builder<\/a><\/div>\n<\/div>\n\n\n\n<!-- Suggests top 2 matching solar system cards and stores titles in a hidden field -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  const recalcBtn = document.getElementById('recalculate-btn');\n  const noSolarMsg = document.getElementById('no-solar-systems-message');\n  const listingWrapper = document.querySelector('.solar-listing-wrapper');\n  const hiddenSuggestionsField = document.querySelector('input[name=\"solar_suggestions\"]');\n  let hasShownListing = false;\n\n  if (!recalcBtn) return;\n\n  recalcBtn.addEventListener('click', () => {\n    setTimeout(() => {\n      const requiredKwh = parseFloat(document.querySelector('input[name=\"final_cons_hidden\"]')?.value || '');\n      const requiredKwp = parseFloat(document.querySelector('input[name=\"final_needed_wp\"]')?.value || '') \/ 1000;\n      const inverterText = document.querySelector('input[name=\"inverter_choice\"]')?.value || '';\n      const match = inverterText.match(\/^(\\d+)\\s*VA\/i);\n      const requiredVa = match ? parseInt(match[1], 10) : 0;\n      const requiredSkva = requiredVa \/ 1000;\n\n      const productCards = Array.from(\n        document.querySelectorAll('.solar-listing-wrapper .jet-listing-grid__item')\n      );\n\n      \/\/ Reset\n      productCards.forEach(card => card.style.display = 'none');\n\n      \/\/ Analyze each card\n      const matches = productCards.map((card, index) => {\n        const kwh = parseFloat(card.querySelector('.solar-kwh')?.getAttribute('data-kwh') || '') || 0;\n        const kwp = parseFloat(card.querySelector('.solar-kwp')?.getAttribute('data-kwp') || '') || 0;\n        const skva = parseFloat(card.querySelector('.solar-skva')?.getAttribute('data-skva') || '') || 0;\n\n        const isKwh = kwh >= requiredKwh;\n        const isKwp = kwp >= requiredKwp;\n        const isSkva = skva >= requiredSkva;\n\n        const matchScore = [isKwh, isKwp, isSkva].filter(Boolean).length;\n        const matchKey = `${isKwh ? '1' : '0'}${isKwp ? '1' : '0'}${isSkva ? '1' : '0'}`;\n\n        return {\n          card, index, kwh, kwp, skva,\n          isKwh, isKwp, isSkva, matchScore, matchKey\n        };\n      });\n\n      \/\/ Filtering logic\n      const tier3 = matches.filter(m => m.matchScore === 3);\n      const tier2_1 = matches.filter(m => m.isKwh && m.isKwp && !m.isSkva);\n      const tier2_2 = matches.filter(m => m.isKwh && !m.isKwp && m.isSkva);\n      const tier2_3 = matches.filter(m => !m.isKwh && m.isKwp && m.isSkva);\n      const tier1 = matches.filter(m => m.matchScore === 1);\n      const fallback = matches; \/\/ full list\n\n      let toShow = [];\n\n      const pick = list => list.find(m => !toShow.includes(m));\n\n      \/\/ Step 1: start with first 2\/3 match (in order of priority)\n      toShow.push(\n        pick(tier2_1) ||\n        pick(tier2_2) ||\n        pick(tier2_3) ||\n        pick(tier3) ||\n        pick(tier1)\n      );\n\n      \/\/ Step 2: follow with best second match\n      if (toShow[0]?.matchScore === 3) {\n        \/\/ if first is 3\/3 \u2192 try another 3\/3\n        toShow.push(pick(tier3));\n      } else if (toShow[0]?.matchScore === 2) {\n        \/\/ try to show a 3\/3 second\n        toShow.push(pick(tier3) || pick(tier2_1) || pick(tier2_2) || pick(tier2_3) || pick(tier1));\n      } else if (toShow[0]?.matchScore === 1) {\n        \/\/ try to show another 1\/3\n        toShow.push(pick(tier1) || pick(fallback));\n      }\n\n      \/\/ Final fallback: if still only one, add next highest by kWh\n      if (toShow.length < 2) {\n        const remaining = fallback.filter(m => !toShow.includes(m)).sort((a, b) => b.kwh - a.kwh);\n        if (remaining.length) toShow.push(remaining[0]);\n      }\n\n      \/\/ Render\n      const finalToShow = toShow.filter(Boolean).slice(0, 2);\n      finalToShow.forEach(({ card }) => card.style.display = '');\n\n      if (!hasShownListing && listingWrapper) {\n        listingWrapper.style.display = 'block';\n        hasShownListing = true;\n      }\n\n      if (noSolarMsg) {\n        noSolarMsg.style.display = finalToShow.length === 0 ? 'block' : 'none';\n      }\n\n      if (hiddenSuggestionsField) {\n        hiddenSuggestionsField.value = finalToShow.length\n          ? finalToShow.map(({ card }) =>\n              card.querySelector('.product_title, .elementor-heading-title')?.textContent?.trim() || ''\n            ).join(', ')\n          : '\u0394\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b1\u03bd \u03c6\u03c9\u03c4\u03bf\u03b2\u03bf\u03bb\u03c4\u03b1\u03ca\u03ba\u03ac \u03c3\u03c5\u03c3\u03c4\u03ae\u03bc\u03b1\u03c4\u03b1 \u03c0\u03bf\u03c5 \u03bd\u03b1 \u03c4\u03b1\u03b9\u03c1\u03b9\u03ac\u03b6\u03bf\u03c5\u03bd \u03c3\u03c4\u03b9\u03c2 \u03b1\u03bd\u03ac\u03b3\u03ba\u03b5\u03c2 \u03c3\u03b1\u03c2.';\n        hiddenSuggestionsField.dispatchEvent(new Event('input', { bubbles: true }));\n        console.log('\ud83c\udf1e Solar suggestions set:', hiddenSuggestionsField.value);\n      }\n\n    }, 150);\n  });\n});\n<\/script>\n\n\n\n<!-- Shows top 2 matching generator cards based on required kVA after recalculation and stores their titles in a hidden suggestions field -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  const recalcBtn = document.getElementById('recalculate-btn');\n  const noGenMsg = document.getElementById('no-generators-message');\n  const listingWrapper = document.querySelector('.generator-listing-wrapper');\n  const hiddenSuggestionsField = document.querySelector('input[name=\"generator_suggestions\"]');\n  let hasShownListing = false;\n\n  if (!recalcBtn) return;\n\n  recalcBtn.addEventListener('click', () => {\n    setTimeout(() => {\n      const kvaInput = document.getElementById('generator_kva_final');\n      const requiredKva = kvaInput ? parseFloat(kvaInput.value) : NaN;\n      if (isNaN(requiredKva)) return;\n\n      if (!hasShownListing && listingWrapper) {\n        listingWrapper.style.display = 'block';\n        hasShownListing = true;\n      }\n\n      const productCards = Array.from(\n        document.querySelectorAll('.generator-listing-wrapper .jet-listing-grid__item')\n      );\n\n      const matchingCards = [];\n      productCards.forEach((card, index) => {\n        card.style.display = 'none';\n\n        const kvaEl = card.querySelector('.generator-kva');\n        if (!kvaEl) return;\n\n        const kvaAttr = kvaEl.getAttribute('data-kva');\n        const productKva = parseFloat(kvaAttr);\n\n        if (!isNaN(productKva) && productKva >= requiredKva) {\n          matchingCards.push({ card, kva: productKva, index });\n        }\n      });\n\n      const toShow = matchingCards.slice(0, 2);\n      toShow.forEach(({ card }) => {\n        card.style.display = '';\n      });\n\n      if (noGenMsg) {\n        noGenMsg.style.display = toShow.length === 0 ? 'block' : 'none';\n      }\n\n      if (hiddenSuggestionsField) {\n        if (toShow.length === 0) {\n          hiddenSuggestionsField.value = '\u0394\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b1\u03bd \u03b3\u03b5\u03bd\u03bd\u03ae\u03c4\u03c1\u03b9\u03b5\u03c2 \u03c0\u03b5\u03c4\u03c1\u03b5\u03bb\u03b1\u03af\u03bf\u03c5 \u03c0\u03bf\u03c5 \u03bd\u03b1 \u03c4\u03b1\u03b9\u03c1\u03b9\u03ac\u03b6\u03bf\u03c5\u03bd \u03c3\u03c4\u03b9\u03c2 \u03b1\u03bd\u03ac\u03b3\u03ba\u03b5\u03c2 \u03c3\u03b1\u03c2.';\n        } else {\n          const titles = toShow.map(({ card }) =>\n            card.querySelector('.product_title, .elementor-heading-title')?.textContent?.trim() || ''\n          );\n          hiddenSuggestionsField.value = titles.join(', ');\n        }\n        hiddenSuggestionsField.dispatchEvent(new Event('input', { bubbles: true }));\n        console.log('\ud83d\udce6 Generator suggestions set:', hiddenSuggestionsField.value);\n      }\n\n    }, 150);\n  });\n});\n<\/script>\n\n\n<div  class=\"jet-form-builder-row field-type-text-field\" >\n<div class=\"jet-form-builder__field-wrap\">\n\t\t\t\t<input name=\"generator_suggestions\" id=\"generator_suggestions\" type=\"text\" data-field-name=\"generator_suggestions\" class=\"jet-form-builder__field text-field\" data-jfb-sync=\"null\" autocomplete=\"off_rb4ASL2x\">\n\t\t\t\t\t<\/div>\n<\/div>\n\n\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"region_label\" data-field-name=\"region_label\" data-jfb-sync=\"null\" value=\"12277\">\n\n\n\n\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"home_label\" data-field-name=\"home_label\" data-jfb-sync=\"null\" value=\"12277\">\n\n\n\n\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"generator_label\" data-field-name=\"generator_label\" data-jfb-sync=\"null\" value=\"12277\">\n\n\n\n\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"connection_label\" data-field-name=\"connection_label\" data-jfb-sync=\"null\" value=\"12277\">\n\n\n\n\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"daily_consumption_ask_label\" data-field-name=\"daily_consumption_ask_label\" data-jfb-sync=\"null\" value=\"12277\">\n\n\n\n\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"trifasiko_label\" data-field-name=\"trifasiko_label\" data-jfb-sync=\"null\" value=\"12277\">\n\n\n\n\n<input type=\"hidden\" class=\"jet-form-builder__field hidden-field\" name=\"active_hours_label\" data-field-name=\"active_hours_label\" data-jfb-sync=\"null\" value=\"12277\">\n\n\n\n<div  class=\"jet-form-builder-row field-type-text-field\" >\n<div class=\"jet-form-builder__field-wrap\">\n\t\t\t\t<input name=\"solar_system_suggestions\" id=\"solar_system_suggestions\" type=\"text\" data-field-name=\"solar_system_suggestions\" class=\"jet-form-builder__field text-field\" data-jfb-sync=\"null\" autocomplete=\"off_DfSrAYlK\">\n\t\t\t\t\t<\/div>\n<\/div>\n\n\n<!-- Syncs selected labels (region, home type, devices, etc.) to hidden fields for summary or submission -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n  const fieldMappings = [\n    { source: 'region', label: 'region_label' },\n    { source: 'home', label: 'home_label' },\n    { source: 'generator', label: 'generator_label' },\n    { source: 'connection', label: 'connection_label' },\n    { source: 'daily_consumption_ask', label: 'daily_consumption_ask_label' },\n    { source: 'trifasiko', label: 'trifasiko_label' },\n    { source: 'active-hours', label: 'active_hours_label' },\n  ];\n\n  function getRadioLabel(input) {\n    const wrapper = input.closest('.checkradio-wrap');\n    const labelEl = wrapper?.querySelector('.jet-form-builder__field-label');\n    return labelEl?.textContent?.trim() || input.value;\n  }\n\n  function updateLabel(sourceName, labelName) {\n    const source =\n      [...document.querySelectorAll(`input[name=\"${sourceName}\"]`)].find(i => i.checked) ||\n      document.querySelector(`select[name=\"${sourceName}\"]`);\n    const target = document.querySelector(`input[name=\"${labelName}\"]`);\n    if (!source || !target) {\n      console.warn(`\u26a0\ufe0f Skipped: source or target missing for ${sourceName} \u2192 ${labelName}`);\n      return;\n    }\n\n    let label = '';\n    if (source.tagName === 'SELECT') {\n      label = source.options[source.selectedIndex]?.textContent?.trim() || '';\n    } else {\n      label = getRadioLabel(source);\n    }\n\n    if (target.value !== label) {\n      target.value = label;\n      target.dispatchEvent(new Event('input', { bubbles: true }));\n      target.dispatchEvent(new Event('change', { bubbles: true }));\n      target.dispatchEvent(new Event('blur', { bubbles: true }));\n      console.log(`\u2705 ${labelName} set to: \"${label}\"`);\n    } else {\n      console.log(`\u2139\ufe0f ${labelName} already set: \"${label}\"`);\n    }\n  }\n\n  function updateRepeaterLabels() {\n    const repeaterRows = document.querySelectorAll('[data-repeater-row]');\n    let updated = 0;\n    let skipped = 0;\n\n    console.log(`\ud83d\udd04 Updating repeater labels (${repeaterRows.length} rows)`);\n\n    repeaterRows.forEach((row, i) => {\n      const select = row.querySelector('select[name*=\"[device_select]\"]');\n      const labelField = row.querySelector('input[name*=\"[device_label]\"]');\n\n      if (!select || !labelField) {\n        console.warn(`\u26a0\ufe0f Row ${i}: Missing select or label field`);\n        skipped++;\n        return;\n      }\n\n      const selectedOption = select.options[select.selectedIndex];\n      const label = selectedOption?.textContent?.trim() || '';\n\n      if (!label) {\n        console.warn(`\u26a0\ufe0f Row ${i}: Empty label from select`);\n        skipped++;\n        return;\n      }\n\n      if (labelField.value !== label) {\n        labelField.value = label;\n        labelField.dispatchEvent(new Event('input', { bubbles: true }));\n        labelField.dispatchEvent(new Event('change', { bubbles: true }));\n        labelField.dispatchEvent(new Event('blur', { bubbles: true }));\n        console.log(`\ud83d\udce6 Row ${i}: device_label set to \"${label}\" (ID: ${select.value})`);\n        updated++;\n      } else {\n        console.log(`\u2714\ufe0f Row ${i}: device_label already set to \"${label}\"`);\n      }\n    });\n\n    console.log(`\u2705 Repeater labels updated: ${updated}, skipped: ${skipped}`);\n  }\n\n  function updateAllLabels(context = 'Manual call') {\n    console.group(`\ud83d\udd01 updateAllLabels triggered by: ${context}`);\n    fieldMappings.forEach(({ source, label }) => updateLabel(source, label));\n    updateRepeaterLabels();\n    console.groupEnd();\n  }\n\n  \/\/ Recalculate button updates\n  const recalcBtn = document.getElementById('recalculate-btn');\n  if (recalcBtn) {\n    recalcBtn.addEventListener('click', () => {\n      console.log('\ud83d\udd18 Recalculate button clicked');\n      setTimeout(() => updateAllLabels('Recalculate button'), 150);\n    });\n  }\n\n  \/\/ Submit updates\n  const form = document.querySelector('form.jet-form-builder');\n  if (form) {\n    form.addEventListener('submit', function () {\n      console.log('\ud83d\udce8 Form submission triggered: running final updates');\n      updateRepeaterLabels(); \/\/ update before submit\n      fieldMappings.forEach(({ source, label }) => updateLabel(source, label));\n      setTimeout(updateRepeaterLabels, 100); \/\/ safety second pass\n    });\n  }\n\n  \/\/ Initial load update\n  console.log('\ud83d\ude80 Initial form load: running updateAllLabels');\n  setTimeout(() => updateAllLabels('Initial load'), 300);\n\n  \/\/ Watch for changes on basic fields\n  fieldMappings.forEach(({ source, label }) => {\n    const inputs = document.querySelectorAll(`[name=\"${source}\"]`);\n    inputs.forEach(input => {\n      input.addEventListener('change', () => {\n        console.log(`\ud83d\udd04 Change detected on \"${source}\", updating \"${label}\"`);\n        updateLabel(source, label);\n      });\n    });\n  });\n});\n<\/script>\n\n\n\n<!-- Enforces max\/min limits for time and power input fields with user warnings -->\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n  const hourLimits = { min: 0, max: 24 };\n  const powerLimits = { min: 0 };\n\n  function showWarning(field, message) {\n    let warning = field.parentNode.querySelector('.field-warning');\n    if (!warning) {\n      warning = document.createElement('div');\n      warning.className = 'field-warning';\n      field.parentNode.appendChild(warning);\n    }\n    warning.textContent = message;\n  }\n\n  function removeWarning(field) {\n    const warning = field.parentNode.querySelector('.field-warning');\n    if (warning) warning.remove();\n  }\n\n  function applyLimits(field, limits) {\n    if (!field._limitAttached) {\n      field._limitAttached = true;\n\n      field.addEventListener('input', () => {\n        const val = parseFloat(field.value);\n        if (isNaN(val)) return;\n\n        if ('max' in limits && val > limits.max) {\n          field.value = limits.max;\n          showWarning(field, `\u0397 \u03bc\u03ad\u03b3\u03b9\u03c3\u03c4\u03b7 \u03c4\u03b9\u03bc\u03ae \u03b5\u03af\u03bd\u03b1\u03b9 ${limits.max}`);\n        } else if ('min' in limits && val < limits.min) {\n          field.value = limits.min;\n          showWarning(field, `\u0397 \u03b5\u03bb\u03ac\u03c7\u03b9\u03c3\u03c4\u03b7 \u03c4\u03b9\u03bc\u03ae \u03b5\u03af\u03bd\u03b1\u03b9 ${limits.min}`);\n        } else {\n          removeWarning(field);\n        }\n      });\n\n      field.addEventListener('blur', () => {\n        removeWarning(field);\n      });\n    }\n  }\n\n  function scanAndApplyLimits() {\n    \/\/ Hours (0\u201324)\n    document.querySelectorAll('input[type=\"number\"][name*=\"hours_summer\"], input[type=\"number\"][name*=\"hours_winter\"]')\n      .forEach(field => applyLimits(field, hourLimits));\n\n    \/\/ Power fields (min 0, no max)\n    ['given_consumption', 'given_load', 'trifasiko-value'].forEach(name => {\n      document.querySelectorAll(`input[type=\"number\"][name=\"${name}\"]`)\n        .forEach(field => applyLimits(field, powerLimits));\n    });\n  }\n\n  scanAndApplyLimits();\n\n  const observer = new MutationObserver(() => {\n    scanAndApplyLimits();\n  });\n\n  observer.observe(document.body, {\n    childList: true,\n    subtree: true,\n  });\n});\n<\/script>\n\t<div class=\"jet-form-builder-messages-wrap\" data-form-id=\"14919\"><\/div>\n<\/form>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>1. \u03a5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc\u03c2 \u03a3\u03b5 \u03c0\u03bf\u03b9\u03b1 \u03c0\u03b5\u03c1\u03b9\u03bf\u03c7\u03ae \u03b8\u03b1 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03b5\u03af \u03c4\u03bf \u03c3\u03cd\u03c3\u03c4\u03b7\u03bc\u03ac \u03c3\u03b1\u03c2; EASTERN GREECEATTICANORTHWESTERN GREECENORTHERN GREECEWESTERN GREECEEVIATHESSALONIKICENTRAL GREECECENTRAL PELOPONNESECRETECYCLADESMACEDONIASOUTH PELOPONNESEHALKIDIKI \u03a0\u03bf\u03b9\u03b1 \u03b8\u03b1 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03c3\u03c5\u03c3\u03c4\u03ae\u03bc\u03b1\u03c4\u03bf\u03c2; \u039c\u03cc\u03bd\u03b9\u03bc\u03b7 \u039a\u03b1\u03c4\u03bf\u03b9\u03ba\u03af\u03b1 \u039a\u03c5\u03c1\u03af\u03c9\u03c2 \u039a\u03b1\u03bb\u03bf\u03ba\u03b1\u03af\u03c1\u03b9 \u039a\u03c5\u03c1\u03af\u03c9\u03c2 \u03a7\u03b5\u03b9\u03bc\u03ce\u03bd\u03b1 \u0398\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03b5\u03af \u03b5\u03c6\u03b5\u03b4\u03c1\u03b9\u03ba\u03ac \u03b3\u03b5\u03bd\u03bd\u03ae\u03c4\u03c1\u03b9\u03b1 \u0397\/\u0396 \u03c0\u03b5\u03c4\u03c1\u03b5\u03bb\u03b1\u03af\u03bf\u03c5; \u039d\u03b1\u03b9 \u03ad\u03c7\u03c9 \u03ae\u03b4\u03b7 \u039d\u03b1\u03b9 \u03b8\u03b1 \u03c0\u03ac\u03c1\u03c9 \u03ba\u03b1\u03b9\u03bd\u03bf\u03cd\u03c1\u03b3\u03b9\u03b1 \u038c\u03c7\u03b9 \u03b4\u03b5\u03bd \u03b8\u03ad\u03bb\u03c9 \u03a5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03bc\u03b5 \u03b4\u03b7\u03bc\u03cc\u03c3\u03b9\u03bf \u03b4\u03af\u03ba\u03c4\u03c5\u03bf \u03b7\u03bb\u03b5\u03ba\u03c4\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd \u03c3\u03c4\u03bf [&hellip;]<\/p>\n","protected":false},"author":4119,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12277","page","type-page","status-publish","hentry","_wholesalex wsx-wholesalex-product"],"_links":{"self":[{"href":"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/pages\/12277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/users\/4119"}],"replies":[{"embeddable":true,"href":"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/comments?post=12277"}],"version-history":[{"count":4,"href":"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/pages\/12277\/revisions"}],"predecessor-version":[{"id":17604,"href":"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/pages\/12277\/revisions\/17604"}],"wp:attachment":[{"href":"https:\/\/solar-shop.gr\/en\/wp-json\/wp\/v2\/media?parent=12277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}