{"id":10967,"date":"2025-12-28T11:27:36","date_gmt":"2025-12-28T09:27:36","guid":{"rendered":"https:\/\/lumiquestdental.com\/?page_id=10967"},"modified":"2026-03-02T23:06:25","modified_gmt":"2026-03-02T21:06:25","slug":"cost","status":"publish","type":"page","link":"https:\/\/lumiquestdental.com\/ar\/dubai\/dental-cleaning\/cost\/","title":{"rendered":"\u062a\u0643\u0644\u0641\u0629 \u062a\u0646\u0638\u064a\u0641 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u0641\u064a \u062f\u0628\u064a \u2014 \u0645\u0627 \u0627\u0644\u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062a\u064a \u062a\u0624\u062b\u0631 \u0639\u0644\u0649 \u0627\u0644\u062a\u0633\u0639\u064a\u0631 \u0648\u0645\u0627 \u0627\u0644\u0630\u064a \u064a\u0634\u0645\u0644\u0647 \u0627\u0644\u0639\u0644\u0627\u062c"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10967\" class=\"elementor elementor-10967\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e91805f e-flex e-con-boxed e-con e-parent\" data-id=\"e91805f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-47a0aa9 elementor-widget elementor-widget-html\" data-id=\"47a0aa9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Section 1: Dental Cleaning Cost in Dubai \u2014 Transparent Intro -->\r\n<section id=\"cleaning-cost-intro\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"cleaning-cost-title\">\r\n  <div class=\"lq-section-inner\">\r\n    <div class=\"lq-split\">\r\n\r\n      <!-- Left Content -->\r\n      <div class=\"lq-content\">\r\n        <header>\r\n          <h1 id=\"cleaning-cost-title\">Dental Cleaning Cost in Dubai \u2014 What Influences Pricing & Value<\/h1>\r\n\r\n          <p class=\"intro\">\r\nDental cleaning costs in Dubai are not fixed \u2014 and they shouldn\u2019t be.\r\nPricing depends on <strong>gum health, depth of cleaning, clinical time and preventive intent<\/strong>,\r\nnot just \u201cscaling and polishing\u201d as a line item.\r\nFor a structured explanation of how dental pricing works across treatments in Dubai, see our <a href=\"\/dubai\/cost-transparency\/\" class=\"lq-link\" target=\"_self\">Dental Cost Transparency guide<\/a>.\r\n          <\/p>\r\n\r\n          <p class=\"body\">\r\n            LumiQuest focuses on <strong>price clarity, clinical fairness and preventive value<\/strong>.\r\n            Instead of promoting the cheapest offer, we explain what is included, what legitimately increases cost,\r\n            and how ethical clinics price care without unnecessary add-ons.\r\n            For broader context, see the\r\n            <a href=\"\/dubai\/dental-cleaning\/\" class=\"lq-link\">Dental Cleaning overview<\/a>\r\n            and when deeper care is discussed, the\r\n            <a href=\"\/dubai\/periodontist\/\" class=\"lq-link\">Periodontist guide<\/a>.\r\n          <\/p>\r\n        <\/header>\r\n\r\n        <!-- Mini Gallery \/ Highlights -->\r\n        <div class=\"lq-mini-gallery\">\r\n\r\n          <figure>\r\n            <img decoding=\"async\"\r\n              src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/12\/transparent-pricing-icon.png\"\r\n              alt=\"Minimalist gradient outline icon of a price tag with checkmark, symbolizing transparent and ethical dental pricing.\"\r\n              loading=\"lazy\">\r\n            <figcaption>\r\n              Transparent Pricing<br>\r\n              <span class=\"subnote\">Clear fees based on clinical need \u2014 not upselling<\/span>\r\n            <\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure>\r\n            <img decoding=\"async\"\r\n              src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/12\/clinical-time-icon.png\"\r\n              alt=\"Minimalist gradient outline icon of a clock and dental instrument, symbolizing clinical time and careful dental cleaning.\"\r\n              loading=\"lazy\">\r\n            <figcaption>\r\n              Clinical Time & Depth<br>\r\n              <span class=\"subnote\">Routine vs deep cleaning affects cost fairly<\/span>\r\n            <\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure>\r\n            <img decoding=\"async\"\r\n              src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/12\/preventive-value-icon.png\"\r\n              alt=\"Minimalist gradient outline icon of a shielded tooth, symbolizing preventive value and long-term oral health protection.\"\r\n              loading=\"lazy\">\r\n            <figcaption>\r\n              Preventive Value<br>\r\n              <span class=\"subnote\">Paying for protection, not cosmetic polish<\/span>\r\n            <\/figcaption>\r\n          <\/figure>\r\n\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Right Hero Image -->\r\n      <div class=\"lq-image\">\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/12\/dental-cleaning-scaler.png\"\r\n          alt=\"Photorealistic close-up of a dental ultrasonic scaler tip emitting a fine water spray, illustrating professional plaque and tartar removal during dental cleaning.\r\n\"\r\n          class=\"main-hero\">\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #cleaning-cost-intro {\r\n    background: #fff;\r\n    padding: 72px 0;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-split {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 48px;\r\n    max-width: 1150px;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-content {\r\n    flex: 1;\r\n  }\r\n\r\n  #cleaning-cost-intro h1 {\r\n    font-size: 32px;\r\n    font-weight: 700;\r\n    color: #222;\r\n    margin-bottom: 20px;\r\n    position: relative;\r\n    display: inline-block;\r\n  }\r\n\r\n  #cleaning-cost-intro h1::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    bottom: -10px;\r\n    inset-inline-start: 0;\r\n    width: 110px;\r\n    height: 3px;\r\n    background: linear-gradient(90deg, #ff7a00, #ff5fa2);\r\n    border-radius: 4px;\r\n    animation: subtlePulseSm 3s ease-in-out infinite;\r\n    box-shadow: 0 2px 10px rgba(255, 122, 0, 0.3);\r\n  }\r\n\r\n  #cleaning-cost-intro .intro {\r\n    max-width: 720px;\r\n    font-size: 18px;\r\n    line-height: 1.7;\r\n    margin-bottom: 22px;\r\n    color: #444;\r\n  }\r\n\r\n  #cleaning-cost-intro .body {\r\n    max-width: 720px;\r\n    font-size: 16px;\r\n    line-height: 1.6;\r\n    margin-bottom: 26px;\r\n    color: #555;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-link {\r\n    color: #ff7a00;\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-link:hover {\r\n    text-decoration: underline;\r\n  }\r\n\r\n  \/* Mini Gallery *\/\r\n  #cleaning-cost-intro .lq-mini-gallery {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, 1fr);\r\n    gap: 20px;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-mini-gallery figure {\r\n    text-align: center;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-mini-gallery img {\r\n    width: 64px;\r\n    height: 64px;\r\n    margin-bottom: 8px;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-mini-gallery figcaption {\r\n    font-size: 14px;\r\n    margin-top: 4px;\r\n    color: #333;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-mini-gallery .subnote {\r\n    display: block;\r\n    font-size: 12px;\r\n    color: #777;\r\n    margin-top: 4px;\r\n  }\r\n\r\n  #cleaning-cost-intro .lq-image {\r\n    flex: 0 0 420px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n  }\r\n\r\n  #cleaning-cost-intro .main-hero {\r\n    width: 100%;\r\n    border-radius: 16px;\r\n    box-shadow: 0 4px 14px rgba(0,0,0,0.08);\r\n    object-fit: cover;\r\n  }\r\n\r\n  @media (max-width: 992px) {\r\n    #cleaning-cost-intro .lq-mini-gallery {\r\n      grid-template-columns: repeat(2, 1fr);\r\n    }\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    #cleaning-cost-intro .lq-split {\r\n      flex-direction: column;\r\n      gap: 32px;\r\n    }\r\n\r\n    #cleaning-cost-intro .lq-image {\r\n      order: 2;\r\n      max-width: 100%;\r\n    }\r\n\r\n    #cleaning-cost-intro .lq-mini-gallery {\r\n      grid-template-columns: 1fr;\r\n    }\r\n  }\r\n\r\n  @keyframes subtlePulseSm {\r\n    0%, 100% { opacity: 1; }\r\n    50% { opacity: 0.6; }\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8db5f19 elementor-widget elementor-widget-html\" data-id=\"8db5f19\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Section 2: Typical Dental Cleaning Price Ranges in Dubai (Updated with research) -->\r\n<section id=\"cleaning-cost-ranges\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"cleaning-cost-ranges-title\">\r\n  <div class=\"lq-section-inner\">\r\n\r\n    <!-- Header -->\r\n    <header class=\"lq-centered\">\r\n      <h2 id=\"cleaning-cost-ranges-title\">Typical Dental Cleaning Price Ranges in Dubai<\/h2>\r\n      <p class=\"intro\">\r\n        \u201cDental cleaning\u201d in Dubai can mean very different things clinically \u2014 and that\u2019s why pricing varies.\r\n        The fairest fees are tied to <strong>gum findings, depth, chair time, and whether the goal is prevention or therapy<\/strong>,\r\n        not a fixed one-size number.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- Price Range Grid -->\r\n    <div class=\"dcr-grid\">\r\n\r\n      <!-- Card 1: Promotional \/ Entry -->\r\n      <article class=\"dcr-card dcr-card-soft\">\r\n        <div class=\"dcr-top\">\r\n          <h3>Promotional \/ \u201cEntry\u201d Cleaning<\/h3>\r\n          <span class=\"dcr-chip\">Indicative marketing offers<\/span>\r\n        <\/div>\r\n\r\n        <p class=\"range\">\r\n          <strong>Approx. AED 50 \u2013 150<\/strong>\r\n        <\/p>\r\n\r\n        <p>\r\n          Often used as a <strong>new-patient offer<\/strong>. These prices may cover only a basic component\r\n          and can exclude items like consultation, polishing upgrades, or radiographs.\r\n        <\/p>\r\n\r\n        <ul class=\"dcr-bullets\">\r\n          <li>Confirm what\u2019s included <strong>before<\/strong> you arrive (scaling? polishing? exam?).<\/li>\r\n          <li>Ask if there are extra \u201cfile opening\u201d, X-ray, or infection control fees.<\/li>\r\n        <\/ul>\r\n      <\/article>\r\n\r\n      <!-- Card 2: Standard Routine Prophylaxis -->\r\n      <article class=\"dcr-card\">\r\n        <div class=\"dcr-top\">\r\n          <h3>Routine Scaling &amp; Polishing<\/h3>\r\n          <span class=\"dcr-chip dcr-chip-primary\">Most common<\/span>\r\n        <\/div>\r\n\r\n        <p class=\"range\">\r\n          <strong>Approx. AED 150 \u2013 500<\/strong>\r\n        <\/p>\r\n\r\n        <p>\r\n          Standard preventive cleaning for patients with <strong>healthy gums or mild gingivitis<\/strong>.\r\n          Typically done in one visit, usually without anaesthesia.\r\n        <\/p>\r\n\r\n        <div class=\"dcr-mini\">\r\n          <div class=\"dcr-mini-row\">\r\n            <span>Budget \/ high-density areas<\/span>\r\n            <strong>AED 150 \u2013 300<\/strong>\r\n          <\/div>\r\n          <div class=\"dcr-mini-row\">\r\n            <span>Mid-range residential<\/span>\r\n            <strong>AED 300 \u2013 500<\/strong>\r\n          <\/div>\r\n          <div class=\"dcr-mini-row\">\r\n            <span>Premium districts<\/span>\r\n            <strong>AED 500 \u2013 900+<\/strong>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <p class=\"support\">\r\n          The tier is usually driven by <strong>time allocation, overhead, and positioning<\/strong> \u2014 not \u201cbetter teeth\u201d.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- Card 3: Airflow \/ Stain Removal -->\r\n      <article class=\"dcr-card\">\r\n        <div class=\"dcr-top\">\r\n          <h3>Stain Removal \/ \u201cAirflow\u201d Style Hygiene<\/h3>\r\n          <span class=\"dcr-chip\">Comfort + stain-focused<\/span>\r\n        <\/div>\r\n\r\n        <p class=\"range\">\r\n          <strong>Add-on: AED 150 \u2013 400<\/strong><br \/>\r\n          <strong>Standalone session: AED 600 \u2013 1,100<\/strong>\r\n        <\/p>\r\n\r\n        <p>\r\n          This is commonly priced as a <strong>premium add-on<\/strong> (especially for coffee\/shisha stains)\r\n          or sold as a higher-tier hygiene session. It should be framed clearly as stain\/biofilm-focused \u2014\r\n          not confused with periodontal deep cleaning.\r\n        <\/p>\r\n\r\n        <p class=\"support\">\r\n          If it\u2019s bundled inside cosmetic packages, the bill structure can change \u2014 ask for an itemised breakdown.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- Card 4: Deep Cleaning \/ SRP -->\r\n      <article class=\"dcr-card dcr-card-strong\">\r\n        <div class=\"dcr-top\">\r\n          <h3>Deep Cleaning (Scaling &amp; Root Planing)<\/h3>\r\n          <span class=\"dcr-chip dcr-chip-warn\">Therapeutic \u2014 not cosmetic<\/span>\r\n        <\/div>\r\n\r\n        <p class=\"range\">\r\n          <strong>Common billing: per quadrant<\/strong><br \/>\r\n          <strong>AED 600 \u2013 1,000 \/ quadrant<\/strong>\r\n        <\/p>\r\n\r\n        <p>\r\n          Used when there are <strong>periodontal pockets &gt;4mm and bone-loss risk<\/strong>.\r\n          Often staged over <strong>2\u20134 visits<\/strong>, sometimes with local anaesthetic.\r\n        <\/p>\r\n\r\n        <div class=\"dcr-mini dcr-mini-wide\">\r\n          <div class=\"dcr-mini-row\">\r\n            <span>Full mouth (quadrant model)<\/span>\r\n            <strong>AED 2,400 \u2013 4,000<\/strong>\r\n          <\/div>\r\n          <div class=\"dcr-mini-row\">\r\n            <span>Bundled alternatives (some clinics)<\/span>\r\n            <strong>AED 1,000 \u2013 1,600 total<\/strong>\r\n          <\/div>\r\n          <div class=\"dcr-mini-row\">\r\n            <span>Per jaw (upper \/ lower)<\/span>\r\n            <strong>AED 1,000 \u2013 1,500 \/ jaw<\/strong>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <p class=\"support\">\r\n          If \u201cdeep cleaning\u201d is recommended, it should come with <strong>gum measurements and evidence<\/strong> (charting \/ X-rays),\r\n          not pressure or surprise upgrades.\r\n        <\/p>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n    <!-- Note -->\r\n    <p class=\"dcr-note\">\r\n      A fair quote should match <strong>clinical findings + time + depth<\/strong>.\r\n      Be cautious with ultra-low prices that skip assessment, and with high fees that aren\u2019t supported by a clear explanation and itemised plan.\r\n    <\/p>\r\n\r\n    <!-- Micro CTA -->\r\n    <p class=\"dcr-links\">\r\n      For clinical context, visit <a href=\"\/dubai\/dental-cleaning\/\" class=\"lq-link\">Dental Cleaning in Dubai<\/a>.\r\n      If gum disease is suspected, see the <a href=\"\/dubai\/periodontist\/\" class=\"lq-link\">Periodontist guide<\/a>.\r\n    <\/p>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  \/* IMPORTANT: no horizontal padding here (global .lq\/.lq-section already handles mobile padding) *\/\r\n  #cleaning-cost-ranges{\r\n    background:#f9fafc;\r\n    padding:72px 0;\r\n  }\r\n\r\n  #cleaning-cost-ranges .lq-centered{\r\n    text-align:center;\r\n    margin-bottom:42px;\r\n  }\r\n\r\n  #cleaning-cost-ranges h2{\r\n    font-size:28px;\r\n    font-weight:700;\r\n    margin-bottom:14px;\r\n    color:#222;\r\n    position:relative;\r\n    display:inline-block;\r\n  }\r\n\r\n  #cleaning-cost-ranges h2::after{\r\n    content:\"\";\r\n    position:absolute;\r\n    bottom:-8px;\r\n    left:50%;\r\n    transform:translateX(-50%);\r\n    width:90px;\r\n    height:3px;\r\n    background:linear-gradient(90deg,#ff7a00,#ff5fa2);\r\n    border-radius:4px;\r\n  }\r\n\r\n  #cleaning-cost-ranges .intro{\r\n    max-width:820px;\r\n    margin:0 auto;\r\n    font-size:18px;\r\n    line-height:1.7;\r\n    color:#444;\r\n  }\r\n\r\n  \/* Grid *\/\r\n  .dcr-grid{\r\n    max-width:1150px;\r\n    margin:0 auto 30px;\r\n    display:grid;\r\n    grid-template-columns:repeat(2,minmax(0,1fr));\r\n    gap:22px;\r\n  }\r\n\r\n  .dcr-card{\r\n    background:#fff;\r\n    border-radius:18px;\r\n    padding:22px 20px 22px;\r\n    box-shadow:0 4px 12px rgba(0,0,0,0.05);\r\n    transition:transform .25s ease, box-shadow .25s ease;\r\n    border:1px solid rgba(0,0,0,0.04);\r\n  }\r\n\r\n  .dcr-card:hover{\r\n    transform:translateY(-3px);\r\n    box-shadow:0 10px 22px rgba(0,0,0,0.08);\r\n  }\r\n\r\n  .dcr-card-soft{\r\n    background:linear-gradient(180deg, rgba(255,122,0,0.06), rgba(255,95,162,0.03));\r\n  }\r\n\r\n  .dcr-card-strong{\r\n    border:1px solid rgba(255,122,0,0.25);\r\n    background:linear-gradient(180deg, rgba(255,122,0,0.05), rgba(255,95,162,0.04));\r\n  }\r\n\r\n  .dcr-top{\r\n    display:flex;\r\n    align-items:flex-start;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  .dcr-card h3{\r\n    font-size:18px;\r\n    font-weight:650;\r\n    margin:0;\r\n    color:#222;\r\n  }\r\n\r\n  .dcr-chip{\r\n    font-size:12px;\r\n    line-height:1;\r\n    padding:7px 10px;\r\n    border-radius:999px;\r\n    background:#f2f4f8;\r\n    color:#444;\r\n    white-space:nowrap;\r\n  }\r\n\r\n  .dcr-chip-primary{\r\n    background:rgba(255,122,0,0.12);\r\n    color:#7a3b08;\r\n  }\r\n\r\n  .dcr-chip-warn{\r\n    background:rgba(255,95,162,0.12);\r\n    color:#7b1c4c;\r\n  }\r\n\r\n  .dcr-card .range{\r\n    font-size:15.5px;\r\n    margin:0 0 10px;\r\n    color:#b85611;\r\n  }\r\n\r\n  .dcr-card p{\r\n    font-size:14px;\r\n    line-height:1.65;\r\n    color:#555;\r\n    margin:0 0 8px;\r\n  }\r\n\r\n  .dcr-card .support{\r\n    font-size:13px;\r\n    color:#666;\r\n    margin-top:10px;\r\n  }\r\n\r\n  .dcr-bullets{\r\n    margin:10px 0 0;\r\n    padding-left:18px;\r\n    color:#555;\r\n    font-size:13.5px;\r\n    line-height:1.6;\r\n  }\r\n  .dcr-bullets li{ margin:6px 0; }\r\n\r\n  .dcr-mini{\r\n    margin:12px 0 10px;\r\n    padding:12px 12px;\r\n    border-radius:14px;\r\n    background:#fafbfe;\r\n    border:1px solid rgba(0,0,0,0.04);\r\n  }\r\n\r\n  .dcr-mini-wide{\r\n    background:#fff;\r\n    border:1px dashed rgba(255,122,0,0.35);\r\n  }\r\n\r\n  .dcr-mini-row{\r\n    display:flex;\r\n    align-items:baseline;\r\n    justify-content:space-between;\r\n    gap:14px;\r\n    padding:7px 2px;\r\n    border-bottom:1px solid rgba(0,0,0,0.05);\r\n  }\r\n\r\n  .dcr-mini-row:last-child{ border-bottom:none; }\r\n\r\n  .dcr-mini-row span{\r\n    font-size:13px;\r\n    color:#555;\r\n  }\r\n\r\n  .dcr-mini-row strong{\r\n    font-size:13px;\r\n    color:#222;\r\n    font-weight:650;\r\n    white-space:nowrap;\r\n  }\r\n\r\n  \/* Bottom Note *\/\r\n  .dcr-note{\r\n    max-width:860px;\r\n    margin:0 auto;\r\n    text-align:center;\r\n    font-size:14.5px;\r\n    line-height:1.65;\r\n    color:#555;\r\n  }\r\n\r\n  .dcr-links{\r\n    max-width:860px;\r\n    margin:14px auto 0;\r\n    text-align:center;\r\n    font-size:14px;\r\n    color:#555;\r\n  }\r\n\r\n  #cleaning-cost-ranges .lq-link{\r\n    color:#ff7a00;\r\n    font-weight:650;\r\n    text-decoration:none;\r\n  }\r\n  #cleaning-cost-ranges .lq-link:hover{ text-decoration:underline; }\r\n\r\n  \/* Responsive *\/\r\n  @media (max-width: 1100px){\r\n    .dcr-grid{ grid-template-columns:1fr; }\r\n  }\r\n\r\n  @media (max-width: 768px){\r\n    #cleaning-cost-ranges{ padding:60px 0; }\r\n    .dcr-card{ padding:20px 18px 20px; }\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7725295 elementor-widget elementor-widget-html\" data-id=\"7725295\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Section 3: Routine vs Deep Cleaning \u2014 Why Costs Differ -->\r\n<section id=\"cleaning-cost-comparison\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"cleaning-cost-comparison-title\">\r\n  <div class=\"lq-section-inner\">\r\n\r\n    <!-- Header -->\r\n    <header class=\"lq-centered\">\r\n      <h2 id=\"cleaning-cost-comparison-title\">Routine Cleaning vs Deep Cleaning \u2014 Why Costs Differ<\/h2>\r\n      <p class=\"intro\">\r\n        Not all dental cleanings are the same \u2014 and pricing reflects <strong>clinical depth, time, skill and risk management<\/strong>.\r\n        Understanding the difference helps you avoid both <strong>unnecessary treatment<\/strong> and <strong>incomplete care<\/strong>.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- Comparison Table -->\r\n    <div class=\"dcc-table-wrapper\">\r\n      <table class=\"dcc-table\">\r\n        <thead>\r\n          <tr>\r\n            <th>Aspect<\/th>\r\n            <th>Routine Cleaning<\/th>\r\n            <th>Deep Cleaning<\/th>\r\n          <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n          <tr>\r\n            <td>Clinical Purpose<\/td>\r\n            <td>Preventive plaque &amp; tartar removal<\/td>\r\n            <td>Stabilise inflamed or diseased gums<\/td>\r\n          <\/tr>\r\n          <tr>\r\n            <td>Cleaning Depth<\/td>\r\n            <td>Above and slightly below the gumline<\/td>\r\n            <td>Deep under the gums (periodontal pockets)<\/td>\r\n          <\/tr>\r\n          <tr>\r\n            <td>Time Required<\/td>\r\n            <td>Shorter, single visit<\/td>\r\n            <td>Longer sessions or staged visits<\/td>\r\n          <\/tr>\r\n          <tr>\r\n            <td>Anaesthesia<\/td>\r\n            <td>Not usually needed<\/td>\r\n            <td>Sometimes required for comfort<\/td>\r\n          <\/tr>\r\n          <tr>\r\n            <td>Who It\u2019s For<\/td>\r\n            <td>Healthy gums or routine maintenance<\/td>\r\n            <td>Bleeding gums, inflammation, early gum disease<\/td>\r\n          <\/tr>\r\n          <tr>\r\n            <td>Typical Cost Range<\/td>\r\n            <td>Lower<\/td>\r\n            <td>Higher due to time and complexity<\/td>\r\n          <\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    <\/div>\r\n\r\n    <!-- Explanation Split -->\r\n    <div class=\"dcc-split\">\r\n\r\n      <!-- Left -->\r\n      <div class=\"dcc-copy\">\r\n        <h3>Why Deep Cleaning Costs More<\/h3>\r\n        <p>\r\n          Deep cleaning is a <strong>therapeutic procedure<\/strong>, not a cosmetic upgrade.\r\n          It requires more chair time, precision under the gums, and careful handling of inflamed tissue.\r\n        <\/p>\r\n        <p>\r\n          Pricing reflects the <strong>clinical responsibility<\/strong> involved \u2014 including pain control,\r\n          staged treatment and follow-up to ensure gums stabilise.\r\n        <\/p>\r\n        <p class=\"support\">\r\n          When recommended appropriately, deep cleaning helps prevent\r\n          <strong>progression to advanced periodontal disease<\/strong>.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <!-- Right -->\r\n      <div class=\"dcc-copy\">\r\n        <h3>When Cost Differences Are a Red Flag<\/h3>\r\n        <p>\r\n          Be cautious if deep cleaning is recommended <strong>without gum assessment, explanation or evidence<\/strong>.\r\n          Ethical clinics explain <strong>why<\/strong> it\u2019s needed \u2014 or why it\u2019s not.\r\n        <\/p>\r\n        <p>\r\n          Likewise, very low prices that skip gum evaluation or rush scaling\r\n          may leave harmful deposits behind, increasing future risk.\r\n        <\/p>\r\n        <p class=\"support\">\r\n          Proper diagnosis should always come before pricing.\r\n        <\/p>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- Bottom Note -->\r\n    <p class=\"dcc-note\">\r\n      If gum disease is suspected, a dentist may coordinate care with a\r\n      <a href=\"\/dubai\/periodontist\/\" class=\"lq-link\">periodontist<\/a>\r\n      to ensure treatment is appropriate \u2014 not excessive.\r\n    <\/p>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #cleaning-cost-comparison {\r\n    background: #fff;\r\n    padding: 72px 16px;\r\n  }\r\n\r\n  #cleaning-cost-comparison .lq-centered {\r\n    text-align: center;\r\n    margin-bottom: 40px;\r\n  }\r\n\r\n  #cleaning-cost-comparison h2 {\r\n    font-size: 28px;\r\n    font-weight: 700;\r\n    margin-bottom: 14px;\r\n    color: #222;\r\n    position: relative;\r\n    display: inline-block;\r\n  }\r\n\r\n  #cleaning-cost-comparison h2::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    bottom: -8px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    width: 90px;\r\n    height: 3px;\r\n    background: linear-gradient(90deg, #ff7a00, #ff5fa2);\r\n    border-radius: 4px;\r\n  }\r\n\r\n  #cleaning-cost-comparison .intro {\r\n    max-width: 800px;\r\n    margin: 0 auto;\r\n    font-size: 18px;\r\n    line-height: 1.7;\r\n    color: #444;\r\n  }\r\n\r\n  \/* Table *\/\r\n  .dcc-table-wrapper {\r\n    max-width: 1000px;\r\n    margin: 0 auto 44px;\r\n    overflow-x: auto;\r\n  }\r\n\r\n  .dcc-table {\r\n    width: 100%;\r\n    border-collapse: collapse;\r\n    background: #f9fafc;\r\n    border-radius: 16px;\r\n    overflow: hidden;\r\n    box-shadow: 0 4px 12px rgba(0,0,0,0.05);\r\n  }\r\n\r\n  .dcc-table th,\r\n  .dcc-table td {\r\n    padding: 16px 14px;\r\n    font-size: 14px;\r\n    line-height: 1.5;\r\n    text-align: start;\r\n  }\r\n\r\n  .dcc-table thead th {\r\n    background: #fff;\r\n    font-weight: 600;\r\n    color: #222;\r\n    border-bottom: 1px solid rgba(0,0,0,0.06);\r\n  }\r\n\r\n  .dcc-table tbody tr:not(:last-child) td {\r\n    border-bottom: 1px solid rgba(0,0,0,0.05);\r\n  }\r\n\r\n  .dcc-table td {\r\n    color: #555;\r\n  }\r\n\r\n  \/* Split *\/\r\n  .dcc-split {\r\n    max-width: 1000px;\r\n    margin: 0 auto 28px;\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 32px;\r\n  }\r\n\r\n  .dcc-copy h3 {\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    margin-bottom: 8px;\r\n    color: #222;\r\n  }\r\n\r\n  .dcc-copy p {\r\n    font-size: 14.5px;\r\n    line-height: 1.65;\r\n    color: #555;\r\n    margin-bottom: 8px;\r\n  }\r\n\r\n  .dcc-copy .support {\r\n    font-size: 13.5px;\r\n    color: #666;\r\n  }\r\n\r\n  \/* Note *\/\r\n  .dcc-note {\r\n    max-width: 820px;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n    font-size: 14.5px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n  }\r\n\r\n  \/* Links *\/\r\n  #cleaning-cost-comparison .lq-link {\r\n    color: #ff7a00;\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n  }\r\n\r\n  #cleaning-cost-comparison .lq-link:hover {\r\n    text-decoration: underline;\r\n  }\r\n\r\n  \/* Responsive *\/\r\n  @media (max-width: 900px) {\r\n    .dcc-split {\r\n      grid-template-columns: 1fr;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    #cleaning-cost-comparison {\r\n      padding: 60px 16px;\r\n    }\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8899f5 elementor-widget elementor-widget-html\" data-id=\"a8899f5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Section 4: What Is (and Isn\u2019t) Included in a Dental Cleaning Fee -->\r\n<section id=\"cleaning-cost-included\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"cleaning-cost-included-title\">\r\n  <div class=\"lq-section-inner\">\r\n\r\n    <!-- Header -->\r\n    <header class=\"lq-centered\">\r\n      <h2 id=\"cleaning-cost-included-title\">What Is (and Isn\u2019t) Included in a Dental Cleaning Fee<\/h2>\r\n      <p class=\"intro\">\r\n        Dental cleaning fees in Dubai can look similar on paper \u2014 but what\u2019s included\r\n        often makes the real difference. Understanding this helps you compare clinics\r\n        based on <strong>care quality<\/strong>, not just price.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- Included \/ Not Included Grid -->\r\n    <div class=\"dci-grid\">\r\n\r\n      <!-- Included -->\r\n      <article class=\"dci-card dci-yes\">\r\n        <h3>What\u2019s Typically Included<\/h3>\r\n        <ul>\r\n          <li>Clinical assessment of teeth and gums<\/li>\r\n          <li>Scaling to remove plaque and tartar<\/li>\r\n          <li>Polishing to smooth enamel and reduce stain retention<\/li>\r\n          <li>Basic guidance on oral hygiene and maintenance<\/li>\r\n        <\/ul>\r\n        <p class=\"support\">\r\n          These elements form the foundation of ethical preventive care.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- Not Always Included -->\r\n      <article class=\"dci-card dci-maybe\">\r\n        <h3>What May Not Be Included<\/h3>\r\n        <ul>\r\n          <li>Deep periodontal cleaning under the gums<\/li>\r\n          <li>Local anaesthetic for sensitive or inflamed areas<\/li>\r\n          <li>X-rays (when needed for diagnosis)<\/li>\r\n          <li>Extended chair time for complex cases<\/li>\r\n        <\/ul>\r\n        <p class=\"support\">\r\n          These should be discussed and justified before proceeding.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- Red Flags -->\r\n      <article class=\"dci-card dci-alert\">\r\n        <h3>Common Pricing Red Flags<\/h3>\r\n        <ul>\r\n          <li>One flat price for every patient<\/li>\r\n          <li>No gum assessment before quoting<\/li>\r\n          <li>Add-ons introduced mid-appointment<\/li>\r\n          <li>Rushed cleaning with minimal explanation<\/li>\r\n        <\/ul>\r\n        <p class=\"support\">\r\n          Price clarity should come <strong>before<\/strong> treatment starts.\r\n        <\/p>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n    <!-- Bottom Note -->\r\n    <p class=\"dci-note\">\r\n      A fair dental cleaning fee reflects <strong>time, depth and clinical responsibility<\/strong>.\r\n      Ethical clinics explain what\u2019s included, what\u2019s optional, and why \u2014 without pressure.\r\n    <\/p>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #cleaning-cost-included {\r\n    background: #fffaf7;\r\n    padding: 72px 16px;\r\n  }\r\n\r\n  #cleaning-cost-included .lq-centered {\r\n    text-align: center;\r\n    margin-bottom: 42px;\r\n  }\r\n\r\n  #cleaning-cost-included h2 {\r\n    font-size: 28px;\r\n    font-weight: 700;\r\n    margin-bottom: 14px;\r\n    color: #222;\r\n    position: relative;\r\n    display: inline-block;\r\n  }\r\n\r\n  #cleaning-cost-included h2::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    bottom: -8px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    width: 90px;\r\n    height: 3px;\r\n    background: linear-gradient(90deg, #ff7a00, #ff5fa2);\r\n    border-radius: 4px;\r\n  }\r\n\r\n  #cleaning-cost-included .intro {\r\n    max-width: 820px;\r\n    margin: 0 auto;\r\n    font-size: 18px;\r\n    line-height: 1.7;\r\n    color: #444;\r\n  }\r\n\r\n  \/* Grid *\/\r\n  .dci-grid {\r\n    max-width: 1150px;\r\n    margin: 0 auto 32px;\r\n    display: grid;\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n    gap: 22px;\r\n  }\r\n\r\n  .dci-card {\r\n    background: #fff;\r\n    border-radius: 18px;\r\n    padding: 22px 20px 24px;\r\n    box-shadow: 0 4px 12px rgba(0,0,0,0.05);\r\n  }\r\n\r\n  .dci-card h3 {\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    margin-bottom: 10px;\r\n    color: #222;\r\n  }\r\n\r\n  .dci-card ul {\r\n    padding-left: 18px;\r\n    margin: 0 0 10px;\r\n  }\r\n\r\n  .dci-card ul li {\r\n    font-size: 14.5px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n    margin-bottom: 6px;\r\n  }\r\n\r\n  .dci-card .support {\r\n    font-size: 13.5px;\r\n    color: #666;\r\n  }\r\n\r\n  \/* Subtle accents *\/\r\n  .dci-yes {\r\n    border-top: 3px solid rgba(76, 175, 80, 0.6);\r\n  }\r\n\r\n  .dci-maybe {\r\n    border-top: 3px solid rgba(255, 152, 0, 0.6);\r\n  }\r\n\r\n  .dci-alert {\r\n    border-top: 3px solid rgba(244, 67, 54, 0.6);\r\n  }\r\n\r\n  \/* Note *\/\r\n  .dci-note {\r\n    max-width: 820px;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n    font-size: 14.5px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n  }\r\n\r\n  \/* Responsive *\/\r\n  @media (max-width: 1200px) {\r\n    .dci-grid {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    .dci-grid {\r\n      grid-template-columns: 1fr;\r\n    }\r\n    #cleaning-cost-included {\r\n      padding: 60px 16px;\r\n    }\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-16684b5 elementor-widget elementor-widget-html\" data-id=\"16684b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Section 5: When Additional Treatment May Increase Cost -->\r\n<section id=\"cleaning-cost-increase\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"cleaning-cost-increase-title\">\r\n  <div class=\"lq-section-inner\">\r\n\r\n    <!-- Header -->\r\n    <header class=\"lq-centered\">\r\n      <h2 id=\"cleaning-cost-increase-title\">When Additional Treatment May Increase Cost<\/h2>\r\n      <p class=\"intro\">\r\n        Sometimes a dental cleaning costs more \u2014 and that can be appropriate.\r\n        What matters is whether the increase is driven by <strong>clinical findings<\/strong>\r\n        or by unnecessary add-ons.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- Split Grid -->\r\n    <div class=\"dcci-split\">\r\n\r\n      <!-- Legitimate Reasons -->\r\n      <article class=\"dcci-card dcci-legit\">\r\n        <h3>Legitimate Reasons for Higher Cost<\/h3>\r\n        <ul>\r\n          <li>Confirmed gum inflammation or early periodontal disease<\/li>\r\n          <li>Deep cleaning required under the gumline<\/li>\r\n          <li>Need for local anaesthetic to ensure comfort<\/li>\r\n          <li>Staged treatment over multiple visits<\/li>\r\n          <li>Complex cases involving implants or orthodontic appliances<\/li>\r\n        <\/ul>\r\n        <p class=\"support\">\r\n          These situations require more time, precision and follow-up.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- Red Flags -->\r\n      <article class=\"dcci-card dcci-redflag\">\r\n        <h3>Situations That Should Raise Questions<\/h3>\r\n        <ul>\r\n          <li>Deep cleaning recommended without gum assessment<\/li>\r\n          <li>Extra fees added after treatment has already started<\/li>\r\n          <li>Pressure to upgrade without explanation or evidence<\/li>\r\n          <li>Claims that \u201ceveryone needs deep cleaning\u201d<\/li>\r\n          <li>Unclear or changing prices during the visit<\/li>\r\n        <\/ul>\r\n        <p class=\"support\">\r\n          Ethical clinics explain findings first \u2014 and pricing second.\r\n        <\/p>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n    <!-- Bottom Note -->\r\n    <p class=\"dcci-note\">\r\n      When gum disease is suspected, a dentist may recommend further evaluation\r\n      or coordinate care with a\r\n      <a href=\"\/dubai\/periodontist\/\" class=\"lq-link\">periodontist<\/a>.\r\n      This step protects your health \u2014 and prevents unnecessary procedures.\r\n    <\/p>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #cleaning-cost-increase {\r\n    background: #f9fafc;\r\n    padding: 72px 16px;\r\n  }\r\n\r\n  #cleaning-cost-increase .lq-centered {\r\n    text-align: center;\r\n    margin-bottom: 42px;\r\n  }\r\n\r\n  #cleaning-cost-increase h2 {\r\n    font-size: 28px;\r\n    font-weight: 700;\r\n    margin-bottom: 14px;\r\n    color: #222;\r\n    position: relative;\r\n    display: inline-block;\r\n  }\r\n\r\n  #cleaning-cost-increase h2::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    bottom: -8px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    width: 90px;\r\n    height: 3px;\r\n    background: linear-gradient(90deg, #ff7a00, #ff5fa2);\r\n    border-radius: 4px;\r\n  }\r\n\r\n  #cleaning-cost-increase .intro {\r\n    max-width: 820px;\r\n    margin: 0 auto;\r\n    font-size: 18px;\r\n    line-height: 1.7;\r\n    color: #444;\r\n  }\r\n\r\n  \/* Split *\/\r\n  .dcci-split {\r\n    max-width: 1000px;\r\n    margin: 0 auto 28px;\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 26px;\r\n  }\r\n\r\n  .dcci-card {\r\n    background: #fff;\r\n    border-radius: 18px;\r\n    padding: 22px 20px 24px;\r\n    box-shadow: 0 4px 12px rgba(0,0,0,0.05);\r\n  }\r\n\r\n  .dcci-card h3 {\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    margin-bottom: 10px;\r\n    color: #222;\r\n  }\r\n\r\n  .dcci-card ul {\r\n    padding-left: 18px;\r\n    margin: 0 0 10px;\r\n  }\r\n\r\n  .dcci-card ul li {\r\n    font-size: 14.5px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n    margin-bottom: 6px;\r\n  }\r\n\r\n  .dcci-card .support {\r\n    font-size: 13.5px;\r\n    color: #666;\r\n  }\r\n\r\n  \/* Visual cues *\/\r\n  .dcci-legit {\r\n    border-top: 3px solid rgba(76, 175, 80, 0.6);\r\n  }\r\n\r\n  .dcci-redflag {\r\n    border-top: 3px solid rgba(244, 67, 54, 0.6);\r\n  }\r\n\r\n  \/* Note *\/\r\n  .dcci-note {\r\n    max-width: 820px;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n    font-size: 14.5px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n  }\r\n\r\n  #cleaning-cost-increase .lq-link {\r\n    color: #ff7a00;\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n  }\r\n\r\n  #cleaning-cost-increase .lq-link:hover {\r\n    text-decoration: underline;\r\n  }\r\n\r\n  \/* Responsive *\/\r\n  @media (max-width: 900px) {\r\n    .dcci-split {\r\n      grid-template-columns: 1fr;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    #cleaning-cost-increase {\r\n      padding: 60px 16px;\r\n    }\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-15078e2 elementor-widget elementor-widget-html\" data-id=\"15078e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Section 6: Price vs Preventive Value -->\r\n<section id=\"cleaning-cost-value\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"cleaning-cost-value-title\">\r\n  <div class=\"lq-section-inner\">\r\n\r\n    <!-- Header -->\r\n    <header class=\"lq-centered\">\r\n      <h2 id=\"cleaning-cost-value-title\">Price vs Preventive Value<\/h2>\r\n      <p class=\"intro\">\r\n        Dental cleaning is not just a routine expense \u2014 it\u2019s a <strong>preventive investment<\/strong>.\r\n        The real cost isn\u2019t what you pay today, but what inadequate care can lead to tomorrow.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- Split Layout -->\r\n    <div class=\"dcv-split\">\r\n\r\n      <!-- Left: Cheap Cleaning -->\r\n      <article class=\"dcv-card dcv-cheap\">\r\n        <h3>The Problem with \u201cCheap\u201d Cleaning<\/h3>\r\n        <p>\r\n          Very low-cost cleanings often rely on <strong>speed over thoroughness<\/strong>.\r\n          When plaque or tartar is left behind \u2014 especially under the gums \u2014\r\n          problems can progress quietly.\r\n        <\/p>\r\n        <ul>\r\n          <li>Missed early gum disease<\/li>\r\n          <li>Recurring bleeding or inflammation<\/li>\r\n          <li>More frequent cleanings needed<\/li>\r\n          <li>Higher likelihood of deep cleaning later<\/li>\r\n        <\/ul>\r\n        <p class=\"support\">\r\n          Savings today can turn into higher treatment costs later.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- Right: Preventive Value -->\r\n      <article class=\"dcv-card dcv-value\">\r\n        <h3>The Value of Proper Preventive Care<\/h3>\r\n        <p>\r\n          A well-planned dental cleaning focuses on <strong>long-term gum stability<\/strong>,\r\n          not just surface polish.\r\n        <\/p>\r\n        <ul>\r\n          <li>Thorough plaque and tartar removal<\/li>\r\n          <li>Early detection of gum changes<\/li>\r\n          <li>Clear guidance on cleaning frequency<\/li>\r\n          <li>Reduced risk of periodontal treatment<\/li>\r\n        <\/ul>\r\n        <p class=\"support\">\r\n          Prevention lowers overall dental costs over time.\r\n        <\/p>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n    <!-- Bottom Note -->\r\n    <p class=\"dcv-note\">\r\n      Ethical pricing reflects <strong>time, skill and preventive intent<\/strong>.\r\n      LumiQuest prioritises clinics that protect patients from overtreatment\r\n      <em>and<\/em> from neglect.\r\n    <\/p>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #cleaning-cost-value {\r\n    background: #fff;\r\n    padding: 72px 16px;\r\n  }\r\n\r\n  #cleaning-cost-value .lq-centered {\r\n    text-align: center;\r\n    margin-bottom: 44px;\r\n  }\r\n\r\n  #cleaning-cost-value h2 {\r\n    font-size: 28px;\r\n    font-weight: 700;\r\n    margin-bottom: 14px;\r\n    color: #222;\r\n    position: relative;\r\n    display: inline-block;\r\n  }\r\n\r\n  #cleaning-cost-value h2::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    bottom: -8px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    width: 90px;\r\n    height: 3px;\r\n    background: linear-gradient(90deg, #ff7a00, #ff5fa2);\r\n    border-radius: 4px;\r\n  }\r\n\r\n  #cleaning-cost-value .intro {\r\n    max-width: 820px;\r\n    margin: 0 auto;\r\n    font-size: 18px;\r\n    line-height: 1.7;\r\n    color: #444;\r\n  }\r\n\r\n  \/* Split *\/\r\n  .dcv-split {\r\n    max-width: 1000px;\r\n    margin: 0 auto 28px;\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 26px;\r\n  }\r\n\r\n  .dcv-card {\r\n    background: #f9fafc;\r\n    border-radius: 18px;\r\n    padding: 22px 20px 24px;\r\n    box-shadow: 0 4px 12px rgba(0,0,0,0.05);\r\n  }\r\n\r\n  .dcv-card h3 {\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    margin-bottom: 10px;\r\n    color: #222;\r\n  }\r\n\r\n  .dcv-card p {\r\n    font-size: 14.5px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n    margin-bottom: 10px;\r\n  }\r\n\r\n  .dcv-card ul {\r\n    padding-left: 18px;\r\n    margin: 0 0 10px;\r\n  }\r\n\r\n  .dcv-card ul li {\r\n    font-size: 14.5px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n    margin-bottom: 6px;\r\n  }\r\n\r\n  .dcv-card .support {\r\n    font-size: 13.5px;\r\n    color: #666;\r\n  }\r\n\r\n  \/* Visual accents *\/\r\n  .dcv-cheap {\r\n    border-top: 3px solid rgba(244, 67, 54, 0.6);\r\n  }\r\n\r\n  .dcv-value {\r\n    border-top: 3px solid rgba(76, 175, 80, 0.6);\r\n  }\r\n\r\n  \/* Note *\/\r\n  .dcv-note {\r\n    max-width: 820px;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n    font-size: 14.5px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n  }\r\n\r\n  \/* Responsive *\/\r\n  @media (max-width: 900px) {\r\n    .dcv-split {\r\n      grid-template-columns: 1fr;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    #cleaning-cost-value {\r\n      padding: 60px 16px;\r\n    }\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a35bea9 elementor-widget elementor-widget-html\" data-id=\"a35bea9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Section 7: FAQs \u2014 Dental Cleaning Cost in Dubai -->\r\n<section id=\"cleaning-cost-faqs\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"cleaning-cost-faqs-title\">\r\n  <div class=\"lq-section-inner\">\r\n\r\n    <!-- Header -->\r\n    <header class=\"lq-centered\">\r\n      <h2 id=\"cleaning-cost-faqs-title\">FAQs: Dental Cleaning Cost in Dubai<\/h2>\r\n      <p class=\"intro\">\r\n        Clear answers to common questions about <strong>dental cleaning prices in Dubai<\/strong> \u2014\r\n        what affects cost, what\u2019s fair, and how to avoid unnecessary treatment.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- FAQ Timeline -->\r\n    <div class=\"wb-faq-timeline\">\r\n\r\n      <!-- FAQ 1 -->\r\n      <article class=\"wb-faq-card\">\r\n        <span class=\"wb-faq-dot\"><\/span>\r\n        <div class=\"wb-faq-content\">\r\n          <h3 class=\"wb-faq-question\">How much does dental cleaning cost in Dubai?<\/h3>\r\n          <div class=\"wb-faq-answer\">\r\n            <p>\r\n              Routine dental cleaning in Dubai typically falls within a <strong>moderate price range<\/strong>,\r\n              while deep cleaning costs more due to <strong>time, depth and clinical complexity<\/strong>.\r\n              Ethical clinics explain pricing after examining your gums \u2014 not before.\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- FAQ 2 -->\r\n      <article class=\"wb-faq-card\">\r\n        <span class=\"wb-faq-dot\"><\/span>\r\n        <div class=\"wb-faq-content\">\r\n          <h3 class=\"wb-faq-question\">Why do dental cleaning prices vary so much?<\/h3>\r\n          <div class=\"wb-faq-answer\">\r\n            <p>\r\n              Prices vary based on <strong>gum health, cleaning depth, chair time<\/strong>\r\n              and whether care is preventive or therapeutic.\r\n              Flat pricing often ignores real clinical differences between patients.\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- FAQ 3 -->\r\n      <article class=\"wb-faq-card\">\r\n        <span class=\"wb-faq-dot\"><\/span>\r\n        <div class=\"wb-faq-content\">\r\n          <h3 class=\"wb-faq-question\">Is deep cleaning always more expensive?<\/h3>\r\n          <div class=\"wb-faq-answer\">\r\n            <p>\r\n              Yes \u2014 when it is genuinely needed.\r\n              Deep cleaning involves <strong>sub-gum scaling, longer sessions<\/strong>\r\n              and sometimes local anaesthetic, which justifies the higher cost.\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- FAQ 4 -->\r\n      <article class=\"wb-faq-card\">\r\n        <span class=\"wb-faq-dot\"><\/span>\r\n        <div class=\"wb-faq-content\">\r\n          <h3 class=\"wb-faq-question\">Does dental cleaning cost include scaling and polishing?<\/h3>\r\n          <div class=\"wb-faq-answer\">\r\n            <p>\r\n              In most cases, yes.\r\n              A standard dental cleaning fee usually includes <strong>scaling and polishing<\/strong>.\r\n              Deeper periodontal treatment or additional procedures should be quoted separately.\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- FAQ 5 -->\r\n      <article class=\"wb-faq-card\">\r\n        <span class=\"wb-faq-dot\"><\/span>\r\n        <div class=\"wb-faq-content\">\r\n          <h3 class=\"wb-faq-question\">Are X-rays included in dental cleaning fees?<\/h3>\r\n          <div class=\"wb-faq-answer\">\r\n            <p>\r\n              Not always.\r\n              X-rays are used <strong>only when clinically necessary<\/strong>\r\n              and may be charged separately.\r\n              They should never be routine without explanation.\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- FAQ 6 -->\r\n      <article class=\"wb-faq-card\">\r\n        <span class=\"wb-faq-dot\"><\/span>\r\n        <div class=\"wb-faq-content\">\r\n          <h3 class=\"wb-faq-question\">Is the cheapest dental cleaning safe?<\/h3>\r\n          <div class=\"wb-faq-answer\">\r\n            <p>\r\n              Not necessarily.\r\n              Extremely low prices often mean <strong>rushed treatment<\/strong>,\r\n              skipped gum assessment or incomplete cleaning.\r\n              Safe preventive care prioritises <strong>thoroughness over speed<\/strong>.\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- FAQ 7 -->\r\n      <article class=\"wb-faq-card\">\r\n        <span class=\"wb-faq-dot\"><\/span>\r\n        <div class=\"wb-faq-content\">\r\n          <h3 class=\"wb-faq-question\">Does insurance cover dental cleaning in Dubai?<\/h3>\r\n          <div class=\"wb-faq-answer\">\r\n            <p>\r\n              Some insurance plans cover routine dental cleaning,\r\n              but coverage varies widely.\r\n              It\u2019s best to confirm what is included and whether\r\n              <strong>deep cleaning or periodontal care<\/strong> is excluded.\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n    <!-- Bottom Note -->\r\n    <p class=\"wb-faq-note\">\r\n      For a full clinical overview of preventive care, see the\r\n      <a href=\"\/dubai\/dental-cleaning\/\" class=\"lq-link\">Dental Cleaning guide<\/a>.\r\n    <\/p>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #cleaning-cost-faqs {\r\n    background: linear-gradient(180deg, #fff 0%, #fafafa 100%);\r\n    padding: 80px 20px;\r\n  }\r\n\r\n  #cleaning-cost-faqs header {\r\n    text-align: center;\r\n    margin-bottom: 50px;\r\n  }\r\n\r\n  #cleaning-cost-faqs h2 {\r\n    font-size: 30px;\r\n    font-weight: 700;\r\n    margin-bottom: 16px;\r\n    position: relative;\r\n    display: inline-block;\r\n  }\r\n\r\n  #cleaning-cost-faqs h2::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    bottom: -10px;\r\n    inset-inline-start: 50%;\r\n    transform: translateX(-50%);\r\n    width: 80px;\r\n    height: 4px;\r\n    background: linear-gradient(90deg, #ff7a00, #ff5fa2);\r\n    border-radius: 6px;\r\n  }\r\n\r\n  #cleaning-cost-faqs .intro {\r\n    max-width: 760px;\r\n    margin: 0 auto;\r\n    font-size: 17px;\r\n    line-height: 1.7;\r\n    color: #444;\r\n  }\r\n\r\n  \/* Timeline *\/\r\n  .wb-faq-timeline {\r\n    position: relative;\r\n    max-width: 900px;\r\n    margin: 0 auto;\r\n    padding-inline-start: 30px;\r\n    border-inline-start: 2px solid rgba(255, 122, 0, 0.15);\r\n  }\r\n\r\n  .wb-faq-card {\r\n    position: relative;\r\n    margin-bottom: 36px;\r\n    padding-inline-start: 25px;\r\n  }\r\n\r\n  .wb-faq-dot {\r\n    position: absolute;\r\n    inset-inline-start: -10px;\r\n    top: 10px;\r\n    width: 16px;\r\n    height: 16px;\r\n    background: linear-gradient(135deg, #ff7a00, #ff5fa2);\r\n    border-radius: 50%;\r\n    box-shadow: 0 0 6px rgba(255, 95, 162, 0.4);\r\n  }\r\n\r\n  .wb-faq-content {\r\n    background: #fff;\r\n    border-radius: 14px;\r\n    padding: 22px 26px;\r\n    box-shadow: 0 3px 12px rgba(0,0,0,0.05);\r\n    transition: transform 0.25s ease, box-shadow 0.25s ease;\r\n  }\r\n\r\n  .wb-faq-content:hover {\r\n    transform: translateY(-4px);\r\n    box-shadow: 0 8px 18px rgba(0,0,0,0.08);\r\n  }\r\n\r\n  .wb-faq-question {\r\n    font-size: 18px;\r\n    margin: 0;\r\n    color: #222;\r\n    cursor: pointer;\r\n    padding-bottom: 6px;\r\n    position: relative;\r\n    display: inline-block;\r\n  }\r\n\r\n  .wb-faq-question::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    bottom: 0;\r\n    inset-inline-start: 0;\r\n    width: 0;\r\n    height: 3px;\r\n    background: linear-gradient(90deg, #ff7a00, #ff5fa2);\r\n    border-radius: 2px;\r\n    transition: width 0.3s ease;\r\n  }\r\n\r\n  .wb-faq-question:hover::after {\r\n    width: 100%;\r\n  }\r\n\r\n  .wb-faq-answer {\r\n    max-height: 0;\r\n    overflow: hidden;\r\n    opacity: 0;\r\n    transition: all 0.35s ease;\r\n  }\r\n\r\n  .wb-faq-answer.open {\r\n    max-height: 500px;\r\n    opacity: 1;\r\n    margin-top: 10px;\r\n  }\r\n\r\n  .wb-faq-answer p {\r\n    font-size: 15px;\r\n    line-height: 1.65;\r\n    color: #555;\r\n    margin: 0;\r\n  }\r\n\r\n  \/* Bottom note *\/\r\n  .wb-faq-note {\r\n    text-align: center;\r\n    font-size: 15px;\r\n    color: #555;\r\n    max-width: 760px;\r\n    margin: 20px auto 0;\r\n  }\r\n\r\n  \/* Links *\/\r\n  #cleaning-cost-faqs .lq-link {\r\n    color: #ff7a00;\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n  }\r\n\r\n  #cleaning-cost-faqs .lq-link:hover {\r\n    text-decoration: underline;\r\n  }\r\n\r\n  \/* Mobile *\/\r\n  @media (max-width: 768px) {\r\n    #cleaning-cost-faqs {\r\n      padding: 60px 16px;\r\n    }\r\n    .wb-faq-timeline {\r\n      padding-inline-start: 20px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  document.addEventListener(\"DOMContentLoaded\", () => {\r\n    const q = document.querySelectorAll(\"#cleaning-cost-faqs .wb-faq-question\");\r\n    q.forEach(item => {\r\n      item.addEventListener(\"click\", () => {\r\n        const a = item.nextElementSibling;\r\n        a.classList.toggle(\"open\");\r\n      });\r\n    });\r\n  });\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2de4e4d e-flex e-con-boxed e-con e-parent\" data-id=\"2de4e4d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-96dca37 elementor-widget elementor-widget-html\" data-id=\"96dca37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- What is LumiQuest (Universal Trust Section for Dental Cleaning Cluster) -->\r\n<section class=\"lq lq-section\" id=\"what-is-lumiquest\" dir=\"auto\" aria-labelledby=\"what-lq-title\">\r\n  <style>\r\n    #what-is-lumiquest .lq-section-inner {\r\n      max-width: 1100px;\r\n      margin: 0 auto;\r\n      text-align: center;\r\n    }\r\n\r\n    #what-is-lumiquest .trust-grid {\r\n      display: grid;\r\n      gap: 24px;\r\n      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\r\n      align-items: stretch;\r\n    }\r\n\r\n    #what-is-lumiquest .trust-card {\r\n      background: #fff;\r\n      border-radius: 16px;\r\n      padding: 28px 22px;\r\n      box-shadow: 0 6px 18px rgba(0,0,0,.05);\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n      #what-is-lumiquest .trust-card {\r\n        padding: 22px 14px;\r\n      }\r\n    }\r\n\r\n    #what-is-lumiquest h3 {\r\n      font-size: 18px;\r\n      margin: 0 0 10px;\r\n      color: #1b1b1b;\r\n    }\r\n\r\n    #what-is-lumiquest p {\r\n      margin: 0;\r\n      color: #555;\r\n      line-height: 1.5;\r\n      font-size: 15px;\r\n    }\r\n\r\n    #what-is-lumiquest img {\r\n      width: 52px;\r\n      height: 52px;\r\n      margin-bottom: 16px;\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"lq-section-inner\">\r\n    <div class=\"lq-subtitle\" style=\"margin-bottom: 28px;\">\r\n      <h2 id=\"what-lq-title\">What is LumiQuest?<\/h2>\r\n<p>\r\n  LumiQuest is an <strong>independent patient guide<\/strong> connecting you with dental cleaning providers in Dubai who are\r\n  <strong>ethical, transparent, and prevention-focused<\/strong> \u2014 with clear expectations and no pressure.\r\n<\/p>\r\n<p style=\"margin-top: 10px;\">\r\n  We prioritise <strong>honest assessment<\/strong> and <strong>safe scaling &amp; polishing<\/strong>,\r\n  not unnecessary add-ons or fixed packages.\r\n<\/p>\r\n\r\n\r\n    <\/div>\r\n\r\n    <div class=\"trust-grid\">\r\n      <!-- Card 1 -->\r\n      <article class=\"trust-card\">\r\n        <img decoding=\"async\" src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/05\/icon-no-ads-lumiquest.svg.png.webp\" alt=\"Unbiased dental clinic guidance in Dubai without ads or sponsored listings\" title=\"| LumiQuest Dental Circle\">\r\n        <h3>No Ads. No Sponsorships.<\/h3>\r\n        <p>\r\n          LumiQuest does <strong>not accept paid listings<\/strong> or promotions.\r\n          Recommendations are guided by standards \u2014 not marketing budgets, discounts, or \u201cfree cleaning\u201d gimmicks.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- Card 2 -->\r\n      <article class=\"trust-card\">\r\n        <img decoding=\"async\" src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/05\/icon-clinic-vetting.svg.png.webp\" alt=\"Vetted dental clinics in Dubai for safe scaling and polishing and preventive care\" title=\"| LumiQuest Dental Circle\">\r\n        <h3>Clinics That Are Properly Vetted<\/h3>\r\n        <p>\r\n          Clinics are screened for <strong>patient experience, transparency, and clinical discipline<\/strong>.\r\n          We prioritise providers who explain what you actually need \u2014 whether it\u2019s routine\r\n          <strong>scaling &amp; polishing<\/strong>, monitoring, or a safer next step \u2014 without upsells or vague add-ons.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- Card 3 -->\r\n      <article class=\"trust-card\">\r\n        <img decoding=\"async\" src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/07\/icon-circle-of-trust-lumiquest.svg.png.webp\" alt=\"Trusted preventive dental care providers in Dubai within LumiQuest\u2019s private network\" title=\"| LumiQuest Dental Circle\">\r\n        <h3>A Private Circle of Trust<\/h3>\r\n        <p>\r\n          Only clinics that consistently show <strong>honesty, gentle care, and prevention-first judgment<\/strong> remain in our circle.\r\n          LumiQuest helps you choose providers who protect your gums long-term \u2014 not clinics that treat cleaning like a sales entry point.\r\n        <\/p>\r\n      <\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-faa2235 elementor-widget elementor-widget-global elementor-global-8035 elementor-widget-html\" data-id=\"faa2235\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- CTA: Find My Dentist (Slim, with White Border) -->\r\n<section class=\"lq-cta\" dir=\"auto\" aria-label=\"Find a dentist\">\r\n  <style>\r\n    .lq-cta {\r\n      display: grid;\r\n      justify-items: center;\r\n      padding-block: 8px;\r\n      padding-inline: 12px; \/* breathing room on phones *\/\r\n    }\r\n\r\n    .lq-cta .cta-btn {\r\n      background: #BD552A;          \/* same brand orange-brown *\/\r\n      color: #fff;\r\n      font-weight: 700;\r\n      border-radius: 6px;\r\n      border: 2px solid #fff;       \/* white outline like header button *\/\r\n      padding: 8px 16px;            \/* smaller padding = slimmer button *\/\r\n      font-size: 15px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      text-decoration: none;\r\n      width: max-content;\r\n      min-width: 180px;             \/* slightly smaller min width *\/\r\n      transition: background-color .2s ease, transform .15s ease;\r\n    }\r\n\r\n    .lq-cta .cta-btn:hover,\r\n    .lq-cta .cta-btn:focus-visible {\r\n      background: #9e4622;\r\n      outline: none;\r\n    }\r\n    .lq-cta .cta-btn:active { transform: scale(0.98); }\r\n\r\n    \/* Reduced motion *\/\r\n    @media (prefers-reduced-motion: reduce) {\r\n      .lq-cta .cta-btn { transition: none; }\r\n    }\r\n  <\/style>\r\n\r\n  <a href=\"#patient-form\" class=\"cta-btn\">\r\n    <span class=\"elementor-button-content-wrapper\">\r\n      <span class=\"elementor-button-text\">Find My Dentist<\/span>\r\n    <\/span>\r\n  <\/a>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4602a63 elementor-widget elementor-widget-global elementor-global-5722 elementor-widget-html\" data-id=\"4602a63\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- CTA: Reassurance Text Only (Final Closing Push) -->\r\n<section class=\"lq-cta\" dir=\"auto\" aria-label=\"Find a dentist reassurance\">\r\n<p class=\"cta-sub\">\r\n  <span aria-hidden=\"true\">\u2714<\/span>\r\n  Guidance grounded in safety, ethics, and real-world signals \u2014 in Dubai\r\n<\/p>\r\n\r\n\r\n  <p class=\"cta-extra\">\r\n    Your smile deserves <strong>clarity, trust, care \u2014 and privacy<\/strong><br>\r\n    <span class=\"cta-note\">No ads \u00b7 No sponsored spots \u00b7 100% patient-first \u00b7 Fully confidential<\/span>\r\n  <\/p>\r\n<\/section>\r\n\r\n<style>\r\n  .lq-cta {\r\n    margin: 40px auto;\r\n    max-width: 760px;\r\n    text-align: center;\r\n  }\r\n\r\n  .lq-cta .cta-sub {\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    color: #333;\r\n    margin-bottom: 8px;\r\n  }\r\n\r\n  .lq-cta .cta-sub span {\r\n    color: var(--lq-brand, #ff7a00);\r\n    margin-right: 6px;\r\n  }\r\n\r\n  .lq-cta .cta-extra {\r\n    font-size: 16px;\r\n    line-height: 1.6;\r\n    color: #444;\r\n    margin: 0;\r\n  }\r\n\r\n  .lq-cta .cta-extra strong {\r\n    color: #000;\r\n  }\r\n\r\n  .lq-cta .cta-note {\r\n    display: inline-block;\r\n    margin-top: 4px;\r\n    font-size: 14px;\r\n    color: #777;\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d67dda6 e-flex e-con-boxed e-con e-parent\" data-id=\"d67dda6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ab618f7 elementor-widget elementor-widget-html\" data-id=\"ab618f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- LumiQuest \u2022 Closing Trust Section (Dental Cleaning Cluster, RTL-safe) -->\r\n<section id=\"lq-closing-trust\" class=\"lq lq-section\" aria-labelledby=\"trust-title\" dir=\"auto\">\r\n  <style>\r\n    #lq-closing-trust {\r\n      --lq-brand: #ff7a00;\r\n      --lq-text: #101828;\r\n      --lq-muted: #475467;\r\n      --lq-bg: #f9fafb;\r\n      --lq-card: #ffffff;\r\n      --lq-border: rgba(16,24,40,.08);\r\n      --lq-shadow: 0 6px 20px rgba(16,24,40,.06);\r\n      --radius: 20px;\r\n\r\n      background: var(--lq-bg);\r\n      padding: clamp(36px, 4vw, 64px) clamp(18px, 3vw, 28px);\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n      #lq-closing-trust {\r\n        padding-left: 8px !important;\r\n        padding-right: 8px !important;\r\n      }\r\n    }\r\n\r\n    #lq-closing-trust .trust-inner {\r\n      max-width: 820px;\r\n      margin: 0 auto;\r\n      text-align: center;\r\n    }\r\n\r\n    #lq-closing-trust .trust-card {\r\n      background: var(--lq-card);\r\n      border: 1px solid var(--lq-border);\r\n      border-radius: var(--radius);\r\n      box-shadow: var(--lq-shadow);\r\n      padding: clamp(28px, 3vw, 42px);\r\n    }\r\n\r\n    #lq-closing-trust h2 {\r\n      margin: 0 0 14px;\r\n      font-size: clamp(24px, 3.4vw, 36px);\r\n      font-weight: 700;\r\n      color: var(--lq-text);\r\n    }\r\n\r\n    #lq-closing-trust p {\r\n      margin: 0;\r\n      color: var(--lq-muted);\r\n      font-size: clamp(16px, 1.7vw, 18px);\r\n      line-height: 1.6;\r\n    }\r\n\r\n    #lq-closing-trust .accent {\r\n      width: 46px;\r\n      height: 5px;\r\n      border-radius: 999px;\r\n      margin: 0 auto 18px;\r\n      background: linear-gradient(90deg, var(--lq-brand), #ff5fa2);\r\n      box-shadow: 0 4px 14px rgba(255,122,0,.25);\r\n    }\r\n\r\n    html[dir=\"rtl\"] #lq-closing-trust .trust-inner {\r\n      text-align: center;\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"trust-inner\">\r\n    <div class=\"trust-card\">\r\n      <div class=\"accent\" aria-hidden=\"true\"><\/div>\r\n      <h2 id=\"trust-title\">Find Trusted Dental Cleaning Care in Dubai<\/h2>\r\n      <p>\r\n        Choosing where to have your teeth cleaned matters more than most people realise.  \r\n        <span class=\"ltr\">LumiQuest<\/span> helps you access <strong>vetted, ethical dental clinics<\/strong> in Dubai\r\n        that prioritise <strong>gentle scaling, gum health, and preventive care<\/strong> \u2014\r\n        with clear explanations, no unnecessary treatments, and no pressure to upsell.\r\n      <\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d7e61d elementor-widget elementor-widget-global elementor-global-4673 elementor-widget-html\" data-id=\"3d7e61d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"lq-form\">\r\n  <div class=\"lq-card\" id=\"patient-form\">\r\n\r\n    <!-- LQ:TEXT START -->\r\n    <header class=\"lq-header lq-form-header lq-hide-on-success\">\r\n      <h2>Get Clear Guidance to the Right Dentist<\/h2>\r\n      <p>Just a couple of minutes \u2014 no pressure, no cost, and fully private<br>\r\n      One of our advisors will review your request and guide you to a suitable dentist or clinic, usually within 12 hours.<\/p>\r\n    <\/header>\r\n    <!-- LQ:TEXT END -->\r\n\r\n    <form id=\"lumiquest_patient_form\"\r\n          action=\"\/api\/lq-form\"\r\n          method=\"POST\"\r\n          enctype=\"multipart\/form-data\"\r\n          autocomplete=\"off\"\r\n          target=\"lq_iframe\">\r\n\r\n      <!-- LQ:CHOICES (HTML) START -->    \r\n      <div class=\"lq-field\">\r\n        <label for=\"reason_for_visit\">What brings you in today? <span class=\"req\">*<\/span><\/label>\r\n        <select name=\"reason_for_visit\" id=\"reason_for_visit\" required>\r\n          <option value=\"\">- Select -<\/option>\r\n          <option value=\"Pain \u2013 swelling or urgent issue\">Pain \u2013 swelling or urgent issue<\/option>\r\n          <option value=\"Missing\/broken tooth \u2013 need repair or replacement\">Missing\/broken tooth \u2013 need repair or replacement<\/option>\r\n          <option value=\"Improve my smile \u2013 veneers or whitening or more\">Improve my smile \u2013 veneers or whitening or more<\/option>\r\n          <option value=\"Straighten teeth \u2013 braces or clear aligners (Invisalign etc.)\">Straighten teeth \u2013 braces or clear aligners (Invisalign etc.)<\/option>\r\n          <option value=\"Routine visit \u2013 cleaning or filling or check-up\">Routine visit \u2013 cleaning or filling or check-up<\/option>\r\n          <option value=\"Not sure \u2013 need help deciding\">Not sure \u2013 need help deciding<\/option>\r\n          <option value=\"Something else \u2013 I\u2019ll explain below\">Something else \u2013 I\u2019ll explain below<\/option>\r\n        <\/select>\r\n      <\/div>\r\n\r\n      <div class=\"lq-field\" id=\"sub_reason_wrap\">\r\n        <label for=\"sub_reason\">Could you tell us a bit more? <span class=\"req\">*<\/span><\/label>\r\n        <select name=\"sub_reason\" id=\"sub_reason\" required>\r\n          <option value=\"\">- Select -<\/option>\r\n        <\/select>\r\n      <\/div>\r\n      <!-- LQ:CHOICES (HTML) END -->\r\n\r\n      <!-- LQ:CONTACT START -->\r\n      <div class=\"lq-grid\">\r\n        <div class=\"lq-field\">\r\n          <label for=\"first_name\">First Name <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"text\" name=\"first_name\" id=\"first_name\" required placeholder=\"Enter your first name\">\r\n        <\/div>\r\n        <div class=\"lq-field\">\r\n          <label for=\"last_name\">Last Name<\/label>\r\n          <input type=\"text\" name=\"last_name\" id=\"last_name\" placeholder=\"Enter your last name\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"lq-grid\">\r\n        <div class=\"lq-field\">\r\n          <label for=\"email\">Email Address <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"email\" name=\"email\" id=\"email\" required placeholder=\"name@email.com\">\r\n        <\/div>\r\n\r\n        <div class=\"lq-field\">\r\n          <label for=\"phone_local\">Phone Number <span class=\"req\">*<\/span><\/label>\r\n          <div class=\"lq-phone\">\r\n            <div class=\"lq-dial\" id=\"lq-dial\">\r\n  <button type=\"button\" id=\"dial_btn\" aria-haspopup=\"listbox\" aria-expanded=\"false\" class=\"lq-dial-btn\">+971<\/button>\r\n  <input type=\"hidden\" id=\"dial_code_standardized\" name=\"dial_code_standardized\" value=\"+971\">\r\n\r\n  <div id=\"dial_panel\" class=\"lq-dial-panel lq-hidden\" role=\"dialog\" aria-label=\"Select country code\">\r\n    <input\r\n      type=\"search\"\r\n      id=\"dial_filter\"\r\n      class=\"lq-dial-filter\"\r\n      placeholder=\"Search country or +code\"\r\n      aria-controls=\"dial_listbox\"\r\n      autocomplete=\"off\"\r\n      autocorrect=\"off\"\r\n      autocapitalize=\"off\"\r\n      spellcheck=\"false\"\r\n      name=\"dial_filter_search\"\r\n      enterkeyhint=\"search\"\r\n      inputmode=\"search\"\r\n    >\r\n    <ul id=\"dial_listbox\" class=\"lq-dial-list\" role=\"listbox\" aria-labelledby=\"dial_btn\"><\/ul>\r\n  <\/div>\r\n<\/div>\r\n\r\n\r\n            <input type=\"tel\" id=\"phone_local\" name=\"phone_local\" required inputmode=\"tel\"\r\n                   placeholder=\"mobile number\" aria-describedby=\"phone_error\">\r\n          <\/div>\r\n\r\n          <small class=\"lq-hint\">Type your country (e.g., \u201cUnited Arab Emirates\u201d) or its code (e.g., \u201c+971\u201d), then your number without the area code. WhatsApp only.<\/small>\r\n          <div class=\"lq-global-error-message\" id=\"phone_error\" aria-live=\"polite\">Please enter a valid phone number.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <!-- LQ:CONTACT END -->\r\n\r\n      <!-- LQ:PREFCONTACT START -->\r\n      <div class=\"lq-field\">\r\n        <label for=\"preferred_contact\">Preferred Contact Method <span class=\"req\">*<\/span><\/label>\r\n        <select name=\"preferred_contact\" id=\"preferred_contact\" required>\r\n          <option value=\"\">- Select -<\/option>\r\n          <option value=\"WhatsApp\">WhatsApp<\/option>\r\n          <option value=\"Email\">Email<\/option>\r\n        <\/select>\r\n      <\/div>\r\n      <!-- LQ:PREFCONTACT END -->\r\n\r\n      <!-- LQ:ADVANCED START -->\r\n      <details class=\"lq-advanced\">\r\n        <summary>Advanced Options (optional)<\/summary>\r\n\r\n        <div class=\"lq-field\">\r\n          <label for=\"case_description\">Anything else you'd like to share?<\/label>\r\n          <textarea name=\"case_description\" id=\"case_description\" rows=\"2\"\r\n            placeholder=\"Add any details you\u2019d like (goals, questions, doubts, etc.)\"><\/textarea>\r\n        <\/div>\r\n\r\n        <div class=\"lq-field\">\r\n          <label for=\"uploads_select\">Would you like to upload smile photos or dental X-rays?<\/label>\r\n          <select name=\"uploads_select\" id=\"uploads_select\">\r\n            <option value=\"No\" selected>No<\/option>\r\n            <option value=\"Yes\">Yes<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div id=\"uploads_wrapper\" class=\"lq-hidden\">\r\n          <div class=\"lq-field\">\r\n            <label for=\"uploads\">Upload file(s)<\/label>\r\n            <input type=\"file\" name=\"uploads\" id=\"uploads\" accept=\".jpg,.jpeg,.png,.pdf,.heic,.webp\" multiple>\r\n            <small class=\"lq-hint\">JPG, JPEG, PNG, PDF, HEIC, WEBP (max 10MB each)<\/small>\r\n          <\/div>\r\n          <div class=\"lq-field\">\r\n            <label class=\"lq-check\">\r\n              <input type=\"checkbox\" name=\"consent\" id=\"consent\" value=\"yes\">\r\n              I allow LumiQuest to review my uploaded photo(s) or X-ray(s).\r\n            <\/label>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"lq-grid\">\r\n          <div class=\"lq-field\">\r\n            <label for=\"location\">Preferred Area or Landmark<\/label>\r\n            <input type=\"text\" name=\"location\" id=\"location\" placeholder=\"Nearest area or landmark\">\r\n          <\/div>\r\n          <div class=\"lq-field\">\r\n            <label for=\"age_group\">Patient Age Group<\/label>\r\n            <select name=\"age_group\" id=\"age_group\">\r\n              <option value=\"\">- Select -<\/option>\r\n              <option>Under 14<\/option>\r\n              <option>14 or older<\/option>\r\n            <\/select>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"lq-grid\">\r\n          <div class=\"lq-field\">\r\n            <label for=\"preferred_language\">Preferred Language<\/label>\r\n            <input type=\"text\" name=\"preferred_language\" id=\"preferred_language\" placeholder=\"English, Arabic, Russian\u2026\">\r\n          <\/div>\r\n          <div class=\"lq-field\">\r\n            <label for=\"preferred_gender\">Preferred Dentist Gender<\/label>\r\n            <input type=\"text\" name=\"preferred_gender\" id=\"preferred_gender\" placeholder=\"If you have a preference\">\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"lq-grid\">\r\n          <div class=\"lq-field\">\r\n            <label for=\"preferred_nationality\">Preferred Dentist Nationality<\/label>\r\n            <input type=\"text\" name=\"preferred_nationality\" id=\"preferred_nationality\" placeholder=\"Only if helpful for comfort\">\r\n          <\/div>\r\n          <div class=\"lq-field\">\r\n            <label for=\"insurance\">Insurance Provider &amp; Plan<\/label>\r\n            <input type=\"text\" name=\"insurance\" id=\"insurance\" placeholder=\"MetLife VIP, NAS Neuron, Aetna DubaiCare\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/details>\r\n      <!-- LQ:ADVANCED END -->\r\n\r\n      <div class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAABfA_rNlGsui0CeR\" data-callback=\"onTurnstile\" data-action=\"patient_form\"><\/div>\r\n      <input type=\"hidden\" name=\"turnstile_token\" id=\"turnstile_token\">\r\n\r\n      <input type=\"hidden\" name=\"phone_e164\" id=\"phone_e164\">\r\n      <input type=\"hidden\" name=\"phone_number\" id=\"phone_number\">\r\n      <input type=\"hidden\" name=\"date\" id=\"date\">\r\n      <input type=\"hidden\" name=\"time\" id=\"time\">\r\n      <input type=\"hidden\" name=\"page_url\" id=\"page_url\">\r\n      <input type=\"hidden\" name=\"user_agent\" id=\"user_agent\">\r\n      <input type=\"hidden\" name=\"unique_id\" id=\"unique_id\">\r\n      <input type=\"hidden\" name=\"page_language\" id=\"page_language\">\r\n\r\n      <div class=\"lq-actions\">\r\n        <button type=\"submit\" class=\"lq-btn\">\ud83d\udd0d Find My Dentist<\/button>\r\n        <div class=\"lq-msg lq-pending\" id=\"lq-pending\" role=\"status\" aria-live=\"polite\"><\/div>\r\n        <div class=\"lq-msg lq-success\" id=\"lq-success\" role=\"status\" aria-live=\"polite\"><\/div>\r\n        <div class=\"lq-msg lq-error\" id=\"lq-error\" aria-live=\"assertive\"><\/div>\r\n      <\/div>\r\n\r\n      <div style=\"position:absolute;left:-9999px;top:-9999px;\" aria-hidden=\"true\">\r\n        <label><\/label>\r\n        <input type=\"text\" name=\"middle_name\" id=\"middle_name\" tabindex=\"-1\" autocomplete=\"off\">\r\n      <\/div>\r\n      <input type=\"hidden\" name=\"form_started_at\" id=\"form_started_at\">\r\n\r\n\r\n    <\/form>\r\n\r\n    <iframe name=\"lq_iframe\" class=\"lq-hidden\" style=\"display:none\"><\/iframe>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<script defer src=\"https:\/\/challenges.cloudflare.com\/turnstile\/v0\/api.js\"><\/script>\r\n<script defer src=\"https:\/\/cdn.jsdelivr.net\/npm\/libphonenumber-js@1.10.53\/bundle\/libphonenumber-js.min.js\"><\/script>\r\n\r\n<!-- LQ:CSS START -->\r\n<style>\r\n\/* --- Layout & fields --- *\/\r\n.lq-form{display:flex;justify-content:center;padding:0}\r\n.lq-card{max-width:780px;width:100%;background:#fff;border-radius:20px;box-shadow:0 12px 36px rgba(0,0,0,.07);padding:28px 24px;margin:auto;}\r\n.lq-header{text-align:center;margin-bottom:10px}\r\n.lq-header h2{margin:0 0 6px 0;font-size:28px;line-height:1.2}\r\n.lq-header p{margin:0;color:#4b5563}\r\n.lq-field{display:flex;flex-direction:column;margin-bottom:14px}\r\n.lq-field label{font-weight:650;margin-bottom:6px}\r\n.lq-field input[type=\"text\"],\r\n.lq-field input[type=\"email\"],\r\n.lq-field input[type=\"tel\"],\r\n.lq-field select,\r\n.lq-field textarea{border:1px solid #e3e3e3;border-radius:14px;padding:12px 14px;font-size:16px;background:#fff;}\r\n.lq-field textarea{min-height:90px;resize:vertical}\r\n#case_description{min-height:0 !important;} \/* allow rows=2 to control height *\/\r\n.lq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}\r\n@media(max-width:720px){.lq-grid{grid-template-columns:1fr}}\r\n.req{color:#d93025}\r\n.lq-hidden{display:none}\r\n#sub_reason_wrap{display:none}\r\n.lq-hint{color:#6b7280;font-size:12px}\r\n.lq-actions{text-align:center;margin-top:18px}\r\n.lq-msg{margin-top:10px;font-weight:600;display:none}\r\n.lq-pending{color:#6b7280}.lq-success{color:#28A745}.lq-error{color:#D93025}\r\n.lq-global-error-message{display:none;color:#D93025;margin-top:6px;font-weight:500;font-size:14px}\r\ninput[type=\"tel\"]:invalid ~ .lq-global-error-message{display:block}\r\n.cf-turnstile{margin:18px 0 22px}\r\n\r\n\/* Advanced box *\/\r\n.lq-advanced{margin-top:6px;border:1px solid #eee;border-radius:14px;padding:0;background:#fafafa;margin-bottom:18px}\r\n.lq-advanced>summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:700;display:flex;align-items:center;gap:10px;border-radius:12px}\r\n.lq-advanced>summary:hover{background:#f3f4f6}\r\n.lq-advanced[open]{box-shadow:inset 0 0 0 1px #eee}\r\n.lq-advanced>div{padding:0 16px 14px 16px}\r\n.lq-advanced>summary::after{content:\"\";margin-left:auto;width:12px;height:8px;background-image:url(\"data:image\/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23999' stroke-width='2' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");background-size:12px 8px;background-repeat:no-repeat;transition:transform .18s ease}\r\n.lq-advanced[open]>summary::after{transform:rotate(180deg)}\r\n\r\n\/* Phone row (strict black & white) *\/\r\n.lq-phone{display:grid;grid-template-columns:92px 1fr;gap:8px;align-items:center}\r\n.lq-dial{position:relative}\r\n.lq-dial-btn{\r\n  width:100%; border:1px solid #e3e3e3; border-radius:14px;\r\n  padding:12px 34px 12px 14px;\r\n  font: 14px\/1.2 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\r\n  background:#fff; color:#111; text-align:left; cursor:pointer; position:relative;\r\n}\r\n.lq-dial-btn::after{\r\n  content:\"\"; position:absolute; right:12px; top:50%; width:12px; height:8px; transform:translateY(-50%);\r\n  background-image:url(\"data:image\/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23999' stroke-width='2' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");\r\n  background-size:12px 8px; background-repeat:no-repeat;\r\n}\r\n.lq-dial-panel {\r\n    position: absolute;\r\n    top: calc(100% + 4px); \/* small gap below the button *\/\r\n    left: 0;\r\n    width: 100%;            \/* match button width *\/\r\n    z-index: 99999; \/* Increased z-index for safety *\/\r\n    background-color: #fff; \/* ENSURE SOLID BACKGROUND *\/\r\n    border: 1px solid #e6e6e6;\r\n    border-radius: 14px;\r\n    box-shadow: 0 12px 36px rgba(0,0,0,.10);\r\n    padding: 8px;\r\n    max-height: 300px;\r\n    overflow-y: auto;\r\n    transform: translateY(0); \/* fixes quirks in flex\/grid *\/\r\n}\r\n\r\n#patient-form .lq-phone .lq-dial-panel {\r\n  width: auto;          \/* don\u2019t lock to 92px column *\/\r\n  min-width: 260px;     \/* room for readable placeholder *\/\r\n}\r\n\r\n.lq-phone, .lq-card {\r\n  overflow: visible !important;\r\n}\r\n\r\n.lq-dial-filter {\r\n  width:100%;\r\n  padding:12px 14px;\r\n  margin-bottom:10px;\r\n  font-size:14px;\r\n  box-sizing:border-box;\r\n  border-radius:10px;\r\n  border:1px solid #e3e3e3;\r\n  background:#fff;\r\n  color:#111;\r\n}\r\n\r\n.lq-dial-list{\r\n  max-height:300px; overflow:auto; margin:0; padding:0; list-style:none;\r\n}\r\n.lq-dial-item{\r\n  font-size:13px; padding:16px 14px; border-radius:10px; cursor:pointer;\r\n  display:flex; justify-content:space-between; align-items:center; gap:14px; line-height:1.3; color:#111;\r\n  background: #fff; \/* Ensure item background is white *\/\r\n}\r\n.lq-dial-item span{flex:0 0 48px; font-weight:600;}\r\n.lq-dial-item small{flex:1; color:#666; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}\r\n.lq-dial-item:hover,.lq-dial-item[aria-selected=\"true\"]{background:#f5f5f5}\r\n\r\n\/* Button (no hover jump) *\/\r\n.lq-btn{background:#BD552A;color:#fff;border:1px solid #e3e3e3;border-radius:10px;padding:10px 18px;font-weight:800;cursor:pointer;box-shadow:none !important;transition:none !important}\r\n.lq-btn:hover,.lq-btn:active,.lq-btn:focus{box-shadow:none !important;border-color:#000;background:#BD552A}\r\n\r\n\/* Success card styles + premium fade-in *\/\r\n#lq-success-card{\r\n  max-width:720px;\r\n  margin:14px auto 0;\r\n  background:#fff;\r\n  border:1px solid #eee;\r\n  border-radius:20px;\r\n  box-shadow:0 10px 30px rgba(0,0,0,.06);\r\n  padding:28px 22px;\r\n  text-align:center;\r\n\r\n  \/* premium fade-in *\/\r\n  opacity:0;\r\n  transform:translateY(6px);\r\n  animation:lqFadeUp .45s ease-out .12s forwards;\r\n}\r\n\r\n#lq-success-card h2{\r\n  font-size:24px;\r\n  font-weight:700;\r\n  margin:12px 0 14px;\r\n  color:#222;\r\n}\r\n\r\n#lq-success-card p{\r\n  font-size:17px;\r\n  line-height:1.7;\r\n  color:#444;\r\n  max-width:720px;\r\n  margin:0 auto 20px;\r\n}\r\n\r\n#lq-success-card .lq-spam-note{\r\n  font-size: 13px;\r\n  line-height: 1.6;\r\n  color: #6b7280;\r\n  margin: -6px auto 16px;\r\n  max-width: 720px;\r\n}\r\n\r\n\/* Icon (class is reused inside the card) *\/\r\n.lq-success-icon{\r\n  width:44px;\r\n  height:44px;\r\n  border-radius:12px;\r\n  background:#f5fff8;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  margin-bottom:8px;\r\n}\r\n\r\n\/* Steps \u2014 premium cards with gradient number badge *\/\r\n#lq-success-card .lq-steps{\r\n  counter-reset: step;\r\n  display:grid;\r\n  gap:12px;\r\n  margin:20px auto 0;\r\n  max-width:640px;\r\n  text-align:start;\r\n  padding:0;\r\n}\r\n\r\n#lq-success-card .lq-steps li{\r\n  list-style:none;\r\n  display:flex;\r\n  align-items:flex-start;\r\n  gap:12px;\r\n  padding:14px 16px;\r\n  border:1px solid #eee;\r\n  border-radius:14px;\r\n  background:#fff;\r\n  box-shadow:0 6px 18px rgba(0,0,0,.04);\r\n}\r\n\r\n#lq-success-card .lq-steps .badge{\r\n  width:30px;\r\n  height:30px;\r\n  border-radius:999px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  font-weight:800;\r\n  font-size:14px;\r\n  color:#fff;\r\n  background:linear-gradient(90deg,#ff7a00,#ff5fa2);\r\n  box-shadow:0 2px 8px rgba(0,0,0,.08);\r\n  flex-shrink:0;\r\n  margin-top:2px;\r\n}\r\n\r\n#lq-success-card .lq-steps .text{\r\n  font-size:17px;\r\n  line-height:1.6;\r\n  color:#333;\r\n}\r\n\r\n\/* subtle focus\/hover polish for accessibility *\/\r\n#lq-success-card .lq-steps li:hover{\r\n  box-shadow:0 10px 24px rgba(0,0,0,.06);\r\n  border-color:#e7e7e7;\r\n}\r\n\r\n@media (max-width:480px){\r\n  #lq-success-card .lq-steps li{ padding:12px 14px; }\r\n  #lq-success-card .lq-steps .text{ font-size:16px; }\r\n}\r\n\r\n\/* Animation + reduced motion *\/\r\n@keyframes lqFadeUp { to { opacity:1; transform:none; } }\r\n\r\n@media (prefers-reduced-motion: reduce){\r\n  #lq-success-card{ animation:none; opacity:1; transform:none; }\r\n}\r\n\r\n\/* LQ:PHONE_DROPDOWN FIX START *\/\r\n\/* --- Phone dropdown solid backgrounds --- *\/\r\n#patient-form .lq-phone .lq-dial-panel { background:#fff !important; }\r\n#patient-form .lq-phone .lq-dial-filter { background:#fff !important; }\r\n#patient-form .lq-phone .lq-dial-list   { background:#fff !important; }\r\n#patient-form .lq-phone .lq-dial-item   { background:#fff; }\r\n\r\n#patient-form .lq-phone .lq-dial-item:hover,\r\n#patient-form .lq-phone .lq-dial-item[aria-selected=\"true\"] {\r\n  background:#f5f5f5 !important;\r\n}\r\n\r\n#patient-form .lq-phone .lq-dial-panel::-webkit-scrollbar-track { background:#fff; }\r\n\r\n#patient-form .lq-phone .lq-dial-filter::placeholder { \r\n  color:#6b7280; \r\n  opacity:1;           \/* Firefox honors this *\/\r\n}\r\n#patient-form .lq-phone .lq-dial-filter::-webkit-input-placeholder { \r\n  color:#6b7280;       \/* Chrome\/Safari *\/\r\n  opacity:1;\r\n}\r\n#patient-form .lq-phone .lq-dial-filter::-moz-placeholder { \r\n  color:#6b7280;       \/* Old Firefox *\/\r\n  opacity:1;\r\n}\r\n#patient-form .lq-phone .lq-dial-filter:-ms-input-placeholder { \r\n  color:#6b7280;       \/* Legacy Edge\/IE *\/\r\n}\r\n\r\n\/* LQ:PHONE_DROPDOWN FIX END *\/\r\n\r\n\/* ==============================\r\n   LQ:FORM HEADER \u2014 Premium style to match other sections\r\n   ============================== *\/\r\n#patient-form .lq-form-header {\r\n  text-align: center;\r\n  margin-bottom: 24px; \/* more breathing room to echo the other sections header *\/\r\n}\r\n\r\n#patient-form .lq-form-header h2 {\r\n  font-size: 28px;         \/* mirrors .lq-expat-header h2 *\/\r\n  font-weight: 700;\r\n  line-height: 1.25;\r\n  margin: 0 0 20px 0;      \/* match rhythm of expat header *\/\r\n  color: #222;\r\n  position: relative;      \/* for the underline *\/\r\n}\r\n\r\n#patient-form .lq-form-header h2::after {\r\n  content: \"\";\r\n  position: absolute;\r\n  bottom: -8px;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n  width: 80px;\r\n  height: 3px;\r\n  background: linear-gradient(90deg, #ff7a00, #ff5fa2);\r\n  border-radius: 4px;\r\n}\r\n\r\n#patient-form .lq-form-header p {\r\n  font-size: 17px;         \/* mirrors .lq-expat-intro *\/\r\n  line-height: 1.7;\r\n  color: #444;\r\n  max-width: 720px;        \/* same readable width *\/\r\n  margin: 0 auto 6px;      \/* centered + slightly tighter for form context *\/\r\n  text-align: center;\r\n}\r\n\r\n\/* Optional: slightly shorter underline on very small screens *\/\r\n@media (max-width: 480px) {\r\n  #patient-form .lq-form-header h2::after { width: 64px; }\r\n}\r\n\r\n\/* Premium pending state *\/\r\n#lq-pending {\r\n  display: none;\r\n  margin-top: 18px;\r\n  font-size: 18px;\r\n  font-weight: 600;\r\n  color: #333;\r\n  text-align: center;\r\n  line-height: 1.6;\r\n}\r\n\r\n\/* Anchor offset so sticky header doesn't cover the card *\/\r\n#patient-form { scroll-margin-top: 0px; }\r\n@media (max-width: 768px) { #patient-form { scroll-margin-top: 0px; } }\r\n\r\n<\/style>\r\n\r\n<!-- LQ:CSS END -->\r\n\r\n<script>\r\n\r\n\/\/ Start time for timing trap\r\n  document.getElementById('form_started_at').value = Date.now();\r\n\r\n  \/\/ Block bots that fill instantly or touch honeypot\r\n  document.getElementById('lumiquest_patient_form').addEventListener('submit', function (e) {\r\n    const hp = document.getElementById('middle_name');\r\n    const started = +document.getElementById('form_started_at').value || 0;\r\n    if (hp && hp.value) { e.preventDefault(); return; }\r\n    if (Date.now() - started < 3000) {  \/\/ < 3s\r\n      e.preventDefault();\r\n      const msgError = document.getElementById('lq-error');\r\n      msgError.textContent = LQ_I18N.t('confirmFail'); \r\n      msgError.style.display = 'block';\r\n    }\r\n  }, { capture: true });\r\n\r\n\/* Reset cached inputs on back\/refresh *\/\r\nwindow.addEventListener('pageshow', () => {\r\n  const f=document.getElementById('lumiquest_patient_form');\r\n  if(f){f.reset();}\r\n});\r\n\r\n\/\/ LQ:CHOICES_JS START\r\n\/* ---------- Sub-reasons ---------- *\/\r\nconst form = document.getElementById('lumiquest_patient_form');\r\nconst reasonSel = form?.querySelector('#reason_for_visit');\r\nconst subSel    = form?.querySelector('#sub_reason');\r\nconst subWrap   = form?.querySelector('#sub_reason_wrap');\r\n\r\nconst subReasonMap = {\r\n  pain: [\r\n    \"Cold Sensitivity \u2013 sharp pain when drinking cold or breathing cold air\",\r\n    \"Severe Toothache \u2013 constant or throbbing pain in one or more teeth\",\r\n    \"Swollen Gums or Abscess \u2013 painful bump or swelling on your gums\",\r\n    \"Broken or Cracked Tooth \u2013 painful when chewing or touching\",\r\n    \"Wisdom Tooth Pain \u2013 pain or swelling in the back of your mouth\",\r\n    \"Pain After a Recent Treatment \u2013 discomfort after dental work\",\r\n    \"Jaw Pain or Clicking \u2013 pain near ear or clicking in the jaw\",\r\n    \"Something Else \u2013 I\u2019ll explain below\"\r\n  ],\r\n  missing_broken: [\r\n    \"Missing Tooth \u2013 I lost a tooth and want to replace it\",\r\n    \"Broken Tooth (Not Painful) \u2013 part of my tooth is chipped or cracked\",\r\n    \"Full Mouth Tooth Loss \u2013 I\u2019ve lost most or all of my teeth\",\r\n    \"Dental Bridge Needed \u2013 I want to replace missing teeth with a fixed bridge\",\r\n    \"Dental Implant Needed \u2013 I want a permanent tooth replacement\",\r\n    \"Dentures Needed \u2013 I\u2019m looking for full or partial dentures\",\r\n    \"Tooth Extracted Recently \u2013 I need to replace a tooth that was removed\",\r\n    \"Something Else \u2013 I\u2019ll explain below\"\r\n  ],\r\n  improve_smile: [\r\n    \"Hollywood Smile \u2013 full smile makeover with veneers or crowns\",\r\n    \"Dental Veneers \u2013 I want to reshape or whiten my front teeth\",\r\n    \"Teeth Whitening \u2013 I want a brighter, whiter smile\",\r\n    \"Smile Makeover \u2013 not sure which treatment, but I want a better smile\",\r\n    \"Gum Reshaping \u2013 my gums are uneven or show too much when I smile\",\r\n    \"Tooth Bonding \u2013 small chips, gaps, or imperfections to fix\",\r\n    \"Something Else \u2013 I\u2019ll explain below\"\r\n  ],\r\n  straighten: [\r\n    \"Invisalign \u2013 I want invisible, removable aligners\",\r\n    \"Braces \u2013 I\u2019m open to fixed brackets (metallic or ceramic)\",\r\n    \"Damon Braces \u2013 self-ligating brackets\",\r\n    \"Myobrace \u2013 habit-correcting appliance for kids\/teens\",\r\n    \"Lingual Braces \u2013 hidden behind the teeth (invisible)\",\r\n    \"Clear Aligners \u2013 I\u2019m exploring alternatives to Invisalign\",\r\n    \"Crooked Teeth \u2013 not sure which option, just want straighter teeth\/better bite\",\r\n    \"Gaps Between My Teeth \u2013 I want to close the spacing\",\r\n    \"Something Else \u2013 I\u2019ll explain below\"\r\n  ],\r\n  routine: [\r\n    \"Teeth Cleaning \u2013 I want a professional cleaning (scaling & polishing)\",\r\n    \"Dental Check-Up \u2013 just a routine dental exam\",\r\n    \"Cavity Filling \u2013 I have a small cavity or hole in a tooth\",\r\n    \"Tooth Sensitivity \u2013 discomfort with cold, sweet, or touch\",\r\n    \"Stained Teeth \u2013 mild stains I want to clean or polish off\",\r\n    \"Bleeding Gums \u2013 gums bleed when I brush or floss\",\r\n    \"Bad Breath \u2013 I want to check the cause of bad breath\",\r\n    \"Something Else \u2013 I\u2019ll explain below\"\r\n  ],\r\n  not_sure: [\r\n    \"I need help figuring out the best treatment for me\",\r\n    \"I have multiple dental concerns and don\u2019t know where to start\",\r\n    \"I\u2019ve never had dental work and I feel nervous\",\r\n    \"I want to compare treatment options before I decide\",\r\n    \"I just want to talk to someone I trust before I book\",\r\n    \"Something else \u2013 I\u2019ll explain below\"\r\n  ],\r\n  something_else: [\"I\u2019ll type the details below\"]\r\n};\r\n\r\nfunction valueToKey(val = \"\") {\r\n  const v = String(val).toLowerCase();\r\n  if (v.includes(\"pain\")) return \"pain\";\r\n  if (v.includes(\"missing\") || v.includes(\"broken\")) return \"missing_broken\";\r\n  if (v.includes(\"improve my smile\")) return \"improve_smile\";\r\n  if (v.includes(\"straighten teeth\")) return \"straighten\";\r\n  if (v.includes(\"routine\")) return \"routine\";\r\n  if (v.includes(\"not sure\")) return \"not_sure\";\r\n  if (v.includes(\"something else\")) return \"something_else\";\r\n  return \"\";\r\n}\r\nfunction populateSubReasons(key) {\r\n  if (!subSel || !subWrap) return;\r\n  subSel.innerHTML = '<option value=\"\">- Select -<\/option>';\r\n  const rows = subReasonMap[key] || [];\r\n  rows.forEach(txt => {\r\n    const o = document.createElement('option');\r\n    o.value = txt; o.textContent = txt;\r\n    subSel.appendChild(o);\r\n  });\r\n  const hasRows = rows.length > 0;\r\n  subWrap.style.display = hasRows ? 'block' : 'none';\r\n  subSel.required = hasRows;\r\n}\r\nif (subWrap) subWrap.style.display = 'none';\r\nreasonSel?.addEventListener('change', (e) => populateSubReasons(valueToKey(e.target.value)));\r\nif (reasonSel?.value) populateSubReasons(valueToKey(reasonSel.value));\r\n\/\/ LQ:CHOICES_JS END\r\n\r\n\/\/ LQ:UPLOADS_JS START\r\n\/* ---------- Upload UI ---------- *\/\r\n\r\nconst uploadsSelect = document.getElementById('uploads_select');\r\nconst uploadsWrap   = document.getElementById('uploads_wrapper');\r\nconst uploadsInput  = document.getElementById('uploads');\r\nconst consentBox    = document.getElementById('consent');\r\nconst advancedBox   = document.querySelector('.lq-advanced');\r\nconst MAX_FILES = 6;\r\nconst MAX_SIZE = 10 * 1024 * 1024; \/\/ 10MB\r\nconst ALLOWED = ['image\/jpeg','image\/png','image\/webp','application\/pdf','image\/heic','image\/heif'];\r\n\r\nuploadsInput?.addEventListener('change', () => {\r\n  const files = Array.from(uploadsInput.files || []);\r\n  let ok = true, reason = '';\r\n  if (files.length > MAX_FILES) { ok = false; reason = 'Too many files.'; }\r\n  if (ok && files.some(f => f.size > MAX_SIZE)) { ok = false; reason = 'A file exceeds 10MB.'; }\r\n  if (ok && files.some(f => !ALLOWED.includes(f.type))) { ok = false; reason = 'Unsupported file type.'; }\r\n  if (!ok) { uploadsInput.value = ''; clearUploadsUI(); alert(reason); }\r\n});\r\n\r\nconst uploadsList = document.createElement('ul');\r\nuploadsList.id = 'uploads_list';\r\ndocument.getElementById('uploads')?.insertAdjacentElement('afterend', uploadsList);\r\n\r\nfunction formatBytes(b){\r\n  if(!b && b!==0) return '';\r\n  const u = ['B','KB','MB','GB'];\r\n  let i = 0, n = b;\r\n  while(n >= 1024 && i < u.length-1){ n\/=1024; i++; }\r\n  return `${n.toFixed(n < 10 && i>0 ? 1 : 0)} ${u[i]}`;\r\n}\r\nfunction renderUploadsList(){\r\n  uploadsList.innerHTML = '';\r\n  const input = document.getElementById('uploads');\r\n  if(!input || !input.files || !input.files.length) return;\r\n  Array.from(input.files).forEach(file=>{\r\n    const li = document.createElement('li');\r\n    li.innerHTML = `<span class=\"name\">${file.name}<\/span><span class=\"size\">${formatBytes(file.size)}<\/span>`;\r\n    uploadsList.appendChild(li);\r\n  });\r\n}\r\ndocument.getElementById('uploads')?.addEventListener('change', renderUploadsList);\r\nfunction clearUploadsUI(){ uploadsList.innerHTML = ''; }\r\ndocument.getElementById('uploads_select')?.addEventListener('change', (e)=>{\r\n  if(e.target.value !== 'Yes') clearUploadsUI();\r\n});\r\nfunction syncUploadsUI() {\r\n  const wantsUploads = uploadsSelect && uploadsSelect.value === 'Yes';\r\n  uploadsWrap?.classList.toggle('lq-hidden', !wantsUploads);\r\n  uploadsWrap?.setAttribute('aria-hidden', wantsUploads ? 'false' : 'true');\r\n  if (consentBox) consentBox.required = !!wantsUploads;\r\n  if (advancedBox && wantsUploads && !advancedBox.open) advancedBox.open = true;\r\n  if (!wantsUploads) {\r\n    if (uploadsInput) uploadsInput.value = '';\r\n    if (consentBox) consentBox.checked = false;\r\n  }\r\n}\r\nuploadsSelect?.addEventListener('change', syncUploadsUI);\r\nsyncUploadsUI();\r\n\/\/ LQ:UPLOADS_JS END\r\n\r\n\/\/ LQ:PHONE_JS START\r\n\/* ---------- Country calling codes ---------- *\/\r\nconst COUNTRY_CODES = [\r\n  {n:\"Afghanistan\",c:\"+93\"},{n:\"Albania\",c:\"+355\"},{n:\"Algeria\",c:\"+213\"},{n:\"Andorra\",c:\"+376\"},\r\n  {n:\"Angola\",c:\"+244\"},{n:\"Antigua and Barbuda\",c:\"+1\"},{n:\"Argentina\",c:\"+54\"},{n:\"Armenia\",c:\"+374\"},\r\n  {n:\"Australia\",c:\"+61\"},{n:\"Austria\",c:\"+43\"},{n:\"Azerbaijan\",c:\"+994\"},{n:\"Bahamas\",c:\"+1\"},\r\n  {n:\"Bahrain\",c:\"+973\"},{n:\"Bangladesh\",c:\"+880\"},{n:\"Barbados\",c:\"+1\"},{n:\"Belarus\",c:\"+375\"},\r\n  {n:\"Belgium\",c:\"+32\"},{n:\"Belize\",c:\"+501\"},{n:\"Benin\",c:\"+229\"},{n:\"Bhutan\",c:\"+975\"},\r\n  {n:\"Bolivia\",c:\"+591\"},{n:\"Bosnia and Herzegovina\",c:\"+387\"},{n:\"Botswana\",c:\"+267\"},\r\n  {n:\"Brazil\",c:\"+55\"},{n:\"Brunei\",c:\"+673\"},{n:\"Bulgaria\",c:\"+359\"},{n:\"Burkina Faso\",c:\"+226\"},\r\n  {n:\"Burundi\",c:\"+257\"},{n:\"Cabo Verde\",c:\"+238\"},{n:\"Cambodia\",c:\"+855\"},{n:\"Cameroon\",c:\"+237\"},\r\n  {n:\"Canada\",c:\"+1\"},{n:\"Central African Republic\",c:\"+236\"},{n:\"Chad\",c:\"+235\"},\r\n  {n:\"Chile\",c:\"+56\"},{n:\"China\",c:\"+86\"},{n:\"Colombia\",c:\"+57\"},{n:\"Comoros\",c:\"+269\"},\r\n  {n:\"Congo (Republic)\",c:\"+242\"},{n:\"Congo (DRC)\",c:\"+243\"},{n:\"Costa Rica\",c:\"+506\"},\r\n  {n:\"C\u00f4te d\u2019Ivoire\",c:\"+225\"},{n:\"Croatia\",c:\"+385\"},{n:\"Cuba\",c:\"+53\"},{n:\"Cyprus\",c:\"+357\"},\r\n  {n:\"Czechia (Czech Republic)\",c:\"+420\"},{n:\"Denmark\",c:\"+45\"},{n:\"Djibouti\",c:\"+253\"},\r\n  {n:\"Dominica\",c:\"+1\"},{n:\"Dominican Republic\",c:\"+1\"},{n:\"Ecuador\",c:\"+593\"},{n:\"Egypt\",c:\"+20\"},\r\n  {n:\"El Salvador\",c:\"+503\"},{n:\"Equatorial Guinea\",c:\"+240\"},{n:\"Eritrea\",c:\"+291\"},\r\n  {n:\"Estonia\",c:\"+372\"},{n:\"Eswatini\",c:\"+268\"},{n:\"Ethiopia\",c:\"+251\"},\r\n  {n:\"Fiji\",c:\"+679\"},{n:\"Finland\",c:\"+358\"},{n:\"France\",c:\"+33\"},\r\n  {n:\"Gabon\",c:\"+241\"},{n:\"Gambia\",c:\"+220\"},{n:\"Georgia\",c:\"+995\"},{n:\"Germany\",c:\"+49\"},\r\n  {n:\"Ghana\",c:\"+233\"},{n:\"Greece\",c:\"+30\"},{n:\"Grenada\",c:\"+1\"},{n:\"Guatemala\",c:\"+502\"},\r\n  {n:\"Guinea\",c:\"+224\"},{n:\"Guinea-Bissau\",c:\"+245\"},{n:\"Guyana\",c:\"+592\"},\r\n  {n:\"Haiti\",c:\"+509\"},{n:\"Honduras\",c:\"+504\"},{n:\"Hungary\",c:\"+36\"},\r\n  {n:\"Iceland\",c:\"+354\"},{n:\"India\",c:\"+91\"},{n:\"Indonesia\",c:\"+62\"},{n:\"Iran\",c:\"+98\"},\r\n  {n:\"Iraq\",c:\"+964\"},{n:\"Ireland\",c:\"+353\"},{n:\"Israel\",c:\"+972\"},{n:\"Italy\",c:\"+39\"},\r\n  {n:\"Jamaica\",c:\"+1\"},{n:\"Japan\",c:\"+81\"},{n:\"Jordan\",c:\"+962\"},\r\n  {n:\"Kazakhstan\",c:\"+7\"},{n:\"Kenya\",c:\"+254\"},{n:\"Kiribati\",c:\"+686\"},{n:\"Kuwait\",c:\"+965\"},\r\n  {n:\"Kyrgyzstan\",c:\"+996\"},{n:\"Laos\",c:\"+856\"},{n:\"Latvia\",c:\"+371\"},{n:\"Lebanon\",c:\"+961\"},\r\n  {n:\"Lesotho\",c:\"+266\"},{n:\"Liberia\",c:\"+231\"},{n:\"Libya\",c:\"+218\"},{n:\"Liechtenstein\",c:\"+423\"},\r\n  {n:\"Lithuania\",c:\"+370\"},{n:\"Luxembourg\",c:\"+352\"},\r\n  {n:\"Madagascar\",c:\"+261\"},{n:\"Malawi\",c:\"+265\"},{n:\"Malaysia\",c:\"+60\"},{n:\"Maldives\",c:\"+960\"},\r\n  {n:\"Mali\",c:\"+223\"},{n:\"Malta\",c:\"+356\"},{n:\"Marshall Islands\",c:\"+692\"},\r\n  {n:\"Mauritania\",c:\"+222\"},{n:\"Mauritius\",c:\"+230\"},{n:\"Mexico\",c:\"+52\"},\r\n  {n:\"Micronesia\",c:\"+691\"},{n:\"Moldova\",c:\"+373\"},{n:\"Monaco\",c:\"+377\"},{n:\"Mongolia\",c:\"+976\"},\r\n  {n:\"Montenegro\",c:\"+382\"},{n:\"Morocco\",c:\"+212\"},{n:\"Mozambique\",c:\"+258\"},\r\n  {n:\"Myanmar (Burma)\",c:\"+95\"},{n:\"Namibia\",c:\"+264\"},{n:\"Nauru\",c:\"+674\"},{n:\"Nepal\",c:\"+977\"},\r\n  {n:\"Netherlands\",c:\"+31\"},{n:\"New Zealand\",c:\"+64\"},{n:\"Nicaragua\",c:\"+505\"},{n:\"Niger\",c:\"+227\"},\r\n  {n:\"Nigeria\",c:\"+234\"},{n:\"North Macedonia\",c:\"+389\"},{n:\"Norway\",c:\"+47\"},{n:\"Oman\",c:\"+968\"},{n:\"Pakistan\",c:\"+92\"},{n:\"Palau\",c:\"+680\"},\r\n  {n:\"Panama\",c:\"+507\"},{n:\"Papua New Guinea\",c:\"+675\"},{n:\"Paraguay\",c:\"+595\"},{n:\"Peru\",c:\"+51\"},\r\n  {n:\"Philippines\",c:\"+63\"},{n:\"Poland\",c:\"+48\"},{n:\"Portugal\",c:\"+351\"},\r\n  {n:\"Qatar\",c:\"+974\"},{n:\"Romania\",c:\"+40\"},{n:\"Russia\",c:\"+7\"},{n:\"Rwanda\",c:\"+250\"},\r\n  {n:\"Saint Kitts and Nevis\",c:\"+1\"},{n:\"Saint Lucia\",c:\"+1\"},{n:\"Saint Vincent and the Grenadines\",c:\"+1\"},\r\n  {n:\"Samoa\",c:\"+685\"},{n:\"San Marino\",c:\"+378\"},{n:\"S\u00e3o Tom\u00e9 and Pr\u00edncipe\",c:\"+239\"},\r\n  {n:\"Saudi Arabia\",c:\"+966\"},{n:\"Senegal\",c:\"+221\"},{n:\"Serbia\",c:\"+381\"},{n:\"Seychelles\",c:\"+248\"},\r\n  {n:\"Sierra Leone\",c:\"+232\"},{n:\"Singapore\",c:\"+65\"},{n:\"Slovakia\",c:\"+421\"},{n:\"Slovenia\",c:\"+386\"},\r\n  {n:\"Solomon Islands\",c:\"+677\"},{n:\"Somalia\",c:\"+252\"},{n:\"South Africa\",c:\"+27\"},\r\n  {n:\"South Korea\",c:\"+82\"},{n:\"South Sudan\",c:\"+211\"},{n:\"Spain\",c:\"+34\"},{n:\"Sri Lanka\",c:\"+94\"},\r\n  {n:\"Sudan\",c:\"+249\"},{n:\"Suriname\",c:\"+597\"},{n:\"Sweden\",c:\"+46\"},{n:\"Switzerland\",c:\"+41\"},\r\n  {n:\"Syria\",c:\"+963\"},{n:\"Taiwan\",c:\"+886\"},{n:\"Tajikistan\",c:\"+992\"},{n:\"Tanzania\",c:\"+255\"},\r\n  {n:\"Thailand\",c:\"+66\"},{n:\"Timor-Leste\",c:\"+670\"},{n:\"Togo\",c:\"+228\"},{n:\"Tonga\",c:\"+676\"},\r\n  {n:\"Trinidad and Tobago\",c:\"+1\"},{n:\"Tunisia\",c:\"+216\"},{n:\"T\u00fcrkiye (Turkey)\",c:\"+90\"},\r\n  {n:\"Turkmenistan\",c:\"+993\"},{n:\"Tuvalu\",c:\"+688\"},{n:\"Uganda\",c:\"+256\"},{n:\"Ukraine\",c:\"+380\"},\r\n  {n:\"United Arab Emirates\",c:\"+971\"},{n:\"United Kingdom\",c:\"+44\"},\r\n  {n:\"United States\",c:\"+1\"},{n:\"Uruguay\",c:\"+598\"},{n:\"Uzbekistan\",c:\"+998\"},\r\n  {n:\"Vanuatu\",c:\"+678\"},{n:\"Vatican City\",c:\"+379\"},{n:\"Venezuela\",c:\"+58\"},{n:\"Vietnam\",c:\"+84\"},\r\n  {n:\"Yemen\",c:\"+967\"},{n:\"Zambia\",c:\"+260\"},{n:\"Zimbabwe\",c:\"+263\"},\r\n  {n:\"Hong Kong\",c:\"+852\"},{n:\"Macau\",c:\"+853\"},{n:\"Palestine\",c:\"+970\"},\r\n  {n:\"Puerto Rico\",c:\"+1\"},{n:\"Guam\",c:\"+1\"},{n:\"US Virgin Islands\",c:\"+1\"},\r\n  {n:\"Jersey\",c:\"+44\"},{n:\"Guernsey\",c:\"+44\"},{n:\"Isle of Man\",c:\"+44\"},\r\n  {n:\"Greenland\",c:\"+299\"},{n:\"Faroe Islands\",c:\"+298\"},\r\n  {n:\"Aruba\",c:\"+297\"},{n:\"Cura\u00e7ao\",c:\"+599\"},{n:\"Bermuda\",c:\"+1\"},\r\n  {n:\"Gibraltar\",c:\"+350\"},{n:\"Martinique\",c:\"+596\"},{n:\"Guadeloupe\",c:\"+590\"},\r\n  {n:\"R\u00e9union\",c:\"+262\"},{n:\"French Guiana\",c:\"+594\"},{n:\"Mayotte\",c:\"+262\"},\r\n  {n:\"New Caledonia\",c:\"+687\"},{n:\"French Polynesia\",c:\"+689\"},\r\n  {n:\"\u00c5land Islands\",c:\"+358\"},{n:\"Monaco (Mobile ranges)\",c:\"+377\"}\r\n];\r\n\r\n\/* --- Phone helpers --- *\/\r\nconst dialBtn   = document.getElementById('dial_btn');\r\nconst dialPanel = document.getElementById('dial_panel');\r\nconst dialList  = document.getElementById('dial_listbox');\r\nconst dialFilter= document.getElementById('dial_filter');\r\nconst dialHidden= document.getElementById('dial_code_standardized');\r\nconst phoneLocal= document.getElementById('phone_local');\r\nconst phoneError= document.getElementById('phone_error');\r\n\r\nfunction positionPanel() {\r\n  \/\/ With CSS top:100% + left:0, no JS positioning needed\r\n  \/\/ Keep this empty or remove calls to this function\r\n}\r\n\r\ndialBtn.addEventListener('click', (e) => {\r\n  e.stopPropagation();\r\n  const isOpen = !dialPanel.classList.contains('lq-hidden');\r\n  isOpen ? closePanel() : openPanel();\r\n});\r\n\r\n\r\n\r\nwindow.addEventListener(\"resize\", positionPanel);\r\n\r\n\r\nlet selectedCode = \"+971\";\r\ndialBtn.textContent = selectedCode;\r\ndialHidden.value    = selectedCode;\r\n\r\n\/* Render dial list *\/\r\nfunction renderList(q = \"\", force=false) {\r\n  const s = q.trim().toLowerCase();\r\n  dialList.innerHTML = \"\";\r\n\r\n  \/\/ If not typing anything and not forced, exit\r\n  if (!s && !force) return;\r\n\r\n  const rows = COUNTRY_CODES.filter(({ n, c }) => {\r\n    if (force) return true; \/\/ show all if forced\r\n    return c.replace(\"+\", \"\").startsWith(s.replace(\"+\", \"\")) || n.toLowerCase().includes(s);\r\n  });\r\n\r\n  rows.forEach(({ n, c }) => {\r\n    const li = document.createElement(\"li\");\r\n    li.className = \"lq-dial-item\";\r\n    li.setAttribute(\"role\", \"option\");\r\n    li.setAttribute(\"data-code\", c);\r\n    li.innerHTML = `<span>${c}<\/span><small>${n}<\/small>`;\r\n    if (c === selectedCode) li.setAttribute(\"aria-selected\", \"true\");\r\n    li.addEventListener(\"click\", () => {\r\n      selectedCode = c;\r\n      dialBtn.textContent = c;\r\n      dialHidden.value = c;\r\n      formatAsYouType();\r\n      validatePhone();\r\n      closePanel();\r\n    });\r\n    dialList.appendChild(li);\r\n  });\r\n}\r\n\r\n\r\n\r\n\r\nfunction openPanel() {\r\n  renderList(\"\", true);  \/\/ force full list\r\n  dialPanel.classList.remove('lq-hidden');\r\n  dialBtn.setAttribute('aria-expanded','true');\r\n  setTimeout(() => dialFilter.focus(), 0); \/\/ ensure input is focused\r\n}\r\n\r\nfunction closePanel(){ dialPanel.classList.add('lq-hidden'); dialBtn.setAttribute('aria-expanded','false'); dialBtn.focus(); }\r\ndialFilter.addEventListener('input', (e)=>renderList(e.target.value));\r\ndialFilter.addEventListener('keydown', (e)=>{\r\n  const items = [...dialList.querySelectorAll('.lq-dial-item')];\r\n  const idx = items.findIndex(x=>x.matches('[aria-selected=\"true\"]'));\r\n  if(e.key==='ArrowDown'){ e.preventDefault(); const next = items[Math.min((idx<0?0:idx+1), items.length-1)];\r\n    items.forEach(x=>x.removeAttribute('aria-selected')); next?.setAttribute('aria-selected','true'); next?.scrollIntoView({block:'nearest'});}\r\n  else if(e.key==='ArrowUp'){ e.preventDefault(); const prev = items[Math.max((idx<0?0:idx-1), 0)];\r\n    items.forEach(x=>x.removeAttribute('aria-selected')); prev?.setAttribute('aria-selected','true'); prev?.scrollIntoView({block:'nearest'});}\r\n  else if(e.key==='Enter'){ (dialList.querySelector('[aria-selected=\"true\"]')||items[0])?.click(); }\r\n  else if(e.key==='Escape'){ closePanel(); }\r\n});\r\ndocument.addEventListener('click', (e)=>{ if(!dialPanel.classList.contains('lq-hidden')){ const root = document.getElementById('lq-dial'); if(!root.contains(e.target)) closePanel(); }});\r\n\r\n\/* Compose E.164 (for hidden mirrors) *\/\r\nfunction composeE164(){\r\n  const dial = (dialHidden.value||'').replace(\/\\s\/g,'');                 \/\/ \"+971\"\r\n  const localDigits = (phoneLocal.value||'').replace(\/[^\\d]\/g,'');        \/\/ keep digits only\r\n  return (dial + localDigits).replace('++','+');\r\n}\r\n\r\n\/* As-you-type formatting (country-aware based on selected dial code) *\/\r\nfunction formatAsYouType(){\r\n  const lib = window.libphonenumber;\r\n  if(!lib || typeof lib.AsYouType !== 'function') return;\r\n\r\n  const codeDigits = (selectedCode||'').replace(\/\\D\/g,'');                \/\/ \"971\"\r\n  const localDigits = (phoneLocal.value||'').replace(\/[^\\d]\/g,'');        \/\/ raw digits typed\r\n  if(!localDigits){ phoneLocal.value = ''; return; }\r\n\r\n  \/\/ Step 1: format as international with +code to detect country\r\n  const aytIntl = new lib.AsYouType();                                    \/\/ no country -> intl\r\n  const intl = aytIntl.input('+' + codeDigits + localDigits);             \/\/ \"+971 58 558 3714\" (example)\r\n\r\n  \/\/ Step 2: strip the \"+<code>\" prefix so we display national-looking spacing only\r\n  const prefix = '+' + codeDigits;\r\n  let display = intl.startsWith(prefix) ? intl.slice(prefix.length).trim() : intl;\r\n\r\n  \/\/ Apply\r\n  phoneLocal.value = display;\r\n}\r\n\r\n\/* Country-aware validation using libphonenumber-js *\/\r\nfunction validatePhone(){\r\n  const full = composeE164(); \/\/ \"+971585583714\"\r\n  const lib = window.libphonenumber;\r\n  let ok = false, msg = '';\r\n\r\n  if(lib && typeof lib.parsePhoneNumberFromString === 'function'){\r\n    try{\r\n      const parsed = lib.parsePhoneNumberFromString(full);\r\n      if(parsed && parsed.isValid()){\r\n        ok = true;\r\n        \/\/ Canonical E.164 for Make (hidden mirrors)\r\n        document.getElementById('phone_e164').value = parsed.number;\r\n        document.getElementById('phone_number').value = parsed.number;\r\n      }else{\r\n  msg = LQ_I18N.t('fixFields'); \/\/ or LQ_I18N.t('invalidPhone') if you add that key\r\n}\r\n\r\n    }catch(err){\r\n      msg = LQ_I18N.t('fixFields');\r\n    }\r\n  }else{\r\n    \/\/ Minimal fallback: at least 8 digits total after the +\r\n    ok = \/^\\+\\d{8,}$\/.test(full);\r\n    if(!ok) msg = LQ_I18N.t('fixFields'); \/\/ or LQ_I18N.t('invalidPhone')\r\n    if(ok){\r\n      document.getElementById('phone_e164').value = full;\r\n      document.getElementById('phone_number').value = full;\r\n    }\r\n  }\r\n\r\n  phoneLocal.setCustomValidity(ok ? '' : msg);\r\n  phoneError.textContent = ok ? '' : msg;\r\n  phoneError.style.display = ok ? 'none' : 'block';\r\n  return ok;\r\n}\r\n\r\n\/\/ Wire up typing and paste\r\n['input','blur','paste'].forEach(evt=>{\r\n  phoneLocal.addEventListener(evt, ()=>{ formatAsYouType(); validatePhone(); });\r\n});\r\n\/\/ LQ:PHONE_JS END\r\n\r\n\/\/ LQ:TURNSTILE_JS START\r\n\/* Turnstile *\/\r\nfunction onTurnstile(token){document.getElementById('turnstile_token').value=token||'';}\r\nwindow.onTurnstile=onTurnstile;\r\n\/\/ LQ:TURNSTILE_JS END\r\n\r\n\/\/ --- LQ:I18N (EN\/AR auto) ---\r\nconst LQ_I18N = {\r\n  isArabic() {\r\n    const lang = (document.documentElement.getAttribute('lang') || '').toLowerCase();\r\n    return lang.startsWith('ar') || document.body.classList.contains('trp-language-ar');\r\n  },\r\n  t(key) {\r\n    const ar = {\r\n      pendingSubmitting: \"\u062c\u0627\u0631\u064d \u0627\u0644\u0625\u0631\u0633\u0627\u0644\u2026 \u064a\u064f\u0631\u062c\u0649 \u0639\u062f\u0645 \u0625\u063a\u0644\u0627\u0642 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629.\",\r\n      pendingStill: \"\u0645\u0627 \u0632\u0644\u0646\u0627 \u0646\u0639\u0645\u0644\u2026 \u0642\u062f \u062a\u0633\u062a\u063a\u0631\u0642 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0643\u0628\u064a\u0631\u0629 \u0628\u0639\u0636 \u0627\u0644\u0648\u0642\u062a. \u064a\u064f\u0631\u062c\u0649 \u0625\u0628\u0642\u0627\u0621 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0645\u0641\u062a\u0648\u062d\u0629.\",\r\n      humanVerify: \"\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u0644\u0633\u062a \u0631\u0648\u0628\u0648\u062a\u064b\u0627.\",\r\n      fixFields: \"\u064a\u0631\u062c\u0649 \u062a\u0635\u062d\u064a\u062d \u0627\u0644\u062d\u0642\u0648\u0644 \u0627\u0644\u0645\u064f\u0638\u0644\u0651\u0644\u0629 \u0642\u0628\u0644 \u0627\u0644\u0625\u0631\u0633\u0627\u0644.\",\r\n      confirmFail: \"\u062a\u0639\u0630\u0651\u0631 \u062a\u0623\u0643\u064a\u062f \u0627\u0644\u0625\u0631\u0633\u0627\u0644. \u062d\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649.\",\r\n\r\n      successTitle: \"\u0634\u0643\u0631\u064b\u0627 \u2014 \u062a\u0645 \u0627\u0633\u062a\u0644\u0627\u0645 \u0637\u0644\u0628\u0643 \ud83e\uddb7\",\r\n      successPara: \"\u0648\u0635\u0644\u062a\u0646\u0627 \u062a\u0641\u0627\u0635\u064a\u0644\u0643. \u0633\u064a\u0637\u0651\u0644\u0639 \u0645\u0633\u062a\u0634\u0627\u0631\u0648\u0646\u0627 \u0639\u0644\u0649 \u0637\u0644\u0628\u0643 \u0648\u064a\u0631\u0634\u062f\u0648\u0646\u0643 \u0625\u0644\u0649 \u0637\u0628\u064a\u0628 \u0623\u0648 \u0639\u064a\u0627\u062f\u0629 \u0645\u0646\u0627\u0633\u0628\u0629 \u0644\u0643 \u062e\u0644\u0627\u0644 \u0623\u0642\u0644 \u0645\u0646 12 \u0633\u0627\u0639\u0629.\",\r\n      spamNote: \"\u0645\u0644\u0627\u062d\u0638\u0629 \u0635\u063a\u064a\u0631\u0629: \u0625\u0630\u0627 \u0644\u0645 \u062a\u062c\u062f \u0631\u0633\u0627\u0644\u062a\u0646\u0627\u060c \u064a\u064f\u0631\u062c\u0649 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0628\u0631\u064a\u062f \u063a\u064a\u0631 \u0627\u0644\u0647\u0627\u0645 \/ \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u063a\u064a\u0631 \u0627\u0644\u0645\u0631\u063a\u0648\u0628 \u0641\u064a\u0647\u0627.\",\r\n      step1: \"\u0646\u0631\u0627\u062c\u0639 \u0623\u0647\u062f\u0627\u0641\u0643 \u0648\u062a\u0641\u0636\u064a\u0644\u0627\u062a\u0643.\",\r\n      step2: \"\u0646\u062d\u062f\u0651\u062f \u0648\u0646\u0648\u0635\u064a \u0628\u0627\u0644\u0637\u0628\u064a\u0628 \u0623\u0648 \u0627\u0644\u0639\u064a\u0627\u062f\u0629 \u0627\u0644\u0623\u0646\u0633\u0628 \u0644\u0643 \u0645\u0646 \u0634\u0628\u0643\u062a\u0646\u0627 \u0627\u0644\u062e\u0627\u0635\u0629.\",\r\n      step3: \"\u0646\u062a\u0648\u0627\u0635\u0644 \u0645\u0639\u0643 \u0628\u0627\u0644\u062a\u0648\u0635\u064a\u0629 \u0648\u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629.\"\r\n\r\n    };\r\n    const en = {\r\n      pendingSubmitting: \"Submitting\u2026 please don\u2019t close this tab.\",\r\n      pendingStill: \"Still working\u2026 large files can take a bit. Please keep this tab open.\",\r\n      humanVerify: \"Please verify you\u2019re human.\",\r\n      fixFields: \"Please fix the highlighted fields before submitting\",\r\n      confirmFail: \"We couldn\u2019t confirm your submission. Please try again.\",\r\n\r\n      successTitle: \"Thanks \u2014 your request is in \ud83e\uddb7\",\r\n      successPara: \"We\u2019ve received your details. Our advisors will review your needs and guide you to a suitable dentist or clinic within 12 hours.\",\r\n      spamNote: \"Small note: if you don\u2019t see our email, please check your spam\/junk folder.\",\r\n      step1: \"We check your goals and preferences.\",\r\n      step2: \"We identify and recommend the most suitable dentist or clinic from our private network.\",\r\n      step3: \"We contact you with our recommendation and the next steps.\"\r\n\r\n    };\r\n    return (LQ_I18N.isArabic() ? ar : en)[key] || key;\r\n  }\r\n};\r\n\r\n\/\/ --- LQ:LANG_INPUT (auto-fill hidden page_language) ---\r\n(function () {\r\n  const langEl = document.getElementById('page_language');\r\n  if (!langEl) return;\r\n\r\n  function detectPageLanguage() {\r\n    const htmlLang = (document.documentElement.getAttribute('lang') || '').toLowerCase();\r\n    const isTRPAr  = document.body.classList.contains('trp-language-ar') || (window.trp_language === 'ar');\r\n    const pathAr   = \/^\\\/ar\\\/\/i.test(location.pathname);                         \/\/ TranslatePress virtual path\r\n    const queryAr  = \/(?:^|[?&])trp_language=ar\\b\/i.test(location.search);       \/\/ TRP query param\r\n    return (htmlLang.startsWith('ar') || isTRPAr || pathAr || queryAr) ? 'ar' : 'en';\r\n  }\r\n\r\n  const setLang = () => { langEl.value = detectPageLanguage(); };\r\n\r\n  \/\/ Initial set\r\n  setLang();\r\n\r\n  \/\/ Keep in sync if TRP or the DOM flips language after load\r\n  new MutationObserver(setLang).observe(document.documentElement, { attributes: true, attributeFilter: ['lang'] });\r\n  new MutationObserver(setLang).observe(document.body,          { attributes: true, attributeFilter: ['class'] });\r\n\r\n  \/\/ Safety on BFCache\/page restores\r\n  window.addEventListener('pageshow', setLang);\r\n})();\r\n\r\n\/\/ LQ:METADATA_JS START\r\n\/* Metadata + bindings *\/\r\ndocument.getElementById('date').value = new Date().toISOString().slice(0, 10);\r\ndocument.getElementById('time').value=new Date().toLocaleTimeString();\r\ndocument.getElementById('page_url').value=window.location.href;\r\ndocument.getElementById('user_agent').value=navigator.userAgent;\r\ndocument.getElementById('unique_id').value=(crypto&&crypto.randomUUID)?crypto.randomUUID():(Date.now()+'-'+Math.random().toString(16).slice(2));\r\n\r\nconst btn = form.querySelector('.lq-btn');\r\nconst msgPending = document.getElementById('lq-pending');\r\nconst msgSuccess = document.getElementById('lq-success');\r\nconst msgError   = document.getElementById('lq-error');\r\nconst iframe = document.querySelector('iframe[name=\"lq_iframe\"]');\r\n\r\ndocument.querySelectorAll('#'+form.id+' input, #'+form.id+' select, #'+form.id+' textarea, #'+form.id+' button[type=\"submit\"]').forEach(el=>el.setAttribute('form', form.id));\r\n\r\nfunction setSubmitting(on){\r\n  if(on){\r\n    btn.disabled = true;\r\n    btn.dataset.label = btn.textContent; \r\n\/\/ or simply:\r\nbtn.textContent = LQ_I18N.isArabic() ? '\u062c\u0627\u0631\u064d \u0627\u0644\u0625\u0631\u0633\u0627\u0644\u2026' : 'Submitting\u2026';\r\n\r\n    msgPending.textContent = LQ_I18N.t('pendingSubmitting');\r\n    msgPending.style.display='block';\r\n  }else{\r\n    btn.disabled = false;\r\n    btn.textContent = btn.dataset.label || '\ud83d\udd0d Find My Dentist';\r\n    msgPending.style.display='none';\r\n  }\r\n}\r\n\/\/ LQ:METADATA_JS END\r\n\r\n\/\/ LQ:SUBMIT_JS START\r\nform.addEventListener('submit',function(e){\r\n  if(!document.getElementById('turnstile_token').value){\r\n    e.preventDefault();\r\n    msgError.textContent = LQ_I18N.t('humanVerify'); \r\n    msgError.style.display='block';\r\n    return;\r\n  }\r\n\r\n  \/\/ Validate HTML5 + phone by country\r\n  if(!form.checkValidity() || !validatePhone()){\r\n    e.preventDefault();\r\n    form.reportValidity();\r\n    (form.querySelector(':invalid')||phoneLocal)?.focus();\r\n    msgError.textContent = LQ_I18N.t('fixFields');\r\n    msgError.style.display='block';\r\n    return;\r\n  }\r\n\r\n  setSubmitting(true);\r\n  msgError.style.display='none';\r\n\r\n  let done = false;\r\n\r\n\/\/ If there are uploads, give more time. (Sum sizes safely.)\r\nconst files = (uploadsInput && uploadsInput.files) ? Array.from(uploadsInput.files) : [];\r\nconst hasUploads = files.length > 0;\r\nconst totalBytes = files.reduce((n,f)=> n + (f?.size || 0), 0);\r\n\r\n\/\/ Soft timeout: after a while, keep button disabled and show \u201cstill working\u2026\u201d\r\nconst SOFT_TIMEOUT_MS = hasUploads ? 60000 : 15000;  \/\/ 60s with files, 15s without\r\n\r\nconst softTimer = setTimeout(() => {\r\n  if (done) return;\r\n  msgPending.textContent = LQ_I18N.t('pendingStill');\r\n  msgPending.style.display = 'block';\r\n}, SOFT_TIMEOUT_MS);\r\n\r\n\r\niframe.addEventListener('load', () => {\r\n  if (done) return;\r\n  done = true;\r\n  clearTimeout(softTimer);\r\n\r\n  \/\/ Debounce a tick so iframe body is fully written\r\n  setTimeout(() => {\r\n    let isOK = false;\r\n    try {\r\n      const doc = iframe.contentDocument || iframe.contentWindow?.document;\r\n      const bodyText = (doc?.body?.textContent || '').trim();\r\n      isOK = bodyText === 'OK'; \/\/ exact literal OK\r\n    } catch (e) {\r\n      isOK = false;\r\n    }\r\n\r\n    if (!isOK) {\r\n      setSubmitting(false);\r\n      msgPending.style.display = 'none';\r\n      msgError.textContent = LQ_I18N.t('confirmFail');\r\n      msgError.style.display = 'block';\r\n      return;\r\n    }\r\n\r\n    \/\/ Success UI\r\n\/\/ Success UI\r\nsetSubmitting(false);\r\nmsgPending.style.display = 'none';\r\n\r\nconst actions = form.querySelector('.lq-actions');\r\nactions.innerHTML = `\r\n  <div class=\"lq-success-card\" id=\"lq-success-card\" role=\"status\" aria-live=\"polite\">\r\n    <div class=\"lq-success-icon\" aria-hidden=\"true\">\r\n      <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n        <circle cx=\"12\" cy=\"12\" r=\"11\" stroke=\"rgba(0,0,0,.12)\" stroke-width=\"2\"><\/circle>\r\n        <path d=\"M7 12.5l3 3 7-7\" stroke=\"#28A745\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n      <\/svg>\r\n    <\/div>\r\n    <h2>${LQ_I18N.t('successTitle')}<\/h2>\r\n    <p>${LQ_I18N.t('successPara')}<\/p>\r\n    <p class=\"lq-spam-note\">${LQ_I18N.t('spamNote')}<\/p>\r\n    <ol class=\"lq-steps\" aria-label=\"${LQ_I18N.isArabic() ? '\u0645\u0627\u0630\u0627 \u0633\u064a\u062d\u062f\u062b \u0644\u0627\u062d\u0642\u064b\u0627' : 'What happens next'}\">\r\n      <li>\r\n        <span class=\"badge\" aria-hidden=\"true\">1<\/span>\r\n        <div class=\"text\">${LQ_I18N.t('step1')}<\/div>\r\n      <\/li>\r\n      <li>\r\n        <span class=\"badge\" aria-hidden=\"true\">2<\/span>\r\n        <div class=\"text\">${LQ_I18N.t('step2')}<\/div>\r\n      <\/li>\r\n      <li>\r\n        <span class=\"badge\" aria-hidden=\"true\">3<\/span>\r\n        <div class=\"text\">${LQ_I18N.t('step3')}<\/div>\r\n      <\/li>\r\n    <\/ol>\r\n  <\/div>\r\n`;\r\n\r\n\/\/ Optional: make the card RTL on Arabic\r\nif (LQ_I18N.isArabic()) document.getElementById('lq-success-card').dir = 'rtl';\r\n\r\n\r\n    const successEl = document.getElementById('lq-success-card');\r\n    successEl.setAttribute('tabindex', '-1');\r\n    successEl.focus({ preventScroll: true });\r\n    setTimeout(() => successEl.scrollIntoView({ behavior: 'smooth', block: 'start' }), 30);\r\n  }, 100);\r\n}, { once: true });\r\n\r\n\r\n\r\n});\r\n\r\n\/\/ ---------- Auto-preselect + Arabic relabel ----------\r\n\r\n\/\/ LQ:LOCALE_JS START\r\n(function () {\r\n  \/\/ Robust path text (handles %D8\u2026 encodings)\r\n  const PATH = decodeURIComponent(location.pathname);\r\n\r\n  \/\/ ---------- PAGE \u2192 AUTOSELECTION RULES ----------\r\n  \/\/ 1st dropdown is matched by \/Straighten teeth\/i for all ortho pages below.\r\n  \/\/ 2nd dropdown uses specific text matches (en dash\/hyphen tolerant).\r\n  const rules = [\r\n    {\r\n     \/\/ \/dubai\/emergency-dentist\/ and \/dubai\/emergency-dentist\/best\/\r\n     test: \/\\\/dubai\\\/emergency-dentist(\\\/best)?\\\/?$\/i,\r\n      reasonMatch: \/Pain\\s*[\u2013-]\\s*swelling\\s*or\\s*urgent\\s*issue\/i\r\n    },\r\n    {\r\n      test: \/\\\/dubai\\\/dentures(\\\/cost)?(\\\/|$)\/i,\r\n      reasonMatch: \/Missing\\\/broken\\s*tooth\/i\r\n      \/\/ \u274c no subMatch\r\n    },\r\n    {\r\n      \/\/ Pediatric pages: \/dubai\/pediatric-dentistry\/, \/dubai\/pediatric-dentistry\/best\/,\r\n      \/\/ \/dubai\/orthodontics\/pediatric\/, \/dubai\/orthodontics\/pediatric\/myobrace\/\r\n      test: \/\\\/dubai\\\/(pediatric-dentistry(\\\/best)?|orthodontics\\\/pediatric(\\\/myobrace)?)\\\/?$\/i,\r\n      ageMatch: \/Under\\s*14\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/root-canal\/, \/dubai\/root-canal\/cost\/, \/dubai\/endodontist\/, \/dubai\/endodontist\/best\/\r\n      test: \/\\\/dubai\\\/(root-canal(\\\/cost)?|endodontist(\\\/best)?)(\\\/|$)\/i,\r\n      reasonMatch: \/Pain\\s*[\u2013-]\\s*swelling\\s*or\\s*urgent\\s*issue\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/teeth-whitening\/ and \/dubai\/zoom-whitening\/\r\n      test: \/\\\/dubai\\\/(teeth-whitening|zoom-whitening)(\\\/|$)\/i,\r\n      reasonMatch: \/Improve\\s*my\\s*smile\\s*[\u2013-]\\s*veneers\\s*or\\s*whitening\\s*or\\s*more\/i,\r\n      subMatch: \/Teeth\\s*Whitening\\s*[\u2013-]\\s*I\\s*want\\s*a\\s*brighter,\\s*whiter\\s*smile\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/crowns-bridges\/\r\n      test: \/\\\/dubai\\\/crowns-bridges(\\\/|$)\/i,\r\n      reasonMatch: \/Missing\\\/broken\\s*tooth\/i,\r\n      \/\/ keep it simple + robust; unique enough\r\n      subMatch: \/Dental\\s*Bridge\\s*Needed\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/cosmetic-dentistry\/ and \/dubai\/smile-makeover\/\r\n      test: \/\\\/dubai\\\/(cosmetic-dentistry|smile-makeover)(\\\/|$)\/i,\r\n      reasonMatch: \/Improve\\s*my\\s*smile\/i,\r\n      subMatch: \/Smile\\s*Makeover\\s*[\u2013-]\\s*not\\s*sure\\s*which\\s*treatment,\\s*but\\s*I\\s*want\\s*a\\s*better\\s*smile\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/composite-bonding\/\r\n      test: \/\\\/dubai\\\/composite-bonding(\\\/|$)\/i,\r\n      reasonMatch: \/Improve\\s*my\\s*smile\/i,\r\n      subMatch: \/Tooth\\s*Bonding\\s*[\u2013-]\\s*small\\s*chips.*imperfections\\s*to\\s*fix\/i\r\n    },\r\n    {\r\n        \/\/ \/dubai\/hollywood-smile\/\r\n        test: \/\\\/dubai\\\/hollywood-smile(\\\/|$)\/i,\r\n        reasonMatch: \/Improve\\s*my\\s*smile\/i,\r\n        subMatch: \/Hollywood\\s*Smile\/i\r\n    },\r\n    {\r\n        \/\/ \/dubai\/veneers\/ and subpages\r\n        test: \/\\\/veneers(\\\/|$)\/i,\r\n        reasonMatch: \/Improve\\s*my\\s*smile\/i,\r\n        subMatch: \/Dental\\s*Veneers\\s*[\u2013-]\\s*I\\s*want\\s*to\\s*reshape\\s*or\\s*whiten\/i\r\n    },\r\n    {\r\n        \/\/ \/dubai\/dental-implants\/\r\n        test: \/\\\/dubai\\\/dental-implants(\\\/|$)\/i,\r\n        reasonMatch: \/Missing\\\/broken\\s*tooth\/i,\r\n        subMatch: \/Dental\\s*Implant\\s*Needed\\s*[\u2013-]\\s*I\\s*want\\s*a\\s*permanent\\s*tooth\\s*replacement\/i\r\n    },\r\n    {\r\n        \/\/ \/dubai\/orthodontics\/clear-aligners\/\r\n        test: \/\\\/dubai\\\/orthodontics\\\/clear-aligners\\\/?$\/i,\r\n        reasonMatch: \/Straighten\\s*teeth\/i,\r\n        \/\/ tolerant to hyphen\/en-dash + apostrophe variations\r\n        subMatch: \/Clear\\s*Aligners\\s*[\u2013-]\\s*I.?m\\s*exploring\\s*alternatives\\s*to\\s*Invisalign\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/orthodontics\/braces\/ceramic\/\r\n      test: \/\\\/dubai\\\/orthodontics\\\/braces\\\/ceramic\\\/?$\/i,\r\n      reasonMatch: \/Straighten\\s*teeth\/i,\r\n      subMatch: \/Braces\\s*[\u2013-]\\s*I.?m\\s*open\\s*to\\s*fixed\\s*brackets\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/orthodontics\/braces\/metal\/\r\n      test: \/\\\/dubai\\\/orthodontics\\\/braces\\\/metal\\\/?$\/i,\r\n      reasonMatch: \/Straighten\\s*teeth\/i,\r\n      subMatch: \/Braces\\s*[\u2013-]\\s*I.?m\\s*open\\s*to\\s*fixed\\s*brackets\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/orthodontics\/braces\/damon\/\r\n      \/\/ Requires Damon option in subReasonMap.straighten (you already added it).\r\n      test: \/\\\/dubai\\\/orthodontics\\\/braces\\\/damon\\\/?$\/i,\r\n      reasonMatch: \/Straighten\\s*teeth\/i,\r\n      subMatch: \/Damon\\s*Braces\/i\r\n    },\r\n    {\r\n      \/\/ \/dubai\/orthodontics\/braces\/lingual\/\r\n      test: \/\\\/dubai\\\/orthodontics\\\/braces\\\/lingual\\\/?$\/i,\r\n      reasonMatch: \/Straighten\\s*teeth\/i,\r\n      subMatch: \/Lingual\\s*Braces\\s*[\u2013-]\\s*hidden\\s*behind\\s*the\\s*teeth\/i\r\n    }\r\n  ];\r\n\r\n  \/\/ ---------- HELPERS ----------\r\n  const $ = (sel) => document.querySelector(sel);\r\n  const optionMatches = (opt, rx) => rx.test((opt.value || opt.textContent || '').trim());\r\n  const pickByRegex = (selectEl, rx) => {\r\n    if (!selectEl) return false;\r\n    const hit = Array.from(selectEl.options).find(o => optionMatches(o, rx));\r\n    if (!hit) return false;\r\n    selectEl.value = hit.value;\r\n    selectEl.dispatchEvent(new Event('change', { bubbles: true }));\r\n    return true;\r\n  };\r\n\r\n  function applyRules() {\r\n    const formEl  = $('#lumiquest_patient_form');\r\n    const reason  = formEl?.querySelector('#reason_for_visit');\r\n    const subSel  = formEl?.querySelector('#sub_reason');\r\n    const subWrap = formEl?.querySelector('#sub_reason_wrap');\r\n    if (!formEl || !reason) return;\r\n\r\n    \/\/ 1) Page-specific rules first\r\nconst rule = rules.find(r => r.test.test(PATH));\r\nif (rule) {\r\n\r\n  \/\/ \u2705 Apply ageMatch if present (pediatric pages)\r\n  if (rule.ageMatch) {\r\n    const ageSel = formEl.querySelector('#age_group');\r\n    if (ageSel && !ageSel.value) {\r\n      pickByRegex(ageSel, rule.ageMatch);\r\n    }\r\n  }\r\n\r\n  \/\/ Existing reason \/ subreason logic (unchanged)\r\n  if (rule.reasonMatch) {\r\n    const pickedReason = pickByRegex(reason, rule.reasonMatch);\r\n    if (pickedReason && rule.subMatch) {\r\n      \/\/ allow sub-reasons to populate after change event\r\n      setTimeout(() => {\r\n        if (subSel && subWrap?.style.display !== 'none') {\r\n          pickByRegex(subSel, rule.subMatch);\r\n        }\r\n      }, 60);\r\n    }\r\n  }\r\n  return; \/\/ stop if matched\r\n}\r\n\r\n\/\/ 2) Generic fallbacks (keep your original UX)\r\nconst isOrthoPedsPage = \/\\\/dubai\\\/orthodontics\\\/pediatric(\\\/|$)\/i.test(PATH);\r\nconst isOrthoPage     = \/\\\/orthodontics(\\\/|$)\/i.test(PATH) || \/\u062a\u0642\u0648\u064a\u0645\/.test(PATH);\r\nconst isInvisPage     = \/\\\/invisalign(\\\/|$)\/i.test(PATH) || \/\u0627\u0646?\u0641?\u0632\u0644\u0627?\u064a\u0646\/i.test(PATH);\r\n\r\n\/\/ \u2705 Do NOT auto-pick \"Straighten teeth\" on ortho pediatric pages\r\nif (isOrthoPage && !isOrthoPedsPage && !reason.value) {\r\n  pickByRegex(reason, \/Straighten\\s*teeth\/i);\r\n}\r\n\r\nif (isInvisPage) {\r\n  setTimeout(() => {\r\n    if (!subSel || subWrap?.style.display === 'none') return;\r\n    const firstReal = Array.from(subSel.options).find(o => (o.value || '').trim() !== '');\r\n    if (firstReal && !subSel.value) {\r\n      subSel.value = firstReal.value;\r\n      subSel.dispatchEvent(new Event('change', { bubbles: true }));\r\n    }\r\n  }, 60);\r\n}\r\n  }\r\n\r\n  \/\/ Boot + bfcache safety\r\n  const boot = () => applyRules();\r\n  document.addEventListener('DOMContentLoaded', boot);\r\n  setTimeout(boot, 120);\r\n  window.addEventListener('pageshow', () => setTimeout(boot, 0));\r\n\r\n  \/\/ ---------- Arabic relabel (visible text only; option values stay English) ----------\r\n  const relabel = () => {\r\n    const isArabic =\r\n      \/^ar\\b\/i.test(document.documentElement.getAttribute('lang') || '') ||\r\n      document.body.classList.contains('trp-language-ar');\r\n    if (!isArabic) return;\r\n\r\n    const REASON_AR = {\r\n      \/\/ ----- Urgent \/ Pain -----\r\n      \"- Select -\": \"\u0627\u062e\u062a\u064e\u0631\",\r\n      \"Cold Sensitivity \u2013 sharp pain when drinking cold or breathing cold air\": \"\u062d\u0633\u0627\u0633\u064a\u0629 \u0644\u0644\u0628\u0631\u062f \u2014 \u0623\u0644\u0645 \u062d\u0627\u062f \u0645\u0639 \u0627\u0644\u0645\u0634\u0631\u0648\u0628\u0627\u062a \u0627\u0644\u0628\u0627\u0631\u062f\u0629 \u0623\u0648 \u0627\u0644\u0647\u0648\u0627\u0621 \u0627\u0644\u0628\u0627\u0631\u062f\",\r\n      \"Severe Toothache \u2013 constant or throbbing pain in one or more teeth\": \"\u0623\u0644\u0645 \u0634\u062f\u064a\u062f \u0628\u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u2014 \u0623\u0644\u0645 \u0645\u0633\u062a\u0645\u0631 \u0623\u0648 \u0646\u0627\u0628\u0636 \u0641\u064a \u0633\u0646 \u0623\u0648 \u0623\u0643\u062b\u0631\",\r\n      \"Swollen Gums or Abscess \u2013 painful bump or swelling on your gums\": \"\u062a\u0648\u0631\u0645 \u0627\u0644\u0644\u062b\u0629 \u0623\u0648 \u062e\u0631\u0627\u062c \u2014 \u0627\u0646\u062a\u0641\u0627\u062e\/\u0646\u062a\u0648\u0621 \u0645\u0624\u0644\u0645 \u0641\u064a \u0627\u0644\u0644\u062b\u0629\",\r\n      \"Broken or Cracked Tooth \u2013 painful when chewing or touching\": \"\u0633\u0646 \u0645\u0643\u0633\u0648\u0631 \u0623\u0648 \u0645\u062a\u0634\u0642\u0642 \u2014 \u0623\u0644\u0645 \u0639\u0646\u062f \u0627\u0644\u0645\u0636\u063a \u0623\u0648 \u0627\u0644\u0644\u0645\u0633\",\r\n      \"Wisdom Tooth Pain \u2013 pain or swelling in the back of your mouth\": \"\u0623\u0644\u0645 \u0636\u0631\u0633 \u0627\u0644\u0639\u0642\u0644 \u2014 \u0623\u0644\u0645 \u0623\u0648 \u062a\u0648\u0631\u0651\u0645 \u0641\u064a \u0622\u062e\u0631 \u0627\u0644\u0641\u0645\",\r\n      \"Pain After a Recent Treatment \u2013 discomfort after dental work\": \"\u0623\u0644\u0645 \u0628\u0639\u062f \u0639\u0644\u0627\u062c \u062d\u062f\u064a\u062b \u2014 \u0627\u0646\u0632\u0639\u0627\u062c \u0628\u0639\u062f \u0625\u062c\u0631\u0627\u0621 \u0623\u0633\u0646\u0627\u0646\",\r\n      \"Jaw Pain or Clicking \u2013 pain near ear or clicking in the jaw\": \"\u0623\u0644\u0645 \u0623\u0648 \u0637\u0642\u0637\u0642\u0629 \u0641\u064a \u0627\u0644\u0641\u0643 \u2014 \u0623\u0644\u0645 \u0642\u0631\u0628 \u0627\u0644\u0623\u0630\u0646 \u0623\u0648 \u0637\u0642\u0637\u0642\u0629 \u0628\u0627\u0644\u0641\u0643\",\r\n      \"Something Else \u2013 I\u2019ll explain below\": \"\u0634\u064a\u0621 \u0622\u062e\u0631 \u2014 \u0633\u0623\u0648\u0636\u0651\u062d \u0630\u0644\u0643 \u0623\u062f\u0646\u0627\u0647\",\r\n\r\n      \/\/ ----- Missing \/ Broken Teeth -----\r\n      \"- Select - (Missing\/Repair)\": \"\u0627\u062e\u062a\u064e\u0631\",\r\n      \"Missing Tooth \u2013 I lost a tooth and want to replace it\": \"\u0633\u0646 \u0645\u0641\u0642\u0648\u062f \u2014 \u0623\u0631\u064a\u062f \u062a\u0639\u0648\u064a\u0636\u0647\",\r\n      \"Broken Tooth (Not Painful) \u2013 part of my tooth is chipped or cracked\": \"\u0633\u0646 \u0645\u0643\u0633\u0648\u0631 (\u0628\u062f\u0648\u0646 \u0623\u0644\u0645) \u2014 \u062c\u0632\u0621 \u0645\u0643\u0633\u0648\u0631 \u0623\u0648 \u0645\u062a\u0634\u0642\u0642\",\r\n      \"Full Mouth Tooth Loss \u2013 I\u2019ve lost most or all of my teeth\": \"\u0641\u0642\u062f\u0627\u0646 \u0623\u0633\u0646\u0627\u0646 \u0645\u062a\u0639\u062f\u062f \u2014 \u0641\u0642\u062f\u062a \u0645\u0639\u0638\u0645 \u0623\u0633\u0646\u0627\u0646\u064a \u0623\u0648 \u0643\u0644\u0647\u0627\",\r\n      \"Dental Bridge Needed \u2013 I want to replace missing teeth with a fixed bridge\": \"\u0623\u062d\u062a\u0627\u062c \u062c\u0633\u0631\u064b\u0627 \u062b\u0627\u0628\u062a\u064b\u0627 \u2014 \u0644\u062a\u0639\u0648\u064a\u0636 \u0623\u0633\u0646\u0627\u0646 \u0645\u0641\u0642\u0648\u062f\u0629\",\r\n      \"Dental Implant Needed \u2013 I want a permanent tooth replacement\": \"\u0623\u062d\u062a\u0627\u062c \u0632\u0631\u0627\u0639\u0629 \u0623\u0633\u0646\u0627\u0646 \u2014 \u062a\u0639\u0648\u064a\u0636 \u062f\u0627\u0626\u0645\",\r\n      \"Dentures Needed \u2013 I\u2019m looking for full or partial dentures\": \"\u0623\u062d\u062a\u0627\u062c \u0637\u0642\u0645 \u0623\u0633\u0646\u0627\u0646 \u2014 \u0643\u0627\u0645\u0644 \u0623\u0648 \u062c\u0632\u0626\u064a\",\r\n      \"Tooth Extracted Recently \u2013 I need to replace a tooth that was removed\": \"\u062e\u0644\u0639 \u062d\u062f\u064a\u062b \u2014 \u0623\u0631\u064a\u062f \u062a\u0639\u0648\u064a\u0636 \u0627\u0644\u0633\u0646 \u0627\u0644\u0645\u062e\u0644\u0648\u0639\",\r\n\r\n      \/\/ ----- Cosmetic -----\r\n      \"- Select - (Cosmetic)\": \"\u0627\u062e\u062a\u064e\u0631\",\r\n      \"Hollywood Smile \u2013 full smile makeover with veneers or crowns\": \"\u0647\u0648\u0644\u064a\u0648\u0648\u062f \u0633\u0645\u0627\u064a\u0644 \u2014 \u062a\u062c\u0645\u064a\u0644 \u0634\u0627\u0645\u0644 \u0628\u0627\u0644\u0642\u0634\u0648\u0631 \u0623\u0648 \u0627\u0644\u062a\u064a\u062c\u0627\u0646\",\r\n      \"Dental Veneers \u2013 I want to reshape or whiten my front teeth\": \"\u0642\u0634\u0648\u0631 \u062a\u062c\u0645\u064a\u0644\u064a\u0629 \u2014 \u0644\u062a\u062d\u0633\u064a\u0646 \u0634\u0643\u0644 \u0623\u0648 \u0644\u0648\u0646 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u0627\u0644\u0623\u0645\u0627\u0645\u064a\u0629\",\r\n      \"Teeth Whitening \u2013 I want a brighter, whiter smile\": \"\u062a\u0628\u064a\u064a\u0636 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u2014 \u0627\u0628\u062a\u0633\u0627\u0645\u0629 \u0623\u0643\u062b\u0631 \u0628\u064a\u0627\u0636\u064b\u0627\",\r\n      \"Smile Makeover \u2013 not sure which treatment, but I want a better smile\": \"\u062a\u062d\u0633\u064a\u0646 \u0627\u0644\u0627\u0628\u062a\u0633\u0627\u0645\u0629 \u2014 \u0644\u0633\u062a \u0645\u062a\u0623\u0643\u062f\u064b\u0627 \u0645\u0646 \u0627\u0644\u0625\u062c\u0631\u0627\u0621\",\r\n      \"Gum Reshaping \u2013 my gums are uneven or show too much when I smile\": \"\u062a\u062c\u0645\u064a\u0644 \u0627\u0644\u0644\u062b\u0629 \u2014 \u0639\u062f\u0645 \u0627\u0646\u062a\u0638\u0627\u0645 \u0623\u0648 \u0638\u0647\u0648\u0631 \u0632\u0627\u0626\u062f \u0639\u0646\u062f \u0627\u0644\u0627\u0628\u062a\u0633\u0627\u0645\",\r\n      \"Tooth Bonding \u2013 small chips, gaps, or imperfections to fix\": \"\u062d\u0634\u0648\u0627\u062a \u062a\u062c\u0645\u064a\u0644\u064a\u0629 \u2014 \u0644\u0639\u0644\u0627\u062c \u0641\u0631\u0627\u063a\u0627\u062a \u0623\u0648 \u0643\u0633\u0648\u0631 \u0628\u0633\u064a\u0637\u0629\",\r\n\r\n      \/\/ ----- Orthodontics -----\r\n      \"- Select - (Ortho)\": \"\u0627\u062e\u062a\u064e\u0631\",\r\n      \"Invisalign \u2013 I want invisible, removable aligners\": \"Invisalign \u2014 \u062a\u0642\u0648\u064a\u0645 \u0634\u0641\u0627\u0641 \u0642\u0627\u0628\u0644 \u0644\u0644\u0625\u0632\u0627\u0644\u0629\",\r\n      \"Braces \u2013 I\u2019m open to fixed brackets (metallic or ceramic)\": \"\u062a\u0642\u0648\u064a\u0645 \u062b\u0627\u0628\u062a \u2014 \u0645\u0639\u062f\u0646\u064a \u0623\u0648 \u062e\u0632\u0641\u064a\",\r\n      \"Damon Braces \u2013 self-ligating brackets\": \"\u062a\u0642\u0648\u064a\u0645 \u062f\u064a\u0645\u0648\u0646 \u2014 \u0623\u0642\u0648\u0627\u0633 \u0630\u0627\u062a\u064a\u0629 \u0627\u0644\u0625\u063a\u0644\u0627\u0642\",\r\n      \"Myobrace \u2013 habit-correcting appliance for kids\/teens\": \"Myobrace \u2014 \u062c\u0647\u0627\u0632 \u0644\u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0639\u0627\u062f\u0627\u062a \u0644\u0644\u0623\u0637\u0641\u0627\u0644\/\u0627\u0644\u0646\u0627\u0634\u0626\u064a\u0646\",\r\n      \"Lingual Braces \u2013 hidden behind the teeth (invisible)\": \"\u062a\u0642\u0648\u064a\u0645 \u0644\u0633\u0627\u0646\u064a \u2014 \u0645\u062e\u0641\u064a \u062e\u0644\u0641 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 (\u063a\u064a\u0631 \u0645\u0631\u0626\u064a)\",\r\n      \"Clear Aligners \u2013 I\u2019m exploring alternatives to Invisalign\": \"\u062a\u0642\u0648\u064a\u0645 \u0634\u0641\u0627\u0641 \u2014 \u0628\u062f\u0627\u0626\u0644 \u0644\u0640 Invisalign\",\r\n      \"Crooked Teeth \u2013 not sure which option, just want straighter teeth\/better bite\": \"\u0627\u0639\u0648\u062c\u0627\u062c \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u2014 \u0623\u0631\u064a\u062f \u0623\u0633\u0646\u0627\u0646\u064b\u0627 \u0623\u0639\u062f\u0644\/\u0625\u0637\u0628\u0627\u0642\u064b\u0627 \u0623\u0641\u0636\u0644\",\r\n      \"Gaps Between My Teeth \u2013 I want to close the spacing\": \"\u0641\u0631\u0627\u063a\u0627\u062a \u0628\u064a\u0646 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u2014 \u0623\u0631\u064a\u062f \u0625\u063a\u0644\u0627\u0642\u0647\u0627\",\r\n\r\n      \/\/ ----- Routine -----\r\n      \"- Select - (Routine)\": \"\u0627\u062e\u062a\u064e\u0631\",\r\n      \"Teeth Cleaning \u2013 I want a professional cleaning (scaling & polishing)\": \"\u062a\u0646\u0638\u064a\u0641 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u2014 \u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062c\u064a\u0631 \u0648\u0627\u0644\u062a\u0644\u0645\u064a\u0639\",\r\n      \"Dental Check-Up \u2013 just a routine dental exam\": \"\u0641\u062d\u0635 \u0623\u0633\u0646\u0627\u0646 \u0631\u0648\u062a\u064a\u0646\u064a\",\r\n      \"Cavity Filling \u2013 I have a small cavity or hole in a tooth\": \"\u062d\u0634\u0648 \u0633\u0646 \u2014 \u062a\u0633\u0648\u0651\u0633 \u0623\u0648 \u062b\u0642\u0628 \u0628\u0633\u064a\u0637\",\r\n      \"Tooth Sensitivity \u2013 discomfort with cold, sweet, or touch\": \"\u062d\u0633\u0627\u0633\u064a\u0629 \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u2014 \u0645\u0639 \u0627\u0644\u0628\u0627\u0631\u062f\/\u0627\u0644\u062d\u0644\u0648\/\u0627\u0644\u0644\u0645\u0633\",\r\n      \"Stained Teeth \u2013 mild stains I want to clean or polish off\": \"\u062a\u0635\u0628\u063a\u0627\u062a \u062e\u0641\u064a\u0641\u0629 \u2014 \u0623\u0631\u064a\u062f \u062a\u0646\u0638\u064a\u0641\u0647\u0627\/\u062a\u0644\u0645\u064a\u0639\u0647\u0627\",\r\n      \"Bleeding Gums \u2013 gums bleed when I brush or floss\": \"\u0646\u0632\u064a\u0641 \u0627\u0644\u0644\u062b\u0629 \u2014 \u064a\u062d\u062f\u062b \u0639\u0646\u062f \u0627\u0644\u062a\u0641\u0631\u064a\u0634 \u0623\u0648 \u0627\u0644\u062e\u064a\u0637\",\r\n      \"Bad Breath \u2013 I want to check the cause of bad breath\": \"\u0631\u0627\u0626\u062d\u0629 \u0641\u0645 \u2014 \u0623\u0631\u064a\u062f \u0645\u0639\u0631\u0641\u0629 \u0627\u0644\u0633\u0628\u0628\",\r\n\r\n      \/\/ ----- Not sure \/ Need help deciding -----\r\n      \"- Select - (Unsure)\": \"\u0627\u062e\u062a\u064e\u0631\",\r\n      \"I need help figuring out the best treatment for me\": \"\u0623\u062d\u062a\u0627\u062c \u0645\u0633\u0627\u0639\u062f\u0629 \u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0639\u0644\u0627\u062c \u0627\u0644\u0623\u0646\u0633\u0628 \u0644\u064a\",\r\n      \"I have multiple dental concerns and don\u2019t know where to start\": \"\u0644\u062f\u064a \u0639\u062f\u0629 \u0645\u0634\u0627\u0643\u0644 \u0641\u064a \u0627\u0644\u0623\u0633\u0646\u0627\u0646 \u0648\u0644\u0627 \u0623\u0639\u0631\u0641 \u0645\u0646 \u0623\u064a\u0646 \u0623\u0628\u062f\u0623\",\r\n      \"I've never had dental work and I feel nervous\": \"\u0644\u0645 \u0623\u062e\u0636\u0639 \u0644\u0639\u0644\u0627\u062c \u0623\u0633\u0646\u0627\u0646 \u0645\u0646 \u0642\u0628\u0644 \u0648\u0623\u0634\u0639\u0631 \u0628\u0627\u0644\u062a\u0648\u062a\u0631\",\r\n      \"I\u2019ve never had dental work and I feel nervous\": \"\u0644\u0645 \u0623\u062e\u0636\u0639 \u0644\u0639\u0644\u0627\u062c \u0623\u0633\u0646\u0627\u0646 \u0645\u0646 \u0642\u0628\u0644 \u0648\u0623\u0634\u0639\u0631 \u0628\u0627\u0644\u062a\u0648\u062a\u0631\",\r\n      \"I want to compare treatment options before I decide\": \"\u0623\u0631\u064a\u062f \u0645\u0642\u0627\u0631\u0646\u0629 \u0627\u0644\u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0644\u0627\u062c\u064a\u0629 \u0642\u0628\u0644 \u0627\u062a\u062e\u0627\u0630 \u0627\u0644\u0642\u0631\u0627\u0631\",\r\n      \"I just want to talk to someone I trust before I book\": \"\u0623\u0631\u064a\u062f \u0627\u0644\u062a\u062d\u062f\u062b \u0645\u0639 \u0634\u062e\u0635 \u0645\u0648\u062b\u0648\u0642 \u0642\u0628\u0644 \u0627\u0644\u062d\u062c\u0632\",\r\n      \"Something else \u2013 I\u2019ll explain below\": \"\u0634\u064a\u0621 \u0622\u062e\u0631 \u2014 \u0633\u0623\u0648\u0636\u0651\u062d \u0630\u0644\u0643 \u0623\u062f\u0646\u0627\u0647\",\r\n\r\n      \/\/ ----- Something else (free text) -----\r\n      \"- Select - (Other)\": \"\u0627\u062e\u062a\u064e\u0631\",\r\n      \"I'll type the details below\": \"\u0633\u0623\u0643\u062a\u0628 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644 \u0623\u062f\u0646\u0627\u0647\"\r\n    };\r\n\r\n    const relabelSelect = (sel, map) => {\r\n      if (!sel) return;\r\n      for (const opt of sel.options) {\r\n        const en = (opt.textContent || '').trim();\r\n        if (map[en]) opt.textContent = map[en];\r\n      }\r\n    };\r\n\r\n    const reasonSel = document.getElementById('reason_for_visit');\r\n    const subSel   = document.getElementById('sub_reason');\r\n\r\n    \/\/ Relabel immediately\r\n    relabelSelect(reasonSel, REASON_AR);\r\n\r\n    \/\/ Relabel sub reasons after each population\r\n    document.addEventListener('change', (e) => {\r\n      if (e.target && e.target.id === 'reason_for_visit') {\r\n        setTimeout(() => relabelSelect(subSel, REASON_AR), 0);\r\n      }\r\n    });\r\n\r\n    \/\/ Safety pass (prefilled\/auto-populated cases)\r\n    setTimeout(() => relabelSelect(subSel, REASON_AR), 0);\r\n  };\r\n\r\n  \/\/ Wire both applyRules() and relabel() at the right times\r\ndocument.addEventListener('DOMContentLoaded', () => { applyRules(); relabel(); });\r\nsetTimeout(() => { applyRules(); relabel(); }, 120);\r\nwindow.addEventListener('pageshow', () => { setTimeout(() => { applyRules(); relabel(); }, 0); });\r\n\r\n})();\r\n\/\/ LQ:LOCALE_JS END\r\n<\/script>\r\n<!-- LQ:JS END -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e0072e elementor-widget elementor-widget-shortcode\" data-id=\"1e0072e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <footer class=\"lq-signature\" dir=\"auto\" aria-label=\"Page maintenance\">\r\n      <p><strong>Maintained by:<\/strong> LumiQuest Dental Circle<\/p>\r\n    <\/footer>\r\n    <style>\r\n      .lq-signature {\r\n        margin-top: 28px;\r\n        padding-top: 14px;\r\n        border-top: 1px solid #e5e7eb;\r\n        font-size: 14px;\r\n        color: #4B5563;\r\n        text-align: center;\r\n      }\r\n    <\/style>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Dental Cleaning Cost in Dubai \u2014 What Influences Pricing &#038; Value Dental cleaning costs in Dubai are not fixed \u2014 and they shouldn\u2019t be. Pricing depends on gum health, depth of cleaning, clinical time and preventive intent, not just \u201cscaling and polishing\u201d as a line item. For a structured explanation of how dental pricing works [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":10936,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-10967","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages\/10967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/comments?post=10967"}],"version-history":[{"count":19,"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages\/10967\/revisions"}],"predecessor-version":[{"id":12571,"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages\/10967\/revisions\/12571"}],"up":[{"embeddable":true,"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages\/10936"}],"wp:attachment":[{"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/media?parent=10967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}