/* ======================================================================
   Sahara Soul skin (v1.7.0) - loads after destinations.css and overrides it.
   Matches the Sahara Soul homepage: warm cream + clay + gold with espresso text,
   Fraunces (headings) + Manrope (text), arch-top photo cards, pill buttons.
   Delete this file and its enqueue lines in tour-destinations.php to return to the plain look.
   ====================================================================== */
:root{
	--td-ink:#2a1d14;--td-text:#5f4c3b;--td-muted:#6b5744;--td-line:rgba(42,29,20,.12);
	--td-night:#17100f;--td-primary:#c9703a;--td-primary-d:#a9582a;--td-accent:#c9703a;--td-gold:#eab25c;
	--td-soft:#f1e3cb;--td-sand:#efe0c6;--td-bg:#f7efe0;--td-ring:rgba(42,29,20,.09);
	--td-head:'Fraunces',Georgia,serif;--td-body:'Manrope',system-ui,sans-serif;
	--td-serif:var(--td-head);
	--td-r:10px;--td-sky:linear-gradient(180deg,#f6dcae,#e0975a 55%,#b9683a);
	--td-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='.10' 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");
}

/* ---------- Page background (full-bleed cream) ---------- */
.td-single,.td-archive{position:relative;isolation:isolate;font-family:var(--td-body);color:var(--td-text);padding:40px 0 96px}
.td-single::before,.td-archive::before,.td-single::after,.td-archive::after{content:"";position:absolute;z-index:-2;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;pointer-events:none}
.td-single::before,.td-archive::before{background:
	radial-gradient(800px 480px at 4% 6%,rgba(201,112,58,.12),transparent 65%),
	radial-gradient(760px 520px at 100% 96%,rgba(234,178,92,.22),transparent 65%),var(--td-bg)}
.td-single::after,.td-archive::after{z-index:-1;background:var(--td-zellij);-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 100%);mask-image:linear-gradient(90deg,transparent 35%,#000 100%)}
body:has(.td-single),body:has(.td-archive){overflow-x:clip}
.td-prose a{color:var(--td-primary-d)}

/* ---------- Headings ---------- */
.td-h2,.td-hero h1,.td-arch-head h1,.td-plan h3,.td-card-title,.td-trips-head h2,.td-trip-line{font-family:var(--td-head);font-style:normal}
.td-h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;line-height:1.05;letter-spacing:-.02em;margin-bottom:28px;color:var(--td-ink)}
.td-h2 .td-icon{width:18px;height:18px;color:var(--td-primary)}
.td-h2::after{background:var(--td-line)}
.td-h2 small{font-family:var(--td-body);font-weight:600}
.td-eyebrow{display:inline-flex;align-items:center;gap:14px;padding:0;background:none;border-radius:0;box-shadow:none;
	font-family:var(--td-body);font-weight:700;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--td-primary-d)}
.td-eyebrow .td-icon{display:none}
.td-eyebrow::before{content:"";width:40px;height:1px;background:var(--td-primary);box-shadow:none;border-radius:0}

