/* ======================================================================
   Sahara Soul skin (v1.6.0) - loads after tours.css.
   Matches the "Route" hero and the "Beyond places" intro section:
   Fraunces + Manrope, night / clay / gold / cream, arch photos, dune edge, faint zellige.
   Restyles [tour_rows], [tour_grid], the tour cards and the Tours page. Also re-colours the single tour page.
   To go back to the old look: remove the 'tl-sahara-soul' enqueue in tour-listings.php.
   ====================================================================== */
:root{
	--tl-heading-font:'Fraunces',Georgia,serif;
	--tl-ink:#2a1d14;--tl-text:#4d3f36;--tl-muted:#6b5744;--tl-line:#eadfcc;--tl-field:#f4ead8;
	--tl-primary:#c9703a;--tl-primary-d:#a9582a;--tl-price:#a9582a;--tl-badge:#17100f;--tl-accent:#c99a4b;--tl-star:#eab25c;
}
.tl-rails,.tl-archive,.tl-grid,.tl-tile{
	--ss-night:#17100f;--ss-clay:#c9703a;--ss-clay-d:#a9582a;--ss-gold:#eab25c;--ss-gold-d:#c99a4b;--ss-sand:#f4e3c5;--ss-cream:#f7efe0;--ss-ink:#2a1d14;--ss-muted:#6b5744;--ss-line:rgba(201,112,58,.18);
	--ss-head:'Fraunces',Georgia,serif;--ss-body:'Manrope',system-ui,sans-serif;
	--ss-zellij:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23c9703a' stroke-opacity='.1' stroke-width='1.2'%3E%3Crect x='16' y='16' width='40' height='40'/%3E%3Crect x='16' y='16' width='40' height='40' transform='rotate(45 36 36)'/%3E%3C/g%3E%3C/svg%3E");
	--ss-cream-bg:radial-gradient(700px 480px at 6% 18%,rgba(201,112,58,.12),transparent 65%),radial-gradient(640px 460px at 98% 90%,rgba(234,178,92,.22),transparent 65%),#f7efe0;
	--tl-star:#eab25c;
}

