/* =============================================================
   Visit Maghreb — Brand override layer
   Loaded LAST, after style-core / tourmaster / traveltour custom.
   The blue "Blue Icon" accent has already been globally swapped to
   terracotta in the theme CSS; this file refines fonts, brand tone,
   and adds Visit Maghreb-specific components (WhatsApp float, etc.).
   ============================================================= */

:root {
  --vm-terracotta:      #ff8c00;  /* Visit Maghreb primary orange-gold */
  --vm-terracotta-dark: #e07b00;  /* darker for button hover */
  --vm-saffron:         #ffb400;  /* Visit Maghreb golden yellow accent */
  --vm-saffron-light:   #ffd24d;
  --vm-indigo:          #1B2D4A;
  --vm-indigo-dark:     #0F1C30;
  --vm-chefchaouen:     #3E5A73;
  --vm-sand:            #EFE5D5;
  --vm-sand-light:      #F7F1E6;
  --vm-cream:           #FAF6EE;
  --vm-ink:             #1A1410;
  --vm-ink-soft:        #3A2E25;
}

/* ---- Typography: Fraunces display headings + Manrope body ---- */
.traveltour-body,
.traveltour-body .gdlr-core-text-font,
.traveltour-body p,
.vm-body, .vm-body p,
.tourmaster-body {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.vm-body { margin: 0; color: var(--vm-ink); background: #fff; -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }

.vm-body h1, .vm-body h2, .vm-body h3, .vm-body h4, .vm-body h5, .vm-body h6,
.traveltour-body h1, .traveltour-body h2, .traveltour-body h3,
.traveltour-body h4, .traveltour-body h5, .traveltour-body h6,
.traveltour-title-font,
.gdlr-core-title-font,
.gdlr-core-block-item-title,
.tourmaster-tour-title,
.traveltour-logo-text {
  font-family: 'Fraunces', 'Playfair Display', Georgia, serif !important;
  letter-spacing: -0.01em;
}

/* ---- Top bar: deep indigo for a premium frame ---- */
.traveltour-top-bar-background { background-color: var(--vm-indigo); }
.traveltour-top-bar,
.traveltour-top-bar a { color: var(--vm-sand-light); }
.traveltour-top-bar-social-icon { color: var(--vm-sand-light); opacity: 0.85; }
.traveltour-top-bar-social-icon:hover { color: var(--vm-saffron); opacity: 1; }

/* ---- Logo sizing ---- */
.traveltour-logo-inner img { max-height: 54px; width: auto; }

/* ---- Buttons: ensure brand terracotta with saffron hover ---- */
.gdlr-core-button,
.tourmaster-button,
input[type="submit"].search-submit {
  background-color: var(--vm-terracotta);
  border-radius: 3px;
}
.gdlr-core-button:hover,
.tourmaster-button:hover { background-color: var(--vm-terracotta-dark); }

/* secondary / ghost CTA on dark hero */
.vm-btn-ghost {
  display: inline-block; padding: 14px 32px; border: 2px solid #fff;
  color: #fff; font-weight: 600; border-radius: 3px; transition: all .25s ease;
  font-family: 'Manrope', sans-serif;
}
.vm-btn-ghost:hover { background: #fff; color: var(--vm-indigo); }

/* ---- Tour price accent ---- */
.tourmaster-tour-price .tourmaster-tail,
.tourmaster-tour-price-wrap .tourmaster-tour-price { color: var(--vm-terracotta); }

/* ---- Section eyebrow / caption tone ---- */
.gdlr-core-title-item-caption,
.vm-eyebrow {
  color: var(--vm-terracotta);
  text-transform: uppercase; letter-spacing: .18em; font-weight: 600;
  font-family: 'Manrope', sans-serif; font-size: 13px;
}

/* ---- WhatsApp floating button ---- */
.vm-whatsapp-float {
  position: fixed; right: 22px; bottom: 22px; z-index: 9999;
  width: 56px; height: 56px; border-radius: 50%;
  background: #25D366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 20px rgba(0,0,0,.25); transition: transform .2s ease;
}
.vm-whatsapp-float:hover { transform: scale(1.08); }
.vm-whatsapp-float svg { width: 30px; height: 30px; fill: #fff; }

/* ---- Trust strip / stat tone refinements ---- */
.vm-trust-strip { background: var(--vm-sand-light); }
.vm-stat-value { color: var(--vm-terracotta); font-family: 'Fraunces', serif; }

/* ---- Language switcher in top bar ---- */
.vm-lang-switcher { display: inline-flex; gap: 2px; align-items: center; margin-left: 14px; }
.vm-lang-switcher a {
  font-size: 12px; padding: 1px 5px; color: var(--vm-sand-light); opacity: .7;
  font-family: 'Manrope', sans-serif; border-radius: 2px; letter-spacing: .03em;
}
.vm-lang-switcher a:hover { opacity: 1; color: var(--vm-saffron); }
.vm-lang-switcher a.active { opacity: 1; color: var(--vm-saffron); font-weight: 700; }

/* RTL base for Arabic */
html[dir="rtl"] body { direction: rtl; text-align: right; }

/* =============================================================
   Homepage + shared section helpers (real-theme compatible)
   ============================================================= */

/* ---- Static hero (replaces RevSlider; uses theme container) ---- */
.vm-hero {
  position: relative; min-height: 88vh; display: flex; align-items: center;
  background: var(--vm-indigo-dark);
  background-size: cover; background-position: center;
  color: #fff; overflow: hidden;
}
.vm-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(15,28,48,.86) 0%, rgba(15,28,48,.55) 45%, rgba(15,28,48,.18) 100%);
}
.vm-hero-inner {
  position: relative; z-index: 2; max-width: 1200px; margin: 0 auto;
  padding: 0 30px; width: 100%;
}
.vm-hero-content { max-width: 660px; padding: 120px 0; }
.vm-hero-eyebrow {
  color: var(--vm-saffron); text-transform: uppercase; letter-spacing: .22em;
  font-size: 13px; font-weight: 600; margin-bottom: 22px;
  font-family: 'Manrope', sans-serif;
}
.vm-hero h1 {
  font-family: 'Fraunces', serif !important; color: #fff;
  font-size: clamp(2.6rem, 5.4vw, 4.6rem); line-height: 1.04;
  margin: 0 0 24px; font-weight: 600; letter-spacing: -0.015em;
}
.vm-hero h1 .accent { color: var(--vm-saffron); font-style: italic; }
.vm-hero-lede {
  font-size: 1.2rem; line-height: 1.65; color: rgba(255,255,255,.9);
  max-width: 560px; margin: 0 0 34px; font-family: 'Manrope', sans-serif;
}
.vm-hero-cta { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.vm-hero-meta {
  position: relative; z-index: 2; display: flex; gap: 48px; flex-wrap: wrap;
  margin-top: 26px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.18);
}
.vm-hero-meta div strong {
  display: block; font-family: 'Fraunces', serif; font-size: 2rem;
  color: var(--vm-saffron); line-height: 1;
}
.vm-hero-meta div span {
  font-size: 13px; color: rgba(255,255,255,.78); letter-spacing: .04em;
  font-family: 'Manrope', sans-serif;
}
@media (max-width: 767px){ .vm-hero-content{ padding: 90px 0; } .vm-hero-meta{ gap: 28px; } }

/* ---- Trust strip ---- */
.vm-trust-strip { padding: 26px 0; border-bottom: 1px solid var(--vm-sand); }
.vm-trust-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 30px;
  display: flex; flex-wrap: wrap; gap: 30px; align-items: center; justify-content: center;
  font-family: 'Manrope', sans-serif; color: var(--vm-ink-soft); font-size: 14px;
}
.vm-trust-inner span { display: inline-flex; align-items: center; gap: 9px; }
.vm-trust-inner i { color: var(--vm-terracotta); font-size: 17px; }

/* ---- Generic section spacing helpers ---- */
.vm-section { padding: 80px 0; }
.vm-section-alt { background: var(--vm-sand-light); }
.vm-wrap { max-width: 1200px; margin: 0 auto; padding: 0 30px; }
.vm-section-head { text-align: center; max-width: 720px; margin: 0 auto 52px; }
.vm-section-head h2 {
  font-family: 'Fraunces', serif !important; font-size: clamp(2rem, 3.6vw, 2.9rem);
  color: var(--vm-ink); margin: 10px 0 16px; font-weight: 600;
}
.vm-section-head p { font-family: 'Manrope', sans-serif; color: var(--vm-ink-soft); font-size: 1.05rem; line-height: 1.7; }

/* ---- Tour card grid (Visit Maghreb, theme-styled) ---- */
.vm-tour-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
@media (max-width: 991px){ .vm-tour-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px){ .vm-tour-grid{ grid-template-columns: 1fr; } }
.vm-tour-card {
  background: #fff; border: 1px solid var(--vm-sand); border-radius: 5px; overflow: hidden;
  display: flex; flex-direction: column; transition: box-shadow .25s ease, transform .25s ease;
}
.vm-tour-card:hover { box-shadow: 0 16px 40px rgba(26,20,16,.13); transform: translateY(-4px); }
.vm-tour-media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.vm-tour-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.vm-tour-card:hover .vm-tour-media img { transform: scale(1.06); }
.vm-tour-badge {
  position: absolute; top: 14px; left: 14px; background: var(--vm-terracotta); color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 5px 11px; border-radius: 3px; font-family: 'Manrope', sans-serif;
}
.vm-tour-body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.vm-tour-dur { font-size: 12px; color: var(--vm-terracotta); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-family: 'Manrope', sans-serif; }
.vm-tour-card h3 { font-family: 'Fraunces', serif !important; font-size: 1.3rem; margin: 8px 0 10px; line-height: 1.25; }
.vm-tour-card h3 a { color: var(--vm-ink); }
.vm-tour-card h3 a:hover { color: var(--vm-terracotta); }
.vm-tour-desc { font-family: 'Manrope', sans-serif; color: var(--vm-ink-soft); font-size: .94rem; line-height: 1.6; flex: 1; }
.vm-tour-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--vm-sand); }
.vm-tour-price { font-family: 'Fraunces', serif; font-size: 1.4rem; color: var(--vm-terracotta); }
.vm-tour-price small { display: block; font-size: 11px; color: var(--vm-ink-soft); font-family: 'Manrope', sans-serif; }
.vm-tour-link { font-family: 'Manrope', sans-serif; font-weight: 600; font-size: .9rem; color: var(--vm-indigo); }
.vm-tour-card:hover .vm-tour-link { color: var(--vm-terracotta); }

