{"id":141,"date":"2025-09-21T17:51:56","date_gmt":"2025-09-21T17:51:56","guid":{"rendered":"https:\/\/moroccotoptour.com\/?page_id=141"},"modified":"2026-03-26T15:50:22","modified_gmt":"2026-03-26T15:50:22","slug":"tour","status":"publish","type":"page","link":"https:\/\/moroccotoptour.com\/zh\/tour\/","title":{"rendered":"Top Tours"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"141\" class=\"elementor elementor-141\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0ee88e9 e-flex e-con-boxed e-con e-parent\" data-id=\"0ee88e9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-171f475 elementor-widget elementor-widget-heading\" data-id=\"171f475\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Descover Morocco with us <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e0fa97f elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"e0fa97f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Our week-long Morocco itinerary combines the cultural highlights of <strong data-start=\"1015\" data-end=\"1052\">Marrakech, Fes, Rabat, and Meknes<\/strong> with the adventure of the <strong data-start=\"1079\" data-end=\"1096\">Sahara desert<\/strong><\/p>\t\t\t\t\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-66cda5b e-con-full e-flex e-con e-parent\" data-id=\"66cda5b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6ff208a elementor-widget elementor-widget-html\" data-id=\"6ff208a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Morocco Top Tour \u2013 Tour Container (isolated, customized) -->\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\r\n\r\n<section class=\"mtt-tour\" aria-label=\"Featured Tours\">\r\n  <div class=\"mtt-tour__wrap\">\r\n    <!-- Header -->\r\n    <header class=\"mtt-tour__head\">\r\n      <div class=\"mtt-tour__titles\">\r\n        <p class=\"mtt-tour__eyebrow\">Handpicked Experiences<\/p>\r\n        <h2 class=\"mtt-tour__title\">Explore our <strong>best tours<\/strong><\/h2>\r\n        <p class=\"mtt-tour__sub\">Door-to-door pick-up \u2022 Licensed guides \u2022 Flexible schedules<\/p>\r\n      <\/div>\r\n    <\/header>\r\n\r\n    <!-- Grid -->\r\n    <div class=\"mtt-tour__grid\" id=\"mttTourGrid\">\r\n      <!-- CARD 1 - Original -->\r\n      <article class=\"mtt-tour__card\" data-cat=\"multi-day\" data-rating=\"4.9\">\r\n        <figure class=\"mtt-tour__media\">\r\n          <img decoding=\"async\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/Maroc-cette-destination-meconnue-fait-de-lombre-a-Marrakech.webp\" alt=\"9 Day Marrakech to Merzouga Desert Tour\" title=\"\">\r\n          <span class=\"mtt-tour__badge mtt-tour__badge--blue\"><i class=\"fa-regular fa-clock\"><\/i> 9 Days<\/span>\r\n          <span class=\"mtt-tour__ribbon\">Popular<\/span>\r\n        <\/figure>\r\n        <div class=\"mtt-tour__body\">\r\n          <h3 class=\"mtt-tour__name\">9 Day Marrakech to Merzouga Desert Tour<\/h3>\r\n          <p class=\"mtt-tour__loc\"><i class=\"fa-solid fa-location-dot\"><\/i> Marrakech to Merzouga Desert<\/p>\r\n          <ul class=\"mtt-tour__features\" role=\"list\">\r\n            <li><i class=\"fa-solid fa-van-shuttle\"><\/i>Transport Included<\/li>\r\n            <li><i class=\"fa-solid fa-hotel\"><\/i>Accommodation<\/li>\r\n          <\/ul>\r\n          <div class=\"mtt-tour__meta\">\r\n            <div class=\"mtt-tour__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.9<\/div>\r\n          <\/div>\r\n          <div class=\"mtt-tour__cta\">\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--wa\" href=\"https:\/\/wa.me\/212610395152?text=I&#039;m interested in 9 Day Marrakech to Merzouga Desert Tour\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp<\/a>\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--primary\" href=\"https:\/\/moroccotoptour.com\/9-day-marrakech-to-merzouga-desert-tour\/\"><i class=\"fa-solid fa-calendar-check\"><\/i> Book Now<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- CARD 2 - Original -->\r\n      <article class=\"mtt-tour__card\" data-cat=\"multi-day\" data-rating=\"4.8\">\r\n        <figure class=\"mtt-tour__media\">\r\n          <img decoding=\"async\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/La-medina-de-Fes-el-Bali-Maroc-1000x667-1.jpeg\" alt=\"8 Day Fes to Merzouga Desert Tour\" title=\"\">\r\n          <span class=\"mtt-tour__badge mtt-tour__badge--blue\"><i class=\"fa-regular fa-clock\"><\/i> 8 Days<\/span>\r\n          <span class=\"mtt-tour__ribbon\">Popular<\/span>\r\n        <\/figure>\r\n        <div class=\"mtt-tour__body\">\r\n          <h3 class=\"mtt-tour__name\">8 Day Fes to Merzouga Desert Tour<\/h3>\r\n          <p class=\"mtt-tour__loc\"><i class=\"fa-solid fa-location-dot\"><\/i> Fes to Merzouga Desert<\/p>\r\n          <ul class=\"mtt-tour__features\" role=\"list\">\r\n            <li><i class=\"fa-solid fa-van-shuttle\"><\/i>Transport Included<\/li>\r\n            <li><i class=\"fa-solid fa-hotel\"><\/i>Accommodation<\/li>\r\n          <\/ul>\r\n          <div class=\"mtt-tour__meta\">\r\n            <div class=\"mtt-tour__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.8<\/div>\r\n          <\/div>\r\n          <div class=\"mtt-tour__cta\">\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--wa\" href=\"https:\/\/wa.me\/212610395152?text=I&#039;m interested in 8 Day Fes to Merzouga Desert Tour\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp<\/a>\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--primary\" href=\"https:\/\/moroccotoptour.com\/8-day-fes-to-merzouga-desert-tour\/\"><i class=\"fa-solid fa-calendar-check\"><\/i> Book Now<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- CARD 3 - Original -->\r\n      <article class=\"mtt-tour__card\" data-cat=\"multi-day\" data-rating=\"4.7\">\r\n        <figure class=\"mtt-tour__media\">\r\n          <img decoding=\"async\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/gbe4ffnt1mr352jft9i6.jpg\" alt=\"7-Day Morocco Tour Casablanca\" title=\"\">\r\n          <span class=\"mtt-tour__badge mtt-tour__badge--blue\"><i class=\"fa-regular fa-clock\"><\/i> 7 Days<\/span>\r\n          <span class=\"mtt-tour__ribbon\">Popular<\/span>\r\n        <\/figure>\r\n        <div class=\"mtt-tour__body\">\r\n          <h3 class=\"mtt-tour__name\">7-Day Morocco Tour Casablanca<\/h3>\r\n          <p class=\"mtt-tour__loc\"><i class=\"fa-solid fa-location-dot\"><\/i> Casablanca & Beyond<\/p>\r\n          <ul class=\"mtt-tour__features\" role=\"list\">\r\n            <li><i class=\"fa-solid fa-van-shuttle\"><\/i>Transport Included<\/li>\r\n            <li><i class=\"fa-solid fa-hotel\"><\/i>Accommodation<\/li>\r\n          <\/ul>\r\n          <div class=\"mtt-tour__meta\">\r\n            <div class=\"mtt-tour__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.7<\/div>\r\n          <\/div>\r\n          <div class=\"mtt-tour__cta\">\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--wa\" href=\"https:\/\/wa.me\/212610395152?text=I&#039;m interested in 7-Day Morocco Tour Casablanca\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp<\/a>\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--primary\" href=\"https:\/\/moroccotoptour.com\/7-day-morocco-tour-casablanca\/\"><i class=\"fa-solid fa-calendar-check\"><\/i> Book Now<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- NEW CARD 1: 10 Day Morocco Tour Marrakech -->\r\n      <article class=\"mtt-tour__card\" data-cat=\"multi-day\" data-rating=\"4.9\">\r\n        <figure class=\"mtt-tour__media\">\r\n          <img decoding=\"async\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/gbe4ffnt1mr352jft9i6.jpg\" alt=\"10 Day Morocco Tour Marrakech\" title=\"\">\r\n          <span class=\"mtt-tour__badge mtt-tour__badge--blue\"><i class=\"fa-regular fa-clock\"><\/i> 10 Days<\/span>\r\n          <span class=\"mtt-tour__ribbon\">Popular<\/span>\r\n        <\/figure>\r\n        <div class=\"mtt-tour__body\">\r\n          <h3 class=\"mtt-tour__name\">10 Day Morocco Tour Marrakech<\/h3>\r\n          <p class=\"mtt-tour__loc\"><i class=\"fa-solid fa-location-dot\"><\/i> Marrakech to Fes<\/p>\r\n          <ul class=\"mtt-tour__features\" role=\"list\">\r\n            <li><i class=\"fa-solid fa-van-shuttle\"><\/i>Transport Included<\/li>\r\n            <li><i class=\"fa-solid fa-hotel\"><\/i>Accommodation<\/li>\r\n          <\/ul>\r\n          <div class=\"mtt-tour__meta\">\r\n            <div class=\"mtt-tour__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.9<\/div>\r\n          <\/div>\r\n          <div class=\"mtt-tour__cta\">\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--wa\" href=\"https:\/\/wa.me\/212610395152?text=I&#039;m interested in 10 Day Morocco Tour Marrakech\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp<\/a>\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--primary\" href=\"https:\/\/moroccotoptour.com\/10-day-marrakech-to-fes-morocco-tour\/\"><i class=\"fa-solid fa-calendar-check\"><\/i> Book Now<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- NEW CARD 2: 10-Day Morocco Desert Tour Casablanca -->\r\n      <article class=\"mtt-tour__card\" data-cat=\"desert\" data-rating=\"4.8\">\r\n        <figure class=\"mtt-tour__media\">\r\n          <img decoding=\"async\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/6d.jpg\" alt=\"10-Day Morocco Desert Tour Casablanca\" title=\"\">\r\n          <span class=\"mtt-tour__badge mtt-tour__badge--blue\"><i class=\"fa-regular fa-clock\"><\/i> 10 Days<\/span>\r\n        <\/figure>\r\n        <div class=\"mtt-tour__body\">\r\n          <h3 class=\"mtt-tour__name\">10-Day Morocco Desert Tour Casablanca<\/h3>\r\n          <p class=\"mtt-tour__loc\"><i class=\"fa-solid fa-location-dot\"><\/i> Casablanca to Desert<\/p>\r\n          <ul class=\"mtt-tour__features\" role=\"list\">\r\n            <li><i class=\"fa-solid fa-van-shuttle\"><\/i>Transport Included<\/li>\r\n            <li><i class=\"fa-solid fa-hotel\"><\/i>Accommodation<\/li>\r\n          <\/ul>\r\n          <div class=\"mtt-tour__meta\">\r\n            <div class=\"mtt-tour__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.8<\/div>\r\n          <\/div>\r\n          <div class=\"mtt-tour__cta\">\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--wa\" href=\"https:\/\/wa.me\/212610395152?text=I&#039;m interested in 10-Day Morocco Desert Tour Casablanca\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp<\/a>\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--primary\" href=\"https:\/\/moroccotoptour.com\/10-day-morocco-desert-tour-casablanca\/\"><i class=\"fa-solid fa-calendar-check\"><\/i> Book Now<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- NEW CARD 3: 4-Day Morocco Desert Tour Tangier -->\r\n      <article class=\"mtt-tour__card\" data-cat=\"desert\" data-rating=\"4.7\">\r\n        <figure class=\"mtt-tour__media\">\r\n          <img decoding=\"async\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/Explorez-le-Cap-Spartel-Tanger-Guide-Complet-pour-un-Sejour-Inoubliable-1140x760-1.webp\" alt=\"4-Day Morocco Desert Tour Tangier\" title=\"\">\r\n          <span class=\"mtt-tour__badge mtt-tour__badge--blue\"><i class=\"fa-regular fa-clock\"><\/i> 4 Days<\/span>\r\n        <\/figure>\r\n        <div class=\"mtt-tour__body\">\r\n          <h3 class=\"mtt-tour__name\">4-Day Morocco Desert Tour Tangier<\/h3>\r\n          <p class=\"mtt-tour__loc\"><i class=\"fa-solid fa-location-dot\"><\/i> Tangier to Desert<\/p>\r\n          <ul class=\"mtt-tour__features\" role=\"list\">\r\n            <li><i class=\"fa-solid fa-van-shuttle\"><\/i>Transport Included<\/li>\r\n            <li><i class=\"fa-solid fa-hotel\"><\/i>Accommodation<\/li>\r\n          <\/ul>\r\n          <div class=\"mtt-tour__meta\">\r\n            <div class=\"mtt-tour__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.7<\/div>\r\n          <\/div>\r\n          <div class=\"mtt-tour__cta\">\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--wa\" href=\"https:\/\/wa.me\/212610395152?text=I&#039;m interested in 4-Day Morocco Desert Tour Tangier\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp<\/a>\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--primary\" href=\"https:\/\/moroccotoptour.com\/4-day-morocco-desert-tour-tangier\/\"><i class=\"fa-solid fa-calendar-check\"><\/i> Book Now<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- NEW CARD 4: 5-Day Marrakech to Merzouga Desert Tour -->\r\n      <article class=\"mtt-tour__card\" data-cat=\"desert\" data-rating=\"4.9\">\r\n        <figure class=\"mtt-tour__media\">\r\n          <img decoding=\"async\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/WhatsApp-Image-2025-09-19-at-14.59.58_f0eb7704-1.jpg\" alt=\"5-Day Marrakech to Merzouga Desert Tour\" title=\"\">\r\n          <span class=\"mtt-tour__badge mtt-tour__badge--blue\"><i class=\"fa-regular fa-clock\"><\/i> 5 Days<\/span>\r\n          <span class=\"mtt-tour__ribbon\">Popular<\/span>\r\n        <\/figure>\r\n        <div class=\"mtt-tour__body\">\r\n          <h3 class=\"mtt-tour__name\">5-Day Marrakech to Merzouga Desert Tour<\/h3>\r\n          <p class=\"mtt-tour__loc\"><i class=\"fa-solid fa-location-dot\"><\/i> Marrakech to Merzouga<\/p>\r\n          <ul class=\"mtt-tour__features\" role=\"list\">\r\n            <li><i class=\"fa-solid fa-van-shuttle\"><\/i>Transport Included<\/li>\r\n            <li><i class=\"fa-solid fa-hotel\"><\/i>Accommodation<\/li>\r\n          <\/ul>\r\n          <div class=\"mtt-tour__meta\">\r\n            <div class=\"mtt-tour__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.9<\/div>\r\n          <\/div>\r\n          <div class=\"mtt-tour__cta\">\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--wa\" href=\"https:\/\/wa.me\/212610395152?text=I&#039;m interested in 5-Day Marrakech to Merzouga Desert Tour\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp<\/a>\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--primary\" href=\"https:\/\/moroccotoptour.com\/5-day-marrakech-to-merzouga-desert-tour\/\"><i class=\"fa-solid fa-calendar-check\"><\/i> Book Now<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- NEW CARD 5: 8-Day Morocco Tour Tangier -->\r\n      <article class=\"mtt-tour__card\" data-cat=\"multi-day\" data-rating=\"4.8\">\r\n        <figure class=\"mtt-tour__media\">\r\n          <img decoding=\"async\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/visita-guiada-tanger-589x392-1.avif\" alt=\"8-Day Morocco Tour Tangier\" title=\"\">\r\n          <span class=\"mtt-tour__badge mtt-tour__badge--blue\"><i class=\"fa-regular fa-clock\"><\/i> 8 Days<\/span>\r\n        <\/figure>\r\n        <div class=\"mtt-tour__body\">\r\n          <h3 class=\"mtt-tour__name\">8-Day Morocco Tour Tangier<\/h3>\r\n          <p class=\"mtt-tour__loc\"><i class=\"fa-solid fa-location-dot\"><\/i> Tangier & Beyond<\/p>\r\n          <ul class=\"mtt-tour__features\" role=\"list\">\r\n            <li><i class=\"fa-solid fa-van-shuttle\"><\/i>Transport Included<\/li>\r\n            <li><i class=\"fa-solid fa-hotel\"><\/i>Accommodation<\/li>\r\n          <\/ul>\r\n          <div class=\"mtt-tour__meta\">\r\n            <div class=\"mtt-tour__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.8<\/div>\r\n          <\/div>\r\n          <div class=\"mtt-tour__cta\">\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--wa\" href=\"https:\/\/wa.me\/212610395152?text=I&#039;m interested in 8-Day Morocco Tour Tangier\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp<\/a>\r\n            <a class=\"mtt-tour__btn mtt-tour__btn--primary\" href=\"https:\/\/moroccotoptour.com\/8-day-morocco-tour-tangier\/\"><i class=\"fa-solid fa-calendar-check\"><\/i> Book Now<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n\/* ===== Theme-safe: everything scoped to .mtt-tour ===== *\/\r\n.mtt-tour{\r\n  --mtt-bg:#ffffff;\r\n  --mtt-card:#f8fafc;\r\n  --mtt-muted:#4b5563;\r\n  --mtt-border:#e2e8f0;\r\n  --mtt-white:#000000;\r\n  --mtt-orange:#ff7b00;\r\n  --mtt-orange-700:#e66a00;\r\n  --mtt-blue:#3b82f6;\r\n  --mtt-blue-700:#2563eb;\r\n  --mtt-red:#ef4444;\r\n\r\n  position:relative; background:var(--mtt-bg); color:var(--mtt-white); isolation:isolate;\r\n  padding: clamp(28px,6vw,64px) 0;\r\n  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;\r\n}\r\n.mtt-tour__wrap{ width:min(1200px,92%); margin-inline:auto; }\r\n\r\n\/* Head *\/\r\n.mtt-tour__titles{ text-align:center; }\r\n.mtt-tour__eyebrow{ display:inline-block; padding:6px 12px; border-radius:999px;\r\n  background: #e2e8f0; border:1px solid #cbd5e1; color:#1e293b;\r\n  font:700 11px\/1 system-ui; letter-spacing:.35px; text-transform:uppercase; margin-bottom:8px;\r\n}\r\n.mtt-tour__title{ margin:0; font:800 clamp(24px,4vw,40px)\/1.1 system-ui; letter-spacing:-.02em; color:#000000; }\r\n.mtt-tour__title strong{ color:var(--mtt-orange); }\r\n.mtt-tour__sub{ color:var(--mtt-muted); margin:6px 0 0; }\r\n\r\n\/* Grid *\/\r\n.mtt-tour__grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; margin-top:18px; }\r\n@media (max-width: 1020px){ .mtt-tour__grid{ grid-template-columns: repeat(2,1fr);} }\r\n@media (max-width: 680px){ .mtt-tour__grid{ grid-template-columns: 1fr;} }\r\n\r\n\/* Card *\/\r\n.mtt-tour__card{ background: var(--mtt-card); border:1px solid var(--mtt-border); border-radius:16px; overflow:hidden; display:grid; grid-template-rows:auto 1fr; transition: transform .2s ease, box-shadow .2s ease; }\r\n.mtt-tour__card:hover{ transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.1); }\r\n\r\n.mtt-tour__media{ position:relative; height: 240px; overflow:hidden; }\r\n.mtt-tour__media img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .6s ease; }\r\n.mtt-tour__card:hover .mtt-tour__media img{ transform: scale(1.05); }\r\n\r\n.mtt-tour__badge{ position:absolute; top:12px; left:12px; z-index:2; padding:6px 10px; font:800 12px\/1 system-ui; border-radius:16px; display:inline-flex; align-items:center; gap:6px; }\r\n.mtt-tour__badge--orange{ background:var(--mtt-orange); color:#fff; }\r\n.mtt-tour__badge--blue{ background:var(--mtt-blue); color:#fff; }\r\n\r\n.mtt-tour__ribbon{ position:absolute; right:-42px; top:14px; background: var(--mtt-red); color:#fff; font:900 11px\/1 system-ui; padding:7px 60px; transform: rotate(30deg); border:1px solid rgba(255,255,255,.15); border-radius:6px; text-transform:uppercase; letter-spacing:.6px; }\r\n\r\n\/* Body *\/\r\n.mtt-tour__body{ padding:16px; display:grid; gap:10px; }\r\n.mtt-tour__name{ margin:0; font:800 18px\/1.3 system-ui; color:#000000; }\r\n.mtt-tour__loc{ margin:0; color:var(--mtt-muted); font-weight:700; display:flex; align-items:center; gap:8px; }\r\n.mtt-tour__features{ margin:4px 0 0; padding:0; list-style:none; display:flex; gap:12px; flex-wrap:wrap; color:var(--mtt-muted); font-weight:700; }\r\n.mtt-tour__features li{ display:inline-flex; gap:8px; align-items:center; }\r\n\r\n\/* Meta (rating only) *\/\r\n.mtt-tour__meta{ display:flex; justify-content:flex-start; align-items:center; margin-top:2px; }\r\n.mtt-tour__rating{ color:#b45309; font-weight:900; display:flex; align-items:center; gap:6px; }\r\n.mtt-tour__rating .fa-star{ font-size:14px; }\r\n\r\n\/* CTA buttons with extra space between *\/\r\n.mtt-tour__cta{ display:flex; gap:14px; margin-top:10px; justify-content:space-between; }\r\n.mtt-tour__btn{ appearance:none; border:0; text-decoration:none; cursor:pointer; padding:12px 16px; border-radius:12px; font:900 14px\/1 system-ui; flex:1; text-align:center; display:flex; align-items:center; justify-content:center; gap:8px; }\r\n.mtt-tour__btn--primary{ background:var(--mtt-orange); color:#fff; box-shadow:0 10px 24px rgba(255,123,0,.25); }\r\n.mtt-tour__btn--primary:hover{ background:var(--mtt-orange-700); }\r\n.mtt-tour__btn--wa{ background:var(--mtt-blue); color:#fff; }\r\n.mtt-tour__btn--wa:hover{ background:var(--mtt-blue-700); }\r\n\r\n\/* Mobile polish *\/\r\n@media (max-width: 680px){\r\n  .mtt-tour__media{ height: 220px; }\r\n  .mtt-tour__name{ font-size:17px; }\r\n  .mtt-tour__features{ gap:10px; }\r\n  .mtt-tour__btn{ padding:12px 14px; }\r\n}\r\n@media (max-width: 420px){\r\n  .mtt-tour__cta{ gap:10px; }\r\n  .mtt-tour__btn{ padding:12px 12px; font-size:13px; gap:6px; }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  \/\/ All cards are now visible by default since we removed the filter functionality\r\n  const cards = document.querySelectorAll('.mtt-tour__card');\r\n  cards.forEach(card => {\r\n    card.classList.remove('is-hidden');\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5bd3178 e-flex e-con-boxed e-con e-parent\" data-id=\"5bd3178\" 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-26bd912 elementor-widget elementor-widget-html\" data-id=\"26bd912\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\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\" \/>\r\n  <title>Custom Tour Request<\/title>\r\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.2\/css\/all.min.css\" integrity=\"sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9\/2PkfG3j3u2KSB4z9YhiJjkxFv1Jd5rhlWST\/dpD0iC5V7Q8YxcpTM1H6mQ==\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\" \/>\r\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@emailjs\/browser@3\/dist\/email.min.js\"><\/script>\r\n  <style>\r\n    \/* ============ Reset & root ============ *\/\r\n    .tour-popup * { box-sizing: border-box; margin: 0; padding: 0; }\r\n    .tour-popup {\r\n      --orange: #f59e0b; \/* orange button *\/\r\n      --orange-dark: #d97706;\r\n      --bg-dark: #0f172a;\r\n      --text: #0f172a;\r\n      --subtext: #475569;\r\n      --muted: #e2e8f0;\r\n      --ring: rgba(245, 158, 11, 0.2);\r\n      --ok: #10b981;\r\n      --error: #ef4444;\r\n      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Apple Color Emoji\", \"Segoe UI Emoji\";\r\n    }\r\n\r\n    \/* ============ Floating button ============ *\/\r\n    .tour-popup .floating-btn {\r\n      position: fixed; right: 24px; bottom: 24px; width: 68px; height: 68px;\r\n      border-radius: 999px; border: 0; cursor: pointer; z-index: 9998;\r\n      background: var(--orange); color: #fff; box-shadow: 0 12px 24px rgba(245, 158, 11, .35);\r\n      display: grid; place-items: center; font-size: 1.6rem; transition: .2s ease;\r\n    }\r\n    .tour-popup .floating-btn:hover { transform: translateY(-3px); background: var(--orange-dark); }\r\n\r\n    \/* ============ Overlay & container ============ *\/\r\n    .tour-popup .overlay { position: fixed; inset: 0; background: rgba(2,6,23,.65); backdrop-filter: blur(4px); display: none; z-index: 9999; }\r\n    .tour-popup .overlay.active { display: grid; place-items: center; }\r\n    .tour-popup .card { width: 95%; max-width: 760px; max-height: 92vh; overflow: auto; background: #fff; border-radius: 16px; box-shadow: 0 24px 44px rgba(0,0,0,.2); animation: pop .25s ease; }\r\n    @keyframes pop { from { transform: scale(.96); opacity: 0 } to { transform: scale(1); opacity: 1 } }\r\n\r\n    \/* ============ Header ============ *\/\r\n    .tour-popup .header { padding: 18px 22px; background: linear-gradient(135deg, #f59e0b, #fb923c); color: #fff; border-radius: 16px 16px 0 0; display: flex; align-items: center; justify-content: space-between; }\r\n    .tour-popup .header h2 { font-size: 1.2rem; font-weight: 700; letter-spacing: .2px; }\r\n    .tour-popup .close { width: 36px; height: 36px; border-radius: 999px; border: 0; background: rgba(255,255,255,.18); color: #fff; display: grid; place-items: center; cursor: pointer; }\r\n\r\n    \/* ============ Steps ============ *\/\r\n    .tour-popup .content { padding: 22px; }\r\n    .tour-popup .steps { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }\r\n    .tour-popup .step { height: 6px; background: #f1f5f9; border-radius: 999px; position: relative; overflow: hidden; }\r\n    .tour-popup .step::after { content: \"\"; position: absolute; inset: 0; width: 0%; background: var(--orange); transition: width .25s ease; }\r\n    .tour-popup .step.active::after { width: 100%; }\r\n\r\n    \/* ============ Form ============ *\/\r\n    .tour-popup .form-step { display: none; }\r\n    .tour-popup .form-step.active { display: block; }\r\n\r\n    .tour-popup .group { margin-bottom: 16px; }\r\n    .tour-popup label { display: block; font-weight: 600; color: var(--text); margin-bottom: 8px; }\r\n    .tour-popup .hint { font-size: .9rem; color: var(--subtext); margin-top: 6px; }\r\n    .tour-popup input[type=\"text\"],\r\n    .tour-popup input[type=\"email\"],\r\n    .tour-popup input[type=\"tel\"],\r\n    .tour-popup input[type=\"number\"],\r\n    .tour-popup select,\r\n    .tour-popup textarea {\r\n      width: 100%; padding: 12px 14px; border: 1px solid #e5e7eb; border-radius: 10px; font-size: 1rem; color: var(--text);\r\n      transition: border-color .15s ease, box-shadow .15s ease;\r\n    }\r\n    .tour-popup textarea { min-height: 110px; resize: vertical; }\r\n    .tour-popup input:focus, .tour-popup select:focus, .tour-popup textarea:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 3px var(--ring); }\r\n\r\n    .tour-popup .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n    @media (max-width: 640px) { .tour-popup .row { grid-template-columns: 1fr; } }\r\n\r\n    .tour-popup .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }\r\n    .tour-popup .chip { background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; padding: 6px 10px; border-radius: 999px; font-size: .9rem; display: inline-flex; align-items: center; gap: 6px; }\r\n    .tour-popup .chip button { border: 0; background: transparent; cursor: pointer; color: inherit; }\r\n\r\n    .tour-popup .activities { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }\r\n    .tour-popup .activity { border: 1px solid #e5e7eb; border-radius: 10px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; }\r\n    .tour-popup .activity input { width: 18px; height: 18px; }\r\n\r\n    .tour-popup .error { color: var(--error); font-size: .9rem; margin-top: 6px; display: none; }\r\n\r\n    .tour-popup .actions { display: flex; gap: 10px; margin-top: 16px; }\r\n    .tour-popup .btn { appearance: none; border: 0; border-radius: 10px; padding: 12px 16px; font-weight: 700; cursor: pointer; }\r\n    .tour-popup .btn.primary { background: var(--orange); color: #fff; }\r\n    .tour-popup .btn.primary:hover { background: var(--orange-dark); }\r\n    .tour-popup .btn.ghost { background: #fff; border: 1px solid #e5e7eb; color: var(--text); }\r\n\r\n    \/* ============ Success ============ *\/\r\n    .tour-popup .success { text-align: center; padding: 36px 20px; display: none; }\r\n    .tour-popup .success i { font-size: 3rem; color: var(--ok); margin-bottom: 12px; }\r\n    .tour-popup .success h3 { font-size: 1.4rem; margin-bottom: 8px; }\r\n    .tour-popup .success p { color: var(--subtext); }\r\n\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n  <div class=\"tour-popup\">\r\n    <!-- Floating action button (orange) -->\r\n    <button id=\"openTourPopup\" class=\"floating-btn\" aria-label=\"Request a custom tour\">\r\n      <i class=\"fa-solid fa-map-location-dot\"><\/i>\r\n    <\/button>\r\n\r\n    <!-- Overlay \/ Modal -->\r\n    <div id=\"tourOverlay\" class=\"overlay\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"tourTitle\">\r\n      <div class=\"card\">\r\n        <div class=\"header\">\r\n          <h2 id=\"tourTitle\">Plan Your Custom Morocco Tour<\/h2>\r\n          <button class=\"close\" id=\"closeTourPopup\" aria-label=\"Close\">\r\n            <i class=\"fa-solid fa-xmark\"><\/i>\r\n          <\/button>\r\n        <\/div>\r\n        <div class=\"content\">\r\n          <!-- progress -->\r\n          <div class=\"steps\">\r\n            <div id=\"bar1\" class=\"step active\"><\/div>\r\n            <div id=\"bar2\" class=\"step\"><\/div>\r\n          <\/div>\r\n\r\n          <!-- Success screen -->\r\n          <div id=\"successScreen\" class=\"success\">\r\n            <i class=\"fa-solid fa-circle-check\"><\/i>\r\n            <h3>Thank you! Your request was sent.<\/h3>\r\n            <p>We\u2019ll get back to you shortly to confirm the details.<\/p>\r\n            <div class=\"actions\" style=\"justify-content:center; margin-top:18px\">\r\n              <button class=\"btn primary\" id=\"successClose\">Close<\/button>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <!-- Form -->\r\n          <form id=\"tourForm\">\r\n            <!-- STEP 1: Contact + Tour name + Cities -->\r\n            <section id=\"step1\" class=\"form-step active\">\r\n              <div class=\"group\">\r\n                <label for=\"tour_name\">Tour name *<\/label>\r\n                <input id=\"tour_name\" name=\"tour_name\" type=\"text\" placeholder=\"e.g., Sahara & Imperial Cities\" required \/>\r\n                <div class=\"error\" id=\"tour_name_err\">Please enter a tour name.<\/div>\r\n              <\/div>\r\n\r\n              <div class=\"row\">\r\n                <div class=\"group\">\r\n                  <label for=\"full_name\">Full name *<\/label>\r\n                  <input id=\"full_name\" name=\"full_name\" type=\"text\" placeholder=\"Your name\" required \/>\r\n                  <div class=\"error\" id=\"full_name_err\">Please enter your name.<\/div>\r\n                <\/div>\r\n                <div class=\"group\">\r\n                  <label for=\"email\">Email *<\/label>\r\n                  <input id=\"email\" name=\"email\" type=\"email\" placeholder=\"you@example.com\" required \/>\r\n                  <div class=\"error\" id=\"email_err\">Enter a valid email.<\/div>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <div class=\"group\">\r\n                <label for=\"phone\">Phone *<\/label>\r\n                <input id=\"phone\" name=\"phone\" type=\"tel\" placeholder=\"+212 6 00 00 00 00\" required \/>\r\n                <div class=\"error\" id=\"phone_err\">Please enter your phone number.<\/div>\r\n              <\/div>\r\n\r\n              <div class=\"group\">\r\n                <label>Cities to visit (add up to 30) *<\/label>\r\n                <div class=\"row\">\r\n                  <select id=\"citySelect\">\r\n                    <!-- options injected by JS -->\r\n                  <\/select>\r\n                  <button type=\"button\" class=\"btn ghost\" id=\"addCityBtn\"><i class=\"fa-solid fa-plus\"><\/i>&nbsp;Add city<\/button>\r\n                <\/div>\r\n                <div id=\"cityChips\" class=\"chips\" aria-live=\"polite\"><\/div>\r\n                <div class=\"hint\">Popular: Marrakech, Fes, Chefchaouen, Merzouga (Sahara), Ouarzazate, Essaouira, Agadir, Atlas Mountains, Tangier, Rabat, Casablanca, Meknes, A\u00eft Benhaddou, Dades\/Todra Gorges, Dakhla, Oualidia\u2026<\/div>\r\n                <div class=\"error\" id=\"cities_err\">Add at least one city.<\/div>\r\n              <\/div>\r\n\r\n              <div class=\"actions\">\r\n                <button type=\"button\" id=\"toStep2\" class=\"btn primary\">Continue<\/button>\r\n              <\/div>\r\n            <\/section>\r\n\r\n            <!-- STEP 2: Trip details + Activities + Message & Submit -->\r\n            <section id=\"step2\" class=\"form-step\">\r\n              <div class=\"row\">\r\n                <div class=\"group\">\r\n                  <label for=\"days\">How many days? *<\/label>\r\n                  <input id=\"days\" name=\"days\" type=\"number\" min=\"1\" step=\"1\" placeholder=\"e.g., 7\" required \/>\r\n                  <div class=\"error\" id=\"days_err\">Enter at least 1 day.<\/div>\r\n                <\/div>\r\n                <div class=\"group\">\r\n                  <label for=\"people\">How many people? (min 2) *<\/label>\r\n                  <input id=\"people\" name=\"people\" type=\"number\" min=\"2\" step=\"1\" placeholder=\"2\" required \/>\r\n                  <div class=\"error\" id=\"people_err\">At least 2 people.<\/div>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <div class=\"group\">\r\n                <label>Activities (optional)<\/label>\r\n                <div class=\"activities\">\r\n                  <label class=\"activity\"><input type=\"checkbox\" value=\"Camel Trek\" class=\"act\"> <span>\r\n                    <i class=\"fa-solid fa-camel\"><\/i> Camel trek<\/span><\/label>\r\n                  <label class=\"activity\"><input type=\"checkbox\" value=\"Quad Biking\" class=\"act\"> <span>\r\n                    <i class=\"fa-solid fa-motorcycle\"><\/i> Quad biking<\/span><\/label>\r\n                  <label class=\"activity\"><input type=\"checkbox\" value=\"Sandboarding\" class=\"act\"> <span>\r\n                    <i class=\"fa-solid fa-person-skiing\"><\/i> Sandboarding<\/span><\/label>\r\n                  <label class=\"activity\"><input type=\"checkbox\" value=\"Air Balloon\" class=\"act\"> <span>\r\n                    <i class=\"fa-solid fa-hot-tub-person\"><\/i><\/span> Air balloon<\/label>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <div class=\"group\">\r\n                <label for=\"message\">Message (optional)<\/label>\r\n                <textarea id=\"message\" name=\"message\" placeholder=\"Tell us anything else\u2026\"><\/textarea>\r\n              <\/div>\r\n\r\n              <div class=\"actions\">\r\n                <button type=\"button\" class=\"btn ghost\" id=\"backTo1\">Back<\/button>\r\n                <button type=\"submit\" class=\"btn primary\" id=\"submitBtn\"><i class=\"fa-solid fa-paper-plane\"><\/i>&nbsp;Send request<\/button>\r\n              <\/div>\r\n            <\/section>\r\n\r\n            <!-- hidden field to store cities -->\r\n            <input type=\"hidden\" id=\"cities\" name=\"cities\" \/>\r\n          <\/form>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    \/\/ ---------- EmailJS init (Public Key) ----------\r\n    (function() { emailjs.init(\"UlHaF0FvVmgEUyv26\"); })();\r\n\r\n    \/\/ ---------- Elements ----------\r\n    const overlay = document.getElementById('tourOverlay');\r\n    const openBtn = document.getElementById('openTourPopup');\r\n    const closeBtn = document.getElementById('closeTourPopup');\r\n    const successClose = document.getElementById('successClose');\r\n\r\n    const step1 = document.getElementById('step1');\r\n    const step2 = document.getElementById('step2');\r\n    const bar1 = document.getElementById('bar1');\r\n    const bar2 = document.getElementById('bar2');\r\n\r\n    const toStep2Btn = document.getElementById('toStep2');\r\n    const backTo1Btn = document.getElementById('backTo1');\r\n\r\n    const citySelect = document.getElementById('citySelect');\r\n    const addCityBtn = document.getElementById('addCityBtn');\r\n    const cityChips = document.getElementById('cityChips');\r\n    const citiesHidden = document.getElementById('cities');\r\n    const successScreen = document.getElementById('successScreen');\r\n    const form = document.getElementById('tourForm');\r\n\r\n    const fields = {\r\n      tour_name: document.getElementById('tour_name'),\r\n      full_name: document.getElementById('full_name'),\r\n      email: document.getElementById('email'),\r\n      phone: document.getElementById('phone'),\r\n      days: document.getElementById('days'),\r\n      people: document.getElementById('people'),\r\n      message: document.getElementById('message')\r\n    };\r\n\r\n    const errs = {\r\n      tour_name: document.getElementById('tour_name_err'),\r\n      full_name: document.getElementById('full_name_err'),\r\n      email: document.getElementById('email_err'),\r\n      phone: document.getElementById('phone_err'),\r\n      days: document.getElementById('days_err'),\r\n      people: document.getElementById('people_err'),\r\n      cities: document.getElementById('cities_err')\r\n    };\r\n\r\n    \/\/ ---------- City list (popular Morocco tour stops) ----------\r\n    const MOROCCO_CITIES = [\r\n      'Marrakech','Fes','Casablanca','Rabat','Chefchaouen','Tangier','Tetouan','Meknes','Essaouira','Agadir',\r\n      'Ouarzazate','Merzouga (Sahara)','Zagora','Ait Benhaddou','Ifrane','Atlas Mountains','Dades Gorges','Todra Gorge',\r\n      'Asilah','Taroudant','Oualidia','Dakhla','Laayoune','El Jadida','Oujda','Nador','Tinghir','Midelt','Erfoud','Taza'\r\n    ];\r\n\r\n    function populateCitySelect() {\r\n      MOROCCO_CITIES.forEach(c => {\r\n        const opt = document.createElement('option');\r\n        opt.value = c; opt.textContent = c; citySelect.appendChild(opt);\r\n      });\r\n    }\r\n\r\n    const selectedCities = new Set();\r\n\r\n    function renderChips() {\r\n      cityChips.innerHTML = '';\r\n      selectedCities.forEach(city => {\r\n        const chip = document.createElement('span');\r\n        chip.className = 'chip';\r\n        chip.innerHTML = `${city} <button type=\"button\" aria-label=\"Remove ${city}\" data-city=\"${city}\"><i class=\"fa-solid fa-xmark\"><\/i><\/button>`;\r\n        cityChips.appendChild(chip);\r\n      });\r\n      citiesHidden.value = Array.from(selectedCities).join(', ');\r\n    }\r\n\r\n    function addCity(city) {\r\n      if (!city) return;\r\n      if (selectedCities.size >= 30) return; \/\/ hard cap (user asked: more than 10 allowed)\r\n      selectedCities.add(city);\r\n      renderChips();\r\n    }\r\n\r\n    \/\/ ---------- Open\/close popup ----------\r\n    openBtn.addEventListener('click', () => { overlay.classList.add('active'); document.body.style.overflow = 'hidden'; });\r\n    function closePopup() { overlay.classList.remove('active'); document.body.style.overflow = ''; resetAll(); }\r\n    closeBtn.addEventListener('click', closePopup);\r\n    overlay.addEventListener('click', (e) => { if (e.target === overlay) closePopup(); });\r\n    successClose.addEventListener('click', closePopup);\r\n\r\n    \/\/ ---------- Step navigation ----------\r\n    toStep2Btn.addEventListener('click', () => {\r\n      const ok = validateStep1();\r\n      if (!ok) return;\r\n      step1.classList.remove('active'); bar1.classList.remove('active');\r\n      step2.classList.add('active'); bar2.classList.add('active');\r\n    });\r\n    backTo1Btn.addEventListener('click', () => {\r\n      step2.classList.remove('active'); bar2.classList.remove('active');\r\n      step1.classList.add('active'); bar1.classList.add('active');\r\n    });\r\n\r\n    \/\/ ---------- Add\/Remove cities ----------\r\n    addCityBtn.addEventListener('click', () => addCity(citySelect.value));\r\n    cityChips.addEventListener('click', (e) => {\r\n      const btn = e.target.closest('button[data-city]');\r\n      if (!btn) return;\r\n      selectedCities.delete(btn.getAttribute('data-city'));\r\n      renderChips();\r\n    });\r\n\r\n    \/\/ ---------- Validation ----------\r\n    function show(el) { el.style.display = 'block'; }\r\n    function hide(el) { el.style.display = 'none'; }\r\n\r\n    function validEmail(v) { return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(String(v).toLowerCase()); }\r\n\r\n    function validateStep1() {\r\n      let ok = true;\r\n      \/\/ tour name\r\n      if (!fields.tour_name.value.trim()) { show(errs.tour_name); ok = false; } else hide(errs.tour_name);\r\n      \/\/ name\r\n      if (!fields.full_name.value.trim()) { show(errs.full_name); ok = false; } else hide(errs.full_name);\r\n      \/\/ email\r\n      if (!fields.email.value.trim() || !validEmail(fields.email.value)) { show(errs.email); ok = false; } else hide(errs.email);\r\n      \/\/ phone\r\n      if (!fields.phone.value.trim()) { show(errs.phone); ok = false; } else hide(errs.phone);\r\n      \/\/ cities\r\n      if (selectedCities.size === 0) { show(errs.cities); ok = false; } else hide(errs.cities);\r\n      return ok;\r\n    }\r\n\r\n    function validateStep2() {\r\n      let ok = true;\r\n      if (!fields.days.value || Number(fields.days.value) < 1) { show(errs.days); ok = false; } else hide(errs.days);\r\n      if (!fields.people.value || Number(fields.people.value) < 2) { show(errs.people); ok = false; } else hide(errs.people);\r\n      return ok;\r\n    }\r\n\r\n    \/\/ ---------- Submit ----------\r\n    form.addEventListener('submit', function(e) {\r\n      e.preventDefault();\r\n      if (!validateStep2()) return;\r\n\r\n      \/\/ collect activities\r\n      const acts = Array.from(document.querySelectorAll('.act:checked')).map(i => i.value);\r\n\r\n      const templateParams = {\r\n        tour_name: fields.tour_name.value.trim(),\r\n        full_name: fields.full_name.value.trim(),\r\n        email: fields.email.value.trim(),\r\n        phone: fields.phone.value.trim(),\r\n        cities: Array.from(selectedCities).join(', '),\r\n        days: String(fields.days.value),\r\n        people: String(fields.people.value),\r\n        activities: acts.length ? acts.join(', ') : 'None',\r\n        message: fields.message.value.trim() || '\u2014',\r\n        created_at: new Date().toLocaleString()\r\n      };\r\n\r\n      const submitBtn = document.getElementById('submitBtn');\r\n      const oldHtml = submitBtn.innerHTML; submitBtn.disabled = true; submitBtn.innerHTML = '<i class=\"fa-solid fa-spinner fa-spin\"><\/i>&nbsp;Sending...';\r\n\r\n      \/\/ Service & Template from user request\r\n      emailjs.send('service_z8490d1', 'template_a758c81', templateParams)\r\n        .then(() => {\r\n          \/\/ show success page inside modal\r\n          form.style.display = 'none';\r\n          successScreen.style.display = 'block';\r\n          document.querySelector('.content').scrollTo({ top: 0, behavior: 'smooth' });\r\n        })\r\n        .catch(err => {\r\n          alert('There was an error submitting your request. Please try again.');\r\n          console.error('EmailJS error:', err);\r\n        })\r\n        .finally(() => { submitBtn.disabled = false; submitBtn.innerHTML = oldHtml; });\r\n    });\r\n\r\n    \/\/ ---------- Helpers ----------\r\n    function resetAll() {\r\n      \/\/ reset UI\r\n      successScreen.style.display = 'none';\r\n      form.style.display = 'block';\r\n      step2.classList.remove('active'); bar2.classList.remove('active');\r\n      step1.classList.add('active'); bar1.classList.add('active');\r\n\r\n      \/\/ reset data\r\n      form.reset();\r\n      selectedCities.clear();\r\n      renderChips();\r\n\r\n      \/\/ hide errors\r\n      Object.values(errs).forEach(hide);\r\n    }\r\n\r\n    \/\/ ---------- Init ----------\r\n    populateCitySelect();\r\n    renderChips();\r\n  <\/script>\r\n<\/body>\r\n<\/html>\r\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>Descover Morocco with us Our week-long Morocco itinerary combines the cultural &#8230; <\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-141","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/pages\/141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/comments?post=141"}],"version-history":[{"count":38,"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/pages\/141\/revisions"}],"predecessor-version":[{"id":823,"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/pages\/141\/revisions\/823"}],"wp:attachment":[{"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/media?parent=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}