/* Sahara Explore — fidelity layer.
   Only rules Elementor Free has no native control for (transform, absolute position,
   object-fit, pseudo-element markers). Every size, colour and spacing value lives in
   Elementor itself. Values mirror the rendered original at 1440px. */

/* ---- Hero: content is absolutely placed exactly as in the original ---- */
.sx-hero{position:relative}
.sx-hero > .e-con-inner,.sx-hero{overflow:visible}
.sx-hero-content{position:absolute;left:clamp(24px,5vw,76px);top:52%;transform:translateY(-46%);width:min(560px,47vw);z-index:3}
@media(max-width:1200px){.sx-hero-content{left:5vw;width:min(520px,52vw)}}
@media(max-width:1050px){.sx-hero-content{width:min(600px,82vw)}}
@media(max-width:760px){.sx-hero-content{left:24px;right:24px;top:50%;width:auto;transform:translateY(-39%)}}
@media(max-width:420px){.sx-hero-content{left:20px;right:20px}}
.sx-hero .sx-hero-content .elementor-widget-text-editor p{max-width:440px}
@media(max-width:760px){.sx-hero .sx-hero-content .elementor-widget-text-editor p{max-width:38rem}}
.sx-scroll-note{position:absolute;z-index:4;right:clamp(24px,5vw,76px);bottom:38px;opacity:.86;width:auto}
@media(max-width:760px){.sx-scroll-note{display:none}}

/* ---- Header overlays the hero ---- */
.xpro-theme-builder-header{position:absolute;inset:0 0 auto;width:100%;z-index:20}
.xpro-theme-builder-header .main-title.xpro-hidden{display:none}
.sx-brand-mark img{width:48px;height:44px;object-fit:contain}
@media(max-width:420px){.sx-brand-mark img{width:36px;height:34px}}

/* ---- Nav ---- */
body .sx-nav .xpro-elementor-horizontal-navbar-nav{gap:28.8px;align-items:center}
body .sx-nav .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link{color:#fff;opacity:.84;font-family:Arial,Helvetica,sans-serif;font-size:13px;transition:opacity .2s}
body .sx-nav .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link:hover{opacity:1}
body .elementor .sx-nav .xpro-elementor-horizontal-navbar-nav li.sx-nav-cta-item > a.xpro-elementor-nav-link{border:1px solid rgba(255,255,255,.72);padding:14px 18px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;opacity:1}
body .elementor .sx-nav .xpro-elementor-horizontal-navbar-nav li.sx-nav-cta-item > a.xpro-elementor-nav-link:hover{background:rgba(255,255,255,.12)}
body .elementor .sx-nav .xpro-elementor-horizontal-navbar-nav li.sx-nav-wa > a.xpro-elementor-nav-link{font-size:13px}
@media(max-width:1200px){body .sx-nav .xpro-elementor-horizontal-navbar-nav{gap:18px}}
@media(max-width:1050px){
  body .sx-nav .xpro-elementor-horizontal-navbar{background:#211F1B}
  body .sx-nav .xpro-elementor-horizontal-navbar-nav{flex-direction:column;align-items:stretch;gap:0;padding:clamp(112px,18vh,150px) clamp(24px,7vw,72px) 34px}
  body .sx-nav .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link{display:flex;align-items:center;min-height:58px;width:100%;border-bottom:1px solid rgba(255,255,255,.13);font-size:clamp(18px,4vw,25px);opacity:1}
  body .elementor .sx-nav .xpro-elementor-horizontal-navbar-nav li.sx-nav-cta-item > a.xpro-elementor-nav-link{justify-content:center;min-height:54px;margin-top:18px;border:1px solid rgba(255,255,255,.65);font-size:10px}
  body .sx-nav .xpro-elementor-horizontal-menu-toggler,body .sx-nav .xpro-elementor-horizontal-menu-close{color:#fff}
}
@media(max-width:420px){
  body .sx-nav .xpro-elementor-horizontal-navbar-nav{padding-top:102px;padding-inline:20px}
  body .sx-nav .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link{min-height:54px;font-size:20px}
}

/* ---- Cards ---- */
.sx-card{transition:transform .3s,box-shadow .3s}
.sx-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(38,27,16,.12)}
.sx-card-image{position:relative}
.sx-card-image img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}
.sx-card-tag{position:absolute;top:18px;left:18px;background:#FBF8F2;padding:9px 12px;z-index:2}
.sx-card-tag p{margin:0}
.sx-card h3 a{color:inherit;text-decoration:none}

/* ---- Experience rows ---- */
.sx-exp-row{transition:padding .25s,background .25s}
.sx-exp-row:hover{background:rgba(255,255,255,.055);padding-left:18px;padding-right:58px}
.sx-exp-row h3 a{color:inherit;text-decoration:none}

/* ---- Quote ---- */
.sx-quote blockquote{margin:0;font-style:normal;border:0;padding:0;quotes:none}
.sx-quote blockquote:before,.sx-quote blockquote:after{content:none}

/* ---- FAQ accordion: source uses +/− marks and hairline rules ---- */
.sx-faq .elementor-accordion-item{border:0;border-bottom:1px solid rgba(50,42,32,.18)}
.sx-faq .elementor-tab-title{position:relative;cursor:pointer}
.sx-faq .elementor-tab-title .elementor-accordion-icon{display:none}
.sx-faq .elementor-tab-title:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:Georgia,serif;font-size:23px;color:#1D1B18}
.sx-faq .elementor-tab-title.elementor-active:after{content:"−"}

/* ---- Footer ---- */
.sx-footer-blurb p{max-width:330px;margin:0}
/* source gives every footer LINK a 28px min-height; column titles stay at their natural 17px */
.sx-footer .elementor-widget-heading .elementor-heading-title:has(a){min-height:28px;display:flex;align-items:center}
.sx-socials .elementor-widget-heading .elementor-heading-title:has(a){min-height:0;display:block}
.sx-footer .elementor-heading-title a{color:inherit;text-decoration:none}

/* ---- Card link is inline (5px bottom rule), not the 13px padded text link ---- */
.sx-card .sx-textlink .elementor-button{padding-top:0;padding-bottom:5px;min-height:0;line-height:1.45}
.sx-card .sx-textlink .elementor-widget-container{line-height:1}
/* source resets paragraph margins; the theme adds one that lengthens every card */
.sx-card .elementor-widget-text-editor p{margin:0}

/* ---- Buttons: 56px min-height, flex-centred (Free has no min-height control) ---- */
.elementor-button{border-radius:0}
.sx-btn .elementor-button{min-height:56px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:420px){.sx-btn .elementor-button{min-height:52px}}
.sx-textlink .elementor-button{display:inline-flex;align-items:center}

@media(prefers-reduced-motion:reduce){
  .sx-card,.sx-card:hover,.sx-exp-row,.sx-exp-row:hover{transition:none;transform:none;box-shadow:none}
}
