/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[3]!./src/styles/caravan.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/* Outfit and Poppins are loaded via Google Fonts in the HTML layout. */

/* ───── next block ───── */

/* Caravan — page styles */

/* density */
[data-density="compact"] .section{padding:42px 0;}
[data-density="comfy"] .section{padding:86px 0;}
[data-density="compact"] .hero{padding:40px 0 30px;}
[data-density="comfy"] .hero{padding:84px 0 60px;}

/* ============ HERO ============ */
.hero{position:relative; overflow:hidden; padding:60px 0 44px; background:
  radial-gradient(120% 90% at 80% -10%, rgba(168,224,232,.30), transparent 55%),
  radial-gradient(100% 80% at 0% 110%, rgba(119,199,123,.22), transparent 55%), var(--sand);}
.hero-bg{position:absolute; inset:0; pointer-events:none;}
.hero-in{position:relative; display:flex; flex-direction:column; gap:18px;}
.hero-h1{font-size:clamp(34px,5.4vw,60px); line-height:1.04; max-width:16ch; letter-spacing:-0.03em;}
.hero-sub{font-size:clamp(16px,1.5vw,19px); color:var(--muted); max-width:56ch; margin:0;}
[data-hero="photo"] .hero::after{content:""; position:absolute; inset:0; opacity:.5;
  background-image:repeating-linear-gradient(135deg, rgba(34,59,35,.05) 0 2px, transparent 2px 16px);}
.hero-stats{display:flex; align-items:center; gap:26px; margin-top:14px; flex-wrap:wrap;}
.hero-stats div:not(.vr){display:flex; flex-direction:column; line-height:1.1;}
.hero-stats b{font-family:var(--font-head),'Poppins'; font-size:30px; color:var(--ink);}
.hero-stats span{font-size:13.5px; color:var(--muted);}
.hero-stats .vr{width:1px; height:34px; background:var(--line-2);}

/* hero search */
.hsearch{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-2); padding:8px; margin-top:6px; max-width:1100px; width:100%;}
.hsearch-tabs{display:flex; gap:4px; padding:4px;}
.hsearch-tabs button{flex:1; display:flex; flex-direction:column; align-items:flex-start; gap:1px; padding:10px 14px; border-radius:12px; text-align:left; transition:.15s; border:1.5px solid transparent;}
.hsearch-tabs button b{font-family:var(--font-head),'Poppins'; font-size:14.5px; font-weight:600;}
.hsearch-tabs button span{font-size:12px; color:var(--muted);}
.hsearch-tabs button.on{background:var(--sand-2);}
.hsearch-tabs button.on b{color:var(--green-d);}
.hsearch-row{display:flex; align-items:flex-end; gap:8px; padding:6px;}
.hs-field{display:flex; flex-direction:column; gap:5px; padding:6px 12px; border-radius:12px;}
.hs-field.grow{flex:1;}
.hs-field+.hs-field{border-left:1px solid var(--line);}
.hs-field label{display:flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--muted);}
.hs-inp{border:none; background:none; font-family:inherit; font-size:15px; color:var(--ink); padding:2px 0; width:100%;}
.hs-inp:focus{outline:none;}
.hs-go{height:54px; padding:0 24px; border-radius:14px;}

/* ============ generic grids ============ */
.sites-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.models-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}

