/* Extra rules for the static (no-React) version. Loaded after style.css. */

[hidden] { display: none !important; }

/* Scroll reveal (replaces the FadeIn animation component) */
.js [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.js [data-reveal].is-visible { opacity: 1; transform: none; }

/* Mega menu + slide entrance */
@keyframes static-fade-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes static-fade-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.mega-enter { animation: static-fade-down 0.28s cubic-bezier(0.16, 1, 0.3, 1); }
.slide-enter { animation: static-fade-up 0.38s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

/* Mobile menu */
[data-mobile-menu] { height: 100dvh; animation: static-fade-down 0.3s cubic-bezier(0.22, 1, 0.36, 1); }
.mobile-menu-open, .mobile-menu-open body { overflow: hidden; }

/* Burger icon -> cross */
[data-mobile-toggle] span { transition: transform 0.25s ease, width 0.2s ease; }
[data-mobile-toggle][aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(-45deg); }
[data-mobile-toggle][aria-expanded="true"] span:nth-child(2) { width: 0; }
[data-mobile-toggle][aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(45deg); }
[data-mobile-menu] button[aria-expanded] svg { transition: transform 0.2s; }
[data-mobile-menu] button[aria-expanded="true"] svg { transform: rotate(180deg); }

/* Single-image gallery cross-fade */
[data-swap-gallery] img { transition: opacity 0.18s ease-out; }
[data-swap-gallery] img.is-swapping { opacity: 0; }

/* Contact form: native select in place of the custom dropdown */
.static-select { width: 100%; cursor: pointer; background-color: transparent; }

@media (prefers-reduced-motion: reduce) {
  .mega-enter, .slide-enter, [data-mobile-menu] { animation: none; }
}

/* ------------------------------------------------------------------ */
/* Site footer (5-column layout)                                       */
/* Change the colours here to restyle the whole footer.                */
/* ------------------------------------------------------------------ */
.gdm-footer {
  --f-bg: #030922;            /* site dark navy */
  --f-accent: #d88c5a;        /* terracotta / sand accent */
  --f-text: rgba(255, 255, 255, 0.78);
  --f-muted: rgba(255, 255, 255, 0.5);
  --f-line: rgba(255, 255, 255, 0.1);
  background: var(--f-bg);
  color: var(--f-text);
  padding: 0 5%;
  font-weight: 300;
}
.gdm-footer a { color: inherit; text-decoration: none; transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease; }
.gdm-footer a:focus-visible { outline: 2px solid var(--f-accent); outline-offset: 3px; border-radius: 2px; }
.gdm-footer__inner { max-width: 80rem; margin: 0 auto; border-top: 1px solid var(--f-line); }

.gdm-footer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.75rem 1.5rem;
  padding: 3.5rem 0 3rem;
}
.gdm-footer__brand { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
.gdm-footer__about { max-width: 22rem; margin: 0; font-size: 0.875rem; line-height: 1.7; color: var(--f-muted); }

.gdm-footer__socials { display: flex; gap: 0.625rem; }
.gdm-footer__social {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.5rem; height: 2.5rem; border-radius: 50%;
  background: rgba(255, 255, 255, 0.07); border: 1px solid var(--f-line);
  color: rgba(255, 255, 255, 0.85);
}
.gdm-footer__social:hover { background: var(--f-accent); border-color: var(--f-accent); color: var(--f-bg); }
.gdm-footer__icon { width: 1.05rem; height: 1.05rem; }

.gdm-footer__rating { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; color: var(--f-text); }
.gdm-footer__rating:hover { color: #fff; }
.gdm-footer__star { color: var(--f-accent); font-size: 0.875rem; }

.gdm-footer__heading {
  margin: 0 0 1.25rem;
  font-family: Playfair Display, Georgia, serif;
  font-size: 0.6875rem; font-weight: 500;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--f-accent);
}
.gdm-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.7rem; }
.gdm-footer__list a { font-size: 0.9375rem; line-height: 1.45; color: var(--f-text); }
.gdm-footer__list a:hover,
.gdm-footer__contact a:hover,
.gdm-footer__legal a:hover { color: var(--f-accent); }

.gdm-footer__contact { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 1.5rem; font-size: 0.8125rem; color: var(--f-muted); overflow-wrap: anywhere; }
.gdm-footer__contact a { color: var(--f-muted); }

.gdm-footer__bottom {
  display: flex; flex-direction: column; gap: 1rem;
  padding: 1.75rem 0 5.5rem; /* room for the floating WhatsApp button */
  border-top: 1px solid var(--f-line);
  font-size: 0.8125rem; color: var(--f-muted);
}
.gdm-footer__copy { margin: 0; }
.gdm-footer__legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.gdm-footer__legal a { color: var(--f-muted); }

@media (min-width: 768px) {
  .gdm-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3rem 2rem; padding: 4.5rem 0 3.5rem; }
  .gdm-footer__bottom { flex-direction: row; align-items: center; justify-content: space-between; }
}
@media (min-width: 1100px) {
  .gdm-footer__grid { grid-template-columns: minmax(0, 1.35fr) repeat(4, minmax(0, 1fr)); gap: 2.5rem; padding: 5rem 0 4rem; }
  .gdm-footer__brand { grid-column: auto; }
}

