{"id":10259,"date":"2026-05-26T16:19:37","date_gmt":"2026-05-26T16:19:37","guid":{"rendered":"https:\/\/dreamsvoyage.com\/?page_id=10259"},"modified":"2026-05-26T20:37:21","modified_gmt":"2026-05-26T20:37:21","slug":"reviews","status":"publish","type":"page","link":"https:\/\/dreamsvoyage.com\/ru\/reviews\/","title":{"rendered":"reviews"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10259\" class=\"elementor elementor-10259\">\n\t\t\t\t<div class=\"elementor-element elementor-element-edbac9a e-con-full e-flex e-con e-parent\" data-id=\"edbac9a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-636d3f8 elementor-widget elementor-widget-html\" data-id=\"636d3f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, viewport-fit=cover\">\r\n  <title>\u00c9LAN Voyages | Client Reviews \u2014 Photos, Videos & Testimonials<\/title>\r\n  <!-- Google Fonts -->\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:opsz,wght@14..32,300;400;500;600;700&family=Cormorant+Garamond:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n  <!-- Font Awesome 6 -->\r\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0-beta3\/css\/all.min.css\">\r\n  <style>\r\n    * {\r\n      margin: 0;\r\n      padding: 0;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body {\r\n      background: #FCF9F4;\r\n      font-family: 'Inter', sans-serif;\r\n      color: #1C2E36;\r\n     \r\n    }\r\n\r\n    :root {\r\n      --gold: #C7A03A;\r\n      --gold-light: #E5C77E;\r\n      --deep-teal: #0F2C33;\r\n      --shadow-sm: 0 15px 35px -12px rgba(0,0,0,0.08);\r\n      --shadow-lg: 0 30px 50px -20px rgba(0,0,0,0.12);\r\n    }\r\n\r\n    .container {\r\n      max-width: 1280px;\r\n      margin: 0 auto;\r\n    }\r\n\r\n    \/* header *\/\r\n    .reviews-header {\r\n      text-align: center;\r\n      margin-bottom: 50px;\r\n      animation: fadeUp 0.6s ease-out;\r\n    }\r\n    .badge {\r\n      background: rgba(199,160,58,0.12);\r\n      backdrop-filter: blur(4px);\r\n      display: inline-block;\r\n      padding: 6px 18px;\r\n      border-radius: 60px;\r\n      font-size: 0.75rem;\r\n      letter-spacing: 2px;\r\n      font-weight: 600;\r\n      text-transform: uppercase;\r\n      color: var(--gold);\r\n      border: 1px solid rgba(199,160,58,0.3);\r\n      margin-bottom: 20px;\r\n    }\r\n    h1 {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: 3.8rem;\r\n      font-weight: 600;\r\n      background: linear-gradient(135deg, #1C2E36, #2C5A5E, var(--gold));\r\n      background-clip: text;\r\n      -webkit-background-clip: text;\r\n      color: transparent;\r\n      margin-bottom: 16px;\r\n    }\r\n    .subhead {\r\n      font-size: 1.1rem;\r\n      color: #5D767F;\r\n      max-width: 650px;\r\n      margin: 0 auto;\r\n    }\r\n    .divider {\r\n      width: 70px;\r\n      height: 3px;\r\n      background: linear-gradient(90deg, var(--gold), var(--gold-light));\r\n      margin: 20px auto 0;\r\n      border-radius: 4px;\r\n    }\r\n\r\n    \/* stats row *\/\r\n    .stats-row {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      background: white;\r\n      border-radius: 32px;\r\n      padding: 24px 32px;\r\n      margin-bottom: 50px;\r\n      box-shadow: var(--shadow-sm);\r\n      border: 1px solid rgba(199,160,58,0.15);\r\n      animation: fadeUp 0.6s ease-out 0.1s both;\r\n    }\r\n    .avg-rating {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 20px;\r\n      flex-wrap: wrap;\r\n    }\r\n    .avg-score {\r\n      font-size: 3rem;\r\n      font-weight: 800;\r\n      color: var(--deep-teal);\r\n      line-height: 1;\r\n    }\r\n    .stars-big {\r\n      color: var(--gold);\r\n      font-size: 1.4rem;\r\n      letter-spacing: 4px;\r\n    }\r\n    .review-count {\r\n      color: #6C828A;\r\n      font-weight: 500;\r\n    }\r\n    .cta-small {\r\n      background: #F6F2EA;\r\n      padding: 8px 20px;\r\n      border-radius: 40px;\r\n      font-size: 0.85rem;\r\n      font-weight: 500;\r\n      color: var(--deep-teal);\r\n    }\r\n\r\n    \/* photo gallery section - new *\/\r\n    .photo-section {\r\n      margin-bottom: 60px;\r\n    }\r\n    .section-title {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: 2rem;\r\n      font-weight: 600;\r\n      color: var(--deep-teal);\r\n      margin-bottom: 30px;\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 12px;\r\n      border-left: 4px solid var(--gold);\r\n      padding-left: 20px;\r\n    }\r\n    .photo-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\r\n      gap: 28px;\r\n    }\r\n    .photo-card {\r\n      background: white;\r\n      border-radius: 28px;\r\n      overflow: hidden;\r\n      box-shadow: var(--shadow-sm);\r\n      transition: all 0.3s ease;\r\n      border: 1px solid rgba(199,160,58,0.1);\r\n      cursor: pointer;\r\n    }\r\n    .photo-card:hover {\r\n      transform: translateY(-6px);\r\n      box-shadow: var(--shadow-lg);\r\n      border-color: rgba(199,160,58,0.3);\r\n    }\r\n    .photo-wrapper {\r\n      aspect-ratio: 1 \/ 1;\r\n      overflow: hidden;\r\n      background: #F0EDE5;\r\n    }\r\n    .photo-wrapper img {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n      transition: transform 0.4s ease;\r\n    }\r\n    .photo-card:hover .photo-wrapper img {\r\n      transform: scale(1.05);\r\n    }\r\n    .photo-caption {\r\n      padding: 14px 16px;\r\n      background: white;\r\n      text-align: center;\r\n    }\r\n    .photo-caption p {\r\n      font-size: 0.8rem;\r\n      color: #6C828A;\r\n      font-weight: 500;\r\n    }\r\n    \/* Lightbox modal for images *\/\r\n    .lightbox {\r\n      display: none;\r\n      position: fixed;\r\n      top: 0;\r\n      left: 0;\r\n      width: 100%;\r\n      height: 100%;\r\n      background: rgba(0,0,0,0.9);\r\n      z-index: 3000;\r\n      justify-content: center;\r\n      align-items: center;\r\n      cursor: pointer;\r\n    }\r\n    .lightbox img {\r\n      max-width: 90%;\r\n      max-height: 90%;\r\n      object-fit: contain;\r\n      border-radius: 16px;\r\n      box-shadow: 0 0 30px rgba(0,0,0,0.5);\r\n    }\r\n    .lightbox .close-lightbox {\r\n      position: absolute;\r\n      top: 25px;\r\n      right: 35px;\r\n      color: white;\r\n      font-size: 2.5rem;\r\n      cursor: pointer;\r\n      transition: 0.2s;\r\n    }\r\n    .lightbox .close-lightbox:hover {\r\n      color: var(--gold);\r\n    }\r\n\r\n    \/* video testimonials section *\/\r\n    .video-section {\r\n      margin-bottom: 60px;\r\n    }\r\n    .video-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\r\n      gap: 28px;\r\n    }\r\n    .video-card {\r\n      background: white;\r\n      border-radius: 32px;\r\n      overflow: hidden;\r\n      box-shadow: var(--shadow-sm);\r\n      transition: all 0.3s ease;\r\n      border: 1px solid rgba(199,160,58,0.1);\r\n    }\r\n    .video-card:hover {\r\n      transform: translateY(-6px);\r\n      box-shadow: var(--shadow-lg);\r\n      border-color: rgba(199,160,58,0.3);\r\n    }\r\n    .video-wrapper {\r\n      position: relative;\r\n      background: #000;\r\n      aspect-ratio: 16 \/ 9;\r\n    }\r\n    .video-wrapper video {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n    }\r\n    .testimonial-caption {\r\n      padding: 16px 20px 20px;\r\n      background: white;\r\n    }\r\n    .testimonial-caption h4 {\r\n      font-weight: 700;\r\n      font-size: 1rem;\r\n      color: var(--deep-teal);\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n    }\r\n    .testimonial-caption h4 i {\r\n      color: var(--gold);\r\n    }\r\n    .testimonial-caption p {\r\n      font-size: 0.8rem;\r\n      color: #6C828A;\r\n      margin-top: 6px;\r\n    }\r\n\r\n    \/* two columns for written reviews + form *\/\r\n    .reviews-layout {\r\n      display: grid;\r\n      grid-template-columns: 1fr 0.9fr;\r\n      gap: 40px;\r\n      margin-bottom: 20px;\r\n    }\r\n    @media (max-width: 950px) {\r\n      .reviews-layout {\r\n        grid-template-columns: 1fr;\r\n        gap: 50px;\r\n      }\r\n      h1 { font-size: 2.6rem; }\r\n      body { padding: 30px 20px; }\r\n      .photo-grid, .video-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n\r\n    \/* reviews list *\/\r\n    .reviews-list {\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: 28px;\r\n    }\r\n    .review-card {\r\n      background: white;\r\n      border-radius: 32px;\r\n      padding: 28px;\r\n      box-shadow: var(--shadow-sm);\r\n      transition: all 0.3s ease;\r\n      border: 1px solid rgba(0,0,0,0.02);\r\n    }\r\n    .review-card:hover {\r\n      transform: translateY(-4px);\r\n      box-shadow: var(--shadow-lg);\r\n      border-color: rgba(199,160,58,0.2);\r\n    }\r\n    .reviewer-info {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 16px;\r\n      margin-bottom: 16px;\r\n    }\r\n    .avatar {\r\n      width: 52px;\r\n      height: 52px;\r\n      background: linear-gradient(145deg, #E8E2D5, #FCF9F4);\r\n      border-radius: 50%;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      font-size: 1.6rem;\r\n      color: var(--gold);\r\n      border: 1px solid rgba(199,160,58,0.3);\r\n    }\r\n    .reviewer-details h4 {\r\n      font-weight: 700;\r\n      font-size: 1.2rem;\r\n      color: #1C2E36;\r\n    }\r\n    .review-date {\r\n      font-size: 0.7rem;\r\n      color: #8DA3AB;\r\n    }\r\n    .stars {\r\n      color: var(--gold);\r\n      font-size: 0.9rem;\r\n      letter-spacing: 2px;\r\n      margin: 8px 0 12px;\r\n    }\r\n    .review-text {\r\n      color: #2C4A55;\r\n      line-height: 1.5;\r\n      font-size: 0.95rem;\r\n    }\r\n\r\n    \/* form styling *\/\r\n    .form-container {\r\n      background: rgba(255,255,255,0.92);\r\n      backdrop-filter: blur(6px);\r\n      border-radius: 44px;\r\n      padding: 32px 28px;\r\n      box-shadow: var(--shadow-lg);\r\n      border: 1px solid rgba(199,160,58,0.2);\r\n      position: sticky;\r\n      top: 20px;\r\n    }\r\n    .form-container h3 {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: 1.8rem;\r\n      font-weight: 600;\r\n      color: var(--deep-teal);\r\n      margin-bottom: 8px;\r\n    }\r\n    .form-container p {\r\n      color: #6F8A92;\r\n      margin-bottom: 24px;\r\n      font-size: 0.9rem;\r\n    }\r\n    .input-group {\r\n      margin-bottom: 22px;\r\n    }\r\n    .input-group input, .input-group textarea {\r\n      width: 100%;\r\n      padding: 14px 18px;\r\n      font-family: 'Inter', sans-serif;\r\n      background: #FDFBF8;\r\n      border: 1px solid #E2DDD2;\r\n      border-radius: 28px;\r\n      font-size: 0.95rem;\r\n      transition: 0.2s;\r\n      outline: none;\r\n    }\r\n    .input-group input:focus, .input-group textarea:focus {\r\n      border-color: var(--gold);\r\n      box-shadow: 0 0 0 3px rgba(199,160,58,0.2);\r\n      background: white;\r\n    }\r\n    .input-group textarea {\r\n      min-height: 100px;\r\n      resize: vertical;\r\n    }\r\n    .star-rating-widget {\r\n      display: flex;\r\n      gap: 12px;\r\n      align-items: center;\r\n      margin-bottom: 22px;\r\n      flex-wrap: wrap;\r\n    }\r\n    .star-rating-widget label {\r\n      font-weight: 500;\r\n      color: #2C5A5E;\r\n    }\r\n    .stars-input {\r\n      display: flex;\r\n      gap: 8px;\r\n      direction: rtl;\r\n      font-size: 1.8rem;\r\n    }\r\n    .stars-input i {\r\n      cursor: pointer;\r\n      color: #ddd;\r\n      transition: 0.1s;\r\n      font-size: 1.8rem;\r\n    }\r\n    .stars-input i:hover,\r\n    .stars-input i.active {\r\n      color: var(--gold);\r\n    }\r\n    .btn-submit {\r\n      background: var(--deep-teal);\r\n      border: none;\r\n      padding: 14px 24px;\r\n      font-size: 1rem;\r\n      font-weight: 700;\r\n      color: white;\r\n      border-radius: 40px;\r\n      cursor: pointer;\r\n      width: 100%;\r\n      transition: all 0.3s;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 12px;\r\n    }\r\n    .btn-submit:hover {\r\n      background: var(--gold);\r\n      transform: scale(1.01);\r\n      box-shadow: 0 8px 20px rgba(199,160,58,0.3);\r\n    }\r\n    .empty-message {\r\n      text-align: center;\r\n      padding: 40px;\r\n      background: #F7F4ED;\r\n      border-radius: 32px;\r\n      color: #6C828A;\r\n    }\r\n    .toast-msg {\r\n      position: fixed;\r\n      bottom: 30px;\r\n      left: 50%;\r\n      transform: translateX(-50%) translateY(100px);\r\n      background: #1C2E36;\r\n      color: #F9F1DF;\r\n      padding: 12px 24px;\r\n      border-radius: 50px;\r\n      font-weight: 500;\r\n      z-index: 2000;\r\n      box-shadow: 0 10px 25px rgba(0,0,0,0.2);\r\n      transition: transform 0.25s ease;\r\n      font-size: 0.9rem;\r\n      border-left: 4px solid var(--gold);\r\n    }\r\n    .toast-msg.show {\r\n      transform: translateX(-50%) translateY(0);\r\n    }\r\n    @keyframes fadeUp {\r\n      from { opacity: 0; transform: translateY(20px);}\r\n      to { opacity: 1; transform: translateY(0);}\r\n    }\r\n    \/* no footer *\/\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"container\">\r\n  <div class=\"reviews-header\">\r\n    <div class=\"badge\"><i class=\"fas fa-comment-dots\"><\/i> TRAVELER VOICES<\/div>\r\n    <h1>Best Tourism Services in Egypt<br><span style=\"font-size:0.6em;\">photos, videos & written reviews<\/span><\/h1>\r\n    <div class=\"subhead\">Real experiences from guests who explored Egypt with us \u2014 watch their stories, see their memories, and share your own.<\/div>\r\n    <div class=\"divider\"><\/div>\r\n  <\/div>\r\n\r\n  <!-- stats row -->\r\n  <div class=\"stats-row\" id=\"statsRow\">\r\n    <div class=\"avg-rating\">\r\n      <div class=\"avg-score\" id=\"avgScore\">4.8<\/div>\r\n      <div>\r\n        <div class=\"stars-big\" id=\"avgStars\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n        <div class=\"review-count\" id=\"reviewCount\">0 reviews<\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"cta-small\"><i class=\"fas fa-pen-fancy\"><\/i> Share your experience with Egypt's best tourism services<\/div>\r\n  <\/div>\r\n\r\n\r\n\r\n  <!-- Video Testimonials Section -->\r\n  <div class=\"video-section\">\r\n    <div class=\"section-title\">\r\n      <i class=\"fas fa-video\" style=\"color: var(--gold);\"><\/i> \r\n      Video Testimonials from Our Guests\r\n    <\/div>\r\n    <div class=\"video-grid\" id=\"videoGrid\">\r\n      <!-- videos injected -->\r\n    <\/div>\r\n  <\/div>\r\n    <!-- NEW: Photo Gallery Section -->\r\n  <div class=\"photo-section\">\r\n    <div class=\"section-title\">\r\n      <i class=\"fas fa-camera-retro\" style=\"color: var(--gold);\"><\/i> \r\n      Guest Memories \u2013 Photo Gallery\r\n    <\/div>\r\n    <div class=\"photo-grid\" id=\"photoGrid\">\r\n      <!-- images will be injected by JS -->\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- written reviews + form -->\r\n  <div class=\"reviews-layout\">\r\n    <div class=\"reviews-list\" id=\"reviewsList\">\r\n      <!-- populated by JavaScript -->\r\n    <\/div>\r\n\r\n    <div class=\"form-container\">\r\n      <h3><i class=\"fas fa-star\" style=\"color: var(--gold);\"><\/i> Write your real review<\/h3>\r\n      <p>Help fellow travelers by sharing your honest experience with our tourism services in Egypt.<\/p>\r\n      <form id=\"reviewForm\">\r\n        <div class=\"input-group\">\r\n          <input type=\"text\" id=\"reviewerName\" placeholder=\"Full name *\" required>\r\n        <\/div>\r\n        <div class=\"star-rating-widget\">\r\n          <label>Your rating:<\/label>\r\n          <div class=\"stars-input\" id=\"starWidget\">\r\n            <i class=\"fa-regular fa-star\" data-value=\"5\"><\/i>\r\n            <i class=\"fa-regular fa-star\" data-value=\"4\"><\/i>\r\n            <i class=\"fa-regular fa-star\" data-value=\"3\"><\/i>\r\n            <i class=\"fa-regular fa-star\" data-value=\"2\"><\/i>\r\n            <i class=\"fa-regular fa-star\" data-value=\"1\"><\/i>\r\n          <\/div>\r\n          <input type=\"hidden\" id=\"ratingValue\" value=\"5\">\r\n        <\/div>\r\n        <div class=\"input-group\">\r\n          <textarea id=\"reviewComment\" placeholder=\"Write your review in detail... *\" required><\/textarea>\r\n        <\/div>\r\n        <button type=\"submit\" class=\"btn-submit\"><i class=\"fas fa-paper-plane\"><\/i> Publish review<\/button>\r\n      <\/form>\r\n      <p style=\"font-size:0.7rem; margin-top: 20px; text-align:center;\">* Your review appears immediately. Real experiences only.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n  <!-- no footer -->\r\n<\/div>\r\n\r\n<!-- Lightbox Modal -->\r\n<div id=\"lightbox\" class=\"lightbox\" onclick=\"closeLightbox()\">\r\n  <span class=\"close-lightbox\" onclick=\"closeLightbox()\">&times;<\/span>\r\n  <img decoding=\"async\" id=\"lightboxImg\" src=\"\" alt=\"Enlarged guest photo\">\r\n<\/div>\r\n\r\n<script>\r\n  \/\/ ---------- PHOTO GALLERY ----------\r\n  const photoUrls = [\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-05-26-at-9.43.22-PM-1.jpeg\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-05-26-at-9.43.22-PM-2-scaled.jpeg\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-05-26-at-9.43.22-PM-3-scaled.jpeg\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-05-26-at-9.43.22-PM-4.jpeg\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-05-26-at-9.43.22-PM-5.jpeg\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-05-26-at-9.43.22-PM-6-1.jpeg\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-05-26-at-9.43.22-PM.jpeg\"\r\n  ];\r\n\r\n  function renderPhotoGallery() {\r\n    const container = document.getElementById(\"photoGrid\");\r\n    if (!container) return;\r\n    let html = '';\r\n    photoUrls.forEach((url, idx) => {\r\n      html += `\r\n        <div class=\"photo-card\" onclick=\"openLightbox('${url}')\">\r\n          <div class=\"photo-wrapper\">\r\n            <img decoding=\"async\" src=\"${url}\" alt=\"Guest travel memory ${idx+1}\" loading=\"lazy\">\r\n          <\/div>\r\n          <div class=\"photo-caption\">\r\n            <p><i class=\"fas fa-camera\" style=\"color: var(--gold);\"><\/i> Guest memory #${idx+1}<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      `;\r\n    });\r\n    container.innerHTML = html;\r\n  }\r\n\r\n  \/\/ Lightbox functions\r\n  function openLightbox(imgUrl) {\r\n    const lightbox = document.getElementById(\"lightbox\");\r\n    const lightboxImg = document.getElementById(\"lightboxImg\");\r\n    lightbox.style.display = \"flex\";\r\n    lightboxImg.src = imgUrl;\r\n  }\r\n  function closeLightbox() {\r\n    document.getElementById(\"lightbox\").style.display = \"none\";\r\n  }\r\n\r\n  \/\/ ---------- VIDEO TESTIMONIALS ----------\r\n   const videoUrls = [\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.25.22-PM.mp4\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.22-PM.mp4\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.21-PM-3.mp4\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.21-PM-2.mp4\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.21-PM-1.mp4\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.21-PM.mp4\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.20-PM.mp4\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.21-PM-4.mp4\",\r\n     \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.20-PM-1.mp4\",\r\n    \"https:\/\/dreamsvoyage.com\/wp-content\/uploads\/2026\/05\/WhatsApp-Video-2026-05-26-at-9.43.21-PM-6.mp4\"\r\n  ];\r\n\r\n  function renderVideoTestimonials() {\r\n    const videoGrid = document.getElementById(\"videoGrid\");\r\n    if (!videoGrid) return;\r\n    let videosHtml = '';\r\n    videoUrls.forEach((url, index) => {\r\n      videosHtml += `\r\n        <div class=\"video-card\">\r\n          <div class=\"video-wrapper\">\r\n            <video controls preload=\"metadata\" playsinline>\r\n              <source src=\"${url}\" type=\"video\/mp4\">\r\n              Your browser does not support the video tag.\r\n            <\/video>\r\n          <\/div>\r\n          <div class=\"testimonial-caption\">\r\n            <h4><i class=\"fas fa-user-check\"><\/i> Guest Testimonial ${index+1}<\/h4>\r\n            <p>Real client experience \u2022 ${new Date().toLocaleDateString('en-US', { year: 'numeric', month: 'short' })}<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      `;\r\n    });\r\n    videoGrid.innerHTML = videosHtml;\r\n  }\r\n\r\n  \/\/ ---------- WRITTEN REVIEWS STORAGE (localStorage) ----------\r\n  let reviews = [];\r\n\r\n  function loadSampleReviews() {\r\n    return [\r\n      { id: Date.now() + 201, name: \"Ahmed Mansour\", rating: 5, comment: \"Absolutely flawless experience! Booked a 7-day Nile cruise and Cairo tour. The guides were knowledgeable, hotels were luxurious, and everything was perfectly organized. Best tourism service in Egypt by far.\", date: \"2025-05-20\" },\r\n      { id: Date.now() + 202, name: \"Jessica Taylor\", rating: 5, comment: \"I've traveled to over 20 countries, but this team made Egypt unforgettable. From the moment we landed in Sharm El Sheikh to the private Pyramids tour, every detail was impeccable. Highly recommend!\", date: \"2025-05-12\" },\r\n      { id: Date.now() + 203, name: \"Omar El-Sayed\", rating: 4, comment: \"Great value and excellent support. The Red Sea diving excursion was world-class. Slight delay in pickup one day, but they compensated with a free dinner cruise. Still one of the best tourism agencies in Egypt.\", date: \"2025-04-30\" },\r\n      { id: Date.now() + 204, name: \"Emma & Liam Clark\", rating: 5, comment: \"Family trip to Luxor and Aswan. The private guide made history come alive. Clean vehicles, great restaurants, and 24\/7 assistance. We felt safe and pampered. Thanks for the best holiday ever!\", date: \"2025-04-18\" },\r\n      { id: Date.now() + 205, name: \"Youssef Kamel\", rating: 5, comment: \"I run a travel blog and have worked with many DMCs. This company sets the standard for tourism in Egypt. Responsive, creative itineraries, and genuine care for guests. 10\/10.\", date: \"2025-04-05\" }\r\n    ];\r\n  }\r\n\r\n  function initReviews() {\r\n    const stored = localStorage.getItem(\"elan_reviews_egypt_en\");\r\n    if (stored) {\r\n      reviews = JSON.parse(stored);\r\n      if (!reviews.length) reviews = loadSampleReviews();\r\n    } else {\r\n      reviews = loadSampleReviews();\r\n    }\r\n    reviews.sort((a,b) => new Date(b.date) - new Date(a.date));\r\n    renderReviews();\r\n    updateStats();\r\n  }\r\n\r\n  function saveReviews() {\r\n    localStorage.setItem(\"elan_reviews_egypt_en\", JSON.stringify(reviews));\r\n  }\r\n\r\n  function formatDate(dateStr) {\r\n    const d = new Date(dateStr);\r\n    return d.toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });\r\n  }\r\n\r\n  function escapeHtml(str) {\r\n    if (!str) return '';\r\n    return str.replace(\/[&<>]\/g, function(m) {\r\n      if (m === '&') return '&amp;';\r\n      if (m === '<') return '&lt;';\r\n      if (m === '>') return '&gt;';\r\n      return m;\r\n    });\r\n  }\r\n\r\n  function renderReviews() {\r\n    const container = document.getElementById(\"reviewsList\");\r\n    if (!container) return;\r\n    if (reviews.length === 0) {\r\n      container.innerHTML = `<div class=\"empty-message\"><i class=\"fas fa-comment-slash\"><\/i> No reviews yet. Be the first to share your experience with Egypt's best tourism services!<\/div>`;\r\n      return;\r\n    }\r\n    let html = '';\r\n    reviews.forEach(rev => {\r\n      const fullStars = '\u2605'.repeat(rev.rating);\r\n      const emptyStars = '\u2606'.repeat(5 - rev.rating);\r\n      const starDisplay = `<span style=\"color: var(--gold);\">${fullStars}<\/span><span style=\"color: #ddd;\">${emptyStars}<\/span>`;\r\n      html += `\r\n        <div class=\"review-card\">\r\n          <div class=\"reviewer-info\">\r\n            <div class=\"avatar\"><i class=\"fas fa-user-friends\"><\/i><\/div>\r\n            <div class=\"reviewer-details\">\r\n              <h4>${escapeHtml(rev.name)}<\/h4>\r\n              <div class=\"review-date\">${formatDate(rev.date)}<\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"stars\">${starDisplay}<\/div>\r\n          <div class=\"review-text\">\u201c${escapeHtml(rev.comment)}\u201d<\/div>\r\n        <\/div>\r\n      `;\r\n    });\r\n    container.innerHTML = html;\r\n  }\r\n\r\n  function updateStats() {\r\n    const count = reviews.length;\r\n    const totalStars = reviews.reduce((acc, r) => acc + r.rating, 0);\r\n    const avg = count === 0 ? 0 : (totalStars \/ count).toFixed(1);\r\n    document.getElementById(\"avgScore\").innerText = avg;\r\n    document.getElementById(\"reviewCount\").innerHTML = `${count} review${count !== 1 ? 's' : ''}`;\r\n    const fullStarsCount = Math.round(avg);\r\n    let starsHtml = '';\r\n    for (let i=0; i<5; i++) {\r\n      starsHtml += i < fullStarsCount ? '\u2605' : '\u2606';\r\n    }\r\n    document.getElementById(\"avgStars\").innerHTML = `<span style=\"color: var(--gold); letter-spacing: 2px;\">${starsHtml}<\/span>`;\r\n  }\r\n\r\n  \/\/ Star rating widget\r\n  function setupStarWidget() {\r\n    const stars = document.querySelectorAll('#starWidget i');\r\n    const ratingInput = document.getElementById('ratingValue');\r\n    let currentRating = 5;\r\n    ratingInput.value = 5;\r\n\r\n    function updateStars(rating) {\r\n      stars.forEach((star) => {\r\n        const starValue = parseInt(star.getAttribute('data-value'));\r\n        if (starValue <= rating) {\r\n          star.className = 'fa-solid fa-star';\r\n          star.style.color = '#C7A03A';\r\n        } else {\r\n          star.className = 'fa-regular fa-star';\r\n          star.style.color = '#ddd';\r\n        }\r\n      });\r\n    }\r\n\r\n    stars.forEach(star => {\r\n      star.addEventListener('mouseenter', function() {\r\n        const val = parseInt(this.getAttribute('data-value'));\r\n        stars.forEach(s => {\r\n          const sVal = parseInt(s.getAttribute('data-value'));\r\n          if (sVal <= val) {\r\n            s.className = 'fa-solid fa-star';\r\n            s.style.color = '#E5C77E';\r\n          } else {\r\n            s.className = 'fa-regular fa-star';\r\n            s.style.color = '#ddd';\r\n          }\r\n        });\r\n      });\r\n      star.addEventListener('mouseleave', function() {\r\n        updateStars(currentRating);\r\n      });\r\n      star.addEventListener('click', function() {\r\n        currentRating = parseInt(this.getAttribute('data-value'));\r\n        ratingInput.value = currentRating;\r\n        updateStars(currentRating);\r\n      });\r\n    });\r\n    updateStars(5);\r\n  }\r\n\r\n  function showToast(message, isError = false) {\r\n    let existing = document.querySelector('.toast-msg');\r\n    if (existing) existing.remove();\r\n    const toast = document.createElement('div');\r\n    toast.className = 'toast-msg';\r\n    toast.innerHTML = `<i class=\"fas ${isError ? 'fa-exclamation-triangle' : 'fa-check-circle'}\" style=\"margin-right: 10px;\"><\/i> ${message}`;\r\n    document.body.appendChild(toast);\r\n    setTimeout(() => toast.classList.add('show'), 10);\r\n    setTimeout(() => {\r\n      toast.classList.remove('show');\r\n      setTimeout(() => toast.remove(), 400);\r\n    }, 3500);\r\n  }\r\n\r\n  function addReview(name, rating, comment) {\r\n    const newReview = {\r\n      id: Date.now(),\r\n      name: name.trim(),\r\n      rating: parseInt(rating),\r\n      comment: comment.trim(),\r\n      date: new Date().toISOString().slice(0,10)\r\n    };\r\n    reviews.unshift(newReview);\r\n    saveReviews();\r\n    renderReviews();\r\n    updateStats();\r\n    showToast(`\u2705 Thank you ${name}! Your review has been added.`);\r\n  }\r\n\r\n  \/\/ Form handler\r\n  const form = document.getElementById('reviewForm');\r\n  form.addEventListener('submit', (e) => {\r\n    e.preventDefault();\r\n    const nameInput = document.getElementById('reviewerName');\r\n    const commentInput = document.getElementById('reviewComment');\r\n    const ratingVal = document.getElementById('ratingValue').value;\r\n    \r\n    let name = nameInput.value.trim();\r\n    let comment = commentInput.value.trim();\r\n    let rating = parseInt(ratingVal);\r\n    \r\n    if (!name) {\r\n      showToast(\"Please enter your full name\", true);\r\n      nameInput.focus();\r\n      return;\r\n    }\r\n    if (name.length < 3) {\r\n      showToast(\"Name must be at least 3 characters\", true);\r\n      return;\r\n    }\r\n    if (!comment) {\r\n      showToast(\"Please write your review about Egypt's tourism services\", true);\r\n      commentInput.focus();\r\n      return;\r\n    }\r\n    if (comment.length < 10) {\r\n      showToast(\"Review must be at least 10 characters\", true);\r\n      return;\r\n    }\r\n    if (isNaN(rating) || rating < 1 || rating > 5) {\r\n      showToast(\"Please select a star rating\", true);\r\n      return;\r\n    }\r\n    \r\n    addReview(name, rating, comment);\r\n    form.reset();\r\n    document.getElementById('ratingValue').value = 5;\r\n    const starsIcons = document.querySelectorAll('#starWidget i');\r\n    starsIcons.forEach((star) => {\r\n      const val = parseInt(star.getAttribute('data-value'));\r\n      if (val <= 5) {\r\n        star.className = 'fa-solid fa-star';\r\n        star.style.color = '#C7A03A';\r\n      }\r\n    });\r\n  });\r\n\r\n  \/\/ Initialize all sections\r\n  renderPhotoGallery();\r\n  renderVideoTestimonials();\r\n  initReviews();\r\n  setupStarWidget();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\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>\u00c9LAN Voyages | Client Reviews \u2014 Photos, Videos &#038; Testimonials TRAVELER VOICES Best Tourism Services in Egyptphotos, videos &#038; written reviews Real experiences from guests who explored Egypt with us \u2014 watch their stories, see their memories, and share your own. 4.8 \u2605\u2605\u2605\u2605\u2605 0 reviews Share your experience with Egypt&#8217;s best tourism services Video Testimonials [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-10259","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dreamsvoyage.com\/ru\/wp-json\/wp\/v2\/pages\/10259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dreamsvoyage.com\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dreamsvoyage.com\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dreamsvoyage.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dreamsvoyage.com\/ru\/wp-json\/wp\/v2\/comments?post=10259"}],"version-history":[{"count":31,"href":"https:\/\/dreamsvoyage.com\/ru\/wp-json\/wp\/v2\/pages\/10259\/revisions"}],"predecessor-version":[{"id":10444,"href":"https:\/\/dreamsvoyage.com\/ru\/wp-json\/wp\/v2\/pages\/10259\/revisions\/10444"}],"wp:attachment":[{"href":"https:\/\/dreamsvoyage.com\/ru\/wp-json\/wp\/v2\/media?parent=10259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}