
/* ===== Morocco Zaino overrides (logo, YouTube hero, EN/ES switch, mobile header) ===== */
html.zl-pending main,html.zl-pending .vm-header{opacity:0}
.vm-logo img.zl-logo{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.vm-logo-dark img.zl-logo{filter:none;width:64px;height:64px}
.vm-logo-text span:first-child{letter-spacing:.45em}
/* Language switcher */
.zl-lang{position:relative}
.zl-lang-btn{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.9);font-size:11px;font-weight:700;letter-spacing:.12em;padding:.45rem .75rem;background:none;border:0;border-radius:999px;cursor:pointer}
.zl-lang-btn .flag{font-size:1.05rem;line-height:1}
.zl-lang-btn i{font-size:.55rem;opacity:.7}
.zl-lang-menu{position:absolute;right:0;top:calc(100% + .4rem);min-width:10.5rem;background:#fff;border:1px solid var(--line);border-radius:.75rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.15);padding:.35rem 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
.zl-lang.open .zl-lang-menu{opacity:1;visibility:visible;transform:none}
@media (hover:hover) and (min-width:992px){.zl-lang:hover .zl-lang-menu{opacity:1;visibility:visible;transform:none}.zl-lang-menu::before{content:"";position:absolute;left:0;right:0;top:-.6rem;height:.6rem}}
.zl-lang-menu a{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--ink);text-decoration:none}
.zl-lang-menu a:hover,.zl-lang-menu a.is-active{color:var(--warm);background:var(--elev)}
/* YouTube background hero */
.vm-hero-media .zl-yt{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .35s ease}
.vm-hero-media{background:#1b120a}
.vm-hero-media .zl-yt.is-ready{opacity:1}
.vm-hero-media .zl-yt iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%) scale(1.2);border:0}
.vm-hero-media>img.zl-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Mobile: burger left, round logo centred, language right, hero like the reference */
@media (max-width:991px){
.vm-header-row{position:relative;min-height:64px;padding-top:.5rem;padding-bottom:.5rem}
.vm-header .vm-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.vm-logo img.zl-logo{width:50px;height:50px}
.vm-burger{border:0;width:40px;height:40px;font-size:1.35rem}
.vm-actions .vm-plan{display:none}
.vm-actions{margin-left:auto}
.zl-lang-btn{padding:.4rem .2rem}
.vm-hero-in{padding-bottom:4.5rem}
.vm-badge{font-size:8.5px;padding:.3rem .7rem;white-space:normal;max-width:100%}
.vm-hero-title{font-size:3.9rem;line-height:.93}
.vm-hero-sub{font-size:1.02rem;margin-top:1.25rem}
.vm-hero-cta{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:2.25rem}
.vm-hero-cta .vm-btn{font-size:.95rem;letter-spacing:.22em;padding:1rem 2.4rem}
}
@media (max-width:380px){.vm-hero-title{font-size:3.3rem}}
.zl-flag{width:20px;height:14px;border-radius:2px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.zl-lang-btn .zl-flag{width:22px;height:15px}

/* Desktop header like the reference: centred container, transparent over the hero, one-click language toggle */
.zl-lang-menu{display:none!important}
.zl-lang-btn{cursor:pointer;transition:opacity .2s}
.zl-lang-btn:hover{opacity:.75}
main,.vm-nav,.vm-actions,.vm-footer{transition:opacity .16s ease}
html.zl-switching main,html.zl-switching .vm-nav,html.zl-switching .vm-actions,html.zl-switching .vm-footer{opacity:.15}
@media (min-width:992px){
.vm-header-row{max-width:72rem;margin:0 auto;padding:.85rem 1.5rem;gap:0;justify-content:flex-start}
.vm-header.scrolled .vm-header-row{padding-top:.6rem;padding-bottom:.6rem}
.vm-logo{gap:.6rem;margin-right:3.6rem}
.vm-logo img.zl-logo{width:40px;height:40px}
.vm-logo-text span:first-child{font-size:8.5px;letter-spacing:.62em;font-weight:600;margin-bottom:2px}
.vm-logo-text span:last-child{font-size:1.05rem;font-weight:800;font-style:normal;letter-spacing:-.01em}
.vm-nav{gap:1.85rem;margin:0 auto 0 0}
.vm-nav>.vm-dd>a{white-space:nowrap;font-size:12.5px;font-weight:700;letter-spacing:.2em;color:rgba(255,255,255,.82);text-shadow:none;padding:.5rem 0}
.vm-nav>.vm-dd>a:hover{color:#fff}
.vm-actions{gap:1.4rem}
.zl-lang-btn{font-size:11px;color:rgba(255,255,255,.85);padding:.3rem 0}
.zl-lang-btn .zl-flag{width:18px;height:12px}
.vm-plan{font-size:10.5px;font-weight:800;padding:.55rem .95rem;letter-spacing:.1em}
}
@media (max-width:991px){
.vm-header-row{min-height:auto;padding:1rem 1.25rem}
.vm-burger{width:auto;height:auto;padding:.25rem;font-size:1.25rem}
.vm-logo img.zl-logo{width:46px;height:46px}
.zl-lang-btn{font-size:11px;color:rgba(255,255,255,.85)}
.zl-lang-btn .zl-flag{width:18px;height:12px}
.vm-hero-cta{flex-direction:row;flex-wrap:wrap;align-items:center}
}

/* Language button exactly like the reference: emoji flag + code + small caret */
.zl-lang-btn{gap:.45rem;font-size:11px;font-weight:700;letter-spacing:.12em;color:rgba(255,255,255,.8);padding:.3rem 0}
.zl-flag-emoji{font-size:1rem;line-height:1;letter-spacing:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.zl-lang-btn i{font-size:.5rem;opacity:.6;margin-left:.1rem}
@media (max-width:991px){.zl-lang-btn{font-size:12px;gap:.5rem}.zl-flag-emoji{font-size:1.15rem}}


/* Title on the itinerary slider */
.zs-head{position:relative;z-index:2;margin:0 auto;padding:4.5rem 1.25rem 0;color:#fff}
.zs-head .zb-h{color:#fff}
.zs .zs-head .vm-lead{color:rgba(255,255,255,.9);text-shadow:0 1px 8px rgba(0,0,0,.5)}
.zs-head + .zs-rail + .zs-in, .zs .zs-in{padding-top:1.5rem}
@media (max-width:767px){.zs-head{padding-top:3rem}.zs-head .zb-h{font-size:2rem}}
