{"id":2157,"date":"2026-02-15T18:57:18","date_gmt":"2026-02-15T18:57:18","guid":{"rendered":"https:\/\/dentistguidebooks.com\/?page_id=2157"},"modified":"2026-02-15T18:59:57","modified_gmt":"2026-02-15T18:59:57","slug":"correct-errors-in-endodontics","status":"publish","type":"page","link":"https:\/\/dentistguidebooks.com\/ar\/correct-errors-in-endodontics\/","title":{"rendered":"correct errors in endodontics"},"content":{"rendered":"\n<!-- =========================\n\u2705 FULL PAGE (Custom HTML for WordPress)\n\u2705 ALL 30 Chapters\n\u2705 \u0644\u0643\u0644 Chapter \u062a\u062d\u062a\u0647 \u0631\u0648\u0627\u0628\u0637 \u0627\u0644\u0635\u0648\u0631 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647 \u0645\u0628\u0627\u0634\u0631\u0629 (\u0636\u0639 \u0627\u0644\u0631\u0648\u0627\u0628\u0637 \u0645\u0643\u0627\u0646 PUT_IMAGE_URL_HERE)\n\u2705 Accordion + \u0635\u0648\u0631 \u062a\u0638\u0647\u0631 + \u062a\u0643\u0628\u064a\u0631 A4 Popup\n\u2705 ONE Home button + ONE Order button\n\u2705 Order modal \u0645\u0636\u0628\u0648\u0637 \u0644\u0644\u0645\u0648\u0628\u0627\u064a\u0644 + \u0639\u0631\u0636 \u0643\u062a\u0627\u0628\u064a\u0646 \u0644\u0644\u0634\u0631\u0627\u0621\n\u2705 No underlines + White background + Fast\n========================= -->\n\n<div class=\"dg-endo\" dir=\"rtl\" lang=\"ar\" id=\"dgEndo\">\n  <div class=\"dg-endo-spacer\" aria-hidden=\"true\"><\/div>\n\n  <div class=\"dg-endo-topbar\" role=\"navigation\" aria-label=\"\u0634\u0631\u064a\u0637 \u0639\u0644\u0648\u064a\">\n    <a class=\"dg-endo-home\" href=\"https:\/\/dentistguidebooks.com\/\" aria-label=\"\u0627\u0644\u0639\u0648\u062f\u0629 \u0644\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\">\n      \u2302 \u0627\u0644\u0631\u062c\u0648\u0639 \u0644\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\n    <\/a>\n  <\/div>\n\n  <section class=\"dg-endo-hero\" aria-label=\"\u0645\u0642\u062f\u0645\u0629\">\n    <div class=\"dg-endo-hero-inner\">\n      <div>\n        <h1 class=\"dg-endo-title\">Correct errors in ENDODONTICS<\/h1>\n        <p class=\"dg-endo-subtitle\">\n\u064a\u0634\u0631\u062d \u0627\u0644\u0643\u062a\u0627\u0628 \u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u062a\u064a \u0642\u062f \u064a\u0642\u0639 \u0641\u064a\u0647\u0627 \u0637\u0628\u064a\u0628 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u0623\u062b\u0646\u0627\u0621 \u062d\u0634\u0648 \u0627\u0644\u0639\u0635\u0628 \u0648 \u0623\u0633\u0628\u0627\u0628\u0647\u0627 \u0648 \u0637\u0631\u064a\u0642\u0629 \u062a\u0635\u062d\u064a\u062d\u0647\u0627 \u0628\u0627\u0644\u062a\u0641\u0635\u064a\u0644 \u0627\u0644\u0645\u0645\u0644<\/p>\n\n<p class=\"dg-endo-subtitle\">\n\u064a\u0636\u0645 \u0627\u0644\u0643\u062a\u0627\u0628 \u0627\u0644\u0643\u062b\u064a\u0631 \u0645\u0646 \u0627\u0644\u062d\u0627\u0644\u0627\u062a \u0648 \u0627\u0644\u0635\u0648\u0631 \u0644\u0643\u064a \u062a\u0641\u0647\u0645 \u0643\u0644 \u0645\u0648\u0636\u0648\u0639 \u062c\u064a\u062f\u0627 \u0648 \u062a\u0633\u062a\u0637\u064a\u0639 \u062a\u0637\u0628\u064a\u0642\u0647<\/p>\n\n<p class=\"dg-endo-subtitle\">\n\u062c\u0645\u064a\u0639 \u0627\u0644\u0637\u0631\u0642 \u0627\u0644\u062d\u062f\u064a\u062b\u0629 \u0644\u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0645\u0648\u062c\u0648\u062f\u0629 \u0648 \u0645\u0634\u0631\u0648\u062d\u0629 \u0641\u064a \u0627\u0644\u0643\u062a\u0627\u0628 <\/p>\n\n<p class=\"dg-endo-subtitle\">\n\u0628\u0639\u0636 \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0647\u0645\u0629 \u0645\u062b\u0644 broken instruments  \u062a\u0645 \u0627\u0644\u062a\u0631\u0643\u064a\u0632 \u0639\u0644\u064a\u0647 \u0628\u0634\u0643\u0644 \u0645\u0633\u062a\u0641\u064a\u0636 \u0648\u0648\u0627\u0633\u0639<\/p>\n\n<p class=\"dg-endo-subtitle dg-endo-subtitle--strong\">\n\u062a\u0635\u0641\u062d \u0627\u0644\u0641\u0647\u0631\u0633 \u0648 \u0635\u0648\u0631 \u0645\u0646 \u062f\u0627\u062e\u0644 \u0627\u0644\u0643\u062a\u0627\u0628 \u0627\u0644\u0623\u0646<\/p>\n\n\n\n      <\/div>\n\n      <div class=\"dg-endo-hero-card\" aria-hidden=\"true\">\n        <div class=\"dg-endo-hero-badge\">30 Chapters<\/div>\n        <div class=\"dg-endo-hero-mock\">\n          <div class=\"dg-endo-hero-mock-top\"><\/div>\n          <div class=\"dg-endo-hero-mock-lines\">\n            <span><\/span><span><\/span><span><\/span><span><\/span><span><\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"dg-endo-section\" id=\"contents\" aria-label=\"\u0627\u0644\u0645\u062d\u062a\u0648\u0649\">\n    <div class=\"dg-endo-head\">\n      <h2 class=\"dg-endo-h2\">\u0645\u062d\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u0643\u062a\u0627\u0628 (Book Contents)<\/h2>\n\n      \n    <\/div>\n\n    <div class=\"dg-endo-accordion\" id=\"dgEndoAccordion\" aria-label=\"\u0627\u0644\u062f\u0631\u0648\u0633\"><\/div>\n\n    <div class=\"dg-endo-bottom\">\n      <button class=\"dg-endo-btn dg-endo-btn-order\" type=\"button\" id=\"dgEndoOpenOrder\">\n        \u0627\u0637\u0644\u0628 \u0627\u0644\u0643\u062a\u0628 \u0627\u0644\u0622\u0646\n      <\/button>\n\n      <a class=\"dg-endo-btn dg-endo-btn-home\" href=\"https:\/\/dentistguidebooks.com\/\">\n        \u0627\u0644\u0631\u062c\u0648\u0639 \u0644\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\n      <\/a>\n    <\/div>\n  <\/section>\n\n  <!-- Image Popup -->\n  <div class=\"dg-endo-modal\" id=\"dgEndoImageModal\" aria-hidden=\"true\">\n    <div class=\"dg-endo-backdrop\" data-close=\"1\"><\/div>\n    <div class=\"dg-endo-modal-card dg-endo-modal-card--image\" role=\"dialog\" aria-modal=\"true\" aria-label=\"\u0645\u0639\u0627\u064a\u0646\u0629 \u0627\u0644\u0635\u0648\u0631\u0629\">\n      <div class=\"dg-endo-modal-head\">\n        <div class=\"dg-endo-modal-title\" id=\"dgEndoImageTitle\">\u0635\u0648\u0631\u0629<\/div>\n        <button class=\"dg-endo-close\" type=\"button\" data-close=\"1\" aria-label=\"\u0625\u063a\u0644\u0627\u0642\">\u0625\u063a\u0644\u0627\u0642 \u2716<\/button>\n      <\/div>\n      <div class=\"dg-endo-modal-body\">\n        <img decoding=\"async\" id=\"dgEndoImageZoom\" src=\"\" alt=\"\" \/>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- Order Modal -->\n  <div class=\"dg-endo-modal\" id=\"dgEndoOrderModal\" aria-hidden=\"true\">\n    <div class=\"dg-endo-backdrop\" data-close=\"1\"><\/div>\n\n    <div class=\"dg-endo-modal-card dg-endo-order-card\" role=\"dialog\" aria-modal=\"true\" aria-label=\"\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0637\u0644\u0628\">\n      <div class=\"dg-endo-modal-head dg-endo-order-head\">\n        <div class=\"dg-endo-modal-title\" id=\"dgEndoOrderTitle\">\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0637\u0644\u0628<\/div>\n        <button class=\"dg-endo-close\" type=\"button\" data-close=\"1\" aria-label=\"\u0625\u063a\u0644\u0627\u0642\">\u0625\u063a\u0644\u0627\u0642 \u2716<\/button>\n      <\/div>\n\n      <div class=\"dg-endo-order-scroll\" id=\"dgEndoOrderScroll\">\n        <div class=\"dg-endo-pick\">\n          <div class=\"dg-endo-pick-title\">\u0627\u062e\u062a\u0631 \u0627\u0644\u0643\u062a\u0628<\/div>\n          <div class=\"dg-endo-pick-grid\" id=\"dgEndoPickGrid\"><\/div>\n        <\/div>\n\n        <form class=\"dg-endo-form\" id=\"dgEndoOrderForm\" onsubmit=\"return false;\">\n          <div class=\"dg-endo-fields\">\n            <input class=\"dg-endo-input\" id=\"dgEndoName\" type=\"text\" placeholder=\"\u0627\u0644\u0627\u0633\u0645\" required>\n            <input class=\"dg-endo-input\" id=\"dgEndoPhone\" type=\"tel\" placeholder=\"\u0631\u0642\u0645 \u0627\u0644\u0647\u0627\u062a\u0641\" required>\n            <input class=\"dg-endo-input\" id=\"dgEndoPhone2\" type=\"tel\" placeholder=\"\u0631\u0642\u0645 \u0647\u0627\u062a\u0641 \u0627\u062d\u062a\u064a\u0627\u0637\u064a (\u0625\u0646 \u0648\u062c\u062f)\">\n            <textarea class=\"dg-endo-textarea\" id=\"dgEndoAddress\" placeholder=\"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u062a\u0648\u0635\u064a\u0644 \u0628\u0627\u0644\u0643\u0627\u0645\u0644\" required><\/textarea>\n          <\/div>\n\n          <div class=\"dg-endo-help\">\n            \u0644\u0637\u0644\u0628 \u0623\u0648\u0631\u062f\u0631: \u0627\u062e\u062a\u0631 \u0627\u0644\u0643\u062a\u0628 \u062b\u0645 \u0627\u0643\u062a\u0628 \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0648\u0627\u0636\u063a\u0637 <strong>\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0637\u0644\u0628 \u0639\u0644\u0649 \u0648\u0627\u062a\u0633\u0627\u0628<\/strong> \u0648\u0633\u0646\u062a\u0648\u0627\u0635\u0644 \u0645\u0639\u0643 \u0641\u0648\u0631\u0627\u064b.\n          <\/div>\n\n          <div class=\"dg-endo-checkout\" aria-live=\"polite\">\n            <div class=\"dg-endo-checkout-main\">\n              <div class=\"dg-endo-total\">\n                <span id=\"dgEndoTotal\">0<\/span> \u062c\u0646\u064a\u0647\n              <\/div>\n              <div class=\"dg-endo-sub\">\u0627\u0644\u0625\u062c\u0645\u0627\u0644\u064a \u0627\u0644\u0646\u0647\u0627\u0626\u064a<\/div>\n            <\/div>\n\n            <div class=\"dg-endo-checkout-meta\">\n              <div class=\"dg-endo-mini\">\u0639\u062f\u062f \u0627\u0644\u0643\u062a\u0628: <span id=\"dgEndoCount\">0<\/span><\/div>\n              <div class=\"dg-endo-mini\">\u0633\u0639\u0631 \u0627\u0644\u0643\u062a\u0628: <span id=\"dgEndoSubtotal\">0<\/span> \u062c\u0646\u064a\u0647<\/div>\n              <div class=\"dg-endo-mini\" id=\"dgEndoShippingLine\">\u0627\u0644\u0634\u062d\u0646: \u2014<\/div>\n            <\/div>\n          <\/div>\n        <\/form>\n      <\/div>\n\n      <div class=\"dg-endo-stickybar\">\n        <button class=\"dg-endo-wa\" id=\"dgEndoSendWA\" type=\"button\">\n          \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0637\u0644\u0628 \u0639\u0644\u0649 \u0648\u0627\u062a\u0633\u0627\u0628\n        <\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  #dgEndo, #dgEndo *{ text-decoration: none !important; }\n\n  .dg-endo{\n    --bg:#fff; --text:#0b1723; --muted:#475569;\n    --line:rgba(15,23,42,.10); --soft:#f7fbff; --soft2:#f1f5f9;\n    --primary:#0ea5e9; --primary2:#2563eb; --wa1:#0f5f2b; --wa2:#137a36;\n\n    background:var(--bg); color:var(--text);\n    font-family: system-ui, -apple-system, \"Segoe UI\", Tahoma, Arial, sans-serif;\n    line-height:1.75;\n    width:min(1180px,100%);\n    margin:0 auto;\n    padding:0 14px 40px;\n  }\n\n  .dg-endo-spacer{ height: 44px; }\n  @media (max-width: 480px){ .dg-endo-spacer{ height: 58px; } }\n\n  .dg-endo-topbar{\n    position: sticky; top: 8px; z-index: 50;\n    background: rgba(255,255,255,.90);\n    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);\n    border: 1px solid var(--line);\n    border-radius: 16px;\n    padding: 10px 10px;\n    box-shadow: 0 14px 30px rgba(8,20,40,.06);\n    display:flex; align-items:center; justify-content:flex-start;\n  }\n\n  .dg-endo-home{\n    display:inline-flex; align-items:center; gap:10px;\n    font-weight: 1000; font-size: 13px; color: var(--text);\n    background: #fff; border: 1px solid var(--line);\n    border-radius: 999px; padding: 10px 14px;\n    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;\n    will-change: transform;\n  }\n  .dg-endo-home:hover{ transform: translateY(-1px); background: var(--soft); box-shadow: 0 16px 34px rgba(8,20,40,.08); }\n  .dg-endo-home:active{ transform: translateY(1px); }\n\n  .dg-endo-hero{\n    margin-top: 14px; border:1px solid var(--line);\n    border-radius: 20px;\n    background: linear-gradient(180deg, rgba(14,165,233,.08), rgba(37,99,235,.05), #fff);\n    box-shadow: 0 20px 44px rgba(8,20,40,.06);\n    overflow:hidden;\n  }\n  .dg-endo-hero-inner{\n    display:grid; grid-template-columns: 1.25fr .75fr;\n    gap:14px; padding: 18px; align-items:stretch;\n  }\n  .dg-endo-title{\n    margin:0 0 8px; font-weight: 1100; letter-spacing: .2px;\n    font-size: clamp(20px, 4.4vw, 36px); color: #07101a;\n  }\n  .dg-endo-subtitle{\n    margin:0; color: var(--muted);\n    font-size: clamp(14px, 2.8vw, 16px);\n    font-weight: 800;\n  }\n  .dg-endo-hero-card{\n    border:1px solid var(--line);\n    background: rgba(255,255,255,.80);\n    border-radius: 18px; padding: 14px;\n    position:relative; overflow:hidden;\n  }\n  .dg-endo-hero-badge{\n    position:absolute; bottom:12px; inset-inline-end:12px;\n    background:#fff; border:1px solid var(--line);\n    border-radius:999px; padding:8px 10px;\n    font-weight: 1100; font-size:12px;\n    box-shadow: 0 14px 30px rgba(8,20,40,.08);\n  }\n  .dg-endo-hero-mock{ border:1px solid var(--line); background:#fff; border-radius:14px; overflow:hidden; height:100%; min-height: 150px;}\n  .dg-endo-hero-mock-top{ height:36px; background: linear-gradient(135deg, rgba(14,165,233,.12), rgba(37,99,235,.12)); border-bottom:1px solid var(--line);}\n  .dg-endo-hero-mock-lines{ padding:12px; display:grid; gap:10px;}\n  .dg-endo-hero-mock-lines span{ display:block; height:10px; border-radius:999px; background: var(--soft2); }\n  .dg-endo-hero-mock-lines span:nth-child(2){ width:84%;}\n  .dg-endo-hero-mock-lines span:nth-child(3){ width:76%;}\n  .dg-endo-hero-mock-lines span:nth-child(4){ width:90%;}\n  .dg-endo-hero-mock-lines span:nth-child(5){ width:68%;}\n\n  .dg-endo-section{ margin-top: 18px; }\n  .dg-endo-head{\n    display:flex; gap:12px; align-items:flex-end; justify-content:space-between;\n    flex-wrap:wrap; margin-bottom: 10px;\n  }\n  .dg-endo-h2{ margin:0; font-size: 18px; font-weight: 1100; color:#07101a; }\n\n  .dg-endo-tools{\n    display:flex; gap:10px; align-items:center; flex-wrap:wrap;\n    width:min(540px, 100%);\n  }\n  .dg-endo-search{ flex:1; min-width: 220px; position:relative; display:block; }\n  .dg-endo-search input{\n    width:100%; padding: 12px 40px 12px 12px;\n    border-radius: 14px; border:1px solid var(--line);\n    background:#fff; color: var(--text); outline:none;\n    box-shadow: 0 14px 30px rgba(8,20,40,.05);\n    -webkit-appearance:none; appearance:none;\n    font-weight: 900;\n  }\n  .dg-endo-search input::placeholder{ color:#94a3b8; font-weight: 900; }\n  .dg-endo-search-ic{ position:absolute; top:50%; inset-inline-end:12px; transform: translateY(-50%); opacity:.75; pointer-events:none; }\n  .dg-endo-chip{\n    border:1px solid var(--line); background:#fff; border-radius: 999px;\n    padding: 10px 12px; font-size: 13px; color: var(--muted);\n    box-shadow: 0 14px 30px rgba(8,20,40,.05);\n    font-weight: 1000;\n  }\n\n  .dg-endo-accordion{\n    border:1px solid var(--line); border-radius: 20px; overflow:hidden;\n    background:#fff; box-shadow: 0 22px 52px rgba(8,20,40,.06);\n  }\n  .dg-endo-item{ border-top:1px solid var(--line); background:#fff; }\n  .dg-endo-item:first-child{ border-top:0; }\n\n  .dg-endo-summary{\n    list-style:none; cursor:pointer;\n    padding: 14px 14px;\n    display:flex; gap:10px; align-items:center;\n    user-select:none;\n  }\n  .dg-endo-summary::-webkit-details-marker{ display:none; }\n  .dg-endo-summary::after{\n    content:\"\"; margin-inline-start:auto; width:10px; height:10px;\n    border-inline-end:2px solid rgba(7,16,26,.85);\n    border-bottom:2px solid rgba(7,16,26,.85);\n    transform: rotate(45deg); transition: transform .15s ease; opacity:.7;\n  }\n  details[open] > .dg-endo-summary::after{ transform: rotate(-135deg); }\n\n  .dg-endo-ch-num{\n    font-weight: 1100; color:#07101a;\n    background: var(--soft2); border:1px solid var(--line);\n    padding:6px 10px; border-radius:999px; font-size: 12px; white-space:nowrap;\n  }\n  .dg-endo-ch-title{\n    font-weight: 1100; color:#0b1723; font-size: 14px;\n    direction:ltr; text-align:left;\n  }\n\n  .dg-endo-body{ padding: 0 14px 16px; }\n  .dg-endo-desc{ margin: 10px 0 12px; color: var(--muted); font-size: 14.5px; font-weight: 800; }\n\n  .dg-endo-gallery{\n    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px;\n  }\n  @media (min-width: 760px){ .dg-endo-gallery{ grid-template-columns: repeat(3, minmax(0,1fr)); } }\n\n  .dg-endo-img{\n    display:block; border:1px solid var(--line);\n    border-radius: 18px; overflow:hidden; background:#fff;\n    box-shadow: 0 16px 34px rgba(8,20,40,.06);\n    transition: transform .18s ease, box-shadow .18s ease;\n    will-change: transform;\n  }\n  .dg-endo-img:hover{ transform: translateY(-2px); box-shadow: 0 22px 48px rgba(8,20,40,.10); }\n  .dg-endo-img img{\n    width:100%; height:auto;\n    aspect-ratio: 1 \/ 1.414;\n    object-fit: cover; display:block; background: var(--soft);\n    transform: scale(1.02); transition: transform .18s ease;\n  }\n  .dg-endo-img:hover img{ transform: scale(1.05); }\n\n  .dg-endo-bottom{\n    margin-top: 14px;\n    display:flex; gap:10px; flex-wrap:wrap;\n    justify-content:space-between; align-items:center;\n  }\n  .dg-endo-btn{\n    display:inline-flex; align-items:center; justify-content:center;\n    border-radius: 999px; padding: 12px 14px;\n    font-weight: 1100; font-size: 13px;\n    border: 1px solid transparent; cursor:pointer; user-select:none;\n    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease, background .18s ease;\n    will-change: transform; white-space: nowrap;\n  }\n  .dg-endo-btn:active{ transform: translateY(1px); }\n\n  .dg-endo-btn-order{\n    color:#fff; background: linear-gradient(135deg, var(--primary), var(--primary2));\n    box-shadow: 0 18px 44px rgba(37,99,235,.22);\n    position: relative; overflow:hidden;\n  }\n  .dg-endo-btn-order:hover{ transform: translateY(-1px); filter: brightness(1.02); box-shadow: 0 24px 60px rgba(37,99,235,.26); }\n  .dg-endo-btn-order::after{\n    content:\"\"; position:absolute; top:-45%; left:-60%;\n    width: 60%; height: 190%;\n    background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);\n    transform: rotate(18deg);\n    animation: dgEndoShine 1.6s ease-in-out infinite;\n  }\n  @keyframes dgEndoShine{ 0%{ left:-60%; } 65%{ left:120%; } 100%{ left:120%; } }\n\n  .dg-endo-btn-home{\n    color: var(--text); background:#fff;\n    border: 1px solid var(--line);\n    box-shadow: 0 14px 30px rgba(8,20,40,.05);\n  }\n  .dg-endo-btn-home:hover{ transform: translateY(-1px); background: var(--soft); box-shadow: 0 18px 42px rgba(8,20,40,.08); }\n\n  .dg-endo-modal{\n    position: fixed; inset: 0;\n    display: none; align-items: center; justify-content: center;\n    padding: 12px; z-index: 999999;\n  }\n  .dg-endo-modal.is-open{ display:flex; }\n  .dg-endo-backdrop{\n    position:absolute; inset:0;\n    background: rgba(0,0,0,.58);\n    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);\n  }\n  .dg-endo-modal-card{\n    position: relative;\n    width: min(980px, 100%);\n    max-height: calc(100dvh - 24px);\n    display:flex; flex-direction:column;\n    background:#fff; border-radius: 18px;\n    border: 1px solid rgba(0,0,0,.08);\n    box-shadow: 0 30px 90px rgba(0,0,0,.28);\n    overflow:hidden; z-index: 1;\n    transform: translateY(8px);\n    animation: dgEndoPop .18s ease-out forwards;\n  }\n  @keyframes dgEndoPop{ to{ transform: translateY(0); } }\n\n  .dg-endo-modal-head{\n    display:flex; align-items:center; justify-content:space-between;\n    gap: 10px; padding: 12px 14px;\n    border-bottom: 1px solid rgba(0,0,0,.08);\n    background: linear-gradient(135deg, rgba(14,165,233,.10), rgba(37,99,235,.08));\n  }\n  .dg-endo-modal-title{ font-weight: 1100; font-size: 14px; color:#07101a; direction:ltr; text-align:left; }\n  .dg-endo-close{\n    background: rgba(0,0,0,.06);\n    border: 1px solid rgba(0,0,0,.10);\n    border-radius: 12px; padding: 8px 10px;\n    cursor:pointer; font-weight: 1100; color:#0b1723;\n  }\n  .dg-endo-modal-card--image .dg-endo-modal-body{ padding: 12px; background:#fff; }\n  #dgEndoImageZoom{\n    width:100%; height:auto; display:block;\n    border-radius: 16px;\n    background: var(--soft2);\n    border: 1px solid rgba(0,0,0,.08);\n    max-height: calc(100dvh - 140px);\n    object-fit: contain;\n    aspect-ratio: 1 \/ 1.414;\n  }\n\n  .dg-endo-order-card{ width:min(940px, 100%); }\n  .dg-endo-order-head .dg-endo-modal-title{ direction: rtl; text-align:right; }\n  .dg-endo-order-scroll{\n    flex: 1 1 auto; min-height: 0;\n    overflow: auto; -webkit-overflow-scrolling: touch;\n    padding: 12px; background:#fff;\n  }\n  .dg-endo-stickybar{\n    position: sticky; bottom: 0; z-index: 5;\n    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));\n    background: rgba(255,255,255,.92);\n    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);\n    border-top: 1px solid rgba(0,0,0,.08);\n  }\n\n  .dg-endo-pick{\n    border: 1px solid rgba(15,23,42,.08);\n    background: rgba(246,251,255,.70);\n    border-radius: 16px; padding: 12px; margin-bottom: 12px;\n  }\n  .dg-endo-pick-title{ font-weight: 1100; color:#0f2b46; margin-bottom: 10px; font-size: 14px; }\n  .dg-endo-pick-grid{\n    display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;\n  }\n  @media (min-width: 760px){ .dg-endo-pick-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n\n  .dg-endo-book{\n    border: 1px solid rgba(15,23,42,.10);\n    background: rgba(255,255,255,.92);\n    border-radius: 16px; overflow:hidden;\n    box-shadow: 0 12px 26px rgba(8,20,40,.06);\n    cursor:pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;\n    will-change: transform; position: relative;\n  }\n  .dg-endo-book:hover{ transform: translateY(-1px); box-shadow: 0 18px 40px rgba(8,20,40,.10); border-color: rgba(14,165,233,.25); }\n  .dg-endo-book img{ width:100%; height:auto; aspect-ratio: 4 \/ 5; object-fit: cover; display:block; background: var(--soft2); }\n  .dg-endo-book-body{ padding: 10px 10px 12px; }\n  .dg-endo-book-title{ font-weight: 1100; font-size: 12.5px; line-height: 1.3; color:#0b1723; margin: 0 0 6px; direction:ltr; text-align:left; }\n  .dg-endo-book-price{ display:flex; gap: 6px; align-items: baseline; font-weight: 1100; color:#07101a; font-size: 14px; }\n  .dg-endo-book-price span{ font-weight: 900; color: var(--muted); font-size: 12px; }\n  .dg-endo-book[data-selected=\"1\"]{ border-color: rgba(14,165,233,.55); box-shadow: 0 18px 46px rgba(37,99,235,.16); }\n  .dg-endo-book-check{\n    position:absolute; top: 10px; left: 10px;\n    width: 28px; height: 28px; border-radius: 999px;\n    background: rgba(255,255,255,.92);\n    border: 1px solid rgba(15,23,42,.12);\n    display:grid; place-items:center;\n    font-weight: 1100; color:#0f2b46;\n  }\n\n  .dg-endo-form{\n    display:flex; flex-direction:column; gap: 10px;\n    padding: 12px; border-radius: 16px;\n    border: 1px solid rgba(15,23,42,.08);\n    background: rgba(246,251,255,.70);\n  }\n  .dg-endo-fields{ display:grid; grid-template-columns: 1fr; gap: 10px; }\n  .dg-endo-input, .dg-endo-textarea{\n    width:100%; border-radius: 14px;\n    border: 1px solid rgba(15,23,42,.10);\n    padding: 10px 12px; font-family: inherit;\n    font-weight: 1000; outline:none; background:#fff;\n  }\n  .dg-endo-textarea{ min-height: 96px; resize: vertical; font-weight: 900; }\n  .dg-endo-help{\n    font-size: 13px; font-weight: 900; color: #0f2b46;\n    padding: 10px 12px; border-radius: 14px;\n    border: 1px solid rgba(14,165,233,.16);\n    background: rgba(14,165,233,.06);\n    line-height: 1.8;\n  }\n  .dg-endo-checkout{\n    border-radius: 16px; border: 1px solid rgba(15,23,42,.08);\n    background: rgba(255,255,255,.88);\n    padding: 12px;\n    display:flex; gap: 12px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap;\n  }\n  .dg-endo-total{ font-weight: 1200; font-size: 18px; color:#07101a; }\n  .dg-endo-sub{ font-size: 12px; color: var(--muted); font-weight: 1000; margin-top:2px; }\n  .dg-endo-checkout-meta{\n    display:flex; flex-direction:column; gap: 6px;\n    font-weight: 1000; color: var(--muted); font-size: 12px;\n  }\n\n  .dg-endo-wa{\n    width:100%;\n    border: 1px solid rgba(19,122,54,.40);\n    color:#fff; font-weight: 1200; font-size: 14px;\n    border-radius: 16px; padding: 14px 14px;\n    cursor:pointer;\n    background: linear-gradient(135deg, var(--wa1), var(--wa2));\n    box-shadow: 0 18px 44px rgba(15,95,43,.20);\n    position: relative; overflow:hidden;\n    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;\n  }\n  .dg-endo-wa:hover{ transform: translateY(-1px); filter: brightness(1.02); box-shadow: 0 24px 60px rgba(15,95,43,.28); }\n  .dg-endo-wa:after{\n    content:\"\"; position:absolute; top:-40%; left:-60%;\n    width: 60%; height: 180%;\n    background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);\n    transform: rotate(20deg);\n    animation: dgEndoWaShine 1.9s ease-in-out infinite;\n  }\n  @keyframes dgEndoWaShine{ 0%{ left:-60%; } 60%{ left:120%; } 100%{ left:120%; } }\n\n  @media (max-width: 860px){\n    .dg-endo-hero-inner{ grid-template-columns: 1fr; }\n    .dg-endo-hero-card{ display:none; }\n    .dg-endo-bottom{ gap:8px; }\n  }\n  @media (max-width: 390px){\n    .dg-endo{ padding: 0 10px 40px; }\n    .dg-endo-home{ padding: 9px 12px; font-size: 12px; }\n    .dg-endo-search input{ padding: 12px 38px 12px 12px; }\n    .dg-endo-desc{ font-size: 14px; }\n    .dg-endo-btn{ width:100%; }\n    .dg-endo-pick-grid{ gap:8px; }\n    .dg-endo-book-body{ padding: 9px 9px 11px; }\n    .dg-endo-book-title{ font-size: 12px; }\n  }\n\n  .dg-endo :focus-visible{\n    outline: 2px solid rgba(37,99,235,.70);\n    outline-offset: 3px;\n    border-radius: 12px;\n  }\n  @media (prefers-reduced-motion: reduce){\n    .dg-endo *{ transition:none !important; animation:none !important; }\n  }\n\/* \u2705 \u062a\u062d\u0645\u064a\u0644 \u062e\u0637 \u0639\u0631\u0628\u064a \u062c\u0645\u064a\u0644 (\u064a\u062f\u0639\u0645 \u0623\u063a\u0644\u0628 \u0627\u0644\u0623\u062c\u0647\u0632\u0629) *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cairo:wght@500;700;800&family=Tajawal:wght@500;700;800&display=swap');\n\n\/* \u2705 \u062a\u062d\u0633\u064a\u0646 \u0639\u0631\u0636 \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u064a \u0639\u0644\u0649 \u0643\u0644 \u0627\u0644\u0634\u0627\u0634\u0627\u062a *\/\n.dg-endo{\n  font-family: \"Cairo\",\"Tajawal\", system-ui, -apple-system, \"Segoe UI\", Tahoma, Arial, sans-serif;\n  text-rendering: optimizeLegibility;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n\/* \u2705 \u0634\u0643\u0644 \u0641\u0642\u0631\u0629 \u0627\u0644\u0645\u0642\u062f\u0651\u0645\u0629 *\/\n.dg-endo-subtitle{\n  color: var(--muted);\n  font-size: clamp(15px, 3.4vw, 18px);\n  font-weight: 700;\n  line-height: 2.05;\n  margin: 0 0 10px;\n  letter-spacing: .1px;\n  word-spacing: .2px;\n}\n\n\/* \u2705 \u0644\u0648 \u0641\u064a \u0643\u0644\u0645\u0629\/\u062c\u0645\u0644\u0629 \u062a\u062d\u0628 \u062a\u0628\u0631\u0632\u0647\u0627 *\/\n.dg-endo-subtitle--strong{\n  color: var(--text);\n  font-weight: 800;\n}\n\n\/* \u2705 \u062a\u062d\u0633\u064a\u0646 \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0639\u0644\u0649 \u0627\u0644\u0645\u0648\u0628\u0627\u064a\u0644 \u062c\u062f\u064b\u0627 *\/\n@media (max-width: 480px){\n  .dg-endo-subtitle{\n    font-size: 16px;\n    line-height: 2.15;\n  }\n}\n\n<\/style>\n\n<script>\n(function(){\n  const WA_PHONE = \"201023764387\";\n  const SHIPPING_FEE = 45;\n\n  const BOOKS = [\n    { id:\"dg-02\", title:\"Dentist Guide in ENDODONTICS\", price:260, cover:\"http:\/\/gooddentistbooks.com\/wp-content\/uploads\/2026\/01\/124-scaled.webp\" },\n    { id:\"dg-03\", title:\"Correct errors in ENDODONTICS\", price:160, cover:\"http:\/\/gooddentistbooks.com\/wp-content\/uploads\/2026\/01\/123-scaled.webp\" }\n  ];\n\n  \/\/ =========================\n  \/\/ \u2705 \u0647\u0646\u0627: \u0643\u0644 Chapter \u0648\u062a\u062d\u062a\u0647 \u0631\u0648\u0627\u0628\u0637 \u0627\u0644\u0635\u0648\u0631 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647 \u0645\u0628\u0627\u0634\u0631\u0629\n  \/\/ \u0636\u0639 \u0631\u0648\u0627\u0628\u0637 \u0635\u0648\u0631\u0643 \u0645\u0643\u0627\u0646 PUT_IMAGE_URL_HERE\n  \/\/ \u062a\u0642\u062f\u0631 \u062a\u0632\u0648\u062f\/\u062a\u0642\u0644\u0644 \u0639\u062f\u062f \u0627\u0644\u0635\u0648\u0631 \u0644\u0643\u0644 Chapter\n  \/\/ =========================\n  const CHAPTERS = [\n{ n:0,  title:\"Index of the book\", raw:\"Index \",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/1.webp\", \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/2.webp\"\n      ]\n    },\n    { n:1,  title:\"Errors in diagnosis\", raw:\"Chapter 1 Errors in diagnosis\",\nimages:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/3.webp\", \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/4.webp\"\n      ]\n     },\n    { n:2,  title:\"Errors of access cavity prepartion\", raw:\"Chapter 2 Errors of access cavity prepartion\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/5.webp\"\n      ]\n    },\n    { n:3,  title:\"Incomplete caries, restoration removal\", raw:\"Chapter 3 Incomplete caries, restoration removal\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/incomplete-caries-removal-1-1.png\"\n      ]\n    },\n    { n:4,  title:\"coronal perforation\", raw:\"Chapter 4 coronal perforation\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/6.webp\", \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/perforation-1-1.webp\"\n      ]\n    },\n    { n:5,  title:\"wrong reference point \", raw:\"Chapter 5 wrong reference point\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/wrong-reference-point-1-1.png\"\n      ]\n    },\n    { n:6,  title:\"Errors in glide path\", raw:\"Chapter 6 Errors in glide path\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/errors-in-glide-path-1-1.png\"\n      ]\n    },\n    { n:7,  title:\"Apical patency\", raw:\"Chapter 7 Apical patency\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/apical-1-1.webp\"\n      ]\n    },\n    { n:8,  title:\"correct usage of rotary files\", raw:\"correct usage of rotary files\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/Screenshot-2026-02-10-115228-1-1.png\"\n      ]\n    },\n    { n:9,  title:\"canal blockage\", raw:\"Chapter 9 canal blockage\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/Screenshot-2026-02-10-115352-1-1.png\"\n      ]\n    },\n    { n:10, title:\"Perforation of root canal\", raw:\"Chapter 10 Perforation of root canal\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/Screenshot-2026-02-10-115619-1-1.png\"\n      ]\n    },\n    { n:11, title:\"Over\/Under instrumentation\", raw:\"Chapter 11  Over\/Under instrumentation\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/Screenshot-2026-02-10-115728-1-1.png\"\n      ]\n    },\n    { n:12, title:\"Apical transportation \/ Zipping\", raw:\"Chapter 12 Apical transportation \/ Zipping\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/Screenshot-2026-02-10-115828-1-1.png\"\n      ]\n    },\n    { n:13, title:\"NaOCl accident\", raw:\"Chapter 13, NaOCl accident\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/7.webp\"\n      ]\n    },\n    { n:14, title:\"Removal of gutta percha\", raw:\"Chapter 14 Removal of gutta percha\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/Screenshot-2026-02-10-115923-1-1.png\"\n      ]\n    },\n    { n:15, title:\"Removal of posts from the canal\", raw:\"Chapter 15 Removal of posts from the canal\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/Screenshot-2026-02-10-120020-1-1.png\"\n      ]\n    },\n    { n:16, title:\"Management of broken files\", raw:\"Chapter 16 Management of broken files\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/8.webp\", \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/removal-1-1.webp\", \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/8.webp\", \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/9.webp\"\n      ]\n    },\n    { n:17, title:\"Correction of ledges\", raw:\"Chapter 17 Correction of ledges\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/Screenshot-2026-02-10-120152-1-1.png\"\n      ]\n    },\n   \n{ n:18, title:\"Reference of the book\", raw:\"reference\",\n      images:[\n        \"http:\/\/dentistguidebooks.com\/wp-content\/uploads\/2026\/02\/11.webp\"\n      ]\n    }\n  ];\n\n  function makeWaUrl(phone, text){\n    return \"https:\/\/wa.me\/\" + encodeURIComponent(phone) + \"?text=\" + encodeURIComponent(text);\n  }\n  function openModal(modal){\n    if(!modal) return;\n    modal.classList.add(\"is-open\");\n    modal.setAttribute(\"aria-hidden\",\"false\");\n    document.documentElement.style.overflow = \"hidden\";\n  }\n  function closeModal(modal){\n    if(!modal) return;\n    modal.classList.remove(\"is-open\");\n    modal.setAttribute(\"aria-hidden\",\"true\");\n    document.documentElement.style.overflow = \"\";\n  }\n\n  \/\/ =========================\n  \/\/ Render Chapters (using images per chapter)\n  \/\/ =========================\n  const accordion = document.getElementById(\"dgEndoAccordion\");\n\n  function renderChapters(){\n    if(!accordion) return;\n    const frag = document.createDocumentFragment();\n\n    CHAPTERS.forEach((c, idx) => {\n      const details = document.createElement(\"details\");\n      details.className = \"dg-endo-item\";\n      details.setAttribute(\"data-chapter\", c.raw);\n      if(idx === 0) details.open = true;\n\n      const summary = document.createElement(\"summary\");\n      summary.className = \"dg-endo-summary\";\n\n      const num = document.createElement(\"span\");\n      num.className = \"dg-endo-ch-num\";\n      num.textContent = \"Chapter \" + c.n;\n\n      const title = document.createElement(\"span\");\n      title.className = \"dg-endo-ch-title\";\n      title.textContent = c.title;\n\n      summary.appendChild(num);\n      summary.appendChild(title);\n\n      const body = document.createElement(\"div\");\n      body.className = \"dg-endo-body\";\n\n      const p = document.createElement(\"p\");\n      p.className = \"dg-endo-desc\";\n      p.textContent = c.desc;\n\n      const gallery = document.createElement(\"div\");\n      gallery.className = \"dg-endo-gallery\";\n\n      const imgs = Array.isArray(c.images) ? c.images : [];\n      let added = 0;\n\n      imgs.forEach((url, i) => {\n        const clean = (url || \"\").trim();\n        if(!clean || clean === \"PUT_IMAGE_URL_HERE\") return;\n\n        const a = document.createElement(\"a\");\n        a.className = \"dg-endo-img\";\n        a.href = clean;\n        a.setAttribute(\"data-title\", \"Chapter \" + c.n + \" - Image \" + (i+1));\n\n        const img = document.createElement(\"img\");\n        img.loading = \"lazy\";\n        img.decoding = \"async\";\n        img.src = clean;\n        img.alt = \"Chapter \" + c.n + \" Image \" + (i+1);\n\n        a.appendChild(img);\n        gallery.appendChild(a);\n        added++;\n      });\n\n      \/\/ \u0644\u0648 \u0645\u0627\u062d\u0637\u064a\u062a\u0634 \u0635\u0648\u0631 \u0628\u0639\u062f\u060c \u0627\u0639\u0631\u0636 3 placeholders \u062e\u0641\u064a\u0641\u0629 (\u0639\u0644\u0634\u0627\u0646 \u0627\u0644\u062a\u0635\u0645\u064a\u0645 \u0645\u0627\u064a\u062a\u0643\u0633\u0631\u0634)\n      if(added === 0){\n        for(let k=1;k<=3;k++){\n          const a = document.createElement(\"a\");\n          a.className = \"dg-endo-img dg-endo-img-ph\";\n          a.href = \"#\";\n          a.setAttribute(\"data-title\", \"\u0636\u0639 \u0631\u0627\u0628\u0637 \u0627\u0644\u0635\u0648\u0631\u0629 \u0647\u0646\u0627\");\n\n          const ph = document.createElement(\"div\");\n          ph.className = \"dg-endo-ph\";\n          ph.innerHTML = `<div class=\"dg-endo-ph-top\">A4<\/div><div class=\"dg-endo-ph-txt\">\u0636\u0639 \u0631\u0627\u0628\u0637 \u0627\u0644\u0635\u0648\u0631\u0629<\/div>`;\n\n          a.appendChild(ph);\n          gallery.appendChild(a);\n        }\n      }\n\n      body.appendChild(p);\n      body.appendChild(gallery);\n\n      details.appendChild(summary);\n      details.appendChild(body);\n\n      frag.appendChild(details);\n    });\n\n    accordion.innerHTML = \"\";\n    accordion.appendChild(frag);\n  }\n\n  renderChapters();\n\n  \/\/ Placeholder styling nodes\n  const stylePh = document.createElement(\"style\");\n  stylePh.textContent = `\n    .dg-endo-img-ph{ cursor: default; }\n    .dg-endo-ph{\n      width:100%;\n      aspect-ratio: 1 \/ 1.414;\n      background: linear-gradient(180deg, rgba(14,165,233,.08), rgba(37,99,235,.06), #fff);\n      display:flex; flex-direction:column;\n      align-items:center; justify-content:center;\n      gap:10px;\n      color:#0f2b46;\n      font-weight: 1100;\n      padding:12px;\n    }\n    .dg-endo-ph-top{\n      width:64px; height:34px;\n      border-radius:999px;\n      background:#fff;\n      border:1px solid rgba(15,23,42,.12);\n      display:grid; place-items:center;\n      box-shadow: 0 12px 26px rgba(8,20,40,.08);\n      font-size: 12px;\n    }\n    .dg-endo-ph-txt{ font-size: 12px; opacity:.85; text-align:center; }\n  `;\n  document.head.appendChild(stylePh);\n\n  \/\/ =========================\n  \/\/ Image modal\n  \/\/ =========================\n  const imageModal = document.getElementById(\"dgEndoImageModal\");\n  const imageZoom  = document.getElementById(\"dgEndoImageZoom\");\n  const imageTitle = document.getElementById(\"dgEndoImageTitle\");\n\n  \/\/ =========================\n  \/\/ Search\n  \/\/ =========================\n  const q = document.getElementById(\"dgEndoQ\");\n  const visible = document.getElementById(\"dgEndoVisible\");\n  function norm(s){ return (s||\"\").toLowerCase().replace(\/\\s+\/g,\" \").trim(); }\n\n  function applySearch(){\n    const term = norm(q ? q.value : \"\");\n    const items = Array.from(document.querySelectorAll(\"#dgEndoAccordion .dg-endo-item\"));\n    let count = 0;\n    for(const d of items){\n      const hay = norm(d.getAttribute(\"data-chapter\"));\n      const show = !term || hay.includes(term);\n      d.style.display = show ? \"\" : \"none\";\n      if(show) count++;\n    }\n    if(visible) visible.textContent = String(count);\n  }\n  if(q) q.addEventListener(\"input\", applySearch, { passive:true });\n  applySearch();\n\n  \/\/ =========================\n  \/\/ Order modal\n  \/\/ =========================\n  const orderModal = document.getElementById(\"dgEndoOrderModal\");\n  const openOrderBtn = document.getElementById(\"dgEndoOpenOrder\");\n  const pickGrid = document.getElementById(\"dgEndoPickGrid\");\n\n  const nameEl = document.getElementById(\"dgEndoName\");\n  const phoneEl = document.getElementById(\"dgEndoPhone\");\n  const phone2El = document.getElementById(\"dgEndoPhone2\");\n  const addressEl = document.getElementById(\"dgEndoAddress\");\n\n  const countEl = document.getElementById(\"dgEndoCount\");\n  const subtotalEl = document.getElementById(\"dgEndoSubtotal\");\n  const shippingLineEl = document.getElementById(\"dgEndoShippingLine\");\n  const totalEl = document.getElementById(\"dgEndoTotal\");\n  const sendBtn = document.getElementById(\"dgEndoSendWA\");\n  const orderScroll = document.getElementById(\"dgEndoOrderScroll\");\n\n  const selected = new Set([\"dg-02\"]);\n\n  function renderBooks(){\n    if(!pickGrid) return;\n    pickGrid.innerHTML = \"\";\n\n    BOOKS.forEach(b => {\n      const card = document.createElement(\"div\");\n      card.className = \"dg-endo-book\";\n      card.setAttribute(\"data-id\", b.id);\n      card.setAttribute(\"data-selected\", selected.has(b.id) ? \"1\" : \"0\");\n      card.setAttribute(\"role\", \"button\");\n      card.setAttribute(\"tabindex\", \"0\");\n      card.setAttribute(\"aria-label\", b.title);\n\n      const check = document.createElement(\"div\");\n      check.className = \"dg-endo-book-check\";\n      check.textContent = selected.has(b.id) ? \"\u2713\" : \"+\";\n\n      const img = document.createElement(\"img\");\n      img.loading = \"lazy\";\n      img.decoding = \"async\";\n      img.src = b.cover;\n      img.alt = b.title;\n\n      const body = document.createElement(\"div\");\n      body.className = \"dg-endo-book-body\";\n\n      const title = document.createElement(\"div\");\n      title.className = \"dg-endo-book-title\";\n      title.textContent = b.title;\n\n      const price = document.createElement(\"div\");\n      price.className = \"dg-endo-book-price\";\n      price.innerHTML = `<div>${b.price}<\/div><span>\u062c\u0646\u064a\u0647<\/span>`;\n\n      body.appendChild(title);\n      body.appendChild(price);\n\n      card.appendChild(check);\n      card.appendChild(img);\n      card.appendChild(body);\n\n      function toggle(){\n        if(selected.has(b.id)) selected.delete(b.id);\n        else selected.add(b.id);\n        if(selected.size === 0) selected.add(b.id);\n\n        renderBooks();\n        updateTotals();\n      }\n\n      card.addEventListener(\"click\", toggle);\n      card.addEventListener(\"keydown\", (e)=>{ if(e.key === \"Enter\" || e.key === \" \") { e.preventDefault(); toggle(); } });\n      pickGrid.appendChild(card);\n    });\n  }\n\n  function calc(){\n    const picked = BOOKS.filter(b => selected.has(b.id));\n    const count = picked.length;\n    const subtotal = picked.reduce((s,b)=> s + (Number(b.price)||0), 0);\n    const shipping = (count > 0) ? SHIPPING_FEE : 0;\n    const total = subtotal + shipping;\n    return { picked, count, subtotal, shipping, total };\n  }\n\n  function updateTotals(){\n    const t = calc();\n    if(countEl) countEl.textContent = String(t.count);\n    if(subtotalEl) subtotalEl.textContent = String(t.subtotal);\n    if(shippingLineEl) shippingLineEl.textContent = (t.count ? (\"\u0627\u0644\u0634\u062d\u0646: \" + t.shipping + \" \u062c\u0646\u064a\u0647\") : \"\u0627\u0644\u0634\u062d\u0646: \u2014\");\n    if(totalEl) totalEl.textContent = String(t.total);\n  }\n\n  function markError(el){\n    if(!el) return;\n    el.style.borderColor = \"rgba(220,38,38,.6)\";\n    setTimeout(()=>{ el.style.borderColor = \"\"; }, 1200);\n  }\n\n  function validate(){\n    const t = calc();\n    if(t.count === 0){\n      alert(\"\u0645\u0646 \u0641\u0636\u0644\u0643 \u0627\u062e\u062a\u0631 \u0643\u062a\u0627\u0628 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644.\");\n      if(orderScroll) orderScroll.scrollTo({ top: 0, behavior: \"smooth\" });\n      return false;\n    }\n    const name = (nameEl?.value || \"\").trim();\n    const phone = (phoneEl?.value || \"\").trim();\n    const address = (addressEl?.value || \"\").trim();\n\n    if(!name){ alert(\"\u0645\u0646 \u0641\u0636\u0644\u0643 \u0627\u0643\u062a\u0628 \u0627\u0644\u0627\u0633\u0645.\"); markError(nameEl); nameEl?.focus(); return false; }\n    if(!phone){ alert(\"\u0645\u0646 \u0641\u0636\u0644\u0643 \u0627\u0643\u062a\u0628 \u0631\u0642\u0645 \u0627\u0644\u0647\u0627\u062a\u0641.\"); markError(phoneEl); phoneEl?.focus(); return false; }\n    if(!address){ alert(\"\u0645\u0646 \u0641\u0636\u0644\u0643 \u0627\u0643\u062a\u0628 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u062a\u0648\u0635\u064a\u0644.\"); markError(addressEl); addressEl?.focus(); return false; }\n    return true;\n  }\n\n  function buildMessage(){\n    const t = calc();\n    const name = (nameEl.value || \"\").trim();\n    const phone = (phoneEl.value || \"\").trim();\n    const phone2 = (phone2El.value || \"\").trim();\n    const address = (addressEl.value || \"\").trim();\n\n    const lines = [];\n    lines.push(\"DENTIST GUIDE ORDER\");\n    lines.push(\"------------------------\");\n    lines.push(\"\ud83d\udd35 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0639\u0645\u064a\u0644:\");\n    lines.push(\"\u0627\u0644\u0627\u0633\u0645: \" + name);\n    lines.push(\"\u0631\u0642\u0645 \u0627\u0644\u0647\u0627\u062a\u0641: \" + phone);\n    if(phone2) lines.push(\"\u0631\u0642\u0645 \u0627\u062d\u062a\u064a\u0627\u0637\u064a: \" + phone2);\n    lines.push(\"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u062a\u0648\u0635\u064a\u0644: \" + address);\n    lines.push(\"------------------------\");\n    lines.push(\"\ud83d\udfe2 \u0627\u0644\u0643\u062a\u0628 \u0627\u0644\u0645\u062e\u062a\u0627\u0631\u0629:\");\n    t.picked.forEach((b, i) => lines.push((i+1) + \") \" + b.title + \" - \" + b.price + \" \u062c\u0646\u064a\u0647\"));\n    lines.push(\"------------------------\");\n    lines.push(\"\u0639\u062f\u062f \u0627\u0644\u0643\u062a\u0628: \" + t.count);\n    lines.push(\"\u0625\u062c\u0645\u0627\u0644\u064a \u0627\u0644\u0643\u062a\u0628: \" + t.subtotal + \" \u062c\u0646\u064a\u0647\");\n    lines.push(\"\u0627\u0644\u0634\u062d\u0646: \" + t.shipping + \" \u062c\u0646\u064a\u0647\");\n    lines.push(\"\u0627\u0644\u0625\u062c\u0645\u0627\u0644\u064a \u0627\u0644\u0646\u0647\u0627\u0626\u064a: \" + t.total + \" \u062c\u0646\u064a\u0647\");\n    return lines.join(\"\\n\");\n  }\n\n  if(openOrderBtn){\n    openOrderBtn.addEventListener(\"click\", function(){\n      renderBooks();\n      updateTotals();\n      openModal(orderModal);\n      setTimeout(()=>{ if(orderScroll) orderScroll.scrollTo({ top: 0, behavior: \"auto\" }); }, 0);\n    });\n  }\n\n  if(sendBtn){\n    sendBtn.addEventListener(\"click\", function(){\n      if(!validate()) return;\n      const msg = buildMessage();\n      window.open(makeWaUrl(WA_PHONE, msg), \"_blank\", \"noopener\");\n    });\n  }\n\n  \/\/ =========================\n  \/\/ Global click delegation (image popup + close)\n  \/\/ =========================\n  document.addEventListener(\"click\", function(e){\n    const imgLink = e.target.closest && e.target.closest(\".dg-endo-img\");\n    if(imgLink){\n      const href = (imgLink.getAttribute(\"href\") || \"\").trim();\n      if(!href || href === \"#\" || href === \"PUT_IMAGE_URL_HERE\") return;\n\n      e.preventDefault();\n      const t = imgLink.getAttribute(\"data-title\") || \"\u0635\u0648\u0631\u0629\";\n      if(imageTitle) imageTitle.textContent = t;\n      if(imageZoom){\n        imageZoom.src = href;\n        imageZoom.alt = t;\n      }\n      openModal(imageModal);\n      return;\n    }\n\n    const closer = e.target && e.target.getAttribute && e.target.getAttribute(\"data-close\") === \"1\";\n    if(closer){\n      const m = e.target.closest(\".dg-endo-modal\");\n      if(m) closeModal(m);\n      return;\n    }\n  }, { passive:false });\n\n  document.addEventListener(\"keydown\", function(e){\n    if(e.key !== \"Escape\") return;\n    [imageModal, orderModal].forEach(m => { if(m && m.classList.contains(\"is-open\")) closeModal(m); });\n  });\n\n  renderBooks();\n  updateTotals();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u2302 \u0627\u0644\u0631\u062c\u0648\u0639 \u0644\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629 Correct errors in ENDODONTICS \u064a\u0634\u0631\u062d \u0627\u0644\u0643\u062a\u0627\u0628 \u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u062a\u064a \u0642\u062f \u064a\u0642\u0639 \u0641\u064a\u0647\u0627 \u0637\u0628\u064a\u0628 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u0623\u062b\u0646\u0627\u0621 \u062d\u0634\u0648 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_crdt_document":"","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":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","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":""},"class_list":["post-2157","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/dentistguidebooks.com\/ar\/wp-json\/wp\/v2\/pages\/2157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dentistguidebooks.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dentistguidebooks.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dentistguidebooks.com\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dentistguidebooks.com\/ar\/wp-json\/wp\/v2\/comments?post=2157"}],"version-history":[{"count":2,"href":"https:\/\/dentistguidebooks.com\/ar\/wp-json\/wp\/v2\/pages\/2157\/revisions"}],"predecessor-version":[{"id":2164,"href":"https:\/\/dentistguidebooks.com\/ar\/wp-json\/wp\/v2\/pages\/2157\/revisions\/2164"}],"wp:attachment":[{"href":"https:\/\/dentistguidebooks.com\/ar\/wp-json\/wp\/v2\/media?parent=2157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}