{"id":29364,"date":"2026-07-04T10:53:09","date_gmt":"2026-07-04T10:53:09","guid":{"rendered":"https:\/\/definitelymoroccotours.com\/?page_id=29364"},"modified":"2026-07-04T10:53:53","modified_gmt":"2026-07-04T10:53:53","slug":"marrakech-to-essaouira-mogador-day-trip","status":"publish","type":"page","link":"https:\/\/definitelymoroccotours.com\/fr\/marrakech-to-essaouira-mogador-day-trip\/","title":{"rendered":"Marrakech to Essaouira Mogador day trip"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"29364\" class=\"elementor elementor-29364\" 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 Marrakech to Essaouira Mogador Day Trip\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-essaouira-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-essaouira-booking * {\n    box-sizing: border-box;\n    font-family: 'Lexend', sans-serif;\n    font-style: normal !important;\n  }\n  #dmt-essaouira-booking h1, #dmt-essaouira-booking h2, #dmt-essaouira-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: 44px;\n    font-weight: 700;\n    line-height: 1.08;\n    max-width: 680px;\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 : signature element = mountain trail ---------- *\/\n  .dmt-trail {\n    position: relative;\n    padding-left: 36px;\n  }\n  .dmt-trail::before {\n    content: \"\";\n    position: absolute;\n    left: 9px; top: 6px; bottom: 6px;\n    width: 2px;\n    background: repeating-linear-gradient(to bottom, var(--sand-deep) 0, var(--sand-deep) 6px, transparent 6px, transparent 12px);\n  }\n  .dmt-trail-stop {\n    position: relative;\n    padding-bottom: 28px;\n  }\n  .dmt-trail-stop:last-child { padding-bottom: 0; }\n  .dmt-trail-stop::before {\n    content: \"\";\n    position: absolute;\n    left: -36px; top: 2px;\n    width: 18px; height: 18px;\n    border-radius: 50%;\n    background: var(--sand);\n    border: 3px solid var(--sand-deep);\n  }\n  .dmt-trail-time {\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n    color: var(--text-soft);\n    margin-bottom: 4px;\n  }\n  .dmt-trail-stop h3 { font-size: 16.5px; font-weight: 600; margin-bottom: 6px; }\n  .dmt-trail-stop p { font-size: 14.5px; line-height: 1.65; color: var(--text-soft); margin: 0; max-width: 560px; }\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-essaouira-booking\">\n\n  <!-- HERO -->\n  <div class=\"dmt-hero\">\n    <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/essaouira-mogador.jpg\" alt=\"Essaouira Mogador\">\n    <div class=\"dmt-hero-content\">\n      <span class=\"dmt-eyebrow\"><span class=\"dot\"><\/span> Day trip \u00b7 Atlantic Coast<\/span>\n      <h1>Marrakech to Essaouira Mogador Day Trip<\/h1>\n      <div class=\"dmt-hero-meta\">\n        <div>\ud83d\ude97 <strong>Toyota Land Cruiser 4x4 \/ Minibus<\/strong><\/div>\n        <div>\ud83d\udde3\ufe0f <strong>English speaking driver\/guide<\/strong><\/div>\n        <div>\u23f1\ufe0f <strong>Full day trip to the Atlantic coast<\/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\/essaouira-mogador.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/essaouira-mogador.jpg\" alt=\"Marrakech to Essaouira Mogador day trip\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/Essaouira-1.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/Essaouira-1.jpg\" alt=\"Marrakech to Essaouira Mogador day trip\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/essaouira.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/essaouira.jpg\" alt=\"Marrakech to Essaouira Mogador day trip\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/phoca_thumb_l_Essaouira.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/phoca_thumb_l_Essaouira.jpg\" alt=\"Marrakech to Essaouira Mogador day trip\">\n    <\/a>\n    <a href=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/essaouira2-1280.jpg\" class=\"dmt-gallery-link\">\n      <img decoding=\"async\" src=\"https:\/\/definitelymoroccotours.com\/wp-content\/uploads\/2023\/01\/essaouira2-1280.jpg\" alt=\"Marrakech to Essaouira Mogador day trip\">\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>A day next to the Atlantic Ocean<\/h2>\n        <p>Spend an incredible day next to the Atlantic Ocean and explore Essaouira city with its picturesque buildings.<\/p>\n      <\/div>\n\n      <div class=\"dmt-section\">\n        <span class=\"dmt-kicker\">Itinerary<\/span>\n        <h2>Day 01 \u2014 Marrakech to Essaouira Mogador<\/h2>\n        <div class=\"dmt-trail\">\n          <div class=\"dmt-trail-stop\">\n            <div class=\"dmt-trail-time\">Morning<\/div>\n            <h3>Departure to the former Mogador<\/h3>\n            <p>Departure to the former Mogador, this port city of 50,000 inhabitants, an old fishing port built on a peninsula swept by winds from the ocean.<\/p>\n          <\/div>\n          <div class=\"dmt-trail-stop\">\n            <div class=\"dmt-trail-time\">On arrival<\/div>\n            <h3>La Scala ramparts<\/h3>\n            <p>Essaouira is enclosed within the walls of the old city. From the high La Scala you have a beautiful view while admiring the bronze cannons that were melted in Spain.<\/p>\n          <\/div>\n          <div class=\"dmt-trail-stop\">\n            <div class=\"dmt-trail-time\">Midday<\/div>\n            <h3>Local craftsmanship<\/h3>\n            <p>The city is known for its craftsmanship: traditional trawlers worked in teak and eucalyptus wood, cedar inlaid with copper, ebony, lemon wood and silver or pearl details.<\/p>\n          <\/div>\n          <div class=\"dmt-trail-stop\">\n            <div class=\"dmt-trail-time\">Afternoon<\/div>\n            <h3>Medina of Essaouira<\/h3>\n            <p>Visit of the Medina of Essaouira (Mogador): a unique medina within peaceful walls built in the 18th century, with right-angled wide roads lined with squat arcades opening onto the souks.<\/p>\n          <\/div>\n          <div class=\"dmt-trail-stop\">\n            <div class=\"dmt-trail-time\">End of day<\/div>\n            <h3>Lunch & road back to Marrakech<\/h3>\n            <p>Lunch, then return to Marrakech. Drop off at your accommodation, end of our service.<\/p>\n          <\/div>\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 to your accommodation in Marrakech<\/li>\n              <li>1 day exclusive service of a Toyota Land Cruiser 4wd or Mini-bus<\/li>\n              <li>1 day service of an English speaking driver\/guide<\/li>\n            <\/ul>\n          <\/div>\n          <div class=\"dmt-incl-card excl\">\n            <h4>Excluded<\/h4>\n            <ul>\n              <li>Drinks<\/li>\n              <li>Lunch<\/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>Marrakech to Essaouira<\/h2>\n        <div class=\"dmt-map\">\n          <iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m28!1m12!1m3!1d870031.0379274162!2d-9.428530153610373!3d31.59114622124872!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m13!3e0!4m5!1s0xdafee8d96179e51%3A0x5950b6534f87adb8!2sMarrakech!3m2!1d31.6294723!2d-7.9810845!4m5!1s0xdad9a4e9f588ccf%3A0x57421a176d5d7d30!2sEssaouira!3m2!1d31.5084926!2d-9.7595041!5e0!3m2!1sfr!2sma!4v1673955985847!5m2!1sfr!2sma\" 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<\/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>Day trip \u00b7 Atlantic Coast Marrakech to Essaouira Mogador Day Trip \ud83d\ude97 Toyota Land Cruiser 4&#215;4 \/ Minibus \ud83d\udde3\ufe0f English<\/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-29364","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29364","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=29364"}],"version-history":[{"count":4,"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29364\/revisions"}],"predecessor-version":[{"id":29369,"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/pages\/29364\/revisions\/29369"}],"wp:attachment":[{"href":"https:\/\/definitelymoroccotours.com\/fr\/wp-json\/wp\/v2\/media?parent=29364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}