{"id":5685,"date":"2025-09-12T13:43:55","date_gmt":"2025-09-12T10:43:55","guid":{"rendered":"https:\/\/lumiquestdental.com\/?page_id=5685"},"modified":"2026-02-17T22:46:40","modified_gmt":"2026-02-17T20:46:40","slug":"reviews","status":"publish","type":"page","link":"https:\/\/lumiquestdental.com\/ar\/dubai\/orthodontics\/invisalign\/reviews\/","title":{"rendered":"\u0645\u0631\u0627\u062c\u0639\u0627\u062a Invisalign \u0641\u064a \u062f\u0628\u064a \u2014 \u062a\u062c\u0627\u0631\u0628 \u0648\u0631\u0624\u0649 \u062d\u0642\u064a\u0642\u064a\u0629 \u0645\u0646 \u0627\u0644\u0645\u0631\u0636\u0649"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5685\" class=\"elementor elementor-5685\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35745d6 e-flex e-con-boxed e-con e-parent\" data-id=\"35745d6\" 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-90ddcde elementor-widget elementor-widget-html\" data-id=\"90ddcde\" 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: Introduction \u2013 Invisalign Reviews in Dubai -->\r\n<section id=\"inv-reviews-intro\" class=\"lq lq-hero\" dir=\"auto\" aria-labelledby=\"inv-reviews-title\">\r\n  <div class=\"lq-section-inner\">\r\n    <header class=\"lq-header\">\r\n      <h1 id=\"inv-reviews-title\">\r\n        Invisalign Reviews in Dubai \u2014 What Patients Really Say\r\n      <\/h1>\r\n      <p class=\"lq-lead\">\r\n        We\u2019ve analyzed dozens of Invisalign patient reviews across Dubai to uncover the most common\r\n        <strong>praises, concerns, and recurring themes<\/strong>. \r\n        This page goes beyond individual stories \u2014 it distills the collective experience so you can make an informed decision about \r\n        <a href=\"\/dubai\/orthodontics\/invisalign\/\" class=\"lq-link\">Invisalign in Dubai<\/a>.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <div class=\"lq-highlights\">\r\n      <article class=\"highlight\">\r\n        <img decoding=\"async\" src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/09\/pillow-icon.png\" alt=\"Pillow icon symbolizing comfort and daily wear insights from Invisalign reviews in Dubai\" loading=\"lazy\" title=\"| LumiQuest Dental Circle\">\r\n        <h2>\r\n          <a href=\"#inv-reviews-comfort\" class=\"lq-link\">Comfort & Lifestyle<\/a>\r\n        <\/h2>\r\n        <p>How smooth, visible, and easy Invisalign is to live with day-to-day.<\/p>\r\n      <\/article>\r\n\r\n      <article class=\"highlight\">\r\n        <img decoding=\"async\" src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/09\/checkmark-icon.png\" alt=\"Checkmark icon symbolizing treatment results and refinements from Invisalign patients in Dubai\" loading=\"lazy\" title=\"| LumiQuest Dental Circle\">\r\n        <h2>\r\n          <a href=\"#inv-reviews-results\" class=\"lq-link\">Treatment Results<\/a>\r\n        <\/h2>\r\n        <p>What patients celebrate about outcomes \u2014 and where refinements are often needed.<\/p>\r\n      <\/article>\r\n\r\n      <article class=\"highlight\">\r\n        <img decoding=\"async\" src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/09\/tooth-icon.png\" alt=\"Tooth and cross icon symbolizing clinic experience feedback from Invisalign reviews in Dubai\" loading=\"lazy\" title=\"| LumiQuest Dental Circle\">\r\n        <h2>\r\n          <a href=\"#inv-reviews-clinic\" class=\"lq-link\">Clinic Experience<\/a>\r\n        <\/h2>\r\n        <p>The role clinics play in shaping patient satisfaction, from scans to support.<\/p>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <div class=\"lq-note\">\r\n      <p>\r\n        <strong>No ads. No sponsored clinics.<\/strong> Just an unbiased, aggregated view of Invisalign patient experiences in Dubai.\r\n      <\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #inv-reviews-intro {\r\n    background: var(--lq-bg, #fff);\r\n    padding: 48px 16px;\r\n    text-align: start;\r\n  }\r\n\r\n  #inv-reviews-intro .lq-header {\r\n    max-width: 800px;\r\n    margin: 0 auto 40px;\r\n    text-align: start;\r\n  }\r\n\r\n  #inv-reviews-intro h1 {\r\n    font-size: clamp(26px, 3.5vw, 40px);\r\n    font-weight: 700;\r\n    margin-bottom: 18px;\r\n  }\r\n\r\n  #inv-reviews-intro .lq-lead {\r\n    font-size: 18px;\r\n    line-height: 1.7;\r\n    color: #444;\r\n  }\r\n\r\n  #inv-reviews-intro .lq-highlights {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); \/* \u2705 was 240px *\/\r\n    gap: 20px; \/* \u2705 smaller gap for mobile *\/\r\n    margin: 40px auto;\r\n    max-width: 1000px;\r\n    width: 100%; \/* \u2705 prevents overflow *\/\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  #inv-reviews-intro .highlight {\r\n    background: #fafafa;\r\n    border-radius: 16px;\r\n    padding: 24px;\r\n    text-align: center;\r\n    box-shadow: 0 2px 6px rgba(0,0,0,0.05);\r\n    transition: transform 0.2s ease;\r\n  }\r\n\r\n  #inv-reviews-intro .highlight:hover {\r\n    transform: translateY(-4px);\r\n  }\r\n\r\n  #inv-reviews-intro .highlight img {\r\n    width: 48px;\r\n    height: 48px;\r\n    margin: 0 auto 16px;\r\n    display: block;\r\n  }\r\n\r\n  #inv-reviews-intro h2 {\r\n    font-size: 20px;\r\n    margin-bottom: 10px;\r\n    color: #333;\r\n  }\r\n\r\n  #inv-reviews-intro p {\r\n    font-size: 15px;\r\n    line-height: 1.6;\r\n    color: #555;\r\n  }\r\n\r\n  #inv-reviews-intro .lq-note {\r\n    max-width: 720px;\r\n    margin: 20px auto 0;\r\n    font-size: 15px;\r\n    color: #333;\r\n    text-align: center;\r\n  }\r\n\r\n  \/* Orange reserved for links only *\/\r\n  .lq-link {\r\n    color: var(--lq-brand, #ff7a00);\r\n    text-decoration: none;\r\n    font-weight: 600;\r\n  }\r\n\r\n  .lq-link:hover {\r\n    text-decoration: underline;\r\n  }\r\n\r\n  \/* \u2705 Mobile fix for very narrow screens *\/\r\n  @media (max-width: 420px) {\r\n    #inv-reviews-intro .lq-highlights {\r\n      grid-template-columns: 1fr;\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-0a3f3d4 elementor-widget elementor-widget-global elementor-global-4669 elementor-widget-html\" data-id=\"0a3f3d4\" 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-285d80b elementor-widget elementor-widget-html\" data-id=\"285d80b\" 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: Comfort & Lifestyle with Invisalign in Dubai -->\r\n<section id=\"inv-reviews-comfort\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"comfort-title\">\r\n  <div class=\"lq-section-inner\">\r\n    <header>\r\n      <h2 id=\"comfort-title\">Comfort & Lifestyle with Invisalign<\/h2>\r\n      <p class=\"intro\">\r\n        One of the most common questions patients ask is: \r\n        <strong>\u201cWill Invisalign feel comfortable in daily life?\u201d<\/strong> \r\n        Reviews from Dubai highlight both the smooth advantages and the challenges of adapting.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <div class=\"lq-review-grid\">\r\n      <!-- Positives -->\r\n      <article class=\"review-block positive\">\r\n        <h3>\ud83c\udf1f What Patients Appreciate<\/h3>\r\n        <ul>\r\n          <li>Trays are smooth and rarely irritate the cheeks or lips.<\/li>\r\n          <li>Nearly invisible in photos and conversations \u2014 confidence boost at work and events.<\/li>\r\n          <li>Removable for eating, brushing, or important occasions.<\/li>\r\n        <\/ul>\r\n      <\/article>\r\n\r\n      <!-- Negatives -->\r\n      <article class=\"review-block negative\">\r\n        <h3>\u26a0\ufe0f Common Challenges<\/h3>\r\n        <ul>\r\n          <li>Initial pressure and mild discomfort when switching to new aligners.<\/li>\r\n          <li>Slight lisp or speech changes during the first week for some patients.<\/li>\r\n          <li>Discipline required to wear trays 20\u201322 hours per day.<\/li>\r\n        <\/ul>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <!-- Interpretation -->\r\n    <div class=\"lq-interpretation\">\r\n      <p>\r\n        <strong>What this means for patients:<\/strong> \r\n        Most people adapt quickly, and comfort is reported as significantly better than traditional braces \u2014\r\n        as shown in our \r\n        <a href=\"\/dubai\/orthodontics\/invisalign-vs-braces\/\" class=\"lq-link\">Invisalign vs Braces comparison<\/a>. \r\n        Success depends on consistency \u2014 those who wear aligners as directed report smoother treatment journeys.\r\n      <\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #inv-reviews-comfort {\r\n    background: #fff;\r\n    padding: 56px 16px;\r\n  }\r\n\r\n  \/* Centered premium header *\/\r\n  #inv-reviews-comfort header {\r\n    text-align: center;\r\n  }\r\n\r\n  #inv-reviews-comfort h2 {\r\n    text-align: center;\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  #inv-reviews-comfort .intro {\r\n    max-width: 760px;\r\n    font-size: 17px;\r\n    color: #444;\r\n    line-height: 1.7;\r\n    margin: 0 auto 36px;\r\n  }\r\n\r\n  #inv-reviews-comfort .lq-review-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\r\n    gap: 32px;\r\n    margin-bottom: 32px;\r\n  }\r\n\r\n  #inv-reviews-comfort .review-block {\r\n    padding: 24px;\r\n    border-radius: 16px;\r\n    box-shadow: 0 2px 6px rgba(0,0,0,0.05);\r\n    background: #fafafa;\r\n  }\r\n\r\n  #inv-reviews-comfort .review-block h3 {\r\n    font-size: 18px;\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  #inv-reviews-comfort .positive {\r\n    border-inline-start: 5px solid #2e7d32; \/* green *\/\r\n  }\r\n\r\n  #inv-reviews-comfort .negative {\r\n    border-inline-start: 5px solid #c62828; \/* red *\/\r\n  }\r\n\r\n  #inv-reviews-comfort ul {\r\n    padding-left: 20px;\r\n    margin: 0;\r\n    color: #555;\r\n    font-size: 15px;\r\n    line-height: 1.6;\r\n  }\r\n\r\n  #inv-reviews-comfort .lq-interpretation {\r\n    max-width: 760px;\r\n    margin: 0 auto;\r\n    font-size: 16px;\r\n    line-height: 1.7;\r\n    color: #333;\r\n    background: #fff7f0;\r\n    border-radius: 12px;\r\n    padding: 20px 24px;\r\n    border: 1px solid #ffe0c2;\r\n  }\r\n\r\n  .lq-link {\r\n    color: var(--lq-brand, #ff7a00);\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .lq-link:hover {\r\n    text-decoration: underline;\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-a317f86 elementor-widget elementor-widget-html\" data-id=\"a317f86\" 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: Treatment Results & Refinements -->\r\n<section id=\"inv-reviews-results\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"results-title\">\r\n  <div class=\"lq-section-inner\">\r\n    <div class=\"lq-split\">\r\n      <!-- Left Content -->\r\n      <div class=\"lq-content\">\r\n        <header>\r\n          <h2 id=\"results-title\">Treatment Results & Refinements<\/h2>\r\n          <p class=\"intro\">\r\n            Patient reviews from Dubai often focus on the <strong>end results<\/strong> \u2014 straighter teeth, improved smiles, and overall satisfaction.\r\n            But they also highlight where expectations don\u2019t always align with reality, especially when refinements are required.\r\n          <\/p>\r\n        <\/header>\r\n\r\n        <div class=\"lq-review-grid\">\r\n          <!-- Positives -->\r\n          <article class=\"review-block positive\">\r\n            <h3>\ud83c\udf1f What Patients Celebrate<\/h3>\r\n            <ul>\r\n              <li>Noticeable improvements in alignment and smile within months.<\/li>\r\n              <li>Predictable results when treatment is followed consistently.<\/li>\r\n              <li>Digital scans and progress tracking keep motivation high.<\/li>\r\n            <\/ul>\r\n          <\/article>\r\n\r\n          <!-- Negatives -->\r\n          <article class=\"review-block negative\">\r\n            <h3>\u26a0\ufe0f Common Frustrations<\/h3>\r\n            <ul>\r\n              <li>Refinements (extra sets of trays) are frequently needed to finish treatment.<\/li>\r\n              <li>Some patients expected \u201cperfect\u201d results in the first round and were surprised by extra time.<\/li>\r\n              <li>Attachments (tiny tooth-colored buttons) can be more visible than expected.<\/li>\r\n            <\/ul>\r\n          <\/article>\r\n        <\/div>\r\n\r\n        <!-- Interpretation -->\r\n        <div class=\"lq-interpretation\">\r\n          <p>\r\n            <strong>What this means for patients:<\/strong> \r\n            Invisalign reliably delivers straighter teeth, but refinements are the norm \u2014 not a failure. \r\n            Patients who plan ahead for possible extra trays (and a few extra months) report higher satisfaction with their final results.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Right Image -->\r\n      <div class=\"lq-image\">\r\n        <img decoding=\"async\" src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/09\/invisalign-refinements.png\" alt=\"Illustration of Invisalign digital scan showing treatment progress and refinements in Dubai\" loading=\"lazy\" title=\"| LumiQuest Dental Circle\">\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #inv-reviews-results {\r\n    background: #fdfdfd;\r\n    padding: 56px 16px;\r\n  }\r\n\r\n  #inv-reviews-results .lq-split {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 40px;\r\n    max-width: 1100px;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  \/* Left column *\/\r\n  #inv-reviews-results .lq-content {\r\n    flex: 1;\r\n  }\r\n\r\n  #inv-reviews-results .intro {\r\n    max-width: 760px;\r\n    font-size: 17px;\r\n    color: #444;\r\n    line-height: 1.7;\r\n    margin: 0 0 36px;\r\n  }\r\n\r\n  #inv-reviews-results .lq-review-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\r\n    gap: 32px;\r\n    margin-bottom: 32px;\r\n  }\r\n\r\n  #inv-reviews-results .review-block {\r\n    padding: 24px;\r\n    border-radius: 16px;\r\n    box-shadow: 0 2px 6px rgba(0,0,0,0.05);\r\n    background: #fafafa;\r\n  }\r\n\r\n  #inv-reviews-results .review-block h3 {\r\n    font-size: 18px;\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  #inv-reviews-results .positive {\r\n    border-inline-start: 5px solid #2e7d32; \/* green *\/\r\n  }\r\n\r\n  #inv-reviews-results .negative {\r\n    border-inline-start: 5px solid #c62828; \/* red *\/\r\n  }\r\n\r\n  #inv-reviews-results ul {\r\n    padding-left: 20px;\r\n    margin: 0;\r\n    color: #555;\r\n    font-size: 15px;\r\n    line-height: 1.6;\r\n  }\r\n\r\n  #inv-reviews-results .lq-interpretation {\r\n    font-size: 16px;\r\n    line-height: 1.7;\r\n    color: #333;\r\n    background: #f0f9ff;\r\n    border-radius: 12px;\r\n    padding: 20px 24px;\r\n    border: 1px solid #cce7ff;\r\n  }\r\n\r\n  \/* Right column *\/\r\n  #inv-reviews-results .lq-image {\r\n    flex: 0 0 320px;\r\n  }\r\n\r\n  #inv-reviews-results .lq-image img {\r\n    width: 100%;\r\n    height: auto;\r\n    border-radius: 16px;\r\n    box-shadow: 0 2px 6px rgba(0,0,0,0.08);\r\n  }\r\n\r\n  \/* Mobile stacking: text first, image second *\/\r\n  @media (max-width: 768px) {\r\n    #inv-reviews-results .lq-split {\r\n      flex-direction: column;\r\n    }\r\n\r\n    #inv-reviews-results .lq-image {\r\n      order: 2;\r\n      max-width: 100%;\r\n    }\r\n  }\r\n\r\n  .lq-link {\r\n    color: var(--lq-brand, #ff7a00);\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .lq-link:hover {\r\n    text-decoration: underline;\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-4069acb elementor-widget elementor-widget-html\" data-id=\"4069acb\" 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: Clinic Experience with Invisalign in Dubai -->\r\n<section id=\"inv-reviews-clinic\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"clinic-title\">\r\n  <div class=\"lq-section-inner\">\r\n    <header>\r\n      <h2 id=\"clinic-title\">Clinic Experience<\/h2>\r\n      <p class=\"intro\">\r\n        Invisalign results don\u2019t just depend on the trays \u2014 the <strong>clinic\u2019s role<\/strong> is critical. \r\n        Dubai patient reviews often highlight how communication, technology, and follow-up care shape satisfaction.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <div class=\"lq-review-grid\">\r\n      <!-- Positives -->\r\n      <article class=\"review-block positive\">\r\n        <h3>\ud83c\udf1f What Patients Value<\/h3>\r\n        <ul>\r\n          <li>Clinics using advanced scanners (like iTero) for precise, comfortable impressions.<\/li>\r\n          <li>Clear communication about treatment stages and expectations.<\/li>\r\n          <li>Friendly staff and responsive follow-up support during refinements or emergencies.<\/li>\r\n        <\/ul>\r\n      <\/article>\r\n\r\n      <!-- Negatives -->\r\n      <article class=\"review-block negative\">\r\n        <h3>\u26a0\ufe0f Reported Concerns<\/h3>\r\n        <ul>\r\n          <li>Some patients felt rushed during consultations or unclear about timelines.<\/li>\r\n          <li>Delays in receiving refinements or replacement trays frustrated a few reviewers.<\/li>\r\n          <li>Clinic-to-clinic differences in cost transparency caused confusion.<\/li>\r\n        <\/ul>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <!-- Interpretation -->\r\n    <div class=\"lq-interpretation\">\r\n      <p>\r\n        <strong>What this means for patients:<\/strong> \r\n        The clinic you choose directly impacts your Invisalign experience. \r\n        Reviews show that patients with supportive, transparent clinics report smoother treatment and higher satisfaction \u2014 \r\n        while rushed or unclear guidance often leads to frustration. \r\n        For guidance on choosing the right provider, see our \r\n        <a href=\"\/dubai\/orthodontics\/best\/\" class=\"lq-link\">Best Orthodontists in Dubai guide<\/a>.\r\n      <\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #inv-reviews-clinic {\r\n    background: #fff;\r\n    padding: 56px 16px;\r\n  }\r\n\r\n  \/* Centered premium header *\/\r\n  #inv-reviews-clinic header {\r\n    text-align: center;\r\n  }\r\n\r\n  #inv-reviews-clinic h2 {\r\n    text-align: center;\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  #inv-reviews-clinic .intro {\r\n    max-width: 760px;\r\n    font-size: 17px;\r\n    color: #444;\r\n    line-height: 1.7;\r\n    margin: 0 auto 36px;\r\n  }\r\n\r\n  #inv-reviews-clinic .lq-review-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\r\n    gap: 32px;\r\n    margin-bottom: 32px;\r\n  }\r\n\r\n  #inv-reviews-clinic .review-block {\r\n    padding: 24px;\r\n    border-radius: 16px;\r\n    box-shadow: 0 2px 6px rgba(0,0,0,0.05);\r\n    background: #fafafa;\r\n  }\r\n\r\n  #inv-reviews-clinic .review-block h3 {\r\n    font-size: 18px;\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  #inv-reviews-clinic .positive {\r\n    border-inline-start: 5px solid #2e7d32; \/* green *\/\r\n  }\r\n\r\n  #inv-reviews-clinic .negative {\r\n    border-inline-start: 5px solid #c62828; \/* red *\/\r\n  }\r\n\r\n  #inv-reviews-clinic ul {\r\n    padding-left: 20px;\r\n    margin: 0;\r\n    color: #555;\r\n    font-size: 15px;\r\n    line-height: 1.6;\r\n  }\r\n\r\n  #inv-reviews-clinic .lq-interpretation {\r\n    max-width: 760px;\r\n    margin: 0 auto;\r\n    font-size: 16px;\r\n    line-height: 1.7;\r\n    color: #333;\r\n    background: #fff7f0;\r\n    border-radius: 12px;\r\n    padding: 20px 24px;\r\n    border: 1px solid #ffe0c2;\r\n  }\r\n\r\n  .lq-link {\r\n    color: var(--lq-brand, #ff7a00);\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .lq-link:hover {\r\n    text-decoration: underline;\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-b3e9253 e-flex e-con-boxed e-con e-parent\" data-id=\"b3e9253\" 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-26222fc elementor-widget elementor-widget-html\" data-id=\"26222fc\" 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: Common Challenges & Negatives -->\r\n<section id=\"inv-reviews-challenges\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"challenges-title\">\r\n  <div class=\"lq-section-inner\">\r\n    <div class=\"lq-split\">\r\n      <!-- Left Image -->\r\n      <div class=\"lq-image\">\r\n        <img decoding=\"async\" src=\"https:\/\/lumiquestdental.com\/wp-content\/uploads\/2025\/09\/invisalign-model.png\" alt=\"Invisalign treatment challenges \u2014 dental model showing visible tooth attachments with open aligner case, highlighting that refinements and extra steps are often needed for straighter teeth in Dubai.\" loading=\"lazy\" title=\"| LumiQuest Dental Circle\">\r\n      <\/div>\r\n\r\n      <!-- Right Content -->\r\n      <div class=\"lq-content\">\r\n        <header>\r\n          <h2 id=\"challenges-title\">Common Challenges Reported by Patients<\/h2>\r\n          <p class=\"intro\">\r\n            While most Dubai Invisalign patients report positive outcomes, reviews consistently mention a few \r\n            <strong>challenges and frustrations<\/strong>. \r\n            Understanding these helps set realistic expectations before starting treatment.\r\n          <\/p>\r\n        <\/header>\r\n\r\n        <div class=\"lq-review-grid\">\r\n          <article class=\"review-block negative\">\r\n            <h3>\u26a0\ufe0f Recurring Issues in Reviews<\/h3>\r\n            <ul>\r\n              <li><strong>Refinements:<\/strong> Extra sets of trays often extend treatment time beyond the initial estimate.<\/li>\r\n              <li><strong>Discipline:<\/strong> Some patients struggled to wear aligners the required 20\u201322 hours per day.<\/li>\r\n              <li><strong>Discomfort:<\/strong> Mild soreness or pressure when switching trays, especially early on.<\/li>\r\n              <li><strong>Attachments:<\/strong> Small tooth-colored buttons can be more visible than expected.<\/li>\r\n              <li><strong>Costs:<\/strong> A few reviews noted confusion around package pricing or extra charges for refinements.<\/li>\r\n            <\/ul>\r\n          <\/article>\r\n        <\/div>\r\n\r\n        <!-- Interpretation -->\r\n        <div class=\"lq-interpretation\">\r\n          <p>\r\n            <strong>What this means for patients:<\/strong> \r\n            None of these challenges are deal-breakers, but they are real. \r\n            Patients who plan ahead \u2014 with discipline, realistic timelines, and clear \r\n            <a href=\"\/dubai\/orthodontics\/invisalign\/cost\/\" class=\"lq-link\">Invisalign cost expectations<\/a> \u2014 \r\n            report feeling far more satisfied with their Invisalign journey in Dubai.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  #inv-reviews-challenges {\r\n    background: #fdfdfd;\r\n    padding: 56px 16px;\r\n  }\r\n\r\n  #inv-reviews-challenges .lq-split {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 40px;\r\n    max-width: 1100px;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  \/* Left image *\/\r\n  #inv-reviews-challenges .lq-image {\r\n    flex: 0 0 320px;\r\n  }\r\n\r\n  #inv-reviews-challenges .lq-image img {\r\n    width: 100%;\r\n    height: auto;\r\n    border-radius: 16px;\r\n    box-shadow: 0 2px 6px rgba(0,0,0,0.08);\r\n  }\r\n\r\n  \/* Right content *\/\r\n  #inv-reviews-challenges .lq-content {\r\n    flex: 1;\r\n  }\r\n\r\n  #inv-reviews-challenges .intro {\r\n    max-width: 760px;\r\n    font-size: 17px;\r\n    color: #444;\r\n    line-height: 1.7;\r\n    margin: 0 0 36px;\r\n  }\r\n\r\n  #inv-reviews-challenges .lq-review-grid {\r\n    margin-bottom: 32px;\r\n  }\r\n\r\n  #inv-reviews-challenges .review-block {\r\n    padding: 28px;\r\n    border-radius: 16px;\r\n    box-shadow: 0 2px 6px rgba(0,0,0,0.05);\r\n    background: #fafafa;\r\n    border-inline-start: 5px solid #c62828; \/* red *\/\r\n  }\r\n\r\n  #inv-reviews-challenges .review-block h3 {\r\n    font-size: 18px;\r\n    margin-bottom: 12px;\r\n    color: #c62828;\r\n  }\r\n\r\n  #inv-reviews-challenges ul {\r\n    padding-left: 20px;\r\n    margin: 0;\r\n    color: #555;\r\n    font-size: 15px;\r\n    line-height: 1.6;\r\n  }\r\n\r\n  #inv-reviews-challenges .lq-interpretation {\r\n    font-size: 16px;\r\n    line-height: 1.7;\r\n    color: #333;\r\n    background: #fff7f0;\r\n    border-radius: 12px;\r\n    padding: 20px 24px;\r\n    border: 1px solid #ffe0c2;\r\n  }\r\n\r\n  .lq-link {\r\n    color: var(--lq-brand, #ff7a00);\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .lq-link:hover {\r\n    text-decoration: underline;\r\n  }\r\n\r\n  \/* Mobile stacking: text first, image second *\/\r\n  @media (max-width: 768px) {\r\n    #inv-reviews-challenges .lq-split {\r\n      flex-direction: column;\r\n    }\r\n\r\n    #inv-reviews-challenges .lq-image {\r\n      order: 2;\r\n      max-width: 100%;\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-74e63ad elementor-widget elementor-widget-html\" data-id=\"74e63ad\" 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: FAQs \u2013 Invisalign Reviews in Dubai -->\r\n<section id=\"by-nationality-faqs\" class=\"lq lq-section\" dir=\"auto\" aria-labelledby=\"by-nationality-faqs-title\">\r\n  <div class=\"lq-section-inner\">\r\n\r\n    <!-- Header -->\r\n    <header class=\"lq-centered\">\r\n      <h2 id=\"by-nationality-faqs-title\">Invisalign Reviews in Dubai \u2014 Frequently Asked Questions<\/h2>\r\n      <p class=\"intro\">\r\n        We\u2019ve distilled the most common patient questions from Dubai reviews and added clear, unbiased answers to help you decide with confidence.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- FAQ Timeline \/ Accordion -->\r\n    <div class=\"faq-timeline\">\r\n      <!-- FAQ 1 -->\r\n      <article class=\"faq-card\">\r\n        <span class=\"faq-dot\"><\/span>\r\n        <div class=\"faq-content\">\r\n          <h3 class=\"faq-question\">Is Invisalign worth it in Dubai?<\/h3>\r\n          <div class=\"faq-answer\">\r\n            <p>Most patients say yes \u2014 especially for comfort and aesthetics compared to braces. The main caution is to expect refinements, which can extend treatment time. Patients who planned for extra trays and chose supportive clinics reported the highest satisfaction. For a direct decision-making resource, see our <a href=\"\/dubai\/orthodontics\/invisalign-vs-braces\/\" class=\"lq-link\" target=\"_self\">full comparison of Invisalign and braces in Dubai<\/a>.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- FAQ 2 -->\r\n      <article class=\"faq-card\">\r\n        <span class=\"faq-dot\"><\/span>\r\n        <div class=\"faq-content\">\r\n          <h3 class=\"faq-question\">How reliable are patient reviews?<\/h3>\r\n          <div class=\"faq-answer\">\r\n            <p>Reviews are highly useful for spotting patterns rather than individual stories. Across Dubai, patients consistently mention comfort, visibility, and refinements. Single reviews may be emotional, but recurring themes provide trustworthy guidance.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- FAQ 3 -->\r\n      <article class=\"faq-card\">\r\n        <span class=\"faq-dot\"><\/span>\r\n        <div class=\"faq-content\">\r\n          <h3 class=\"faq-question\">Why do refinements happen so often?<\/h3>\r\n          <div class=\"faq-answer\">\r\n            <p>Refinements are not a failure \u2014 they\u2019re a normal step. Teeth sometimes move slower than predicted, or fine-tuning is needed for bite perfection. Clinics usually include refinements in the treatment plan, though cost policies vary.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  \/* Section background and padding *\/\r\n  #by-nationality-faqs {\r\n    background: linear-gradient(180deg, #fff 0%, #fafafa 100%);\r\n    padding: 80px 20px;\r\n  }\r\n\r\n  #by-nationality-faqs header {\r\n    text-align: center;\r\n  }\r\n\r\n  #by-nationality-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  #by-nationality-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: #ff7a00;\r\n    border-radius: 6px;\r\n  }\r\n\r\n  #by-nationality-faqs .intro {\r\n    max-width: 700px;\r\n    margin: 0 auto 60px;\r\n    font-size: 17px;\r\n    line-height: 1.7;\r\n    color: #444;\r\n    text-align: center;\r\n  }\r\n\r\n  \/* FAQ Timeline *\/\r\n  .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  .faq-card {\r\n    position: relative;\r\n    margin-bottom: 36px;\r\n    padding-inline-start: 25px;\r\n  }\r\n\r\n  .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: #ff7a00;\r\n    border-radius: 50%;\r\n    box-shadow: 0 0 6px rgba(255, 95, 162, 0.4);\r\n  }\r\n\r\n  .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  .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  .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  .faq-question::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    bottom: 0;\r\n    left: 0;\r\n    width: 0;\r\n    height: 3px;\r\n    background: #ff7a00;\r\n    border-radius: 2px;\r\n    transition: width 0.3s ease;\r\n  }\r\n  .faq-question:hover::after { width: 100%; }\r\n\r\n  .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  .faq-answer.open {\r\n    max-height: 680px; \/* allow longer answers *\/\r\n    opacity: 1;\r\n    margin-top: 10px;\r\n  }\r\n\r\n  .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  @media (max-width: 768px) {\r\n    #by-nationality-faqs {\r\n      padding: 60px 8px;  \/* \u2705 exactly 8px each side on mobile *\/\r\n    }\r\n    .faq-timeline { padding-inline-start: 20px; }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  document.addEventListener(\"DOMContentLoaded\", () => {\r\n    const questions = document.querySelectorAll(\"#by-nationality-faqs .faq-question\");\r\n    questions.forEach(q => {\r\n      q.addEventListener(\"click\", () => {\r\n        const answer = q.nextElementSibling;\r\n        answer.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<div class=\"elementor-element elementor-element-87fcd16 elementor-widget elementor-widget-global elementor-global-5718 elementor-widget-html\" data-id=\"87fcd16\" 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 (Premium, 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    \/* \ud83d\udd39 Mobile gutter override: 8px each side *\/\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    \/* Decorative accent *\/\r\n    #lq-closing-trust .accent{\r\n      width:46px; height:5px; border-radius:999px;\r\n      margin:0 auto 18px;\r\n      background:linear-gradient(90deg, var(--lq-brand), #ffb37a);\r\n      box-shadow:0 4px 14px rgba(255,122,0,.25);\r\n    }\r\n\r\n    \/* Arabic alignment respect *\/\r\n    html[dir=\"rtl\"] #lq-closing-trust .trust-inner{\r\n      text-align:center; \/* keep symmetry *\/\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 a Trusted Orthodontist in Dubai<\/h2>\r\n<p>\r\n  Your orthodontic journey should start with trust.\r\n  <span class=\"ltr\">LumiQuest<\/span> guides you to a suitable orthodontist based on your case,\r\n  priorities, and preferences \u2014 without ads, rankings, or public listings.\r\n<\/p>\r\n\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-7e90978 elementor-widget elementor-widget-global elementor-global-4669 elementor-widget-html\" data-id=\"7e90978\" 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-fb89bf0 elementor-widget elementor-widget-global elementor-global-5722 elementor-widget-html\" data-id=\"fb89bf0\" 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<div class=\"elementor-element elementor-element-e90cfcf elementor-widget elementor-widget-global elementor-global-5704 elementor-widget-html\" data-id=\"e90cfcf\" 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 (Premium Trust Section) -->\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    \/* \ud83d\udd39 Mobile gutter fix: tighter card padding *\/\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    #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    #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 a <strong>private dental guidance service<\/strong> that helps you\r\n        find an orthodontist in Dubai with clarity and care.\r\n      <\/p>\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=\"Orthodontic guidance without ads or sponsored listings\" title=\"| LumiQuest Dental Circle\">\r\n        <h3>Your Needs, Not Ads<\/h3>\r\n        <p>No public listings. No sponsored spots. Just tailored guidance for your case.<\/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=\"Carefully considered orthodontic clinics in Dubai\" title=\"| LumiQuest Dental Circle\">\r\n        <h3>Carefully Considered Clinics<\/h3>\r\n        <p>We look beyond marketing and make sense of real-world signals before guiding you.<\/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=\"Ethical orthodontists in Dubai within LumiQuest\u2019s circle of trust\" title=\"| LumiQuest Dental Circle\">\r\n        <h3>A Circle of Trust<\/h3>\r\n        <p>Ethical, patient-first orthodontists \u2014 so you can move forward without pressure or surprises.<\/p>\r\n      <\/article>\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-78637c3 elementor-widget elementor-widget-global elementor-global-4673 elementor-widget-html\" data-id=\"78637c3\" 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-22de52d elementor-widget elementor-widget-shortcode\" data-id=\"22de52d\" 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>Invisalign Reviews in Dubai \u2014 What Patients Really Say We\u2019ve analyzed dozens of Invisalign patient reviews across Dubai to uncover the most common praises, concerns, and recurring themes. This page goes beyond individual stories \u2014 it distills the collective experience so you can make an informed decision about Invisalign in Dubai. Comfort &#038; Lifestyle How [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3544,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5685","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages\/5685","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=5685"}],"version-history":[{"count":95,"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages\/5685\/revisions"}],"predecessor-version":[{"id":12228,"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages\/5685\/revisions\/12228"}],"up":[{"embeddable":true,"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/pages\/3544"}],"wp:attachment":[{"href":"https:\/\/lumiquestdental.com\/ar\/wp-json\/wp\/v2\/media?parent=5685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}