{"id":289,"date":"2025-09-22T17:37:51","date_gmt":"2025-09-22T17:37:51","guid":{"rendered":"https:\/\/moroccotoptour.com\/?page_id=289"},"modified":"2026-03-10T22:39:22","modified_gmt":"2026-03-10T22:39:22","slug":"7-day-morocco-tour-casablanca","status":"publish","type":"page","link":"https:\/\/moroccotoptour.com\/zh\/7-day-morocco-tour-casablanca\/","title":{"rendered":"7-Day Morocco Tour\u00a0Casablanca"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"289\" class=\"elementor elementor-289\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-47956b6 e-con-full e-flex e-con e-parent\" data-id=\"47956b6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2372c28 elementor-widget elementor-widget-html\" data-id=\"2372c28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>7-Day Morocco Tour: Casablanca to Tangier | Imperial Cities & Atlantic Coast<\/title>\r\n    <meta name=\"description\" content=\"7-day Morocco tour from Casablanca to Tangier. Explore imperial cities, Atlantic coast, Chefchaouen blue city. Best Morocco travel package with licensed guides.\">\r\n    <meta name=\"keywords\" content=\"7-day Morocco tour, Casablanca to Tangier, Morocco imperial cities, Chefchaouen blue city, Morocco Atlantic coast, Morocco travel package, Fes to Tangier tour\">\r\n    <meta name=\"robots\" content=\"index, follow\">\r\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\r\n    <style>\r\n        \/* ===== BACKGROUND NOW WHITE \u2013 all colors adjusted for readability ===== *\/\r\n        .mtt-book, .mtt-book * { box-sizing: border-box; }\r\n        .mtt-book{\r\n          --mtt-bg:#ffffff;              \/* main background changed to white *\/\r\n          --mtt-white:#111827;            \/* dark text for white bg *\/\r\n          --mtt-ink:#1f2937;               \/* softer black for body *\/\r\n          --mtt-muted:#4b5563;\r\n          --mtt-card:#f9fafb;              \/* light card bg *\/\r\n          --mtt-border:#e2e8f0;             \/* light borders *\/\r\n          --mtt-orange:#ff7b00;\r\n          --mtt-orange-700:#e66a00;\r\n          --mtt-blue:#3b82f6;\r\n          --mtt-blue-900:#1e3a8a;\r\n          --mtt-wa:#22c55e;\r\n          --mtt-wa-700:#16a34a;\r\n          --mtt-red:#ef4444;\r\n\r\n          background:var(--mtt-bg); \r\n          color:var(--mtt-white); \r\n          isolation:isolate;\r\n          font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;\r\n          padding: clamp(18px,4.6vw,50px) 0;\r\n        }\r\n        .mtt-book__wrap{ width:min(1200px,92%); margin-inline:auto; }\r\n\r\n        \/* Header *\/\r\n        .mtt-book__eyebrow{\r\n          display:inline-block; padding:6px 12px; border-radius:999px;\r\n          background: rgba(0,0,0,.04); border:1px solid var(--mtt-border);\r\n          color:var(--mtt-muted); font:800 11px\/1 system-ui; letter-spacing:.35px; text-transform:uppercase;\r\n        }\r\n        .mtt-book__title{ margin:8px 0 6px; font:900 clamp(24px,4.6vw,44px)\/1.08 system-ui; letter-spacing:-.02em; color:var(--mtt-white) !important; }\r\n        .mtt-book__title strong{ color: var(--mtt-orange) !important; }\r\n        .mtt-book__meta{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:6px; }\r\n        .mtt-book__chip{\r\n          display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px;\r\n          background: rgba(0,0,0,.04); border:1px solid var(--mtt-border); font:800 11px\/1 system-ui; color:var(--mtt-white);\r\n        }\r\n        .mtt-book__rating{ color:#b45309; font-weight:900; display:inline-flex; align-items:center; gap:6px; }\r\n        .mtt-book__ribbon{\r\n          background: var(--mtt-red); color:#fff; padding:6px 10px; border-radius:10px; font:900 11px\/1 system-ui; text-transform:uppercase; letter-spacing:.5px;\r\n        }\r\n\r\n        \/* Facts bar *\/\r\n        .mtt-facts{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }\r\n        .mtt-fact{\r\n          display:inline-flex; gap:8px; align-items:center; padding:8px 10px; border-radius:12px;\r\n          background: rgba(0,0,0,.02); border:1px solid var(--mtt-border); color:var(--mtt-white); font-weight:900;\r\n        }\r\n        @media (max-width: 520px){\r\n          .mtt-facts{ display:grid; grid-template-columns: 1fr 1fr; }\r\n          .mtt-fact{ width:100%; justify-content:flex-start; }\r\n        }\r\n\r\n        \/* Layout *\/\r\n        .mtt-book__grid{ display:grid; grid-template-columns: 1.65fr .95fr; gap:20px; margin-top:14px; }\r\n        @media (max-width: 980px){ .mtt-book__grid{ grid-template-columns: 1fr; } }\r\n\r\n        \/* Gallery *\/\r\n        .mtt-book__gallery{ background:var(--mtt-card); border:1px solid var(--mtt-border); border-radius:16px; padding:12px; }\r\n        .mtt-gal__desk{ display:grid; grid-template-columns: 1fr .35fr; gap:12px; }\r\n        .mtt-gal__main{ margin:0; position:relative; border-radius:12px; overflow:hidden; }\r\n        .mtt-gal__main img{ width:100%; height: 420px; object-fit: cover; object-position: center; display:block; cursor:pointer; }\r\n        .mtt-gal__thumbs{ display:grid; gap:10px; align-content:start; }\r\n        .mtt-gal__thumb{\r\n          appearance:none; border:0; padding:0; cursor:pointer; border-radius:10px; overflow:hidden; position:relative;\r\n          outline:2px solid transparent; outline-offset:2px; background:#0000;\r\n        }\r\n        .mtt-gal__thumb.is-active{ outline-color: var(--mtt-orange); }\r\n        .mtt-gal__thumb img{ width:100%; height:92px; object-fit:cover; object-position:center; display:block; }\r\n\r\n        .mtt-gal__mob{ display:none; }\r\n        @media (max-width: 720px){\r\n          .mtt-gal__desk{ display:none; }\r\n          .mtt-gal__mob{ display:block; }\r\n          .mtt-gal__track{\r\n            display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;\r\n          }\r\n          .mtt-gal__track img{ height:240px; width:85vw; max-width: 100%; object-fit:cover; border-radius:12px; scroll-snap-align:center; }\r\n          .mtt-gal__dots{ display:flex; justify-content:center; gap:8px; margin-top:8px; }\r\n          .mtt-gal__dots button{ width:10px; height:10px; border-radius:999px; border:0; background:#94a3b8; }\r\n          .mtt-gal__dots button[aria-selected=\"true\"]{ background: var(--mtt-orange); width:22px; }\r\n        }\r\n\r\n        \/* Sections *\/\r\n        .mtt-book__section{ margin-top:14px; background:var(--mtt-card); border:1px solid var(--mtt-border); border-radius:16px; padding:14px; }\r\n        .mtt-book__h2{ margin:0 0 10px; font:900 22px\/1.1 system-ui; color:var(--mtt-white) !important; letter-spacing:-.01em; }\r\n        .mtt-book__h2 strong{ color:var(--mtt-orange) !important; }\r\n        .mtt-book__p{ margin:0; color:var(--mtt-ink); }\r\n        .mtt-link{ color:var(--mtt-white); text-decoration:underline; }\r\n\r\n        \/* Highlights *\/\r\n        .mtt-high__grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:10px; padding:0; list-style:none; }\r\n        .mtt-high__item{\r\n          display:flex; gap:10px; align-items:center; background:rgba(0,0,0,.02); border:1px solid var(--mtt-border);\r\n          padding:10px 12px; border-radius:12px; color:var(--mtt-ink); font-weight:800;\r\n        }\r\n        .mtt-high__item i{ color: var(--mtt-orange); }\r\n        @media (max-width: 820px){ .mtt-high__grid{ grid-template-columns: 1fr 1fr; } }\r\n        @media (max-width: 520px){ .mtt-high__grid{ grid-template-columns: 1fr; } }\r\n\r\n        \/* Accordion (closed by default) *\/\r\n        .mtt-acc{ display:grid; gap:8px; }\r\n        .mtt-acc__btn{\r\n          width:100%; background:rgba(0,0,0,.02); border:1px solid var(--mtt-border); color:var(--mtt-white); border-radius:12px;\r\n          padding:12px; display:flex; justify-content:space-between; align-items:center; font-weight:900; cursor:pointer;\r\n        }\r\n        .mtt-acc__btn[aria-expanded=\"true\"] i{ transform: rotate(180deg); }\r\n        .mtt-acc__btn i{ transition: transform .18s ease; }\r\n        .mtt-acc__panel{\r\n          background:rgba(0,0,0,.02); border:1px dashed var(--mtt-border); border-radius:10px;\r\n          padding:10px 12px; color:var(--mtt-ink);\r\n        }\r\n        .mtt-acc__panel[hidden]{ display:none; }\r\n\r\n        \/* Includes\/Excludes *\/\r\n        .mtt-inc__grid{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }\r\n        @media (max-width: 720px){ .mtt-inc__grid{ grid-template-columns: 1fr; } }\r\n        .mtt-inc__col{ background:rgba(0,0,0,.02); border:1px solid var(--mtt-border); border-radius:12px; padding:12px; }\r\n        .mtt-inc__title{ margin:0 0 8px; font:900 16px\/1.1 system-ui; color:var(--mtt-white); display:flex; gap:8px; align-items:center; }\r\n        .mtt-inc__title i{ color:#22c55e; }\r\n        .mtt-inc__title--no i{ color:#ef4444; }\r\n        .mtt-inc__list{ margin:0; padding-left:18px; color:var(--mtt-ink); }\r\n        .mtt-inc__list--no li{ list-style: \"\u2013  \"; padding-left:4px; }\r\n\r\n        \/* Contact *\/\r\n        .mtt-contact{ display:flex; gap:10px; flex-wrap:wrap; }\r\n        .mtt-contact__item{\r\n          display:inline-flex; gap:8px; align-items:center; padding:10px 12px; border-radius:12px;\r\n          background:rgba(0,0,0,.02); border:1px solid var(--mtt-border); color:var(--mtt-white); text-decoration:none; font-weight:900;\r\n        }\r\n        .mtt-contact__item:hover{ background:rgba(0,0,0,.04); }\r\n\r\n        \/* Form (sticky) *\/\r\n        .mtt-book__right{ position:relative; }\r\n        @media (min-width: 981px){\r\n          .mtt-book__right{ position: sticky; top:14px; align-self:start; }\r\n        }\r\n        .mtt-form{\r\n          background: #f1f5f9;  \/* very light gray to differentiate on white *\/\r\n          border:1px solid var(--mtt-border); border-radius:16px; padding:14px; box-shadow:0 10px 24px rgba(0,0,0,.08);\r\n        }\r\n        .mtt-form__title{ margin:0 0 8px; font:900 20px\/1.1 system-ui; color:var(--mtt-white) !important; }\r\n        .mtt-form__title strong{ color: var(--mtt-orange) !important; }\r\n        .mtt-row{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }\r\n        @media (max-width: 520px){ .mtt-row{ grid-template-columns: 1fr; } }\r\n        .mtt-field{ display:grid; gap:6px; }\r\n        .mtt-field span{ font:800 12px\/1 system-ui; color:var(--mtt-muted); }\r\n        .mtt-field input, .mtt-field textarea, .mtt-field select{\r\n          width:100%; background:#ffffff; border:1px solid var(--mtt-border); color:var(--mtt-white); border-radius:10px; padding:10px 12px; font:700 14px\/1.2 system-ui;\r\n        }\r\n        .mtt-field input:focus, .mtt-field textarea:focus, .mtt-field select:focus{ outline:2px solid var(--mtt-orange); outline-offset:1px; }\r\n        .mtt-hidden{ position:absolute; left:-9999px; opacity:0; }\r\n\r\n        \/* Form CTA *\/\r\n        .mtt-form__cta{ display:flex; gap:10px; margin-top:10px; }\r\n        .mtt-btn{\r\n          display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 14px; border-radius:12px; font:900 14px\/1 system-ui; text-decoration:none; cursor:pointer; width:100%;\r\n        }\r\n        .mtt-btn--wa{ background:var(--mtt-wa); color:#fff; border:0; }\r\n        .mtt-btn--wa:hover{ background:var(--mtt-wa-700); }\r\n        .mtt-btn--ghost{ background:transparent; border:1px solid var(--mtt-border); color:var(--mtt-white); }\r\n        .mtt-btn--ghost:hover{ background:rgba(0,0,0,.04); }\r\n        .mtt-note{ color:var(--mtt-muted); font:600 12px\/1.4 system-ui; margin:8px 0 0; }\r\n        @media (max-width:520px){ .mtt-form__cta{ flex-direction:column; } }\r\n\r\n        \/* ===== Lightbox (with click-to-zoom) ===== *\/\r\n        .mtt-lightbox[hidden]{ display:none; }\r\n        .mtt-lightbox{\r\n          position:fixed; inset:0; background:rgba(255,255,255,.95);  \/* lighter overlay for white bg *\/\r\n          display:grid; grid-template-columns: 56px 1fr 56px; align-items:center; justify-items:center; z-index:9999;\r\n        }\r\n        .mtt-lb__figure{ margin:0; max-width:min(92vw, 1200px); max-height:90vh; display:grid; place-items:center; overflow:hidden; }\r\n        .mtt-lb__img{ max-width:100%; max-height:90vh; object-fit:contain; transition: transform .25s ease; cursor: zoom-in; }\r\n        .mtt-lb__img.is-zoomed{ transform: scale(1.6); cursor: zoom-out; }\r\n        .mtt-lb__nav{\r\n          appearance:none; border:0; width:42px; height:42px; border-radius:999px; background:rgba(0,0,0,.08); color:#000; cursor:pointer;\r\n          display:grid; place-items:center; transition: background .15s ease;\r\n        }\r\n        .mtt-lb__nav:hover{ background:rgba(0,0,0,.16); }\r\n        .mtt-lb__prev{ grid-column:1; }\r\n        .mtt-lb__next{ grid-column:3; }\r\n        .mtt-lb__close{\r\n          position:absolute; top:16px; right:16px; appearance:none; border:0; width:42px; height:42px; border-radius:999px;\r\n          background:rgba(0,0,0,.08); color:#000; cursor:pointer; display:grid; place-items:center;\r\n        }\r\n        @media (max-width:640px){ .mtt-lightbox{ grid-template-columns: 48px 1fr 48px; } }\r\n\r\n        \/* ===== Thank You screen ===== *\/\r\n        .mtt-thanks{\r\n          text-align:center; padding: clamp(24px,6vw,60px); background:var(--mtt-card);\r\n          border:1px solid var(--mtt-border); border-radius:16px; margin-top:14px;\r\n        }\r\n        .mtt-thanks h2{ font:900 clamp(22px,4vw,36px)\/1.1 system-ui; margin:0 0 10px; color:var(--mtt-white); }\r\n        .mtt-thanks p{ color:var(--mtt-ink); margin:0 0 12px; }\r\n        .mtt-thanks a{ color:var(--mtt-white); text-decoration:none; display:inline-flex; gap:8px; align-items:center; padding:10px 14px; border:1px solid var(--mtt-border); border-radius:12px; }\r\n        .mtt-thanks a:hover{ background:rgba(0,0,0,.04); }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <!-- Morocco Top Tour \u2013 7-Day Tour: Casablanca to Tangier -->\r\n    <section class=\"mtt-book\" aria-label=\"Tour Booking Page\">\r\n      <div class=\"mtt-book__wrap\">\r\n\r\n        <!-- Header \/ Title -->\r\n        <header class=\"mtt-book__header\">\r\n          <div class=\"mtt-book__titlewrap\">\r\n            <p class=\"mtt-book__eyebrow\">Private & Small-Group \u2022 Licensed Guides<\/p>\r\n            <h1 class=\"mtt-book__title\">7-Day Morocco Tour <strong>Casablanca \u2192 Imperial Cities \u2192 Tangier<\/strong><\/h1>\r\n            <div class=\"mtt-book__meta\">\r\n              <span class=\"mtt-book__chip\"><i class=\"fa-regular fa-clock\"><\/i> 7 Days \/ 6 Nights<\/span>\r\n              <span class=\"mtt-book__chip\"><i class=\"fa-solid fa-location-dot\"><\/i> Start: Casablanca \u2022 Finish: Tangier<\/span>\r\n              <span class=\"mtt-book__chip\"><i class=\"fa-solid fa-person-hiking\"><\/i> Difficulty: Easy<\/span>\r\n              <span class=\"mtt-book__rating\"><i class=\"fa-solid fa-star\"><\/i> 4.8<\/span>\r\n              <span class=\"mtt-book__ribbon\">Coastal Route<\/span>\r\n            <\/div>\r\n\r\n            <!-- Trip facts (SEO-friendly) -->\r\n            <div class=\"mtt-facts\">\r\n              <div class=\"mtt-fact\"><i class=\"fa-solid fa-city\" aria-hidden=\"true\"><\/i> Imperial Cities: Rabat, Fes<\/div>\r\n              <div class=\"mtt-fact\"><i class=\"fa-solid fa-palette\" aria-hidden=\"true\"><\/i> Chefchaouen Blue City<\/div>\r\n              <div class=\"mtt-fact\"><i class=\"fa-solid fa-hotel\" aria-hidden=\"true\"><\/i> 6 Nights Accommodation<\/div>\r\n              <div class=\"mtt-fact\"><i class=\"fa-solid fa-car\" aria-hidden=\"true\"><\/i> Private AC Vehicle<\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/header>\r\n\r\n        <!-- Main two-column layout -->\r\n        <div class=\"mtt-book__grid\">\r\n          <!-- LEFT: Gallery + Content -->\r\n          <div class=\"mtt-book__left\">\r\n\r\n            <!-- Gallery -->\r\n            <section class=\"mtt-book__gallery\" aria-label=\"Tour gallery\">\r\n              <!-- Desktop\/Laptop layout -->\r\n              <div class=\"mtt-gal__desk\">\r\n                <figure class=\"mtt-gal__main\">\r\n                  <img decoding=\"async\" id=\"mttMainImg\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/que-faire-a-casablanca.webp\" alt=\"7-day Morocco tour from Casablanca to Tangier - Imperial cities and Atlantic coast adventure\" title=\"\">\r\n                <\/figure>\r\n                <div class=\"mtt-gal__thumbs\" role=\"tablist\" aria-label=\"Gallery thumbnails\">\r\n                  <button class=\"mtt-gal__thumb is-active\" role=\"tab\" aria-selected=\"true\" type=\"button\"\r\n                          data-src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/que-faire-a-casablanca.webp\">\r\n                    <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/que-faire-a-casablanca.webp\" alt=\"Casablanca Morocco - starting point of 7-day tour to Tangier\" title=\"\">\r\n                  <\/button>\r\n                  <button class=\"mtt-gal__thumb\" role=\"tab\" aria-selected=\"false\" type=\"button\"\r\n                          data-src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/Maroc-Fes-03-2024-640.webp\">\r\n                    <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/Maroc-Fes-03-2024-640.webp\" alt=\"Fes Morocco - imperial city on 7-day Casablanca to Tangier tour\" title=\"\">\r\n                  <\/button>\r\n                  <button class=\"mtt-gal__thumb\" role=\"tab\" aria-selected=\"false\" type=\"button\"\r\n                          data-src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/6d.jpg\">\r\n                    <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/6d.jpg\" alt=\"Chefchaouen blue city - highlight of Morocco 7-day tour\" title=\"\">\r\n                  <\/button>\r\n                  <button class=\"mtt-gal__thumb\" role=\"tab\" aria-selected=\"false\" type=\"button\"\r\n                          data-src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/riad-zhor-maison-hotes-tanger-maroc-background-notre-tanger-et-bons-plans.webp\">\r\n                    <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/riad-zhor-maison-hotes-tanger-maroc-background-notre-tanger-et-bons-plans.webp\" alt=\"Tangier Morocco - final destination of 7-day tour from Casablanca\" title=\"\">\r\n                  <\/button>\r\n                  <button class=\"mtt-gal__thumb\" role=\"tab\" aria-selected=\"false\" type=\"button\"\r\n                          data-src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/iStock-1334492948.webp\">\r\n                    <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/iStock-1334492948.webp\" alt=\"Morocco Atlantic coast - scenic route on 7-day tour\" title=\"\">\r\n                  <\/button>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <!-- Mobile carousel -->\r\n              <div class=\"mtt-gal__mob\" id=\"mttGalMob\">\r\n                <div class=\"mtt-gal__track\">\r\n                  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/que-faire-a-casablanca.webp\" alt=\"Casablanca Morocco tour\" title=\"\">\r\n                  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/Maroc-Fes-03-2024-640.webp\" alt=\"Fes Morocco imperial city\" title=\"\">\r\n                  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/6d.jpg\" alt=\"Chefchaouen blue city Morocco\" title=\"\">\r\n                  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/riad-zhor-maison-hotes-tanger-maroc-background-notre-tanger-et-bons-plans.webp\" alt=\"Tangier Morocco destination\" title=\"\">\r\n                  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/moroccotoptour.com\/wp-content\/uploads\/2025\/09\/iStock-1334492948.webp\" alt=\"Morocco Atlantic coast\" title=\"\">\r\n                <\/div>\r\n                <div class=\"mtt-gal__dots\" aria-label=\"Slide navigation\"><\/div>\r\n              <\/div>\r\n            <\/section>\r\n\r\n            <!-- Description (keyword-rich) -->\r\n            <section class=\"mtt-book__section\">\r\n              <h2 class=\"mtt-book__h2\">7-Day Morocco Tour <strong>Description<\/strong><\/h2>\r\n              <p class=\"mtt-book__p\">\r\n                Discover the best of northern Morocco on this comprehensive <strong>7-day tour from Casablanca to Tangier<\/strong>. \r\n                This carefully crafted itinerary combines <strong>imperial cities<\/strong>, cultural landmarks, and coastal beauty. \r\n                Explore the bustling economic hub of <strong>Casablanca<\/strong>, the political capital <strong>Rabat<\/strong>, \r\n                and the spiritual center <strong>Fes<\/strong> with its ancient medina. Experience the magical blue streets of \r\n                <strong>Chefchaouen<\/strong> nestled in the Rif Mountains, then continue to the strategic port city of \r\n                <strong>Tangier<\/strong> where Africa meets Europe. This <strong>Morocco 7-day tour<\/strong> offers the perfect \r\n                introduction to the country's diverse landscapes and rich heritage.\r\n              <\/p>\r\n              <p class=\"mtt-book__p\">\r\n                For more Morocco tour options, see our <a href=\"\/morocco-tours\/\" class=\"mtt-link\">Morocco Tours<\/a> page\r\n                or browse all <a href=\"\/imperial-cities-tours\/\" class=\"mtt-link\">Imperial Cities Tours<\/a>.\r\n              <\/p>\r\n            <\/section>\r\n\r\n            <!-- Highlights -->\r\n            <section class=\"mtt-book__section\">\r\n              <h2 class=\"mtt-book__h2\">Tour <strong>Highlights<\/strong><\/h2>\r\n              <ul class=\"mtt-high__grid\" role=\"list\">\r\n                <li class=\"mtt-high__item\"><i class=\"fa-solid fa-mosque\" aria-hidden=\"true\"><\/i> <span><strong>Hassan II Mosque<\/strong> in Casablanca<\/span><\/li>\r\n                <li class=\"mtt-high__item\"><i class=\"fa-solid fa-landmark\" aria-hidden=\"true\"><\/i> <strong>Rabat<\/strong> capital city sights<\/li>\r\n                <li class=\"mtt-high__item\"><i class=\"fa-solid fa-archway\" aria-hidden=\"true\"><\/i> <strong>Fes Medina<\/strong> UNESCO site<\/li>\r\n                <li class=\"mtt-high__item\"><i class=\"fa-solid fa-palette\" aria-hidden=\"true\"><\/i> <strong>Chefchaouen<\/strong> blue city<\/li>\r\n                <li class=\"mtt-high__item\"><i class=\"fa-solid fa-anchor\" aria-hidden=\"true\"><\/i> <strong>Tangier<\/strong> Strait of Gibraltar<\/li>\r\n                <li class=\"mtt-high__item\"><i class=\"fa-solid fa-utensils\" aria-hidden=\"true\"><\/i> Authentic <strong>Moroccan cuisine<\/strong><\/li>\r\n              <\/ul>\r\n            <\/section>\r\n\r\n            <!-- Itinerary (accordion, CLOSED by default) -->\r\n            <section class=\"mtt-book__section\" id=\"itinerary\">\r\n              <h2 class=\"mtt-book__h2\">Detailed <strong>Itinerary<\/strong><\/h2>\r\n              <div class=\"mtt-acc\" role=\"tablist\">\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-regular fa-clock\"><\/i> Day 1 \u2014 Arrival in Casablanca<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Arrive at Casablanca Mohammed V Airport. Transfer to your hotel. Depending on arrival time, \r\n                  you may explore the Corniche or visit the Hassan II Mosque (exterior). Welcome dinner featuring \r\n                  traditional Moroccan cuisine. Overnight in Casablanca.\r\n                <\/div>\r\n\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-regular fa-clock\"><\/i> Day 2 \u2014 Casablanca to Rabat to Fes<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Morning visit to the magnificent Hassan II Mosque (interior tour available). Then travel to Rabat, \r\n                  Morocco's capital, to see the Hassan Tower, Kasbah of the Udayas, and Royal Palace. Continue to Fes, \r\n                  arriving in the evening. Overnight in Fes.\r\n                <\/div>\r\n\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-regular fa-clock\"><\/i> Day 3 \u2014 Exploring Fes Medina<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Full day guided tour of Fes, the cultural and spiritual capital. Explore the medieval medina \r\n                  (UNESCO World Heritage site), visit the famous tanneries, Al-Attarine Madrasa, Bou Inania Medersa, \r\n                  and the Mellah (Jewish Quarter). Traditional lunch in a riad. Overnight in Fes.\r\n                <\/div>\r\n\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-regular fa-clock\"><\/i> Day 4 \u2014 Fes to Chefchaouen<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Depart Fes and travel through the Rif Mountains to Chefchaouen, the famous blue city. \r\n                  Afternoon exploration of the medina with its blue-washed buildings, small squares, and local markets. \r\n                  Enjoy the relaxed atmosphere and stunning mountain backdrop. Overnight in Chefchaouen.\r\n                <\/div>\r\n\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-regular fa-clock\"><\/i> Day 5 \u2014 Chefchaouen to Tangier<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Morning at leisure in Chefchaouen for additional exploration or shopping. Then travel to Tangier, \r\n                  stopping at the Caves of Hercules and Cap Spartel where the Atlantic meets the Mediterranean. \r\n                  Arrive in Tangier, check into your hotel. Overnight in Tangier.\r\n                <\/div>\r\n\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-regular fa-clock\"><\/i> Day 6 \u2014 Tangier Exploration<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Full day exploring Tangier. Visit the Kasbah, Medina, American Legation Museum, and Grand Socco. \r\n                  Enjoy panoramic views from the Mendoubia Gardens. Experience the unique blend of Moroccan and \r\n                  international influences in this historic port city. Overnight in Tangier.\r\n                <\/div>\r\n\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-regular fa-clock\"><\/i> Day 7 \u2014 Departure from Tangier<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Depending on your flight schedule, enjoy a final Moroccan breakfast before transferring to \r\n                  Tangier Ibn Battouta Airport or Tangier Ville port for your departure. Optional extension to \r\n                  Spain available upon request.\r\n                <\/div>\r\n              <\/div>\r\n            <\/section>\r\n\r\n            <!-- What's Included \/ Not Included -->\r\n            <section class=\"mtt-book__section\">\r\n              <h2 class=\"mtt-book__h2\">What's <strong>Included<\/strong> \/ Not Included<\/h2>\r\n              <div class=\"mtt-inc__grid\">\r\n                <div class=\"mtt-inc__col\">\r\n                  <h3 class=\"mtt-inc__title\"><i class=\"fa-solid fa-check\"><\/i> Included<\/h3>\r\n                  <ul class=\"mtt-inc__list\" role=\"list\">\r\n                    <li>6 nights accommodation (hotels & desert camp)<\/li>\r\n                    <li>Private air-conditioned vehicle with driver<\/li>\r\n                    <li>Professional local guides in Fes and Tangier<\/li>\r\n                    <li>All breakfasts and dinner in desert camp<\/li>\r\n                    <li>Airport transfers on first and last day<\/li>\r\n                  <\/ul>\r\n                <\/div>\r\n                <div class=\"mtt-inc__col\">\r\n                  <h3 class=\"mtt-inc__title mtt-inc__title--no\"><i class=\"fa-solid fa-xmark\"><\/i> Not Included<\/h3>\r\n                  <ul class=\"mtt-inc__list mtt-inc__list--no\" role=\"list\">\r\n                    <li>International flights<\/li>\r\n                    <li>Lunches and most dinners<\/li>\r\n                    <li>Entrance fees to monuments<\/li>\r\n                    <li>Personal expenses and tips<\/li>\r\n                    <li>Travel insurance<\/li>\r\n                  <\/ul>\r\n                <\/div>\r\n              <\/div>\r\n            <\/section>\r\n\r\n            <!-- FAQ (helps SEO) -->\r\n            <section class=\"mtt-book__section\">\r\n              <h2 class=\"mtt-book__h2\">Tour <strong>FAQs<\/strong><\/h2>\r\n              <div class=\"mtt-acc\" role=\"tablist\">\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-solid fa-question-circle\"><\/i> Is this tour suitable for first-time visitors to Morocco?<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Absolutely! This 7-day Morocco tour from Casablanca to Tangier is perfect for first-time visitors. \r\n                  It covers the essential highlights of northern Morocco with a comfortable pace and expert guidance.\r\n                <\/div>\r\n\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-solid fa-question-circle\"><\/i> What type of accommodation is included?<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  The tour includes comfortable 3-4 star hotels in each city. Upgrade options to luxury riads or \r\n                  5-star hotels are available upon request for an additional cost.\r\n                <\/div>\r\n\r\n                <button class=\"mtt-acc__btn\" aria-expanded=\"false\" type=\"button\">\r\n                  <span><i class=\"fa-solid fa-question-circle\"><\/i> Can I extend this tour to include southern Morocco?<\/span>\r\n                  <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n                <div class=\"mtt-acc__panel\" hidden>\r\n                  Yes, we offer extension options to Marrakech, the Sahara Desert, or other destinations. \r\n                  Contact us to customize your Morocco itinerary beyond the 7-day tour.\r\n                <\/div>\r\n              <\/div>\r\n            <\/section>\r\n\r\n            <!-- Contact info -->\r\n            <section class=\"mtt-book__section\">\r\n              <h2 class=\"mtt-book__h2\">Contact <strong>Info<\/strong><\/h2>\r\n              <div class=\"mtt-contact\">\r\n                <a class=\"mtt-contact__item\" href=\"tel:+212610395152\"><i class=\"fa-solid fa-phone\"><\/i> +212 610-395152<\/a>\r\n                <a class=\"mtt-contact__item\" href=\"mailto:info@moroccotoptour.com\"><i class=\"fa-solid fa-envelope\"><\/i> info@moroccotoptour.com<\/a>\r\n                <a class=\"mtt-contact__item\" href=\"https:\/\/wa.me\/212610395152?text=Hi%20Morocco%20Top%20Tour%2C%20I%27d%20like%20to%20ask%20about%207-Day%20Morocco%20Tour%20from%20Casablanca%20to%20Tangier\" target=\"_blank\" rel=\"noopener\">\r\n                  <i class=\"fa-brands fa-whatsapp\"><\/i> WhatsApp us\r\n                <\/a>\r\n              <\/div>\r\n            <\/section>\r\n          <\/div>\r\n\r\n          <!-- RIGHT: Booking form (sticky) - Using the EXACT same structure as reference code -->\r\n          <aside class=\"mtt-book__right\" aria-label=\"Booking form\">\r\n            <form class=\"mtt-form\" id=\"mttBookingForm\" novalidate>\r\n              <h3 class=\"mtt-form__title\">Request <strong>Booking<\/strong><\/h3>\r\n\r\n              <div class=\"mtt-row\">\r\n                <label class=\"mtt-field\">\r\n                  <span>Date<\/span>\r\n                  <input type=\"date\" name=\"date\" required>\r\n                <\/label>\r\n                <label class=\"mtt-field\">\r\n                  <span>Guests<\/span>\r\n                  <input type=\"number\" name=\"guests\" min=\"1\" value=\"2\" required>\r\n                <\/label>\r\n              <\/div>\r\n\r\n              <div class=\"mtt-row\">\r\n                <label class=\"mtt-field\">\r\n                  <span>Name<\/span>\r\n                  <input type=\"text\" name=\"name\" placeholder=\"Your full name\" required>\r\n                <\/label>\r\n                <label class=\"mtt-field\">\r\n                  <span>WhatsApp \/ Phone<\/span>\r\n                  <input type=\"tel\" name=\"phone\" placeholder=\"+212 ...\" required>\r\n                <\/label>\r\n              <\/div>\r\n\r\n              <label class=\"mtt-field\">\r\n                <span>Email<\/span>\r\n                <input type=\"email\" name=\"email\" placeholder=\"you@example.com\">\r\n              <\/label>\r\n\r\n              <label class=\"mtt-field\">\r\n                <span>Pick-up location<\/span>\r\n                <input type=\"text\" name=\"pickup\" placeholder=\"Hotel\/Riad name & address\">\r\n              <\/label>\r\n\r\n              <label class=\"mtt-field\">\r\n                <span>Message<\/span>\r\n                <textarea name=\"message\" rows=\"3\" placeholder=\"Any special requests? (diet, extra days, etc.)\"><\/textarea>\r\n              <\/label>\r\n\r\n              <!-- Anti-spam honeypot -->\r\n              <input type=\"text\" name=\"website\" class=\"mtt-hidden\" tabindex=\"-1\" autocomplete=\"off\">\r\n\r\n              <div class=\"mtt-form__cta\">\r\n                <!-- Primary: EmailJS submission -->\r\n                <button type=\"submit\" class=\"mtt-btn mtt-btn--wa\"><i class=\"fa-solid fa-paper-plane\"><\/i> Send Booking<\/button>\r\n                <!-- Secondary: WhatsApp -->\r\n                <a id=\"mttWaLink\" href=\"https:\/\/wa.me\/212610395152\" class=\"mtt-btn mtt-btn--ghost\" target=\"_blank\" rel=\"noopener\">\r\n                  <i class=\"fa-brands fa-whatsapp\"><\/i> Send via WhatsApp\r\n                <\/a>\r\n              <\/div>\r\n              <p class=\"mtt-note\">You'll receive a confirmation shortly via WhatsApp or email.<\/p>\r\n            <\/form>\r\n          <\/aside>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Lightbox modal -->\r\n      <div class=\"mtt-lightbox\" hidden aria-modal=\"true\" role=\"dialog\">\r\n        <button class=\"mtt-lb__close\" aria-label=\"Close\" type=\"button\"><i class=\"fa-solid fa-xmark\"><\/i><\/button>\r\n        <button class=\"mtt-lb__nav mtt-lb__prev\" aria-label=\"Previous\" type=\"button\"><i class=\"fa-solid fa-chevron-left\"><\/i><\/button>\r\n        <figure class=\"mtt-lb__figure\">\r\n          <img class=\"mtt-lb__img\" alt=\"\">\r\n        <\/figure>\r\n        <button class=\"mtt-lb__nav mtt-lb__next\" aria-label=\"Next\" type=\"button\"><i class=\"fa-solid fa-chevron-right\"><\/i><\/button>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- EmailJS (browser) -->\r\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@emailjs\/browser@4\/dist\/email.min.js\"><\/script>\r\n\r\n    <script>\r\n        document.addEventListener('DOMContentLoaded', function() {\r\n          const root = document.querySelector('.mtt-book');\r\n          if(!root) return;\r\n\r\n          \/* ===== Desktop gallery: thumb -> main swap + lightbox trigger ===== *\/\r\n          const mainImg = root.querySelector('#mttMainImg');\r\n          const thumbBtns = Array.from(root.querySelectorAll('.mtt-gal__thumb'));\r\n          function setMain(src, btn){\r\n            if(!src) return;\r\n            mainImg.src = src;\r\n            thumbBtns.forEach(b=>{ b.classList.remove('is-active'); b.setAttribute('aria-selected','false'); });\r\n            if(btn){ btn.classList.add('is-active'); btn.setAttribute('aria-selected','true'); }\r\n          }\r\n          thumbBtns.forEach(btn=> btn.addEventListener('click', ()=> setMain(btn.dataset.src, btn)));\r\n\r\n          \/* ===== Mobile gallery: dots + autoplay + observer ===== *\/\r\n          const mob = root.querySelector('#mttGalMob');\r\n          if(mob){\r\n            const track = mob.querySelector('.mtt-gal__track');\r\n            const slides = Array.from(track.querySelectorAll('img'));\r\n            const dotsWrap = mob.querySelector('.mtt-gal__dots');\r\n\r\n            slides.forEach((_,i)=>{\r\n              const d = document.createElement('button');\r\n              d.type='button'; d.setAttribute('aria-label',`Slide ${i+1}`); d.addEventListener('click',()=>go(i));\r\n              dotsWrap.appendChild(d);\r\n            });\r\n\r\n            function setDot(i){\r\n              dotsWrap.querySelectorAll('button').forEach((b,bi)=>b.setAttribute('aria-selected', bi===i ? 'true':'false'));\r\n            }\r\n            let index = 0, timer = null;\r\n\r\n            function go(i){\r\n              index = (i + slides.length) % slides.length;\r\n              const slide = slides[index];\r\n              const targetLeft = slide.offsetLeft - (track.clientWidth - slide.clientWidth) \/ 2;\r\n              track.scrollTo({ left: targetLeft, behavior: 'smooth' });\r\n              setDot(index);\r\n            }\r\n\r\n            const io = new IntersectionObserver((entries)=>{\r\n              entries.forEach(entry=>{\r\n                if(entry.isIntersecting){\r\n                  const i = slides.indexOf(entry.target);\r\n                  if(i!==-1){ index = i; setDot(i); }\r\n                }\r\n              });\r\n            }, { root: track, threshold: 0.6 });\r\n            slides.forEach(s => io.observe(s));\r\n\r\n            const isMobile = () => window.matchMedia('(max-width: 720px)').matches;\r\n            function start(){ if(!isMobile()) return; stop(); timer = setInterval(()=> go(index+1), 3500); }\r\n            function stop(){ if(timer){ clearInterval(timer); timer = null; } }\r\n\r\n            document.addEventListener('visibilitychange', ()=> document.visibilityState==='visible' ? start() : stop());\r\n            window.addEventListener('resize', ()=>{ stop(); start(); });\r\n            track.addEventListener('mouseenter', stop);\r\n            track.addEventListener('mouseleave', start);\r\n            track.addEventListener('touchstart', stop, {passive:true});\r\n            track.addEventListener('touchend', start, {passive:true});\r\n\r\n            setDot(0); start();\r\n          }\r\n\r\n          \/* ===== Accordion logic: CLOSED by default ===== *\/\r\n          root.querySelectorAll('.mtt-acc__btn').forEach(btn=>{\r\n            const panel = btn.nextElementSibling;\r\n            btn.setAttribute('aria-expanded','false');\r\n            if(panel) panel.setAttribute('hidden','');\r\n            btn.addEventListener('click', ()=>{\r\n              const expanded = btn.getAttribute('aria-expanded') === 'true';\r\n              btn.setAttribute('aria-expanded', String(!expanded));\r\n              if(panel) panel.toggleAttribute('hidden', expanded);\r\n            });\r\n          });\r\n\r\n          \/* ===== CONTACT \/ WhatsApp number ===== *\/\r\n          const WA_NUMBER = '212610395152';\r\n          const waLink = root.querySelector('#mttWaLink');\r\n          if(waLink){\r\n            const tourTitle = root.querySelector('.mtt-book__title')?.innerText?.replace(\/\\s+\/g,' ').trim() || 'Tour';\r\n            const base = `https:\/\/wa.me\/${WA_NUMBER}?text=${encodeURIComponent('Hi Morocco Top Tour, I\\'d like to ask about ' + tourTitle)}`;\r\n            waLink.setAttribute('href', base);\r\n          }\r\n\r\n          \/* ===== EmailJS INIT ===== *\/\r\n          const EMAILJS_PUBLIC_KEY = 'UlHaF0FvVmgEUyv26';\r\n          const EMAILJS_SERVICE_ID = 'service_z8490d1';\r\n          const EMAILJS_TEMPLATE_ID = 'template_moti61i';\r\n\r\n          if(window.emailjs){\r\n            emailjs.init({ publicKey: EMAILJS_PUBLIC_KEY });\r\n          }\r\n\r\n          \/* ===== Booking form -> EmailJS ===== *\/\r\n          const form = root.querySelector('#mttBookingForm');\r\n          form?.addEventListener('submit', async (e)=>{\r\n            e.preventDefault();\r\n\r\n            if((form.website && form.website.value) || (form.querySelector('[name=\"website\"]')?.value)){ return; }\r\n\r\n            const data = Object.fromEntries(new FormData(form).entries());\r\n            const tourTitle = root.querySelector('.mtt-book__title')?.innerText?.replace(\/\\s+\/g,' ').trim() || 'Tour';\r\n\r\n            const required = ['date','name','phone','guests'];\r\n            const missing = required.filter(f => !String(data[f]||'').trim());\r\n            if(missing.length){\r\n              alert('Please fill Date, Guests, Name and WhatsApp\/Phone.');\r\n              return;\r\n            }\r\n\r\n            const lines = [\r\n              `Booking Request \u2013 ${tourTitle}`,\r\n              `Date: ${data.date}`,\r\n              `Guests: ${data.guests}`,\r\n              `Name: ${data.name}`,\r\n              `Phone: ${data.phone}`,\r\n              data.email ? `Email: ${data.email}` : '',\r\n              data.pickup ? `Pick-up: ${data.pickup}` : '',\r\n              data.message ? `Message: ${data.message}` : ''\r\n            ].filter(Boolean);\r\n            const waURL = `https:\/\/wa.me\/${WA_NUMBER}?text=${encodeURIComponent(lines.join('\\n'))}`;\r\n            if(waLink) waLink.setAttribute('href', waURL);\r\n\r\n            const params = {\r\n              tour_title: tourTitle,\r\n              date: data.date,\r\n              guests: data.guests,\r\n              name: data.name,\r\n              phone: data.phone,\r\n              email: data.email || '',\r\n              pickup: data.pickup || '',\r\n              message: data.message || '',\r\n              source_page: window.location.href\r\n            };\r\n\r\n            const submitBtn = form.querySelector('button[type=\"submit\"]');\r\n            submitBtn.disabled = true; submitBtn.innerHTML = '<i class=\"fa-solid fa-spinner fa-spin\"><\/i> Sending\u2026';\r\n\r\n            try{\r\n              if(!window.emailjs) throw new Error('EmailJS not loaded');\r\n              await emailjs.send(EMAILJS_SERVICE_ID, EMAILJS_TEMPLATE_ID, params);\r\n\r\n              const thanks = document.createElement('section');\r\n              thanks.className = 'mtt-thanks';\r\n              thanks.innerHTML = `\r\n                <h2><i class=\"fa-solid fa-circle-check\"><\/i> Thank you! Your request was sent.<\/h2>\r\n                <p>Our team will contact you on WhatsApp or email to confirm details and pricing.<\/p>\r\n                <p><strong>Quick follow-up?<\/strong><\/p>\r\n                <p><a href=\"${waURL}\" target=\"_blank\" rel=\"noopener\"><i class=\"fa-brands fa-whatsapp\"><\/i> Message us on WhatsApp<\/a><\/p>\r\n              `;\r\n              const grid = root.querySelector('.mtt-book__grid');\r\n              grid.parentNode.insertBefore(thanks, grid.nextSibling);\r\n\r\n              thanks.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n              form.reset();\r\n            } catch(err){\r\n              console.error(err);\r\n              alert('Sorry\u2014something went wrong sending your request. Please try again or use WhatsApp.');\r\n            } finally {\r\n              submitBtn.disabled = false; submitBtn.innerHTML = '<i class=\"fa-solid fa-paper-plane\"><\/i> Send Booking';\r\n            }\r\n          });\r\n\r\n          \/* ===== LIGHTBOX ===== *\/\r\n          const lb = root.querySelector('.mtt-lightbox');\r\n          const lbImg = lb.querySelector('.mtt-lb__img');\r\n          const lbPrev = lb.querySelector('.mtt-lb__prev');\r\n          const lbNext = lb.querySelector('.mtt-lb__next');\r\n          const lbClose = lb.querySelector('.mtt-lb__close');\r\n\r\n          const gallerySources = Array.from(new Set([\r\n            root.querySelector('#mttMainImg')?.src,\r\n            ...Array.from(root.querySelectorAll('.mtt-gal__thumb')).map(b=>b.dataset.src).filter(Boolean)\r\n          ])).filter(Boolean);\r\n\r\n          let currentIndex = 0;\r\n          function openLB(index=0){\r\n            currentIndex = Math.max(0, Math.min(index, gallerySources.length-1));\r\n            lbImg.src = gallerySources[currentIndex];\r\n            lb.removeAttribute('hidden');\r\n            document.body.style.overflow = 'hidden';\r\n            lbImg.classList.remove('is-zoomed');\r\n          }\r\n          function closeLB(){\r\n            lb.setAttribute('hidden','');\r\n            document.body.style.overflow = '';\r\n          }\r\n          function navLB(delta){\r\n            currentIndex = (currentIndex + delta + gallerySources.length) % gallerySources.length;\r\n            lbImg.src = gallerySources[currentIndex];\r\n            lbImg.classList.remove('is-zoomed');\r\n          }\r\n\r\n          root.querySelector('#mttMainImg')?.addEventListener('click', ()=>{\r\n            const idx = gallerySources.indexOf(root.querySelector('#mttMainImg').src);\r\n            openLB(idx >= 0 ? idx : 0);\r\n          });\r\n          \r\n          Array.from(root.querySelectorAll('.mtt-gal__thumb')).forEach((btn)=>{\r\n            btn.addEventListener('dblclick', ()=>{ const idx = gallerySources.indexOf(btn.dataset.src); openLB(idx>=0?idx:0); });\r\n            let pressTimer;\r\n            btn.addEventListener('mousedown', ()=>{ pressTimer = setTimeout(()=>{ const idx = gallerySources.indexOf(btn.dataset.src); openLB(idx>=0?idx:0); }, 500); });\r\n            ['mouseup','mouseleave'].forEach(ev=> btn.addEventListener(ev, ()=> clearTimeout(pressTimer)));\r\n            btn.addEventListener('touchstart', ()=>{ pressTimer = setTimeout(()=>{ const idx = gallerySources.indexOf(btn.dataset.src); openLB(idx>=0?idx:0); }, 500); }, {passive:true});\r\n            btn.addEventListener('touchend', ()=> clearTimeout(pressTimer));\r\n          });\r\n\r\n          lbPrev.addEventListener('click', ()=> navLB(-1));\r\n          lbNext.addEventListener('click', ()=> navLB(+1));\r\n          lbClose.addEventListener('click', closeLB);\r\n          lb.addEventListener('click', (e)=>{ if(e.target === lb) closeLB(); });\r\n          window.addEventListener('keydown', (e)=>{\r\n            if(lb.hasAttribute('hidden')) return;\r\n            if(e.key === 'Escape') closeLB();\r\n            if(e.key === 'ArrowLeft') navLB(-1);\r\n            if(e.key === 'ArrowRight') navLB(+1);\r\n          });\r\n\r\n          lbImg.addEventListener('click', ()=> lbImg.classList.toggle('is-zoomed'));\r\n        });\r\n    <\/script>\r\n\r\n    <!-- ===== JSON-LD for SEO: Breadcrumbs + FAQ ===== -->\r\n    <script type=\"application\/ld+json\">\r\n    {\r\n      \"@context\": \"https:\/\/schema.org\",\r\n      \"@graph\": [{\r\n        \"@type\": \"BreadcrumbList\",\r\n        \"itemListElement\": [\r\n          { \"@type\": \"ListItem\", \"position\": 1, \"name\": \"Home\", \"item\": \"https:\/\/moroccotoptour.com\/\" },\r\n          { \"@type\": \"ListItem\", \"position\": 2, \"name\": \"Morocco Tours\", \"item\": \"https:\/\/moroccotoptour.com\/morocco-tours\/\" },\r\n          { \"@type\": \"ListItem\", \"position\": 3, \"name\": \"7-Day Morocco Tour: Casablanca to Tangier\" }\r\n        ]\r\n      },{\r\n        \"@type\": \"FAQPage\",\r\n        \"mainEntity\": [{\r\n          \"@type\": \"Question\",\r\n          \"name\": \"What is included in the 7-day Morocco tour from Casablanca to Tangier?\",\r\n          \"acceptedAnswer\": {\r\n            \"@type\": \"Answer\",\r\n            \"text\": \"The tour includes 6 nights accommodation in 3-4 star hotels, private air-conditioned vehicle with driver, professional local guides in Fes and Tangier, daily breakfast, airport transfers, and all transportation between cities.\"\r\n          }\r\n        },{\r\n          \"@type\": \"Question\",\r\n          \"name\": \"Is this tour suitable for first-time visitors to Morocco?\",\r\n          \"acceptedAnswer\": {\r\n            \"@type\": \"Answer\",\r\n            \"text\": \"Absolutely! This 7-day Morocco tour from Casablanca to Tangier is perfect for first-time visitors. It covers the essential highlights of northern Morocco with a comfortable pace and expert guidance.\"\r\n          }\r\n        },{\r\n          \"@type\": \"Question\",\r\n          \"name\": \"What are the main highlights of this 7-day Morocco tour?\",\r\n          \"acceptedAnswer\": {\r\n            \"@type\": \"Answer\",\r\n            \"text\": \"The tour highlights include Casablanca's Hassan II Mosque, Rabat capital city, Fes Medina (UNESCO site), Chefchaouen blue city, and Tangier's strategic location at the Strait of Gibraltar.\"\r\n          }\r\n        }]\r\n      }]\r\n    }\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>7-Day Morocco Tour: Casablanca to Tangier | Imperial Cities &#038; Atlantic &#8230; <\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-289","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/pages\/289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/comments?post=289"}],"version-history":[{"count":13,"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/pages\/289\/revisions"}],"predecessor-version":[{"id":766,"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/pages\/289\/revisions\/766"}],"wp:attachment":[{"href":"https:\/\/moroccotoptour.com\/zh\/wp-json\/wp\/v2\/media?parent=289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}