{"id":29055,"date":"2024-10-20T18:06:29","date_gmt":"2024-10-20T18:06:29","guid":{"rendered":"https:\/\/fiamco.com\/?page_id=29055"},"modified":"2026-05-19T10:41:15","modified_gmt":"2026-05-19T10:41:15","slug":"light","status":"publish","type":"page","link":"https:\/\/fiamco.com\/en\/light\/","title":{"rendered":"Light"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"29055\" class=\"elementor elementor-29055\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-abb8c04 e-flex e-con-boxed e-con e-parent\" data-id=\"abb8c04\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-419a794 elementor-widget elementor-widget-html\" data-id=\"419a794\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"ar\" dir=\"rtl\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>\u062d\u0627\u0633\u0628\u0629 \u0627\u0644\u0625\u0636\u0627\u0621\u0629 <\/title>\r\n<style>\r\n  * { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n  body {\r\n    background: #f0f2f5;\r\n    direction: rtl;\r\n    text-align: right;\r\n  }\r\n\r\n  .calculator-wrapper {\r\n    display: flex;\r\n    gap: 24px;\r\n    flex-wrap: wrap;\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  \/* \u2500\u2500\u2500 Panel \u2500\u2500\u2500 *\/\r\n  .panel {\r\n    width: 320px;\r\n    background: #fff;\r\n    border-radius: 16px;\r\n    padding: 24px;\r\n    box-shadow: 0 4px 20px rgba(0,0,0,0.08);\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .panel h3 {\r\n    font-size: 18px;\r\n    font-weight: 700;\r\n    color: #1a1a2e;\r\n    margin-bottom: 20px;\r\n    padding-bottom: 12px;\r\n    border-bottom: 2px solid #f0f2f5;\r\n  }\r\n\r\n  label {\r\n    display: block;\r\n    font-size: 13px;\r\n    font-weight: 600;\r\n    color: #555;\r\n    margin-bottom: 6px;\r\n    margin-top: 14px;\r\n  }\r\n  label:first-of-type { margin-top: 0; }\r\n\r\n  input, select {\r\n    width: 100%;\r\n    padding: 10px 12px;\r\n    border: 1.5px solid #e0e0e0;\r\n    border-radius: 8px;\r\n    font-size: 14px;\r\n    font-family: inherit;\r\n    color: #1a1a2e;\r\n    background: #fafafa;\r\n    transition: border-color 0.2s;\r\n    direction: rtl;\r\n  }\r\n  input:focus, select:focus {\r\n    outline: none;\r\n    border-color: #c8a96e;\r\n    background: #fff;\r\n  }\r\n\r\n  \/* \u2500\u2500\u2500 Lux Badge \u2500\u2500\u2500 *\/\r\n  .lux-badge {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    background: #fff8ee;\r\n    border: 1.5px solid #f5d898;\r\n    border-radius: 8px;\r\n    padding: 10px 12px;\r\n    margin-top: 8px;\r\n    font-size: 13px;\r\n    color: #7a5500;\r\n  }\r\n  .lux-badge .lux-val {\r\n    font-weight: 700;\r\n    font-size: 16px;\r\n    color: #c8a96e;\r\n  }\r\n\r\n  \/* \u2500\u2500\u2500 Button \u2500\u2500\u2500 *\/\r\n  .calc-btn {\r\n    background: \r\n    #ee9d27;\r\n    color: #fff;\r\n    padding: 14px;\r\n    border: none;\r\n    width: 100%;\r\n    font-size: 15px;\r\n    font-weight: 600;\r\n    font-family: inherit;\r\n    border-radius: 10px;\r\n    cursor: pointer;\r\n    margin-top: 20px;\r\n    transition: transform 0.15s, box-shadow 0.15s;\r\n    letter-spacing: 0.5px;\r\n  }\r\n  .calc-btn:hover {\r\n    transform: translateY(-1px);\r\n    box-shadow: 0 6px 18px rgba(26,26,46,0.3);\r\n  }\r\n  .calc-btn:active { transform: translateY(0); }\r\n\r\n  \/* \u2500\u2500\u2500 Summary \u2500\u2500\u2500 *\/\r\n  #summary {\r\n    margin-top: 20px;\r\n    font-size: 13.5px;\r\n    line-height: 1.9;\r\n    color: #2c3e50;\r\n  }\r\n\r\n  .summary-card {\r\n    background: #f8f9ff;\r\n    border-radius: 10px;\r\n    padding: 14px;\r\n    border-right: 4px solid #c8a96e;\r\n  }\r\n  .summary-card .row {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    padding: 4px 0;\r\n    border-bottom: 1px dashed #e8e8e8;\r\n  }\r\n  .summary-card .row:last-child { border-bottom: none; }\r\n  .summary-card .row .key { color: #777; }\r\n  .summary-card .row .val { font-weight: 700; color: #1a1a2e; }\r\n  .summary-card .val.highlight { color: #c8a96e; font-size: 15px; }\r\n\r\n  .formula-box {\r\n    background: #1a1a2e;\r\n    color: #c8a96e;\r\n    border-radius: 8px;\r\n    padding: 10px 14px;\r\n    font-size: 12px;\r\n    margin-top: 12px;\r\n    direction: ltr;\r\n    text-align: center;\r\n    font-family: monospace;\r\n    line-height: 1.8;\r\n  }\r\n\r\n  \/* \u2500\u2500\u2500 Canvas Area \u2500\u2500\u2500 *\/\r\n  .canvas-area {\r\n    flex: 1;\r\n    min-width: 300px;\r\n    background: #fff;\r\n    border-radius: 16px;\r\n    padding: 20px;\r\n    box-shadow: 0 4px 20px rgba(0,0,0,0.08);\r\n  }\r\n\r\n  .canvas-area h4 {\r\n    font-size: 15px;\r\n    color: #1a1a2e;\r\n    font-weight: 700;\r\n    margin-bottom: 14px;\r\n  }\r\n\r\n  canvas {\r\n    width: 100%;\r\n    height: auto;\r\n    display: block;\r\n    border-radius: 8px;\r\n    border: 1px solid #eee;\r\n  }\r\n\r\n  \/* \u2500\u2500\u2500 Legend \u2500\u2500\u2500 *\/\r\n  .legend {\r\n    display: flex;\r\n    gap: 20px;\r\n    margin-top: 12px;\r\n    flex-wrap: wrap;\r\n    font-size: 12px;\r\n    color: #666;\r\n  }\r\n  .legend-item { display: flex; align-items: center; gap: 6px; }\r\n  .legend-dot {\r\n    width: 14px; height: 14px; border-radius: 50%;\r\n  }\r\n\r\n  \/* \u2500\u2500\u2500 Alert \u2500\u2500\u2500 *\/\r\n  .alert {\r\n    background: #fff3cd;\r\n    border: 1.5px solid #ffc107;\r\n    border-radius: 8px;\r\n    padding: 10px 14px;\r\n    font-size: 13px;\r\n    color: #856404;\r\n    margin-top: 10px;\r\n    display: none;\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"calculator-wrapper\">\r\n\r\n  <!-- \u2550\u2550\u2550 PANEL \u2550\u2550\u2550 -->\r\n  <div class=\"panel\">\r\n    <h3> \u062d\u0627\u0633\u0628\u0629 \u0627\u0644\u0625\u0636\u0627\u0621\u0629 <\/h3>\r\n\r\n    <label>\u0646\u0648\u0639 \u0627\u0644\u063a\u0631\u0641\u0629<\/label>\r\n    <select id=\"room_type\" onchange=\"updateLuxBadge()\">\r\n      <option value=\"living\">\u063a\u0631\u0641\u0629 \u0645\u0639\u064a\u0634\u0629<\/option>\r\n      <option value=\"bedroom\">\u063a\u0631\u0641\u0629 \u0646\u0648\u0645<\/option>\r\n      <option value=\"kitchen\">\u0645\u0637\u0628\u062e<\/option>\r\n      <option value=\"study\">\u063a\u0631\u0641\u0629 \u062f\u0631\u0627\u0633\u0629 \/ \u0645\u0643\u062a\u0628<\/option>\r\n      <option value=\"bathroom\">\u062d\u0645\u0627\u0645<\/option>\r\n      <option value=\"corridor\">\u0645\u0645\u0631<\/option>\r\n    <\/select>\r\n\r\n    <!-- \u0645\u0633\u062a\u0648\u0649 Lux \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a -->\r\n    <div class=\"lux-badge\">\r\n      <span>\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0625\u0636\u0627\u0621\u0629 \u0627\u0644\u0645\u0639\u064a\u0627\u0631\u064a:<\/span>\r\n      <span class=\"lux-val\" id=\"lux_display\">300 lux<\/span>\r\n    <\/div>\r\n\r\n    <label>\u0627\u0644\u0637\u0648\u0644 (\u0645\u062a\u0631)<\/label>\r\n    <input type=\"number\" id=\"room_length\" min=\"1\" step=\"0.1\" placeholder=\"\u0645\u062b\u0627\u0644: 5\">\r\n\r\n    <label>\u0627\u0644\u0639\u0631\u0636 (\u0645\u062a\u0631)<\/label>\r\n    <input type=\"number\" id=\"room_width\" min=\"1\" step=\"0.1\" placeholder=\"\u0645\u062b\u0627\u0644: 4\">\r\n\r\n    <label>\u0646\u0648\u0639 \u0627\u0644\u0625\u0636\u0627\u0621\u0629<\/label>\r\n    <select id=\"light_type\">\r\n      <option value=\"spot-light\">\u0633\u0628\u0648\u062a \u0644\u0627\u064a\u062a<\/option>\r\n      <option value=\"magnetic-track\">\u0645\u0633\u0627\u0631 \u0645\u063a\u0646\u0627\u0637\u064a\u0633\u064a<\/option>\r\n      <option value=\"led-strip\">\u0625\u0636\u0627\u0621\u0629 \u0645\u062e\u0641\u064a\u0629<\/option>\r\n    <\/select>\r\n\r\n    <label>\u0627\u0644\u0645\u0646\u062a\u062c \u0627\u0644\u0645\u062e\u062a\u0627\u0631 (\u064a\u062d\u062f\u062f \u0627\u0644\u0644\u0648\u0645\u0646)<\/label>\r\n    <select id=\"lamps1\" onchange=\"updateLampLumens()\">\r\n      <option value=\"\">\u0627\u062e\u062a\u0631 \u0627\u0644\u0645\u0646\u062a\u062c...<\/option>\r\n      <option value=\"600\"  data-watts=\"7\"  data-link=\"https:\/\/meshkati.sa\/ar\/nr-cl103cob-7-w.html\">\u062f\u0627\u0648\u0646 \u0644\u0627\u064a\u062a \u0641\u064a\u0627\u0645\u0643\u0648 7W \u2014 600 \u0644\u0648\u0645\u0646<\/option>\r\n      <option value=\"850\"  data-watts=\"10\" data-link=\"https:\/\/meshkati.sa\/ar\/hv-dl103smd-15-w.html\">\u062f\u0627\u0648\u0646 \u0644\u0627\u064a\u062a \u0641\u064a\u0627\u0645\u0643\u0648 10W \u2014 850 \u0644\u0648\u0645\u0646<\/option>\r\n      <option value=\"1300\" data-watts=\"15\" data-link=\"https:\/\/meshkati.sa\/ar\/nr-cl103cob-10-w.html\">\u062f\u0627\u0648\u0646 \u0644\u0627\u064a\u062a \u0641\u064a\u0627\u0645\u0643\u0648 15W \u2014 1300 \u0644\u0648\u0645\u0646<\/option>\r\n      <option value=\"2700\" data-watts=\"30\" data-link=\"https:\/\/meshkati.sa\/ar\/nr-sl101smd-5-3.html\">\u062f\u0627\u0648\u0646 \u0644\u0627\u064a\u062a \u0641\u064a\u0627\u0645\u0643\u0648 30W \u2014 2700 \u0644\u0648\u0645\u0646<\/option>\r\n      <option value=\"5700\" data-watts=\"60\" data-link=\"https:\/\/meshkati.sa\/ar\/nrp-slm101-10-36.html\">\u062f\u0627\u0648\u0646 \u0644\u0627\u064a\u062a \u0641\u064a\u0627\u0645\u0643\u0648 60W \u2014 5700 \u0644\u0648\u0645\u0646<\/option>\r\n      <option value=\"7600\" data-watts=\"80\" data-link=\"https:\/\/meshkati.sa\/ar\/nr-fr101-7-w-anti.html\">\u062f\u0627\u0648\u0646 \u0644\u0627\u064a\u062a \u0641\u064a\u0627\u0645\u0643\u0648 80W \u2014 7600 \u0644\u0648\u0645\u0646<\/option>\r\n    <\/select>\r\n\r\n    <div class=\"alert\" id=\"lamp_alert\">\u26a0\ufe0f \u0627\u062e\u062a\u0631 \u0645\u0646\u062a\u062c\u0627\u064b \u0644\u062d\u0633\u0627\u0628 \u0627\u0644\u0639\u062f\u062f \u0628\u062f\u0642\u0629<\/div>\r\n\r\n    <button class=\"calc-btn\" onclick=\"calculate()\">\u26a1 \u0627\u062d\u0633\u0628 \u0627\u0644\u0625\u0636\u0627\u0621\u0629<\/button>\r\n\r\n    <div id=\"summary\"><\/div>\r\n  <\/div>\r\n\r\n  <!-- \u2550\u2550\u2550 CANVAS \u2550\u2550\u2550 -->\r\n  <div class=\"canvas-area\">\r\n    <h4>\ud83d\udcd0 \u0645\u062e\u0637\u0637 \u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u0625\u0636\u0627\u0621\u0629<\/h4>\r\n    <canvas id=\"lightingCanvas\" width=\"760\" height=\"480\"><\/canvas>\r\n    <div class=\"legend\">\r\n      <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#c8a96e;\"><\/div> \u0633\u0628\u0648\u062a \u0644\u0627\u064a\u062a<\/div>\r\n      <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#2c3e50; border-radius:2px;\"><\/div> \u0645\u0633\u0627\u0631 \u0645\u063a\u0646\u0627\u0637\u064a\u0633\u064a<\/div>\r\n      <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#27ae60; border-radius:2px;\"><\/div> \u0625\u0636\u0627\u0621\u0629 \u0645\u062e\u0641\u064a\u0629<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\/\/  \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u062b\u0627\u0628\u062a\u0629 (\u0645\u0634 \u0644\u0644\u0639\u0645\u064a\u0644)\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\nconst FIXED_UF = 0.65;  \/\/ \u0645\u0639\u0627\u0645\u0644 \u0627\u0644\u0627\u0633\u062a\u0641\u0627\u062f\u0629\r\nconst FIXED_MF = 0.80;  \/\/ \u0645\u0639\u0627\u0645\u0644 \u0627\u0644\u0635\u064a\u0627\u0646\u0629\r\n\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\/\/  LUX STANDARDS  (ISO 8995 \/ IES)\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\nconst LUX_STANDARDS = {\r\n  living:   { lux: 300, label: \"\u063a\u0631\u0641\u0629 \u0645\u0639\u064a\u0634\u0629\",   desc: \"\u0625\u0636\u0627\u0621\u0629 \u0639\u0627\u0645\u0629 \u0645\u0631\u064a\u062d\u0629\" },\r\n  bedroom:  { lux: 150, label: \"\u063a\u0631\u0641\u0629 \u0646\u0648\u0645\",      desc: \"\u0625\u0636\u0627\u0621\u0629 \u0647\u0627\u062f\u0626\u0629 \u0648\u0645\u0631\u064a\u062d\u0629\" },\r\n  kitchen:  { lux: 500, label: \"\u0645\u0637\u0628\u062e\",           desc: \"\u0625\u0636\u0627\u0621\u0629 \u0639\u0627\u0644\u064a\u0629 \u0644\u0644\u0639\u0645\u0644\" },\r\n  study:    { lux: 500, label: \"\u0645\u0643\u062a\u0628 \/ \u062f\u0631\u0627\u0633\u0629\",  desc: \"\u0625\u0636\u0627\u0621\u0629 \u0645\u0631\u0643\u0651\u0632\u0629 \u0644\u0644\u0642\u0631\u0627\u0621\u0629\" },\r\n  bathroom: { lux: 300, label: \"\u062d\u0645\u0627\u0645\",           desc: \"\u0625\u0636\u0627\u0621\u0629 \u0645\u062a\u0648\u0627\u0632\u0646\u0629\" },\r\n  corridor: { lux: 150, label: \"\u0645\u0645\u0631\",            desc: \"\u0625\u0636\u0627\u0621\u0629 \u062a\u0648\u062c\u064a\u0647\u064a\u0629\" },\r\n};\r\n\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\/\/  UPDATE LUX BADGE\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\nfunction updateLuxBadge() {\r\n  const type = document.getElementById(\"room_type\").value;\r\n  const std  = LUX_STANDARDS[type];\r\n  document.getElementById(\"lux_display\").textContent = std.lux + \" lux\";\r\n}\r\n\r\nfunction updateLampLumens() {\r\n  const sel   = document.getElementById(\"lamps1\");\r\n  const alert = document.getElementById(\"lamp_alert\");\r\n  alert.style.display = sel.value ? \"none\" : \"block\";\r\n}\r\n\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\/\/  MAIN CALCULATION\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\nfunction calculate() {\r\n  const length  = parseFloat(document.getElementById(\"room_length\").value) || 0;\r\n  const width   = parseFloat(document.getElementById(\"room_width\").value)  || 0;\r\n  const type    = document.getElementById(\"room_type\").value;\r\n  const ltype   = document.getElementById(\"light_type\").value;\r\n  const lampSel = document.getElementById(\"lamps1\");\r\n\r\n  \/\/ \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u062b\u0627\u0628\u062a\u0629 \u2014 \u0645\u0634 \u0628\u064a\u0634\u0648\u0641\u0647\u0627 \u0627\u0644\u0639\u0645\u064a\u0644\r\n  const uf = FIXED_UF;\r\n  const mf = FIXED_MF;\r\n\r\n  if (length <= 0 || width <= 0) {\r\n    alert(\"\u0628\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0623\u0628\u0639\u0627\u062f \u0627\u0644\u063a\u0631\u0641\u0629\");\r\n    return;\r\n  }\r\n\r\n  const std     = LUX_STANDARDS[type];\r\n  const E       = std.lux;\r\n  const area    = length * width;\r\n  const lumens  = lampSel.value ? parseInt(lampSel.value) : 600;\r\n  const lampOpt = lampSel.options[lampSel.selectedIndex];\r\n  const watts   = lampSel.value ? parseInt(lampOpt.getAttribute(\"data-watts\")) : 0;\r\n  const link    = lampSel.value ? lampOpt.getAttribute(\"data-link\") : \"#\";\r\n  const lampName = lampSel.value ? lampOpt.textContent.trim() : \"\u2014\";\r\n\r\n  \/\/ \u2550\u2550 \u0627\u0644\u062d\u0633\u0627\u0628: N = (E \u00d7 A) \/ (\u03a6 \u00d7 UF \u00d7 MF)\r\n  const N_raw = (E * area) \/ (lumens * uf * mf);\r\n  const N     = Math.ceil(N_raw);\r\n\r\n  const cols = Math.ceil(Math.sqrt(N));\r\n  const rows = Math.ceil(N \/ cols);\r\n\r\n  const totalWatts = watts > 0 ? N * watts : null;\r\n\r\n  drawRoom(rows, cols, ltype, length, width);\r\n\r\n  \/\/ \u2550\u2550 \u0645\u0644\u062e\u0635 \u0627\u0644\u0646\u062a\u0627\u0626\u062c\r\n  const summaryHTML = `\r\n    <div class=\"summary-card\" style=\"margin-top:0;\">\r\n      <div class=\"row\">\r\n        <span class=\"key\">\u0646\u0648\u0639 \u0627\u0644\u063a\u0631\u0641\u0629<\/span>\r\n        <span class=\"val\">${std.label}<\/span>\r\n      <\/div>\r\n      <div class=\"row\">\r\n        <span class=\"key\">\u0627\u0644\u0645\u0633\u0627\u062d\u0629<\/span>\r\n        <span class=\"val\">${area.toFixed(1)} \u0645\u00b2<\/span>\r\n      <\/div>\r\n      <div class=\"row\">\r\n        <span class=\"key\">\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0625\u0636\u0627\u0621\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628<\/span>\r\n        <span class=\"val highlight\">${E} lux<\/span>\r\n      <\/div>\r\n      <div class=\"row\">\r\n        <span class=\"key\">\u0644\u0648\u0645\u0646 \u0627\u0644\u0648\u062d\u062f\u0629<\/span>\r\n        <span class=\"val\">${lumens.toLocaleString()} lm<\/span>\r\n      <\/div>\r\n      <div class=\"row\">\r\n        <span class=\"key\">\u0639\u062f\u062f \u0627\u0644\u0648\u062d\u062f\u0627\u062a \u0627\u0644\u0645\u0637\u0644\u0648\u0628<\/span>\r\n        <span class=\"val highlight\">\ud83d\udd06 ${N} \u0648\u062d\u062f\u0629<\/span>\r\n      <\/div>\r\n      <div class=\"row\">\r\n        <span class=\"key\">\u0627\u0644\u062a\u0648\u0632\u064a\u0639<\/span>\r\n        <span class=\"val\">${rows} \u0635\u0641\u0648\u0641 \u00d7 ${cols} \u0623\u0639\u0645\u062f\u0629<\/span>\r\n      <\/div>\r\n      ${totalWatts ? `\r\n      <div class=\"row\">\r\n        <span class=\"key\">\u0625\u062c\u0645\u0627\u0644\u064a \u0627\u0644\u0627\u0633\u062a\u0647\u0644\u0627\u0643<\/span>\r\n        <span class=\"val\">${totalWatts} \u0648\u0627\u0637<\/span>\r\n      <\/div>` : \"\"}\r\n      ${lampSel.value ? `\r\n      <div class=\"row\" style=\"flex-direction:column; gap:4px;\">\r\n        <span class=\"key\">\u0627\u0644\u0645\u0646\u062a\u062c \u0627\u0644\u0645\u062e\u062a\u0627\u0631<\/span>\r\n        <a href=\"${link}\" target=\"_blank\" style=\"color:#c8a96e; font-weight:600; font-size:13px; text-decoration:none;\">\r\n          \ud83d\udd17 ${lampName}\r\n        <\/a>\r\n      <\/div>` : \"\"}\r\n    <\/div>\r\n    <div class=\"formula-box\">\r\n     \r\n    <\/div>\r\n  `;\r\n\r\n  document.getElementById(\"summary\").innerHTML = summaryHTML;\r\n}\r\n\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\/\/  DRAW ROOM ON CANVAS\r\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\nfunction drawRoom(rows, cols, lightType, realLength, realWidth) {\r\n  const canvas = document.getElementById(\"lightingCanvas\");\r\n  const ctx    = canvas.getContext(\"2d\");\r\n  ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n  const margin = 80;\r\n  const roomW  = canvas.width  - 2 * margin;\r\n  const roomH  = canvas.height - 2 * margin;\r\n\r\n  ctx.fillStyle = \"#fdfcf8\";\r\n  ctx.fillRect(margin, margin, roomW, roomH);\r\n\r\n  ctx.strokeStyle = \"#1a1a2e\";\r\n  ctx.lineWidth   = 3;\r\n  ctx.strokeRect(margin, margin, roomW, roomH);\r\n\r\n  const stepX = roomW \/ (cols + 1);\r\n  const stepY = roomH \/ (rows + 1);\r\n\r\n  const realStepX_cm = (realWidth  * 100) \/ (cols + 1);\r\n  const realStepY_cm = (realLength * 100) \/ (rows + 1);\r\n\r\n  ctx.strokeStyle = \"#ddd\";\r\n  ctx.lineWidth   = 1;\r\n  ctx.setLineDash([5, 4]);\r\n\r\n  for (let i = 0; i <= cols; i++) {\r\n    const x = margin + stepX * i;\r\n    ctx.beginPath(); ctx.moveTo(x, margin); ctx.lineTo(x, margin + roomH); ctx.stroke();\r\n  }\r\n  for (let j = 0; j <= rows; j++) {\r\n    const y = margin + stepY * j;\r\n    ctx.beginPath(); ctx.moveTo(margin, y); ctx.lineTo(margin + roomW, y); ctx.stroke();\r\n  }\r\n  ctx.setLineDash([]);\r\n\r\n  ctx.font      = \"11px Segoe UI\";\r\n  ctx.fillStyle = \"#999\";\r\n  ctx.textAlign = \"center\";\r\n  ctx.fillText(`\u2190 ${realStepX_cm.toFixed(0)} \u0633\u0645 \u2192`, margin + stepX * 0.5, margin - 20);\r\n\r\n  ctx.save();\r\n  ctx.translate(margin - 20, margin + stepY * 0.5);\r\n  ctx.rotate(-Math.PI \/ 2);\r\n  ctx.fillText(`\u2190 ${realStepY_cm.toFixed(0)} \u0633\u0645 \u2192`, 0, 0);\r\n  ctx.restore();\r\n\r\n  ctx.font      = \"12px Segoe UI\";\r\n  ctx.fillStyle = \"#1a1a2e\";\r\n  ctx.textAlign = \"center\";\r\n  ctx.fillText(`\u0627\u0644\u0637\u0648\u0644: ${realLength} \u0645`, margin + roomW \/ 2, margin - 15);\r\n  ctx.save();\r\n  ctx.translate(margin - 35, margin + roomH \/ 2);\r\n  ctx.rotate(-Math.PI \/ 2);\r\n  ctx.fillText(`\u0627\u0644\u0639\u0631\u0636: ${realWidth} \u0645`, 0, 0);\r\n  ctx.restore();\r\n\r\n  for (let r = 1; r <= rows; r++) {\r\n    for (let c = 1; c <= cols; c++) {\r\n      const x = margin + stepX * c;\r\n      const y = margin + stepY * r;\r\n      drawLight(ctx, x, y, lightType);\r\n    }\r\n  }\r\n\r\n  const total = rows * cols;\r\n  ctx.font      = \"12px Segoe UI\";\r\n  ctx.fillStyle = \"#c8a96e\";\r\n  ctx.textAlign = \"center\";\r\n  ctx.fillText(`\u0625\u062c\u0645\u0627\u0644\u064a \u0627\u0644\u0648\u062d\u062f\u0627\u062a: ${total} | \u0635\u0641\u0648\u0641: ${rows} \u00d7 \u0623\u0639\u0645\u062f\u0629: ${cols}`, canvas.width \/ 2, canvas.height - 12);\r\n}\r\n\r\nfunction drawLight(ctx, x, y, type) {\r\n  ctx.save();\r\n  if (type === \"spot-light\") {\r\n    const grd = ctx.createRadialGradient(x, y, 2, x, y, 28);\r\n    grd.addColorStop(0,   \"rgba(255, 200, 80, 0.35)\");\r\n    grd.addColorStop(1,   \"rgba(255, 200, 80, 0)\");\r\n    ctx.fillStyle = grd;\r\n    ctx.beginPath(); ctx.arc(x, y, 28, 0, Math.PI * 2); ctx.fill();\r\n\r\n    ctx.fillStyle   = \"#c8a96e\";\r\n    ctx.strokeStyle = \"#fff\";\r\n    ctx.lineWidth   = 2;\r\n    ctx.shadowBlur  = 8;\r\n    ctx.shadowColor = \"#f39c12\";\r\n    ctx.beginPath(); ctx.arc(x, y, 10, 0, Math.PI * 2);\r\n    ctx.fill(); ctx.stroke();\r\n\r\n  } else if (type === \"magnetic-track\") {\r\n    ctx.strokeStyle = \"#2c3e50\";\r\n    ctx.lineWidth   = 8;\r\n    ctx.lineCap     = \"round\";\r\n    ctx.beginPath(); ctx.moveTo(x - 35, y); ctx.lineTo(x + 35, y); ctx.stroke();\r\n    ctx.fillStyle = \"#7f8c8d\";\r\n    ctx.beginPath(); ctx.arc(x, y, 6, 0, Math.PI * 2); ctx.fill();\r\n\r\n  } else if (type === \"led-strip\") {\r\n    ctx.strokeStyle = \"#27ae60\";\r\n    ctx.lineWidth   = 5;\r\n    ctx.lineCap     = \"round\";\r\n    ctx.shadowBlur  = 12;\r\n    ctx.shadowColor = \"#2ecc71\";\r\n    ctx.beginPath(); ctx.moveTo(x - 45, y); ctx.lineTo(x + 45, y); ctx.stroke();\r\n    ctx.shadowBlur  = 0;\r\n  }\r\n  ctx.restore();\r\n}\r\n\r\n\/\/ \u062a\u0634\u063a\u064a\u0644 \u0623\u0648\u0644 \u0645\u0631\u0629\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  updateLuxBadge();\r\n});\r\nupdateLuxBadge();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\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>\u062d\u0627\u0633\u0628\u0629 \u0627\u0644\u0625\u0636\u0627\u0621\u0629 \u062d\u0627\u0633\u0628\u0629 \u0627\u0644\u0625\u0636\u0627\u0621\u0629 \u0646\u0648\u0639 \u0627\u0644\u063a\u0631\u0641\u0629 \u063a\u0631\u0641\u0629 \u0645\u0639\u064a\u0634\u0629\u063a\u0631\u0641\u0629 \u0646\u0648\u0645\u0645\u0637\u0628\u062e\u063a\u0631\u0641\u0629 \u062f\u0631\u0627\u0633\u0629 \/ \u0645\u0643\u062a\u0628\u062d\u0645\u0627\u0645\u0645\u0645\u0631 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0625\u0636\u0627\u0621\u0629 \u0627\u0644\u0645\u0639\u064a\u0627\u0631\u064a: 300 lux \u0627\u0644\u0637\u0648\u0644 (\u0645\u062a\u0631) \u0627\u0644\u0639\u0631\u0636<\/p>","protected":false},"author":48789,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-29055","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/fiamco.com\/en\/wp-json\/wp\/v2\/pages\/29055","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fiamco.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fiamco.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fiamco.com\/en\/wp-json\/wp\/v2\/users\/48789"}],"replies":[{"embeddable":true,"href":"https:\/\/fiamco.com\/en\/wp-json\/wp\/v2\/comments?post=29055"}],"version-history":[{"count":87,"href":"https:\/\/fiamco.com\/en\/wp-json\/wp\/v2\/pages\/29055\/revisions"}],"predecessor-version":[{"id":31359,"href":"https:\/\/fiamco.com\/en\/wp-json\/wp\/v2\/pages\/29055\/revisions\/31359"}],"wp:attachment":[{"href":"https:\/\/fiamco.com\/en\/wp-json\/wp\/v2\/media?parent=29055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}