{"id":29490,"date":"2026-07-15T12:21:06","date_gmt":"2026-07-15T12:21:06","guid":{"rendered":"https:\/\/definitelymoroccotours.com\/?page_id=29490"},"modified":"2026-07-15T16:57:28","modified_gmt":"2026-07-15T16:57:28","slug":"great-morocco-tour-imperial-cities-to-sahara-9-days-8-nights","status":"publish","type":"page","link":"https:\/\/definitelymoroccotours.com\/fr\/great-morocco-tour-imperial-cities-to-sahara-9-days-8-nights\/","title":{"rendered":"Great Morocco tour imperial cities to Sahara 9 days \/ 8 nights"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"29490\" class=\"elementor elementor-29490\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-573dab9 wd-section-stretch e-con-full e-flex e-con e-parent\" data-id=\"573dab9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;wd_curved_line&quot;}\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"wd-divider\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 100 100\" width=\"100%\" height=\"50px\" preserveAspectRatio=\"none\">\n<path class=\"elementor-shape-fill\" display=\"none\" d=\"M100,25.8V100H0V52.5c-4.9-6.8-9.5-13.8-15-19.7V101h125V20.9C106.3,22,103,23.7,100,25.8z\"\/>\n<path class=\"elementor-shape-fill\" d=\"M0,0v99c22-20.6,28.7-69.7,61.4-69.7c18.8,0,29.1,16.2,38.6,34V0L0,0z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d84c5bd elementor-widget elementor-widget-html\" data-id=\"d84c5bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\n  BOOKING PAGE \u2014 Great Morocco Tour: Imperial Cities to Sahara 9 Days \/ 8 Nights\n  Definitely Morocco Tours \u2014 Elementor HTML Widget (English)\n  Palette : Sand #DAD3C1 \/ White #FFFFFF only\n  Font    : Lexend (Google Fonts), regular style only\n============================================================ -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Lexend:wght@300;400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n<style>\n  #dmt-great9d-booking {\n    --sand: #DAD3C1;\n    --sand-deep: #C7BEA6;\n    --sand-pale: #EFEBE1;\n    --white: #FFFFFF;\n    --text: #3A372F;\n    --text-soft: #6B6757;\n    --line: rgba(58,55,47,0.14);\n    font-family: 'Lexend', sans-serif;\n    font-style: normal;\n    color: var(--text);\n    background: var(--white);\n    max-width: 1180px;\n    margin: 0 auto;\n    padding: 0 20px 80px;\n    box-sizing: border-box;\n  }\n  #dmt-great9d-booking * {\n    box-sizing: border-box;\n    font-family: 'Lexend', sans-serif;\n    font-style: normal !important;\n  }\n  #dmt-great9d-booking h1, #dmt-great9d-booking h2, #dmt-great9d-booking h3 {\n    margin: 0; letter-spacing: -0.01em; color: var(--text);\n  }\n\n  \/* ---------- HERO ---------- *\/\n  .dmt-hero {\n    position: relative; border-radius: 22px; overflow: hidden;\n    min-height: 460px; display: flex; align-items: flex-end;\n    margin-top: 28px; background: var(--sand-deep);\n  }\n  .dmt-hero img {\n    position: absolute; inset: 0; width: 100%; height: 100%;\n    object-fit: cover; filter: saturate(1.05) contrast(1.02);\n  }\n  .dmt-hero::after {\n    content: \"\"; position: absolute; inset: 0;\n    background: linear-gradient(180deg, rgba(20,18,14,0) 0%, rgba(20,18,14,0.05) 30%, rgba(20,18,14,0.55) 65%, rgba(20,18,14,0.92) 100%);\n    pointer-events: none;\n  }\n  .dmt-hero-content { position: relative; z-index: 2; padding: 44px 48px; width: 100%; }\n  .dmt-eyebrow, .dmt-eyebrow * {\n    display: inline-flex; align-items: center; gap: 10px;\n    font-size: 12.5px; font-weight: 500; letter-spacing: 0.18em;\n    text-transform: uppercase; color: var(--sand) !important;\n    margin-bottom: 16px; background: none !important;\n  }\n  .dmt-eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sand) !important; }\n  .dmt-hero h1, .dmt-hero h1 * {\n    font-size: 40px; font-weight: 700; line-height: 1.12; max-width: 720px;\n    color: #FFFFFF !important; background: none !important;\n    text-shadow: 0 2px 18px rgba(0,0,0,0.45);\n  }\n  .dmt-hero-meta { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 24px; font-size: 14.5px; }\n  .dmt-hero-meta div, .dmt-hero-meta div * { color: #FFFFFF !important; opacity: 0.95; background: none !important; }\n  .dmt-hero-meta strong { color: #FFFFFF !important; font-weight: 600; }\n\n  \/* ---------- GALLERY ---------- *\/\n  .dmt-gallery {\n    display: grid; grid-template-columns: repeat(5, 1fr);\n    gap: 10px; margin-top: 12px;\n  }\n  .dmt-gallery a {\n    display: block; border-radius: 12px; overflow: hidden;\n    aspect-ratio: 1 \/ 1; cursor: pointer; background: var(--sand-pale);\n  }\n  .dmt-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }\n  .dmt-gallery a:hover img { transform: scale(1.06); }\n  @media (max-width: 760px) {\n    .dmt-gallery { grid-template-columns: repeat(3, 1fr); }\n    .dmt-gallery a:nth-child(n+4) { display: none; }\n  }\n\n  \/* ---------- LAYOUT ---------- *\/\n  .dmt-layout {\n    display: grid; grid-template-columns: 1.35fr 1fr;\n    gap: 44px; margin-top: 56px; align-items: start;\n  }\n  @media (max-width: 980px) { .dmt-layout { grid-template-columns: 1fr; } }\n\n  .dmt-section { margin-bottom: 48px; }\n  .dmt-kicker {\n    font-size: 12px; font-weight: 600; letter-spacing: 0.16em;\n    text-transform: uppercase; color: var(--text-soft); margin-bottom: 10px; display: block;\n  }\n  .dmt-section h2 { font-size: 26px; font-weight: 700; margin-bottom: 18px; }\n  .dmt-about p { font-size: 15.5px; line-height: 1.75; color: var(--text-soft); max-width: 600px; }\n\n  \/* ---------- ACCORDION ---------- *\/\n  .dmt-accordion { display: flex; flex-direction: column; gap: 12px; }\n  .dmt-acc-item {\n    background: var(--white); border: 1px solid var(--line);\n    border-radius: 14px; overflow: hidden;\n    box-shadow: 0 1px 2px rgba(58,55,47,0.04);\n    transition: border-color .25s ease, box-shadow .25s ease;\n  }\n  .dmt-acc-item:hover { border-color: var(--sand-deep); box-shadow: 0 4px 16px rgba(58,55,47,0.07); }\n  .dmt-acc-item.open { border-color: var(--sand-deep); box-shadow: 0 6px 20px rgba(58,55,47,0.09); }\n  .dmt-acc-header {\n    display: flex; align-items: center; gap: 18px; width: 100%;\n    background: var(--white); border: none; text-align: left;\n    padding: 20px 22px; cursor: pointer;\n    font-family: 'Lexend', sans-serif; transition: background .25s ease;\n  }\n  .dmt-acc-item.open .dmt-acc-header { background: var(--sand-pale); }\n  .dmt-acc-day-wrap {\n    flex: 0 0 auto; display: flex; flex-direction: column;\n    align-items: center; justify-content: center;\n    width: 54px; height: 54px; border-radius: 12px;\n    background: var(--sand-pale); border: 1px solid var(--sand-deep);\n    transition: background .25s ease;\n  }\n  .dmt-acc-item.open .dmt-acc-day-wrap { background: var(--sand-deep); }\n  .dmt-acc-day-label {\n    font-size: 9px; font-weight: 600; letter-spacing: 0.1em;\n    text-transform: uppercase; color: var(--text-soft); line-height: 1;\n  }\n  .dmt-acc-item.open .dmt-acc-day-label { color: rgba(58,55,47,0.65); }\n  .dmt-acc-day-num { font-size: 18px; font-weight: 700; color: var(--text); line-height: 1.3; }\n  .dmt-acc-title-wrap { flex: 1 1 auto; min-width: 0; }\n  .dmt-acc-title { display: block; font-size: 15.5px; font-weight: 600; line-height: 1.4; color: var(--text); }\n  .dmt-acc-subtitle {\n    display: block; font-size: 12px; font-weight: 500;\n    letter-spacing: 0.04em; text-transform: uppercase;\n    color: var(--text-soft); margin-top: 5px;\n  }\n  .dmt-acc-icon {\n    flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%;\n    background: var(--white); border: 1px solid var(--line);\n    display: flex; align-items: center; justify-content: center;\n    position: relative; transition: transform .3s ease, border-color .25s ease;\n  }\n  .dmt-acc-icon::before, .dmt-acc-icon::after {\n    content: \"\"; position: absolute; background: var(--text); border-radius: 2px;\n  }\n  .dmt-acc-icon::before { width: 11px; height: 1.6px; }\n  .dmt-acc-icon::after { width: 1.6px; height: 11px; transition: opacity .2s ease; }\n  .dmt-acc-item.open .dmt-acc-icon { border-color: var(--sand-deep); transform: rotate(180deg); }\n  .dmt-acc-item.open .dmt-acc-icon::after { opacity: 0; }\n  .dmt-acc-body { max-height: 0; overflow: hidden; transition: max-height .35s ease; }\n  .dmt-acc-body-inner {\n    padding: 16px 22px 24px 22px; font-size: 14.5px; line-height: 1.75;\n    color: var(--text-soft); max-width: 640px;\n    border-top: 1px solid var(--line); margin: 0 22px;\n  }\n  .dmt-acc-body-inner p { margin: 0; }\n\n  \/* ---------- INCLUDED \/ EXCLUDED ---------- *\/\n  .dmt-incl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n  @media (max-width: 560px) { .dmt-incl-grid { grid-template-columns: 1fr; } }\n  .dmt-incl-card { background: var(--sand-pale); border-radius: 16px; padding: 22px 24px; }\n  .dmt-incl-card.excl { background: var(--white); border: 1px solid var(--line); }\n  .dmt-incl-card h4 {\n    font-size: 13px; font-weight: 600; letter-spacing: 0.08em;\n    text-transform: uppercase; margin: 0 0 14px; color: var(--text);\n  }\n  .dmt-incl-card ul { list-style: none; margin: 0; padding: 0; }\n  .dmt-incl-card li {\n    font-size: 14px; line-height: 1.5; color: var(--text-soft);\n    padding: 7px 0 7px 24px; position: relative; border-bottom: 1px solid var(--line);\n  }\n  .dmt-incl-card li:last-child { border-bottom: none; }\n  .dmt-incl-card li::before { position: absolute; left: 0; top: 7px; font-weight: 700; }\n  .dmt-incl-card:not(.excl) li::before { content: \"\u2713\"; color: var(--text); }\n  .dmt-incl-card.excl li::before { content: \"\u2013\"; color: var(--text-soft); }\n\n  \/* map *\/\n  .dmt-map { border-radius: 18px; overflow: hidden; margin-top: 6px; border: 1px solid var(--line); }\n  .dmt-map iframe { width: 100%; height: 280px; border: 0; display: block; }\n\n  \/* lightbox *\/\n  .dmt-lightbox {\n    position: fixed; inset: 0; background: rgba(58,55,47,0.92);\n    z-index: 9999; display: none; align-items: center; justify-content: center; padding: 30px;\n  }\n  .dmt-lightbox.open { display: flex; }\n  .dmt-lightbox img { max-width: 100%; max-height: 100%; border-radius: 8px; }\n  .dmt-lightbox-close {\n    position: absolute; top: 24px; right: 28px;\n    color: var(--white); font-size: 28px; cursor: pointer; background: none; border: none; line-height: 1;\n  }\n<\/style>\n\n<div id=\"dmt-great9d-booking\">\n\n  <!-- HERO -->\n  <div class=\"dmt-hero\">\n    <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/fes-from-marrakech.jpg\" alt=\"Great Morocco Tour Imperial Cities to Sahara 9 days 8 nights\">\n    <div class=\"dmt-hero-content\">\n      <span class=\"dmt-eyebrow\"><span class=\"dot\"><\/span> 9 Days \u00b7 8 Nights \u00b7 Imperial Cities & Sahara<\/span>\n      <h1>Great Morocco Tour \u2014 Imperial Cities to Sahara 9 Days \/ 8 Nights<\/h1>\n      <div class=\"dmt-hero-meta\">\n        <div>\ud83d\ude97 <strong>Private Land Cruiser 4x4 with A\/C<\/strong><\/div>\n        <div>\ud83d\udde3\ufe0f <strong>English speaking driver\/guide + local guides<\/strong><\/div>\n        <div>\ud83d\udc2a <strong>Camel ride & nomadic camp<\/strong><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- GALLERY -->\n  <div class=\"dmt-gallery\" id=\"dmt-gallery\">\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/palace.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/palace.jpg\" alt=\"Moroccan palace\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/eyeem_142094517.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/eyeem_142094517.jpg\" alt=\"Morocco landscape\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/ait-benhaddoubg.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/ait-benhaddoubg.jpg\" alt=\"A\u00eft Ben Haddou\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/oady-draa-almghrb.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/oady-draa-almghrb.jpg\" alt=\"Draa Valley\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/casablanca-desert-tour-to-erg-chigaga-dunes0.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/casablanca-desert-tour-to-erg-chigaga-dunes0.jpg\" alt=\"Erg Chebbi desert camp\">\n    <\/a>\n  <\/div>\n\n  <div class=\"dmt-layout\">\n    <!-- LEFT COLUMN : CONTENT -->\n    <div>\n      <div class=\"dmt-section dmt-about\">\n        <span class=\"dmt-kicker\">About this tour<\/span>\n        <h2>All Morocco's imperial cities, the Atlantic coast and the Sahara Desert<\/h2>\n        <p>On this Great Morocco Tour you will visit all Morocco's imperial cities, the Atlantic Ocean and the most incredible Sahara Desert. In a comfortable 4\u00d74 or Mini-bus with A\/C, you will cross roads, mountains, dirt tracks, valleys, ports, gorges, camel trekking in the Merzouga dunes, and Berber villages steeped in history and Moroccan culture.<\/p>\n      <\/div>\n\n      <div class=\"dmt-section\">\n        <span class=\"dmt-kicker\">Itinerary<\/span>\n        <h2>9 Days \/ 8 Nights \u2014 Day by day<\/h2>\n        <div class=\"dmt-accordion\" id=\"dmt-accordion\">\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">01<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Arrival \u2014 Casablanca<\/span>\n                <span class=\"dmt-acc-subtitle\">Airport Transfer \u00b7 Casablanca City Centre<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>Welcome to Morocco. Transfer from the airport to your hotel in Casablanca city centre. Dinner and overnight in hotel.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">02<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Casablanca to Meknes via Rabat<\/span>\n                <span class=\"dmt-acc-subtitle\">Hassan II Mosque \u00b7 Boulevard Mohamed V \u00b7 Corniche \u00b7 Mohammed V Mausoleum \u00b7 Hassan Tower \u00b7 Oudaya \u00b7 Chellah<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>After breakfast, depart for Rabat with a stop in Casablanca to visit its economic landmarks: United Nations Square, Boulevard Mohamed V, the ANFA district and the Corniche, with an external visit to the Hassan II Mosque \u2014 the largest outside Mecca. After lunch, continue to Rabat for the Mohammed V Mausoleum, the Hassan Tower, the Kasbah Chellah and the Oudaya gardens. Then drive to Meknes. Dinner and overnight in hotel.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">03<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Meknes to Fes<\/span>\n                <span class=\"dmt-acc-subtitle\">Volubilis \u00b7 Roman Ruins \u00b7 Moulay Ismail Mausoleum \u00b7 Bab Mansour \u00b7 Fes Medina \u00b7 Al Qaraouine<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>Depart for Volubilis to visit the Roman ruins, thermal baths of Gallien, the forum and the capitol. In Meknes, visit the Moulay Ismail Mausoleum, Bab Mansour and Bab Khdim. Then depart for Fes \u2014 the kingdom's spiritual capital. Visit the Medersa Attarine, the Nejjarine fountain and the Al Qaraouine University. Lunch in an ancient Medina palace. Continue to Fes Jdid, its walls, the Royal Palace and a panoramic view over the old town. Dinner and overnight in hotel.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">04<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Fes to Merzouga<\/span>\n                <span class=\"dmt-acc-subtitle\">Midelt \u00b7 Fossils \u00b7 Ziz Gorges \u00b7 Ziz Valley \u00b7 Meski Blue Spring \u00b7 Erfoud \u00b7 Erg Chebbi<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>After breakfast, depart for Midelt \u2014 famous for its minerals and fossils. Pass through the spectacular Ziz Gorges and Erfoud, travelling along the Ziz Valley with a stop at the blue spring of Meski. Arrive at the Merzouga dunes in the late afternoon and take time to admire the ever-changing light on the dunes. Dinner and overnight in hotel.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">05<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Merzouga \u2014 Desert Exploration & Camel Trek<\/span>\n                <span class=\"dmt-acc-subtitle\">Khamlia \u00b7 Gnawa Music \u00b7 Nomad Families \u00b7 Mifiss Mines \u00b7 Tissardmine Oasis \u00b7 Sunset Camel Trek \u00b7 Bivouac<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>After breakfast, explore the two oases of Merzouga, visit nomadic families, the village of Khamlia and its centuries-old Gnawa music tradition, the Mifiss mines and the Tissardmine oasis. Return to the hotel, then in the afternoon mount your camel for a trek guided by an experienced camel man across the golden ocean of sand. Spend the night in the middle of the dunes under a nomadic tent.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">06<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Merzouga to Ouarzazate<\/span>\n                <span class=\"dmt-acc-subtitle\">Rissani \u00b7 Palm Grove \u00b7 Ancient Kasbahs \u00b7 Fossil Quarry \u00b7 Todra Gorges \u00b7 Dades Valley \u00b7 Rose Valley \u00b7 Kelaa M'Gouna<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>Travel east along Erg Chebbi, stopping at Rissani \u2014 the first Alaoui city and a major centre of commerce. Visit its palm grove, ancient kasbahs and enormous souk, then continue via a fossil quarry to the Todra Gorges for lunch. Then through Boulmane Dades, arriving at Kelaa M'Gouna \u2014 famous for its rose valley and rosewater production. Drive the Road of a Thousand Kasbahs to Ouarzazate. Dinner and overnight in hotel.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">07<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Ouarzazate to Marrakech<\/span>\n                <span class=\"dmt-acc-subtitle\">Taourirt Kasbah \u00b7 A\u00eft Ben Haddou (UNESCO) \u00b7 Tizi n'Tichka \u00b7 Atlas Mountains<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>After breakfast, visit the Kasbah Taourirt, then the famous UNESCO ksar of A\u00eft Ben Haddou \u2014 setting for Lawrence of Arabia, Tea in the Sahara, Game of Thrones and Gladiator. Visit the Kasbah to discover the authentic Berber life of Morocco. Lunch, then road to Marrakech via the Tizi n'Tichka pass (2,260m). Check into hotel.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">08<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Exploring Marrakech<\/span>\n                <span class=\"dmt-acc-subtitle\">Menara Gardens \u00b7 Koutoubia Minaret \u00b7 Saadian Tombs \u00b7 Bahia Palace \u00b7 Souks \u00b7 Djemaa el-Fna<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>Discover the famous Red City with a local guide. Visit the historic monuments: Menara Gardens, the Koutoubia Minaret, the Saadian Tombs and the Bahia Palace. Lose yourself in the enormous souk and plunge into the effervescence of Djemaa el-Fna Square \u2014 be spellbound by dancers, snake charmers, jugglers, storytellers and musicians at the heart of millenary Morocco. Dinner and overnight in hotel.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"dmt-acc-item\">\n            <button class=\"dmt-acc-header\" type=\"button\">\n              <span class=\"dmt-acc-day-wrap\"><span class=\"dmt-acc-day-label\">Day<\/span><span class=\"dmt-acc-day-num\">09<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\">\n                <span class=\"dmt-acc-title\">Marrakech \u2014 Airport Transfer<\/span>\n                <span class=\"dmt-acc-subtitle\">Free time in Medina \u00b7 Transfer to Casablanca airport<\/span>\n              <\/span>\n              <span class=\"dmt-acc-icon\"><\/span>\n            <\/button>\n            <div class=\"dmt-acc-body\">\n              <div class=\"dmt-acc-body-inner\">\n                <p>Breakfast at the Riad, then free time in the Marrakech Medina. Transfer to the airport according to your flight schedule. End of the trip.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n\n        <\/div>\n      <\/div>\n\n      <div class=\"dmt-section\">\n        <span class=\"dmt-kicker\">Good to know<\/span>\n        <h2>Included \/ Excluded<\/h2>\n        <div class=\"dmt-incl-grid\">\n          <div class=\"dmt-incl-card\">\n            <h4>Included<\/h4>\n            <ul>\n              <li>Pick up and drop off at Casablanca airport or hotel<\/li>\n              <li>9 days private exclusive service of a Land Cruiser 4x4 with A\/C<\/li>\n              <li>9 days service of an English speaking driver\/guide<\/li>\n              <li>Local guide in Fes and Marrakech<\/li>\n              <li>7 nights en-suite accommodation<\/li>\n              <li>1 night under nomadic tent<\/li>\n              <li>Camel ride to desert camp<\/li>\n              <li>Sandboarding in the dunes<\/li>\n              <li>8 breakfasts & 8 dinners<\/li>\n            <\/ul>\n          <\/div>\n          <div class=\"dmt-incl-card excl\">\n            <h4>Excluded<\/h4>\n            <ul>\n              <li>Drinks<\/li>\n              <li>Lunches<\/li>\n              <li>Dinners in Fes & Marrakech<\/li>\n              <li>Entrance \/ Activity fees<\/li>\n              <li>Tips and gratuities<\/li>\n            <\/ul>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"dmt-section\">\n        <span class=\"dmt-kicker\">Tour's location<\/span>\n        <h2>Casablanca \u2192 Rabat \u2192 Meknes \u2192 Fes \u2192 Merzouga \u2192 Ouarzazate \u2192 Marrakech<\/h2>\n        <div class=\"dmt-map\">\n          <iframe src=\"https:\/\/www.google.com\/maps\/d\/embed?mid=1P-WMw5yvde_VJWB2VVHBcGt5KmUt1T4&ehbc=2E312F\" loading=\"lazy\"><\/iframe>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- RIGHT COLUMN : BOOKING FORM SHORTCODE -->\n    <div>\n      \t\t\t<link rel=\"stylesheet\" id=\"elementor-post-29281-css\" href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/elementor\/css\/post-29281.css?ver=1784243140\" type=\"text\/css\" media=\"all\">\n\t\t\t\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"29281\" class=\"elementor elementor-29281\" data-elementor-post-type=\"cms_block\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-7fadad2 e-flex e-con-boxed e-con e-parent\" data-id=\"7fadad2\" 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-00b3a27 elementor-widget elementor-widget-html\" data-id=\"00b3a27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\n  GENERIC BOOKING FORM \u2014 Definitely Morocco Tours\n  Reusable shortcode widget for ALL tour\/activity pages\n  Palette : Sand #DAD3C1 \/ White #FFFFFF only\n  Font    : Lexend (Google Fonts), regular style only\n  Auto-detects the tour name from the page title (document.title)\n  Direct email delivery via FormSubmit (AJAX) \u2014 no mail client needed\n  Shows a confirmation popup after successful submission\n============================================================ -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Lexend:wght@300;400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n<style>\n  #dmt-booking-form-widget {\n    --sand: #DAD3C1;\n    --sand-deep: #C7BEA6;\n    --sand-pale: #EFEBE1;\n    --white: #FFFFFF;\n    --text: #3A372F;\n    --text-soft: #6B6757;\n    --line: rgba(58,55,47,0.14);\n    font-family: 'Lexend', sans-serif;\n    font-style: normal;\n    color: var(--text);\n    max-width: 460px;\n    box-sizing: border-box;\n  }\n  #dmt-booking-form-widget * {\n    box-sizing: border-box;\n    font-family: 'Lexend', sans-serif;\n    font-style: normal !important;\n  }\n\n  \/* ---------- BOOKING CARD ---------- *\/\n  .dmt-book-card {\n    background-color: #EFEBE1 !important;\n    border: 1px solid #C7BEA6;\n    color: var(--text);\n    border-radius: 22px;\n    padding: 32px;\n  }\n  .dmt-book-card .dmt-book-head { margin-bottom: 22px; }\n  .dmt-book-card .dmt-book-head .label {\n    font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-soft);\n  }\n  .dmt-book-card .dmt-book-head h3 {\n    font-size: 21px; font-weight: 700; margin: 8px 0 0; color: var(--text);\n  }\n  .dmt-book-card .dmt-book-head .sub {\n    font-size: 14px; margin-top: 8px; color: var(--text-soft); line-height: 1.5;\n  }\n  .dmt-book-card .dmt-book-head .tour-tag {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    margin-top: 12px;\n    background-color: #FFFFFF !important;\n    border: 1px solid #C7BEA6;\n    border-radius: 8px;\n    padding: 7px 12px;\n    font-size: 12.5px;\n    font-weight: 600;\n    color: var(--text);\n  }\n\n  .dmt-field { margin-bottom: 16px; }\n  .dmt-field label {\n    display: block;\n    font-size: 12px;\n    font-weight: 500;\n    letter-spacing: 0.04em;\n    color: var(--text-soft);\n    margin-bottom: 7px;\n  }\n  .dmt-field input, .dmt-field textarea {\n    width: 100%;\n    background-color: #FFFFFF !important;\n    border: 1px solid #C7BEA6;\n    border-radius: 10px;\n    padding: 12px 14px;\n    color: var(--text);\n    font-size: 14px;\n    outline: none;\n    transition: border-color .2s;\n  }\n  .dmt-field input::placeholder, .dmt-field textarea::placeholder { color: #A9A290; }\n  .dmt-field input:focus, .dmt-field textarea:focus { border-color: var(--text-soft); }\n  .dmt-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n\n  \/* ---------- PHONE: country code selector ---------- *\/\n  .dmt-phone-group { display: flex; gap: 8px; }\n  .dmt-country-btn {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    background-color: #FFFFFF !important;\n    border: 1px solid #C7BEA6;\n    border-radius: 10px;\n    padding: 0 10px;\n    cursor: pointer;\n    font-size: 14px;\n    color: var(--text);\n    flex-shrink: 0;\n    white-space: nowrap;\n  }\n  .dmt-country-btn .flag { font-size: 16px; }\n  .dmt-country-btn .chev { font-size: 10px; opacity: 0.6; margin-left: 2px; }\n  .dmt-phone-group input { flex: 1; }\n\n  \/* ---------- Country popup (fixed overlay, fully opaque) ---------- *\/\n  .dmt-country-overlay {\n    position: fixed !important;\n    inset: 0 !important;\n    background-color: rgba(40,37,30,0.55) !important;\n    background-image: none !important;\n    z-index: 999999 !important;\n    display: none;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    opacity: 1 !important;\n    filter: none !important;\n  }\n  .dmt-country-overlay.open { display: flex !important; }\n  .dmt-country-popup {\n    background-color: #FFFFFF !important;\n    background-image: none !important;\n    border-radius: 20px;\n    padding: 18px;\n    width: 320px;\n    max-height: 70vh;\n    display: flex;\n    flex-direction: column;\n    box-shadow: 0 30px 60px rgba(0,0,0,0.35);\n    font-family: 'Lexend', sans-serif !important;\n    opacity: 1 !important;\n    filter: none !important;\n    isolation: isolate;\n    position: relative;\n  }\n  .dmt-country-popup * { opacity: 1 !important; filter: none !important; }\n  .dmt-country-popup-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 12px;\n    font-weight: 600;\n    font-size: 15px;\n    color: #3A372F !important;\n    flex-shrink: 0;\n  }\n  .dmt-country-search {\n    width: 100%;\n    background-color: #EFEBE1 !important;\n    border: 1px solid #C7BEA6 !important;\n    border-radius: 10px;\n    padding: 10px 12px;\n    font-size: 13.5px;\n    color: #3A372F !important;\n    margin-bottom: 10px;\n    flex-shrink: 0;\n  }\n  .dmt-country-search::placeholder { color: #A9A290 !important; }\n  .dmt-country-list { overflow-y: auto; flex: 1; }\n  .dmt-country-item {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 9px 10px;\n    border-radius: 8px;\n    cursor: pointer;\n    font-size: 13.5px;\n    color: #3A372F !important;\n    background-color: transparent !important;\n  }\n  .dmt-country-item:hover { background-color: #EFEBE1 !important; }\n  .dmt-country-item .flag { font-size: 16px; }\n  .dmt-country-item .name { flex: 1; }\n  .dmt-country-item .code { color: #6B6757 !important; font-size: 12.5px; }\n  .dmt-country-popup-close {\n    background: none; border: none; color: #6B6757 !important;\n    font-size: 13px; cursor: pointer;\n  }\n  .dmt-country-popup-close:hover { color: #3A372F !important; }\n\n  \/* ---------- CUSTOM CALENDAR ---------- *\/\n  .dmt-date-display {\n    width: 100%;\n    background-color: #FFFFFF !important;\n    border: 1px solid #C7BEA6;\n    border-radius: 10px;\n    padding: 12px 14px;\n    font-size: 14px;\n    color: var(--text-soft);\n    text-align: left;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n  .dmt-date-display.filled { color: var(--text); font-weight: 500; }\n  .dmt-date-display .ico { font-size: 13px; }\n  .dmt-date-display:hover { border-color: var(--text-soft); }\n\n  .dmt-cal-overlay {\n    position: fixed !important;\n    inset: 0 !important;\n    background-color: rgba(40,37,30,0.55) !important;\n    background-image: none !important;\n    z-index: 999999 !important;\n    display: none;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    opacity: 1 !important;\n    filter: none !important;\n    backdrop-filter: none !important;\n  }\n  .dmt-cal-overlay.open { display: flex !important; }\n  .dmt-cal-popup {\n    background-color: #FFFFFF !important;\n    background-image: none !important;\n    border-radius: 20px;\n    padding: 24px;\n    width: 380px;\n    max-width: 92vw;\n    box-shadow: 0 30px 60px rgba(0,0,0,0.35);\n    font-family: 'Lexend', sans-serif !important;\n    opacity: 1 !important;\n    filter: none !important;\n    isolation: isolate;\n    position: relative;\n  }\n  .dmt-cal-popup * { opacity: 1 !important; filter: none !important; }\n  .dmt-cal-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 18px;\n    font-weight: 600;\n    font-size: 16px;\n    color: #3A372F !important;\n  }\n  .dmt-cal-nav {\n    width: 34px; height: 34px;\n    border-radius: 8px;\n    border: 1px solid #C7BEA6 !important;\n    background-color: #EFEBE1 !important;\n    color: #3A372F !important;\n    font-size: 16px;\n    cursor: pointer;\n    flex-shrink: 0;\n  }\n  .dmt-cal-nav:hover { background-color: #DAD3C1 !important; }\n  .dmt-cal-weekdays {\n    display: grid;\n    grid-template-columns: repeat(7, minmax(0, 1fr));\n    text-align: center;\n    font-size: 11.5px;\n    font-weight: 600;\n    letter-spacing: 0.04em;\n    color: #6B6757 !important;\n    margin-bottom: 8px;\n  }\n  .dmt-cal-grid {\n    display: grid;\n    grid-template-columns: repeat(7, minmax(0, 1fr));\n    gap: 6px;\n  }\n  .dmt-cal-day {\n    width: 100%;\n    aspect-ratio: 1\/1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border-radius: 9px;\n    font-size: 14px;\n    color: #3A372F !important;\n    cursor: pointer;\n    border: none;\n    background-color: transparent !important;\n  }\n  .dmt-cal-day:hover:not(.disabled):not(.empty) { background-color: #EFEBE1 !important; }\n  .dmt-cal-day.empty { visibility: hidden; cursor: default; }\n  .dmt-cal-day.disabled { color: #C9C4B4 !important; cursor: not-allowed; }\n  .dmt-cal-day.selected { background-color: #C7BEA6 !important; color: #3A372F !important; font-weight: 700; }\n  .dmt-cal-day.today { box-shadow: inset 0 0 0 1.5px #C7BEA6; }\n  .dmt-cal-footer { margin-top: 14px; display: flex; justify-content: flex-end; }\n  .dmt-cal-cancel {\n    background: none; border: none; color: #6B6757 !important;\n    font-size: 13px; cursor: pointer; padding: 6px 10px;\n  }\n  .dmt-cal-cancel:hover { color: #3A372F !important; }\n\n  \/* ---------- STEPPER ---------- *\/\n  .dmt-stepper {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    background-color: #FFFFFF !important;\n    border: 1px solid #C7BEA6;\n    border-radius: 10px;\n    padding: 6px 8px;\n  }\n  .dmt-stepper button {\n    width: 32px; height: 32px;\n    border-radius: 8px;\n    border: none;\n    background-color: #EFEBE1 !important;\n    color: var(--text);\n    font-size: 16px;\n    cursor: pointer;\n    transition: background .15s;\n  }\n  .dmt-stepper button:hover { background-color: #DAD3C1 !important; }\n  .dmt-stepper .count { font-size: 15px; font-weight: 600; color: var(--text); }\n\n  \/* ---------- BUTTONS ---------- *\/\n  .dmt-submit-btn {\n    width: 100%;\n    border: none;\n    border-radius: 12px;\n    padding: 15px 18px;\n    font-size: 15px;\n    font-weight: 700;\n    letter-spacing: 0.01em;\n    cursor: pointer;\n    margin-top: 8px;\n    transition: transform .15s, background .15s, opacity .15s;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n  }\n  .dmt-submit-btn:active { transform: translateY(0); }\n  .dmt-submit-btn:disabled { opacity: 0.65; cursor: not-allowed; transform: none; }\n  .dmt-submit-email { background-color: #C7BEA6 !important; color: var(--text); }\n  .dmt-submit-email:hover:not(:disabled) { background-color: #DAD3C1 !important; transform: translateY(-1px); }\n  .dmt-submit-wa {\n    background-color: #FFFFFF !important;\n    color: var(--text);\n    border: 1px solid #C7BEA6;\n    margin-top: 10px;\n    font-size: 14px;\n  }\n  .dmt-submit-wa:hover:not(:disabled) { background-color: #EFEBE1 !important; transform: translateY(-1px); }\n\n  .dmt-spinner {\n    width: 15px; height: 15px;\n    border-radius: 50%;\n    border: 2px solid rgba(58,55,47,0.25);\n    border-top-color: #3A372F;\n    animation: dmt-spin .7s linear infinite;\n    display: inline-block;\n  }\n  @keyframes dmt-spin { to { transform: rotate(360deg); } }\n\n  .dmt-status {\n    margin-top: 14px;\n    font-size: 13px;\n    text-align: center;\n    display: none;\n    padding: 10px;\n    border-radius: 8px;\n  }\n  .dmt-status.show { display: block; }\n  .dmt-status.ok { background-color: #DAD3C1 !important; color: var(--text); }\n  .dmt-status.err { background-color: #F3D9D3 !important; color: #7A342A; }\n\n  .dmt-trust {\n    display: flex;\n    gap: 18px;\n    margin-top: 22px;\n    padding-top: 20px;\n    border-top: 1px solid #C7BEA6;\n    font-size: 12px;\n    color: var(--text-soft);\n    flex-wrap: wrap;\n  }\n  .dmt-trust div { display: flex; align-items: center; gap: 6px; }\n\n  \/* ---------- CONFIRMATION POPUP (after successful submission) ---------- *\/\n  .dmt-confirm-overlay {\n    position: fixed !important;\n    inset: 0 !important;\n    background-color: rgba(40,37,30,0.6) !important;\n    background-image: none !important;\n    z-index: 9999999 !important;\n    display: none;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    opacity: 1 !important;\n    filter: none !important;\n  }\n  .dmt-confirm-overlay.open { display: flex !important; }\n  .dmt-confirm-popup {\n    background-color: #FFFFFF !important;\n    background-image: none !important;\n    border-radius: 22px;\n    padding: 36px 32px 30px;\n    width: 380px;\n    max-width: 92vw;\n    text-align: center;\n    box-shadow: 0 30px 70px rgba(0,0,0,0.4);\n    font-family: 'Lexend', sans-serif !important;\n    opacity: 1 !important;\n    filter: none !important;\n    isolation: isolate;\n    position: relative;\n    transform: scale(0.94);\n    transition: transform .25s ease;\n  }\n  .dmt-confirm-overlay.open .dmt-confirm-popup { transform: scale(1); }\n  .dmt-confirm-popup * { opacity: 1 !important; filter: none !important; }\n  .dmt-confirm-icon {\n    width: 62px; height: 62px;\n    border-radius: 50%;\n    background-color: #EFEBE1 !important;\n    border: 1px solid #C7BEA6;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 28px;\n    margin: 0 auto 18px;\n    color: #3A372F !important;\n  }\n  .dmt-confirm-popup h4 {\n    font-size: 19px;\n    font-weight: 700;\n    color: #3A372F !important;\n    margin: 0 0 10px;\n  }\n  .dmt-confirm-popup p {\n    font-size: 14px;\n    line-height: 1.6;\n    color: #6B6757 !important;\n    margin: 0 0 24px;\n  }\n  .dmt-confirm-popup .tour-recap {\n    background-color: #EFEBE1 !important;\n    border: 1px solid #C7BEA6;\n    border-radius: 12px;\n    padding: 12px 14px;\n    font-size: 13px;\n    color: #3A372F !important;\n    margin-bottom: 22px;\n    text-align: left;\n  }\n  .dmt-confirm-popup .tour-recap strong { font-weight: 600; }\n  .dmt-confirm-close-btn {\n    width: 100%;\n    border: none;\n    border-radius: 12px;\n    padding: 13px 18px;\n    font-size: 14.5px;\n    font-weight: 700;\n    cursor: pointer;\n    background-color: #C7BEA6 !important;\n    color: #3A372F !important;\n    transition: background .15s, transform .15s;\n  }\n  .dmt-confirm-close-btn:hover { background-color: #DAD3C1 !important; transform: translateY(-1px); }\n  .dmt-confirm-popup-x {\n    position: absolute;\n    top: 14px; right: 14px;\n    width: 28px; height: 28px;\n    border-radius: 50%;\n    background-color: #EFEBE1 !important;\n    border: none;\n    color: #3A372F !important;\n    font-size: 13px;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  \/* ---------- MOBILE STICKY BUTTON + BOTTOM SHEET ---------- *\/\n  .dmt-sticky-book-btn { display: none; }\n  .dmt-sheet-overlay { display: none; }\n  .dmt-sheet-handle { display: none; }\n  .dmt-sheet-close { display: none; }\n\n  @media (max-width: 860px) {\n    .dmt-sticky-book-btn {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      position: fixed;\n      left: 16px;\n      right: 16px;\n      bottom: 16px;\n      z-index: 99998;\n      background-color: #DAD3C1 !important;\n      color: #3A372F !important;\n      border: 1px solid #C7BEA6;\n      border-radius: 16px;\n      padding: 16px 20px;\n      box-shadow: 0 12px 30px rgba(58,55,47,0.22);\n      cursor: pointer;\n    }\n    .dmt-sticky-book-btn .sticky-label {\n      font-size: 12.5px;\n      color: #6B6757 !important;\n      font-weight: 400;\n    }\n    .dmt-sticky-book-btn .sticky-cta {\n      font-size: 15.5px;\n      font-weight: 700;\n      color: #3A372F !important;\n      display: flex;\n      align-items: center;\n      gap: 6px;\n    }\n    .dmt-sticky-book-btn .arrow { color: #3A372F !important; }\n    .dmt-sticky-book-btn { flex-direction: column; align-items: flex-start; gap: 2px; }\n    .dmt-sticky-book-btn .sticky-cta { align-self: stretch; justify-content: space-between; }\n    .dmt-sticky-book-btn.hidden { transform: translateY(150%); }\n    .dmt-sticky-book-btn { transition: transform .25s ease; }\n\n    .dmt-sheet-overlay {\n      position: fixed; inset: 0;\n      background-color: rgba(40,37,30,0.55) !important;\n      z-index: 99996;\n      opacity: 0;\n      visibility: hidden;\n      transition: opacity .25s ease;\n    }\n    .dmt-sheet-overlay.open { opacity: 1; visibility: visible; }\n\n    .dmt-book-card {\n      position: fixed !important;\n      left: 0; right: 0; bottom: 0;\n      top: auto !important;\n      z-index: 99997;\n      max-height: 88vh;\n      overflow-y: auto;\n      border-radius: 24px 24px 0 0 !important;\n      box-shadow: 0 -16px 40px rgba(0,0,0,0.3);\n      transform: translateY(105%);\n      transition: transform .32s cubic-bezier(.32,.72,0,1);\n      max-width: 100% !important;\n      width: 100%;\n      padding-top: 14px !important;\n    }\n    .dmt-book-card.open { transform: translateY(0); }\n\n    .dmt-sheet-handle {\n      display: block;\n      width: 40px;\n      height: 4px;\n      border-radius: 4px;\n      background-color: #C7BEA6 !important;\n      margin: 0 auto 14px;\n    }\n    .dmt-sheet-close {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      position: absolute;\n      top: 14px; right: 16px;\n      width: 30px; height: 30px;\n      border-radius: 50%;\n      background-color: #EFEBE1 !important;\n      border: none;\n      color: #3A372F !important;\n      font-size: 14px;\n      cursor: pointer;\n    }\n\n    \/* Body padding so content isn't hidden behind the sticky button *\/\n    body { padding-bottom: 90px; }\n  }\n<\/style>\n\n<div id=\"dmt-booking-form-widget\">\n\n  <!-- STICKY MOBILE BUTTON -->\n  <button type=\"button\" class=\"dmt-sticky-book-btn\" id=\"dmt-sticky-book-btn\">\n    <span class=\"sticky-label\">Book this tour<\/span>\n    <span class=\"sticky-cta\">Book now <span class=\"arrow\">\u2192<\/span><\/span>\n  <\/button>\n\n  <!-- Overlay behind the mobile sheet -->\n  <div class=\"dmt-sheet-overlay\" id=\"dmt-sheet-overlay\"><\/div>\n\n  <div class=\"dmt-book-card\" id=\"dmt-book-card\">\n    <div class=\"dmt-sheet-handle\" id=\"dmt-sheet-handle\"><\/div>\n    <button type=\"button\" class=\"dmt-sheet-close\" id=\"dmt-sheet-close\">\u2715<\/button>\n    <div class=\"dmt-book-head\">\n      <span class=\"label\">Reservation<\/span>\n      <h3>Book now<\/h3>\n      <div class=\"sub\">Send us your details and we'll confirm availability and pricing for your group.<\/div>\n      <div class=\"tour-tag\">\ud83d\udccd <span id=\"dmt-tour-name-display\">This tour<\/span><\/div>\n    <\/div>\n\n    <form id=\"dmt-booking-form\">\n      <div class=\"dmt-field\">\n        <label for=\"dmt-name\">Your name<\/label>\n        <input type=\"text\" id=\"dmt-name\" placeholder=\"Your name\" required>\n      <\/div>\n\n      <div class=\"dmt-field\">\n        <label for=\"dmt-email\">Your email<\/label>\n        <input type=\"email\" id=\"dmt-email\" placeholder=\"you@email.com\" required>\n      <\/div>\n\n      <div class=\"dmt-field\">\n        <label for=\"dmt-phone\">Your phone<\/label>\n        <div class=\"dmt-phone-group\">\n          <button type=\"button\" class=\"dmt-country-btn\" id=\"dmt-country-btn\">\n            <span class=\"flag\" id=\"dmt-country-flag\">\ud83c\uddf2\ud83c\udde6<\/span>\n            <span class=\"code\" id=\"dmt-country-code\">+212<\/span>\n            <span class=\"chev\">\u25be<\/span>\n          <\/button>\n          <input type=\"tel\" id=\"dmt-phone\" placeholder=\"6 12 34 56 78\" required>\n        <\/div>\n      <\/div>\n\n      <div class=\"dmt-field\">\n        <label>Travel dates<\/label>\n        <div class=\"dmt-row2\">\n          <div class=\"dmt-date-box\">\n            <button type=\"button\" class=\"dmt-date-display\" id=\"dmt-date-from-btn\">\n              <span class=\"ico\">\ud83d\udcc5<\/span>\n              <span id=\"dmt-date-from-label\">From<\/span>\n            <\/button>\n          <\/div>\n          <div class=\"dmt-date-box\">\n            <button type=\"button\" class=\"dmt-date-display\" id=\"dmt-date-to-btn\">\n              <span class=\"ico\">\ud83d\udcc5<\/span>\n              <span id=\"dmt-date-to-label\">To<\/span>\n            <\/button>\n          <\/div>\n        <\/div>\n        <input type=\"hidden\" id=\"dmt-date-from\">\n        <input type=\"hidden\" id=\"dmt-date-to\">\n      <\/div>\n\n      <div class=\"dmt-field\">\n        <label>Number of participants<\/label>\n        <div class=\"dmt-stepper\">\n          <button type=\"button\" id=\"dmt-minus\">\u2212<\/button>\n          <span class=\"count\" id=\"dmt-count\">2<\/span>\n          <button type=\"button\" id=\"dmt-plus\">+<\/button>\n        <\/div>\n      <\/div>\n\n      <div class=\"dmt-field\">\n        <label for=\"dmt-message\">Your message (optional)<\/label>\n        <textarea id=\"dmt-message\" rows=\"3\" placeholder=\"Anything else we should know?\"><\/textarea>\n      <\/div>\n\n      <button type=\"submit\" class=\"dmt-submit-btn dmt-submit-email\" id=\"dmt-submit-email-btn\">\u2709\ufe0f Send booking request<\/button>\n      <button type=\"button\" class=\"dmt-submit-btn dmt-submit-wa\" id=\"dmt-send-wa\">\ud83d\udcac Send via WhatsApp<\/button>\n      <div class=\"dmt-status\" id=\"dmt-status\"><\/div>\n    <\/form>\n\n    <div class=\"dmt-trust\">\n      <div>\u2713 Fast reply<\/div>\n      <div>\u2713 No obligation<\/div>\n      <div>\u2713 Pay on arrival<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- CUSTOM CALENDAR POPUP -->\n<div class=\"dmt-cal-overlay\" id=\"dmt-cal-overlay\">\n  <div class=\"dmt-cal-popup\">\n    <div class=\"dmt-cal-head\">\n      <button type=\"button\" class=\"dmt-cal-nav\" id=\"dmt-cal-prev\">\u2039<\/button>\n      <span id=\"dmt-cal-title\">Month Year<\/span>\n      <button type=\"button\" class=\"dmt-cal-nav\" id=\"dmt-cal-next\">\u203a<\/button>\n    <\/div>\n    <div class=\"dmt-cal-weekdays\">\n      <span>Su<\/span><span>Mo<\/span><span>Tu<\/span><span>We<\/span><span>Th<\/span><span>Fr<\/span><span>Sa<\/span>\n    <\/div>\n    <div class=\"dmt-cal-grid\" id=\"dmt-cal-grid\"><\/div>\n    <div class=\"dmt-cal-footer\">\n      <button type=\"button\" class=\"dmt-cal-cancel\" id=\"dmt-cal-cancel\">Cancel<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- COUNTRY CODE POPUP -->\n<div class=\"dmt-country-overlay\" id=\"dmt-country-overlay\">\n  <div class=\"dmt-country-popup\">\n    <div class=\"dmt-country-popup-head\">\n      <span>Select country code<\/span>\n      <button type=\"button\" class=\"dmt-country-popup-close\" id=\"dmt-country-popup-close\">\u2715<\/button>\n    <\/div>\n    <input type=\"text\" class=\"dmt-country-search\" id=\"dmt-country-search\" placeholder=\"Search country...\">\n    <div class=\"dmt-country-list\" id=\"dmt-country-list\"><\/div>\n  <\/div>\n<\/div>\n\n<!-- SUCCESS CONFIRMATION POPUP (shown after the booking request is sent) -->\n<div class=\"dmt-confirm-overlay\" id=\"dmt-confirm-overlay\">\n  <div class=\"dmt-confirm-popup\">\n    <button type=\"button\" class=\"dmt-confirm-popup-x\" id=\"dmt-confirm-popup-x\">\u2715<\/button>\n    <div class=\"dmt-confirm-icon\">\u2713<\/div>\n    <h4>Request sent successfully!<\/h4>\n    <p>Thank you, your booking request has been received. Our team will get back to you shortly to confirm availability and pricing.<\/p>\n    <div class=\"tour-recap\" id=\"dmt-confirm-recap\"><\/div>\n    <button type=\"button\" class=\"dmt-confirm-close-btn\" id=\"dmt-confirm-close-btn\">Got it, thanks!<\/button>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  const root = document.getElementById('dmt-booking-form-widget');\n  if (!root) return;\n\n  \/\/ ---------- Recipient details (edit here if needed) ----------\n  const WHATSAPP_NUMBER = \"212693896597\"; \/\/ +212 6 93 89 65 97, without \"+\"\n  const EMAIL_TO = \"contact@definitelymoroccotours.com\";\n  \/\/ FormSubmit endpoint: sends the form directly to EMAIL_TO, no mail client popup\n  const FORMSUBMIT_ENDPOINT = \"https:\/\/formsubmit.co\/ajax\/\" + EMAIL_TO;\n\n  \/\/ ---------- Auto-detect tour name from page title ----------\n  function detectTourName(){\n    let title = document.title || \"\";\n    title = title.split(\" - Definitely Morocco Tours\")[0];\n    title = title.split(\" | \")[0];\n    title = title.split(\" \u2013 \")[0];\n    title = title.trim();\n    return title || \"this tour\";\n  }\n  const TOUR_NAME = detectTourName();\n  const tourNameDisplay = document.getElementById('dmt-tour-name-display');\n  if (tourNameDisplay) tourNameDisplay.textContent = TOUR_NAME;\n\n  \/\/ ---------- Mobile bottom sheet ----------\n  const stickyBtn = document.getElementById('dmt-sticky-book-btn');\n  const sheetOverlay = document.getElementById('dmt-sheet-overlay');\n  const sheetClose = document.getElementById('dmt-sheet-close');\n  const bookCard = document.getElementById('dmt-book-card');\n\n  function openSheet(){\n    bookCard.classList.add('open');\n    sheetOverlay.classList.add('open');\n    stickyBtn.classList.add('hidden');\n    document.body.style.overflow = 'hidden';\n  }\n  function closeSheet(){\n    bookCard.classList.remove('open');\n    sheetOverlay.classList.remove('open');\n    stickyBtn.classList.remove('hidden');\n    document.body.style.overflow = '';\n  }\n  if (stickyBtn) stickyBtn.addEventListener('click', openSheet);\n  if (sheetClose) sheetClose.addEventListener('click', closeSheet);\n  if (sheetOverlay) sheetOverlay.addEventListener('click', closeSheet);\n\n  \/\/ ---------- Stepper participants ----------\n  let count = 2;\n  const countEl = root.querySelector('#dmt-count');\n  root.querySelector('#dmt-minus').addEventListener('click', function(){\n    count = Math.max(1, count - 1);\n    countEl.textContent = count;\n  });\n  root.querySelector('#dmt-plus').addEventListener('click', function(){\n    count = Math.min(20, count + 1);\n    countEl.textContent = count;\n  });\n\n  \/\/ ---------- Country code selector ----------\n  const COUNTRIES = [\n    {name:\"Morocco\", code:\"+212\", flag:\"\ud83c\uddf2\ud83c\udde6\"},\n    {name:\"France\", code:\"+33\", flag:\"\ud83c\uddeb\ud83c\uddf7\"},\n    {name:\"Spain\", code:\"+34\", flag:\"\ud83c\uddea\ud83c\uddf8\"},\n    {name:\"United States\", code:\"+1\", flag:\"\ud83c\uddfa\ud83c\uddf8\"},\n    {name:\"United Kingdom\", code:\"+44\", flag:\"\ud83c\uddec\ud83c\udde7\"},\n    {name:\"Germany\", code:\"+49\", flag:\"\ud83c\udde9\ud83c\uddea\"},\n    {name:\"Italy\", code:\"+39\", flag:\"\ud83c\uddee\ud83c\uddf9\"},\n    {name:\"Portugal\", code:\"+351\", flag:\"\ud83c\uddf5\ud83c\uddf9\"},\n    {name:\"Netherlands\", code:\"+31\", flag:\"\ud83c\uddf3\ud83c\uddf1\"},\n    {name:\"Belgium\", code:\"+32\", flag:\"\ud83c\udde7\ud83c\uddea\"},\n    {name:\"Switzerland\", code:\"+41\", flag:\"\ud83c\udde8\ud83c\udded\"},\n    {name:\"Canada\", code:\"+1\", flag:\"\ud83c\udde8\ud83c\udde6\"},\n    {name:\"Brazil\", code:\"+55\", flag:\"\ud83c\udde7\ud83c\uddf7\"},\n    {name:\"Mexico\", code:\"+52\", flag:\"\ud83c\uddf2\ud83c\uddfd\"},\n    {name:\"Argentina\", code:\"+54\", flag:\"\ud83c\udde6\ud83c\uddf7\"},\n    {name:\"China\", code:\"+86\", flag:\"\ud83c\udde8\ud83c\uddf3\"},\n    {name:\"Japan\", code:\"+81\", flag:\"\ud83c\uddef\ud83c\uddf5\"},\n    {name:\"South Korea\", code:\"+82\", flag:\"\ud83c\uddf0\ud83c\uddf7\"},\n    {name:\"India\", code:\"+91\", flag:\"\ud83c\uddee\ud83c\uddf3\"},\n    {name:\"Australia\", code:\"+61\", flag:\"\ud83c\udde6\ud83c\uddfa\"},\n    {name:\"United Arab Emirates\", code:\"+971\", flag:\"\ud83c\udde6\ud83c\uddea\"},\n    {name:\"Saudi Arabia\", code:\"+966\", flag:\"\ud83c\uddf8\ud83c\udde6\"},\n    {name:\"Qatar\", code:\"+974\", flag:\"\ud83c\uddf6\ud83c\udde6\"},\n    {name:\"Egypt\", code:\"+20\", flag:\"\ud83c\uddea\ud83c\uddec\"},\n    {name:\"Algeria\", code:\"+213\", flag:\"\ud83c\udde9\ud83c\uddff\"},\n    {name:\"Tunisia\", code:\"+216\", flag:\"\ud83c\uddf9\ud83c\uddf3\"},\n    {name:\"Turkey\", code:\"+90\", flag:\"\ud83c\uddf9\ud83c\uddf7\"},\n    {name:\"Russia\", code:\"+7\", flag:\"\ud83c\uddf7\ud83c\uddfa\"},\n    {name:\"Sweden\", code:\"+46\", flag:\"\ud83c\uddf8\ud83c\uddea\"},\n    {name:\"Norway\", code:\"+47\", flag:\"\ud83c\uddf3\ud83c\uddf4\"},\n    {name:\"Denmark\", code:\"+45\", flag:\"\ud83c\udde9\ud83c\uddf0\"},\n    {name:\"Poland\", code:\"+48\", flag:\"\ud83c\uddf5\ud83c\uddf1\"},\n    {name:\"Ireland\", code:\"+353\", flag:\"\ud83c\uddee\ud83c\uddea\"},\n    {name:\"Austria\", code:\"+43\", flag:\"\ud83c\udde6\ud83c\uddf9\"},\n    {name:\"South Africa\", code:\"+27\", flag:\"\ud83c\uddff\ud83c\udde6\"},\n    {name:\"Israel\", code:\"+972\", flag:\"\ud83c\uddee\ud83c\uddf1\"},\n    {name:\"Singapore\", code:\"+65\", flag:\"\ud83c\uddf8\ud83c\uddec\"},\n    {name:\"New Zealand\", code:\"+64\", flag:\"\ud83c\uddf3\ud83c\uddff\"}\n  ];\n\n  let selectedCountry = COUNTRIES[0];\n  const countryBtn = root.querySelector('#dmt-country-btn');\n  const countryFlag = root.querySelector('#dmt-country-flag');\n  const countryCode = root.querySelector('#dmt-country-code');\n  const countryOverlay = document.getElementById('dmt-country-overlay');\n  const countryList = document.getElementById('dmt-country-list');\n  const countrySearch = document.getElementById('dmt-country-search');\n  const countryPopupClose = document.getElementById('dmt-country-popup-close');\n\n  function renderCountryList(filter){\n    countryList.innerHTML = '';\n    const f = (filter || '').trim().toLowerCase();\n    COUNTRIES\n      .filter(function(c){ return !f || c.name.toLowerCase().indexOf(f) !== -1 || c.code.indexOf(f) !== -1; })\n      .forEach(function(c){\n        const item = document.createElement('div');\n        item.className = 'dmt-country-item';\n        item.innerHTML = '<span class=\"flag\">'+c.flag+'<\/span><span class=\"name\">'+c.name+'<\/span><span class=\"code\">'+c.code+'<\/span>';\n        item.addEventListener('click', function(){\n          selectedCountry = c;\n          countryFlag.textContent = c.flag;\n          countryCode.textContent = c.code;\n          countryOverlay.classList.remove('open');\n        });\n        countryList.appendChild(item);\n      });\n  }\n  renderCountryList('');\n\n  countryBtn.addEventListener('click', function(){\n    countrySearch.value = '';\n    renderCountryList('');\n    countryOverlay.classList.add('open');\n    setTimeout(function(){ countrySearch.focus(); }, 50);\n  });\n  countrySearch.addEventListener('input', function(){\n    renderCountryList(countrySearch.value);\n  });\n  countryPopupClose.addEventListener('click', function(){\n    countryOverlay.classList.remove('open');\n  });\n  countryOverlay.addEventListener('click', function(e){\n    if (e.target === countryOverlay) countryOverlay.classList.remove('open');\n  });\n\n  \/\/ ---------- Custom calendar ----------\n  const calOverlay = document.getElementById('dmt-cal-overlay');\n  const calGrid = document.getElementById('dmt-cal-grid');\n  const calTitle = document.getElementById('dmt-cal-title');\n  const calPrev = document.getElementById('dmt-cal-prev');\n  const calNext = document.getElementById('dmt-cal-next');\n  const calCancel = document.getElementById('dmt-cal-cancel');\n\n  const dateFromBtn = root.querySelector('#dmt-date-from-btn');\n  const dateToBtn = root.querySelector('#dmt-date-to-btn');\n  const dateFromLabel = root.querySelector('#dmt-date-from-label');\n  const dateToLabel = root.querySelector('#dmt-date-to-label');\n  const dateFromInput = root.querySelector('#dmt-date-from');\n  const dateToInput = root.querySelector('#dmt-date-to');\n\n  const MONTH_NAMES = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\n  let calViewDate = new Date();\n  let activeTarget = null;\n  let selectedFrom = null, selectedTo = null;\n\n  function fmt(d){\n    return d.toLocaleDateString('en-US', { day: 'numeric', month: 'short', year: 'numeric' });\n  }\n  function toISO(d){\n    return d.getFullYear() + '-' + String(d.getMonth()+1).padStart(2,'0') + '-' + String(d.getDate()).padStart(2,'0');\n  }\n  function dayKey(d){\n    return d.getFullYear()*10000 + (d.getMonth()+1)*100 + d.getDate();\n  }\n  function sameDay(a,b){\n    return a && b && dayKey(a) === dayKey(b);\n  }\n\n  function renderCalendar(){\n    const year = calViewDate.getFullYear();\n    const month = calViewDate.getMonth();\n    calTitle.textContent = MONTH_NAMES[month] + \" \" + year;\n    calGrid.innerHTML = '';\n\n    const firstDay = new Date(year, month, 1).getDay();\n    const daysInMonth = new Date(year, month+1, 0).getDate();\n    const now = new Date();\n    const todayKey = now.getFullYear()*10000 + (now.getMonth()+1)*100 + now.getDate();\n\n    for (let i=0; i<firstDay; i++){\n      const empty = document.createElement('div');\n      empty.className = 'dmt-cal-day empty';\n      calGrid.appendChild(empty);\n    }\n    for (let d=1; d<=daysInMonth; d++){\n      const cellDate = new Date(year, month, d);\n      const cellKey = year*10000 + (month+1)*100 + d;\n      const btn = document.createElement('button');\n      btn.type = 'button';\n      btn.className = 'dmt-cal-day';\n      btn.textContent = d;\n      if (cellKey < todayKey) btn.classList.add('disabled');\n      if (cellKey === todayKey) btn.classList.add('today');\n      if (activeTarget === 'from' && sameDay(cellDate, selectedFrom)) btn.classList.add('selected');\n      if (activeTarget === 'to' && sameDay(cellDate, selectedTo)) btn.classList.add('selected');\n      if (!btn.classList.contains('disabled')){\n        btn.addEventListener('click', function(){\n          if (activeTarget === 'from'){\n            selectedFrom = cellDate;\n            dateFromInput.value = toISO(cellDate);\n            dateFromLabel.textContent = fmt(cellDate);\n            dateFromBtn.classList.add('filled');\n          } else {\n            selectedTo = cellDate;\n            dateToInput.value = toISO(cellDate);\n            dateToLabel.textContent = fmt(cellDate);\n            dateToBtn.classList.add('filled');\n          }\n          calOverlay.classList.remove('open');\n        });\n      }\n      calGrid.appendChild(btn);\n    }\n  }\n\n  function openCalendar(target){\n    activeTarget = target;\n    calViewDate = (target === 'from' && selectedFrom) ? new Date(selectedFrom) :\n                  (target === 'to' && selectedTo) ? new Date(selectedTo) : new Date();\n    renderCalendar();\n    calOverlay.classList.add('open');\n  }\n\n  dateFromBtn.addEventListener('click', function(){ openCalendar('from'); });\n  dateToBtn.addEventListener('click', function(){ openCalendar('to'); });\n  calPrev.addEventListener('click', function(){ calViewDate.setMonth(calViewDate.getMonth()-1); renderCalendar(); });\n  calNext.addEventListener('click', function(){ calViewDate.setMonth(calViewDate.getMonth()+1); renderCalendar(); });\n  calCancel.addEventListener('click', function(){ calOverlay.classList.remove('open'); });\n  calOverlay.addEventListener('click', function(e){ if (e.target === calOverlay) calOverlay.classList.remove('open'); });\n\n  \/\/ ---------- Confirmation popup ----------\n  const confirmOverlay = document.getElementById('dmt-confirm-overlay');\n  const confirmRecap = document.getElementById('dmt-confirm-recap');\n  const confirmCloseBtn = document.getElementById('dmt-confirm-close-btn');\n  const confirmPopupX = document.getElementById('dmt-confirm-popup-x');\n\n  function openConfirmPopup(data){\n    confirmRecap.innerHTML =\n      '<div><strong>Tour:<\/strong> ' + TOUR_NAME + '<\/div>' +\n      '<div style=\"margin-top:6px;\"><strong>Dates:<\/strong> ' + data.dateFrom + ' \u2192 ' + data.dateTo + '<\/div>' +\n      '<div style=\"margin-top:6px;\"><strong>Participants:<\/strong> ' + data.participants + '<\/div>';\n    confirmOverlay.classList.add('open');\n  }\n  function closeConfirmPopup(){\n    confirmOverlay.classList.remove('open');\n  }\n  confirmCloseBtn.addEventListener('click', closeConfirmPopup);\n  confirmPopupX.addEventListener('click', closeConfirmPopup);\n  confirmOverlay.addEventListener('click', function(e){\n    if (e.target === confirmOverlay) closeConfirmPopup();\n  });\n\n  \/\/ ---------- Form submission (direct email via FormSubmit, well structured) ----------\n  const form = root.querySelector('#dmt-booking-form');\n  const statusEl = root.querySelector('#dmt-status');\n  const submitEmailBtn = root.querySelector('#dmt-submit-email-btn');\n\n  function collectFormData(){\n    const name = root.querySelector('#dmt-name').value.trim();\n    const email = root.querySelector('#dmt-email').value.trim();\n    const phone = selectedCountry.code + \" \" + root.querySelector('#dmt-phone').value.trim();\n    const dateFrom = dateFromInput.value || \"Not specified\";\n    const dateTo = dateToInput.value || \"Not specified\";\n    const message = root.querySelector('#dmt-message').value.trim();\n    return { name: name, email: email, phone: phone, dateFrom: dateFrom, dateTo: dateTo, participants: count, message: message };\n  }\n\n  function buildWhatsAppMessage(data){\n    return [\n      \"New booking request\",\n      \"Tour: \" + TOUR_NAME,\n      \"Name: \" + data.name,\n      \"Email: \" + data.email,\n      \"Phone: \" + data.phone,\n      \"From: \" + data.dateFrom + \"  To: \" + data.dateTo,\n      \"Participants: \" + data.participants,\n      data.message ? \"Message: \" + data.message : \"\"\n    ].filter(Boolean).join(\"\\n\");\n  }\n\n  function setLoading(isLoading){\n    submitEmailBtn.disabled = isLoading;\n    submitEmailBtn.innerHTML = isLoading\n      ? '<span class=\"dmt-spinner\"><\/span> Sending...'\n      : '\u2709\ufe0f Send booking request';\n  }\n\n  \/\/ Main action = direct email via FormSubmit (AJAX, no redirect, no mail client)\n  form.addEventListener('submit', function(e){\n    e.preventDefault();\n    const data = collectFormData();\n\n    setLoading(true);\n    statusEl.classList.remove('show', 'ok', 'err');\n\n    const payload = {\n      _subject: \"New booking request \u2014 \" + TOUR_NAME,\n      _template: \"table\",\n      _captcha: \"false\",\n      \"Tour\": TOUR_NAME,\n      \"Full name\": data.name,\n      \"Email\": data.email,\n      \"Phone\": data.phone,\n      \"Travel dates\": data.dateFrom + \" \u2192 \" + data.dateTo,\n      \"Participants\": data.participants,\n      \"Message\": data.message || \"\u2014\"\n    };\n\n    fetch(FORMSUBMIT_ENDPOINT, {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application\/json\", \"Accept\": \"application\/json\" },\n      body: JSON.stringify(payload)\n    })\n    .then(function(res){ return res.json().then(function(json){ return { ok: res.ok, json: json }; }); })\n    .then(function(result){\n      setLoading(false);\n      if (result.ok) {\n        form.reset();\n        count = 2; countEl.textContent = count;\n        selectedFrom = null; selectedTo = null;\n        dateFromLabel.textContent = 'From'; dateToLabel.textContent = 'To';\n        dateFromBtn.classList.remove('filled'); dateToBtn.classList.remove('filled');\n        openConfirmPopup(data);\n      } else {\n        statusEl.textContent = \"Something went wrong sending your request. Please try WhatsApp instead, or try again.\";\n        statusEl.classList.add('show', 'err');\n      }\n    })\n    .catch(function(){\n      setLoading(false);\n      statusEl.textContent = \"Connection issue \u2014 please try WhatsApp instead, or try again.\";\n      statusEl.classList.add('show', 'err');\n    });\n  });\n\n  \/\/ Secondary action = WhatsApp\n  root.querySelector('#dmt-send-wa').addEventListener('click', function(){\n    const data = collectFormData();\n    const waUrl = \"https:\/\/wa.me\/\" + WHATSAPP_NUMBER + \"?text=\" + encodeURIComponent(buildWhatsAppMessage(data));\n    window.open(waUrl, \"_blank\");\n\n    statusEl.textContent = \"Opening WhatsApp with your request pre-filled.\";\n    statusEl.classList.remove('err');\n    statusEl.classList.add('show', 'ok');\n  });\n})();\n<\/script>\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\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- LIGHTBOX -->\n<div class=\"dmt-lightbox\" id=\"dmt-lightbox\">\n  <button class=\"dmt-lightbox-close\" id=\"dmt-lightbox-close\">&times;<\/button>\n  <img decoding=\"async\" id=\"dmt-lightbox-img\" src=\"\" alt=\"\">\n<\/div>\n\n<script>\n(function(){\n  \/\/ Gallery lightbox\n  const lightbox = document.getElementById('dmt-lightbox');\n  const lightboxImg = document.getElementById('dmt-lightbox-img');\n  document.getElementById('dmt-gallery').querySelectorAll('.dmt-gallery-link').forEach(function(link){\n    link.addEventListener('click', function(e){\n      e.preventDefault();\n      lightboxImg.src = link.getAttribute('href');\n      lightbox.classList.add('open');\n    });\n  });\n  document.getElementById('dmt-lightbox-close').addEventListener('click', function(){\n    lightbox.classList.remove('open');\n  });\n  lightbox.addEventListener('click', function(e){\n    if (e.target === lightbox) lightbox.classList.remove('open');\n  });\n\n  \/\/ Accordion (all closed by default)\n  document.getElementById('dmt-accordion').querySelectorAll('.dmt-acc-item').forEach(function(item){\n    const header = item.querySelector('.dmt-acc-header');\n    const body   = item.querySelector('.dmt-acc-body');\n    header.addEventListener('click', function(){\n      const isOpen = item.classList.contains('open');\n      item.parentElement.querySelectorAll('.dmt-acc-item').forEach(function(other){\n        other.classList.remove('open');\n        other.querySelector('.dmt-acc-body').style.maxHeight = null;\n      });\n      if (!isOpen) {\n        item.classList.add('open');\n        body.style.maxHeight = body.scrollHeight + 'px';\n      }\n    });\n  });\n})();\n<\/script>\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>9 Days \u00b7 8 Nights \u00b7 Imperial Cities &#038; Sahara Great Morocco Tour \u2014 Imperial Cities to Sahara 9 Days<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-29490","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/comments?post=29490"}],"version-history":[{"count":4,"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29490\/revisions"}],"predecessor-version":[{"id":29522,"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29490\/revisions\/29522"}],"wp:attachment":[{"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/media?parent=29490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}