/* ---------- Full-bleed cream background + zellige (same as the intro section) ---------- */
.tl-rails,.tl-archive{position:relative;isolation:isolate;font-family:var(--ss-body);color:var(--ss-muted)}
.tl-rails{padding-top:72px;padding-bottom:96px}
.tl-archive{padding:0 0 110px}
.tl-rails::before,.tl-rails::after,.tl-archive::before,.tl-archive::after{content:"";position:absolute;z-index:-2;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;pointer-events:none}
.tl-rails::before,.tl-archive::before{background:var(--ss-cream-bg)}
.tl-rails::after,.tl-archive::after{z-index:-1;background:var(--ss-zellij);opacity:.5;-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 100%);mask-image:linear-gradient(90deg,transparent 35%,#000 100%)}
body:has(.tl-rails),body:has(.tl-archive){overflow-x:clip}
.tl-rails{gap:60px}

/* ---------- Headings / eyebrow ---------- */
.tl-rails-head{text-align:left;max-width:none;margin:0 0 -24px}
.tl-rails-head h2{font-family:var(--ss-head);font-weight:400;font-size:clamp(38px,4.8vw,66px);line-height:1;letter-spacing:-.02em;color:var(--ss-ink);max-width:20ch;margin:0 0 18px;text-wrap:balance}
.tl-rails-head h2 em{font-style:italic;font-weight:500;color:var(--ss-clay)}
.tl-rails-head p{font:italic 400 clamp(19px,2vw,24px)/1.4 var(--ss-head);color:var(--ss-muted);max-width:46ch;margin:0}
.tl-eyebrow{display:inline-flex;align-items:center;gap:14px;padding:0;margin-bottom:22px;background:none;border-radius:0;box-shadow:none;font:600 12px var(--ss-body);letter-spacing:.26em;text-transform:uppercase;color:var(--ss-clay-d)}
.tl-eyebrow .tl-icon{display:none}
.tl-eyebrow::before{content:"";width:40px;height:1px;border-radius:0;background:var(--ss-clay);box-shadow:none}
.tl-rails .tl-h2{font-family:var(--ss-head);font-weight:400;font-size:clamp(28px,3vw,40px);letter-spacing:-.015em;color:var(--ss-ink)}
.tl-rails .tl-h2 .tl-icon{color:var(--ss-clay)}
.tl-rails .tl-h2::after{background:linear-gradient(90deg,var(--ss-line),transparent)}

/* ---------- Tabs ---------- */
.tl-tabs{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px;width:fit-content;max-width:100%;margin:0 0 -8px;padding:6px;background:rgba(255,255,255,.62);border:1px solid var(--ss-line);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none}
.tl-tabs-sep{display:none}
.tl-tab{margin:0;padding:11px 20px;border-radius:999px;font:700 12.5px var(--ss-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ss-ink);transition:background .25s,color .25s,transform .25s}
.tl-tab .tl-icon{color:var(--ss-clay)}
.tl-tab:hover{background:rgba(201,112,58,.12)}
.tl-tab.is-active{background:var(--ss-night);color:#fff;box-shadow:0 12px 24px -14px rgba(23,16,15,.8)}
.tl-tab.is-active .tl-icon{color:var(--ss-gold)}
.tl-tab:focus-visible,.tl-rail-btn:focus-visible,.tl-rail-all:focus-visible,.tl-chips a:focus-visible,.tl-heart:focus-visible{outline:3px solid var(--ss-clay);outline-offset:3px}

/* ---------- Tour card: simple and clean (GetYourGuide-style, in our colours) ---------- */
.tl-tile{background:#fff;border:1px solid #e8dfcf;border-radius:14px;overflow:hidden;box-shadow:none;filter:none;transition:box-shadow .25s,border-color .25s,transform .25s}
.tl-tile:hover{transform:translateY(-3px);border-color:rgba(201,112,58,.45);box-shadow:0 18px 34px -22px rgba(42,29,20,.45)}
.tl-tile-media{border-radius:0;background:#e9dfcd}
.tl-tile-media::after{display:none}
a.tl-tile-img{display:block;aspect-ratio:3/2;background:transparent}
.tl-tile-badge{position:absolute;z-index:3;left:12px;right:auto;top:12px;bottom:auto;transform:none;max-width:calc(100% - 70px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 10px;border-radius:6px;background:var(--ss-clay-d);color:#fff;font:700 13px var(--ss-body);font-style:normal;letter-spacing:0;text-transform:none;line-height:1.3}
.tl-heart{top:10px;bottom:auto;right:10px;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--ss-ink);filter:none;box-shadow:0 1px 6px rgba(0,0,0,.18);z-index:4;transition:transform .2s,color .2s}
.tl-heart .tl-icon{stroke-width:1.8}
.tl-heart:hover{transform:scale(1.08);background:#fff;color:var(--ss-clay)}
.tl-heart.is-on{background:#fff;color:var(--ss-clay)}
.tl-heart.is-on .tl-icon{display:block;fill:currentColor;stroke:currentColor}
.tl-tile-body{position:static;margin:0;padding:16px 18px 16px;background:#fff;border-radius:0;display:flex;flex-direction:column;flex:1}
.tl-tile-loc{display:block;margin-bottom:6px;font:700 11.5px var(--ss-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ss-muted)}
.tl-tile h3{margin:0 0 8px;font-family:var(--ss-head);font-weight:600;font-size:clamp(19px,1.6vw,22px);line-height:1.2;letter-spacing:-.005em;color:var(--ss-ink);-webkit-line-clamp:3}
.tl-tile h3 a:hover{color:var(--ss-clay-d)}
.tl-tile-sub{margin:0 0 18px;padding:0;min-height:0;font:400 14.5px/1.5 var(--ss-body);font-style:normal;color:var(--ss-muted);-webkit-line-clamp:2}
.tl-tile-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0}
.tl-tile-rate{display:flex;align-items:center;gap:4px;min-height:0;padding:0;border:0;margin:0;font:600 14.5px var(--ss-body);color:var(--ss-ink)}
.tl-tile-star{color:var(--ss-ink);display:inline-flex}
.tl-tile-count{font-weight:500;color:var(--ss-muted)}
.tl-tile-price{display:flex;flex-direction:column;align-items:flex-end;gap:0;min-height:0;margin:0;font:500 14px var(--ss-body);text-transform:none;letter-spacing:0;color:var(--ss-muted);text-align:right}
.tl-tile-price s{color:#9a8a7b;margin-left:4px}
.tl-tile-price strong{margin:0;font:600 21px/1.2 var(--ss-body);letter-spacing:0;color:var(--ss-clay-d)}
.tl-tile-mark{display:none}

/* ---------- Rail controls ---------- */
.tl-rail{--tl-btn-top:96px}
.tl-rail-btn{width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ss-clay-d);border:2px solid var(--ss-clay);box-shadow:none}
.tl-rail-btn:hover{background:var(--ss-clay);color:#fff;transform:none}
.tl-rail-all{padding:6px 2px;border-radius:0;background:none;border-bottom:1.5px solid var(--ss-clay);font:700 13px var(--ss-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ss-ink);transition:color .25s}
.tl-rail-all:hover{background:none;color:var(--ss-clay);text-decoration:none}
.tl-dots{gap:8px}
.tl-dots button{width:30px;height:2px;padding:10px 0;margin:-10px 0;box-sizing:content-box;border-radius:0;background:rgba(42,29,20,.2);background-clip:content-box}
.tl-dots button.is-active{background:var(--ss-clay);background-clip:content-box}

/* ---------- Tours page: dark hero header that flows into the cream (dune edge) ---------- */
.tl-archive-head{position:relative;text-align:left;max-width:none;margin:0 0 56px;padding:clamp(72px,9vw,120px) 0 clamp(96px,10vw,140px)}
.tl-archive-head::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;background:linear-gradient(95deg,rgba(23,16,15,.96) 0%,rgba(23,16,15,.88) 100%),var(--ss-night)}
.tl-archive-head::after{content:"";position:absolute;z-index:-1;left:50%;width:100vw;margin-left:-50vw;bottom:-1px;height:clamp(40px,6vw,84px);background:var(--ss-cream);
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V78C250 20 520 26 760 62C1010 100 1240 95 1440 30V100Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V78C250 20 520 26 760 62C1010 100 1240 95 1440 30V100Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.tl-archive-head .tl-eyebrow{color:var(--ss-gold)}
.tl-archive-head .tl-eyebrow::before{background:var(--ss-gold)}
.tl-archive-head h1{margin:0 0 20px;font-family:var(--ss-head);font-weight:400;font-size:clamp(46px,6.6vw,96px);line-height:.96;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.tl-archive-intro{max-width:54ch;font-size:clamp(16px,1.4vw,19px);line-height:1.75;color:rgba(244,227,197,.86)}
.tl-chips{justify-content:flex-start;gap:10px;margin-top:32px}
.tl-chips a{border:1px solid rgba(244,227,197,.28);background:rgba(23,16,15,.45);box-shadow:none;color:var(--ss-sand);padding:11px 22px;font:700 12.5px var(--ss-body);letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tl-chips a:hover{border-color:var(--ss-gold);color:#fff;box-shadow:none}
.tl-chips a.is-active{background:var(--ss-gold);border-color:var(--ss-gold);box-shadow:none;color:var(--ss-night)}
.tl-archive .page-numbers{border:1px solid var(--ss-line);background:rgba(255,255,255,.7);box-shadow:none;color:var(--ss-ink);font-family:var(--ss-body)}
.tl-archive .page-numbers:hover:not(.current){border-color:var(--ss-clay);color:var(--ss-clay);box-shadow:none}
.tl-archive .page-numbers.current{background:var(--ss-night);border-color:var(--ss-night);box-shadow:none;color:#fff}
.tl-empty{color:var(--ss-muted)}

/* ---------- Full width + cards fully displayed ---------- */
.tl-rails.tl-wrap{--ss-side:max(clamp(20px,4vw,72px),calc((100vw - 1640px)/2));width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:0;padding-left:var(--ss-side);padding-right:var(--ss-side)}
.tl-rails.tl-wrap::before,.tl-rails.tl-wrap::after{left:0;width:100%;margin-left:0}
.tl-archive .tl-wrap{max-width:1640px;padding-left:clamp(20px,4vw,72px);padding-right:clamp(20px,4vw,72px)}
.tl-rail-track{gap:20px}
.tl-rail-track>.tl-tile{flex:0 0 calc((100% - 60px)/4)}
.tl-rail-prev{left:-18px}.tl-rail-next{right:-18px}
.tl-grid{gap:20px}
@media (max-width:1200px){.tl-rail-track>.tl-tile{flex-basis:calc((100% - 40px)/3)}}
@media (max-width:820px){.tl-rail-track>.tl-tile{flex-basis:calc((100% - 20px)/2)}.tl-rail-prev{left:-8px}.tl-rail-next{right:-8px}}
@media (max-width:560px){.tl-rail-track>.tl-tile{flex-basis:84%}.tl-rail-btn{display:none}}

/* ---------- Responsive ---------- */
@media (max-width:820px){.tl-rails{padding-top:56px;padding-bottom:72px}}
@media (max-width:560px){
	.tl-rails{padding-top:44px;padding-bottom:56px;gap:36px}
	.tl-archive{padding-bottom:64px}
	.tl-archive-head{margin-bottom:36px}
	.tl-tabs{width:auto;border-radius:22px;padding:6px}
	.tl-tab{padding:10px 16px}
}
@media (prefers-reduced-motion:reduce){.tl-tile,.tl-tab,.tl-heart,.tl-rail-btn,.tl-tile-mark{transition:none!important}}