/* ---- Feature columns (why us) ---- */
.vm-feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 26px; }
@media (max-width: 991px){ .vm-feature-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px){ .vm-feature-grid{ grid-template-columns: 1fr; } }
.vm-feature { text-align: center; padding: 8px; }
.vm-feature i { font-size: 38px; color: var(--vm-terracotta); margin-bottom: 16px; display: inline-block; }
.vm-feature h3 { font-family: 'Fraunces', serif !important; font-size: 1.2rem; margin: 0 0 10px; }
.vm-feature p { font-family: 'Manrope', sans-serif; color: var(--vm-ink-soft); font-size: .92rem; line-height: 1.6; }

/* ---- Destination tiles ---- */
.vm-dest-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
@media (max-width: 991px){ .vm-dest-grid{ grid-template-columns: repeat(2,1fr); } }
.vm-dest { position: relative; aspect-ratio: 3/4; border-radius: 5px; overflow: hidden; display: block; }
.vm-dest img { width:100%; height:100%; object-fit: cover; transition: transform .5s ease; }
.vm-dest:hover img { transform: scale(1.07); }
.vm-dest::after { content:""; position:absolute; inset:0; background: linear-gradient(to top, rgba(15,28,48,.8), transparent 60%); }
.vm-dest-label { position:absolute; left:0; right:0; bottom:0; z-index:2; padding: 18px; color:#fff; }
.vm-dest-label h3 { font-family:'Fraunces',serif !important; font-size:1.25rem; margin:0; color:#fff; }
.vm-dest-label span { font-family:'Manrope',sans-serif; font-size:12px; color: var(--vm-saffron); letter-spacing:.06em; }

/* ---- CTA band ---- */
.vm-cta { background: var(--vm-indigo); color:#fff; padding: 76px 0; text-align:center; }
.vm-cta h2 { font-family:'Fraunces',serif !important; color:#fff; font-size: clamp(1.9rem,3.4vw,2.7rem); margin:0 0 14px; }
.vm-cta p { font-family:'Manrope',sans-serif; color: rgba(255,255,255,.85); max-width: 620px; margin: 0 auto 28px; font-size:1.05rem; line-height:1.6; }

/* ---- Testimonials ---- */
.vm-testi-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
@media (max-width: 880px){ .vm-testi-grid{ grid-template-columns:1fr; } }
.vm-testi { background:#fff; border:1px solid var(--vm-sand); border-radius:5px; padding: 28px; }
.vm-testi-stars { color: var(--vm-saffron); margin-bottom: 12px; }
.vm-testi p { font-family:'Cormorant Garamond', Georgia, serif; font-size: 1.18rem; line-height:1.6; color: var(--vm-ink-soft); font-style: italic; }
.vm-testi-author { display:flex; align-items:center; gap:12px; margin-top:18px; font-family:'Manrope',sans-serif; }
.vm-testi-author strong { display:block; font-size:.95rem; color:var(--vm-ink); }
.vm-testi-author span { font-size:.8rem; color:var(--vm-ink-soft); }

/* =============================================================
   Page-title banner + breadcrumb
   ============================================================= */
.vm-page-title {
  position: relative; background: var(--vm-indigo-dark);
  background-size: cover; background-position: center; color: #fff;
  padding: 110px 0 70px; text-align: center;
}
.vm-page-title::after { content:""; position:absolute; inset:0; background: linear-gradient(rgba(15,28,48,.6), rgba(15,28,48,.78)); }
.vm-page-title-inner { position: relative; z-index: 2; max-width: 1000px; margin: 0 auto; padding: 0 30px; }
.vm-ptitle { font-family:'Fraunces',serif !important; color:#fff; font-size: clamp(2.1rem,4.4vw,3.4rem); margin:0 0 12px; font-weight:600; }
.vm-ptitle-sub { font-family:'Manrope',sans-serif; color: rgba(255,255,255,.88); font-size:1.08rem; max-width:680px; margin: 0 auto 18px; line-height:1.6; }
.vm-breadcrumb { font-family:'Manrope',sans-serif; font-size:13px; color: rgba(255,255,255,.8); }
.vm-breadcrumb a { color: rgba(255,255,255,.8); }
.vm-breadcrumb a:hover { color: var(--vm-saffron); }
.vm-breadcrumb .vm-sep { margin: 0 9px; opacity:.6; }
.vm-breadcrumb .vm-current { color: var(--vm-saffron); }

/* =============================================================
   Prose / generic content
   ============================================================= */
.vm-prose { font-family:'Manrope',sans-serif; color:var(--vm-ink-soft); line-height:1.8; }
.vm-prose p { margin: 0 0 18px; font-size: 1.02rem; }
.vm-lead { font-size: 1.22rem !important; line-height:1.7; color: var(--vm-ink); font-family:'Manrope',sans-serif; margin-bottom: 26px; }
.vm-h2 { font-family:'Fraunces',serif !important; font-size: clamp(1.5rem,2.6vw,2rem); color: var(--vm-ink); margin: 34px 0 16px; font-weight:600; }
.vm-check-list { list-style:none; padding:0; margin:0 0 18px; font-family:'Manrope',sans-serif; }
.vm-check-list li { position:relative; padding-left: 30px; margin-bottom: 11px; line-height:1.6; color:var(--vm-ink-soft); }
.vm-check-list li::before { content:"\2713"; position:absolute; left:0; top:0; color: var(--vm-terracotta); font-weight:700; }

/* =============================================================
   Tour-detail layout
   ============================================================= */
.vm-tour-layout { display:grid; grid-template-columns: 1fr 350px; gap: 48px; align-items:start; }
@media (max-width: 991px){ .vm-tour-layout{ grid-template-columns:1fr; } }
.vm-tour-main { font-family:'Manrope',sans-serif; color:var(--vm-ink-soft); line-height:1.8; }
.vm-tour-main p { margin: 0 0 16px; }
.vm-tour-quickbar { display:flex; flex-wrap:wrap; gap: 22px; padding: 16px 20px; background: var(--vm-sand-light); border-radius:5px; margin-bottom: 30px; font-size:.9rem; }
.vm-tour-quickbar span { display:inline-flex; align-items:center; gap:8px; color:var(--vm-ink); }
.vm-tour-quickbar i { color: var(--vm-terracotta); }

/* itinerary accordion */
.vm-itin { margin-bottom: 10px; }
.vm-itin-item { border:1px solid var(--vm-sand); border-radius:5px; margin-bottom:12px; overflow:hidden; background:#fff; }
.vm-itin-item summary { list-style:none; cursor:pointer; padding:16px 20px; display:flex; align-items:center; gap:16px; font-family:'Manrope',sans-serif; }
.vm-itin-item summary::-webkit-details-marker { display:none; }
.vm-itin-item summary::after { content:"\002B"; margin-left:auto; color:var(--vm-terracotta); font-size:1.3rem; }
.vm-itin-item[open] summary::after { content:"\2212"; }
.vm-itin-day { background: var(--vm-terracotta); color:#fff; font-size:12px; font-weight:700; padding:5px 11px; border-radius:3px; white-space:nowrap; }
.vm-itin-title { font-weight:600; color:var(--vm-ink); }
.vm-itin-body { padding: 0 20px 20px 20px; color:var(--vm-ink-soft); }
.vm-itin-body p { margin:0; line-height:1.75; }

/* included / excluded */
.vm-incexc { display:grid; grid-template-columns:1fr 1fr; gap: 22px; margin-bottom: 10px; }
@media (max-width:600px){ .vm-incexc{ grid-template-columns:1fr; } }
.vm-incexc ul { list-style:none; padding:0; margin:0; font-family:'Manrope',sans-serif; }
.vm-incexc li { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; line-height:1.5; }
.vm-inc i { color:#3a9d5d; margin-top:3px; }
.vm-exc i { color:#c0392b; margin-top:3px; }
.vm-exc li { color: #8a7f76; }

/* FAQ accordion (shared) */
.vm-faq-item { border-bottom:1px solid var(--vm-sand); }
.vm-faq-item summary { list-style:none; cursor:pointer; padding:18px 0; font-family:'Fraunces',serif; font-size:1.12rem; color:var(--vm-ink); display:flex; align-items:center; }
.vm-faq-item summary::-webkit-details-marker{ display:none; }
.vm-faq-item summary::after { content:"\002B"; margin-left:auto; color:var(--vm-terracotta); }
.vm-faq-item[open] summary::after { content:"\2212"; }
.vm-faq-a { padding: 0 0 18px; font-family:'Manrope',sans-serif; color:var(--vm-ink-soft); line-height:1.7; }
.vm-faq-a p { margin:0; }

/* booking sidebar */
.vm-tour-aside { position: sticky; top: 20px; }
.vm-booking-box { background:#fff; border:1px solid var(--vm-sand); border-radius:6px; padding: 26px; box-shadow: 0 10px 34px rgba(26,20,16,.08); }
.vm-booking-price { font-family:'Manrope',sans-serif; color:var(--vm-ink-soft); font-size:.9rem; margin-bottom:18px; }
.vm-booking-price strong { font-family:'Fraunces',serif; color:var(--vm-terracotta); font-size:2.3rem; display:inline-block; margin:0 6px; }
.vm-booking-facts { list-style:none; padding:0; margin:0 0 20px; font-family:'Manrope',sans-serif; font-size:.92rem; }
.vm-booking-facts li { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--vm-sand-light); color:var(--vm-ink-soft); }
.vm-booking-facts i { color:var(--vm-terracotta); width:16px; text-align:center; }
.vm-booking-facts b { margin-left:auto; color:var(--vm-ink); font-weight:600; }
.vm-book-btn { display:block; text-align:center; margin-bottom:10px; }
.vm-btn-outline { display:block; text-align:center; padding:13px; border:2px solid var(--vm-indigo); color:var(--vm-indigo); border-radius:3px; font-family:'Manrope',sans-serif; font-weight:600; transition:all .2s ease; }
.vm-btn-outline:hover { background:var(--vm-indigo); color:#fff; }
.vm-booking-note { font-family:'Manrope',sans-serif; font-size:12px; color:var(--vm-ink-soft); text-align:center; margin:14px 0 0; }

/* =============================================================
   Chips, contact, big destination tiles
   ============================================================= */
.vm-chips { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.vm-chip { display:inline-block; padding:11px 20px; border:1px solid var(--vm-sand); border-radius:40px; font-family:'Manrope',sans-serif; font-weight:600; font-size:.92rem; color:var(--vm-ink); background:#fff; transition:all .2s ease; }
.vm-chip:hover { background:var(--vm-terracotta); color:#fff; border-color:var(--vm-terracotta); }

.vm-contact-layout { display:grid; grid-template-columns: 1fr 1fr; gap:48px; align-items:start; }
@media (max-width:880px){ .vm-contact-layout{ grid-template-columns:1fr; } }
.vm-contact-list { list-style:none; padding:0; margin:0 0 24px; font-family:'Manrope',sans-serif; line-height:1.5; }
.vm-contact-list li { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid var(--vm-sand); }
.vm-contact-list i { color:var(--vm-terracotta); width:20px; text-align:center; }
.vm-form { background:#fff; border:1px solid var(--vm-sand); border-radius:6px; padding:28px; }
.vm-form label { display:block; font-family:'Manrope',sans-serif; font-weight:600; font-size:.88rem; color:var(--vm-ink); margin-bottom:16px; }
.vm-form input, .vm-form textarea { width:100%; margin-top:6px; padding:11px 13px; border:1px solid var(--vm-sand); border-radius:4px; font-family:'Manrope',sans-serif; font-weight:400; font-size:.95rem; }
.vm-form input:focus, .vm-form textarea:focus { outline:none; border-color:var(--vm-terracotta); }

.vm-dest-grid-2 { grid-template-columns: repeat(3,1fr); }
@media (max-width:991px){ .vm-dest-grid-2{ grid-template-columns: repeat(2,1fr); } }
@media (max-width:560px){ .vm-dest-grid-2{ grid-template-columns: 1fr; } }
.vm-dest-lg { aspect-ratio: 4/3.4; }
.vm-dest-lg .vm-dest-label p { font-family:'Manrope',sans-serif; font-size:.84rem; color:rgba(255,255,255,.85); margin:6px 0 0; line-height:1.4; }

/* =============================================================
   Destination guide + article layouts
   ============================================================= */
.vm-dest-layout { display:grid; grid-template-columns: 1fr 340px; gap: 48px; align-items:start; }
@media (max-width: 991px){ .vm-dest-layout{ grid-template-columns:1fr; } }
.vm-things { margin: 8px 0 10px; }
.vm-thing { padding: 16px 0; border-bottom: 1px solid var(--vm-sand); }
.vm-thing h3 { font-family:'Fraunces',serif !important; font-size:1.18rem; margin:0 0 6px; color:var(--vm-ink); }
.vm-thing p { margin:0; font-family:'Manrope',sans-serif; color:var(--vm-ink-soft); line-height:1.65; }

.vm-article { max-width: 820px; }
.vm-updated { font-family:'Manrope',sans-serif; font-size:13px; color:var(--vm-ink-soft); letter-spacing:.02em; margin-bottom: 8px; }
.vm-article-body h2:first-of-type { margin-top: 8px; }
.vm-article-cta { background: var(--vm-sand-light); border-left: 3px solid var(--vm-terracotta); padding: 18px 22px; border-radius: 4px; margin-top: 30px; }
.vm-article-cta p { margin:0; font-family:'Manrope',sans-serif; color:var(--vm-ink); }

/* =================================================================
   DESIGN UPGRADE 2026 — premium header, navigation & footer
   Overrides the theme's black (#000) header and grey (#202020) footer
   with the Visit Maghreb indigo palette + gold accents.
   ================================================================= */

/* ---- Header: elegant deep-indigo instead of theme black ---- */
.traveltour-header-background,
.traveltour-header-style-boxed.traveltour-fixed-navigation {
  background: linear-gradient(180deg, #1B2D4A 0%, #16263F 100%) !important;
  box-shadow: 0 2px 18px rgba(15,28,48,.16);
  border-bottom: 2px solid rgba(255,180,0,.5);
}
.traveltour-sticky-navigation.traveltour-fixed-navigation .traveltour-header-background {
  background: rgba(20,33,55,.93) !important;
  -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px);
  box-shadow: 0 8px 26px rgba(15,28,48,.30);
  border-bottom-color: rgba(255,180,0,.7);
}
.traveltour-header-wrap.traveltour-header-style-plain { border-color: transparent; }
.traveltour-mobile-header.traveltour-header-background,
.traveltour-mobile-header-wrap .traveltour-header-background {
  background: linear-gradient(180deg,#1B2D4A,#16263F) !important;
  border-bottom: 2px solid rgba(255,180,0,.5);
}

/* ---- Top bar: deepest indigo with subtle gold divider ---- */
.traveltour-top-bar-background { background: var(--vm-indigo-dark) !important; }
.traveltour-top-bar { font-family:'Manrope',sans-serif; font-size:13px; letter-spacing:.01em; }
.traveltour-top-bar-container { border-bottom: 1px solid rgba(255,180,0,.12); }

/* ---- Logo a touch larger ---- */
.traveltour-logo-inner img { max-height: 58px; width: auto; }

/* ---- Desktop primary nav: refined typography, spacing, hover ---- */
.traveltour-main-menu .sf-menu > li > a {
  font-family:'Manrope',sans-serif !important; font-weight:600; font-size:15px;
  letter-spacing:.012em; color: var(--vm-sand-light) !important;
  padding-left:17px; padding-right:17px; transition: color .2s ease;
}
.traveltour-main-menu .sf-menu > li > a:hover,
.traveltour-main-menu .sf-menu > li.current-menu-item > a,
.traveltour-main-menu .sf-menu > li.sfHover > a { color: var(--vm-saffron) !important; }
.traveltour-navigation-slide-bar { background: var(--vm-saffron) !important; height:3px !important; border-radius:2px; }

/* dropdown submenus */
.traveltour-main-menu .sf-menu ul.sub-menu {
  background:#fff !important; box-shadow:0 14px 34px rgba(15,28,48,.20);
  border-top:3px solid var(--vm-saffron); border-radius:0 0 6px 6px; padding:6px 0;
}
.traveltour-main-menu .sf-menu ul.sub-menu > li > a {
  color: var(--vm-ink) !important; font-family:'Manrope',sans-serif !important;
  font-size:14px; font-weight:500; padding:11px 22px; transition: all .18s ease;
}
.traveltour-main-menu .sf-menu ul.sub-menu > li > a:hover {
  color: var(--vm-terracotta) !important; background: var(--vm-sand-light); padding-left:26px;
}

/* ---- Accessibility: clearly visible keyboard focus ---- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
.gdlr-core-button:focus-visible, .vm-btn-ghost:focus-visible,
.traveltour-main-menu .sf-menu a:focus-visible, .vm-lang-switcher a:focus-visible {
  outline: 3px solid var(--vm-saffron); outline-offset: 2px; border-radius:3px;
}

/* ---- Language switcher: elegant pill group ---- */
.vm-lang-switcher { display:inline-flex; gap:3px; align-items:center; margin-left:16px;
  padding:2px; border-radius:999px; background: rgba(255,255,255,.07); }
.vm-lang-switcher a {
  font-size:12px; font-weight:600; padding:3px 9px; color: var(--vm-sand-light);
  opacity:.75; font-family:'Manrope',sans-serif; border-radius:999px;
  letter-spacing:.04em; transition: all .18s ease;
}
.vm-lang-switcher a:hover { opacity:1; color:#fff; background: rgba(255,180,0,.22); }
.vm-lang-switcher a.active { opacity:1; color: var(--vm-indigo); background: var(--vm-saffron); font-weight:700; }

/* language switcher placed inside the desktop nav bar */
.traveltour-main-menu .sf-menu > li.vm-nav-lang-li { display:flex; align-items:center; }
.traveltour-main-menu .sf-menu > li.vm-nav-lang-li > a.vm-nav-lang-anchor { display:none; }
.traveltour-main-menu .sf-menu > li.vm-nav-lang-li .vm-lang-switcher { margin-left:8px; }

/* language switcher inside the mobile slide menu */
.vm-mobile-lang { display:flex; gap:8px; padding:18px 20px 6px; }
.vm-mobile-lang a {
  font-family:'Manrope',sans-serif; font-weight:600; font-size:13px; letter-spacing:.04em;
  color:#fff; opacity:.8; padding:6px 14px; border:1px solid rgba(255,255,255,.25); border-radius:999px;
}
.vm-mobile-lang a.active { background: var(--vm-saffron); color: var(--vm-indigo); border-color: var(--vm-saffron); opacity:1; }

/* =================================================================
   Footer — brand indigo, organized, gold-accented
   ================================================================= */
.traveltour-footer-wrapper {
  background: linear-gradient(180deg,#16263F 0%, #0F1C30 100%) !important;
  color:#c2cee0 !important; font-family:'Manrope',sans-serif;
}
.traveltour-footer-wrapper, .traveltour-footer-wrapper * { border-color: rgba(255,255,255,.08) !important; }
.traveltour-footer-wrapper p { color:#aab8cc !important; line-height:1.75; }
.traveltour-footer-wrapper .traveltour-widget-title { margin-bottom:18px; }
.traveltour-footer-wrapper .traveltour-widget-head-text {
  color:#fff !important; font-family:'Fraunces',serif !important; font-size:1.12rem;
  font-weight:600; position:relative; padding-bottom:12px; display:inline-block;
}
.traveltour-footer-wrapper .traveltour-widget-head-text:after {
  content:""; position:absolute; left:0; bottom:0; width:34px; height:2px; background: var(--vm-saffron);
}
.traveltour-footer-wrapper a { color:#cfd9e7 !important; transition: color .18s ease; }
.traveltour-footer-wrapper a:hover { color: var(--vm-saffron) !important; }
.traveltour-footer-wrapper ul li { transition: padding .18s ease; }
.traveltour-footer-wrapper ul li:hover { padding-left:4px; }
.traveltour-footer-wrapper i.fa { color: var(--vm-saffron); }
.traveltour-footer-wrapper .vm-foot-social a {
  display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;
  border-radius:50%; background: rgba(255,255,255,.08); margin-right:9px; transition: all .2s ease;
}
.traveltour-footer-wrapper .vm-foot-social a:hover { background: var(--vm-saffron); transform: translateY(-2px); }
.traveltour-footer-wrapper .vm-foot-social a:hover i.fa { color: var(--vm-indigo); }

/* footer language + legal strip */
.vm-footer-meta {
  border-top:1px solid rgba(255,255,255,.09); margin-top:18px; padding-top:22px;
  display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center; justify-content:space-between;
}
.vm-footer-langlinks a, .vm-footer-legal a {
  font-size:13px; color:#aab8cc !important; margin-right:16px; font-family:'Manrope',sans-serif;
}
.vm-footer-langlinks a:hover, .vm-footer-legal a:hover { color: var(--vm-saffron) !important; }
.vm-footer-langlinks strong { color:#fff; font-size:13px; margin-right:10px; }

.traveltour-copyright-wrapper { background:#0A1525 !important; }
.traveltour-copyright-text { color:#7c8ca6 !important; font-family:'Manrope',sans-serif; font-size:13px; }

/* =================================================================
   Polish: premium card hover + smooth scroll
   ================================================================= */
html { scroll-behavior: smooth; }
.vm-tour-card { transition: box-shadow .25s ease, transform .25s ease; }
.vm-tour-card:hover { box-shadow:0 16px 40px rgba(15,28,48,.16); transform: translateY(-4px); }
.vm-tour-media { overflow:hidden; }
.vm-tour-media img { transition: transform .5s ease; }
.vm-tour-card:hover .vm-tour-media img { transform: scale(1.05); }
.gdlr-core-button { transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease; }
.gdlr-core-button:hover { transform: translateY(-1px); box-shadow:0 8px 20px rgba(255,140,0,.28); }

@media (max-width: 1100px){
  .traveltour-main-menu .sf-menu > li > a { padding-left:13px; padding-right:13px; font-size:14px; }
}