/* ---------- Buttons & chips ---------- */
.td-btn{border:0;border-radius:999px;padding:16px 30px;font-family:var(--td-body);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.td-btn-primary,.td-hero .td-btn-primary{background:var(--td-primary);color:#fff!important;box-shadow:0 14px 30px -14px rgba(201,112,58,.9)}
.td-btn-primary:hover,.td-hero .td-btn-primary:hover{background:#dc8247;transform:translateY(-2px)}
.td-btn-outline{background:transparent;color:var(--td-ink)!important;box-shadow:inset 0 0 0 1.5px var(--td-ink)}
.td-btn-outline:hover{background:var(--td-ink);color:#fff!important}
.td-hero .td-btn-outline{color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8);background:rgba(255,255,255,.12)}
.td-hero .td-btn-outline:hover{background:#fff;color:var(--td-ink)!important}
.td-btn:focus-visible,.td-card:focus-visible,.td-trip:focus-visible{outline:3px solid var(--td-gold);outline-offset:3px}
.td-chip{font-family:var(--td-body);font-weight:700;letter-spacing:.14em;font-size:10.5px;text-transform:uppercase}
.td-chip-type{background:#fff;color:var(--td-ink)}
.td-chip-pop{background:var(--td-primary);color:#fff}

/* ---------- Destination page hero ---------- */
.td-hero{border-radius:calc(var(--td-r) + 14px);background:var(--td-sky);min-height:500px;box-shadow:0 36px 60px -36px rgba(120,60,20,.5)}
.td-hero::before{background:linear-gradient(0deg,rgba(40,22,10,.72) 0%,rgba(40,22,10,.22) 42%,rgba(40,22,10,0) 70%)}
.td-hero h1{font-weight:400;font-size:clamp(2.8rem,6.4vw,5.4rem);line-height:.96;letter-spacing:-.025em;text-shadow:none}
.td-hero-tag{font-family:var(--td-head);font-style:italic;font-weight:400;color:var(--td-sand)}
.td-crumbs a,.td-pill-glass{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.4);color:#fff}
.td-hero .td-chip-type{background:rgba(255,255,255,.92);color:var(--td-ink)}

/* ---------- Intro, plan card ---------- */
.td-prose{font-size:17.5px;line-height:1.85}
.td-plan{background:#fff;border:0;border-radius:24px;padding:30px;box-shadow:0 0 0 1px var(--td-ring),0 28px 44px -30px rgba(42,29,20,.5)}
.td-plan h3{font-weight:500;font-size:1.6rem;letter-spacing:-.02em}
.td-plan-ico{background:var(--td-sand);color:var(--td-primary-d);border-radius:12px;box-shadow:none}
.td-plan li{border-bottom-color:var(--td-line)}
.td-plan small{font-weight:700;letter-spacing:.16em}

/* ---------- Highlights ---------- */
.td-hl li{background:rgba(255,255,255,.7);border:1px solid rgba(201,112,58,.18);border-radius:18px;box-shadow:none;transition:transform .3s,background .3s,box-shadow .3s}
.td-hl li:hover{transform:translateY(-3px);background:#fff;box-shadow:0 22px 38px -26px rgba(42,29,20,.55)}
.td-hl-n{background:linear-gradient(135deg,var(--td-primary),var(--td-gold));color:#fff;font-family:var(--td-head);font-weight:500;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--td-ring)}

/* ---------- Destination cards: white card, arch-top photo (same as the homepage intro) ---------- */
.td-grid{gap:26px}
.td-card{display:flex;flex-direction:column;aspect-ratio:auto;padding:10px;border-radius:calc(var(--td-r) + 10px);background:#fff;color:var(--td-ink)!important;overflow:visible;
	box-shadow:0 0 0 1px var(--td-ring),0 26px 44px -32px rgba(42,29,20,.5);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.td-card:hover{transform:translateY(-6px);box-shadow:0 0 0 1px rgba(201,112,58,.35),0 38px 56px -30px rgba(42,29,20,.55)}
.td-card-media{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/4.6;border-radius:var(--td-r);overflow:hidden;background:var(--td-sky)}
.td-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.td-card:hover .td-card-media img{transform:scale(1.06)}
.td-card::before{display:none}
.td-card-ph{color:rgba(255,255,255,.8)}
.td-card .td-chip{position:absolute;z-index:4;left:50%;right:auto;top:22px;transform:translateX(-50%);white-space:nowrap;-webkit-backdrop-filter:none;backdrop-filter:none;padding:6px 14px;box-shadow:0 8px 18px -10px rgba(42,29,20,.5)}
.td-card .td-chip-type{left:50%;background:#fff;color:var(--td-ink)}
.td-card .td-chip-pop{left:50%;right:auto;top:56px;background:var(--td-primary);color:#fff}
.td-card-body{position:relative;inset:auto;margin:0;padding:22px 16px 14px;background:transparent;border-radius:0;gap:6px;text-align:left}
.td-card-parent{color:var(--td-primary-d);font-weight:700;letter-spacing:.2em}
.td-card-title{font-weight:500;font-size:clamp(1.55rem,2vw,1.85rem);line-height:1.06;letter-spacing:-.015em;color:var(--td-ink)}
.td-card-tag{font-family:var(--td-body);font-style:normal;font-size:.97rem;line-height:1.6;color:var(--td-muted)}
.td-count{background:var(--td-sand);color:var(--td-ink);font-weight:700;font-size:13px;-webkit-backdrop-filter:none;backdrop-filter:none}
.td-card-go{width:44px;height:44px;border-radius:50%;background:var(--td-sand);color:var(--td-ink);transition:transform .3s,background .3s,color .3s}
.td-card:hover .td-card-go{background:var(--td-primary);color:#fff;transform:translateX(4px)}

/* ---------- Directory header + filters ---------- */
.td-arch-head{margin-bottom:52px}
.td-arch-head h1{font-weight:400;font-size:clamp(2.6rem,6vw,4.8rem);line-height:.98;letter-spacing:-.025em;margin:22px 0 18px;text-wrap:balance;color:var(--td-ink)}
.td-arch-head p{font-family:var(--td-body);font-style:normal;font-size:clamp(1.02rem,1.4vw,1.15rem);line-height:1.75;color:var(--td-muted)}
.td-search{border:0;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px var(--td-ring);height:56px}
.td-search:focus-within{box-shadow:0 0 0 3px rgba(201,112,58,.35)}
.td-chips button{border:0;border-radius:999px;background:rgba(255,255,255,.8);box-shadow:0 0 0 1px var(--td-ring);color:var(--td-muted);font-family:var(--td-body);font-weight:600;padding:10px 20px}
.td-chips button:hover{box-shadow:0 0 0 1px var(--td-ink);color:var(--td-ink)}
.td-chips button.is-active{background:var(--td-primary);box-shadow:0 10px 20px -10px rgba(201,112,58,.8);color:#fff}

/* ---------- FAQ, map, gallery, link chips ---------- */
.td-card-section{background:#fff;border:0;border-radius:24px;box-shadow:0 0 0 1px var(--td-ring),0 28px 44px -32px rgba(42,29,20,.45)}
.td-faq details,.td-faq details[open]{background:#fff;border:0;border-radius:18px;box-shadow:0 0 0 1px var(--td-ring)}
.td-faq details[open]{box-shadow:0 0 0 1px rgba(201,112,58,.35),0 18px 32px -24px rgba(42,29,20,.45)}
.td-faq summary{font-family:var(--td-head);font-weight:500;font-size:19px}
.td-faq summary::after{color:var(--td-primary)}
.td-g,.td-map{border-radius:20px}
.td-tour-dests .td-icon{color:var(--td-primary)}
.td-tour-dests a{background:var(--td-sand);color:var(--td-ink);border-radius:999px}
.td-tour-dests a:hover{background:var(--td-primary);color:#fff}

/* ---------- Homepage carousel [destinations_carousel]: light cream band ---------- */
.td-trips{--td-trips-bg:#f7efe0;color:var(--td-ink);padding:clamp(80px,9vw,120px) 0 clamp(64px,7vw,96px);font-family:var(--td-body);
	background:radial-gradient(800px 480px at 94% 0,rgba(234,178,92,.26),transparent 62%),radial-gradient(700px 480px at -4% 100%,rgba(201,112,58,.13),transparent 60%),var(--td-trips-bg)}
.td-trips::before{content:"";position:absolute;inset:0;background:var(--td-zellij);pointer-events:none;-webkit-mask-image:linear-gradient(100deg,#000 0%,transparent 55%);mask-image:linear-gradient(100deg,#000 0%,transparent 55%)}
.td-trips-in{position:relative;display:block;max-width:1240px;padding:0 24px}
.td-trips-head{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;row-gap:12px;align-items:end;padding:0 0 clamp(32px,4vw,52px)}
.td-trips-head>h2,.td-trips-head>p,.td-trips-text{grid-column:1}
.td-trips-head>.td-trips-all{grid-column:2;grid-row:1 / span 2;align-self:end}
.td-trips-text h2{margin:0 0 12px}
.td-trips-text p,.td-trips-head>p{margin:0}
.td-trips-head h2{margin:0;font-weight:400;font-size:clamp(2rem,3.2vw,3rem);line-height:1.05;letter-spacing:-.02em;color:var(--td-ink);text-wrap:balance;overflow-wrap:normal;word-break:normal}
.td-trips-head h2::before{content:"Sahara Soul Morocco";display:block;margin-bottom:16px;font:700 11.5px var(--td-body);letter-spacing:.26em;text-transform:uppercase;color:var(--td-primary-d)}
.td-trips-head p{max-width:54ch;font-weight:400;font-size:1.02rem;line-height:1.7;color:var(--td-muted)}
.td-trips-all{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:11px 20px;border:0;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--td-ring);color:var(--td-ink)!important;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:background .25s,color .25s}
.td-trips-all:hover{background:var(--td-primary);color:#fff!important}
.td-trip{color:var(--td-ink)!important}
.td-trip:hover .td-trip-photo img{transform:scale(1.05)}
.td-trip-photo{aspect-ratio:4/5;border-radius:var(--td-r);background:var(--td-sky);box-shadow:0 24px 40px -28px rgba(42,29,20,.55)}
.td-trip-line{margin-top:18px;padding:0 4px;border:0;font-weight:500;font-size:1.45rem;line-height:1.1;letter-spacing:-.01em;color:var(--td-ink)}
.td-trip-line .td-icon{box-sizing:content-box;width:18px;height:18px;padding:11px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--td-ring);color:var(--td-ink);stroke-width:2;transition:transform .25s,background .25s,color .25s}
.td-trip:hover .td-trip-line .td-icon{background:var(--td-primary);color:#fff;box-shadow:none}
.td-dots button{height:3px;border-radius:3px;background:rgba(42,29,20,.18);background-clip:content-box}
.td-dots button.is-active{background:var(--td-primary);background-clip:content-box}
.td-trips-nav{width:52px;height:52px;padding:0 0 2px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--td-ring);color:var(--td-ink);transition:background .25s,color .25s,transform .25s,opacity .25s}
.td-trips-nav:hover{background:var(--td-primary);color:#fff;transform:translateY(-2px);box-shadow:0 14px 24px -10px rgba(201,112,58,.7)}

/* ---------- Tour cards inside destination pages (Tour Listings .tl-card, restyled to match) ----------
   Scoped to .td-single / .td-tours so the Tour Listings plugin keeps its own look elsewhere.
   Generic selectors (element types + class fragments) so it survives Tour Listings markup changes. */
.td-single .tl-grid,.td-tours .tl-grid{
	--tl-primary:var(--td-primary);--tl-primary-d:var(--td-primary-d);--tl-accent:var(--td-primary);--tl-ink:var(--td-ink);--tl-card-ink:var(--td-ink);
	--tl-text:var(--td-text);--tl-muted:var(--td-muted);--tl-heading-font:var(--td-head);--tl-serif:var(--td-body);--tl-soft:var(--td-sand);
	display:grid;gap:24px;align-items:stretch}
.td-single .tl-cols-1,.td-tours .tl-cols-1{grid-template-columns:1fr}
.td-single .tl-cols-2,.td-tours .tl-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.td-single .tl-cols-3,.td-tours .tl-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.td-single .tl-cols-4,.td-tours .tl-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.td-single .tl-grid>*,.td-tours .tl-grid>*{position:relative;display:flex;flex-direction:column;min-width:0;padding:0 0 8px;border-radius:18px;background:#fff;color:var(--td-ink);overflow:hidden;
	box-shadow:0 0 0 1px var(--td-ring),0 10px 24px -18px rgba(42,29,20,.4);transition:box-shadow .3s,transform .3s}
.td-single .tl-grid>*:hover,.td-tours .tl-grid>*:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(201,112,58,.4),0 26px 40px -24px rgba(42,29,20,.55)}
.td-single .tl-grid *,.td-tours .tl-grid *{font-style:normal!important}
.td-single .tl-grid>*,.td-single .tl-grid>* :is(p,span,small,li,a,div),.td-tours .tl-grid>*,.td-tours .tl-grid>* :is(p,span,small,li,a,div){font-family:var(--td-body)}
.td-single .tl-grid a,.td-tours .tl-grid a{text-decoration:none}

.td-single .tl-grid>* :is([class*="media"],[class*="thumb"],[class*="photo"],[class*="image"],[class*="img"]):not(img),
.td-tours .tl-grid>* :is([class*="media"],[class*="thumb"],[class*="photo"],[class*="image"],[class*="img"]):not(img){position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border-radius:0;background:var(--td-sand)}
.td-single .tl-grid>* img,.td-tours .tl-grid>* img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:transform .7s}
.td-single .tl-grid>*:hover img,.td-tours .tl-grid>*:hover img{transform:scale(1.06)}

.td-single .tl-grid>* :is([class*="cat"],[class*="chip"],[class*="tag"],[class*="badge"]):not(img),
.td-tours .tl-grid>* :is([class*="cat"],[class*="chip"],[class*="tag"],[class*="badge"]):not(img){background:#fff!important;color:var(--td-ink)!important;font-family:var(--td-body);font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
	padding:6px 12px;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none}
.td-single .tl-grid>* :is(button,[class*="wish"],[class*="compare"],[class*="fav"],[class*="plus"]),
.td-tours .tl-grid>* :is(button,[class*="wish"],[class*="compare"],[class*="fav"],[class*="plus"]){background:rgba(255,255,255,.92)!important;color:var(--td-ink)!important;border:0!important;border-radius:50%;box-shadow:none}
.td-single .tl-grid>* :is(button,[class*="wish"],[class*="compare"],[class*="fav"],[class*="plus"]):hover,
.td-tours .tl-grid>* :is(button,[class*="wish"],[class*="compare"],[class*="fav"],[class*="plus"]):hover{background:var(--td-primary)!important;color:#fff!important}

.td-single .tl-grid>* :is([class*="ribbon"],[class*="top"],[class*="rated"],[class*="flag"],[class*="featured"],[class*="highlight"]):not(img):not(button),
.td-tours .tl-grid>* :is([class*="ribbon"],[class*="top"],[class*="rated"],[class*="flag"],[class*="featured"],[class*="highlight"]):not(img):not(button){
	align-self:flex-start;width:auto!important;margin:0;position:relative;z-index:3;background:var(--td-primary)!important;color:#fff!important;
	font-family:var(--td-body);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:6px 13px;border-radius:999px;box-shadow:none}

.td-single .tl-grid>* :is(h2,h3,h4),.td-tours .tl-grid>* :is(h2,h3,h4){font-family:var(--td-head)!important;font-weight:500;font-size:1.35rem;line-height:1.15;letter-spacing:-.01em;color:var(--td-ink);margin:8px 0 8px;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.td-single .tl-grid>* :is(h2,h3,h4) a,.td-tours .tl-grid>* :is(h2,h3,h4) a{color:inherit!important}
.td-single .tl-grid>* :is(h2,h3,h4) a:hover,.td-tours .tl-grid>* :is(h2,h3,h4) a:hover{color:var(--td-primary)!important}
.td-single .tl-grid>* p,.td-tours .tl-grid>* p{font-family:var(--td-body);font-size:.95rem;line-height:1.65;color:var(--td-muted);margin:0 0 14px;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.td-single .tl-grid>* :is([class*="meta"],[class*="info"],[class*="facts"]),.td-tours .tl-grid>* :is([class*="meta"],[class*="info"],[class*="facts"]){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;color:var(--td-muted);font-size:13.5px;font-weight:600}
.td-single .tl-grid>* svg,.td-tours .tl-grid>* svg{color:var(--td-primary)}
.td-single .tl-grid>* :is([class*="price"],[class*="foot"],[class*="bottom"]),.td-tours .tl-grid>* :is([class*="price"],[class*="foot"],[class*="bottom"]){color:var(--td-ink);font-weight:800}
.td-single .tl-grid>* :is([class*="btn"],[class*="button"],[class*="cta"],[class*="more"]):not(button),
.td-tours .tl-grid>* :is([class*="btn"],[class*="button"],[class*="cta"],[class*="more"]):not(button){border-radius:999px;background:var(--td-sand);color:var(--td-ink)!important;font-weight:700}
.td-single .tl-grid>*:hover :is([class*="btn"],[class*="button"],[class*="cta"],[class*="more"]):not(button),
.td-tours .tl-grid>*:hover :is([class*="btn"],[class*="button"],[class*="cta"],[class*="more"]):not(button){background:var(--td-primary);color:#fff!important}
@media (max-width:1000px){.td-single .tl-cols-3,.td-single .tl-cols-4,.td-tours .tl-cols-3,.td-tours .tl-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.td-single .tl-grid,.td-tours .tl-grid{grid-template-columns:minmax(0,1fr)!important}}

@media (max-width:700px){
	.td-trips-in{padding:0 18px}
	.td-trips-head{grid-template-columns:1fr}
	.td-trips-head>.td-trips-all{grid-column:1;grid-row:auto;justify-self:start;margin-top:10px}
}

/* ---------- Responsive ---------- */
@media (max-width:640px){
	.td-single,.td-archive{padding:24px 0 64px}
	.td-card{aspect-ratio:4/4.6}
	.td-hero{border-radius:22px;min-height:420px}
	.td-trips{padding:64px 0 48px}
	.td-btn{width:auto}
}
@media (prefers-reduced-motion:reduce){.td-card,.td-card-media img,.td-hl li,.tl-grid>*,.td-btn,.td-trips-nav,.td-trip-line .td-icon{transition:none!important}}
