{"id":29381,"date":"2026-07-04T11:05:08","date_gmt":"2026-07-04T11:05:08","guid":{"rendered":"https:\/\/definitelymoroccotours.com\/?page_id=29381"},"modified":"2026-07-04T11:06:54","modified_gmt":"2026-07-04T11:06:54","slug":"7-days-trip-from-marrakech-to-chefchaouen-imperial-cities-and-desert-tour","status":"publish","type":"page","link":"https:\/\/definitelymoroccotours.com\/fr\/7-days-trip-from-marrakech-to-chefchaouen-imperial-cities-and-desert-tour\/","title":{"rendered":"7 days trip from Marrakech to Chefchaouen, imperial cities and desert tour"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"29381\" class=\"elementor elementor-29381\" 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 7 Days Trip from Marrakech to Chefchaouen, Imperial Cities and Desert Tour\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-chef7d-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-chef7d-booking * {\n    box-sizing: border-box;\n    font-family: 'Lexend', sans-serif;\n    font-style: normal !important;\n  }\n  #dmt-chef7d-booking h1, #dmt-chef7d-booking h2, #dmt-chef7d-booking h3 {\n    margin: 0;\n    letter-spacing: -0.01em;\n    color: var(--text);\n  }\n\n  \/* ---------- HERO ---------- *\/\n  .dmt-hero {\n    position: relative;\n    border-radius: 22px;\n    overflow: hidden;\n    min-height: 460px;\n    display: flex;\n    align-items: flex-end;\n    margin-top: 28px;\n    background: var(--sand-deep);\n  }\n  .dmt-hero img {\n    position: absolute; inset: 0;\n    width: 100%; height: 100%;\n    object-fit: cover;\n    filter: saturate(1.05) contrast(1.02);\n  }\n  .dmt-hero::after {\n    content: \"\";\n    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 {\n    position: relative;\n    z-index: 2;\n    padding: 44px 48px;\n    width: 100%;\n  }\n  .dmt-eyebrow,\n  .dmt-eyebrow * {\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n    font-size: 12.5px;\n    font-weight: 500;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--sand) !important;\n    margin-bottom: 16px;\n    background: none !important;\n  }\n  .dmt-eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sand) !important; }\n  .dmt-hero h1,\n  .dmt-hero h1 * {\n    font-size: 40px;\n    font-weight: 700;\n    line-height: 1.12;\n    max-width: 720px;\n    color: #FFFFFF !important;\n    background: none !important;\n    text-shadow: 0 2px 18px rgba(0,0,0,0.45);\n  }\n  .dmt-hero-meta {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 28px;\n    margin-top: 24px;\n    font-size: 14.5px;\n  }\n  .dmt-hero-meta div,\n  .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 STRIP ---------- *\/\n  .dmt-gallery {\n    display: grid;\n    grid-template-columns: repeat(5, 1fr);\n    gap: 10px;\n    margin-top: 12px;\n  }\n  .dmt-gallery a {\n    display: block;\n    border-radius: 12px;\n    overflow: hidden;\n    aspect-ratio: 1 \/ 1;\n    position: relative;\n    cursor: pointer;\n    background: var(--sand-pale);\n  }\n  .dmt-gallery img {\n    width: 100%; height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform .35s ease;\n  }\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  \/* ---------- MAIN LAYOUT ---------- *\/\n  .dmt-layout {\n    display: grid;\n    grid-template-columns: 1.35fr 1fr;\n    gap: 44px;\n    margin-top: 56px;\n    align-items: start;\n  }\n  @media (max-width: 980px) {\n    .dmt-layout { grid-template-columns: 1fr; }\n  }\n\n  .dmt-section { margin-bottom: 48px; }\n  .dmt-kicker {\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n    color: var(--text-soft);\n    margin-bottom: 10px;\n    display: block;\n  }\n  .dmt-section h2 {\n    font-size: 26px;\n    font-weight: 700;\n    margin-bottom: 18px;\n  }\n  .dmt-about p {\n    font-size: 15.5px;\n    line-height: 1.75;\n    color: var(--text-soft);\n    max-width: 600px;\n  }\n\n  \/* ---------- ITINERARY : ACCORDION (closed by default) ---------- *\/\n  .dmt-accordion {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n  }\n  .dmt-acc-item {\n    background: var(--white);\n    border: 1px solid var(--line);\n    border-radius: 14px;\n    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 {\n    border-color: var(--sand-deep);\n    box-shadow: 0 4px 16px rgba(58,55,47,0.07);\n  }\n  .dmt-acc-item.open {\n    border-color: var(--sand-deep);\n    box-shadow: 0 6px 20px rgba(58,55,47,0.09);\n  }\n  .dmt-acc-header {\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    width: 100%;\n    background: var(--white);\n    border: none;\n    text-align: left;\n    padding: 20px 22px;\n    cursor: pointer;\n    font-family: 'Lexend', sans-serif;\n    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;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    width: 54px; height: 54px;\n    border-radius: 12px;\n    background: var(--sand-pale);\n    border: 1px solid var(--sand-deep);\n    transition: background .25s ease, border-color .25s ease;\n  }\n  .dmt-acc-item.open .dmt-acc-day-wrap {\n    background: var(--sand-deep);\n    border-color: var(--sand-deep);\n  }\n  .dmt-acc-day-label {\n    font-size: 9px;\n    font-weight: 600;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    color: var(--text-soft);\n    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 {\n    font-size: 18px;\n    font-weight: 700;\n    color: var(--text);\n    line-height: 1.3;\n  }\n  .dmt-acc-title-wrap { flex: 1 1 auto; min-width: 0; }\n  .dmt-acc-title {\n    display: block;\n    font-size: 15.5px;\n    font-weight: 600;\n    line-height: 1.4;\n    color: var(--text);\n  }\n  .dmt-acc-subtitle {\n    display: block;\n    font-size: 12px;\n    font-weight: 500;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: var(--text-soft);\n    margin-top: 5px;\n  }\n  .dmt-acc-icon {\n    flex: 0 0 auto;\n    width: 34px; height: 34px;\n    border-radius: 50%;\n    background: var(--white);\n    border: 1px solid var(--line);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    transition: transform .3s ease, background .25s ease, border-color .25s ease;\n  }\n  .dmt-acc-icon::before, .dmt-acc-icon::after {\n    content: \"\";\n    position: absolute;\n    background: var(--text);\n    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 {\n    background: var(--white);\n    border-color: var(--sand-deep);\n    transform: rotate(180deg);\n  }\n  .dmt-acc-item.open .dmt-acc-icon::after { opacity: 0; }\n  .dmt-acc-body {\n    max-height: 0;\n    overflow: hidden;\n    transition: max-height .35s ease;\n  }\n  .dmt-acc-body-inner {\n    padding: 16px 22px 24px 22px;\n    font-size: 14.5px;\n    line-height: 1.75;\n    color: var(--text-soft);\n    max-width: 640px;\n    border-top: 1px solid var(--line);\n    margin: 0 22px;\n  }\n\n  \/* ---------- INCLUDED \/ EXCLUDED ---------- *\/\n  .dmt-incl-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 20px;\n  }\n  @media (max-width: 560px) { .dmt-incl-grid { grid-template-columns: 1fr; } }\n  .dmt-incl-card {\n    background: var(--sand-pale);\n    border-radius: 16px;\n    padding: 22px 24px;\n  }\n  .dmt-incl-card.excl { background: var(--white); border: 1px solid var(--line); }\n  .dmt-incl-card h4 {\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n    margin: 0 0 14px;\n    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;\n    line-height: 1.5;\n    color: var(--text-soft);\n    padding: 7px 0 7px 24px;\n    position: relative;\n    border-bottom: 1px solid var(--line);\n  }\n  .dmt-incl-card li:last-child { border-bottom: none; }\n  .dmt-incl-card li::before {\n    position: absolute; left: 0; top: 7px;\n    font-weight: 700;\n  }\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;\n    background: rgba(58,55,47,0.92);\n    z-index: 9999;\n    display: none;\n    align-items: center;\n    justify-content: center;\n    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;\n    background: none; border: none; line-height: 1;\n  }\n<\/style>\n\n<div id=\"dmt-chef7d-booking\">\n\n  <!-- HERO -->\n  <div class=\"dmt-hero\">\n    <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/59c8619ef11e198e4fe5a6e087373e5b.jpg\" alt=\"7 days trip from Marrakech to Chefchaouen and desert\">\n    <div class=\"dmt-hero-content\">\n      <span class=\"dmt-eyebrow\"><span class=\"dot\"><\/span> 7 Days \u00b7 6 Nights \u00b7 Imperial Cities & Desert<\/span>\n      <h1>7 Days Trip from Marrakech to Chefchaouen, Imperial Cities and Desert Tour<\/h1>\n      <div class=\"dmt-hero-meta\">\n        <div>\ud83d\ude97 <strong>Private vehicle with A\/C<\/strong><\/div>\n        <div>\ud83d\udde3\ufe0f <strong>English speaking driver\/guide<\/strong><\/div>\n        <div>\ud83d\udc2a <strong>Camel trek & desert 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\/59c8619ef11e198e4fe5a6e087373e5b.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/59c8619ef11e198e4fe5a6e087373e5b.jpg\" alt=\"7 days trip Marrakech Chefchaouen desert tour\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/imperial-cities-tours-morocco.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/imperial-cities-tours-morocco.jpg\" alt=\"7 days trip Marrakech Chefchaouen desert tour\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/148481_cecb5f93.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/148481_cecb5f93.jpg\" alt=\"7 days trip Marrakech Chefchaouen desert tour\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/1660090592_15-kartinkin-net-p-ait-ben-khaddu-marokko-dostoprimechatelnos-15.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/1660090592_15-kartinkin-net-p-ait-ben-khaddu-marokko-dostoprimechatelnos-15.jpg\" alt=\"7 days trip Marrakech Chefchaouen desert tour\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/ouarzazat-kasbah-min.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/ouarzazat-kasbah-min.jpg\" alt=\"7 days trip Marrakech Chefchaouen desert tour\">\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>From Marrakech to Chefchaouen, via imperial cities and the desert<\/h2>\n        <p>Explore the medieval alleys of Fez, the beautiful blue pearl of Chefchaouen in northern Morocco, the whims of Marrakech, the UNESCO kasbahs of Ouarzazate, the palm oases, and an unforgettable night in the desert under the stars with a camel ride, the scent of orange blossom and the kaleidoscope of rugs, scarves and leather tanneries.<\/p>\n      <\/div>\n\n      <div class=\"dmt-section\">\n        <span class=\"dmt-kicker\">Itinerary<\/span>\n        <h2>7 Days \/ 6 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\"><span class=\"dmt-acc-title\">Marrakech to Rabat<\/span><span class=\"dmt-acc-subtitle\">Via Casablanca \u00b7 275 km<\/span><\/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>At 9am you will be picked up from your accommodation in Marrakech. We then start the journey to Rabat, the capital of Morocco, with a stop in Casablanca to visit the Hassan II Mosque, the largest and most famous mosque in Africa. After lunch we continue to Rabat, where we visit the Hassan Tower and the Chellah Kasbah. Overnight stay in a riad.<\/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\"><span class=\"dmt-acc-title\">Rabat to Chefchaouen<\/span><span class=\"dmt-acc-subtitle\">Via Kenitra \u00b7 Souk Larba \u00b7 215 km<\/span><\/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 we drive toward Chefchaouen, crossing the Rif mountains and passing through many Rif villages. Arrival in the Blue City in the early afternoon. Overnight stay in a riad\/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\"><span class=\"dmt-acc-title\">Chefchaouen to Fez<\/span><span class=\"dmt-acc-subtitle\">Via Ouazzane \u00b7 Meknes \u00b7 Volubilis \u00b7 190 km<\/span><\/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>We leave Chefchaouen toward Fez, driving through the city of Ouazzane and stopping in Meknes for lunch and a visit of sites such as Bab Mansour Gate and El-Hedim Square. We then visit Volubilis, the most important Roman ruins in Morocco. Overnight and dinner in a riad\/hotel in Fez.<\/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\"><span class=\"dmt-acc-title\">Historical visit of Fez<\/span><span class=\"dmt-acc-subtitle\">Al Qaraouine \u00b7 Fes El Bali \u00b7 Royal Palace<\/span><\/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, your experienced tour guide takes you to explore Fez, the oldest and first imperial city of Morocco, and a religious, intellectual and cultural center for centuries. Visit of Al Qaraouine University (the first university founded in the world), Fes El Bali, the Royal Palace, the beautiful fountains and much more. Lunch at a local restaurant in the medina, then a short walk through the new town. Overnight stay in a riad\/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\"><span class=\"dmt-acc-title\">Fez to Merzouga<\/span><span class=\"dmt-acc-subtitle\">Via Ifrane \u00b7 Azrou \u00b7 450 km<\/span><\/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>We leave Fez toward Merzouga, driving through several beautiful places across the Middle Atlas Mountains, including the famous cedar forest where you can photograph the panoramic views and the monkeys playing. Lunch stop in Midelt, then we continue to our destination. Overnight stay in a 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\">06<\/span><\/span>\n              <span class=\"dmt-acc-title-wrap\"><span class=\"dmt-acc-title\">Merzouga to Ouarzazate<\/span><span class=\"dmt-acc-subtitle\">Via Todra Gorge \u00b7 Skoura \u00b7 350 km<\/span><\/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, we drive via the Dades Gorge, past oases and palm trees of Tinjdad, toward the Todra Gorge in the eastern High Atlas, where we stop for lunch. We then continue to Ouarzazate, passing through the rose town of Kelaa M'Gouna and Skoura along the road of a thousand kasbahs and palm oases. Overnight stay in your riad.<\/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\"><span class=\"dmt-acc-title\">Ouarzazate to Marrakech<\/span><span class=\"dmt-acc-subtitle\">Via A\u00eft Ben Haddou \u00b7 Tizi n'Tichka \u00b7 210 km<\/span><\/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 at your riad, we head toward Marrakech, stopping at the A\u00eft Ben Haddou Kasbah, a UNESCO World Heritage Site since 1987 and set of films such as Gladiator and Babel. We then cross the Tizi n'Tichka pass (2,260m), the historic caravan route through the High Atlas, stopping for lunch in a typical restaurant before continuing to Marrakech. Drop-off at your accommodation, 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 your accommodation<\/li>\n              <li>7 days exclusive service of a vehicle with A\/C<\/li>\n              <li>7 days service of an English speaking driver\/guide<\/li>\n              <li>6 nights en-suite accommodation<\/li>\n              <li>1 night desert camp under the stars<\/li>\n              <li>Camel ride and guide (one camel per person)<\/li>\n              <li>Sand-boarding in the dunes<\/li>\n              <li>5 dinners and breakfasts<\/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>Entrance\/Activity fees<\/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>Marrakech to Chefchaouen, imperial cities and the desert<\/h2>\n        <div class=\"dmt-map\">\n          <iframe src=\"https:\/\/www.google.com\/maps\/d\/embed?mid=1LzxWH0hrOQ5EwCSwhXciglLx-0AxzNU&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\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      \/\/ close all others\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>7 Days \u00b7 6 Nights \u00b7 Imperial Cities &#038; Desert 7 Days Trip from Marrakech to Chefchaouen, Imperial Cities and<\/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-29381","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29381","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=29381"}],"version-history":[{"count":4,"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29381\/revisions"}],"predecessor-version":[{"id":29385,"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29381\/revisions\/29385"}],"wp:attachment":[{"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/media?parent=29381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}