
/* ===== Morocco Zaino — itinerary slider ===== */
.zs{position:relative;overflow:hidden;color:#fff;background:#1a120b;min-height:640px}
.zs-bgs,.zs-bgs img{position:absolute;inset:0;width:100%;height:100%}
.zs-bgs img{object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1s ease,transform 6s ease}
.zs-bgs img.is-on{opacity:1;transform:scale(1)}
.zs-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,6,3,.72) 0%,rgba(10,6,3,.35) 50%,rgba(10,6,3,.15) 100%),linear-gradient(0deg,rgba(10,6,3,.45),rgba(10,6,3,0) 40%)}
.zs-rail{position:absolute;left:1.1rem;top:1.4rem;bottom:1.4rem;width:20px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;z-index:2}
.zs-rail::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,255,255,.28)}
.zs-rail i{position:relative;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:.3s}
.zs-rail i.is-on{width:10px;height:10px;background:var(--warm);box-shadow:0 0 0 4px rgba(194,65,12,.25)}
.zs-num{position:absolute;top:-.2rem;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--ink);font-size:11px;font-weight:800;display:grid;place-items:center}
.zs-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;min-height:640px;padding-top:5rem;padding-bottom:4rem}
@media (min-width:992px){.zs-in{grid-template-columns:.95fr 1.25fr;gap:3rem}}
.zs-text{display:none}
.zs-text.is-on{display:block;animation:zsIn .6s ease both}
@keyframes zsIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.zs-title{font-size:2.4rem;color:#fff;margin:0 0 1rem}
@media (min-width:768px){.zs-title{font-size:3.2rem}}
.zs-desc{font-size:1rem;line-height:1.65;color:rgba(255,255,255,.88);max-width:34rem;margin:0 0 1.25rem}
.zs-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}
.zs-meta span{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);border-radius:999px;padding:.3rem .8rem;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
.zs-cards-wrap{overflow:hidden;margin-right:-1.5rem}
.zs-cards{display:flex;gap:1.1rem;align-items:flex-end;transition:transform .7s cubic-bezier(.22,.8,.2,1);padding:1rem 0}
.zs-card{position:relative;flex:0 0 200px;height:280px;border:0;padding:0;border-radius:.9rem;overflow:hidden;cursor:pointer;box-shadow:0 18px 40px -12px rgba(0,0,0,.55);transition:height .5s ease,flex-basis .5s ease,opacity .4s;background:#2a1d14;text-align:left}
.zs-card.is-on{flex-basis:220px;height:360px}
.zs-card.is-past{opacity:0;pointer-events:none}
.zs-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.zs-card:hover img{transform:scale(1.06)}
.zs-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(60,30,10,.85))}
.zs-card-title{position:absolute;left:1rem;right:1rem;bottom:1rem;font-size:1.15rem;line-height:1.05;color:#fff}
.zs-nav{display:flex;gap:.8rem;margin-top:1.2rem}
.zs-arrow{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.75);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s}
.zs-arrow:hover{background:#fff;transform:scale(1.06)}
@media (max-width:991px){
.zs,.zs-in{min-height:0}
.zs-in{padding-top:4.5rem;padding-bottom:3rem}
.zs-rail{display:none}
.zs-cards-wrap{margin-right:-1.5rem}
.zs-card{flex-basis:160px;height:220px}.zs-card.is-on{flex-basis:180px;height:270px}
}

/* ===== Best selling desert tours ===== */
.zb{background:#fff}
.zb-head{text-align:center;max-width:56rem;margin:0 auto 2.75rem}
.zb-h{font-size:2.3rem;margin:0 0 1.5rem}
@media (min-width:768px){.zb-h{font-size:3.2rem}}
.zb-u{position:relative;display:inline-block;color:var(--warm)}
.zb-u svg{position:absolute;left:0;right:0;bottom:-.55rem;width:100%;height:.8rem;overflow:visible}
.zb-u path{fill:none;stroke:var(--warm);stroke-width:4;stroke-linecap:round}
.zb-head .vm-lead{max-width:none;margin:0 auto .75rem;color:#525252}
.zb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media (min-width:992px){.zb-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem}}
.zb-card{position:relative;display:block;aspect-ratio:1/1.05;border-radius:.9rem;overflow:hidden;color:#fff;text-decoration:none;box-shadow:0 12px 30px -14px rgba(0,0,0,.45)}
.zb-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.zb-card:hover img{transform:scale(1.06)}
.zb-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.05) 45%,rgba(0,0,0,.6) 100%)}
.zb-title{position:absolute;top:1.1rem;left:1rem;right:1rem;text-align:center;font-size:1.25rem;line-height:1.05;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
@media (min-width:768px){.zb-title{font-size:1.55rem;top:1.4rem}}
.zb-ribbon{position:absolute;top:18px;right:-38px;width:150px;transform:rotate(45deg);background:var(--warm);color:#fff;text-align:center;font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:.35rem 0;box-shadow:0 4px 10px rgba(0,0,0,.25);z-index:2}
.zb-foot{position:absolute;left:1rem;right:1rem;bottom:.9rem;display:flex;justify-content:space-between;gap:.5rem;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
.zb-foot span:last-child{color:var(--beige)}
.zb-card:hover .zb-foot span:last-child{color:#fff}
.zb-wave{display:block;width:100%;height:14px;margin-top:3rem}
.zb-wave path{fill:none;stroke:var(--warm);stroke-width:1.6;opacity:.55}

/* ===== Google reviews ===== */
.zr .vm-head{text-align:center;margin-left:auto;margin-right:auto}
.zr .vm-lead{margin-left:auto;margin-right:auto}
.zr-badge{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.35rem .9rem;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:1rem}
.zr-badge .stars{color:#f5b301;letter-spacing:.1em}
.zb-ribbon{top:14px;right:-46px;width:150px;font-size:8px;padding:.3rem 0}
.zb-title{top:auto;bottom:2.6rem;text-align:left;padding-right:.5rem;font-size:1.3rem}
@media (min-width:768px){.zb-title{font-size:1.5rem;top:auto}}
.zb-shade{background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,.78) 100%)}
.zs-cards-wrap{margin-right:calc(-1 * max(1.5rem, (100vw - 72rem) / 2 + 1.5rem))}
.zb-title{bottom:3.4rem}.zb-foot{align-items:flex-end}.zb-foot span:last-child{text-align:right}
@media (max-width:767px){.zb-title{font-size:1.02rem;bottom:2.1rem;left:.75rem;right:.75rem}.zb-foot{left:.75rem;right:.75rem;bottom:.7rem;font-size:9px}.zb-foot span:first-child{display:none}.zb-foot span:last-child{text-align:left}.zb-ribbon{right:-52px;top:10px}}