/* ------------------------------------------------------------------ */
/* Blog articles: inline links + FAQ sub-headings                      */
/* ------------------------------------------------------------------ */
.journal-post-body__content p a,
.journal-post-body__content li a {
  color: #b5643a;
  text-decoration: underline;
  text-decoration-color: rgba(181, 100, 58, 0.35);
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.journal-post-body__content p a:hover,
.journal-post-body__content li a:hover { color: #030922; text-decoration-color: currentColor; }
.journal-post-body__content strong { font-weight: 500; color: #030922; }
.journal-post-body__subheading {
  margin: 1.75rem 0 0.5rem;
  font-family: Playfair Display, Georgia, serif;
  font-size: 1.1875rem; font-weight: 400; line-height: 1.35;
  color: #030922;
}
.journal-post-body__next { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(3, 9, 34, 0.12); }


/* Guided Desert Morocco: editorial Tours mega menu */
.gd-mega-shell{background:#f4f0e2;border-top:1px solid #e4dcc7;border-bottom:1px solid #e4dcc7;box-shadow:0 15px 25px rgba(12,40,31,.12);max-height:calc(100vh - 95px);overflow-y:auto}
.gd-mega-grid{max-width:1480px;margin:auto;padding:29px clamp(24px,4vw,70px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(185px,1.06fr);gap:clamp(15px,2vw,38px);font-family:inherit}
.gd-mega-col h3,.gd-mega-cta h3{font-size:10px;letter-spacing:.19em;color:#ae8a32;font-weight:700;margin:0 0 16px}
.gd-mega-col ul{list-style:none;margin:0;padding:0}.gd-mega-col li{margin-bottom:12px}.gd-mega-col li a{font-size:13px;color:#223c31;text-decoration:none;line-height:1.45;display:block;transition:color .2s,transform .2s}.gd-mega-col li a:before{content:'•';color:#bca052;margin-right:9px}.gd-mega-col li a:hover,.gd-mega-col li a:focus-visible{color:#a87919;transform:translateX(3px)}
.gd-mega-cta{border:1px solid #ded6bd;padding:20px;border-radius:13px;align-self:start;color:#365247}.gd-mega-cta h3{margin-bottom:15px}.gd-cta-title{font-family:Georgia,serif;font-size:18px!important;color:#1c5543!important;margin:0 0 10px!important}.gd-mega-cta>p:not(.gd-cta-title){font-size:12px;line-height:1.65;margin-bottom:16px}.gd-cta-button{display:inline-block;background:#18523d;color:#fff!important;border-radius:40px;padding:10px 14px;font-size:12px;font-weight:600;text-decoration:none;margin:0 0 11px}.gd-cta-button:hover{background:#0c3527}.gd-cta-secondary{display:block;font-size:12px;font-weight:600;color:#18523d;text-decoration:none;margin:10px 0 0}
.gd-mobile-cols .gd-mega-grid{display:flex;flex-direction:column;gap:23px;padding:17px 10px}.gd-mobile-cols .gd-mega-col h3{margin-bottom:10px}.gd-mobile-cols .gd-mega-col li{margin-bottom:10px}.gd-mobile-cols .gd-mega-cta{width:100%}
@media(min-width:1280px) and (max-width:1390px){.gd-mega-grid{gap:14px;padding:25px 25px}.gd-mega-col li a{font-size:12px}.gd-mega-cta{padding:14px}}
