{
    "id": 626,
    "date": "2026-05-01T23:49:34",
    "date_gmt": "2026-05-01T23:49:34",
    "guid": {
        "rendered": "https:\/\/elasragrealestate.com\/?p=626"
    },
    "modified": "2026-05-01T23:49:36",
    "modified_gmt": "2026-05-01T23:49:36",
    "slug": "sadat-techs",
    "status": "publish",
    "type": "post",
    "link": "https:\/\/elasragrealestate.com\/en_us\/2026\/05\/01\/23\/49\/34\/626\/sadat-techs\/uncategorized\/elasrag\/",
    "title": {
        "rendered": "sadat-techs"
    },
    "content": {
        "rendered": "<div class=\"ere-tech-container\" style=\"font-family:'Cairo',sans-serif;\">\r\n\r\n    <!-- Hero Section -->\r\n    <div class=\"tech-hero\" style=\"background:linear-gradient(135deg, #1e3a5f 0%, #0f2744 100%);padding:40px 20px;text-align:center;color:white;\">\r\n        <h1 style=\"font-size:32px;margin-bottom:10px;font-weight:800;\">\u0641\u0646\u064a\u064a\u0646 \u0645\u062f\u064a\u0646\u0629 \u0627\u0644\u0633\u0627\u062f\u0627\u062a<\/h1>\r\n        <p style=\"font-size:18px;opacity:0.9;\">\u0623\u0641\u0636\u0644 \u0627\u0644\u0641\u0646\u064a\u064a\u0646 \u0648\u0627\u0644\u062d\u0631\u0641\u064a\u064a\u0646 - \u0643\u0647\u0631\u0628\u0627\u0626\u064a\u060c \u0646\u062c\u0627\u0631\u060c \u0633\u0628\u0627\u0643\u060c \u0648\u0643\u0644 \u0645\u0627 \u062a\u062d\u062a\u0627\u062c\u0647<\/p>\r\n        <div class=\"tech-stats\" style=\"display:flex;justify-content:center;gap:40px;margin-top:20px;flex-wrap:wrap;\">\r\n            <div class=\"tech-stat\" style=\"text-align:center;\"><div id=\"totalTechs\" style=\"font-size:28px;font-weight:800;color:#d4af37;\">0<\/div><div style=\"font-size:14px;opacity:0.8;\">\u0641\u0646\u064a \u0645\u0633\u062c\u0644<\/div><\/div>\r\n            <div class=\"tech-stat\" style=\"text-align:center;\"><div id=\"totalJobs\" style=\"font-size:28px;font-weight:800;color:#d4af37;\">0<\/div><div style=\"font-size:14px;opacity:0.8;\">\u0645\u0647\u0646\u0629 \u0645\u062a\u0627\u062d\u0629<\/div><\/div>\r\n            <div class=\"tech-stat\" style=\"text-align:center;\"><div id=\"totalReviews\" style=\"font-size:28px;font-weight:800;color:#d4af37;\">0<\/div><div style=\"font-size:14px;opacity:0.8;\">\u062a\u0642\u064a\u064a\u0645<\/div><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Filters -->\r\n    <div class=\"tech-filters\" style=\"background:white;padding:20px;margin:-20px auto 20px;max-width:1200px;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,0.1);display:flex;gap:10px;flex-wrap:wrap;align-items:center;\">\r\n        <select id=\"filterJob\" style=\"padding:12px 15px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;flex:1;min-width:120px;font-family:'Cairo',sans-serif;\"><option value=\"\">\u0643\u0644 \u0627\u0644\u0645\u0647\u0646<\/option><\/select>\r\n        <select id=\"filterArea\" style=\"padding:12px 15px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;flex:1;min-width:120px;font-family:'Cairo',sans-serif;\"><option value=\"\">\u0643\u0644 \u0627\u0644\u0645\u0646\u0627\u0637\u0642<\/option><\/select>\r\n        <input type=\"text\" id=\"filterSearch\" placeholder=\"\u0627\u0628\u062d\u062b \u0628\u0627\u0633\u0645 \u0627\u0644\u0641\u0646\u064a...\" style=\"padding:12px 15px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;flex:1;min-width:120px;font-family:'Cairo',sans-serif;\">\r\n        <button onclick=\"applyFilters()\" style=\"padding:12px 20px;background:#1e3a5f;color:white;border:none;border-radius:8px;cursor:pointer;font-weight:bold;font-family:'Cairo',sans-serif;\">\ud83d\udd0d \u0641\u0644\u062a\u0631<\/button>\r\n        <button onclick=\"resetFilters()\" style=\"padding:12px 20px;background:#666;color:white;border:none;border-radius:8px;cursor:pointer;font-weight:bold;font-family:'Cairo',sans-serif;\">\u0625\u0639\u0627\u062f\u0629<\/button>\r\n    <\/div>\r\n\r\n    <!-- Content -->\r\n    <div style=\"max-width:1400px;margin:0 auto;padding:20px;\">\r\n        <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;\">\r\n            <h2 style=\"color:#1e3a5f;font-size:24px;\">\ud83d\udc68\u200d\ud83d\udd27 \u0627\u0644\u0641\u0646\u064a\u064a\u0646 \u0627\u0644\u0645\u062a\u0627\u062d\u064a\u0646<\/h2>\r\n            <a href=\"https:\/\/elasragrealestate.com\/ar\/join-techs\/\" style=\"background:#d4af37;color:#1e3a5f;padding:12px 25px;border-radius:8px;text-decoration:none;font-weight:bold;display:inline-block;\">\u2795 \u0633\u062c\u0644 \u0643\u0641\u0646\u064a \u062c\u062f\u064a\u062f<\/a>\r\n        <\/div>\r\n        <div id=\"techGrid\" style=\"display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:20px;\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- Modal: \u0639\u0631\u0636 \u0627\u0644\u0633\u0639\u0631 -->\r\n<div id=\"quoteModal\" style=\"display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:10000;justify-content:center;align-items:center;\">\r\n    <div style=\"background:white;border-radius:16px;padding:30px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;\">\r\n        <button onclick=\"closeQuoteModal()\" style=\"position:absolute;top:15px;left:15px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;\">\u00d7<\/button>\r\n        <h3 style=\"color:#1e3a5f;font-size:22px;margin-bottom:20px;text-align:center;\">\ud83d\udcac \u0637\u0644\u0628 \u0639\u0631\u0636 \u0633\u0639\u0631<\/h3>\r\n        <form id=\"quoteForm\" onsubmit=\"return submitQuote(event)\" action=\"\">\r\n            <input type=\"hidden\" id=\"quoteTechId\">\r\n            <div style=\"margin-bottom:15px;\"><label style=\"display:block;font-weight:700;margin-bottom:5px;color:#1a202c;\">\u0627\u0644\u0627\u0633\u0645 <span style=\"color:#e53e3e;\">*<\/span><\/label><input type=\"text\" id=\"quoteClientName\" required style=\"width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-family:'Cairo',sans-serif;\" placeholder=\"\u0627\u0633\u0645\u0643 \u0627\u0644\u0643\u0627\u0645\u0644\"><\/div>\r\n            <div style=\"margin-bottom:15px;\"><label style=\"display:block;font-weight:700;margin-bottom:5px;color:#1a202c;\">\u0631\u0642\u0645 \u0627\u0644\u062a\u0644\u064a\u0641\u0648\u0646 <span style=\"color:#e53e3e;\">*<\/span><\/label><input type=\"tel\" id=\"quoteClientPhone\" required pattern=\"[0-9]{11}\" style=\"width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-family:'Cairo',sans-serif;\" placeholder=\"01234567890\"><\/div>\r\n            <div style=\"margin-bottom:15px;\"><label style=\"display:block;font-weight:700;margin-bottom:5px;color:#1a202c;\">\u0646\u0648\u0639 \u0627\u0644\u062e\u062f\u0645\u0629<\/label><input type=\"text\" id=\"quoteServiceType\" style=\"width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-family:'Cairo',sans-serif;\" placeholder=\"\u0645\u062b\u0627\u0644: \u0635\u064a\u0627\u0646\u0629 \u062a\u0643\u064a\u064a\u0641\"><\/div>\r\n            <div style=\"margin-bottom:20px;\"><label style=\"display:block;font-weight:700;margin-bottom:5px;color:#1a202c;\">\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0637\u0644\u0628<\/label><textarea id=\"quoteDetails\" rows=\"4\" style=\"width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-family:'Cairo',sans-serif;resize:vertical;\" placeholder=\"\u0627\u0643\u062a\u0628 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062e\u062f\u0645\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629...\"><\/textarea><\/div>\r\n            <button type=\"submit\" style=\"width:100%;padding:14px;background:linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);color:white;border:none;border-radius:8px;font-family:'Cairo',sans-serif;font-size:16px;font-weight:800;cursor:pointer;\"><i class=\"fas fa-paper-plane\"><\/i> \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0637\u0644\u0628<\/button>\r\n        <input type=\"hidden\" name=\"trp-form-language\" value=\"en_us\"\/><\/form>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- Modal: \u0627\u0644\u062a\u0642\u064a\u064a\u0645 -->\r\n<div id=\"reviewModal\" style=\"display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:10000;justify-content:center;align-items:center;\">\r\n    <div style=\"background:white;border-radius:16px;padding:30px;max-width:500px;width:90%;position:relative;\">\r\n        <button onclick=\"closeReviewModal()\" style=\"position:absolute;top:15px;left:15px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;\">\u00d7<\/button>\r\n        <h3 style=\"color:#1e3a5f;font-size:22px;margin-bottom:20px;text-align:center;\">\u2b50 \u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u0641\u0646\u064a<\/h3>\r\n        <form id=\"reviewForm\" onsubmit=\"return submitReview(event)\" action=\"\">\r\n            <input type=\"hidden\" id=\"reviewTechId\">\r\n            <div style=\"text-align:center;margin-bottom:20px;\">\r\n                <div id=\"starRating\" style=\"font-size:32px;cursor:pointer;\">\r\n                    <span data-rating=\"1\" onclick=\"setRating(1)\" style=\"color:#ddd;\">\u2605<\/span>\r\n                    <span data-rating=\"2\" onclick=\"setRating(2)\" style=\"color:#ddd;\">\u2605<\/span>\r\n                    <span data-rating=\"3\" onclick=\"setRating(3)\" style=\"color:#ddd;\">\u2605<\/span>\r\n                    <span data-rating=\"4\" onclick=\"setRating(4)\" style=\"color:#ddd;\">\u2605<\/span>\r\n                    <span data-rating=\"5\" onclick=\"setRating(5)\" style=\"color:#ddd;\">\u2605<\/span>\r\n                <\/div>\r\n                <input type=\"hidden\" id=\"reviewRating\" value=\"5\">\r\n                <div id=\"ratingText\" style=\"color:#666;margin-top:5px;font-size:14px;\">\u0645\u0645\u062a\u0627\u0632<\/div>\r\n            <\/div>\r\n            <div style=\"margin-bottom:15px;\"><label style=\"display:block;font-weight:700;margin-bottom:5px;color:#1a202c;\">\u0627\u0633\u0645\u0643<\/label><input type=\"text\" id=\"reviewAuthorName\" style=\"width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-family:'Cairo',sans-serif;\" placeholder=\"\u0627\u0633\u0645\u0643 (\u0627\u062e\u062a\u064a\u0627\u0631\u064a)\"><\/div>\r\n            <div style=\"margin-bottom:15px;\"><label style=\"display:block;font-weight:700;margin-bottom:5px;color:#1a202c;\">\u0631\u0642\u0645 \u0627\u0644\u062a\u0644\u064a\u0641\u0648\u0646<\/label><input type=\"tel\" id=\"reviewAuthorPhone\" style=\"width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-family:'Cairo',sans-serif;\" placeholder=\"\u0631\u0642\u0645\u0643 (\u0627\u062e\u062a\u064a\u0627\u0631\u064a)\"><\/div>\r\n            <div style=\"margin-bottom:20px;\"><label style=\"display:block;font-weight:700;margin-bottom:5px;color:#1a202c;\">\u062a\u0639\u0644\u064a\u0642\u0643<\/label><textarea id=\"reviewComment\" rows=\"3\" style=\"width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-family:'Cairo',sans-serif;resize:vertical;\" placeholder=\"\u0627\u0643\u062a\u0628 \u062a\u062c\u0631\u0628\u062a\u0643 \u0645\u0639 \u0627\u0644\u0641\u0646\u064a...\"><\/textarea><\/div>\r\n            <button type=\"submit\" style=\"width:100%;padding:14px;background:linear-gradient(135deg, #d4af37 0%, #b8941f 100%);color:#1e3a5f;border:none;border-radius:8px;font-family:'Cairo',sans-serif;font-size:16px;font-weight:800;cursor:pointer;\"><i class=\"fas fa-star\"><\/i> \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u062a\u0642\u064a\u064a\u0645<\/button>\r\n        <input type=\"hidden\" name=\"trp-form-language\" value=\"en_us\"\/><\/form>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- Modal: \u0639\u0631\u0636 \u0627\u0644\u062a\u0642\u064a\u064a\u0645\u0627\u062a -->\r\n<div id=\"reviewsListModal\" style=\"display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:10000;justify-content:center;align-items:center;\">\r\n    <div style=\"background:white;border-radius:16px;padding:30px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;position:relative;\">\r\n        <button onclick=\"closeReviewsListModal()\" style=\"position:absolute;top:15px;left:15px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;\">\u00d7<\/button>\r\n        <h3 style=\"color:#1e3a5f;font-size:22px;margin-bottom:20px;text-align:center;\">\u2b50 \u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0627\u0644\u0641\u0646\u064a<\/h3>\r\n        <div id=\"reviewsListContent\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- Toast -->\r\n<div id=\"toast\" style=\"position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:#38a169;color:white;padding:18px 35px;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,0.2);z-index:99999;opacity:0;transition:all 0.4s;font-weight:700;\"><\/div>\r\n\r\n<style>\r\n.tech-card { background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.1);transition:transform 0.3s, box-shadow 0.3s; }\r\n.tech-card:hover { transform:translateY(-5px);box-shadow:0 12px 24px rgba(0,0,0,0.15); }\r\n.tech-card-header { background:linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);padding:20px;text-align:center;color:white;position:relative; }\r\n.tech-avatar { width:80px;height:80px;border-radius:50%;border:3px solid #d4af37;margin-bottom:10px;background:white;object-fit:cover; }\r\n.btn-call { display:block;width:100%;padding:12px;background:#38a169;color:white;text-align:center;text-decoration:none;border-radius:8px;font-weight:bold;margin-bottom:8px;transition:background 0.3s; }\r\n.btn-call:hover { background:#2f855a; }\r\n.btn-chat { display:block;width:100%;padding:12px;background:#3182ce;color:white;text-align:center;border:none;border-radius:8px;font-weight:bold;cursor:pointer;margin-bottom:8px;font-family:'Cairo',sans-serif;transition:background 0.3s; }\r\n.btn-chat:hover { background:#2c5282; }\r\n.btn-review { display:block;width:100%;padding:12px;background:#1e3a5f;color:white;text-align:center;border:none;border-radius:8px;font-weight:bold;cursor:pointer;font-family:'Cairo',sans-serif;transition:background 0.3s; }\r\n.btn-review:hover { background:#0f2744; }\r\n.btn-reviews { display:block;width:100%;padding:8px;background:#f7fafc;color:#1e3a5f;text-align:center;border:1px solid #e2e8f0;border-radius:8px;font-weight:bold;cursor:pointer;font-family:'Cairo',sans-serif;margin-top:8px;font-size:13px;transition:background 0.3s; }\r\n.btn-reviews:hover { background:#edf2f7; }\r\n.btn-subscribe { display:block;width:100%;padding:8px;background:linear-gradient(135deg, #d4af37 0%, #b8941f 100%);color:#1e3a5f;text-align:center;border:none;border-radius:8px;font-weight:bold;cursor:pointer;font-family:'Cairo',sans-serif;margin-top:8px;font-size:13px;transition:transform 0.2s;text-decoration:none; }\r\n.btn-subscribe:hover { transform:translateY(-2px); }\r\n.review-item { border-bottom:1px solid #e2e8f0;padding:15px 0; }\r\n.review-item:last-child { border-bottom:none; }\r\n@keyframes fadeInUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }\r\n.tech-card { animation:fadeInUp 0.5s ease forwards; }\r\n<\/style>\r\n\r\n<script>\r\nconst REST_URL = 'https:\/\/elasragrealestate.com\/en_us\/wp-json\/ere-tech\/v1\/technicians';\r\nconst JOBS_URL = 'https:\/\/elasragrealestate.com\/en_us\/wp-json\/ere-tech\/v1\/jobs';\r\nconst AREAS_URL = 'https:\/\/elasragrealestate.com\/en_us\/wp-json\/ere-tech\/v1\/areas';\r\nconst REVIEWS_URL = 'https:\/\/elasragrealestate.com\/en_us\/wp-json\/ere-tech\/v1\/reviews';\r\nconst QUOTE_URL = 'https:\/\/elasragrealestate.com\/en_us\/wp-json\/ere-tech\/v1\/quote';\r\nconst SETTINGS_URL = 'https:\/\/elasragrealestate.com\/en_us\/wp-json\/ere-tech\/v1\/settings';\r\nconst SUBSCRIBE_PAGE_URL = 'https:\/\/elasragrealestate.com\/ar\/subscribe-tech\/';\r\nlet technicians = [];\r\nlet jobsList = [];\r\nlet areasList = [];\r\nlet systemSettings = {};\r\n\r\nasync function loadData() {\r\n    try {\r\n        const [techResponse, jobsResponse, areasResponse, settingsResponse] = await Promise.all([\r\n            fetch(REST_URL), fetch(JOBS_URL), fetch(AREAS_URL), fetch(SETTINGS_URL)\r\n        ]);\r\n        const techData = await techResponse.json();\r\n        jobsList = await jobsResponse.json();\r\n        areasList = await areasResponse.json();\r\n        systemSettings = await settingsResponse.json();\r\n        technicians = techData.filter(t => !t.hidden);\r\n        technicians.sort((a, b) => (b.featured ? 1 : 0) - (a.featured ? 1 : 0));\r\n        populateFilters();\r\n        render(technicians);\r\n        updateStats();\r\n    } catch (error) {\r\n        console.error('Error:', error);\r\n        document.getElementById('techGrid').innerHTML = '<p style=\"text-align:center;padding:40px;color:#666;\">\u062e\u0637\u0623 \u0641\u064a \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a. \u062d\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649.<\/p>';\r\n    }\r\n}\r\n\r\nfunction render(data) {\r\n    let g = document.getElementById('techGrid');\r\n    if(!data.length) { g.innerHTML = '<p style=\"text-align:center;color:#666;padding:40px;\">\u0644\u0627 \u064a\u0648\u062c\u062f \u0641\u0646\u064a\u064a\u0646 \u0645\u062a\u0627\u062d\u064a\u0646 \u062d\u0627\u0644\u064a\u0627\u064b<\/p>'; return; }\r\n    g.innerHTML = data.map((t, index) => {\r\n        let image = t.image || 'https:\/\/ui-avatars.com\/api\/?name=' + encodeURIComponent(t.name) + '&background=1e3a5f&color=d4af37&size=80';\r\n        let featuredBadge = '';\r\n        if (t.featured) {\r\n            featuredBadge = '<span style=\"position:absolute;top:10px;right:10px;background:#d4af37;color:#1e3a5f;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:bold;\">\u2b50 \u0645\u0645\u064a\u0632<\/span>';\r\n        } else if (t.featured_status === 'pending') {\r\n            featuredBadge = '<span style=\"position:absolute;top:10px;right:10px;background:#d69e2e;color:white;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:bold;\">\u23f3 \u0642\u064a\u062f \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629<\/span>';\r\n        }\r\n        let ratingStars = '';\r\n        if (t.rating > 0) {\r\n            ratingStars = '\u2b50'.repeat(Math.round(t.rating)) + ' <span style=\"color:#666;font-size:13px;\">(' + t.rating + '\/5 - ' + t.reviews_count + ' \u062a\u0642\u064a\u064a\u0645)<\/span>';\r\n        } else {\r\n            ratingStars = '<span style=\"color:#999;font-size:13px;\">\u0644\u0627 \u064a\u0648\u062c\u062f \u062a\u0642\u064a\u064a\u0645\u0627\u062a<\/span>';\r\n        }\r\n        let quoteBtn = systemSettings.enable_quotes ? `<button class=\"btn-chat\" onclick=\"openQuoteModal(${t.id}, '${t.name}')\">\ud83d\udcac \u0639\u0631\u0636 \u0627\u0644\u0633\u0639\u0631<\/button>` : '';\r\n        let reviewBtn = systemSettings.enable_reviews ? `<button class=\"btn-review\" onclick=\"openReviewModal(${t.id}, '${t.name}')\">\u2b50 \u062a\u0642\u064a\u064a\u0645<\/button>` : '';\r\n        let reviewsListBtn = systemSettings.enable_reviews ? `<button class=\"btn-reviews\" onclick=\"openReviewsListModal(${t.id}, '${t.name}')\">\ud83d\udccb \u0639\u0631\u0636 \u0627\u0644\u062a\u0642\u064a\u064a\u0645\u0627\u062a (${t.reviews_count})<\/button>` : '';\r\n        let subscribeBtn = '';\r\n        if (systemSettings.enable_featured) {\r\n            if (t.featured) {\r\n                subscribeBtn = `<div style=\"display:block;width:100%;padding:8px;background:#38a169;color:white;text-align:center;border-radius:8px;font-weight:bold;font-size:13px;margin-top:8px;\">\u2705 \u0645\u0634\u062a\u0631\u0643 \u0645\u0645\u064a\u0632<\/div>`;\r\n            } else if (t.featured_status === 'pending') {\r\n                subscribeBtn = `<div style=\"display:block;width:100%;padding:8px;background:#d69e2e;color:white;text-align:center;border-radius:8px;font-weight:bold;font-size:13px;margin-top:8px;\">\u23f3 \u0642\u064a\u062f \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629<\/div>`;\r\n            } else {\r\n                subscribeBtn = `<button onclick=\"window.location.href='${SUBSCRIBE_PAGE_URL}?tech_id=${t.id}'\" class=\"btn-subscribe\" style=\"border:none;width:100%;\">\ud83d\udc51 \u0627\u0634\u062a\u0631\u0643 \u0643\u0645\u0645\u064a\u0632<\/button>`;\r\n            }\r\n        }\r\n        return `\r\n        <div class=\"tech-card\" style=\"position:relative;animation-delay:${index * 0.1}s;\">\r\n            ${featuredBadge}\r\n            <div class=\"tech-card-header\">\r\n                <img decoding=\"async\" src=\"${image}\" class=\"tech-avatar\" alt=\"${t.name}\" onerror=\"this.src='https:\/\/ui-avatars.com\/api\/?name=${encodeURIComponent(t.name)}&background=1e3a5f&color=d4af37&size=80'\">\r\n                <div style=\"font-size:18px;font-weight:bold;\">${t.name}<\/div>\r\n                <span style=\"background:#d4af37;color:#1e3a5f;padding:4px 18px;border-radius:20px;font-size:13px;font-weight:bold;display:inline-block;margin-top:5px;\">${t.job}<\/span>\r\n                <div style=\"margin-top:8px;font-size:14px;\">${ratingStars}<\/div>\r\n            <\/div>\r\n            <div style=\"padding:20px;\">\r\n                <div style=\"color:#666;font-size:14px;margin-bottom:12px;text-align:center;line-height:1.6;\">${t.description || '\u0641\u0646\u064a ' + t.job + ' \u0641\u064a ' + t.area}<\/div>\r\n                <div style=\"color:#555;font-size:14px;line-height:2;text-align:center;\">\r\n                    \ud83d\udccd ${t.area}<br>\r\n                    \ud83d\udcde <span dir=\"ltr\">${t.phone}<\/span>\r\n                <\/div>\r\n                <div style=\"margin-top:15px;\">\r\n                    <a href=\"tel:${t.phone}\" class=\"btn-call\">\ud83d\udcde \u0627\u062a\u0635\u0644 \u0627\u0644\u0622\u0646<\/a>\r\n                    ${quoteBtn}\r\n                    ${reviewBtn}\r\n                    ${reviewsListBtn}\r\n                    ${subscribeBtn}\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>`;\r\n    }).join('');\r\n}\r\n\r\nfunction populateFilters() {\r\n    let jobSelect = document.getElementById('filterJob');\r\n    let areaSelect = document.getElementById('filterArea');\r\n    jobSelect.innerHTML = '<option value=\"\">\u0643\u0644 \u0627\u0644\u0645\u0647\u0646<\/option>' + jobsList.map(j => `<option value=\"${j.name}\">${j.name}<\/option>`).join('');\r\n    areaSelect.innerHTML = '<option value=\"\">\u0643\u0644 \u0627\u0644\u0645\u0646\u0627\u0637\u0642<\/option>' + areasList.map(a => `<option value=\"${a.name}\">${a.name}<\/option>`).join('');\r\n}\r\n\r\nfunction applyFilters() {\r\n    let j = document.getElementById('filterJob').value;\r\n    let a = document.getElementById('filterArea').value;\r\n    let s = document.getElementById('filterSearch').value.toLowerCase();\r\n    let f = technicians.filter(t => {\r\n        return (!j || t.job === j) && (!a || t.area === a) && (!s || t.name.toLowerCase().includes(s) || t.job.includes(s));\r\n    });\r\n    render(f);\r\n}\r\n\r\nfunction resetFilters() {\r\n    document.getElementById('filterJob').value = '';\r\n    document.getElementById('filterArea').value = '';\r\n    document.getElementById('filterSearch').value = '';\r\n    render(technicians);\r\n}\r\n\r\nfunction updateStats() {\r\n    document.getElementById('totalTechs').textContent = technicians.length;\r\n    document.getElementById('totalJobs').textContent = jobsList.length;\r\n    let totalReviews = technicians.reduce((sum, t) => sum + t.reviews_count, 0);\r\n    document.getElementById('totalReviews').textContent = totalReviews;\r\n}\r\n\r\n\/\/ ===== MODALS =====\r\nfunction openQuoteModal(techId, techName) {\r\n    if (!systemSettings.enable_quotes) { showToast('\u274c \u0646\u0638\u0627\u0645 \u0639\u0631\u0648\u0636 \u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0645\u0639\u0637\u0644 \u062d\u0627\u0644\u064a\u0627\u064b'); return; }\r\n    document.getElementById('quoteTechId').value = techId;\r\n    document.getElementById('quoteModal').style.display = 'flex';\r\n}\r\nfunction closeQuoteModal() {\r\n    document.getElementById('quoteModal').style.display = 'none';\r\n    document.getElementById('quoteForm').reset();\r\n}\r\nasync function submitQuote(e) {\r\n    e.preventDefault();\r\n    if (!systemSettings.enable_quotes) { showToast('\u274c \u0646\u0638\u0627\u0645 \u0639\u0631\u0648\u0636 \u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0645\u0639\u0637\u0644 \u062d\u0627\u0644\u064a\u0627\u064b'); return false; }\r\n    let techId = document.getElementById('quoteTechId').value;\r\n    let clientName = document.getElementById('quoteClientName').value.trim();\r\n    let clientPhone = document.getElementById('quoteClientPhone').value.trim();\r\n    let serviceType = document.getElementById('quoteServiceType').value.trim();\r\n    let details = document.getElementById('quoteDetails').value.trim();\r\n    if (!clientName || !clientPhone) { showToast('\u274c \u064a\u0631\u062c\u0649 \u0645\u0644\u0621 \u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0642\u0648\u0644 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629'); return false; }\r\n    if (!\/^01[0-9]{9}$\/.test(clientPhone)) { showToast('\u274c \u0631\u0642\u0645 \u062a\u0644\u064a\u0641\u0648\u0646 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d'); return false; }\r\n    let btn = e.target.querySelector('button[type=\"submit\"]');\r\n    btn.innerHTML = '<i class=\"fas fa-spinner fa-spin\"><\/i> \u062c\u0627\u0631\u064a \u0627\u0644\u0625\u0631\u0633\u0627\u0644...'; btn.disabled = true;\r\n    try {\r\n        let response = await fetch(QUOTE_URL, { method: 'POST', headers: {'Content-Type': 'application\/json'}, body: JSON.stringify({ tech_id: techId, client_name: clientName, client_phone: clientPhone, service_type: serviceType, details: details }) });\r\n        let data = await response.json();\r\n        btn.innerHTML = '<i class=\"fas fa-paper-plane\"><\/i> \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0637\u0644\u0628'; btn.disabled = false;\r\n        if (data.success) { showToast('\u2705 ' + data.message); closeQuoteModal(); } else { showToast('\u274c ' + (data.message || '\u062d\u062f\u062b \u062e\u0637\u0623')); }\r\n    } catch (err) { btn.innerHTML = '<i class=\"fas fa-paper-plane\"><\/i> \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0637\u0644\u0628'; btn.disabled = false; showToast('\u274c \u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u0627\u062a\u0635\u0627\u0644'); }\r\n    return false;\r\n}\r\n\r\nlet currentRating = 5;\r\nfunction openReviewModal(techId, techName) {\r\n    if (!systemSettings.enable_reviews) { showToast('\u274c \u0646\u0638\u0627\u0645 \u0627\u0644\u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0645\u0639\u0637\u0644 \u062d\u0627\u0644\u064a\u0627\u064b'); return; }\r\n    document.getElementById('reviewTechId').value = techId;\r\n    document.getElementById('reviewModal').style.display = 'flex';\r\n    setRating(5);\r\n}\r\nfunction closeReviewModal() {\r\n    document.getElementById('reviewModal').style.display = 'none';\r\n    document.getElementById('reviewForm').reset();\r\n    setRating(5);\r\n}\r\nfunction setRating(rating) {\r\n    currentRating = rating;\r\n    document.getElementById('reviewRating').value = rating;\r\n    let stars = document.querySelectorAll('#starRating span');\r\n    stars.forEach((star, index) => { star.style.color = index < rating ? '#d4af37' : '#ddd'; });\r\n    const texts = ['\u0633\u064a\u0621 \u062c\u062f\u0627\u064b', '\u0633\u064a\u0621', '\u0645\u062a\u0648\u0633\u0637', '\u062c\u064a\u062f', '\u0645\u0645\u062a\u0627\u0632'];\r\n    document.getElementById('ratingText').textContent = texts[rating - 1];\r\n}\r\nasync function submitReview(e) {\r\n    e.preventDefault();\r\n    if (!systemSettings.enable_reviews) { showToast('\u274c \u0646\u0638\u0627\u0645 \u0627\u0644\u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0645\u0639\u0637\u0644 \u062d\u0627\u0644\u064a\u0627\u064b'); return false; }\r\n    let techId = document.getElementById('reviewTechId').value;\r\n    let rating = parseInt(document.getElementById('reviewRating').value);\r\n    let comment = document.getElementById('reviewComment').value.trim();\r\n    let authorName = document.getElementById('reviewAuthorName').value.trim() || '\u0639\u0645\u064a\u0644';\r\n    let authorPhone = document.getElementById('reviewAuthorPhone').value.trim();\r\n    let btn = e.target.querySelector('button[type=\"submit\"]');\r\n    btn.innerHTML = '<i class=\"fas fa-spinner fa-spin\"><\/i> \u062c\u0627\u0631\u064a \u0627\u0644\u0625\u0631\u0633\u0627\u0644...'; btn.disabled = true;\r\n    try {\r\n        let response = await fetch('https:\/\/elasragrealestate.com\/en_us\/wp-json\/ere-tech\/v1\/reviews', { method: 'POST', headers: {'Content-Type': 'application\/json'}, body: JSON.stringify({ tech_id: techId, rating: rating, comment: comment, author_name: authorName, author_phone: authorPhone }) });\r\n        let data = await response.json();\r\n        btn.innerHTML = '<i class=\"fas fa-star\"><\/i> \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u062a\u0642\u064a\u064a\u0645'; btn.disabled = false;\r\n        if (data.success) { showToast('\u2705 ' + data.message); closeReviewModal(); } else { showToast('\u274c ' + (data.message || '\u062d\u062f\u062b \u062e\u0637\u0623')); }\r\n    } catch (err) { btn.innerHTML = '<i class=\"fas fa-star\"><\/i> \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u062a\u0642\u064a\u064a\u0645'; btn.disabled = false; showToast('\u274c \u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u0627\u062a\u0635\u0627\u0644'); }\r\n    return false;\r\n}\r\n\r\nasync function openReviewsListModal(techId, techName) {\r\n    if (!systemSettings.enable_reviews) { showToast('\u274c \u0646\u0638\u0627\u0645 \u0627\u0644\u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0645\u0639\u0637\u0644 \u062d\u0627\u0644\u064a\u0627\u064b'); return; }\r\n    document.getElementById('reviewsListModal').style.display = 'flex';\r\n    document.getElementById('reviewsListContent').innerHTML = '<p style=\"text-align:center;padding:20px;\"><i class=\"fas fa-spinner fa-spin\" style=\"font-size:24px;color:#1e3a5f;\"><\/i><\/p>';\r\n    try {\r\n        let response = await fetch(REVIEWS_URL + '\/' + techId);\r\n        let reviews = await response.json();\r\n        if (!reviews.length) { document.getElementById('reviewsListContent').innerHTML = '<p style=\"text-align:center;color:#666;padding:20px;\">\u0644\u0627 \u064a\u0648\u062c\u062f \u062a\u0642\u064a\u064a\u0645\u0627\u062a \u062d\u0627\u0644\u064a\u0627\u064b<\/p>'; return; }\r\n        document.getElementById('reviewsListContent').innerHTML = reviews.map(r => `\r\n            <div class=\"review-item\">\r\n                <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\r\n                    <span style=\"font-weight:700;color:#1e3a5f;\">${r.author_name}<\/span>\r\n                    <span style=\"color:#d4af37;font-size:16px;\">${'\u2b50'.repeat(r.rating)}<\/span>\r\n                <\/div>\r\n                <p style=\"color:#4a5568;line-height:1.6;margin:0;\">${r.comment || '\u0644\u0627 \u064a\u0648\u062c\u062f \u062a\u0639\u0644\u064a\u0642'}<\/p>\r\n                <span style=\"color:#a0aec0;font-size:12px;\">${new Date(r.created_at).toLocaleDateString('ar-EG')}<\/span>\r\n            <\/div>\r\n        `).join('');\r\n    } catch (err) { document.getElementById('reviewsListContent').innerHTML = '<p style=\"text-align:center;color:#e53e3e;padding:20px;\">\u062e\u0637\u0623 \u0641\u064a \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u062a\u0642\u064a\u064a\u0645\u0627\u062a<\/p>'; }\r\n}\r\nfunction closeReviewsListModal() { document.getElementById('reviewsListModal').style.display = 'none'; }\r\n\r\nfunction showToast(msg) {\r\n    let t = document.getElementById('toast');\r\n    t.textContent = msg;\r\n    t.style.opacity = '1';\r\n    t.style.transform = 'translateX(-50%) translateY(0)';\r\n    setTimeout(() => { t.style.opacity = '0'; t.style.transform = 'translateX(-50%) translateY(100px)'; }, 3000);\r\n}\r\n\r\ndocument.addEventListener('click', function(e) {\r\n    if (e.target.id === 'quoteModal') closeQuoteModal();\r\n    if (e.target.id === 'reviewModal') closeReviewModal();\r\n    if (e.target.id === 'reviewsListModal') closeReviewsListModal();\r\n});\r\n\r\ndocument.addEventListener('DOMContentLoaded', loadData);\r\n<\/script>",
        "protected": false
    },
    "excerpt": {
        "rendered": "",
        "protected": false
    },
    "author": 1,
    "featured_media": 0,
    "comment_status": "open",
    "ping_status": "open",
    "sticky": false,
    "template": "",
    "format": "standard",
    "meta": {
        "om_disable_all_campaigns": false,
        "_monsterinsights_skip_tracking": false,
        "_monsterinsights_sitenote_active": false,
        "_monsterinsights_sitenote_note": "",
        "_monsterinsights_sitenote_category": 0,
        "site-sidebar-layout": "default",
        "site-content-layout": "",
        "ast-site-content-layout": "default",
        "site-content-style": "default",
        "site-sidebar-style": "default",
        "ast-global-header-display": "",
        "ast-banner-title-visibility": "",
        "ast-main-header-display": "",
        "ast-hfb-above-header-display": "",
        "ast-hfb-below-header-display": "",
        "ast-hfb-mobile-header-display": "",
        "site-post-title": "",
        "ast-breadcrumbs-content": "",
        "ast-featured-img": "",
        "footer-sml-layout": "",
        "ast-disable-related-posts": "",
        "theme-transparent-header-meta": "",
        "adv-header-id-meta": "",
        "stick-header-meta": "",
        "header-above-stick-meta": "",
        "header-main-stick-meta": "",
        "header-below-stick-meta": "",
        "astra-migrate-meta-layouts": "default",
        "ast-page-background-enabled": "default",
        "ast-page-background-meta": {
            "desktop": {
                "background-color": "var(--ast-global-color-5)",
                "background-image": "",
                "background-repeat": "repeat",
                "background-position": "center center",
                "background-size": "auto",
                "background-attachment": "scroll",
                "background-type": "",
                "background-media": "",
                "overlay-type": "",
                "overlay-color": "",
                "overlay-opacity": "",
                "overlay-gradient": ""
            },
            "tablet": {
                "background-color": "",
                "background-image": "",
                "background-repeat": "repeat",
                "background-position": "center center",
                "background-size": "auto",
                "background-attachment": "scroll",
                "background-type": "",
                "background-media": "",
                "overlay-type": "",
                "overlay-color": "",
                "overlay-opacity": "",
                "overlay-gradient": ""
            },
            "mobile": {
                "background-color": "",
                "background-image": "",
                "background-repeat": "repeat",
                "background-position": "center center",
                "background-size": "auto",
                "background-attachment": "scroll",
                "background-type": "",
                "background-media": "",
                "overlay-type": "",
                "overlay-color": "",
                "overlay-opacity": "",
                "overlay-gradient": ""
            }
        },
        "ast-content-background-meta": {
            "desktop": {
                "background-color": "var(--ast-global-color-4)",
                "background-image": "",
                "background-repeat": "repeat",
                "background-position": "center center",
                "background-size": "auto",
                "background-attachment": "scroll",
                "background-type": "",
                "background-media": "",
                "overlay-type": "",
                "overlay-color": "",
                "overlay-opacity": "",
                "overlay-gradient": ""
            },
            "tablet": {
                "background-color": "var(--ast-global-color-4)",
                "background-image": "",
                "background-repeat": "repeat",
                "background-position": "center center",
                "background-size": "auto",
                "background-attachment": "scroll",
                "background-type": "",
                "background-media": "",
                "overlay-type": "",
                "overlay-color": "",
                "overlay-opacity": "",
                "overlay-gradient": ""
            },
            "mobile": {
                "background-color": "var(--ast-global-color-4)",
                "background-image": "",
                "background-repeat": "repeat",
                "background-position": "center center",
                "background-size": "auto",
                "background-attachment": "scroll",
                "background-type": "",
                "background-media": "",
                "overlay-type": "",
                "overlay-color": "",
                "overlay-opacity": "",
                "overlay-gradient": ""
            }
        },
        "footnotes": ""
    },
    "categories": [
        1
    ],
    "tags": [],
    "class_list": [
        "post-626",
        "post",
        "type-post",
        "status-publish",
        "format-standard",
        "hentry",
        "category-uncategorized"
    ],
    "aioseo_notices": [],
    "_links": {
        "self": [
            {
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/posts\/626",
                "targetHints": {
                    "allow": [
                        "GET"
                    ]
                }
            }
        ],
        "collection": [
            {
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/posts"
            }
        ],
        "about": [
            {
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/types\/post"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/users\/1"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/comments?post=626"
            }
        ],
        "version-history": [
            {
                "count": 1,
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/posts\/626\/revisions"
            }
        ],
        "predecessor-version": [
            {
                "id": 627,
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/posts\/626\/revisions\/627"
            }
        ],
        "wp:attachment": [
            {
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/media?parent=626"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "category",
                "embeddable": true,
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/categories?post=626"
            },
            {
                "taxonomy": "post_tag",
                "embeddable": true,
                "href": "https:\/\/elasragrealestate.com\/en_us\/wp-json\/wp\/v2\/tags?post=626"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https:\/\/api.w.org\/{rel}",
                "templated": true
            }
        ]
    }
}