/* site / caravan card */
.site-card{overflow:hidden; text-align:left; padding:0; transition:.18s; display:flex; flex-direction:column;}
.site-card:hover{transform:translateY(-3px); box-shadow:var(--sh-3);}
.site-card-img{position:relative;}
.site-card-img .ph{border-radius:0;}
.site-card-model{position:absolute; top:12px; left:12px;}
.site-card-fav,.res-fav{position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.86); display:flex; align-items:center; justify-content:center; color:var(--ink); transition:.15s;}
.site-card-fav:hover{background:#fff; color:#d4574e;}
.cv-tag{position:absolute; bottom:12px; left:12px; background:var(--gold-soft); color:var(--ink); font-family:var(--font-head),'Poppins'; font-weight:600; font-size:11.5px; padding:4px 10px; border-radius:999px;}
.site-card-body{padding:16px 18px 18px; display:flex; flex-direction:column; gap:9px; flex:1;}
.site-card-body h3{font-size:18px;}
.site-card-loc{display:flex; align-items:center; gap:6px; font-size:13.5px;}
.cv-specs{display:flex; gap:14px; font-size:13.5px;}
.cv-specs span{display:inline-flex; align-items:center; gap:5px;}
.site-card-foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:6px;}
.from{font-family:var(--font-head),'Poppins'; font-weight:600; font-size:16px;}
.feat-head{margin-bottom:28px; align-items:flex-end; flex-wrap:wrap; gap:16px;}
.model-card-body .chip{white-space:nowrap;}
.open-x{width:32px; height:32px; border-radius:50%; background:var(--sand-2); display:flex; align-items:center; justify-content:center; color:var(--ink); transition:.15s;}
.site-card:hover .open-x{background:var(--green); color:#fff;}

/* model card */
.model-card{overflow:hidden; text-align:left; padding:0; transition:.18s; display:flex; flex-direction:column;}
.model-card:hover{transform:translateY(-3px); box-shadow:var(--sh-3);}
.model-card-img .ph{border-radius:0;}
.model-card-body{padding:18px 20px 20px; display:flex; flex-direction:column; gap:12px; flex:1;}
.model-card-body h3{font-size:21px;}
.model-card-body p{font-size:14.5px; line-height:1.5; margin:0;}
.model-go{margin-top:auto; display:inline-flex; align-items:center; gap:7px; font-family:var(--font-head),'Poppins'; font-weight:600; font-size:14px; color:var(--green-d);}

/* ============ how it works ============ */
.how{background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.roles-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:34px;}
.role-pill{display:flex; gap:14px; align-items:flex-start; padding:18px; background:var(--sand); border-radius:var(--r-md);}
.role-ic{flex:none; width:42px; height:42px; border-radius:12px; background:var(--ink); color:#F6F4EC; display:flex; align-items:center; justify-content:center;}
.role-pill b{display:block; font-family:var(--font-head),'Poppins'; font-size:15.5px; margin-bottom:2px;}
.role-pill p{font-size:13.5px; margin:0; line-height:1.45;}
.steps-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.step-card{position:relative; padding:24px 20px; background:var(--sand); border-radius:var(--r-md); border:1px solid var(--line);}
.step-n{position:absolute; top:18px; right:20px; font-family:var(--font-head),'Poppins'; font-weight:700; font-size:28px; color:var(--line-2);}
.step-ic{display:flex; width:46px; height:46px; border-radius:13px; background:var(--green-l); color:var(--ink-2); align-items:center; justify-content:center; margin-bottom:16px;}
.step-card h4{font-size:16.5px; margin-bottom:7px;}
.step-card p{font-size:14px; margin:0; line-height:1.5;}

/* ============ earn band ============ */
.earn{overflow:hidden; display:grid; grid-template-columns:1.15fr 1fr; padding:0; border:none;}
.earn-l{position:relative; background:var(--ink); padding:44px; display:flex; overflow:hidden;}
.earn-l-in{position:relative; display:flex; flex-direction:column; gap:14px;}
.earn-r{padding:44px; background:#fff; display:flex; flex-direction:column; justify-content:center; gap:16px;}
.split-title{font-family:var(--font-head),'Poppins'; font-weight:600; font-size:14px; color:var(--muted); margin-bottom:4px;}
.split-row{display:grid; grid-template-columns:120px 1fr 40px; align-items:center; gap:12px;}
.split-l{font-size:14px; color:var(--ink);}
.split-bar{height:10px; background:var(--sand-2); border-radius:999px; overflow:hidden;}
.split-bar div{height:100%; border-radius:999px; transition:width .5s ease;}
.split-v{font-family:var(--font-head),'Poppins'; font-weight:700; text-align:right; font-size:14px;}

/* ============ cta band ============ */
.cta-band{position:relative; overflow:hidden; background:
  radial-gradient(90% 120% at 50% -20%, rgba(119,199,123,.28), transparent 60%), var(--sand-2); padding:72px 0; text-align:center; border-top:1px solid var(--line);}
.cta-in{position:relative; display:flex; flex-direction:column; align-items:center; gap:14px;}
.cta-in h2{font-size:clamp(28px,4vw,44px); max-width:18ch;}
.cta-in p{color:var(--muted); font-size:18px; max-width:50ch; margin:0 0 8px;}

/* ============ SEARCH ============ */
.filt-bar{position:sticky; top:var(--hdr-h); z-index:30; background:rgba(246,244,236,.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--line);}
.filt-in{display:flex; align-items:center; gap:16px; padding-top:12px; padding-bottom:12px; flex-wrap:wrap;}
.scen-seg button{font-size:13.5px; padding:7px 13px;}
.filt-models{display:flex; gap:8px; flex-wrap:wrap;}
.fchip{display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:500; padding:8px 14px; border-radius:999px; border:1.5px solid var(--line-2); background:#fff; transition:.14s;}
.fchip:hover{border-color:var(--ink);}
.fchip.on{background:var(--ink); color:#F6F4EC; border-color:var(--ink);}
.filt-right{margin-left:auto;}
.sort{display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--muted);}
.sort .inp{padding:8px 12px; width:auto;}

.search-split{display:grid; grid-template-columns:1.15fr 1fr; gap:24px; padding-top:22px; padding-bottom:40px; align-items:start;}
.search-head{margin-bottom:16px;}
.search-head h2{font-size:22px;}
.res-list{display:flex; flex-direction:column; gap:14px;}
.res-row{display:grid; grid-template-columns:130px 1fr; gap:0; overflow:hidden; text-align:left; padding:0; transition:.16s;}
.res-row:hover,.res-row.active{box-shadow:var(--sh-2); border-color:var(--line-2);}
.res-img{position:relative;}
.res-img .ph{border-radius:0; height:100%;}
.res-body{padding:14px 16px; display:flex; flex-direction:column; gap:9px;}
.res-body h3{font-size:17px;}
.res-loc{display:flex; align-items:center; gap:5px; font-size:13px;}
.chip.sm{font-size:12px; padding:4px 9px;}
.res-foot{padding-top:2px;}

.search-map{position:sticky; top:calc(var(--hdr-h) + 66px); height:calc(100vh - var(--hdr-h) - 90px);}
.map-panel{position:relative; width:100%; height:100%; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-1);}
.map-svg{position:absolute; inset:0; width:100%; height:100%;}
.map-pin{position:absolute; transform:translate(-50%,-100%); display:flex; flex-direction:column; align-items:center; transition:.14s; z-index:2;}
.map-pin .map-price{font-family:var(--font-head),'Poppins'; font-weight:600; font-size:12px; background:#fff; color:var(--ink); padding:5px 9px; border-radius:999px; box-shadow:var(--sh-2); white-space:nowrap; border:1.5px solid transparent;}
.map-pin .map-dot{width:10px; height:10px; border-radius:50%; background:var(--pc); border:2px solid #fff; margin-top:-2px; box-shadow:0 1px 3px rgba(0,0,0,.3);}
.map-pin:hover,.map-pin.on{z-index:5; transform:translate(-50%,-100%) scale(1.08);}
.map-pin.on .map-price,.map-pin:hover .map-price{background:var(--ink); color:#F6F4EC; border-color:#fff;}
.map-legend{position:absolute; bottom:14px; left:14px; display:flex; gap:14px; padding:9px 13px; font-size:12px; background:rgba(255,255,255,.92);}
.map-legend span{display:inline-flex; align-items:center; gap:6px; color:var(--ink);}
.map-legend i{width:9px; height:9px; border-radius:50%; display:inline-block;}
.view-seg{display:none;}

/* ============ DETAIL ============ */
.detail-pg{padding:22px 0 50px;}
.back-link{display:inline-flex; align-items:center; gap:5px; font-size:14px; color:var(--muted); padding:8px 0; margin-bottom:6px; font-weight:500;}
.back-link:hover{color:var(--ink);}
.detail-head{display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:18px;}
.detail-h1{font-size:clamp(26px,3.4vw,38px); margin-bottom:7px;}
.detail-loc{display:flex; align-items:center; gap:6px; font-size:15px;}
.detail-head-act{display:flex; gap:8px;}
.detail-head-act .chip{cursor:pointer;}

.gallery{display:grid; gap:12px; margin-bottom:30px;}
.gal-main .ph{border-radius:var(--r-lg);}
.gal-thumbs{display:grid; grid-template-columns:repeat(5,1fr); gap:12px;}
.gal-th{padding:0; border-radius:var(--r-md); overflow:hidden; opacity:.62; transition:.15s; border:2px solid transparent;}
.gal-th .ph{border-radius:0;}
.gal-th:hover{opacity:.85;}
.gal-th.on{opacity:1; border-color:var(--green);}

.detail-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:start;}
.detail-lede{font-family:var(--font-head),'Poppins'; font-size:20px; font-weight:500; line-height:1.4; color:var(--ink); margin:0 0 12px;}
.detail-main>p.muted{font-size:15.5px; line-height:1.6;}
.dsec{font-size:20px; margin:32px 0 16px; padding-top:24px; border-top:1px solid var(--line);}
.am-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
.am-item{display:flex; align-items:center; gap:12px; font-size:15px;}
.am-ic{flex:none; width:40px; height:40px; border-radius:11px; background:var(--sand-2); color:var(--ink); display:flex; align-items:center; justify-content:center;}

.exp-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.exp-card{overflow:hidden; padding:0;}
.exp-card .ph{border-radius:0;}
.exp-body{padding:14px 16px; display:flex; flex-direction:column; gap:8px;}
.exp-body b{font-size:15.5px;}
.exp-body p{font-size:13.5px; margin:0; line-height:1.45;}
.exp-meta{gap:14px; font-size:12.5px;}
.exp-meta span{display:inline-flex; align-items:center; gap:5px;}

.rev-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.rev-card{padding:18px;}
.rev-card p{font-size:14px; margin:12px 0 0; line-height:1.5; color:var(--muted);}
.avatar{width:34px; height:34px; border-radius:50%; background:var(--green-l); color:var(--ink-2); display:flex; align-items:center; justify-content:center; font-family:var(--font-head),'Poppins'; font-weight:600; font-size:15px;}

/* booking card */
.detail-side{position:sticky; top:calc(var(--hdr-h) + 18px);}
.book-card{padding:22px; display:flex; flex-direction:column; gap:16px;}
.bc-price .bc-big{font-family:var(--font-head),'Poppins'; font-size:24px; font-weight:700;}
.bc-scen button{flex:1; font-size:13.5px; padding:9px 8px;}
.bc-dates{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.picker-btn{display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:12px 14px; border-radius:var(--r-sm); border:1.5px solid var(--line-2); background:#fff; font-size:14.5px; text-align:left;}
.picker-btn:hover{border-color:var(--ink);}
.plot-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:7px; margin-top:10px;}
.plot-chip{position:relative; aspect-ratio:1; border-radius:9px; border:1.5px solid var(--line-2); background:#fff; font-family:var(--font-head),'Poppins'; font-weight:600; font-size:12px; color:var(--ink); transition:.13s; display:flex; align-items:center; justify-content:center;}
.plot-chip:hover:not(:disabled){border-color:var(--green); background:var(--sand);}
.plot-chip.on{background:var(--green); color:#fff; border-color:var(--green);}
.plot-chip.booked{background:repeating-linear-gradient(135deg,var(--sand-2) 0 4px,transparent 4px 8px); color:var(--muted-2); cursor:not-allowed; opacity:.6;}
.plot-chip.prem .prem-dot{position:absolute; top:4px; right:4px; width:5px; height:5px; border-radius:50%; background:var(--gold);}
.plot-meta{font-size:12.5px; margin-top:8px;}
.bundle-list,.addon-list{display:flex; flex-direction:column; gap:8px;}
.bundle-row{display:grid; grid-template-columns:48px 1fr auto; gap:12px; align-items:center; padding:8px; border-radius:var(--r-sm); border:1.5px solid var(--line); background:#fff; text-align:left; transition:.14s;}
.bundle-row:hover{border-color:var(--line-2);}
.bundle-row.on{border-color:var(--green); background:var(--sand);}
.br-ph .ph{border-radius:8px;}
.br-info{display:flex; flex-direction:column;}
.br-info b{font-size:13.5px;}
.br-price{display:flex; flex-direction:column; align-items:flex-end; font-family:var(--font-head),'Poppins'; font-weight:600; font-size:14px;}
.br-price small{font-weight:400;}

.bc-breakdown{display:flex; flex-direction:column; gap:9px; padding:14px 0; border-top:1px solid var(--line);}
.bd-line{display:flex; justify-content:space-between; font-size:14px; color:var(--muted);}
.bd-line.total{padding-top:11px; border-top:1px solid var(--line); color:var(--ink); font-family:var(--font-head),'Poppins'; font-weight:600; font-size:17px; margin-top:2px;}
.bc-note{display:flex; align-items:center; gap:7px; font-size:12.5px; margin:0;}

.terms-box{padding:18px; display:flex; flex-direction:column; gap:12px;}
.term-row{display:flex; gap:10px; align-items:flex-start; font-size:14.5px; line-height:1.45;}
.term-row svg{flex:none; color:var(--green); margin-top:2px;}
.sign-row{display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--muted); line-height:1.4; cursor:pointer;}
.sign-row input{margin-top:2px; accent-color:var(--green); width:17px; height:17px; flex:none;}

/* ============ CHECKOUT ============ */
.checkout-pg{padding:22px 0 60px;}
.co-h1{font-size:clamp(24px,3vw,34px); margin-bottom:22px;}
.co-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:30px; align-items:start;}
.co-main{display:flex; flex-direction:column; gap:18px;}
.co-sec{padding:22px;}
.co-sec-h{font-size:17px; margin-bottom:14px;}
.co-trip{display:flex; gap:16px; align-items:center;}
.co-trip-img{width:74px; flex:none;}
.co-trip-img .ph{border-radius:var(--r-md);}
.co-trip-meta{display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line);}
.co-trip-meta div{display:flex; flex-direction:column; gap:3px;}
.co-trip-meta .muted{font-size:12.5px;}
.co-trip-meta b{font-size:15px;}
.compat-list{display:flex; flex-direction:column; gap:8px; margin-top:14px;}
.compat{display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:500; padding:8px 12px; border-radius:9px; align-self:flex-start;}
.compat.ok{background:rgba(62,142,84,.12); color:var(--green-d);}
.compat.warn{background:rgba(239,168,30,.16); color:#8a6410;}
.photo-strip{display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:14px 0;}
.photo-note{grid-column:1/-1; font-size:12.5px;}
.addon-row{display:grid; grid-template-columns:20px 52px 1fr auto; gap:12px; align-items:center; padding:10px; border-radius:var(--r-sm); border:1.5px solid var(--line); cursor:pointer; transition:.14s;}
.addon-row:hover{border-color:var(--line-2);}
.addon-row.on{border-color:var(--green); background:var(--sand);}
.addon-row input,.prot-row input{accent-color:var(--green); width:18px; height:18px;}
.ad-ph .ph{border-radius:9px;}
.ad-info{display:flex; flex-direction:column; gap:1px; min-width:0;}
.ad-info b{font-size:14.5px;}
.ad-info small{font-size:12.5px; line-height:1.4;}
.ad-price{font-family:var(--font-head),'Poppins'; font-weight:600; font-size:14px; white-space:nowrap;}
.prot-row{display:grid; grid-template-columns:20px 44px 1fr auto; gap:14px; align-items:center; cursor:pointer;}
.prot-ic{width:44px; height:44px; border-radius:12px; background:var(--sky); color:#1f5e6b; display:flex; align-items:center; justify-content:center;}
.otp-row{display:flex; gap:8px; align-items:center;}
.otp-row .inp{flex:1;}
.otp-ok{width:40px; height:40px; flex:none; border-radius:10px; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center;}
.otp-verify{display:flex; gap:10px; align-items:center; margin-top:8px;}
.otp-verify .inp{max-width:160px;}

.pay-methods{display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:16px;}
.pay-m{position:relative; display:flex; align-items:center; justify-content:center; padding:14px; border-radius:var(--r-sm); border:1.5px solid var(--line-2); background:#fff; transition:.14s; min-height:54px;}
.pay-m:hover{border-color:var(--ink);}
.pay-m.on{border-color:var(--green); background:var(--sand); box-shadow:0 0 0 2px rgba(62,142,84,.14);}
.pay-logo{font-family:var(--font-head),'Poppins'; font-weight:700; font-size:14px; letter-spacing:.01em;}
.pay-mada{color:#1a8a4b;} .pay-visa{color:#1a3a8a;} .pay-applepay{color:#111;} .pay-stcpay{color:#4b2a8a;}
.pay-check{position:absolute; top:8px; right:8px; width:20px; height:20px; border-radius:50%; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center;}
.card-fields{display:flex; flex-direction:column; gap:12px;}
.wallet-note{display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--muted); padding:14px; background:var(--sand); border-radius:var(--r-sm);}

.co-side{position:sticky; top:calc(var(--hdr-h) + 18px);}
.co-side .sticky{padding:22px;}
.trust-row{display:flex; gap:18px; justify-content:center; margin-top:4px;}
.trust-row span{display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--muted);}
.spin{width:18px; height:18px; border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:spin .7s linear infinite; display:inline-block;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ============ CONFIRMATION ============ */
.confirm-pg{padding-bottom:60px;}
.confirm-hero{position:relative; overflow:hidden; text-align:center; padding:56px 24px 64px; background:
  radial-gradient(80% 120% at 50% -10%, rgba(119,199,123,.30), transparent 60%), var(--sand);}
.confirm-hero h1{font-size:clamp(30px,4vw,46px); margin-bottom:10px;}
.confirm-hero p{margin:0; font-size:17px;}
.confirm-badge{position:relative; width:74px; height:74px; border-radius:50%; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 22px; box-shadow:0 10px 30px rgba(62,142,84,.4);}
.confirm-body{margin-top:-34px; position:relative;}
.confirm-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:24px; align-items:start;}
.confirm-card{padding:26px;}
.access{display:grid; grid-template-columns:1fr 200px; gap:20px; align-items:center;}
.access-l{display:flex; flex-direction:column; gap:8px;}
.access-code{display:flex; gap:8px; margin:4px 0;}
.access-code span{width:46px; height:56px; border-radius:12px; background:var(--ink); color:#F6F4EC; display:flex; align-items:center; justify-content:center; font-family:var(--font-head),'Poppins'; font-weight:700; font-size:28px;}
.access-r{position:relative;}
.access-r .ph{border-radius:var(--r-md);}
.map-pin-mini{position:absolute; transform:translate(-50%,-100%); color:var(--green-d); z-index:3;}
.confirm-paid{margin-top:20px; padding-top:18px; border-top:1px solid var(--line); font-size:16px;}
.confirm-paid b{font-family:var(--font-head),'Poppins'; font-size:20px;}
.confirm-next{display:flex; flex-direction:column; gap:14px;}
.confirm-next h3{font-size:19px;}
.next-row{display:flex; gap:13px; align-items:flex-start;}
.next-ic{flex:none; width:40px; height:40px; border-radius:11px; background:var(--sand-2); color:var(--ink); display:flex; align-items:center; justify-content:center;}
.next-row b{font-size:15px;} .next-row p{margin:2px 0 0; font-size:13.5px;}
.confirm-next .btn{margin-top:4px;}

/* ============ TRIPS ============ */
.trips-pg{padding:32px 0 60px;}
.trips-head{display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:22px;}
.trips-head h1{font-size:clamp(26px,3.4vw,38px);}
.trips-head p{margin:6px 0 0; font-size:16px;}
.trips-tabs{margin-bottom:22px;}
.trips-tabs button{font-size:14px;}
.trips-list{display:flex; flex-direction:column; gap:16px;}
.trip-card{display:grid; grid-template-columns:200px 1fr; overflow:hidden; padding:0;}
.trip-img .ph{border-radius:0; height:100%;}
.trip-body{padding:18px 20px; display:flex; flex-direction:column; gap:14px;}
.trip-status{align-self:flex-start; font-family:var(--font-head),'Poppins'; font-weight:600; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase; padding:4px 10px; border-radius:999px;}
.trip-status.confirmed{background:rgba(62,142,84,.14); color:var(--green-d);}
.trip-status.completed{background:var(--sand-2); color:var(--muted);}
.trip-foot{margin-top:auto; padding-top:8px; border-top:1px solid var(--line);}
.empty{padding:56px 24px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px;}
.empty-ic{width:60px; height:60px; border-radius:50%; background:var(--sand-2); color:var(--muted); display:flex; align-items:center; justify-content:center; margin-bottom:6px;}
.empty h3{font-size:20px;} .empty p{margin:0;} .empty .btn{margin-top:10px;}

/* ============ LIST TEASER ============ */
.list-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:24px;}
.list-card{padding:30px;}
.list-ic{width:54px; height:54px; border-radius:15px; background:var(--ink); color:#F6F4EC; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.list-card h3{font-size:22px; margin-bottom:8px;}
.list-card>p{color:var(--muted); font-size:15px; margin:0 0 18px;}
.list-items{display:flex; flex-direction:column; gap:11px; margin-bottom:22px;}
.list-flow{padding:30px;}
.flow-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.flow-step{position:relative; padding-right:16px;}
.flow-n{display:flex; width:38px; height:38px; border-radius:11px; background:var(--green-l); color:var(--ink-2); align-items:center; justify-content:center; font-family:var(--font-head),'Poppins'; font-weight:700; margin-bottom:12px;}
.flow-step b{font-family:var(--font-head),'Poppins'; font-size:16px; display:block; margin-bottom:5px;}
.flow-step p{margin:0; font-size:13.5px;}
.flow-arrow{position:absolute; top:8px; right:-12px; color:var(--line-2);}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .sites-grid,.models-grid{grid-template-columns:repeat(2,1fr);}
  .detail-grid,.co-grid,.confirm-grid{grid-template-columns:1fr; gap:24px;}
  .detail-side,.co-side{position:static;}
  .earn{grid-template-columns:1fr;}
  .roles-row{grid-template-columns:1fr;}
  .steps-grid{grid-template-columns:repeat(2,1fr);}
  .rev-grid{grid-template-columns:1fr;}
  .list-grid{grid-template-columns:1fr;}
  .search-map{display:none;}
  .search-split{grid-template-columns:1fr;}
  .view-seg{display:inline-flex;}
  .search-split .search-map.show-mobile{display:block; position:relative; top:0; height:70vh; margin-top:16px;}
  .res-list.hide-mobile{display:none;}
}
@media (max-width:640px){
  .sites-grid,.models-grid{grid-template-columns:1fr;}
  .hsearch-tabs{flex-wrap:wrap;}
  .hsearch-tabs button{flex:1 1 30%;}
  .hsearch-row{flex-wrap:wrap;}
  .hs-field.grow{flex:1 1 100%;}
  .hs-field+.hs-field{border-left:none;}
  .hs-go{flex:1 1 100%; height:48px;}
  .steps-grid{grid-template-columns:1fr;}
  .am-grid,.exp-grid,.pay-methods{grid-template-columns:1fr;}
  .gal-thumbs{grid-template-columns:repeat(5,1fr); gap:7px;}
  .access{grid-template-columns:1fr;}
  .trip-card{grid-template-columns:1fr;}
  .trip-img{height:160px;}
  .flow-row{grid-template-columns:1fr;}
  .detail-head{flex-direction:column;}
  .photo-strip{grid-template-columns:repeat(3,1fr);}
  .earn-l,.earn-r{padding:28px;}
}


/* ───── next block ───── */


:root{
  --ink:#223B23; --ink-2:#2b472c; --green:#3E8E54; --green-d:#2f6f41; --green-l:#77C77B;
  --gold:#EFA81E; --gold-soft:#F6C945; --sky:#A8E0E8; --sand:#F6F4EC; --sand-2:#EFEBDE;
  --paper:#ffffff; --muted:#6f7a69; --muted-2:#97a08f; --line:#e4e0d3; --line-2:#d8d3c4;
  --ink-rgb:34,59,35;
  --r-lg:20px; --r-md:14px; --r-sm:10px;
  --sh-1:0 1px 2px rgba(34,59,35,.05), 0 2px 8px rgba(34,59,35,.05);
  --sh-2:0 6px 22px rgba(34,59,35,.10);
  --sh-3:0 18px 50px rgba(34,59,35,.16);
  --maxw:1200px;
  --hdr-h:68px;
  --font-head:'Poppins', sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Tajawal',system-ui,sans-serif; color:var(--ink); background:var(--sand);
  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; text-wrap:pretty;
}
h1,h2,h3,h4,h5{font-family:var(--font-head,'Poppins',sans-serif); font-weight:600; line-height:1.12; margin:0; letter-spacing:-0.02em;}
button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit;}
img{max-width:100%; display:block;}
a{color:inherit;}
.muted{color:var(--muted);} .muted-2{color:var(--muted-2);}
.app{min-height:100vh; display:flex; flex-direction:column;}
.wrap{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.hide-sm{display:inline;} .show-sm{display:none;}

/* ---- buttons ---- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:'Poppins',sans-serif;
  font-weight:500; font-size:15px; padding:13px 22px; border-radius:999px; transition:.16s ease; white-space:nowrap;
  border:1.5px solid transparent;}
.btn.sm{padding:9px 16px; font-size:14px;}
.btn.lg{padding:16px 28px; font-size:16px;}
.btn.block{width:100%;}
.btn-pri{background:var(--ink); color:#F6F4EC;}
.btn-pri:hover{background:#16301a; transform:translateY(-1px); box-shadow:var(--sh-2);}
.btn-grn{background:var(--green); color:#fff;}
.btn-grn:hover{background:var(--green-d); transform:translateY(-1px); box-shadow:var(--sh-2);}
.btn-gold{background:var(--gold-soft); color:var(--ink);}
.btn-gold:hover{background:#f3bf2e; transform:translateY(-1px); box-shadow:var(--sh-2);}
.btn-out{background:transparent; border-color:var(--line-2); color:var(--ink);}
.btn-out:hover{border-color:var(--ink); background:#fff;}
.btn-ghost{background:rgba(255,255,255,.0);}
.btn:disabled{opacity:.45; cursor:not-allowed; transform:none !important; box-shadow:none !important;}
.icon-btn{display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px;}
.icon-btn:hover{background:rgba(var(--ink-rgb),.06);}

/* ---- header ---- */
.hdr{position:sticky; top:0; z-index:50; background:rgba(246,244,236,.82); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);}
.hdr-in{max-width:var(--maxw); margin:0 auto; padding:0 24px; height:var(--hdr-h); display:flex; align-items:center; gap:20px;}
.logo-btn{padding:4px; border-radius:10px;}
.hdr-nav{display:flex; gap:4px; margin-left:8px;}
.navlink{font-family:'Tajawal',sans-serif; font-weight:500; font-size:14.5px; color:var(--ink); padding:9px 13px; border-radius:10px;
  display:inline-flex; align-items:center; gap:7px; position:relative; transition:.14s;}
.navlink:hover{background:rgba(var(--ink-rgb),.06);}
.navlink.on{color:var(--green-d);}
.navlink.ghost .dot{position:absolute; top:2px; right:2px; background:var(--gold); color:var(--ink); font-size:10px; font-weight:700;
  min-width:16px; height:16px; border-radius:8px; display:flex; align-items:center; justify-content:center; padding:0 4px;}
.hdr-right{margin-left:auto; display:flex; align-items:center; gap:10px;}
.hdr-mobile{display:none; flex-direction:column; padding:8px 24px 16px; border-top:1px solid var(--line); background:var(--sand);}
.hdr-mobile button{text-align:left; padding:12px 6px; font-size:16px; font-weight:500; border-bottom:1px solid var(--line);}

/* ---- topo + placeholders ---- */
.topo{position:absolute; inset:0; width:100%; height:100%; pointer-events:none;}
.ph{position:relative; overflow:hidden; background:var(--sand-2); width:100%;}
.ph-fill{position:absolute; inset:0; display:flex; align-items:flex-end;}
.ph-stripes{position:absolute; inset:0; opacity:.10;
  background-image:repeating-linear-gradient(135deg, currentColor 0 1.5px, transparent 1.5px 13px);}
.ph-tag{position:relative; z-index:2; margin:10px; display:inline-flex; align-items:center; gap:6px;
  font-family:'Poppins',monospace; font-size:11px; font-weight:500; letter-spacing:.02em;
  background:rgba(255,255,255,.78); padding:5px 9px; border-radius:8px; backdrop-filter:blur(2px);}

/* ---- generic cards / chips ---- */
.card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1);}
.chip{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:500; padding:6px 11px; border-radius:999px;
  background:#fff; border:1px solid var(--line); color:var(--ink);}
.chip.soft{background:var(--sand-2); border-color:transparent;}
.pill-model{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; font-family:'Poppins',sans-serif;
  padding:5px 11px; border-radius:999px; letter-spacing:.01em;}
.rating{display:inline-flex; align-items:center; gap:5px; font-size:14px;}
.rating .star{flex:none;} .rating b{font-weight:700;}
.sar{white-space:nowrap;} .sar-sym{font-family:'Poppins',sans-serif; font-weight:600; font-size:.8em; color:var(--muted); letter-spacing:.02em;}
.divider{height:1px; background:var(--line); border:0; margin:0;}
.section{padding:64px 0;}
.eyebrow{font-family:'Poppins',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--green-d);}
.kicker{display:flex; flex-direction:column; gap:12px; margin-bottom:32px;}
.kicker h2{font-size:clamp(26px,3.4vw,40px);}
.kicker p{margin:0; color:var(--muted); font-size:17px; max-width:60ch;}

/* ---- forms ---- */
.field{display:flex; flex-direction:column; gap:6px;}
.field label{font-size:13px; font-weight:600; color:var(--ink);}
.inp{font-family:inherit; font-size:15px; padding:12px 14px; border-radius:var(--r-sm); border:1.5px solid var(--line-2);
  background:#fff; color:var(--ink); width:100%; transition:.14s;}
.inp:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(62,142,84,.14);}
.seg{display:inline-flex; background:var(--sand-2); border-radius:12px; padding:4px; gap:2px;}
.seg button{font-family:'Poppins',sans-serif; font-weight:500; font-size:14px; padding:8px 16px; border-radius:9px; color:var(--muted); transition:.14s;}
.seg button.on{background:#fff; color:var(--ink); box-shadow:var(--sh-1);}
.stepper{display:inline-flex; align-items:center; gap:2px; border:1.5px solid var(--line-2); border-radius:10px; background:#fff;}
.stepper button{width:36px; height:36px; display:flex; align-items:center; justify-content:center;}
.stepper button:disabled{opacity:.3;}
.stepper span{min-width:30px; text-align:center; font-weight:600;}

/* ---- layout utils ---- */
.grid{display:grid; gap:22px;}
.row{display:flex; gap:14px; align-items:center;}
.between{display:flex; justify-content:space-between; align-items:center; gap:16px;}
.stack{display:flex; flex-direction:column;}
.wrap-chips{display:flex; flex-wrap:wrap; gap:8px;}

/* ---- footer ---- */
.ftr{position:relative; overflow:hidden; background:var(--ink); color:#cdd6c8; margin-top:auto;}
.ftr-in{position:relative; max-width:var(--maxw); margin:0 auto; padding:56px 24px 32px; display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px;}
.ftr-brand p{font-size:14.5px; line-height:1.6; max-width:34ch; margin:16px 0;}
.ftr-badges{display:flex; gap:16px; flex-wrap:wrap;}
.ftr-badges span{display:inline-flex; align-items:center; gap:7px; font-size:13px; color:#9fb09a;}
.ftr-col h4{color:#F6F4EC; font-size:14px; margin-bottom:14px; font-family:'Poppins',sans-serif;}
.ftr-col button{display:block; text-align:left; color:#a9b6a3; font-size:14px; padding:6px 0; transition:.14s;}
.ftr-col button:hover{color:#fff;}
.ftr-base{position:relative; border-top:1px solid rgba(255,255,255,.08); text-align:center; padding:18px; font-size:12.5px; color:#8b9885;}

/* ---- responsive ---- */
@media (max-width:920px){
  .ftr-in{grid-template-columns:1fr 1fr; gap:28px;}
  .hdr-nav{display:none;}
}
@media (max-width:680px){
  .wrap{padding:0 18px;} .hdr-in{padding:0 18px;}
  .hide-sm{display:none;} .show-sm{display:inline-flex;}
  .hdr-mobile{display:flex;}
  .section{padding:44px 0;}
  .ftr-in{grid-template-columns:1fr;}
}
.fade-in{animation:fade .5s ease;}
@keyframes fade{from{transform:translateY(10px);} to{transform:none;}}
.ph-img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}

/* owner status badges */
.ostat{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;
  padding:3px 10px;border-radius:999px;letter-spacing:.01em}
.ostat.live{background:rgba(62,142,84,.14);color:var(--green-d)}
.ostat.pending{background:rgba(239,168,30,.16);color:#8a6a14}
.ostat.off{background:rgba(34,59,35,.08);color:var(--muted)}
/* owner stat tiles */
.ostat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:640px){.ostat-grid{grid-template-columns:1fr}}
.stat-tile{padding:18px 20px}
.stat-tile .stat-k{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.stat-tile .stat-v{font-family:var(--font-head);font-size:26px;margin-top:6px}
/* owner table */
.otable{width:100%;border-collapse:collapse;font-size:14px}
.otable th{text-align:left;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}
.otable td{padding:10px;border-bottom:1px solid var(--line)}

/* Arabic / RTL */
[dir="rtl"] body, :lang(ar) body { font-family: 'Tajawal', 'Outfit', sans-serif; }
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4,[dir="rtl"] .hero-h1 { font-family: 'Tajawal', sans-serif; }
[dir="rtl"] .between { flex-direction: row-reverse; }
[dir="rtl"] .hero-in, [dir="rtl"] .kicker { text-align: right; }
[dir="rtl"] .icon-flip { transform: scaleX(-1); }

/* ── RTL polish pass (Task 8) ── */

/* Directional arrows/chevrons: forward CTAs (arrowR) and back-links (chevL)
   should point the other way when mirrored. */
[dir="rtl"] .model-go svg,
[dir="rtl"] .open-x svg,
[dir="rtl"] .flow-arrow svg,
[dir="rtl"] .back-link svg,
[dir="rtl"] .btn-out svg { transform: scaleX(-1); }

/* Text alignment: blocks that lean on default LTR left-align. */
[dir="rtl"] .hsearch-tabs button,
[dir="rtl"] .picker-btn,
[dir="rtl"] .bundle-row,
[dir="rtl"] .site-card,
[dir="rtl"] .model-card,
[dir="rtl"] .res-row,
[dir="rtl"] .hdr-mobile button,
[dir="rtl"] .ftr-col button { text-align: right; }
[dir="rtl"] .detail-lede,
[dir="rtl"] .co-sec,
[dir="rtl"] .field label,
[dir="rtl"] .search-head { text-align: right; }
[dir="rtl"] .split-v,
[dir="rtl"] .br-price { text-align: left; }

/* Field separators that hardcode a left border -> right border in RTL. */
[dir="rtl"] .hs-field + .hs-field { border-left: none; border-right: 1px solid var(--line); }
@media (max-width:640px){
  [dir="rtl"] .hs-field + .hs-field { border-right: none; }
}

/* Header / nav spacing that uses margin-left. */
[dir="rtl"] .hdr-nav { margin-left: 0; margin-right: 8px; }
[dir="rtl"] .hdr-right,
[dir="rtl"] .filt-right { margin-left: 0; margin-right: auto; }
[dir="rtl"] .navlink.ghost .dot { right: auto; left: 2px; }

/* Absolutely-positioned badges: swap left/right anchors. */
[dir="rtl"] .site-card-model { left: auto; right: 12px; }
[dir="rtl"] .site-card-fav,
[dir="rtl"] .res-fav { right: auto; left: 12px; }
[dir="rtl"] .cv-tag { left: auto; right: 12px; }
[dir="rtl"] .step-n { right: auto; left: 20px; }
[dir="rtl"] .plot-chip.prem .prem-dot { right: auto; left: 4px; }
[dir="rtl"] .pay-check { right: auto; left: 8px; }
[dir="rtl"] .ph-tag { /* margin is symmetric; nothing to flip */ }

/* List-teaser flow connector arrow sits on the right edge in LTR. */
[dir="rtl"] .flow-step { padding-right: 0; padding-left: 16px; }
[dir="rtl"] .flow-arrow { right: auto; left: -12px; }

/* Map legend bottom-left -> bottom-right. */
[dir="rtl"] .map-legend { left: auto; right: 14px; }

/* SAR symbol micro-spacing reads fine; keep currency LTR-numeric inline. */
[dir="rtl"] .sar { direction: ltr; unicode-bidi: isolate; display: inline-block; }

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { background: var(--sand); color: var(--ink); }
body { font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif; -webkit-font-smoothing: antialiased; }

